Woher kennen wir den Off-Screen-Bereich im Fernsehen?

Ich versuche, HDMI zu FPGA und umgekehrt zu implementieren.

Derzeit beziehe ich mich auf die Website https://www.fpga4fun.com/HDMI.html . Aber ich bin verwirrt, dass "Aber Videosignale haben normalerweise auch einen "Off-Screen" -Bereich, der vom HDMI-Empfänger (Fernseher oder Monitor) für einige Haushaltsarbeiten verwendet wird. Unser 640x480-Frame wird tatsächlich als 800x525-Frame gesendet."

Woher weiß er insbesondere, dass 640 x 480 tatsächlich als 800 x 525-Frame gesendet wird? Wenn ich 1920 x 1080 oder 2592 x 1944 Frames senden möchte, haben sie dann eine bereits definierte Off-Screen-Bereichsgröße?

Ja, es ist bei Videos üblich, Pixel/Linien außerhalb des Bildschirms zu haben. Wahrscheinlich möchten Sie mit der HDMI-Spezifikation beginnen: hdmi.org/manufacturer/specification.aspx
@CapnJJ Könntest du mir genaueres mitteilen? weil ich in der High-Definition Multimedia Interface Specification Version 1.4a keine Definition von Off-Screen finden kann
Nein, tut mir leid, ich kenne die HDMI-Spezifikation nicht, dachte aber, dass dort Informationen darüber enthalten wären. Jemand wird mit der Antwort kommen, dachte nur, vielleicht würde dich die Spezifikation früher dorthin bringen.
Video wird präzise durch Synchronisation von {Pixel- und Zeilenzählern} mit H- und V-Synchronisation erzeugt, die alle harmonisch mit PLLs verbunden sind. Dies ist unabhängig davon, ob analog oder digital, da es im Monitor synchronisiert und als analoges Video angezeigt werden muss, außer dass Digital Speicherpuffer für eine spezielle Verarbeitung hat.
Achten Sie auch auf den Begriff „Overscan“. Ich erinnere mich, dass sich Fernseher und Computermonitore unterschiedlich verhielten. Was auf Fernsehbildschirmen unsichtbar war, wurde auf Computermonitoren zu schwarzen Rändern. zB hat das Standard-Boot-Image des Raspberry-Pi Overscan aktiviert, da es oft mit Fernsehern verwendet wird.
Ein gebräuchlicherer Begriff für Off-Screen-Teile des Signals ist "Blanking". Daten in diesen Bereichen können Dinge wie Synchronisation, Audio, Untertitel usw. umfassen.
Der "Bereich außerhalb des Bildschirms" ist allgemein ausgedrückt der "Bereich", der vom Start des "leeren" Signals bis zum Start der nächsten horizontalen Zeile und von der letzten horizontalen Zeile bis zur ersten horizontalen Zeile erzeugt wird.

Antworten (1)

Moderne Protokolle verlassen sich oft auf historische Entscheidungen und behalten sie aus gutem Grund bei.

Zusamenfassend:

A. Der Empfänger erkennt die Bildgröße, indem er die Bildkanten im Quellbild bestimmt, da die vertikalen und horizontalen Synchronisierungssignale immer noch im HDMI-Signal gesendet werden.

B. der Off-Screen-Bereich ist wahrscheinlich nicht vordefiniert (aber ich habe die HDMI-Spezifikation nicht gelesen). Sie beträgt etwa 20 % für horizontales „Off-Screen“ und 10 % für vertikales „Off-Screen“.

Ausführlich:

Bei unseren guten alten CRT-Bildschirmen nannten wir diesen "Off-Screen-Bereich" das Blanking. Das ist also der Bereich, in dem das eingehende Signal sagte, dass kein Video erzeugt werden sollte. Während der horizontalen Ausblendung würden die "Strahlpositionen" auf die linke Seite des Bildschirms zurückkehren und während der vertikalen Ausblendung kehrt der Strahl zum oberen (und linken) Rand des Bildschirms zurück - die Dauer der Ausblendung ermöglicht es zu bestimmen, ob die Ausblendung ebenfalls erfolgt vertikal oder nicht. Wir bezeichnen die Signale als vertikale und horizontale Synchronisation. Anscheinend (aus Ihrem Link) hat das HDMI-Protokoll immer noch die horizontale und vertikale Synchronisierung.

Dieses Blanking wird jetzt anscheinend als Off-Screen bezeichnet, da kein tatsächliches Blanking durchgeführt wird. Die zur Verfügung stehende Zeit kann somit für „Housekeeping“ genutzt werden. Dies kann umfassen: Speichern der Zeile im "Videospeicher", Zurücksetzen einiger Zähler und allgemeiner das Ausführen von Berechnungen, die nicht durchgeführt werden konnten, während die eingehenden Daten decodiert werden mussten.

Bei dem historischen Signal war die Ausblendung kürzer als der „Bereich außerhalb des Bildschirms“, weil der Strahl sich wieder nach rechts bewegen musste, bevor ein tatsächliches Video auf den Bildschirm gebracht werden konnte. Sonst würde das Bild auf der linken Seite etwas gestaucht, weil die Geschwindigkeit noch nicht konstant wäre. Aus anderen Gründen wurde auf der rechten Seite ein ähnlicher Rand angewendet.

Mehrere Standards (NTSC, PAL) geben Bildgrößen und Gesamtgrößen an, die für Video verwendet werden sollen, aber in der Praxis existieren viel mehr Formate. Ich habe den HDMI-Standard nicht gelesen, bin mir aber sicher, dass sie da flexibel sind. Normalerweise beträgt die horizontale Austastung etwa 20 % der horizontalen Zeit und die vertikale Austastung etwa 10 %. Die tatsächlichen Zahlen hängen von der Bildrate und den Pixeltakten ab.

Woher kennt der Fernseher die Größe des Bildes? Es gibt mehrere Möglichkeiten: Eine Methode besteht darin, dass der Fernseher/Monitor die Breite des Bildes erkennt (indem er prüft, welche Pixel schwarz sind und welche nicht), eine andere besteht darin, dass der Benutzer dies konfiguriert. Auf meinem Fernseher sind beide innerhalb der Liste der verfügbaren Formate möglich. Als ich FGPAs für die Videoverarbeitung entwarf, analysierten wir die Anzahl der schwarzen Pixel von der Synchronisationskante, um den Versatz zu bestimmen, und wir bestimmten das Ende der Zeile/letzten Zeile, indem wir die schwarzen Pixel erneut erkannten. Wir hatten einen Algorithmus, um die "beste Schätzung" für das gesamte Bild und für mehrere Frames zu erhalten. Ein Fernseher würde aus der voreingestellten Liste von Formaten auswählen und muss es auf den digitalen (!) Bildschirm passen. Ein 640x480-Format würde also auf 1280x960 skaliert, da dies eine "einfache" Wiederholung von Pixeln und Zeilen impliziert.