DE69719797T2 - Videodecoder mit verarbeitung von zeitverschachtelten daten - Google Patents
Videodecoder mit verarbeitung von zeitverschachtelten datenInfo
- Publication number
- DE69719797T2 DE69719797T2 DE69719797T DE69719797T DE69719797T2 DE 69719797 T2 DE69719797 T2 DE 69719797T2 DE 69719797 T DE69719797 T DE 69719797T DE 69719797 T DE69719797 T DE 69719797T DE 69719797 T2 DE69719797 T2 DE 69719797T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- pixel
- interleaved
- processing
- block
- 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
- 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
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- 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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
- H04N19/428—Recompression, e.g. by spatial or temporal decimation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/439—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
-
- 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
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/46—Receiver circuitry for the reception of television signals according to analogue transmission standards for receiving on more than one standard at will
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
- H04N11/044—Codec means involving transform coding
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- 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
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Television Systems (AREA)
- Color Television Systems (AREA)
Description
- Die Erfindung bezieht sich auf die Verarbeitung von digitalen, Bilder darstellenden Informationen.
- Schnelle Fortschritte in der digitalen Technologie haben entsprechende Fortschritte in der digitalen Bildsignal- Verarbeitung auf verschiedenen Gebieten erzeugt, wie beim Fernsehen mit hoher Auflösung (HDTV). Die MPEG-(Motion Picture Experts Group)-Signal-Kompressions-Norm für MPEG-2-Videoverarbeitung (ISO/IEC internationale Norm 13818-2 vom 20. Januar 1995) ist eine damit verbundene Entwicklung. Diese verbreitet akzeptierte Bildverarbeitungs-Norm wurde als besonders attraktiv für die Verwendung bei Satelliten-, Kabel- und terrestrischen Rundfunksystemen einschließlich HDTV-Systemen gefunden. EP-A- 0707426 offenbart einen Dekodierer für HDTV und/oder TV mit Norm-Auflösung.
- Ein kürzlich als Grand Alliance HDTV-System in den Vereinigten Staaten angenommenes terrestrisches digitales HDTV- Sendesystem definiert eine Norm zum digitalen Senden von hochauflösendem (HD)-Programm-Material, dessen Daten unter Verwendung der MPEG-2-Kompressions-Norm komprimiert worden sind. Eine Beschreibung des Grand Alliance HDTV-Systems findet man zum Beispiel in den 1994 Proceedings of the National Association of Broadcasters, 48. Annual Broadcast Engineering Conference Proceedings vom 20. bis 24. März 1994. Die HD-Rundfunk-Norm sorgt für eine Bildauflösung bis hinauf zu 1920 Pixeln pro Zeile (horizontal) mal 1080 Zeilen (vertikal). Die MPEG-2-Norm definiert die erforderlichen Verfahren zum Dekomprimieren des HD-Bildes für die Wiedergabe durch eine Anzeigevorrichtung, z. B. in einem Fernsehempfänger. Etwa 80 Mega-Bits (Mb) an Speicherung sind für einen MPEG-Dekodierer erforderlich, um ein HD-Bild richtig zu dekodieren, wie es in der terrestrischen Rundfunk-Norm definiert ist. Etwa 96 Mb an Speicherung würden in einem Verbraucher- Empfänger erforderlich sein.
- In einem MPEG-Videosignal-Dekodierer, wie man ihn zum Beispiel in einem Fernsehsignal-Empfänger findet, wird üblicherweise mehr als eine Vollbild-Speicherung benötigt, um einen gemäß MPEG kodierten digitalen Datenstrom zu dekodieren, der bekanntlich I-, P- und B-Vollbilder darstellt. Es wird allgemein eine Speicherung von drei Vollbildern benötigt, um einen MPEG- Datenstrom zu dekodieren. Die Speicherung von zwei Vollbildern wird benötigt, um Referenz-I- oder P-Vollbild-Daten zu speichern, und ein zusätzlicher Vollbild-Speicher wird zur Speicherung von B-Vollbild-Daten verwendet.
- Ein MPEG-Dekodierer enthält eine DPCM-Schleife, der eine Bewegungs-Kompensationsfunktion zugeordnet ist, um - wie bekannt - schließlich dekodierte Pixel-Abtastungen zu erzeugen. Vorteilhafterweise wird die DPCM-Schleife modifiziert, indem ein Daten- Kompressions-Netzwerk einbezogen wird. Dieses Kompressions- Netzwerk rekomprimiert dekomprimierte MPEG-Daten vor ihrer Zuführung zu einem Vollbild-Speicher, wodurch die Speicher- Erfordernisse des MPEG-Dekodierers vermindert werden. Die DPCM- Schleife ist so ausgebildet, dass der Wert eines zu komprimierenden Pixels von den Ergebnissen einer Vorhersage-Schaltung abhängt, die Pixel unmittelbar links, unmittelbar oberhalb und diagonal oben links von dem verarbeiteten Pixel abschätzt. Die Vorhersage-Operation ist eine rechnerisch intensive serielle Operation in Echtzeit. Die Vorhersage-Operation ist wichtig, da mehr als ein Pixelwert betroffen ist, und weil eine gute Kompression eine genaue Vorhersage anstatt einer "Schätzung" bei einem Pixelwert erfordert.
- Frühere Verfahren zum Kodieren und Dekodieren eines Datenstroms sind bekannt. Siehe zum Beispiel die Europäische Patentanmeldung 0 687 111. Darin beschrieben ist ein System, das sich auf die Minimierung von Speicher-Bandbreite durch Speichern der Daten in einem Puffer, nachdem die Daten komprimiert und dekomprimiert wurden, konzentriert. Allerdings führt das System keine adaptive Kompression und Dekompression unter Verwendung einer Vorhersage-Funktion parallel zu einer Dekompression durch und dekomprimiert Datenströme daher nicht effizient.
- Gemäß den Prinzipien der vorliegenden Erfindung wird in einem Verfahren zur Verarbeitung eines Datenstroms, der Blöcke von Pixel-Daten umfasst, die Bildinformationen darstellen, ein erster Pixelwert eines ersten Pixelblocks mit einer ersten Funktion während eines gegebenen Intervalls verarbeitet. Ein Pixelwert eines zweiten Blocks wird im gegebenen Intervall mit einer anderen Funktion verarbeitet.
- Fig. 1 ist ein Blockschaltbild eines Teils eines Fernsehsignal-Empfängers, der einen MPEG- Dekodierer und zugeordnete digitale Signalverarbeitungs-Netzwerke verwendet, die gemäß den Prinzipien der vorliegenden Erfindung angeordnet sind.
- Fig. 2-17 zeigen Pixelblock-Verarbeitungs-Formate, die zum Verständnis der Arbeitsweise der in Fig. 1 dargestellten Kompression/Dekompression und zugeordneter Netzwerke hilfreich sind.
- Fig. 18 zeigt Pixel-Unterabtastung und Pixel- Überabtastung.
- Fig. 19 ist ein Blockschaltbild einer Vorrichtung zur Ausführung des in Fig. 18 dargestellten Prozesses.
- Fig. 20 zeigt Einzelheiten eines Kompressions- Netzwerks von Fig. 1.
- Fig. 21 zeigt Einzelheiten eines Dekompressions- Netzwerkes von Fig. 1.
- Fig. 22 zeigt eine Pixel-Anordnung, die zum Verständnis von Aspekten der Arbeitsweise des in Fig. 20 dargestellten Netzwerks hilfreich ist.
- Fig. 23-26 veranschaulichen eine Datenfluss-Steuer- Operation für das System von Fig. 1.
- Fig. 27 ist eine Tabelle, die Pixel-Beziehungen während der Operation des in Fig. 20 dargestellten Netzwerks zeigt.
- Fig. 28 zeigt eine alternative Anordnung des in Fig. 23 dargestellten Netzwerks.
- Bei einer offenbarten Ausführungsform der Erfindung verwendet ein MPEG-Dekodierer in einem Fernsehempfänger Datenverminderung einschließlich Rekompression zwischen dem Dekodierer und dem Dekodierer-Vollbild-Speicher, von dem anzuzeigende Bildeinformationen abgeleitet werden. Das System verwendet Pipeline- Verarbeitung unter Berücksichtigung von Vorhersage-Prozessor- Timing-Erfordernissen, wobei drei Pixel-(Bildelemente)-Werte verfügbar gemacht werden müssen, um den Wert eines gegebenen vierten Pixels vorherzusagen. Pipeline-Verarbeitung verlangsamt jedoch die Verarbeitung (vermindert Bandbreite). Diese Sache wird durch Verschachtelung von Pixeldaten aus unabhängigen 8 · 8- Pixelblöcken gelöst, die von dem MPEG-Dekompressor geliefert werden. Die Verschachtelung erhöht die Verarbeitungs- Geschwindigkeit, da sie erlaubt, Pixeldaten mit abwechselnden Takten zu verarbeiten, so dass immer ein komprimierter Pixelwert erzeugt wird. Die Rekompressions-Funktion verwendet eine verminderte Zahl von Kompressions-Operationen und weist eine verschachtelte Operation mit gemeinsamen Funktionen auf, um Fläche für die integrierte Schaltung zu bewahren.
- Fig. 1 zeigt einen Teil eines digitalen Videosignal- Prozessors, den man in einem Fernsehempfänger zur Verarbeitung eines Video-Eingangssignals mit hoher Auflösung finden kann. Der Video-Prozessor enthält Funktionen, die man in einem üblichen MPEG-Dekodierer findet. Ein MPEG-Kodierer und -Dekodierer werden beispielsweise von Ang et al. in "Video Compression Makes Big Games", IEEE Spektrum, Oktober 1991, beschrieben. Diese Funktionen enthalten üblicherweise eine Eingangspufferung, eine variable Längen-Dekodierung, eine inverse Quantisierung und eine inverse DCT-Transformation vor zugeordneter Bewegungs- Kompensations-Verarbeitung, die schließlich dekodierte Ausgangs- Abtastungen erzeugt. Zusätzliche Informationen, die diese und damit zusammenhängende Videosignal-Verarbeitungs-Funktionen betreffen, findet man in Weiss, "Issues in Advanced Television Technology" (Focal Press, Boston, USA).
- Das System von Fig. 1 empfängt einen gesteuerten Datenstrom von gemäß MPEG kodierten komprimierten Daten von einer Quelle, die durch eine Einheit 10 dargestellt wird, die einen Transport- Dekodierer enthält, der Datenpakete nach Eingangssignal- Demodulation abtrennt. Bei diesem Beispiel stellt der empfangene Eingangs-Datenstrom Bildmaterial mit hoher Auflösung dar (1920 Pixel/horizontale Zeile · 1088 horizontale Zeilen) wie in der Grand-Alliance-Vorschrift für die Vereinigten Staaten für ein terrestrisches Fernseh-Sendesystem mit hoher Auflösung spezifiziert ist. Die Daten-Rate der 1920 · 1088-Information mit hoher Auflösung beträgt 94,003,200 Bytes/s, was wie folgt bestimmt wird:
- (1920H · 1088V · 30F · (8 + 4)YC)/B, worin
- H horizontale Pixel darstellt,
- V vertikale Zeilen darstellt,
- F Vollbilder/s darstellt,
- YC (Luminanz + Chrominanz) Bits darstellt, und
- B 8 Bits/Byte darstellt.
- In der Praxis wird der komprimierte MPEG-Datenstrom über einen internen Speicherbus 55 und eine in der Einheit 128 enthaltene Schnittstelle für komprimierte Daten erzeugt, die Daten von dem Steuerbus 114 unter Steuerung des Mikroprozessors 120 empfängt. Der Mikroprozessor 120 empfängt den MPEG-Datenstrom über einen komprimierten Dateneingang.
- Der Eingangs-Datenstrom von der Quelle 10 befindet sich in Form von Datenblöcken, die 8 · 8 Pixel darstellen. Die Daten stellen komprimierte, kodierte Intra-Vollbild- und Inter- Vollbild-Informationen dar. Die Intra-Vollbild-Informationen umfassen I-Vollbild-Anker-Vollbilder. Die Inter-Vollbild- Informationen umfassen vorhersagende bewegungskodierte restliche Bildinformationen, die die Bilddifferenz zwischen benachbarten Vollbildern darstellen. Die Inter-Vollbild-Bewegungs-Kodierung beinhaltet die Erzeugung von Bewegungs-Vektoren, die den Offset zwischen einem gerade verarbeiteten gegenwärtigen Block und einem Block in einem früheren rekonstruierten Bild darstellen. Der Bewegungs-Vektor, der die beste Anpassung zwischen dem gegenwärtigen und vorherigen Blöcken darstellt, wird kodiert und übertragen. Auch die Differenz (Rest) zwischen jedem bewegungskompensierten 8 · 8-Block und dem früheren rekonstruierten Block wird einer DCT-Transformation, einer Quantisierung und einer variablen Längenkodierung vor der Übertragung unterzogen. Dieser bewegungskompensierte Kodierungs-Prozess ist in größeren Einzelheiten in verschiedenen Veröffentlichungen einschließlich dem oben erwähnten Weiss-Text und dem Ang, et al. -Aufsatz beschrieben.
- Der MPEG-Dekodierer weist ein vermindertes Speicher- Erfordernis auf, was eine beträchtliche Verminderung in dem Umfang der externen Vollbild-Speicherung erlaubt. Wie nachfolgend erläutert wird, wird dies durch Rekomprimieren von dekomprimierten, in einem Speicher zu speichernden Video-Vollbildern und durch wahlweise horizontale Filterung und Dezimierung (d. h. Unter-Abtastung und Abwärts-Abtastung) von Pixeldaten innerhalb der Dekodierer-Schleife in Abhängigkeit von der Arbeitsweise des Dekodierers erreicht. Beispielsweise erzeugt das System bei einer Betriebsart eine Anker-Vollbild-Kompression. Bei einer anderen Betriebsart erzeugt das System eine Kompression nach horizontaler Detail-Verminderung durch Tiefpassfilterung und Abwärts-Abtastung.
- Die komprimierten Eingangspixel-Datenblöcke werden durch die Einheit 12, bevor sie einer variablen Längen-Dekodierung in der Einheit 14 unterzogen werden, gepuffert, die auch in bekannter Weise Bewegungs-Vektoren. MV erzeugt. Der Puffer 12 weist eine Speicherkapazität von 1,75 Mbits im Falle eines Haupt-Pegel, Haupt-Profil-MPEG-Datenstroms auf. Dekodierte komprimierte Datenblöcke werden von der Einheit 14 über einen Multiplexer (Mux) 15 ausgegeben, der Ausgangs-Datenströme P1 und P2 erzeugt. Die Ausgänge P1 und P2 stellen duale Daten-Pipelines dar, die nachfolgend als Pipe 1 (P1) und Pipe 2 (P2) bezeichnet werden. Pipe P1 enthält eine Gruppe von DCT-Koeffizienten für einen 8 · 8- Pixelblock "A" eines gegebenen Makroblocks, gefolgt von einer Gruppe von DCT-Koeffizienten für einen 8 · 8-Pixelblock "C" für diesen Makroblock. Die DCT-Koeffizienten werden in einem diagonalen oder "Zick-Zack"-Abtast-Format wie bekannt angeordnet. Die Pipe 1 befördert eine Sequenz von solchen A-, C-Blöcken für eine Sequenz von entsprechenden Makroblöcken. Die Pipe 2 enthält in gleicher Weise eine Gruppe von DCT-Koeffizienten "B" und "C" für den gegebenen Makroblock und für damit geordnete Makroblöcke. Die Anordnung von Pixeldaten für solche Pixelblöcke und Makroblöcke in Pipeline-Sequenz ist in Fig. 2 bis 17 dargestellt und wird in Verbindung mit diesen Figuren erläutert.
- Die Pixelblock-Daten werden durch die entsprechenden Pipes in parallelen. Datenverarbeitungs-Wegen befördert, die jeweils einen inversen Quantisierer (18, 20), eine inverse diskrete Cosinus-Transformations-(DCT)-Einheit (22, 21), Ausgangs-FIFO- Puffer (26, 28), Block-Neuordnungs-Einheiten (23, 25), Block- Verschachtelungs-Einheiten (24, 27) und Addierschaltungen (30, 32) enthalten. Die Dekompression und die Transformations- Dekodierung werden jeweils durch die inversen Quantisierungs- Einheiten und durch die inversen DCT-Einheiten in jeder Pipeline vor Zuführung zu einem Eingang der Addierschaltungen 30 bzw. 32 ausgeführt.
- Die Neuordnungs-Einheiten 23, 25 entfernen das Zick-Zack- Abtastschema der einer inversen DCT-Transformation unterworfenen Pixeldaten aus den Einheiten 21 und 22, um eine horizontale Zeile-um-Zeile-Pixel-Abtastsequenz für jeden 8 · 8-Block zu erzeugen. Somit stellt in Pipe 1 beispielsweise der Ausgang der Einheit 23 Pixelwerte der Form a1 a2 a3 ... a63 a64 (für den Block A) dar, c1 c2 c3 ... c63 c64 (für den Block C), usw. Die Verschachtelungs-Einheit 24 verwendet eine Multiplex-Technik, um Ausgangsdaten der Pipe 1 in der Form von a1 c1 a2 c2 a3 c3 ... a64 c64 zu erzeugen. Die Verschachtelungs-Einheit 27 erzeugt eine ähnliche Sequenz für die Blöcke B, D.
- Die Quantisierungs-Schrittgröße der inversen Quantisierer 18 und 20 wird durch ein Quant-Steuer-Signal vom Puffer 12 gesteuert, um einen glatten Datenfluss sicherzustellen. Dekodierte Bewegungsvektoren MV werden vom Dekodierer 14 an eine Bewegungs- Kompensations-Einheit 90 geliefert, was nachfolgend beschrieben wird. Der Dekodierer 14 erzeugt auch ein Inter/Intra-Vollbild- Betriebsart-Auswahl-Steuersignal - wie bekannt - was nicht dargestellt ist, um die Zeichnung zu vereinfachen. Die von den Einheiten 14, 18/20, 21/22 und 23/25 durchgeführten Operationen sind das Inverse der entsprechenden, von einem MPEG-Kodierer bei einem Sender durchgeführten Operationen. Der MPEG-Dekodierer von Fig. 1 stellt das empfangene Bild unter Verwendung von MPEG- Verarbeitungsverfahren wieder her, was nachfolgend kurz beschrieben wird.
- Rekonstruierte Pixelblöcke werden jeweils an den Ausgängen der Addierschaltungen 30 und 32 durch Summieren der restlichen Bilddaten aus den Einheiten 26 und 28 mit vorhergesagten Bilddaten erzeugt, die an den Ausgängen der Bewegungs-Kompensations- Einheit 90 auf der Basis des Inhalts des Video-Vollbild- Speichers 20 erzeugt werden. Ein vollständiges Vollbild aus ein rekonstruiertes Bild darstellenden Pixelblöcken wird in einem Vollbild-Speicher 60 gespeichert. Bei der Inter-Vollbild- Betriebsart werden vom Dekodierer 14 erhaltene Bewegungsvektoren MV dazu verwendet, den Ort der vorhergesagten Blöcke aus der Einheit 90 zu liefern. Der Bewegungs-Kompensations-Prozess bildet Vorhersagen aus vorher dekodierten Bildern, die mit den Koeffizienten-Daten (aus den Ausgängen der IDCT-Einheiten 21 und 22) kombiniert werden, um die schließlich dekodierten Abtastungen wiederzugewinnen. Die Bewegungs-Kompensations-Einheit 90 arbeitet gemäß bekannten mit MPEG kompatiblen Verfahren, was beispielsweise in der MPEG-Vorschrift und in den oben erwähnten Weiss- und Ang-Schriften diskutiert wird. Die A-, C- und B-, D- Ausgänge der Einheit 90 stellen dekomprimierte verschachtelte Pixelblock-Daten A, C und verschachtelte Pixelblock-Daten B, D dar, was noch erläutert wird.
- Der Bild-Rekonstruktions-Prozess, der die Addierschaltungen 30, 32, den externen Dekodierer-Vollbild-Speicher 60 und die Bewegungs-Kompensations-Einheit 90 beinhaltet, weist vorteilhafterweise beträchtlich verminderte Vollbild-Speicher-Erfordernisse aufgrund der Verwendung von auf Blöcken beruhenden parallelen Daten-Kompressoren 40 und 42 und horizontalen Pixel- Dezimierungs-(Unter-Abtastungs)-Einheiten 36 und 38 auf, die horizontale Einzelheiten vermindern. Die Größe des Vollbild- Speichers 60 kann um 25%, 50% oder mehr als Funktion der Datenverminderung reduziert werden, die durch die Rekompressions- Einheiten 40, 42 und die Dezimierung durch die Einheiten 36, 38 erzielt wird. Ausgangsdaten von den Dezimierungs-Einheiten 36 und 38 werden durch eine Block-Neuordnungs-Einheit 43 verarbeitet, bevor sie dem Kompressor 40 in einer verminderten Daten- Operations-Betriebsart zugeführt werden, wenn eine horizontale Dezimierung verwendet wird, was noch erläutert wird. Die Wirkung der Neuordnungs-Operation sieht man in Verbindung mit Fig. 12 und 14 und betroffenen Figuren. Ein Betriebsart-Steuersignal und ein Betriebsart-Schalter 45 modifizieren die Kompressor- Operation in einer verminderten Daten-Operations-Betriebsart, wenn die Horizontal-Dezimierungs-Einheiten 36 und 38 aktiviert werden, was noch erläutert wird. Der Kompressor 42 wird in der reduzierten Daten-Betriebsart unwirksam gemacht (z. B. abgeschaltet). Zu anderen Zeiten, z. B. bei Verarbeitung eines Eingangssignals mit hoher Auflösung sind beide Kompressoren 40 und 42 aktiv.
- Die Dekompressions-Einheiten 80 bis 84 führen das Inverse der Kompression aus, die von den Einheiten 40 und 42 ausgeführt wird. Die Einheit 88 führt das Inverse der Dezimierung aus, die von den Einheiten 36 und 38 ausgeführt wird. Zusätzliche Einzelheiten dieser Operationen werden nachfolgend erläutert. Die Formatierungs-Einheit 86 rangiert unerwünschte dekomprimierte Zeilen von Pixeln aus, bis Zeilen, die die dekomprimierten Pixel enthalten, für die Bewegungs-Kompensations-Vorhersage-Verarbeitung durch die Einheit 90 benötigt werden, erfasst werden. Dieser Auswahlprozess verhindert die Ansammlung von unnötigen Daten, und er wird vorteilhafterweise in einem Kompressionssystem (wie dem offenbarten System) verwendet, das keine eindeutige Abbildung in einem Speicher für jedes Pixel vorsieht. Insoweit wird bemerkt, dass ein Pixelwert beispielsweise mit 3, 4 oder 5 Bits komprimiert oder quantisiert werden kann, und der Wert des Pixels ist bis nach der Dekompression nicht bekannt.
- Die Verarbeitung eines gemäß MPEG dekodierten Eingangs- Datenstroms mit hoher Auflösung wird vorteilhafterweise durch Verschachtelung des Eingangs-Datenstroms vor der Rekompression bewirkt, und durch Verarbeitung der verschachtelten Daten unter Verwendung eines Verschachtelungs-Daten-Kompressions-Netzwerks. Das Daten-Rekompressions-Netzwerk enthält ähnliche Kompressoren 40 und 42, die mit einem verschachtelten Datenstrom arbeiten. Diese Kompressoren teilen sich bestimmte logische Schaltungen und Nachschlage-Tabellen, die in einer Einheit 44 enthalten sind und arbeiten in Abhängigkeit von einem örtlich erzeugten 54 MHz- (2 · 27 MHz) Taktsignal CLK, das von einem Taktgenerator 50 erzeugt wird. Das CLK-Signal wird auch einem Horizontal-Aufwärts- Abtast-Netzwerk 88 zugeführt. Ein 81 MHz- (3 · 27 MHz) Taktsignal, das auch von dem Generator 50 erzeugt wird, wird den Dekompressoren 62, 80, 82 und 84 und dem Anzeige-Prozessor 70 zugeführt.
- Vor dem Fortsetzen einer Beschreibung der Arbeitsweise des Systems ist es hilfreich, die Art der Verarbeitung der verschachtelten Pixeldaten zu verstehen, die in den Fig. 2 bis 17 veranschaulicht ist. Fig. 2 zeigt eine bekannte MPEG-Makroblock- Konfiguration, die Luminanz- (Y) und Chrominanz- (U, V) Pixelblock-Komponenten umfasst. Die Luminanz-Komponente jedes Makroblocks wird durch vier 8 · 8-Pixel-Luminanzblöcke Ya, Yb, Yc und Yd gebildet. Die Chrominanz-Komponente umfasst 4 · 4 Pixel "U"- Blöcke Ua - Ud und 4 · 4 Pixel "V"-Blöcke Va - Vd wie dargestellt. Verschachteler 24 und 27 (Fig. 1) verschachteln diese Pixelblöcke in Daten-Pipes P1 bzw. P2, wie zuvor erläutert und in Fig. 3 dargestellt ist, was Veranschaulicht, wie die Luminanz- und Chrominanz-Blöcke für die A-, C- und B-, D-Pipeline- Verarbeitung angeordnet werden. Der Pipeline-Prozess vor der Verschachtelung wird in größeren Einzelheiten in Fig. 4 in Bezug auf die 4 · 4-Pixelblöcke veranschaulicht, die eine "U"- Chrominanz-Komponente bilden. Fig. 4 zeigt das Ergebnis des Prozesses, durch den die Einheiten 23 und. 25 die Chrominanz- Pixelblöcke Ua und Uc in der Daten-Pipe 1 und die Pixelblöcke Ub und Ud in der Pipe 2 platzieren. In dem Diagramm stellt A1 den ersten Pixelwert (8 Bit) des Blocks A, A2 den zweiten Pixelwert (8 Bit) des Blocks A, B1 den ersten 8-Bit-Pixelwert des Blocks B und so weiter bis zu den endgültigen Werten A16 und B16 zum Block D dar. Analoge Beobachtungen gehören zu den Luminanz- Pixeldaten.
- Fig. 5 bis 7 veranschaulichen Pixeldaten-Anordnungen unter der Annahme, dass eine horizontale Dezimierung nicht durch die Einheiten 36 und 38 in Fig. 1 ausgeführt wird. Bei einer Solchen Betriebsart werden die Einheiten 36 und 38 in Abhängigkeit von dem Maß der Datenverminderung (Dezimierung plus Kompression) umgangen, was für eine gegebene System-Konfiguration erwünscht ist. Die Pixeldaten-Verarbeitung mit horizontal ermöglichter Dezimierung ist in den Fig. 11 bis 17 veranschaulicht.
- Fig. 5 zeigt die A-, C-Sequenz von verschachtelten Pixeldaten in der Pipe 1, die vom Ausgang des Verschachtelers 24 zum Kompressor 40 über den Puffer 26 und die Addierschaltung 30 ohne Dezimierung durch die Einheit 36 geleitet wird. In gleicher Weise werden Pixeldaten in der Pipe 2 zum Kompressor 42 vom Verschachteler 27 und der Addierschaltung 32 in der Sequenz B1, D1, B2, D2, ... usw. geleitet. Die Unterteilung des Makroblocks in Abschnitte, die durch A-, B-, C- und D-Datengruppen dargestellt werden, ist nicht kritisch. Z. B, könnte in einem anderen System die Pipe 1 A-, B-Daten oder A-, D-Daten leiten. In gleicher Weise könnte die Pipe 2 eine andere Datenkombination als B, D leiten. Bei dem veranschaulichten Ausführungsbeispiel entsprechen die von der Pipe 1 übertragenen A-, C-Daten "geradzahligen" Datenblöcken gemäß der MPEG-Vorschrift, und die B-, D-Daten der Pipe 2 entsprechen "ungeraden" Datenblöcken in der MPEG- Vorschrift.
- Fig. 6 veranschaulicht die komprimierten Pixeldaten, die vom ersten Kompressor 40 in der ersten Pipe nach Huffman-Kodierung ausgegeben werden. Jedes "x" in dem Datenstrom von Fig. 6 stellt einen "Nicht darum kümmern"-Zustand dar, der erzeugt wird, um den Taktgebungs-Prozess zu vereinfachen, wodurch ein kontinuierlicher Takt (anstatt eines weniger erwünschten Stopp/Start- Taktes), der 8 Daten-Bits für jeden Taktzyklus umfasst, verwendet wird. Ein Schreib-Auslösesignal (nicht dargestellt) stellt sicher, dass nur gültige komprimierte Daten in den Speicher geschrieben werden, wenn sie vorhanden sind. Für jede sechzehn 8- Bit-(Chroma)-Pixel (8 Bytes) am Eingang werden sechzehn Bytes an komprimierten Daten am Ausgang erzeugt. Nicht dargestellt ist der analoge Pixeldaten-Ausgang von dem zweiten Kompressor 42 für die Blöcke B, D in der Pipe 2. Einzelheiten einer Kompressions- Schaltung, die für die Verwendung in den Kompressoren 40 und 42 geeignet sind, werden gezeigt und in Verbindung mit Fig. 20 erörtert.
- Nach Kompression durch die Einheiten 40 und 42 werden die Pixeldaten über einen 128 Bit breiten (d. h. 128 parallele Datenleitungen, von denen jede ein Bit überträgt) internen Speicherbus 55 (Fig. 1) und einen 64 Bit breiten externen Speicherbus 57 zum externen Dekodierer-Vollbild-Speicher 60 übertragen. Der Speicher 60 speichert die Pixelblock-Daten in der entschachtelten. Form. Die Entschachtelung kann durch Ausgangsschaltungen ausgeführt werden, die den Kompressoren 40 und 42 zugeordnet sind, oder durch Schaltungen vor dem Speicher 60, unter Steuerung eines örtlichen Mikroprozessors 120. Diese Schaltungen benutzen bekannte Signalverarbeitungs-Verfahren, um die inverse Verschachtelungs-Funktion auszuführen und sind nicht dargestellt, um die Zeichnung zu vereinfachen. Fig. 7 zeigt die Form der nach der Entschachtelung zum Speicher 60 geschickten komprimierten Pixeldaten. Jedes komprimierte Pixel wird durch drei bis sechs Daten-Bits dargestellt. In dem Block von komprimierten A- Daten stellt "a1'" nicht das Pixel a1 an diesem Punkt dar, sondern statt dessen 8 Bits, die durch eine Kombination von komprimierten Pixeln und Überschuss-Daten gebildet werden. Die Datenlänge eines Pixels wird durch die Daten selbst und durch den Ort des Pixels bestimmt. Die Zahl von verwendeten Bits zum Komprimieren der Daten in diesem Chroma-Block beträgt 64 Bits. Die ursprünglichen Chroma-Daten wurden durch 128 Bits (8 · 16 Bits) gebildet. Gleiche Beobachtungen gelten für die "B"- bis "D"- Daten.
- Bei erneuter Bezugnahme auf Fig. 1 werden im Speicher 60 gespeicherte komprimierte Pixeldaten für die Anzeige mittels eines Anzeige-Verarbeitungs-Netzwerks verarbeitet, das einen Anzeige- Dekompressor 62, einen FIFO-Anzeige-Puffer 64, einen Multiplexer 68 und einen Anzeige-Prozessor 70 enthält. Der Anzeige-Puffer 64 hält sechzehn Bildzeilen, die zwischen einem Paar von 8-Zeilen- Puffern aufgeteilt sind. Die dekomprimierten Daten für die Anzeige-Verarbeitung werden aus einem der Zeilen-Puffer über den Multiplexer 68 ausgelesen, während der andere Zeilen-Puffer mit dekomprimierten Daten von der Einheit 62 gefüllt wird. Die Puffer 64 können in der Speicher-Einheit 60 angeordnet sein. Der Anzeige-Prozessor 70 kann beispielsweise ein NTSC-Kodier- Netzwerk, Schaltungen zur Konditionierung der Pixel für die Anzeige und ein Anzeige-Ansteuer-Netzwerk für die Lieferung von Videosignalen an die Bild-Wiedergabevorrichtung 72 enthalten, z. B. eine hochauflösende Bildröhre oder andere geeignete Anzeigemittel.
- Vor der Dekompression durch die Einheit 62 werden die Pixeldaten neu verschachtelt, damit sie eine "ab"-Blocksequenz haben, wie in Fig. 8 dargestellt ist. Diese Verschachtelung kann durch geeignete Adressierung der Auslese-Operation des Speichers 60 ausgeführt werden, oder durch logische Eingangsschaltungen, die dem Anzeige-Dekompressor 62 zugeordnet sind. In gleicher Weise werden die Pixel c und d neu verschachtelt, um eine "cd"- Datensequenz (nicht dargestellt) vor der Dekompression zu erzeugen. Die Neuverschachtelungs-Sequenzen für die Anzeige, d. h. ab und cd, unterscheiden sich von den ursprünglichen Eingangs- Verschachtelungs-Sequenzen (ac und bd). Die ursprüngliche Verschachtelung erlaubte beispielsweise den Zugriff zuerst zu den Pixeldaten a und b, und die Daten a und b wurden parallel verarbeitet. Die neu verschachtelte Anzeigesequenz ist geeignet für Anzeigezwecke, bei denen Daten von demselben Vollbild benötigt werden (Pixel a, b und c, d sind in demselben Vollbild). Die Sequenz von verschachtelten dekomprimierten Pixeldaten für die "ab"-Sequenz ist in Fig. 9 dargestellt. Eine gleiche Sequenz von verschachtelten dekomprimierten Pixeldaten für die "cd"-Sequenz (C1, D1, C2, D2, C3, D3 ...), die nicht dargestellt ist, wird ebenfalls erzeugt. Nach Verarbeitung durch die Einheiten 64, 68 und 70 werden die Pixel eines gegebenen Blocks neu auf ein Anzeige-Format angeordnet, das in Fig. 10 dargestellt ist. Dies ist ein vereinfachtes Beispiel in 4 : 2 : 0-Form anstatt in 4 : 2 : 2- Form.
- Unter nochmaliger Bezugnahme auf Fig. 1 enthält die MPEG- Dekodierer-Schleife auch eine Dekompressions-Funktion, die durch eine Mehrzahl von Kompressoren 80, 82 und 84 in Verbindung mit Daten-Formatierung und Horizontal-Aufwärts-Abtastung ausgeführt wird, die von den Einheiten 86 bzw. 88 vorgenommen wird. Die obigen Bemerkungen zu den Fig. 8 und 9 gelten auch für diese Steuerschleifen-Dekompressions-Funktion, bei der vor der Dekompression die Pixeldaten durch Schaltungen verschachtelt werden, die den Dekompressoren zugeordnet sind, um eine "ab"-(und "cd")- Datensequenz zu erhalten, die in Fig. 8 veranschaulicht ist.
- Fig. 11 bis 17 veranschaulichen Pixeldaten-Sequenzanordnungen, wobei angenommen wird, dass eine horizontale Dezimierung (d. h. Unter-Abtastung oder Abwärts-Abtastung) durch die Einheiten 36 und 38 von Fig. 1 ausgelöst worden ist. Wenn die Datenverminderung in der Form von horizontaler Dezimierung durch die Einheiten 36 und 38 ausgelöst wird, wird der Kompressor 42 unwirksam gemacht, und nur der. Kompressor 40 wird wegen der verringerten Datenmenge zum Komprimieren von Daten verwendet. Das Netzwerk 44 enthält logische Schaltungen und Nachschlage- Tabellen, die von den Einheiten 40 und 42 verwendet werden. Diese Schaltungen und Tabellen werden nur von einem der Kompressoren benutzt, wenn der andere in einer Betriebsart mit verminderten Daten deaktiviert ist, wenn die Datenverarbeitungs- Anforderungen geringer sind. Bei einer hochauflösenden Betriebsart, bei der beide Kompressoren 40 und 42 arbeiten, wird die gemeinsame Benutzung dieser Schaltungen und. Tabellen durch den verschachtelten Daten-Pipeline-Prozess erleichtert. Genauer gesagt enthält die Einheit 44 zwei Nachschlage-Tabellen, eine für die Verwendung durch den Kompressor 40 und eine für die Verwendung durch den Kompressor 42. Die LUT für den Kompressor 40 ist gemeinsam für das Komprimieren der verschachtelten A- und C- Daten, da diese Daten zu verschiedenen Zeiten komprimiert werden, wie zum Beispiel mit abwechselnden Takten, was noch erläutert wird. Die LUT für den Kompressor 42 ist in gleicher Weise während der Kompression der Daten B und D gemeinsam.
- Fig. 11 zeigt die Sequenz von Pixeldaten, die von der Daten- Pipe 1 dem Eingang des Dezimierungs-Filters 36 in Fig. 1 zugeführt werden. Die Dezimierung durch das Filter 36 erzeugt die Pixel-Datensequenz von Fig. 12, die dem Eingang eines Neuordnungs-Netzwerks 43 zugeführt wird. In Fig. 12 stellen die mit "x" bezeichneten Elemente "Nicht darum kümmern"- oder Null-Daten dar. Bei einem H/2-Betrieb, bei dem horizontale Pixeldaten mit einem Faktor von 2 unter-abgetastet werden, bildet das Filter 36 den Durchschnitt von zwei benachbarten Pixeln, so dass
- a1* = (A1 + A2)/2,
- c1* = (C1 + C2)/2,
- a2* = (A3 + A4)/2,
- und so weiter. Dieser Prozess ist in Fig. 18 veranschaulicht, was noch erläutert wird. Es kann auch eine Dezimierung unter Verwendung anderer Unter-Abtast-Faktoren verwendet werden. Fig. 13 und 14 zeigen in gleicher Weise die Sequenz von Pixeldaten, die von der Daten-Pipe 2 dem Dezimierungs-Filter 38 in Fig. 1 zugeführt werden.
- Fig. 15 zeigt die Sequenz von Pixeldaten nach der Dezimierung und Neuordnung durch die Einheit 43 in Fig. 1. Genauer gesagt sind die Pixeldaten durch die Einheit 43 neu ausgerichtet worden, um sie in eine richtige Sequenz für die Kompression und Speicherung im Speicher 60 zu platzieren. In Fig. 15 stellen Pixeldaten a1 bis c4 ein Vollbild (eine 2 · 4-Matrix) nach der Dezimierung dar, die Pixeldaten b1 bis d4 stellen ein zweites Vollbild (2 · 4-Matrix) nach der Dezimierung dar, und so weiter.
- In Fig. 1 werden alle neu geordneten Pixeldaten von der Einheit 43 dem Kompressor 40 über den Betriebsarten-Schalter 45 zugeführt, da nur ein Kompressor benötigt wird, um die nach der Dezimierung resultierende verminderte Datenmenge zu komprimieren. Die Durchschnittsbildung von Daten in dem Dezimierungs- Prozess erzeugt ein Pixel aus zwei Pixeln, was zu weniger Daten und zu einem entsprechend verminderten Bedarf an Datenverarbeitungs-Bandbreite führt. Demzufolge ist nur ein Kompressor ausreichend, und der Kompressor 42 wird inaktiviert. Die Kompressoren werden je nach Bedarf bei Fehlen oder Vorhandensein von Dezimierung in Abhängigkeit von einem Betriebsarten-Steuersignal wirksam und unwirksam gemacht, was noch erläutert wird.
- Die Neuordnung, die in dem Neuordnungs-Netzwerk 43 erfolgt, ist kein direktes Verfahren, das zum Beispiel in einem Erst-ein- erst-aus-Puffer auftreten kann. Um die Kompliziertheit von Bewegungs-Kompensations-Schleifen-Verarbeitung einschließlich Horizontal-Dezimierung, Neuordnung und Rekompression zu minimieren, werden die Daten dem Kompressor 40 in weitgehend demselben Format zugeführt wie Daten, die nicht horizontal durch die Einheiten 36 und 38 dezimiert worden sind. Das Vorsehen des Neuordnungs-Netzwerks 43 getrennt von dem Rekompressor 40 vereinfacht die Schaltung, weil der Rekompressor 40 nicht zwischen Daten unterscheiden muss, die eine Neuordnung aus den Einheiten 36 und 38 erfordern, und Daten, die keine Neuordnung aus den Addierschaltungen 30 und 32 erfordern.
- Fig. 15A ist eine Zusammenstellung der Fig. 11 bis 15 und veranschaulicht den Datenfluss über horizontale Dezimierung und Neuordnung relativ zum Pixel-Timing. Die Datenströme 15-1 und 15-2 von Fig. 15A stellen jeweils Daten aus den Addierschaltungen 30, 32 und in die Dezimierungs-Netzwerke 36, 38 dar. Die Datenströme 15-3 und 15-4 stellen jeweils Daten aus den Dezimierungs-Netzwerken 36, 38 dar, die in das Neuordnungs-Netzwerk 43 eingegeben werden. Wie zuvor erläutert wurde, werden Pixel verschachtelt, was in den Datenströmen 15-1 bis 15-4 zu sehen ist. Die Datenströme 15-1 und 15-3 stellen Daten aus der Pipeline P1 und die Datenströme 15-2 und 15-4 stellen Daten aus der Pipeline P2 dar. Der Datenstrom 15-5 stellt Daten aus dem Neuordnungs- Netzwerk 43 dar, die in den Rekompressor 40 über einen Schalter 45 eingegeben werden. In Fig. 15A unten ist ein Pixel-Takt CLK vorgesehen, um das Timing der Daten-Pixel zu demonstrieren, wenn sie durch das System verlaufen. Als beispielsweise Veranschaulichung werden ausgewählte Daten-Pixel durch die Neuordnungs- Prozesse verfolgt. Der Prozess ist der gleiche für Daten von jeder Pipeline. Die Pixel der Datenströme 15-1 und 15-2 stellen einen Chrominanz-Pixel-Makroblock dar. Der Prozess ist derselbe für Luminanz-Pixel-Makroblöcke, aber der Prozess ist komplizierter, weil die Ausführung über vier 8 · 8-Pixelblöcke anstatt über 4 · 4-Pixelblöcke ausgebreitet ist. Der größere Makroblock bewirkt, dass die Neuordnung über einer größeren Zahl von Taktperioden mit vierfach so vielen Daten erfolgt. Die Neuordnungs- Prinzipien bleiben jedoch sowohl für Luminanz- als auch Chrominanz-Daten dieselben.
- Pixel B1 aus dem Datenstrom 15-2 wird auf 50% dezimiert und mit dem Pixel B2 kombiniert, um ein Ausgangs-Daten-Pixel derselben Größe von einem Eingangs-Daten-Pixel zu bilden. Dasselbe geschieht für die Pixel D1 und D2. Das Dezimierungs-Netzwerk 38 puffert dezimierte Daten aus den. Pixeln B1 und D1, bis Pixel B2 und D2 verarbeitet werden. Dies ist der Grund, dass Ausgangsdaten von dem Dezimierungs-Netzwerk 38 während der ersten beiden Taktperioden ungültig sind. Gültige Daten treten während der dritten Taktperiode als Pixel b1* auf. Daten aus dem Pixel B1 werden während der ersten Hälfte der dritten Taktperiode ausgegeben, und Daten aus dem Pixel B2 werden während der zweiten Hälfte der dritten Taktperiode ausgegeben. Die vierte Taktperiode erzeugt Pixel d1* in derselben Weise.
- Der Datenausgang aus den Pipelines P1 und P2 verläuft zum Neuordnungs-Netzwerk 43, das die Daten puffert und Zugriff zu bestimmten Pixeln in der richtigen Reihenfolge nimmt, um einen kontinuierlichen Datenfluss in den Kompressor 40 zu bilden. Wie man aus den Datenströmen 15-4 und 15-5 in Fig. 15A sieht, müssen die Pixel b1*, b2*, b3* und b4* mit Pixeln d1*, d2*, d3* und d4* verschachtelt werden, aber nach entsprechenden a- und c-Pixeln. Daher verbleiben die Pixel innerhalb des Neuordnungs-Netzwerks 43 während ungleicher Zeiten und warten ausgegeben zu werden. Beispielsweise wird das Pixel b1* von dem Neuordnungs-Netzwerk während der Taktperiode 3 empfangen und während der Taktperiode 12 ausgegeben, während das Pixel b2* von dem Neuordnungs- Netzwerk während der Taktperiode 7 empfangen und während der Taktperiode 14 ausgegeben wird. Pixel werden in das Neuordnungs- Netzwerk 43 durch eine Zustands-Vorrichtung (state machine) geleitet, die durch den Mikroprozessor 120 gesteuert wird.
- Um einen konstanten Datenfluss aufrechtzuerhalten, erwartet der Kompressor 40 Eingangs-Pixeldaten in verschachteltem Format, was in den Datenströmen 15-1 und 15-2 dargestellt ist. Nach den Dezimierungs-Netzwerken 36 und 38 wird die Pixel-Reihenfolge geändert, weil die beiden Pipelines P1 und P2 mit einer Reihenfolge von zwei für jede abwärts abgetastet werden, um die Hälfte der Daten dem Datenstrom 15-5 zuzuführen. Die abwärts abgetasteten Daten aus P1 und P2 stammen jedoch aus vertikal benachbarten Blöcken des Bildes. Der Kompressor 40 erwartet Pixeldaten, die aus horizontal benachbarten Blöcken verschachtelt sind. Daher kombiniert das Neuordnungs-Netzwerk 43 die abwärts abgetasteten Daten aus der in den Datenströmen 15-3 und 15-4 dargestellten Reihenfolge auf die Reihenfolge, die im Datenstrom 15-5 gezeigt ist. Diese Reihenfolge ist im wesentlichen dieselbe wie die verschachtelten Daten, die nicht einer Abwärts-Abtastung in den Dezimierungs-Netzwerken unterworfen werden. Die Pixelblöcke von den abwärts abgetasteten Daten und den nicht abwärts abgetasteten Daten haben dieselbe Größe, d. h. sie haben dieselbe Zahl von Pixeln sowohl horizontal als auch vertikal. Der einzige Unterschied besteht darin, dass die abwärts abgetasteten Pixel- Datenblöcke Pixel-Informationen aus zwei horizontal benachbarten Pixelblöcken enthalten, wie zuvor beschrieben wurde. Dieser Unterschied ist für den Kompressor 40 transparent, der einen kontinuierlichen Datenfluss erlaubt. Während dieses System eine Neuordnung vornimmt, um horizontal benachbarte Pixelblöcke in einen abwärts abgetasteten Pixelblock zu kombinieren, umfasst der Geist der Erfindung auch ein System, das Pixelblöcke kombinieren würde, die eine unterschiedliche räumliche Beziehung haben.
- Wie man in Fig. 15A sieht, braucht das Neuordnungs-Netzwerk 43 anscheinend Pixel a2* bis a4* und a6* bis a8* aus dem Dezimierungs-Netzwerk 36 (Datenstrom 15.3) für den Ausgang (Datenstrom 15-5), bevor sie verfügbar sind. Realistisch kann dies und tut dies nicht auftreten, aber es ist dargestellt, um das unterschiedliche Timing und die Verzögerungen zu veranschaulichen, an welche sich das Neuordnungs-Netzwerk 43 anpassen muss. Um zu verhindern, dass Daten für den Ausgang benötigt werden, bevor sie von dem Neuordnungs-Netzwerk 43 empfangen werden, hält die Einheit ausreichende Daten und verzögert diese, bis alle Daten verarbeitet sein können, wodurch ein kontinuierlicher Datenausgang erzeugt wird, wie in dem Datenstrom 15.5 gezeigt ist. Die Verzögerung tritt bei den ersten Daten auf, die durch die Pipelines P1 und P2 fließen und das Neuordnungs-Netzwerk 43 erreichen, was auftritt, wenn ein Fernsehempfänger eingeschaltet wird, ein Kanal geändert wird, oder immer wenn Datensynchronisation errichtet wird. Nach einer Anfangs-Verzögerung sind die Daten kontinuierlich, ohne dass Taktperioden verloren gehen.
- Fig. 16 zeigt die Sequenz von komprimierten Pixeldaten am Ausgang des Kompressors 40. In Fig. 16 bezeichnen komprimierte Daten "m" komprimierte Pixeldaten, die durch Daten gebildet werden, die aus Pixeln a und b nach der Dezimierung (d. h. ein 4 · 8-Pixelblock, der nach Dezimierung eines 8 · 8-Pixelblocks erzeugt wird) abgeleitet werden. In gleicher Weise bezeichnen komprimierte Daten "n" komprimierte Daten, die durch Daten gebildet werden, die aus Pixeln c und d nach der Dezimierung abgeleitet wurden. Pixeldaten a und b sind in demselben Vollbild, und Pixeldaten c und d sind in demselben Vollbild. Der Pixelblock-Kompressions-Prozess, der durch den Kompressor 40 ausgeführt wird, ist so ausgelegt, dass er in Verbindung mit 8 · 8- Pixelblöcken arbeitet. Nach der Dezimierung werden ein resultierender 4 · 8-Pixel-"a"-Block und ein 4 · 8-Pixel-"b"-Block kombiniert, um einen 8 · 8-Pixelblock zu erzeugen, der komprimiert wird, um einen Block "m" zu erzeugen. Analoge Beobachtungen gehören zu der Bildung von komprimierten. Blöcken "n" aus dezimierten 4 · 8-Blöcken "c" und "d". Auf diese Weise werden Blöcke in demselben Vollbild richtig für eine wirksame MPEG-Dekodierung ausgerichtet. Fig. 17 zeigt die Anordnung der richtig in der Vollbild-Reihenfolge komprimierten Blöcke, die dem Speicher 60 zugeführt und darin gespeichert werden.
- Die horizontale Detail-Verminderung, die durch das Dezimierungs-Netzwerk erzeugt wird, vermindert ferner die Dekodierer- Speicher-Erfordernisse, indem die Zahl von Pixelwerten vermindert wird, die in dem Speicher 60 gespeichert werden. Das Dezimierungs-Netzwerk 36, 38 verwendet ein horizontales räumliches Tiefpassfilter, dem eine horizontale 2 : 1-Dezimierung (Abwärts- Abtastung) folgt, bevor dem Speicher 60 Daten zugeführt werden. Nach der Dekompression durch die Einheiten 80, 82 und 84 wird die Auflösung der Bildinformationen von dem Speicher 60 durch die Einheit 88 unter Verwendung eines Pixel-Wiederholungs- Aufwärts-Abtast-Prozesses wiederhergestellt. Der Aufwärts- Abtast-Prozess ist nicht zwischen dem Anzeige-Dekompressor 62 und dem Anzeige-Prozessor 70 erforderlich, da der Prozessor 70 die benötigte horizontale Abtastraten-Umwandlung erzeugt. Es wird erwartet, dass der Anzeige-Dekompressor 62 und der Prozessor 70 keine Aufwärts-Abtastung in einem verbilligten Empfänger wegen der verminderten Anzeige-Auflösung, die von einem solchen Empfänger erzeugt wird, ausführen. In einem solcher Fall haben durch Speicherung verminderte dekodierte Vollbilder eine höhere Auflösung als eine Anzeige mit Norm-Auflösung. Um beispielsweise eine 1920 · 1088-Pixel-Videosequenz zu dekodieren und auf einer 720 · 480-Pixel-Anzeigevorrichtung anzuzeigen, ist es erforderlich, dass die in dem Vollbild-Speicher gespeicherten Bilder eine Auflösung von 960 · 1088 haben (mit einer horizontalen Dezimierung um einen Faktor von zwei). Somit muss der Anzeige- Dekompressor 62 keine Bilder aufwärts abtasten, sondern der Anzeigeprozessor 70 muss das Bild mit der Auflösung von 960 · 1088 auf 720 · 480 abwärts abtasten, um für die Anzeige geeignet zu sein.
- Fig. 18 und 19 zeigen jeweils die allgemeine Anordnung von Elementen, die dem Pixel-Unter-Abtastprozess zugeordnet sind, der von den Einheiten 36, 38 in Fig. 1 ausgeführt wird, und der Pixel-Aufwärts-Abtastung, die durch die Einheit 88 ausgeführt wird. In den Einheiten 36 und 38 werden die ursprünglichen Pixel zuerst durch ein Tiefpassfilter 102 mit geradzahliger Reihenfolge tiefpassgefiltert, bevor sie um zwei dezimiert werden, wobei jeder weitete Pixelwert durch die Einheit 104 entfernt wird. Diese Pixel werden im Speicher 60 gespeichert. Anschließend werden die Pixeldaten vom Speicher 60 durch das Element 106 der Aufwärts-Abtastungs-Einheit 88 unter Verwendung bekannter Verfahren wiederholt.
- Bei diesem Beispiel ist das Filter 102 ein symmetrisches FIR-Filter mit acht Anzapfungen. Dieses Filter arbeitet in dem horizontalen räumlichen Bereich und filtert über Block-Grenzen. Das 8-Anzapfungs-Filter bewirkt die Verschiebung der relativen Position der Ausgangs-Pixel um eine halbe Abtastperiode relativ zu dem Eingang, was in Fig. 18 dargestellt ist. Wie auch in Fig. 18 dargestellt ist, hat die Pixel-Wiederholungs-Aufwärts- Abtastung die Wirkung, dass dieselbe räumliche Position der abwärts abgetasteten/aufwärts abgetasteten Pixel relativ zu den ursprünglichen Pixeln erhalten bleibt. Die Dezimierungs-Filter- Einheit 104 kann ein 2-Anzapfungs-Filter sein, so dass für Eingangs-Pixel x und y der Ausgang (x + y)/2 ist, und die Dezimierung wird durch Fallenlassen jedes zweiten Pixels bewirkt. Dieses Filter kreuzt nicht die Block-Begrenzung, ist einfach auszuführen und ist eine gute Wahl für die horizontale Dezimierung.
- Das in Fig. 1 dargestellte Fernsehempfänger-System ist vereinfacht worden, um die Zeichnung nicht mit übermäßigen Einzelheiten zu belasten. Beispielsweise sind keine FIFO-Eingangs- und -Ausgangspuffer dargestellt, die verschiedenen Elementen des Systems zugeordnet sind, keine Lese/Schreib-Steuerungen, Taktgenerator-Schaltungen und Steuersignale für Schnittstellen zu externen Speichern, die vom Extended-Data-Out-Typ (EDO) oder vom synchronen Typ (SDRAM) sein können. Das System von Fig. 1 enthält zusätzlich einen Mikroprozessor 120 zum Senden und Empfangen von Daten, z. B. Lese/Schreib-Auslöse- und Adressen- Informationen, eine Bus-Schnittstelle 122 und eine Steuereinheit 126, die mit einem internen Steuer-Bus 114 verbunden ist. Bei diesem Beispiel befindet sich der Mikroprozessor 120 extern zu der integrierten Schaltung, die den MPEG-Dekodierer enthält.
- Der Anzeigeprozessor 70 enthält Horizontal- und Vertikal- Wiederabtast-Filter, die benötigt werden, um ein dekodiertes Bildformat in ein vorbestimmtes Format für die Anzeige durch die Einheit 72 umzuwandeln. Beispielsweise kann das System Bildsequenzen empfangen und dekodiern, die Formaten wie 525 Zeilensprung-, 1125 Zeilensprung- oder 720 Zeilen progressiver Abtastung entsprechen. Der Prozessor 70 erzeugt auch Taktsignale und H-, V-Synchronsignale, die der Bildanzeige zugeordnet sind, und kommuniziert mit dem Vollbild-Speicher 60 über den internen Speicher-Bus 55.
- Das externe Bus-Schnittstellen-Netzwerk 122 überträgt Steuer- und Konfigurierungs-Informationen zwischen dem MPEG- Dekodierer und dem externen Prozessor 120 zusätzlich zu komprimierten Eingangs-Videodaten zur Verarbeitung durch den MPEG- Dekodierer. Das MPEG-Dekodierer-System gleicht einem Ko- Prozessor für den Mikroprozessor 120, beispielsweise gibt der Mikroprozessor 120 einen Dekodierungsbefehl an den MPEG- Dekodierer für jedes zu dekodierende Vollbild. Der Dekodierer lokalisiert die zugeordnete Header-Informations die wiederum von dem Mikroprozessor 120 gelesen wird. Mit dieser Information gibt der Mikroprozessor 120 Daten zur Konfigurierung des Dekodierers aus, z. B. in Bezug auf Vollbild-Typ, Quantisierungs-Matrizen, usw., worauf der Dekodierer geeignete Dekodierungsbefehle ausgibt. Der variable Längen-Dekodierer 14 kommuniziert über den Speicher-Bus 55, und Schnittstellen-Schaltungen 128 erleichtern die Kommunikation zwischen dem Speicher-Bus 55 und dem Steuer- Bus 114.
- Betriebsarten-Steuerdaten, die durch den Empfänger- Hersteller programmiert werden, werden durch den Mikroprozessor 120 in Verbindung mit der Speicher-Steuereinheit 134 und der Steuereinheit 126 übertragen, um die Kompressions/Dekompressions-Faktoren für die Einheiten 40, 42 und 80, 84 zu errichten, und um den Zustand der Kompressions- und Dekompressions- Netzwerke und der Aufwärts-Abtastungs- und der Abwärts- Abtastungs-Netzwerke je nach Erfordernis der System-Bemessungs- Parameter zu steuern. Der Mikroprozessor 120 unterteilt auch den Speicher 60 in Vollbild-Speicher-Abschnitte, Vollbild-Speicher und Bit-Puffer und On-Screen-Anzeige-Bit-Abbildungs-Abschnitte für die MPEG-Dekodierung und die Anzeige-Verarbeitung. Die örtliche Speicher-Steuereinheit 134 empfängt Horizontal- und Vertikal-Synchronsignale (z. B. von der Einheit 70) und Daten-Anforderungs-Eingänge und liefert Bestätigungs-Ausgänge sowie Speicheradressen-, Leseauslöse-(Ren)- und Schreibauslöse-(Wen)- Ausgangssignale an verschiedene Systemschaltungen, die Puffer- Steuerschaltungen enthalten. Die Einheit 134 erzeugt Echtzeit- Adressen- und Steuersignale zur Steuerung des Speichers 60. Ausgangs-Taktsignale CLKout werden in Abhängigkeit von dem Eingangstakt im Signal CLKin erzeugt, die von einem örtlichen Taktgenerator, z. B. der Einheit 50, geliefert werden können. Das System von Fig. 1 kann mit allen Profilen und Pegeln der MPEG- Vorschrift in Verbindung mit verschiedenen digitalen Datenverarbeitungs-Schemata verwendet werden, die beispielsweise terrestrischen Rundfunk-, Kabel- und Satelliten-Übertragungssystemen zugeordnet sind.
- Bei diesem Ausführungsbeispiel befindet sich der Video- Vollbild-Speicher 60 extern von einer integrierten Schaltung, die den MPEG-Dekodierer und zugeordnete Elemente in Fig. 1 enthält. Der Anzeigeprozessor 70 kann einige Elemente enthalten, die nicht in der integrierten MPEG-Dekodierer-Schaltung enthalten sind. Die Verwendung einer solchen externen Speichervorrichtung erlaubt dem Hersteller des Empfängers die Auswahl einer Speichervorrichtung, die wirtschaftlich bemessen ist, so dass sie kompatibel mit der beabsichtigten Verwendung des Empfängers ist, z. B. für Anzeige mit voller hoher Auflösung oder Anzeige mit verminderter Auflösung, wenn der Empfänger einen Datenstrom mit hoher Auflösung empfängt. Die große Speichermenge, die normalerweise für die MPEG-Dekodierung verwendet wird, erfordert gegenwärtig, dass aus praktischen Gründen der Speicher extern zu der integrierten Dekodierer-Schaltung ist. Zukünftige technologische Fortschritte können erlauben, dass der Speicher auf derselben integrierten Schaltung wie die MPEG-Dekodierer-Elemente angeordnet wird. Die Verwendung einer externen Speichervorrichtung gibt einem Hersteller jedoch die Freiheit, eine Speichergröße zu wählen, die mit der Anzeige-Auflösung und anderen Merkmalen des Empfängers in Einklang ist.
- In der Praxis wird ein Empfänger-Hersteller entscheiden, ob ein Empfänger als teures Supermodell mit ausgedehnten Merkmalen oder als wirtschaftlicheres Modell mit weniger Merkmalen konfiguriert wird. Ein interessierendes Merkmal ist die Auflösung eines angezeigten Bildes. Bei einem Empfänger mit verminderten Kosten können Faktoren, die zur - Kostenverminderung beitragen, eine preisgünstigere Anzeigevorrichtung mit verminderter Auflösung und die dem MPEG-Dekodierer zugeordnete Speichermenge sein.
- Bei diesem Beispiel fällt das Speicher-Erfordernis auf 64 Mbits, wenn das Kompressor-Netzwerk Daten um 25% komprimiert, und das Speicher-Erfordernis fällt auf sogar weitere wirtschaftliche 48 Mbits, wenn die Daten um 50% komprimiert werden. Der Kompressions-Faktor von 25% würde einer voll hochauflösenden Bildanzeige zugeordnet, und würde virtuell nicht von einer vollen MPEG-Dekodierung ohne Kompression unterscheidbar sein. Bei 50% Kompression kann ein geübter Betrachter in der Lage sein, kaum wahrnehmbare Artefakte zu finden. In jedem Fall würde die dekodierte Bildsequenz die volle 1920 · 1088-HD-Auflösung für die Anzeige durch eine Bildanzeige-Vorrichtung mit voller HD- Auflösung aufweisen.
- In manchen Fällen ist eine volle HD-Bildauflösung nicht erforderlich, z. B. wenn ein Empfängermodell eine preiswerte Anzeigevorrichtung mit weniger als der vollen HD-Auflösungs-Kapazität verwendet. In einem solchen Fall ist es erwünscht, HD- Informationen ohne Anzeige von Bildern mit voller HD-Auflösung zu empfangen und zu dekodieren. In einem solchen Empfänger kann ein Dezimierungs-Netzwerk 36, 38 und ein Kompressions-Netzwerk 40 zusammen verwendet werden, um die Dekodierer-Speicher- Erfordernisse beträchtlich zu vermindern. Beispielsweise kann das Dezimierungs-Netzwerk horizontal Daten um einen Faktor von zwei dezimieren, und das Kompressor-Netzwerk kann die dezimierten Daten um 50% komprimieren. Dies führt zu einem stark verminderten Kodierer-Speicher-Erfordernis von 32 Mbits. In diesem Fall weist ein Bild für die Anzeige eine Auflösung von 960 · 1088 auf, was ausreichend für Empfänger-Anwendungen von entweder 1H oder 2H ist. Somit kann ein preiswerter Empfänger entwickelt werden, der in der Lage ist, volle HD-Bild-Datenströme zu dekodieren, wobei nur 32 Mbits des MPEG-Dekodierer-Speichers verwendet werden. Die oben beschriebene Operation wird in Abhängigkeit von dem Betriebsarten-Steuersignal bewirkt, das dem Schalter 45 durch den Mikroprozessor 120 zugeführt wird. In Abhängigkeit davon, ob der MPEG-Dekodierer sich in einem Empfänger mit hoher Auflösung oder in einem Empfänger mit verminderter Auflösung befindet, wird der Mikroprozessor 120 programmiert, um das Maß an Kompression zu bestimmen, und ob oder ob nicht das Dezimierungs- Netzwerk wirksam gemacht wird, um Daten abwärts abzutasten oder ob es umgangen wird.
- Das System von Fig. 1 weist eine erste Datenverarbeitungs- Betriebsart zur Verarbeitung eines Signals auf, das eine große Datenmenge enthält, z. B. ein Fernsehsignal mit hoher Auflösung für die Anzeige durch eine Anzeigevorrichtung mit hoher Auflösung, und eine zweite Betriebsart zur Verarbeitung einer verminderten Datenmenge. Die zweite Betriebsart kann beispielsweise in einem wirtschaftlichen Empfänger angewendet werden, der eine Anzeigevorrichtung mit verminderten Kosten und einer geringeren Daten-Auflösungs-Fähigkeit enthält (d. h. eine Nicht-HDTV- Anzeigevorrichtung).
- Der Zustand des Schalters 45 in Fig. 1 wird durch das Betriebsarten-Steuersignal gesteuert, das durch einen Empfänger- Hersteller programmiert werden kann, um den von dem Empfänger anzuzeigenden Datentyp anzugeben, z. B. hohe Auflösung (erste Betriebsart) oder weniger hohe Auflösung (zweite Betriebsart). Der Schalter 45 würde gesteuert werden, um die erste Betriebsart zu erzeugen, wenn ein empfangenes Signal mit hoher Auflösung von einer Anzeigevorrichtung mit hoher Auflösung angezeigt werden soll, und eine zweite Betriebsart für den Fall eines Eingangssignals mit hoher Auflösung, das durch die Einheiten 36 und 38 unter-abgetastet wird, um Bildinformationen mit weniger als hoher Auflösung für die Wiedergabe durch eine wirtschaftlichere Anzeigevorrichtung zu erzeugen, die weniger als eine hohe Auflösung hat.
- Bei der ersten Betriebsart werden die Dezimierungs-Einheiten 36 und 38 umgangen, und zu komprimierende Datenblöcke werden unmittelbar dem Kompressor 42 und dem Kompressor 40 über den Schalter 45 zugeführt. In dieser Betriebsart wird das Betriebsarten-Steuersignal einem Steuereingang des Kompressors 42 zum Wirksammachen des Kompressors 42 zugeführt. Bei der zweiten Betriebsart macht der Zustand des Betriebsarten-Steuersignals den Kompressor 42 unwirksam, indem Strom vom Kompressor 42 bei diesem Ausführungsbeispiel entfernt wird, während die Daten von der Addierschaltung 30, die dem aktiven Kompressor 40 über den Schalter 45 zugeführt werden sollen, wirksam gemacht werden. Das Unwirksammachen des Kompressors 42 durch Entfernen der Stromzufuhr ist insbesondere in einer integrierten Schaltung, die HDTV- Informationen verarbeiten soll, wegen der Leistungsbegrenzungen (Verlustwärme) solcher integrierten Schaltungen aufgrund hoher Taktfrequenzen, eines großen Oberflächen-Bereichs und der großen Zahl von darauf integrierten aktiven Elementen von Vorteil. Bei einem getasteten Taktsystem kann die Entfernung der Stromzufuhr wirksam durch Anhalten des Kompressor-Taktgebers bewirkt werden. Ein zusätzlicher Vorteil einer solchen Operation besteht darin, dass der Kompressor nur in ähnlichen Blockverarbeitungs- Betriebsarten wie 8 · 8 und 4 · 8 arbeiten muss. Dies bedeutet, dass der Kompressor 40 beispielsweise nicht neu programmiert werden muss, um 4 · 8-Pixelblöcke zu verarbeiten, die durch den Dezimierungs-Prozess erzeugt werden. Die Block-Neuordnungs- Einheit 43 stellt Blöcke nach Dezimierung wieder her, um aus 4 · 8-Pixelblöcken einen 8 · 8-Pixelblock zu erzeugen, der kompatibel mit dem Kompressor-Block-Verarbeitungs-Algorithmus ist.
- Das Betriebsarten-Steuersignal wird auch einem Steuereingang des horizontalen Aufwärts-Abtastungs-Netzwerks 88 zum Umgehen der Aufwärts-Abtastungs-Funktion in Betriebsarten zugeführt, wenn die Dezimierung durch die Einheiten 36 und 38 nicht verwendet wird. Zu diesem Zweck kann die Einheit 88 eine verhältnismäßig einfache Schaltanordnung zum Umschalten des Ausgangssignals von der Einheit 86 unmittelbar zur Einheit 90 bei einer solchen Umgehungs-Betriebsart verwenden.
- Die Kompression vor Speicherung der Daten im Speicher 60 erfordert, dass die Daten vor der Einheit 90 in der Bewegungs- Kompensations-Verarbeitungs-Schleife dekomprimiert werden. Dies wird durch auf Blöcken beruhenden Dekompressoren 80, 82 und 84 bewirkt, die die inverse Operation der Kompressoren 40 und 42 aufweisen. Der auf Blöcken beruhende Anzeige-Dekompressor 62 verwendet ein Dekompressionsverfahren, das gleich dem ist, das von den Kompressoren 80 bis 84 verwendet wird, und er dekomprimiert gespeicherte Pixeldaten vor Zuführung zu dem Anzeigeprozessor 70. Wenn das Abwärts-Abtastungs-Netzwerk 36, 38 vor dem Speicher 60 wirksam gemacht wird, werden Ausgangsdaten vom Speicher 60 vor der Einheit 90 in der Bewegungs-Kompensations- Vetarbeitungs-Schleife durch die Einheit 88 aufwärts abgetastet, die das Inverse der Arbeitsweise des Netzwerks 36, 38 aufweist.
- Das System von Fig. 1 verwendet vorteilhafterweise eine Mehrzahl von parallelen Block-Dekompressoren, die durch die Einheiten 80, 82 und 84 in der Bewegungs-Kompensations-Schleife dargestellt werden. Bei diesem Beispiel werden neun Dekompressoren verwendet, drei in jeder der Einheiten 80, 82 und 84, damit alle Pixel individuell dekomprimiert werden können. Jeder dieser Kompressoren hat einen zugeordneten FIFO-Eingangspuffer. Drei Dekompressoren (z. B. in der Einheit 80) werden zum Dekomprimieren von Luminanz-Pixeldaten in einer MPEG-Vorwärts-Vorhersage- Betriebsart verwendet, und drei Kompressoren (z. B. in der Einheit 82) werden zum Dekomprimieren von Luminanz-Pixeldaten in einer MPEG-Rückwärts-Vorhersage-Betriebsart verwendet. Da die Chrominanz-Information halb so groß wie die Luminanz-Information ist, werden nur drei Dekompressoren (z. B. in der Einheit 84) verwendet, um Chrominanz-Pixeldaten zu dekomprimieren. Die Verwendung von allen neun Dekompressoren wird für den schlimmsten Fall der MPEG B-Bild-Dekodierung benötigt, die eine bidirektionale vorhersagende Bewegungs-Kompensations-Verarbeitung erfordert. Somit erfordert die B-Bild-Vorhersage zwei Vollbilder (vorwärts und rückwärts), während die MPEG P-Bild-Vorhersage nur ein Vollbild erfordert.
- Der Bewegungs-Kompensations-Vorhersageblock muss nicht (und tut dies oft nicht) in einer Block-Begrenzung auftreten. Statt dessen können mehrere Blöcke von dem Vollbild-Speicher 60 angerufen werden. Bei der schlimmsten Situation in einem MPEG-2- System mit einer Auflösung von einem halben Pixel kann der Bewegungs-Kompensations-Vorhersageblock sechs Blöcke überlappen. Somit müssen sechs Blöcke von dem Speicher Zugriff erhalten. In einem System wie das offenbarte System mit Rekompression in der Bewegungs-Kompensations-Schleife (über Einheiten 40, 42) kann kein direkter Zugriff zu Pixeln genommen werden. Alle Block- Pixel müssen zuerst dekomprimiert werden, was viel Überschuss in der schlimmsten Sechs-Block-Situation erfordert und mehr Daten erzeugt als benötigt werden. Unnötige Pixel-Informationen werden durch die Formatierungseinheit 86, wie zuvor erwähnt, fallen gelassen, aber nur nachdem alle Pixel dekomprimiert worden sind.
- Bei großen Datenverarbeitungs-Situationen wie bei der oben erwähnten Sechs-Block-Situation erhöht die Dekompression vor der Speicherung stark die Anforderungen an die Pufferspeicher-Größe, die der Handhabung der dekomprimierten Pixel-Informationen zugeordnet sind. Statt dessen wurde gefunden, dass es bei dem offenbarten System zu bevorzugen ist, Daten parallel wie offenbart zu dekomprimieren und anschließend (über die Einheit 86) nicht benötigte dekomprimierte Pixeldaten fallen zu lassen, die nicht dem Vorhersageblock zugeordnet sind. Dieses Verfahren benötigt vorteilhafterweise beträchtlich weniger Pufferspeicher- Kapazität. Obwohl somit das Pufferspeicher-Bandbreiten- (Datenkapazität)-Erfordernis vermindert wird, wird mehr integrierter Oberflächen-Bereich benötigt. Die Verwendung von mehreren parallelen Dekompressoren ergibt jedoch den zusätzlichen Vorteil einer schnelleren Operation und einen zugeordneten schnelleren Zugriff zu den Pixeldaten, die für die Bewegungs- Kompensations-Vorhersage-Verarbeitung benötigt werden.
- Die mehreren Dekompressoren bilden keine Pipelines. Jeder Dekompressor und sein zugeordneter Puffer arbeiten unabhängig zur Lieferung von Daten, so dass Pixeldaten schnell geliefert werden. Verzögerungen in dem Betrieb eines Dekompressor/Puffer- Netzwerks beeinträchtigen nicht den Betrieb von anderen Dekompressor-Netzwerken. Die Kompressoren weisen auch eine verschachtelte Operation in Bezug auf Pixeldaten auf, was die unabhängige Operation jedes Dekompressors erleichtert. Auch wie bei dem Kompressor-Netzwerk teilen die Dekompressoren 80, 82 und 84 eine gemeinsame Nachschlage-Tabelle (LUT) in der Einheit 44.
- Verschiedene Arten von Kompression, einschließlich Quantisierung und Transformation, können von dem Netzwerk 40, 42 in Abhängigkeit von den Erfordernissen eines bestimmten Systems verwendet werden. Das offenbarte System verwendet eine Fest- Längen-Kompression, obwohl eine variable Längen-Kompression oder eine adaptive feste/variable Kompression auch verwendet werden kann.
- Der verwendete Kompressions-Typ sollte vorzugsweise bestimmte Eigenschaften aufweisen. Jeder Block sollte um ein vorbestimmtes Maß komprimiert werden, so dass der Ort jedes komprimierten Blocks leicht bestimmt wird. Jeder Block sollte unabhängig von anderen Blöcken komprimiert/dekomprimiert werden. Somit kann zu jedem Block Zugriff genommen werden, ohne dass irgendein anderer Block gelesen werden muss. Der Kompressions/Dekompressions-Prozess sollte keine unangenehmen Artefakte in einem wiedergegebenen Bild erzeugen. Ein Kompressionsfaktor von 25% ist weitgehend transparent im Vergleich zur üblichen Dekodierer- Verarbeitung ohne solche Kompression. Bei 50% Kompression sind die Ergebnisse weniger transparent, aber die sichtbaren Ergebnisse sind annehmbar, und sie werden nicht als beträchtlich unterschiedlich im Vergleich zur üblichen Dekodierer-Verarbeitung ohne Kompression und Speicher-Verminderung angesehen.
- Fig. 20 veranschaulicht das feste Kompressions-Netzwerk, das in jedem der Rekompressoren 40 und 42 in Fig. 1 verwendet wird.
- Das Kompressions-Netzwerk verwendet eine differentielle Impuls- Code-Modulations-(DPCM)-Schleife mit adaptiver Vorhersage. Die Philosophie einer solchen DPCM-Verarbeitung mit Vorhersage ist die Entfernung von gegenseitiger Redundanz zwischen aufeinanderfolgenden Pixeln und die Erzeugung nur einer Differenz- Information. Dieser allgemein bekannte Prozess wird allgemein von A. K. Jain in Fundamentals of Digital Image Processing (Prentice-Hall International), Seite 483 und folgende, beschrieben.
- Vor Diskussion der Schaltung von Fig. 20 wird auf Fig. 22 Bezug genommen. Fig. 22 zeigt eine beispielsweise Anordnung einer Gruppe von vier Pixeln a, b, c und x (das vorherzusagende Pixel), die der vorhersagenden Verarbeitungs-Operation des DPCM- Netzwerks zugeordnet sind. Auf diese Gruppe von Pixeln wird in dem 8 · 8-Pixelblock Bezug genommen, der in Fig. 22 dargestellt ist. Jeder Pixelblock wird in Rasterart, wie in Fig. 22 dargestellt, von links nach rechts in einer Abwärtsrichtung abgetastet. Bei diesem Beispiel wird für die Luminanz-Information das Pixel b um ein Pixel-Lntervall relativ zum Pixel c verzögert, und das Pixel a wird um ein Sieben-Pixel-Intervall relativ zum Pixel b verzögert, und das Pixel x wird um ein Pixel-Intervall relativ zum Pixel a verzögert. Für die Chrominanz-Information wird das Pixel "a" um ein Drei-Pixel-Intervall verzögert.
- Bei der vorhersagenden DPCM-Verarbeitung wird das gegenwärtig kodierte Pixel unter Verwendung von vorher kodierten Pixeln vorhergesagt, die den Dekompressoren 62, 80, 82 und 84 (Fig. 1) bekannt sind. In Fig. 22, wo das Pixel x der vorhersagend zu kodierende Pixelwert ist, sind die Pixel a, b und c zuvor vorhersagend kodiert worden und sind den Dekompressions-Netzwerken bekannt. Eine Vorhersage von x, Xpred, verwendet die Werte von a, b und c gemäß dem folgenden Pseudo-Code, der die zu verwendende Algorithmus-Logik beschreibt:
- Wenn ( a - c < e&sub1; && b - c > e&sub2;), Xpred = b
- sonst wenn ( b - c < e&sub1; && a - c > e&sub2;), Xpred = a
- sonst Xpred = (a + b)/2
- Die Werte e1 und e2 sind Konstante, die vorbestimmte Schwellwerte darstellen. Dieser Algorithmus wird nur für Pixel verwendet, die nicht in der ersten Reihe oder der ersten Spalte des verarbeiteten Blocks angeordnet sind. Einige Ausnahmen werden wie folgt gehandhabt: Das erste Pixel in einem Block wird sehr fein ohne Bezugnahme auf irgendein anderes Pixel kodiert, Pixel in der ersten Reihe verwenden einen Pixelwert a als Vorhersage, und Pixel in der ersten Spalte verwenden einen Pixelwert b als Vorhersage. Grundsätzlich versucht dieser Algorithmus einen Rand festzustellen. In dem ersten Fall wird ein vertikaler Rand zwischen Pixeln c und b und zwischen Pixeln a und x vorgeschlagen. Somit ist b die beste Vorhersage. Der zweite Fall schlägt einen horizontalen Rand zwischen a und c und zwischen b und x vor. Somit ist a die beste Vorhersage. Im dritten Fall wird kein offensichtlicher Rand gefunden. In diesem Fall sind sowohl a als auch b gleich gute Vorhersagen, so dass ihr Durchschnittswert verwendet wird.
- Das Kompressions-Netzwerk von Fig. 20 quantisiert Differenz- (restliche)-Pixelwerte, die als Ergebnis der DPCM-Verarbeitung erzeugt werden. Fig. 20 verwendet eine verschachtelte DPCM- Schleife mit zwei vorbestimmten Verzögerungen und paralleler anstatt serieller Verarbeitung. Die in Fig. 20 dargestellte Schaltung entspricht der, die von dem Rekompressor 40 in Fig. 1 für die Verarbeitung der verschachtelten Pixeldaten A und C in der in Fig. 5 dargestellten Reihenfolge verwendet wird. Eine gleiche Schaltung wird von dem Kompressor 42 zum Komprimieren von verschachtelten Pixeldaten B und D verwendet. Da das Netzwerk von Fig. 20 einen restlichen Wert komprimiert, muss die Vorhersage- Schleife die Verarbeitung eines Pixels eines gegebenen Blocks beenden, bevor das entsprechende mit angeordnete Pixel des entsprechenden nächsten Blocks erscheint. Die verschachtelten Pixelblock-Daten bewegen sich unabhängig durch die Schaltung, was in einem System mit variabler Längenkodierung mit Eingangs- und Ausgangsdaten mit unterschiedlichen Raten wichtig ist.
- In Fig. 20 wird eine Sequenz von verschachtelten Pixeldaten a, c, a, c, ... von entsprechenden verschachtelten Pixelblöcken A, C, ... (Fig. 5) einer Verzögerung von einem Pixel durch die Einheit 230 unterworfen. Ein zu komprimierender gegebener Pixelwert wird einem nicht-invertierenden (+)-Eingang einer subtraktiven Kombinationsschaltung 210 zugeführt. Der invertierende (-)-Eingang der Kombinationsschaltung 210 empfängt vorhergesagte Pixelwerte von der Vorhersage-Vorrichtung 215. Der restliche (Differenz)-Pixelwert-Ausgang von der Kombinationsschaltung 210 wird einer Quantisierung und einer inversen Quantisierung durch Elemente 220 bzw. 222 unterworfen. Die von dem Element 220 erzeugte Quantisierung ist in diesem Beispiel festgelegt und garantiert ein gewünschtes festes Maß von Datenkompression. Elemente 230, 232, 234, 236, 238, 240 und 242 sind Register (z. B. Flip-Flops), die durch das 54 MHz CLK-Signal getaktet werden. Elemente 230, 232, 240 und 242 (21) weisen eine Verzögerung von einem Taktzyklus auf. Es erfordert wegen der Datenverschachtelung zwei Takte, um ein Pixel vorzuschieben. Elemente 238, 234 und 236 weisen eine Verzögerung von jeweils zwei, sechs und acht Taktzyklen als Konsequenz der Netzwerk-Verarbeitung eines Datenstroms aus zwei verschachtelten Pixelblöcken auf. Der Ausgang des inversen Quantisierers 222 kommt dem Eingang zum Quantisierer 220 nahe, unterscheidet sich aber durch einen kleinen Gleichstrom-Offset, der durch den Quantisierungsfehler verursacht wird. Der Ausgang der Addierschaltung 228, Input', unterscheidet sich vom Eingangssignal zur Kombinationsschaltung 222 um dieses selbe Maß. Die Timing-Beziehung einer Sequenz von verschachtelten Eingangs-Pixeln a, c, ... über mehrere Taktperioden in Bezug auf ausgewählte Schaltungselemente von Fig. 20 ist in Fig. 27 dargestellt und wird in Einzelheiten nachfolgend beschrieben.
- Das Netzwerk von Fig. 20 enthält auch eine Addierschaltung 228 und Multiplexer 225 und 235, die - wie dargestellt - angeordnet sind. Diese Multiplexer umfassen das Pixel-Vorhersage- Netzwerk in Verbindung mit der Vorhersage-Logik 215 und den Pixel-Verzögerungselementen 234, 236 und 238. Der Schaltzustand des Mux 235 wird durch Luminanz (Y) und Chrominanz (C) Steuersignale bestimmt, die ihm zugeführt werden. Die Y-, C- Steuersignale werden als Funktion der Luminanz- und Chrominanz- Block-Verschachtelung erzeugt, wie in Fig. 3 dargestellt. Das Erscheinen der Steuersignale Y, C rührt von einem Pixel- Zähl/Timing-Prozess her, so dass Chrominanz-Pixel der Reihe nach nach Makroblock-Luminanz-Pixeln verarbeitet werden. Die Y- und C-Steuersignale dienen zur Steuerung des Verzögerungs-Maßes in der Vorhersageschaltung, wie angemessen für 8 · 8-Luminanz- Block-Verarbeitung oder 4 · 8-Chrominanz-Block-Verarbeitung. Die Verarbeitung von Chrominanz-Pixeln wird wirksam gemacht, wenn ein logisches Pegel-Steuersignal "1" dem Mux 235 zugeführt wird, was den Mux 235 veranlasst, Daten, die an seinem "1"-Ausgang erscheinen, durchzulassen. Die Verarbeitung von Luminanz- Pixeldaten wird wirksam gemacht, wenn ein logisches Pegel- Steuersignal "0" dem Mux 235 zugeführt wird, was den Mux 235 veranlasst, seinem "0"-Eingang von dem Ausgang der Verzögerungseinheit 2356 zugeführte Daten durchzulassen. In dem Fall eines 8 · 8-Luminanz-Blocks ist das "x"-Vorhersage-Pixel acht. Pixel entfernt. Mux 235 schaltet Eingangs-Verzögerungswege um, um diese größere Verzögerung zu erzeugen.
- Komprimierte (quantisierte) restliche Pixel-Ausgangsdaten werden am Ausgang des Quantisierers 220 erzeugt. Diese komprimierten Daten (Fig. 6) werden einer Verzögerung von einer Taktperiode durch die Einheit 242 unterworfen, bevor sie einer weiteren Verarbeitung einschließlich Huffman-Kodierung unterworfen werden.
- Auf zwei Flip-Flop-Verzögerungselemente 232 und 240 wird insbesondere hingewiesen. Die Verwendung der Elemente 232 und 240 erzeugt duale Verzögerungswege Δ1 und Δ2 und erlaubt die Vorhersage von benachbarten Pixeln anstatt jedes anderen Pixels. Der Verzögerungsweg Δ1 umfasst Schaltungs-Komponenten zwischen dem Ausgang der Verzögerungsschaltung 232 und dem Eingang der Verzögerungsschaltung 240. Der Verzögerungsweg Δ2 umfasst Schaltungs-Komponenten zwischen dem Ausgang der Verzögerungsschaltung 240 und dem Eingang der Verzögerungsschaltung 232. Jede der Verzögerungsschaltungen 232 und 240 stellt eine Verzögerung von einem Takt von annähernd 18 Nanosekunden oder eine 54 MHz- Taktperiode dar. Bei dieser Anordnung wird ein komprimiertes Ausgangs-Pixel aus der Schaltung in der Zeit herausgetaktet, in der ein zu komprimierendes Pixel in die Schaltung hineingetaktet wird. Somit wird ein komprimiertes Ausgangs-Pixel für jedes zu komprimierende Eingangs-Pixel in Echtzeit erzeugt.
- In anderen Systemen könnten die oben erläuterten Prinzipien mit vierfacher Verschachtelung verwendet werden, d. h. vier Daten-Pipelines und vier anstatt zwei Verzögerungswege in dem System von Fig. 20. Kritische Verarbeitungs-Schleifen können dann in vier Teile unterteilt werden, um die Synchronisierung zu vereinfachen, die die Verwendung eines schnelleren Taktgebers erlauben kann. Auch in diesem Fall würde eine gemeinsame Nachschlage-Tabelle Fläche auf dem integrierten Chip einsparen. Obwohl die Eingangs-Pixelblöcke bei diesem Beispiel verschachtelt sind, müssen die Eingangsdaten nicht in allen Systemen verschachtelt werden.
- Die Verwendung von dualen Verzögerungswegen Δ1 und Δ2 erleichtert das Zuschneiden der Verzögerung des Gesamt-Netzwerks, wie sie benötigt wird, z. B. in diesem Fall etwa 18 Nanosekunden Verzögerung. Insoweit wird bemerkt, dass die jedem Verzögerungsweg zugeordnete extensive Signalverarbeitung verschiedene Mittel zum Zuschneiden der Verzögerungen vorsieht. Die Verzögerungen, die die beiden Verzögerungswege aufweisen, sind nicht kritisch. Die schaltungen werden vorzugsweise rund um den Takt optimiert, so dass jede Verzögerung etwa eine Taktperiode des periodischen 54 MHz-Taktes aufweist. In anderen Systemen kann es jedoch angemessen sein, die Taktperioden in Bezug auf eine gegebene Schaltung zuzuschneiden, z. B. unregelmäßige oder nicht-periodische Taktperioden zu erzeugen. Die beiden Verzögerungswege müssen nicht gleiche Signalverarbeitungs-Verzögerungen aufweisen, jedoch sind annähernd gleiche Verzögerungen bei dem offenbarten System zu bevorzugen.
- Die Signalverarbeitungswege Δ1 und Δ2 können leichter für die Signalverarbeitungs-Verzögerung optimiert werden als ein Gesamtweg, was bei dem Fehlen der Elemente 232 und 240 der Fall sein würde. Im Fall von zwei Wegen, die durch Elemente 232 und 240 definiert werden, kann jeder Weg mit dem Betrieb beginnen, ohne auf die Ergebnisse von dem anderen Weg zu warten. Im Fall eines Systems mit einem einzigen Weg muss jeder Pixelwert (z. B. der Pixelwert am Knoten des Eingangs zu den Elementen 234, 215 und 225) durch mehrere Funktionen verarbeitet werden, einschließlich Vorhersage-Logik, Addierschaltung, Quantisierung und inverse Quantisierung, und erscheint am Ende des Weges vor dem Beginn der nächsten Taktperiode. Außerdem müssen solche Pixelwerte bei dieser Zeit stabil sein. Dies ist eine ernste Beschränkung, die bei dem offenbarten System mit mehreren Wegen nicht vorhanden ist, das mehr Freiheit aufweist.
- Die Anordnung von Fig. 20 ist bei Ausführung in Hardware z. B. als integrierte Schaltung, in der Lage, einen komprimierten Pixel-Ausgang für jeden Pixel-Eingang in Echtzeit mit einer 54 MHz-Taktrate zu erzeugen. Die Anordnung von Fig. 20 bietet mehr Freiheit, um Signalverarbeitungs-Verzögerungen passend zu machen und verbraucht beträchtlich weniger Oberflächen-Bereich in einer integrierten Vorrichtung, um dasselbe Ergebnis zu erzeugen. Ferner weist der verminderte Oberflächen-Bereich weniger Kapazität auf, was zu einer schnelleren Arbeitsgeschwindigkeits-Fähigkeit und weniger Leistungsverbrauch führt. Es ist auch die Verwendung eines schnelleren Taktes möglich. In einem solchen Fall erzeugt die Verschachtelung noch einen Vorteil in Form von verminderter integrierter Schaltungsfläche (z. B. weniger Kompressions- Einheiten und zugeordnete Unterstützungs-Einheiten) und bessere System-Optimierung unter Verwendung automatisierter Konstruktionswerkzeuge.
- Mit einem Takt müssen alle logischen Gatter zu einer Zeit synthetisiert werden. Die Verwendung von zwei Verzögerungswegen vereinfacht - wie erwähnt - die Synthese von logischen Gattern sowohl für die Kompressor- als auch die Dekompressor-Netzwerke beträchtlich, wenn die Konstruktion der integrierten Schaltung die Verwendung eines VHDL-Sprach-Codes mit hohem Pegel beinhaltet (wie bekannt), von dem die Gatter synthetisiert werden. Mit zwei Verzögerungswegen konvergiert die Konstruktion der automatischen Logik schnell, so dass die Gatter schneller, genauer und besser reproduzierbar synthetisiert werden.
- Außer der Erleichterung einer besser reproduzierbaren Konstruktion fördern die beschriebenen zwei Verarbeitungswege in Fig. 20 die Verwendung von Verschachtelung, um einen Bandbreiten-Vorteil und die Verwendung von gemeinsamen logischen Elementen (z. B. Nachschlage-Tabellen) vorzusehen. Solche dualen Verarbeitungswege erleichtern auch die Unterteilung der Konstruktion in funktionelle Zellen oder Module, je nach Erfordernis durch ein bestimmtes System, z. B. Vorhersage- und Kompressions- Berechnungs-Funktionen bei diesem Ausführungsbeispiel. Solche Module können in der notwendigen Weise zugeschnitten werden, um die Erfordernisse einer besonderen System-Konstruktion zu erfüllen.
- In Bezug auf die verschachtelte Kompressor-Operation sei bemerkt, dass es gefunden wurde, die Verwendung eines Kompressors mit verschachtelten Daten unter Verwendung von zwei Perioden eines gegebenen schnellen Taktes vorzuziehen als die Verwendung von zwei Kompressor-Schaltungen, die jeweils mit der Hälfte des gegebenen Taktes getaktet werden. Die Verwendung von zwei Perioden eines Taktes erleichtert die Timing-Optimierung über die Verschachtelung - wie erwähnt - und die Verschachtelung erlaubt die Verarbeitung von doppelt soviel Daten. Bei dem offenbarten System wird die Vorhersage eines gegebenen Pixelwertes während einer Taktperiode ausgeführt, während Berechnungen (Quantisierung und inverse Quantisierung) für dieses Pixel während der nächsten Taktperiode ausgeführt werden. Beispielsweise werden für verschachtelte Pixelblöcke A und C Pixeldaten aus dem Block A während einer 54 MHz-Taktperiode vorhergesagt, während Quantisierungs-Berechnungen für Pixeldaten vom Block C ausgeführt werden. Während der nächsten Taktperiode werden Pixeldaten vom Block A Quantisierungs-Berechnungen unterworfen, während Pixeldaten vom Block C vorhergesagt werden. Somit sagt dieses System für unterschiedlich verschachtelte Blöcke abwechselnd vorher und rechnet. Die Verwendung von zwei Perioden des 54 MHz-Taktes bietet die Gelegenheit, Schaltungsverzögerungen unter Verwendung geeigneter. Werkzeuge zu optimieren, die für die Herstellung von Hardware-Schaltungen verfügbar sind. Der Prozess der abwechselnden Vorhersage von Pixelwerten und der Berechnung von Kompressionswerten ist in Fig. 27 veranschaulicht.
- Fig. 27 zeigt den Prozess, bei dem verschachtelte Pixel "a" und "c" von zugeordneten verschachtelten Pixelblöcken A und C über mehrere Perioden des 54 MHz-Kompressions-Taktes verarbeitet werden. Es wird angenommen, dass die Verarbeitung mit dem ersten Pixel a1 des ersten Pixelblocks A1 beginnt. Bei Betrachtung von Fig. 27 mit Fig. 20 bewirkt die erste Taktperiode, dass das Pixel a1 aus dem Eingang des Registers (Flip-Flop) 230 zu seinem Ausgang getaktet wird, wobei das Pixel a1 durch die Einheit 220 quantisiert (komprimiert) und durch die Einheit 220 invers quantisiert wird, bevor es am Eingang des Registers 232 erscheint, was alle s während der ersten Taktperiode passiert. An diesem Punkt wird das Pixel a1 als Pixel a1' bezeichnet, weil das Pixel a1 an diesem Punkt dem Eingangs-Pixel a1 angenähert ist, aber einen kleinen Gleichstrom-Offset aufgrund des Quantisierungsfehlers aufweist, der mit der Verarbeitung durch die Einheiten 220 und 222 verbunden ist.
- Die zweite Taktperiode bewirkt, dass das nächste Pixel erscheint, nämlich das erste verschachtelte Pixel c1 des verschachtelten Pixelblocks C1, um in einer Weise verarbeitet zu werden, die gleich der ist, die oben für das Pixel a1 beschrieben wurde. Außerdem bewirkt die zweite Taktperiode, dass das Pixel a1' zum Ausgang des Registers 232 getaktet wird und dadurch zu dem Vorhersage-Netzwerk, das die Einheiten 215 und 225 enthält. Dies führt zu einem vorhergesagten Wert des Pixels a1', der am Eingang des Registers 240 erscheint. Somit wird während der zweiten Taktperiode das Pixel c1 komprimiert (quantisiert), während das zuvor komprimierte Pixel a1' einer vorhersagenden Verarbeitung unterworfen wird.
- Während der dritten Taktperiode wird das vorhersagend verarbeitete Pixel a1' zum Ausgang des Registers 240 geleitet, subtraktiv in der Einheit 210 kombiniert, durch die Einheit 220 komprimiert, und erscheint als komprimierter Ausgangswert a1" am Eingang des Ausgangsregisters 242. Das Pixel a1" wird bei der nächsten Taktperiode von diesem Register zu nachfolgenden Huffman-Kodier-Schaltungen getaktet. Auch während der dritten Taktperiode, während der komprimierte Pixelwert a1" erzeugt wird, wird das verschachtelte Pixel c1' der vorhersagenden Verarbeitung durch die Einheit 215 unterworfen. Dieser Prozess setzt sich für die verbleibenden an, cn Pixel von verschachtelten Blöcken A und C fort, wobei während jeder Taktperiode verschachtelte Pixel jeweils der Vorhersage- bzw. Kompressions-Verarbeitung unterworfen werden.
- Ohne Datenverschachtelung müsste die Verarbeitung beispielsweise vom Pixelwert a1 in einer Taktperiode zum komprimierten Ausgangswert a1" fortschreiten. Dieses Erfordernis stellt einen ernsten Geschwindigkeits- und Timing-Zwang dar, was durch die beschriebene verschachtelte Verarbeitung vermieden wird. Die verschachtelte Verarbeitung erlaubt auch eine gemeinsame Quantisierungs- und inverse Quantisierungs-Logik, was zu weniger Fläche für die integrierte Schaltung und weniger Leistungsverbrauch führt.
- Die beschriebene verschachtelte Kompressor-Operation kann unabhängig von der MPEG-Kompression verwendet werden und stellt als solche ein wirtschaftliches Verarbeitungssystem zur Verwendung in Verbraucher-Video-Anwendungen dar (z. B. Heim- Videosysteme wie Video-Kassettenrecorder und Camcorder), um eine vorhersagende Kompression von 25% bis 50% vorzusehen, wobei eine kompliziertere und teure MPEG-Kompression nicht erforderlich ist.
- Es könnten auch vier anstatt zwei verschachtelte Pixelblöcke mit einem schnelleren Takt verwendet werden. In diesem Fall könnte ein gesamter Block von 8 · 8-Luminanz-Pixelblöcken sofort verarbeitet werden.
- Bei dem, offenbarten System wird jedes Dekompressor-Netzwerk ausgebildet, wie in Fig. 21 dargestellt ist. Die Dekompressor- Schaltung ist ähnlich der Kompressor-Schaltung von Fig. 20 mit Ausnahme, dass das Element 210 eine 9-Bit-Addierschalgung ist und die Elemente 220, 222, 228 und 242 entfernt worden sind. Der Weg Δ2 beinhaltet weniger Verarbeitung als der Weg Δ1. Jedoch fügt sogar der Einschluss der 9-Bit-Addierschaltung 231 im Weg Δ2 einen zeitlichen Zwang von etwa 9 Millisekunden hinzu, was die Ausbildung des Dekompressors kompliziert. Insoweit sei bemerkt, dass die Addierschaltung 231 nicht mit dem Rechnen beginnen kann, bis der Mux 225 gültige Daten empfangen hat. Dies ist nützlich, um Schleifen-Timing-Zwänge zu vermindern. Die Verwendung von zwei Verzögerungswegen erreicht dieses ebenso wie eine große Vereinfachung der gesamten Konstruktion.
- Es wurde gefunden, dass für die Dekompression der Vorhersageweg Δ1 der wichtigere Weg ist. Es wurde gefunden, dass der Weg Δ2 wichtiger für den Fall der Kompression ist, bei der intensive Daten-Manipulationen die Verwendung eines langsameren 54 MHz- Taktes diktieren.
- Wie zuvor erwähnt wurde, arbeitet jeder Dekompressor in dem Netzwerk 80 bis 84 unabhängig, so dass die Pixeldaten schnell geliefert werden. Die Übertragung von Daten wird oft mittels getakteter Vorrichtungen erreicht, z. B. Flip-Flops oder Register. Wenn in Pipelines zu führende Daten von zwei oder mehr Quellen abgeleitet werden, z. B. im Fall von verschachtelten Daten, stammen in irgendeinem zeitlichen Augenblick die Daten in einigen Registern von einer Quelle, während die Daten in anderen Registern von einer anderen Quelle stammen. Die Daten fließen zusammen in Abhängigkeit von einem gemeinsamen Datentakt, aber die Daten in aufeinanderfolgenden. Registern sind gegenseitig unabhängig. System-Operationsprobleme können vermieden werden, wenn beide Datenquellen synchron gestartet und gestoppt werden, solange wie der Datenstrom (Pipeline) zur selben Zeit gestartet und gestoppt wird.
- Es tritt ein Problem auf, wenn eine Quelle aufhört Daten zu senden, während die andere Quelle das Senden von Daten fortsetzt. In datenintensiven Pipelines, wie in HDTV-Signal- Prozessoren, ist die große Zahl von Rechnungen/Sekunde kritisch, um ein genaues Bild hoher Qualität für die Anzeige zu erzeugen. Solche Systeme können es sich nicht leisten, den Datenfluss zu unterbrechen immer wenn eine oder zwei (oder mehr) Datenquellen aufhören, Daten zu senden. In solchen Fällen ist es wichtig, den Pipeline-Datenfluss so zu steuern, dass die richtige Phaseneinstellung von Ausgangsdaten, die von einer ununterbrochenen Quelle geliefert werden, aufrechterhalten wird, wenn die andere Datenquelle unterbrochen wird.
- Es ist wichtig, dass der Datentakt in einem datenintensiven Bildverarbeitungssystem, z. B. einem HDTV-System, nicht angehalten wird. In solchen Systemen haben bestimmte Komponenten, wie Kompressions- und Dekompressions-Untersysteme, unterschiedliche Eingangs- und Ausgangsdaten-Verarbeitungs-Erfordernisse und unterschiedliche Datenraten. Beispielsweise müssen dekomprimierte Ausgangs-Pixel-Daten für die Anzeige kontinuierlich ausgegeben werden, was einen kontinuierlichen Takt erfordert, jedoch können komprimierte, zu dekomprimierende Eingangsdaten sporadisch mit null Intervallen ankommen, wenn ein Takt nicht vorhanden ist. Wenn der Dekompressions-Takt angehalten würde, wenn Eingangsdaten fehlen, würde auch das Austakten von dekomprimierten Pixeldaten aufhören. Dies würde in einem datenintensiven hochauflösenden Bildverarbeitungs- und Anzeigesystem zerstörend sein. Somit ist eine Datenwiederholung unter bestimmten Bedingungen vorteilhaft, was noch erläutert wird, insbesondere wenn in dem Dekompressions-Prozess eine Huffman-Dekodierung verwendet wird.
- Bei dem offenbarten System wird der Ausgang des Kompressions-Netzwerks (Fig. 20) einer Huffman-Kodierung unterworfen. Eine Huffman-Dekodierung ist mit einer Dekompression in einem Dekodierer verbunden. Da die Huffman-Kodierung/Dekodierung ein statistischer Prozess mit unterschiedlichen Eingangs- und Ausgangs-Datenraten aufgrund unterschiedlich kodierter Wortlängen ist, werden für die Anpassung an einen variablen Dateninhalt Puffer verwendet.
- Wie man in Verbindung mit Fig. 23 und 24 sieht, wird bei der Verarbeitung von Daten aus getrennten Quellen durch eine Pipeline-Sequenz von Registern eine Rückkopplung von jedem anderen Register verwendet, um eine Datenkomponente (von einer ersten Quelle) durch die Pipeline fließen zu lassen, während die andere Datenkomponente (von einer zweiten Quelle) gehalten wird, sich von selbst zu wiederholen. Mit diesem Verfahren mit verschachtelten Daten von Quellen können Daten durch die Pipeline mit einer gewünschten vorherbestimmten Rate verarbeitet werden, wenn eine der Datenquellen aufgehört hat, Daten zu liefern.
- Das Wiederholen von Daten ist äquivalent zum Anhalten des Datentaktes, aber ohne Start-Stopp-Synchronisationsprobleme. Die Verwendung einer Wiederholung von Daten wird bevorzugt, als keine Daten zu verwenden (z. B. Null-Worte), da Datenperioden bei der Wiedergewinnung von Verzögerungen verloren gingen. Die Wiederholung von Daten ist wichtig, um die Integrität des Datenflusses aufrechtzuerhalten, und ist nicht so zerstörend wie das Senden keiner Daten.
- Der Daten-Wiederholungs-Prozess kann Daten für die Dauer eines 8 · 8-Pixelblocks (64 Taktperioden) ohne Einführung von Systemkomplikationen wiederholen. Längere Wiederholungs- Verzögerungen sind auch je nach der Eigenschaft des Systems und der zugeordneten Verarbeitung möglich. Beispielsweise werden im Verlauf einer Pixel-Vorhersage-Verarbeitung bis zu sechs Blöcke im Speicher gespeichert. In einem solchen Fall kann ein Block wirksam am Platz (wiederholt) bei Vorhandensein einer Quellen- Unterbrechung gehalten werden, während andere Blöcke aus dem Speicher erfasst werden. Es wird erwartet, dass Wiederholungs- Verzögerungen über ein oder zwei Makroblock-Intervalle toleriert werden können.
- Die Wiederholung von Daten ist gegenüber dem Hinzufügen von Null-Daten vorzuziehen, wenn eine Quellen-Unterbrechung auftritt, weil die Verarbeitung von Null-Daten weniger wirksam ist. Wie andere Daten werden Null-Daten im Speicher gespeichert, und Taktperioden werden bei Wiedergewinnung aus einem Null-Daten- Zustand, z. B. Neu-Laden von gültigen Daten nach Entfernung von Nullen, verschwendet. Dies ist eine wichtige Betrachtung in einem datenintensiven System, z. B. einem hochauflösenden Fernsehsystem, wo die Speicher-Bandbreite sehr wichtig ist und die Zahl von Taktperioden, die für die Datenverarbeitung benötigt werden, so weit wie möglich vermindert werden sollte.
- In Fig. 23 führen die Eingangs-Pipelines jeweils Daten X und Y von getrennten Daten-Quellen, z. B. von getrennten Plätzen in einem Speicher, z. B. dem Vollbild-Speicher 60 in Fig. 1. Die Daten X und Y sind gegenseitig unabhängig und in keiner bestimmten Reihenfolge, d. h. sie können verschachtelt sein oder nicht, und sie stellen irgendwelche Pixel-Daten dar, die vom Speicher benötigt werden. In diesem Beispiel stellen die X- und Y-Daten jeweils Vorwärts- und Rückwärts-Bewegungsinformationen für die Verwendung durch das Bewegungs-Kompensations-Netzwerk (Fig. 1) dar. Die X-Daten müssen selbst dann verarbeitet werden, wenn keine Y-Daten vorhanden sind und umgekehrt.
- Die Schaltung von Fig. 23 überträgt Daten vom Speicher 60 zum Dekompressor-Netzwerk 80 bis 84 in Fig. 1 und ist für MPEG- Verarbeitung gut geeignet. Es könnte ein gemäß MPEG kodiertes P- oder B-Bild erzeugt werden, jedoch kann es passieren, dass ein gegebener Makroblock nicht die einen oder anderen Vorwärts- oder Rückwärts-Daten für die Verarbeitung hat. Die Anordnung von Fig. 23 erkennt diese Möglichkeit.
- Eingangs-FIFO-Puffer 332 und 334 sind jedem Eingang für einen Datenblock zugeordnet. Bei diesem Beispiel stellen die Puffer 332 und 334 die Eingangs-Puffer für jeden Dekompressor 80, 82 und 84 in Fig. 1 dar. Jeder Puffer sendet ein Signal Req, das Daten vom Speicher über eine Speicher-Steuereinheit 134 zu geeigneten Zeiten anfordert (z. B. in Abhängigkeit von der Verarbeitung, die Einzel- gegenüber Dual-Richtungs-Vorhersagen beinhaltet), und empfängt ein Rückkehr-Bestätigungs-Signal Ackn, dass Daten, die gesendet werden sollen, verfügbar sind. Der Datenfluss zwischen den Speicher-Quellen und den Puffern wird durch Daten-Lese/Schreib-Steuersignale in bekannter Weise gesteuert.
- Die Eingangsdaten X, Y werden auf einer gemeinsamen Datenleitung mittels eines Mux 336 in Abhängigkeit von einem CLK/2- Datentakt gemultiplext, wodurch eine Pipeline von abwechselnden X-, Y-Daten am Ausgang des Mux 336 erzeugt wird. Daten vom Mux 336 werden durch eine Reihe von Rückkopplungs-Register- Abschnitten 360 und 364 verarbeitet. Die Zahl von verwendeten Abschnitten ist eine Funktion der Zahl von verschachtelten Datenelementen, in diesem Fall zwei. Der Abschnitt 360 enthält einen Eingangs-Multiplexer 338 und in Kaskade geschaltete Register (Flip-Flops) 340 und 342, die - wie dargestellt - angeordnet sind. Jedes Registerelement wird mit 81 MHz durch das CLK-Signal getaktet. Der Abschnitt 364 ist in gleicher Weise angeordnet. Der Ausgang des letzten Registerelements 350 wird dem Daten- Dekompressions-Netzwerk von Fig. 1 zugeführt, das Daten einschließlich Vorwärts- und Rückwärts-Bewegungs-Vorhersage- Informationen dekomprimiert. Die Daten müssen dekomprimiert werden, sobald sie von dem Dekompressor empfangen werden. Der Dekompressor kann nicht warten, bis die X-, Y-Puffer 332, 334 gefüllt sind. In jedem Register-Abschnitt wird eine Rückkopplung vom Ausgang des letzten Registers in diesem Abschnitt zu einem Schalt-Steuereingang des zugeordneten Multiplexers vorgesehen, z. B. vom Ausgang des Registers 342 zu dem "1"-Eingang von Mux 338. Das durch Rückkopplungs-Register-Abschnitte 360 und 364 gebildete Netzwerk arbeitet als selektives digitales Abtast- und Halte-Netzwerk mit zwei Betriebsarten. Bei einer Betriebsart werden Daten abgetastet und gehalten, um die Daten- Wiederholungs-Operation zu erzeugen. Bei einer anderen Betriebsart werden Daten normal ohne Wiederholung übertragen.
- Die Einheit 356, z. B. ein digitaler Komparator, erfühlt den Zustand der Req- und Ackn-Signalleitungen. Wenn ein FIFO-Puffer ein Req-Signal erzeugt und ein Rückkehrsignal Ackn von der Speicher-Quelle nicht empfangen wird, erzeugt die Einheit 356 ein Daten-Halt-Signal auf einem "1"-Pegel oder Zustand. Daten fließen normalerweise durch die Pipeline, wenn das Halt-Signal einen "0"-Zustand aufweist, aber Daten werden - wie unten erläutert - wiederholt, wenn das Halt-Signal einen "1"-Zustand aufweist. Wenn ein Ackn-Signal von einem gegebenen Eingang nicht empfangen wird, bewirkt das Halt-Signal, dass die letzte gültige Datenkomponente wiederholt oder in jedem Register-Abschnitt rezirkuliert wird. Dies ist durch die Wellenformen von Fig. 24 veranschaulicht, was noch erläutert wird. Wenn ein Ackn-Signal von beiden Eingangs-Daten-Quellen X und Y nicht empfangen wird, wird der Takt angehalten, und es werden keine Daten rezirkuliert.
- Wenn somit das Halt-Signal einen Null-Pegel aufweist, so dass Daten normal durch die Pipeline fließen, werden die Daten X und Y in der richtigen verschachtelten (Takt)-Phasen-Beziehung gehalten, so dass das Takten bewirkt, dass Ausgangsdaten zwischen den Daten der Quelle X und den Daten der Quelle Y alternieren. Diese Phasen-Beziehung ist wichtig, um ein Mischen von Daten zu verhindern. In diesem Fall entsprechen die Ausgangsdaten jedes Register-Abschnitts (z. B. am Ausgang der Register 342 und 350) den Eingangsdaten zwei Takte früher (z. B. Ausgang = Eingang (Z&supmin;²)). Wenn das Halt-Signal einen "1"-Pegel aufweist, entkoppelt der zugehörige Mux (338 oder 344) das Eingangssignal von dem Ausgang, so dass jeder Register-Abschnitt einfach Daten rezirkuliert. Diese Arbeits-Zustände sind in den Fig. 25 bzw. 26 veranschaulicht.
- Fig. 24 veranschaulicht einen Zustand, bei dem beispielsweise das Halt-Signal einen "1"-Pegel nur aufweist, wenn gewisse Daten von der Quelle der Y-Daten gestoppt worden sind. Während das Halt-Signal aktiv ist, werden die Y-Daten rezirkuliert (wiederholt), bis das Halt-Signal zu einem normalen "0"-Pegel zurückkehrt und Y-Daten wieder fließen. Während dieser Zeit fließen Daten von der Quelle X ohne Unterbrechung. In Fig. 24 enthält die Eingangs-Wellenform eine verschachtelte Sequenz von X- und Y-Datenkomponenten. Bei diesem Beispiel ist ein Ackn-Signal noch nicht für die Y2-Komponente empfangen worden, die der Komponente X2 folgt. Somit ändert sich der normale "0"-Zustand des Halt-Signals von der Einheit 356 in einen "1"-Zustand, wodurch jeder Register-Abschnitt 360 und 364 veranlasst wird, die letzte gültige Y-Komponente zu wiederholen, in diesem Fall Y1, solange das Halt-Signal den "1"-Zustand aufweist. Das Halt-Signal wird einem Steuereingang von Multiplexern 238 und 242 so zugeführt, dass ein "1"-Zustand des Halt-Signals bewirkt, dass jeder Multiplexer das Signal, das seinem "1"-Schalt-Eingang zugeführt wird, weiterleitet, in diesem Fall die Y-Datenkomponenten.
- Die schraffierten Komponenten der Eingangssignal-Wellenform stellen die fehlende Y2-Komponente dar, d. h. es wird von der zweiten Quelle nach der Komponente Y1 keine Y-Komponente ausgegeben. Die Y1-Komponente wird während drei Req/Ackn-Perioden wiederholt, wodurch drei Halt-Signale erzeugt werden und die Komponente Y1 dreimal wiederholt wird, was in der Ausgangs- Wellenform von Fig. 24 dargestellt ist. Danach erzeugt die zweite Quelle ein Ackn-Signal für die Komponente Y2, die in der Ausgangs-Wellenform-Sequenz erscheint, die der Datenkomponente X5 folgt.
- Das Halt-Signal wird auch einem Steuereingang des zugeordneten Dekompressor-Netzwerks zugeführt, um den Dekompressor zu instruieren, die wiederholten Daten in dem Datenstrom zu ignorieren. Wie zuvor erwähnt wurde, sind die verschachtelten X-, Y- Datenkomponenten unabhängig und brauchen einander nicht in einer bestimmten (numerischen) Sequenz zu folgen. Es ist nur notwendig, dass einem gegebenen Eingang zugeordnete Daten einer vorgeschriebenen Sequenz folgen, z. B. X5 folgt X4, die X3 folgt, die X2 folgt und so weiter. Es ist keine Konsequenz, dass beispielsweise Y2 X5 folgt.
- Fig. 28 zeigt das Netzwerk von Fig. 23 in einer Anordnung für parallelen Betrieb. Verschachtelte Eingangsdaten vom Mux 336 (Fig. 23) werden über Multiplexer 285 und 286 parallelen Registern 280 und 282 zugeführt. Ausgänge von diesen Registern werden auf einem Daten-Ausgangsweg über Mux 284 gemultiplext. Die Operation der Multiplexer 284, 285 und 286 wird durch die Halt 1- und Halt 2-Steuersignale gesteuert, die entsprechenden Quellen zugeordnet sind und eine Wirkung erzeugen, wie sie in Verbindung mit Fig. 23 beschrieben wurde.
Claims (16)
1. Verfahren zum Verarbeiten eines Datenstroms aus
Datenblöcken, die jeweils Pixelblöcke aus Daten umfassen, die
Bild-Pixel-Informationen darstellen, um eine gegenseitige
Redundanz zwischen aufeinanderfolgenden Pixeln in den
Pixelblöcken zu entfernen und nur Differenz-Informationen zu
erzeugen, umfassend die Schritte:
Verarbeiten eines Pixelwertes aus einem ersten Pixelblock
mit einer ersten Pixelwert-Vorhersagefunktion unter
Verwendung bekannter, zuvor kodierter Pixelwerte während
einer gegebenen ersten Zeitverzögerung, die auf die
Abtastung der Pixel bezogen ist; und
Zuführen eines Datenstroms aus verarbeiteten Pixelwerten
zu einem Bildprozessor, dadurch gekennzeichnet, dass das
Verfahren ferner den Schritt umfasst:
Verarbeiten eines Pixelwertes aus einem zweiten
Pixelblock, der mit dem ersten Pixelblock verschachtelt ist,
mit einer unterschiedlichen zweiten Funktion, die eine
Pixelwert-Kompression parallel mit der Verarbeitung der
ersten Pixelwert-Vorhersagefunktion während der gegebenen
ersten Zeitverzögerung umfasst.
2. Verfahren nach Anspruch 1, bei dem der Zuführungsschritt
dem Bildprozessor komprimierte Pixelwerte zuführt.
3. Verfahren nach Anspruch 2, bei dem der erste und der
zweite Pixelblock einen mit MPEG kompatiblen Makroblock
umfassen.
4. Verfahren nach Anspruch 1, das ferner den Schritt
einschließt:
Erzeugen von Eingangs-Pixeldaten in Form von einer Reihe
von verschachtelten Pixeldaten-Komponenten.
5. Verfahren nach Anspruch 2, bei dem:
während der ersten Zeitverzögerung ein erster Pixelwert
vorhergesagt und ein zweiter Pixelwert komprimiert wird;
und
während der zweiten Zeitverzögerung der erste Pixelwert
komprimiert und der zweite Pixelwert vorhergesagt wird.
6. Verfahren nach Anspruch 5, bei dem die erste und zweite
Verzögerung entsprechende Taktintervalle sind.
7. Verfahren nach Anspruch 4, bei dem der Erzeugungsschritt
den Schritt enthält:
Trennen eines Eingangs-Datenstroms in mehrere Datenströme,
die verschachtelte Pixeldaten enthalten, wobei einer der
Datenströme die verschachtelten Pixeldaten im
Erzeugungsschritt enthält.
8. Verfahren nach Anspruch 7, bei dem der Trennungsschritt
einen ersten Datenstrom aus ersten und zweiten
verschachtelten Pixeldaten-Komponenten, und einen zweiten
Datenstrom aus dritten und vierten verschachtelten Pixeldaten-
Komponenten erzeugt, wobei die ersten, zweiten, dritten
und vierten Datenkomponenten einen mit MPEG kompatiblen
Makroblock umfassen.
9. Adaptives vorhersagendes System zum Verarbeiten eines
Datenstroms aus Datenblöcken, die jeweils Pixelblöcke aus
Daten umfassen, die Bild-Pixel-Informationen darstellen,
um eine gegenseitige Redundanz zwischen
aufeinanderfolgenden Pixeln in den Pixelblöcken zu entfernen und nur
Differenz-Informationen zu erzeugen, umfassend:
ein Eingangs-Netzwerk (230, Fig. 20) zum Empfang eines
Datenstroms aus Bild-Pixeldaten;
eine Vorhersage-Logik (215) zur Vorhersage eines
Pixelwertes in einem ersten Pixelblock unter Verwendung bekannter,
zuvor kodierter Pixelwerte; und
ein Ausgangs-Netzwerk (242) zur Lieferung eines
Datenstroms aus komprimierten Pixelwerten an einen
Bildprozessor, dadurch gekennzeichnet, dass das System ferner einen
Kompressor (220) zum Komprimieren eines Pixelwertes eines
zweiten Pixelblocks, der mit dem ersten Pixelblock
verschachtelt ist, parallel mit der Vorhersage des Wertes in
dem ersten Pixelblock umfassen.
10. System nach Anspruch 9, bei dem die Pixelblöcke einen mit
MPEG kompatiblen Makroblock umfassen (Fig. 2).
11. System nach Anspruch 9, bei dem die Netzwerke, die Logik
und der Kompressor innerhalb eines DPCM-Bewegungs-
Kompensations-Verarbeitungs-Netzwerks (40, 42, 60, 80 -
84, 90) eines mit MPEG kompatiblen Dekodierers angeordnet
sind.
12. System nach Anspruch 9, bei dem das Eingangs-Netzwerk
Daten in Form einer Reihe von verschachtelten Datenwerten
(a, c; b, d) empfängt.
13. System nach Anspruch 9, bei dem:
Ein Pixelwert des ersten Pixelblocks während einer ersten
auf die Abtastung der pixelbezogenen Zeitverzögerung
vorhergesagt und während einer folgenden zweiten
Zeitverzögerung komprimiert wird; und
ein Pixelwert des zweiten Pixelblocks während der zweiten
Zeitverzögerung vorhergesagt und während der ersten
Zeitverzögerung komprimiert wird.
14. System nach Anspruch 13, bei dem die erste und die zweite
Zeitverzögerung aufeinanderfolgende Taktzyklen sind, wobei
ein Pixelwert einer Vorhersage und einer Kompression über
zwei Taktzyklen unterworfen wird.
15. System nach Anspruch 12, das ferner enthält:
einen Separator zum Auftrennen eines Eingangs-Datenstroms
in mehrere Datenströme, die verschachtelte Datenwerte
enthalten, wobei einer der Datenströme die von dem Eingang
empfangenen verschachtelten Datenwerte enthält.
16. System nach Anspruch 15, bei dem der Separator einen
ersten Datenstrom aus ersten und zweiten verschachtelten
Pixelwerten und einen zweiten Datenstrom aus
verschachtelten dritten und vierten Pixelwerten erzeugt,
wobei der erste, zweite, dritte und vierte Pixelwert einen
mit MPEG kompatiblen Makroblock umfassen.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP96402785 | 1996-12-18 | ||
| PCT/US1997/022831 WO1998027738A1 (en) | 1996-12-18 | 1997-12-15 | Video decoder with interleaved data processing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69719797D1 DE69719797D1 (de) | 2003-04-17 |
| DE69719797T2 true DE69719797T2 (de) | 2003-08-14 |
Family
ID=8225352
Family Applications (8)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69719365T Expired - Lifetime DE69719365T2 (de) | 1996-12-18 | 1997-09-30 | Effiziente kompression und dekompression von blocks fester länge |
| DE69721299T Expired - Lifetime DE69721299T2 (de) | 1996-12-18 | 1997-09-30 | Videosignalprozessor für verschiedene formate |
| DE69719070T Expired - Fee Related DE69719070T2 (de) | 1996-12-18 | 1997-12-15 | Formatieren von rekomprimierten daten in einem mpeg-decoder |
| DE69719797T Expired - Fee Related DE69719797T2 (de) | 1996-12-18 | 1997-12-15 | Videodecoder mit verarbeitung von zeitverschachtelten daten |
| DE69721819T Expired - Lifetime DE69721819T2 (de) | 1996-12-18 | 1997-12-15 | Speicherarchitektur für multiformat-videoprozessor |
| DE69720513T Expired - Fee Related DE69720513T2 (de) | 1996-12-18 | 1997-12-15 | Paralleldekomprimierer für rekomprimierte pixeldaten innerhalb eines mpeg-dekoders |
| DE69716467T Expired - Lifetime DE69716467T2 (de) | 1996-12-18 | 1997-12-15 | Parallele dekodierung von zeitverschachtelten datenströmen in einem mpeg-dekoder |
| DE69716465T Expired - Lifetime DE69716465T2 (de) | 1996-12-18 | 1997-12-15 | System zur erhaltung der kontinuität eines datenstromes bei unterbrochenen quellendaten |
Family Applications Before (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69719365T Expired - Lifetime DE69719365T2 (de) | 1996-12-18 | 1997-09-30 | Effiziente kompression und dekompression von blocks fester länge |
| DE69721299T Expired - Lifetime DE69721299T2 (de) | 1996-12-18 | 1997-09-30 | Videosignalprozessor für verschiedene formate |
| DE69719070T Expired - Fee Related DE69719070T2 (de) | 1996-12-18 | 1997-12-15 | Formatieren von rekomprimierten daten in einem mpeg-decoder |
Family Applications After (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69721819T Expired - Lifetime DE69721819T2 (de) | 1996-12-18 | 1997-12-15 | Speicherarchitektur für multiformat-videoprozessor |
| DE69720513T Expired - Fee Related DE69720513T2 (de) | 1996-12-18 | 1997-12-15 | Paralleldekomprimierer für rekomprimierte pixeldaten innerhalb eines mpeg-dekoders |
| DE69716467T Expired - Lifetime DE69716467T2 (de) | 1996-12-18 | 1997-12-15 | Parallele dekodierung von zeitverschachtelten datenströmen in einem mpeg-dekoder |
| DE69716465T Expired - Lifetime DE69716465T2 (de) | 1996-12-18 | 1997-12-15 | System zur erhaltung der kontinuität eines datenstromes bei unterbrochenen quellendaten |
Country Status (12)
| Country | Link |
|---|---|
| EP (10) | EP0945022B1 (de) |
| JP (12) | JP4627812B2 (de) |
| KR (10) | KR100517993B1 (de) |
| CN (15) | CN100518319C (de) |
| AU (10) | AU4601697A (de) |
| BR (4) | BR9713712A (de) |
| DE (8) | DE69719365T2 (de) |
| MY (7) | MY120436A (de) |
| RU (4) | RU2217879C2 (de) |
| TR (1) | TR199901359T2 (de) |
| TW (3) | TW358309B (de) |
| WO (10) | WO1998027720A1 (de) |
Families Citing this family (101)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6906700B1 (en) | 1992-03-05 | 2005-06-14 | Anascape | 3D controller with vibration |
| US6222525B1 (en) | 1992-03-05 | 2001-04-24 | Brad A. Armstrong | Image controllers with sheet connected sensors |
| US8674932B2 (en) | 1996-07-05 | 2014-03-18 | Anascape, Ltd. | Image controller |
| CN100518319C (zh) * | 1996-12-18 | 2009-07-22 | 汤姆森消费电子有限公司 | 将数据压缩成固定长度数据块及解压的方法 |
| US6748020B1 (en) * | 2000-10-25 | 2004-06-08 | General Instrument Corporation | Transcoder-multiplexer (transmux) software architecture |
| US7006147B2 (en) * | 2000-12-22 | 2006-02-28 | Thomson Lincensing | Method and system for MPEG chroma de-interlacing |
| JP2002261623A (ja) * | 2001-02-28 | 2002-09-13 | Canon Inc | 復号装置、復号方法、記憶媒体及びプログラムソフトウェア |
| CN1306710C (zh) * | 2001-04-11 | 2007-03-21 | 华邦电子股份有限公司 | 可程序化的运行长度译码器 |
| DE10139066A1 (de) * | 2001-08-09 | 2003-02-27 | Rohde & Schwarz | Verfahren und Anordnung zum Verbessern der Empfangseigenschaften von DVB-Signalen |
| MXPA03006640A (es) | 2001-11-29 | 2003-10-15 | Matsushita Electric Industrial Co Ltd | Metodo para la remocion de la distorsion de la codificacion, metodo codificador de video, metodo descodificador de video y aparato y programa para los mismos. |
| EP1328114A1 (de) * | 2002-01-10 | 2003-07-16 | Canal+ Technologies Société Anonyme | Verwaltung von Bildauflösung in einem Empfänger/Dekoder |
| US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
| US20030202606A1 (en) * | 2002-04-05 | 2003-10-30 | Michael Tinker | Multi-phase processing for real-time display of a compressed video bitstream |
| US9577667B2 (en) | 2002-04-23 | 2017-02-21 | Ntt Docomo, Inc. | System and method for arithmetic encoding and decoding |
| EP3709217A1 (de) * | 2002-04-23 | 2020-09-16 | NTT DoCoMo, Inc. | System und verfahren zur arithmetischen codierung und decodierung |
| US7031388B2 (en) * | 2002-05-06 | 2006-04-18 | Koninklijke Philips Electronics N.V. | System for and method of sharpness enhancement for coded digital video |
| US7469012B2 (en) * | 2002-05-14 | 2008-12-23 | Broadcom Corporation | System and method for transcoding entropy-coded bitstreams |
| CN100473164C (zh) * | 2002-05-28 | 2009-03-25 | 夏普株式会社 | 图像内预测模式估计方法 |
| JP4015890B2 (ja) * | 2002-06-28 | 2007-11-28 | 松下電器産業株式会社 | 画素ブロックデータ生成装置および画素ブロックデータ生成方法 |
| FR2844130B1 (fr) * | 2002-09-04 | 2004-11-19 | St Microelectronics Sa | Procede de traitement de donnees audio/video au sein d'un lecteur de disque audio/video, et lecteur correspondant. |
| US7748020B2 (en) * | 2002-10-08 | 2010-06-29 | Canon Kabushiki Kaisha | Receiving apparatus and method for processing interruptions in streaming broadcasts |
| US7126955B2 (en) | 2003-01-29 | 2006-10-24 | F5 Networks, Inc. | Architecture for efficient utilization and optimum performance of a network |
| US20040161039A1 (en) * | 2003-02-14 | 2004-08-19 | Patrik Grundstrom | Methods, systems and computer program products for encoding video data including conversion from a first to a second format |
| US7126822B2 (en) | 2003-03-31 | 2006-10-24 | Intel Corporation | Electronic packages, assemblies, and systems with fluid cooling |
| US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
| US8423597B1 (en) | 2003-08-29 | 2013-04-16 | Nvidia Corporation | Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation |
| KR100561417B1 (ko) | 2004-02-09 | 2006-03-16 | 삼성전자주식회사 | Av 데이터의 재생상태를 전환할 수 있는 인터랙티브그래픽 스트림을 기록한 정보저장매체, 그 재생방법 및 장치 |
| WO2005104560A1 (en) * | 2004-04-27 | 2005-11-03 | Koninklijke Philips Electronics N.V. | Method of processing decoded pictures. |
| US8159940B1 (en) | 2004-11-11 | 2012-04-17 | F5 Networks, Inc. | Obtaining high availability using TCP proxy devices |
| KR100690130B1 (ko) * | 2004-12-02 | 2007-03-08 | 엘지전자 주식회사 | 복수 포맷 비디오 기록/재생 장치 및 방법 |
| KR100609548B1 (ko) * | 2005-01-05 | 2006-08-08 | 엘지전자 주식회사 | 다중방식 영상 기록 재생 시스템 및 방법 |
| CN100394398C (zh) * | 2005-01-07 | 2008-06-11 | 深圳清华大学研究院 | 一种avs视频解码验证方法和装置 |
| RU2282313C1 (ru) * | 2005-03-04 | 2006-08-20 | Илья Сергеевич Свирин | Способ автоматической настройки параметров изображения |
| KR100763178B1 (ko) | 2005-03-04 | 2007-10-04 | 삼성전자주식회사 | 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
| KR20070122577A (ko) * | 2005-04-26 | 2007-12-31 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 패킷들의 시퀀스 및 상기 패킷과 관련된 타이밍 정보를갖는 데이터 스트림을 처리하기 위한 디바이스 및 방법 |
| WO2007010690A1 (ja) * | 2005-07-22 | 2007-01-25 | Mitsubishi Electric Corporation | 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、ならびに画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体、画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| US7783781B1 (en) | 2005-08-05 | 2010-08-24 | F5 Networks, Inc. | Adaptive compression |
| KR20070048025A (ko) * | 2005-11-03 | 2007-05-08 | 삼성전자주식회사 | 멀티미디어 데이터를 출력하는 장치 및 방법 |
| US8275909B1 (en) | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
| US7882084B1 (en) | 2005-12-30 | 2011-02-01 | F5 Networks, Inc. | Compression of data transmitted over a network |
| US7827467B2 (en) * | 2006-01-04 | 2010-11-02 | Nokia Corporation | Method for checking of video encoder and decoder state integrity |
| JP4517300B2 (ja) * | 2006-01-06 | 2010-08-04 | ソニー株式会社 | 表示装置および表示方法、学習装置および学習方法、並びにプログラム |
| US20090304068A1 (en) * | 2006-07-06 | 2009-12-10 | Purvin Bibhas Pandit | Method and Apparatus for Decoupling Frame Number and/or Picture Order Count (POC) for Multi-View Video Encoding and Decoding |
| CN101496407B (zh) | 2006-07-06 | 2013-02-06 | 汤姆逊许可证公司 | 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置 |
| US7529416B2 (en) * | 2006-08-18 | 2009-05-05 | Terayon Communication Systems, Inc. | Method and apparatus for transferring digital data between circuits |
| US20080051989A1 (en) * | 2006-08-25 | 2008-02-28 | Microsoft Corporation | Filtering of data layered on mapping applications |
| US7471218B2 (en) * | 2006-09-18 | 2008-12-30 | National Semiconductor Corporation | Methods and systems for efficiently storing and retrieving streaming data |
| US8417833B1 (en) | 2006-11-29 | 2013-04-09 | F5 Networks, Inc. | Metacodec for optimizing network data compression based on comparison of write and read rates |
| US9118927B2 (en) | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
| US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
| JP2009135836A (ja) * | 2007-11-30 | 2009-06-18 | Victor Co Of Japan Ltd | ディジタル画像無線伝送装置及びその画像データ処理方法、ディジタル画像無線受信装置及びディジタル画像無線送受信システム |
| ATE524927T1 (de) * | 2008-01-21 | 2011-09-15 | Ericsson Telefon Ab L M | Auf prädiktion basierende bildverarbeitung |
| US8331664B2 (en) | 2008-01-21 | 2012-12-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Prediction-based image processing |
| CN101252707A (zh) * | 2008-03-21 | 2008-08-27 | 华为技术有限公司 | 一种消息的生成、解析方法及装置 |
| EP2128822B1 (de) * | 2008-05-27 | 2012-01-04 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Indexbasierte Pixelblock-Verarbeitung |
| MY157572A (en) * | 2009-04-08 | 2016-06-30 | Sharp Kk | Video encoding apparatus and video decoding apparatus |
| FR2944936A1 (fr) | 2009-04-23 | 2010-10-29 | Thomson Licensing | Procedes de codage et de decodage d'un bloc de donnees images, dispositifs de codage et de decodage implementant lesdits procedes |
| CN102414991B (zh) * | 2009-04-24 | 2014-11-05 | 诺基亚公司 | 用于解码器的数据重排 |
| SG10201809929SA (en) * | 2009-06-19 | 2018-12-28 | Mitsubishi Electric Corp | Image encoding device, image decoding device, image encoding method, and image decoding method |
| KR101452859B1 (ko) | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
| JP5257319B2 (ja) * | 2009-10-09 | 2013-08-07 | 株式会社Jvcケンウッド | 画像符号化装置及び画像符号化方法 |
| US20110292247A1 (en) * | 2010-05-27 | 2011-12-01 | Sony Corporation | Image compression method with random access capability |
| TWI426465B (zh) * | 2010-06-07 | 2014-02-11 | V R Thchnology Co Ltd | 使用jpeg用於顯示及記錄的彩色影像旋轉之方法及裝置 |
| EP2580912B1 (de) | 2010-07-09 | 2017-01-25 | Samsung Electronics Co., Ltd | Verfahren zur videokodierung durch verwendung einer blockverschmelzung |
| KR101484281B1 (ko) * | 2010-07-09 | 2015-01-21 | 삼성전자주식회사 | 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치 |
| CN106488249B (zh) * | 2010-09-30 | 2019-11-05 | 三菱电机株式会社 | 运动图像编码装置及其方法、运动图像解码装置及其方法 |
| CN102821275B (zh) * | 2011-06-08 | 2017-08-08 | 南京中兴软件有限责任公司 | 数据压缩方法及装置、数据解压缩方法及装置 |
| JP2013038688A (ja) * | 2011-08-10 | 2013-02-21 | Ntt Electornics Corp | 動画符号化配信システム |
| JP5698644B2 (ja) * | 2011-10-18 | 2015-04-08 | 株式会社Nttドコモ | 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム |
| CN106937113B (zh) * | 2011-12-05 | 2020-06-02 | 同济大学 | 基于混合色度采样率的图像压缩方法和装置 |
| CN108965891B (zh) * | 2012-01-30 | 2021-06-08 | 三星电子株式会社 | 用于视频编码和解码的方法和设备 |
| US9503724B2 (en) * | 2012-05-14 | 2016-11-22 | Qualcomm Incorporated | Interleave block processing ordering for video data coding |
| US9798698B2 (en) | 2012-08-13 | 2017-10-24 | Nvidia Corporation | System and method for multi-color dilu preconditioner |
| US20140134351A1 (en) * | 2012-11-09 | 2014-05-15 | Applied Materials, Inc. | Method to deposit cvd ruthenium |
| CN102970597A (zh) * | 2012-11-20 | 2013-03-13 | 深圳市同洲电子股份有限公司 | 一种音视频传输的方法及数字电视终端 |
| RU2526890C1 (ru) * | 2013-02-01 | 2014-08-27 | Александр Александрович Ваниев | Устройство селекции подвижных целей |
| US9432614B2 (en) * | 2013-03-13 | 2016-08-30 | Qualcomm Incorporated | Integrated downscale in video core |
| WO2014163241A1 (ko) * | 2013-04-02 | 2014-10-09 | 주식회사 칩스앤미디어 | 동영상 처리 방법 및 장치 |
| EP3033878A4 (de) * | 2013-10-14 | 2017-04-05 | HFI Innovation Inc. | Verfahren zur rest-differenz-puls-code-modulation für hevc-bereichserweiterung |
| CN104717445B (zh) * | 2013-12-12 | 2017-11-24 | 中国航空工业集团公司第六三一研究所 | 多视频格式向bt.656协议ntsc制式视频的自动转换方法 |
| CN104717443B (zh) * | 2013-12-12 | 2017-08-25 | 中国航空工业集团公司第六三一研究所 | 多视频格式向SMPTE274协议1080i分辨率视频的自动转换方法 |
| CN104717442B (zh) * | 2013-12-12 | 2018-02-09 | 中国航空工业集团公司第六三一研究所 | 多视频格式向VESA协议1600X1200分辨率60Hz帧率视频的自动转换方法 |
| KR101623109B1 (ko) * | 2014-05-29 | 2016-05-20 | 부산대학교 산학협력단 | Fpga에서 물리적 복제 방지 함수 회로를 구현하기 위한 장치 |
| WO2016195576A1 (en) * | 2015-06-05 | 2016-12-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Encoding a pixel of an input video sequence |
| RU2607851C1 (ru) * | 2015-08-04 | 2017-01-20 | Открытое акционерное общество "Научно-производственный испытательный центр "АРМИНТ" | Устройство селекции подвижных целей |
| US10798396B2 (en) | 2015-12-08 | 2020-10-06 | Samsung Display Co., Ltd. | System and method for temporal differencing with variable complexity |
| US10691361B2 (en) | 2017-02-24 | 2020-06-23 | Microsoft Technology Licensing, Llc | Multi-format pipelined hardware decompressor |
| RU2669874C1 (ru) * | 2017-09-15 | 2018-10-16 | Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" (ФГУП "ГосНИИАС") | Способы и устройство сжатия изображений. Способ и устройство восстановления изображений |
| CN107947799B (zh) * | 2017-11-28 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种数据压缩方法及装置 |
| GB2608575B (en) * | 2018-01-03 | 2023-03-15 | Displaylink Uk Ltd | Encoding image data for transmission to a display device |
| US10277390B1 (en) * | 2018-01-22 | 2019-04-30 | Arm Limited | Reduced-power detection of wireless packets using decimated preamble correlation |
| CN109088636B (zh) * | 2018-07-25 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种数据处理方法、系统及电子设备和存储介质 |
| CN110784225A (zh) * | 2018-07-31 | 2020-02-11 | 华为技术有限公司 | 数据压缩、解压方法及相关装置、电子设备、系统 |
| CN109120273A (zh) * | 2018-08-29 | 2019-01-01 | 重庆物奇科技有限公司 | 基于霍夫曼编码的编码装置、译码装置及系统 |
| CN109104199A (zh) * | 2018-08-29 | 2018-12-28 | 重庆物奇科技有限公司 | 基于霍夫曼编码的编码方法、译码方法及应用 |
| CN109672923B (zh) * | 2018-12-17 | 2021-07-02 | 龙迅半导体(合肥)股份有限公司 | 一种数据处理方法和装置 |
| CN113497627B (zh) * | 2020-03-20 | 2025-05-16 | 华为技术有限公司 | 一种数据压缩和解压缩方法、装置及系统 |
| JP7549824B2 (ja) | 2020-12-04 | 2024-09-12 | 国立大学法人電気通信大学 | 通信システム、通信方法、およびプログラム |
| CN113726341B (zh) * | 2021-08-25 | 2023-09-01 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
| CN114003573B (zh) * | 2021-10-18 | 2025-06-10 | 锐掣(杭州)科技有限公司 | 文件系统的压缩方法、装置、设备、存储介质、程序产品 |
| CN113704206B (zh) * | 2021-10-29 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种元数据的处理方法、装置、电子设备及存储介质 |
Family Cites Families (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5422119A (en) * | 1977-07-20 | 1979-02-19 | Nec Corp | Forecasting encoder/decoder |
| JPS6329362A (ja) * | 1986-07-22 | 1988-02-08 | Hitachi Ltd | 映像信号再生装置の時間軸変動補正回路 |
| FR2602936B1 (fr) * | 1986-08-13 | 1988-12-02 | Trt Telecom Radio Electr | Dispositif de codage a modulation differentielle par impulsions codees, dispositif de decodage associe et systeme de transmission comportant au moins un tel dispositif de codage ou de decodage |
| DE69031638T2 (de) * | 1989-05-19 | 1998-03-19 | Canon Kk | System zum Übertragen von Bildinformation |
| JPH0358585A (ja) * | 1989-07-26 | 1991-03-13 | Fujitsu Ltd | サブサンプル高速dpcm符号化伝送方式 |
| GB8921319D0 (en) * | 1989-09-21 | 1989-11-08 | British Broadcasting Corp | Digital coder |
| GB8929152D0 (en) * | 1989-12-22 | 1990-02-28 | Gen Electric | A digital augmentation system for actv-ii |
| RU2016494C1 (ru) * | 1990-01-17 | 1994-07-15 | Владимир Ефимович Теслер | Телевизионная система |
| US5313471A (en) * | 1991-02-26 | 1994-05-17 | Matsushita Electric Industrial Co., Ltd. | Error concealing method |
| US5455629A (en) * | 1991-02-27 | 1995-10-03 | Rca Thomson Licensing Corporation | Apparatus for concealing errors in a digital video processing system |
| RU2014745C1 (ru) * | 1991-04-30 | 1994-06-15 | Научно-производственное объединение "Дальняя связь" | Система передачи и приема телевизионных сигналов |
| JPH0556372A (ja) * | 1991-08-27 | 1993-03-05 | Toshiba Corp | Dsp使用テレビジヨン受像機 |
| RU2029359C1 (ru) * | 1991-12-29 | 1995-02-20 | Вычислительный центр коллективного пользования РАН | Устройство для обработки информации |
| EP0551979A3 (en) * | 1992-01-14 | 1994-09-14 | Matsushita Electric Industrial Co Ltd | High efficiency coding apparatus |
| JPH05292423A (ja) * | 1992-04-10 | 1993-11-05 | Hitachi Ltd | テレビジョン受像機 |
| KR950009680B1 (ko) * | 1992-05-19 | 1995-08-25 | 주식회사금성사 | 영상 압축/신장 시스템의 영상 디코더 |
| US5289577A (en) * | 1992-06-04 | 1994-02-22 | International Business Machines Incorporated | Process-pipeline architecture for image/video processing |
| US5448300A (en) * | 1992-06-16 | 1995-09-05 | Kabushiki Kaisha Toshiba | Image signal processing apparatus for processing multiplex image signal formats |
| SG44005A1 (en) * | 1992-12-11 | 1997-11-14 | Philips Electronics Nv | System for combining multiple-format multiple-source video signals |
| US5614952A (en) * | 1994-10-11 | 1997-03-25 | Hitachi America, Ltd. | Digital video decoder for decoding digital high definition and/or digital standard definition television signals |
| JP3224465B2 (ja) * | 1993-12-22 | 2001-10-29 | シャープ株式会社 | 画像符号化装置 |
| JP3541413B2 (ja) * | 1994-01-31 | 2004-07-14 | ソニー株式会社 | 情報信号伝送方法及び装置 |
| RU2033704C1 (ru) * | 1994-02-24 | 1995-04-20 | Акционерное общество закрытого типа "ТВ-Информ" | Способ передачи и приема сигнала дополнительной информации совместно с телевизионным сигналом изображения и варианты систем для его осуществления |
| US5576765A (en) * | 1994-03-17 | 1996-11-19 | International Business Machines, Corporation | Video decoder |
| ATE246864T1 (de) * | 1994-06-06 | 2003-08-15 | Sci Worx Gmbh | Verfahren zur codierung/decodierung eines datenstroms |
| EP1701552B1 (de) * | 1994-06-08 | 2008-07-30 | Matsushita Electric Industrial Co., Ltd. | Bildumsetzungsvorrichtung |
| KR0134483B1 (ko) * | 1994-06-14 | 1998-05-15 | 배순훈 | 디코더에 있어서 어드레스 보정 회로(address correction circuit of the decoder) |
| DE69515386T2 (de) * | 1994-07-15 | 2000-08-24 | Matsushita Electric Industrial Co., Ltd. | Verfahren zur Verbindung von MPEG-Videosequenzen |
| JPH0898105A (ja) * | 1994-09-29 | 1996-04-12 | Toshiba Corp | テレビジョン受信機 |
| US5623311A (en) * | 1994-10-28 | 1997-04-22 | Matsushita Electric Corporation Of America | MPEG video decoder having a high bandwidth memory |
| IL111477A (en) * | 1994-10-31 | 1999-07-14 | Makhteshim Chem Works Ltd | Stable lycophene concentrates and process for their preparation |
| US5644361A (en) * | 1994-11-30 | 1997-07-01 | National Semiconductor Corporation | Subsampled frame storage technique for reduced memory size |
| GB2296618B (en) * | 1994-12-30 | 2003-03-26 | Winbond Electronics Corp | System and method for digital video decoding |
| AU5734496A (en) * | 1995-05-10 | 1996-11-29 | Cagent Technologies, Inc. | Multiple sequence mpeg decoder and process for controlling ame |
| KR100213048B1 (ko) * | 1995-09-29 | 1999-08-02 | 윤종용 | 아날로그와 디지탈 비디오 모드를 갖는 수신기와 그 수신방법 |
| KR0157570B1 (ko) * | 1995-11-24 | 1999-02-18 | 김광호 | 복수경로를 통해 mpeg2 비트열을 복호하는 복호화장치 |
| GB2312160A (en) * | 1996-04-16 | 1997-10-22 | Huw Thomas | Carrying case for computer equipment |
| US5818530A (en) * | 1996-06-19 | 1998-10-06 | Thomson Consumer Electronics, Inc. | MPEG compatible decoder including a dual stage data reduction network |
| US5825424A (en) * | 1996-06-19 | 1998-10-20 | Thomson Consumer Electronics, Inc. | MPEG system which decompresses and recompresses image data before storing image data in a memory and in accordance with a resolution of a display device |
| EP0817498B1 (de) * | 1996-06-28 | 2001-08-22 | STMicroelectronics S.r.l. | MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus |
| CN100518319C (zh) * | 1996-12-18 | 2009-07-22 | 汤姆森消费电子有限公司 | 将数据压缩成固定长度数据块及解压的方法 |
-
1997
- 1997-09-30 CN CNB2005100835026A patent/CN100518319C/zh not_active Expired - Lifetime
- 1997-09-30 EP EP97944547A patent/EP0945022B1/de not_active Expired - Lifetime
- 1997-09-30 BR BR9713712-0A patent/BR9713712A/pt not_active Application Discontinuation
- 1997-09-30 JP JP52767098A patent/JP4627812B2/ja not_active Expired - Lifetime
- 1997-09-30 DE DE69719365T patent/DE69719365T2/de not_active Expired - Lifetime
- 1997-09-30 WO PCT/US1997/017512 patent/WO1998027720A1/en not_active Ceased
- 1997-09-30 AU AU46016/97A patent/AU4601697A/en not_active Abandoned
- 1997-09-30 WO PCT/US1997/017470 patent/WO1998027734A1/en not_active Ceased
- 1997-09-30 CN CNB971818347A patent/CN1153451C/zh not_active Expired - Fee Related
- 1997-09-30 DE DE69721299T patent/DE69721299T2/de not_active Expired - Lifetime
- 1997-09-30 CN CNB971818649A patent/CN1146246C/zh not_active Expired - Lifetime
- 1997-09-30 EP EP97943643A patent/EP0945001B1/de not_active Expired - Lifetime
- 1997-09-30 JP JP52767198A patent/JP3907705B2/ja not_active Expired - Fee Related
- 1997-09-30 CN CNB031085458A patent/CN1250010C/zh not_active Expired - Lifetime
- 1997-09-30 AU AU45070/97A patent/AU4507097A/en not_active Abandoned
- 1997-09-30 RU RU99115889/09A patent/RU2217879C2/ru not_active IP Right Cessation
- 1997-09-30 KR KR10-1999-7004713A patent/KR100517993B1/ko not_active Expired - Lifetime
- 1997-09-30 KR KR10-1999-7004727A patent/KR100510208B1/ko not_active Expired - Fee Related
- 1997-09-30 CN CNB2005100835045A patent/CN100423583C/zh not_active Expired - Lifetime
- 1997-12-11 TW TW086118688A patent/TW358309B/zh active
- 1997-12-11 TW TW086118694A patent/TW369774B/zh not_active IP Right Cessation
- 1997-12-11 TW TW086118682A patent/TW366662B/zh not_active IP Right Cessation
- 1997-12-15 AU AU53810/98A patent/AU5381098A/en not_active Abandoned
- 1997-12-15 WO PCT/US1997/023075 patent/WO1998027743A1/en not_active Ceased
- 1997-12-15 AU AU55275/98A patent/AU5527598A/en not_active Abandoned
- 1997-12-15 RU RU99115826/09A patent/RU2214066C2/ru active
- 1997-12-15 JP JP52787098A patent/JP2001506834A/ja active Pending
- 1997-12-15 KR KR1019997004918A patent/KR100542146B1/ko not_active Expired - Fee Related
- 1997-12-15 WO PCT/US1997/022831 patent/WO1998027738A1/en not_active Ceased
- 1997-12-15 DE DE69719070T patent/DE69719070T2/de not_active Expired - Fee Related
- 1997-12-15 TR TR1999/01359T patent/TR199901359T2/xx unknown
- 1997-12-15 KR KR1019997005111A patent/KR100774494B1/ko not_active Expired - Fee Related
- 1997-12-15 CN CNB97181838XA patent/CN1153472C/zh not_active Expired - Fee Related
- 1997-12-15 KR KR10-1999-7004729A patent/KR100510207B1/ko not_active Expired - Lifetime
- 1997-12-15 WO PCT/US1997/022603 patent/WO1998027737A1/en not_active Ceased
- 1997-12-15 KR KR1019997005062A patent/KR100549733B1/ko not_active Expired - Fee Related
- 1997-12-15 JP JP52788798A patent/JP2001506457A/ja active Pending
- 1997-12-15 WO PCT/US1997/022956 patent/WO1998027742A1/en not_active Ceased
- 1997-12-15 EP EP97951706A patent/EP0947104B1/de not_active Expired - Lifetime
- 1997-12-15 KR KR1019997005110A patent/KR100542624B1/ko not_active Expired - Fee Related
- 1997-12-15 CN CNB971817804A patent/CN1153471C/zh not_active Expired - Fee Related
- 1997-12-15 KR KR1019997004917A patent/KR100563488B1/ko not_active Expired - Fee Related
- 1997-12-15 RU RU99115887/09A patent/RU2204217C2/ru not_active IP Right Cessation
- 1997-12-15 CN CNB2004100642508A patent/CN100341335C/zh not_active Expired - Lifetime
- 1997-12-15 CN CNB97181841XA patent/CN1149855C/zh not_active Expired - Fee Related
- 1997-12-15 KR KR1019997004916A patent/KR100552576B1/ko not_active Expired - Lifetime
- 1997-12-15 EP EP97951658A patent/EP0945025B1/de not_active Expired - Lifetime
- 1997-12-15 AU AU58973/98A patent/AU5897398A/en not_active Abandoned
- 1997-12-15 JP JP52784898A patent/JP2001506453A/ja active Pending
- 1997-12-15 DE DE69719797T patent/DE69719797T2/de not_active Expired - Fee Related
- 1997-12-15 CN CNB971818401A patent/CN1172535C/zh not_active Expired - Fee Related
- 1997-12-15 WO PCT/US1997/022845 patent/WO1998027739A1/en not_active Ceased
- 1997-12-15 EP EP97950936A patent/EP0947103B1/de not_active Expired - Lifetime
- 1997-12-15 AU AU53811/98A patent/AU5381198A/en not_active Abandoned
- 1997-12-15 WO PCT/US1997/022854 patent/WO1998027721A1/en not_active Ceased
- 1997-12-15 CN CNB97181774XA patent/CN1139260C/zh not_active Expired - Fee Related
- 1997-12-15 JP JP52785098A patent/JP3907706B2/ja not_active Expired - Lifetime
- 1997-12-15 KR KR1019997005112A patent/KR100543132B1/ko not_active Expired - Fee Related
- 1997-12-15 AU AU56980/98A patent/AU5698098A/en not_active Abandoned
- 1997-12-15 EP EP97950935A patent/EP0947092B1/de not_active Expired - Lifetime
- 1997-12-15 EP EP97953176A patent/EP0945027B1/de not_active Expired - Lifetime
- 1997-12-15 AU AU55235/98A patent/AU5523598A/en not_active Abandoned
- 1997-12-15 BR BRPI9714678-1A patent/BR9714678B1/pt not_active IP Right Cessation
- 1997-12-15 EP EP97953181A patent/EP0945028B1/de not_active Expired - Lifetime
- 1997-12-15 JP JP52784998A patent/JP2001506454A/ja active Pending
- 1997-12-15 DE DE69721819T patent/DE69721819T2/de not_active Expired - Lifetime
- 1997-12-15 DE DE69720513T patent/DE69720513T2/de not_active Expired - Fee Related
- 1997-12-15 CN CNB971818355A patent/CN1153452C/zh not_active Expired - Lifetime
- 1997-12-15 DE DE69716467T patent/DE69716467T2/de not_active Expired - Lifetime
- 1997-12-15 JP JP52784398A patent/JP2001506452A/ja active Pending
- 1997-12-15 EP EP97954550A patent/EP0947105B1/de not_active Expired - Lifetime
- 1997-12-15 WO PCT/US1997/022853 patent/WO1998027740A1/en not_active Ceased
- 1997-12-15 AU AU56985/98A patent/AU5698598A/en not_active Abandoned
- 1997-12-15 EP EP97954109A patent/EP0945029B1/de not_active Expired - Lifetime
- 1997-12-15 CN CNB971818428A patent/CN1166214C/zh not_active Expired - Fee Related
- 1997-12-15 JP JP52785198A patent/JP4588122B2/ja not_active Expired - Lifetime
- 1997-12-15 BR BRPI9714679-0A patent/BR9714679B1/pt not_active IP Right Cessation
- 1997-12-15 JP JP52779598A patent/JP2001506446A/ja active Pending
- 1997-12-15 DE DE69716465T patent/DE69716465T2/de not_active Expired - Lifetime
- 1997-12-15 BR BR9713747A patent/BR9713747A/pt not_active IP Right Cessation
- 1997-12-15 CN CNB031458912A patent/CN1245032C/zh not_active Expired - Fee Related
- 1997-12-15 AU AU57974/98A patent/AU5797498A/en not_active Abandoned
- 1997-12-15 CN CNB971818029A patent/CN1191720C/zh not_active Expired - Lifetime
- 1997-12-15 WO PCT/US1997/022855 patent/WO1998027741A1/en not_active Ceased
- 1997-12-15 RU RU99116021/09A patent/RU2215375C2/ru active
- 1997-12-17 MY MYPI97006105A patent/MY120436A/en unknown
- 1997-12-17 MY MYPI97006096A patent/MY118698A/en unknown
- 1997-12-17 MY MYPI97006097A patent/MY119348A/en unknown
- 1997-12-17 MY MYPI97006103A patent/MY117533A/en unknown
- 1997-12-17 MY MYPI97006104A patent/MY119474A/en unknown
- 1997-12-17 MY MYPI97006099A patent/MY117030A/en unknown
- 1997-12-17 MY MYPI97006100A patent/MY119023A/en unknown
-
2007
- 2007-11-29 JP JP2007309551A patent/JP4648377B2/ja not_active Expired - Lifetime
-
2008
- 2008-08-06 JP JP2008203619A patent/JP2008271610A/ja active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69719797T2 (de) | Videodecoder mit verarbeitung von zeitverschachtelten daten | |
| DE69821693T2 (de) | Mpeg-decoder zur erzeugung multipler standardausgangssignale | |
| DE69735402T2 (de) | System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz | |
| DE69519886T2 (de) | Bilddekodierer | |
| DE69714071T2 (de) | Vorrichtung zur kompression von pixelblöcken in einem bildverarbeitungssystem | |
| US6496537B1 (en) | Video decoder with interleaved data processing | |
| EP0279053B1 (de) | Verfahren zum Übertragen und zum Wiedergeben von Fernsehbildsequenzen | |
| DE69614675T2 (de) | MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus | |
| DE69615528T2 (de) | Verfahren und vorrichtung zur dekodierung von digitalen videosignalen | |
| US6594315B1 (en) | Formatting of recompressed data in an MPEG decoder | |
| DE69525424T2 (de) | Verfahren und Vorrichtung zur Dekodierung von kodierten Videosignalen | |
| US6879631B1 (en) | Selective compression network in an MPEG compatible decoder | |
| DE69717145T2 (de) | Selektives kompressionsnetzwerk in mpeg-kompatiblen decoder | |
| DE69909880T2 (de) | Dekodierung eines komprimierten digitalen Bildsignals | |
| DE69615133T2 (de) | Verfahren und Vorrichtung zur Feinbestimmung eines Bewegungsvektors für digitale Videobilder | |
| MXPA99005605A (en) | Formatting of recompressed data in an mpeg decoder | |
| MXPA99005591A (en) | Parallel decompressors for recompressed pixel data within an mpeg decoder | |
| MXPA99005590A (en) | Parallel compressors for recompression of interleaved pixel data within an mpeg decoder | |
| HK1026100B (en) | Video decoder with interleaved data processing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |