DE69813349T2 - Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend - Google Patents

Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend Download PDF

Info

Publication number
DE69813349T2
DE69813349T2 DE1998613349 DE69813349T DE69813349T2 DE 69813349 T2 DE69813349 T2 DE 69813349T2 DE 1998613349 DE1998613349 DE 1998613349 DE 69813349 T DE69813349 T DE 69813349T DE 69813349 T2 DE69813349 T2 DE 69813349T2
Authority
DE
Germany
Prior art keywords
code amount
block
quantized values
data
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1998613349
Other languages
English (en)
Other versions
DE69813349D1 (de
Inventor
Masaaki Chiba-shi Hyodo
Yoichi Ichihara-shi Fujiwara
Tadao Chiba-shi Matsuura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of DE69813349D1 publication Critical patent/DE69813349D1/de
Application granted granted Critical
Publication of DE69813349T2 publication Critical patent/DE69813349T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/192Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

  • Die vorliegende Erfindung bezieht sich auf eine Codemengensteuervorrichtung und insbesondere auf eine Codemengensteuervorrichtung zum Steuern der Menge von Codes, die zum Codieren jedes Blocks von Videodaten auf eine solche Art und Weise zu erzeugen sind, dass die Codelänge des codierten Blocks einen spezifizierten Zielwert nicht überschreiten soll, wenn die Codemengensteuervorrichtung in einer Videocodiervorrichtung zur Codierung mit hohem Wirkungsgrad eines Videosignal durch ein Zwischenrahmenvorhersageverfahren verwendet wird, und auf die Videocodiervorrichtung einschließlich der Codemengensteuervorrichtung.
  • Um Videoinformation, die eine sehr große Menge von Daten enthält, aufzuzeichnen und zu übertragen, ist es gewöhnlicherweise notwendig, eine Rate von codierten Daten durch eine sogenannte Bildkompression oder eine Codiertechnik mit hohem Wirkungsgrad auf ein Niveau zu verringern, bei dem die Daten ohne sichtbare bemerkenswerte Verschlechterung der Bildqualität aufgezeichnet oder übertragen werden können, oder die Daten genug Zeit aufweisen können, um aufgezeichnet zu werden.
  • Das MPEG-Verfahren ist ein repräsentatives Beispiel der Codiertechnik mit hohem Wirkungsgrad. Das MPEG-Verfahren wird als Standards ISO/IEC11172 und 13818 festgelegt, bei denen Zwischenrahmencodierung und Codierung variabler Länge kombiniert werden, um eine Videocodierung mit hohem Wirkungsgrad zu verwirklichen.
  • Die MPEG-Codiervorrichtung umfasst einen Bildspeicher, eine Bewegungsvektor-Erfassungsschaltung, eine Subtrahierschaltung, eine DCT (Discrete Cosine Transform)-Schaltung, eine Quantisierungsschaltung, eine Codierschaltung variabler Länge, einen Ausgangspuffer, eine Rück-Quantisierungsschaltung, eine inverse DCT-Schaltung, eine Addierschaltung, einen decodierten Bildspeicher, eine Vorhersagebild-Erzeugungsschaltung und eine Ratensteuerschaltung.
  • Die Arbeitsweise der Codiervorrichtung ist wie folgt: Der Bildspeicher speichert beispielsweise ein eingegebenes digitales Bildsignal in dem Format von 4 : 2 : 0 (vgl. ITU-R Empfehlung 601) und gibt das Signal in Makroblöcken aus. Ein Leuchtdichtesignal ist aus Makroblöcken aufgebaut, die jeweils aus 16 × 16 Pixeln bestehen, während ein Chrominanzsignal aus einem Makroblock aufgebaut ist, der aus 8 × 8 Pixeln besteht. Der Verarbeitungsvorgang wird an jedem Makroblock durchgeführt. Die Bewegungsvektor-Erfassungsschaltung empfängt von dem Bildspeicher Makroblockdaten eines zu codierenden Bildes und Referenzbilddaten, die zum Suchen nach Bewegungsvektoren verwendet werden, und erfasst die Bewegungsvektoren. Die erfassten Bewegungsvektoren werden in den decodierten Bildspeicher eingegeben, der seinerseits Pixeldaten, die für die Erzeugung eines Vorhersagebildes notwendig sind, an die Vorhersagebild-Erzeugungsschaltung ausgibt, durch die dann ein Vorhersagebild erzeugt wird. Die Subtrahierschaltung subtrahiert das Vorhersagebild von dem ursprünglichen Bild und gibt das Subtraktionsergebnis an die DCT-Schaltung aus, die ihrerseits die diskrete Kosinus-Transformation der differentiellen Bilddaten für jeden der Blöcke (8 × 8 Pixel) durchführt und DCT-Koeffizienten ausgibt. Die Quantisierungsschaltung wählt eine Matrix zum Quantisieren aus und quantisiert die DCT-Koeffizienten gemäß einem Signal von der Ratensteuerschaltung (später beschrieben) und gibt quantisierte Werte aus. Die Matrix für die Quantisierung ist ein Satz von Quantisierungsschrittgrößen, die den DCT-Koeffizienten von 8 × 8 Pixeln entsprechen. Die Codierschaltung variabler Länge codiert mit einer variablen Codelänge einen Satz von kontinuierlichen Nullen (hier nachstehend als Null-Lauf bezeichnet), gefolgt von quantisierten Werten ungleich Null (hier nachstehend als Niveaus bezeichnet). Die codierten Daten variabler Länge werden vorübergehend in den Ausgangspuffer gespeichert und dann daraus ausgegeben.
  • Die von der Quantisierungsschaltung ausgegebenen quantisierten Werte werden ebenfalls in die Rück-Quantisierungsschaltung eingegeben, durch die die Werte rückquantisiert werden. Die rück-quantisierten Werte werden dann der inversen diskreten Kosinus-Transformation unterworfen und zu dem von der Vorhersagebild-Erzeugungsschaltung ausgegebenen Vorhersagebild hinzugefügt, um decodierte Daten zu erzeugen, die in dem decodierten Bildspeicher gespeichert werden. Die decodierten Bilddaten werden als Vorhersagebilddaten verwendet.
  • Die Menge erzeugter Codes kann von der Ratensteuerschaltung gesteuert werden, die unter Beachtung des Belegungsverhältnisses des Ausgangspuffers die Anzahl von Bits bestimmt, die Makroblöcken zuzuteilen sind, und die die Quantisierungs-Matrix auf eine solche Art und Weise steuert, dass die codierten Daten die zugeteilte Anzahl von Bits nicht überschreiten dürfen. Die Quantisierungs-Matrix wird gesteuert, um ihren Wert zum Verringern oder Erhöhen der Menge von erzeugbaren Codes zu erhöhen oder zu verringern, wenn die Nichtbelegung des Ausgangspuffers verringert oder erhöht wird.
  • Das oben erwähnte System mit der Ratensteuerschaltung zum Steuern des Werts der Quantisierungs-Matrix gemäß der Nichtbelegung des Ausgangspuffers verwendet ein Codierverfahren variabler Länge und kann somit nicht sicherstellen, dass die Menge der erzeugten Codes gleich der zugeteilten Anzahl von Bits wird. Außerdem verwendet das MPEG-Verfahren die Zuteilung von maximal 28 Bits für Eingangsbilddaten, deren Pixel durch 8 Bits dargestellt werden, so dass das MPEG-Verfahren sehr große Mengen von Codes verglichen mit der Menge von ursprünglichen Bilddaten in einer kurzen Zeitspanne erzeugen kann.
  • D. h., dass derartig codierte Daten, die unterschiedliche Mengen von erzeugten Codes aufweisen können, von einem Prozessor verarbeitet werden müssen, dessen Kapazität ausreichend ist, um eine maximale Bitrate der codierten Daten zu verarbeiten. Dies macht die Hardware sehr groß.
  • Die japanische offengelegte Patentveröffentlichung (TOKKAI HEI) Nr. 4-307887 offenbart ein Ratensteuerverfahren, das die Variation der Menge zu erzeugenden Codes verringert. Dieses Verfahren zählt die Menge von durch den Codierschritt variabler Länge erzeugten Codes und, wenn entweder eine durchschnittliche Menge oder eine Spitzenmenge der erzeugten Codes einen voreingestellten Wert überschreitet, codiert eine spezifizierte Anzahl von Makroblöcken, und rundet danach alle als Null betrachteten Koeffizienten ab.
  • Es wird dort ein Beispiel einer Anwendung des in der japanischen offengelegten Patentveröffentlichung (TOKKAI HEI) Nr. 4-307887 offenbarten Ratensteuerverfahrens gezeigt, das auf die oben erwähnte Videocodiervorrichtung angewendet wird. Die Videocodiervorrichtung unterscheidet sich von der oben erwähnten MPEG-Codiervorrichtung durch die Arbeitsweise ihrer Codierschaltung variabler Länge und der Ratensteuerschaltung. D. h., dass die Ratensteuerschaltung eine Zielcodemenge für jeden Makroblock einstellt und jeden von der Codierschaltung variabler Länge ausgegebenen Code zählt. Die Ratensteuerschaltung gibt ein Steuersignal aus, um den Betrieb der Codierschaltung variabler Länge anzuhalten, wenn die gezählte Menge von Codes den Zielwert überschreitet. Indem dies getan wird, kann die Menge erzeugter Codes kleiner als der Zählwert gehalten werden.
  • Die unten erwähnte Codiervorrichtung benötigt jedoch die Decodierschaltung variabler Länge zusätzlich zu der oben erwähnten Codiervorrichtung. D.h., dass die verbleibenden Koeffizienten von der Codierschaltung variabler Länge abgerundet werden, und daher kann sich ein direkt von der Ausgabe der Quantisierungsschaltung decodiertes und in dem decodierten Bildspeicher gespeichertes Bild von einem von der Decodierseite decodierten Bild unterscheiden. Die Decodierschaltung variabler Länge muss mit einer Tabelle zur Wiederherstellung der aus den Null-Lauf- und Niveauwerten zusammengesetzten Code variabler Länge versehen sein, die eine hochintegrierte Schaltungsanordnung umfassen kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Hinsichtlich der oben erwähnten Nachteile der Vorrichtungen des Stands der Technik wurde die vorliegende Erfindung ausgeführt, eine Codemengensteuervorrichtung gemäß Anspruch 1 bereitzustellen, die die Menge erzeugter Codes steuern kann, um nicht mehr als ein voreingestellter Wert zu sein, und die mit einer minimal vergrößerten Schaltungsanordnung implementiert werden kann. Die vorliegende Erfindung ist ebenfalls auf eine Videocodiervorrichtung gemäß Anspruch 7 gerichtet, die die oben erwähnte Codemengensteuervorrichtung einschließt.
  • Demgemäß besteht eine Aufgabe der vorliegenden Erfindung darin, eine Codemengensteuervorrichtung bereitzustellen, die die oben erwähnten Probleme lösen kann, die Vorrichtungen gemäß des Stands der Technik mit sich bringen, und die bei einer Videocodiervorrichtung verwendet wird, die Bilddaten in eine Mehrzahl von Blöcken aufteilt, eine Zwischenrahmenvorhersage der Blöcke einzeln durchführt, die Vorhersagefehler orthogonal transformiert, die Transformationskoeffizienten quantisiert und die quantisierten Werte durch eine Codierschaltung variabler Länge codiert. Die Codemengensteuervorrichtung ist bestimmt, die Codemenge für jeden der Blöcke zu steuern, und umfasst ein Umwandlungsmittel zum Umwandeln der quantisierten Werte in eine Mehrzahl von Daten unter gekennzeichneten Bedingungen, ein Tabellenmittel zum Ausgeben einer Codelänge, die den durch Codieren variabler Länge codierten Daten entspricht, ein Akkumulierungsmittel zum Bestimmen einer vorhergesagten Codemenge durch Akkumulieren der Codelängenwerte für jeden Block oder für jede der Aufteilungen (Teilblöcke) des Blocks, ein Ratensteuermittel zum Ausgeben einer Zielcodemenge für jeden Block oder jeden Teilblock und ein Ausgabeauswahl(umschalt)mittel zum Vergleichen einer vorhergesagten Codemenge mit der Zielcodemenge und zum Abrunden eines übermäßigen Teils eines quantisierten Werts, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Videocodiervorrichtung mit der Codemengensteuervorrichtung bereitzustellen, bei der das Umwandlungsmittel zweidimensionale quantisierte Werte für jeden Teilblock in einer spezifizierten eindimensionalen Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werten ungleich Null zusammengesetzt sind, wobei das Ausgabeumschaltmittel eine eingegebene Sequenz der quantisierten Werten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und eine Sequenz von quantisierten Werten ausgibt, indem ein übermäßiger Teil der vorhergesagten quantisierten Werte auf Null gezwungen wird, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die mit dem Umwandlungsmittel versehene Codierschaltung variabler Länge die Daten in entsprechende Codes variabler Länge umwandelt, die Sequenz der Codes ausgibt und schließlich einen Blockendecode ausgibt, wenn die quantisierten Werte danach in dem Block alles Nullen sind.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Videocodiervorrichtung mit der Codemengensteuervorrichtung bereitzustellen, bei der das Umwandlungsmittel zweidimensionale quantisierte Werten für jeden Teilblock in einer spezifizierten eindimensionalen Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werten ungleich Null zusammengesetzt sind, wobei das Ausgabeumschaltmittel die Daten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und einen Blockendecode ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die Codierschaltung variabler Länge die in entsprechende Codes variabler Länge umgewandelten Daten und den Blockendecode ausgibt, wenn der Blockendecode eingegeben wird.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Videocodiervorrichtung mit der Codemengensteuervorrichtung bereitzustellen, bei der das Umwandlungsmittel zweidimensionale quantisierte Werte für jeden Teilblock in einer spezifizierten eindimensionalen Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werte ungleich Null zusammengesetzt sind, und ein Flag das Vorhandensein oder Nicht-Vorhandensein eines quantisierten Werts ungleich Null nach den vorhergehenden quantisierten Werten angibt, das Ausgabeumschaltmittel eine Sequenz eingegebener quantisierter Werten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und eine Sequenz quantisierter Werten ausgibt, die durch Zwingen des quantisierten Werts eines übermäßigen Teils der vorhergesagten Codemenge auf Null bestimmt werden, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die mit dem Umwandlungsmittel versehene Codierschaltung variabler Länge die in entsprechende Codes variabler Länge umgewandelten Daten ausgibt.
  • Eine noch weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Videocodiervorrichtung mit der Codemengensteuervorrichtung bereitzustellen, bei der das Umwandlungsmittel zweidimensionale quantisierte Werte für jeden Teilblock in einer spezifizierten eindimensionalen Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werten ungleich Null zusammengesetzt sind, und ein Flag das Vorhandensein oder Nicht-Vorhandensein von ungleich Null nach den vorhergehenden quantisierten Werten angibt, das Ausgabeumschaltmittel die Daten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und die Daten mit einem Flag ausgibt, das gesetzt ist, um das Nicht-Vorhandensein eines quantisierten Werts ungleich Null anzugeben, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die Codierschaltung variabler Länge die in die entsprechenden Codes variabler Länge umgewandelten Daten ausgibt.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Codemengensteuervorrichtung oder eine Videocodiervorrichtung mit der Codemengensteuervorrichtung bereitzustellen, bei der das Ratensteuermittel eine Zielcodemenge für jeden Block einstellt, eine Zielcodemenge für jeden Teilblock durch Verteilen der Zielcodemenge für den Block einstellt, die Zielcodemenge für den Block durch Subtrahieren einer tatsächlich erzeugten Codemenge von der aktuellen Zielcodemenge des Blocks jedes Mal aktualisiert, nachdem ein Teilblock von der Codierschaltung variabler Länge codiert wird, und die Zielteilblockcodemenge durch Verteilen der aktualisierten Zielblockcodemenge an die verbleibenden Teilblöcke aktualisiert.
  • Wie es oben beschrieben ist, kann die Codesteuervorrichtung gemäß der vorliegenden Erfindung jeden der zweidimensionalen quantisierten Werte, die in einer gekennzeichneten eindimensionalen Reihenfolge neu angeordnet sind, in Daten umwandeln, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werten ungleich Null oder einem Satz der Anzahl kontinuierlichen Nullen gefolgt dazu von quantisierten Werten ungleich Null und ein Flag, das Vorhandensein oder Nicht-Vorhandensein von quantisierten Werten ungleich Null nach den angegebenen nicht Nullen angibt, zusammengesetzt sind, die zu erzeugende Codemenge vor einem Codierschritt variabler Länge durch Lesen einer Tabelle, die die Codelängenwerte der codierten Daten enthält, vorher bestimmen und die erzeugbare Codemenge steuern, um die Zielcodemenge nicht zu überschreiten, indem ein übermäßiger Teil der quantisierten Werte abgeschnitten wird, wenn die vorgelesene Codelänge die Zielcodemenge überschreitet.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Beispiel einer vorbekannten Videocodiervorrichtung.
  • 2 zeigt ein weiteres Beispiel einer vorbekannten Videocodiervorrichtung.
  • 3 ist ein Blockdiagramm einer Videocodiervorrichtung, die mit einer Codemengensteuervorrichtung ausgestattet ist, die eine erste Ausführungsform der vorliegenden Erfindung ist.
  • 4 ist ein Blockdiagramm zum Zeigen im Detail einer Rundungsschaltung und einer Codierschaltung variabler Länge, wobei beide dieser in 1 gezeigt sind.
  • 5 ist ein Blockdiagramm zum Zeigen im Detail einer Rundungsschaltung und einer Codierschaltung variabler Länge, die eine zweite Ausführungsform einer Videocodiervorrichtung gemäß der vorliegenden Erfindung bilden.
  • 6 zeigt die korrekte Ausrichtung der Zeichnungsblätter für 6A und 68.
  • 6A und 6B sind Ablaufdiagramme zum Erläutern einer Sequenz zum Einstellen einer Zielmenge, die der ersten Ausführungsform der vorliegenden Erfindung entspricht.
  • 7 ist ein Ablaufdiagramm zum Erläutern einer Sequenz zum Einstellen einer Zielcodemenge, die der zweiten Ausführungsform der vorliegenden Erfindung entspricht.
  • BEVORZUGTE AUSFÜHRUNGSFORMEN DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Codemengensteuervorrichtung und insbesondere auf eine Codemengensteuervorrichtung zum Steuern der Menge von Codes, die zum Codieren jedes Blocks von Videodaten auf eine solche Art und Weise zu erzeugen sind, dass die Codelänge des codierten Blocks einen spezifizierten Zielwert nicht überschreiten sollte, wenn die Codemengensteuervorrichtung in einer Videocodiervorrichtung zur Codierung mit hohem Wirkungsgrad eines Videosignals durch ein Zwischenrahmenvorhersageverfahren verwenden wird, und auf die Videocodiervorrichtung einschließlich der Codemengensteuervorrichtung.
  • Um Videoinformation, die eine sehr große Menge von Daten enthält, aufzuzeichnen und zu übertragen, ist es gewöhnlicherweise notwendig, eine Rate von codierten Daten durch eine sogenannte Bildkompressionstechnik oder eine Codiertechnik mit hohem Wirkungsgrad auf ein Niveau zu verringern, bei dem die Daten ohne sichtbare bemerkenswerte Verschlechterung der Bildqualität aufgezeichnet oder übertragen werden können, oder die Daten genug Zeit aufweisen können, um aufgezeichnet zu werden.
  • Vor dem Erläutern bevorzugter Ausführungsformen der vorliegenden Erfindung werden nachstehend eine Codemengensteuervorrichtung und eine Videocodiervorrichtung des Stands der Technik als Referenzen für die vorliegende Erfindung beschrieben.
  • Das MPEG-Verfahren ist ein repräsentatives Beispiel der Codiertechnik mit hohem Wirkungsgrad. Das MPEG-Verfahren wird als Standards ISO/IEC11172 und 13818 festgelegt, bei denen Zwischenrahmencodierung und Codierung variabler Länge kombiniert werden, um eine Videocodierung mit hohem Wirkungsgrad zu verwirklichen.
  • 1 ist ein Blockdiagramm, das ein Beispiel eines MPEG-Codierverfahrens zeigt.
  • Wie es in 1 gezeigt ist, umfasst die MPEG-Codiervorrichtung einen Bildspeicher 31, eine Bewegungsvektor-Erfassungsschaltung 32, eine Subtrahierschaltung 33, eine DCT (Discrete Cosine Transform)-Schaltung 34, eine Quantisierungsschaltung 35, eine Codierschaltung variabler Länge 36, einen Ausgangspuffer 37, eine Rück-Quantisierungsschaltung 38, eine inverse DCT-Schaltung 39, eine Addierschaltung 40, einen decodierten Bildspeicher 41, eine Vorhersagebild-Erzeugungsschaltung 42 und eine Ratensteuerschaltung 43.
  • Die Arbeitsweise der Codiervorrichtung gemäß 1 ist wie folgt:
    Der Bildspeicher 31 speichert beispielsweise ein eingegebenes digitales Bildsignal in dem Format von 4 : 2 : 0 (vgl. ITU-R Empfehlung 601) und gibt das Signal in Makroblöcken aus. Ein Leuchtdichtesignal ist aus Makroblöcken aufgebaut, die jeweils aus 16 × 16 Pixeln bestehen, während ein Chrominanzsignal aus einem Makroblock aufgebaut ist, der aus 8 × 8 Pi×eln besteht. Der Verarbeitungsvorgang wird an jedem Makroblock durchgeführt. Die Bewegungsvektor-Erfassungsschaltung 32 empfängt von dem Bildspeicher 31 Makroblockdaten eines zu codierenden Bildes und Referenzbilddaten, die zum Suchen nach Bewegungsvektoren verwendet werden, und erfasst die Bewegungsvektoren. Die erfassten Bewegungsvektoren werden in den decodierten Bildspeicher 41 eingegeben, der seinerseits Pi×eldaten, die zum Erzeugen eines Vorhersagebildes notwendig sind, an die Vorhersagebild-Erzeugungsschaltung ausgibt, durch die dann ein Vorhersagebild erzeugt wird. Die Subtrahierschaltung 33 subtrahiert das Vorhersagebild von dem ursprünglichen Bild und gibt das Subtraktionsergebnis an die DCT-Schaltung 34 aus, die ihrerseits die diskrete Kosinus-Transformation der differentiellen Bilddaten für jeden der Blöcke (8 × 8 Pixel) durchführt und DCT-Koeffizienten ausgibt. Die Quantisierungsschaltung 35 wählt eine Matrix zum Quantisieren aus und quantisiert die DCT-Koeffizienten gemäß einem Signal von der Ratensteuerschaltung 43 (später beschrieben) und gibt quantisierte Werte aus. Die Matrix für die Quantisierung ist ein Satz von Quantisierungsschrittgrößen, die den DCT-Koeffizienten von 8 × 8 Pixeln entsprechen. Die Codierschaltung variabler Länge codiert mit einer variablen Codelänge einen Satz von kontinuierlichen Nullen (hier nachstehend als Null-Lauf bezeichnet), gefolgt von quantisierten Werten ungleich Null (hier nachstehend als Niveaus bezeichnet). Die codierten Daten variabler Länge werden vorübergehend in den Ausgangspuffer gespeichert und dann daraus ausgegeben.
  • Die von der Quantisierungsschaltung 35 ausgegebenen quantisierten Werte werden ebenfalls in die Rück-Quantisierungsschaltung 38 eingegeben, durch die die Werte rück-quantisiert werden. Die rück-quantisierten Werte werden dann der inversen diskreten Kosinus-Transformation unterworfen und zu dem von der Vorhersagebild-Erzeugungsschaltung ausgegebenen Vorhersagebild hinzugefügt, um decodierte Daten zu erzeugen, die in dem decodierten Bildspeicher 41 gespeichert werden. Die decodierten Bilddaten werden als Vorhersagebild verwendet.
  • Die Menge von erzeugten Codes kann von der Ratensteuerschaltung 43 gesteuert werden, die unter Beachtung des Belegungsverhältnisses des Ausgangspuffers 37 die Anzahl von Bits bestimmt, die Makroblöcken zuzuteilen sind, und die die Quantisierungs-Matrix auf eine solche Art und Weise steuert, dass die codierten Daten die zugeteilte Anzahl von Bits nicht überschreiten dürfen. Die Quantisierungs-Matrix wird gesteuert, um ihren Wert zum Verringern oder Erhöhen der Menge von erzeugbaren Codes zu erhöhen oder zu verringern, wenn die Nichtbelegung des Ausgangspuffers verringert oder erhöht wird.
  • Das oben erwähnte System mit der Ratensteuerschaltung zum Steuern des Werts der Quantisierungs-Matrix gemäß der Nichtbelegung des Ausgangspuffers verwendet ein Codierverfahren variabler Länge und kann somit nicht sicherstellen, dass die Menge der erzeugten Codes gleich der zugeteilten Anzahl von Bits wird. Außerdem verwendet das MPEG-Verfahren die Zuteilung von maximal 28 Bits für Eingangsbilddaten, deren Pixel durch 8 Bits dargestellt werden, so dass das MPEG-Verfahren sehr große Mengen von Codes verglichen mit der Menge von ursprünglichen Bilddaten in einer kurzen Zeitspanne erzeugen kann.
  • D. h., dass derartig codierte Daten, die unterschiedliche Mengen von erzeugten Codes aufweisen können, von einem Prozessor verarbeitet werden müssen, dessen Kapazität ausreichend ist, um eine maximale Bitrate der codierten Daten zu verarbeiten. Dies macht die Hardware sehr groß.
  • Die japanische offengelegte Patentveröffentlichung (TOKKAI HEI) Nr. 4-307887 offenbart ein Ratensteuerverfahren, das die Veränderung der Menge zu erzeugenden Codes verringert. Dieses Verfahren zählt die Menge der durch den Codierschritt variabler Länge erzeugten Codes und, wenn entweder eine durchschnittliche Menge oder eine Spitzenmenge der erzeugten Codes einen voreingestellten Wert überschreitet, codiert eine spezifizierte Anzahl von Makroblöcken, und rundet danach alle als Null betrachteten Koeffizienten ab.
  • 2 ist ein Blockdiagramm, das ein Beispiel einer Anwendung des in der japanischen offengelegten Patentveröffentlichung (TOKKAI HEI) Nr. 4-307887 offenbarten Ratensteuerverfahrens zeigt, das auf die Videocodiervorrichtung gemäß 1 angewendet wird. Das System von 2 unterscheidet sich von dem System von 1 durch die Arbeitsweisen seiner Codierschaltung variabler Länge 44 und der Ratensteuerschaltung 45. D. h., dass die Ratensteuerschaltung 45 eine Zielcodemenge für jeden Makroblock einstellt und jeden von der Codierschaltung variabler Länge ausgegebenen Code 44 zählt. Die Ratensteuerschaltung 45 gibt ein Steuersignal aus, um den Betrieb der Codierschaltung variabler Länge anzuhalten, wenn die gezählte Menge von Codes den Zielwert überschreitet. Indem dies getan wird, kann die Menge erzeugter Codes kleiner als der Zählwert gehalten werden.
  • Die Codiervorrichtung von 2 benötigt jedoch die Decodierschaltung variabler Länge zusätzlich zu der Codiervorrichtung von 1. D. h., dass die verbleibenden Koeffizienten von der Codierschaltung variabler Länge 44 abgerundet werden, und daher kann sich eine direkt von der Ausgabe der Quantisierungsschaltung 35 decodiertes und in dem decodierten Bildspeicher 41 gespeichertes Bild von einem von der Decodierseite decodierten Bild unterscheiden. Die Decodierschaltung variabler Länge muss mit einer Tabelle zur Wiederherstellung der aus den Null-Lauf- und Niveauwerten zusammengesetzten Code variabler Länge versehen sein, die eine hochintegrierte Schaltungsanordnung aufweisen kann.
  • Mit Bezug auf die beigefügten Zeichnungen werden bevorzugte Ausführungsformen der vorliegenden Erfindung nachstehend ausführlich beschrieben.
  • 3 ist ein Blockdiagramm einer Videocodiervorrichtung mit einer Codemengensteuervorrichtung, die eine erste Ausführungsform der vorliegenden Erfindung ist. Die Codemengensteuervorrichtung von 3 umfasst eine Rundungsschaltung 7, eine Codelängentabelle 8 und eine Ratensteuerschaltung 11.
  • Es sei angenommen, dass ein digitales Bildsignal in dem Format von beispielsweise 4 : 2 : 0 (vgl. ITU-R Empfehlung 601) nun in einen Bildspeicher 2 eingegeben wird. In diesem Fall erfasst eine Bewegungsvektor-Erfassungsschaltung 3 Bewegungsvektoren für jeden Makroblock, der aus Blöcken von 16 × 16 Pixeln für Leuchtdichtekomponenten und aus Blöcken von (8 × 8 Pixeln) × 2 für Chrominanzsignalkomponenten aufgebaut ist. Die Anzahl von Pixeln für Chrominanzsignalkomponenten kann sich abhängig von einem eingegebenen Bildformat verändern. Beispielsweise können Daten aus (16 × 8 Pixeln) × 2 oder (16 × 16 Pixeln) × 2 aufgebaut sein. Mit dem Eingabebild in dem Format von 4 : 2 : 0, ist ein Makroblock aus 4 Blöcken (jeder Block besteht aus 8 × 8 Pixeln) von Leuchtdichtekomponenten und 2 Blöcken von Chrominanzsignalkomponenten aufgebaut.
  • Die von der Bewegungsvektor-Erfassungsschaltung 3 erfassten Makroblock-Bewegungsvektoren werden in einen decodierten Bildspeicher 15 eingegeben, der seinerseits Daten eines vorhergehenden decodierten Bildabschnitts ausgibt, das von den eingegebenen Bewegungsvektoren gekennzeichnet wurde, wobei die Daten zur Vorhersage verwendet werden. Eine Vorhersagebild-Erzeugungsschaltung 16 erzeugt ein Vorhersagebild. Eine Subtrahierschaltung 4 subtrahiert das Vorhersagebild von einem zu codierenden Bild. Das Subtraktionsergebnis wird einer diskreten Kosinus-Transformation (DCT) durch eine DCT-Schaltung 5 unterworfen.
  • DCT-Koeffizienten werden in einer vorbestimmten Reihenfolge, z. B. einer Zickzackabtastreihenfolge, ausgegeben. Die DCT-Koeffizienten werden durch eine Quantisierungsschaltung 6 quantisiert. Die quantisierten Werte werden nacheinander in eine Rundungsschaltung 7 eingegeben, die nacheinander eingegebene quantisierte Werte in einen Satz eines Null-Laufs (die Anzahl von kontinuierlichen Nullen) umwandelt und danach auf Niveaus (quantisierte Werte ungleich Null) umwandelt und den Satz in einer Codelängentabelle 8 ausgibt. Die Codelängentabelle 8 enthält Codelängenwerte, die Null-Läufen und Niveaus beim Codieren variabler Länge zuzuteilen sind, und gibt Codelängenwerte aus, die einem eingegebenen Satz von Null-Läufen und Niveaus entspricht. Die Rundungsschaltung 7 empfängt Codelängenwerte von der Codelängentabelle 8 und akkumuliert die Codelängenwerte für alle Makroblöcke oder Blöcke.
  • Die Rundungsschaltung 7 empfängt ebenfalls einen Zielcodelängenwert für einen Makroblock oder einen Block aus 8 × 8 Pixeln von der Ratensteuerschaltung 11, vergleicht den akkumulierten Wert mit dem Zielwert und gibt die eingegebenen quantisierten Werte aus, wie sie dazu von der Quantisierungsschaltung 6 eingegeben wurden, wenn der akkumulierte Wert den Zielwert nicht überschreitet, oder gibt Nullen anstatt der quantisierten Werte aus, wenn der akkumulierte Wert den Zielwert überschreitet. Gemäß dem MPEG-Verfahren wird ein Steuerzeichen EOB (Blockende) angegeben, und die Codierung variabler Länge ist beendet, wenn es nur Nullen nach irgendeinem quantisierten Wert in dem Block gibt. Daher wird ein korrigierter Zielwert durch die folgende Gleichung (1) bestimmt.
  • (Korrigierte Zielcodelänge) =(Zielcodelänge) – (Codelänge des EOB) ... (1)
  • Es ist daher möglich, die erzeugte Codemenge immer kleiner als den Zielwert durch Abrunden von quantisierten Werten zu machen, wenn der akkumulierte Wert den gemäß der Gleichung (1) bestimmten korrigierten Zielwert überschreitet.
  • Quantisierte Werte von der Rundungsschaltung 7 werden in eine Codierschaltung variabler Länge 9 eingegeben, wo sie erneut in Null-Läufe und Niveaus umgewandelt und dann einer Codierung variabler Länge unterworfen werden. Die codierten Werte werden an einen Ausgangspuffer 10 ausgegeben. Die quantisierten Werte von der Rundungsschaltung 7 werden ebenfalls in eine Rück-Quantisierungsschaltung 12 eingegeben, wodurch sie rück-quantisiert werden. Die rekonstruierten DCT-Koeffizienten werden in eine inverse DCT-Schaltung 13 eingegeben, wodurch sie einer diskreten Kosinus-Rück-Transformation unterworfen werden. Eine Addierschaltung 14 addiert das Ergebnis der inversen DCT zu einem von einer Vorhersagebild-Erzeugungsschaltung 16 eingegebenen Vorhersagebild. Das Ergebnis der Addition als decodierte Bilddaten wird in einen decodierten Bildspeicher 15 eingegeben.
  • 4 ist ein Blockdiagramm, das im Detail die Rundungsschaltung 7 und die Codierschaltung variabler Länge 9 zeigt, die bei der ersten Ausführungsform von 3 verwendet werden. In 4 werden quantisierte Werte in einen Null-Lauf- und Niveau-Umwandlungsschaltungsschaltung 21 und in einen in der Rundungsschaltung 7 enthaltenen Puffer 22 eingegeben. Die Umwandlungsschaltung 21 zählt die Anzahl kontinuierlicher Nullen in einer Sequenz von quantisierten Werten und gibt den Zählwert als einen Null-Lauf und nachfolgende quantisierte Werte ungleich null als Niveaus an eine Codelängentabelle 8 aus. Ein Steuersignal wird dem Puffer 22 gegeben, um darin akkumulierte quantisierte Werte synchron mit dem Betrieb eines Multiplexers 24 (später beschrieben) auszugeben. Die Codelängenakkumulationsschaltung 23 empfängt eine Zielcodemenge für einen Makroblock oder Block von der Ratensteuerschaltung 11 und empfängt eine Codelänge von der Codelängentabelle 8 jedes Mal, wenn die Tabelle einen quantisierten Wert ungleich null empfängt. Die Codelängenakkumulierungsschaltung 23 akkumuliert die Codelänge für einen Makroblock oder einen Block. Der Multiplexer 24 wird gesteuert, so dass er quantisierte Werte ausgibt, bis die akkumulierte Codelänge die Zielcodelänge nicht überschreitet, und gibt Null aus, wenn die akkumulierte Codelänge die Zielcodelänge überschreitet.
  • Die quantisierten Werte von dem Multiplexer 24 werden in eine Rück-Quantisierungsschaltung 12 und eine Null-Lauf- und Niveau-Umwandlungsschaltung 22 in der Codierschaltung variabler Länge 9 eingegeben. Die Null-Lauf- und Niveau-Umwandlungsschaltung 25 ist mit der Null-Lauf- und Niveau-Umwandlungsschaltung 21 identisch. Sie wandelt nacheinander eingegebene quantisierte Werte in einen Satz von Null-Läufen und Niveaus um und gibt die Umwandlungsergebnisse an eine Umwandlungsschaltung variabler Länge 26 aus, die ihrerseits die Codes variabler Länge ausgibt, die den Satz von Null-Läufen und Niveaus repräsentieren.
  • Eine Videocodiervorrichtung mit einer Codemengensteuerschaltung, die eine zweite Ausführungsform der vorliegenden Erfindung ist, wird wie folgt beschrieben:
    5 zeigt eine Rundungsschaltung 7 und eine Codierschaltung variabler Länge 9, wodurch sich die zweite Ausführungsform nur von der in 3 gezeigten ersten Ausführungsform unterscheidet.
  • Bei der oben beschriebenen ersten Ausführungsform werden von der Rundungsschaltung 7 ausgegebene quantisierte Werte zuerst in Null-Läufe und Niveaus umgewandelt und dann in Codes variabler Länge von der Codierschaltung variabler Länge 9 codiert. Andererseits gibt die in 5 gezeigte zweite Ausführungsform Null-Läufe und Niveaus von der Rundungsschaltung 7 aus, und die Codierschaltung variabler Länge 9 kann die Ausgabe der Rundungsschaltung 7 direkt codieren, wobei der Schritt des Umwandelns der Ausgabe in Null-Läufe und Niveaus weggelassen wird. Die Rundungsschaltung 7 ist mit einem Wandler 27 zum vorhergehenden Lesen der Codelängen ausgestattet, durch den sie quantisierte Werte ohne weiteres in Null-Läufe und Niveaus umwandeln kann. Bei der zweiten Ausführungsform gibt die Rundungsschaltung 7 die Null-Läufe und Niveaus aus, und eine Null-Lauf- und Niveau-Rück-Umwandlungsschaltung 29 muss die Null-Läufe und Niveaus in quantisierte Werte rückumwandeln, die an eine Rück-Quantisierungsschaltung 12 zu liefern sind. Die Null-Lauf- und Niveau-Rück-Umwandlungsschaltung 29 kann ohne weiteres aus einem Zähler und einem Register aufgebaut werden.
  • In 5 wandelt die Null-Lauf- und Niveau-Umwandlungsschaltung 27, die in der Rundungsschaltung 7 enthalten ist, eine Sequenz von quantisierten Werten in einen Satz von Null-Läufen und Niveaus um und gibt das Umwandlungsergebnis an eine Codelängentabelle 8 und einen Multiplexer 24 aus. Der Codelängenakkumulierungsschaltung 28 wird ein Zielcodelängenwert für einen Makroblock oder einen Block von einer Ratensteuerschaltung 11 am Beginn der Eingabe quantisierter Werte eines Makroblocks oder Blocks und einen vorhergesagten Codelängenwert für einen Satz von Null-Läufen und Niveaus von der Codelängentabelle 8 immer dann gegeben, wenn ein quantisierter Wert ungleich null eingegeben wird. Die Codelängenakkumulierungsschaltung 28 akkumuliert Codelängenkomponenten jedes Makroblocks oder jedes Blocks. Der Multiplexer 24 wird gesteuert, so dass er Null-Läufe und Niveaus ausgibt, bis die akkumulierte Codelänge die Zielcodelänge nicht überschreitet, und er gibt nur einmal einen Blockendecode aus, der angibt, dass danach existierende Koeffizienten alle Nullen sind.
  • Die von dem Multiplexer 24 ausgegebenen "Null-Läufe und Niveaus" werden in einer Umwandlungsschaltung variabler Länge 26 eingegeben, die ihrerseits einen Code variabler Länge entsprechend dem Satz von Null-Läufen und Niveaus ausgibt. Der Satz von Null-Läufen und Niveaus wird ebenfalls in einer Null-Lauf- und Niveau-Rück-Umwandlungsschaltung 29 eingegeben, von der rück-umgewandelte quantisierte Werte an eine Rück-Quantisierungsschaltung 12 ausgegeben werden.
  • Modifizierte Ausführungsformen der vorliegenden Erfindung werden wie folgt beschrieben:
    Eine erste Modifikation ist der ersten Ausführungsform von 3 ähnlich, wobei sie sich jedoch durch Anwenden des dreidimensionalen Codierverfahrens variabler Länge unterscheidet. Bei der ersten Ausführungsform wird ein Satz von zwei Arten von Werten (d. h. Null-Läufen und Niveaus) in Codes variabler Länge umgewandelt und wird außerdem von einem EOB (Blockende)-Code gefolgt, wenn alle nach einem letzten Niveauwert in einem Block Nullen sind. Bei dieser modifizierten Ausführungsform wird ein Satz von drei Arten von Werten (d. h. Null-Lauf, Niveaus und ein EOB-Flag) in einen Code variabler Länge umgewandelt. Das EOB-Flag gibt an, ob irgendein quantisierter Wert ungleich null nach dem letzten Niveauwert in dem Block erscheint. D. h., dass alle Codes variabler Länge Information enthalten, die das EOB angibt, wobei ein Code weggelassen wird, der nur das Ende des Blocks darstellt. Folglich wird diese Modifikation durch Modifizieren der Null-Lauf- und Niveau-Umwandlungsschaltungen 21 und 25 (4) auf eine solche Art und Weise verwirklicht, dass sie eine Sequenz von quantisierten Werten in einen Satz von Null-Läufen, Niveaus und ein EOB-Flag umwandeln können.
  • Diese modifizierte Ausführungsform unterscheidet sich von der ersten Ausführungsform durch das Codierverfahren variabler Länge und weist dadurch einen unterschiedlichen Inhalt ihrer Codelängentabelle auf.
  • Eine zweite modifizierte Ausführungsform unterscheidet sich von der zweiten Ausführungsform nur durch ihr Codierverfahren variabler Länge. D. h., dass der Unterschied darin besteht, dass eine in 5 gezeigte Rundungsschaltung 7 dieser modifizierten Ausführungsform ein Signal ausgibt, das aus Null-Läufen, Niveaus und einem EOB-Flag besteht. Mit anderen Worten wird diese Modifikation durch Modifizieren der Null-Lauf- und Niveau-Umwandlungsschaltung 27 erreicht, um eine eingegebene Sequenz von quantisierten Werten in Null-Läufe, Niveaus und ein EOB-Flag umzuwandeln, wobei der Multiplexer 24 den Wert eines EOB-Flags auswählt, und die Null-Lauf- und Niveau-Rück-Umwandlungsschaltung 29 einen Satz von Null-Läufen, Niveaus und ein EOB-Flag in eine Sequenz von quantisierten Werten umwandelt. Bei diesem Beispiel wählt der Multiplexer 24 den Wert eines EOB-Flags aus, das die Anwesenheit eines quantisierten Wertes ungleich Null zeigt, wenn eine akkumulierte Codelänge eine Zielcodelänge nicht überschreitet, und er wählt den anderen Wert des EOB-Flags aus, das die Abwesenheit eines quantisierten Wertes ungleich Null zeigt, wenn die akkumulierte Codelänge die Zielcodemenge überschreitet.
  • Mit Bezug auf ein Ablaufdiagramm gemäß 6A und 6B wird das Verfahren zum Einstellen einer Zielcodemenge für jeden der Blöcke, die einen Makroblock aufbauen, für den eine Zielcodemenge eingestellt wurde, nachstehend beschrieben.
  • Das Ablaufdiagramm von 6A und 6B bezieht sich auf die erste Ausführungsform von 3.
  • Die Ratensteuerschaltung 11 stellt zuerst eine Zielcodemenge für einen Makroblock ein (Schritt 1). Die Rundungsschaltung 7 stellt eine Variable "n", die die Seriennummer eines Blocks darstellt, auf 1 (Schritt 2) und die akkumulierte Codelänge des Blocks auf 0 ein. Die Zielcodemenge wird an jeweilige Blöcke, die den Makroblock aufbauen, mit unterschiedlichen Anteilen verteilt, die für jeweilige Blöcke vorbestimmt sind. Eine Zielcodemenge für den ersten Block wird somit bestimmt und eingestellt (Schritt 3). Es sei beispielsweise angenommen, dass ein Makroblock aus m Blöcken aufgebaut wird, und Rn das Verhältnis der den n-ten Block zugeteilten Codemenge ist, dann wird die Zielcodemenge für den ersten Block wie folgt bestimmt:
    Figure 00260001
  • Ein quantisierter Wert wird von der Quantisierungsschaltung 6 eingegeben (Schritt 4). Es wird geprüft, ob der eingegebene quantisierte Wert 0 ist und ein Block endet (Schritt 5). Wenn der quantisierte Wert 0 ist und der Block nicht endet, kann er nicht codiert werden, und daher kehrt der Prozess zu Schritt 4 zurück, um einen nächsten quantisierten Wert einzugeben. Wenn der quantisierte Wert nicht 0 ist oder der Block endet, wird eine Codelänge des Codes variabler Länge aus der Codelängentabelle 8 gemäß den Null-Läufen und Niveaus des eingegebenen quantisierten Werts bestimmt und zu der akkumulierten Codelänge des Blocks hinzugefügt (Schritt 6). Der quantisierte Wert wird ohne irgendeine zusätzliche Verarbeitung in die Codierschaltung variabler Länge 9 ausgegeben (Schritt 8), und der Block wird geprüft, ob er geendet hat (Schritt 9). Die Schritte 4 bis 9 werden wiederholt, bis der Block endet.
  • In dem Fall, wenn die akkumulierte Codelänge des Blocks die Zielcodemenge überschreitet (bei Schritt 7), wird Null anstatt des quantisierten Werts ausgegeben (Schritt 10), und der Block wird geprüft, ob er endet (Schritt 11). Die Schritte 10 bis 12 werden mit wiederholtem Ausgeben von Nullen wiederholt, bis der Block endet. Wenn der Block endet, wird der Zielcodemengenwert des Makroblocks durch den akkumulierten Codemengenwert verringert (Schritt 13). D. h., dass der Zielcodemengenwert des Makroblocks als der Codemengenwert aktualisiert wird, um an noch nicht codierte verbleibende Blöcke verteilt zu werden. Der Makroblock wird geprüft, ob er endet (Schritt 14). Falls nicht, wird die variable "n", die die Seriennummer des aktuellen Blocks darstellt, um 1 inkrementiert (Schritt 15), und das Verfahren kehrt zurück, um einen nachfolgenden Block zu verarbeiten. Diese Prozedur wird wiederholt, bis der Makroblock endet.
  • Gemäß der oben erwähnten Prozedur ist es möglich, die Codemenge Blöcken mit voreingestellten Teilen jeweils zuzuteilen und die verbleibende Codemenge an nichtcodierte Blöcke erneut zu verteilen.
  • Bei Schritt 3 kann die Zielcodemenge für den n-ten Block wie folgt bestimmt werden:
    Figure 00280001
  • Bei der Gleichung ist m die Anzahl von Blöcken, die einen Makroblock bilden.
  • Bei Schritt 7 wird die Beurteilung mit Bezug auf die gemäß der Gleichung (1) bestimmte korrigierte Zielcodemenge oder durch Verwenden des folgenden Diskriminanten durchgeführt. (Akkumulierte Codelänge des n-ten Blocks) ≤ (Zielcodemenge des n-ten Blocks) – (EOB-Codelänge).
  • Das Ablaufdiagramm von 6A und 6B bezieht sich auf die erste Ausführungsform, wobei es jedoch ohne weiteres auf ein Ablaufdiagramm modifiziert werden kann, das der zweiten Ausführungsform angepasst ist. D. h., dass die Differenz zwischen den ersten und zweiten Ausführungsformen darin existiert, dass die Rundungsschaltung der ersten Ausführungsform quantisierte Werte ausgibt, während die Rundungsschaltung der zweiten Ausführungsformen einen Satz von Null-Läufen und Niveaus ausgibt.
  • 7 ist ein Ablaufdiagramm, das an die zweite Ausführungsform angepasst ist, das sich von dem Ablaufdiagramm von 6A und 6B dadurch unterscheidet, dass ein Satz von Null-Läufen und Niveaus ausgegeben wird (bei Schritt 16), wenn die akkumulierte Codelänge kleiner als die Zielcodemenge ist (bei Schritt 7), und ein EOB-Code bei Schritt 17 ausgegeben wird, um die Verarbeitung zu beenden, wenn die akkumulierte Codelänge die Zielcodemenge bei Schritt 7 überschreitet.
  • Die Ablaufdiagramme von 6A, 6B und 7 beschreiben die Vorgänge der ersten und zweiten Ausführungsform der vorliegenden Erfindung, wobei diese den Ablaufdiagrammen (nicht gezeigt) der vorher beschriebenen modifizierten ersten und zweiten Ausführungsformen ähnlich sind.
  • Es ist aus dem vorhergehenden ersichtlich, dass die Verwendung der Codemengensteuervorrichtung gemäß der vorliegenden Erfindung zweifellos die Erzeugung von Codes steuern kann, eine Zielcodemenge in einem Videocodiersystem mit einer unbedeutenden Zunahme der Hardware nicht zu überschreiten. In diesem Fall kann diese Vorrichtung ebenfalls als eine Funktion zum Begrenzen der maximalen Codemenge eines Signals dienen, wenn mit einer konstanten Zielcodemenge gearbeitet wird.
  • Die Codemengensteuervorrichtung gemäß der vorliegenden Erfindung kann zweifellos die erzeugte Codemenge steuern, um kleiner als die Zielcodemenge zu sein, indem die zum Codieren von jedem Block oder Unterblock zu erzeugende Codemenge vorher geschätzt wird und der die Zielcodemenge überschreitende Teil der Codemenge abgeschnitten wird. Diese Vorrichtung benötigt nicht die Bereitstellung einer hochintegrierten Decodierschaltung variabler Länge. Die Vorrichtung verwendet eine Tabelle, die variable Codelängendaten zur Codelängenschätzung enthält, die keine so große Hardware erfordert, da die Codelängendaten durch ein kurzes Bit dargestellt werden können. Ein basierend auf dem MPEG-System codiertes Bild leidet nicht unter der Verschlechterung seiner Qualität durch den Einfluss eines Abschneidens eines Teils der quantisierten Werte, da der abgeschnittene Abschnitt hauptsächlich Hochfrequenzkomponenten enthält.
  • Eine mit einer Codemengensteuervorrichtung zu verbindende Codierschaltung variabler Länge, deren Ausgabe eine Sequenz von quantisierten Werten ist, muss im Allgemeinen mit dem gleichen Umwandlungsmittel ausgestattet sein, wie es die Vorrichtung aufweist. Die Notwendigkeit für ein derartiges Umwandlungsmittel wird durch die Codemengensteuervorrichtung gemäß der vorliegenden Erfindung beseitigt, bei der eine Rück-Umwandlungsschaltung zum Rück-Umwandeln von Ausgangsdaten in quantisierte Werten vor einer Rück-Quantisierungsschaltung bereitgestellt wird. Diese Schaltungsanordnung ist, verglichen mit dem Umwandlungsmittel, sehr einfach und ermöglicht, dass die Codierschaltung variabler Länge ohne zusätzliche Umwandlungsmitteln nutzbar ist.
  • Die Codemengensteuervorrichtung gemäß der vorliegenden Erfindung kann durch Aktualisieren einer Zielcodemenge durch das Ratensteuermittel arbeiten, das, wann immer einer der Unterblöcke codiert wird, den Zielcodemengenwert aktualisiert, in dem davon die Anzahl tatsächlich erzeugter Codes subtrahiert wird und der aktualisierte Wert den verbleibenden Unterblöcken neu zugeteilt wird. Bei einer derartigen Betriebsart kann die Codemengensteuervorrichtung eine Zielcodemenge für jeden Block einstellen, die Zielcodemenge an jeden der Unterblöcke weiter verteilen, die einen aktuellen Block aufbauen, und die Codemenge durch Aktualisieren und adaptives Verteilen der Zielcodemenge für den Block steuern, womit die abgeschnittenen Teile der quantisierten Werte minimiert werden. Dies verwirklicht ein gleichmäßiges Abrunden der quantisierten Werte über die Blöcke und verbessert dadurch die Blockbildqualität.
  • Obwohl die Codemengen-Codiervorrichtung gemäß der vorliegenden Erfindung verwendet wird, um zu steuern, dass die Codemenge eine aktualisierbare Zielcodemenge bei dem Codiersystem variabler Länge nicht überschreitet, kann sie ebenfalls mit einer festen Zielcodemenge verwendet werden, um die maximale Codemenge zu begrenzen und sie kleiner als einen spezifizierten konstanten Wert zu halten.

Claims (7)

  1. Codemengensteuervorrichtung (1), die zum Gebrauch in einer Videocodiervorrichtung angepasst ist, die funktionsfähig ist, um eine Videosequenz durch Durchfahren einer Zwischenrahmenvorhersage für jeden Block zu codieren, wobei ein Zwischenrahmenvorhersagefehler orthogonal transformiert wird, Transformationskoeffizienten quantisiert und die quantisierten Werte von einer Codierschaltung variabler Länge (9) codiert werden, wobei die Codemengensteuervorrichtung angeordnet ist, um die Codemenge für jeden einer Mehrzahl von Blöcken zu steuern, in die Bilddaten aufgeteilt sind, und mit: einem Umwandlungsmittel (21, 27) zum Umwandeln unter bestimmten Bedingungen der quantisierten Werte in eine Mehrzahl von Daten; einem Tabellenmittel (8) zum Ausgeben der Codelänge eines Codes variabler Länge entsprechend jeder Daten; Akkumulierungsmittel (23, 28) zum Bestimmen einer vorhergesagten Codemenge durch Akkumulieren der Codelängen für jeden Block oder jeden einer Mehrzahl von Teilblöcken, in die jeder Block aufgeteilt ist; einem Ratensteuermittel (11) zum Ausgeben der Zielcodemenge pro Block oder Teilblock; und Ausgabeumschaltmittel (24) zum Abrunden der quantisierten Werte, falls die vorhergesagte Codemenge die Zielcodemenge überschreitet.
  2. Videocodiervorrichtung mit der Codemengensteuervorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass das Umwandlungsmittel (21) eine Sequenz von zweidimensionalen quantisierten Werten für jeden Teilblock in eine Sequenz von eindimensionalen quantisierten Werten spezifizierter Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werten ungleich Null zusammengesetzt sind, wobei das Ausgabeumschaltmittel (24) eine Eingangssequenz von quantisierten Werten ausgibt, wie es ist, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und eine Sequenz von quantisierten Werten ausgibt, die durch Zwingen eines übermäßigen Teils der vorhergesagten quantisierten Werte auf Null bestimmt werden, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die mit dem Umwandlungsmittel versehene Codierschaltung variabler Länge (9) die Daten in entsprechende Codes variabler Länge umwandelt, die Sequenz der Codes ausgibt und schließlich einen Blockendecode ausgibt, wenn alle quantisierten Werte Nullen sind.
  3. Videocodiervorrichtung mit der Codemengensteuervorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass das Umwandlungsmittel (27) eine Sequenz von zweidimensionalen quantisierten Werten für jeden Teilblock in eine Sequenz von eindimensionalen quantisierten Werten spezifizierter Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl kontinuierlicher Nullen und darauf folgend aus quantisierten Werten ungleich Null zusammengesetzt sind, wobei das Ausgabeumschaltmittel (24) die Daten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und einen Blockendecode ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die Codierschaltung variabler Länge (9) die in entsprechende Codes variabler Länge umgewandelten Daten ausgibt, und den Blockendcode ausgibt, wenn der Blockendcode eingegeben wird.
  4. Videocodiervorrichtung mit der Codemengensteuervorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass das Umwandlungsmittel (21, 27) eine Sequenz von zweidimensionalen quantisierten Werten für jeden Teilblock in eine Sequenz von eindimensionalen quantisierten Werten spezifischer Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl von kontinuierlichen Nullen und darauf folgend aus quantisierten Werte ungleich Null zusammengesetzt sind, und einem Flag, das das Vorhandensein oder Nicht-Vorhandensein eines quantisierten Werts ungleich Null nach den vorhergehenden quantisierten Werten angibt, wobei das Ausgabeumschaltmittel (24) eine Sequenz von eingegebenen quantisierten Werten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und eine Sequenz von quantisierten Werten ausgibt, die durch Zwingen eines übermäßigen Teils der vorhergesagten Werte auf Null bestimmt werden, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die mit dem Umwandlungsmittel versehene Codierschaltung variabler Länge (9) die in entsprechende Codes variabler Länge umgewandelten Daten ausgibt.
  5. Videocodiervorrichtung mit der Codemengensteuervorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass das Umwandlungsmittel (21, 27) eine Sequenz von zweidimensionalen quantisierten Werten für jeden Teilblock in eine Sequenz von eindimensionalen quantisierten Werten einer spezifischer Reihenfolge anordnet und die quantisierten Werte in Daten umwandelt, die aus einem Satz der Anzahl von kontinuierlichen Nullen und darauf folgend aus quantisierten Werten ungleich Null zusammengesetzt sind, und einem Flag, das das Vorhandensein oder Nicht-Vorhandensein eines quantisierten Werts ungleich Null nach den vorhergehenden quantisierten Werten angibt, wobei das Ausgabeumschaltmittel (24) die Daten ausgibt, wenn die vorhergesagte Codemenge die Zielcodemenge nicht überschreitet, und die Daten mit einem Flag ausgibt, das gesetzt ist, um das Nicht-Vorhandensein eines quantisierten Werts ungleich Null anzugeben, wenn die vorhergesagte Codemenge die Zielcodemenge überschreitet, und die Codierschaltung variabler Länge (9) die in die entsprechenden Codes variabler Länge umgewandelten Daten ausgibt.
  6. Codemengensteuervorrichtung oder Videocodiervorrichtung mit der Codemengensteuervorrichtung gemäß einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Ratensteuermittel (11) eine Zielcodemenge für jeden Block einstellt, eine Zielcodemenge für jeden Teilblock durch Zuteilen der Zielcodemenge für den Block an Teilblöcke einstellt, die Zielcodemenge für den Block durch Subtrahieren einer tatsächlich erzeugten Codemenge von dem aktuellen Zielwert des Blocks jedes mal aktualisiert, nachdem ein Teilblock von der Codierschaltung variabler Länge (9) codiert ist, und die Zielcodemenge für einen nächsten Teilblock durch Zuteilen der aktualisierten Zielcodemenge des Blocks zu den verbleibenden Teilblöcken aktualisiert.
  7. Videocodiervorrichtung zum Codieren von Videoinformation in codierte Datenblöcke variabler Länge und zum Steuern der Codemenge für jeden Block, wobei die Vorrichtung umfaßt: ein Mittel (6, 21, 27) zum Erzeugen quantisierter Datenwerte, die einen Bildblock darstellen; ein Mittel (23, 28) zum Vorhersagen der Codelänge für den Block durch Akkumulieren variabler Codelängenwerte, die durch Bezug auf eine Codelängentabelle (8) erhalten wurden und die Daten zugeordnet sind, die den quantisierten Datenwerten entsprechen; ein Mittel (11) zum Erzeugen einer Zielcodemenge pro Block; und ein Mittel (24) zum Vergleichen der vorhergesagten Codelänge mit der Zielcodemenge und zum Abrunden der quantisierten Datenwerte vor der Codierung variabler Länge, wenn die vorhergesagte Codelänge die Zielcodemenge überschreitet.
DE1998613349 1997-02-25 1998-02-23 Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend Expired - Fee Related DE69813349T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4112497 1997-02-25
JP4112497A JPH10243399A (ja) 1997-02-25 1997-02-25 符号量制御装置及び該符号量制御装置を含む動画像符号化装置

Publications (2)

Publication Number Publication Date
DE69813349D1 DE69813349D1 (de) 2003-05-22
DE69813349T2 true DE69813349T2 (de) 2004-04-08

Family

ID=12599712

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998613349 Expired - Fee Related DE69813349T2 (de) 1997-02-25 1998-02-23 Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend

Country Status (4)

Country Link
US (1) US6091774A (de)
EP (1) EP0861003B1 (de)
JP (1) JPH10243399A (de)
DE (1) DE69813349T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI107496B (fi) * 1997-07-18 2001-08-15 Nokia Mobile Phones Ltd Kuvan kompressointi
WO2001003071A1 (en) * 1999-06-30 2001-01-11 Intel Corporation 3d image coding
US7079582B2 (en) * 2000-07-07 2006-07-18 Matsushita Electric Industrial Co., Ltd. Image coding apparatus and image coding method
JP2002094989A (ja) * 2000-09-14 2002-03-29 Pioneer Electronic Corp ビデオ信号符号化装置及びビデオ信号符号化方法
JP2002101417A (ja) * 2000-09-22 2002-04-05 Oki Electric Ind Co Ltd 動画像符号化方法および装置
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
EP1520431B1 (de) 2002-07-01 2018-12-26 E G Technology Inc. Wirksame kompression und transport von video über ein netzwerk
JP4390112B2 (ja) * 2002-09-05 2009-12-24 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
US20050169369A1 (en) * 2004-02-03 2005-08-04 Sony Corporation Scalable MPEG video/macro block rate control
US7697608B2 (en) * 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
US20070183507A1 (en) * 2004-02-19 2007-08-09 Koninklijke Philips Electronics N.V. Decoding scheme for variable block length signals
US7747095B2 (en) 2004-10-08 2010-06-29 Nvidia Corporation Methods and systems for rate control in image compression
KR100978767B1 (ko) 2005-10-14 2010-08-30 닛본 덴끼 가부시끼가이샤 화상 부호화 방법 및 이것을 이용한 장치와 컴퓨터프로그램
CN101401423A (zh) 2006-03-27 2009-04-01 日本电气株式会社 运动图像存储系统、运动图像存储方法和运动图像存储程序
JP2008005163A (ja) * 2006-06-21 2008-01-10 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
KR101599561B1 (ko) * 2007-10-05 2016-03-03 톰슨 라이센싱 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치
JP5059728B2 (ja) * 2008-09-30 2012-10-31 ルネサスエレクトロニクス株式会社 画像符号化装置及び方法
JP5502336B2 (ja) 2009-02-06 2014-05-28 パナソニック株式会社 映像信号符号化装置及び、映像信号符号化方法
JP5484083B2 (ja) 2010-01-14 2014-05-07 株式会社メガチップス 画像処理装置
JP5491936B2 (ja) * 2010-03-31 2014-05-14 株式会社メガチップス 画像処理装置
US20110317762A1 (en) * 2010-06-29 2011-12-29 Texas Instruments Incorporated Video encoder and packetizer with improved bandwidth utilization
JP5149427B2 (ja) * 2011-06-22 2013-02-20 シャープ株式会社 符号化装置、復号化装置、符復号化システム、符号化方法及び復号化方法
US8804816B2 (en) 2011-08-30 2014-08-12 Microsoft Corporation Video encoding enhancements
US8982948B2 (en) 2011-12-21 2015-03-17 Sony Corporation Video system with quantization matrix coding mechanism and method of operation thereof
WO2018079444A1 (ja) * 2016-10-24 2018-05-03 日本電気株式会社 符号化装置、符号化方法およびプログラム記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0469835B1 (de) * 1990-07-31 1998-09-30 Canon Kabushiki Kaisha Verfahren und Gerät zur Bildverarbeitung
JP2647272B2 (ja) * 1991-04-04 1997-08-27 沖電気工業株式会社 画像符号化における伝送レート制御方式
BE1007807A3 (nl) * 1993-11-30 1995-10-24 Philips Electronics Nv Inrichting voor het coderen van een videosignaal.
JP2907063B2 (ja) * 1995-05-24 1999-06-21 日本ビクター株式会社 総符号量制御を行なう動画像符号化装置
DE19524872C1 (de) * 1995-07-07 1997-02-20 Siemens Ag Verfahren und Anordnung zur Codierung und Decodierung von einem Videodatenstrom für alle Bildelemente des Videodatenstroms
JP3773585B2 (ja) * 1996-03-29 2006-05-10 富士通株式会社 画像符号化装置

Also Published As

Publication number Publication date
EP0861003A2 (de) 1998-08-26
DE69813349D1 (de) 2003-05-22
EP0861003A3 (de) 1999-02-10
US6091774A (en) 2000-07-18
JPH10243399A (ja) 1998-09-11
EP0861003B1 (de) 2003-04-16

Similar Documents

Publication Publication Date Title
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
EP0687111B1 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
DE69935478T2 (de) Bewegtbildkodiergerät
DE69627982T2 (de) Signaladaptives Nachverarbeitungssystem um Blockierungseffekte und Ringstörungen zu verringern
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69434862T2 (de) Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild
DE4343211B4 (de) Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung
DE10300048B4 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
DE69435000T2 (de) Bildkodierungsvorrichtung
DE60125301T2 (de) Videosignaltranskodierung
DE60035740T2 (de) Vorrichtung und Verfahren zur Kodierung von Bewegtbildsignalen
DE69635369T2 (de) Videokodierungsvorrichtung
DE69831894T2 (de) Signalkodierung, -aufnahme und -übertragung
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE60211171T2 (de) Verarbeitung von einem komprimierten mediensignal
DE69935564T2 (de) Kodiervorrichtung und -verfahren
DE60309039T2 (de) Verfahren und vorrichtung zur optimierung der bildschärfe während der kodierung
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE10296787T5 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE69636273T2 (de) Bewegtbildcodiervorrichtung, Bewegtbilddecodiervorrichtung und Bewegtbildcodier-/-Decodiervorrichtung
DE10218541A1 (de) Verfahren zur Videocodierung und Computerprogrammprodukt
DE19749655B4 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
EP0752788A2 (de) Videocoder und -decoder

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee