DE69411477T2 - Videosynchronisiering von mehrfachquellen. - Google Patents
Videosynchronisiering von mehrfachquellen.Info
- Publication number
- DE69411477T2 DE69411477T2 DE69411477T DE69411477T DE69411477T2 DE 69411477 T2 DE69411477 T2 DE 69411477T2 DE 69411477 T DE69411477 T DE 69411477T DE 69411477 T DE69411477 T DE 69411477T DE 69411477 T2 DE69411477 T2 DE 69411477T2
- Authority
- DE
- Germany
- Prior art keywords
- video
- buffer
- memory
- field
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 220
- 239000000872 buffer Substances 0.000 claims description 217
- 230000003139 buffering effect Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 3
- 230000011664 signaling Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 26
- 230000002829 reductive effect Effects 0.000 description 23
- 238000005070 sampling Methods 0.000 description 18
- 238000013459 approach Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 238000011010 flushing procedure Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000006386 memory function Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100500467 Arabidopsis thaliana EAAC gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
- G09G2340/125—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Memory System (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Description
- Die Erfindung bezieht sich auf Mehrfachquellen-Videosynchronisierung.
- Verschiedene Videosignale ohne Beziehung miteinander lassen sich nicht einwandfrei in einem einfachen Videoeffektsystem verarbeiten bzw. in einem Monitor wiedergeben, ohne daß diese Signale zuerst synchronisiert sind. Jedes Videosignal enthält nämlich Horizontal- und Vertikal-Synchronimpulse, die in Horizontal- und Vertikal-Ablenksignale eines Monitors umgewandelt werden, an dem das Videosignal wiedergegeben wird. Das Hauptproblem ist, daß die Horizontal- und die Vertikal- Synchronimpulse in den jeweiligen Videosignalen nicht gleichzeitig auftreten. Wenn eines der Videosignale als Bezugssignal benutzt wird, d. h. das Horizontal- und das Vertikal-Ablenksignal für eine Wiedergabe werden von diesem Signal hergeleitet, können die nachfolgenden Bildfehler auftreten:
- - Bilder, die durch die anderen Videosignale (als Untersignale bezeichnet) dargestellt werden, werden bei Wiedergabe in Bezug auf das Bezugssignal räumlich verschoben.
- - Ungeradzahlige und geradzahlige Teilbilder in den Untersignalen können vertauscht werden, was zu sichtbaren Bildfehlern, wie unscharfen Rändern, und zu Zeilenflimmern führt.
- - In dem Fall, wo die Horizontal- und die Vertikal-Frequenzen der Video-Untersignale von dem Bezugsvideosignal abweichen, werden die Bilder, die durch diese Untersignale dargestellt werden, über den Schirm kriechen.
- - Zum Schluß können sog. Schnittlinien-Bildfehler sichtbar werden, d. h. verschiedene Teile desselben wiedergegebenen Bildes rühren von verschiedenen Teilbild/Bildperioden her.
- Auf herkömmliche Weise werden Videosynchronanordnungen mit Bildspeichern versehen, die Videosignale von einigen Abtastwerten bis zu einer Vielzahl von Videobildperioden verzögern können. Eines dieser Videosignale wird als Bezugssignal selektiert und wird nicht verzögert. Alle Abtastwerte der anderen Signale werden in Bildspeichern gespeichert (einen Speicher je Signal) sobald der Start eines neuen Bildes in diesen Signalen detektiert wird. Wenn der Start eines neuen Bildes in dem Bezugsvideosignal detektiert wird, wird mit dem Auslesen des Bildspeichers angefangen. Auf diese Art und Weise erscheinen die Vertikal-Synchronsignale in dem Bezugssignal und in den anderen Videosignalen gleichzeitig an den Ausgängen des Synchronisierungsmoduls.
- Fig. 1 erläutert Synchronisierung eines Videosignals mit einem Bezugsvideosignal unter Anwendung des FIFO-Prinzips. Fig. 1 zeigt zwei unabhängige Videosignale mit ihren Vertikal-Synchronimpulsen FP, und die Stelle der Lese- und Schreibmerker in einem FIFO-Bildspeicher. Wenn ein kompletter Bildspeicher benutzt wird, können alle obengenannten Bildfehler fortfallen. Zu Zeitpunkten SW (am Ende der Untersignalteilbildsynchronimpulse FP) beginnt das Speichern der Untersignalabtastwerte a, b, c, d, e, f, g in dem FIFO. Zu den Zeitpunkten SR (am Ende der Synchronimpulse FP des Bezugssignals RS) beginnt das Auslesen der verzögerten Untersignalabtastwerte a, b, c, d, e, f, g aus dem FIFO.
- Es ist ebenfalls möglich, einen einzigen Teilbildsynchronspeicher zu verwenden, d. h. der Synchronspeicher wird auf ein Teilbild je Eingangsquelle beschränkt. In diesem Fall werden alle obengenannten Bildfehler dadurch vermieden, daß eine sog. Teilbildinversion durchgeführt wird, falls Video sich in der entgegengesetzten Teilbildphase gegenüber der am Monitor wiedergegebenen Teilbildphase befindet. Dies bedeutet, daß ein eintreffendes ungeradzahliges Teilbild mit dem zur Zeit (aus dem Teilbildspeicher ausgelesenen) wiedergegebenen geradzahligen Teilbild verriegelt werden kann und das geradzahlige Teilbild wird mit dem wiedergegebenen ungeradzahligen Teilbild verriegelt. Um Zeilensprungunordnung zu vermeiden wird in diesem Fall eine teilbildabhängige Zeilenverzögerung durchgeführt.
- Siehe US-A-4.249.198, US-A-4.797.743 und US-A-4.766.506.
- Fig. 2 zeigt das Verriegeln von Teilbildern eines Videoeingangssignals mit entgegengesetzten Bezugsteilbildern, durch eine selektive Verzögerung des einen Teilbildes des Eingangssignals um eine Zeile, wobei die Verzögerung durch Verzögerung der Auslesung des FIFOs implementiert wird. Das Verriegeln ist dargestellt für den Fall, daß die ausgelesene Adresse des FIFOs manipuliert wird: das wiedergegebene Bild wird um eine Zeile abwärtsverschoben. Es ist ebenfalls möglich, dies durch Manipulierung der Schreibadresse zu erreichen: eine Verzögerung gleich einer Zeile beim Schreiben wird zu einer Aufwärtsverschiebung entsprechend einer Zeile des wiedergegebenen Bildes führen. Der linke Teil der Fig. 2 zeigt das Bezugsvideosignal RS, der rechte Teil der Fig. 2 zeigt das Videountersignal SS. In jedem Teil sind die Bildzeilennummern auf der linken Seite angegeben. Die Zeilen 1, 3, 5, 7, 9 liegen in dem ungeradzahligen Teilbild, während die Zeilen 2, 4, 6, 8, 10 in dem geradzahligen Teilbild liegen. Die Zeilennummern 1O, IE usw. in den Teilbildern sind auf der rechten Seite angegeben. Der Pfeil A1 zeigt, daß das geradzahlige Teilbild des Untersignals das ungeradzahlige Teilbild des Bezugssignals RS verriegelt. Der Pfeil A2 zeigt, daß das ungeradzahlige Teilbild des Untersignals das geradzahlige Teilbild des Bezugssignals RS verriegelt. Die Pfeile A3 zeigen die Verzögerung des kompletten geradzahligen Teilbildes des Untersignals SS um eine Zeile zur Korrektur der Zeilensprungun- ordnung.
- Ein Nachteil der Teilbildinversion ist, daß eine zusätzliche teilbildabhängige Zeilenverzögerung notwendig ist, die eine Zeile aufwärts- oder abwärtsverschieben wird, wenn in der nächsten Teilbildperiode eine Kreuzung auftritt. Dies kann störend wirken, wenn die Anzahl während einer Teilbildperiode ausgelesener und eingeschriebener Pixel sehr verschieden ist. Beispielsweise 20% für PAL-NTSC-Synchronisierung wird zu einer Zeilenverschiebung führen, die alle 5 Teilbildperioden auf tritt, d. h. 10mal in der Sekunde für Wiedergabe in der PAL-Norm, was ein sichtbarer störender Bildfehler ist.
- Zur Vermeidung von Schnitt-Zeilen, d. h. verschiedene Teile des Bildes rühren von verschiedenen Teilbildperioden her, wodurch "Schnitt-Zeilen" verursacht werden, die in Bewegtbildern auftreten, wobei durch Kreuzung von Lese- und Schreibadressenzeiger des Speichers in dem sichtbaren Teil des wiedergegebenen Bildes, ein Teilbildsprung gemacht werden sollte. Dies kann dadurch erfolgen, daß vorhergesagt wird, wenn eine "Kreuzung" in der nächsten Teilbildperiode fällig ist. Durch beobachtung der Anzahl Zeilen zwischen Lese- und Schreibadressen nach jeder Teilbildperiode ist es möglich, den Zeitpunkt vorherzusagen, an dem die Anzahl Zeilen zwischen Lese- und Schreibadressenzeigern Null wird, d. h. eine "Kreuzung" auftritt, und zwar eine Teilbildperiode bevor sie wirklich auftritt. Ein gutes Mittel zur Vermeidung einer Schnitt-Zeile ist dann, das Schreiben des eintreffenden Signals am Anfang des neuen Teilbildes zu beenden und am Anfang einer nächsten Periode wieder fortzuführen. Auf diese Art und Weise tritt eine Kreuzung nur innerhalb der Bildaustastperiode auf.
- In US-A-4.907.086 wird ein Verfahren und eine Schaltungsanordnung zum Überlagern eines wiedergabefähigen Bildes mit einem zweiten Bild, wobei das Videowiedergabesystem einen ersten Bildpuffer aufweist zum Speichern eines wiedergabefähigen Bildes und zum Koppeln des gespeicherten Bildes mit einer Videoausgangsanordnung, und einen zweiten Bildpuffer zum Empfangen von Daten, die ein Vordergrundbild darstellen, das zu dem in dem ersten Bildpuffer gespeicherten Bild überlagert werden soll.
- In US-A-5.068.650 wird ein Speichersystem beschrieben für Hochauf lösungswiedergabe, wobei dieses System eine Anzahl Videosignale und viele Formen von Standbildtechnik wie Text oder Graphik in einer einfachen Hochauflösungswiedergabeanordnung kombiniert. Das System benutzt einen Mehrfachportspeicher und ein tastenbasiertes Speicherzugriff_system zur flexiblen Zusammensetzung einer Vielzahl von Videosignalen und Standbildern in einer Vollfarbenhochauflösungsfernsehwiedergabeanordnung mit einer Vielzahl überlappender Fenster.
- In dem Stand der Technik ist die Synchronisierung von N Videoquellen mit einem Bezugsvideosignal, beispielsweise dem Wiedergabesignal, möglich mit N Teilbildspeichern. Wenn aber Pixel/Zeilen/Teilbildraten um mehr als nur 1% abweichen (alle 2 Sekunden eine Verschiebung), was bei Videokassettenrecodern der niedrigeren Preisklasse der Fall sein kann, resultiert dies zu einer störenden Auf und Abwärtsver- D Schiebung der wiedergegebenen Bilder durch den erforderlichen Teilbildinversionsvor gang. Dies kann nur dadurch vermieden werden, daß mehr als nur ein Teilbildspeicher verwendet wird, d. h. zwei Teilbildspeicher (ein Bild).
- Es ist notwendig, einen Synchronspeicher mit zwei unabhängigen Porten zu verwenden; das eine zum Einführen des Videosignals und das andere zum Auslesen für die Wiedergabe, weil die Pixelraten der Wiedergabe- (Lesetakt) und der Videoeingangssignale (Schreibtakt) meistens nicht dieselben sind.
- Es sollten Teilbildsprünge angewandt werden, beispielsweise das Beenden des Schreibens des Videoeingangssignals während einer kompletten Videoteilbildperiode, wenn erwartet wird, daß in dieser Teilbildperiode eine "Kreuzung" von Lese/Schreibadressen auftreten wird. Das Schreiben kann dann wieder in der nächsten Teilbildperiode fortgesetzt werden. Auf diese Weise werden "Schnitt-Zeilen"-Bildfehler vermieden.
- Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung die Speicheranforderungen des Synchronisierungssystems zu verringern. Dazu schafft ein erster Aspekt der Erfindung ein Synchronisierungssystem wie in Anspruch 1 definiert. Vorteilhafte Ausführungsformen werden in den abhängigen Ansprüchen definiert.
- Nach einem primären Aspekt der Erfindung schafft diese ein System zum Synchronisieren von Eingangsvideosignalen von einer Anzahl Videoquellen mit einer Vielzahl von Puffereinheiten, die je dazu eingerichtet sind, das betreffende Signal der Eingangsvideosignale zu empfangen.
- Die Puffereinheiten haben viele unabhängige Lese- und Schreibvorgänge. Jeder Pufferschreibvorgang ist mit dem entsprechenden Videoeingangssignal verriegelt. Jeder Pufferlesevorgang ist ist mit einem Systemtakt verriegelt. Die Puffereinheiten sind wesentlich kleiner als zur Speicherung eines Videosignalteilbildes erforderlich. Das System enthält weiterhin eine Speicheranordnung zur Speicherung eines Signalgemisches, zusammengesetzt aus den Eingangsvideosignalen, und ein Kommunikationsnetzwerk für Kommunikationsdaten von den Puffereinheiten zu der Speicheranordnung, wobei Pixel und Zeilenadressen der Puffereinheiten und der Speicheranordnung gekoppelt werden.
- Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
- Fig. 1 eine Darstellung der Synchronisation eines Videosignals mit einem Bezugsvideosignal unter Anwendung von FIFO,
- Fig. 2 eine Darstellung der Verriegelung von Teilbildern eines Videoeingangssignals mit einander gegenüberliegenden Bezugsteilbildern durch selektive Verzögerung des einen Teilbildes des Eingangssignals um eine Zeile, wobei die Verzögerung durch Verzögerung des Ausgangs der FIFO impelmentiert wird,
- Fig. 3 eine Darstellung der Gesamtarchitektur des Mehrfachfenster / Mehrfachquellen Echtzeitvideowiedergabesystems nach der Erfindung,
- Fig. 4 eine Darstellung der Architektur eines Eingangspuffermoduls und der örtlichen Ereignisliste Speicher/Adreßberechungseinheiten,
- Fig. 5 eine Darstellung der verbesserten Architektur eines Wiedergabesegmentmoduls und der örtlichen Ereignisliste Speicher/Adreßberechungseinheiten,
- Fig. 6 eine Darstellung einer Wiedergabespeicherarchitektur für Mehrfachvideosynchronisation und Fensterzusammensetzung;
- Fig. 7 Zeitschlitze zum Zugreifen auf den Wiedergabespeicher während einer Videozeile, wobei L die Anzahl Pixelzugriffzeiten je Zeile bedeutet und M = 4 die Anzahl DRAMs ist,
- Fig. 8 einen reduzierten Bildspeicher mit überlappenden ODD/EVEN- Teilbildteilen,
- Fig. 9 ein Beispiel eines Kontroliers,
- Fig. 10 eine Schaltungsanordnung zum Erhalten von X- und Y-Adressinformation von den in einem Puffer Bi gespeicherten Daten; und
- Fig. 11 eine etwaige Ausführungsform einer Pufferauslesesteueranordnung.
- Die Kosten eines Mehrfachfenster/Mehrfachquellensystems für Echtzeitvideosignale werden weitgehend durch die Speicherelemente bestimmt, da die meisten Funktionen in einem derartigen System nur mit Speichern verwirklicht werden können. Speicherelemente werden u. a. zum Implementieren der nachfolgenden Funktionen benutzt:
- Synchronisierung. Verschiedene Videobilder werden dadurch synchronisiert, daß ihre Signalelemente zur Horizontal- und Vertikal-Synchronisierung ausgerichtet werden. Dazu muß ein Speicher der Größe eines kompletten TeilbildesBildes benutzt werden um jedes zusätzliche Videosignal um eine geeignete Anzahl Pixel zu verzögern, siehe US-A-4.797.743, US-A-4.766.506, und US-A-4.249.198. Synchronisation ist notwendig zur gleichzeitigen Verarbeitung verschiedener Videosignale durch Videoalgorithmen, wie Ein- und Ausblenden, Wipes und Windowing. Nur in dem Fall, wo keine kombinierte Verarbeitung von Videosignalen erforderlich ist, und weiterhin, wenn im voraus bekannt ist, welche Signale unterabgetastet werden und welche nicht, kann die Größe der Teilbild-Bildspeicher reduziert werden zur Übereinstimmung mit der Größe der unterabgetasteten Signale. Es sei bemerkt, daß in diesem Fall die Anzahl und die Größe der Fenster am Schirm nicht länger variabel sind.
- Positionierung. Nachdem ein Videosignal verarbeitet worden ist, muß das resultierende Bild an eine bestimmte Stelle am Wiedergabeschirm gebracht werden. Dazu ist ein Speicher erforderlich um das Bild in der horizontalen und vertikalen Richtung zu verlagern. Im schlimmsten Fall wird die Größe dieses Speichers ein komplettes Videoteilbild sein. Es sei bemerkt, daß die Positionierungsfunktion mit der Synchronisierungsfunktion kombiniert werden kann, und zwar unter Verwendung desselben Speichers, unter der Voraussetzung, daß an Kombinationen von Bildern keine Verarbeitung erforderlich ist.
- Zeitkomprimierung. Wenn Videosignale unterabgetastet werden, werden die restlichen Abtastwerte immer noch in einem einem kompletten Videowiedergabeschirm entsprechenden Gitter bleiben. Um ein konsistentes Bild ohne Öfihungen zu erhalten, müssen Abtastwerte enger aneinander gebracht werden. Dies geschieht mit Hilfe eines Speichers, der mit einer niedrigen Geschwindigkeit eingelesen (Taktgeschwindigkeit geteilt durch den Unterabtastungsfaktor) und mit dem Systemtakt ausgelesen wird. Die Größe eines derartigen Speichers entspricht der Anzahl Bytes in den Datenabtastwerten, die übrigbleiben nach Unterabtastung eines kompletten Videoteilbildes.
- Überlagerungsanzeige. Wenn verschiedene Fenster an einem Schirm wiedergegeben werden, werden einige durch andere Fenster überlappt. In diesem Fall muß es einen Speicher geben, der Information über die Fensterkonfiguration einer Voll-Videowiedergabe beibehält: wo überlappen Fenster einander? Die teuerste Lösung ist der Gebrauch eines kompletten Teilbildspeichers, wobei für jedes Pixel die Stromüberlagerungssituation codiert wird, siehe EP-Anmeldung Nu. 92.203.879.9, eingereicht am 11.12.92 (Aktenzeichen PHN 14.328). Ein effizienteres Überlagerungsanzeigeschema wird durch Speicherung nur der Horizontal- und der Vertikal-Schnittkoordinaten zwischen Fensters erhalten.
- Bewegungsbildfehlerverhütung. Wenn Videosignale verarbeitet und in einem der obengenannten Speicher gespeichert werden, können sie während derselbenTeilbildperiode nicht immer aus diesen Speichern ausgelesen und direkt wiedergegeben werden. Der Grund ist, daß während des aktuellen Teilbildes einige Teile der Videobilder noch nicht in dem Speicher aktualisiert werden können, bevor das aktuelle Teilbild völlig geschrieben ist; aber das Auslesen des Speichers kann an aktualisierten sowie an alten Teilen des Speichers erfolgen. Dies ist kein Problem bei Standbildern, es gibt aber wesentliche Bildfehler bei Echtzeit-Bewegtvideobildern. Das Problem wird gelöst durch Verwendung eines zusätzlichen Teilbildspeichers; ein Speicher wird während des aktuellen Teilbildes völlig aktualisiert, während der andere (bereits aktualisierte) Speicher zur Wiedergabe des vorhergehenden Teilbildes ausgelesen wird.
- Wenn alle Videosignale (Ströme von Pixeln) synchronisiert, verarbeitet und an einer bestimmten Schirmposition positioniert worden sind (mit Hilfe von Teilbild/Bildspeichern), werden sie durch einen sog. schnellen Schalter kombiniert, der auf Pixelbasis zwischen Videosignalen selektiert. Siehe auch EP-Anmeldung Nr. 92.203.879.9, eingereicht am 11.12.92 (Aktenzeichen PHN 14.328), worin ein Multi mediacomputer beschrieben wird, der seinen Mehrfachfenstervideoverarbeitungs- speicher auf gleiche Weise organisiert.
- Eine alternative Form des schnellen Schalters ist die Verwendung eines Wiedergabe(Teilbild)speichers. Wenn ein solcher Speicher erzielbar ist, kann dieser auch die meisten der obengenannten Speicherfunktionen verwirklichen. Weiterhin wird die gesamte Speicherkapazität verringert: es ist ja nicht länger notwendig, einen kompletten Teilbild-FIFO für jedes einzelne Videoeingangssignal zu verwenden (für Positionierung, Unterabtastung und Schnitt), sondern nur ein einziger beliebig zugreifbarer Wiedergabe(Teilbild)speicher reicht für alle.
- In der Fortsetzung dieser Anmeldung werden in dem Abschnitt 2 die Hauptvorteile und die Nachteile der Verwendung eines einzigen Wiedergabe(Teilbild)-. speichers in einem Mehrfachfenster/Mehrfachquellen-Echtzeitvideowiedergabesystem beschrieben. Ein architectonisches Konzept wird gegeben, wobei der Wiedergabe(Teilbild)speicher derart in verschiedene Teile aufgeteilt ist, daß es möglich wird, die meisten der obengenannten Speicherfunktionen als Schnellschaltfunktion zu verwirklichen. In dem Abschnitt 3 wird das architektonische Konzept des Abschnitts 2 für Mehrfachfensterechtzeitvideowiedergabe beschrieben. Darin wird eine effiziente geometrische Segmentierung des Wiedergabeschirms und die speicherkonforme Bildschirmanzeige dieser Schrimsegmente in RAM-Module, wodurch eine minimale Speicherüberkapazität und eine maximale Leistung möglich ist.
- In dem Abschnitt 4 wird eine Architektur für Mehrfachfenster- /Mehrfachquellenechtzeitvideowiedergabesysteme beschrieben, welche die in dem Abschnitt 3 hergeleitete RAM-Segmentierung benutzt.
- In dem Abschnitt 5 wird die Anwendung des Wiedergabespeichers als Mehrfachquellenvideosynchronschaltung beschrieben.
- Im Gegensatz zu der Verwendung einzelner FIFOs und eines Mehrfacheingangsschnellschalters (siehe Abschnitt 1) kann ein schneller Wiedergabespeicher mit beliebigem Zugriff verwendet werden zum Kombinieren verschiedener (verarbeiteter) Vidosignale zu einem einzigen Ausgangsvideostrom. Wenn Videoeingangssignale gleichzeitig in verschiedenen Abschnitten des Wiedergabespeicher geschrieben werden, wird durch einfaches Auslesen von Abtastwerten aus dem Speicher ein kombiniertes Mehrfachfenstervideosignal erhalten wird. Dadurch, daß der Speicher mit dem System(wiedergabe)takt ausgelesen wird, kann das kombinierte Mehrfachfenstersignal am Schirm wiedergegeben werden. Diese Annäherung bietet die nachfolgenden Vorteile (vergleichen Sie diese mit der Liste von Funktionen in dem Abschnitt 1):
- ein zusätzlicher Neupositionierungs/Unterabtastspeicher je Eingangssignal wird überflüssig: (verarbeitete) Videosignale werden derart unmittelbar an denjenigen x, y- Adressen in dem Speicher geschrieben, daß sie in den rechtzeitigen Zeitschlitzen mit dem Normwiedergabepixeltakt ausgelesen werden. Es sei bemerkt, daß es nicht notwendig ist, zwischen Schirmpixeln und Speicherstellen einen direkten Zusammenhang einzuhalten. In diesem Fall wird jedoch zum Auslesen beliebiger Zugriff erfordert, was den Aufwand der Speichersteuerung wieder steigert.
- Es ist auch nicht länger ein einzelner Speicher für Zeitkompression erforderlich: dadurch, daß im Wiedergabespeicher Burstschreibvorgänge durchgeführt werden, werden Videosignale unterabgetastet (es sei bemerkt, daß vorher eine Tiefpaßvorfilterung stattgefunden haben soll).
- Danach kann der Wiedergabespeicher als Mehrfachquellenvideosynchronschaltung benutzt werden, unter der Voraussetzung aber, daß keine kombinierte Verarbeitung von verschiedenen Videosignalen erforderlich ist und daß der Speicher genügend Schreibzugriff für die verschiedenen Eingangssignale schafft. Die erforderliche Zeitverschiebung, die für Videosynchronisation durchgeführt werden muß, kann dadurch erhalten werden, daß an verschiedenen x, y-Adressen in dem Wiedergabespeicher geschrieben wird.
- Im Gegensatz zu den oben beschriebenen speicherbezogenen Funktionen kann eine Vermeidung von Bewegungsbildfehlern nicht verwirklicht werden durch ei nen Wiedergabespeicher mit einer Kapazität von nur einem Videoteilbild (es sei bemerkt, daß einzelne Teilbild-FIFOs mit einem schnellen Schalter dasselbe Problem erfahren). Deswegen soll ein Wiedergabespeicher groß genug sein zum Enthalten eines kompletten Videobildes.
- Nach einer Ausführungsform der Erfindung werden Probleme aus dem Stand der Technik und Taktratenprobleme (beschrieben in den Abschnitten 2.1 und 2.2 der Prioritätsanmeldung) dadurch gelöst, daß der Wiedergabespeicher in verschiedene einzelne RAMs geringerer Größe aufgeteilt wird. Wenn N Signale in N Fenstern wiedergegeben werden müssen, benutzen wir M (M ≥ N) RAMs der Größe F/M, wobei F die Größe eines kompletten Videobildes ist. Diese Annäherung löst das Zugriffsproblem, wenn jedes Videosignal in einem anderen RAM-Segment der Größe F/M geschrieben wird. Es sei bemerkt, daß in dem Fall, wo schnellere RAMs verwendet werden können, beispielsweise diejenigen, bei denen Zugriffvon f Videoquellen gleichzeitig möglich ist, sind nur M/fRAMs der Größe f*F/M erforderlich zum Lösen des Zugriff sproblems. Andererseits ist es nicht immer möglich, das Zugriffsproblem zu Lösen, wenn die verschiedenen RAM-Segmente spezifischen Teilen des Schirms entsprechen. Denn, in dem Fall möchten zwei Signale gleichzeitig Zugriff auf dasselbe Segment haben. Weiterhin wenn Fenster verschiedene Größen haben, kleiner und größer als die RAM- Segmentgröße F/M, wird in einigen der Segmente zu einem bestimmten Zeitpunkt Überlauf auftreten. Diese Probleme lassen sich in einer Implementierung des Wiedergabespeichers mit verschiedenen RAM-Segmenten lösen, wobei jedes Segment einem anderen geometrischen Gebiet am Schirm entspricht. In diesem Fall werden Videosignale unmittelbar an einer Speicherstelle in einem spezifischen Segment geschrieben, so daß das Segment und die Adresse innerhalb des Segmentes eine einfache eins-zu-eins- Übereinstimmung haben mit den Koordinaten am Schirm. Wenn M Videosignale gleichzeitig Zugriff auf dieselben Segmente wünschen, puffern M-1 zusätzliche Pufferelemente die Datenströme der M-1 Videosignale zur Lösung des Zugriffskonfliktes (unter der Voraussetzung, daß die Anzahl Videoquellen, die den Puffer gleichzeitig erreichen können eins ist). Wenn während eines bestimmten Zeitintervalls überhaupt keine Videoquelle Zugriff auf ein Speichersegment wünscht, können die Daten von einem der Puffer zu diesem Segment übertragen werden.
- Die Größe jedes Puffers bei dieser Annäherung ist weitgehend abhängig von der Frage; wie der Schirm in verschiedene geometrische Gebiete aufgeteilt ist, wobei jedes Schirmsegment in einem der RAM-Segmente gespeichert ist. Dies ist gegenstand des nächsten Abschnitts.
- In diesem Abschnitt wird eine Aufteilung des geometrischen Schirmgebietes (in M Teile) beschrieben, wobei diese Aufteilung derart ist, daß eine optimale Wiedergabearchitektur (in Bezug auf Speicher, Schalter und Steuerung) erhalten wird. Tedes dieser Schirmteile ist einem anderen RAM-Segment zugeordnet (M insgesamt) mit einer Kapazität F/M, wobei F die Größe eines Video-Bildes ist (oder Video-Teilbildes, wenn keine Bewegungsbildfehler korrigiert zu werden brauchen). Adressen innerhalb jedes Segmentes entsprechen den x, y-Koordinaten innerhalb des zugeordneten Schirmteils, was den Vorteil hat, daß keine zusätzliche Speicherkapazität für die Adressen von Pixeln reserviert zu werden braucht. Diese Eigenschaft wird noch wichtiger bei HD-Wiedergabesystemen, die in den kommenden Jahren auf dem Markt erscheinen werden, und die viermal mehr Pixel haben als SD-Wiedergabeanordnungen. Der Nachteil dieser Annäherung ist, daß zum Speichern derjenigen Datenströme, die gleichzeitig Zugriff auf dieselben RAM-Segmente haben möchten zusätzliche Speicherkapaziät erforderlich ist. Die Größe der Puffer ist abhängig von der_maximalen Länge der Zeitintervalle, in denen gleichzeitiger Zugriff stattfindet, sowie der Zeitintervalle, in denen überhaupt kein Zugriff auf ein Segment erfolgt. Namentlich diese letzteren "freien" Zeitintervalle sollen groß genug sein um den Puffer zu räumen, bevor der nächste Schreibzyklus für diesen Puffer auftritt.
- Um eine Anzahl Videosignale in demselben Segment einschreiben zu können, müssen sie zeitverschachtelt sein. Wenn es N Signale gibt, die Zugriff auf dasselbe Segment wünschen, kann eines derselben unmittelbar in dem betreffenden Segment eingeschrieben werden, während die N-1 anderen Signale gespeichert werden müssen. Die Größe dieser Puffer ist abhängig von dem Maße, in dem Verschachtelung möglich ist. In der Fortsetzung wird (teilweise) Videosignalverschachtelung näher be trachtet. Dieser Verschachtelungspegel erfordert Puffer, die (Teile einer) eine Videozeile speichern können. Je nach der Anzahl unterabgetasteter Videosignale und der betreffenden Unterabtastungsfaktoren kann in manchen Fällen eine Geradeauszeilenverschachtelung möglich sein. Im Allgemeinen können Videosignale nicht auf Zeilenbasis unmittelbar verschachtelt werden. Der Hauptvorteil dieser Annäherung ist, daß es möglich ist, auf Zeilenbasis auf Segmente zuzugreifen. Dadurch können preisgünstige DRAMs mit einer Schreibseitenmode verwendet werden, da Seitenmode-adressierung eine schnelle Adressierung von Pixeln in einer einzigen Reihe (Videozeile) eines solchen RAMs ermöglicht.
- Der gewählte Videosignalverschachtelungspegel wird weitgehend abhängig sein von der gewählten Konfiguration von Schirmsegmenten. Wie im Abschnitt 3.2 der Prioritätsanmeldung erläutert, führen nicht-horizontale Segmentierungsstrategien nur zu suboptimalen Lösungen: es wird mehr Pufferkakazität erfordert als in dem Fall der horizontalen Segmentierung. In der Fortsetzung wird deswegen eine Wiedergabespeichersegmentierung aufBasis einerUnterzeilenverschachtelung (horizontalen Verschachtelung) betrachtet.
- In US-A-4.947.257 und US-A-5.068.650 wird eine horizontale Segmentierungsstrategie für ein Mehrfachfenster I Mehrfachquellenechtzeitvideo(HDTV)- wiedergabesystem beschrieben. In diesem Fall wird eine feinkörnige (Pixelpegel) Verschachtelungsstrategie angewandt und es wird ein anderes Mapping zwischen Schirmkoordinaten und Speichersegmenten vorgeschlagen im Vergleich zu der oben beschriebenen Horizontalsegmentierungsstrategie. Genauer gesagt, in US-A-5.068.650 speichert jedes Speichersegment S_i Spalten i, 1+16, i+32, i+j*16 des Wiedergabegebietes, mit i = 0, 1, ...., 15, und j = 0, 1, ..., 120 für HDTV-Auflösung. Leider kann dieses System nicht die "Paging"-Mode der Wiedergabesegment-RAMs ausnutzen, da Verschachtelung im Pixelpegel auftritt. Dies bedeutet, daß viel der Gesamtzugriffsbandbreite der 16 Speichersegmente nur für Reihenadressierung reserviert ist. Ein anderer Nachteil dieses Systems ist, daß ein verwickeltes Kontroller- und "Rotations"- Netzwerk erforderlich ist zum Leiten jedes Pixels in einem Strom vonVideodaten zu einem verschiedenen Speichersegment.
- Die Basisarchitektur eines horizontal segmentierten Wiedergabespeichers mit Puffern, zum Lösen aller Zugriffskonflikte, enthält Nachschlagtabellen (sog. Ereignislisten) zur Speicherung der Koordinaten von Fensterumrissen, sowie der Stellen, wo verschiedene Fenster einander überlappen: diese Tabellen werden als "Ereignislisten" bezeichnet. Wenn zu einem bestimmten Zeitpunkt während eines Videoteilbildes - bezeichnet durch ungefähre Zeilen- und Pixelzähler - ein Ereignis stattfindet, dann nehmen die Ereigniszähler zu und es werden neue Steuersignale für die Eingangspuffer und Schaltmatrix, und neue Adressen für die RAM-Segmente aus der Ereignisliste ausgelesen.
- Bei einer alternativen Implementierung werden die Ereignislisten durch einen sog. Z-Puffer ersetzt, siehe US-A-5.068.650. Bei graphischen Anwendungsbereichen ist ein Z-Puffer ein Speicher, der eine Anzahl "Fensterzugriffserlaubnis"-Merker für jedes Pixel am Schirm speichert. Zugriffserlaubnismerker geben an, welches Eingangssignal an einer bestimmten Pixelstelle in einem der Wiedergabesegmenten geschrieben werden soll, folglich bezeichnen sie das Quellensignal eines Pixels (Puffer- Kenn-und Schaltsteuerung). In diesem Fall kann graphische Information nur eines Fensters an einem bestimmten Pixel geschrieben werden, während Zugriff für ein anders Fenster abgeleht wird. Auf diese Weise können beliebige Fensterränder und überlappende Fenstermuster implementiert werden.
- Bei einer effizienteren Ausführungsform werden Z-Puffer mit "Lauflänge"-Codierung verwendet. Lauflänge-Codierung bedeutet, daß für jede Folge von Pixeln die horizontale Startposition der Folge und die Anzahl Pixel für jede Zeile darin gespeichert wird. Folglich·kann ein reduzierter Z-Speicher verwendet werden. Es sei jedoch bemerkt, daß ein solcher Z-Puffer einer Ereignisliste gleichwertig ist, welche die horizontalen Ereignisse jeder Zeile speichert. Weiterhin sei bemerkt, daß eine wahre Ereignisliste auf Basis von rechteckigen Fenstern, als zweidimensionaler Z-Puffer betrachtet werden kann mit einer zweidimensionalen Lauflängencodierung. Der Gebrauch von wahren Ereignislisten (für rechteckige Fenster) ist aber die meist effiziente Lösung des Steuerproblems, aber andererseits bietet eine Z-Pufferimplementierung (mit oder ohne Lauflängecodierung) die Verwirklichung beliebiger Fensterformen, da Z-Puffer Fensterränder mittels eines (Lauflängencodierten) Pixelmusters definieren. Im Falle einer wahren ereignisbasierten Fernsterformkonstruktion müssen Fensterränder durch die Ereigniserzeugungslogik interpoliert werden, was wesentliche Echtzeitberechnungen für exotische Fensterformen erfordert.
- In einer Ausführungsform der Erfindung wird für jedes Videosignal ein einzelner Eingangspuffer verwendet. Die Anzahl Überschneidungen zwischen Fenstern und demjenigen Teil des Videosignals, der in dem Fenster wiedergegeben wird, bestimmen die Anzahl Ereignisse je Teilbild und folglich die Länge der Ereignisliste. Es sei bemerkt, daß wen eine solche Liste für jedes Pixel am Schirm beigehalten wird, ein kompletter Videoteilbildspeicher erforderlich ist zum Speichern aller Ereignisse. Ereignisse werden in derselben Reihenfolge sortiert wie Videobilder abgetastet werden, so daß ein einfacher Ereigniszähler verwendet werden kann um von der einen Steuermode auf die nächste zu schreuten. Andere Wiedergabesysteme, bei denen die Überlagerungshierarchie von Fenstern für jedes Pixel am Schirm beibehalten wird (siehe beispielsweise US-A-5.068.650), wird die Überlagerungshierarchie als Steuerinformation zu den verschiedenen Ereignissen in der Ereignisliste hinzugefügt. Dies ist möglich, da Ereignisse derart erzeugt werden können, daß zwischen zwei aufeinanderfolgenden Ereignissen nur ein bestimmter Teil eines einzigen Fensters sichtbar ist: d. h. die Teile des Fensters mit der höchsten Überlagerungspriorität an der aktuellen Schirmposition. Die Ereignislisten enthalten Information zur Steuerung der Puffer und der RAM- Segmente in der Architektur. Dazu muß ein·Ereigniseingang in der Liste einen satz von N-Freigabesignalen enthalten für die Eingangspuffer und einen Satz von M Freigabesignalen für die Wiedergabesegmente. Weiterhin muß sie Wiedergabesegmentadressen sowie eine Reihenadresse für jedes Wiedergabesegment enthalten. Vorteilhafterweise sind Ereignislisten örtlich für Wiedergabesegmente und Puffer. Denn nur diejenigen Ereignisse, die für ein spezifisches Wiedergabesegment und oder einen solchen Puffer relevant sind, werden sich in der örtlichen Ereignisliste befinden. Dadurch wird die Anzahl Ereignisse je Liste sowie die Anzahl Bits/Ereignis reduziert. Für jedes Wiedergabesegment wird eine örtliche Ereignisliste Folgendes enthalten:
- eine Zeilen-/Pixelkoordinate
- eine Reihenadresse (oder keine, wenn die Reihenadresse in Echtzeit berechnet wird)
- die Adresse der Spalten innerhalb der aktuellen Reihe, wobei das Schreiben startet und stopt (Stopversatz ist nicht unbedingt notwendig)
- zwei Freigabesignale (Lese/Schreib/Sperr für Wiedergabesegment, und Lese/Sperr für Puffer, von dem das Wiedergabesegment die Daten erhält)
- Für jeder Puffer enthält eine örtliche Ereignisliste nur Schreib- oder Sperrereignisse:
- eine Zeilen-/Pixelkoordinate gespeichert je Ereignis,
- ein Freigabesignal (Schreib/Sperr) für den Puffer. Es werden keine (Reihen) Adressen gebraucht, da alle Puffer als FIFOs arbeiten.
- Die Fig. 3-5 zeigen eine Ausführungsform der Erfindung, wobei die obenstehenden Erwägungen berücksichtigt worden sind. Fig. 3 zeigt die Gesamtarchitektur des Mehrfachfenster / Mehrfachquellen-Echtzeit-Videowiedergabesystems nach der Erfindung. Fig. 4 zeigt die Architektur eines Eingangspuffermoduls und dessen örtliche Ereignislistenspeicher/adressberechnungseinheiten, was die Verbesserungen an der Wiedergabearchitektur implementiert, wie oben beschrieben. Fig. 5 zeigt die verbesserte Architektur eines Wiedergabesegmentmoduls und dessen örtlichen Ereignislistenspeicher-/ adressenberechnungseinheiten.
- Fig. 3 zeigt die Gesamtarchitektur des Mehrfachfenster / Mehrfachquellen-Echtzeit-Videowiedergabesystems. Die Architektur enthält eine Anzahl RAMs 601-608, die betreffenden benachbarten Wiedergabesegmenten entsprechen. Jeder RAM hat seine eigene örtliche Ereignisliste und Logik. Jeder RAM ist (dünne Linien) mit einem Bus verbunden, der Pufferauslesefreigabesignale enthält, wobei jede Leitung des Busses mit einem betreffenden I/O-Puffer 624-636 verbunden ist. Jeder I/O-Puffer 624-636 hat seine eigene örtliche Ereignisliste und Logik. Jeder I/O-Puffer 624-636 ist mit einer betreffenden Videoquelle oder -bestimmung VSD verbunden. Datenübertragung zwischen den I/O-Puffern 624-636 und den RAM 602-608 erfolgt über einen Puffer I/O Signalbus (dicke Linien). Der Puffer-I/O-Signalbus (dicke linien) und der Pufferlesefreigabesignalbus (dünne Linien) bilden zusammen ein Kommunikation snetzwerk 610. Mehr Einzelheiten, nicht wesentlich für die vorliegende Erfindung, lassen sich in der Prioritätsanmeldung unter Hinweis auf deren Fig. 7 finden.
- Fig. 4 zeigt die Architektur eines Eingangspuffermoduls und dessen örtlicher Ereignislistenspeicher/Adressenberechnungseinheiten, welche die Verbesserungen der oben beschriebenen Wiedergabearchitektur implementiert. Eine örtliche Ereignisliste 401 empfängt aus einer Ereignisstatusevaluations- und nächstes-ereignis- Berechnungseinheit (ESEC) 403 eine Ereignisadresse (ev-addr) und liefert der ESEC- Einheit 403 einen X/Y-Ereignisindikator (X/Y-ev-indic) und eine Ereigniskoordinate (ev-coord). Eine ungefähre Zeilenzählung Y und eine ungefähre Pixelzählung X werden der ESEC-Einheit 403 zugeführt. Die ESEC-Einheit 403 liefert ebenfalls einen Ereignisstatus (ev-stat) zu einer Pufferzugriffsregelungs- und Adressberechnungseinheit (BAAC) 405, die einen Ereignistyp (ev) von der örtlichen Ereignisliste 401 bekommt. Die BAAC-Einheit 40S liefert einem Puffer 407 ein Pufferschreibfreigabesignal (buff- w-en). Der Puffer 407 erhält ein Dateneingangssignal (D-in) und liefert ein Datenausgangssignal (D-out).
- Fig. 5 zeigt die verbesserte Architektur eines Wiedergabesegmentmoduls und dessen örtlicher Ereignislistenspeicher-/Adressberechnungseinheiten. Eine örtliche Ereignisliste 501 erhält von einer Ereignisstatusevaluations- und nächstes-Ereignis- Berechnungseinheit (ESEC) SO&sub3; eine Ereignisadresse (ev-addr) und liefert der ESEC- Einheit 503 einen XIY-Ereignisindikator (X/Y-ev-indic) und eine Ereigniskoordinate (ev-coord). Eine ungefähre Zeilenzählung Y und eine ungefähre Pixelzählung X werden der ESEC-Einheit 503 zugeführt. Die ESEC-Einheit 503 liefert ebenfalls einen Ereignisstatus (ev-stat) zu einer Segmentzugriffsregelungs- und Adressberechnungseinheit (DAAC) SOS, die einen Ereignistyp und Speicheradresse (ev & mem-addr) von der örtlichen Ereignisliste SO1 bekommt. Die DAAC-Einheit SOS liefert einem RAM- Segment 507 eine RAM-Reihenadresse (RAM-r-addr). Die örtliche Ereignisliste SO1 liefert dem RAM-Segment 507 ein RAM-Schreibfreigabesignal (RAM-w-en) und ein RAM-Lesefreigabesignal (RAM-r-en), und sie liefert einem Adressdecoder addr-dec S09 mit Dreizustands-Ausgängen (3-S-out) en-1, en-2, en-3, ...., en-N verbunden mit Lesefreigabeeingängen der N Puffer, eine Pufferadresse (buff-addr). Der Adressende coder 509 ist mit einem Datenschalter (D-sw) 511 verbunden, von dem N Dateneingänge D-in-1, D-in-2, D-in-3, ..., D-in-N mit den Datenausgängen der N-Puffer verbunden sind. Von dem Datenschalter 511 ist ein Datenausgang mit einem Daten I/O- Port des RAM-Segmentes 507 verbunden, der ebenfalls mit einem Dreizustände- Datenausgang (3-S D-out) verbunden ist.
- Wie in Fig. 3 dargestellt, ist es ziemlich einfach die Architektur auf ein Mehrfachfensterechtzeitvideowiedergabesystem mit Zweirichtungszugriffsporten, Zweirichtungenschaltern und Zweirichtungenpuffern auszubauen. Auf diese Weise kann der Gebraucher entscheiden, wie viele 1/0-Porte des Wiedergabesystems als Eingang und wie viele als Ausgang verwendet werden müssen. Ein Beispiel ist der Gebrauch der Wiedergabespeicherarchitektur nach Fig. 3 mit dem Zweck einer 100 Hz Aufwärtsmischung mit Medianfilterung gemäß dem Artikel von G. de Haan, "Motion Estimation and Compensation, An integrated approach to consumer display field rate conversion", 1992, Seiten 51-53. In diesem Fall sind zwei Ausgänge mit 32 Mpixel/s (100 Hz) notwendig zum Durchführen des erforderlichen Medianvorgangs, während andere Porte als Eingänge für (50 Hz) Videosignale mit 16 M-Abtastwerten/s (es können 2 Eingangssignalwerte je Eingangsport gemultiplext werden) verwendet werden können. Die den Ereignislisten zugeordneten Adressberechnungseinheiten, wie in Fig. 4, 5 dargestellt, lassen sich in zwei Funktionsteile aufteilen:
- Ereignisstatusbewertung und Nächstes-Ereignisberechnung (ESEC)
- Wiedergabesegmentspeicherzugriffsvorgangsregelung und Adressberechnung (DAAC) für Wiedergabesegmente und Pufferspeicherzugriffsvorgangsregelung und Adressberechnung (BAAC) für Eingangspuffer.
- Diese Teile werden in der Fortsetzung näher beschrieben.
- Die Eingänge zu diesem Block sind die die allgemeinen Zeilen/Pixelzähler, die X- oder Y-Koordinate des aktuellen Ereignisses und ein Ein-Bit- Signal, das angibt, ob die aktuelle Koordinate von dem Typ X oder Y ist. Das Auftre ten eines neuen Ereignisses wird detektiert, wenn die Y-Koordinate des ereignisses dem Wert des Zeielzählers und die X-Koordinate dem Pixelzählwert entspricht. Es dürfte einleuchten, daß der ESEC-Block die X/Y-Koordinaten aller Ereignisse in der Ereignisliste nicht mit dem aktuellen Zeilen/Pixel-Zählwert vergleichen kann, da dies viele innerhalb eines einfachen Taktzyklus durchzuführende Vorgänge erfordern würde. Stattdessen wird die Ereignisliste auf X- und Y-Werte sortiert und die ESEC speichert eine Adresse für die Ereignisliste, die auf das aktuelle aktive Ereignis zeigt. Der Ereignislistenadresszeiger wird danach zu dem nächsten Ereignis in der Liste erhöht, sobald die X/Y-Koordinaten des nächsten Ereignisses dem aktuellen Zeilen-/Pixelzählwert entsprechen.
- Je nach der Ordnung, in der alle Typen von Videobildern abgetastet werden (von links nach rechts, Zeile pro Zeile, ausgehend oben im Bild, siehe CCIR Recommendation 470-1), ist die Fortschaltrate eines Zeilenzählers viel niedriger als die Fortschaltrate eines Pixelzählers. Deswegen reicht es den Y-Wert des nächsten Ereignisses in der Liste nur einmal je Zeile zu vergleichen, während die X-Koordinate des nächsten Ereignisses für jedes Pixel verglichen werden muß. Aus diesem Grund enthalten die Ereignisse in der Ereignisliste eine einfache Koordinate, die eine X- oder eine Y- Koordinate sein kann, sowie ein Merker, der den Typ des Ereignisses (X oder Y) angibt.
- Um zu gewährleisten, daß Ereignislisten, die entweder Y- oder X- Ereignisse enthalten, von der ESEC richtig interpretiert werden, ist es notwendig, daß eine komplette Gruppe von Ereignissen innerhalb eines spezifischen Y-Intervalls gültig ist. Eine solche Gruppe von Ereignissen ist dann von dem Typ X und wird durch zwei Y-Ereignisse begrenzt, die das Y-Intervall angeben, in dem die X-Ereignisse gültig sind. Wenn die Koordinate C_1 eines Ereignisses vom Y-Typ ist, sind auf diese Weise alle Ereignisse zwischen diesem aktuellen Y-Ereignis und dem nächsten Y-Ereignis mit der Koordinate C_2 in der Ereignisliste X-Ereignisse, die nur zwischen den Zeilen C_1 und C_2 auftreten können.
- Wenn alle X-Ereignisse in einer Gruppe gültig geworden sind (Ende der Zeile ist erreicht), tritt das nächste Y-Ereignis auf. An dieser Stelle muß die ESEC entscheiden, ob das nächste Y-Ereignis gültig ist oder nicht. Wenn es gültig ist, wird der Adresszeiger erhöht. Wenn aber das nächste Y-Ereignis nicht gültig ist für die aktuelle Zeilenzählung, dann bedeutet dies, daß das vorhergehende Y-Ereignis nach wie vor gilt und die ESEC setzt den Adresszeiger auf das erste X-Ereignis nach dem vorhergehenden Y-Ereignis der Ereignisliste zurück.
- Die ESEC-Signale zu der Speicherzugriffsregelungs-und-Adressberechnungseinheit geben den Status des aktuellen Ereignisses an. Das kann sein "SAME- EVENT", "NEXT-X-EVENT", "NEXT-Y-EVENT" oder "SAME-Y-EVENT-NEXT- X-EVENT-CYCLE" (d. h. nächste Zeile innerhalb desselben Y-Intervalls). Diese letztere Einheit benutzt den Ereigniszustand zum Berechnen einer neuen Speicheradresse für das Wiedergabesegment und/oder den Eingangspuffer. Dies wird nachstehend näher beschrieben.
- Wenn der Typ des aktuellen Ereignisses - wie durch die ESEC erkannt - "WRITE" ist, erhöht die Pufferspeicherzugriffsregelungs-und-Adressberechnungseinheit (EAAC) die Schreibzeigeradresse des Eingangspuffers (nur wenn der Puffer dies nicht selber tut) und aktiviert das "WRITE-ENABLE"-Eingangsport des Puffers. Die BAAC sorgt auch für die horizontale Unterabtastung (falls erforderlich) nach dem Bresham-Algorithmus, siehe EP-A-0.384.419. Dazu aktualisiert sie einen sog. Brucherhöhungszähler. Wenn ein Überlauf auftritt von dem Bruchteil des Zählers zu dem ganzzahligen Teil des Zählers, wird ein Pixel abgetastet durch Erhöhung der Schreibadresse des Puffers und durch Aktivierung des Hinweissignals "WRITE-ENABLE" des Puffers.
- Die Wiedergabesegmentspeicherzugriffsregelungs-und- Adressberechnungseinheit (DAAC) eines spezifischen Wiedergabesegmentes regelt die aktuelle Übertragung von Videodaten von einem Eingangspuffer zu einem Wiedergabe segment DRAM. Dazu berechnet sie die aktuelle Reihenadresse das Speichersegmentes unter Verwendung der Reihenadresse wie durch das aktualle Ereignis und durch die Anzahl Wiederholungszyklen spezifiziert (Status ist "SAME-Y-EVENT-NEXT-X- EVENT-CYCLE") die innerhalb des aktuellen Y-Intervalls aufgetreten sind (siehe oben). Die DAAC macht die Reihenadressberechnung nach dem Bresham-Algorithmus nach EP-A-0.384.419, so daß vertikale Unterabtastung erreicht wird, wenn vom Gebraucher erwünscht. Weiterhin erhöht die DAAC die Spaltenadresse des Wiedergabesegmentes wenn derselbe Status bewertet wird wie bei der vorhergehenden Ereignisstatusbewertung. Eine andere wichtige Funktion, die in Echtzeit von der DAAC durchgeführt wird, ist die sog. flexible Reihenleitungsaufteilung der Speichersegmente. Es ist nämlich nicht notwendig, daß Reihen in den DRAM-Segmenten auf einzigartige Weise Teilen einer Zeile bei der Wiedergabe entsprechen. Wenn es nach der Speicherung eines kompletten Zeilenteils L/M noch Raum gibt in einer Reihe eines DRAM-Segmentes zur Speicherung einiger Pixelaus der nächsten Zeile, kann die DA- AC dies steuern. Dies geschieht wie folgt. Wenn die DAAC das Ende einer zur Zeit zugegriffene Reihe des aktuellen Wiedergabesegmentes RAM detektiert, wird das ausgelesene Ausgangssignal des Puffers gesperrt, liefert ein RAS für die nächste Reihe des RAM und fährt wieder mit dem Schreiben des RAM fort. Es sei bemerkt, daß auch die Algorithmen zur Ereigniserzeugung die Adresserzeugung für RAM-Wiedergabesegmente ändern muß wenn eine flexible Reihe/Zeile-Aufteilung erforderlich ist.
- Zum Schluß wird die einzigartige Identifikationdes Quellenpufers - wie durch das aktuelle Ereignis spezifiziert - zum Berechnen der Schaltereinstellungen benutzt. Danach wird das Lese- oder Schreibhonweissignal des Wiedergabesegmentes RAM aktiviert und es wird ein Lese- oder Schreibvorgang durch das Wiedergabesegment durchgeführt.
- Die Funktionalität der ESEC und der B/DAAC kann durch einfache logische Schaltungen, wie Zähler, Vergleichsschaltungen und Addierer/Subtrahierer implementiert werden. Es werden keine Multiplizierer oder Teiler gebraucht.
- Der Abschnitt 5 der Prioritätsanmeldung enthält eine bedaillierte Berechnung der Anzahl und der größe der Eingangspuffer für horizontale Segmentierung, was zur Erläuterung der Wirkungsweise der vorliegenden Erfindung nicht wesentlich ist.
- Bei dieser Anwendung wird eine Speicherarchitektur beschrieben, die eine gleichzeitige Wiedergabe von Echtzeit-Videosignalen einschließlich HDTV- Signalen in Mehrfachfenstern beliebiger Größe und an beliebigen Stellen am Schirm. Weiterhin ermöglicht die Architektur die Erzeugung von 100 Hz Ausgangssignalen, progressiven Abtastsignalen und HDTV-Signalen durch Verwendung mehrerer Ausgangskanäle zur Steigerung der Gesamtausgangsbandbreite der Speicherarchitektur. Selbstverständlich kann eine Abwägung zwischen der erforderlichen Bandbreite und der Ausgangsbandbreite innerhalb der von der Wiedergabespeicherarchitektur angebotenen Gesamtzugriffsbandbreite gemacht werden. Auf diese Weise kann man ein HDTV- Mehrfachfenster-I/O-System mit DRAMs mittlerer Geschwindigkeit schaffen.
- Theoretisch ist es auch möglich, die maximale Anzahl wiedergegebener Fenster mit r² zu multiplizieren, wenn die Video-Eingangsdatenströme mit einem Faktor r unterabgetastet werden. Es sei aber bemerkt, daß wird Videoströme nicht auf Pixelbasis verschachteln können, da in dem Fall jede Zeile eine verbotene Anzahl RAS- Zyklen eingefügt werden müßte. Deswegen kann nur Verschachtelung auf Zeilenbasis erlaubt werden, und zwar derart, daß die maximale Anzahl wiedergegebener Fenster mit r statt mit r² multipliziert werden kann.
- Der Wiedergabespeicher in dieser Architektur ist kleiner als oder ebenso groß wie ein Videoteilbild (sog. verringertes Bild) und besteht aus einer geringen Anzahl Seitenmode-DRAMs. Wenn der_maximale Zugriff auf die verwendeten DRAMs der f-fachen Videodatenrate entspricht (in Pixells), dann sind für N-Fenster N/f DRAMs erforderlich mit einer Kapazität von f*F/N Pixeln, wobei F die Anzahl Pixel eines reduzierten Videobildes angibt. Es gibt viele Arten von DRAMs auf dem Markt, die Zugriffsraten f = 1 bis f = 10 in der Spaltenadressmode oder Seitenmode haben (Abschnitt 2). Wie erwartet, steigt der Preis dieser RAMs um f. Weiterhin ist es möglich, die reihen und Spalten der DRAMs derart aufzuteilen, daß zwischen der Anzahl Zeilen und Spalten je Segment eine optimale Anpassung erhalten wird. Es können auch diejenigen Pixel in jeder Reihe der DRAMs verwendet werden, die es nebst der erfor derlichen Anzahl Pixel/Zeile in einem Segment gibt. Dies erfordert eine flexible Aufteilung (siehe Abschnitt 4). So kann beispielsweise ein DRAM mit 512 Reihen und 512 Spalten für ein Wiedergabesegment aufgeteilt werden, das 1024 Zeilen und 128 Pixel je Zeile je Teilbild haben soll. Insgesamt 12 (12 · 128 = 1536 Pixel pro Zele) dieser DRAMs ermöglichen die Implementierung eines (reduzierten) Videobildspeichers für ein 12-Fenster-HDTV-Echtzeitvideowiedergabesystem.
- Nebst dem Wiedergabespeicher benutzt die Architektur N Eingangspuf fer (ein Puffer je Eingangssignal mit einer Schreibzugriffsrate gleich der Pixelrate) mit einer Kapazität von etwa 3/2 Videozeile je Puffer (siehe Abschnitt 5 der Prioritätsanmeldung). So werden beispielsweise für N = 6, und Normalauflösungsvideosignale (720 Pixel je Zeile, 8 Bits/Pixel für Leuchtdichte und 8 Bits/Pixel für Farbe), 720 · 16 = 11520 Bits je Video-Zeile gebraucht, was zu einer gesamten Pufferkapazität von 6 · 3/2 · 11520 = 100 kbits führt.
- Für jedes Wiedergabesegment (N insgesamt) wird eine Nachschlagtabelle mit Regelereignissen (Reihe/Spalteadressen, Lesesperr-, Schreibsperrhinweissignale für das Wiedergabesegment und Lesesperrhinweissignal für den Eingangspuffer, X- oder Y-Koordinate) verwendet, die eine maximale Kapazität von 4.N² + 5.N - 5 Ereignissen hat. Die Adressberechnung für die Nachschlagtabelle wird durch einen Ereigniszähler, eine Vergleichsschaltung und eine Randlogik implementiert. Ein Zahlenbeispiel (6 Fenstersystem) das die maximale Anzahl in den Nachschlagtabellen zu speichernder Bits berechnet - wenn Echtzeitverarbeitung minimiert werden soll - wird nachstehend gegeben. Für Normalauflösungsfernsehsignale erfordern Reihenadressen 9 Bits, Spaltenadressen (innerhalb eines Segmentes) erfordern 7 Bits (für N > 6), eine X- oder Y- Koordinate erfordert 10 Bits und die Freigabehinweissignale erfordern 1 Bir/Hinweissignal. Es sind also 4.N² + 5.N - 2 Ereignisse von (9 + 2 · 7 + 10 + 3 = ) 36 Bits erforderlich für die Wiedergabesegmente und 6.N - 2 Ereignisse von (10 + 1 = ) 11 Bits für Eingangspuffer. Für N = 7, (6 Fenster + ein Auslesezugriff), sind eine Gesamtzahl von 7 · (226 · 36 + 40 · 11) = 7 · 8576 = 60032 Bits erforderlich für die Nachschlagtabellen. Wenn diese Ereignisse mit einer CPU berechnet werden, überträgt 7 diese Einheit die Ereignisse zu der Wiedergabespeicherarchitektur durch ein relativ langsames Kommunikationsprotokoll wie IIC (100 kbit/s), wobei es dann 60032 / 10000 = 0,6 Sekunde dauert um die Übertragung zu vollenden. Dies ist eine akzeptierbare Worst-Case-Maximalwartezeit für den Gebraucher, wenn er eine Änderung in der Fensterkonfiguration vornimmt. In den meisten Fällen wird die Anzahl Bits und die Übertragungszeit um eine Größenordnung kleiner sein. Für eine Vielzahl von Fenstern wie N = 9, ist dennoch eine ausreichend kurze maximale Übertragungszeit (kürzer als 1, 2 Sekunden) möglich.
- Es sei bemerkt, daß, wenn es unerwünscht ist, den ganzen Schirm auszutasten während der Übertragung (und Ladung) von Ereignisdaten, eine Zwischenspeicherung in dem Wiedergabesystem verfügbar sein muß. Dies kann als Satz von Schattenereignislisten implementiert werden - welche die aktuellen Ereignislisten sofort ersetzen, wenn ein Freigabesignal für die Nachschlagtabellen hin- und hergeschaltet wird - oder als langsam-ein-schnell-aus-FIFO-Puffer, der die Ereignislisten innerhalb der Vertikal-Austastzeit aktualisiert.
- Noch eine andere Möglichkeit ist die Videobilder am Schirm zu "gefrieren" durch Abschaltung der Schreibmöglichkeit der Wiedergabesegmente indem das Lesen nach wie vor möglich ist. Um dies wirken zu lassen müssen einzelne (feste) Ereignislisten für das Auslesen der Wiedergabesegmente verwendet werden, die jedoch nicht aktualisiert zu sein brauchen für Änderungen in der aktuellen Fensterkonfiguration (es wird immer der komplette Schirm ausgelesen). In diesem Fall muß das Ereigniserzeugungsprogramm Zeitschlitze reservieren, die den "Festzeitschlitzen" in den einzelnen Ausleseerignislisten entsprechen.
- Eine Schaltmatrix mit N Eingängen und n Ausgängen wird verwendet zum Schalten der Ausgänge der N Puffer zu den N DRAMs des Wiedergabespeichers. Eine Geradeausimplementierung erfordert N² Videodatenschalter (16 Bits/Pixel).
- Man kann drei Pegel unterscheiden, auf denen Videosignale synchronisiert werden müssen bevor sie gemeinsam an demselben Schirm wiedergegeben werden können.
- 1. Unterpixelpegel. Es gibt zwei Möglichkeiten: (1) es werden Videosignale abgetastet mit einem zeilenverriegelten Takt, oder (2) es werden Videosignale abgetastet mit einem konstanten Takt. In dem Fall (1) haben die Abtasttakte der jeweiligen Videosignale keine Beziehung, der Abstand aber zwischen dem Horizontal-Synchronimpuls (Start einer Zeile) und den Abtastzeitpunkten ist für alle Videosignale derselbe (wobei Jitter außer Acht gelassen wird). Synchronisation von Videosignalen auf einem Unterpixelpegel hat nun mit Konversion der Abtastdatenrate (Pixelrate) eintreffender Videosignale zu einer anderen Abtastrate (Pixelrate) zu tun: die Rate, mit der Pixel am Schirm wiedergegeben werden. Dies kann erfolgen mit einem kleinen FIFO-Speicher oder einem Unterpixelinterpolator. In dem Fall (2) sind alle Abtasttakte gleich, aber der Abstand zwischen Abtastzeitpunkten und dem Start einer Videozeile ist je Videosignal anders und variiert mit der Zeit. Nun muß zunächst dieser Abstand für alle Videosignale gleich gemacht werden (innerhalb einer vorbestimmten Genauigkeit). Dazu müssen neue Abtastwerte berechnet (interpoliert) werden - die den erforderlichen Abstand von dem Start der Zeile haben - unter Verwendung der gegebenen Horizontal-Synchron- und-Abtastpositionen und Abtastwerte. Dies kann nur durch einen Unterpixelinterpolator gemacht werden, da keine Speicheranordnung Abtastdatenwerte ändern kann.
- 2. Pixelpegel. Sogar, wenn die Abtastraten aller Videosignale zu einer gemeinsamen Abtastrate umgewandelt wird, können die Videoabtastwerte dennoch nicht gemeinsam an demselben Schirm wiedergegeben werden. Im Allgemeinen wird nämlich der Start einer neuen Zeile in einem spezifischen Videosignal nicht gleichzeitig mit dem Start einer Zeile in einem anderen Videosignal auftreten. Deswegen ist eine Verschiebung auf Pixelpegel notwendig zum Ausrichten der Horizontalsynchronimpule. Die einzige Art und Weise eine solche Verschiebung zu implementieren ist die Verwendung einer Speicheranordnung, wie eines FIFOs.
- 3. Zeilenpegel. Zum Schluß ist es notwendig, die Startpunkte der Videoteilbilder aller Videosignale auszurichten. Das heißt, daß die Vertikal-Synchronimpulse aller Vi deosignale ausgerichtet werden müssen. -Ach diese Zeitverschiebung kann nut mit einer Speicheranordnung, wie einem FIFO oder mit einem reihenadressierbaren Wiedergabespeicher implementiert werden.
- Die drei Synchronistaionspegel können mit der Wiedergabearchitektur nach Fig. 3 implementiert werden, wenn die eintreffenden Videodaten mit einem zeilenverriegelten Takt abgetastet werden. Dies wird in den nachfolgenden Unterabschnitten beschrieben. Wenn ein Konstantabtasttakt verwendet wird, ist dennoch Synchronisationauf dem Pixel- und Zeilenpegel möglich, aber für Unterpixelausrichtung muss auch eine gewisse Interpolationstechnik angewandt werden.
- Im Grunde gibt es zwei Methoden, eintreffende Videodaten zu puffern:
- 1. Die Puffer sorgen für alle Variationen in den Lese-Schreibfrequenzen der Puf fer, während Lese-Schreibadressabstände in dem Wiedergabespeicher dieselben bleiben, bis ein Teilbild- oder Bildsprung stattfindet, d. h. der Wiedergabespeicherlese- Schreibadresszeigerabstand wird während der Teilbildaustastung geändert. Also diskrete Änderungen der Lese-Schreibadressen des Wiedergabespeichers, die etwas größere Eingangspuffer für Zeilensprünge brauchen.
- 2. Die Puffer sorgen nur für Variationen in der Zeilenperiode und sind sonst transparent, was bedeutet, daß der Wiedergabespeicherlese-schreibzeigerabstand kontinuierlich geändert wird. Dies erfordert etwas mehr Regelaufwand, aber die Puffer können kleiner sein als bei der ersten Methode.
- Unterpixelsynchronisation kann mit den Eingangspuffern der Architektur nach Fig. 3 erfolgen, wenn Videodaten mit einem zeilenverriegelten Takt abgetastet werden. Diese Puffer können mit Taktraten geschrieben werden, die von dem Systemtakt abweichen, während das Auslesen der Puffer mit dem Systemtakt erfolgt. Wegen dieser Abtastratenumwandlung muß die Kapazität von Eingangspuffern vergrößert werden. Diese Vergrößerung ist abhängig von dem maximalen Abtastratenumwandlungsfaktor, der in praktischen Situationen erforderlich sein kann.
- Wenn nun vorausgesetzt wird, daß f source die Abtastrate einer Eingangsvideoquelle bezeichnet, die zu einer Abtastrate des Wiedergabesystems f_sys umgewandelt werden muß, so ist:
- r_max = max {f_source/f_sys, f_sys/f_source },
- dann werden r_max mal mehr Abtastwerte aus dem Puffer ausgelesen als darin geschrieben werden, oder es werden r_max mal mehr Abtastwerte in den Puffer eingeschrieben als daraus ausgelesen. Dies kann aber nicht immer so weitergehen, da der Puffer entweder den Bereich unterschreiten oder überschreiten würde. Deswegen muß eine minimale Zeitperiode identifiziert werden, nachdem das Schreiben oder Lesen beendet werden kann (nicht beides), so daß der Puffer geräumt werden kann zur Vermeidung einer Überschreitung oder daß der Puffer zur Vermeidung von Unterschreitung aufgefüllt werden kann. Im Hinblick auf die erste Pufferungsmethode sei bemerkt, daß wenn das Schreiben beendet wird, Abtastwerte verlorengehen, während das Beenden des Lesevorgangs dafür sorgt, daß Austastpixel in den Videostrom eingefügt werden. In beiden Fällen werden sichtbare Bildfehler eingeführt. Deswegen muß die Zeitperiode, nach der der Puffer geräumt oder gefüllt wird, möglichst groß sein, damit die Anzahl sichbarer Bildfehler auf ein Minimum beschränkt wird. Andererseits müssen, wenn eine lange Zeitperiode benutzt wird, bevor Räumung oder Füllung stattfindet, viele Abtastwerte in dem Puffergespeichert werden, was die Worst-Case- Pufferkapazität wesentlich steigert.
- Ein anderes Problem, das auftritt, wenn Pixel ausfallen oder eingefügt werden ist, daß die Synchronisation zwischen eintreffenden Videosignalen und Wiedergabetakt verloren geht. Neusynchronisation auf Pixel- und Zeilenpegel ist deswegen zwingend. Jedes Videosignal enthält Synchronisationsbezugspunkte am Anfang jeder Zeile (Hauptstation-Sync) und jedes Teilbildes (V-sync) folglich ist der geeigneteste Zeitpunkt zum Durchführen eines solchen Vorgangs am Anfang einer neuen Zeile in dem Videoeingangsstrom. Dies wird in den Abschnitten 5.2 (Pixelpegelsynchronisation) und 5.3 (Zeilenpegelsynchronisation) beschrieben. Dadurch muß die Zeitperiode, in der das Schreiben und das Lesen nicht unterbrochen werden sollte, dem kompletten sichtbaren Teil einer Video-Zeilen- oder Video-Teilbildperiode entsprechen. In den nachfolgenden zwei Unterabschnitten wird die Worst-Case-Zunahme der Pufferkapazität für Pufferfüllung und -räumung mit der Teilbild- und der Zeilenfrequenz berechnet.
- Wenn bei der ersten Puffermethode die Zeitperiode, in der das Schreiben/Lesen der Puffer nicht unterbrochen wird, als einem kompletten Videobild entsprechend gewählt wird, ist die komplette Vertikal-Austastzeit zum Füllen und Räumen der Eingangspuffer verfügbar. Das Füllen und Räumen ist (1) zu unterbrechen beim Lesen, wenn ein Pufferunterschreitung auftritt, (2) zu unterbrechen beim Schreiben in den Puffer, wenn ein Pufferüberschreitung auftritt, oder (3) zum Steigern der Lesefrequenz, wenn ein Pufferüberschreitung auftritt. In dem Fall, daß die Veretikal- Austastzeit groß genug ist, so daß das Füllen und Räumen völlig durchgeführt werden kann, tritt innerhalb einer einzigen Teilbildperiode kein Verlust sichtbarer Pixel auf. Es sei bemerkt, daß zur vertikalen (Zeilenpegel) Synchronisation von Videosignalen ein periodischer Abfall eines kompletten Teilbildes nicht vermieden werden kann, wenn Eingangspuffer die endgültige Größe haben (siehe Abschnitt 5.3). Genauer Gate- Elektrode sagt heißt das, wenn die Anzahl Pixel in dem sichtbaren Teil eines Teilbildes durch F gegeben ist und die Anzahl Pixel in dem unsichtbaren Teil des Teilbildes (Bildaustastung) durch F blank gegeben wird, dann gilt - zur Vermeidung von Verlust sichtbarer Pixel während einer kompletten Bildperiode -
- r_max * F - F ≤ F_blank, oder
- r_max ≤ 1 + F_blank/F.
- In Anbetracht eines Normalauflösungsvideosignals gemäß CCIR Recommendation 601 gibt es 288 sichtbare Zeilen pro Teilbild (720 sichtbare Pixel je Zeile) und 24 unsichtbare Zeilen je Teilbild, so daß der_maximale Abtastratenumwandlungsfaktor r_max gegeben wird durch r_max = 1 + 24/288 = 1.08 ohne den Verlust sichtbarer Pixel in demselben Teilbild. Dies bedeutet, daß eine 8%-Variation der Abtastrate von Videoeingangssignalen - im Vergleich mit der Normpixeltaktrate - erlaubt ist, ohne daß sichtbare Bildfehler eingeführt werden (ausgenommen periodische Teilbild sprünge: siehe Abschnitt 5.3). Dies reicht also durchaus für die Videosignale der meisten Heimvideoquellen, wie TV, VCR und VLP.
- Um ein Überschreiten von Eingangspuffern zu vermeiden kann die Worst-Case-Zunahme der Pufferkapazität ΔC_buf (für Vollschirmfenstergröße) ausgedrückt werden wie:
- ΔC_buf(r_max - 1)*F.
- Dasselbe gilt für Unterschreitung von Eingangspuffern, so daß die Gesamtkapazität jedes Eingangspuffers um 2*ΔC_bufgesteigert werden um Überschreitung sowie Unterschreitung zu vermeiden. Als Beispiel gilt, wieder unter Betrachtung von Normalauflösungsvideosignalen nach der CCIR Recommendation 601 (720 sichtabe Pixel je Zeile und 288 sichtbare Zeilen je Teilbild) folglich F = 720 · 288 = 207360 Pixel und mit r_max = 1% folgt hieraus ΔC_buf 2074 Pixel (etwa 3 Videozeilen). In der Praxis aber liegt die Zeilenfrequenz der meisten Heimvideoquellen innerhalb einer 99,1% Durchschnittsgenauigkeit der 15,625 kHz Zeilenfrequenz von Normalauflösungsvideo. In diesem Fall reichen ΔC_buf 207 Pixel (1/4 Videozeile).
- Neusynchronisation des V-sync (Start des Teilbildes) des eintreffenden Videosignals mit der Wiedergabe-V-sync erfolgt am Ende der Vertikal-Austastperiode (Start eines neuen Teilbildes) des eintreffenden Videosignals. Dies wird in dem Abschnitt 5.3 beschrieben.
- Eine gute Alternative, die überhaupt keine sichtbaren Bildfehler verursacht und die erforderliche Pufferkapezität nicht steigert, ist Abtastwerte (Pixel) während des ganzen sichtbaren Teils einer Video-Zeilenperiode (des eintreffenden Videosignals) zu speichern und das Räumen und Füllen von Puffern während der Horizontal-Austastperiode durchzuführen. Unglücklicherweise benutzt für N = 6 Videoquellen und M = 6 Speichersegmente, die Wiedergabearchitektur nach Fig. 3 bereits die Horizontal-Austastperiode zum Steigern des Gesamtzugriffs auf den Wiedergabespeicher. Durch Austausch nur eines Videozugriffs gegen einen zusätzlichen Zeitschlitz (uM. Zeilenperiode) je Videozeile und je Videoquelle, wird eine wesentliche> Zunahme der Füll- oder Räumungszeit von Eingangspuffern erzielt ohne daß die Gesamtpufferkapazität zunimmt. Wenn mehr Wiedergabesegmente verwendet werden (M > 6), wird das Füll/Räumungsintervall kürzer. Für einen großen Wert von M (M > 10) paßt mehr als eine Zeitperiode L/M in die Horizontal-Austastperiode, man kann also Synchronisationsenergie für mehr Zugriff eintauschen, oder eine zusätzliche L/M-Zeitperiode für Füllen /Räumen spendieren (Vergrößern des Synchronisationsbereichs). Für einen geringen Wert von M (M < 6), d. h. wenn nur einige Fenster wiedergegeben werden oder wenn schnelle Wiedergabesegment-RAMs verwendet werden, paßt keine Zeitperiode L/M in denjenigen Teil der Austastzeit, der noch nicht bereits für Erneuerung verwendet worden ist, so daß es nicht möglich ist diese Zeitperiode zur Steigerung des Zugriffs auf den Wiedergabespeicher zu verwenden. Dies bedeutet, daß immer ein gewisser Teil der Horizontal-Austastperiode zum Füllen/Räumen benutzt werden kann. Andererseits ist es nicht möglich, eine komplette Reihe der Wiedergabesegmente während der Horizontal-Austastzeit zu schreiben. Dadurch muß mehr als nur ein Reihenadressierungszyklus (RAS) für jede Reihe der Wiedergabeelemente benutzt werden - was zu einer Steigerung der Pufferkapazität führt - und die Komplexität der Ereignislogik und der Ereigniserzeugungssoftware wird gesteigert.
- Als Beispiel wird ein Normalauflösungsvideosignal nach CCIR Recommendation 601 betrachtet, wobei es 720 sichtbare Pixel (L = 720) und 144 unsichtbare Pixel je Zeile (L blank = 144) gibt, und folglich wird der_maximale Abtastratenurnwandlungsfaktor r_max gegeben durch:
- r_max = 1 + L_blank / L = 1 + 144 / 720 = 1, 2.
- Wie oben bereits erwähnt, ein gewisser Teil der Horizontal-Austastperiode muß zur Erneuerung der RAM-Segmente benutzt werden, so daß nur LIM-Zyklen übrig bleiben zum Füllen oder Räumen (für N = M = 6). In diesem Fall ist:
- r_max = 1 + (720/6) / 720 = 1,16.
- Das bedeutet, daß eine 16%ige Variation der Abtastrate der Videoeingangssignale - im Vergleich zu der Standardpixeltaktrate - erlaubt ist ohne daß sichtbare Bildfehler ein geführt werden. Dies reicht weitgehend für die Videosignale der meisten Heimvideoquellen wie TV, VCR und VLP.
- Horizontal-Ausrichtung kann auch mit den Eingangspuffern der Wiedergabearchitektur erhalten werden. Die echte Horizontal-Synchronisation wird automatisch erhalten, wenn einige Videozeilen vor dem Start jedes Teilbildes Lese- und Schreibadressen von Eingangspuffern auf Null gestellt werden. Während eines kompletten Videoteilbildes gehen keine Abtastwerte verloren wegen Unterschreitung oder Überschreitung, während die Anzahl Pixel je Zeile dieselbe ist für alle Videoeingangssignale (für zeilenverriegelte Abtastung) und für die Wiedergabe, so daß keine Horizontal- oder Vertikal-Verschiebung während einer Teilbildperiode auftreten kann. Dadurch ist keine zusätzliche Hardware und Software erforderlich - im Vergleich zu den in dem obenstehenden Unterabschnitt beschriebenen Hardware/Software-Anforder-ungen - zum Implementieren der Horizontal-Pixelpegelsynchronisation.
- Wenn Videosignale mit einem konstanten Takt abgetastet werden, kann die Anzahl Pixel je Zeile jede Zeilenperiode variieren, was eine Neusynchronisation auf Zeilenbasis erfordert. Dies ist auch der Fall, wenn zeilenverriegelte Abtastung angewandt wird und Eingangspuffer geräumt oder gefüllt werden in der Horizontal- Austastperiode der Videoeingangssignale zur Vermeidung von Unterschreitung oder Überschreitung der Eingangspuffer während des sichtbaren Teils jeder Zeilenperiode. Neusynchronisation kann dadurch erhalten werden, daß die Leseadresse des Eingangspuffers beim Start der Zeile rückgestellt wird, d. h. gleichzeitig in die Eingangspuffer geschrieben wird. In dem Fall, wo die Kapazität der Eingangspuffer gerade ausreicht zur Vermeidung einer Unterschreitung/Überschreitung während einer einzigen Zeilenperiode, kann ein periodischer Zeilensprung nicht vermieden werden.
- Die wichtigsten Nachteile der Annäherung ist, daß der I/O-Zugriff auf den Wiedergabespeicher verringert wird (ein Horizontal-Zeitschlitz muß reserviert werden zum Füllen/Räumen) und daß oft auftretende Zeilensprünge zu einer vjel weniger stabilen Bildwiedergabe führen wird.
- Am Ende eines Teilbildes des eintreffenden Video-Signals (in der Bildaustastperiode) werden Eingangspuffer gefüllt/geräumt (nur für Teilbildpegelfüllung und -räumung)und Vertikal-Neusynchronisation muß für den verlust von Pixeln durchgeführt werden (wegen Räumung) oder die Einfügung neuer Pixel (durch Füllung). Diese vertikale Ausrichtung von Videobildern wird dadurch erhalten, daß die Adresserzeugung für die DRAM-Segmente an den aktuell erforderlichen Vertikaloffset angepaßt wird.
- Eine etwaige Implementierung ist für jedes Teilbild der einstreffenden Videosignale neue Ereignislisten zu erzeugen. Diese Annäherung erfordert, daß der Ereignisberechnungsalgorithmus in einem Mikroprozessor durchgeführt werden kann innerhalb einer einfachen Teilbildperiode. Eine andere Möglichkeit ist, einen quellenabhängigen Reihenoffset (für Vertikalausrichtung) auf Teilbildbasis zu berechnen, was durch die Adressberechnungs- und Steuerlogik der Wiedergabesegmente durchgeführt werden kann. Statt einer Teilbildbasis, sind auch eine Zeilenbasis oder Pixelbasis (im Allgemeinen: auf Zugriffsbasis) möglich.
- Der Abstand zwischen Lese- und Schreibadressen von Eingangspuffern muß innerhalb eines spezifischen Bereichs liegen, damit vermieden wird, daß Unterschreitung oder Überschreitung während einer einzigen Teilbildperiode auftritt. In der Praxis kann es passieren, daß beim Start eines neuen Teilbildes in einem der eintreffenden Videosignale der Abstand zwischen Lese- und Schreibadressen nicht innerhalb des spezifischen Bereichs liegt. In dem Fall ist es möglich, zwischen den Lese- und Schreibadressen der Eingangspuffer eine Zeilenverzögerung einzufügen oder zu entfernen, indem deren Schreib- oder Leschinweissignal während der ersten Zeile eines neuen Teilbildes in einem der Videoeingangsströme gesperrt wird. Wegen einer solchen Aktion würde das Videobild um eine Zeile in der vertikalen Richtung verschoben werden, was zu Instabilität des wiedergegebenen Bildes führen würde. Dieses Problem wird dadurch gelöst, daß ein zusätzlicher Reihenoffset angewandt wird, so daß am Schirm keine vertikale Verschiebung bemerkt wird. Dies alles läßt sich verwirklichen mit einfachen logischen Schaltungen, wie Randdetektoren, Zählern, Addierern / Subtrahierern und Vergleichschaltungen. Diese Schaltungsanordnungen werden einen Teil der Adressenberechnungs- und Steuerlogikschaltung jedes Wiedergabesegmentmoduls sein.
- Es sei bemerkt, daß der oben beschriebene Synchronisationsmechanismus robust genug ist zum Synchronisieren von Videosignalen, die eine andere Anzahl Zeilen je Teilbild haben als am Schirm wiedergegeben wird. Sogar wenn die Anzahl Zeilen je Teilbild in der Zeit variiert, ist Synchronisation möglich, da die Adresse für die Wiedergabe-RAMs berechnet wird und für jedes Teilbild oder jeden Zugriff eingestellt wird. Wenn die Zeilendifferenz je Teilbild größer ist als die Vertikal-Austastzeit, werden am Schirm sichtbare Bildfehler sichtbar sein (beispielsweise weiße Linien).
- Als Beispiel wird nun die Synchronisation von 50 Hz Videosignalen (312,5 Zeilen je Teilbild) mit 60 Hz Videosignalen (262,5 Zeilen je Teilbild) betrachtet, wobei am Ende jedes 60 Hz Teilbildes eine Aktualisierung des Reihenoffsets erfolgt (Zunahme/Abnahme des Reihenoffsets um 312,5 - 262,5 = 50 Zeilen je Teilbild), so daß Vertikal-Synchronimpulse beider Signale mit Teilbildrate ausgerichtet werden. Jeweils einmal je 312,5/50 = 6,26 Teilbildperioden muß ein Teilbildsprung durchgeführt werden, was zu einem Wechsel von ungeradzahligen zu geradzahligen Teilbildperioden führt. Der durch diesen Wechsel eingeführte sichtbare Bildfehler kann durch den Gebrauch einer zusätzlichen Zeilenverzögerung oder eines zusätzlichen Teilbildspeichers ausgeglichen werden, abhängig von der erforderlichen Bildqualität (siehe US-A- 4.249.198, US-A-4.766.506 und US-A-4.797.743). Wenn ein Teilbildsprung sehr oft auftritt (einige Male in der Minute) wie dies bei 50 Hz / 60 Hz Synchronisation der Fall ist, wird das Einfügen einer zusätzlichen Zeilenverzögerung auf Teilbildbasis sichtbar störend, so daß ein zusätzlicher Teilbildspeicher angewandt werden muß.
- In diesem Abschnitt 5 wurde beschrieben, daß die Wiedergabespeicherstruktur nach Fig. 3 zum Synchronisieren einer Vielzahl verschiedener Videoquellen benutzt werden kann (zum Wiedergaben an einem einzigen Schirm) ohne daß die Wiedergabespeicherkapazität gesteigert werden braucht. Es ist möglich, Videosignale zu synchronisieren, die mit einem zeilenverriegelten oder konstanten Takt abgetastet sind, dessen Raten wesentlich von dem Wiedergabetakt abweichen können. Die erlaubte Abweichung wird durch die Bandbreite der Wiedergabespeicher-DRAMs, die Wiedergabetaktrate, die Anzahl Eingangssignale, und die Bandbreite und Kapazität der Puffer bestimmt.
- Auch Videosignale mit einer anderen Zeilenzahl je Teilbild als am Wiedergabeschirm wiedergegeben (beispielsweise 60 Hz-NTSC- und 50 HZ-PAL-Signale) werden mit der Architektur auf einfache Weise synchronisiert. Denn ein anderer Vertikal-Offset der eintreffenden Videosignale kann durch die Kontroller und die Architektur 4.5) berechnet werden auf Teilbildbasis unter Verwendung einer sehr einfachen logischen Schaltung oder dadurch daß die DRAM-Kontröller mit den eintreffenden Signalen verriegelt werden, wenn sie auf einen spezifischen DRAM zugreifen.
- Nach der vorliegenden Erfindung wird also Mehrfachquellenvideosynchronisation mit einer einfachen Wiedergabespeicheranordnung vorgeschlagen. Eine wesentliche Verringerung des Synchronisationsspeichers wird erhalten, wenn alle Video-Eingangssignale von einem einzigen zentralen "Wiedergabe"-Speicher synchronisiert werden, bevor sie an demselben Monitor geeminsam wiedergegeben werden. Der zentrale Wiedergabespeicher kann diese Funktion durchführen, zusammen mit variabler Skalierung und Positionierung von Videobildern innerhalb des Wiedergabespeichers. Durch einfaches Auslesen des Wiedergabespeichers wird ein Mehrfachfensterbildgemisch erhalten.
- Mit der neuen Annäherung hängen eine Anzahl Aspekte zusammen:
- 1. Es ist ein Speicher mit einer sehr großen Bandbreite erforderlich, wenn nicht nur skalierte Fenster am Wiedergabeschirm wiedergegeben werden sollen, sondern auch Ausschnitte aus Teilen von Eingangsbildern in Fenstern, oder ein Speicher 1 mit vielen Eingangsporten. Speicher mit vielen Eingangsporten gibt es aber nicht.
- 2. Wenn ein Standard- und preisgünstiger Speicher verwendet wird, d. h. mit nur einem I/O-Port müssen einige Mittel vorgesehen werden zum Vereinen der verschiedenen Schreibtakte der Eingangssignale und des Lesetaktes zur Wiedergabe. Mit anderen Worten es ist eine zusätzliche Synchronisation aller Schreib- und Lesesignale mit dem Standard-Zugriffstakt des Wiedergabespeichers erforderlich.
- 3. Um Zugriffskonflikte zu vermeiden muß der Lese- und Schreibzugriff planmäßig an den Speicher angepaßt sein, so daß Lese- und mehrere gleichzeitige Schreibzugriffe verschachtelt werden können.
- 4. Durch Herabskalierung von Eingangsbildern werden Lese- und Schreibadresszeiger sich oft kreuzen, da die Lese- und Schreibraten sehr verschieden sind, was zu Schnittzeilenbildfehlern führt. In dem Fall wird die Verwendung eines Teilbildsprunges durch einfachen Beenden des Schreibvorgangs eines Videoeingangssignals nicht ausreichen.
- In der zusammenhängenden Anmeldung (Aktenzeichen PHN 14.791), worin dieselbe Priorität beansprucht wird, ist ein Fensterkompilierungssystem beschrieben, das mehrfacher gleichzeitiger Zugriffverschiedener Videoeingangssignale erlaubt. Siehe Fig. 1 der genannten Anmeldung und Fig. 3 der vorliegenden Patentanmeldung) Fig. 6 zeigt eine andere Wiedergabespeicherarchitektur für Mehrfachquellenvideosynchronisation und Fensterkomposition. Dieses System enthält einen zentralen Wiedergabespeicher mit vielen Speicherbanken DRAM-1, DRAM-2, ...., DRAM-M, die gleichzeitig ausgelesen und eingeschrieben werden können unter Verwendung des Kommunikationsnetzwerkes 110 und der Eingangs/Ausgangspuffer 124-136. Die Puffer 124 - 132 sind Eingangspuffer, während der Puffer 136 ein Ausgangspuffer ist. Die Summe der I/O-Bandbreiten der einzelnen Speicherbanken (DRAMs) 102-106 kann über die Eingangs- und Ausgangskanäle frei verteilt werden, es kann also eine sehr hohe I/O- Bandbreite erzielt werden (Aspekt 1).
- Fig. 7 zeigt Zeitschlitze zum Zugreifen auf den Wiedergabespeicher während einer Videozeile, wobei L die Anzahl Pixelzugriffszeiten je Zeile bezeichnet und wobei M = 4 die Anzahl DRAMs ist. Auf der vertikalen Achse sind die zugegriffenen DRAMs angegeben. Die horizontale Achse gibt die Zeit T an, ausgehend von dem Anfang BOL einer Videozeile mit L Pixeltaktperioden, und endend mit dem End EOL der Videozeile. Das Intervall LB bezeichnet die Horizontal-Austastperiode. Das Intervall FP bezeichnet einen freien Teil der Horizontal-Austastperiode. Die Intervalle L/M haben L/M-Pixel. Die Intervalle -> Bout bezeichnen einen Datenübergang zu dem Ausgangspuffer 136. Die Intervalle Bx -> bezeichnen einen Datenübergang von dem angegebenen Eingangspuffer 124, 128 oder 132. Die gekreuzten Intervalle bezeichnen einen DRAM-Seitenschalter. Fig. 7 zeigt ein Beispiel etwaiger Zugriffsintervalle auf die jeweiligen DRAMs des Wiedergabespeichers für Lese- und Schreibsignale, so daß keine Zugriffskonflikte übrig bleiben (Aspekt 3). Diese Intervalle können verschieden gewählt werden, insbesondere wenn die Eingangspuffer kleine SRAM-Anordnungen mit zwei I/O-Ports sind, so daß die eintreffenden Videodaten in einer anderen Ordnung ausgelesen werden können als daß sie eingeschrieben wurden. Zur Implementierung der kleinen I/O-Puffer mit kleinen SRAMs mit zwei I/O-Porten und einer oder zwei Adressen für Eingangs- und Ausgangsdaten ist kostenaffektiv. Eine einzige Adresse für Eingangs oder Ausgang reicht für eine anddre Lese/Schreibordnung, während das andere Port ein serielles Port ist. Es sei bemerkt, daß auch ein einziger DRAM für den Wiedergabespeicher benutzt werden kann, wenn dieser schnell genug ist (beispiels-Weise Synchron- DRAM oder Rambus-DRAM, wie von Fred Jones u. a. beschrieben in: "A new Era of Fast Dynamic RAMs", IEEE spectrum, Seiten 43-49, Oktober 1992).
- Die "kleinen" Eingangspuffer (etwa L/M zu L Pixeln, wobei L die Anzahl Pixel je Zeile ist und M die Anzahl DRAM-Speichermodule in Fig. 6) sorgen für die Abtastratenumwandlung, wodurch verschiedene Lese/Schreibtakte gestallt sind (Aspekt 2). Die Schreib- und Lesepixelraten können verschieden sein und auch die Anzahl je Teilbildperiode geschriebener und gelesener Pixel kann anders sein.
- Wenn die Gesamt-I/O-Bandbreite des Speichers nicht ausreicht für die Eingangsvideosignale mit einer Pixelrate, die größer ist als die Wiedergabepixelrate, kann die Anzahl Taktzyklen je Zeile, in denen kein Zugriff auf den Wiedergabespeicher auftritt, den freien Teil der Austastzeit in Fig. 7, zum Durchführen zusätzlicher Schreibvorgänge zu dem Wiedergabespeicher (und zusätzlicher Lesevorgänge von den Puffern). Wenn keine ausreichende Anzahl freier Taktzyklen in einer Zeilenperiode übrigbleiben, kann ein großer Zeitschlitz (LIM Pixelzeiten, siehe Fig. 7) benutzt werden in jeder Zeilenperiode, wenn einer der Eingangskanäle entfernt wird, beispielsweise in Fig. 6).
- Es ist selbstverständlich möglich, das Lesen von Pixeln aus den Eingangspuffern zu beenden, wenn der Puffer leer wird durch eine niedrigere Schreibrate als Laserate. Eine andere Art zum Unterbringen hoher Schreibzugriffsraten in dem Wiedergabespeicher ist die maximale Zugriffsrate des Speichers als Standardzugriffstaktrate des Speichers zu wählen. Im Allgemeinen wird diese Zugriffsrate höher sein als die maximale Schreibrate der Videoeingangssignale. Auch die Wiedergaberate des zusammengesetzten Mehrfachfenstervideobildes wird niedriger sein als die Standardzugriffsrate des Speichers. Zum Ausgleichen dieser Lücke muß ein Ausgangspuffer vorgesehen sein (Kapazität zwischen einigen Pixeln und einer Videozeile). Es sei aber bemerkt, daß in den meisten praktischen Systemen der Systemtakt der Signalverarbeitungshardware entsprechend dem Wiedergabetakt gewählt wird.
- Vertikal- sowie Horizontal-Synchronisation und Positionierung von Video-Eingangsbildern irgendwo am Schirm (und in dem Wiedergabespeicher) wird dadruch erreicht, daß die Adressengeneratoren des Wiedergabespeichers mit jedem eintreffenden Videosignal synchronisiert werden, zu dem Zeitpunkt, wo ein Kommunikationskanal zwischen einem bestimmten Eingangspuffer und dem Wiedergabespeicher während eines vorbestimmten Zeitintervalls gelenkt wird. Dies ist möglich da nur ein Videosignal (über einen Puffer) eines der DRAM-Segmente in dem Wiedergabespeicher gleichzeitig Zugriffbekommt. Eine etwaige Art und Weise dies zu implementieren ist durch Verwaltung eines Zeilen/Pixelzählers für jedes Video-Eingangssignal, der von den Adressengeneratoren befragt werden können um zu bestimmen, wann und wo in dem Speicher Zugriff stattfinden soll.
- Die Eingangspuffer sind transparent für die Eingangsvideosignale, sie sorgen nur für Abtastratenumwandlung, Horizontal-Positionierung und Horizontal- Synchronisation.
- Puffer können kleine FIFOs oder Mehrfachport (statische) RAMs (kleiner als 1 Videozeile) sein.
- Es können verschiedene Verschachtelungsstrategien für den Wiedergabespeicher angewandt werden: pixelweise, Pixelsegmentweise oder zeilenweise, was dennoch zu kleinen Eingangspuffern führt, wie beschrieben von A. A. J. de Lange und G. D. La Hei:"Low-cost Display Memory Architectures for Full-motion Video and Graphics", "IS&T/SPIE Hihg-Speed Networking and Multimedia Computing Conference", San Jose, USA, 6.- 10. Februar 1094.
- Es wird nur ein einziger Wiedergabespeicher für alle Synchronisations- und Mehrfachfensterwiedergabeanordnungen gebraucht.
- Der Wiedergabespeicher kann ein einfacher DRAM mit nur einem I/O-Port, nur aber wenn er schnell genug ist, oder er kann aus einer Anzahl Banken von DRAMs (DRAM-Segmenten) bestehen mit je nur einem 1/O-Port, zur Steigerung der Zugriffsrate des Wiedergabespeichers.
- Auch mit mehreren Ports versehene DRAMs können verwendet werden. In dem Fall werden weniger DRAMs gebraucht zum Erzielen derselben I/O-Bandbreite.
- Das DRAM-I/O-Port kann auch ein serielles Port sein. Es muß aber reihenadressierbar sein, wie dies für Video-RAM (VRAM) der Fall ist.
- Wenn DRAMs des Wiedergabespeichers einen Seitenmode-DRAM haben, kann dieser völlig ausgenutzt werden.
- Ein einfacher FIFO kann nicht zum Synchronisieren von Mehrfachvideoeingangssignalen benutzt werden, da (1) jedes Eingangsvideosignal an einer anderen Adresse in dem FIFO geschrieben werden muß, je nach der Position am Schirm, und (2) auf Pixel- oder Zeilenbasis zur Beschränkung der Größe der EingangspufferAdressschaltung durchgeführt werden muß.
- Die Kapazität eines Puffers liegt in der Größenordnung von 1/M. einer Zeile (M ist die Anzahl DRAMs in dem Wiedergabespeicher) bis zu einer kompletten Videozeile für M-DRAM-Banken, siehe zusammenhängende Anmeldung (Aktenzeichen PHN 14.791).
- Nach Fig. 7 können alle Eingangsvideosignale Zugriff auf den Wiedergabespeicher bekommen während der kompletten Zeilenperiode, insofern Zugriffmöglich ist, unabhängig von den Differenzen zwischen Zeilen- und Pixelpositionen zwischen eintreffenden und ausgehenden Videosignalen.
- Horizontal- sowie Vertikal-Synchronisation und Positionierung kann durch Synchronisierung der Adressengeneratoren der Wiedergabespeicher-DRAM-Banken mit den Pixel/Zeilenpositionen eintreffender Videosignale auf Basis der Zugriffsintervalle, siehe beispielsweise Fig. 7, was typischerweise für Segmente benachbarter Pixel auftritt, wo die Segmentgröße zwischen L/M und 2L Pixeln (d. h. 3 Videozeilen) variiert.
- Steuergeneratoren für Eingangspuffer werden mit den Syncsignalen der eintreffenden Videosignale verriegelt. Sie werden nicht nur mit den Pixel- und Zeilenpositionen verriegelt, sondern auch mit den Pixeltakten der eintreffenden Videosignale: einen Schreibkontroller je Eingangspuffer.
- Es tritt ein Problem auf, wenn der Synchronsitationsspeicher ebenfalls zum Skalieren des Eingangsbildes benutzt wird. In dem Fall reicht ein einziger Teilbildspeicher nicht zur Vermeidung von Schnittzeilenbildfehlern. Diese Situation tritt auch auf, wenn ein anderer (FIFO) Teilbildspeicher für jedes Eingangsvideosignal verwendet wird. Da Eingangssignale unterabgetastet werden, können alle Zeilen eines Eingangsbildes in nur einem geringen Teil des Teilbildspeichers konzentriert werden. Da es eine komplette Teilbildperiode beansprucht, nur einige Zeilen zu schreiben im Falle von Hoch-Tief-Skalierungsfaktoren, werden Lese/Schreibadressen einander in diesem Teil des Speichers kreuzen.
- Dieses Problem verschwindet, wenn ein zusätzlicher Teilbildspeicher hinzugefügt wird; es wird ein Teilbilfsprung durchgeführt (das Schreiben wird zu dem nächsten Teilbildspeicher verschoben), wenn eine Kreuzung aufzutreten droht. Dieser Sprung soll gemacht werden, bevor die Teilbildperiode in dem eintreffenden Videosignal startet, in dem eine Kreuzung auftreten würde. Es sei bemerkt, daß für Mehrfachvideoeingangssignale ein Sprung nicht durch Manipulierung des Lese-Schreibzeigers implementiert werden kann, da eine solche Manipulation dann einen Schnittzeilenbildfehler für ein anderes Videosignal einführen könnte.
- Schnittzeilenbildfehler lassen sich dadurch vermeiden, daß ein Bildspeicher (2 Teilbilder) verwendet wird: falls eine Kreuzung von Lese/Schreibadresszeiger in der nächsten Teilbildperiode stattfinden wird, wird das Schreiben des neuen Teilbildes neu zu demselben Teilbildteil des Bildspeichers gerichtet, wodurch ein Teilbildsprung entsteht. Daraufhin wird der ungeradzahlige ODD-Teilbildteil des Bildspeichers mit dem geradzahligen EVEN-Teilbildteil des Bildspeichers geschrieben mit dem ungeradzahligen ODD-Teilbild des eintreffenden Video-Signals. Zur Vermeidung einer Verschachtelungsunordnung ist in diesem Fall Teilbildinversion erforderlich, was mit einer teilbildabhängigen Zeilenverzögerung implementiert wird. Es sei bemerkt, daß eine solche Zeilenverzögerung auf einfache Weise mit dem Wiedergabespeicher implementiert wird durch Vergrößererung oder Verringerung der Adressgeneratoren der Wiedergabespeicher-DRAMs um eine Zeile.
- Die Nachteile dieser Annäherung ist die frequente Auf/Abverschiebung der wiedergegebenen Bilder um eine Zeile für Unterschiede in Pixel/Zeilen/Teilbildfrequenzen von nur einigen teilen pro Tausend.
- Eine andere Möglichkeit ist einen reduzierten Umlaufbildspeicher zu verwenden, d. h. die Größe des Wiedergabespeichers ist kleiner als zwei komplette Videoteilbilder und es gibt keine feste Stelle für ungeradzahligen und geradzahligen Teilbildteile, siehe Fig. 8. Fig. 8 zeigt einen reduzierten Bildspeicher rFM mit überlappenden ungeradzahligen/geradzahligen Teilbildteilen. Die Leseadresse wird durch RA bezeichnet. Die erste Zeile des geradzahligen Teilbildes ist angegeben durch 1-E, wähend die letzte geradzahlige Teilbildzeile durch 1-E bezeichnet ist. Die erste Zeile des ungeradzahligen Teilbildes ist durch I-O bezeichnet, während die letzte ungeradzahlige Zeile durch I-O bezeichnet ist. In diesem Fall ist die Position der ungeradzahligen und der geradzahligen Teilbildteile in dem Wiedergabespeicher nicht länger fest und ungeradzahlige und geradzahlige Teilbildteile überlappen einander. Wenn eine Kreuzung stattfinden wird, wird der Schreibzeiger um ein Teilbild aufgeschoben in dem Wiedergabespeicher, wie durch den dicken Pfeil M-U von der Schreibadresse Wab vor der Aufschiebung angegeben ist bis zur Schreibadresse WAa nach der Aufschiebung. Dieser Vorgang wird nicht den Abstand zwischen Lese/ Schreibadressen um ein volles Teilbild vergrößern, sondern weniger als das durch den verringerten Bildspeicher rFM, siehe Fig. 8. Dadurch ist das Schnittzeilenproblem gelöst aber es tritt wieder auf nachdem eine ausreichende Anzahl Teilbildperiode vergangen sind. Dann muß wieder ein Teilbildsprung durchgeführt werden. Da der Abstand zwischen Lese- und Schreibadressenzeigern weniger zugenommen hat durch die Aufschiebung um ein Teilbild in dem reduzierten Bilspeicher als in dem Vollbildspeicher, wird die Anzahl Teilbildsprünge je Sekunde höher sein in dem Fall eines reduzierten Bild-speichers als in dem fall eines Vollbildspeichers. Die Größe des reduzierten Bild-speichers soll ausreichend groß gewählt werden zum Reduzieren der Anzahl Teilbildsprünge je Sekunde auf einen akzeptierbaren Pegel. Dies ist auch weitgehend abhängig von der Differenz in den Pixel/Zeilen/Teilbildraten zwischen den jeweiligen Video-Eingangssignalen und dem Differenzsignal. Ein logisches Ergebnis dieser Folgerung ist, daß der Wiedergabespeicher aus vielen Bildspeichern bestehen sollte um die Anzahl Teilbildsprünge je Sekunde zu herunterzubringen. Andererseits kann der Wiedergabespeicher wesentlich verringert werden, wenn die Differenz in den Pixel-, Zeilen- und Teilbildraten zwischen eintreffenden und ausgehenden Signalen klein genug ist um zu gewährleisten, daß die Anzahl Teilbildsprünge je Sekunde niedrig ist.
- Eine gute Wahl ist aber, die Anzahl sichtbarer Zeilen in einem Bild herunterzubringen zu der Anzahl Reihen in Standard-DRAMs mit einer_maximalen Anzahl Reihen aber kleiner als die Anzahl sichtbarer Zeilen in einem Bild. Beispielsweise 576 sichtbare Zeilen in einem Bild für CCIR 601, folglich ein DRAM mit 2 {ganze Zahl (²log (576))} = 2 {ganze Zahl (9,17)} = 2 {9} = 512 Zeilen ist eine gute Wahl.
- Fig. 8 zeigt ebenfalls ein Beispiel was passiert, wenn die Schreibsadresse um ein Teilbild in dem reduzierten Bildspeicher aufgeschoben wird.
- Wenn die oft stattfindende Auf/Abwärtsverschiebung durch die Teilbildinversion störend wird, kann ein weiterer Teilbildspeicher hinzugefügt werden zur Ermöglichung von Bildsprüngen statt Teilbildsprünge. Auf diese Weise ist keine Bildinversion erforderlich. In diesem Speicher werden auch keine festen Sektoren für ungeradzahligen und geradzahligen Teilbilder reserviert, aber geradzahlige und ungeradzahlige Teilbilders laufen in dem Speicher herum, der als Umlaufspeicher konstruiert ist, siehe Fig. 8, mit der Phase des Ausleseadressenzeigers.
- In diesem Fall gilt auch, daß entweder zusätzliche Teilbilder zu dem Wiedergabespeicher hinzugefügt werden können oder es kann ein reduzierter 3- Teilbilder-Wiedergabespeicher verwendet werden (Gesamtspeicherkapazität ist kleiner als die von 3 Vollvideoteilbildern), abhängig von der erlaubten Anzahl Teilbildsprünge je Sekunde. Es sei aber bemerkt, daß ein Bildsprung nicht zu einer Aufwärts/Abwärtsverschiebung führt, sondern nur zu einer ruckartigen Bewegung.
- Die Istgröße des reduzierten 3-Teilbilder-Speicher kann wieder derart gewählt werden, daß er der Anzahl Reihen in den verfügbaren Speicheranordnungen entspricht (immer 2 N, mit N = 1, 2, 3, ...).
- 1-Teilbild-Wiedergabespeicher introduziert Schnittzeilen für "herunterskalierte Bilder"
- 2-Teilbilder-Wiedergabespeicher kann verwendet werden zur Vermeidung von Schnittzeilen, aber es gibt keine Aufwärts/Abwärtsverschiebung wiedergegebener Eingangsbilder um eine Zeile, und zwar wegen der Teilbildinversion
- 3-Teilbilder-Wiedergabespeicher wird Schnittzeilen sowie Aufwärts/Abwärtsverschiebung vermeiden
- Reduktion des 2-Teilbilder- und 3-Teilbilder-Wiedergabespeichers ist möglich um die Kapazität der existierenden Speicheranordnungen anzupassen. Die Anzahl Teilbildsprünge je Sekunde (für reduzierte 2-Teilbilder-Speicher) und Bildspünge (für reduzierte 3-Teilbilder-Speicher) wird gesteigert, wenn die Speicherkapazität verringert wird.
- Zunahme der Wiedergabespeicherkapazität wird die Anzahl Teilbild- und Bildsprünge je Sekunde reduzieren
- Adresserzeugung für Umlaufspeicher erfordert nur einfache Modulozähler, Addierer/Subtrahierer und/oder Vergleichsschaltungen
- Ein Teilbild- oder Bildsprung erfolgt dadurch, daß das SCHREIBEN eines neuen Teilbildes eines eintreffenden Videosignals gestartet wird (über einen Eingangspuf fer) in einem anderen Teil des Wiedergabespeichers, wobei die Anzahl Zeilen zwischen dem Lese- und dem Schreibadressenzeiger um ein Teilbild oder Bild zugenommen hat. Es sei bemerkt, daß für einen reduzierten Umlaufspeicher Zunahme des Abstandes zwischen dem Lasen und dem Schreiben den Abstand zwischen Schreiben und Lesen abnehmen läßt, siehe Fig. 8.
- Ein Teilbild-/Bildsprung erfolgt, wenn während der vorhergehenden TeilbildBildperiode eine "Kreuzung" von Lese-lund Schreibadresszeigern vorhergesagt wird.
- Vorhersage einer Kreuzung wird auf einfache Weise implementiert durch Beobachtung der Anzahl Zeilen/Pixel zwischen den Lese/Schreibadresszeigern und der Differenz der Anzahl Zeilen/Pixel zwischen den Lese/Schreibzeigern zwischen aufeinanderfolgenden Video-Teilbild/Bildperioden.
- Wie in der zusammenhängenden Anmeldung (Aktenzeichen PHN 14.791), welche dieselbe Priorität beansprucht, erwähnt, wird Lauflängencodierung vorzugsweise zum Codieren der Überlagerung für Mehrfachüberlappungsfenster benutzt, die je einem speziellen Signal eine Anzahl Bildsignale zugeordnet sind. Koordinaten einer Begrenzung eines speziellen Fensters und eine Anzahl Pixel je Videozeile, die innerhalb der Grenzen des speiziellen Fensters fallen, werden gespeichert. Diese Art von Codierung eignet sich insbesondere für Videodaten in Rasterabatstformaten, da es eine sequentielle Suche nach Überlagerungsinformation aus einem Lauf-längenpuffer ermöglicht. Lauflängencodierung verringert typischerweise die Speicheranforderungen zur Überlagerungscodespeicherung, aber sie steigert typischerweise die Steuerkomplexität.
- Im Falle einer eindimensionalen Lauflängencodierung wird ein anderer Satz von Lauflängen erzeugt für jede Zeile des zesammengesetzten Bildes. Für zweidimensionale Lauflängencodierung werden Lauflängen für die horizontale sowie die vertikale Richtung in dem zusammengesetzten Bild gemacht, was zu einer Liste horizontaler Lauflängen führt, die innerhalb spezifischer Vertikal-Schirmintervalle gelten. Diese Annäherung eignet sich insbesondere für rechteckige Fenster, wie dies nachstehend noch erläutert wird.
- Ein diesem Typ von Codierung anhaftender Nachteil führt zu einer relativ großen Differenz zwischen Spitzenleistung und mittleren Leistung des Kontrollers. Einerseitz werden schnelle Steuererzeugungen gebraucht, wenn Ereignisse schnell aufeinanderfolgen, andererseits kann der Kontroller beim Fehlen von Ereignissen frei laufen. Um diesen nachteiligen Aspekt etwas zu lindern werden die Verarbeitungsanforde rungen für zweidimensionale Lauflängencodierung reduziert durch Verwendung eines kleinen Steuerinstruktionspufferspeichers der Leistungsspitzen in dem Steuerfluß speichert. Der Kontroller in der Erfindung umfaßt: eine lauflängencodierte Ereignistabelle, einen Steuersignalgenerator zum Liefern von Steuersignalen und einen Pufferspeicher zwischen einem Ausgang der Tabelle und einem Eingang des Generators zum Speichern funktionell aufeinanderfolgender Lauflängencodes aus der Tabelle. Ein minimal bemessener Speicher speichert eine geringe Anzahl Befehle, so daß der Steuerzustandsgenerator mit einer mittleren Geschwindigkeit laufen kann. Gleichzeitig ermöglicht es der Puffer, daß der Tiefpegel-Hochgeschwindigkeitssteuersignalgenerator Leistungsspitzen ausgleicht, falls erforderlich. Eine explizite Differenz wird zwischen einer komplexen Niedriggeschwindigkeitsüberlagerungszustandsbewertung und einer Hochgeschwindigkeitssteuersignalerzeugung gemacht. Dies wird nachstehend erläutert.
- Fig. 9 zeigt ein Beispiel eines Kontrolers 1000 auf Basis der Lauflängencodierung. Der Kontroller 1000 enthält einen LauflängenlEreignispuffer 1002, der eine Tabelle zweidimensionaler Lauflängencodierter Ereignisse, beispielsweise Begrenzungen der sichtbaren Teile der Fenster (Ereignisse) und die Anzahl Pixel und oder Zeilen (Lauflänge) zwischen aufeinanderfolgenden Ereignissen enthält. In dem Bildabtastformat von Vollbewegungsvideosignalen werden nacheinander nach jeder folgenden Adresstelle in dem Wiedergabespeicher des Monitors 134 Pixel geschrieben, und zwar von links nach rechte am Schirm, und Zeilen von Pixeln folgen aufeinander von oben nach unten im Schirm. Codierung geschieht beispielsweise wie folgt.
- Die Anzahl Zeilen Yb, die mit einer horizontalen Grenze eines sichtbaren Teils eines speziellen rechtwinkligen Fensters zusammenfallen und zunächst in der Rasterabtastung gezählt werden, werden aufgelistet, zusammen mit der Anzahl #WO aufeinanderfolgender Pixel, ausgehend von dem meist linken Pixel, wird spezifiziert, daß sie nicht zu dem betreffenden Fenster gehören. Dies fixiert die horizontale Position der linken Begrenzung des sichtbaren Teils des betreffenden Fensters. Jede Zeile Yj innerhalb des sichtbaren Teils des betreffenden Fensters kann nun dadurch codiert werden, daß der sichtbare Teil mit Zeilen Yj in aufeinanderfolgende und wechselnde Intervalle von Pixeln aufgeteilt werden, die geschrieben und nicht geschrieben werden sol len, wodurch auf diese Weise Überlappung berücksichtigt wird. So kann beispielsweise die Aufteilung zu einer Anzahl #W 1 der ersten aufeinanderfolgenden zu schreibenden Pixel führen, zu einer Anzahl #NW2 der nächsten aufeinanderfolgenden nicht zuschreibenden Pixel, zu einer Anzahl #W3 der nachfolgenden zu schreibender Pixel, zu einer Anzahl %NW4 der aufeinanderfolgenden nicht zu schreibender Pixel führen usw. Die letzte Zeile Yt, die mit der horizontalen Begrenzung des betreffenden fensters zusammenfällt oder mit der Begrenzung eines kohärenten Teils desselben und zuletzt in der Rasterabtastung abgetastet, wird auch in der Tabelle des Puffers 1002 gespeichert. Der Puffer 1002 liefert diese Ereigniscodes zu einem Tiefpegel-Hochgeschwindigkeitssteuersignalgenerator 1004, der daraufhin geeignete Steuersignale erzeugt, beispielsweise Befehle (Lese, Schreibe, Sperre) zur Steuerung der Eingangspuf fer 124, 128 oder 132 oder Adressen und Befehle zur Steuerung von Speichermodulen 102-106 oder Buszugriffsbefehle zur Steuerung des Busses 108 über einen Ausgang 1006. Ein Lauflängenzähler 1008 folgt der noch zu laufenden Anzahl Pixel bis das nächste Ereignis auftritt. Wenn der Zähler 1008 bei Lauflänge Null anlangt muß der Generator 1004 und der Zähler 1008 geladen werden mit einem neuen Code und einer neuen Lauflänge von dem Puffer 1002.
- Durch das Rasterabtastformat von Vollbewegtvideosignalen, werden Pixel nacheinander an jeder nächsten Adresstelle in dem Wiedergabespeicher des Monitors 134 eingeschrieben, von links nach rechts am Schirm und Zeilen folgen einander auf von oben nach unten. Eine Steuerzustandsbewertungsschaltung 1010 folgt dem aktuellen Pixel und der aktuellen Zeile in dem Wiedergabespeicher über einen Eingang 1012. Der Eingang 1012 erhält eine Pixeladresse X und eine Zeilenadresse Y der aktuellen Stelle in dem Wiedergabespeicher. Solange der aktuelle Y-Wert noch nicht die erste horizontale Grenze Yb des sichtbaren Teils des betreffenden fensters erreicht hat, wird keine Aktion unternommen und es werden keine Schreib- oder Lesebefehle vom Generator 1004 erzeugt. Wenn der aktuelle Y-Wert den Wert Yb erreicht, werden die betreffenden Schreib- und Nicht-Schreibzahleb #W und #NW wie oben genannt, aus der Tebelle in dem Puffer 1002 zur Lieferung an den Generator 1004 und den Zähler 1008 geholt. Dies wird wiederholt für alle Y-Werte, bis die letzte horizontale Grenze Yt des sichtbaren rechtwinkligen Fensters erreicht worden ist. Aus diesem Grund muß der aktuelle Y-Wert am Eingang 1012 mit dem in der Tabelle des Puffers 1002 gespeicherten Yt-Wert verglcihen werden. Wenn der aktuelle Y-Wert den Wert Yt erreicht hat, wird die Behandlung des sichtbaren Teils des betreffenden Fensters, gebildet durch die aufeinanderfolgenden Zeilen, beendet. Eine Anzahl Werte Yb und Yt kann für dasselbe bestimmte Fenster gespeichert werden, was angibt, daß das betreffende Fenster sich vertikal hinter einem überlappenden anderen Fenster erstreckt. Die Bewertungsschaltung 1010 aktiviert den entsprechenden neuen Überlagerungs/Steuerzustand zur Übertragung zu dem Generator 1004.
- Der Steuerzustand kann sehr schnell ändern, wenn mehrere Fenster einander überlappen, deren linke oder echte Grenzen dicht beisammen liegen. Aus diesem Grund wird zwischen dem Puffer 1002 und dem Generator 1004 ein kleiner Pufferspeicher 1014 vorgesehen. Die Größe des Pufferspeichers kann dadurch minimiert werden, daß eine minimale Breite für ein Fenster gewählt wird.
- Die minimale Fenstergröße kann derart gewählt werden, daß es einen großen Abstand (in der Anzahl Pixel) zwischen den extremen Rändern eines Fensterspaltes gibt, beispielsweise derjenige Teil eines Fensters, der durch die Überlappung durch ein anderes fenster nicht sichtbar ist. Wenn nun eine örtliche Niedergeschwindigkeitssteuerzustandsbewertungsschaltung 1010 für jeden I/O-Puffer 124, 128, 132 und 136 oder für jedes Speichermodul 102-106 verwendet wird, sollte die Übertragung von Befehlen während des unsichtbaren Teils des Fensters auftreten, d. h. indem es von einem anderen Fenster überlappt ist. Dadurch wird auf diese Weise die Dauer des Übertragungszeitintervalls maximiert. Das Intervall entspricht wenigstens der Anzahl Taktzyklen, erforderlich zum Schreiben eines fensters mit der minimalen Breite. Es werden zwei Befehle zu dem Pufferspeicher übertragen: einer gibt die Lauflänge des sichtbaren Teils des fensters (kürzeste Lauflänge), die startet, wenn die aktuelle Lauflänge beendet ist, und einer gibt die Lauflänge des nachfolgenden unsichtbaren Teils desselben Fensters (größte Lauflänge). Die Verwendung des Pufferspeichers 1014 macht auf diese Weise den Kontroller 1000 geeignet zum Erfüllen der Spitzenleistungsanforderungen.
- Derselbe Kontroler kann auch verwendet werden zum Steuern der Puf fer 124-136, wenn der Generator 1004 geändert wird zum Liefern eines Pufferschreibfreigabesignals 1006.
- Fig. 10 zeigt eine Schaltungsanordnung zum Erhalten von X- und Y- Adressinformation aus den in einem Puffer (Bi) 1020 gespeicherten Daten. Eintreffende Videodaten werden dem Puffer 1020 zugeführt, dessen Schreibtakteingang W ein Pixeltaktsignal aus den eintreffenden Videodaten erhält. Das Auslesen des Puffers 1020 wird durch den Systemtakt SCLK, zugeführt zu einem Lesetakteingang R des Puffers 1020 getaktet. Ein Horizontal-Synchrondetektor 1022 ist mit einem Ausgang des Puf fers 1020 verbunden zum Detektieren von Horizontal-Synchronisationsinformation in dem Pufferausgangssignal. Auf durchaus bekannte Weise enthalten die Videodaten in dem Puffer 1020 reservierte Horizontal- und Vertikal-Synchronworte. Detektierte Horizontal-Synchroninformation setzt einen Pixelzähler (PCNT) 1024 zurück, der durch den Systemtakt SCLK getaktet wird und den Pixelzählwert X liefert. Ein Vertikal- Synchrondetektor 1026 ist mit dem Ausgang des Puffers 1020 verbunden zum Detektieren Vertikal-Synchronisationsinformation in dem Pufferausgangssignal. Detektierte Vertikal-Synchroninformation setzt einen Zeilenzähler (LCNT) 1028 zurück, der durch die detektierte Horizontal-synchroninformation getaktet wird und den Zeilenzählwert Y liefert.
- Fig. 11 zeigt eine etwaige Ausführungsform einer Puffer-Auslesesteueranordnung. Dieses eintreffende Videosignal wird einer Synchronisationsinformationstrennschaltung 1018 mit einem Datenausgang zugeführt, der mit dem Eingang des Puffers 1020 verbunden ist. Ein Pixelzählerausgangssignal der Synchronisationsinformationstrennschaltung 1018 wird dem Schreibtakteingang W des Puffers 1020 sowie einem Zunahmeeingang eines Aufwärts/Abwärtszählers (CNT) 1030 zugeführt. Der Systemtakt wird einer Lesesteuerschaltung (R CTRL) zugeführt, mit einem Ausgang, der mit dem Lesetakteingang R des Puffers 1020 und mit einem Abnahmeeingang des Zählers 1030 verbunden ist. Der Zähler 1030 zählt auf diese Weise die Anzahl Pixel dem Puffer 1020. Zur Vermeidung von Pufferüberschreitung ist ein Ausgang (> 0) des Zählers 1030, der angibt, daß der Puffer nicht leer ist, mit einem Freigabeeingang der Lesesteuerschaltung 1032 verbunden, so daß der Systemtakt SCLK nur dem Lesetakteingang R des Puffers 1020 zugeführt wird, wenn der Puffer 1020 Pixel enthält, indem das Auslesen des Puffers 1020 gesperrt ist, wenn der Puffer leer ist. Überschreitung des Puffers 1020 kann vermieden werden, wenn die Lesesegmente aus Fig. 7 etwas großer gemacht sind als L/M. Aus den Fig. 10 und 11 dürfte es einleuchten, daß die dargestellten Schaltungsanordnungen zu einer einzigen Schaltungsanordnung schön kombiniert werden können.
- Es sei bemerkt, daß die obenstehenden Ausführungsformen die Erfindung erläuternd statt beschränkend sind, und daß dem Fachmann imstande sein wird, im Rahmen der beiliegenden Patentansprüche viele alternative Ausführungsformen zu entwerfen.
Claims (7)
1. System zum Synchronisieren von Eingangsvideosignalen aus einer
Anzahl Videoquellen, dadurch gekennzeichnet, daß dieses System die nachfolgenden
Elemente aufweist:
Mittel zum Puffern (B1 ... BN) jeder der genannten Eingangsvideosignale
mit beliebigen unabhängigen Lese- und Schreibvorgängen, wobei jeder Schreibvorgang
mit dem entsprechenden Videoeingangssignal verriegelt ist, wobei jeder Lesevorgang
mit einem Systemtakt verriegelt ist, wobei die genannten Puffermittel (B1 ... BN) eine
Anzahl Puffereinheiten aufweisen, die je einem der genannten Videoeingangssignale
entspricht und im Wesentlichen kleiner ist als erforderlich zum Speichern eines
Videosignalteilbildes; und
Mittel zum Speichern (DRAM-1... DRAM-M) eines Signalgemisches,
gebildet aus den gepufferten Eingangsvideosignalen; und
Mittel zum Übertragen (110) von Daten aus den genannten
Puffereinheiten (B1 ... BN) zu den genannten Speichermitteln (DRAM-1 ... DRAM-M), wobei Pixel-
(X) und Zeilenadressen (Y) der genannten Puffermittel (B1 ... BN) und der genannten
Speichermittel (DRAM-1 ... DRAM-M) gekoppelt sind.
2. Synchrinisierungssystem nach Anspruch 1, wobei die genannten Pixel-
(X) und Zeilenadressen (Y) der genannten Puffermittel und der genannten
Speichermittel gekoppelt sind zum Empfangen gemeinsamer Pixel- (X) und Zeilenzählersignale
(Y).
3. Synchronisierungssystem nach Anspruch 1, wobei die genannten
Speichermittel eine Anzahl (M) Speichereinheiten aufweisen mit zueinander
unabhängigen Schreibkontrollern, die mit den genannten Puffermittelb einzeln verbindbar (511)
sind.
4. Synchronisierungssystem nach Anspruch 1, weiterhin mit einer
Pufferlesesteueranordnung, die für jede Puffereinheit (B1 ... BN) einen Zähler aufweist zum
Signalisieren, ob die Puffereinheit leer ist zum Sperren des Auslesevorgangs des Puffers.
5. Synchronisierungssystem nach Anspruch 4, wobei die genannten Mittel
(DRAM-1 ... DRAM-M) eine Anzahl (M) Speichereinheiten aufweisen und die genannte
Pufferlesesteueranordnung Datensegmente liefert, die etwas größer sind als die Anzahl
(L) Pixel je Videozeile geteilt durch die Anzahl (M) Speichereinheiten in den genannten
Speichermitteln (DRAM-1 ... DRAM-M).
6. Synchronisierungssystem nach Anspruch 1, wobei die genannten
Speichermittel einen Umlaufspeicher aufweisen mit einer Kapazität, die ausreicht für ein
Videoteilbild, aber 2b klein ist um zwei Videoteilbilder zu enthalten, und wobei eine
Schreibadresse der genannten Speichermittel während einer Vertikal-Austastperiode
um ein Teilbild aufwärts geschoben wird, wenn eine Leseadresse der genannten
Speichermittel dabei ist, die genannte Schreibadresse zu passieren.
7. Synchronisierungssystem nach Anspruch 1, wobei die genannten
Speichermittel einen Umlaufspeicher aufweisen mit einer Kapazität, die ausreicht für
zwei Videoteilbilder, aber zu klein ist um drei Videoteilbilder zu enthalten und wobei
eine Schreibsadresse der genannten Speichermittel während einer
Vertikal-Austastperiode um ein Bild aufwärts geschoben wird, wenn eine Leseadresse der genannten
Speichermittel dabei ist, die genannte Schreibadresse zu passieren.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP93200895 | 1993-03-29 | ||
PCT/NL1994/000068 WO1994023416A1 (en) | 1993-03-29 | 1994-03-29 | Multi-source video synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69411477D1 DE69411477D1 (de) | 1998-08-13 |
DE69411477T2 true DE69411477T2 (de) | 1999-02-11 |
Family
ID=8213725
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69422324T Expired - Fee Related DE69422324T2 (de) | 1993-03-29 | 1994-03-23 | Speicherarchitektur mit Fenstern zum Bildkompilieren |
DE69411477T Expired - Fee Related DE69411477T2 (de) | 1993-03-29 | 1994-03-29 | Videosynchronisiering von mehrfachquellen. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69422324T Expired - Fee Related DE69422324T2 (de) | 1993-03-29 | 1994-03-23 | Speicherarchitektur mit Fenstern zum Bildkompilieren |
Country Status (5)
Country | Link |
---|---|
US (2) | US5517253A (de) |
EP (1) | EP0642690B1 (de) |
JP (2) | JPH07507883A (de) |
DE (2) | DE69422324T2 (de) |
WO (1) | WO1994023416A1 (de) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5519449A (en) * | 1991-09-17 | 1996-05-21 | Hitachi, Ltd. | Image composing and displaying method and apparatus for displaying a composite image of video signals and computer graphics |
US8821276B2 (en) | 1992-05-22 | 2014-09-02 | Bassilic Technologies Llc | Image integration, mapping and linking system and methodology |
US5553864A (en) | 1992-05-22 | 1996-09-10 | Sitrick; David H. | User image integration into audiovisual presentation system and methodology |
US6469741B2 (en) | 1993-07-26 | 2002-10-22 | Pixel Instruments Corp. | Apparatus and method for processing television signals |
WO1995026605A2 (en) * | 1994-03-29 | 1995-10-05 | Philips Electronics N.V. | Image display system and multiwindow image display method |
US5883676A (en) * | 1994-11-28 | 1999-03-16 | Sanyo Electric Company, Ltd. | Image signal outputting apparatus |
US5710595A (en) * | 1994-12-29 | 1998-01-20 | Lucent Technologies Inc. | Method and apparatus for controlling quantization and buffering for digital signal compression |
EP0892972A1 (de) * | 1996-04-12 | 1999-01-27 | Intergraph Corporation | Hochgeschwindigkeitsvideorasterpuffer mit einzeltor-speicherchips wo bildelementintensitaeten fuer anzeigebereiche an aufeinanderfolgenden adressen von speicherbloecken gespeichert sind |
US7490169B1 (en) | 1997-03-31 | 2009-02-10 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
US7412533B1 (en) | 1997-03-31 | 2008-08-12 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
WO1998044733A1 (en) * | 1997-03-31 | 1998-10-08 | Broadband Associates | Method and system for providing a presentation on a network |
US7143177B1 (en) | 1997-03-31 | 2006-11-28 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
US6278645B1 (en) | 1997-04-11 | 2001-08-21 | 3Dlabs Inc., Ltd. | High speed video frame buffer |
US6020900A (en) * | 1997-04-14 | 2000-02-01 | International Business Machines Corporation | Video capture method |
US6177922B1 (en) | 1997-04-15 | 2001-01-23 | Genesis Microship, Inc. | Multi-scan video timing generator for format conversion |
US6069606A (en) * | 1997-05-15 | 2000-05-30 | Sony Corporation | Display of multiple images based on a temporal relationship among them with various operations available to a user as a function of the image size |
US6286062B1 (en) | 1997-07-01 | 2001-09-04 | Micron Technology, Inc. | Pipelined packet-oriented memory system having a unidirectional command and address bus and a bidirectional data bus |
US6032219A (en) * | 1997-08-01 | 2000-02-29 | Garmin Corporation | System and method for buffering data |
KR100299119B1 (ko) * | 1997-09-30 | 2001-09-03 | 윤종용 | 플래쉬롬제어장치를구비한개인용컴퓨터시스템및그제어방법 |
KR100287728B1 (ko) * | 1998-01-17 | 2001-04-16 | 구자홍 | 영상프레임동기화장치및그방법 |
US6697632B1 (en) | 1998-05-07 | 2004-02-24 | Sharp Laboratories Of America, Inc. | Multi-media coordinated delivery system and method |
DE19843709A1 (de) * | 1998-09-23 | 1999-12-30 | Siemens Ag | Verfahren zur Bildsignalverarbeitung |
US6792615B1 (en) * | 1999-05-19 | 2004-09-14 | New Horizons Telecasting, Inc. | Encapsulated, streaming media automation and distribution system |
US6447450B1 (en) * | 1999-11-02 | 2002-09-10 | Ge Medical Systems Global Technology Company, Llc | ECG gated ultrasonic image compounding |
DE19962730C2 (de) * | 1999-12-23 | 2002-03-21 | Harman Becker Automotive Sys | Videosignalverarbeitungssystem bzw. Videosignalverarbeitungsverfahren |
US7007025B1 (en) | 2001-06-08 | 2006-02-28 | Xsides Corporation | Method and system for maintaining secure data input and output |
JP2005504365A (ja) * | 2001-06-08 | 2005-02-10 | エクサイズ コーポレイション | 安全なデータの入出力を維持する方法及びシステム |
JP4081004B2 (ja) * | 2001-08-06 | 2008-04-23 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | バナーに番組情報を表示する方法及び装置 |
JP2003060974A (ja) * | 2001-08-08 | 2003-02-28 | Hitachi Kokusai Electric Inc | テレビジョンカメラ装置 |
JP3970716B2 (ja) * | 2002-08-05 | 2007-09-05 | 松下電器産業株式会社 | 半導体記憶装置およびその検査方法 |
US20040075741A1 (en) * | 2002-10-17 | 2004-04-22 | Berkey Thomas F. | Multiple camera image multiplexer |
US20040174998A1 (en) * | 2003-03-05 | 2004-09-09 | Xsides Corporation | System and method for data encryption |
US20050021947A1 (en) * | 2003-06-05 | 2005-01-27 | International Business Machines Corporation | Method, system and program product for limiting insertion of content between computer programs |
US20050010701A1 (en) * | 2003-06-30 | 2005-01-13 | Intel Corporation | Frequency translation techniques |
US7983160B2 (en) * | 2004-09-08 | 2011-07-19 | Sony Corporation | Method and apparatus for transmitting a coded video signal |
KR101019482B1 (ko) * | 2004-09-17 | 2011-03-07 | 엘지전자 주식회사 | 디지털 tv의 채널 전환 장치 및 방법 |
US7908080B2 (en) | 2004-12-31 | 2011-03-15 | Google Inc. | Transportation routing |
US8077974B2 (en) | 2006-07-28 | 2011-12-13 | Hewlett-Packard Development Company, L.P. | Compact stylus-based input technique for indic scripts |
US8102470B2 (en) * | 2008-02-22 | 2012-01-24 | Cisco Technology, Inc. | Video synchronization system |
US9124847B2 (en) * | 2008-04-10 | 2015-09-01 | Imagine Communications Corp. | Video multiviewer system for generating video data based upon multiple video inputs with added graphic content and related methods |
US8363067B1 (en) * | 2009-02-05 | 2013-01-29 | Matrox Graphics, Inc. | Processing multiple regions of an image in a graphics display system |
US20110119454A1 (en) * | 2009-11-17 | 2011-05-19 | Hsiang-Tsung Kung | Display system for simultaneous displaying of windows generated by multiple window systems belonging to the same computer platform |
US8390743B2 (en) * | 2011-03-31 | 2013-03-05 | Intersil Americas Inc. | System and methods for the synchronization and display of video input signals |
JP2014052902A (ja) * | 2012-09-07 | 2014-03-20 | Sharp Corp | メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体 |
CN103780920B (zh) * | 2012-10-17 | 2018-04-27 | 华为技术有限公司 | 处理视频码流的方法及装置 |
US9485294B2 (en) * | 2012-10-17 | 2016-11-01 | Huawei Technologies Co., Ltd. | Method and apparatus for processing video stream |
US9285858B2 (en) * | 2013-01-29 | 2016-03-15 | Blackberry Limited | Methods for monitoring and adjusting performance of a mobile computing device |
US12063407B2 (en) * | 2021-05-19 | 2024-08-13 | Cypress Semiconductor Corporation | Systems, methods, and devices for buffer handshake in video streaming |
US20240282228A1 (en) * | 2023-02-17 | 2024-08-22 | Tencent America LLC | Near eye display |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1576621A (en) * | 1976-03-19 | 1980-10-08 | Rca Corp | Television synchronizing apparatus |
US4101926A (en) * | 1976-03-19 | 1978-07-18 | Rca Corporation | Television synchronizing apparatus |
US4121283A (en) * | 1977-01-17 | 1978-10-17 | Cromemco Inc. | Interface device for encoding a digital image for a CRT display |
JPS6043707B2 (ja) * | 1978-03-08 | 1985-09-30 | 株式会社東京放送 | 位相変換装置 |
US4218710A (en) * | 1978-05-15 | 1980-08-19 | Nippon Electric Company, Ltd. | Digital video effect system comprising only one memory of a conventional capacity |
DE3041898A1 (de) * | 1980-11-06 | 1982-06-09 | Robert Bosch Gmbh, 7000 Stuttgart | Synchronisiersystem fuer fernsehsignale |
US4434502A (en) * | 1981-04-03 | 1984-02-28 | Nippon Electric Co., Ltd. | Memory system handling a plurality of bits as a unit to be processed |
US4682215A (en) * | 1984-05-28 | 1987-07-21 | Ricoh Company, Ltd. | Coding system for image processing apparatus |
JPS61166283A (ja) * | 1985-01-18 | 1986-07-26 | Tokyo Electric Co Ltd | テレビジヨン同期信号波形処理装置 |
EP0192139A3 (de) * | 1985-02-19 | 1990-04-25 | Tektronix, Inc. | Steuergerät für einen Rasterpufferspeicher |
JPS62206976A (ja) * | 1986-03-06 | 1987-09-11 | Pioneer Electronic Corp | ビデオメモリ−の制御装置 |
CA1272312A (en) * | 1987-03-30 | 1990-07-31 | Arthur Gary Ryman | Method and system for processing a two-dimensional image in a microprocessor |
US4907086A (en) * | 1987-09-04 | 1990-03-06 | Texas Instruments Incorporated | Method and apparatus for overlaying a displayable image with a second image |
US4947257A (en) * | 1988-10-04 | 1990-08-07 | Bell Communications Research, Inc. | Raster assembly processor |
US5068650A (en) * | 1988-10-04 | 1991-11-26 | Bell Communications Research, Inc. | Memory system for high definition television display |
EP0737937B1 (de) * | 1989-02-02 | 2000-05-03 | Dai Nippon Insatsu Kabushiki Kaisha | Bildverarbeitungsgerät |
US5283561A (en) * | 1989-02-24 | 1994-02-01 | International Business Machines Corporation | Color television window for a video display unit |
JPH05324821A (ja) * | 1990-04-24 | 1993-12-10 | Sony Corp | 高解像度映像及び図形表示装置 |
US5168270A (en) * | 1990-05-16 | 1992-12-01 | Nippon Telegraph And Telephone Corporation | Liquid crystal display device capable of selecting display definition modes, and driving method therefor |
US5351129A (en) * | 1992-03-24 | 1994-09-27 | Rgb Technology D/B/A Rgb Spectrum | Video multiplexor-encoder and decoder-converter |
EP0601647B1 (de) * | 1992-12-11 | 1997-04-09 | Koninklijke Philips Electronics N.V. | System zum Kombinieren von Videosignalen verschiedener Formate und aus verschiedenen Quellen |
-
1994
- 1994-03-23 DE DE69422324T patent/DE69422324T2/de not_active Expired - Fee Related
- 1994-03-29 US US08/335,805 patent/US5517253A/en not_active Expired - Fee Related
- 1994-03-29 WO PCT/NL1994/000068 patent/WO1994023416A1/en active IP Right Grant
- 1994-03-29 EP EP94913205A patent/EP0642690B1/de not_active Expired - Lifetime
- 1994-03-29 JP JP6521944A patent/JPH07507883A/ja not_active Ceased
- 1994-03-29 JP JP6058788A patent/JPH0792952A/ja active Pending
- 1994-03-29 DE DE69411477T patent/DE69411477T2/de not_active Expired - Fee Related
-
1997
- 1997-04-28 US US08/847,836 patent/US5731811A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69422324T2 (de) | 2000-07-27 |
WO1994023416A1 (en) | 1994-10-13 |
JPH07507883A (ja) | 1995-08-31 |
DE69411477D1 (de) | 1998-08-13 |
EP0642690B1 (de) | 1998-07-08 |
US5517253A (en) | 1996-05-14 |
JPH0792952A (ja) | 1995-04-07 |
EP0642690A1 (de) | 1995-03-15 |
DE69422324D1 (de) | 2000-02-03 |
US5731811A (en) | 1998-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69411477T2 (de) | Videosynchronisiering von mehrfachquellen. | |
DE3878504T2 (de) | Vorrichtung zur verarbeitung eines videosignals. | |
DE69124050T2 (de) | Videoanzeigegerät mit einer festen zweidimensionalen Matrix von Bildelementen | |
DE4231158C5 (de) | Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern | |
DE69123883T2 (de) | Dreifacher Halbbildpuffer für Fernsehbildspeicherung und Anzeige auf graphischen Rasterdarstellungsgerät | |
DE69222754T2 (de) | Videodekoder | |
DE69908334T2 (de) | Eine mehrfachdatenstrom-schalterbasierte-videoeditierarchitektur | |
DE4012520C2 (de) | Fernsehanordnung mit Einrichtungen zur Verarbeitung einer Mehrbilddarstellung | |
DE69022752T2 (de) | Interaktive Audio-Video-Anzeige. | |
DE3814627C2 (de) | ||
DE69635970T2 (de) | Schaltung und Verfahren zur Umwandlung eines Fernsehsignals | |
DE69218396T2 (de) | Rekursiver Video Signal Prozessor | |
DE69034167T2 (de) | Fernsehgerät | |
DE69126909T2 (de) | Videosignalanzeigevorrichtung | |
DE19521973A1 (de) | Bilddecodiervorrichtung | |
DE3888221T2 (de) | Speichersystem für bemusterte Daten, zum Beispiel für ein Bildvergrösserungssystem in einem Fernsehempfänger. | |
DE3885764T2 (de) | Fernsehempfänger mit gespeichertem zweitem signal. | |
DE3854562T2 (de) | Demultiplexer für Computervideo. | |
DE60009140T2 (de) | Verfahren und system zur dekodierung von videosequenzen und grafiken | |
DE69128665T2 (de) | Datenmischendes Gerät | |
DE19935604A1 (de) | Verfahren und Vorrichtung zum decodieren eines Bewegungsbildes | |
DE69736693T2 (de) | Bildsignalverarbeitungsvorrichtung und -verfahren | |
DE69521574T2 (de) | Bildanzeigesystem und mehrfensterbildanzeigeverfahren | |
DE3431261A1 (de) | Farbfernsehwiedergabegeraet | |
DE69700598T2 (de) | Gerät zum abtasten und anzeigen eines unterbildes mit einem hauptbild |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, N |
|
8339 | Ceased/non-payment of the annual fee |