DE69624399T2 - Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung - Google Patents
Einrichtung zur Kompression von bewegten Videobildern mit adaptiver QuantisierungInfo
- Publication number
- DE69624399T2 DE69624399T2 DE69624399T DE69624399T DE69624399T2 DE 69624399 T2 DE69624399 T2 DE 69624399T2 DE 69624399 T DE69624399 T DE 69624399T DE 69624399 T DE69624399 T DE 69624399T DE 69624399 T2 DE69624399 T2 DE 69624399T2
- Authority
- DE
- Germany
- Prior art keywords
- image
- regions
- quantization
- macroblock
- pixels
- 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
- 238000013139 quantization Methods 0.000 title claims description 60
- 230000003044 adaptive effect Effects 0.000 title claims description 33
- 238000000034 method Methods 0.000 claims description 31
- 230000033001 locomotion Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 13
- 230000006835 compression Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 241001492237 Grapevine virus B Species 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012360 testing method Methods 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Discrete Mathematics (AREA)
- Theoretical Computer Science (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 bezieht sich auf das Gebiet der Datenkompression und insbesondere auf eine Einrichtung und auf ein Verfahren zum Komprimieren digitaler Signale bewegter Videobilder.
- Technologische Fortschritte bei digitalen Übertragungsnetzen, digitalen Speichermedien, Bausteinen der Großintegration und beim digitalen Verarbeiten von Video- und Audiosignalen konvergieren, um die Übertragung und Speicherung digitaler Videosignale bei einer großen Vielfalt von Anwendungen wirtschaftlich zu machen. Da die Speicherung und Übertragung digitaler Videosignale zentral für viele Anwendungen ist und weil eine unkomprimierte Darstellung eines Videosignals einen großen Umfang an Speicher erfordert, ist die Benutzung von Kompressionsverfahren für digitalisierte Videobilder lebenswichtig für diese fortschreitende Technik. In dieser Beziehung sind verschiedene internationale Normen für die Kompression digitaler Videosignale in der vergangenen Dekade aufgetaucht, wobei weitere gegenwärtig in Entwicklung sind. Diese Normen sind auf Algorithmen für die Übertragung und Speicherung komprimierter digitalisierter Videobilder in einer Vielfalt von Anwendungen anwendbar, die einschließen:
- Bildtelephonie und Telekonferenzen, digitale Fernsehübertragungen hoher Qualität über Koaxial- und Glasfasernetze wie auch terristischen Rundfunk und Satellitenrundfunk und interaktive Multimediaprodukte auf CD-ROM, digitales Audioband und Winchester-Plattenlaufwerke.
- Verschiedene dieser Normen schließen Algorithmen ein, die auf einem gemeinsamen Kern der Kompressionsverfahren basieren, z. B. die CCITT (Consultative Committee on International Telegraphy und Telephony)-Empfehlung H.120, die CCITT-Empfehlung H.261 und die ISO/IEC MPEG-1 und MPEG-2-Norxnen. Die MPEG-2-Norm ist von der Expertengruppe für bewegte Bilder (abgekürzt als MPEG = Moving Pictures Experts Group) entwickelt worden, Teil eines vereinigten technischen Komitees der Internationalen Normenorganisation (abgekürzt als ISO = International Standards Organisation) und der Internationalen Elektrotechnischen Kommission, (abgekürzt als IEC = International Electrical. Commission). Das MPEG-Komitee hat Normen für die im Multiplexverfahren erfolgende komprimierte Darstellung von Video- und zugehörigen Audiosignalen entwickelt. Die Normen spezifizieren die Syntax des komprimierten Bitstromes und das Verfahren des Decodierens, lassen aber beträchtlichen Spielraum für den Entwurf des Codierers.
- Eine der Aufgaben, die von dem Codierer durchgeführt werden, ist es, zu entscheiden, wie gut die verschiedenen Teile jedes Bildes (d. h. die Qualität jedes Teils nach der Rekonstruktion durch den Decodierer) darzustellen sind. Dies schließt typischerweise einen Kompromiss zwischen einer Anzahl von Codierüberlegungen ein. Zum Beispiel ist in MPEG-2-Codierern das Einstellen eines Quantisierungsparameters (QP) für jeden Makroblock das Hauptmittel, durch das der Codierer Qualität gegen das Erzeugen der Übertragungsgeschwindigkeit eintauscht. Dies gilt auf der Folge-Ebene und auf der Makroblock-Ebene: wenn alle die Werte der QP in einer Folge erhöht oder erniedrigt werden, dann wird die Qualität bzw. Übertragungsgeschwindigkeit der Folge erhöht oder erniedrigt. Wenn der QP für einen einzelnen MB erhöht oder erniedrigt wird, dann wird die Qualität und die Anzahl von Bits, die für diesen Makroblock benutzt werden, erhöht bzw. erniedrigt.
- Einige Regionen eines Bildes sind empfindlicher für Quantisierungsverzerrungen als andere Regionen. Das heißt, die Verzerrung, die durch das Benutzen eines großen Wertes für den QP verursacht wird, ist in einigen Regionen des Bildes auffälliger als in anderen. Daher kann ein Codierer versuchen, einen großen Wert des QPs in den Regionen des Bildes zu benutzen, wo dies keine ernstliche, wahrnehmbare Verschlechterung verursacht, und kleinere Werte für den QP in Regionen des Bildes, die empfindlicher für Quantisierungsverzerrungen sind. Dieser Prozess, der als adaptive Quantisierung bekannt ist, ist nicht Gegenstand der MPEG-Normen. Als Folge können zwei Codierer vollständig verschiedene Verfahren zur adaptiven Quantisierung benutzen und doch kann jeder gültige Bitströme erzeugen. Jedoch hängt die Gesamtqualität der Bilder, die aus dem Bitstrom decodiert werden, der durch einen Codierer erzeugt wurde, von der adaptiven Quantisierungseinheit ab. Darüberhinaus können verschiedene adaptive Quantisierungen verschiedene Implementierungskosten aufweisen.
- Das am nächsten kommende Dokument aus dem Stand der Technik VISUAL COMMUNICATIONS AND IMAGEPROCESSING '91: VISUAL COMMUNICATION, BOSTON, MA, USA, 11-13 NOV. 1991, vol. 1605, pt. 1,ISSN 0277-786X, PROCEEDINGS OF THE SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, 1991, USA, pages 534-545 vol.2, XP000479260 LAVAGETTO, F. ET AL.: 'Block adaptive quantisation of multiple frame motion field' offenbart, dass die Bewegungsschätzung erhalten wird durch ein Blockübereinstimmungs-Verfahren mit den Annahmen einer reinen Translationsbewegung und einer gleichförmigen Bewegung innerhalb eines Blocks. Die Übereinstimmungs-Funktion stellt für jeden Block den Unterschied des Luminanzsignals in dem zu codierenden Rahmen im Hinblick auf eine lineare Kombination von zwei verschobenen Blöcken der gleichen Größe in dem Bezugsrahmen dar. Der Mechanismus der adaptiven Quantisierung basiert auf dem Bewerten, auf einer Blockbasis, der lokalen Empfindlichkeit des Differenzsignals des verschobenen Rahmens zu einer Quantisierung der Feldparamter der Bewegung.
- Ein Video-Codierer, der eine adaptive Quantisierung benutzt, ist in dem US Patent 5 301 242 von Gonzales et al., mit dem Titel "Apparatus. and Method for Motion Video encoding employing an Adaptive quantiser" beschrieben.
- Ein anderes Beispiel eines Video-Codierers, der adaptive Quantisierung benutzt, ist in ISO-IEC/JTC1/SC29/WG21/NO-400, April 1993, mit dem Titel "Test Model 5" beschrieben. Dieses adaptive Quantisierungsverfahren basiert auf dem Berechnen der Varianz von Unterblöcken jedes Makroblocks.
- Im Hinblick auf das Obige schließt die vorliegende Erfindung eine Einrichtung und ein Verfahren zum Codieren von Videodaten unter Benutzen eines neuen, adaptiven Quantisierungs- Untersystems ein. Die Erfindung wird dargelegt im angefügten Verfahrensanspruch 1 und im Einrichtungsanspruch 4. Bei einem bevorzugten Ausführungsbeispiel wird jeder Makroblock in Unterblöcke unterteilt, deren jeder Generatoren für die Blockparameter zugeführt wird. Die Generatoren für die Blockparameter berechnen einen Blockparameter für die adaptive Quantisierung für jeden Unterblock, und aus diesen Parametern berechnet eine Parameter-Vereinigungseinheit einen Parameter für die adaptive Quantisierung des Makroblocks. Insbesondere berechnen die Generatoren für die Blockparameter lineare Kombinationen der Pixel in den Eingangs-Unterblöcken und bestimmen dann einen Blockparameter für die adaptive Quantisierung aus den linearen Kombinationen. Der Parameter für die adaptive Quantisierung des Makroblocks wird von dem Codierer benutzt, um die Quantisierungsstufe für den Makroblock zu bestimmen.
- Die Erfindung wird besser verstanden unter Bezugnahme auf die Zeichnung, in der:
- Fig. 1 ein beispielhaftes Paar von Gruppen vvn Bildern (GnVB) zeigt,
- Fig. 2 eine beispielhafte Makroblock (MB)-Unterteilung eines Bildes (für das 4 : 2 : 0-Format) zeigt,
- Fig. 3 eine beispielhafte Scheibenunterteilung eines Bildes zeigt,
- Fig. 4 ein Makroblockformat in einem rahmenstrukturierten, verschachtelten Bild zeigt,
- Fig. 5 ein Blockdiagramm eines üblichen Untersystems zum Erzeugen der Quantisierungsskala ist,
- Fig. 6; ein Blockschaltbild einer üblichen Einheit zur Bestimmung der endgültigen Quantisierungsskala ist, Fig. 7 ein übliches adaptives Quantisierungs-Untersystem zeigt,
- Fig. 8 die Blockunterteilung eines Makroblocks zeigt,
- Fig. 9 ein Blockschaltbild eines Blockparametergenerators gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist,
- Fig. 10 ein genaueres Schaltbild der linearen Transformationseinheit der Fig. 9 ist,
- Fig. 11 ein genaueres Schaltbild der Koeffizienten- Akkumulationseinheit der Fig. 9 ist,
- Fig. 12 ein Schaltbild einer Parameter-Vereinigungseinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist,
- Fig. 13 ein Schaltbild einer anderen Parameter- Vereinigungseinheit gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung ist,
- Fig. 14 eine bildliche Darstellung einer Hadamard-Transformation ist und Fig. 15 ein Überblick über ein Codierverfahren gemäß den Grundsätzen der vorliegenden Erfindung ist.
- Da die vorliegende Erfindung in Verbindung mit einem MPEG-2-Codierer angewendet werden kann, wird zum Erleichtern des Verständnisses der Erfindung ein Überblick über einige P sachdienliche Aspekte der MPEG-2-Video-Kompressionsnorm gegeben. Es ist jedoch zu beachten, dass die Erfindung auch auf andere Video-Codierungsalgorithmen angewandt werden kann, die einige der Merkmale der MPEG-2-Norm aufweisen.
- Um zu beginnen versteht es sich, dass die Kompression irgendeines Datenobjektes, z. B. einer Textseite, eines Bildes, eines Segmentes einer Rede oder eine Videosequenz als eine Folge von Schritten gedacht werden kann, die einschließen: 1) eine Zerlegung des Objektes in eine Sammlung von Zeichen, 2) die Darstellung dieser Zeichen durch binäre Zeichenfolgen, die eine minimale Länge in irgendeinem Sinn haben, und 3) die Verkettung der Zeichenfolgen in einer wohldefinierten Reihenfolge. Die Schritte 2 und 3 sind verlustlos, d. h. die Originaldaten können bei Umkehr genau wiedergewonnen werden, und Schritt 2 ist bekannt als Entropie-Codierung.
- Schritt 1 kann generell entweder verlustlos oder verlustbehaftet sein. Die meisten Video-Kompressionsalgorithmen sind wegen zwingender Forderung hinsichtlich der Übertragungsgeschwindigkeit verlustbehaftet. Ein erfolgreicher, verlustbehafteter Kompressionsalgorithmus eliminiert redundante und irrevelevante Informationen, was relativ große Fehler zulässt, wo sie wahrscheinlich nicht visuell bedeutsam und nicht sorgfältig darstellende Aspekte einer Folge sind, für die der menschliche Beobachter sehr empfindlich ist. Die Verfahren, die bei der MPEG-2-Norm für den Schritt 1 verwendet werden, können als vorhersagende/interpolierende, bewegungskompensierte, hybride DKT/DPCM-Codierung beschrieben werden. Huffmann- Codierung, die auch als Codierung variabler Länge bekannt ist, wird im Schritt 2 benutzt. Obgleich, wie erwähnt, die MPEG-2-Norm wirklich eine Spezifizierung des Decodierers und der Syntax für den komprimierten Bitstrom ist, erfolgt die folgende Beschreibung der MPEG-2-Spezifizierung zur leichteren Darstellung hauptsächlich aus einem Gesichtspunkt des Codierers.
- Die MPEG-Video-Normen spezifizieren eine codierte Darstellung des Videos für die Übertragung. Die Normen sind entworfen, um mit verschachtelten und nichtverschachtelten Videokomponenten zu arbeiten. Jedes Bild besitzt drei Komponenten: Luminanz (Y), Rotfarbdifferenz Cr und Blaufarbdifferenz Cb. Die Cr- und Cb-Komponenten haben jede halb soviel Proben wie die Y-Komponente, sowohl in horizontaler als auch in vertikaler Richtung.
- Ein MPEG-Datenstrom besteht aus einem Videostrom und einem Audiostrom, die zusammen mit Systeminformationen und möglicherweise anderen Bitströmen in einen Systemdatenstrom zusammengepackt sind, der als geschichtet betrachtet werden kann. Innerhalb der Video-Schicht des MPEG-Datenstroms sind die komprimierten Daten weiter geschichtet. Eine Beschreibung der Organisation der Schichten hilft zum Verständnis der Erfindung.
- Die Schichten beziehen sich auf die Arbeitsweise des Kompressionsschemas als auch auf die Zusammensetzung des komprimierten Bitstromes. Die höchste Schicht ist die Videobildfolgen-Schicht, die Steuerinformationen und Parameter für die gesamte Folge enthält. In der nächsten Schicht ist eine Folge in Mengen aufeinanderfolgender Bilder unterteilt, von denen jede als eine Gruppe von Bildern (GVB) bekannt ist. Eine allgemeine Darstellung dieser Schicht ist in Fig. 1 gezeigt. Das Decodieren kann am Beginn irgendeiner GVB beginnen, im Wesentlichen unabhängig von den vorhergehenden GnVB. Es gibt keine Grenze für die Anzahl von Bildern, die sich in einer GVB befinden, noch muss eine gleiche Anzahl von Bildern in allen GnVB vorhanden sein.
- Die dritte oder "Bild"-Schicht ist ein einzelnes Bild. Eine Darstellung einer "Makroblock"-Unterteilung eines Bildes ist in Fig. 2 dargestellt. Die Luminanzkomponente des Bildes ist in 16 · 16 Regionen unterteilt; die Farbdifferenzkomponenten sind in Blöcke geeigneter Größe unterteilt, die räumlich zusammen mit den 16 · 16 Luminanzregionen plaziert sind. Für ein 4 : 4 : 4-Video sind die Farbdifferenzkomponenten 16 · 16, für ein 4 : 2 : 2-Video sind die Farbdifferenzkomponenten 8 · 16 und für ein 4 : 2 : 0-Video sind die Farbdifferenzkomponenten 8 · 8. Zusammengenommen bilden diese zusammen plazierte Luminanzregion und die Farbdifferenzregionen die fünfte Schicht, die als "Makroblock" (MB) bekannt ist. Makroblöcke in einem Bild werden fortlaufend in der Reihenfolge der Zeilenabtastung nummeriert.
- Zwischen dem Bild und den MB-Schichten befindet sich die vierte oder "Scheiben"-Schicht. Jede Scheibe besteht aus einer Anzahl aufeinanderfolgender MBe. Scheiben müssen nicht von gleichförmiger Größe innerhalb eines Bildes oder von Bild zu Bild sein. Ein Beispiel einer Unterteilung eines Bildes in Scheiben ist in Fig. 3 dargestellt.
- Schließlich besteht jeder MB aus 8 · 8 Luminanzblöcken und 8, 4 oder 2 (für 4 : 4 : 4, 4 : 2 : 2 und 4 : 2 : 0 Videos) Chrominanzblöcken. Wenn die Breite jedes Luminanzbildes (in Bildelementen oder Pixeln) als S bezeichnet wird und die Höhe als Z (S steht für Spalten, Z für Zeilen), ist ein Bild 5/16 MBe breit und Z/16 MBe hoch.
- Die Folge GVB, das Bild und die Scheibenschichten haben alle ihnen zugeordnete Vorsätze. Die Vorsätze beginnen mit byte-ausgerichteten "Startcodes" und enthalten Informationen, die sich auf die Daten beziehen, die in der entsprechenden Schicht enthalten sind.
- Ein Bild kann entweder ein feldstrukturiertes oder ein rahmenstrukturiertes sein. Ein rahmenstrukturiertes Bild enthält Informationen, um einen gesamten Rahmen zu rekonstruieren, d. h. zwei Felder von Daten. Ein feldstrukturiertes Bild enthält Informationen, um ein Feld zu rekonstruieren. Wenn die Breite jedes Luminanzrahmens (in Bildelementen oder Pixeln) als S bezeichnet wird und die Höhe als Z (S steht für Spalten, Z für Zeilen), enthält ein rahmenstrukturiertes Bild Informationen für S X Z Pixel, und ein feldstrukturiertes Bild enthält Informationen für S X Z/2 Pixel.
- Ein Makroblock in einem feldstrukturierten Bild enthält ein 16 · 16 Pixelsegment eines einzigen Feldes. Ein Makroblock in einem rahmenstrukturierten, nichtverschachtelten Bild enthält ein 16 · 16-Pixelsegment eines nichtverschachtelten Rahmens. Ein Makroblock in einem rahmenstrukturierten, verschachtelten Bild enthält ein 16 · 16-Pixelsegment des Rahmens, den beide Felder bilden. Jeder Makroblock enthält eine 16 · 8-Region von jeden von zwei Feldern. Eine Darstellung eines Makroblocks in einem rahmenstrukturierten, verschachtelten Bild ist in Fig. 4 dargestellt. Jedes "X" oder "O" in Fig. 4 stellt ein einzelnes Pixel dar. Die Os stellen Pixel des obersten Feldes dar und die Xs stellen Pixel des unteren Feldes dar.
- Jeder Rahmen in einer MPEG-2-Folge muss aus zwei codierten Feldbildern oder einem codierten Rahmenbild bestehen. Es ist zum Beispiel illegal, zwei Rahmen als ein feldstrukturiertes Bild zu codieren, auf das ein rahmenstrukturiertes Bild folgt, auf das ein feldstrukturiertes Bild folgt; die legalen Kombinationen sind: zwei rahmenstrukturierte Bilder, vier feldstrukturierte Bilder, zwei feldstrukturierte Bilder, auf die ein rahmenstrukturiertes Bild folgt, oder ein rahmenstrukturiertes Bild, auf das zwei feldstrukturierte Bilder folgen. Daher kann man sich, während es in der MPEG-2-Syntax keinen Rahmenvorsatz gibt, konzeptionell eine Rahmen-Schicht in MPEG-2 vorstellen.
- Innerhalb einer GVB können drei "Arten" von Bildern erscheinen. Das unterscheidende Merkmal unter diesen Bildarten ist das benutzte Kompressionsverfahren. Die erste Art, Intramodus-Bilder oder I-Bilder, werden unabhängig von irgendeinem anderen Bild komprimiert. Obgleich es keine feste obere Grenze für den Abstand zwischen I-Bildern gibt, wird erwartet, dass sie häufig in eine Folge eingestreut sind, um den wahlfreien Zugriff und andere spezielle Betriebsarten zu erleichtern. Aufgrund von Vorhersagen bewegungskompensierte Bilder (V-Bilder) werden aus den komprimierten Daten in diesem Bild und zwei jüngst rekonstruierten Feldern vorher angezeigter I-oder V-Bilder rekonstruiert. In zwei Richtungen bewegungskompensierte Bilder (Z-Bilder) werden rekonstruiert aus den komprimierten Daten in diesem Bild plus zwei rekonstruierten Feldern früher angezeigter I- oder V-Bilder und zwei rekonstruierten Feldern von I- oder V-Bildern, die in Zukunft angezeigt werden. Da rekonstruierte I- oder V-Bilder benutzt werden können, um andere Bilder zu rekonstruieren, werden sie Ankerbilder genannt. Für die Zwecke dieser Beschreibung wird auf ein Ankerbild Bezug genommen als auf ein Anschlussbild, wenn das nächste Ankerbild ein I-Bild ist.
- Ein sehr nützliches Bildkompressionsverfahren ist die Transformationscodierung. In den MPEG-Normen und verschiedenen anderen Kompressionsnormen ist die diskrete Kosinustransformation (DKT) die Transformation der Wahl. Die Kompression eines I-Bildes wird erreicht durch die Schritte des 1) Benutzens der DKT von Blöcken von Pixeln, 2) Quantisierens der DKT-Koeffizienten und 3) Huffman-Codierens des Ergebnisses. Bei den MPEG-Normen wandelt die DKT-Operation einen Block von 8 · 8 Pixeln in einen 8 · 8 Satz von Transformationscoeffizienten um. Die DKT-Transformation selbst ist eine verlustfreie Operation, die auch innerhalb der Genauigkeit des Rechengerätes und des Algorithmus, mit der sie durchgeführt wird, invertiert werden kann.
- Der zweite Schritt, Quantisierung der DKT-Koeffizienten, ist die Hauptquelle des Verlustes in den MPEG-Normen. Wenn die Elemente der zweidimensionalen Matrix von DKT-Koeffizienten mit kan bezeichnet werden, wobei m und n neben den Abbruch- oder Rundungskorrekturen von 0 bis 7 reichen können, wird die Quantisierung erreicht durch Dividieren jedes DKT-Koeffizienten kan durch gmn X QP, wobei gmn ein Gewichtsfaktor ist und QP der Makroblock-Quantisierer ist. Der Gewichtsfaktor gmn erlaubt, dass eine grobere Quantisierung auf die visuell weniger bedeutenden Koeffizienten angewandt werden kann.
- Nach der Quantisierung werden die Informationen bezüglich der DKT-Koeffizienten für jeden MB organisiert unter Benutzen eines Satzes von Huffman-Codes. Da die Einzelheiten dieses Schrittes für das Verständnis der Erfindung nicht wesentlich sind und generell in der Technik verstanden werden, wird hier keine weitere Beschreibung angeboten.
- Die meisten Videobild-Folgen zeigen einen hohen Grad von Korrelation zwischen aufeinanderfolgenden Bildern. Ein nützliches Verfahren, diese Redundanz vor dem Codieren eines Bildes zu entfernen, ist "Bewegungskompensation".
- Bewegungskompensation kann wie folgt beschrieben werden. Für jeden Makroblock werden ein oder mehrere Bewegungsvektoren in dem Bitstrom codiert. Diese Bewegungsvektoren gestatten dem Decodierer, einen Makroblock, der als vorhersagender Makroblock bezeichnet wird, aus Daten in Ankerbildern zu rekonstruieren. Der Codierer subtrahiert den vorhersagenden Makroblock von dem Makroblock, der zu codieren ist, um den Differenz-Makroblock zu bilden. Der Codierer benutzt zum Komprimieren des Differenz- Makroblocks Hilfsmittel, die im Wesentlichen den Hilfmitteln ähnlich sind, die benutzt werden, um den Intra-Makroblock zu komprimieren.
- Ln V-Bildern wird die Bewegungskompensation benutzt, um den vorhersagenden Makroblock aus Ankerbildern aufzubauen, die zu einem früheren Zeitpunkt als das laufende Bild auftauchten. In Z-Bildern wird die Bewegungskompensation dazu benutzt, den vorhersagenden Makroblock aus Ankerbildern aufzubauen, die zu einem früheren Zeitpunkt und zeitlich später als das laufende Bild auftraten.
- Das MPEG-2-Kompressionsverfahren kann mit einem Übertragungs- oder Speichermedium mit fester oder variabler Übertragungsgeschwindigkeit benutzt werden. Während der Codierer für eine variable Übertragungsgeschwindigkeit mehr Freiheit besitzt, zu bestimmen, wieviele Bits in jedem Makroblock (oder jedem Bild) zu benutzen sind, besitzt der Codierer doch nicht vollständige Freiheit; er ist durch die Spitzenübertragungsgeschwindigkeit oder das Speichermedium und die Größe des Decodiererpuffers beschränkt.
- Ob die MPEG-2-Norm mit einem Übertragungs- oder Speichermedium mit fester oder variabler Übertragungsgeschwindigkeit benutzt wird, der Codierer muss nicht die gleiche Anzahl von Bits in jedem Makroblock benutzen oder gar in jedem Bild. Der Codierer bekommt diese Freiheit mittels eines Puffers, der vor den Eingang des Decodierers plaziert ist. Das Speicher- oder Übertragungsmedium füllt den Puffer des Decodierers, aber der Decodierer kann seinen Puffer bei einer im Wesentlichen willkürlich schnellen Geschwindigkeit leeren.
- Während der Codierer nicht die gleiche Anzahl von Bits für jeden Makroblock oder für jedes Bild benutzen muss, sieht er sich doch Beschränkungen für die Anzahl von Hits, die erzeugt werden können, gegenüber. Die MPEG-2-Norm gibt Einzelheiten dieser Beschränkungen an. Zum Beispiel kann im Fall der festen Übertragungsgeschwindigkeit die durchschnittliche Übertragungsgeschwindigkeit des Codierers während langer Zeiträume nur um einen geringen Betrag von der Übertragungsgeschwindigkeit des Kanals variieren oder der Puffer des Decodierers hat sonst Überlauf oder Unterlauf.
- Wie bemerkt ist das Einstellen des QPs für jeden Makroblock das Hauptmittel, durch das der Codierer bei der MPEGQ-2-Norm Qualität gegen die Erzeugung der Übertragungsgeschwindigkeit tauscht. Dies gilt sowohl auf der Ebene der Folgen als auch auf der Makroblockebene: wenn alle die Werte des QPs in einer Folge erhöht oder erniedrigt werden, dann wird die Qualität und die Übertragungsgeschwindigkeit der Folge erhöht bzw. erniedrigt. Wenn der QP für einen einzelnen MB erhöht oder erniedrigt wird, dann wird die Qualität und die Anzahl der Bits, die für diesen Makroblock benutzt werden, erhöht bzw. erniedrigt.
- Einige Regionen eines Bildes sind "empfindlicher" für Quantisierungsverrzerrungen als andere Regionen. Das heißt, die Verzerrung, die durch Benutzen eines großen Wertes für den QP verursacht wird, ist in einigen Regionen des Bildes merklicher als in anderen. Daher kann ein Codierer versuchen, einen großen Wert des QPs in Regionen des Bildes zu benutzen, wo dies keine ernsthafte, wahrnehmbare Verschlechterung verursacht, und kleinere Werte für den QP in Regionen des Bildes, die für Quantisierungsverrzerrungen empfindlicher sind. Dieser Prozess, der als adaptive Quantisierung bekannt ist, ist nicht ein Gegenstand: der MPEG-Normen. Daher können zwei Codierer vollständig unterschiedliche Geräte oder Verfahren für die adaptive Quantisierung benutzen und doch kann jeder gültige Bitströme erzeugen. Jedoch hängt die Qualität der Bilder, die aus einem Bitstrom decodiert wurden, der durch einen Codierer erzeugt würde, von der Einheit für adaptive Quantisierung ab. Darüberhinaus können unterschiedliche adaptive Quantisierungen unterschiedliche Implementierungskosten aufweisen.
- Ein Überblick über ein Codierverfahren gemäß den Grundsätzen der vorliegenden Erfindung wird zuerst mit Bezugnahme auf Fig. 15 beschrieben.
- Im Schritt 1502 wird ein digitalisiertes Bild in den Codierer eingegeben. Im Schritt 1504 unterteilt der Codierer das Bild in eine Anzahl von Regionen und unterteilt dann im Schritt 1506 jede Region in eine Anzahl von Unterregionen. Im Schritt 1508 berechnet der Codierer lineare Kombinationen von Pixeln in jeder Unterregion. Im Schritt 1510 bestimmt der Codierer einen Parameter für die adaptive Quantisierung der Unterregion für jede der Unterregionen als Funktion der linearen Kombinationen. Die Funktion erstellt eine Grobheitstoleranz für jede Unterregion.
- Im Schritt 1512 bestimmt der Codierer einen regionalen Quantisierungsparameter für jede Region als Funktion der unterregionalen Parameter für die adaptive Quantisierung und bestimmt dann im Schritt 1514 eine Quantisierungsstufe für jede der Regionen, basierend auf dem regionalen Quantisierungsparameter.
- Nachdem die regionale Quantisierungsstufe für eine Region bestimmt worden ist, wird sie im Schritt 1516 transformationscodiert. Für ein stehendes Bild werden die Pixeldaten selbst transformationscodiert. Für ein bewegtes Bild, das mit Bewegungskompensation codiert wurde, wird das Differenzsignal zur Bewegungskompensation transformationscodiert.
- Im Schritt 1518 werden die transformationscodierten Darstellungen der Regionen verkettet, um eine codierte Darstellung des gesamten Bildes zu erhalten. Die codierte Darstellung des gesamten Bildes wird im Schritt 1520 decodiert und dann angezeigt oder im Schritt 1522 gespeichert.
- Eine der Aufgaben, die ein Codierer durchführt, besteht darin, den QP für jeden MB einzustellen. Ein übliches Gerät für das Einstellen des QPs ist in Fig. 5 dargestellt. Die Einheit 101 für die adaptive Quantisierung erzeugt ein Signal Q1 für jeden Makroblock. Dieses Signal beschreibt, wie empfindlich der Makroblock gegenüber Quantisierungsverzerrungen ist. Die Steuereinheit 102 für die Übertragungsgeschwindigkeit erzeugt ein Signal Q2, das die Gesamtquantisierungsstufe beschreibt, die benutzt werden muss, um die Ziel-Übertragungsgeschwindigkeit zu erreichen (oder eine maximale Übertragungsgeschwindigkeit nicht zu überschreiten). Die Bestimmungseinheit 103 für die endgültige Quantisierungsskala kombiniert diese beiden Zahlen, um den Wert für den QP zu erzeugen, der in jedem Makroblock benutzt werden wird.
- Die in Fig. 6 dargestellte Einheit zur Bestimmung der endgültigen Quantisierungsskala besitzt zwei Eingänge, Q1 und Q2. Deren Signale werden zu einem Multiplizierer 201 geschickt, der ein Ausgangssignal d erzeugt, das gleich dem Produkt von Q1 und Q2 ist. Die Rundungseinheit 202 erzeugt ein Ausgangssignal QP, das der legale Wert für den QP ist, der d am nächsten kommt.
- Fig. 7 gibt einen Überblick über ein übliches Untersystem für adaptive Quantisierung, das für die Anwendung der vorliegenden Erfindung geeignet ist. Es gibt zwei Eingangssignale und ein Ausgangssignal für das Untersystem für adaptive Quantisierung. Die Eingangssignale sind Luminanzwerte m der Pixel des Makroblocks m und eine Parametermenge p. Der Ausgang ist der Wahrnehmungsquantisierer Q1. Die Luminanzwerte der Pixel des Makroblocks werden zu einer Blockbildungseinheit 301 geschickt. Die Blockbildungseinheit bildet K Blöcke von Pixeln, die als Signale a1, a2, ... ak dargestellt sind. Jedes dieser Signale enthält eine (nicht notwendigerweise geeignete) Untermenge der der Pixelwerte des Luminanz-Makroblocks. Die Pixelblöcke a1, a2, ... ak werden zu einem Satz von Parametergeneratoren 302_1, 302_2, ... 302_K geschickt. Für jeden MB empfängt ein Blockparametergenerator einen Block von Pixeln und erzeugt eine einzige Zähl. Die Zahlen sind die Signale b1, b2, ... bk, die in Fig. 7 dargestellt sind. Die Blockparametergeneratoren 302_1, 302_2,:... 302_K erzeugen jeweils b1, b2, ... bk. Die Signale b1, b2, ...bk wie auch die Parametermenge p werden zu einer. Parameter-Vereinigungseinheit 303 geschickt. Die Parametervereinigungseinheit erzeugt den Wahrnehmungsquantisierer Q2.
- Die Arbeitsweise eines Ausführungsbeispieles der Blockbildungseinheit kann mit Hilfe der Fig. 8 erklärt werden. Für dieses Ausführungsbeispiel bildet die Blockformationseinheit 8 Unterblöcke. Fig. 8 besitzt zwei Darstellungen der Luminanz- Pixel in einem MB. Bei jeder Darstellung wird ein Pixel durch eine Zahl dargestellt. Die mit "1" bezeichneten Pixel gehen zum Unterblock a1. die mit "2" bezeichneten Pixel gehen zum Unterblock a2 usw. Beachte, dass die Unterblöcke überlappend sind.
- Diese besondere Blockbildungseinheit ist für Makroblöcke in rahmenstrukturierten, verschachtelten Bildern nützlich. Für feldstrukturierte oder nichtverschachtelte Bilder ist es häufig besser, nur die Unterblöcke a1, a2, a3 und a4 zu benutzen. Obwohl dieses Ausführungsbeispiel Unterblockgrößen von 8 · 8 Pixeln benutzt, sind andere Blockgrößen möglich.
- Fig. 9 zeigt eine verbesserte Einheit zur Blockparametererzeugung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Ein Pixel-Unterblock a wird in eine lineare Transformationseinheit 401 eingegeben, (die genauer durch Bezugnahme auf Fig. 10 beschrieben wird,) die lineare Kombinationen (c1, c2, ... cm) der Pixelwerte für jeden Eingangsunterblock a erzeugt. Die linearen Kombinationen c1, c2, ...cm werden einer Koeffizienten-Akkumulationseinheit 402 zugeführt (,die genauer durch Bezugnahme auf Fig. 11 beschrieben wird), die einen Parameter b für die adaptive Quantisierung eines Blockes aus c1, c2, ... cm errechnet.
- Fig. 10 ist ein genaueres Schaltbild der Einheit 401 zur linearen Transformation. Diese Einheit hat m Speichereinheiten 501_1, 502_2... 501_ m. Jede Speichereinheit enthält einen Transformationskoeffizienten für jedes Pixel in dem Eingangsblock a. Es gibt m Akkumulatoren 502_3, 502_3, ... 502_m in der Einheit zur linearen Transformation. Die Anzahl m von Speichereinheiten und Akkumulatoren kann gewählt werden, beispielsweise als gleich mit der Anzahl von Pixeln in einem Unterblock (,die bei dem vorliegenden Ausführungsbeispiel 64 beträgt). Jeder Akkumulator wird auf Null initialisiert, bevor ein Unterblock eingelesen wird.
- Wenn das erste Element des Unterblocks eingelesen wird, schicken die Speichereinheiten 501_1, 501_2... den ersten Transformationskoeffizienten aus ihren jeweiligen Speichern ab, die als die Signale e1, e2, ... cm dargestellt sind, die mit dem ersten Pixel in dem Eingangsblock zu multiplizieren sind unter Benutzung der Multiplizierer 503_1, 503_2, ... 503_m. Die Ergebnisse der Multiplikationen sind die Signale f1, f2, ... fm. Diese Signale werden durch die Addierer 504_1, 504_3, ... 504_m jeweils zu den Inhalten der Akkumulatoren 502_1, 502_2, ... 502_m addiert, und die Ergebnisse werden in die jeweiligen Akkumulatoren zurückgespeichert. Wenn das zweite Element, des Unterblocks eingelesen wird, schicken die Speichereinheiten 501_1, 501..2 die zweiten Transformationskoeffizienten von ihren jeweiligen Speichern ab, damit sie mit dem zweiten Pixel in dem Eingangsunterblock multipliziert werden. Diese Produkte werden jeweils zu den Inhalten der Akkumulatoren 502_1, 502_2, ... 502_m addiert, und die Ergebnisse werden in den jeweiligen Akkumulatoren zurückgespeichert. Das Verfahren wird fortgeführt, bis der gesamte Block eingelesen ist. Dann speichern die Akkumulatoren die Ausgangssignale c1, c2, ... cm.
- Die Einheit zum Akkumulieren der Koeffizienten ist genauer in Fig. 11 gezeigt. Die Eingangssignale c1, c2, ... cm werden jeweils den Einheiten für die absoluten Werte 601_1 601_2, 601 in zugeführt, die die die Signale g1, g2, .. gm erzeugen, wobei gi gleich dem absoluten Wert c1 für alle i ist. Die Signale g1, g2, ... gm werden dann einer Reihe von Normierern 602_1, 602_2, ... 602_m zugeführt. Diese Normierer berechnen jeweils h1, h2, ... hm, wobei hi gleich ist dem Produkt von g1 und Si für alle i, wobei Si die Konstantennormierer sind. Die Signale h1, h2, ... hm werden in einem Addierer 603 aufsummiert, und das Ergebnis ist das Ausgangssignal b.
- Eine verbesserte Parameter-Vereinigungseinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist genauer in Fig. 12 dargestellt. Die Eingangssignale zu dieser Parameter- Vereinigungseinheit sind b1, b2, ... bk und p1, p2, p3, p4. Für dieses Ausführungsbeispiel der Parameter-Vereinigungseinheit bilden p1, p2, p3 und p4 die Parametermenge p in Fig. 6. Die Parameter p1 und b1, b2, ... bk werden zu einer Minimumschaltung 701 geschickt, die ein Ausgangssignal r0 erzeugt, das gleich dem Minimum p1 und b1, b2, ... bk ist. Das Signal r0 wird dann mit dem Parameter p2 in dem Multiplizierer 702 multipliziert, und das Ergebnis ist r1 = p2 · r0. Die Maximumschaltung 703 berechnet r2, was der größere der Werte von r1 und p3 ist. Der Addierer 704 berechnet Q1 = r2 + p4. Q1 ist der Parameter für die adaptive Quantisierung des Makroblocks.
- Eine andere Parameter-Vereinigungseinheit bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung ist in Fig. 13 dargestellt. Die Eingänge zu dieser Parameter- Vereinigungseinheit sind b1, b2, ... bk und p5 und p6. Für dieses Ausführungsbeispiel der Parameter-Vereinigungseinheit bilden p5 und p6 die Parametermenge p in Fig. 6. Die Signale b1, b2, ... bk werden zu einer Minimumschaltung 801 geschickt, die ein Ausgangssignal t1 erzeugt, das gleich dem Minimum von b1, b2, ... bk ist. Das Signal t1 wird zu einer Quadrierungseinheit 802 geschickt, die ein Ausgangssignal t2 = t1 · t1 erzeugt. Der Multiplizierer 803 berechnet t3 als t3 = t2 · p6. Der Addierer 804 berechnet t4 als t4 = t3 + p5. Der Multiplizierer 805 berechnet t5 als t5 = p5 · p6. (Beachte, dass wenn p5 und p6 die gleichen für jeden MB sind, dann t5 nicht für jeden MB erneut berechnet werden muß). Der Addierer 806 berechnet t6 als t6 = t5 + t2. Die Divisionsschaltung 807 berechnet Q1 als Q1 = t4/t6.
- Die Arbeitsweise des oben beschriebenen Untersystems zur adaptiven Quantisierung hängt von der Parametermenge p ab, den Multipliziern S1, S2, ... Sm und den Inhalten der Speichergeräte 501_1, 501_2, ... 501_m in Fig. 10. Wir geben jetzt zwei Beispiele dafür, wie die Speicherung der Speicherinhalte eingestellt werden kann. Das erste ist das Verfahren der Differenz vom Mittelwert (DVM) und das zweite ist das Hadamard (HAM)-Verfahren. Bezeichne die Anzahl der Elemente in einem Block von Pixeln mit n, die durch die Blockbildungseinheit 301 in Fig. 7 erzeugt werden. Für das DVM- als auch das HAD-Verfahren ist die Anzahl m der Ausgangssignale einer linearen Transformationseinheit (Fig. 10) gleich n.
- Für das DVM-Verfahren ist der j. Transformationskoeffizient im Speicherelement i gleich -1/n, wenn i nicht gleich j ist, und 1 - (1/n), wenn j gleich i ist.
- Für das HAD-Verfahren berechnet die lineare Transformationseinheit eine Hadamard-Transformation des Eingangsblocks von Pixeln. Hadainard-Transformationen sind gebräuchlich und sind zum Beispiel beschrieben in "Digital Image Processing" von C. Gonzalez und P. Wintz, zweite Ausgabe, 1987; Abschnitt 3.5.2. Für den Fall, dass n = 64, (wie es in dem Ausführungsbeispiel der oben beschriebenen Blocktransformationseinheit der Fall ist), haben wir eine bildliche Darstellung des HAD-Verfahrens in Fig. 14. In Fig. 14 haben wir eine zweidimensionale Matrix von "+"-Symbolen und "-"-Symbolen. Jede Zeile der Matrix stellt einen Speicher in Fig. 10 dar, und jede Spalte stellt eine Eingangszahl der Speicher dar. Die j. Zahl im Speicherelement i ist gleich +1, wenn das j. Symbol in der i. Reihe der Matrix in Fig. 10 ein "+" ist, und ist gleich -1, wenn das j. Symbol in der i. Zeile der Matrix in Fig. 10 ein "-" ist.
- Es versteht sich, dass die oben beschriebenen Systeme und Verfahren: in Hardware-Logik oder als Programmcode in einem Computersystem verkörpert werden können.
- Jetzt, da die Erfindung mittels des bevorzugten Ausführungsbeispiels beschrieben ist, fallen den Fachleuten verschiedene Modifikationen und Verbesserungen ein. Daher versteht es sich, dass das bevorzugte Ausführungsbeispiel als ein Beispiel vorgesehen wurde und nicht als eine Beschränkung. Der Schutzumfang der Erfindung ist durch die angefügten Ansprüche definiert.
Claims (4)
1. Verfahren zum Codieren eines digitalisierten Bildes,
umfassend die Schritte des:
Unterteilens des Bildes in eine Vielzahl von Regionen,
Unterteilens jeder Region in eine Vielzahl von
Unterregionen,
Bestimmens linearer Kombinationen von Pixeln in jeder
Unterregion,
Bestimmens eines unterregionalen, adaptiven
Quantisierungsparameters für jede der Unterregionen als
Funktion der linearen Kombinationen von Pixeln, wobei die
Funktion die Grobheitstoleranz für jede Unterregion
erstellt,
Bestimmens eines regionalen Quantisierungsparameters für
jede Region als Funktion der unterregionalen, adaptiven
Quantisierungsparameter,
Bestimmens einer Quantisierungsstufe für jede der Regionen,
basierend auf dem regionalen Quantisierungsparameter,
Transformationscodierens jeder der Regionen unter Benutzen
der Quantisierungsstufe,
Verketten einer transformationscodierten Darstellung jeder
Region, um eine codierte Darstellung eines gesamten Bildes
zu erhalten.
2. Verfahren nach Anspruch 1, umfassend die weiteren Schritte
des:
Lieferns der codierten Darstellung des gesamten Bildes an
einen Decodierer,
Anzeigens des gesamten Bildes in decodierter Form auf einer
Anzeigevorrichtung.
3. Verfähren nach Anspruch 1, bei dem die linearen
Kombinationen berechnet werden durch Durchführen einer
Hadamard-Transformation auf Pixelwerte in jeder
Unterregion.
4. Codierer zum Codieren der Daten eines digitalisierten
Bildes, umfassend:
Mittel zum Unterteilen des Bildes in eine Vielzahl von
Regionen,
Mittel zum Unterteilen jeder Region in eine Vielzahl von
Unterregionen,
Mittel zum Berechnen linearer Kombinationen von Pixeln in
jeder Unterregion,
Mittel zum Bestimmen eines unterregionalen, adaptiven
Quantisierungsparameters für jede der Unterregionen als
eine Funktion der linearen Kombinationen von Pixeln, wobei
die Funktion eine Grobheitstoleranz für jede Unterregion
erstellt,
Mittel zum Bestimmen eines regionalen
Quantisierungsparameters für jede Region als Funktion der
unterregionalen, adaptiven Quantisierungsparameter,
Mittel zum Bestimmen einer Quantisierungsstufe für jede der
Regionen, basierend auf dem regionalen
Quantisierungsparameter,
Mittel für das Transformationscodieren jeder der Regionen
unter Benutzen der Quantisierungsstufe,
Mittel zum Verketten einer transformationscodierten
Darstellung jeder Region, um eine codierte Darstellung
eines gesamten Bildes zu erhalten.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/418,141 US5729294A (en) | 1995-04-05 | 1995-04-05 | Motion video compression system with novel adaptive quantization |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69624399D1 DE69624399D1 (de) | 2002-11-28 |
DE69624399T2 true DE69624399T2 (de) | 2003-06-18 |
Family
ID=23656886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69624399T Expired - Lifetime DE69624399T2 (de) | 1995-04-05 | 1996-03-01 | Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5729294A (de) |
EP (1) | EP0736843B1 (de) |
JP (1) | JPH08289294A (de) |
KR (1) | KR100238622B1 (de) |
DE (1) | DE69624399T2 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2756398B1 (fr) * | 1996-11-28 | 1999-06-25 | Thomson Multimedia Sa | Procede de codage avec information de region |
US6192075B1 (en) * | 1997-08-21 | 2001-02-20 | Stream Machine Company | Single-pass variable bit-rate control for digital video coding |
US6212232B1 (en) | 1998-06-18 | 2001-04-03 | Compaq Computer Corporation | Rate control and bit allocation for low bit rate video communication applications |
US6831947B2 (en) | 2001-03-23 | 2004-12-14 | Sharp Laboratories Of America, Inc. | Adaptive quantization based on bit rate prediction and prediction error energy |
DE10156851C1 (de) * | 2001-11-20 | 2003-07-03 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Bildkompression |
JP4002502B2 (ja) * | 2001-11-27 | 2007-11-07 | 三星電子株式会社 | 座標インタポレータの符号化/復号化装置及びその方法 |
JP3846488B2 (ja) * | 2004-05-10 | 2006-11-15 | セイコーエプソン株式会社 | 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法 |
WO2006007279A2 (en) * | 2004-06-18 | 2006-01-19 | Thomson Licensing | Method and apparatus for video codec quantization |
GB0428155D0 (en) | 2004-12-22 | 2005-01-26 | British Telecomm | Buffer underflow prevention |
KR101170799B1 (ko) | 2005-05-21 | 2012-08-02 | 삼성전자주식회사 | 영상 압축 방법 및 그 장치와 영상 복원 방법 및 그 장치 |
US8306918B2 (en) * | 2005-10-11 | 2012-11-06 | Apple Inc. | Use of media storage structure with multiple pieces of content in a content-distribution system |
US8126283B1 (en) | 2005-10-13 | 2012-02-28 | Maxim Integrated Products, Inc. | Video encoding statistics extraction using non-exclusive content categories |
US8081682B1 (en) | 2005-10-13 | 2011-12-20 | Maxim Integrated Products, Inc. | Video encoding mode decisions according to content categories |
US8149909B1 (en) | 2005-10-13 | 2012-04-03 | Maxim Integrated Products, Inc. | Video encoding control using non-exclusive content categories |
US9479794B2 (en) | 2005-11-10 | 2016-10-25 | Freescale Semiconductor, Inc. | Resource efficient video processing via prediction error computational adjustments |
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 |
JP5917117B2 (ja) | 2011-12-07 | 2016-05-11 | 株式会社日立国際電気 | 画像符号化装置及び画像符号化方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868653A (en) * | 1987-10-05 | 1989-09-19 | Intel Corporation | Adaptive digital video compression system |
US4972260A (en) * | 1988-08-22 | 1990-11-20 | Matsushita Electric Industrial Co., Ltd. | Apparatus for coding a moving-picture signal |
US5051840A (en) * | 1988-12-14 | 1991-09-24 | Fuji Photo Film Co., Ltd. | Device for coding a picture signal by compression |
DE69119936T2 (de) * | 1990-02-28 | 1996-11-14 | Victor Company Of Japan | Einrichtung zur Datenkompression |
US5249053A (en) * | 1991-02-05 | 1993-09-28 | Dycam Inc. | Filmless digital camera with selective image compression |
EP0514663A3 (en) * | 1991-05-24 | 1993-07-14 | International Business Machines Corporation | An apparatus and method for motion video encoding employing an adaptive quantizer |
US5369437A (en) * | 1991-08-28 | 1994-11-29 | Nec Corporation | Time-varying image signal coding/decoding system |
US5351083A (en) * | 1991-10-17 | 1994-09-27 | Sony Corporation | Picture encoding and/or decoding system |
US5231484A (en) * | 1991-11-08 | 1993-07-27 | International Business Machines Corporation | Motion video compression system with adaptive bit allocation and quantization |
US5521717A (en) * | 1992-02-03 | 1996-05-28 | Canon Kabushiki Kaisha | Image processing apparatus and method therefor |
US5440346A (en) * | 1993-06-16 | 1995-08-08 | Intel Corporation | Mode selection for method and system for encoding images |
-
1995
- 1995-04-05 US US08/418,141 patent/US5729294A/en not_active Expired - Lifetime
-
1996
- 1996-03-01 EP EP96103096A patent/EP0736843B1/de not_active Expired - Lifetime
- 1996-03-01 DE DE69624399T patent/DE69624399T2/de not_active Expired - Lifetime
- 1996-03-27 KR KR1019960008502A patent/KR100238622B1/ko not_active IP Right Cessation
- 1996-03-28 JP JP8074140A patent/JPH08289294A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH08289294A (ja) | 1996-11-01 |
DE69624399D1 (de) | 2002-11-28 |
US5729294A (en) | 1998-03-17 |
EP0736843A2 (de) | 1996-10-09 |
KR100238622B1 (ko) | 2000-01-15 |
KR960040006A (ko) | 1996-11-25 |
EP0736843B1 (de) | 2002-10-23 |
EP0736843A3 (de) | 1997-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69226749T2 (de) | System zur Kompression von sich bewegenden Videobildern mit mehrfachen Auflösungsmerkmalen | |
DE69624399T2 (de) | Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung | |
DE69320719T2 (de) | Effiziente, frequenzskalierbare Videokodierung mit Koeffizientenwahl | |
DE69233411T2 (de) | Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung | |
DE69130214T2 (de) | Bilddatenkompression mit adaptiver Blockgrössenauswahl | |
DE69633129T2 (de) | Waveletbaum-bildcoder mit überlappenden bildblöcken | |
DE69222766T2 (de) | System zur adaptiven kompression der blockgrössen eines bildes | |
DE69535228T2 (de) | Bildumsetzungsvorrichtung | |
DE60125301T2 (de) | Videosignaltranskodierung | |
DE69933483T2 (de) | Vorrichtung und Verfahren zum Codieren mit bewegungskompensierter Vorhersage | |
DE4233543B4 (de) | Vorrichtung zur Steuerung der Quantisierung von Videodaten | |
DE60305325T2 (de) | System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption | |
DE69228442T2 (de) | Verfahren und vorrichtung zur bilddatenkompression durch luminanz/chrominanz-kodierung | |
DE69432142T2 (de) | Verfahren und vorrichtung zur effizienten transkodierung | |
DE69221191T2 (de) | Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation | |
DE69810670T2 (de) | Verfahren zur rechnerischen Feindegradierung in einem audio-visuellen Kompressionssystem | |
DE4343211B4 (de) | Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung | |
DE602004002525T2 (de) | Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes | |
DE3851468T2 (de) | Kodierungsverfahren von Bildsignalen. | |
DE69811394T2 (de) | Adaptive entropie-kodierung im rahmen adaptiver quantisierung für videosignalkodiersysteme und -verfahren | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE69425179T2 (de) | Kodierungsvorrichtung und -verfahren | |
DE69633815T2 (de) | Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales | |
DE69805228T2 (de) | Videosignalkodierung mit adaptiver Quantisierung | |
DE69226160T2 (de) | Vorrichtung zur Kompressionskodierung von Videosignalen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |