DE69716467T2 - Parallele dekodierung von zeitverschachtelten datenströmen in einem mpeg-dekoder - Google Patents
Parallele dekodierung von zeitverschachtelten datenströmen in einem mpeg-dekoderInfo
- Publication number
- DE69716467T2 DE69716467T2 DE69716467T DE69716467T DE69716467T2 DE 69716467 T2 DE69716467 T2 DE 69716467T2 DE 69716467 T DE69716467 T DE 69716467T DE 69716467 T DE69716467 T DE 69716467T DE 69716467 T2 DE69716467 T2 DE 69716467T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- pixel
- interleaved
- mpeg
- processing
- 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 - Lifetime
Links
Classifications
-
- 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
-
- 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
-
- 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.
- 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. Wie in dem entsprechenden US-Patent 5,847,762 offenbart ist, das am 8. Dezember 1998 ausgegeben wurde, wird die DPCM-Schleife vorteilhafterweise 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.
- EP-A-0 688 135 (DAE WOO ELECTRONICS CO LTD) 20. Dezember 1995 und EP-A-0 710 026 (MATSUSHITA ELECTRIC IND CO LTD) 1. Mai 1996, offenbaren beide die Prinzipien einer parallelen Verarbeitung, die bei einem gemäß MPEG kodierten HDTV-Bitstrom angewendet wird, der in eine Anzahl von Unter-Bitströme für entsprechende Verarbeitung unterteilt wird, wobei in jedem der Unter- Strom-Wege Prozessoren mit niedrigerer Geschwindigkeit verwendet werden.
- Aspekte der Erfindung sind in den unabhängigen Ansprüchen 1, 7 und 13 definiert.
- Gemäß den Prinzipien der vorliegenden Erfindung verarbeitet ein digitaler Bildsignal-Prozessor, z. B. ein mit MPEG kompatibler Dekodierer, mehrere Datenströme, die eine vorbestimmte Sequenz von verschachtelten Bilddaten umfassen.
- 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 Einheitenm 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-einerst-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 aß* 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 solchen 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 weitere 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-Information, 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- Verarbeitungs-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-Intervall 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 (Z&supmin;¹) 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 236 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 alles 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 Quaritisierungsfehlers 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-Addierschaltung 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 wirksäm 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 (22)). 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 (15)
1. MPEG-kompatibles digitales Signalverarbeitungssystem
umfassend:
- ein Eingangs-Netzwerk (12, 14) zum Empfang eines
Datenstroms von gemäß MPEG kodierten Daten;
- ein Kopplungs-Netzwerk (15, 18, 22, 23, 20, 21, 25,
24, 27), das auf den Datenstrom anspricht, um daraus
eine vorbestimmte Sequenz von dekodierten Bilddaten
abzuleiten;
- einen Bildsignal-Prozessor (30, 32, 40, 42, 36, 38),
der auf die dekodierten Bilddaten anspricht, dadurch
gekennzeichnet, dass das Kopplungs-Netzwerk
Verschachtelungsmittel (15, 24, 27) umfasst, die auf den
Datenstrom von gemäß MPEG kodierten Daten ansprechen, um
von diesen wenigstens erste und zweite Datenströme
(P1, P2) abzuleiten, die jeweils durch eine erste
vorbestimmte Sequenz von verschachtelten ersten und
zweiten Pixelblock-Komponenten und einer zweiten
vorbestimmten Sequenz von verschachtelten dritten und
vierten Pixelblock-Komponenten gebildet werden, die sowohl
für Bildwiedergabe-Betriebsarten mit hoher Auflösung
als auch mit verminderten Daten geeignet sind.
2. System nach Anspruch 1, bei dem die verschachtelten
Bilddaten-Datenblock-Komponenten eines mit MPEG kompatiblen
Makroblocks umfassen, der Pixel darstellende
Informationen enthält.
3. System nach Anspruch 1 oder 2, bei dem die
Verschachtelungsmittel einen ersten Datenstrom (P1) aus
verschachtelten ersten und zweiten räumlich benachbarten
Pixelblock-Komponenten (a, c) und einen zweiten Datenstrom
(P2) aus verschachtelten dritten und vierten räumlich
benachbarten Pixelblock-Komponenten erzeugen.
4. System nach Anspruch 3, bei dem erste, zweite, dritte und
vierte Pixelblock-Komponenten Komponenten eines mit MPEG
kompatiblen Makroblocks sind.
5. System nach einem der Ansprüche 1 bis 4, bei dem das
Eingangs-Netzwerk enthält:
- einen Dekodierer (14) zum Dekodieren des gemäß MPEG
kodierten Datenstroms;
- einen Dekompressor (18, 20) zum Dekomprimieren von
Ausgangssignalen von dem Dekoder,
- wobei das Verschachtelungs-Netzwerk auf
Ausgangssignale von dem Dekompressor anspricht.
6. System nach einem der Ansprüche 1 bis 5, umfassend:
- einen Speicher (60) zum Speichern von Bilder
darstellenden Daten;
- ein Bewegungs-Kompensations-Netzwerk (90), das mit dem
Speicher verbunden ist,
- wobei der Bildsignal-Prozessor und das Bewegungs-
Kompensations-Netzwerk eine DPCM-Schleife umfassen.
7. Verfahren zum Verarbeiten eines Datenstroms von gemäß
MPEG kodierten, Bilder darstellenden Daten, das die
Schritte einschließt:
- Dekodieren der Daten, um einen dekodierten Datenstrom
zu erzeugen;
- Erzeugen einer vorbestimmten Sequenz von Datenblöcken,
die Bildpixel darstellen, aus dem Datenstrom;
- Verarbeiten der Datenblöcke;
- Speichern der Datenblöcke aus dem
Verarbeitungsschritt,
dadurch gekennzeichnet, dass der Erzeugungsschritt die
Erzeugung von Mehrfach-Datenströmen umfasst, von denen
jeder eine unterschiedliche vorbestimmte Sequenz von
gegenseitig verschachtelten Pixelblock-Komponenten hat, die
sowohl für Bildwiedergabe-Betriebsarten mit hoher
Auflösung als auch mit verminderten Daten geeignet sind.
8. Verfahren nach Anspruch 7, bei dem der
Verarbeitungsschritt einen ersten Datenstrom von verschachtelten
ersten und zweiten Pixelblock-Komponenten und einen zweiten
Datenstrom von verschachtelten dritten und vierten
Pixelblock-Komponenten erzeugt.
9. Verfahren nach Anspruch 7 oder 8, bei dem die
verschachtelten Pixelblöcke einen mit MPEG kompatiblen
Makroblock umfassen.
10. Verfahren nach Anspruch 7, 8 oder 9, bei dem der
Verarbeitungsschritt eine DPCM-Verarbeitung von Pixeldaten
enthält.
11. Verfahren nach Anspruch 10, bei dem der DPCM-
Verarbeitungsschritt die weiteren Schritte enthält:
- Dekomprimieren von Datenblöcken, die bei dem
Speicherschritt gespeichert werden;
- Bewegungs-Kompensations-Verarbeitung von
dekomprimierten Datenblöcken, die bei dem Dekompressionsschritt
erzeugt werden.
12. Verfahren nach Anspruch 7, 8 oder 9, bei dem der
Verarbeitungsschritt die Schritte des Vorhersagens von
Pixelwerten und des Komprimierens von Pixelwerten umfasst.
13. Verfahren zum Verarbeiten eines Datenstroms von gemäß MPEG
kodierten, Bilder darstellenden Daten, das die Schritte
einschließt:
- Empfangen eines Eingangs-Datenstroms von gemäß MPEG
kodierten Daten;
- Dekodieren des Eingangs-Datenstroms, um einen
dekodierten Datenstrom von Datenblöcken zu erzeugen, die
Pixel darstellende Informationen enthalten;
- Dekodieren des Datenstroms, um dekodierte
Bildinformationen zu erzeugen, dadurch gekennzeichnet, dass das
Verfahren ferner umfasst:
- Verarbeiten des dekodierten Datenstroms von
Datenblöcken, um daraus einen ersten Datenstrom zu erzeugen,
der erste und zweite Gruppen von Datenblock-
Komponenten mit Pixel darstellenden Informationen
enthält, die in einer ersten vorbestimmten Sequenz
verschachtelt sind, und um daraus einen zweiten
Datenstrom zu erzeugen, der dritte und vierte Gruppen von
Datenblock-Komponenten mit Pixel darstellenden
Informationen enthält, die in einer zweiten vorbestimmtem
Sequenz verschachtelt sind, wobei der erste und zweite
Datenstrom sowohl für Bildwiedergabe-Betriebsarten mit
hoher Auflösung als auch mit verminderten Daten
geeignet sind.
14. Verfahren nach Anspruch 13, bei dem die erste Gruppe durch
erste und zweite Pixelblöcke eines mit MPEG kompatiblen
Makroblocks und die zweite Gruppe durch dritte und vierte
Pixelblöcke eines mit MPEG kompatiblen Makroblocks gebildet
wird.
15. Verfahren nach Anspruch 13 oder 14, bei dem die erste,
zweite, dritte und vierte Gruppe denselben Makroblock
umfasst.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP96402785 | 1996-12-18 | ||
| PCT/US1997/022855 WO1998027741A1 (en) | 1996-12-18 | 1997-12-15 | Parallel decoding of interleaved data streams within an mpeg decoder |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69716467D1 DE69716467D1 (de) | 2002-11-21 |
| DE69716467T2 true DE69716467T2 (de) | 2003-02-20 |
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 |
| 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 |
| DE69716465T Expired - Lifetime DE69716465T2 (de) | 1996-12-18 | 1997-12-15 | System zur erhaltung der kontinuität eines datenstromes bei unterbrochenen quellendaten |
| DE69716467T Expired - Lifetime DE69716467T2 (de) | 1996-12-18 | 1997-12-15 | Parallele dekodierung von zeitverschachtelten datenströmen in einem mpeg-dekoder |
| DE69719797T Expired - Fee Related DE69719797T2 (de) | 1996-12-18 | 1997-12-15 | Videodecoder mit verarbeitung von zeitverschachtelten daten |
| DE69719070T Expired - Fee Related DE69719070T2 (de) | 1996-12-18 | 1997-12-15 | Formatieren von rekomprimierten daten in einem mpeg-decoder |
Family Applications Before (5)
| 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 |
| 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 |
| DE69716465T Expired - Lifetime DE69716465T2 (de) | 1996-12-18 | 1997-12-15 | System zur erhaltung der kontinuität eines datenstromes bei unterbrochenen quellendaten |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69719797T Expired - Fee Related DE69719797T2 (de) | 1996-12-18 | 1997-12-15 | Videodecoder mit verarbeitung von zeitverschachtelten daten |
| DE69719070T Expired - Fee Related DE69719070T2 (de) | 1996-12-18 | 1997-12-15 | Formatieren von rekomprimierten daten in einem mpeg-decoder |
Country Status (12)
| Country | Link |
|---|---|
| EP (10) | EP0945022B1 (de) |
| JP (12) | JP3907705B2 (de) |
| KR (10) | KR100517993B1 (de) |
| CN (15) | CN100518319C (de) |
| AU (10) | AU4507097A (de) |
| BR (4) | BR9713712A (de) |
| DE (8) | DE69719365T2 (de) |
| MY (7) | MY119348A (de) |
| RU (4) | RU2217879C2 (de) |
| TR (1) | TR199901359T2 (de) |
| TW (3) | TW369774B (de) |
| WO (10) | WO1998027734A1 (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 |
| WO2003047262A2 (en) | 2001-11-29 | 2003-06-05 | Matsushita Electric Industrial Co., Ltd. | Coding distortion removal method and video encoding end decoding methods |
| 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 |
| JP4252532B2 (ja) * | 2002-04-23 | 2009-04-08 | 株式会社エヌ・ティ・ティ・ドコモ | 算術的符号化及び復号のためのシステム及び方法 |
| US9577667B2 (en) | 2002-04-23 | 2017-02-21 | Ntt Docomo, Inc. | System and method for arithmetic encoding and decoding |
| 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 |
| EP2290989B1 (de) * | 2002-05-28 | 2015-01-28 | Sharp Kabushiki Kaisha | Verfahren und Systeme zur Bildintraprädiktions-modusschätzung, Kommunikation und Organisation |
| 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视频解码验证方法和装置 |
| KR100763178B1 (ko) | 2005-03-04 | 2007-10-04 | 삼성전자주식회사 | 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
| RU2282313C1 (ru) * | 2005-03-04 | 2006-08-20 | Илья Сергеевич Свирин | Способ автоматической настройки параметров изображения |
| CN101167357B (zh) * | 2005-04-26 | 2011-09-07 | 皇家飞利浦电子股份有限公司 | 用于处理具有分组序列和与分组有关的定时信息的数据流的设备和方法 |
| BRPI0611672A2 (pt) * | 2005-07-22 | 2009-01-13 | Mitsubishi Electric Corp | codificador e decodificador de imagem, mÉtodo de codificaÇço de imagem, programa de codificaÇço de imagem, meio de gravaÇço legÍvel por computador, mÉtodo de decodificaÇço de imagem, programa de decodificaÇço de imagem, e, corrente de bits codificada por imagem |
| 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 | ソニー株式会社 | 表示装置および表示方法、学習装置および学習方法、並びにプログラム |
| CN101611633B (zh) | 2006-07-06 | 2012-10-03 | 汤姆逊许可证公司 | 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置 |
| JP2009543461A (ja) * | 2006-07-06 | 2009-12-03 | トムソン ライセンシング | マルチビュービデオ符号化及び復号化のためにフレームナンバー及び/又はピクチャオーダカウント(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 | ディジタル画像無線伝送装置及びその画像データ処理方法、ディジタル画像無線受信装置及びディジタル画像無線送受信システム |
| US8331664B2 (en) | 2008-01-21 | 2012-12-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Prediction-based image processing |
| CN101919254B (zh) * | 2008-01-21 | 2013-01-23 | 艾利森电话股份有限公司 | 基于预测的图像处理 |
| CN101252707A (zh) * | 2008-03-21 | 2008-08-27 | 华为技术有限公司 | 一种消息的生成、解析方法及装置 |
| ATE540383T1 (de) * | 2008-05-27 | 2012-01-15 | Ericsson Telefon Ab L M | Indexbasierte pixelblock-verarbeitung |
| CN102388614B (zh) * | 2009-04-08 | 2015-04-29 | 夏普株式会社 | 运动图像编码装置以及运动图像解码装置 |
| 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 |
| US8640004B2 (en) | 2009-04-24 | 2014-01-28 | Nokia Corporation | Data rearrangement for decoder |
| JP5528445B2 (ja) * | 2009-06-19 | 2014-06-25 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
| 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用於顯示及記錄的彩色影像旋轉之方法及裝置 |
| KR101484281B1 (ko) * | 2010-07-09 | 2015-01-21 | 삼성전자주식회사 | 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치 |
| EP2924995B1 (de) | 2010-07-09 | 2018-09-12 | Samsung Electronics Co., Ltd | Verfahren zur videodecodierung durch verwendung von blockzusammenführung |
| EP2624562A4 (de) * | 2010-09-30 | 2014-11-19 | Mitsubishi Electric Corp | Vorrichtung für dynamische bildverschlüsselung, vorrichtung für dynamische bildentschlüsselung, verfahren für dynamische bildverschlüsselung und verfahren für dynamische bildentschlüsselung |
| 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ドコモ | 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム |
| CN102761738B (zh) * | 2011-12-05 | 2017-11-24 | 同济大学 | 基于混合色度采样率的图像压缩方法和装置 |
| CN108965892B (zh) * | 2012-01-30 | 2021-02-19 | 三星电子株式会社 | 用于视频解码的设备 |
| 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 |
| CN105009584B (zh) * | 2013-04-02 | 2018-09-25 | 明达半导体股份有限公司 | 视频处理方法及视频处理装置 |
| RU2635064C2 (ru) * | 2013-10-14 | 2017-11-08 | ЭйджЭфАй Инновэйшн Инк. | Способ остаточной дифференциальной импульсно-кодовой модуляции в целях расширения диапазона высокоэффективного кодирования видеоизображений (HEVC) |
| CN104717442B (zh) * | 2013-12-12 | 2018-02-09 | 中国航空工业集团公司第六三一研究所 | 多视频格式向VESA协议1600X1200分辨率60Hz帧率视频的自动转换方法 |
| CN104717445B (zh) * | 2013-12-12 | 2017-11-24 | 中国航空工业集团公司第六三一研究所 | 多视频格式向bt.656协议ntsc制式视频的自动转换方法 |
| CN104717443B (zh) * | 2013-12-12 | 2017-08-25 | 中国航空工业集团公司第六三一研究所 | 多视频格式向SMPTE274协议1080i分辨率视频的自动转换方法 |
| KR101623109B1 (ko) * | 2014-05-29 | 2016-05-20 | 부산대학교 산학협력단 | Fpga에서 물리적 복제 방지 함수 회로를 구현하기 위한 장치 |
| EP3304914B1 (de) | 2015-06-05 | 2025-04-09 | Telefonaktiebolaget LM Ericsson (publ) | Codierung eines pixels einer eingangsvideosequenz |
| 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 | 华为技术有限公司 | 数据压缩、解压方法及相关装置、电子设备、系统 |
| CN109104199A (zh) * | 2018-08-29 | 2018-12-28 | 重庆物奇科技有限公司 | 基于霍夫曼编码的编码方法、译码方法及应用 |
| CN109120273A (zh) * | 2018-08-29 | 2019-01-01 | 重庆物奇科技有限公司 | 基于霍夫曼编码的编码装置、译码装置及系统 |
| 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 |
| EP0398741B1 (de) * | 1989-05-19 | 1997-10-29 | Canon Kabushiki Kaisha | 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 |
| EP0574901A2 (de) * | 1992-06-16 | 1993-12-22 | Kabushiki Kaisha Toshiba | Bildsignalverarbeitungsgerät |
| DE69309621T2 (de) * | 1992-12-11 | 1997-10-30 | Philips Electronics Nv | System zum Kombinieren von Videosignalen verschiedener Formate und aus verschiedenen Quellen |
| 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 |
| EP0687112B1 (de) * | 1994-06-08 | 2006-09-20 | Matsushita Electric Industrial Co., Ltd. | Bildumsetzungsvorrichtung |
| KR0134483B1 (ko) * | 1994-06-14 | 1998-05-15 | 배순훈 | 디코더에 있어서 어드레스 보정 회로(address correction circuit of the decoder) |
| EP0692911B1 (de) * | 1994-07-15 | 2000-03-08 | 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 |
| DE69614675T2 (de) * | 1996-06-28 | 2001-12-06 | Stmicroelectronics S.R.L., Agrate Brianza | 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 AU AU45070/97A patent/AU4507097A/en not_active Abandoned
- 1997-09-30 CN CNB971818649A patent/CN1146246C/zh not_active Expired - Lifetime
- 1997-09-30 WO PCT/US1997/017470 patent/WO1998027734A1/en not_active Ceased
- 1997-09-30 JP JP52767198A patent/JP3907705B2/ja not_active Expired - Fee Related
- 1997-09-30 JP JP52767098A patent/JP4627812B2/ja not_active Expired - Lifetime
- 1997-09-30 EP EP97944547A patent/EP0945022B1/de not_active Expired - Lifetime
- 1997-09-30 EP EP97943643A patent/EP0945001B1/de not_active Expired - Lifetime
- 1997-09-30 CN CNB971818347A patent/CN1153451C/zh not_active Expired - Fee Related
- 1997-09-30 CN CNB031085458A patent/CN1250010C/zh not_active Expired - Lifetime
- 1997-09-30 RU RU99115889/09A patent/RU2217879C2/ru not_active IP Right Cessation
- 1997-09-30 DE DE69719365T patent/DE69719365T2/de not_active Expired - Lifetime
- 1997-09-30 BR BR9713712-0A patent/BR9713712A/pt not_active Application Discontinuation
- 1997-09-30 CN CNB2005100835045A patent/CN100423583C/zh 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 DE DE69721299T patent/DE69721299T2/de not_active Expired - Lifetime
- 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-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-11 TW TW086118688A patent/TW358309B/zh active
- 1997-12-15 CN CNB971818401A patent/CN1172535C/zh not_active Expired - Fee Related
- 1997-12-15 CN CNB97181838XA patent/CN1153472C/zh not_active Expired - Fee Related
- 1997-12-15 JP JP52779598A patent/JP2001506446A/ja active Pending
- 1997-12-15 CN CNB971818029A patent/CN1191720C/zh not_active Expired - Lifetime
- 1997-12-15 JP JP52784898A patent/JP2001506453A/ja active Pending
- 1997-12-15 JP JP52785098A patent/JP3907706B2/ja not_active Expired - Lifetime
- 1997-12-15 AU AU56980/98A patent/AU5698098A/en not_active Abandoned
- 1997-12-15 AU AU53810/98A patent/AU5381098A/en not_active Abandoned
- 1997-12-15 BR BRPI9714678-1A patent/BR9714678B1/pt not_active IP Right Cessation
- 1997-12-15 WO PCT/US1997/022854 patent/WO1998027721A1/en not_active Ceased
- 1997-12-15 JP JP52784998A patent/JP2001506454A/ja active Pending
- 1997-12-15 AU AU58973/98A patent/AU5897398A/en not_active Abandoned
- 1997-12-15 EP EP97951658A patent/EP0945025B1/de not_active Expired - Lifetime
- 1997-12-15 CN CNB2004100642508A patent/CN100341335C/zh not_active Expired - Lifetime
- 1997-12-15 CN CNB031458912A patent/CN1245032C/zh not_active Expired - Fee Related
- 1997-12-15 KR KR1019997004918A patent/KR100542146B1/ko not_active Expired - Fee Related
- 1997-12-15 BR BRPI9714679-0A patent/BR9714679B1/pt not_active IP Right Cessation
- 1997-12-15 DE DE69721819T patent/DE69721819T2/de not_active Expired - Lifetime
- 1997-12-15 EP EP97954550A patent/EP0947105B1/de not_active Expired - Lifetime
- 1997-12-15 AU AU53811/98A patent/AU5381198A/en not_active Abandoned
- 1997-12-15 KR KR10-1999-7004729A patent/KR100510207B1/ko not_active Expired - Lifetime
- 1997-12-15 AU AU56985/98A patent/AU5698598A/en not_active Abandoned
- 1997-12-15 EP EP97953176A patent/EP0945027B1/de not_active Expired - Lifetime
- 1997-12-15 AU AU55275/98A patent/AU5527598A/en not_active Abandoned
- 1997-12-15 AU AU57974/98A patent/AU5797498A/en not_active Abandoned
- 1997-12-15 CN CNB97181841XA patent/CN1149855C/zh not_active Expired - Fee Related
- 1997-12-15 RU RU99115887/09A patent/RU2204217C2/ru not_active IP Right Cessation
- 1997-12-15 TR TR1999/01359T patent/TR199901359T2/xx unknown
- 1997-12-15 KR KR1019997004916A patent/KR100552576B1/ko not_active Expired - Lifetime
- 1997-12-15 JP JP52787098A patent/JP2001506834A/ja active Pending
- 1997-12-15 CN CNB971818355A patent/CN1153452C/zh not_active Expired - Lifetime
- 1997-12-15 EP EP97950936A patent/EP0947103B1/de not_active Expired - Lifetime
- 1997-12-15 CN CNB97181774XA patent/CN1139260C/zh not_active Expired - Fee Related
- 1997-12-15 EP EP97951706A patent/EP0947104B1/de not_active Expired - Lifetime
- 1997-12-15 JP JP52788798A patent/JP2001506457A/ja active Pending
- 1997-12-15 RU RU99116021/09A patent/RU2215375C2/ru active
- 1997-12-15 BR BR9713747A patent/BR9713747A/pt not_active IP Right Cessation
- 1997-12-15 KR KR1019997004917A patent/KR100563488B1/ko not_active Expired - Fee Related
- 1997-12-15 RU RU99115826/09A patent/RU2214066C2/ru active
- 1997-12-15 CN CNB971817804A patent/CN1153471C/zh not_active Expired - Fee Related
- 1997-12-15 EP EP97954109A patent/EP0945029B1/de not_active Expired - Lifetime
- 1997-12-15 WO PCT/US1997/022855 patent/WO1998027741A1/en not_active Ceased
- 1997-12-15 WO PCT/US1997/022956 patent/WO1998027742A1/en not_active Ceased
- 1997-12-15 AU AU55235/98A patent/AU5523598A/en not_active Abandoned
- 1997-12-15 JP JP52784398A patent/JP2001506452A/ja active Pending
- 1997-12-15 KR KR1019997005110A patent/KR100542624B1/ko not_active Expired - Fee Related
- 1997-12-15 EP EP97953181A patent/EP0945028B1/de not_active Expired - Lifetime
- 1997-12-15 KR KR1019997005112A patent/KR100543132B1/ko not_active Expired - Fee Related
- 1997-12-15 DE DE69720513T patent/DE69720513T2/de not_active Expired - Fee Related
- 1997-12-15 KR KR1019997005111A patent/KR100774494B1/ko not_active Expired - Fee Related
- 1997-12-15 WO PCT/US1997/022853 patent/WO1998027740A1/en not_active Ceased
- 1997-12-15 JP JP52785198A patent/JP4588122B2/ja not_active Expired - Lifetime
- 1997-12-15 WO PCT/US1997/023075 patent/WO1998027743A1/en not_active Ceased
- 1997-12-15 DE DE69716465T patent/DE69716465T2/de not_active Expired - Lifetime
- 1997-12-15 DE DE69716467T patent/DE69716467T2/de not_active Expired - Lifetime
- 1997-12-15 DE DE69719797T patent/DE69719797T2/de not_active Expired - Fee Related
- 1997-12-15 KR KR1019997005062A patent/KR100549733B1/ko not_active Expired - Fee Related
- 1997-12-15 WO PCT/US1997/022603 patent/WO1998027737A1/en not_active Ceased
- 1997-12-15 WO PCT/US1997/022845 patent/WO1998027739A1/en not_active Ceased
- 1997-12-15 CN CNB971818428A patent/CN1166214C/zh not_active Expired - Fee Related
- 1997-12-15 EP EP97950935A patent/EP0947092B1/de not_active Expired - Lifetime
- 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-17 MY MYPI97006097A patent/MY119348A/en unknown
- 1997-12-17 MY MYPI97006104A patent/MY119474A/en unknown
- 1997-12-17 MY MYPI97006100A patent/MY119023A/en unknown
- 1997-12-17 MY MYPI97006096A patent/MY118698A/en unknown
- 1997-12-17 MY MYPI97006099A patent/MY117030A/en unknown
- 1997-12-17 MY MYPI97006103A patent/MY117533A/en unknown
- 1997-12-17 MY MYPI97006105A patent/MY120436A/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 |
|---|---|---|
| DE69716467T2 (de) | Parallele dekodierung von zeitverschachtelten datenströmen in einem mpeg-dekoder | |
| DE69735402T2 (de) | System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz | |
| DE69821693T2 (de) | Mpeg-decoder zur erzeugung multipler standardausgangssignale | |
| DE69320731T2 (de) | Raum- und Frequenzhybridkodierung eines Videosignals zur Vereinfachung der Bildung von Bildern variabler Auflösung | |
| DE69519886T2 (de) | Bilddekodierer | |
| DE69714071T2 (de) | Vorrichtung zur kompression von pixelblöcken in einem bildverarbeitungssystem | |
| US6496537B1 (en) | Video decoder with interleaved data processing | |
| 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 | |
| US6594315B1 (en) | Formatting of recompressed data in an MPEG decoder | |
| US6879631B1 (en) | Selective compression network in an MPEG compatible decoder | |
| DE69628269T2 (de) | Konversionsverfahren einer Ausgangsdatenfolge in Invers-DCT und Schaltung davon | |
| 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 | |
| MXPA99005606A (en) | Selective compression network in an mpeg compatible 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 |