DE69230704T2 - Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung - Google Patents
Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und QuantisierungInfo
- Publication number
- DE69230704T2 DE69230704T2 DE69230704T DE69230704T DE69230704T2 DE 69230704 T2 DE69230704 T2 DE 69230704T2 DE 69230704 T DE69230704 T DE 69230704T DE 69230704 T DE69230704 T DE 69230704T DE 69230704 T2 DE69230704 T2 DE 69230704T2
- Authority
- DE
- Germany
- Prior art keywords
- image
- bits
- pictures
- compression coding
- group
- 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
- 238000000034 method Methods 0.000 title claims description 66
- 238000013139 quantization Methods 0.000 title description 55
- 230000003044 adaptive effect Effects 0.000 title description 29
- 238000007906 compression Methods 0.000 claims description 43
- 230000006835 compression Effects 0.000 claims description 43
- 239000013256 coordination polymer Substances 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000007423 decrease Effects 0.000 claims 2
- 230000003247 decreasing effect Effects 0.000 claims 2
- 230000000007 visual effect Effects 0.000 description 18
- 239000013598 vector Substances 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000007781 pre-processing Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012261 overproduction Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- 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/115—Selection of the code volume for a coding unit prior to 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/17—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 an image region, e.g. an object
- H04N19/172—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 an image region, e.g. an object the region being a picture, frame or field
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/18—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 set of transform coefficients
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- 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/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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Description
- Die vorliegende Erfindung betrifft die Datenkomprimierung und speziell ein Verfahren und ein System zur Komprimierung von sich bewegenden, digitalen Videosignalen mit Algorithmen, die mit bei dem aufkommenden MPEG-Standard, der von der International Standards Organization's Moving Picture Experts Group (MPEG) vorgeschlagen wurde, in Einklang stehen.
- Technische Fortschritte in digitalen Übertragungsnetzwerken, digitale Speichermedien, hochintegrierte Bauelemente und die digitale Verarbeitung von Video- und Audiosignalen tragen gemeinsam dazu bei, daß die Übertragung und Speicherung von digitalen Videosignalen in vielen Bereichen wirtschaftlich wird. Da die Speicherung und Übertragung digitaler Videosignale der zentrale Punkt vieler Anwendungen ist und da eine nicht komprimierte Darstellung eines Videosignals sehr viel Speicher beansprucht, ist der Einsatz von Verfahren zur Komprimierung digitaler Videodaten von höchster Bedeutung für diesen aufstrebenden Bereich. In dieser Hinsicht haben sich in den letzten zehn Jahren mehrere internationale Standards zur Komprimierung digitaler Videosignale entwickelt, und weitere werden derzeit entwickelt. Diese Standards betreffen Algorithmen für die Übertragung und Speicherung digitaler Videodaten in verschiedenen Anwendungen wie z. B. Übertragungen über Bildtelefone sowie Telekonferenzen; digitale Fernsehübertragung hoher Qualität über Koaxial- und Glasfasernetzwerke sowie Rundfunk über terrestrische Anlagen oder direkte Rundfunksatelliten; und interaktive Multimedia-Produkte auf CD-ROM, DAT-Bändern und Festplattenlaufwerken.
- Einige dieser Standards beinhalten Algorithmen auf der Basis eines gemeinsamen Kerns von Komprimierungsverfahren, z. B. CCITT (Consultative Committee on International Telegraphy and Telephony) Recommendation II.120, CCITT Recommendation II.261, und ISO/IEC MPEG-Standard. Der MPEG-Algorithmus wurde von der Moving Pictures Experts Group (MPEG), einem Teil eines gemeinsamen technischen Komitees der International Standards Organization (ISO) und der International Electrotechnical Commission (IEC), entwickelt. Das MPEG-Komitee hat einen Standard für die komprimierte Darstellung von Video- und zugehörigen Audiosignalen im Multiplexbetrieb entwickelt. Der Standard definiert die Syntax des komprimierten Bitstroms und das Decodierungsverfahren, läßt aber reichlich Freiraum für neue Entwicklungen und Vielfalt in dem Algorithmus, der im Codierer verwendet wird.
- Da die vorliegende Erfindung in Verbindung mit einem solchen Codierer verwendet werden kann, sollen im folgenden einige wichtige Aspekte des MPEG-Videokomprimierungsalgorithmus kurz erläutert werden, damit die Erfindung besser zu verstehen ist. Es sei aber angemerkt, daß die Erfindung auch auf andere Videocodierungsalgorithmen angewendet werden kann, die ebenfalls einige Merkmale des MPEG-Algorithmus besitzen.
- Die Komprimierung eines beliebigen Datenobjekts, z. B. einer Textseite, eines Bildes, einer Sprachsequenz oder einer Video sequenz kann man sich bekanntlich als eine Abfolge mehrerer Schritte vorstellen, u. a. 1) die Aufgliederung des Objekts in eine Sammlung von Tokens; 2) die Darstellung dieser Tokens in Form von Binärziffernfolgen, die in irgendeinem Sinn eine Minimallänge besitzen; und 3) die Verkettung der Binärziffernfolgen in einer festgelegten Reihenfolge. Schritt 2 und 3 sind verlustfrei, d. h. die ursprünglichen Daten können originalgetreu rekonstruiert werden, und Schritt 2 wird als Entropiecodierung bezeichnet. (Siehe beispielsweise T. BERGER, Rate Distortion Theory, Englewood Cliffs, NJ: Prentice-Hall, 1977; R. McELIECE, The Theory of Information and Coding, Reading, MA: Addison-Wesley, 1971; D. A. HUFFMAN, "A Method for the Construction of Minimum Redundancy Codes", Proc. IRE, S. 1098- 1101, September 1952; G. G. LANGDON, "An Introduction to Arithmetic Coding," IBM J. Res. Develop., Bd. 28, S. 135-149, März 1984). Schritt 1 kann im allgemeinen entweder verlustfrei oder mit einem Verlust behaftet sein. Bei den meisten Videokomprimierungsalgorithmen geht aufgrund strenger Anforderungen an die Bitrate Information verloren. Ein erfolgreicher verlustbehafteter Komprimierungsalgorithmus eliminiert redundante und irrelevante Information, indem er relativ große Fehler zuläßt, wo sie wahrscheinlich nicht auffallen, und Aspekte einer Sequenz, die ein menschlicher Betrachter sehr differenziert wahrnimmt, sehr genau wiedergibt. Die im MPEG-Algorithmus verwendeten Verfahren für Schritt 1 können als vorhersagende/interpolierende, bewegungskompensierte, hybride DCT/DPCM-Codierungsverfahren bezeichnet werden. Die Huffman-Codierung, die auch als Codierung mit variabler Länge bezeichnet wird (siehe oben zitierte Veröffentlichung von HUFFMAN 1952), kommt in Schritt 2 zum Einsatz. Zwar ist der MPEG-Standard eigentlich eine Spezifikation des Decoders und der Syntax des komprimier ten Bitstroms, die folgende Beschreibung der MPEG-Spezifikation geht aber der einfacheren Darstellung wegen in erster Linie vom Standpunkt eines Codierers aus.
- Der MPEG-Videostandard definiert eine codierte Darstellung von Videodaten für digitale Speichermedien wie in ISO-IEC JTC1/SC2/WG11 MPEG CD-11172, MPEG Committee Draft, 1991 festgelegt. Der Algorithmus ist für den Betrieb mit Komponentenvideo im Non-Interlaced-Modus entwickelt worden. Jedes Bild besteht aus drei Komponenten: Luminanz (Y), Rotwertdifferenz (Cr) und Blauwertdifferenz (Cb). Die Cr- und Cb-Komponenten haben sowohl in horizontaler als auch in vertikaler Richtung jeweils halb so viele Abtastungen wie die Y-Komponente. Abgesehen von dieser Festlegung des Eingangsdatenformats gibt es keine Einschränkungen bezüglich des Umfangs oder der Art der Vorverarbeitung, der die Quellenvideosequenzen als Vorbereitung auf die Komprimierung unterzogen werden können. Verfahren für eine solche Vorverarbeitung sind eine der Aufgaben der vorliegenden Erfindung.
- Ein MPEG-Datenstrom besteht aus einem Videostrom und einem Audiostrom, die zusammen mit Systeminformationen und möglicherweise mit anderen Bitströmen in einen Systemdatenstrom gepackt sind, der als mehrschichtig betrachtet werden kann. Innerhalb der Videoebene des MPEG-Datenstroms sind die komprimierten Daten weiter in mehreren Schichten oder Ebenen angeordnet. Eine Beschreibung der mehrschichtigen Struktur trägt zum besseren Verständnis der Erfindung bei. Die einzelnen Schichten oder Ebenen der MPEG-Video-Ebenenstruktur sind in in Fig. 1-4 dargestellt. Im einzelnen haben die Zeichnungen folgenden Inhalt:
- Fig. 1: Beispiel für ein Paar Bildergruppen (GOPs).
- Fig. 2: Beispiel für die Unterteilung eines Bildes in Makroblöcke (MBs).
- Fig. 3: Beispiel für die Unterteilung eines Bildes in Ausschnitte.
- Fig. 4: Unterteilung eines Makroblocks.
- Die Ebenen gehören ebenso zur Funktionsweise des Komprimierungsalgorithmus wie die Zusammensetzung eines komprimierten Bitstroms. Die höchste Ebene ist die Videosequenzebene, die Steuerinformationen und Parameter für die gesamte Sequenz enthält. Auf der nächsten Ebene wird eine Sequenz in Gruppen aufeinanderfolgender Bilder, die sog. Bildergruppen (GOPs) unterteilt. Der allgemeine Aufbau dieser Ebene ist in Fig. 1 dargestellt. Die Decodierung kann am Anfang einer beliebigen GOP beginnen, im wesentlichen unabhängig von den vorausgehenden GOPs. Die Anzahl der Bilder in einer GOP ist nicht begrenzt, und es müssen auch nicht alle GOPs gleich viele Bilder enthalten.
- Die dritte Ebene oder Bildebene ist ein Einzelbild. Der allgemeine Aufbau dieser Ebene ist in Fig. 2 dargestellt. Die Luminanzkomponente jedes Bildes wird in 16 · 16 Bereich aufgeteilt; die Farbdifferenzkomponenten werden in 8 · 8 Bereiche aufgeteilt, die sich räumlich mit den 16 · 16 Luminanzbereichen decken. Zusammengenommen bilden diese deckungsgleichen Luminanz- und Farbdifferenzbereiche die fünfte Ebene, den sog. Makroblock (MB). Makroblöcke in einem Bild werden beginnend mit Makroblock 1 in lexikographischer Reihenfolge durchnumeriert.
- Zwischen der Bildebene und der MB-Ebene liegt die vierte Ebene, die Ausschnittebene. Jeder Ausschnitt besteht aus der gleichen Anzahl aufeinanderfolgender MBs. Ausschnitte müssen weder innerhalb eines Bildes noch von Bild zu Bild die gleiche Größe haben. Sie können nur aus einigen wenigen Makroblöcken bestehen oder mehrere MB-Reihen umfassen wie in Fig. 3.
- Schließlich bestehtt, jeder MB aus vier 8 · 8 Luminanzblöcken und zwei 8 · 8 Farbdifferenzblöcken (Fig. 4). Wenn die Breite jedes Luminanzbildes (in Bildelementen oder Pixeln) mit C und die Höhe mit R bezeichnet wird (C für Spalten, engl. columns; R für Zeilen, engl. rows), ist ein Bild CMR = C/16 MBs breit und RMR = R/16 MBs hoch. Entsprechend ist es CR = C/8 Blöcke breit und RR = R/8 Blöcke hoch.
- Die Sequenz-, GOP-, Bild- und Ausschnittebene sind jeweils mit Kopfdaten versehen. Die Kopfdatenabschnitte beginnen mit an Bytegrenzen ausgerichteten Startcodes und enthalten Informationen über die in der betreffenden Ebene enthaltenen Daten.
- Innerhalb einer GOP können drei Arten von Bildern vorkommen. Das Unterscheidungsmerkmal zwischen den Bildtypen ist das verwendete Komprimierungsverfahren. Im ersten Typ werden Intramode-Bilder oder I-Bilder unabhängig von allen anderen Bildern komprimiert. Zwar gibt es keine feste Obergrenze für den Abstand zwischen I-Bildern, es wird aber erwartet, daß sie in einer Sequenz häufig vorkommen, um einen direkten Zugriff und andere spezielle Betriebsarten zu erleichtern. Jede GOP muß mit einem I-Bild beginnen und kann weitere I-Bilder enthalten. Die anderen beiden Bildtypen, vorhersagend bewegungskompensierte Bilder (P-Bilder) und bidirektional bewegungskompensierte Bilder (B-Bilder) werden weiter unten im Zusammenhang mit der Bewegungskompensation erläutert.
- Für die Anzahl und Reihenfolge von I-, P- und B-Bildern in einer GOP gibt es bestimmte Regeln. I- und P-Bilder werden kollektiv als Anker-Bilder bezeichnet, und eine GOP muß mindestens ein Ankerbild enthalten, sie kann aber auch mehrere enthalten. Außerdem können zwischen zwei benachbarten Ankerbildern null oder mehr B-Bilder vorkommen. Eine typische GOP ist in Fig. 5 dargestellt.
- Ein sehr nützliches Bildkomprimierungsverfahren ist die Transformationscodierung. (Siehe N. S. JAYANT and P. NOLL, Digital Coding of Waveforms, Principles and Applications to Speech and Video, Englewood Cliffs, NJ: Prentice-Hall, 1984, und A. G. TESCHER, "Transform Image Coding", in W. K. Pratt, Hrsg., Image Transmission Techniques, S. 113-155, New York, NY: Academic Press, 1979.) In MPEG und einigen anderen Komprimierungsstandards ist die gewählte Transformation die diskrete Kosinustransformation (DCT). (Siehe K. R. RAO and P. YIP, Discrete Cosine Transform, Algorithms, Advantages, Applications, San Diego, CA: Academic Press, 11990, und N. AHMED, T. NATARAJAN, und K. R. RAO, "Discrete Cosine Transform", IEEE Transactions on Computers, S. 90-93, Januar 1974.) Die Komprimierung eines I- Bildes erfolgt in drei Schritten: 1) Anwendung der DCT auf Pixelblöcke, 2) Quantisierung der DCT-Koeffizienten und 3) Huffman-Codierung des Ergebnisses. In MPEG konvertiert die DCT- Operation einen Block aus n · n Pixeln in einen n · n Satz von Transformationskoeffizienten. Wie auch einige der internationalen Komprimierungsstandards verwendet der MPEG-Algorithmus eine DCT-Blockgröße von 8 · 8. Die DCT-Transformation selber ist verlustfrei und kann innerhalb der Präzisionsgrenzen des Computers und des Algorithmus, mit dem sie durchgeführt wird, wieder rückgängig gemacht werden.
- Der zweite Schritt, die Quantisierung der DCT-Koeffizienten, ist die primäre Verlustquelle im MPEG-Algorithmus. Die Elemente der zweidimensionalen Matrix der DCT-Koeffizienten werden mit cmn bezeichnet, wobei m und n eine Zahl zwischen 0 und 7 ist; abgesehen von Abschneide- oder Rundungskorrekturen erfolgt die Quantisierung durch Division jedes DCT-Koeffizienten cmn durch wmn · QP, wobei wmn ein Gewichtungsfaktor und QP der Quantisierungsparameter ist. QP wird auf jeden DCT-Koeffizienten angewendet. Der Gewichtungsfaktor wmn ermöglicht eine gröbere Quantisierung der optisch weniger wichtigen Koeffizienten. Es kann zwei Gruppen dieser Gewichtungen geben, eine für I-Bilder und die andere für P- und B-Bilder. Auf der Videosequenzebene können benutzerspezifische Gewichtungen übermittelt werden, oder es können Standardwerte verwendet werden. Der Quantisierungsparameter QP ist in MPEG das primäre Mittel, um Qualität und Bitrate gegeneinander abzuwägen. Es ist wichtig zu wissen, daß QP innerhalb eines Bildes von MB zu MB unterschiedlich sein kann. Diese Eigenschaft, die adaptive Quanti sierung (AQ), ermöglicht es, daß verschiedene Teile jedes Bildes mit unterschiedlicher Schrittgröße quantisiert werden kann, und kann zum Versuch einer Egalisierung (und Optimierung) der visuellen Qualität innerhalb des Bildes und von einem Bild zum anderen verwendet werden. Der MPEG-Standard erlaubt zwar die adaptive Quantisierung; Algorithmen, die aus Regeln für die Verwendung der AQ zur Verbesserung der visuellen Qualität bestehen, unterliegen aber nicht der Standardisierung. Eine Klasse von Regeln für die AQ ist ein Ziel der vorliegenden Erfindung.
- Nach der Quantisierung werden die DCT-Koeffizientendaten für jeden MB organisiert und mittels eines Hoffman-Codesatzes codiert. Da die Details dieses Schrittes nicht unbedingt für das Verständnis der Erfindung erforderlich und außerdem in Fachkreisen allgemein bekannt sind, wird hier nicht näher darauf eingegangen. Weitere Informationen zu diesem Thema finden sich in der oben genannten Veröffentlichung von HUFFMAN 1952.
- Die meisten Videosequenzen weisen einen hohen Grad der Korrelation zwischen aufeinanderfolgenden Bildern auf. Ein nützliches Verfahren zum Entfernen dieser Redundanz vor der Codierung eines Bildes ist die "Bewegungskompensation". Für die Bewegungskompensation wird ein Mittel zum Modellieren und Abschätzen der Bewegung in einer Szene benötigt. In MPEG ist jedes Bild in Makroblöcke (MBs) unterteilt, und jeder MB wird mit 16 · 16 Bereichen an der gleichen räumlichen Position in einem oder mehreren Vorhersagebildern verglichen. Der Bereich im Vorhersagebild bzw. in den Vorhersagebildern, der auf ir gendeine Weise am besten mit dem MB übereinstimmt, wird als Vorhersage verwendet. Der Unterschied zwischen der räumlichen Position des MB und der des Vorhersagebereichs wird als Bewegungsvektor bezeichnet. Die Ausgabe der Bewegungsabschätzung und -kompensation für einen MB sind also Bewegungsvektoren und ein bewegungskompensierter Makroblock. In komprimierter Form benötigen diese in der Regel weniger Bits als der ursprüngliche MB selber. Bilder, die anhand eines einzigen Vorhersagebildes vorhersagend bewegungskompensiert werden, werden als P- Bilder bezeichnet. Diese Art der Vorhersage wird in MPEG auch als Vorwärts-Vorhersage bezeichnet.
- Wie bereits erwähnt kann das Zeitintervall zwischen einem P- Bild und seinem Vorhersagebild größer als ein Bildintervall sein. Bei Bildern, die zwischen P-Bilder oder zwischen ein I- Bild und ein P-Bild fallen, kann zusätzlich zur Vorwärtsvorhersage auch eine Rückwärtsvorhersage verwendet werden (siehe Fig. 5). Solche Bilder werden als bidirektional bewegungskompensierte Bilder oder B-Bilder bezeichnet. Bei B-Bildern ist zusätzlich zur Vorwärts- und Rückwärtsvorhersage außerdem eine interpolierende Kompensation erlaubt, bei der das Vorhersagebild ein Durchschnitt aus einem Block des Vorwärtsvorhersagebildes und einem Block des Rückwärtsvorhersagebildes ist. In diesem Fall sind zwei Bewegungsvektoren erforderlich.
- Die Verwendung der bidirektionalen Bewegungskompensation führt zu einer aus zwei Ebenen bestehenden Bewegungskompensationsstruktur (siehe Fig. 5). Die Pfeile sind so gezeichnet, daß die Spitze das Vorhersagebild berührt und das hintere Ende das Bild, das zur Vorhersage verwendet wird. Alle P-Bilder werden mit Hilfe des vorausgehenden Ankerbildes (I- oder P-Bild) be wegungskompensiert. Alle B-Bilder werden mit Hilfe der Ankerbilder unmittelbar vor und nach dem betreffenden B-Bild bewegungskompensiert. In MPEG ist weder eine Obergrenze für den Abstand zwischen den einzelnen Ankerbildern noch eine Grenze für den Abstand zwischen I-Bildern festgelegt. Diese Parameter müssen nicht einmal über die gesamte Sequenz gleich bleiben. Wenn der Abstand zwischen I-Bildern mit N und der Abstand zwischen P-Bildern mit M bezeichnet wird, hat die in Fig. 5 dargestellte Sequenz (N, M) = (9,3). Beim Codieren der drei Bildtypen sind unterschiedliche Mengen komprimierter Daten notwendig, um eine ähnliche Qualität des rekonstruierten Bildes zu erreichen. Die genauen Verhältnisse sind von vielen Faktoren abhängig, u. a. von der Menge räumlicher Details in der Sequenz und von der Menge und Kompensierbarkeit der Bewegung in der Sequenz.
- Es ist deshalb klar, daß eine MPEG-1 Sequenz aus einer Reihe von I-Bildern besteht, zwischen denen null oder mehr P-Bilder eingeschoben sein können. Zwischen den verschiedenen I- und P- Bildern können entweder null B-Bilder oder ein oder mehrere B- Bilder eingeschoben sein; im letzteren Fall dienen diese als Ankerbilder.
- Wie bereits erwähnt gibt es drei Arten der Bewegungskompensation, die auf MBs in B-Bildern angewendet werden können: die Vorwärtskompensation, die Rückwärtskompensation und die interpolierende Kompensation. Der Codierer muß eine dieser Kompensationsarten auswählen. Bei einigen MBs ergibt keine der Bewegungskompensationsarten eine genaue Vorhersage. In solchen Fällen kann der MB genauso verarbeitet werden wie ein Makroblock in einem I-Bild, d. h. als Intramode-MB). Dies ist ein anderer möglicher MB-Modus. Es gibt also mehrere MB-Modi für P- und B-Bilder.
- Abgesehen von der Notwendigkeit, Nebeninformationen zu codieren, die den zur Codierung jedes MB verwendeten MB-Modus und eventuelle Bewegungsvektoren für diesen Modus betreffen, ist die Codierung bewegungskompensierter Makroblöcke fast gleich wie die von Intramode-MBs. Trotz eines geringen Unterschiedes bei der Quantisierung gilt das Modell der Division durch wmn · QP auch hier. Außerdem kann eine adaptive Quantisierung (AQ) verwendet werden.
- Der MPEG-Algorithmus ist primär für die Verwendung in Speichermedien mit fester Bitrate konzipiert worden. Die Anzahl der Bits in den einzelnen Bildern ist aber wegen den unterschiedlichen Arten der Bildverarbeitung sowie der inhärenten zeitlichen Variation der räumlich-zeitlichen Komplexität der zu codierenden Szene nicht exakt konstant. Der MPEG-Algorithmus verwendet eine pufferbasierte Ratensteuerungsstrategie, um der zulässigen Variation der Bitrate sinnvolle Grenzen zu setzen. Ein Videopufferprüfer (VBV) wurde in Form eines virtuellen Puffers konzipiert, dessen einzige Aufgabe darin besteht, die Anzahl der zur Codierung der einzelnen Bilder verwendeten Bits zu begrenzen, so daß die Gesamt-Bitrate der Sollzuordnung entspricht und die kurzzeitige Abweichung vom Sollwert begrenzt ist. Dieses Schema der Bitratensteuerung kann wie folgt erklärt werden. Angenommen ein System besteht aus einem Puf fer, auf den ein hypothetischer Decoder folgt. Der Puffer wird mit konstanter Bitrate mit komprimierten Daten in einem Bitstrom vom Speichermedium gefüllt. Sowohl die Puffergröße als auch die Bitrate sind Parameter, die im komprimierten Bitstrom übermittelt werden. Nach einer anfänglichen Verzögerung, die ebenfalls aus Informationen im Bitstrom abgeleitet werden, entfernt der hypothetische Decoder sofort alle Daten des ersten Bildes aus dem Puffer. Danach entfernt der Decoder in Intervallen, die mit der Bildrate der Sequenz identisch sind, alle Daten des frühesten Bildes aus dem Puffer. Damit der Bitstrom die MPEG-Anforderungen an die Steuerung der Bitrate erfüllt, müssen alle Daten jedes Bildes zu dem Zeitpunkt im Puffer verfügbar sein, an dem sie vom Decoder benötigt werden. Diese Anforderung kommt einer Ober- und Untergrenze (UVRV und IVRV) der zulässigen Bitanzahl in den einzelnen Bildern gleich. Die Ober- und Untergrenze für ein bestimmtes Bild ist von der Anzahl der in allen vorhergehenden Bildern verwendeten Bits abhängig. Die Funktion des Codierers besteht darin, Bitströme zu erzeugen, die diese Forderung erfüllen. Es wird nicht erwartet, daß die Decoder tatsächlich wie beschrieben konfiguriert werden oder funktionieren. Der hypothetische Decoder und der zugehörige Puffer sind einfach ein Mittel, berechenbare Grenzen für die Größe der komprimierten Bilder zu setzen.
- Eine wichtige Funktion eines MPEG-Codierers ist es, sicherzustellen, daß der erzeugte Video-Bitstrom diese Grenzen einhält. Es gibt keine weiteren Einschränkungen bezüglich der Anzahl der zum Codieren der Bilder in einer Sequenz verwendeten Bits. Dieser Spielraum kann dafür genutzt werden, die Bits so zuzuordnen, daß die visuelle Qualität der resultierenden rekonstruierten Bilder möglichst gleich (und optimal) ist. Die Lösung dieses Bitzuordnungsproblems ist ein weiteres Ziel der vorliegenden Erfindung.
- Nach den obigen Ausführungen zum MPEG-Algorithmus ist deshalb klar, daß der Zweck des MPEG-Standards darin besteht, die Syntax des komprimierten Bitstroms und die zu seiner Decodierung verwendeten Verfahren zu definieren. Dem Entwickler des Codiereralgorithmus und der Hardware bleibt ein beträchtlicher Spielraum, die Systeme an die speziellen Anforderungen der jeweiligen Anwendung anzupassen. Es kann ein Kompromiß zwischen dem Komplexitätsgrad im Codierer und der visuellen Qualität bei einer bestimmten Bitrate gefunden werden, der für die betreffende Anwendung am günstigsten ist. Ferner ist ein breites Spektrum komprimierter Bitraten und Bildgrößen möglich. Auf diese Weise kann Anwendungen von Bildtelefonen mit geringer Bitrate bis hin zu bildschirmfüllenden Multimediapräsentationen, deren Qualität mit Aufzeichnungen auf VHS-Videokassetten vergleichbar ist, Rechnung getragen werden. Das Problem, das in der vorliegenden Erfindung angegangen wird, ist folglich die Komprimierung digitaler Videosequenzen nach dem MPEG- Standard unter Verwendung von Verfahren wie den oben beschriebenen, die eine adaptive Quantisierung und Bitratensteuerung auf eine Weise verwenden, die die visuelle Qualität der komprimierten Sequenz optimiert und gleichzeitig sicherstellt, daß der Bitstrom die MPEG-Forderung einer festen Bitrate erfüllt.
- In der frei zugänglichen Literatur sind verschiedene Konzepte aufgetaucht, die auf bestimmte Aspekte des Problems der adaptiven Quantisierung und der Bitratensteuerung eingehen. So beschreiben beispielsweise W. H. CHEN und W. K PRATT in ihrem Artikel "Scene Adaptive Coder," IEEE Trans. Communications, Bd. COM-32, S. 225-232, März 1984, die Idee eines bitratengesteuerten Quantisierungsfaktors für Transformationskoeffizienten. Die hier verwendete Strategie der Bitratensteuerung wird in Algorithmen zur Bild- und Videokomprimierung häufig eingesetzt, um die bei der Codierung erzeugte variable Bitrate an einen Kanal mit fester Bitrate anzupassen. In diesem Fall wird jedes Bild der Sequenz so behandelt, als wäre es ein stehendes Bild, und es wird im wesentlichen angestrebt, für alle Bilder in der Sequenz eine konstante Bildbitzuordnung zu erreichen. Weitere Detailinformationen über solche Verfahren finden sich in dem oben erwähnten Buchkapitel von TESCHNER 1979.
- In dem Artikel von CHEN und PRATT 1984 geht es um die Bildcodierung, die beschriebenen Ideen eignen sich aber auch für die Videocodierung. In diesem Ansatz gibt es aber keinen Mechanismus für die Anpassung des Quantisierungsfaktors an die Art der Bilder selber.
- C. H. CHEN und D. I. LeGALL beschreiben in ihrem Artikel "A K-th Order Adaptive Transform Coding Algorithm for Image Data Compression," SPIE Bd. 1153, Applications of Digital Image Processing XII, Bd. 1153, S. 7-18, 1989, ein adaptives Schema zur Auswahl des Quantisierungsfaktors anhand des DCT-Koeffizienten mit der k-ten Größe.
- H. LOHSCHELLER schlägt in "A Subjectively Adapted Image Communication System," IEEE Trans. Communications, Bd. COM-32, S. 1316-1322, Dezember 1984, ein Verfahren zur Klassifizierung von Blöcken vor. Dieses Verfahren hängt mit der adaptiven zonalen Abtastung und der adaptiven Vektorquantisierung zusammen.
- K. B. NGAN, K. S. LEONG, und H. SINGH schlagen in "A HVWweighted Cosine Transform Coding Scheme with Adaptive Quantization," SPIE Bd. 1001 Visual Communications and Image Processing, Bd. 1001, S. 702-708, 1988, ein Schema zur Transformationscodierung von Bildern mit adaptiver Quantisierung vor, in dem ein Bitratensteuerpuffer und der Kontrast des CD- Terms jedes Blocks zu seinem nächsten Nachbarn in der Reihenfolge der Rasterabtastung gemeinsam zur Anpassung des Quantisierungsfaktors herangezogen werden.
- H. HOELZLWIMMER beschreibt in "Rate Control in Variable Transmission Rate Image Coders," SPIE Bd. 1153 Applications of Digital Image Processing XII, Bd. 1153, S. 77-89, 1989, eine kombinierte Bitraten- und Qualitätssteuerung. Zur Steuerung des Rekonstruktionsfehlers und der Bitrate werden zwei Parameter verwendet, die Quantisierungsschrittgröße und die räumliche Auflösung. Die Steuerung erfolgt anhand der gewichteten mittleren Fehlerquadrate einer räumlichen Domäne.
- In der gleichzeitig anhängige US-Patentanmeldung Nr. 705,234, angemeldet am 24. Mai 1991 durch die Erfinder des vorliegenden Patents, wird das Problem der adaptiven Quantisierung behandelt. Die beschriebenen Verfahren können als eines der Subsysteme in der vorliegenden Erfindung verwendet werden, und zwar als Bildcodierer mit adaptiv quantisierender Bitratensteuerung (AQ/RC).
- In der US-Patentschrift 5 051 840 wird eine Bildsignalcodierungsvorrichtung beschrieben, die die Bilddaten in mehrere Blöcke aufteilt und die einzelnen Bilddatenblöcke einer orthogonalen Transformation, einer Normalisierung und einer Codierung unterzieht. Wie speziell in Spalte 3, Zeile 26-32 beschrieben wird, betrifft die Komprimierungscodierung STANDBILDDATEN. Wieviel Daten den einzelnen Blöcken zugeordnet werden wird auf der Grundlage der Verhältnisse der Aktivitäten der einzelnen Blöcke zu den Aktivitäten von Block zu Block bestimmt, wodurch die Ausgabe des einzelnen Blocks codierter Daten beschränkt ist. Die Datenmenge wird proportional zu den Frequenzkomponenten der einzelnen Blöcke zugeordnet. Außerdem wird die Anzahl der dem gesamten Bild zugeordneten Bits konstant gehalten.
- Anders als bei den bisher genannten, dem Stand der Technik entsprechenden Systemen und Algorithmen hat die vorliegende Erfindung die Aufgabe, ein Verfahren und ein System zum Zuordnen von Bits in komprimierten Bildern in einem MPEG II-Datenstrom zu liefern, das Videokomprimierungsalgorithmen betrifft, die einen komprimierten Datenstrom mit fester Bitrate erzeugen sollen.
- In der vorliegenden Erfindung werden ein Verfahren und ein System zur Ausführung einer Bildbitzuordnung nach Anspruch 1 bzw. 6 beschrieben.
- Verfahren und System sind auf Videokomprimierungsalgorithmen anwendbar, die einen komprimierten Datenstrom mit fester Bitrate erzeugen sollen, und in denen eine Bewegungskompensation durchgeführt wird.
- Das vorliegende Verfahren zum Zuordnen von Bits zu den aufeinanderfolgenden Bildern in einer Videosequenz führt zu einer für jedes Bild einzeln berechneten visuellen Qualität und erfüllt gleichzeitig die Bitraten-Vorschriften des MPEG-Videopufferprüfers (VBV).
- In Fig. 1 bis 4 sind Ebenen komprimierter Daten innerhalb der Videokomprimierungsebene des MPEG-Datenstroms dargestellt. Dabei zeigt Fig. 1 einen exemplarischen Satz von Bildergruppen (GOPs), Fig. 2 eine exemplarische Aufteilung eines Bildes in Makroblöcke, Fig. 3 eine exemplarische weitere Unterteilung eines Bildes in Ausschnitte, und Fig. 4 die Unterteilung eines Makroblocks in einzelne Blöcke.
- In Fig. 5 ist die in MPEG verwendete zweistufige Bewegungskompensation zwischen Bildern in einem GOP dargestellt.
- Fig. 6 ist ein Blockdiagramm eines MPEG-Codierers, der aus drei Komponentensubsystemen zur Implementierung der erfindungsgemäßen Verfahren besteht.
- In Fig. 7 sind die Codierungsschwierigkeitsfaktoren für die gesamte Bildersequenz in einer Videosequenz dargestellt. Dabei handelt es sich um zwei im MPEG-Standard verwendete Testsequenzen, die aus den ersten 60 Bildern der Blumengartensequenz, gefolgt von den ersten 60 Bildern der Tischtennissequenz, gefolgt von 30 Wiederholungen des 61. Bildes der Tischtennissequenz (zur Simulation eines Standbildes) bestehen und in der gesamten Beschreibung zur Erläuterung der erfindungsgemäßen Verfahren verwendet werden.
- In Fig. 8 sind die für jedes Bild der Sequenz aus Fig. 7 berechneten Bitzuordnungen dargestellt.
- In Fig. 9 sind die Soll-Bitrate und die Ist-Bitrate für jedes Bild der Sequenz aus Fig. 7 dargestellt.
- Fig. 10 ist ein Diagramm der zum Codieren der Sequenz aus Fig. 7 verwendeten Quantisierungsfaktoren (QP-Faktoren).
- Fig. 11 ist ein Blockdiagramm, in dem das AQ/RC-Bildcodierungssubsystem aus Fig. 6 detaillierter dargestellt ist.
- Fig. 12 zeigt typische Klassenverteilungen für I- und P- Bilder aus den Blumengarten- und Tischtennissegmenten der MPEG-Testsequenzen.
- In Fig. 13 und 14 ist die Leistungsfähigkeit der erfindungsgemäßen QP-Zuordnungs- und Aktualierungsstrategien bei der Steuerung der Bitrate dargestellt. Dabei ist in Fig. 13 QPloW und der durchschnittliche QP-Wert in jeder Bilderreihe 16, 22, 61 und 67 einer Testsequenz dargestellt, und in Fig. 14 sind die erzeugten Bits sowie die Vorgabewerte jeweils für eine Zeile dargestellt.
- Fig. 15 zeigt die Details des in Fig. 6 dargestellten QPadaptiven Vorprozessors.
- Fig. 16 zeigt drei mögliche Filterzustände (FS) des in Fig. 15 dargestellten QP-adaptiven Vorprozessors.
- Wie bereits erwähnt ist ein wichtiges Merkmal des ISO/IEC MPEG-Standards, daß nur die Syntax des komprimierten Datenstroms und das Verfahren zu seiner Decodierung detailliert spezifiziert sind. Es kann also verschiedene Codierer geben, von denen jeder einen Bitstrom erzeugt, der mit der in Standard definierten Syntax kompatibel ist. Diese Bitströme können unterschiedlich komplex sein und haben zur Folge, daß die visuelle Qualität bei einer vorgegebenen Bitrate nicht konstant ist. Der MPEG-Standard gilt hauptsächlich, aber nicht ausschließlich, Situationen, in denen die durchschnittliche Bitrate des komprimierten Datenstroms vorgegeben ist. Die MPEG- Spezifikation enthält eine präzise Definition des Begriffs "feste Bitrate". Obwohl die durchschnittliche Rate konstant sein muß, kann die Anzahl der Bits, die den Bildern in einer MPEG-Videosequenz zugeordnet sind, aber durchaus von Bild zu Bild verschieden sein. Auch die Bitzuordnung innerhalb eines Bildes muß nicht gleichmäßig sein. Die Herausforderung bei der Entwicklung eines Codierers, der qualitativ hochwertige Sequenzen bei niedrigen Bitraten liefert, besteht zum Teil darin, ein Verfahren zu entwickeln, das die insgesamt zur Verfügung stehenden Bits zwischen den Bildern und innerhalb der Bilder verteilt.
- Noch ein weiteres wichtiges Codierungsmerkmal des MPEG-Standards, die adaptive Quantisierung (AQ) darf nicht vergessen werden. Dieses Verfahren ermöglicht es, verschiedene Bereiche jedes zu codierenden Bildes unterschiedlich originalgetreu zu codieren. Damit kann bei der Komprimierung von Bildern und Videosequenzen versucht werden, die visuelle Qualität der einzelnen Ausschnitte innerhalb eines Bildes und die Qualität von Bild zu Bild anzugleichen (und zu optimieren). Obwohl der MPEG-Standard eine adaptive Quantisierung erlaubt, werden darin keine Algorithmen beschrieben, die aus Regeln für die Verwendung der AQ zur Verbesserung der visuellen Qualität bestehen.
- Eine weitere Klasse von Verfahren, die in einem MPEG- oder anderen Codierer verwendet werden kann, ist die sog. Vorverarbeitung. Jede Art der Vorverarbeitung einer digitalen Videosequenz, bei der die fundamentalen räumlichen Beziehungen der Abtastpunkte zueinander nicht verändert werden, kann in einen MPEG-kompatiblen Codierer integriert werden, um die visuelle Qualität der komprimierten Sequenz zu verbessern. Beispiele hierfür sind die lineare oder nichtlineare Vorfilterung.
- In Fig. 6 ist ein Blockdiagramm eines MPEG-Codierers abgebildet, der aus drei Komponentensubsystemen zur Implementierung der erwähnten erfindungsgemäßen Verfahren besteht. Wie in dem Diagramm zu sehen ist, kommen Bilddaten Pk, die für das k-te Bild in einer Sequenz repräsentativ sind, in einem Subsystem, dem QP-adaptiven Vorprozessor 3, an, wo gegebenenfalls eine Vorverarbeitung stattfindet. Die Art der Vorverarbeitung wird durch die Quantisierungsebenen (QPprev) zuvor codierter Bilder, die zuvor bei der Codierung der Datensequenz aus dem bitratengesteuerten Bildcodierer 1 mit adaptiver Quantisierung (AQ/RC) übertragen wurden, gesteuert. Die vom Subsystem 3 ausgegebenen, eventuell vorverarbeiteten Bilddaten Fk kommen in das nächste Subsystem, AQ/RC Bildcodierer 1, wo eine Bewegungsabschätzung und eine MB-Einteilung stattfindet. Einige Resultate dieser Operationen im AQ/RC Bildcodierer 1 (Dk) werden an das verbleibende Subsystem, das Bildbitzuordnungs-Subsystem 2, weitergeleitet, und ein Sollwert für die Anzahl der Bits für die Bilddaten Fk wird an den AQ/RC Bildcodierer 1 zurückgesendet (Ak, Sk, und Ck). Dann wird die Codierung fortgesetzt wie weiter unten beschrieben. Schließlich werden die komprimierten Daten für die Bilddaten Fk, CDk aus dem AQ/RC Bildcodierer 1 ausgegeben. Zusätzlich werden Daten über die Anzahl der zum Codieren benötigten Bits Fk (Bk) und den Rekonstruktionsfehler (Ek) an das Bildbitzuordnungs-Subsystem 2 übermittelt, und die vorherige Quantisierungsebene QPprev, die ein Durchschnittswert QPavg sein kann, wird an das QP-adaptive Vorprozessor-Subsystem 3 weitergeleitet, wo sie für die Verarbeitung zukünftiger Bilder verwendet werden kann.
- Zum Zweck der Funktionsbeschreibung der drei Subsysteme wird zuerst die Funktionsweise des Bild-zu-Bild-Bitzuordnungs-Sub systems 2 beschrieben, dann die des AQ/RC-Bildcodierer-Subsystems 1 und zuletzt die des QP-adaptiven Vorprozessorsystems 3. Zum besseren Verständnis der Beziehung zwischen der Erfindung und dem MPEG-Videokomprimierungsalgorithmus sei auf die oben erwähnte Veröffentlichungen MPEG CD-11172 und ISO-IEC JTC1/SC2/WG11 MPEG 91/74, MPEG Video Report Draft, 1991, oder auf D. LeGALL, "MPEG: A Video Compression Standard for Multimedia Applications", Communications of the ACM, Bd. 34, April 1991, verwiesen.
- In Videokomprimierungsalgorithmen wird die Bewegungskompensation dazu benutzt, die zur Darstellung der einzelnen Bilder in einer Videosequenz benötigte Datenmenge zu reduzieren. Algorithmen mit fester Bitrate müssen zwar insgesamt eine durchschnittliche Bitrate einhalten, die in etwa einem Vorgabewert entspricht, oft bleibt aber noch etwas Spielraum bei der Anzahl der Bits für das einzelne Bild. Wenn jedem Bild exakt die gleiche Anzahl von Bits zugeordnet wird, entsteht eine komprimierte Sequenz, deren Qualität zeitlichen Schwankungen unterworfen ist. Dies wird vom Betrachter aber als störend empfunden. Das Bildbitzuordnungs-Subsystem 2 besitzt Prozeduren zum Zuordnen von Bits zu den komprimierten Bildern in einer Videosequenz. Es eignet sich vor allem für Videokomprimierungsalgorithmen, die einen Datenstrom mit fester Bitrate erzeugen sollen, und in denen eine Bewegungskompensation stattfindet, z. B. im ISO/IEC MPEG-Videokomprimierungsstandard.
- Im Idealfall ordnet ein Bildzuordnungssystem jedem Bild eine bestimmte Anzahl von Bits so zu, daß die empfundene visuelle Qualität der codierten Sequenz von Bild zu Bild gleich bleibt und einem bei der vorgegebenen Bitrate möglichen Optimum entspricht, wobei die durch die Regeln für feste Bitraten auferlegten Beschränkungen beachtet werden müssen. Im allgemeinen müßte ein solches System den Inhalt der gesamten Sequenz kennen, bevor das erste Bild oder Halbbild codiert wird. Außerdem müßte die visuelle Qualität, die die rekonstruierten Bilder bei der Codierung mit einer festen Bitzuordnung haben würde, im voraus bekannt sein. Die erste Forderung ist wegen der möglicherweise großen Speicheranforderung und Verzögerung praktisch nicht zu erfüllen. Die zweite ist derzeit sehr schwierig, da noch kein einfach zu handhabendes mathematisches Modell für die empfundene visuelle Qualität der codierten visuellen Daten bekannt ist, selbst wenn die codierten und die Originalbilder bekannt sind.
- Das erfindungsgemäße Bitzuordnungssubsystem bietet eine praktische Lösung für dieses Problem, indem ein Maß für die Schwierigkeit der Codierung von Bildern jedes Typs in unmittelbarer Vergangenheit aufgezeichnet wird. Dieses Maß, die Codierungsschwierigkeit, hängt von der räumlichen Komplexität eines Bildes und von dem Ausmaß, in dem die Bewegungskompensation den Inhalt eines Bildes vorhersagen kann, ab. Die Bits werden den drei Bildtypen in Abhängigkeit von der relativen Codierungsschwierigkeit der drei Typen zugeordnet. Außerdem sind die drei Zuordnungen, die bei jedem Bild berechnet werden (für jeden Bildtyp eine Zuordnung) so, daß bei einer Codierung einer gesamten Bildergruppe (GOP) mit diesen Zuordnungen die Anzahl der benötigten Bits der vorgegebenen Bitrate entspricht.
- In Fig. 6 bestimmt das Bildzuordnungssubsystem 2, wieviele Bits dem Bild k zugeordnet werden, nachdem die Daten Fk für das Bild im AQ/RC-Bildcodierer 1 analysiert worden sind und der Codierungsschwierigkeitsfaktor des Bildes vom AQ/RC-Bildcodierer 1 an das Bildbitzuordnungssubsystem 2 übermittelt worden ist, aber bevor das Bild codiert wird. Das Bildbitzuordnungssubsystem 2 verwendet auch Informationen über die zuvor codierten Bilder, von denen angenommen wird, daß der AQ/RC-Bildcodierer 1 sie bereits an das Bildbitzuordnungssubsystem 2 weitergeleitet hat. Diese Information besteht aus Bk, der Anzahl der zum Codieren des vorhergehenden Bildes jedes Typs verwendeten Bits (aufgesplittet in Transformationskoeffizientenbits und Nebeninformationsbits), und Ek, dem Rekonstruktionsfehler der zwei vorausgehenden Ankerbilder. Bei der Abschätzung der Bitanzahl, die einem bestimmten Bild zugeordnet werden soll, muß zuerst eine feste Anzahl aufeinanderfolgender Bilder in der unmittelbaren Zukunft, d. h. eine aus einer festen Anzahl von I-Bildern (nI), P-Bildern (nP) und B-Bildern (nB) bestehende Gruppe von Bildern in der Sequenz, die noch nicht codiert werden müssen, ausgewählt und betrachtet werden. Sinnvollerweise sollte die Anzahl und Zusammensetzung der Bilder in der in diesem Schritt zur Betrachtung ausgewählten Gruppe mit der identisch sein, welche für die für jedes Bild in der Sequenz ausgeführte Bildbitzuordnungsprozedur benutzt wird; dies ist aber nicht zwingend notwendig. Notwendig ist allerdings, daß der Durchschnittswert der resultierenden Bitzuordnungen über die Zeit mit dem Sollwert für die durchschnittliche Bildbitzuordnung übereinstimmt.
- Die hier beschriebene Zuordnungsoperation beginnt mit der Betrachtung einer Zuordnung für die ausgewählte Bildergruppe, auch wenn das Endergebnis aus drei Bildbitzuordnungen, nämlich einer für jeden Bildtyp, besteht, und nur die Bildbitzuordnung für den Bildtyp, der dem zu codierenden Bildtyp entspricht, verwendet wird. Der Prozeß beginnt also mit der Berechnung einer Gesamtbitzuordnung Bset für die Gruppe von Bildern, die der durchschnittlichen Bitzuordnung, die mit der vorgegebenen Bitrate konsistent ist, entspricht. Die Formel für die Berechnung lautet
- Bset = (nI + nP + nB) · Bavg,
- wobei Bavg die mit der vorgegebenen Bitrate konsistente durchschnittliche Bildbitzuordnung ist. In der bevorzugten Ausführungsform, die in diesem Abschnitt der Beschreibung als Beispiel angeführt wird, können die Bits, die den Bildergruppen zugeordnet werden, und diejenigen, die den einzelnen Bildern zugeordnet werden, in zwei Klassen unterteilt werden: Nebeninformationsbits (S) und Koeffizientenbits (C). Hier wird S für alle codierten Daten genommen, die keine codierten Transformationskoeffizientendaten sind. Durch Subtraktion eines Schätzwertes der zur Codierung der Nebeninformationen in der Bildergruppe benötigten Bits (Sset) von der Gesamtbitzuordnung Bset erhält man eine Transformationskoeffizientenbitzuordnung für die Bildergruppe, Cset. Die für die Codierung der Transformationskoeffizienten des Bildes zugeordnete Anzahl der Bits ist dann ein Bruchteil von Cset, dessen Größe vom Schätzwert für die Codierungsschwierigkeit des Bildes abhängt. Ein exemplarisches Verfahren zur Berechnung der Zuordnung anhand der Codierungsschwierigkeit wird im folgenden ausführlich beschrieben.
- Die zugeordneten Nebeninformationsbits enthalten die Kopfdaten des Bildes und alle Nebeninformationen, z. B. die Angabe des Bewegungskompensationsmodus, Bewegungsvektoren und Daten über die adaptive Quantisierung. Koeffizientendaten sind nur in den Bits enthalten, die zur Codierung der Transformationskoeffizienten der Pixeldaten selber (bei I-Bildern) oder der Pixeldifferenzdaten (bei P- und B-Bildern) verwendet werden. Wenn Ar, AP und AB die Bitzuordnungen für I-, P- und B-Bilder sind, ist AI = SI + CI, AP = SP + CP, und AB = SB + CB (wobei S und C die Nebeninformations- bzw. Koeffizientenbits sind). In der bevorzugten Ausführungsform wird die Nebeninformationsbitzuordnung für das nächste zu codierende Bild mit der tatsächlich zur Codierung der Nebeninformation im vorausgehenden Bild des gleichen Typs in der Sequenz gleichgesetzt. Alternativ kann die Nebeninformationsbitzuordnung auch anhand des Durchschnittswertes aller vorausgegangenen Bilder des gleichen Typs in der Sequenz berechnet werden. Ferner besteht bei diesem Verfahren die Möglichkeit, die Nebeninformationszuordnungen zu ignorieren und die Bildbitzuordnungen ausschließlich anhand der Transformationskoeffizientenbitzuordnung zu berechnen. Dieser letztere Ansatz kann, im Kontext der folgenden Erläuterung, realisiert werden, indem angenommen wird, daß alle Variablen der Nebeninformationszuordung, Sx, gleich null sind.
- Ein Mittel zur Berechung des Schwierigkeitsfaktors für ein Bild wird im folgenden beschrieben. Zuvor sei aber zum Zweck der Beschreibung darauf hingewiesen, daß der Codierungsschwierigkeitsfaktor für das vorhergehende Bild jedes Typs nach seiner Berechnung im Bildbitzuordnungssubsystem 2 gespei chert und das folgende Verfahren zur Berechnung der Transformationskoeffizientenzuordnung für das aktuelle Bild verwendet wird. Zuerst wird die Nebeninformationszuordnung für die Bildergruppe nach der Formel (Sset = nISI + nPSP + nBSB) abgeschätzt. Dieser Wert wird von der Gesamtanzahl der für die Gruppe zugeordneten Bits, Bset, subtrahiert. Dies ergibt die Transformationskoeffizientenzuordnung für die Bildergruppe, nämlich
- Cset = Bset - Sset
- Dann werden CI, CP und CB als einzige Lösung der folgenden Gleichungen ermittelt:
- Cset = nICI + nPCP + nBCB,
- Die ursprüngliche Gleichung (für Cset) in dieser Gruppe sorgt dafür, daß der Gesamtdurchschnitt für die Gruppe stimmt. Er ist der Durchschnitt der mittleren absoluten Fehler der vorausgehenden und nachfolgenden rekonstruierten Ankerbilder, und die Gewichtungsterme WP und WB haben die Aufgabe, die P- und B- Bildzuordnungen gegenüber den anderen stärker zu gewichten. Abgesehen von diesen Gewichtungen ordnen die letzteren beiden Gleichungen (für CP und CB) der Gruppe den P- und B-Bildern Bits proportional zu dem Ausmaß zu, in dem ihre Schwierigkeit den mittleren absoluten Fehler im (rekonstruierten) Vorhersagebild bzw. den Vorhersagebildern überschreitet.
- Das obige Verfahren ist nützlich, da es die räumliche Komplexität der Sequenz durch die drei Codierungsschwierigkeitsfaktoren DI, DP und DB, den Erfolg der Bewegungskompensation durch DP und DB, die vorgebene Bitrate durch die Forderung der ersten Gleichung für Cset und die Qualität der zuletzt codierten Bilder durch Er und E'r berücksichtigt.
- Gelegentlich führt die obige Bitzuordnungsstrategie zu einer Zuordnung, bei der UVBV überschritten oder LVBV unterschritten wird. Die Häufigkeit, mit der dies vorkommt, hängt von der Größe des VBV-Puffers und der Art der Sequenz ab. Ein typisches Szenario liegt vor, wenn der VBV-Puffer relativ klein ist (z. B. sechs Durchschnittsbilder oder weniger), und die Bewegungskompensation sehr erfolgreich ist. In einer solchen Situation versucht die Zuordnungsstrategie, praktisch alle Transformationsbits für eine Gruppe den I-Bildern zu geben, was dazu führt, daß die Zuordnung für ein einzelnes Bild größer ist als die VBV-Puffergröße. In der bevorzugten Ausführungsform werden die I-Bilder in diesem Fall so beschnitten, daß sie gerade noch innerhalb des betreffenden VBV-Grenzwertes liegen, und die vom I-Bild weggenommenen Bits werden dem B- Bild zugeordnet. Dieser letztere Schritt ist wichtig, da die durchschnittliche Bitrate absinkt, wenn keine explizite Neuzuordnung vorgenommen wird. Dies führt schließlich zu VBV-Überlaufproblemen, in der Regel, wenn LVBV beginnt, die B-Bildzuordnungen zu überschreiten. Das Nettoergebnis davon ist eine implizite Neuzuordnung zu B-Bildern, was in der Regel eine insgesamt schlechtere Bildqualität zur Folge hat. Ein zusätzlicher Vorteil der expliziten P-Bild-Neuzuordnung ist die schnellere Konvergenz zu einer extrem hohen Bildqualität bei Standbildern. Falls eine P- oder B-Bildzuordnung die VBV- Grenzwerte über- bzw. unterschreitet, erfolgt keine Neuzuordnung der Bits.
- Die Zuordnungsstrategie kann auch angewendet werden, wenn keine B-Bilder vorhanden sind. In diesem Fall wird einfach nB = 0 gesetzt und die Gleichung, die bei der Berechnung der Zuordnungen CB setzt, ignoriert wird. Entsprechend kann sie auch verwendet werden, wenn keine P-Bilder vorhanden sind. Außerdem kann die Unterscheidung zwischen Koeffizienten- und Nebeninformation ignoriert werden, indem der Schätzwert für die Codierungsschwierigkeit zum Zuordnen aller Bits eines Bildes verwendet wird. In einem solchen Fall könnte der Schätzwert für die Codierungsschwierigkeit direkt in die Schwierigkeit der Codierung von Nebeninformationen übernommen oder die Nebeninformation ganz ignoriert werden.
- Zwei der in den MPEG-Standards verwendeten Testsequenzen, die Blumengartensequenz und die Tischtennissequenz, wurden benutzt, um die Effektivität der erfindungsgemäßen Verfahren zu testen. Im speziellen Fall wurde in der vorliegenden Beschreibung zur Illustration der Verfahren eine Videosequenz verwendet, die aus den ersten 60 Halbbildern der Blumengartensequenz, gefolgt von den ersten 60 Halbbildern der Tischtennissequenz, gefolgt von 30 Wiederholungen des 61. Halbbildes der Tischtennissequenz (um ein Standbild zu simulieren), besteht. Bei diesen Sequenzen handelt es sich um YUV-Testsequenzen mit 352 · 240 Pixeln. Die Codierung erfolgte mit 1,15 Mbit/s bei einem Abstand zwischen den I-Bildern von N = 15 und einem Abstand zwischen den Ankerbildern von M = 3. In Fig. 7 sind die Codierungsschwierigkeitsfaktoren für die gesamte Sequenz dargestellt, und in Fig. 8 die für die einzelnen Bilder berechneten Bitzuordnungen.
- An dieser Stelle sei darauf hingewiesen, daß die drei Bitzuordnungen für jedes Bild in der Sequenz genau diejenigen vor der Codierung des betreffenden Bildes sind, daß aber nur eine dieser Zuordnungen tatsächlich benutzt wird. Die aus dem Zuordnungsverfahren resultierende vorgegebene Bitrate ist zusammen mit den tatsächlichen Bitraten für die Sequenz in Fig. 9 dargestellt.
- Die Stabilität beim, Szenenwechsel (Halbbild 61) und die Konvergenz der tatsächlichen Bitrate für P- und B-Bilder zu praktisch null ist im Standbildsegment (Halbbilder 121-151) zu erkennen. Die zum Codieren der Sequenz verwendeten Quantisierungsfaktoren (QP) sind in Fig. 10 zu sehen. I- und P-Bilder werden in der Regel mit einer feineren Schrittgröße codiert als B-Bilder.
- Das AQ/RC-Bildcodierersubsystem 1 beinhaltet Prozeduren für die adaptive Quantisierung (AQ) der aufeinanderfolgenden Bilder einer Videosequenz, um eine bessere visuelle Qualität zu erzielen und gleichzeitig sicherzustellen, daß die zum Codieren der einzelnen Bilder verwendeten Bitanzahl einem vorgegebenen Sollwert möglichst nahe kommt. Es werden Prozeduren für I-Bilder, P-Bilder und B-Bilder ausgeführt. In diesen Prozedu ren werden die Bereiche, aus denen ein Bild besteht, mit Hilfe einer Bereichsklassifizierungsstrategie behandelt, die mit folgenden Komponenten zusammenarbeitet:
- Bewegungsabschätzung;
- einem adaptiven Modell der zum Codieren einer Bildregion benötigten Bitanzahl in Abhängigkeit vom Quantisierungsfaktor QP und gemessenen Merkmalen des Bereichs; und ein Schema für die Anpassung der Quantisierungsebene bei der Codierung eines Bildes, um sicherzustellen, daß die Gesamtanzahl erzeugter Bits dem vorgegebenen Sollwert nahe kommt.
- Zum Zweck der Beschreibung werden hier die Bildbereiche als MPEG-Makroblöcke (MB) behandelt; das beschriebene Verfahren kann aber selbstverständlich auch auf Bereiche unterschiedlicher Größe und Form angewendet werden.
- In Fig. 11 sind die Komponenten des AQ/RC-Bildcodierers 1 allgemein dargestellt. Die Funktionsweise dieses Subsystems häng von der Art des zu codierenden Bildes ab. Wie in der Zeichnung zu sehen ist, kommt ein Videobildsignal Fk für ein Bild k, das im QP-adaptiven Vorprozessor 3 vorverarbeitet worden sein kann, in einer Bewegungsabschätzuncrs- und MB-Klassifizierungseinheit 14 an. Hier wird das Signal analysiert und jeder MB nach den im folgenden beschriebenen Verfahren klassifiziert. Wenn es sich um ein P-Bild oder ein B-Bild handelt, wird auch eine Bewegungsabschätzung vorgenommen. Die Ergebnisse dieser Operationen werden in Form eines Codierungsschwierigkeitsfaktors Dk an das Bildbitzuordnungssubsystem 2 weitergeleitet, wo sie wie oben beschrieben verwendet werden. Das Bildbitzuordnungssubsystem 2 sendet dann ein Bitzuordnungssignal Ck für Bild k zurück. Dieses Bitzuordnungssignal wird von einer QP-Ebenen-Festlegungseinheit 15 zusammen mit Infor mationen von der Bewegungsabschätzungs- und MB-Klassifizierungseinheit 14 dazu verwendet, Anfangswerte für den Quantisierungsfaktor QP zu bestimmen, die dann bei der Codierung von Makroblöcken verwendet werden. Außerdem berechnet die QP- Ebenen-Festlegungseinheit 15 einen Schätzwert für die Anzahl der Bits, die zum Codieren jeder MB-Zeile im Bild benötigt wird. Diese Quantisierungsfaktoren und Zeilensollwerte werden an den ratengesteuerten Bildcodierer 1 weitergeleitet, der mit der Codierung des Bildes fortfährt und dabei auch Informationen verwendet, die ihm von der Bewegungsabschätzungs- und MB- Klassifierungseinheit 14 übergeben worden sind. Da die Funktion des AQ/RC-Bildcodierers 1 unter drei Untereinheiten aufgeteilt ist, ist auch die nachstehende Beschreibung so aufgeteilt, wobei vor allem auf Fig. 11 Bezug genommen wird.
- Eine Hauptaufgabe der Bewegungsabschätzungs- und MB-Klassifizierungseinheit 14 besteht darin, zu bestimmen, welcher Codierungsmodus m(r, c) zum Codieren der einzelnen MBs in einem Bild verwendet wird. Diese Funktion wird nur bei bewegungskompensierten Bildern verwendet, da es für MBs in I-Bildern (Intramodus) nur einen einzigen Modus gibt. Die Entscheidung für einen Codierungsmodus basiert auf einem Bewegungsabschätzungsprozeß, der auch Bewegungsvektoren und bewegungskompensierte Differenz-MBs erzeugt. Eine weitere wichtige Funktion der Bewegungsabschätzungs- und MB-Klassifizierungseinheit 14 ist die Klassifizierung der einzelnen MBs. Die Klasse cl(r, c) von MB (r, c) bestimmt letztlich den Wert des Quantisierungsfaktors QP(r, c), der zum Codieren dieses Makroblocks verwendet wird. Die Modi und Klassen werden bestimmt, indem jedes Bild analy siert wird und die Bewegung zwischen dem zu codierenden Bild und dem Vorhersagebild bzw. den Vorhersagebildern abgeschätzt wird. Die gleichen Informationen werden auch zur Berechnung des Schwierigkeitsfaktors Dk verwendet, der an das Bildbit- Zuordnungssubsystem 2 übergeben wird.
- Das Ziel der Bewegungsabschätzung im MPEG-Videocodierungsalgorithmus ist ein Bewegungsvektor mv (r, c) = (rav, cav) und der zugehörige bewegungskompensierte Differenz-MB Mk(r, c). Der bewegungskompensierte Differenz-MB ist die pixelweise Differenz zwischen dem gerade betrachteten MB und dem Vorhersage-MB. Das exakte Verfahren zur Bildung des Vorhersage-MB hängt vom verwendeten Bewegungskompensationsmodus ab und wird in der oben genannten Veröffentlichung ISO-IEC JTC1/SC2/WG11 MPEG CD- 11172, MPEG Committee Draft, 1991, detailliert beschrieben. Der Bewegungsvektor sollte irgendwie die tatsächliche Bewegung des betreffenden Bildteils angeben. Details über Verfahren zur Bewegungsabschätzung finden sich in A. N. NETRAVALI and B. G. HASKELL, Digital Pictures: Representation and Compression, New York, NY: Plenum Press, 1988.
- Zum Zweck der vorliegenden Beschreibung wird angenommen, daß ein Vollsuche-Bewegungsabschätzungsalgorithmus verwendet wurde, der einen Bereich von ± 7 · n Pixeln in horizontaler und vertikaler Richtung abdeckt, wobei n der Abstand in Bildintervallen zwischen dem gerade analysierten Bild und dem Vorhersagebild ist, und wobei die Bewegungsvektoren auf ein halbes Pixel genau sind. Die vorliegende Erfindung umfaßt Verfahren zur Verwendung der Ergebnisse der Bewegungskompensation bei der Codierung von Videosequenzen, ist aber nicht auf irgendein bestimmtes Bewegungsabschätzungsverfahren festgelegt, vorausge setzt, es gibt ein Maß für den Erfolg der Bewegungskompensation (Bewegungskompensationsfehler), das angibt, wie gut die Übereinstimmung zwischen dem kompensierten MB und dem Vorhersagebereich, auf den der Bewegungsvektor weist, ist. Es sei daran erinnert, daß es bei P-Bildern nur eine Art der Bewegungskompensation gibt (die Vorwärtskompensation), und bei B- Bildern drei Arten (die Vorwärtskompensation, die Rückwärtskompensation und die interpolative Kompensation). Der Vorwärtsbewegungsvektor für MB (r, c) kann mit mvf(r, c) und der Rückwärtsbewegungsvektor mit mvb(r, c) bezeichnet werden. Der interpolative Modus verwendet sowohl Vorwärts- als auch Rückwärtsvektoren. Die Vorwärts-, Rückwärts- und interpolativen Bewegungskompensationsfehler können mit Δmc,f(r, c), Δmc,b(r, c) und Δmc,i(r, c) bezeichnet werden.
- Zusätzlich zum Bewegungskompensationsfehler bzw. den Bewegungskompensationsfehlern ist ein Maß für die räumliche Komplexität jedes MB erforderlich. Dieses Maß wird hier mit Δ(r, c) bezeichnet. Es ist wichtig, daß Δ(r, c), Δmc,f(r, c), Δmc,b(r, c) und Δmc,i(r, c) gleichartige Maße sind, in dem Sinne, daß ein numerischer Vergleich sinnvoll ist. In der bevorzugten Ausführungsform sind diese Maße alle als mittlere absolute Größen bezeichnet (siehe unten). Die Bezeichnung jedes MB mit seinen Zeilen- und Spaltenkoordinaten (r, c) gibt die Luminanzwerte der vier 8 · 8 Blöcke in MB (r, c) durch yk(i, j), i = 0, ..., 7, k = 0, ..., 3 an, und den Durchschnittswert jedes 8 · 8 Blocks mit dck. Dann wird das Maß für die räumliche Komplexität für MB (r, c) als mittlere absolute Abweichung von DC genommen, nach der Formel
- wobei
- Der entsprechende Bewegungskompensationsfehler ist der mittlere absolute Fehler. Wenn man die vier 8 · 8 Blöcke im Vorhersage-MB mit pk(i, j), i = 0, ..., 7, j = 0, ..., 7, k = 0, ..., 3 bezeichnet, ist dies definiert durch die Formel
- In der bevorzugten Ausführungsform der Erfindung basieren die an das Bildbit-Zuordnungssubsystem 2 übergebenen Codierungsschwierigkeitsfaktoren vollständig auf den obigen Maßen für die räumliche Komplexität und den Bewegungskompensationsfehler. Bei I-Bildern beträgt der Gesamtschwierigkeitsfaktor
- Bei P- und B-Bildern wird zuerst entschieden, welcher Codierungsmodus zu verwenden ist, und das diesem Modus zugeordnete Maß wird in einer Aufsummierung wie der obigen verwendet. Folgende Modi sind möglich:
- Intramode: m(r, c) = I,
- Vorwärts-MC: m (r, c) = mcf,
- Rückwärts-MC: m (r, c) = mcb,
- Interpolativer MC: m (r, c) = mci,
- Die Schwierigkeitsfaktoren werden nach folgenden Formeln berechnet:
- und
- Für die Entscheidung, welcher Modus zu verwenden ist, können viele mögliche Regeln verwendet werden. In der bevorzugten Ausführungsform wird für P-Bilder folgende Regel verwendet:
- m(r, c) = {I Δ(r, c) < βΔmcf(r, c), {mcf Δ(r, c) ≥ βΔmcf(r, c),
- Es wird ein Wert von β = 1.0 verwendet. In der bevorzugten Ausführungsform gilt für B-Bilder folgende Modusauswahlregel: zum Codieren des MB wird der Modus mit dem niedrigsten Δ(r, c) verwendet. An dieser Stelle sei darauf hingewiesen, daß zwar in der bevorzugten Ausführungsform mittlere absolute Größen als Maß für die Codierungsschwierigkeit verwendet werden, daß aber auch andere miteinander vergleichbare Maße (z. B. mittlere Quadrate) verwendet werden könnten.
- Es ist beabsichtigt, daß die zur Bestimmung der MB-Modi und zur Berechnung der Codierungsschwierigkeiten verwendeten Maße Nebenprodukte der Bewegungsabschätzungsprozedur sein könnten. Dies ist zum Teil deswegen möglich, weil die oben beschriebenen Maße oft in Bewegungsabschätzungsverfahren verwendet werden, um den besten Bewegungsvektor zu finden.
- Diese Maße werden auch zur Klassifizierung von Makroblöcken verwendet. In der bevorzugten Ausführungsform werden die MBs wie folgt klassifiziert. Die Klasse aller Intramodus-MBs wird berechnet, indem der Mindestwert von Δk(r, c) für den betreffenden MB quantisiert wird. Wenn ein Schwellenwert t definiert wird, gilt für die Klasse cl(r, c) von MB (r, c) die Formel
- Nachdem für bewegungskompensierte MBs ein Bewegungskompensationsmodus ausgewählt worden ist, werden sie nach folgender Formel klassifiziert:
- In der bevorzugten Ausführungsform wird der Wert t = 2 verwendet. Man beachte, daß zur Klassifizierung bewegungskompensierter MBs sowohl Intramodus- als auch bewegungskompensierte Maße benutzt werden. Die Modus- und Klasseninformation wird zusammen mit den zugrunde liegenden Maßen von der QP-Ebenen-Festlegungseinheit 15 zum Festlegen einer anfänglichen Quantisie rungsebene und vom RC-Bildcodierer 16 bei der Codierung verwendet.
- Typische Klassenverteilungen für I- und P-Bilder aus dem Blumengarten- und dem Tischtennissegment der Sequenz sind in Fig. 12 dargestellt.
- Um die Komplexität der Berechnungen gering zu halten, werden in der bevorzugten Ausführungsform die MBs von B-Bildern nicht klassifiziert und die Q-Ebenen-Festlegungseinheit 15 nicht benutzt, und das im RC-Bildercodierer 16 verwendete Codierungsschema ist einfacher als das für I- und P-Bilder verwendete.
- Die Funktion der QP-Ebenen-Festlegungseinheit 15 besteht darin, für jede Klasse einen Anfangswert für die Quantisierungsschrittgröße zu berechnen. Allen MBs in einer bestimmten Klasse wird die gleiche Quantisierungsschrittgröße zugeordnet. In der bevorzugten Ausführungsform wird die Quantisierungsschrittgröße für jede Klasse bezogen auf eine allgemeine Mindestschrittgröße nach folgender Formel zugeordnet:
- QP(r, c) = QPlow + ΔQP · cl(r, c).
- In der bevorzugten Ausführungsform werden für ΔQP Werte von 5 und 6 verwendet. Der zulässige Bereich für QPlow ist in der bevorzugten Ausführungsform -31, ..., 31, obwohl MPEG nur für QP(r, c) nur ganzzahlige Werte aus dem Bereich 1, ..., 31 vorsieht. Wenn die obige Formel einen Wert über 31 erzeugt, wird dieser auf 31 gekappt, und Werte unter 1 werden auf 1 gesetzt. Es ist vorteilhaft, für QPlow Werte unter 1 zuzulassen, um sicherzustellen, daß die feinsten Quantisierungsschrittgrößen für MBs aller Klassen verwendet werden können, sofern die Bitrate dies gewährleistet. Der Prozeß zur Auswahl des Anfangswertes QP von QPlow wird weiter unten erläutert.
- Das zugrunde liegende Modell der menschlichen Wahrnehmung von Codierungsfehlern, das in der bevorzugten Ausführungsform verwendet wird und sich in dem Verfahren zur Berechnung der Klasse cl(r, c) jedes MB und zur Berechnung von QP(r, c) aus cl(r, c) niederschlägt, besagt, daß Fehler gleicher Größenordnung in weniger aktiven Bereichen eines Bildes besser wahrgenommen werden. Dieses Modell ist natürlich stark vereinfacht, stellt aber einen vernünftigen Kompromiß zwischen der visuellen Qualität und dem Rechenaufwand dar. Der Grund dafür, daß für die Klassifizierung nicht das Δ des gesamten Blocks, sondern das minimale Δk über die vier Luminanzblöcke im MB verwendet wird, ist, daß MBs mit stetigen Bereichen eine geringere Quantisierungsschrittgröße zugeordnet werden sollte.
- Die MB-Modi m(r, c) und -klassen cl(r, c) werden zusammen mit den Werten von Δ(r, c) und Δmc(r, c) und der Soll-Bitrate für die Bildtransformationskoeffizienten benutzt, um den anfänglichen unteren Quantisierungswert QPlow zu setzen. In der Erfindung wurde ein Modell entwickelt, das die Anzahl der zum Codieren der Transformationskoeffizienten eines MB benötigten Bits anhand des zu verwendeten Quantisierungswertes und des Δ (bei Intramodus-MBs) oder des Δmc (bei bewegungskompensierten Bildern) vorhersagt. Versuchsdaten führen zu einem Modell der Form
- BI (QP, r, c) = a&sub1;Δ(r, c)QPbI
- für Intramodus-MBs und
- Bmc(QP, r, c) = aPΔmc(r, c)QPbP
- für bewegungskompensierte MBs. Die Exponenten sind br = -0.75 und bP = -1,50. Diese Werte sind aber in hohem Maße von den verwendeten Gewichtungsfaktoren Wprev für die Quantisierung abhängig und sollten für diese optimiert werden.
- Um geeignete Werte für die Parameter a und b abzuschätzen, wurde der folgende experimentelle Ansatz verfolgt. Angenommen, aI und bI soll für I-Bilder abgeschätzt werden. Da die Parameter des Modells zum Verfolgen der Änderungen von einem Bild zum nächsten angepaßt werden müssen, kommt es vor allem darauf an, daß das Modell für ein einzelnes Bild akkurat ist, und nicht so sehr für eine Gruppe von Bildern. Deshalb wird ein repräsentatives Bild mehrmals codiert, wobei in jedem Durchgang ein anderer Wert für die QP-Quantisierungsschrittgröße verwendet wird. Es wird gemessen, wieviele Bits bei jedem QP- Wert zum Codieren jedes MB benötigt werden. Dann wird für jeden QP-Wert der Durchschnittswert der Anzahl der zum Codieren aller MBs mit einem bestimmten Wert Δ benötigten Bits berechnet. Das Ergebnis ist ein zweidimensionaler Datensatz, der die durchschnittliche Anzahl der zum Codieren von MB benötigten Bits in Abhängigkeit vom Δ-Wert des MB und der zu seiner Codierung verwendeten QP-Schrittgröße angibt. Diese Durchschnittswerte können mit B' = B(QPi, Δj) bezeichnet werden. Es ist wünschenswert, diese Meßwerte in eine Gleichung der folgenden Form zu bringen:
- B' = aI · Δj · (QPi)bI.
- Dies ist eine überbestimmte Gruppe nichtlinearer Gleichungen in aI and bI und kann mit Hilfe nichtlinearer Verfahren der kleinsten Quadrate gelöst werden. Um die Aufgabe zu linearisieren, werden von beiden Seiten der Gleichung die Logarithmen genommen. Dadurch ergibt sich eine leicht lösbare, lineare Kleinste-Quadrate-Aufgabe in log(aI) und bI.
- Die linearen Parameter sollten nach der Codierung jedes I- oder P-Bildes angepaßt werden, um sich dynamisch ändernde Eigenschaften der Videosequenz zu verfolgen. Dazu kann ein Verfahren verwendet werden, das weiter unten im Zusammenhang mit dem RC-Bildcodierer 16 ausführlich beschrieben wird. (Für Intramodus-MBs kann dieses Modell verbessert werden, indem ein zusätzlicher Term hinzugefügt wird, der die Anzahl der zum Codieren der DC-Terme im MB benötigten Bits berücksichtigt, da die Codierung für DC-Koeffizienten separat behandelt wird).
- Die vorhergesagte Anzahl der zum Codieren der Transformationskoeffizienten für das gesamte Bild benötigten Bits beträgt nach diesen Bitratenmodellen
- für I-Bilder und
- für P-Bilder, wobei QP(r, c) nach der Formel
- QP(r, c) = QPlow + ΔQP · cl(r, c).
- berechnet wird.
- Als Anfangswert für QPlow wird der QP-Wert genommen, für den B(QP) der dem Bild zugeordneten Transformationskoeffizientenzuordnung C am nächsten kommt:
- QP = argQPmin B(QP) - Cn .
- In der bevorzugten Ausführungsform wird eine Halbintervallsuche zwischen -31 und 31 durchgeführt, um QP zu finden. Die Rolle der Ober- und Untergrenzen für QP in diesem Verfahren ist schwierig. Eine Obergrenze von 31 reicht aus, daß der Codierer garantiert mit der gröbsten vom Standard erlaubten Quantisierung arbeiten kann; eine höhere Obergrenze ändert aber die Leistungsfähigkeit des Ratensteuerungsalgorithmus, wie weiter unten noch ausführlicher zu sehen sein wird, indem sie ihn empfindlicher für die Überproduktion von Bits macht. Ähnliches gilt für die Untergrenze für QP.
- Nach der Ermittlung von QPlow berechnet die QP-Ebenen-Festlegungseinheit 15 die zu erwartende Anzahl Bits, die zum Codie ren von MB-Zeile r mit Hilfe von QPlow benötigt werden, nach der Formel
- wobei Nrow die Anzahl der MB-Zeilen ist. Im zweiten Term dieses Ausdrucks wird die Differenz zwischen der vom Modell bei QPlow vorhergesagten und der tatsächlichen Transformationskoeffizientenzuordnung C berücksichtigt, und im dritten Term der Anteil, den jede Zeile an der Nebeninformationszuordung S hat. Die Summe der Sollwerte T(r) über alle Zeilen ergibt die Gesamtbildzuordnung A. Diese erwarteten Werte werden zu den Soll-Bitwerten pro Zeile für den RC-Bildcodierer 16.
- Die Bildcodierung fährt mit der Indexierung der MBs und der Codierung der einzelnen MBs mit der im vorigen Schritt bestimmten Modus- und Quantisierungsschrittwerte fort. Aufgrund von Nichtübereinstimmungen im Bitratenmodell und der ständigen Änderungen des Inhalts einer Sequenz stimmt die tatsächlich erzeugte Bitanzahl allerdings nicht exakt mit der erwarteten Anzahl überein. Es ist wünschenswert, diese Abweichung zu steuern, nicht nur, um die tatsächliche Anzahl der für das Bild erzeugten Bits möglichst nahe am Sollwert zu halten, sondern auch, um ein Über- bzw. Unterschreitung der VBV-Bitratengrenzen zu verhindern. In der Erfindung wurde eine Ratensteuerungs-Rückkopplungsstrategie entwickelt, die am Ende jeder MB- Zeile QPlow aktualisiert. Die Aktualisierung wird vom mehreren Faktoren bestimmt. Ein Faktor besteht darin, daß die einzelnen MB-Zeilen in einem Bild aufgrund von Variationen in Δ(r, c) and Δmc(r, c) und der zugeordneten Quantisierungsschrittgrößen erwartungsgemäß nicht die gleiche Anzahl von Bits erzeugen. Am Ende jeder Zeile wird die erzeugte Bitanzahl mit der in der QP-Ebenen-Festlegungseinheit 15 berechneten, erwarteten Zahl T(r) verglichen. Ein weiterer Faktor, der bei der Aktualisierung von QPioW eine Rolle spielt, ist, wie nahe die Bildzuordnung und die tatsächlich erzeugte Bitanzahl den VBV-Grenzwerten kommt. Der Vorteil der QPlow Aktualisierung als Funktion von Bitratenabweichungen ist abhängig von der Nähe zu VBV- Grenze in Fehlerrichtung. Kleinere Abweichungen von der vorhergesagten Bitrate haben keine oder nur eine geringfügige Änderung von QPlow zur Folge, während Abweichungen, die die Bildbitrate in die Nähe eines der VBV-Grenzwerte bringen, die maximal mögliche Anpassung von QPlow bewirken. Eine solche Strategie verhindert die Über- bzw. Unterschreitung der VBV-Grenzwerte recht erfolgreich und verhindert somit unerwünschte Aktionen wie die Unterdrückung codierter Daten oder die Einfügung zusätzlicher Bytes in den Bitstrom.
- Die nachstehenden Gleichungen beschreiben das in der bevorzugten Ausführungsform der Erfindung implementierte Aktualisierungsverfahren für QPlow. Wenn die Gesamtanzahl der zum Codieren von Zeile m und aller vorausgehenden Zeilen durch B(m) und die Differenz zwischen B(m) und dem kumulativen Sollwert als ΔB(m) bezeichnet wird, ist
- ΔB(m) = B(m) - T(r).
- Nach der Codierung von Zeile m wird QPlow folgendermaßen aktualisiert, falls ΔB(m) ≠ 0 ist:
- wobei Δu und Δl die Differenzen zwischen der Bildzuordnung A und der obere und untere VBV-Grenzwert für Bild n ist:
- Δu = UVBV - A,
- Δl = max(0, LVBV) - A.
- Durch diese Strategie wird QPlow basierend auf dem Gesamtbitzuordnungsfehler bis zur aktuellen Zeile aktualisiert, indem dieser auf den nach dem VBV-Kriterium maximal zulässigen Fehler bezogen wird.
- Bei der Codierung jedes I- oder P-Bildes werden neue Bitratenmodell-Parameter (aI und aP) berechnet, so daß das Bitratenmodell mit der Anzahl der tatsächlich erzeugten Transformationskoeffizientenbits (Ca) übereinstimmt. Um dies für den Fall eines I-Bildes zu illustrieren, wird bei der Codierung jedes Bildes die Summe aller Δ(r, c) für mit jedem QP-Wert codierte MBs ermittelt:
- SΔ(QP) = Δ(r, c), QP = 1, ..., 31.
- Ein Aktualisierungswert von aI wird durch
- und
- a'I = (1 - α)aI + αa'I
- berechnet.
- In der Implementierung kann ein Wert von α = 0.667 verwendet werden. Eine ähnliche Strategie wird verwendet, um nach der Codierung eines P-Bildes aI und aP zu aktualisieren. In diesem Fall ist α proportional zum Anteil der MBs, die in dem Modus codiert wurden, der dem zu aktualisierenden Bitratenmodellparameter entspricht.
- Schließlich wird die zum Codieren aller Nebeninformationen für das Bild benötigte Bitanzahl gespeichert, damit sie als Wert für die Nebeninformationszuordnung S für das nächste Bild des gleichen Typs verwendet werden kann.
- Die Wirkung der Strategien für die QP-Zuordnung und Aktualisierung ist in Fig. 13 und Fig. 14 dargestellt. In Fig. 13 ist QPlow und der QP-Durchschittswert in jeder Zeile der Halbbilder 16, 22, 61 und 67 der Testsequenz dargestellt. Wenn der anfängliche Schätzwert für QPlow und die Bitratenmodelle exakt wären, wäre QPlow in allen Zeilen gleich. Der Durchschnittswert QPavg fluktuiert aber je nach räumlicher Aktivität und Bewegungskompensation der verschiedenen Zeilen in den Bildern. Am QP-Wert für die I-Bilder ist beispielsweise leicht zu erkennen, daß die untere Hälfte der Zeilen des Blumengartensegments eine wesentlich höhere räumliche Komplexität aufweist als die obere Hälfte. Die Ergebnisse für P-Bilder zeigen, daß die Bewegungskompensation die Variation in QPavg reduziert. In Fig. 14 sind die erzeugten Bits in Abhängigkeit von den Sollwerten für die einzelnen Zeilen dargestellt. Es ist zu erkennen, daß die Ergebnisse recht nahe bei den Sollwerten liegen.
- Das Ratensteuerungsverfahren für B-Bilder unterscheidet sich von dem für I- und P-Bilder. Hier wurde keine MB-Klassifizierung vorgenommen, und deshalb wird auch nicht versucht, abzuschätzen, wieviel komprimierte Daten jede MB-Zeile erzeugen wird. Am Anfang jedes Bildes wird der Quantisierungsfaktor auf den Wert gesetzt, den er am Ende des vorhergehenden B-Bildes hatte. Nach jeder MB-Zeile wird QP im wesentlichen auf die gleiche Weise aktualisiert wie bei den anderen Bildtypen, wobei aber die Ober- und Untergrenze definiert sind durch
- Δu = max(UVBV - A,A),
- Δl = max(0, IVBV) - A.
- Die obige Beschreibung stellt ein Videocodierungsverfahren vor, das eine adaptive Bitzuordnung und eine Quantisierung verwendet, um robuste, hochwertig codierte Sequenzen über einen Bereich von Quellenmaterialien und Bitraten zu erzeugen. Die codierten Daten entsprechen den Bitratenanforderungen des ISO/IEC MPEG-Videocodierungsstandards. Die für die Implemen tierung der adaptiven Verfahren erforderliche zusätzliche Komplexität des Codierers ist gering, was die Grundoperationen der Bewegungsabschätzung, diskrete Cosinustransformationen, Quantisierung und Huffman-Codierung angeht, die Teil eines einfachen Decoders sind. Diese Funktionen sorgen dafür, daß der Algorithmus für flexible Videocodierungs- und -decodierungsimplementierungen in Echtzeit geeignet ist.
- Die Funktionsweise des erfindungsgemäßen QP-adaptiven Vorprozessors 3 basiert auf der Beobachtung, daß unter bestimmten Bedingungen mit Codierern mit geringer Bitrate visuell ansprechendere Bilder erzeugt werden, wenn die Eingabebilder so vorverarbeitet wurden, daß Rauschen entfernt und/oder hochfrequente Informationen abgeschwächt wurden, die ineffizient zu codieren, aber visuell weniger wichtig als niederfrequente, rauschfreie Informationen sind. Speziell wenn Sequenzen Bereiche nicht vernachlässigbarer Größe enthalten, die nur eine geringe räumliche Komplexität aufweisen, oder wenn aus irgendeinem Grund ein Rauschen vorhanden ist, ist eine übermäßig große Anzahl Bits erforderlich, um die detailreichen Bereiche und das Rauschen akkurat darzustellen; dies führt aber insgesamt zu einer geringeren visuellen Qualität. Diese Qualitätseinbuße tritt oft in Form visuell störender, flackernder, rauschähnlicher Artefakte auf. Es ist oft ein guter Kompromiß, den Hochfrequenzgehalt durch eine Vorverarbeitung wie die lineare oder nichtlineare Filterung zu reduzieren, die das Bild weniger originalgetreu aussehen läßt, dafür aber eine bessere Wiedergabe der niederfrequenten Information ohne störende Artefakte ermöglicht. Andererseits sind viele Sequenzen so aufgebaut, daß die visuelle Qualität bei niedrigen Bitraten recht akzeptabel ist, ohne daß hochfrequente Informationen und Rauschen reduziert werden müssen. In solchen Fällen bringt die Vorverarbeitung unnötige Qualitätseinbußen. Es ist deshalb wünschenswert, je nach Bedarf entweder eine Vorverarbeitung durchführen oder auf eine solche verzichten zu können.
- Ein wichtiger Indikator für die Notwendigkeit einer Vorverarbeitung ist die Quantisierungsebene, die erforderlich ist, um die Sequenz mit der Sollbitrate zu codieren. Der Hauptvorteil der Verwendung von Informationen über den Quantisierungsfaktor zur Steuerung des Vorverarbeitungsumfangs besteht darin, daß er von der Bitrate unabhängig ist. Allgemein ausgedrückt bedeutet dies, daß wenn die Quantisierungsebene die meiste Zeit sehr hoch ist (d. h. wenn die Quantisierung grob und die Rekonstruktion daher relativ schlecht ist), der Grund darin liegt, daß die Szene zu komplex ist, um mit der Sollbitrate akkurat codiert zu werden.
- Die allgemeine Funktionsweise des dritten Subsystems der Erfindung wird anhand von Fig. 6 unter Bezugnahme auf die Komponenten des in Fig. 15 allgemein dargestellten QP-adaptiven Vorprozessors 3 und eine in Fig. 16 dargestellte bevorzugte Ausführungsform beschrieben. Wie bereits im Zusammenhang mit der Funktionsweise des AQ/RC-Bildcodierers 1 erläutert wurde, wird bei der Codierung jedes Bildes ein vorhergehender Quantisierungsfaktor QPprev, berechnet, der zur Quantisierung der Transformationskoeffizienten verwendet wird. Diese Quantisierungsebene kann von vielen Dingen abhängen, z. B. von der Anzahl MBs in jedem Bildtyp, der Anzahl der Bits, die dem Bild vom Bildbitzuordnungs-Subsystem 2 zugeordnet wurden, und der Gesamtkomplexität des Bildes. Der durchschnittliche QP zum Codieren eines Bildes ist oft eine gute Größe für QPprev. Nachdem die Codierung eines Bildes abgeschlossen ist, wird QPprev vom AQ/RC-Codierer 1 an den QP-adaptiven Vorprozessor 3 übergeben. Basierend auf den QPprev Werten von möglicherweise mehr als einem vorausgehenden Bild wird einer von mehreren Vorprozessoren ausgewählt, der für alle Bilder ab einem Zeitpunkt in der Zukunft verwendet werden soll, bis ein neuer QPprev Wert aus einem späteren Bild eine erneute Änderung des Vorprozessors verursacht. Wie in Fig. 15 zu sehen ist, wird das QPprev-Signal in einem Implementierungsverzögerungspuffer 31 empfangen und an eine Vorprozessoralgorithmus-Auswahleinheit 32 übergeben, die das Umschalten des Signals auf eine Vorprozessoreinheit 33 steuert.
- Die Vorprozessoreinheit 33 kann aus einer Reihe von Filtern, Filter 1, Filter 2, ..., Filter n bestehen. Eine bevorzugte Implementierung der Vorprozessoreinheit 33 ist in Fig. 16 dargestellt, wo die Vorprozessorfilter rein linear sind und es drei mögliche Filterzustände (FS) gibt:
- 1. FS = 0 Kein Filter.
- 2. FS = 1 Trennbares 3-teiliges FIR-Filter mit Koeffizienten (1/16, 7/8, 1/16).
- 3. FS = 2 Trennbares 3-teiliges FIR-Filter mit Koeffizienten (1/8, 3/4, 1/8).
- Folgender Algorithmus ist für die Aktualisierung der Filterzustände unter der Steuerung durch die Einheiten 31 und 32 nützlich:
- FS ← {min(2, FS + 1) if Qavg > T&sub1;. {max(0, FS - 1) if Qavq < T&sub2;.
- Die Aktualisierung des Filterzustands erfolgt nur nach I-Bildern, und der neue Zustand tritt erst beim nächsten I-Bild in Kraft (diese Verzögerung wird als Implementierungsverzögerung bezeichnet). Sinnvolle Werte sind 10 für T&sub1; und 5 für T&sub2;.
- Die spezielle Auswahl von Filtern, Filterzuständen, Regeln zur Aktualisierung der Filterzustände und Implementierungsverzögerung ist nur eine von vielen Möglichkeiten innerhalb des Umfangs der Erfindung. Es kann eine beliebige Anzahl von Filtern geben, und die Filter können auch nichtlinear oder räumlich adaptiv sein. Eine weitere wichtige Variation besteht darin, den Filterzustand häufiger zu aktualisieren und gleichzeitig die Implementierungsverzögerung zu verringern. So kann die Aktualisierung des Filterzustands beispielsweise nach jedem P- Bild erfolgen, wobei die Implementierungsverzögerung auf den Abstand zwischen zwei P-Bildern reduziert wird.
Claims (7)
1. Ein Verfahren zum Zuordnen von Bits, die zur
Komprimierungscodierung digitaler Datensignale, welche eine oder
mehrere Gruppen von Bildern in einer bewegten Videosequenz
darstellen, benutzt werden, in Form eines M-PEG
II-Datenstroms, bestehend aus folgenden Schritten:
Identifizieren jedes Bildes der Gruppe bzw. Gruppen, die
einer Komprimierungscodierung unterzogen werden soll, als
zugehörig zu einem der drei Typen I, P, B;
Ermitteln der Gesamtanzahl der Bits (Bset), die bei der
Komprimierungscodierung jeder Bildergruppe verwendet
werden soll, anhand einer festgelegten Soll-Bitrate für jede
Sequenz, wobei die Gesamtanzahl der Bits (Bset) gleich
einer durchschnittlichen Bitzuordung (Bavg) multipliziert mit
der Gesamtanzahl der I-Bilder (nI), P-Bilder (nP) und B-
Bilder (nB) in der Gruppe ist, so daß Bset = (nI + nP +
nB) · Bayg ist;
und, nachdem vorzugsweise von der Gesamtanzahl der Bits
(Bset) ein Schätzwert (Ssec) für die Anzahl der zum Codieren
der Nebeninformation in jeder Gruppe benötigten Bits
subtrahiert worden ist, woraus eine modifizierte Gesamtanzahl
der Bits (Cset) resultiert, von der Gesamtanzahl der Bits
(Cset oder Bset) Bits zur Verwendung bei der
Komprimierungscodierung eines Bildes in jeder Gruppe zugeordnet
werden, indem vor der Komprimierungscodierung der
einzel
nen Bilder Zuordnungen (CI, CP, CB) für jeden Bildtyp in
der Gruppe bestimmt werden, unter Verwendung
1) des Schwierigkeitsgrades (DI, DP, DB) der
Komprimierungscodierung jedes Bildtyps, wobei der
Schwierigkeitsgrad der räumlichen Komplexität eines betreffenden Bildes
entspricht, so daß die Bitzuordnung (CI, CP, CB) für einen
betreffenden Bildtyp mit zunehmendem bzw. abnehmendem
Schwierigkeitsgrad (DI, DP, DB) der Komprimierungscodierung
zu- bzw. abnimmt, und
2) der Gesamtanzahlen (NI, NP, NB) jedes der drei Bildtypen
in jeder Gruppe zur Erzeugung von Zuordnungen, die die
feste Soll-Bitrate erfüllen.
2. Ein Verfahren nach Anspruch 1, bei dem der
Zuordnungsschritt nach folgenden Gleichungen ausgeführt wird
Cset = nICI + nPCP + nBCB;
and
wobei WP und WB Gewichtungsfaktoren sind, um die
Bitzuordnungen von P- und B-Bildern im Vergleich zu den anderen
weniger stark zu betonen, und E'r ein durchschnittlicher
Bewegungskompensationsfehler ist, der bei der
bewegungskompensierten Bildrekonstruktion auftritt.
3. Ein Verfahren nach Anspruch 1, bei dem die Bitzuordnung
für jeden Bildtyp proportional zum Schwierigkeitsgrad der
Komprimierungscodierung des betreffenden Bildtyps ist.
4. Ein Verfahren nach Anspruch 1, bei dem der
Schwierigkeitsgrad der Komprimierungscodierung jedes Bildtyps anhand der
Schwierigkeit der Komprimierungscodierung der Pixeldaten
des zu codierenden Bildes und mindestens eines bereits
codierten Bildes aus der Gruppe ermittelt wird.
5. Ein Verfahren nach Anspruch 1, bei dem der
Schwierigkeitsgrad der Komprimierungscodierung jedes Bildtyps anhand der
Schwierigkeit der Komprimierungscodierung der
Pixeldifferenzdaten des zu codierenden Bildes und mindestens eines
bereits codierten Bildes aus der Gruppe ermittelt wird.
6. Ein System zur Zuordnung von Bits, die zur
Komprimierungscodierung digitaler Datensignale, welche eine oder
mehrere Gruppen von Bildern in einer bewegten Videosequenz
darstellen, benutzt werden, in Form eines M-PEG II-
Datenstroms, bestehend aus:
Mitteln zum Identifizieren jedes Bildes der Gruppe bzw.
Gruppen, die einer Komprimierungscodierung unterzogen
werden soll, als zugehörig zu einem der drei Typen I, P, B;
Mitteln 1-3 zur Ermittlung der Gesamtanzahl der Bits
(Bset), die bei der Komprimierungscodierung jeder
Bildergruppe verwendet werden soll, anhand einer festgelegten
Soll-Bitrate für jede Sequenz, wobei die Gesamtanzahl der
Bits (Bset) gleich einer durchschnittlichen Bitzuordung
(Bavg) multipliziert mit der Gesamtanzahl der I-Bilder
(nI), P-Bilder (np) und B-Bilder (nB) in der Gruppe ist, so
daß Bset = (nI + nP + nB) · Bavg ist; Mitteln, um vorzugsweise
von der Gesamtanzahl der Bits (Bset) einen Schätzwert (Sset)
für die Anzahl der zum Codieren der Nebeninformation in
jeder Gruppe benötigten Bits zu subtrahieren, woraus eine
modifizierte Gesamtanzahl der Bits (Cset) resultiert;
und Mitteln 2, um aus der Gesamtanzahl der Bits (Cset oder
Bset) Bits zur Verwendung bei der Komprimierungscodierung
eines Bildes in jeder Gruppe zuzuordnen, indem vor der
Komprimierungscodierung der einzelnen Bilder Zuordnungen
(CI, CP, CB) für jeden Bildtyp in der Gruppe bestimmt
werden, unter Verwendung
1) des Schwierigkeitsgrades (DI, DP, DB) der
Komprimierungscodierung jedes Bildtyps, wobei der
Schwierigkeitsgrad der räumlichen Komplexität eines betreffenden Bildes
entspricht, so daß die Bitzuordnung (CI, CP, CB) für einen
betreffenden Bildtyp mit zunehmendem bzw. abnehmendem
Schwierigkeitsgrad (DI, DP, DB) der Komprimierungscodierung
zu- bzw. abnimmt, und
2) der Gesamtanzahlen (NI, NP, NB) jedes der drei Bildtypen
in jeder Gruppe zur Erzeugung von Zuordnungen, die die
feste Soll-Bitrate erfüllen.
7. Ein System nach Anspruch 6, bei dem das Zuordnungsmittel 2
folgende Gleichungen erfüllt:
Cset = nICI + nPCP + nBCB;
and
wobei WP und WB Gewichtungsfaktoren sind, um die
Bitzuordnungen von P- und B-Bildern im Vergleich zu den anderen
weniger stark zu betonen, und E'r ein durchschnittlicher
Bewegungskompensationsfehler ist, der bei der
bewegungskompensierten Bildrekonstruktion auftritt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/789,505 US5231484A (en) | 1991-11-08 | 1991-11-08 | Motion video compression system with adaptive bit allocation and quantization |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69230704D1 DE69230704D1 (de) | 2000-03-30 |
DE69230704T2 true DE69230704T2 (de) | 2000-08-31 |
Family
ID=25147833
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69233411T Expired - Lifetime DE69233411T2 (de) | 1991-11-08 | 1992-10-23 | Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung |
DE69230704T Expired - Lifetime DE69230704T2 (de) | 1991-11-08 | 1992-10-23 | Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69233411T Expired - Lifetime DE69233411T2 (de) | 1991-11-08 | 1992-10-23 | Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung |
Country Status (8)
Country | Link |
---|---|
US (1) | US5231484A (de) |
EP (3) | EP0959628A3 (de) |
JP (1) | JP2818340B2 (de) |
KR (1) | KR960007264B1 (de) |
CN (1) | CN1035593C (de) |
CA (1) | CA2077058C (de) |
DE (2) | DE69233411T2 (de) |
TW (1) | TW221085B (de) |
Families Citing this family (325)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9405914D0 (en) * | 1994-03-24 | 1994-05-11 | Discovision Ass | Video decompression |
US5317397A (en) * | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
US5986713A (en) * | 1991-05-31 | 1999-11-16 | Kabushiki Kaisha Toshiba | Video coding apparatus using inter-field prediction |
US6005627A (en) * | 1991-05-31 | 1999-12-21 | Kabushiki Kaisha Toshiba | Video coding apparatus |
JP3189861B2 (ja) * | 1992-11-13 | 2001-07-16 | ソニー株式会社 | 動画像符号化装置および方法 |
US5640208A (en) * | 1991-06-27 | 1997-06-17 | Sony Corporation | Video signal encoding in accordance with stored parameters |
US5539836A (en) * | 1991-12-20 | 1996-07-23 | Alaris Inc. | Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment |
DE69334288D1 (de) * | 1992-01-29 | 2009-07-30 | Mitsubishi Electric Corp | Hochleistungscodierer und Vorrichtung zur Videodatenaufzeichnung/-wiedergabe |
JP3134455B2 (ja) * | 1992-01-29 | 2001-02-13 | ソニー株式会社 | 高能率符号化装置及び方法 |
US6870884B1 (en) * | 1992-01-29 | 2005-03-22 | Mitsubishi Denki Kabushiki Kaisha | High-efficiency encoder and video information recording/reproducing apparatus |
JPH05236427A (ja) * | 1992-02-25 | 1993-09-10 | Sony Corp | 画像信号の符号化装置及び符号化方法 |
JPH05268590A (ja) * | 1992-03-17 | 1993-10-15 | Nec Corp | 動画像符号化復号化回路 |
KR0150955B1 (ko) * | 1992-05-27 | 1998-10-15 | 강진구 | 비트고정을 위한 영상압축방법과 신장방법 및 그 장치 |
US5291281A (en) * | 1992-06-18 | 1994-03-01 | General Instrument Corporation | Adaptive coding level control for video compression systems |
US5289276A (en) * | 1992-06-19 | 1994-02-22 | General Electric Company | Method and apparatus for conveying compressed video data over a noisy communication channel |
US5768561A (en) | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5821885A (en) * | 1994-07-29 | 1998-10-13 | Discovision Associates | Video decompression |
US5842033A (en) * | 1992-06-30 | 1998-11-24 | Discovision Associates | Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system |
US6079009A (en) | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
US6067417A (en) | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
US6435737B1 (en) | 1992-06-30 | 2002-08-20 | Discovision Associates | Data pipeline system and data encoding method |
US6047112A (en) | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
US6112017A (en) | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
US5809270A (en) | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
DE69229338T2 (de) | 1992-06-30 | 1999-12-16 | Discovision Associates, Irvine | Datenpipelinesystem |
JP3127600B2 (ja) * | 1992-09-11 | 2001-01-29 | ソニー株式会社 | ディジタル信号復号化装置及び方法 |
US5379122A (en) * | 1992-10-02 | 1995-01-03 | Xerox Corporation | Decompression of standard ADCT-compressed images |
US5384598A (en) * | 1992-10-20 | 1995-01-24 | International Business Machines Corporation | System and method for frame differencing video compression and decompression with frame rate scalability |
JP3343962B2 (ja) * | 1992-11-11 | 2002-11-11 | ソニー株式会社 | 高能率符号化方法及び装置 |
BR9307437A (pt) * | 1992-11-16 | 1999-06-01 | Multimedia Systems Corp | Processo para a produção e transmissão de informações de multimídia interativas realçada |
JP3240017B2 (ja) * | 1993-01-11 | 2001-12-17 | ソニー株式会社 | Mpeg信号記録方法およびmpeg信号再生方法 |
JP3282260B2 (ja) * | 1993-01-18 | 2002-05-13 | ソニー株式会社 | 画像再生装置及び方法 |
US5786858A (en) * | 1993-01-19 | 1998-07-28 | Sony Corporation | Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium |
EP1069778A3 (de) * | 1993-04-09 | 2004-10-20 | Sony Corporation | Bildkodierungsverfahren, -vorrichtung und Bildaufzeichnungsmedium |
US5703646A (en) * | 1993-04-09 | 1997-12-30 | Sony Corporation | Picture encoding method, picture encoding apparatus and picture recording medium |
KR970000683B1 (ko) * | 1993-05-31 | 1997-01-16 | 삼성전자 주식회사 | 해상도 가변 적응적 화상압축/복원방법 및 장치 |
FR2707070B1 (de) * | 1993-06-22 | 1995-09-08 | Centre Nat Etd Spatiales | |
US5861894A (en) | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
US5699544A (en) * | 1993-06-24 | 1997-12-16 | Discovision Associates | Method and apparatus for using a fixed width word for addressing variable width data |
US5805914A (en) | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
US5812735A (en) * | 1993-07-09 | 1998-09-22 | Sony Corporaiton | Picture signal decoding method and picture signal decoding apparatus |
FR2708168B1 (fr) * | 1993-07-20 | 1995-08-25 | Thomson Consumer Electronics | Procédé et dispositif d'estimation d'un budget de bits pour encodeurs à longueur de mot variable. |
US5598514A (en) * | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
JP2531106B2 (ja) * | 1993-08-17 | 1996-09-04 | 日本電気株式会社 | 動画像符号化制御方式 |
FR2711879B1 (fr) * | 1993-10-22 | 1995-12-15 | Thomson Csf | Procédé et dispositif de codage inter-trame avec régulation de débit pour l'enregistrement d'images sur magnétoscope. |
KR970003789B1 (ko) * | 1993-11-09 | 1997-03-21 | 한국전기통신공사 | 비디오 부호기의 전송율을 제어하기 위한 비트 할당 방법 |
BE1007808A3 (nl) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Inrichting voor het coderen van een videosignaal. |
BE1007807A3 (nl) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Inrichting voor het coderen van een videosignaal. |
JPH07202820A (ja) * | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | ビットレート制御システム |
US5764698A (en) * | 1993-12-30 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for efficient compression of high quality digital audio |
US5587708A (en) * | 1994-01-19 | 1996-12-24 | Industrial Technology Research Institute | Division technique unified quantizer-dequantizer |
US5592226A (en) * | 1994-01-26 | 1997-01-07 | Btg Usa Inc. | Method and apparatus for video data compression using temporally adaptive motion interpolation |
EP0670663A1 (de) * | 1994-03-02 | 1995-09-06 | Laboratoires D'electronique Philips S.A.S. | Verfahren und Vorrichtung zur Kodierung von eine Bildsequenz darstellenden digitalen signalen |
FR2717029A1 (fr) * | 1994-03-02 | 1995-09-08 | Philips Laboratoire Electroniq | Procédé et dispositif de codage à longueur variable de signaux numériques. |
US5563961A (en) * | 1994-03-03 | 1996-10-08 | Radius Inc. | Video data compression method and system which measures compressed data storage time to optimize compression rate |
US5576765A (en) * | 1994-03-17 | 1996-11-19 | International Business Machines, Corporation | Video decoder |
CA2145365C (en) * | 1994-03-24 | 1999-04-27 | Anthony M. Jones | Method for accessing banks of dram |
CA2145379C (en) * | 1994-03-24 | 1999-06-08 | William P. Robbins | Method and apparatus for addressing memory |
CA2145363C (en) | 1994-03-24 | 1999-07-13 | Anthony Mark Jones | Ram interface |
DE69536096D1 (de) * | 1994-03-25 | 2010-09-30 | Nec Corp | Bildwiedergabevorrichtung |
US5754235A (en) * | 1994-03-25 | 1998-05-19 | Sanyo Electric Co., Ltd. | Bit-rate conversion circuit for a compressed motion video bitstream |
US5541852A (en) * | 1994-04-14 | 1996-07-30 | Motorola, Inc. | Device, method and system for variable bit-rate packet video communications |
JP3265818B2 (ja) * | 1994-04-14 | 2002-03-18 | 松下電器産業株式会社 | 動画符号化方法 |
EP0803163B1 (de) * | 1994-04-20 | 2009-07-08 | Thomson Inc. | Multiplexsystem mit konstantbitratenkodierer |
US6055270A (en) * | 1994-04-20 | 2000-04-25 | Thomson Cosumer Electronics, Inc. | Multiplexer system using constant bit rate encoders |
CN1067203C (zh) * | 1994-04-20 | 2001-06-13 | 汤姆森消费电子有限公司 | 利用恒定位率编码器的多路复用系统 |
US5650829A (en) * | 1994-04-21 | 1997-07-22 | Sanyo Electric Co., Ltd. | Motion video coding systems with motion vector detection |
DE4416967A1 (de) * | 1994-05-13 | 1995-11-16 | Thomson Brandt Gmbh | Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten |
FR2720582B1 (fr) * | 1994-05-27 | 1996-08-14 | Sgs Thomson Microelectronics | Circuit de détermination du coefficient de quantification dans une chaîne de compression d'image. |
FR2721787B1 (fr) * | 1994-06-22 | 1996-07-26 | Thomson Consumer Electronics | Procédé de quantification des coefficients. |
US5767898A (en) * | 1994-06-23 | 1998-06-16 | Sanyo Electric Co., Ltd. | Three-dimensional image coding by merger of left and right images |
JP3050047B2 (ja) * | 1994-06-24 | 2000-06-05 | 日本ビクター株式会社 | 動画像符号化装置及び動画像符号化方法 |
US5651078A (en) * | 1994-07-18 | 1997-07-22 | Thomson Consumer Electronics, Inc. | Method and apparatus for reducing contouring in video compression |
JP3336754B2 (ja) * | 1994-08-19 | 2002-10-21 | ソニー株式会社 | デジタルビデオ信号の記録方法及び記録装置 |
JP2882287B2 (ja) * | 1994-08-22 | 1999-04-12 | 日本電気株式会社 | 動画像符号化装置 |
GB9417138D0 (en) | 1994-08-23 | 1994-10-12 | Discovision Ass | Data rate conversion |
JP3911035B2 (ja) * | 1994-08-31 | 2007-05-09 | ソニー株式会社 | 動画像符号化方法及び動画像符号化装置 |
JPH08154247A (ja) * | 1994-09-29 | 1996-06-11 | Sanyo Electric Co Ltd | 圧縮画像データ処理装置及び方法 |
JP3954656B2 (ja) * | 1994-09-29 | 2007-08-08 | ソニー株式会社 | 画像符号化装置及び方法 |
JP3711572B2 (ja) * | 1994-09-30 | 2005-11-02 | ソニー株式会社 | 画像符号化装置及び方法 |
US5734419A (en) * | 1994-10-21 | 1998-03-31 | Lucent Technologies Inc. | Method of encoder control |
CA2157066C (en) * | 1994-10-21 | 1999-09-21 | Nelson Botsford Iii | Method for controlling a compressed data buffer |
US5889561A (en) * | 1994-11-04 | 1999-03-30 | Rca Thomson Licensing Corporation | Method and apparatus for scaling a compressed video bitstream |
JPH08163554A (ja) * | 1994-12-02 | 1996-06-21 | Electron & Telecommun Res Inst | ビデオビット率制御方法 |
GB9424436D0 (en) * | 1994-12-02 | 1995-01-18 | Philips Electronics | Video editing buffer management |
US5710595A (en) * | 1994-12-29 | 1998-01-20 | Lucent Technologies Inc. | Method and apparatus for controlling quantization and buffering for digital signal compression |
US5646687A (en) * | 1994-12-29 | 1997-07-08 | Lucent Technologies Inc. | Temporally-pipelined predictive encoder/decoder circuit and method |
US5870434A (en) * | 1994-12-29 | 1999-02-09 | Sony Corporation | Apparatus and method for quantizing a digital signal based on quantizing steps including odd-numbered steps |
US5802211A (en) * | 1994-12-30 | 1998-09-01 | Harris Corporation | Method and apparatus for transmitting and utilizing analog encoded information |
FR2729520B1 (fr) * | 1995-01-16 | 1997-06-13 | France Telecom | Procede de regulation du debit de codage par prediction temporelle et compensation de mouvement, d'un signal numerique de television |
US5546336A (en) * | 1995-01-19 | 1996-08-13 | International Business Machine Corporation | Processor using folded array structures for transposition memory and fast cosine transform computation |
US5677969A (en) * | 1995-02-23 | 1997-10-14 | Motorola, Inc. | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system |
JPH08242452A (ja) * | 1995-03-02 | 1996-09-17 | Matsushita Electric Ind Co Ltd | 映像信号圧縮符号化装置 |
US5841476A (en) * | 1995-03-03 | 1998-11-24 | Kokusai Denshin Denwa Co. Ltd. | Coding apparatus for encoding motion picture |
US5734677A (en) * | 1995-03-15 | 1998-03-31 | The Chinese University Of Hong Kong | Method for compression of loss-tolerant video image data from multiple sources |
JPH08256341A (ja) * | 1995-03-17 | 1996-10-01 | Sony Corp | 画像信号符号化方法、画像信号符号化装置、画像信号記録媒体、及び画像信号復号化装置 |
US5668598A (en) * | 1995-03-27 | 1997-09-16 | International Business Machines Corporation | Motion video compression system with guaranteed bit production limits |
US6198767B1 (en) * | 1995-03-27 | 2001-03-06 | International Business Machines Corporation | Apparatus for color component compression |
JP2809126B2 (ja) * | 1995-03-30 | 1998-10-08 | 日本電気株式会社 | 音声信号処理回路および音声信号処理方法 |
US5729294A (en) * | 1995-04-05 | 1998-03-17 | International Business Machines Corporation | Motion video compression system with novel adaptive quantization |
US5694170A (en) * | 1995-04-06 | 1997-12-02 | International Business Machines Corporation | Video compression using multiple computing agents |
US5819004A (en) * | 1995-05-08 | 1998-10-06 | Kabushiki Kaisha Toshiba | Method and system for a user to manually alter the quality of previously encoded video frames |
US5623424A (en) * | 1995-05-08 | 1997-04-22 | Kabushiki Kaisha Toshiba | Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels |
US5612900A (en) * | 1995-05-08 | 1997-03-18 | Kabushiki Kaisha Toshiba | Video encoding method and system which encodes using a rate-quantizer model |
US5914712A (en) * | 1995-05-08 | 1999-06-22 | Video Jukebox Network, Inc. | Interactive video system |
GB2301970B (en) * | 1995-06-06 | 2000-03-01 | Sony Uk Ltd | Motion compensated video processing |
US6480664B1 (en) * | 1995-06-07 | 2002-11-12 | Hou-Chun Ting | Trick mode VTR which generates trick play data from a stream of images containing intra-pictures and predictive pictures and selects specific DCT coefficients for intra-pictures |
US5860086A (en) * | 1995-06-07 | 1999-01-12 | International Business Machines Corporation | Video processor with serialization FIFO |
KR0153671B1 (ko) * | 1995-06-30 | 1998-11-16 | 배순훈 | 고선명 텔레비젼 엔코더의 레이트 콘트롤러 |
FR2736743B1 (fr) * | 1995-07-10 | 1997-09-12 | France Telecom | Procede de controle de debit de sortie d'un codeur de donnees numeriques representatives de sequences d'images |
JP2795223B2 (ja) * | 1995-07-18 | 1998-09-10 | 日本電気株式会社 | 画像信号の符号化方法 |
EP1357758A3 (de) | 1995-08-02 | 2004-10-27 | Matsushita Electric Industrial Co., Ltd. | Videokodierungsgerät und -system mit Quantizierungskontrollverfahren und Durchschnittsdurchsatzberechnungsverfahren |
JPH0955941A (ja) * | 1995-08-16 | 1997-02-25 | Sony Corp | 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置 |
US5910909A (en) * | 1995-08-28 | 1999-06-08 | C-Cube Microsystems, Inc. | Non-linear digital filters for interlaced video signals and method thereof |
JPH0974566A (ja) * | 1995-09-04 | 1997-03-18 | Sony Corp | 圧縮符号化装置及び圧縮符号化データの記録装置 |
US5652629A (en) * | 1995-09-12 | 1997-07-29 | International Business Machines Corporation | Bidirectional motion estimation in a motion video compression system |
GB9519923D0 (en) * | 1995-09-29 | 1995-11-29 | Philips Electronics Nv | Motion estimation for predictive image coding |
US5675384A (en) * | 1995-10-03 | 1997-10-07 | Nec Usa, Inc. | VBR MPEG video encoding for ATM networks with dynamic bandwidth renegotiation |
US6160846A (en) * | 1995-10-25 | 2000-12-12 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
US6571019B1 (en) * | 1995-10-26 | 2003-05-27 | Hyundai Curitel, Inc | Apparatus and method of encoding/decoding a coded block pattern |
US6192081B1 (en) | 1995-10-26 | 2001-02-20 | Sarnoff Corporation | Apparatus and method for selecting a coding mode in a block-based coding system |
GB2306831B (en) * | 1995-10-30 | 2000-05-24 | Sony Uk Ltd | Video data compression |
US6037976A (en) * | 1995-10-31 | 2000-03-14 | Sarnoff Corporation | Method and apparatus for determining ambient conditions from an image sequence, such as fog, haze or shadows |
KR100355375B1 (ko) * | 1995-11-01 | 2002-12-26 | 삼성전자 주식회사 | 영상부호화장치에있어서양자화간격결정방법및회로 |
EP0804857B1 (de) * | 1995-11-15 | 2001-09-26 | Koninklijke Philips Electronics N.V. | Verfahren und vorrichtung zur steuerung der globalen bitrate einer vielzahl von kodierern |
US5717464A (en) * | 1995-12-18 | 1998-02-10 | Divicom, Inc. | Rate control for a video encoder |
US5761398A (en) * | 1995-12-26 | 1998-06-02 | C-Cube Microsystems Inc. | Three stage hierarchal motion vector determination |
US5801779A (en) * | 1995-12-26 | 1998-09-01 | C-Cube Microsystems, Inc. | Rate control with panic mode |
US5686963A (en) * | 1995-12-26 | 1997-11-11 | C-Cube Microsystems | Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers |
US5872598A (en) * | 1995-12-26 | 1999-02-16 | C-Cube Microsystems | Scene change detection using quantization scale factor rate control |
US6057893A (en) * | 1995-12-28 | 2000-05-02 | Sony Corporation | Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium |
KR970057947A (ko) * | 1995-12-28 | 1997-07-31 | 배순훈 | 영상 부호화기에서의 타입 결정 및 버퍼 제어 장치 |
US5963256A (en) * | 1996-01-11 | 1999-10-05 | Sony Corporation | Coding according to degree of coding difficulty in conformity with a target bit rate |
US5719632A (en) * | 1996-01-25 | 1998-02-17 | Ibm Corporation | Motion video compression system with buffer empty/fill look-ahead bit allocation |
KR0170735B1 (ko) * | 1996-01-29 | 1999-03-20 | 김광호 | 정지영상 데이터의 압축장치 |
US6957350B1 (en) | 1996-01-30 | 2005-10-18 | Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
US5731839A (en) * | 1996-02-06 | 1998-03-24 | David Sarnoff Research Center, Inc. | Bitstream for evaluating predictive video decoders and a method of generating same |
US5731835A (en) * | 1996-02-26 | 1998-03-24 | David Sarnoff Research Center, Inc. | Dynamic coding rate control in a block-based video coding system |
JP3493872B2 (ja) * | 1996-02-29 | 2004-02-03 | ソニー株式会社 | 画像データ処理方法およびその装置 |
US6100931A (en) * | 1996-03-19 | 2000-08-08 | Sony Corporation | Method and apparatus for controlling a target amount of code and for compressing video data |
US5844607A (en) * | 1996-04-03 | 1998-12-01 | International Business Machines Corporation | Method and apparatus for scene change detection in digital video compression |
CN1116768C (zh) * | 1996-04-12 | 2003-07-30 | 索尼公司 | 图像编码装置和方法 |
EP0804035B1 (de) | 1996-04-25 | 2002-06-26 | Matsushita Electric Industrial Co., Ltd. | Gerät und Verfahren zur Bewegtbildkodierung |
FR2748623B1 (fr) | 1996-05-09 | 1998-11-27 | Thomson Multimedia Sa | Encodeur a debit variable |
US6101276A (en) * | 1996-06-21 | 2000-08-08 | Compaq Computer Corporation | Method and apparatus for performing two pass quality video compression through pipelining and buffer management |
US6026217A (en) * | 1996-06-21 | 2000-02-15 | Digital Equipment Corporation | Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition storage and retrieval |
US6292589B1 (en) * | 1996-06-21 | 2001-09-18 | Compaq Computer Corporation | Method for choosing rate control parameters in motion-compensated transform-based picture coding scheme using non-parametric technique |
US5805228A (en) * | 1996-08-09 | 1998-09-08 | U.S. Robotics Access Corp. | Video encoder/decoder system |
US6337879B1 (en) * | 1996-08-14 | 2002-01-08 | Sony Corporation | Video data compression apparatus and method of same |
US6205253B1 (en) | 1996-08-19 | 2001-03-20 | Harris Corporation | Method and apparatus for transmitting and utilizing analog encoded information |
JP3318825B2 (ja) * | 1996-08-20 | 2002-08-26 | ソニー株式会社 | デジタル信号符号化処理方法、デジタル信号符号化処理装置、デジタル信号記録方法、デジタル信号記録装置、記録媒体、デジタル信号伝送方法及びデジタル信号伝送装置 |
JP3864461B2 (ja) * | 1996-08-30 | 2006-12-27 | ソニー株式会社 | 映像データ圧縮装置およびその方法 |
KR100553462B1 (ko) * | 1996-08-30 | 2006-10-11 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오전송시스템및비디오전송방법 |
FR2753330B1 (fr) * | 1996-09-06 | 1998-11-27 | Thomson Multimedia Sa | Procede de quantification pour codage video |
KR100297830B1 (ko) * | 1996-11-09 | 2001-08-07 | 윤종용 | 영상단위별 비트발생량 조절 장치 및 방법 |
US6094455A (en) * | 1996-09-25 | 2000-07-25 | Matsushita Electric Industrial Co., Ltd. | Image compression/encoding apparatus and system with quantization width control based on bit generation error |
US5818535A (en) * | 1996-09-30 | 1998-10-06 | Alaris, Inc. | Method and apparatus for adaptive hybrid motion video compression and decompression |
US5745058A (en) * | 1996-10-21 | 1998-04-28 | International Business Machines Corporation | Method and system for compressing microcode to be executed within a data processing system |
US6037985A (en) * | 1996-10-31 | 2000-03-14 | Texas Instruments Incorporated | Video compression |
DE69630122T2 (de) * | 1996-11-04 | 2004-05-27 | Alcatel | Verfahren und Vorrichtung zur Vorfilterung von Videobildern |
US6512775B1 (en) * | 1996-11-08 | 2003-01-28 | The Trustees Of Columbia University In The City Of New York | Method and apparatus for a programmable bitstream parser for audiovisual and generic decoding systems |
JPH10145773A (ja) * | 1996-11-14 | 1998-05-29 | Toshiba Corp | 動画像データの暗号化方法およびその方法が適用されるコンピュータシステム並びに動画像データ符号化/復号化装置 |
US6243417B1 (en) * | 1996-12-12 | 2001-06-05 | Sony Corporation | Device and method for encoding image data, and image data transmission method |
CN1151685C (zh) | 1997-02-12 | 2004-05-26 | 萨尔诺夫公司 | 编码系统中用于优化速率控制的装置和方法 |
US6272175B1 (en) * | 1997-02-13 | 2001-08-07 | Conexant Systems, Inc. | Video signal coding systems and processes using adaptive quantization |
EP1359766A3 (de) * | 1997-02-14 | 2005-02-16 | AT&T Corp. | Verfahren zur Erzeugung eines dequantizierten DC-Luminanz oder DC-Chrominanz Koeffizienten |
US6347116B1 (en) * | 1997-02-14 | 2002-02-12 | At&T Corp. | Non-linear quantizer for video coding |
US7269219B1 (en) | 1997-02-14 | 2007-09-11 | At&T Corp. | Non-linear quantizer for video coding |
US6577680B2 (en) * | 1997-03-12 | 2003-06-10 | Matsushita Electric Industrial Co., Ltd. | Video signal coding method and coding device adapted to control code amounts according to the characteristics of pictures |
US6553068B1 (en) * | 1997-03-12 | 2003-04-22 | Matsushita Electric Industrial Co., Ltd. | Video signal coding method and device adapted to control code amounts according to the characteristics of pictures |
US6178203B1 (en) * | 1997-04-03 | 2001-01-23 | Lsi Logic Corporation | Method and apparatus for two-row decoding of MPEG video |
US6067321A (en) * | 1997-04-03 | 2000-05-23 | Lsi Logic Corporation | Method and apparatus for two-row macroblock decoding to improve caching efficiency |
JP4061511B2 (ja) * | 1997-04-15 | 2008-03-19 | ソニー株式会社 | 符号化装置及び符号化方法 |
JP3588970B2 (ja) * | 1997-04-30 | 2004-11-17 | ソニー株式会社 | 信号符号化方法、信号符号化装置、信号記録媒体及び信号伝送方法 |
US6088392A (en) * | 1997-05-30 | 2000-07-11 | Lucent Technologies Inc. | Bit rate coder for differential quantization |
US6339616B1 (en) | 1997-05-30 | 2002-01-15 | Alaris, Inc. | Method and apparatus for compression and decompression of still and motion video data based on adaptive pixel-by-pixel processing and adaptive variable length coding |
CA2264834C (en) | 1997-07-08 | 2006-11-07 | Sony Corporation | Video data encoder, video data encoding method, video data transmitter, and video data recording medium |
US6023296A (en) * | 1997-07-10 | 2000-02-08 | Sarnoff Corporation | Apparatus and method for object based rate control in a coding system |
US6690833B1 (en) | 1997-07-14 | 2004-02-10 | Sarnoff Corporation | Apparatus and method for macroblock based rate control in a coding system |
US6192075B1 (en) * | 1997-08-21 | 2001-02-20 | Stream Machine Company | Single-pass variable bit-rate control for digital video coding |
FR2769453B1 (fr) * | 1997-10-06 | 2000-01-07 | Telediffusion Fse | Procede d'evaluation de la degradation d'une image video introduite par un systeme de codage et/ou de stockage et/ou de transmission numerique |
US6885702B1 (en) | 1997-10-06 | 2005-04-26 | Telediffusion De France | Method for spatial synchronization of a digitally coded video image and/or for identification of the syntax of a video sequence |
US5978029A (en) * | 1997-10-10 | 1999-11-02 | International Business Machines Corporation | Real-time encoding of video sequence employing two encoders and statistical analysis |
US6118822A (en) * | 1997-12-01 | 2000-09-12 | Conexant Systems, Inc. | Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes |
US6111914A (en) * | 1997-12-01 | 2000-08-29 | Conexant Systems, Inc. | Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes |
US6366704B1 (en) | 1997-12-01 | 2002-04-02 | Sharp Laboratories Of America, Inc. | Method and apparatus for a delay-adaptive rate control scheme for the frame layer |
DE19882097B3 (de) * | 1997-12-08 | 2012-12-20 | Sony Corp. | Codiereinrichtung und Codierverfahren |
GB2337392B (en) * | 1997-12-08 | 2002-04-17 | Sony Corp | Coding device and method |
US6067118A (en) * | 1997-12-16 | 2000-05-23 | Philips Electronics North America Corp. | Method of frame-by-frame calculation of quantization matrices |
US6192154B1 (en) * | 1998-01-26 | 2001-02-20 | International Business Machines Corporation | Two-pass encoding method of digital motion video sequences for constant-or variable bit rate |
US6181742B1 (en) * | 1998-01-26 | 2001-01-30 | International Business Machines Corporation | Single pass target allocation for video encoding |
US6459439B1 (en) * | 1998-03-09 | 2002-10-01 | Macromedia, Inc. | Reshaping of paths without respect to control points |
US6278735B1 (en) | 1998-03-19 | 2001-08-21 | International Business Machines Corporation | Real-time single pass variable bit rate control strategy and encoder |
US6895048B2 (en) * | 1998-03-20 | 2005-05-17 | International Business Machines Corporation | Adaptive encoding of a sequence of still frames or partially still frames within motion video |
CN1178518C (zh) | 1998-04-30 | 2004-12-01 | 皇家菲利浦电子有限公司 | 压缩数据的方法和装置 |
US6125147A (en) * | 1998-05-07 | 2000-09-26 | Motorola, Inc. | Method and apparatus for reducing breathing artifacts in compressed video |
US6212232B1 (en) | 1998-06-18 | 2001-04-03 | Compaq Computer Corporation | Rate control and bit allocation for low bit rate video communication applications |
US6804294B1 (en) * | 1998-08-11 | 2004-10-12 | Lucent Technologies Inc. | Method and apparatus for video frame selection for improved coding quality at low bit-rates |
CN1234246C (zh) * | 1998-09-29 | 2005-12-28 | 松下电器产业株式会社 | 可变比特率编码装置 |
US7039107B1 (en) | 1998-09-29 | 2006-05-02 | Siemens Aktiengesellschaft | Method and array for processing a digitized image with image points |
WO2000040032A1 (en) * | 1998-12-23 | 2000-07-06 | Koninklijke Philips Electronics N.V. | Adaptive buffer and quantizer regulation scheme for bandwidth scalability of video data |
KR20010041900A (ko) * | 1999-01-15 | 2001-05-25 | 요트.게.아. 롤페즈 | 화상 시퀀스를 코딩하고 노이즈 필터링하는 방법 및 장치 |
JP2000253397A (ja) * | 1999-03-01 | 2000-09-14 | Nec Corp | 動画像符号化装置 |
FR2791211B1 (fr) * | 1999-03-18 | 2001-10-19 | Cit Alcatel | Dispositif de regulation en debit ou en qualite d'un compresseur de donnees numeriques, notamment d'images |
KR100390115B1 (ko) * | 1999-04-12 | 2003-07-04 | 마츠시타 덴끼 산교 가부시키가이샤 | 화상 처리 방법, 화상 처리 장치 및 데이터 기억 매체 |
US6633673B1 (en) * | 1999-06-17 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Fast fade operation on MPEG video or other compressed data |
JP3807157B2 (ja) * | 1999-06-25 | 2006-08-09 | 日本ビクター株式会社 | 符号化装置及び符号化方法 |
JP2001086512A (ja) * | 1999-09-14 | 2001-03-30 | Nec Corp | 可変ビットレート符号化装置 |
US6754276B1 (en) * | 1999-09-20 | 2004-06-22 | Matsushita Electric Industrial Co., Ltd. | System stream creating apparatus which adjusts system clock reference based on total number of pictures to be stored and decoded during certain time period |
GB2356510B (en) | 1999-11-18 | 2004-04-21 | Sony Uk Ltd | Data compression |
US6754371B1 (en) * | 1999-12-07 | 2004-06-22 | Sony Corporation | Method and apparatus for past and future motion classification |
US6810082B1 (en) * | 1999-12-17 | 2004-10-26 | Koninklijke Philips Electronics N.V. | Chroma based adaptive signal peaking |
US6792047B1 (en) | 2000-01-04 | 2004-09-14 | Emc Corporation | Real time processing and streaming of spliced encoded MPEG video and associated audio |
US7096481B1 (en) | 2000-01-04 | 2006-08-22 | Emc Corporation | Preparation of metadata for splicing of encoded MPEG video and audio |
US6678332B1 (en) | 2000-01-04 | 2004-01-13 | Emc Corporation | Seamless splicing of encoded MPEG video and audio |
FI116819B (fi) * | 2000-01-21 | 2006-02-28 | Nokia Corp | Menetelmä kuvien lähettämiseksi ja kuvakooderi |
US6600836B1 (en) * | 2000-01-28 | 2003-07-29 | Qualcomm, Incorporated | Quality based image compression |
US6522693B1 (en) | 2000-02-23 | 2003-02-18 | International Business Machines Corporation | System and method for reencoding segments of buffer constrained video streams |
EP1137289B1 (de) * | 2000-03-13 | 2012-05-02 | Sony Corporation | Videoinhaltlieferung, -erzeugung, -umwandlung, und -wiedergabe |
US6382331B1 (en) * | 2000-04-17 | 2002-05-07 | Noble Drilling Services, Inc. | Method of and system for optimizing rate of penetration based upon control variable correlation |
US7091985B1 (en) | 2000-05-16 | 2006-08-15 | International Business Machines Corporation | System and method for compressing color data using expandable color palette |
JP2002077917A (ja) * | 2000-06-13 | 2002-03-15 | Sony Corp | 画像データ処理装置及び画像データ処理方法 |
KR100341063B1 (ko) * | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
US6771703B1 (en) | 2000-06-30 | 2004-08-03 | Emc Corporation | Efficient scaling of nonscalable MPEG-2 Video |
US6871006B1 (en) | 2000-06-30 | 2005-03-22 | Emc Corporation | Processing of MPEG encoded video for trick mode operation |
US7020205B1 (en) * | 2000-07-12 | 2006-03-28 | Thomson Licensing | Sending progressive video sequences suitable for MPEG and other data formats |
US7424058B1 (en) * | 2000-09-28 | 2008-09-09 | Autodesk, Inc. | Variable bit-rate encoding |
US7751683B1 (en) | 2000-11-10 | 2010-07-06 | International Business Machines Corporation | Scene change marking for thumbnail extraction |
US6937770B1 (en) | 2000-12-28 | 2005-08-30 | Emc Corporation | Adaptive bit rate control for rate reduction of MPEG coded video |
US7023924B1 (en) | 2000-12-28 | 2006-04-04 | Emc Corporation | Method of pausing an MPEG coded video stream |
US8374237B2 (en) * | 2001-03-02 | 2013-02-12 | Dolby Laboratories Licensing Corporation | High precision encoding and decoding of video images |
US6831947B2 (en) | 2001-03-23 | 2004-12-14 | Sharp Laboratories Of America, Inc. | Adaptive quantization based on bit rate prediction and prediction error energy |
US6907081B2 (en) * | 2001-03-30 | 2005-06-14 | Emc Corporation | MPEG encoder control protocol for on-line encoding and MPEG data storage |
WO2002082426A1 (en) * | 2001-04-09 | 2002-10-17 | Koninklijke Philips Electronics N.V. | Adpcm speech coding system with phase-smearing and phase-desmearing filters |
EP1386308B1 (de) * | 2001-04-09 | 2006-04-12 | Koninklijke Philips Electronics N.V. | Vorrichtung zur adpcm sprachkodierung mit spezifischer anpassung der schrittweite |
US7174561B2 (en) * | 2001-04-13 | 2007-02-06 | Emc Corporation | MPEG dual-channel decoder data and control protocols for real-time video streaming |
US9894379B2 (en) * | 2001-07-10 | 2018-02-13 | The Directv Group, Inc. | System and methodology for video compression |
US8111754B1 (en) | 2001-07-11 | 2012-02-07 | Dolby Laboratories Licensing Corporation | Interpolation of video compression frames |
US7266150B2 (en) * | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
US20030112863A1 (en) * | 2001-07-12 | 2003-06-19 | Demos Gary A. | Method and system for improving compressed image chroma information |
US6914936B1 (en) * | 2001-07-19 | 2005-07-05 | Bigband Networks, Inc. | Method for allocating media unit sequences among a plurality of output channels |
US6980594B2 (en) | 2001-09-11 | 2005-12-27 | Emc Corporation | Generation of MPEG slow motion playout |
US6968091B2 (en) * | 2001-09-18 | 2005-11-22 | Emc Corporation | Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs |
US6959116B2 (en) * | 2001-09-18 | 2005-10-25 | Emc Corporation | Largest magnitude indices selection for (run, level) encoding of a block coded picture |
US20030099294A1 (en) * | 2001-11-27 | 2003-05-29 | Limin Wang | Picture level adaptive frame/field coding for digital video content |
US6980596B2 (en) * | 2001-11-27 | 2005-12-27 | General Instrument Corporation | Macroblock level adaptive frame/field coding for digital video content |
DE60239586D1 (de) * | 2001-11-27 | 2011-05-12 | Samsung Electronics Co Ltd | Schlüsselwertkodierung und -dekodierung von Orientierungsinterpolatorknoten |
US6763068B2 (en) * | 2001-12-28 | 2004-07-13 | Nokia Corporation | Method and apparatus for selecting macroblock quantization parameters in a video encoder |
KR100468726B1 (ko) * | 2002-04-18 | 2005-01-29 | 삼성전자주식회사 | 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법 |
KR100954609B1 (ko) * | 2002-04-23 | 2010-04-26 | 노키아 코포레이션 | 비디오 부호화 시스템에서 양자화 변수들을 표시하는 방법및 장치 |
US20030202780A1 (en) * | 2002-04-25 | 2003-10-30 | Dumm Matthew Brian | Method and system for enhancing the playback of video frames |
US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
KR20040007818A (ko) * | 2002-07-11 | 2004-01-28 | 삼성전자주식회사 | 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 |
US7769084B1 (en) | 2002-07-15 | 2010-08-03 | Apple Inc. | Method for implementing a quantizer in a multimedia compression and encoding system |
US7418037B1 (en) * | 2002-07-15 | 2008-08-26 | Apple Inc. | Method of performing rate control for a compression system |
US7804897B1 (en) | 2002-12-16 | 2010-09-28 | Apple Inc. | Method for implementing an improved quantizer in a multimedia compression and encoding system |
US7940843B1 (en) * | 2002-12-16 | 2011-05-10 | Apple Inc. | Method of implementing improved rate control for a multimedia compression and encoding system |
FI116016B (fi) * | 2002-12-20 | 2005-08-31 | Oplayo Oy | Puskurointijärjestely |
JP2004274212A (ja) * | 2003-03-06 | 2004-09-30 | Renesas Technology Corp | 画像符号化装置 |
US7519115B2 (en) * | 2003-03-31 | 2009-04-14 | Duma Video, Inc. | Video compression method and apparatus |
JP2006525722A (ja) | 2003-05-06 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化及び復号化方法、並びに対応する符号化及び復号化装置 |
US7782940B2 (en) * | 2003-08-01 | 2010-08-24 | Polycom, Inc. | Methods for encoding or decoding in a videoconference system to reduce problems associated with noisy image acquisition |
US7430329B1 (en) * | 2003-11-26 | 2008-09-30 | Vidiator Enterprises, Inc. | Human visual system (HVS)-based pre-filtering of video data |
US7889792B2 (en) | 2003-12-24 | 2011-02-15 | Apple Inc. | Method and system for video encoding using a variable number of B frames |
US7809061B1 (en) | 2004-01-22 | 2010-10-05 | Vidiator Enterprises Inc. | Method and system for hierarchical data reuse to improve efficiency in the encoding of unique multiple video streams |
US7869503B2 (en) | 2004-02-06 | 2011-01-11 | Apple Inc. | Rate and quality controller for H.264/AVC video coder and scene analyzer therefor |
US7492820B2 (en) | 2004-02-06 | 2009-02-17 | Apple Inc. | Rate control for video coder employing adaptive linear regression bits modeling |
US7986731B2 (en) | 2004-02-06 | 2011-07-26 | Apple Inc. | H.264/AVC coder incorporating rate and quality controller |
US7453938B2 (en) | 2004-02-06 | 2008-11-18 | Apple Inc. | Target bitrate estimator, picture activity and buffer management in rate control for video coder |
US20050207501A1 (en) * | 2004-03-18 | 2005-09-22 | Sony Corporation | Method of and system for video bit allocation for scene cuts and scene changes |
US20060062481A1 (en) * | 2004-09-21 | 2006-03-23 | Markus Suvanto | Apparatuses, computer program product and method for bit rate control of digital image encoder |
US7474701B2 (en) * | 2004-09-23 | 2009-01-06 | International Business Machines Corporation | Single pass variable bit rate control strategy and encoder for processing a video frame of a sequence of video frames |
BRPI0518821B8 (pt) * | 2004-12-02 | 2019-08-27 | Interdigital Madison Patent Holdings | determinação de parâmetro de quantizador para controle de taxa em codificador de vídeo |
US20060174296A1 (en) * | 2005-01-05 | 2006-08-03 | Parikh Sandip S | System and method for evaluating predictive video decoders |
US7403562B2 (en) * | 2005-03-09 | 2008-07-22 | Eg Technology, Inc. | Model based rate control for predictive video encoder |
JP4687216B2 (ja) * | 2005-04-18 | 2011-05-25 | ソニー株式会社 | 画像信号処理装置、カメラシステム、および画像信号処理方法 |
US9667999B2 (en) * | 2005-04-25 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for encoding video data |
KR101170799B1 (ko) | 2005-05-21 | 2012-08-02 | 삼성전자주식회사 | 영상 압축 방법 및 그 장치와 영상 복원 방법 및 그 장치 |
US20060280242A1 (en) * | 2005-06-13 | 2006-12-14 | Nokia Corporation | System and method for providing one-pass rate control for encoders |
SG130962A1 (en) | 2005-09-16 | 2007-04-26 | St Microelectronics Asia | A method and system for adaptive pre-filtering for digital video signals |
US7809057B1 (en) * | 2005-09-27 | 2010-10-05 | Ambarella, Inc. | Methods for intra beating reduction in video compression |
US7822117B1 (en) * | 2005-09-30 | 2010-10-26 | Ambarella, Inc. | Video encoder rate control using bit usage measuring and allocating by macroblock classes |
US8160156B2 (en) * | 2006-02-01 | 2012-04-17 | Verint Systems, Inc. | System and method for controlling the long term generation rate of compressed data |
CN102611892B (zh) * | 2006-03-16 | 2014-10-08 | 华为技术有限公司 | 在编码过程中实现自适应量化的方法及装置 |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8077775B2 (en) * | 2006-05-12 | 2011-12-13 | Freescale Semiconductor, Inc. | System and method of adaptive rate control for a video encoder |
US7773672B2 (en) * | 2006-05-30 | 2010-08-10 | Freescale Semiconductor, Inc. | Scalable rate control system for a video encoder |
US8831089B1 (en) * | 2006-07-31 | 2014-09-09 | Geo Semiconductor Inc. | Method and apparatus for selecting optimal video encoding parameter configurations |
JP4358215B2 (ja) * | 2006-09-27 | 2009-11-04 | 株式会社東芝 | 動画像符号化装置及びその方法 |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8064517B1 (en) | 2007-09-07 | 2011-11-22 | Zenverge, Inc. | Perceptually adaptive quantization parameter selection |
CN101594525B (zh) * | 2008-05-31 | 2011-08-10 | 华为技术有限公司 | 量化参数的获取方法、装置及转码器 |
US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
WO2010017166A2 (en) | 2008-08-04 | 2010-02-11 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
JP5550032B2 (ja) * | 2008-08-05 | 2014-07-16 | 株式会社メガチップス | トランスコーダ |
WO2010022002A1 (en) * | 2008-08-19 | 2010-02-25 | Marvell World Trade Ltd | Systems and methods for perceptually lossless video compression |
US8325796B2 (en) * | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
CN101510950B (zh) * | 2008-10-10 | 2011-05-18 | 慧帝科技(深圳)有限公司 | 一种影像处理装置和方法 |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8879623B2 (en) * | 2009-09-02 | 2014-11-04 | Sony Computer Entertainment Inc. | Picture-level rate control for video encoding a scene-change I picture |
JP5484083B2 (ja) * | 2010-01-14 | 2014-05-07 | 株式会社メガチップス | 画像処理装置 |
TWI421798B (zh) * | 2010-04-27 | 2014-01-01 | Novatek Microelectronics Corp | 影像壓縮之位元率控制方法及其裝置 |
US8477050B1 (en) | 2010-09-16 | 2013-07-02 | Google Inc. | Apparatus and method for encoding using signal fragments for redundant transmission of data |
CN103748612B (zh) | 2011-01-24 | 2018-04-27 | 英特尔公司 | 用于获取、表示、比较和传输三维数据的方法和系统 |
US9215466B2 (en) * | 2011-01-31 | 2015-12-15 | Apple Inc. | Joint frame rate and resolution adaptation |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
GB2499843B (en) * | 2012-03-02 | 2014-12-03 | Canon Kk | Methods for encoding and decoding an image, and corresponding devices |
US20140192898A1 (en) * | 2013-01-04 | 2014-07-10 | Intel Corporation | Coding unit bit number limitation |
EP2941866A4 (de) * | 2013-01-04 | 2016-06-01 | Intel Corp | Codierungseinheit mit bitzahlbegrenzung |
TWI578763B (zh) * | 2013-02-28 | 2017-04-11 | 英特爾股份有限公司 | 編碼單元位元數限制 |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
FR3024313B1 (fr) * | 2014-07-25 | 2017-12-08 | Allegro Dvt | Codeur de video a debit variable |
US10419760B2 (en) | 2014-09-29 | 2019-09-17 | Sony Interactive Entertainment Inc. | Picture quality oriented rate control for low-latency streaming applications |
KR101631950B1 (ko) * | 2014-11-12 | 2016-06-20 | 삼성전자주식회사 | 전처리기법을 이용한 영상 부호화 방법 및 장치 |
US10264257B2 (en) * | 2015-06-30 | 2019-04-16 | Texas Instruments Incorporated | Video encoding |
US10178390B2 (en) * | 2016-03-30 | 2019-01-08 | Sony Interactive Entertainment Inc. | Advanced picture quality oriented rate control for low-latency streaming applications |
KR102543444B1 (ko) | 2017-08-29 | 2023-06-13 | 삼성전자주식회사 | 영상 부호화 장치 |
US10979747B2 (en) * | 2017-12-21 | 2021-04-13 | Arris Enterprises Llc | Statistical multiplexing system for variable bit rate encoding with constant bit rate encoder |
US10659514B2 (en) * | 2018-03-28 | 2020-05-19 | Arlo Technologies, Inc. | System for video monitoring with adaptive bitrate to sustain image quality |
IL298174A (en) * | 2020-05-14 | 2023-01-01 | Ssimwave Inc | Index-based content perceptual quality assessment and viewer-aware coding |
CN114363624B (zh) * | 2020-10-13 | 2023-03-31 | 北京大学 | 一种基于敏感度的码率分配特征压缩方法 |
CN113011287B (zh) * | 2021-03-02 | 2024-08-23 | 四川新先达测控技术有限公司 | 一种提高高斯信号分析精确度的方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3735349A1 (de) * | 1986-10-18 | 1988-04-28 | Toshiba Kawasaki Kk | Bildpresservorrichtung |
SE457402B (sv) * | 1987-02-20 | 1988-12-19 | Harald Brusewitz | Foerfarande och anordning foer kodning och avkodning av bildinformation |
US5051840A (en) * | 1988-12-14 | 1991-09-24 | Fuji Photo Film Co., Ltd. | Device for coding a picture signal by compression |
DE69031198T2 (de) * | 1989-06-09 | 1998-03-19 | Matsushita Electric Ind Co Ltd | Einrichtung zur orthogonalen Transformationskodierung |
JPH03129987A (ja) * | 1989-10-14 | 1991-06-03 | Sony Corp | 映像信号符号化装置及び映像信号符号化方法 |
DE69119936T2 (de) * | 1990-02-28 | 1996-11-14 | Victor Company Of Japan | Einrichtung zur Datenkompression |
US5150432A (en) * | 1990-03-26 | 1992-09-22 | Kabushiki Kaisha Toshiba | Apparatus for encoding/decoding video signals to improve quality of a specific region |
US5038209A (en) * | 1990-09-27 | 1991-08-06 | At&T Bell Laboratories | Adaptive buffer/quantizer control for transform video coders |
JP2514111B2 (ja) * | 1990-12-28 | 1996-07-10 | 日本ビクター株式会社 | フレ―ム間符号化出力デ―タ量制御方式及び画像符号化出力デ―タ量制御方法 |
US5111292A (en) * | 1991-02-27 | 1992-05-05 | General Electric Company | Priority selection apparatus as for a video signal processor |
JP3187097B2 (ja) * | 1991-10-17 | 2001-07-11 | 株式会社東芝 | 動画像符号化における符号量配分方法とこれを用いた動画像符号化方法及び装置 |
-
1991
- 1991-11-08 US US07/789,505 patent/US5231484A/en not_active Expired - Lifetime
-
1992
- 1992-08-27 CA CA002077058A patent/CA2077058C/en not_active Expired - Fee Related
- 1992-10-23 DE DE69233411T patent/DE69233411T2/de not_active Expired - Lifetime
- 1992-10-23 EP EP99113321A patent/EP0959628A3/de not_active Ceased
- 1992-10-23 EP EP92118193A patent/EP0540961B1/de not_active Expired - Lifetime
- 1992-10-23 EP EP99113320A patent/EP0959627B1/de not_active Expired - Lifetime
- 1992-10-23 DE DE69230704T patent/DE69230704T2/de not_active Expired - Lifetime
- 1992-11-02 CN CN92112782A patent/CN1035593C/zh not_active Expired - Lifetime
- 1992-11-05 TW TW081108848A patent/TW221085B/zh active
- 1992-11-05 JP JP4295717A patent/JP2818340B2/ja not_active Expired - Fee Related
- 1992-11-06 KR KR1019920020744A patent/KR960007264B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5231484A (en) | 1993-07-27 |
EP0959627B1 (de) | 2004-09-15 |
CN1035593C (zh) | 1997-08-06 |
JP2818340B2 (ja) | 1998-10-30 |
TW221085B (de) | 1994-02-11 |
CN1072554A (zh) | 1993-05-26 |
CA2077058C (en) | 1998-05-05 |
KR930011724A (ko) | 1993-06-24 |
DE69233411D1 (de) | 2004-10-21 |
EP0540961B1 (de) | 2000-02-23 |
JPH05252507A (ja) | 1993-09-28 |
EP0540961A2 (de) | 1993-05-12 |
EP0959628A2 (de) | 1999-11-24 |
EP0959627A2 (de) | 1999-11-24 |
EP0959628A3 (de) | 2002-01-30 |
EP0540961A3 (de) | 1994-08-31 |
DE69230704D1 (de) | 2000-03-30 |
EP0959627A3 (de) | 2002-01-30 |
DE69233411T2 (de) | 2005-09-22 |
KR960007264B1 (ko) | 1996-05-29 |
CA2077058A1 (en) | 1993-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69230704T2 (de) | Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung | |
DE69116869T2 (de) | Digitale bildkodierung mit einer zufallsabtastung der bilder | |
DE4228220B4 (de) | Vorrichtung zur hierarchischen Unterteilung von Videosignalen | |
DE4233543B4 (de) | Vorrichtung zur Steuerung der Quantisierung von Videodaten | |
DE60026241T2 (de) | Umschalten zwischen bitratenreduzierten Signalen | |
DE69738494T2 (de) | Videokodierungs- und Videodekodierungsvorrichtung | |
DE69827548T2 (de) | Anordnung zur Vorverarbeitung für MPEG-2-Kodierung | |
DE4228221B4 (de) | Vorrichtung zur Aufteilung von Videosignalen zwischen zwei Kanälen | |
EP1087625B1 (de) | Digitales Transcodiersystem | |
DE69434862T2 (de) | Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild | |
DE10300048B4 (de) | Verfahren und Vorrichtung zur Bildcodierung und -decodierung | |
DE69512548T2 (de) | Verfahren und Vorrichtung zur Vermeidung von wiederholenden Zufallsfehlern in Transformationskoeffizienten von Bewegtbildsignalen | |
DE69633129T2 (de) | Waveletbaum-bildcoder mit überlappenden bildblöcken | |
DE69810669T2 (de) | Verfahren zur rechnerisch graziösen Degradierung in einem audio-visuellen Kompressionssystem | |
DE69324090T2 (de) | Intraframefilter für Bildkompressionssysteme | |
DE69529636T2 (de) | Verfahren und Vorrichtung zur Bewegtbildkodierung | |
DE69801339T2 (de) | Verfahren und vorrichtung zur bestimmung der bit-ordnung in einem videokompressionssystem | |
DE69122595T2 (de) | Aufzeichnungs- und Abspielgerät | |
DE69633815T2 (de) | Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales | |
DE69831894T2 (de) | Signalkodierung, -aufnahme und -übertragung | |
DE69325771T2 (de) | Bildsignalkodierung | |
EP0687111A2 (de) | Verfahren zur Codierung/Decodierung eines Datenstroms | |
EP1025708B1 (de) | Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes | |
DE69428034T2 (de) | Bildsignalkodierung und -dekodierung | |
DE69322879T2 (de) | Verfahren und Vorrichtung zur Ratenreduktion für Bildaufzeichnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
R071 | Expiry of right |
Ref document number: 540961 Country of ref document: EP |