DE69319855T2 - Verfahren und Vorrichtung zur Bilddatencodierung - Google Patents

Verfahren und Vorrichtung zur Bilddatencodierung

Info

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
Application number
DE69319855T
Other languages
English (en)
Other versions
DE69319855D1 (de
Inventor
Tatusi Sakai-Shi Osaka Bannai
Hideaki 5-1-523-108 Naka Kobe Mita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP31482692A external-priority patent/JP2897563B2/ja
Priority claimed from JP7547293A external-priority patent/JP3265696B2/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69319855D1 publication Critical patent/DE69319855D1/de
Publication of DE69319855T2 publication Critical patent/DE69319855T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

    Gebiet der Erfindung
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bilddatenkodierung.
  • Beschreibung des Standes der Technik
  • 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.
  • Zusammenfassung der Erfindung
  • 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.
  • Kurzbeschreibung der Zeichnung
  • 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.
  • Beschreibung des ersten bevorzugten Ausführungsbeispiels
  • 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 &alpha;1, &alpha;2, ..., &alpha;M mit folgender Beziehung "&alpha;1 < &alpha;2 < ...< &alpha;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 &alpha;1, &alpha;2, ..., cLM jeweils gleichen Nummern der Blöcke zugeordnet. Des weiteren werden in jeder der K Gruppen die Skalierungsfaktoren &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1, &alpha;2, ..., &alpha;M zu den Blöcken in den K Gruppen untereinander gleich. Es sei angemerkt, daß in jeder der K Gruppen die Skalierungsfaktoren &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1, &alpha;2, ..., &alpha;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 &le; j &le; 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 &alpha;i (1 &le; i &le; 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 &alpha;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 &alpha;1, &alpha;2, ..., &alpha;M vorhanden. Es ist anzumerken, daß sich die Codemenge N1 entsprechend der Erhöhung des Skalierungsfaktors &alpha;1 verringert, wie es in Fig. 5 gezeigt ist. Schließlich berechnet die Anfangs-Skalierungsfaktor-Berechnungsschaltung 11 einen Anfangs-Skalierungsfaktor &alpha;init auf der Grundlage einer vorbestimmten Ziel-Ein-Teilbild-Codemenge Nt, der vorhergesagten Ein-Teilbild-Codemengen N1, N2, ..., NM und der Skalierungsfaktoren &alpha;1, &alpha;2, ..., &alpha;M. Es ist anzumerken, daß die "Zielcodemenge" im allgemeinen als Zielcodelänge bezeichnet wird. Der Anfangs-Skalierungsfaktor &alpha;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 &alpha;init aus den Skalierungsfaktoren &alpha;2 und &alpha;3, den vorhergesagten Codemengen N2 und N3 und der Zielcodemenge Nt über eine Interpolation beruhend auf der den Punkt (&alpha;2, N2) und den Punkt (&alpha;3, N3) verbindenden Geraden berechnet werden. Insbesondere wird in diesem Fall die Berechnung des Anfangs- Skalierungsfaktors &alpha;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 &le; j &le; K) der K Gruppen die Summe N (i, j) der kodierten Datenmengen in den Blöcken, denen der gleiche Skalierungsfaktor &alpha;1 (1 &le; j &le; 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 &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1, &alpha;2, ..., &alpha;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 &alpha;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 &alpha;t für eine nächste Gruppe entsprechend dem berechneten Prädiktionsfehler &Delta;. Die Variable &Delta; (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 &alpha;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 - &Delta;(j - 1)
  • Infolgedessen wird der Prädiktionsfehler &Delta; (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 &alpha;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 &alpha;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 &alpha;t durch lineare Interpolation wie folgt ausgeführt:
  • &alpha;t = &alpha;init + {(&alpha;3 - &alpha;init) · &Delta;(j - 1)}/{ Nk - N(3, k)}
  • Ist der Prädiktionsfehler gleich null, wird der korrigierte Skalierungsfaktor &alpha;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 &alpha;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 &alpha;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 &alpha;t durch Bezugnahme auf die Beziehung zwischen der Codemenge und dem Skalierungsfaktor in Fig. 5. Insbesondere wird die Berechnung des korrigierten Skalierungsfaktors &alpha;t durch lineare Interpolation wie folgt ausgeführt:
  • Die Modifikation dieses Ausführungsbeispiels ermöglicht eine Verringerung im Schaltungsumfang.
  • Beschreibung des zweiten bevorzugten Ausführungsbeispiels
  • 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 &Delta;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 &Delta;K wird jedesmal dann ausgeführt, wenn die Kodierung einer Gruppe abgeschlossen ist. Der Ein-Teilbild-Prädiktionsfehler &Delta;K, der am Ende der Kodierung einer Gruppe (j - 1) berechnet wird, ist gegeben durch:
  • &Delta;K = &Delta;(j - 1) · {Nt/ Nl}
  • wobei das Zeichen &Delta; (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 &alpha;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 &Delta;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 &alpha;t durch Bezugnahme auf die Beziehung zwischen der akkumulierten Codemenge und dem Skalierungsfaktor. Wie es vorstehend beschrieben ist, wird der korrigierte Skalierungsfaktor &alpha;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 &alpha;t durch lineare Interpolation wie folgt ausgeführt:
  • &alpha;t = &alpha;init + {(&alpha;3 - &alpha;init)&Delta;K}/{ Nk - N(3, k)}
  • Ist der Prädiktionsfehler &Delta;K gleich null, wird der korrigierte Skalierungsfaktor &alpha;t auf den Anfangs-Skalierungsfaktor cxinit gesetzt, so daß die Quantisierung entsprechend dem Anfangs-Skalierungsfaktor &alpha;init ausgeführt wird. Für die erste Gruppe in jedem Vollbild wird der korrigierte Skalierungsfaktor &alpha;t auch auf den Anfangs-Skalierungsfaktor &alpha;init eingestellt.
  • Gemäß einer Modifikation dieses Ausführungsbeispiels berechnet die Skalierungsfaktor-Korrekturschaltung 13 den korrigierten Skalierungsfaktor &alpha;t durch Bezugnahme auf die Beziehung zwischen der Codemenge und dem Skalierungsfaktor in Fig. 5. Insbesondere wird die Berechnung des korrigierten Skalierungsfaktors &alpha;t durch lineare Interpolation wie folgt ausgeführt:
  • Die Modifikation dieses Ausführungsbeispiels ermöglicht eine Verringerung im Schaltungsumfang.
  • Beschreibung des dritten bevorzugten Ausführungsbeispiels
  • 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(&alpha;) · PW(n) · L2 (12)
  • wobei K(&alpha;) eine vorbestimmte Konstante des Verhältnisses zwischen der Blockenergie und der Codemenge für einen Skalierungsfaktor &alpha; bezeichnet. Es ist möglich, die Konstante K(&alpha;) 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.
  • Beschreibung des vierten bevorzugten Ausführungsbeispiels
  • 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 &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1 einem in Frage kommenden Block zuordnet und der gegenwärtig verwendete Skalierungsfaktor gleich dem Anfangs-Skalierungsfaktor &alpha;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(&alpha;) eine vorbestimmte Konstante des Verhältnisses zwischen der Blockenergie und der Codemenge für einen Skalierungsfaktor &alpha; bezeichnet. Es ist möglich, die Konstante L(&alpha;) 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.
  • Beschreibung des fünften bevorzugten Ausführungsbeispiels
  • 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 &alpha;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 &alpha;1, &alpha;2, ..., &alpha;M mit einer Beziehung &alpha;1 < &alpha;2 < ...< &alpha;M den ein Teilbild bildenden Blöcken zugeordnet, wobei M eine vorbestimmte natürliche Zahl größer oder gleich zwei bezeichnet. Einer der Skalierungsfaktoren &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1, &alpha;2, ..., &alpha;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 &alpha;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 &alpha;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 &Delta;, 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 &alpha;t für eine nächste Gruppe entsprechend dem berechneten Prädiktionsfehler &Delta;. Die Ach- Skalierungsfaktor-Korrekturschaltung 41 führt dem ersten Ach- Quantisierer 34 den Korrekturergebnis-Skalierungsfaktor &alpha;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 &alpha;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 &alpha;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 &alpha;1, &alpha;2, ..., &alpha;M mit einer Beziehung &alpha;1 < &alpha;2c...< &alpha;M den ein Teilbild bildenden Blöcken zugeordnet, wobei M eine vorbestimmte natürliche Zahl größer gleich zwei bezeichnet. Einer der Skalierungsfaktoren &alpha;1, &alpha;2, ..., &alpha;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 &alpha;1, &alpha;2, ..., &alpha;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 &alpha;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 &Delta;, 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 &alpha;t für eine nächste Gruppe entsprechend dem berechneten Prädiktionsfehler &Delta;. Die Bch- Skalierungsfaktor-Korrekturschaltung 61 führt dem ersten Bch- Quantisierer 54 den Korrekturergebnis-Skalierungsfaktor &alpha;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.
  • Beschreibung weiterer Ausführungsbeispiele
  • 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.
DE69319855T 1992-11-25 1993-11-24 Verfahren und Vorrichtung zur Bilddatencodierung Expired - Fee Related DE69319855T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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