DE69222754T2 - Videodekoder - Google Patents
VideodekoderInfo
- Publication number
- DE69222754T2 DE69222754T2 DE69222754T DE69222754T DE69222754T2 DE 69222754 T2 DE69222754 T2 DE 69222754T2 DE 69222754 T DE69222754 T DE 69222754T DE 69222754 T DE69222754 T DE 69222754T DE 69222754 T2 DE69222754 T2 DE 69222754T2
- Authority
- DE
- Germany
- Prior art keywords
- units
- memory
- video
- video decoder
- frame
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64307—ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Time-Division Multiplex Systems (AREA)
- Studio Circuits (AREA)
Description
- Die vorliegende Erfindung betrifft einen Video Decoder wie im Oberbegriff von Anspruch 1 beschrieben.
- Ein solcher Video Decoder ist in der Technik gut bekannt, z.B. aus dem Artikel "Variable Bit Rate Video Coder for asynchronous transfer mode networks" (Video Coder mit variabler Bitrate für Netzwerke mit asynchronem Transfermodus), von W. Verbiest und L. Pinnoo, IEEE Journal on selected areas in communications (Zeitschrift zu ausgewählten Bereichen in der Kommunikation), Bd. 7, Nr. 5, Juni 1989, SS. 761-770 und insbesondere Punkt II.E "VBR Decoder" und Fig. 8 davon, wobei letztere Figur ein Blockschema eines solchen Video Decoders zeigt.
- Wie alle bekannten Video Decoder des obigen Typs arbeitet der angeführte Decoder synchron mit seinem entsprechenden Codierer, d.h. das Taktsignal, das diesen Codierer steuert, wird vom Decoder reproduziert und für die Steuerung des Decoders ausgegeben. Dieser synchrone Vorgang wird bisher als verbindlich für Echtzeitvideoverarbeitung für bewegliche Videobilder angenommen, die über Paketschaltnetze geschickt werden.
- Der Grund hierfür wird im Artikel "Packet Video integration into network architecture" (Paketvideointegrierung in die Netzwerkarchitektur) von Karisson und Vitterbi angegeben, der in der gleichen Ausgabe der o.a. Zeitschrift erschien, und insbesondere unter dem darin enthaltenen Punkt V auf S. 745-746 "Resychronization of video", (Video-Neusynchronisierung). Ohne diesen synchronen Vorgang könnte der Decoder in der Tat die Pakete im Vergleich zur Generierung der Pakete durch den Codierer zu schnell oder zu langsam verarbeiten. Wenn der Decoder zu schnell arbeitet, wie in Fig. 8b des zuletzt angeführten Artikels abgebildet, müß te der Decoder Pakete ablegen müssen, die zu schnell ankommen, um für den Aufbau eines Bildes berücksichtigt zu werden. Wenn er zu langsam arbeitet, wie in Fig. 8c abgebildet, würde eine ständig steigende Anzahl Pakete vom Decoder gepuffert werden müssen, was unausweichlich zum Überlaufen des Puffers und folglich erneut zum Paketverlust führen würde.
- Abgesehen vom o.a. Bedarf an synchronem Arbeiten des Codierers und des Decoders, muß der letztgenannte Decoder auch mögliches Zittern berücksichtigen, das Netzwerken mit asynchronem Transfermode innewohnt und das von einer variablen Übertragungsverzögerung der Pakete über das Netzwerk verursacht wird, was den Aufbau und die Auslegung des Decoders zusätzlich kompliziert. Wenn der Decoder mit seinem entsprechenden Codierer synchron arbeiten will, muß er in der Tat seine Decodierarbeiten zu gut definierten Zeitmomenten durchführen, die vom Systemtaktgeber des Codierers bestimmt werden. Aufgrund des obengenannten Zittern könnte es jedoch eintreten, daß ein Paket zu spät ankommt, um im obigen Moment verarbeitet zu werden. Um dies zu vermeiden, werden die am Decoder ankommenden Pakete in einem Eingabepuffer gespeichert, wo sie verzögert werden, um für jedes Paket eine feste vorbestimmte Verzögerung zu erreichen, wie in Fig. 7 des zuletzt angeführten Artikels abgebildet. Auf diese Weise wirkt der Eingabepuffer als Entzittereinheit, die unter Steuerung des Taktgebers des Decoders gelesen wird, wobei letzterer Taktgeber durch zum Beispiel einen PLL-Kreis wiederhergestellt wird, um zum Codierer- Taktgeber zu passen.
- Angesicht der statistischen Natur der Verzögerung kann der Paketverlust durch Zittern mit endlichen Eingabepuffern und endlichen festen Verzögerungen nicht vermieden werden, wie in Fig. 8a des zuletzt angeführten Artikels deutlich zu sehen, und die Minimierung dieses Paketverlusts erfordert relativ große Eingabepuffer.
- In erneutem Bezug auf den zuerst angeführten Artikel von W. Verbiest und L. Pinnoo, werden die Folgen des o.a. Bedarfs an Synchronisierung und Entzittern deutlich gemacht.
- Das im Artikel beschriebene Decodierungsmittel umfaßt einen variable Length Code Decoder (VLC decoder), (Decoder für Codes variabler Länge), und einen Differential Pulse Code Modulation Decoder (DPCM Decoder), (Differenzen-Pulscodemodulation). Der letztgenannte Decoder wird von einem RAM Modul gesteuert, das die von einem Entpaketierer aus dem Paket extrahierten Steuerdaten benutzt, und er benutzt ein Rahmenablegespeicher genanntes Speichermodul, um die voraussagegemäßen Videodaten zu decodieren, d.h. die Videodaten bezüglich eines vorhergehenden Rahmens werden im Speichermodul abgelegt und dazu benutzt, entsprechende Videodaten eines neuen Rahmens vorherzusagen. Das Anzeigemittel wird schematisch als ein DA-Wandler und ein Monitor oder ein Videobildschirm dargestellt. Der o.a. Bedarf an Synchronisierung führt zum Einsatz eines DPLL- Kreises, während der Bedarf an Entzittern zum Einsatz einer Entzittereinheit oder eines Eingabespeichers führt. Der letztere Eingabepuffer muß so dimensioniert sein, daß der vom Verzögerungszittern verursachte Paketverlust reduziert wird, und er muß typischerweise groß genug sein, um Videopakete speichern zu können, die einer Hälfte eines Videorahmens entsprechen.
- Zusammenfassend sei gesagt, daß ein Nachteil der im letzten Artikel beschriebenen Video Decoder darin besteht, daß ihr Aufbau ziemlich komplex ist aufgrund der für die Synchronisierung des Taktgebers des Decoders mit dem Taktgeber des Codierers erforderlichen Schalttechnik, z.B. mit Einsatz eines PLL-Kreises, und für die Entfernung des Verzögerungszitterns, wofür ein relativ großer Eingabepuffer erforderlich ist. Des weiteren sind solche Decoder ziemlich unbeweglich aufgrund der Zwänge der Zeitsteuerung, die sich aus dem gegenseitigen synchronen Betrieb des Decodiermittels mit dem Anzeigemittel ergeben, wie aus den erwähnten Artikeln klar hervorgeht.
- Ein Ziel dieser Erfindung besteht darin, einen Video Decoder des obigen Typs, jedoch ohne die oben erwähnten Nachteile zu liefern.
- Dieses Ziel wird mit dem im Anspruch 1 definierten Video Decoder erreicht.
- Wenn ein Video Decoder nach dem vorherigen Stand der Technik benutzt wird und die Pakete so verarbeitet werden, wie sie aus dem Netzwerk empfangen werden und die decodierten Einheiten in der gleichen Rate angezeigt werden, wie sie verfügbar werden, führt dies zu einem Anzeigetaktgeber mit variabler Rate, wie nachstehend erklärt wird, was unverträglich mit existierenden Videoanzeigenormen wie CCIR 601 oder PAL ist. Die variable Rate des Anzeigetaktgebers ist nicht nur auf das Verzögerungszittern zurückzuführen, sondern auch, wenn eine variable Bitratencodierung benutzt wird, wie im ersten angeführten Artikel, auf die variierende Datendichte in den empfangenen Paketen. In der Tat tragen im Falle variabler Bitratencodierung einige Pakete Daten in Bezug auf viele Einheiten, was zu einer schnellen Decodierrate führt und also auch zu einer raschen Anzeigerate, während andere Pakete Daten tragen, die sich nur auf einige Einheiten beziehen, was folglich zu einer langsamen Anzeigerate führt.
- Im Gegensatz dazu arbeiten die erfindungsgemäßen Anzeigemittel und Decodiermittel gegenseitig asynchron. Das Decodiermittel bearbeitet die Pakete, wie sie vom Paketschaltnetzwerk ankommen, d.h. ohne erst mögliches Verzögerungszittern zu entfernen, und es legt sie im Speichermodul ab, wobei das Speichermodul mit der gleichen Rate arbeitet wie das Anzeigemittel, während das Anzeigemittel die neuen Einheiten von decodierten Videodaten aus dem Speichermodul zurücklädt, dies mit einer gleichmäßigen Rate, die sich wahrscheinlich von der Ablegerate unterscheidet und vom Verzögerungszittern und/oder von der erwähnten variierenden Datendichte in den empfangenen Paketen unbetroffen ist, die auf diese Weise durch das Puffern aus dem Speichermodul entfernt werden. Somit kann der Anzeigetaktgeber dafür ausgelegt werden, daß er eine gleichmäßige Rate unabhängig von der Rate des Codierertaktgebers hat, die bei Bedarf nur auf der Basis örtlicher Decoderdaten festgelegt werden kann, wie durch weitere Merkmale klar wird.
- Eine Charakteristik dieser Erfindung wird in Anspruch 2 definiert.
- In einem solchen Video Decoder wird das Speichermodul ein Rahmenablegespeicher genannt. Er speichert die alten Einheiten, um Prädiktionsdecodieren der codierten Videodaten durchzuführen. Das vorher erwähnte Puffern zwischen dem Decodiermittel und dem Anzeigemittel kann nun von einem Puffer durchgeführt werden, der im größeren Rahmenablegespeicher eingebettet ist, wobei dieser Puffer im weiteren impliziter Puffer genannt wird, und der eine Länge gleich der vorher erwähnten variablen Anzahl hat, und der kontinuierlich nicht nur seine Länge sondern auch seine Position im Rahmenablegespeicher ändern, wenn Daten im Rahmenablegespeicher vom Decodiermittel bzw. dem Anzeigemittel abgelegt oder daraus zurückgeladen werden. In der Tat entspricht der erste Ort des Puffers der Position des Rahmenablegespeichers, wo die nächste Einheit vom Decodiermittel abgelegt wird, und seine endgültige Position entspricht der Position, wo die nächste Einheit vom Anzeigemittel zurückgeladen werden soll, was bedeutet, daß der Puffer sich im Rahmenablegespeicher bewegt. Die variable Anzahl Einheiten sind die im Rahmenablegespeicher abgelegten Einheiten, die in dem Moment angezeigt werden müssen, in dem eine neue Einheit abgelegt wird, bis zur Anzeige letzterer Einheit. Des weiteren muß festgehalten werden, daß, wenn Prädiktionscodiertechniken eingesetzt werden, der Rahmenablegespeicher groß genug sein muß, um alle Einheiten von decodierten Videodaten zu speichern, die zu einem Rahmen gehören, wobei diese Einheiten für die Prädiktion des Werts der Einheiten benutzt werden, die zu einem entsprechenden nächsten Rahmen gehören. Aufgrund seiner erforderlichen Kapazität zum Decodieren prädiktionscodierter Bilder ist der Rahmenablegespeicher groß genug, um den erwähnten impliziten Puffer aufzunehmen, und für diesen Puffer muß keine zusätzliche Speicherkapazität vorgesehen werden.
- Bildqualitätsverschlechterung des angezeigten Bildes tritt ein, wenn das Anzeigemittel den Decodierprozeß einholt und dabei das verursacht, was ein Unterlauf des impliziten Puffers genannt wird. Da jedoch dieser Puffer im größeren Rahmenablegespeicher eingebettet ist, führt der erwähnte Unterlauf zur mehrmaligen Anzeige einiger alter Einheiten. Es gehen keine Daten verloren, und daher wird der richtige Zustand neuer Einheiten von decodierten Videodaten nicht beeinträchtigt.
- Bildqualitätsverschlechterung tritt auch ein, wenn das Decodiermittel das Anzeigemittel einholt und einen Überlauf des impliziten Puffers verursacht. Der einzige dann entstehende Fehler besteht darin, daß einige neue Einheiten niemals angezeigt werden.
- Während bei synchronen Decodern aus dem Stand der Technik ein Unter- oder Überlauf des Eingabepuffers zu einem Verlust an Synchronisierung führte und dazu, daß der Video Decoder rückgegestellt werden mußte, führen sie für die vorliegende Erfindung nur zu einer vorübergehenden und örtlichen Auswirkung auf die Anzeige, wie sich aus dem Obengesagten ergibt, wobei die Richtigkeit neu decodierter Einheiten von diesem Unter- oder Überlauf nicht beeinträchtigt wird.
- Ein wichtiger Aspekt dieser Erfindung wird im Anspruch 3 definiert.
- Auf diese Weise wird die oben erwähnte Bildqualitätsverschlechterung durch Über- oder Unterlauf des Puffers weitgehend vermieden, ungeachtet dessen, ob der Puffer ein impliziter in einen größeren Rahmenablegespeicher eingebetteter Puffer ist oder nicht. Wenn die variable Anzahl in Richtung einer ersten festgelegten Anzahl führt, z.B. null für Unterlauf, was zum Beispiel eintreten kann, wenn die sofortige Paketankunftsrate sehr gering ist, dann wird der Anzeigeprozeß vom Systemtaktgeber verlangsamt, um einen Unterlauf zu verhindern. Im gegensätzlichen Fall, wenn die variable Anzahl in Richtung einer zweiten festgelegten Anzahl führt, z.B. die maximale Länge des impliziten Puffers, wird der Anzeigeprozeß beschleunigt, um einen Überlauf zu verhindern. Aufgrund der statistischen Natur des Verzögerungszitterns ist das Beschleunigen oder Verlangsamen des Anzeigeprozesses ein Niederfrequenzprozeß, der an der Anzeige nicht sichtbar ist. Der Anzeigeprozeß wird jedoch mit diesem Mechanismus indirekt mit dem Codierer-Taktgeber synchronisiert. In der Tat wird die Durchschnittsfrequenz des Systemtaktgebers der Anzeige mit der durchschnittlichen Ankunftsrate der Videodaten verriegelt und somit mit dem Codierer-Taktgeber, und dies ohne Bedarf am komplexen Taktinformations-Extrahieren und DPLL-Schaltungen. Das Verzögerungszittern beeinflußt die Geschwindigkeit des Systemtaktgebers nur in bescheidenem Maße, da das meiste davon im impliziten Puffer absorbiert wird, wie weiter oben erklärt. Da des weiteren nur eine lose Koppelung zwischen dem Decodiermittel und dem Anzeigemittel und zwischen dem Decoder und dem Codierer besteht, wird keine Flexibilität geopfert. Wenn zum Beispiel während Austastungsperioden das Anzeigemittel inaktiv sein muß, muß das Decodiermittel seine Verarbeitung nicht ebenfalls unterbrechen.
- Eine zusätzliche Charakteristik dieser Erfindung wird im Anspruch 4 beschrieben.
- In dieser Hinsicht muß festgehalten werden, daß die asynchrone Natur des erfindungsgemäßen Video Decoders nicht von unabhängigen Systemtaktgebern stammt, sondern von der Tatsache, daß das Decodiermittel ungeachtet des Anzeigemittels die empfangenen Pakete verarbeitet, wie sie ankommen, ohne dabei von Anzeigeerfordernissen beeinträchtigt zu werden.
- Wenn das Decodiermittel keine Pakete zu verarbeiten hat, wird es inaktiv, und das Anzeigemittel kann es einholen, und andererseits wird bei Bedarf der Gesamtsystem-Taktgeber des Decoders verlangsamt und der Decoder auf einfache Weise auf die Datenausgabenrate des Codierers eingestellt
- Eine weitere Charakteristik dieser Erfindung wird im Anspruch 6 definiert.
- Konkreter gesagt bestimmt der Speichermodul- Controller die variable Position des impliziten Puffers innerhalb eines größeren Rahmenablegespeichers, da der erste Zeiger den ersten Ort des impliziten Puffers anzeigt, während der zweite Zeiger die Endposition anzeigt. Der Controller kann durch seine Steuereinwirkung auf den impliziten Puffer auch die Flexibilität verwalten und ausnutzen, die von dieser Erfindung geboten wird, wie weiter unten noch klargestellt werden wird.
- Noch eine weitere Charakteristik dieser Erfindung wird in Anspruch 7 beschrieben.
- Der Speichermodul-Controller ist somit spezifisch geeignet für die Techniken der Prädiktionscodierung, da er von der Speicherzuordnung her weiß, welche Einheit eines Rahmens zu welchem Speicherplatz gehört. Er kann des weiteren die besagte variable Anzahl steuern, da er in der Tat vom ersten und zweiten Zeiger her mit Hilfe dieser Speicherzuordnung ableitet, welche Einheiten vom Anzeige- bzw. dem Decodiermittel verarbeitet werden, und wieviele Einheiten in einem Rahmen von zwischen diesen Einheiten liegen. Mit dieser Speicherzuordnung kann die gebotene Flexibilität optimal ausgenutzt werden, wie weiter unten klargestellt werden wird.
- Ein wichtiger Aspekt dieser Erfindung wird in Anspruch 8 definiert.
- Dualanschlußspeicher sind in der Technik gut bekannt und im Handel erhältlich, z.B. der Chip von Texas Instruments TMS48C121. Solche Speicher sind besonders für den Einsatz in dieser Erfindung geeignet aufgrund ihres Dualanschlusses, der praktisch gleichzeitigen Zugriff durch das Decodiermittel und das Anzeigemittel ermöglicht. Es könnten auch normale RAM-Speicher benutzt werden, sie müßten aber so ausgesucht werden, daß sie mit gleichzeitigen Zugriffen fertig werden können. Solche schnelle RAM-Speicher sind entweder statische, teure RAM- Speicher oder große parallelisierte dynamische RAM- Speicher.
- Im wesentlichen trennt der Dualanschlußspeicher das Anzeige- und das Decodiermittel in der Hardware.
- Der DRAM-Speicher führt die Funktionen durch, die schon in Rahmenablegespeichern aus dem Stand der Technik ausgeführt wurden, während der SAM-Speicher vom Anzeigemittel benutzt wird, wenn es die decodierten Videodaten liest. Die letztgenannten Daten werden Bildzeile per Bildzeile gelesen, damit ein einfacher serieller Zugriffsspeicher, wie der SAM, der alle Daten zu einer solchen Zeile enthält, in der Tat für diesen Zweck ausreicht. Ein Übertragungsvorgang, wie er zum Beispiel während der Austastungsperioden der Anzeige durchgeführt wird, ist erforderlich, um die zu lesenden Daten vom DRAM in den SAM zu übertragen und dabei dem Anzeigemittel zu ermöglichen, den Rahmenablegespeicher unabhängig vom Decodiermittel und nach seiner eigenen gleichmäßigen Rate ohne komplexe Adressiervorgänge zu lesen.
- Der Speichermodul-Controller, der auch Rahmenablegecontroller genannt wird, wenn prädiktionscodierte Daten decodiert werden, ist etwas komplexer als Controller aus dem Stand der Technik, auf der anderen Seite können aber billigere Speicher benutzt werden.
- Eine besonders vorteilhafte Charakteristik dieser Erfindung wird im Anspruch 12 beschrieben.
- Das Blockcodieren ist in der Technik gut bekannt, z.B. aus dem zuerst angeführten Artikel von W. Verbiest und L. Pinnoo. Es führt zu einer sehr effizienten Komprimierung der digitalen Videodaten, die über das Netzwerk geschickt werden sollen. Bei Blockcodierung ist die vorliegende Erfindung besonders vorteilhaft, weil das Speichermodul für die Umwandlung von Block in Zeile benutzt werden kann, die beim Decodieren der blockcodierten Daten benötigt wird. Decoder aus dem Stand der Technik müssen die Daten von einem Blockformat an der Ausgabe des Decodiermittels in ein Zeilenformat am Anzeigemittel umwandeln, da Video Zeile für Zeile angezeigt wird. Daher umfassen diese Decoder einen zusätzlichen Speicher, in den die Blöcke geschrieben werden, und nach einer gewissen Verzögerung vom Anzeigemittel ausgelesen werden, wenn alle neuen Einheiten einer Zeile empfangen worden sind. Gemäß dieser Erfindung kann diese Verzögerung durch das Controllermittel des Speichermoduls ausgeführt werden, wobei die Verzögerung mindestens gleich einer Bildzeile ist. Wenn diese Verzögerung aufrechterhalten wird, findet kein Vermischen von neuen und alten Einheiten statt.
- Es muß festgehalten werden, daß die variable Anzahl auch fest sein und einer angemessenen Verzögerung entsprechen kann. Der Decoder würde dann synchron mit dem Codierer funktionieren, aber es würde immer noch kein Bedarf an einem zusätzlichen Speicher für Block- zu Zeilenumwandlung bestehen.
- Ein weiterer Vorteil der obigen besonderen Ausführung besteht darin, daß normalerweise, wenn wie in früheren Systemen synchroner Betrieb erforderlich ist, die variable Bitratencodierung das Extrahieren von Zeitstempeln aus den erhaltenen Paketen erfordert, um den Codierer-Taktgeber wiederherzustellen. Mit einem Video Decoder gemäß dieser Erfindung sind diese Zeitstempel überflussig, da keine Synchronisierung mit dem Codierer- Taktgeber erforderlich sind.
- Ein Video Decoder gemäß dieser Erfindung ist somit ebenso gut geeignet für das Decodieren von Videodaten von festen wie von variablen Bitratencodierern, und dies im Vergleich zu früheren Decodern ohne zusätzliche Hardwarekosten.
- Eine weitere vorteilhafte Charakteristik dieser Erfindung wird im Anspruch 13 definiert.
- Zur Erzielung von Bewegungskompensation, die für die Ausführung effizienter Komprimierung benutzt wird und in der Technik gut bekannt ist, z.B. durch den Artikel "Video compression makes big gains", (Videokomprimierung sorgt für große Gewinne), IEEE Spectrum, Oktober 1991, von H. Peng et alii, müssen Systeme aus dem Stand der Technik, die einen synchronen Video Decoder benutzen, einen Teil der alten Einheiten in einem getrennten Speicher sichern. Dies soll vermeiden, daß keine alten Einheiten, die einem schon decodierten Teil des Bildrahmen entsprechen, mit neu erhaltenen Einheiten überschrieben werden. In dieser Erfindung kann Bewegungskompensation mit Benutzung des Speichermoduls und ohne bedeutende Extrakosten für Hardware erzielt werden. Es sind nur einige zusätzliche Funktionalitäten im Speichermodul-Controller erforderlich, um die Benutzung der nichtpermanenten Speicherzuordnung zu nutzen.
- Noch eine weitere Charakteristik dieser Erfindung wird im Anspruch 14 definiert.
- Im zuerst angeführten Artikel von W. Verbiest und L. Pinnoo und insbesondere in Fig. 2 werden zwei solcher Kategorien betrachtet, nämlich die Luminanz und Chrominanz eines Bildes. Angesichts der Zwänge der Zeitsteuerung in im Artikel beschriebenen synchronen Decodern muß für jede Einheitenkategorie ein Decodiermittel bereitgestellt werden. Durch die o.a. Charakteristik dieser Erfindung muß das Decodiermittel nicht zwischen diesen beiden Datentypen unterscheiden, da das Demultiplexieren der verschiedenen Kategorien vom Rahmenablegecontroller übernommen wird, indem die Einheiten an geeigneten Speicherplätzen innerhalb des Rahmenablegespeichers je nach ihrem Typ abgelegt werden. Weitere Charakteristiken dieser Erfindung werden in den Ansprüchen 15, 16, 17 und 18 definiert.
- Die obigen Merkmale erlauben nicht nur, die Anzeige einzufrieren oder gemäß eines externen Kontrollsignals zu zoomen, das in den Rahmenablegecontroller eingegeben wird und möglicherweise von einem Zuschauer kommt, sondern sie ermöglichen auch, daß der Video Decoder Daten empfangen und nach verschiedenen Auflösungsnormen anzeigen kann, z.B. CIF und CCIR 601, indem ein dazu in Bezug stehender Teil der Steuerdaten des Pakets als interne Steuerangabe im Rahmenablegecontroller benutzt wird.
- Ein großer Vorteil der zuletzt erwähnten Charakteristik besteht darin, daß ungeachtet der Auflösung der in den hereinkommenden Videodaten enthaltenen Bilder der Video Decoder so gesteuert werden kann, daß er Bilder gemäß einer festgelegten Auflösung anzeigt, z.B. in der in CCIR 601 definierten Auflösung. Die Tatsache, daß das Decodiermittel gegenüber dem Anzeigemittel asynchron arbeitet, kann für das Anlegen alternativer neuer Einheiten benutzt werden, z.B. über die gut bekannte Technik der Signalabtastung. Hierfür muß der Decodierprozeß durch ein z.B. vom Systemtaktgeber abgeleitetes Tastsignal mit höherer Frequenz beschleunigt werden.
- Bei den alternativen neuen Einheiten kann eine Speicherzuordnung für CCIR 601 aufgefüllt werden, wenn die hereinkommenden Videodaten zu Bildern in Bezug stehen, die eine solche Auflösung haben, daß die Anzahl Einheiten pro Bild geringer als für CCIR 601 ist. Außerdem muß keine bedeutende Hardware-Änderung, mit der Ausnahme des Rahmenablegecontrollers, vorgenommen werden, um z.B. die unmittelbar bevorstehende Norm für Standbilder der Joint Photographic Experts Group JPEG zu berücksichtigen. Auch ein solcher Umschaltvorgang kann durch die Steuerdaten gesteuert werden.
- Die o.a. und andere Gegenstände und Charakteristiken der Erfindung werden deutlicher hervortreten, und die Erfindung selbst wird am besten verstanden werden, wenn in folgender Beschreibung auf eine Ausführung in Verbindung mit den begleitenden Zeichnungen verwiesen wird. Es zeigen:
- FIG. 1 ein Funktionsblockdiagramm eines Video Decoders gemäß dieser Erfindung;
- FIG. 2a bis 2c das Prinzip des Betriebs im Rahmenablegespeicher FSM von FIG.1 in stark vereinfachter Weise;
- FIG. 3 eine detailliertere Ansicht des Decodiermoduls DEC1 von FIG. 1;
- FIG. 4 eine Schemadarstellung der verschiedenen Eingaben und Ausgaben des Bildpunktprozessors PROC von FIG. 1;
- FIG. 5 ein Schemadiagramm des Rahmenablegespeichers FSM von FIG. 1;
- FIG. 6 eine detailliertere Ansicht des Anzeigemittels DIS von FIG. 1;
- FIG. 7 eine Hardware-Konfiguration des Steuermittels CON von Fig. 1.
- Der auf FIG. 1 gezeigte Video Decoder ist Teil eines Asynchronous Transfer Mode ATM Broadband ISDN BISDN Netzwerks, (ATM-Breitband ISDN BISDN), (nicht gezeigt). Solche Netzwerke und ihre Eigenschaften sind in der Technik gut bekannt und werden deshalb nicht näher beschrieben.
- Der Video Decoder erhält Pakete vom ATM Netzwerk über eine Eingabeleitung IN. Die in den Paketen enthaltenen Daten werden umgewandelt und an einem Videobildschirm angezeigt, wie weiter unten beschrieben.
- Die Pakete liegen an einem ersten Block des Decoders an, der ein Schnittstellenmodul INT ist.
- Das Schnittstellenmodul INT führt die ATM- Kopffehlerkontrolle und andere gut bekannte Kontrollfunktionen aus und demultiplexiert und entpackt die in einem erhaltenen Paket enthaltenen Daten. Diese Demultiplex- und Entpackfunktionen sind für einen Sachverständiger leicht auszuführen und werden deshalb weder gezeigt, noch ausführlich beschrieben. Das Schnittstellenmodul INT legt die aus dem erhaltenen Paket extrahierten Videodaten VI an eine gleichnamige Ausgabeleitung VI an und legt die ersten Steuerdaten OV1 und die zweiten Steuerdaten OV2, die ebenfalls aus dem erhaltenen Paket extrahiert werden, an gleichnamige Kontrolleitungen OV1 bzw. OV2 an.
- Die oben erwähnte Leitung VI ist an ein Decodiermodul DEC1 angeschlossen, das einen ersten Teil eines Decodiermittels bildet, das unter der Steuerung der ersten Steuerdaten OV1 die Videodaten VI decodiert und so an eine Ausgabe DECV1, die an einen Bildpunktprozessor PROC angeschlossen ist, der einen zweiten Teil des Decodiermittels und einen Rahmenablegecontroller FSC umfaßt, ein gleichnamiges Signal bestehend aus decodierten Videodaten DECVI anlegt.
- Dieser Rahmenablegecontroller FSC speichert unter Steuerung der zweiten Gesamtdaten OV2 ein aus neuen Einheiten von decodierten Videodaten NEW1 bestehendes Binärsignal über eine gleichnamige Datenleitung NEW1 in einem Rahmenablegecontroller FSM, der mindestens groß genug ist, alle zu einem Videorahmen gehörenden Einheiten zu speichern. Dieses Signal NEW1 ist in DEC2 vom vorher erwähnten Signal DECVI abgeleitet, das möglicherweise Daten berücksichtigt, die aus alten Einheiten von decodierten Videodaten OLD bestehen, die an einer gleichnamigen Eingabeleitung OLD vom Rahmenablegespeicher FSM empfangen wurden. Ob diese Daten benutzt werden sollen oder nicht, d.h., ob Prädiktionscodierung zwischen Rahmen benutzt wird oder nicht, wie weiter unten erklärt, wird unter Steuerung der zweiten Gesamtdaten OV2 entschieden.
- Der Bildpunktprozessor PROC hat eine weitere Eingabeleitung EXT, an die externe Steuersignale EXT angelegt werden, und eine weitere Ausgabe ADJ, an der ein gleichnamiges Signal ADJ generiert wird. ADJ wird für die Anpassung der Frequenz eines Systemtaktgebersignals SC benutzt, wie auch weiter unten erklärt werden wird. Der Bildpunktprozessor PROC hat schließlich eine Steuerausgabe CTL, die an den Rahmenablegespeicher FSM angeschlossen ist, an dem gleichnamige Steuersignale CTL anliegen, und eine Steuerausgabe VIDEOSYNC, die an ein Anzeigemittel DIS angeschlossen ist.
- Der Rahmenablegespeicher FSM erhält das Signal NEW1 über die Eingabeleitung NEW1 und hat eine erste Ausgabe OLD, über die das Signal OLD an den Bildpunktprozessor PROC anliegt und eine zweite Ausgabe NEW2, an der gleichnamige Signale NEW2 generiert werden, wobei NEW2 aus neuen Einheiten decodierter Videodaten besteht. Der Rahmenablegespeicher FSM hat des weiteren eine Steuereingabe CTL, die an die Leitung CTL angeschlossen ist und über die er die Steuersignale CTL empfängt. Die zweite Ausgabeleitung NEW2 ist an das Anzeigemittel DIS angeschlossen, das das Videosignal weiter umwandelt und schließlich anzeigt. Dieses Anzeigemittel DIS hat des weiteren eine Steuereingabe VIDEOSYNC, an der das gleichnamige Signal anliegt, das vom Bildpunktprozessor herkommt und für die Anzeigefunktion gebraucht wird, wie weiter unten beschrieben.
- In erneutem Bezug auf die Ausgabe ADJ des Bildpunktprozessors PROC ist diese Ausgabeleitung ADJ an ein Steuermittel CON angeschlossen, das vom Signal ADJ ein Niederfrequenzsignal DC ableitet, das an einer Steuerausgabe DC generiert wird. Dieses Signal DC steuert den Systemtaktgeber SC, der ein gleichnamiges Signal SC erzeugt. SC liegt nach den entsprechenden Taktgeberteilungen an den Blocks INT, DEC1, PROC, CON, FSM und DIS an. Zur Klarheit der Figur werden weder die an diesen Blocks anliegenden Taktgebersignale noch die Taktgeberteilungen gezeigt.
- Wie weiter unten ausführlich beschrieben werden wird, lädt das Anzeigemittel DIS Einheiten von Daten mit einer Rate zurück, die in direktem Verhältnis zur Frequenz vom Systemtaktgeber SC zum Rahmenablegespeicher FSM steht und verarbeitet die Einheiten zu Anzeigezwecken. Die Decodiermittel DEC1 und DEC2 speichern decodierte Einheiten unter der Steuerung eines Taktgebersignals, das vom SC abgeleitet ist, aber nicht unbedingt die gleiche Rate wie das Taktgebersignal hat, das DIS steuert. Dies bedeutet, daß DIS und DEC1, DEC2 asynchron arbeiten. FSM trennt auf gewisse Weise die Verarbeitung der Einheiten durch das Anzeigemittel DIS von demjenigen des Decodiermittels DEC1 und DEC2.
- DEC1 und DEC2 können die hereinkommenden Videodaten verarbeiten, ohne zuerst das Verzögerungszittern zu entfernen, das asynchronen Übertragungsnetzwerken innewohnt, weil bevor die decodierten Videodaten DECVI an das Anzeigemittel DIS weitergegeben werden, findet durch die später beschriebene Pufferaktion eine variable Verzögerung im Rahmenablegespeicher FSM statt. Auf diese Weise hat das Verzögerungszittern keinen Einfluß auf die Qualität des angezeigten Bildes. Obwohl das Decodiermittel DEC1, DEC2 ebenfalls vom vorher erwähnten Systemtaktgeber SC gesteuert wird, wird die asynchrone unabhängige Verarbeitung der Einheiten durch letztgenanntes Mittel und das Anzeigemittel nicht behindert, da die Rate, mit der das Decodiermittel DEC1 und DEC2 Einheiten von Videodaten verarbeitet, nicht im direkten Verhältnis zu SC steht. Die Decodiermittel DEC1 und DEC2 können in der Tat aufgrund eines späten Ankommens von Paketen wegen des Verzögerungszitterns inaktiv bleiben oder können andere Einheiten mit anderer Geschwindigkeit verarbeiten. Aus dem Vorerwähnten geht klar hervor, daß es ebenso gut möglich ist, die Decodiermittel DEC1, DEC2 mit einem Systemtaktgeber zu steuern, der vollkommen unabhängig vom Systemtaktgeber SC ist.
- Wenn Prädiktionscodiertechniken benutzt werden, ist der Rahmenablegespeicher FSM erforderlich, um die zu einem vorhergehenden Rahmen gehörigen Einheiten zu speichern, und für die Anzeigefunktion wird über einen in einem größeren Rahmenablegespeicher eingebetteten impliziten Puffer eine Pufferaktion geliefert.
- Die Figuren 2a, bis 2c zeigen das Prinzip eines solchen beweglichen Puffers innerhalb eines größeren Rahmenablegespeichers. In einer Ausführung dieser Erfindung, bei der der Rahmenablegespeicher nicht für das Decodieren von prädiktionscodierten Videodaten benutzt wird, ist diese Beschreibung in Bezug auf die Figuren 2a bis 2c obsolet als normaler FIFO Puffer variabler Länge, dessen Länge gleich einer variablen Anzahl ist, und er kann dann als Rahmenablegespeicher FSM benutzt werden.
- Es wird weiter darauf hingewiesen, daß das einzige Ziel der Figuren 2a bis 2c darin besteht, das Prinzip des impliziten Puffers im Rahmenspeicher zu klären, sodaß stark vereinfachte Beispiele des Rahmenablegespeicher FSM benutzt werden.
- FIG. 2a zeigt den Inhalt eines Rahmenablegespeichers, der 9 Zeilen mit 7 Positionen enthält, wobei jede Position Daten eines entsprechenden Bildpunkts in einem Bildrahmen enthält. Bildpunktdaten in folgenden Positionen entsprechen logischerweise folgenden Bildpunktpositionen im anzuzeigenden Bild, folglich wird eine sehr einfache Speicherzuordnung, in der Positionen in einem Bildrahmen Speicherplätzen zugeordnet werden, benutzt.
- Der Startplatz des impliziten Puffers ist die Position, in der die nächste vom Decodiermittel DEC zu decodierende Bildpunktinformation abgelegt werden muß, d.h. in FIG. 2a, die den Rahmenspeicher zum Zeitmoment t0 zeigt, wird der Startplatz 9 von einem ersten Zeiger P1 angegeben. Der Endplatz ist die Position, von der die nächsten Bildpunktdaten durch das Anzeigemittel zurückgeladen werden müssen, z.B. in FIG. 2a wird der Endplatz 26 von einem zweiten Zeiger P2 angegeben. Aus obigen Betrachtungen ergibt sich, daß Position 9 bzw. 26 des FSM den Bildpunktpositionen 9 bzw. 26 des Bildrahmens entsprechen. Zum Zeitpunkt t0, nachdem die Bildpunktdaten 9 abgelegt sind, kann das Anzeigemittel damit beginnen, die zu 46 Bildpunkten gehörenden Daten zurückzuladen, nämlich an den Plätzen 26 bis 63 und 1 bis 8.
- FIG. 2b zeigt den Rahmenspeicher zu einem zweiten Zeitmoment t1. Der erste Zeiger P1 ist zur Position 11 weitergegangen, und der zweite Zeiger P2 ist beträchtlich schneller zur Position 60 gegangen. Die o.a. Anzahl von Bildpunkten, die nun zurückgeladen werden können, beträgt nur 14. So ist die Anzahl von Bildpunkten, die zurückgeladen werden können, variabel. Die Tatsache, daß eine variable Anzahl Bildpunkte zurückgeladen werden kann, wird zum Beispiel angewandt, wenn das Decodiermittel wegen z.B. des Verzögerungszitterns wenige Pakete erhält, und das Anzeigemittel dann die Arbeitslast mit gleichmäßiger Rate einholt.
- FIG. 2c zeigt einen Rahmenspeicher zu einem dritten Zeitmoment t2. In dieser Figur wird gezeigt, was passiert, wenn die variable Anzahl von zurückzuladenden Bildpunkten nicht in einem Bereich zwischen einer ersten, z.B. null, und einer zweiten, z.B. 63, festgelegten Anzahl gehalten wird. In dieser Figur haben sich der erste und der zweite Zeiger auf eine Art gekreuzt, mit der der implizite Puffer von innen nach außen gekehrt wird. Der erste Zeiger P1 ist in Position 11 geblieben, möglicherweise wegen des Verzögerungszitterns, während der zweite Zeiger P2 weiter zu Position 13 gegangen ist. Dies bedeutet, daß das Anzeigemittel alte Bildpunkte in Beziehung zu einem alten Rahmen angezeigt hat, nämlich die Bildpunkte 11 und 12, die vom Decodiermittel DEC1 und DEC2 noch nicht aufgefrischt worden sind. In anderen Worten sind die jetzt an den Positionen 11 und 12 stehenden Einheiten mehrmals angezeigt worden. Der obige Effekt, der in FIG. 2c abgebildet ist, entspricht einem Unterlauf des impliziten Puffers, der wie oben angegeben dazu führt, daß einige Bildpunkte mehrmals angezeigt werden. Der gegensätzliche Effekt (nicht gezeigt) ist ebenso gut möglich und ergibt sich, wenn P1 P2 einholt, was in einem Überlauf des impliziten Puffers resultiert, was nun zu Bildqualitätsverschlechterung führt, weil einige decodierte Bildpunkte niemals angezeigt werden, nämlich die Bildpunkte, die sich direkt nach dem Speicherplatz befinden, der vom zweiten Zeiger angegeben wird.
- Die o.a. Bildqualitätsverschlechterung im Zusammenhang mit FIG. 2c kann akzeptierbar sein, weil die Richtigkeit des weiteren Decodierens nicht betroffen wird, und die Bildqualitätsverschlechterung ist somit sowohl lokal als auch temporär. Sie kann vermieden werden, indem die variable Anzahl innerhalb, eines festgelegten Bereichs gehalten wird, z.B. von 0 bis 63. Dies wird durch das Steuermittel CON erzielt, das die variable Anzahl anzeigt und die Verarbeitungsgeschwindigkeit des Anzeigemittels DIS in Übereinstimmung mit dem Ergebnis dieser Anzeige anpaßt, wie im einzelnen mit Bezugnahme auf Fig. 7 beschrieben werden wird.
- Es muß festgehalten werden, daß in jedem Fall, d.h. selbst wenn das Steuermittel benutzt wird, jedoch wegen extremer Umstände den impliziten Puffer nicht vor Unter- oder Überlauf schützen kann, der Unter- oder Überlauf des impliziten Fuffers eine viel weniger dramatische Wirkung hat als der Unter- oder Überlauf von Eingabepuffern in Video Decodern aus dem Stand der Technik. In der Tat geht in letzterem Fall die Synchronisierung verloren, und der Decodierprozeß muß erneut von vorne beginnen, was zu starker Bildqualitätsverschlechterung führt, während die vorliegende Erfindung nur die gleichen Einheiten falsch anzeigen wird, wonach automatisch der richtige Betrieb wieder aufgenommen wird, und ohne daß besondere Maßnahmen getroffen werden müßten.
- Ein Fall, in dem das Kreuzen der beiden Zeiger akzeptierbar ist, ist derjenige, in dem der Video Decoder von außen so gesteuert wird, daß er das Bild einfriert, während er ein bewegliches Bild empfängt. Für das Einfrieren des Bildes reicht es aus, die Decodiermittel DEC1 und DEC2 vorübergehend zu entaktivieren und das Anzeigemittel DIS weiter den jetzt stehenden Inhalt des Rahmenablegespeicher FSM anzeigen zu lassen. Hierfür muß die eventuelle vom Steuermittel CON durchgeführte lose Koppelung zwischen der Decodier- und der Anzeigerate vom Rahmenablegespeicher FSM entaktiviert werden. Diese Entaktivierung tritt in dieser Ausführung automatisch ein, wenn das Kontrollmittel CON nicht arbeitet, solange keine Pakete ankommen. Diese Charakterisitik und andere Vorteile werden ausführlich mit Bezugnahme auf die FIG. 5 bis 7 beschrieben werden.
- Aus dem oben Gesagten geht hervor, daß der Codierertaktgeber nicht wiederhergestellt werden muß, z.B. durch einen PLL-Kreis, um den Decoder mit dem entsprechenden Codierer zu synchronisieren. Auch eine Entzittereinheit in Form eines großen Eingabepuffers, der eine feste Verzögerung für die empfangenen Pakete erstellt, ist in dieser Ausführung überflüssig geworden, da das Verzögerungszittern der Pakete im FSM entfernt wird. Das Schnittstellenmodul INT könnte jedoch einen kleineren Eingabepuffer enthalten, um sicherzustellen, was auch weiter unten erklärt wird, daß das Decodiermittel die Verarbeitung nicht mitten in einem Block Videodaten abbrechen muß, wenn blockcodierte Signale benutzt werden. Ein solcher kleinerer Eingabepuffer ist auch für ATM Schnittstellenfunktionen erforderlich, wie die Kopffehlerkontrolle und Fehlerkorrektur.
- Zusammenfassend liefert das Schnittstellenmodul INT nur Basisfunktionen, und das Decodiermittel DEC1 und DEC2 verarbeitet die hereinkommenden Pakete wie sie ankommen, ohne vorher das Verzögerungszittern zu entfernen.
- Das Schnittstellenmodul INT liefert minimale Steuerdaten auf den Leitungen OV1 und OV2 an DEC1 bzw. PROC.
- In Bezug auf FIG. 3 ist das Decodiermodul DEC1 jetzt kurz beschrieben worden. Dieses Decodiermodul DEC1 bildet nur den ersten Teil eines Decodiermittels, und ein zweiter Teil DEC2 befindet sich im Bildpunktprozessor PROC, der auch den Rahmenablegecontroller FSC einschließt.
- Das Decodiermodul DEC1 reflektiert den gegenwärtigen Stand der Technik zu Codiertechniken, die zur effizienten Komprimierung führen. Es erhält die Videodaten VI über Terminal VI und die ersten Steuerdaten OV1 über die Leitung OV1. VI liegt an einem Decoder JPE6 an, und OV1 liegt an einem Übersetzungslogikbuch TRANS an, das sie in dritte Steuerdaten OV3 umwandelt, die an einem gleichnamigen Terminal OV3 zum Decoder JPE6 anliegen.
- JPE6 wandelt die Videodaten VI unter Steuerung der dritten Steuerdaten OV3 in ein erstes Zwischensignal INT1 um, das an einer gleichnamigen Ausgabeleitung INT1 anliegt. Das Signal INT1 liegt an einem Inverse Discrete Cosine Transform Block (IDCT Block) an, der damit ein zweites Zwischensignal INT2 erzeugt, das wieder an einer gleichnamigen Ausgabeleitung INT2 anliegt. Dieses Signal INT2 wird dann in einen FIFO Puffer verschoben. Von diesem FIFO Puffer bilden eine erste und eine zweite Ausgabe, LUM bzw. CHR, zusammen die Ausgabeleitung DECVI. Die Ausgabeleitungen LUM und CHR tragen gleichnamige Signale, LUM bzw. CHR, die aus Luminanz- und Chrominanzdaten bestehen.
- Der Decoder JPE6 decodiert VI gemäß einer bevorstehenden Norm der Joint Photographic Experts Group, wie zum Beispiel in Electronic Design vom Mai 1991, S. 49-53, von M. Leonard beschrieben und was als IC L64745 von LSI Logic Corp. erhältlich ist. Dieser Decoder ist spezifisch für Standbilder ausgelegt, wird hier aber für das Decodieren von beweglichen Bildern benutzt, da auf diesem Gebiet noch keine Normen herausgegeben worden sind.
- Der Decoder JPE6 wird von den dritten Steuerdaten OV3 gesteuert, die die variablen Längencodes und die Quantisierer angeben, wo sie im entsprechenden Codierer benutzt werden, der die empfangenen Pakete generiert hat.
- Decoder wie JPE6 und Übersetzungslogiken wie TRANS sind in der Technik gut bekannt und für einen Sachverständiger leicht zu implementieren. Daher werden sie nicht ausführlich beschrieben.
- Das erste von JPE6 generierte Zwischensignal INT1 wird im IDCT Block in ein zweites Zwischensignal INT2 umgewandelt. Schaltungen, die umgekehrte direkte Kosinus- Transformationsfunktionen durchführen, sind ebenfalls in der Technik gut bekannt. Eine solche Schaltung ist zum Beispiel in IC L64735 von LSI Logic Corp. ausgeführt.
- Das Signal INT2 besteht aus Einheiten von decodierten Videodaten, d.h. Bytes von Luminanz und Chrominanz, die zu einem Bildpunkt gehören.
- Es muß festgehalten werden, daß aufgrund der asynchronen Natur dieses Video Decoders nur ein Decodiermodul DEC1 des obigen Typs geliefert werden muß, während in Decodern aus dem Stand der Technik die Luminanz- und Chrominanz-Signale getrennt decodiert wurden, um den Zwängen der Zeitsteuerung gerecht zu werden, ohne die Auslegung weiter zu komplizieren.
- Da das Decodiermodul DEC1 die hereinkommenden Videodaten unabhängig vom Anzeigemodul bearbeiten kann, reicht in der Tat ein Decodiermittel für beide Datenkategorien aus. Der FIFO Puffer wird gestellt, um das zweite Zwischensignal INT2 wirksam in seinen Chrominanz- und Luminanzteil für weitere Verarbeitung zu demultiplexieren.
- Da die obige Information für einen Sachverständiger ausreicht, das Decodiermodul DEC1 zu implementieren, wird es nicht weiter beschrieben.
- Es muß festgehalten werden, daß in der Absicht, zu verhindern, daß das Decodiermodul DEC1 mit einer Spitzenbitrate hereinkommender Daten fertigwerden muß, was auf die statistischen Fluktuationen des Verzögerungszitterns zurückzuführen ist, der früher erwähnte Puffer im Schnittstellenmodul INT der FIG. 1 benutzt wird, um die schlimmsten Auswirkungen von Spitzenbitraten etwas zu glätten und somit die Auslegung des Decodiermoduls DEC1 zu mildern.
- In Bezug auf FIG. 4 wird jetzt die Funktion des Bildpunktprozessors PROC beschrieben.
- FIG. 4 detailliert nur den Inhalt der einzelnen Eingabe- und Ausgabesignale von PROC und die Form der gleichnamigen Eingabe- und Ausgabeterminale.
- Es wird darauf hingewiesen, daß PROC sowohl den zweiten Teil des Decodiermittels DEC2, als auch den Rahmenablegecontroller FSC wie vorher erwähnt umfaßt. Der Betrieb des Bildpunktprozessors PROC wird funktionell am besten beschrieben, wie nachstehend erfolgt, und nach dieser Beschreibung kann einer Sachverständiger ihn implementieren.
- FIG. 4 zeigt, daß die decodierten Videodaten DECVI aus Luminanz- und Chrominanzteilen LUM und CHROM bestehen, wie sie vom Decoder DEC1 erhalten werden und Daten in Bezug auf den Luminanz- bzw. Chrominanzteil entsprechender Bildpunkte im Rahmen tragen. Ein zweites Eingabesignal alter Einheiten von Videodaten OLD wird auf gleiche Weise durch Luminanz- und Chrominanzteile LUMO und CHROMO gebildet, die aus dem Rahmenablegespeicher FSM zurückgeladen werden. Des weiteren wird auch das Ausgabesignal neuer Einheiten von Videodaten NEW1 in Luminanz- und Chrominanzteile LUM1 und CHROM1 unterteilt, die im Rahmenablegespeicher FSM abgelegt werden. Wie LUMO, CHROMO, LUM1 und CHROM1 von FSM erzielt werden, wird später noch erklärt.
- Eine andere Eingabe OV2 an den Rahmenablegecontroller FSC trägt das gleichnamige Signal OV2, die die zweiten Steuerdaten sind, die wie in FIG. 4 gezeigt, aus Streifendaten STRIPE, Felddaten FIELD und Modusdaten MODE wie von INT generiert gebildet sind. Die in STRIPE und FIELD enthaltenen Daten werden zur Angabe dessen benutzt, welcher Teil des Bildes zur Zeit decodiert wird. Die Modusdaten MODE geben den Codiermodus an, der für den gegenwärtig decodierten Bildteil benutzt wird, und geben z.B. Codieren innerhalb des Rahmens oder Prädiktionszwischenrahmen-Codieren an.
- Eine weitere Eingabe ADJ trägt das Taktgeberanpassungssignal ADJ, das aus einer ersten Zeilennummer LINE1 und einer zweiten Zeilennummer LINE2 gebildet ist, was weiter unten in Bezug auf FIG. 7 ausführlich beschrieben wird.
- Eine letzte Eingabe ist die externe Steuereingabe EXT, und eine letzte Ausgabe ist VIDEOSYNC, die an das Anzeigemittel DIS angeschlossen ist.
- Das Steuersignal CTL wird vom Rahmenablegecontroller FSC zur Steuerung des Rahmenablegespeichers FSM benutzt und wird ausführlich beschrieben, wenn letzterer Speicher in Bezug auf FIG. 5 beschrieben wird.
- Es wird darauf hingewiesen, daß Codiertechniken, wie das Prädiktionszwischenrahmen-Codieren und die später angesprochene Bewegungskompensation in der Technik gut bekannt sind, z.B. durch den Artikel "Video compression makes big gains" (Videokomprimierung sorgt für große Gewinne), IEEE Spectrum, Oktober 1991, von H. Peng et alii.
- Wenn die Modusdaten MODE angeben, daß das Prädiktionszwischenrahmen-Codieren benutzt wurde, addiert der Decodierteil DEC2 des Bildpunktprozessors PROC die decodierten Videodaten DECVI zu den Daten, die zu alten Einheiten von decodierten Videodaten OLD gehören, die er aus dem Rahmenablegespeicher FSM zurücklädt.
- Er wendet dann einen umgekehrten Prädiktionscodieralgorithmus an, von denen viele in der Technik beschrieben sind, und er leitet neue Einheiten von decodierten Videodaten NEW1 ab, die er an das Terminal NEW1 anlegt, um diese neuen Einheiten im Rahmenablegespeicher FSM abzulegen.
- Auf der anderen Seite, wenn MODE angibt, daß Bewegungskompensation geliefert werden muß, liest der Bildpunktprozessor PROC einen spezifischen Teil des Rahmenablegespeichers FSM, der dem Rahmenablegecontroller FSC durch einen Bewegungsvektor angegeben wird, der ebenfalls in den Modusdaten übertragen wird. Die Frage der Bewegungskompensation wird weiter unten ausführlich beschrieben.
- Es wird darauf hingewiesen, daß die über OLD zurückgeladenen Daten in Wirklichkeit NEW1 Daten sind, die bei der Bearbeitung von Bildpunktdaten in DEC vorher abgelegt wurden, und die zu einem entsprechenden vorherigen Bildteil gehören.
- Das VIDEOSYNC Signal wird von PROC auf der Grundlage des Inhalts von CTL aufgebaut und gibt den Anfang einer Bildzeile an, der vom Anzeigemodul benutzt werden soll.
- Der in FIG. 5 abgebildete Rahmenablegespeicher FSM ist ein Dualanschlußspeicher, der in der Technik gut bekannt ist und zum Beispiel durch Kombination von 8 TMS44C251-100 integrierten Schaltungen von Texas Instruments ausgeführt werden kann. Der Rahmenablegespeicher FSM hat eine erste Eingabe NEW1, an die gleichnamige neue Einheiten von decodierten Videodaten NEW1 von PROC angelegt werden. Sie werden aus Luminanz- LUM1 bzw. Chrominanzteilen CHROM1 gebildet. Eine Ausgabe NEW2 dieses Speichers trägt auch neue Einheiten von decodierten Videodaten NEW2, die wie oben aus LUM2 und CHR2 Teilen gebildet werden. An einer anderen Ausgabe OLD werden gleichnamige alte Einheiten decodierter Videodaten OLD zurückgeladen. Sie werden aus einem Luminanzteil LUM0 und einem Chrominanzteil CHR0 gebildet. Der Rahmenablegecontroller FSC von PROC steuert diesen Speicher über das Steuerterminal CTL.
- Der innere Aufbau des Rahmenablegespeichers FSM wird nur schematisch gezeigt und besteht aus 8 Dualanschlußspeichern VRAM1 bis VRAM8, wobei jeder dieser Dualanschlußspeicher oder VRAMs aus einem dynamischen RAM oder DRAM Speicher und einem Serienspeicher SAM gebaut ist. Diese DRAMs und SAMs sind wieder von DRAM1 bis DRAM8 bzw. SAM1 bis SAM8 nummeriert. Wie auch in FIG. 5 schematisch gezeigt wird, werden die vom Rahmenablegecontroller FSC kommenden und oben beschriebenen neuen Einheiten NEW1 in einem der DRAMs abgelegt. Die alten Einheiten OLD, die vom Rahmenablegecontroller FSC benutzt werden sollen, werden aus diesen DRAMs zurückgeladen. Die neuen Einheiten NEW2, die vom Anzeigemittel DIS benutzt werden sollen, werden jedoch von den SAMs zurückgeladen.
- Dieser Erfindung liegt das Prinzip zugrunde, den Decodierprozeß, (der mit dem Decodierteil DEC2 des Bildpunktprozessors PROC endet), vom von DIS ausgeführten Anzeigeprozeß zu trennen.
- Mit dem Einsatz eines Dualanschluß- Rahmenablegespeichers FSM werden diese beiden Prozesse auch in der Hardware getrennt. Während der Decodierprozeß schwierige Adressierung benötigt, um das Prädiktionsclockcodieren zu implementieren und möglicherweise Bewegungskompensation, für die die DRAMs benutzt werden, benötigt der Anzeigeprozeß sehr einfache Adressierung für das Lesen der Bilder Zeile für Zeile und Bildpunkt für Bildpunkt, was mit Benutzung der SAMs erreicht wird. Diese SAMs erlauben nur aufeinanderfolgende Lesevorgänge ihrer verschiedenen Speicherplätze.
- Die Block- zur Zeilenumwandlung erfolgt implizit im Rahmenablegespeicher FSM. Mit der Sicherstellung, daß festgelegte Verbindungen auf der oben erwähnten variablen Anzahl bestehen, nämlich die Menge der darin enthaltenen Einheiten in einem Streifen bzw. einem Rahmen minus einem Streifen, ermöglicht in der Tat der Transfer von DRAM zu SAM dem Anzeigemittel DIS, die korrekten Daten zu lesen, ohne einen weiteren Speicherblock zu benötigen, der für diese Umwandlung vorgesehen ist, wie in Systemen aus dem Stand der Technik.
- Nachfolgend wird beschrieben, wie der FSC das Ablegen von NEW1 und das Zurückladen von OLD über das Steuersignal CTL steuert. Das Zurückladen von NEW2 durch das Anzeigemittel DIS wird später ausführlich erklärt, wenn die Arbeit dieses Mittels beschrieben wird.
- In der Beschreibung der Steuerung von FSM durch FSC wird angenommen, daß FSC eine Speicherzuordnung enthält, die den Platz eines Bildpunkts in einem Bildrahmen einem Speicherplatz des FSM zuordnet, wo die zu letzterem Bildpunkt gehörenden Daten abgelegt werden müssen, oder von wo diese Daten zurückgeladen werden müssen. Wie diese Speicherzuordnung erzielt wird, wird später erklärt.
- Von CTL können drei mögliche Zeigerwerte oder Speicheradressen angegeben werden. Sollten Daten gespeichert werden müssen, die einen neuen Bildpunkt betreffen, wird der Speicherplatz im FSM, wo diese Daten abgelegt werden sollen, d.h. der Wert des früher erwähnten ersten Zeigers, vom PROC Modul an den FSM gegeben. Dieser Speicherplatz wird vom Inhalt von OV2 unter Benutzung der früher erwähnten Speicherzuordnung abgeleitet. CTL kann auch den Wert des vorher erwähnten zweiten Zeigers enthalten, wenn NEW2 zwecks Anzeige der Bildpunkte an DIS weitergegeben werden muß. Weitere Einzelheiten zu dieser Anzeige werden später gegeben, wenn DIS beschrieben wird. Bei Decodieren von prädiktionscodierten Daten oder bei Bewegungskompensation enthält CTL den Wert eines dritten Zeigers, der von PROC benutzt wird, um OLD zurückzuladen.
- Es muß festgehalten werden, daß bei Bewegungskompensation der vorher erwähnte Bewegungsvektor zusammen mit dem ersten Zeiger den dritten Zeiger festlegt. Der Bewegungsvektor gibt in der Tat einen zu decodierenden Versatz von der neuen Einheit, deren Platz vom ersten Zeiger angegeben wird, der alten Einheit an, die für dieses Decodieren benutzt werden soll.
- Während der zweite Zeiger einfach aufeinanderfolgende Adressen im Rahmenablegespeicher FSM angibt, kann der erste Zeiger gemäß der Streifen- oder Felddaten aufgedatet werden müssen, STRIPE bzw. FIELD von OV2, zum Beispiel, wenn aufgrund von Übertragungsfehlern ein Paket verloren wurde, oder wenn die Synchronisierung auf den variablen Längencodes verloren wurde. In diesen Fällen würde in der Tat ein einfacher Zählprozeß zur vollkommen falschen Auslegung von empfangenen Paketen führen. Daher müssen auch minimale Synchronisationsdaten in den zweiten Steuerdaten OV2 vorhanden sein, zumindest, um dem Rahmenablegecontroller FSC von FIG. 1 eine Möglichkeit zu geben, auf den ankommenden Bilddaten neu zu synchronisieren.
- Der erste und der dritte Zeiger müssen somit vom Rahmenablegecontroller FSC berechnet werden, um den Speicherplatz in den DRAMs anzugeben, der eine bestimmte Einheit eines Rahmens betrifft. Der zweite Zeiger muß nur angeben, auf welchen SAM zugegriffen werden muß. Der zweite Zeiger kann vom Rahmenablegecontroller FSC ausdrücklich festgelegt werden und an den Rahmenablegespeicher FSM über Terminal CTL angelegt werden, um den richtigen SAM zu wählen, aus dem NEW 2 zurückgeladen wird. Als Alternative könnte das VIDEOSYNC Signal, das den Anfang einer Zeile angibt, vom Anzeigemittel DIS dazu benutzt werden, um nur einfach auf einen nächsten SAM zuzugreifen.
- Im Obengesagten wurde implizit angenommen, daß im Rahmenablegecontroller FSC eine Speicherzuordnung existierte, mit der er vom Speicherplatz einer Einheit in einem Bildrahmen einen entsprechenden Speicherplatz im Rahmenablegespeicher FSM ableiten konnte. Dies für die Berechnung der verschiedenen Zeiger. Es wurde jedoch nichts darüber gesagt, wie diese Speicherzuordnung abgeleitet werden muß, um den Rahmenablegespeicher FSM richtig zu betreiben, und insbesondere, um die SAMs zur rechten Zeit mit allen Daten zu füllen, die zu einer Zeile des Bildes gehören. Dies wird jetzt geklärt werden.
- Der Aufbau des Rahmenablegespeichers FSM wird besprochen, während der obige Typ von integrierten Schaltungen mit Dualanschlußspeicher von Texas Instruments eingesetzt wird. Diese Speicher sind 4 Bits breit und 256 K Adressen lang. Für die Verwaltung von Einheiten von decodierten Videodaten von 8 Bits werden 2 integrierte Schaltungen parallel genommen. Luminanz- und Chrominanzteile der verschiedenen Signale NEW1, NEW2, OLD werden parallel benötigt, und so wird wieder auf 2 mal 2 parallele Chips gleichzeitig zugegriffen. Für die Prädiktionszwischenrahmencodierung ist eine weitere Parallelisierung erforderlich: 2 Module mit 2 mal 2 Chips werden benutzt. Wenn so vorgegangen wird, wird die in FIG. 5 abgebildete Situation geschaffen, wo 8 der o.a. Chips benutzt werden und wo zwei Chips benutzt werden, um die 8 Bits einer Einheit abzulegen. Diese Anzahl wird verdoppelt, damit Luminanz- und Chrominanzdaten getrennt werden, und sie werden weiter verdoppelt, um zwei Module mit Chips zu schaffen. Auf diese Weise ist ausreichend Speicherkapazität für das Ablegen aller Einheiten eines Rahmens verfügbar.
- Zunächst wird die Speicherzuordnung besprochen, ohne die Bewegungskompensation zu berücksichtigen, die weiter unten besprochen werden wird.
- Der Speicheradressierraum besteht für jeden Chip aus 9 Bits zur Angabe der Reihe und aus 9 Bits zur Angabe der Spalte im Speicher. Mit diesen 18 Bits erfolgt der Zugriff auf die 2 Chips gleichzeitig, um auch Einheiten zu versorgen, die 8 Bits groß sind. Ein weiteres Bit wählt entweder die Luminanz- oder die Chrominanzchips eines bestimmten Moduls. Ein verlorenes Bit ist für die Wahl erforderlich, in welchem Modul Einheiten abgelegt oder zurückgeladen werden sollen, was somit zu 20 Bits für den Adressierraum des Rahmenablegespeicher FSM führt. Um das Adressieren zu beschleunigen, werden zwei Datenbusse für jedes Modul getrennt benutzt, die physisch im Rahmenablegecontroller FSC gewählt werden.
- Als Beispiel werden wir nun spezifisch die Speicherzuordnung betrachten, die benutzt werden soll, wenn Daten konform mit der Norm CCIR 601 empfangen werden. Normen, die andere Auflösungen benutzen, können von diesem Video Decoder ebensogut und ohne Änderungen der Hardware verarbeitet werden. Dies wird nach dem Abschluß der Beschreibung zum Fall der CCIR 601 gezeigt werden.
- In der CCIR 601 Norm muß der Speicherplatz einer Einheit in einem Rahmen innerhalb eines Rahmens von 576 Zeilen mit 720 Bildpunkten ausgedrückt werden. Jeder Rahmen besteht aus 2 Feldern mit 36 Streifen, und jeder Streifen aus 180 Blöcken mit 64 Bildpunkten. Die Streifen sind so aufgebaut, daß sie alle Einheiten von 8 aufeinanderfolgenden Zeilen und die entsprechenden Blöcke enthalten. 90 Blöcke eines Streifens sind zwei Typen von Chrominanzdaten zugeordnet, nämlich CB und CR, während alle anderen 90 Blöcke eines solchen Streifens für Luminanzdaten benutzt werden. Alles obengesagte ist in der Technik gut bekannt. Diese Daten führen zu einem Rahmenadressierraum, wie in folgender Tabelle gezeigt:
- F0 Feldnummer
- S5-S0 Streifennummer (6 Bits, auf 35 begrenzt)
- B6-B0 Blocknummer (7 Bits, auf 95 begrenzt)
- P5-P0 Bildpunktnummer (6 Bits)
- L/C Luminanz oder Chrominanz
- So ist der Rahmenadressierraum 21 Bits groß, während der Speicheradressierraum mit Zählung der Modulnummer 20 Bits groß ist. Somit muß die gleiche Berechnung angestellt werden, um den Speicherplatz einer Einheit in der Speicherzuordnung und den Wert verschiedener Zeiger zu bestimmen, der im Rahmenablegecontroller FSC implementiert ist. Es muß auch festgehalten werden, daß Streifen- und Feldnummern vom FSC auf der Grundlage der zweiten Steuerdaten OV2 geprüft werden können, und insbesondere deren FIELD und STRIPE Teile, während die Bildpunkt- und Blocknummern durch internes Zählen der decodierten Einheiten abgeleitet werden müssen.
- Des weiteren muß festgehalten werden, daß der obige Speicheradressierraum nur für die DRAMs relevant ist, der Zugriff auf die SAMs wird später beschrieben.
- Geradzahligen und ungeradzahligen Zeilen eines Rahmens werden Speicherplätze in verschiedenen Modulen gegeben, um Probleme mit der Zeitsteuerung zu verringern, wie nachstehend geklärt wird. Auf diese Weise werden die beiden verschiedenen Datenbusse maximal genutzt, denn beim Decodieren eines Blocks werden jeweils 8 aufeinanderfolgende Bildpunkte zu abwechselnden Modulen gehören.
- Eine zweite wichtige Betrachtung besteht darin, daß alle Einheiten, die zu einer Anzeigezeile und -kategorie gehören, d.h. entweder Luminanz oder Chrominanz, sich in einem Chip befinden sollten, wo immer dies möglich ist. Auf diese Weise wird der SAM höchst effizient genutzt, da diese Einheiten einer Videozeile mit einem existierenden internen Mechanismus des erwähnten Speicherchips vom DRAM zum SAM weitergegeben werden können, und das Anzeigemittel DIS kann einfach diesen SAM seriell lesen, um diese Videozeile anzuzeigen.
- Im Falle der CCIR 601 ist dies wegen der Anzahl Bildpunkte auf einer solchen Videozeile nicht möglich. In der Tat übersteigt die Anzahl der in einer solchen Zeile enthaltenen Einheiten die Kapazität eines SAM. In einem solchen Falle sollten so wenig wie möglich SAMs für das Ablegen solch einer langen Videozeile benutzt werden. Durch Abwechslung der Module für geradzahlige und ungeradzahlige Zeilen benutzt das Anzeigemittel DIS auch abwechselnde Module im Anzeigemittel. Es wird darauf hingewiesen, daß die Block- zu Zeilenumwandlung in einem Rahmenablegespeicher FSM auf diese Weise implementiert werden kann.
- Des weiteren kann gesagt werden, daß bei der Nutzung des parallelen Zugriffs auf 2 Chips zur Versorgung von Einheiten mit 8 Bits Größe der einzige in diesem Paragraphen erwähnte Chip sich physisch an die 2 parallelen Chips anpaßt.
- Das Abwechseln der Zeilen in zwei verschiedenen Modulen kann leicht erreicht werden, indem zugelassen wird, daß Bit P3 das Modul wählt. Es kann geprüft werden, daß den obigen Forderungen entsprochen wird, wenn eine Adressübersetzungstabelle und eine Adressenabstimmung wie in den folgenden Tabellen zu sehen benutzt werden. Tabelle 1 Adressenübersetzer
- In obiger Tabelle sind die Symbole A0; ...; A4 für die Reduzierung des Rahmenadressierraums mit 21 Bits auf einen Zwischenadressierraum mit nur 20 Bits erforderlich, um mit dem Speicheradressierraum kompatibel zu sein. Die Übersetzung von diesem Zwischenadressierraum bis zum Speicheradressierraum erfolgt gemäß folgender Tabelle. Tabelle 2 Adressenabstimmung
- In Bezug auf obige Adressenabstimmungstabelle kann gesagt werden, daß der Rahmenablegecontroller FSC durch Zählen der decodierten Einheiten in jedem neuen Streifen leicht bestimmen kann, ob eine neue Einheit decodierter Videodaten in einem Luminanz- oder einem Chrominanz- Speicherchip "L" für die Adressenabstimmung abgelegt werden soll, während es im letzteren Fall die Zeile nach "C" in der gleichen Tabelle sein wird. Für Chrominanzdaten ist es des weiteren wichtig, daß, obwohl zwei Typen von Chrominanzdaten, nämlich CB und CR, getrennt in getrennten Blöcken ankommen, diese beiden Typen im Rahmenablegespeicher für den korrekten Betrieb des Anzeigemittels DIS überlappt werden sollten. Es kann geprüft werden, daß dies erreicht wird, indem die vier letzten Bits gegenüber dem Luminanzfall der Spaltenadresse gedreht werden, wenn Chrominanzdaten empfangen werden, was in Tabelle 2 gezeigt wird. Der Einfachheit halber wird die gleiche Maßnahme für die Reihenadresse getroffen, wie ebenfalls in Tabelle 2 zu sehen. Bei Benutzung der obigen Tabellen werden auch die zwei verschiedenen Typen von Chrominanzdaten, nämlich CB und CR, automatisch gemäß dem CCit 601-Fall demultiplexiert. Die vorhyergehenden Ergebnisse in einer Speicherzuordnung gemäß folgender Tabelle werden demultiplexiert, wobei nur ein Modul mit entweder den geradzahligen oder den ungeradzahligen Zeilen betrachtet wird. Tabelle 3 Speicherzuordnung
- In obiger Tabelle steht St für Streifen, und die Zahlen geben die Nummern solcher Streifen im Rahmen an. In der obigen Tabelle steht Pi für Bildpunkte, und die Zahlen geben die Nummer dieser Bildpunkte in einer Videozeile des Rahmens an. St 0-3 Pi 0-255 zum Beispiel bezeichnet die ersten 256 Bildpunkte der geradzahligen oder ungeradzahligen Videozeilen an, die in den ersten 4 Streifen des Rahmens enthalten sind.
- Aus obiger Speicherzuordnung ergibt sich, daß etwas Gesamtkapazität im Rahmenablegespeicher FSM verfügbar ist, d.h. einige Teile dieser Speicher werden in obigem Fall niemals benutzt. Diese Gesamtkapazität kann für die Implementierung von Bewegungskompensation benutzt werden, indem eine nichtpermanente Speicherzuordnung benutzt wird, was nachstehend geklärt wird.
- Negative Bewegungsvektoren zulassen, bedeutet, daß die obige permanente Speicherzuordnung für Bewegungskompensation nicht geeignet ist, weil alte Einheiten, die durch einen solchen negativen Bewegungsvektor angegeben werden, schon von neuen Einheiten überschrieben worden sind, wenn sie für das Bewegungskompensationsschema benötigt werden. Der freie Raum, der in der Tabelle 3 mit "Für MC vorbehalten" angegeben wird, wird zum Überwinden dieser Probleme benutzt. Da keine Zeit vorhanden ist, Daten in diesen Freiraum zu kopieren, muß eine nichtpermanente Speicherzuordnung benutzt werden. Dann ändert sich der Speicherplatz, an dem eine bestimmte Einheit in einem Rahmen gefunden werden muß, mit jedem der nacheinander empfangenen Rahmen. Dies erfolgt, wenn zum Beispiel eine neue Einheit 16 Spalten unter ihre entsprechende alte Einheit geschrieben wird. Bei diesem Prinzip ist ein negativer oder positiver Bewegungsvektor mit höchstens 4 Streifen zulassig, was mehr ist, als in Systemen aus dem Stand der Technik. Angesichts der obigen Beschreibung kann dieses Prinzip von einem Sachverständiger implementiert werden und wird daher nicht ausführlicher beschrieben.
- In Bezug auf FIG. 6 wird jetzt das Blockschema des Anzeigemittels DIS kurz besprochen. DIS hat als Eingabe das Signal NEW2, das aus den Signalen LUM2 und CHR2 besteht, die aus dem Rahmenablegespeicher FSM zurückgeladen werden und die Luminanz bzw. die Chrominanz der Bildpunkte enthalten. Dieses Eingabesignal liegt zuerst an einem Block YCTOR6B an, der es in ein für die Anzeige angemessenes rot/grün/blau-Format umwandelt. Dieser Block hat drei Ausgaben R1, G1 bzw. B1 entsprechend der Menge von rot, grün bzw. blau in einem bestimmten Bildpunkt. Diese Ausgaben werden an einen D/A- Wandlerblock DAC angelegt. Dieser Block hat auch als Eingabe das Signal VIDEOSYNC vom Bildpunktprozessor PROC, das den Beginn einer neuen Zeile nach Bedarf für die Anzeige eines Bildes angibt.
- Der DAC Block hat 4 Ausgaben R2, G2, B2 bzw. S, an denen gleichnamige analoge Signale anliegen. Diese Signale treiben einen Videobildschirm MONITOR, der das Videosignal anzeigt. Anzeigemittel wie DIS sind in der Technik gut bekannt, und einer Sachverständiger sollte es problemlos implementieren können.
- Es muß festgehalten werden, daß der Rahmenablegecontroller FSC von FIG. 1 so ausgelegt werden kann, daß die Auflösung der Anzeige geändert werden kann, oder daß sie sich an die Änderung der Auflösung der erhaltenen Daten anpassen kann, z.B. durch Decodieren der Videodaten gemäß Äuflösungen nach CIF anstatt CCIR 601, und dies ohne Änderungen der Hardware. Hierbei besteht die einzige Einschränkung darin, daß der Rahmenablegespeicher FSM beim Decodieren von prädiktionscodierten Daten groß genug sein muß, um alle Einheiten aufzunehmen, die in solch einem genormten Rahmen benötigt werden.
- Zum Beispiel könnte das zweite Steuersignal OV2 dazu benutzt werden, ein Signal zu schicken, das angibt, daß anstelle CCIR 601 Rahmen zu empfangen, H261 Rahmen decodiert werden. Der Rahmenablegecontroller muß dann nur eine andere Speicherzuordnung für diese verschiedenen Rahmen benutzen. Die Ableitung einer solchen Speicherzuordnung ist angesichts des Obengesagten für einen Sachverständiger klar.
- Aufgrund des asynchronen Betriebs des Video Decoders müssen das Anzeigemittel und das Decodiermittel nicht mit der gleichen Auflösung arbeiten, und folglich kann diese Auflösung während des Betriebs verändert werden, z.B. sie könnte benutzt werden, um unter Steuerung des Signals EXT auf einen bestimmten Teil eines Rahmens zu zoomen, indem durch Interpolation neue Einheiten hinzugefügt werden oder einfach das Anzeigemittel durch den zweiten Zeiger beeinflußt wird, nur einige Einheiten im Rahmenablegespeicher FSM anzuzeigen.
- Die obigen Charakteristiken können es zum Beispiel erforderlich machen, daß der Gesamtsystemtaktgeber SC unter Steuerung des externen Steuersignals EXT durch den Rahmenablegecontroller FSC geteilt wird, um angemessene Verarbeitungsgeschwindigkeiten für die beiden Prozesse zu erzielen. Diese Charakteristiken können auch durch die Decodiermittel DEC1 und DEC2 ausgeführt werden, indem einige Pakete übersprungen werden, oder durch den Rahmenablegecontroller FSC, indem einige Einheiten übersprungen werden, und die so gewonnene Zeit für das Implementieren von z.B. Interpolation genutzt wird.
- Wenn zum Beispiel Videosignale mit gröberer Auflösung empfangen werden als die von CCIR 601 spezifizierte, kann der Rahmenablegecontroller FSC die Decodiermittel DEC1 und DEC2 steuern, um vorübergehende neue Einheiten von den empfangenen Einheiten zu schaffen, d.h. sie durch Signalabtastung zu berechnen. Alle diese neuen Einheiten können dann unter Benutzung der oben spezifizierten Speicherzuordnung im Rahmenablegespeicher FSM abgelegt werden. Dies führt dazu, daß zum Beispiel ein gleicher nach CCIR 601 genormter Monitor für beliebige Auflösungen der erhaltenen Videodaten benutzt werden kann.
- Ein wichtiger Aspekt dieser Erfindung besteht in der Vermeidung von Bildqualitätsverschlechterung, die durch das Kreuzen des ersten und des zweiten Zeigers verursacht wird, wie weiter oben ausführlich beschrieben. Wenn blockcodierte Videodaten benutzt werden, muß eine etwas strengere Forderung erfüllt werden, um jegliche Bildqualitätsverschlechterung zu vermeiden, nämlich die beiden Zeiger sollten innerhalb eines Streifens keinen Bildpunkten entsprechen. Wenn dies passieren würde, würde das Anzeigemittel DIS teilweise alte Einheiten und teilweise neue Einheiten des bearbeiteten Streifens anzeigen, weil die Anzeige zeilen- oder streifenorientiert ist, während das Decodieren blockorientiert ist. Daher sollte die variable Anzahl innerhalb festgelegter Grenzen bleiben, d.h. zwischen einem Streifen und einem Rahmen minus einem Streifen, um Bildqualitätsverschlechterung zu vermeiden.
- Obiges wird durch das Steuermittel CON erreicht, das in FIG. 7 abgebildet ist. CON erhält vom Rahmenablegecontroller FSC aus FIG. 1 ein Eingabesignal ADJ, das aus einer ersten Zeilennummer LINE1 und einer zweiten Zeilennummer LINE2 gebildet wird, bzw. angibt, welche Zeile in einem Rahmen gegenwärtig vom Decodiermittel DEC1 und DEC2 und dem Anzeigemittel DIS verarbeitet wird. Die zweite Zeilennummer LINE2 wird in einem Subtraktionsmodul 5 von der ersten Zeilennummer LINE1 abgezogen, und das Resultat wird in einen P0S Block eingegeben, der aus dem besagten Resultat eine Anzahl zwischen 0 und der Gesamtanzahl Zeilen berechnet, die im Rahmen enthalten sind, minus einer. Die Ausgabe dieses Blocks wird in einem Komparator C mit einem Zählerwert verglichen, der das Ausgabesignal eines Modulzählers CR ist, der von null bis zur oben erwähnten Gesamtzahl minus eins zählt. Dieser Modulzähler CR zählt mit einer Frequenz, die von einem Taktgebereingabesignal SC1 bestimmt wird, das nach Teilung (nicht gezeigt) vom Systemtaktgebersignal SC abgeleitet ist und das der Klarheit halber in FIG. 1 nicht gezeigt wird.
- Die Ausgabe des Komparators C ist ein impulsbreitenmoduliertes Signal PWM, das in ein Tiefpaß filter LP eingegeben wird, dessen Ausgabesignal DC für die Steuerung des Systemtaktgebers SC benutzt wird.
- Der P0S Block wandelt das Ergebnis der Subtraktion in einen Angabewert der vorher erwähnten variablen Anzahl um. Er vermeidet, daß negative Ergebnisse vom Steuermittel weiter benutzt werden, da diese negativen Werte Fällen entsprechen, in denen der implizite Puffer die Grenzen des Rahmenablegespeichers FSM überschreitet, wie schon in Bezug auf FIG. 2b besprochen wurde. Der Angabewert der variablen Anzahl im Fall eines negativen Werts wird durch Addieren des negativen Ergebnisses zur vorerwähnten Gesamtanzahl erzielt.
- Es muß festgehalten werden, daß die Differenz zwischen LINE2 und LINE1 nicht genau gleich der variablen Anzahl ist, sondern eine Angabe für diese Anzahl ist. Die erste Zeilennummer-Steuerung LINE1 ist in der Tat vom Rahmenablegecontroller FSC von den zweiten Steuerdaten OV2 abgeleitet, indem die Streifennummer STRIPE mit 8 multipliziert wird und hierdurch die letzte Zeile eines Streifens angegeben wird, während die zweite Zeilennummer LINE2 vom Rahmenablegecontroller FSC vom zweiten Zeiger abgeleitet wird. Eine Alternative wäre, die vom ersten und zweiten Zeiger abgeleiteten Bildpunktspeicherplätze zu benutzen, aber dies führt zu einem Ausgabewert, der in sich in relativ großen Schritten aufgrund der Tatsache verändert, daß der erste Zeiger einen Bildpunktblock eines Bildes angibt, während der zweite Zeiger eine Anzeigezeile angibt.
- Die Ausgabe von P0S, die eine Angabe zur variablen Anzahl ist, wird mit einem festgelegten Wert verglichen, d.h. der Hälfte der erwähnten Gesamtanzahl, wie vom Zähler COUNTER erzeugt. Wenn das Ausgabesignal breiter als der festgelegte Wert ist, was bedeutet, daß die Anzahl der sich zwischen den vom zweiten und ersten Zeiger angegebenen Speicherplätzen befindlichen Bildpunkte größer als ein festgelegter Wert ist, werden am Ausgang des Komparators breite Impulse erzeugt, während dies im entgegengesetzten Fall zu schmalen Impulsen führt. Breite Impulse erzeugen nach der Tiefpaß filterung im LOW PASS Block ein breiteres Signal DC, das die Frequenz des Systemtaktgebers SC beschleunigt, was zu einer höheren Zurückladerate von Daten von FSM durch DIS führt. Auf diese Weise holt der Anzeigeprozeß den Decodierprozeß ein und reduziert hierdurch die variable Anzahl von Einheiten zwischen dem zweiten und dem ersten Zeiger.
- Auf der anderen Seite, wenn das Ausgabesignal von P0S kleiner als der festgelegte Wert ist, werden von C schmalere Impulse erzeugt, was zu einem schmaleren Signal DC, einer Verlangsamung der Frequenz des Systemtaktgebers SC und daher einer geringeren Zurückladerate von Daten durch DIS führt.
- Das obige Steuermittel CON stimmt hierdurch indirekt den Anzeigeprozeß auf die Datenrate ab, die vom Codierer erzeugt wird, ohne dafür bestimmte PLL-Kreise und große Eingabepuffer in INT von FIG. 1 zu benötigen.
- Es muß festgehalten werden, daß das Verzögerungszittern und die variierende Datendichte in den empfangenen Paketen im Falle von variabler Bitratencodierung geringen Einfluß auf die Stabilität der Frequenz des Systemtaktgebers SC haben, und daher den Video Decoder mit existierenden Anzeigenormen wie CCIR 601 oder PAL kompatibel halten. Die erwähnte variierende Datendichte führt zu Fluktuationen in der variablen Anzahl, weil manche Pakete dazu führen, daß viele Einheiten bei einer schnellen Rate decodiert werden, während andere Pakete nur Daten bezüglich weniger Einheiten tragen und daher eine langsame Decodierrate haben, aber die Instabilität der Frequenz von SC kann durch Festlegung einer geeigneten Grenzfrequenz des Tiefpaßfilters LP begrenzt werden, sodaß das DC variabler Spannung höchstens mit letzterer Frequenz variieren kann, und hierdurch die erwähnte Instabilität innerhalb festgelegter Grenzen halten kann. Eine Grenzfrequenz von z.B. 1 Hz reicht aus, um eine ausreichend stabile Taktgeberfrequenz zu erreichen. Es ist des weiteren erforderlich, daß die Frequenz des impulsbreitenmodulierten Signals PWM hoch genug ist, daher sollte das Taktgebereingabesignal SC1 an den Modulzähler CR zum Beispiel eine Frequenz haben, die hoch genug ist, um sicherzustellen, daß die vorherige Frequenz zum Beispiel 1 Mhz beträgt. Auf jeden Fall sollte die Frequenz von SC1 so sein, daß genug Proben des Ausgabesignals P0S innerhalb der Zeit genommen werden, die für die Anzeige eines Rahmens erforderlich ist, d.h., diese Frequenz SC1 sollte mindestens breiter sein als eine Rahmenperiode dividiert durch die erwähnte Gesamtanzahl. Das Problem der Erzielung eines ausreichend stabilen Systemtaktgebers SC kann weiter durch einen kleinen Eingabepuffer gemildert werden, der für das Glätten des Verzögerungszitterns benutzt wird, wie schon vorher erwähnt.
- Es ist schon erwähnt worden, daß zu jeder Zeit innerhalb der Anzeige das angezeigte Bild eingefroren werden kann, indem der Rahmenablegecontroller FSC gesteuert werden kann, über die externe Steuereingabe EXT alle ankommenden Daten zu überspringen, indem er sie einfach nicht in den Rahmenablegespeicher FSM schreibt. Ebenso kann der Video Decoder für die Anzeige von Standbildern benutzt werden, z.B. gemäß der obenerwähnten JPE6 Norm. Der Wunsch, eine solche Charakteristik zu benutzen, kann in den zweiten Steuerdaten OV2 angegeben werden. Hierzu, wenn das Steuermittel CON benutzt wird, muß seine Steuerwirkung ausgesetzt werden z.B. indem zugelassen wird, daß der Rahmenablegecontroller FSC das Anpassungssignal ADJ vordefiniert.
Claims (18)
1. Video Decoder, geeignet für den Empfang von
Paketen von einem Paketschaltnetzwerk, wobei die besagten
Pakete Steuerdaten (OV1, OV2) enthalten und Videodaten
(V1), und wobei besagter Video Decoder in Echtzeit
bewegliche Videobilder verarbeiten kann und folgendes
einschließt:
- Decodiermittel (DEC1, DEC2), geeignet für die
Ableitung mit einer ersten Rate von mindestens besagten
Videodaten (VI) neuer Einheiten von decodierten
Videodaten (NEW1) in Bezug zu einem laufenden
abzulegenden Videorahmen;
- Dualanschluß-Rahmenspeichermodul (FSM), geeignet
für das vorübergehende Ablegen von besagten neuen
Einheiten (NEW1);
- Anzeigemittel (DIS), geeignet für das Zurückladen
von besagtem Dualanschluß-Rahmenspeicher (FSM) mit einer
zweiten Rate von abgelegten neuen Einheiten (NEW2) in
Bezug zu einem laufenden Videorahmen, der an einem
Videobildschirm angezeigt werden soll;
- Steuermittel (PROC, CON), geeignet für das
Steuern eines Decodierprozesses, der von besagten
Decodiermittels (DEC1, DEC2) ausgeführt wird;
dadurch gekennzeichnet, daß das besagte
Anzeigemittel geeignet ist, nachdem eine der besagten
neuen Einheiten (NEW1) abgeleitet und in besagtem
Dualanschluß-Rahmenspeichermodul (FSM) abgelegt ist, eine
variable Anzahl der besagten abgelegten neuen Einheiten
(NEW2) von besagtem Speichermodul (FSM) zur Anzeige, vor
dem Rückladen der besagten einen Einheit, zurückzuladen,
wobei die besagte erste Rate sich dadurch von der
besagten zweiten Rate unterscheidet.
2. Video Decoder gemäß Anspruch 1, dadurch
gekennzeichnet, daß das besagte Decodiermittel (DEC1,
DEC2) des weiteren geeignet ist, von besagtem
Dualanschluß-Rahmenspeichermodul (FSM) alte Einheiten
decodierter Videodaten (OLD) zurückzuladen, die zu einem
vorherigen Videorahmen in Bezug stehen, davon die
besagten neuen Einheiten (NEW1) abzuleiten und dadurch
prädiktionscodierte Videodaten zu decodieren.
3. Video Decoder gemäß Anspruch 1 oder 2, dadurch
gekennzeichnet, daß besagtes Steuermittel (CON) des
weiteren angepaßt ist, die besagte variable Anzahl
anzuzeigen und die Frequenz eines Systemtaktgebers (SC)
zu erhöhen oder zu verringern, der in besagtem Video
Decoder eingeschlossen ist und der mindestens das besagte
Anzeigemittel (DIS) steuert, um hierdurch zu verhindern,
daß besagte variable Anzahl größer oder kleiner als eine
erste bzw. zweite festgelegte Anzahl wird.
4. Video Decoder gemäß Anspruch 3, dadurch
gekennzeichnet, daß der besagte Systemtaktgeber (SC)
geeignet ist, zusätzlich mindestens das besagte
Decodiermittel (DEC1, DEC2) zu steuern.
5. Video Decoder gemäß den Ansprüchen 2 und 3,
dadurch gekennzeichnet, daß das besagte Steuermittel
(CON) geeignet ist, von einem Teil der besagten
Steuerdaten (OV1, OV2) einen Wert abzuleiten, der eine
Angabe der besagten variablen Anzahl ist, und des
weiteren geeignet ist, den besagten Systemtaktgeber (SC)
zu beschleunigen oder zu verlangsamen, wenn der besagte
Wert höher bzw. niedriger als ein festgelegter Wert ist
und dadurch sicherstellt, daß das besagte Anzeigemittel
(DIS) jede der besagten Einheiten nur einmal verarbeitet.
6. Video Decoder gemäß Anspruch 2, dadurch
gekennzeichnet, daß der besagte Decoder des weiteren
einen Speichermodulcontroller (FSC) umfaßt, der dazu da
ist, um mindestens einen ersten und einen zweiten Zeiger
(P1, P2) zu steuern, die von besagtem Decodiermittel
(DEC1, DEC2) bzw. Anzeigemittel (DIS) benutzt werden,
wobei besagte Zeiger (P1, P2) dazu da sind, um anzugeben,
welcher Speicherplatz des besagten Speichermoduls (FSM)
von einem der besagten Mittel benutzt werden soll, um die
besagten Einheiten abzulegen bzw. zurückzuladen, und daß
der besagte Speichermodulcontroller (FSC) des weiteren
geeignet ist, die Werte des besagten ersten und des
besagten zweiten Zeigers (P1, P2) asynchron zu
aktualisieren, wenn ihre jeweiligen Mittel (DEC1, DEC2;
DIS) eine der besagten Einheiten abgelegt bzw.
zurückgeladen haben.
7. Video Decoder gemäß Anspruch 6, dadurch
gekennzeichnet, daß der besagte Speichermodulcontroller
(FSC) weiter dazu da ist, die besagten Aktualisierungen
gemäß einer Speicherzuordnung vorzunehmen, die einen
Speicherplatz jeder der besagten Einheiten innerhalb
eines Videorahmens einem Speicherplatz des besagten
Dualanschluß-Rahmenspeichermoduls (FSM) zuordnet.
8. Video Decoder gemäß Anspruch 5 oder 6, dadurch
gekennzeichnet, daß das besagte Dualanschluß-
Rahmenspeichermodul (FSM) aus einem Dualanschluß-
Direktzugriffspeicher besteht, der mindestens einen
dynamischen Direktzugriffspeicher (DRAM, ..., DRAM8) und
mindestens einen Serienspeicher (SAM1, ..., SAM8) umfaßt,
daß auf den besagten dynamischen Direktzugriffspeicher
von besagten Decodiermitteln (DEC1, DEC2) zugeriffen
wird, um besagte neue Einheiten (NEW1) an Speicherplätzen
abzulegen, die von besagtem ersten Zeiger (P1) angegeben
werden, und die besagten alten Einheiten (OLD) von einem
Speicherplatz zurückzuladen, der von einem dritten Zeiger
angegeben wird, der ebenfalls von besagtem
Speichermodulcontroller (FSC) gesteuert wird, und daß
alle der besagten Einheiten, die einer Zeile in der
Videoanzeige entsprechen, geeignet sind, unter Steuerung
des besagten Speichermodulcontrollers (FSC) von besagtem
dynamischen Direktzugriffspeicher an besagten
Serienzugriffspeicher übertragen zu werden, und daß das
besagte Anzeigemittel (DIS) geeignet ist, die besagten
Einheiten von Speicherplätzen in besagtem seriellen
Zugriffspeicher zurückzuladen, der vom besagten zweiten
Zeiger (P2) angegeben wird.
9. Video Decoder gemäß den Ansprüchen 5 und 6,
dadurch gekennzeichnet, daß der besagte Wert, der von
besagtem Steuermittel (CON) abgeleitet wird, gleich der
Differenz zwischen einer Nummer einer Zeile (LINE2) in
einem Rahmen ist, der gegenwärtig von besagtem
Anzeigemittel gemäß des besagten zweiten Zeigers (P2)
verarbeitet wird, und einer Nummer einer Zeile (LINE1) in
einem Videorahmen, der von besagtem Decodiermittel (DEC1,
DEC2) gemäß dem besagten ersten Zeiger (P1) verarbeitet
werden soll.
10. Video Decoder gemäß den Ansprüchen 5 und 6,
dadurch gekennzeichnet, daß der besagte Wert von besagten
Steuerdaten (OV1, OV2) abgeleitet ist.
11. Video Decoder gemäß Anspruch 9 oder 10, dadurch
gekennzeichnet, daß der besagte festgelegte Wert die
Hälfte der Anzahl der besagten Einheiten ist, die in
einem Rahmen enthalten sind, und daß das besagte
Steuermittel (CON) geeignet ist, den besagten Wert mit
einem Zählerwert zu vergleichen, der durch das Modulo-
Zählen von besagter Anzahl in einer Rahmenperiode erzielt
wird, und daß die DC Komponente (DC) eines
impulsbreitenmodulierten Signals (PWM) eine Angabe des
Ergebnisses des besagten Vergleiches ist und für die
Steuerung der Frequenz des besagten Systemtaktgebers (SC)
benutzt wird.
12. Video Decoder gemäß Anspruch 3, dadurch
gekennzeichnet, daß die besagten Videodaten (VI)
blockcodiert sind unter Einsatz einer variablen
Bitratentechnik, und daß die besagte erste festgelegte
Anzahl gleich der Anzahl Einheiten ist, die in einem
Streifen enthalten sind, und daß die besagte zweite
festgelegte Anzahl gleich der Anzahl Einheiten ist, die
in einem Rahmen enthalten sind, minus einem Streifen.
13. Video Decoder gemäß Anspruch 12, dadurch
gekennzeichnet, daß die Kapazität des besagten
Dualanschluß-Rahmenspeichermoduls (FSM) zusätzlich vom
besagten Speichermodulcontroller (FSC) dazu benutzt wird,
um Bewegungskompensation durchzuführen, indem eine
nichtpermanente Speicherzuordnung benutzt wird, die dazu
da ist, einen Speicherplatz jeder der besagten neuen
Einheiten in einem Rahmen Speicherplätzen von besagtem
Speichermodul (FSM) zuzuordnen, wobei jede der besagten
neuen Einheiten (NEW1) an anderen Speicherplätzen
abgelegt wird, als an dem Speicherplatz, an dem die
entsprechenden der alten Einheiten (OLD) gespeichert
waren.
14. Video Decoder gemäß einem beliebigen der
Ansprüche 2 bis 13, dadurch gekennzeichnet, daß die
besagten Einheiten in mehrere Kategorien unterteilt
werden (LUM, CHR), wobei Einheiten, die verschiedenen
Kategorien entsprechen, verschiedene Daten in Bezug zu
einem gleichen Bildelement tragen, und daß die besagten
Einheiten von Videodaten verschiedener Kategorien von
besagtem Decodiermittel (DEC1, DEC2) verarbeitet werden,
ungeachtet ihrer Kategorie, und daß der besagte
Speichermodulcontroller (FSC) weiter geeignet ist, die
besagten Einheiten gemäß der Kategorie, zu der sie
gehören, zu demultiplexieren durch Schreiben der besagten
Einheiten in die passenden Speicherplätze in besagtem
Speichermodul (FSM).
15. Video Decoder gemäß einem beliebigen der
Ansprüche 7 bis 14, dadurch gekennzeichnet, daß die
besagten Videodaten (VI) Bildern einer von mehreren
Auflösungen entsprechen, wobei die besagte eine Auflösung
von besagtem Video Decoder auf der Grundlage von
mindestens einem Teil der besagten Steuerdaten (OV1, OV2)
identifiziert wird, und daß der besagte
Speichermodulcontroller (FSC) dazu da ist, den besagten
Video Decoder durch Benutzen einer entsprechenden
Speicherzuordnung von mehreren Speicherzuordnungen an die
besagte eine Auflösung anzupassen.
16. Video Decoder gemäß Anspruch 1 oder 2, dadurch
gekennzeichnet, daß der besagte Video Decoder jederzeit
zu einer Anzeige eines Standbildes überwechseln kann,
indem er das besagte Speichermodul (FSM) nicht mit neuen
Einheiten von Videodaten auffrischt.
17. Video Decoder gemäß Anspruch 16 und jedem
beliebigen der Ansprüche 3 bis 15, dadurch
gekennzeichnet, daß das besagte Steuermittel (CON)
während der besagten Anzeige eines Standbildes
entaktiviert ist.
18. Video Decoder gemäß eines beliebigen der
Ansprüche 2 bis 17, dadurch gekennzeichnet, daß der
besagte Speichermodulcontroller (FSC) fähig ist, den
besagten Video Decoder so zu steuern, daß er Bilder
anzeigt, die sich von denjenigen unterscheiden, die in
den besagten Videodaten (VI) enthalten sind, indem er die
besagten Decodiermittel (DEC1, DEC2) so steuert, daß sie
vorübergehende neue Einheiten von decodierten Videodaten
(NEW1) berechnen und mindestens einen Teil der besagten
neuen Einheiten ablegen, einschließlich der besagten
vorübergehenden neuen Einheiten, gemäß einer
Speicherzuordnung, die einer gewünschten Anzeige
entspricht, wobei die gewünschte Anzeige durch ein
passendes Steuereingabesignal (EXT, OV2) an besagten
Speichermodulcontroller (PSC) signalisiert werden kann.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP92870048A EP0562221B1 (de) | 1992-03-27 | 1992-03-27 | Videodekoder |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69222754D1 DE69222754D1 (de) | 1997-11-20 |
DE69222754T2 true DE69222754T2 (de) | 1998-02-26 |
Family
ID=8212251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69222754T Expired - Fee Related DE69222754T2 (de) | 1992-03-27 | 1992-03-27 | Videodekoder |
Country Status (7)
Country | Link |
---|---|
US (1) | US5453790A (de) |
EP (1) | EP0562221B1 (de) |
JP (1) | JP3321232B2 (de) |
AU (1) | AU659921B2 (de) |
CA (1) | CA2092785A1 (de) |
DE (1) | DE69222754T2 (de) |
ES (1) | ES2108746T3 (de) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7448063B2 (en) | 1991-11-25 | 2008-11-04 | Actv, Inc. | Digital interactive system for providing full interactivity with live programming events |
US5724091A (en) * | 1991-11-25 | 1998-03-03 | Actv, Inc. | Compressed digital data interactive program system |
US7079176B1 (en) | 1991-11-25 | 2006-07-18 | Actv, Inc. | Digital interactive system for providing full interactivity with live programming events |
US5398072A (en) * | 1993-10-25 | 1995-03-14 | Lsi Logic Corporation | Management of channel buffer in video decoders |
US5847765A (en) * | 1993-11-12 | 1998-12-08 | Nec Corporation | Moving picture decoding control system |
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
DE69536095D1 (de) * | 1994-03-25 | 2010-09-30 | Nec Corp | Bildwiedergabevorrichtung |
FR2717978B1 (fr) * | 1994-03-28 | 1996-04-26 | France Telecom | Procédé de restitution d'une séquence, notamment animée, d'images successivement reçues d'une source distante, sous forme numérisée, et appareil correspondant. |
GB9413169D0 (en) * | 1994-06-30 | 1994-08-24 | Thomson Consumer Electronics | Modulator data frame interfacing |
US5903324A (en) * | 1994-06-30 | 1999-05-11 | Thomson Multimedia S.A. | Transport processor interface for a digital television system |
JPH08275170A (ja) * | 1995-03-30 | 1996-10-18 | Canon Inc | 画像処理装置 |
US6157612A (en) * | 1995-04-03 | 2000-12-05 | Lucent Technologies Inc. | Fast fading packet diversity transmission method and system |
US5721815A (en) * | 1995-06-07 | 1998-02-24 | International Business Machines Corporation | Media-on-demand communication system and method employing direct access storage device |
JP3184763B2 (ja) | 1995-06-07 | 2001-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチメディア直接アクセス記憶装置及びフォーマット方法 |
JPH09168150A (ja) * | 1995-10-09 | 1997-06-24 | Fujitsu Ltd | 固定長セル取扱式画像通信方法並びに固定長セル取扱式画像通信用送信装置及び固定長セル取扱式画像通信用受信装置 |
US5956088A (en) * | 1995-11-21 | 1999-09-21 | Imedia Corporation | Method and apparatus for modifying encoded digital video for improved channel utilization |
US5877812A (en) * | 1995-11-21 | 1999-03-02 | Imedia Corporation | Method and apparatus for increasing channel utilization for digital video transmission |
US5862140A (en) * | 1995-11-21 | 1999-01-19 | Imedia Corporation | Method and apparatus for multiplexing video programs for improved channel utilization |
US5850572A (en) * | 1996-03-08 | 1998-12-15 | Lsi Logic Corporation | Error-tolerant video display subsystem |
US20020049832A1 (en) | 1996-03-08 | 2002-04-25 | Craig Ullman | Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments |
US5793427A (en) * | 1996-10-11 | 1998-08-11 | Divicom Inc. | Processing system with delta-based video data encoding |
US6545687B2 (en) * | 1997-01-09 | 2003-04-08 | Canon Kabushiki Kaisha | Thumbnail manipulation using fast and aspect ratio zooming, compressing and scaling |
US6803964B1 (en) | 1997-03-21 | 2004-10-12 | International Business Machines Corporation | Method and apparatus for processing digital data |
US6678243B2 (en) * | 1997-11-14 | 2004-01-13 | Ess Technology, Inc. | Variable codec frame length |
US6169747B1 (en) * | 1998-07-08 | 2001-01-02 | Ess Technology, Inc. | Variable code frame length for multistream applications |
KR100291628B1 (ko) * | 1999-06-19 | 2001-05-15 | 윤덕용 | 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 그의 캐쉬 미스페널티 저감방법 |
US7120871B1 (en) | 1999-09-15 | 2006-10-10 | Actv, Inc. | Enhanced video programming system and method utilizing a web page staging area |
US7949722B1 (en) | 1999-09-29 | 2011-05-24 | Actv Inc. | Enhanced video programming system and method utilizing user-profile information |
ATE546013T1 (de) | 2000-03-31 | 2012-03-15 | Opentv Inc | System und verfahren zur einfügung von lokalen metadaten |
US7034791B1 (en) | 2000-12-14 | 2006-04-25 | Gary Odom | Digital video display employing minimal visual conveyance |
FI118830B (fi) * | 2001-02-08 | 2008-03-31 | Nokia Corp | Tietovirran toisto |
US7305691B2 (en) | 2001-05-07 | 2007-12-04 | Actv, Inc. | System and method for providing targeted programming outside of the home |
US7075899B2 (en) | 2002-05-21 | 2006-07-11 | Actv, Inc. | System and method for providing private in-band data to digital set-top boxes in a broadcast environment |
US9432719B2 (en) * | 2002-10-22 | 2016-08-30 | Broadcom Corporation | A/V System and method supporting a pull data flow scheme |
US7930716B2 (en) | 2002-12-31 | 2011-04-19 | Actv Inc. | Techniques for reinsertion of local market advertising in digital video from a bypass source |
US20040263427A1 (en) * | 2003-06-25 | 2004-12-30 | Horigan John W. | Lossless clock domain translation for a pixel stream |
US8014651B2 (en) | 2003-06-26 | 2011-09-06 | International Business Machines Corporation | MPEG-2 decoder, method and buffer scheme for providing enhanced trick mode playback of a video stream |
JP4534935B2 (ja) * | 2005-10-04 | 2010-09-01 | 株式会社日立製作所 | トランスコーダ、記録装置及びトランスコード方法 |
KR100755789B1 (ko) * | 2006-07-31 | 2007-09-05 | 삼성전자주식회사 | 휴대용 단말기에서 화상통화 방법 및 장치 |
FR2907990B1 (fr) * | 2006-10-27 | 2009-04-17 | Envivio France Entpr Uniperson | Encodeur temps-reel contraint en debit et en delai,procede, produit programme d'ordinateur et moyen de stockage correspondants. |
US8165451B2 (en) | 2007-11-20 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for displaying information regarding interstitials of a video stream |
US8165450B2 (en) | 2007-11-19 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content in a video stream using text data |
US8136140B2 (en) | 2007-11-20 | 2012-03-13 | Dish Network L.L.C. | Methods and apparatus for generating metadata utilized to filter content from a video stream using text data |
US8606085B2 (en) | 2008-03-20 | 2013-12-10 | Dish Network L.L.C. | Method and apparatus for replacement of audio data in recorded audio/video stream |
US8156520B2 (en) | 2008-05-30 | 2012-04-10 | EchoStar Technologies, L.L.C. | Methods and apparatus for presenting substitute content in an audio/video stream using text data |
US8359205B2 (en) | 2008-10-24 | 2013-01-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US9667365B2 (en) | 2008-10-24 | 2017-05-30 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US8510771B2 (en) | 2008-12-24 | 2013-08-13 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content from a presentation stream using signature data |
US8407735B2 (en) | 2008-12-24 | 2013-03-26 | Echostar Technologies L.L.C. | Methods and apparatus for identifying segments of content in a presentation stream using signature data |
US8588579B2 (en) | 2008-12-24 | 2013-11-19 | Echostar Technologies L.L.C. | Methods and apparatus for filtering and inserting content into a presentation stream using signature data |
CN104683827A (zh) | 2009-05-01 | 2015-06-03 | 尼尔森(美国)有限公司 | 提供与主要广播媒体内容关联的辅助内容的方法和装置 |
US8437617B2 (en) | 2009-06-17 | 2013-05-07 | Echostar Technologies L.L.C. | Method and apparatus for modifying the presentation of content |
US8934758B2 (en) | 2010-02-09 | 2015-01-13 | Echostar Global B.V. | Methods and apparatus for presenting supplemental content in association with recorded content |
KR101355975B1 (ko) * | 2010-10-19 | 2014-01-29 | 한국전자통신연구원 | 스케일러블 위성방송의 적응적 재생장치 및 방법 |
US20150039321A1 (en) * | 2013-07-31 | 2015-02-05 | Arbitron Inc. | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
JP2016126037A (ja) * | 2014-12-26 | 2016-07-11 | ソニー株式会社 | 信号処理装置、および信号処理方法、並びにプログラム |
CN106231395B (zh) * | 2016-07-28 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 播放控制方法及媒体播放器、计算机可读存储介质 |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4864402A (en) * | 1986-06-20 | 1989-09-05 | Sony Corporation | Video memory |
JP2673386B2 (ja) * | 1990-09-29 | 1997-11-05 | シャープ株式会社 | 映像表示装置 |
US5260783A (en) * | 1991-02-21 | 1993-11-09 | Gte Laboratories Incorporated | Layered DCT video coder for packet switched ATM networks |
US5185819A (en) * | 1991-04-29 | 1993-02-09 | General Electric Company | Video signal compression apparatus for independently compressing odd and even fields |
-
1992
- 1992-03-27 DE DE69222754T patent/DE69222754T2/de not_active Expired - Fee Related
- 1992-03-27 ES ES92870048T patent/ES2108746T3/es not_active Expired - Lifetime
- 1992-03-27 EP EP92870048A patent/EP0562221B1/de not_active Expired - Lifetime
-
1993
- 1993-03-16 AU AU35278/93A patent/AU659921B2/en not_active Ceased
- 1993-03-26 US US08/037,272 patent/US5453790A/en not_active Expired - Lifetime
- 1993-03-26 CA CA002092785A patent/CA2092785A1/en not_active Abandoned
- 1993-03-29 JP JP07055893A patent/JP3321232B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69222754D1 (de) | 1997-11-20 |
JPH06189282A (ja) | 1994-07-08 |
JP3321232B2 (ja) | 2002-09-03 |
EP0562221A1 (de) | 1993-09-29 |
AU659921B2 (en) | 1995-06-01 |
EP0562221B1 (de) | 1997-10-15 |
US5453790A (en) | 1995-09-26 |
ES2108746T3 (es) | 1998-01-01 |
CA2092785A1 (en) | 1993-09-28 |
AU3527893A (en) | 1993-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69222754T2 (de) | Videodekoder | |
DE19521973C2 (de) | Bilddecodiervorrichtung | |
DE69716465T2 (de) | System zur erhaltung der kontinuität eines datenstromes bei unterbrochenen quellendaten | |
DE69232623T2 (de) | Verfahren zum Speichern von Videodaten und entsprechendes Fernsehsystem | |
DE69411791T2 (de) | Verfahren und Einrichtung zur Dekodierung von komprimierten Bildern | |
DE69425010T2 (de) | Prioritätsverarbeitung von kodierten Bildsignalen | |
DE69526470T2 (de) | Verfahren und Vorrichtung für die effiziente Adressierung des DRAMs eines Videodekompressionsprozessors | |
DE4322356B4 (de) | Einrichtung zum Steuern der Rücksetzung in einem Videosignalcodierer | |
DE69027785T2 (de) | Einrichtung zur Zwischenbild-Vorhersagekodierung eines Videosignals | |
DE69517966T2 (de) | Pufferverwaltung in kompressionssystemen mit variabler bitrate | |
DE69416509T2 (de) | Transkoder | |
DE69330157T2 (de) | Vorrichtung und Verfahren für die Aufzeichnung von Videosignalen | |
DE69627920T2 (de) | Speichersteuerungsanordnung und Bilddekodierer damit | |
DE69616036T2 (de) | Dekoder für variable längenkodierte daten | |
DE69615528T2 (de) | Verfahren und vorrichtung zur dekodierung von digitalen videosignalen | |
DE69331174T2 (de) | Bildverarbeitungsvorrichtung | |
DE69525424T2 (de) | Verfahren und Vorrichtung zur Dekodierung von kodierten Videosignalen | |
DE4408522C2 (de) | Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten | |
DE69705139T2 (de) | Vorrichtung zum Manipulieren von komprimierten Videosequenzen | |
DE19935604A1 (de) | Verfahren und Vorrichtung zum decodieren eines Bewegungsbildes | |
DE69908652T2 (de) | Verfahren zur gleichzeitigen aufnahme und wiedergabe eines digitalen ton- und bild-datenstromes und empfänger zur verwirklichung des verfahrens | |
DE69419815T2 (de) | Anordnung zur Aufzeichnung und Wiedergabe von datenreduzierter Videoinformation | |
DE69736693T2 (de) | Bildsignalverarbeitungsvorrichtung und -verfahren | |
DE69907514T2 (de) | Verfahren zum speichern eines digitalen audio- und videodatenflusses, speicherungsvorrichtung und empfänger zur durchführung des verfahrens | |
DE69628269T2 (de) | Konversionsverfahren einer Ausgangsdatenfolge in Invers-DCT und Schaltung davon |
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: ALCATEL, PARIS, FR |
|
8339 | Ceased/non-payment of the annual fee |