DE69319855T2 - Verfahren und Vorrichtung zur Bilddatencodierung - Google Patents
Verfahren und Vorrichtung zur BilddatencodierungInfo
- Publication number
- DE69319855T2 DE69319855T2 DE69319855T DE69319855T DE69319855T2 DE 69319855 T2 DE69319855 T2 DE 69319855T2 DE 69319855 T DE69319855 T DE 69319855T DE 69319855 T DE69319855 T DE 69319855T DE 69319855 T2 DE69319855 T2 DE 69319855T2
- Authority
- DE
- Germany
- Prior art keywords
- code amount
- code
- block
- data
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000004364 calculation method Methods 0.000 claims description 105
- 238000013139 quantization Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 18
- 238000009825 accumulation Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 description 16
- 238000005070 sampling Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000013144 data compression Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010606 normalization 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
- Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bilddatenkodierung.
- Ein hocheffizientes Kodiersystem zur Komprimierung einer Datenmenge wird in verschiedenen Vorrichtungen, wie einer Kommunikationsvorrichtung, einer Aufzeichnungs- und Wiedergabevorrichtung, einem Videokassettenrekorder, einem Videobandrekorder und einer Anzeigevorrichtung verwendet. Einige dieser Kodiersysteme verwenden einen Code mit Worten variabler Länge. Im allgemeinen ist es wünschenswert, daß kodierte Daten aus einem Kodiersystem mit im wesentlichen konstanter Bitrate ausgegeben werden.
- Ein eine Orthogonaltransformation und einen Code variabler Länge verwendendes System ist bei der effizienten Kodierung von Daten natürlicher Bilder wirksam. Es wurde beschlossen, daß dieses System in der internationalen Norm der Kodierung von natürlichen Farbbilddaten verwendet wird (ISO/IEC JTC1/SC2/WG8: JPEG Technical Specification, JPEG-8-R5, 2. Januar 1990). Da bei diesem System der Code variabler Länge verwendet wird, tendiert die Menge (die Anzahl von Bits) kodierter Ausgabedaten zur bildweisen Veränderung. Es sei bemerkt, daß die Codelänge von Ausgabedaten ein allgemeiner Ausdruck für die Menge kodierter Ausgabedaten ist.
- Im allgemeinen wird eine Bilddatenaufzeichnungsvorrichtung, wie ein Videobandrekorder oder ein Videokassettenrekorder zur Aufzeichnung von Daten mit einer im wesentlichen konstanten Bitrate entworfen. Zur Realisierung der Aufzeichnung von Daten bei einer im wesentlichen konstanten Bitrate ist es erforderlich, die Menge kodierter Ausgabedaten aus einem Kodierabschnitt Bild für Bild zu steuern. Dementsprechend wurden Systeme zur Steuerung der Menge kodierter Daten vorgeschlagen (beispielsweise ITEC '92: 1992 ITE Annual Convention 16-15 "Bitrate Control for the JPEG Coding").
- Bei der Bilddatenkodierung ist es üblich, daß jedes Vollbild oder Teilbild von Bilddaten in eine vorbestimmte Anzahl von Abschnitten, sogenannte Blöcke, unterteilt wird, und die Bilddaten blockweise verarbeitet werden.
- In dem in den Druckschriften ITEC '92 offenbarten System werden während einem ersten Vorabtastvorgang einige Blöcke aus ein Vollbild bildenden Blöcken ausgewählt, und die Daten in den ausgewählten Blöcken werden quantisiert und mit einem ersten Skalierungsfaktor kodiert. Zusätzlich wird die Codemenge in einem Vollbild aus der Menge der kodierten Daten in den ausgewählten Blöcken geschätzt, und ein zweiter Skalierungsfaktor wird im Ansprechen auf eine Differenz zwischen der geschätzten Codemenge und einer Zielcodemenge in einem Vollbild eingestellt. Während eines zweiten Vorabtastvorgangs, der dem ersten Vorabtastvorgang folgt, werden einige Blöcke aus den ein Vollbild bildenden Blöcken ausgewählt, und die Daten in den ausgewählten Blöcken werden mit dem zweiten Skalierungsfaktor quantisiert und kodiert. Außerdem wird die Codemenge in einem Vollbild aus der Menge der kodierten Daten in den ausgewählten Blöcken geschätzt, und ein dritter Skalierungsfaktor wird im Ansprechen auf eine Differenz zwischen der geschätzten Codemenge und der Zielcodemenge in einem Vollbild und auch im Ansprechen auf den zweiten Skalierungsfaktor eingestellt. Ein derartiger Vorabtastvorgang wird periodisch wiederholt, bis die Differenz zwischen der geschätzten Codemenge und der Zielcodemenge in einem Vollbild in einen erlaubten Bereich fällt. Der während der Vorabtastvorgänge erhaltene End-Skalierungsfaktor wird in einem Hauptabtastvor gang zur tatsächlichen Quantisierung und Kodierung von Daten in allen ein Vollbild bildenden Blöcken verwendet.
- Ein ähnliches System ist auch aus der EP-A-0 500 077 bekannt, die eine Bilddatenkomprimierungs-Kodiervorrichtung mit einem Hauptkodierzweig offenbart, mit einer DCT-Schaltung, einem Pufferspeicher, einem Quantisierer, einer Kodierschaltung variabler Wortlänge und einer Quantisierungsschrittgrößen- Bestimmungsrückführschleife. Zur Verhinderung von Codemengenänderungen unter den Vollbildern weist die Vorrichtung auch einen PRE-Zweig auf, der einen vorausgehenden Vorgang ähnlich dem Vorgang des Hauptzweiges ausführt, wobei der vorhergehende Vorgang auf einer AC-Komponentenerfassung des Signals und dem in der Rückführschleife des Hauptzweiges bestimmten Zielcode beruht.
- In dem in den Druckschriften ITEC '92 offenbarten System wird der tatsächlich verwendete Skalierungsfaktor somit bei jedem Vollbild aktualisiert. Demnach bleibt der tatsächlich verwendete Skalierungsfaktor während jedes Hauptabtastvorgangs entsprechend einem Vollbild unverändert. In einigen Fällen tritt ein großer Fehler zwischen einer tatsächlichen Codemenge und der Zielcodemenge aufgrund des unveränderten Beibehaltens des tatsächlich verwendeten Skalierungsfaktors während eines Vollbilds auf. Der große Fehler in einer Richtung bedeutet, daß die tatsächliche Codemenge die Zielcodemenge exzessiv überschreitet. Wenn ein derartiger Überlauf in einem Videobandrekorder oder einem Videokassettenrekorder auftritt, kann ein Endabschnitt von Bilddaten nicht aufgezeichnet werden.
- Der Erfindung liegt daher die Aufgabe zugrunde, eine verbesserte Vorrichtung zur Bilddatenkodierung auszugestalten.
- Eine weitere Aufgabe der Erfindung besteht in der Ausbildung eines verbesserten Verfahrens zur Bilddatenkodierung.
- Die Erfindung, die eine Vorrichtung sowie ein entsprechendes Verfahren betrifft, ist in den Patentansprüchen 1 bis 9 und im Patentanspruch 10 dargelegt.
- Fig. 1 zeigt ein Blockschaltbild einer Bilddatenkodiervorrichtung gemäß einem ersten Ausführungsbeispiel der Erfindung.
- Fig. 2 zeigt eine Darstellung einer Reihenfolge, in der DCT- Koeffizienten in einem Block abgetastet werden.
- Fig. 3 zeigt eine Darstellung von Quantisierungsschritten, die jeweiligen DCT-Koeffizienten in einem Block zugeordnet sind.
- Fig. 4 zeigt eine Darstellung der Beziehung zwischen Blöcken, Gruppen und zugeordneten Skalierungsfaktoren in einem Teilbild.
- Fig. 5 zeigt eine Darstellung der Beziehung zwischen einem Skalierungsfaktor und einer Codemenge in einem Teilbild.
- Fig. 6 zeigt eine Darstellung eines Beispiels von Veränderungen im Zeitbereich bei einer akkumulierten Codemenge in dem ersten Ausführungsbeispiel.
- Fig. 7 zeigt eine Darstellung der Beziehung zwischen einem Skalierungsfaktor und einer Codemenge in einer Gruppe j und nachfolgenden Gruppen in dem ersten Ausführungsbeispiel.
- Fig. 8 zeigt eine Darstellung eines Beispiels von Veränderungen im Zeitbereich bei einer akkumulierten Codemenge in einer Bildkodiervorrichtung gemäß einem zweiten Ausführungsbeispiel der Erfindung.
- Fig. 9 zeigt ein Blockschaltbild einer Bilddatenkodiervorrichtung gemäß einem dritten Ausführungsbeispiel der Erfindung.
- Fig. 10 zeigt eine Darstellung eines Beispiels von Veränderungen im Zeitbereich bei einer akkumulierten Codemenge und Veränderungen im Zeitbereich bei einer ersten und einer zweiten Steuercodemenge gemäß dem dritten Ausführungsbeispiel.
- Fig. 11 zeigt eine Darstellung eines Beispiels der Beziehung zwischen Blöcken und zugeordneten Codemengen in dem dritten Ausführungsbeispiel.
- Fig. 12 zeigt ein Blockschaltbild einer Bilddatenkodiervorrichtung gemäß einem vierten Ausführungsbeispiel der Erfindung.
- Fig. 13 zeigt ein Blockschaltbild einer Bilddatenkodiervorrichtung gemäß einem fünften Ausführungsbeispiel der Erfindung.
- Fig. 14 zeigt eine Darstellung einer Kanalteilung in einem Teilbild bei dem fünften Ausführungsbeispiel.
- In der folgenden Beschreibung bedeutet die Menge kodierter Daten die Anzahl von Bits kodierter Daten. Auf dem Gebiet der Datenkompression bzw. Datenkomprimierung werden die Menge kodierter Daten und die Anzahl von Bits kodierter Daten im allgemeinen als Codelänge kodierter Daten bezeichnet. Außerdem wird die Steuerung der Menge kodierter Daten oder die Steuerung der Anzahl von Bits kodierter Daten im allgemeinen als Ratensteuerung kodierter Daten bezeichnet.
- Gemäß Fig. 1 enthält eine Bilddatenkodiervorrichtung eines ersten Ausführungsbeispiels einen Eingangsanschluß 1, der mit einer Blockbildungsschaltung 2 verbunden ist, die von einer DCT-(diskreten Cosinustransformations-)Schaltung 3 gefolgt wird. Die DCT-Schaltung 3 ist mit einem Teilbildspeicher 4 verbunden, der nacheinander von einem ersten Quantisierer 5 und einer Huffman-Kodierschaltung 6 gefolgt wird. Die Huffman-Kodierschaltung 6 ist mit einem Pufferspeicher 7 verbunden. Die DCT-Schaltung 3 ist auch mit einem zweiten Quantisierer 9 gefolgt von einer Blockcodemengen- Berechnungsschaltung 10 verbunden. Die Blockcodemengen- Berechnungsschaltung 10 ist mit einer Anfangs- Skalierungsfaktor-Berechnungsschaltung 11 und einer Gruppen- Zielcodemengen-Berechnungsschaltung 12 verbunden. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 11 und die Gruppen-Zielcodemengen-Berechnungsschaltung 12 sind mit einer Skalierungsfaktor-Korrekturschaltung 13 verbunden. Eine Codemengen-Akkumulierungsschaltung 14, die der Huffman- Kodierschaltung 6 folgt, ist auch mit der Skalierungsfaktor- Korrekturschaltung 13 verbunden. Die Skalierungsfaktor- Korrekturschaltung 13 ist mit dem ersten Quantisierer 5 verbunden. Der Pufferspeicher 7 ist mit einem Ausgangsanschluß 8 verbunden.
- Eingangsbilddaten werden der Blockbildungsschaltung 2 über den Eingangsanschluß 1 zugeführt, in der die Bilddaten jedes Teilbildes in eine vorbestimmte Anzahl von Blöcken aus jeweils 8 mal 8 Bildelementen unterteilt werden. Die Blockbildungsschaltung 2 gibt die Bilddaten aufeinanderfolgender Blöcke aus. Die DCT-Schaltung 3, die der Blockbildungsschaltung 2 folgt, unterzieht die Bilddaten der aufeinanderfolgenden Blöcke einer diskreten Cosinustransformation (DCT), die eine orthogonale Transformation darstellt. Somit wandelt die DCT-Schaltung 3 die Bilddaten jedes Blocks in 64 DCT- Koeffizienten um.
- Wie es in Fig. 2 gezeigt ist, werden die einem Block entsprechenden 64 DCT-Koeffizienten zickzackmäßig abgetastet, wobei sie aus der DCT-Schaltung 3 in einer Zickzackreihenfolge aufeinanderfolgend ausgegeben werden. In Fig. 2 entsprechend 8 mal 8 kleine Rechtecke jeweils 64 DCT-Koeffizienten, und die Ziffern in den kleinen Quadraten bezeichnen die Nummern, mit denen die betreffenden DCT-Koeffizienten aus der DCT- Schaltung 3 ausgegeben werden.
- Die aus der DCT-Schaltung 3 ausgegebenen DCT-Koeffizienten werden einem Teilbildspeicher 4 zugeführt, werden vorübergehend in dem Teilbildspeicher 4 gespeichert und dann daraus ausgegeben. Dadurch werden die DCT-Koeffizienten um eine einem Teilbild entsprechende gegebene Periode verzögert. Ein erster Quantisierer 5 empfängt die DCT-Koeffizienten von dem Teilbildspeicher 4 und quantisiert die DCT-Koeffizienten mit variablen Quantisierungswerten linear, die für die jeweiligen DCT-Koeffizienten bestimmt werden.
- Wie es nachstehend beschrieben ist, sind die Quantisierungswerte gleich Quantisierungsschritten mal einem variablen Skalierungsfaktor αt, der dem ersten Quantisierer 5 von der Skalierungsfaktor-Korrekturschaltung 13 zugeführt wird. Es sei angemerkt, daß ein Skalierungsfaktor auch als Skalierfaktor bezeichnet werden kann. Wie es in Fig. 3 gezeigt ist, verändern sich die Quantisierungsschritte von DC-Koeffizient zu DC-Koeffizient. In Fig. 3 entsprechen 8 mal 8 kleine Quadrate jeweils den 64 DCT-Koeffizienten und die Ziffern in den kleinen Quadraten bezeichnen die Quantisierungsschritte, die jeweils den betreffenden DCT-Koeffizienten entsprechen.
- Eine dem ersten Quantisierer 5 folgende Huffman- Kodierschaltung 6 kodiert die Ausgangsdaten aus dem ersten Quantisierer 5 in einen zweidimensionalen Huffman-Code mit variabler Wortlänge. Die Huffman-Kodierschaltung 6 gibt die Huffman-Codeworte als kodierte Daten variabler Wortlänge aus, die in dem Pufferspeicher 7 gespeichert werden. Den Skalierungsfaktor αt darstellende und dem ersten Quantisierer 5 zugeführte Informationen oder Daten werden auch in dem Pufferspeicher 7 gespeichert. Die mit variabler Wortlänge kodierten Daten bzw. die kodierten Daten variabler Länge und die Skalierungsfaktordaten werden aus dem Pufferspeicher 7 ausgelesen, wobei sie über den Ausgangsanschluß 8 mit einer vorbestimmten Bitrate übertragen werden.
- Die aus der DCT-Schaltung 3 ausgegebenen DCT-Koeffizienten werden dem zweiten Quantisierer 9 direkt zugeführt. Wie es vorstehend beschrieben ist, werden andererseits die aus der DCT-Schaltung 3 ausgegebenen DCT-Koeffizienten dem ersten Quantisierer 5 über den Teilbildspeicher 4 zugeführt, der die DCT-Koeffizienten mit einer Verzögerung eines Teilbildes versieht. Die Verzögerung um ein Teilbild durch den Teilbildspeicher 4 ermöglicht es dem zweiten Quantisierer 9 und den nachfolgenden Schaltungen 10, 11 und 12 während eines Vorabtastvorgangs zu arbeiten, der einem Hauptabtastvorgang vorausgeht, der durch den ersten Quantisierer 5 und die nachfolgende Huffman-Kodierschaltung 6 ausgeführt wird.
- Wie es vorstehend beschrieben ist, werden die aus der DCT- Schaltung 3 ausgegebenen DCT-Koeffizienten dem zweiten Quantisierer 9 zugeführt. Während des Vorabtastvorgangs arbeitet der zweite Quantisierer 9 wie folgt. Wie es in Fig. 4 gezeigt ist, werden in dem zweiten Quantisierer 9 die ein Teilbild bildenden Blöcke in K unterschiedliche Gruppen entsprechend der Reihenfolge der Ausgabe kodierter Daten eingeteilt, wobei K eine vorbestimmte natürliche Zahl größer oder gleich zwei bezeichnet. Des weiteren werden M unterschiedliche Skalierungsfaktoren α1, α2, ..., αM mit folgender Beziehung "α1 < α2 < ...< αM" den ein Teilbild bildenden Blöcken zugeordnet, wobei M eine vorbestimmte natürliche Zahl größer oder gleich zwei bezeichnet. Die Zahlen K und M werden derart ge wählt, daß die Anzahl von ein Teilbild bildenden Blöcken gleich einem Vielfachen des Produkts aus K und M ist. Insbesondere werden in jeder der K Gruppen die Skalierungsfaktoren α1, α2, ..., cLM jeweils gleichen Nummern der Blöcke zugeordnet. Des weiteren werden in jeder der K Gruppen die Skalierungsfaktoren α1, α2, ..., αM aufeinanderfolgend und zyklisch den Blöcken in einer vorbestimmten Reihenfolge entsprechend der Reihenfolge der Positionen der Blöcke relativ zu dem Teilbild zugeordnet. Somit sind die Zuordnungsweisen der Skalierungsfaktoren α1, α2, ..., αM zu den Blöcken in den K Gruppen untereinander gleich. Es sei angemerkt, daß in jeder der K Gruppen die Skalierungsfaktoren α1, α2, ..., αM den Blöcken zufällig zugeordnet werden können.
- Wie es in Fig. 3 gezeigt ist, werden in dem zweiten Quantisierer 9 die verschiedenen Quantisierungsschritte den jeweils einem Block entsprechenden DCT-Koeffizienten zugeordnet. Somit werden einer der Skalierungsfaktoren α1, α2, ..., αM und einer der Quantisierungsschritte einem DCT-Koeffizienten zugeordnet. Der zugeordnete Skalierungsfaktor ändert sich blockweise, während der zugeordnete Quantisierungsschritt sich von DCT-Koeffizient zu DCT-Koeffizient ändert. Der zweite Quantisierer 9 quantisiert jeden DCT-Koeffizienten mit einem Quantisierungswert linear, der gleich dem Produkt aus dem zugeordneten Skalierungsfaktor und dem zugeordneten Quantisierungsschritt ist.
- Während des Vorabtastvorgangs arbeitet die Blockcodemengen- Berechnungsschaltung 10 wie folgt. Die Blockcodemengen- Berechnungsschaltung 10, die dem zweiten Quantisierer 9 folgt, verwendet die Ausgabedaten von diesem bei der Berechnung oder Schätzung der Menge (der Anzahl von Bits) kodierter Daten pro Block, die aus der anfänglichen zweidimensionalen Huffman-Kodierung der DCT-Koeffizienten resultiert, die unter Verwendung eines Skalierungsfaktors α1, α2, ..., αM quantisiert sind. Somit berechnet die Blockcodemengen- Berechnungsschaltung 10 die Mengen kodierter Daten pro Block, d. h. die Ein-Block-Codemenge (die allgemein als Blocklänge bezeichnet wird). Insbesondere enthält die Blockcodemengen- Berechnungsschaltung 10 einen Nur-Lese-Speicher (ROM), in dem eine Vielzahl von Informationsstücken von Mengen kodierter Daten an Speicherplätzen verschiedener Adressen gespeichert ist, die entsprechend Kombinationen von 0-Lauf-Daten und Nicht-0-Koeffizientendaten unter den Ausgabedaten aus dem zweiten Quantisierer 9 bestimmt werden können. Die Berechnung oder Schätzung der kodierten Datenmenge wird unter Bezugnahme auf die Informationen in dem ROM im Ansprechen auf die Ausgabedaten aus dem zweiten Quantisierer 9 ausgeführt. Es ist anzumerken, daß die Blockcodemengen-Berechnungsschaltung 10 eine Huffman-Kodierschaltung enthalten kann.
- Während des Vorabtastvorgangs arbeitet die Anfangs- Skalierungsfaktor-Berechnungsschaltung 11 wie folgt. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 11, die der Blockcodemengen-Berechnungsschaltung 10 folgt, wird aufeinanderfolgend über die berechneten Mengen kodierter Daten in den jeweiligen Blöcken durch die Blockcodemengen- Berechnungsschaltung 10 informiert. Bezüglich jedes j (i ≤ j ≤ K) der K Gruppen berechnet die Anfangs-Skalierungsfaktor- Berechnungsschaltung 11 die Summe N (i, j) der kodierten Datenmengen in den Blöcken, denen der gleiche Skalierungsfaktor αi (1 ≤ i ≤ M) zugewiesen ist. Somit ist die Gesamtanzahl der berechneten Summen N (i, j) gleich dem Produkt aus K und M. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 11 sagt die Menge N1 kodierter Daten in einem Teilbild, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der DCT- Koeffizienten ergibt, die unter Verwendung eines Skalierungsfaktors α1 quantisiert sind, aus den Summen N (i, j) unter Bezugnahme auf die folgende Gleichung voraus.
- Ni = M · N(i, j)
- Somit sind vorausgesagte Ein-Teilbild-Codemengen N1, N2,...NM jeweils entsprechend den Skalierungsfaktoren α1, α2, ..., αM vorhanden. Es ist anzumerken, daß sich die Codemenge N1 entsprechend der Erhöhung des Skalierungsfaktors α1 verringert, wie es in Fig. 5 gezeigt ist. Schließlich berechnet die Anfangs-Skalierungsfaktor-Berechnungsschaltung 11 einen Anfangs-Skalierungsfaktor αinit auf der Grundlage einer vorbestimmten Ziel-Ein-Teilbild-Codemenge Nt, der vorhergesagten Ein-Teilbild-Codemengen N1, N2, ..., NM und der Skalierungsfaktoren α1, α2, ..., αM. Es ist anzumerken, daß die "Zielcodemenge" im allgemeinen als Zielcodelänge bezeichnet wird. Der Anfangs-Skalierungsfaktor αinit wird derart bestimmt, daß eine tatsächliche Ein-Teilbild-Codemenge im wesentlichen gleich der Ziel-Ein-Teilbild-Codemenge Nt sein kann. Wenn beispielsweise die Zielcodemenge Nt zwischen den vorhergesagten Codemengen N2 und N3 vorhanden ist, wie es in Fig. 5 gezeigt ist, kann der Anfangs-Skalierungsfaktor αinit aus den Skalierungsfaktoren α2 und α3, den vorhergesagten Codemengen N2 und N3 und der Zielcodemenge Nt über eine Interpolation beruhend auf der den Punkt (α2, N2) und den Punkt (α3, N3) verbindenden Geraden berechnet werden. Insbesondere wird in diesem Fall die Berechnung des Anfangs- Skalierungsfaktors αinit unter Bezugnahme auf folgende Gleichung ausgeführt.
- Während des Vorabtastvorgangs arbeitet die Gruppen- Zielcodemengen-Berechnungsschaltung 12 wie folgt. Die Gruppen-Zielcodemengen-Berechnungsschaltung 12, die der Blockcodemengen-Berechnungsschaltung 10 folgt, wird aufeinanderfolgend über die berechneten Mengen kodierter Daten in den jeweiligen Blöcken durch die Blockcodemengen- Berechnungsschaltung 10 informiert. Die Gruppen- Zielcodemengen-Berechnungsschaltung 12 führt eine Berechnung ähnlich der Berechnung durch die Anfangs-Skalierungsfaktor- Berechnungsschaltung 11 durch. Insbesondere berechnet die Gruppen-Zielcodemengen-Berechnungsschaltung 12 bezüglich jedem j (1 ≤ j ≤ K) der K Gruppen die Summe N (i, j) der kodierten Datenmengen in den Blöcken, denen der gleiche Skalierungsfaktor α1 (1 ≤ j ≤ K) zugeordnet ist. Die Gruppen-Zielcodemengen- Berechnungsschaltung 12 sagt die Menge Nj kodierter Daten für jedes j der K Gruppen, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der DCT-Koeffizienten ergibt, die unter Verwendung des Anfangs-Skalierungsfaktors cxinit gemeinsam für die Blöcke quantisiert werden, aus den Summen N(i, j) und der Ziel-Ein-Teilbild-Codemenge Nt unter Bezugnahme auf folgende Gleichung voraus:
- Gleichung (3) basiert auf folgender Tatsache. In jeder der K Gruppen sind die Skalierungsfaktoren α1, α2, ..., αM jeweils gleichen Nummern der Blöcke zugeordnet. Wird somit ein Verhältnis bezüglich einer Ein-Teilbild-Codemenge betrachtet, kann die Summe der Codemengen bezüglich der jeweiligen M Skalierungsfaktoren α1, α2, ..., αM in jeder Gruppen j im wesentlichen gleich einer Codemenge in der Gruppen j sein, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der DCT-Koeffizienten ergibt, die unter Verwendung eines bestimmten Skalierungsfaktors gemeinsam für die Blöcke quantisiert sind. Unter Bezugnahme auf Gleichung 3 ist die Addition der Summen N (i, j), N (2, j), ..., N (M, j) allgemein als Aktivität der Gruppe j definiert. Außerdem ist die Addition der Summen N (1, 1), N (2, 1), ..., N (M, 1), N (1, 2), N (2, 2), ..., N (M, 2), ..., N (1, K), N (2, K), ..., N (M, K) im allgemeinen als Aktivität des aktuellen Teilbildes definiert. Werden die Gruppenaktivität und die Teilbildaktivität jeweils durch Gact und Fact bezeichnet, kann Gleichung (3) wie folgt umgeschrieben werden.
- Nj = Nt · Gact/Fact
- wobei der Ausdruck Gact/Fact eine Normalisierung darstellt.
- Eine Codemengen-Akkumulierungsschaltung 14 empfängt die ausgegebenen kodierten Daten von der Huffman-Kodierschaltung 6. Die Codemengen-Akkumulierungsschaltung 14 akkumuliert die kodierten Daten bezüglich der Bit-Nummer und berechnet dadurch die akkumulierte Menge (die akkumulierte Anzahl von Bits) der kodierten Daten, d. h. die tatsächliche akkumulierte Codemenge. Wie es in Fig. 6 gezeigt ist, erhöht sich die tatsächliche akkumulierte Codemenge entsprechend der abgelaufenen Zeit und wird zu Beginn jedes Teilbildes auf 0 rückgesetzt.
- Die Skalierungsfaktor-Korrekturschaltung 13 wird über die vorhergesagten Codemengen Nj in den jeweiligen Gruppen j durch die Gruppen-Zielcodemengen-Berechnungsschaltung 12 informiert. Außerdem wird die Skalierungsfaktor- Korrekturschaltung 13 über die tatsächliche akkumulierte Codemenge durch die Codemengen-Akkumulierungsschaltung 14 informiert. Des weiteren wird die Skalierungsfaktor- Korrekturschaltung 13 über den Anfangs-Skalierungsfaktor αinit durch die Anfangs-Skalierungsfaktor- Berechnungsschaltung 11 informiert. Die Skalierungsfaktor- Korrekturschaltung 13 akkumuliert und addiert die vorhergesagten Ein-Gruppen-Codemengen Nj in eine vorhergesagte akkumulierte Codemenge (akkumulierte Zielcodemenge), die bei der Beendigung der Kodierung jeder Gruppe auftritt. Wie es in Fig. 6 gezeigt ist, erhöht sich die vorhergesagte akkumulierte Codemenge schrittweise jedesmal dann, wenn die Kodierung einer Gruppe abgeschlossen ist. Außerdem wird die vorhergesagte akkumulierte Codemenge beim Beginn jedes Teilbildes auf null rückgesetzt. Die vorhergesagte akkumulierte Codemenge, die am Ende jedes Teilbildes auftritt, entspricht der Ziel- Ein-Teilbild-Codemenge Nt. Die Skalierungsfaktor- Korrekturschaltung 13 berechnet einen Prädiktionsfehler A, der gleich der Differenz zwischen der vorhergesagten akkumulierten Codemenge und der tatsächlichen akkumulierten Codemenge für jede Gruppe ist. Jedesmal dann, wenn die Kodierung und die Ausgabe von Daten in einer Gruppe abgeschlossen ist, korrigiert die Skalierungsfaktor-Korrekturschaltung 13 den Skalierungsfaktor αt für eine nächste Gruppe entsprechend dem berechneten Prädiktionsfehler Δ. Die Variable Δ (j - 1) wird nun als Anzeige des Prädiktionsfehlers zwischen der vorhergesagten akkumulierten Codemenge und der tatsächlichen akkumulierten Codemenge für eine Gruppe (j - 1) eingeführt. Ist die Kodierung von Daten in einer Gruppe (j - 1) abgeschlossen, führt die Skalierungsfaktor-Korrekturschaltung 13 dem ersten Quantisierer 5 den Korrekturergebnis-Skalierungsfaktor αt zu, der derart bestimmt ist, daß eine Ziel-Gesamtmenge kodierter Daten in einer Gruppe j und späteren Gruppen wie folgt gegeben ist:
- Nk - Δ(j - 1)
- Infolgedessen wird der Prädiktionsfehler Δ (j - 1) beseitigt und daher kann die tatsächliche akkumulierte Codemenge exakt oder näherungsweise gleich der akkumulierten Zielcodemenge (der vorhergesagten akkumulierten Codemenge) für die Gruppe j und die späteren Gruppen sein.
- Wie es in Fig. 7 gezeigt ist, fällt die akkumulierte Codemenge entsprechend der Erhöhung des Skalierungsfaktors ab. Die Skalierungsfaktor-Korrekturschaltung 13 berechnet den korrigierten (Korrekturergebnis-)Skalierungsfaktor αt durch Bezugnahme auf die Beziehung zwischen der akkumulierten Codemenge und dem Skalierungsfaktor in Fig. 7. Wie es vorstehend be schrieben ist, wird der korrigierte Skalierungsfaktor αt derart bestimmt, daß die Zielgesamtmenge kodierter Daten in der Gruppe j und späteren Gruppen durch Gleichung (4) gegeben ist. Insbesondere wird die Berechnung des korrigierten Skalierungsfaktors αt durch lineare Interpolation wie folgt ausgeführt:
- αt = αinit + {(α3 - αinit) · Δ(j - 1)}/{ Nk - N(3, k)}
- Ist der Prädiktionsfehler gleich null, wird der korrigierte Skalierungsfaktor αt auf den Anfangs-Skalierungsfaktor cxinit gesetzt, so daß die Quantisierung entsprechend dem Anfangs- Skalierungsfaktor cxinit ausgeführt wird. Für die erste Gruppe in jedem Vollbild wird der korrigerte Skalierungsfaktor αt auch auf den Anfangs-Skalierungsfaktor cxinit gesetzt.
- Wie es vorstehend beschrieben ist, werden bei diesem Ausführungsbeispiel die ein Teilbild bildenden Blöcke in K Gruppen eingeteilt, und DCT-Daten werden mit den M unterschiedlichen Skalierungsfaktoren während des Vorabtastvorgangs quantisiert. Die resultierenden Blockcodemengen werden durch die Anfangs-Skalierungsfaktor-Berechnungsschaltung 10 bei der Berechnungs des Anfangs-Skalierungsfaktors αinit verwendet, der derart bestimmt wird, daß die tatsächliche Ein-Teilbild- Codemenge im wesentlichen gleich der Ziel-Ein-Teilbild- Codemenge wird. Die Gruppen-Zieldcodemengen- Berechnungsschaltung 12 sagt die Mengen kodierter Daten in den jeweiligen K Gruppen voraus, die sich aus der Quantisierung unter Verwendung des Anfangs-Skalierungsfaktors cxinit gemeinsam für die Blöcke ergeben. Somit ermöglicht ein einzelner Vorabtastvorgang die Berechnung des Anfangs- Skalierungsfaktors cxinit und die Prädiktion der Mengen kodierter Daten in den jeweiligen K Gruppen. Die Codemengen- Akkumulierungsschaltung 14 liefert die tatsächliche akkumu lierte Codemenge. Die Skalierungsfaktor-Korrekturschaltung 13 liefert die akkumulierte Zielcodemenge. Die Skalierungsfaktor-Korrekturschaltung 13 berechnet den Prädiktionsfehler zwischen der tatsächlichen akkumulierten Codemenge und der akkumulierten Zielcodemenge für jede Gruppe, und paßt periodisch den tatsächlich verwendeten Skalierungsfaktor an, und steuert dadurch die Menge ausgegebener Codedaten im Ansprechen auf den Prädiktionsfehler. Demnach wird während jedes Ein-Teilbild-Intervalls die Codemengensteuerung periodisch Kmal ausgeführt. Somit kann die Codemengensteuerung fein und zuverlässig sein.
- Gemäß einer Modifikation dieses Ausführungsbeispiels berechnet die Skalierungsfaktor-Korrekturschaltung 13 den korrigierten Skalierungsfaktor αt durch Bezugnahme auf die Beziehung zwischen der Codemenge und dem Skalierungsfaktor in Fig. 5. Insbesondere wird die Berechnung des korrigierten Skalierungsfaktors αt durch lineare Interpolation wie folgt ausgeführt:
- Die Modifikation dieses Ausführungsbeispiels ermöglicht eine Verringerung im Schaltungsumfang.
- Ein zweites Ausführungsbeispiel ist dem Ausführungsbeispiel der Fig. 1 bis 7 abgesehen von der Skalierungsfaktor- Korrekturschaltung 13 (siehe Fig. 1) ähnlich.
- Wie es in Fig. 8 gezeigt ist, erhöht sich die tatsächliche akkumulierte Codemenge mit der Zeit und wird zu Beginn jedes Teilbildes auf null rückgesetzt. Bei dem zweiten Ausführungsbeispiel sagt die Skalierungsfaktor-Korrekturschaltung 13 den Ein-Teilbild-Fehler ΔK zwischen der vorhergesagten akkumulierten Codemenge und der tatsächlichen akkumulierten Codemenge voraus, die am Ende jedes Teilbildes auftritt. Die Vorhersage bzw. Prädiktion des Ein-Teilbild-Fehlers ΔK wird jedesmal dann ausgeführt, wenn die Kodierung einer Gruppe abgeschlossen ist. Der Ein-Teilbild-Prädiktionsfehler ΔK, der am Ende der Kodierung einer Gruppe (j - 1) berechnet wird, ist gegeben durch:
- ΔK = Δ(j - 1) · {Nt/ Nl}
- wobei das Zeichen Δ (j - 1) den Ein-Gruppen-Prädiktionsfehler zwischen der vorhergesagten akkumlierten Codemenge und der tatsächlichen akkumulierten Codemenge für die Gruppe (j - 1) bezeichnet. Ist die Kodierung von Daten in der Gruppe (j - 1) abgeschlossen, führt die Skalierungsfaktor-Korrekturschaltung. 13 dem ersten Quantisierer 5 (siehe Fig. 1) den korrigierten (Korrekturergebnis-)Skalierungsfaktor αt zu, der zur Beseitigung des Fehlers zwischen der akkumulierten Zielcodemenge (der vorhergesagten akkumulierten Codemenge) und der tatsächlichen akkumulierten Codemenge bestimmt wird, die am Ende der Kodierung des aktuellen Teilbildes auftritt. Infolgedessen wird der Prädiktionsfehler ΔK beseitigt und daher kann die tatsächliche akkumulierte Codemenge exakt oder näherungsweise gleich der akkumulierten Zielcodemenge (der vorhergesagten akkumulierten Codemenge) sein, die am Ende der Kodierung des aktuellen Teilbildes auftritt.
- Die Skalierungsfaktor-Korrekturschaltung 13 berechnet den korrigierten Skalierungsfaktor αt durch Bezugnahme auf die Beziehung zwischen der akkumulierten Codemenge und dem Skalierungsfaktor. Wie es vorstehend beschrieben ist, wird der korrigierte Skalierungsfaktor αt um Nullen des Fehlers zwischen der akkumulierten Zielcodemenge (der vorhergesagten ak kumulierten Codemenge) und der tatsächlichen akkumulierten Codemenge bestimmt, die am Ende der Kodierung des aktuellen Teilbildes auftritt. Insbesondere wird die Berechnung des korrigierten Skalierungsfaktors αt durch lineare Interpolation wie folgt ausgeführt:
- αt = αinit + {(α3 - αinit)ΔK}/{ Nk - N(3, k)}
- Ist der Prädiktionsfehler ΔK gleich null, wird der korrigierte Skalierungsfaktor αt auf den Anfangs-Skalierungsfaktor cxinit gesetzt, so daß die Quantisierung entsprechend dem Anfangs-Skalierungsfaktor αinit ausgeführt wird. Für die erste Gruppe in jedem Vollbild wird der korrigierte Skalierungsfaktor αt auch auf den Anfangs-Skalierungsfaktor αinit eingestellt.
- Gemäß einer Modifikation dieses Ausführungsbeispiels berechnet die Skalierungsfaktor-Korrekturschaltung 13 den korrigierten Skalierungsfaktor αt durch Bezugnahme auf die Beziehung zwischen der Codemenge und dem Skalierungsfaktor in Fig. 5. Insbesondere wird die Berechnung des korrigierten Skalierungsfaktors αt durch lineare Interpolation wie folgt ausgeführt:
- Die Modifikation dieses Ausführungsbeispiels ermöglicht eine Verringerung im Schaltungsumfang.
- Fig. 9 zeigt ein drittes Ausführungsbeispiel, das den Ausführungsbeispielen in den Fig. 1 bis 7 abgesehen von einer nachstehend beschriebenen zusätzlichen Anordnung ähnlich ist.
- Das in Fig. 9 gezeigte Ausführungsbeispiel enthält eine erste und eine zweite Codemengen-Einstellschaltung 16 und 17, eine erste und eine zweite Vergleichereinrichtung 18 und 19, eine Codemengen-Begrenzungsschaltung 20 und eine Blockenergie- Berechnungsschaltung 21. Die erste und die zweite Codemengeneinstellschaltung 16 und 17 sind jeweils mit der ersten und der zweiten Vergleichereinrichtung 18 und 19 verbunden. Die erste und die zweite Vergleichereinrichtung 18 und 19 sind mit einer Codemengen-Akkumulierungsschaltung 14 verbunden. Die Codemengen-Begrenzungsschaltung 20 ist mit der ersten und der zweiten Vergleichereinrichtung 18 und 19 und einer Huffman-Kodierschaltung 6 verbunden. Die Blockenergie- Berechnungsschaltung 21 ist zwischen eine DCT-Schaltung 3 und die Codemengen-Begrenzungsschaltung 20 geschaltet.
- Die erste Codemengen-Einstellschaltung 16 dient zur Einstellung einer ersten Steuercodemenge entsprechend der Anzahl unkodierter Blöcke. Die zweite Codemengen-Einstellschaltung 17 dient zur Einstellung einer zweiten Steuercodemenge entsprechend der Anzahl unkodierter Blöcke. Das heißt, während eines Intervalls der Kodierung der letzten Gruppe K in jedem Teilbild stellen die erste und die zweite Codemengen- Einstellschaltung 16 und 17 die erste und die zweite Steuercodemenge ein, die sich in Richtung einer Ziel-Ein-Teilbild- Codemenge mit der Zeit linear erhöht, wie es in Fig. 10 gezeigt ist. Die erste und die zweite Steuercodemenge erreichen die Ziel-Ein-Teilbild-Codemenge am Ende der Kodierung jedes Teilbildes. Die erste und die zweite Steuercodemenge stimmen mit akkumulierten Codemengen überein, die unter Bedingungen vorhergesagt werden, bei denen gegebene konstante Codemengen L1 und L2 jeweils pro Block auftreten. Die konstante Codemenge L1 ist kleiner als die konstante Codemenge L2. Die erste Steuercodemenge entspricht Bedingungen, in denen lediglich ein DC-Koeffizient der DCT-Koeffizienten kodiert wird. Die zweite Steuercodemenge entspricht Bedingungen, in denen alle DCT-Koeffizienten kodiert werden. Es sei bemerkt, daß ein vollständiger Satz der DCT-Koeffizienten eine Durchschnittskomponente (einen DC-Koeffizienten) und alternierende Komponenten (AC-Koeffizienten) aufweist.
- Die erste Vergleichereinrichtung 18 empfängt Informationen der ersten Steuercodemenge von der ersten Codemengen- Einstellschaltung 16. Die erste Vergleichereinrichtung 18 empfängt Informationen der tatsächlichen akkumulierten Codemenge von der Codemengen-Akkumulierungsschaltung 14. Die erste Vergleichereinrichtung 18 vergleicht die erste Steuercodemenge und die tatsächliche akkumulierte Codemenge und informiert die Codemengen-Begrenzungsschaltung 20 über das Ergebnis des Vergleichs. Die zweite Vergleichereinrichtung 19 empfängt Informationen der zweiten Steuercodemenge von der zweiten Codemengen-Einstellschaltung 17. Die zweite Vergleichereinrichtung 19 empfängt Informationen der tatsächlichen akkumulierten Codemenge von der Codemengen-Akkumulierungsschaltung 14. Die zweite Vergleichereinrichtung 19 vergleicht die zweite Steuercodemenge und die tatsächliche akkumulierte Codemenge und informiert die Codemengen-Begrenzungsschaltung 20 über das Ergebnis des Vergleichs.
- Die Blockenergie-Berechnungsschaltung 21 wird über die DCT- Koeffizienten durch die DCT-Schaltung 3 informiert. Die Blockenergie-Berechnungsschaltung 21 berechnet die Summe PW von Energien aus den DCT-Koeffizienten für jeden Block. Wie es vorstehend beschrieben ist, ist die Gesamtanzahl der DCT- Koeffizienten gleich 64. Die DCT-Koeffizienten werden dann durch die Zeichen D(i) identifiziert, wobei i = 0, 1, 2, ..., 63. Insbesondere wird die Berechnung der Summe PW von Energien bzw. Leistungen unter Bezugnahme auf folgende Gleichung ausgeführt.
- Es sei angemerkt, daß D(0) einen DC-Koeffizienten bezeichnet, der keine Energie liefert. Die Blockenergie- Berechnungsschaltung 21 informiert die Codemengen- Begrenzungsschaltung 20 über die berechnete Summe PW von Energien, d. h. die Blockenergie PW.
- Die Codemengen-Begrenzungsschaltung 20 steuert die Huffman- Kodierschaltung 6 im Ansprechen auf die Informationen von der ersten Vergleichereinrichtung 18, die Informationen von der zweiten Vergleichereinrichtung 19, und die Informationen von der Blockenergie-Berechnungsschaltung 21. Insbesondere in dem Fall, wenn die erste Vergleichereinrichtung 18 erfaßt, daß die tatsächliche akkumulierte Codemenge die erste Steuercodemenge überschreitet, steuert die Codemengen- Begrenzungsschaltung 20 die Huffman-Kodierschaltung 6 im Ansprechen auf die Informationen von der ersten Vergleichereinrichtung 18 derart, daß lediglich der DC-Koeffizient der DCT- Koeffizienten kodiert wird. In dem Fall, daß die zweite Vergleichereinrichtung 19 erfaßt, daß die tatsächliche akkumulierte Codemenge die zweite Steuercodemenge überschreitet, steuert die Codemengen-Begrenzungsschaltung 20 die Huffman- Kodierschaltung 6 im Ansprechen auf die Informationen von der zweiten Vergleichereinrichtung 19, so daß die Mengen resultierender kodierter Daten in Mengen LG verbleiben, die den Blöcken jeweils entsprechend den Blockenergien PW zugeordnet sind.
- Der Buchstabe B wird nun als Anzeige der Gesamtanzahl von ein Teilbild bildenden Blöcken eingeführt. Die Blockenergie des n-ten Blocks wird durch PW(n) bezeichnet. Die zugeordnete Codemenge LG(n) für den n-ten Block wird entsprechend folgender Gleichung bestimmt.
- LG(n) = {PW(n) · L2}/{ PW(i)/(B - n)}
- Die zugeordnete Codemenge LG ändert sich blockweise, wie es in Fig. 11 gezeigt ist. Wie es aus Gleichung (11) ersichtlich ist, ist die zugeordnete Codemenge LG(n) proportional zur Blockenergie PW(n). In Anbetracht dieser Tatsache kann die zugeordnete Codemenge LG(n) für den n-ten Block durch folgende Gleichung näherungsweise berechnet werden.
- LG(n) = K(α) · PW(n) · L2 (12)
- wobei K(α) eine vorbestimmte Konstante des Verhältnisses zwischen der Blockenergie und der Codemenge für einen Skalierungsfaktor α bezeichnet. Es ist möglich, die Konstante K(α) statistisch zu bestimmen.
- Wie es vorstehend beschrieben ist, werden bei diesem Ausführungsbeispiel die Begrenzungen der Codemengen der jeweiligen Blöcke entsprechend den Blockenergien jeweils fein gesteuert, obwohl die Durchschnittscodemengen (L1 und L2) pro Block als fest angesehen werden. Demnach kann die Menge resultierender kodierter Daten an im wesentlichen der Zielmenge gesteuert werden, während die Kodierung auf lokale Merkmale eines Bildes gut angepaßt werden kann, und auch die Verschlechterung der Qualität des Bildes kann verringert werden. Da der Vorgang der Begrenzung der Menge resultierender kodierter Daten lediglich am Ende der Kodierung jedes Teilbildes ausgeführt wird, ist es möglich, die Verschlechterung der Bildqualität effektiv zu unterdrücken.
- In dem Fall, wenn eine Kante eines Bildes darstellende Daten zuletzt kodiert werden, kann die Verschlechterung der Bildqualität, die durch die Begrenzung der resultierenden Codemenge verursacht wird, unauffällig für das Sehempfinden sein.
- Während bei diesem Ausführungsbeispiel zwei verschiedene Durchschnittscodemengen L1 und L2 verwendet werden, können auch mehrere Durchschnittscodemengen verwendet werden. Des weiteren kann die Begrenzung der resultierenden Codemenge in Einheiten einer Vielzahl von Blöcken ausgeführt werden.
- Fig. 12 zeigt ein viertes Ausführungsbeispiel, das dem Ausführungsbeispiel in den Fig. 9 bis 11 abgesehen davon ähnlich ist, daß eine Codemengen-Zuordnungsschaltung 22 die Blockenergie-Berechnungsschaltung 21 in Fig. 9 ersetzt. Die Codemengen-Zuordnungsschaltung 22 ist zwischen eine Blockcodemengen-Berechnungsschaltung 10, eine Anfangs- Skalierungsfaktor-Berechnungsschaltung 11 und eine Codemengen-Begrenzungsschaltung 20 geschaltet.
- Während eines Vorabtastvorgangs informiert die Blockcodemengen-Berechnungsschaltung 10 die Codemengen- Zuordnungsschaltung 22 über die berechnete Codemenge pro Block. Die Codemengen-Zuordnungsschaltung 22 bestimmt zugeordnete Codemengen LG in den Blöcken jeweils entsprechend den berechneten Codemengen in den Blöcken.
- Die Codemengen-Begrenzungsschaltung 20 steuert eine Huffman- Kodierschaltung 6 im Ansprechen auf Informationen von einer ersten Vergleichereinrichtung 18, Informationen von einer zweiten Vergleichereinrichtung 19 und den Informationen von der Codemengen-Zuordnungsschaltung 22. Insbesondere in dem Fall, wenn die erste Vergleichereinrichtung 18 erfaßt, daß eine tatsächliche akkumulierte Codemenge eine erste Steuercodemenge überschreitet, steuert die Codemengen- Begrenzungsschaltung 20 die Huffman-Kodierschaltung 6 im Ansprechen auf die Informationen von der ersten Vergleichereinrichtung 18, so daß lediglich der DC-Koeffizient der DCT- Koeffizienten kodiert wird. Im Fall, daß die zweite Vergleichereinrichtung 19 erfaßt, daß die tatsächliche akkumulierte Codemenge eine zweite Steuercodemenge überschreitet, steuert die Codemengen-Begrenzungsschaltung 20 die Huffman- Kodierschaltung 6 im Ansprechen auf die Informationen von der zweiten Vergleichereinrichtung 19, so daß die Mengen resultierender kodierter Daten in den zugeordneten Mengen LG verbleiben, die jeweils von der Codemengen-Zuordnungsschaltung 22 zugeführt werden.
- Die zu der Codemengen-Zuordnungsschaltung 22 von der Blockcodemengen-Berechnungsschaltung 10 ausgegebenen Informationen stellen die berechnete Codemenge pro Block dar, die sich aus der Kodierung und der Quantisierung unter Verwendung eines ausgewählten Skalierungsfaktors aus den M verschiedenen Skalierungsfaktoren α1, α2, ..., αM ergibt. Die Anfangs- Skalierungsfaktor-Berechnungsschaltung 11 informiert die Codemengen-Zuordnungsschaltung 22 über die Beziehungen zwischen den Skalierungsfaktoren und den entsprechenden vorhergesagten Codemengen. Die Codemengen-Zuordnungsschaltung 22 sagt eine Codemenge TG pro Block voraus, die auf den gegenwärtig verwendeten Skalierungsfaktor bezogen ist. Beispielsweise in dem Fall, wenn ein zweiter Quantisierer 9 den Skalierungsfaktor α1 einem in Frage kommenden Block zuordnet und der gegenwärtig verwendete Skalierungsfaktor gleich dem Anfangs-Skalierungsfaktor αinit ist, sagt die Codemengen- Zuordnungsschaltung 22 die Ein-Block-Codemenge TG durch Bezugnahme auf die Beziehung zwischen dem Skalierungsfaktor und der Codemenge in Fig. 7 voraus. Insbesondere ist die vorhergesagte Ein-Block-Codemenge TG gegeben durch:
- wobei S die aus der Blockcodemengen-Berechnungsschaltung 10 ausgegebene Ein-Block-Codemenge ist.
- Nun wird der Buchstabe B zur Bezeichnung der Gesamtanzahl der ein Teilbild bildenden Blöcke eingeführt. Die Codemengen- Zuordnungsschaltung 22 bestimmt die zugeordnete Codemenge LG(n) für den n-ten Block gemäß folgender Gleichung.
- LG(n) = {TG(n) · L2}/{ TG(i)/(G - n)}
- wobei TG(n) die vorhergesagte Codemenge für den n-ten Block bezeichnet. Wie es aus Gleichung (14) ersichtlich ist, ist die zugeordnete Codemenge LG(n) proportional zu der vorhergesagten Ein-Block-Codemenge TG(n). In Anbetracht dieser Tatsache kann die zugeordnete Codemenge LG(n) für den n-ten Block näherungsweise entsprechend folgender Gleichung berechnet werden.
- LG (n) = L(OC) · TG (n) · L2 (15)
- wobei K(α) eine vorbestimmte Konstante des Verhältnisses zwischen der Blockenergie und der Codemenge für einen Skalierungsfaktor α bezeichnet. Es ist möglich, die Konstante L(α) statistisch zu bestimmen.
- Wie es aus der vorhergehenden Beschreibung hervorgeht, werden die Begrenzungen bezüglich der Codemengen blockweise fein gesteuert. Da außerdem die vorhergesagte Ein-Block-Codemenge entsprechend dem bei der Berechnung des Anfangs- Skalierungsfaktors cxinit verwendeten Parameters bestimmt wird, kann die Genauigkeit der Steuerung der tatsächlichen Codemenge ohne Erhöhung des Schaltungsumfangs verbessert werden.
- Im Fall, wenn eine Kante eines Bildes darstellende Daten zuletzt kodiert werden, kann die Verschlechterung der Bildqualität, die durch die Begrenzung der resultierenden Codemenge verursacht wird, unauffällig für das Sehempfinden sein.
- Fig. 13 zeigt eine Bilddatenkodiervorrichtung gemäß einem fünften Ausführungsbeispiel, die zur Verarbeitung von Mehrkanalbilddaten, beispielsweise Zweikanalbilddaten entwickelt ist. Die Bilddatenkodiervorrichtung in Fig. 13 weist zwei jeweils einem Kanal A und einem Kanal B entsprechende Abschnitte auf. Der Kanal A und der Kanal B werden im allgemeinen jeweils durch "Ach" und "Bch" bezeichnet. Jeder Abschnitt der Bilddatenkodiervorrichtung in Fig. 13 ist grundlegend der Bilddatenkodiervorrichtung in Fig. 1 ähnlich.
- Die Bilddatenkodiervorrichtung in Fig. 13 enthält einen Eingangsanschluß 1, der mit einer Kanalteilerschaltung 30 gefolgt von dem Abschnitt Ach und dem Abschnitt Bch verbunden ist.
- Der Abschnitt Ach enthält eine Blockbildungsschaltung 31, die mit der Kanalteilerschaltung 30 verbunden ist. Die Blockbildungsschaltung 31 ist von einer DCT-(diskreten Cosinustransformations-)Schaltung 32 gefolgt. Die DCT-Schaltung 32 ist mit einem Teilbildspeicher 33 verbunden, dem aufeinanderfolgend ein erster Quantisierer 34 und eine Huffman- Kodierschaltung 35 folgt. Die Huffman-Kodierschaltung 35 ist mit einem Pufferspeicher 36 verbunden. Die DCT-Schaltung 32 ist auch mit einem zweiten Quantisierer 38 gefolgt von einer Blockcodemengen-Berechnungsschaltung 39 verbunden. Die Blockcodemengen-Berechnungsschaltung 39 ist mit einer Anfangs- Skalierungsfaktor-Berechnungsschaltung 70 und einer Gruppen- Zielcodemengen-Berechnungsschaltung 40 verbunden. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 70 und die Gruppen-Zielcodemengen-Berechnungsschaltung 40 sind mit einer Skalierungsfaktor-Korrekturschaltung 41 verbunden. Eine Codemengen-Akkumulierungsschaltung 42, die der Huffman- Kodierschaltung 35 folgt, ist auch mit der Skalierungsfaktor- Korrekturschaltung 41 verbunden. Die Skalierungsfaktor- Korrekturschaltung 41 ist mit dem ersten Quantisierer 34 verbunden. Der Pufferspeicher 36 ist mit einem Ausgangsanschluß 37 verbunden.
- Der Abschnitt Bch enthält eine Blockbildungsschaltung 51, die mit der Kanalteilerschaltung 30 verbunden ist. Der Blockbildungsschaltung 51 folgt eine DCT-(diskrete Cosinustransformations-)Schaltung 52. Die DCT-Schaltung 52 ist mit einem Teilbildspeicher 53 verbunden, dem aufeinanderfolgend ein erster Quantisierer 54 und eine Huffman-Kodierschaltung 55 folgen. Die Huffman-Kodierschaltung 55 ist mit einem Pufferspeicher 56 verbunden. Die DCT-Schaltung 52 ist auch mit einem zweiten Quantisierer 58 gefolgt von einer Blockcodemengen- Berechnungsschaltung 59 verbunden. Die Blockcodemengen- Berechnungsschaltung 59 ist mit der Anfangs- Skalierungsfaktor-Berechnungsschaltung 70 und einer Gruppen- Zielcodemengen-Berechnungsschaltung 60 verbunden. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 70 und die Gruppen-Zielcodemengen-Berechnungsschaltung 60 sind mit einer Skalierungsfaktor-Korrekturschaltung 61 verbunden. Eine Codemengen-Akkumulierungsschaltung 62, die der Huffman- Kodierschaltung 55 folgt, ist auch mit der Skalierungsfaktor- Korrekturschaltung 61 verbunden. Die Skalierungsfaktor- Korrekturschaltung 61 ist mit dem ersten Quantisierer 54 verbunden. Der Pufferspeicher 56 ist mit einem Ausgangsanschluß 57 verbunden.
- Eingangsbilddaten werden der Kanalteilerschaltung 30 über den Eingangsanschluß 1 zugeführt. Die Bilddaten werden durch die Kanalteilerschaltung 30 in Kanäle A und B geteilt. Wie es in Fig. 14 gezeigt ist, werden erste alternierende Segmente von Bilddaten jedes Teilbildes in den Kanal A gruppiert, während zweite alternierende in den Kanal B gruppiert werden. Die Kanalteilerschaltung 30 gibt die Ach-Bilddaten zu der Ach- Blockbildungsschaltung 31 aus. Die Kanalteilerschaltung 30 gibt die Bch-Bilddaten zu der Bch-Blockbildungsschaltung 51 aus.
- Die Ach-Bilddaten jedes Teilbildes werden durch die Ach- Blockbildungsschaltung 31 in eine vorbestimmte Anzahl von Blöcken jeweils aus 8 mal 8 Bildelementen eingeteilt. Die Ach-Blockbildungsschaltung 31 gibt die Ach-Bilddaten aufeinanderfolgender Blöcke aus. Die Ach-DCT-Schaltung 32, die der Ach-Blockbildungsschaltung 31 folgt, unterzieht die Ach- Bilddaten jedes aufeinanderfolgenden Blocks einer diskreten Cosinustransformation (DCT), die eine orthogonale Transformation darstellt. Somit wandelt die Ach-DCT-Schaltung 32 die Ach-Bilddaten jedes Blocks in 64 Ach-DCT-Koeffizienten um.
- Wie es in Fig. 2 gezeigt ist, werden die einem Block entsprechenden 64 Ach-DCT-Koeffizienten im Zickzack abgetastet, wobei sie aufeinanderfolgend aus der Ach-DCT-Schaltung 32 in einer Zickzackreihenfolge ausgegeben werden. Die aus der Ach- DCT-Schaltung 32 ausgegebenen Ach-DCT-Koeffizienten werden dem Ach-Teilbildspeicher 33 zugeführt, in dem Ach- Teilbildspeicher 33 vorübergehend gespeichert und dann daraus ausgegeben. Dadurch werden die Ach-DCT-Koeffizienten um eine gegebene einem Teilbild entsprechende Periode verzögert. Der erste Ach-Quantisierer 34 empfängt die Ach-DCT-Koeffizienten von dem Ach-Teilbildspeicher 33 und quantisiert die Ach-DCT- Koeffizienten mit variablen Quantisierungswerten linear, die für die jeweiligen Ach-DCT-Koeffizienten bestimmt sind. Die Quantisierungswerte sind gleich Quantisierungsschritten mal einem variablen Ach-Skalierungsfaktor cxt, der dem ersten Ach- Quantisierer 34 von der Ach-Skalierungsfaktor- Korrekturschaltung 41 zugeführt wird.
- Die Ach-Huffman-Kodierschaltung 35, die dem ersten Ach- Quantisierer 34 folgt, kodiert die ausgegebenen Daten aus dem ersten Ach-Quantisierer 34 in einen zweidimensionalen Huffman-Code mit Worten variabler Länge. Die Ach-Huffman- Kodierschaltung 35 gibt die Huffman-Codeworte als kodierte Ach-Daten variabler Länge aus, die in dem Ach-Pufferspeicher 36 gespeichert werden. Informationen oder Daten, die den dem ersten Ach-Quantisierer 34 zugeführten Skalierungsfaktor αt darstellen, werden auch in dem Ach-Pufferspeicher 36 gespeichert. Die kodierten Ach-Daten variabler Länge und die Ach- Skalierungsfaktordaten werden aus dem Ach-Pufferspeicher 36 ausgelesen, wobei sie über den Ach-Ausgangsanschluß 37 mit vorbestimmter Bitrate übertragen werden.
- Der zweite Ach-Quantisierer 38, die Ach-Blockcodemengen- Berechnungsschaltung 39, die Anfangs-Skalierungsfaktor- Berechnungsschaltung 70 und die Ach-Gruppen-Zielcodemengen- Berechnungsschaltung 40 arbeiten während eines Vorabtastvorgangs.
- Die aus der Ach-DCT-Schaltung 32 ausgegebenen Ach-DCT- Koeffizienten werden auch dem zweiten Ach-Quantisierer 38 zugeführt. Während des Vorabtastvorgangs arbeitet der zweite Ach-Quantisierer 38 wie folgt. Wie es in Fig. 4 gezeigt ist, werden in dem zweiten Ach-Quantisierer 38 die ein Teilbild bildenden Blöcke in K unterschiedliche Gruppen entsprechend der Reihenfolge der Ausgabe kodierter Daten eingeteilt, wobei K eine vorbestimmte natürliche Zahl größer oder gleich zwei bezeichnet. Des weiteren werden M unterschiedliche Skalierungsfaktoren α1, α2, ..., αM mit einer Beziehung α1 < α2 < ...< αM den ein Teilbild bildenden Blöcken zugeordnet, wobei M eine vorbestimmte natürliche Zahl größer oder gleich zwei bezeichnet. Einer der Skalierungsfaktoren α1, α2, ..., αM und einer der Quantisierungsschritte werden einem Ach-DCT- Koeffizienten zugeordnet. Der zweite Ach-Quantisierer 38 quantisiert jeden Ach-DCT-Koeffienten mit einem Quantisierungswert linear, der gleich dem Produkt aus dem zugeordneten Skalierungsfaktor und dem zugeordneten Quantisierungsschritt ist.
- Während des Vorabtastvorgangs verwendet die ACH- Blockcodemengen-Berechnungsschaltung 39 die ausgegebenen Da ten aus dem zweiten Ach-Quantisierer 38 bei der Berechnung oder Schätzung der Menge (der Anzahl von Bits) kodierter Ach- Daten pro Block, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der Ach-DCT-Koeffizienten ergibt, die unter Verwendung eines der Skalierungsfaktoren α1, α2, ..., αM quantisiert sind.
- Während des Vorabtastvorgangs wird die Anfangs- Skalierungsfaktor-Berechnungsschaltung 70 nacheinander über die berechneten Mengen kodierter Ach-Daten in den jeweiligen Blöcken durch die Ach-Blockcodemengen-Berechnungsschaltung 39 informiert. Wie es nachstehend beschrieben ist, wird die Anfangs-Skalierungsfaktor-Berechnungsschaltung 70 auch nacheinander über berechnete Mengen kodierter Bch-Daten in den jeweiligen Blöcken durch die Bch-Blockkodiermengen- Berechnungsschaltung 59 informiert. Die Anfangs- Skalierungsfaktor-Berechnungsschaltung 70 berechnet einen Anfangs-Skalierungsfaktor αinit auf der Grundlage der Informationen von der Ach-Blockcodemengen-Berechnungsschaltung 39 und der Informationen von der Bch-Blockcodemengen- Berechnungsschaltung 59.
- Die Ach-Gruppen-Zielcodemengen-Berechnungsschaltung 40 wird nacheinander über die berechneten Mengen kodierter Ach-Daten in den jeweiligen Blöcken durch die Ach-Blockcodemengen- Berechnungsschaltung 39 informiert. Die Ach-Gruppen- Zielcodemengen-Berechnungsschaltung 40 sagt die Menge kodierter Ach-Daten in jeder der K Gruppen, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der Ach-DCT- Koeffizienten ergibt, die unter Verwendung des Anfangs- Skalierungsfaktors αinit gemeinsam für die Blöcke quantisiert werden, auf der Grundlage der Informationen von der Ach- Blockcodemengen-Berechnungsschaltung 39 voraus.
- Die Ach-Codemengen-Akkumulierungsschaltung 42 empfängt die ausgegebenen kodierten Daten von der Ach-Huffman- Kodierschaltung 35. Die Ach-Codemengen- Akkumulierungsschaltung 42 akkumuliert die kodierten Ach- Daten bezüglich der Bit-Nummer bzw. Bitanzahl, und berechnet dadurch die akkumulierte Menge (die akkumulierte Anzahl von Bits) der kodierten Ach-Daten, d. h. die tatsächliche akkumulierte Ach-Codemenge.
- Die Ach-Skalierungsfaktor-Korrekturschaltung 41 wird über die vorhergesagten Ach-Codemengen in den jeweiligen Gruppen durch die Ach-Gruppen-Zielcodemengen-Berechnungsschaltung 40 informiert. Außerdem wird die Ach-Skalierungsfaktor- Korrekturschaltung 41 über die tatsächliche akkumulierte Ach- Codemenge durch die Ach-Codemengen-Akkumulierungsschaltung 42 informiert. Des weiteren wird die Ach-Skalierungsfaktor- Korrekturschaltung 41 über den Anfangs-Skalierungsfaktor cxinit durch die Anfangs-Skalierungsfaktor- Berechnungsschaltung 70 informiert. Die Ach- Skalierungsfaktor-Korrekturschaltung 41 akkumuliert und addiert die vorhergesagten Ach-Ein-Gruppen-Codemengen in einer vorhergesagten akkumulierten Ach-Codemenge. Die Ach- Skalierungsfaktor-Korrekturschaltung 41 berechnet einen Prädiktionsfehler Δ, der gleich der Differenz zwischen der vorhergesagten akkumulierten Codemenge und der tatsächlichen akkumulierten Codemenge für jede Gruppe ist. Jedesmal wenn die Kodierung und Ausgabe von Daten in einer Gruppe abgeschlossen ist, korrigiert die Ach-Skalierungsfaktor-Korrekturschaltung 41 den Skalierungsfaktor αt für eine nächste Gruppe entsprechend dem berechneten Prädiktionsfehler Δ. Die Ach- Skalierungsfaktor-Korrekturschaltung 41 führt dem ersten Ach- Quantisierer 34 den Korrekturergebnis-Skalierungsfaktor αt zu.
- Die Bch-Bilddaten jedes Teilbildes werden durch die Bch- Blockbildungsschaltung 51 in eine vorbestimmte Anzahl von Blöcken jeweils aus 8 mal 8 Bildelementen unterteilt. Die Bch-Blockbildungsschaltung 51 gibt die Bch-Bilddaten aufein anderfolgender Blöcke aus. Die Bch-DCT-Schaltung 52, die der Bch-Blockbildungsschaltung 51 folgt, unterzieht die Bch- Bilddaten jedes aufeinanderfolgenden Blocks einer diskreten Cosinustransformation (DCT), die eine orthogonale Transformation darstellt. Somit wandelt die Bch-DCT-Schaltung 52 die Bch-Bilddaten jedes Blocks in 64 Bch-DCT-Koeffizienten um.
- Wie es in Fig. 2 gezeigt ist, werden die einem Block entsprechenden 64 Bch-DCT-Koeffizienten im Zickzack abgetastet, wobei sie aus der Bch-DCT-Schaltung 52 in einer Zickzack- Reihenfolge aufeinanderfolgend ausgegeben werden. Die aus der Bch-DCT-Schaltung 52 ausgegebenen Bch-DCT-Koeffizienten werden dem Bch-Teilbildspeicher 53 zugeführt, in dem Bch- Teilbildspeicher 53 vorübergehend gespeichert und dann daraus ausgegeben. Dadurch werden die Bch-DCT-Koeffizienten um eine gegebene einem Teilbild entsprechende Periode verzögert. Der erste Bch-Quantisierer 54 empfängt die Bch-DCT-Koeffizienten von dem Bch-Teilbildspeicher 53 und quantisiert die Bch-DCT- Koeffizienten mit variablen Quantisierungswerten linear, die für die jeweiligen Bch-DCT-Koeffizienten bestimmt werden. Die Quantisierungswerte sind gleich Quantisierungsschritten mal einem variablen Bch-Skalierungsfaktor αt, der dem ersten Bch- Quantisierer 54 von der Bch-Skalierungsfaktor- Korrekturschaltung 61 zugeführt wird.
- Die Bch-Huffman-Kodierschaltung 55, die dem ersten Bch- Quantisierer 54 folgt, kodiert die ausgebenden Daten aus dem ersten Bch-Quantisierer 54 in einen zweidimensionalen Huffman-Code mit einer variablen Wortlänge. Die Bch-Huffman- Kodierschaltung 55 gibt die Huffman-Codeworte als kodierte Bch-Daten variabler Länge aus, die in dem Bch-Pufferspeicher 56 gespeichert werden. Informationen oder Daten, die dem dem ersten Bch-Quantisierer 54 zugeführten Skalierungsfaktor αt entsprechen, werden auch in dem Bch-Pufferspeicher 56 gespeichert. Die kodierten Bch-Daten variabler Länge und die Bch- Skalierungsfaktor-Daten werden aus dem Bch-Pufferspeicher 56 ausgelesen, wobei sie über den Bch-Ausgangsanschluß 57 mit einer vorbestimmten Bit-Rate übertragen werden.
- Der zweite Bch-Quantisierer 58, die Bch-Blockcodemengen- Berechnungsschaltung 59, die Anfangs-Skalierungsfaktor- Berechnungsschaltung 70 und die Bch-Gruppen-Zielcodemengen- Berechnungsschaltung 60 arbeiten während eines Vorabtastvorgangs.
- Die aus der Bch-DCT-Schaltung 52 ausgegebenen Bch-DCT- Koeffizienten werden auch dem zweiten Bch-Quantisierer 58 zugeführt. Während des Vorabtastvorgangs arbeitet der zweite Bch-Quantisierer 58 wie folgt. Wie es in Fig. 4 gezeigt ist, werden in dem zweiten Bch-Quantisierer 58 die einem Teilbild entsprechenden Blöcke in K unterschiedliche Gruppen entsprechend der Reihenfolge der Ausgabe kodierter Daten eingeteilt, wobei K eine vorbestimmte natürliche Zahl größer gleich zwei bezeichnet. Des weiteren werden M unterschiedliche Skalierungsfaktoren α1, α2, ..., αM mit einer Beziehung α1 < α2c...< αM den ein Teilbild bildenden Blöcken zugeordnet, wobei M eine vorbestimmte natürliche Zahl größer gleich zwei bezeichnet. Einer der Skalierungsfaktoren α1, α2, ..., αM und einer der Quantisierungsschritte werden einem Bch-DCT- Koeffizienten zugeordnet. Der zweite Bch-Quantisierer 58 quantisiert jeden Bch-DCT-Koeffizienten mit einem Quantisierungswert linear, der gleich dem Produkt aus dem zugeordneten Skalierungsfaktor und dem zugeordneten Quantisierungsschritt ist.
- Während des Vorabtastvorgangs verwendet die Bch- Blockcodemengen-Berechnungsschaltung 59 die ausgegebenen Daten aus dem zweiten Bch-Quantisierer 58 bei der Berechnung oder Schätzung der Menge (der Anzahl von Bits) von kodierten Bch-Daten pro Block, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der Bch-DCT-Koeffizienten ergibt, die unter Verwendung eines der Skalierungsfaktoren α1, α2, ..., αM quantisiert sind.
- Während des Vorabtastvorgangs wird die Anfangs- Skalierungsfaktor-Berechnungsschaltung 70 aufeinanderfolgend über die berechneten Mengen von kodierten Bch-Daten in den jeweiligen Blöcken durch die Bch-Blockcodemengen- Berechnungsschaltung 59 informiert. Wie es vorstehend beschrieben ist, wird die Anfangs-Skalierungsfaktor- Berechnungsschaltung 70 auch aufeinanderfolgend über die berechneten Mengen kodierter Ach-Daten in den jeweiligen Blöcken durch die Ach-Blockcodemengen-Berechnungsschaltung 39 informiert. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 70 berechne den Anfangs-Skalierungsfaktor otinit auf der Grundlage der Informationen von der Ach-Blockcodemengen- Berechnungsschaltung 39 und der Informationen von der Bch- Blockcodemengen-Berechnungsschaltung 59.
- Die Bch-Gruppen-Zielcodemengen-Berechnungsschaltung 60 wird nacheinander über die berechneten Mengen kodierter Bch-Daten in den jeweiligen Blöcken durch die Bch-Blockcodemengen- Berechnungsschaltung 59 informiert. Die Bch-Gruppen- Zielcodemengen-Berechnungsschaltung 60 sagt die Menge kodierter Bch-Daten in jeder der K Gruppen, die sich aus der anfänglichen zweidimensionalen Huffman-Kodierung der Bch-DCT- Koeffizienten ergibt, die unter Verwendung des Anfangs- Skalierungsfaktors cxinit gemeinsam für die Blöcke quantisiert sind, auf der Grundlage der Informationen von der Bch- Blockcodemengen-Berechnungsschaltung 59 voraus.
- Die Bch-Codemengen-Akkumulierungsschaltung 62 empfängt die ausgegebenen kodierten Daten von der Bch-Huffman- Kodierschaltung 55. Die Bch-Codemengen- Akkumulierungsschaltung 62 akkumuliert die kodierten Bch- Daten bezüglich der Bitanzahl und berechnet dadurch die akkumulierte Menge (die akkumulierte Anzahl von Bits) der kodier ten Bch-Daten, d.h. die tatsächliche akkumulierte Bch- Codemenge.
- Die Bch-Skalierungsfaktor-Korrekturschaltung 61 wird über die vorhergesagten Bch-Codemengen in den jeweiligen Gruppen durch die Bch-Gruppen-Zielcodemengen-Berechnungsschaltung 60 informiert. Außerdem wird die Bch-Skalierungsfaktor- Korrekturschaltung 61 über die tatsächliche akkumulierte Bch- Codemenge durch die Bch-Codemengen-Akkumulierungsschaltung 62 informiert. Des weiteren wird die Bch-Skalierungsfaktor- Korrekturschaltung 61 über den Anfangs-Skalierungsfaktor αinit durch die Anfangs-Skalierungsfaktor- Berechnungsschaltung 70 informiert. Die Bch- Skalierungsfaktor-Korrekturschaltung 61 akkumuliert und addiert die vorhergesagten Bch-Ein-Gruppen-Codemengen in einer vorhergesagten akkumulierten Bch-Codemenge. Die Bch- Skalierungsfaktor-Korrekturschaltung 61 berechnet einen Prädiktionsfehler Δ, der gleich der Differenz zwischen der vorhergesagten akkumulierten Codemenge und der tatsächlichen akkumulierten Codemenge für jede Gruppe ist. Jedesmal wenn die Kodierung und Ausgabe von Daten in einer Gruppe abgeschlossen ist, korrigiert die Bch-Skalierungsfaktor-Korrekturschaltung 61 den Skalierungsfaktor αt für eine nächste Gruppe entsprechend dem berechneten Prädiktionsfehler Δ. Die Bch- Skalierungsfaktor-Korrekturschaltung 61 führt dem ersten Bch- Quantisierer 54 den Korrekturergebnis-Skalierungsfaktor αt zu.
- Wie es vorstehend beschrieben ist, werden bei diesem Ausführungsbeispiel die Bilddaten jedes Teilbildes in zwei Kanäle aufgeteilt. Die Kodierung der Bilddaten in den jeweiligen Kanälen wird derart ausgeführt, daß die Mengen resultierender kodierter Daten im wesentlichen gleich oder kleiner als die gegebenen Codemengen in den jeweiligen Kanälen sind. Die Anfangs-Skalierungsfaktor-Berechnungsschaltung 70 bestimmt den Anfangs-Skalierungsfaktor otinit unter Bezugnahme auf die Be ziehung zwischen dem Skalierungsfaktor und den Codemengen in den zwei Kanälen. Somit kann die Genauigkeit der Prädiktion des Anfangs-Skalierungsfaktor cxinit verbessert werden. Die Korrektur des Skalierungsfaktors wird in jedem der Kanäle ausgeführt, und daher kann die Codemengensteuerung fein ausgeführt werden. Wie es in Fig. 14 gezeigt ist, ist die Kanalteilung bzw. der Kanalmultiplex vom alternierenden Typ. Daher sind lokale Merkmale eines Bildes über die zwei Kanäle verteilt, und es können im wesentlichen gleiche Codemengen für die jeweiligen Kanäle erreicht werden, und dadurch kann die Genauigkeit der Codemengensteuerung verbessert werden. Außerdem wird die Differenz der Bildqualität zwischen den Kanälen im wesentlichen beseitigt, und die Qualität des zusammengesetzten Bildes kann erhöht werden.
- Obwohl bei diesem Ausführungsbeispiel eine Zweikanalkodierung ausgeführt wird, kann auch eine Dreikanal- oder Mehrkanalkodierung durchgeführt werden.
- Ein sechstes Ausführungsbeispiel ist einem der Ausführungsbeispiele der Fig. 1 bis 14 abgesehen davon ähnlich, daß eine Einheit für die Datenkomprimierung (die Datenmengensteuerung) einem Vollbild oder einem Makroblock mit einer Vielzahl von Blöcken anstatt einem Teilbild entspricht. Ein siebtes Ausführungsbeispiel ist einem der Ausführungsbeispiele der Fig. 1 bis 14 abgesehen davon ähnlich, daß die Abtastung bei einigen Blöcken anstelle allen Blöcken während des Vorabtastvorgangs durchgeführt wird.
- Ein achtes Ausführungsbeispiel ist einem der Ausführungsbeispiele der Fig. 1 bis 14 abgesehen davon ähnlich, daß die Orthogonaltransformation eine LOT oder Hadamard- Transformation anstelle der DCT ist.
- Eingangsbilddaten werden in eine Vielzahl von Blöcken unterteilt. Eine Orthogonaltransformationseinrichtung unterzieht die Eingangsbilddaten einer Orthogonaltransformation für jeden Block. Eine Speichereinrichtung speichert vorübergehend ausgegebene Daten aus der Orthogonaltransformationseinrichtung. Ein erster Quantisierer quantisiert ausgegebene Daten aus dem Speicher. Eine Kodiereinrichtung kodiert ausgegebene Daten aus dem ersten Quantisierer in Codeworte variabler Länge. Eine Codemengen-Akkumulierungseinrichtung akkumuliert eine Codemenge ausgegebener Daten aus der Kodiereinrichtung. Ein zweiter Quantisierer separiert die ausgegebenen Daten aus der Orthogonaltransformationseinrichtung in K unterschiedliche Gruppen und ordnet den jeweiligen Blöcken M verschiedene Skalierungsfaktoren zu und quantisiert die ausgegebenen Daten aus der Orthogonaltransformationseinrichtung in den Blöcken mit den bezogenen bzw. zugehörigen Skalierungsfaktoren, wobei K und M vorbestimmte natürliche Zahlen sind. Eine Blockcodemengen-Berechnungseinrichtung Berechnet eine Codemenge pro Block. Eine Anfangs-Skalierungsfaktor-Berechnungseinrichtung bestimmt einen Anfangs-Skalierungsfaktor, der derart entwickelt ist, daß er ein Vollbild oder ein Teilbild auf eine vorbestimmte Codemenge bringt. Eine Gruppen-Zielcodemengen- Berechnungseinrichtung sagt Zielcodemengen in den jeweiligen Gruppen aus den Blockcodemengen voraus, die durch die ausgegebenen Daten aus der Blockcodemengen-Berechnungseinrichtung dargestellt werden. Eine Skalierungsfaktor- Korrektureinrichtung korrigiert den Anfangs-Skalierungsfaktor im Ansprechen auf einen Prädiktionsfehler zwischen einer tatsächlichen Codemenge, die durch die Codemengen- Akkumulierungseinrichtung akkumuliert ist, und der vorhergesagten Zielcodemenge jedesmal dann, wenn die Kodiereinrichtung die Daten einer Gruppe ausgibt.
Claims (10)
1. Bilddatenkodiervorrichtung mit
einer Einrichtung zur Einteilung (2) von
Eingangsbilddaten (1) in eine Vielzahl von Blöcken,
einer Orthogonaltransformationseinrichtung (3) zum
Unterziehen der Eingangsbilddaten einer
Orthogonaltransformation für jeden Block,
einer Speichereinrichtung (4) zur Speicherung
ausgegebener Daten aus der Orthogonaltransformationseinrichtung und
zur Ausgabe der gespeicherten Daten in einer vorbestimmten
Reihenfolge,
einem ersten Quantisierer (5) zur Quantisierung
ausgegebener Daten aus der Speichereinrichtung,
einer Kodiereinrichtung (6) zur Kodierung ausgegebener
Daten aus dem ersten Quantisierer in Codeworte variabler
Länge und
einer Codemengen-Akkumulierungseinrichtung (14) zur
Akkumulierung einer Codemenge ausgegebener Daten aus der
Kodiereinrichtung,
gekennzeichnet durch
einen zweiten Quantisierer (9) zum Trennen der
ausgegebenen Daten aus der Orthogonaltransformationseinrichtung in K
unterschiedliche Gruppen und zur Zuordnung von M
unterschiedlichen Skalierungsfaktoren zu den jeweiligen Blöcken und zur
Quantisierung der ausgegebenen Daten aus der
Orthogonaltransformationseinrichtung in den Blöcken mit den zugehörigen
Skalierungsfaktoren, wobei und K und M vorbestimmte natürliche
Zahlen sind,
eine Blockcodemengen-Berechnungseinrichtung (10) zur
Be
rechnung einer Codemenge pro Block, die sich aus der
anfänglichen Kodierung mit variabler Wortlänge von ausgegebenen
Daten aus dem zweiten Quantisierer ergibt,
eine Anfangsskalierungsfaktor-Berechnungseinrichtung
(11) zur Vorhersage von M Codemengen, die sich aus der
anfänglichen Kodierung eines Vollbildes oder eines Teilbildes
jeweils mit den M Skalierungsfaktoren ergeben, aus
Blockcodemengen, die durch ausgegebene Daten aus der Blockcodemengen-
Berechnungseinrichtung dargestellt werden, und zur Bestimmung
eines Anfangsskalierungsfaktors, der derart ausgebildet ist,
daß eine Codemenge des Vollbildes oder Teilbildes gleich
einer vorbestimmten Codemenge ist,
eine Gruppenziel-Codemengen-Berechnungseinrichtung (12)
zur Vorhersage von Zielcodemengen in den jeweiligen Gruppen,
die sich aus der anfänglichen Kodierung und Quantisierung mit
dem Anfangsskalierungsfaktor ergeben, aus den
Blockcodemengen, die durch die ausgegebenen Daten aus der
Blockcodemengen-Berechnungseinrichtung dargestellt werden, und
eine Skalierungsfaktor-Korrektureinrichtung (13) zur
Korrektur des Anfangsskalierungsfaktors im Ansprechen auf
einen Prädiktionsfehler zwischen einer durch die Codemengen-
Akkumulierungseinrichtung akkumulierten tatsächlichen
Codemenge und der vorhergesagten Zielcodemenge jedesmal dann,
wenn die Kodiereinrichtung die Daten einer Gruppe ausgibt, um
dadurch den Skalierungsfaktor in dem ersten Quantisierer zu
korrigieren.
2. Bilddatenkodiervorrichtung nach Anspruch 1, dadurch
gekennzeichnet, daß die Blockcodemengen-
Berechnungseinrichtung (10) eine Einrichtung zur Addition der
Codemengen in den durch die M unterschiedlichen
Skalierungsfaktoren quantisierten jeweiligen Blöcken, eine Einrichtung
zum Herleiten von Aktivitäten der jeweiligen K Gruppen und
einer Aktivität eines Vollbildes oder Teilbildes aus einem
Ergebnis der Addition der Codemengen in den jeweiligen
Blöcken, eine Einrichtung zur Normalisierung der Aktivitäten der
jeweiligen K Gruppen mit der Aktivität des Vollbildes oder
Teilbildes, und eine Einrichtung zur vorhersage der
Codemengen in den jeweiligen Blöcken, die in Fällen auftreten, in
denen das Vollbild oder das Teilbild eine gegebene Codemenge
hat, aus einem Ergebnis der Normalisierung der Aktivitäten
aufweist.
3. Bilddatenkodiervorrichtung nach Anspruch 2, dadurch
gekennzeichnet, daß die Gesamtanzahl der Blöcke in dem
Vollbild oder Teilbild gleich einem Vielfachen eines Produkts aus
M und K ist, und die Anzahlen der den jeweiligen
Skalierungsfaktoren entsprechenden Blöcke in jeder der Gruppen
untereinander gleich sind.
4. Bilddatenkodiervorrichtung nach Anspruch 1, dadurch
gekennzeichnet, daß die Skalierungsfaktor-
Korrektureinrichtung (13) eine Einrichtung zur Berechnung des
Prädiktionsfehlers zwischen der durch die Codemengen-
Akkumulierungseinrichtung akkumulierten tatsächlichen
Codemenge und der vorhergesagten Zielcodemenge jedesmal dann,
wenn die Kodiereinrichtung die Daten einer Gruppe ausgibt,
eine Einrichtung zur Berechnung einer Summe von
Zielcodemengen in der nächsten und späteren Gruppen, eine Einrichtung
zur Subtraktion des Prädiktionsfehlers von der Summe, eine
Einrichtung zur Einstellung eines Ergebnisses der Subtraktion
als aktualisierte Zielcodemenge in der nächsten und späteren
Gruppen und eine Einrichtung zur Bestimmung des
Skalierungsfaktors in der nächsten Gruppe entsprechend der
aktualisierten Zielcodemenge aufweist.
5. Bilddatenkodiervorrichtung nach Anspruch 1, dadurch
gekennzeichnet, daß die Skalierungsfaktor-
Korrektureinrichtung (13) eine Einrichtung zur Berechnung des
Prädiktionsfehlers zwischen der durch die Codemengen-
Akkumulierungseinrichtung akkumulierten tatsächlichen
Codemenge und der vorhergesagten Zielcodemenge, jedesmal dann,
wenn die Kodiereinrichtung die Daten einer Gruppe ausgibt,
eine Einrichtung zur Berechnung einer kodierten Daten
entsprechenden Codemenge, eine Einrichtung zur Prädiktion einer
noch nicht kodierten Daten entsprechenden Codemenge, eine
Einrichtung zur Prädiktion eines Gesamtcodemengenfehlers, der
in Fällen auftritt, wenn das Vollbild oder das Teilbild mit
dem aktuellen Skalierungsfaktor kodiert wird, aus dem
Prädiktionsfehler, der den kodierten Daten entsprechenden Codemenge
und der den noch nicht kodierten Daten entsprechende
Codemenge, eine Einrichtung zur Berechnung einer Summe von
Zielcodemengen in der nächsten und späteren Gruppen, eine Einrichtung
zur Subtraktion des vorhergesagten Gesamtcodemengenfehlers
von der Summe, eine Einrichtung zur Einstellung eines
Ergebnisses der Subtraktion als aktualisierte Zielcodemenge in der
nächsten und späteren Gruppen und eine Einrichtung zur
Bestimmung des Skalierungsfaktors in der nächsten Gruppe
entsprechend der aktualisierten Zielcodemenge aufweist.
6. Bilddatenkodiervorrichtung nach Anspruch 1,
gekennzeichnet durch eine Codemengen-Einstelleinrichtung zur
Einstellung einer Steuercodemenge für jeden Block, die in Fällen
auftritt, in denen jeder noch nicht kodierte Block anfänglich
in eine feste Länge pro Block kodiert wird, und die derart
ausgebildet ist, daß eine Codemenge in dem Vollbild oder dem
Teilbild gleich einer gegebenen Menge wird, und eine
Codemengen-Steuereinrichtung zur Steuerung der Codemenge für jeden
Block, wenn die durch die
Codemengen-Akkumulierungseinrichtung akkumulierte tatsächliche Codemenge die
Steuercodemenge überschreitet.
7. Bilddatenkodiervorrichtung nach Anspruch 6,
gekennzeichnet durch zumindest eine Kombination einer zweiten
Codemengen-Einstelleinrichtung und einer zweiten Codemengen-
Steuereinrichtung, wobei die Einstellung von Steuercodemengen
und Codemengen pro Block in einer Vielzahl von Kombinationen
daraus durchgeführt wird.
8. Bilddatenkodiervorrichtung nach Anspruch 6,
gekennzeichnet durch eine Blockenergie-Berechnungseinrichtung zur
Berechnung einer Summe von Energien in jedem Block aus den
ausgegebenen Daten aus der
Orthogonaltransformationseinrichtung, wobei die Codemengen-Steuereinrichtung eine Einrichtung
zur Bestimmung einer Verhältniscodemenge in jedem Block, die
proportional zur Summe von Energien in noch nicht kodierten
Blöcken ist, und eine Einrichtung zur Steuerung der
Kodiereinrichtung entsprechend der Verhältniscodemenge
aufweist.
9. Bilddatenkodiervorrichtung nach Anspruch 6,
gekennzeichnet durch eine Einrichtung zum Herleiten einer ersten
Beziehung zwischen der durch die Blockcodemengen-
Berechnungseinrichtung berechneten Codemenge und dem jedem
Block zugeordneten Skalierungsfaktor, eine Einrichtung zum
Herleiten einer zweiten Beziehung zwischen den durch die
Anfangsskalierungsfaktor-Berechnungseinrichtung vorhergesagten
Codemengen und den Skalierungsfaktoren, und eine
Blockcodemengen-Prädiktionseinrichtung zur Vorhersage einer Codemenge
pro Block, die sich aus einer anfänglichen Quantisierung mit
dem Anfangsskalierungsfaktor ergibt, aus der ersten Beziehung
und der zweiten Beziehung, wobei die Codemengen-
Steuereinrichtung eine Einrichtung zur Bestimmung einer
Verhältniscodemenge in jedem Block, die proportional zur
vorhergesagten Codemenge pro Block ist, und eine Einrichtung zur
Steuerung der Kodiereinrichtung entsprechend der
Verhältniscodemenge aufweist.
10. Verfahren mit den Schritten
Quantisieren von Bilddaten in erste quantisierte
Bilddaten im Ansprechen auf einen korrigierbaren ersten
Skalierungsfaktor,
Kodieren der ersten quantisierten Bilddaten in erste
kodierte Daten,
Quantisieren der Bilddaten in zweite quantisierte
Bild
daten im Ansprechen auf vorbestimmte unterschiedliche zweite
Skalierungsfaktoren,
Schätzen von Gesamtanzahlen kodierter Datenbits, die
jeweils die zweiten Skalierungsfaktoren betreffen, in einem
Vollbild oder einem Teilbild aus den zweiten quantisierten
Bilddaten,
Bestimmen eines Anfangsskalierungsfaktors im Ansprechen
auf die geschätzten Gesamtanzahlen kodierter Datenbits und
einer vorbestimmten Zielgesamtanzahl kodierter Datenbits in
dem Vollbild oder dem Teilbild,
Akkumulieren der ersten kodierten Daten bezüglich der
Bitanzahl zur Erfassung einer tatsächlichen Akkumulations-
Bitanzahl der ersten kodierten Daten während einer dem
Vollbild oder dem Teilbild entsprechenden Periode,
Schätzen einer vorhergesagten Akkumulationsanzahl
kodierter Datenbits im Ansprechen auf die zweiten quantisierten
Bilddaten und den Anfangsskalierungsfaktor während einer dem
Vollbild oder dem Teilbild entsprechenden Periode,
periodisches Berechnen eines Prädiktionsfehlers zwischen
der tatsächlichen Akkumulations-Bitanzahl und der
vorhergesagten Akkumulations-Bitanzahl während einer dem Vollbild
oder dem Teilbild entsprechenden Periode und
periodisches Korrigieren des ersten Skalierungsfaktors
im Ansprechen auf den Prädiktionsfehler während einer dem
Vollbild oder dem Teilbild entsprechenden Periode.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31482692A JP2897563B2 (ja) | 1992-11-25 | 1992-11-25 | 画像圧縮符号化装置 |
JP7547293A JP3265696B2 (ja) | 1993-04-01 | 1993-04-01 | 画像圧縮符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69319855D1 DE69319855D1 (de) | 1998-08-27 |
DE69319855T2 true DE69319855T2 (de) | 1999-03-04 |
Family
ID=26416600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69319855T Expired - Fee Related DE69319855T2 (de) | 1992-11-25 | 1993-11-24 | Verfahren und Vorrichtung zur Bilddatencodierung |
Country Status (3)
Country | Link |
---|---|
US (1) | US5543844A (de) |
EP (1) | EP0599288B1 (de) |
DE (1) | DE69319855T2 (de) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE1007808A3 (nl) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Inrichting voor het coderen van een videosignaal. |
DE69523363T2 (de) * | 1994-04-13 | 2002-05-16 | Matsushita Electric Industrial Co., Ltd. | Verfahren und Einrichtung zur Quantisierungsschätzung in der Datenkompression |
US5933451A (en) * | 1994-04-22 | 1999-08-03 | Thomson Consumer Electronics, Inc. | Complexity determining apparatus |
CN1053545C (zh) * | 1994-05-05 | 2000-06-14 | 华邦电子股份有限公司 | 离散余弦转换及其逆转换的方法及集成电路处理器 |
JP3050047B2 (ja) * | 1994-06-24 | 2000-06-05 | 日本ビクター株式会社 | 動画像符号化装置及び動画像符号化方法 |
JP3048033B2 (ja) * | 1994-09-07 | 2000-06-05 | 富士ゼロックス株式会社 | 画像情報符号化処理装置及び画像情報通信装置 |
JP3115199B2 (ja) * | 1994-12-16 | 2000-12-04 | 松下電器産業株式会社 | 画像圧縮符号化装置 |
US5926569A (en) * | 1995-09-28 | 1999-07-20 | Intel Corporation | Bitrate damper for selecting quantization levels for image encoding |
US5926222A (en) * | 1995-09-28 | 1999-07-20 | Intel Corporation | Bitrate estimator for selecting quantization levels for image encoding |
US6285793B1 (en) * | 1995-11-06 | 2001-09-04 | Siemens Medical Systems, Inc. | Method and apparatus for automatically determining a quantization factor value that produces a desired average compression ratio of an image sequence using JPEG compression |
US5909513A (en) * | 1995-11-09 | 1999-06-01 | Utah State University | Bit allocation for sequence image compression |
US5717464A (en) * | 1995-12-18 | 1998-02-10 | Divicom, Inc. | Rate control for a video encoder |
US6366614B1 (en) * | 1996-10-11 | 2002-04-02 | Qualcomm Inc. | Adaptive rate control for digital video compression |
GB9622725D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | A method and circuitry for compressing and decompressing digital data |
US6339614B1 (en) * | 1996-12-20 | 2002-01-15 | Intel Corporation | Method and apparatus for quantizing and run length encoding transform coefficients in a video coder |
US6553476B1 (en) * | 1997-02-10 | 2003-04-22 | Matsushita Electric Industrial Co., Ltd. | Storage management based on predicted I/O execution times |
US6347116B1 (en) * | 1997-02-14 | 2002-02-12 | At&T Corp. | Non-linear quantizer for video coding |
US7269219B1 (en) * | 1997-02-14 | 2007-09-11 | At&T Corp. | Non-linear quantizer for video coding |
JP3511893B2 (ja) * | 1998-01-23 | 2004-03-29 | 日本ビクター株式会社 | 映像信号符号化方法及び装置 |
US6526097B1 (en) * | 1999-02-03 | 2003-02-25 | Sarnoff Corporation | Frame-level rate control for plug-in video codecs |
US6879723B1 (en) * | 1999-11-12 | 2005-04-12 | 8X8, Inc. | Method and apparatus for encoding frames of image data at a varying quality level |
US6810086B1 (en) | 2001-06-05 | 2004-10-26 | At&T Corp. | System and method of filtering noise |
US6968006B1 (en) | 2001-06-05 | 2005-11-22 | At&T Corp. | Method of content adaptive video decoding |
US7773670B1 (en) | 2001-06-05 | 2010-08-10 | At+T Intellectual Property Ii, L.P. | Method of content adaptive video encoding |
EP1271926B1 (de) * | 2001-06-18 | 2015-08-12 | Canon Kabushiki Kaisha | Bildverarbeitungsverfahren und -vorrichtung und Computerprogram für Kompressionskodierung |
JP2003006643A (ja) * | 2001-06-25 | 2003-01-10 | Canon Inc | 画像処理装置及びその方法、プログラム |
CN1320809C (zh) * | 2001-08-29 | 2007-06-06 | 佳能株式会社 | 图像处理装置与方法 |
US6882755B2 (en) * | 2001-10-19 | 2005-04-19 | Hewlett-Packard Development Company, L.P. | Image transmission for low bandwidth with region of interest |
US7106909B2 (en) * | 2001-12-25 | 2006-09-12 | Canon Kabushiki Kaisha | Method and apparatus for encoding image data in accordance with a target data size |
JP4047183B2 (ja) * | 2002-03-07 | 2008-02-13 | キヤノン株式会社 | 画像圧縮符号化装置及びその制御方法 |
JP2003304404A (ja) * | 2002-04-09 | 2003-10-24 | Canon Inc | 画像符号化装置 |
US7324598B2 (en) * | 2002-07-15 | 2008-01-29 | Intel Corporation | Apparatus and method to reduce quantization error |
JP2004159171A (ja) * | 2002-11-07 | 2004-06-03 | Fuji Photo Film Co Ltd | 画像圧縮方法及び画像圧縮装置 |
JP2005303576A (ja) * | 2004-04-09 | 2005-10-27 | Sony Corp | 画像信号処理装置および方法、記録媒体、プログラム、並びにビデオカメラ |
US7049996B1 (en) * | 2004-11-12 | 2006-05-23 | Via Telecom Co., Ltd. | Method and apparatus of two stage scaling and quantization for coded communication systems |
JP5491936B2 (ja) | 2010-03-31 | 2014-05-14 | 株式会社メガチップス | 画像処理装置 |
CN102457284B (zh) * | 2010-10-29 | 2014-09-03 | 池勇潮 | 数字数据压缩/解压缩方法及其系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128758A (en) * | 1989-06-02 | 1992-07-07 | North American Philips Corporation | Method and apparatus for digitally processing a high definition television augmentation signal |
US5144426A (en) * | 1989-10-13 | 1992-09-01 | Matsushita Electric Industrial Co., Ltd. | Motion compensated prediction interframe coding system |
JP3085465B2 (ja) * | 1989-10-31 | 2000-09-11 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
US5291282A (en) * | 1990-04-19 | 1994-03-01 | Olympus Optical Co., Ltd. | Image data coding apparatus and method capable of controlling amount of codes |
JPH04207352A (ja) * | 1990-11-29 | 1992-07-29 | Olympus Optical Co Ltd | 画像データの符号化装置および符号化方法 |
JP3012698B2 (ja) * | 1991-01-29 | 2000-02-28 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
DE69230268T2 (de) * | 1991-02-21 | 2000-04-13 | Nec Corp., Tokio/Tokyo | Kodierungsgerät zur Kompression von bewegten Bilddaten |
-
1993
- 1993-11-09 US US08/150,526 patent/US5543844A/en not_active Expired - Fee Related
- 1993-11-24 EP EP93118921A patent/EP0599288B1/de not_active Expired - Lifetime
- 1993-11-24 DE DE69319855T patent/DE69319855T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0599288A3 (de) | 1994-10-12 |
US5543844A (en) | 1996-08-06 |
EP0599288B1 (de) | 1998-07-22 |
EP0599288A2 (de) | 1994-06-01 |
DE69319855D1 (de) | 1998-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69319855T2 (de) | Verfahren und Vorrichtung zur Bilddatencodierung | |
DE69735679T2 (de) | Verfahren zur Bilddecodierung | |
DE69226674T2 (de) | Kodierung von komprimierten Datenbildern mit hohem Wirkungsgrad | |
DE69316439T2 (de) | Methode und Vorrichtung zur Kodierung und Dekodierung von Videodaten | |
DE69015695T2 (de) | Einrichtung zur Transformationskodierung. | |
DE69625945T2 (de) | Hierarchischer Bildkodierer und -dekodierer | |
DE60038082T2 (de) | Audio Teilbandkodierer mit differentiell kodierten Skalenfaktoren | |
DE69227970T2 (de) | Signalprozessor zur Kodierung | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE69608185T2 (de) | System zur simultanen übertragung mehrerer videoprogramme über einen übertragungskanal | |
DE69326366T2 (de) | Verfahren und Vorrichtung zur Bildsignalkodierung mit merhstufigen Quantisierungnummernbestimmung | |
DE69521238T2 (de) | Bilddatenquantisierung in Bildkomprimierung | |
DE69229773T2 (de) | Statistischer Multiplexer für ein Multikanal-Bildkomprimierungssystem und Demultiplexer | |
DE4233543B4 (de) | Vorrichtung zur Steuerung der Quantisierung von Videodaten | |
DE69028221T2 (de) | System zum Steuern einer Menge kodierter Ausgangsdaten | |
DE69321781T2 (de) | Kodierung und Dekodierung von digitalen Daten | |
DE69827548T2 (de) | Anordnung zur Vorverarbeitung für MPEG-2-Kodierung | |
DE69425047T2 (de) | Adaptives variables längenkodierungs- und -dekodierungsverfahren für bilddaten | |
DE68927960T2 (de) | Bildsignal-, Kodier- und Dekodiervorrichtung | |
DE69323156T2 (de) | Bilddatenkomprimierungs/Dekomprimierungssystem | |
DE69132063T2 (de) | Bildcodierung mit Optimierung der erzeugten Codemenge | |
DE69813349T2 (de) | Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend | |
DE69315203T2 (de) | Verfahren zur kodierung von bilddaten | |
DE69126940T2 (de) | Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung | |
DE3853225T2 (de) | Aufzeichnungssystem zur Aufzeichnung einer Sequenz von optimal codierten Signalen auf einen ROM. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |