DE69517283T2 - Bildsignalkodierungsvorrichtung die zwischen variabler Längenkodierung und fester Längenkodierung wechselt - Google Patents

Bildsignalkodierungsvorrichtung die zwischen variabler Längenkodierung und fester Längenkodierung wechselt

Info

Publication number
DE69517283T2
DE69517283T2 DE69517283T DE69517283T DE69517283T2 DE 69517283 T2 DE69517283 T2 DE 69517283T2 DE 69517283 T DE69517283 T DE 69517283T DE 69517283 T DE69517283 T DE 69517283T DE 69517283 T2 DE69517283 T2 DE 69517283T2
Authority
DE
Germany
Prior art keywords
coding
block
code amount
pixel block
image signal
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
DE69517283T
Other languages
English (en)
Other versions
DE69517283D1 (de
Inventor
Kazuhiro Suzuki
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of DE69517283D1 publication Critical patent/DE69517283D1/de
Application granted granted Critical
Publication of DE69517283T2 publication Critical patent/DE69517283T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

    Hintergrund der Erfindung
  • Die vorliegende Erfindung betrifft eine Bildsignalcodiervorrichtung gemäß dem Oberbegriff des Anspruchs 1.
  • Aus US-5 291 303 ist eine Faksimile-Vorrichtung bekannt, wobei ein erster Codierer Bilddaten durch ein eindimensionales Codierverfahren oder ein zweidimensionales Codierverfahren codiert, und ein zweiter Codierer eine Codierung durch ein zweites Codierverfahren durchführt, das sich vom ersten Codierverfahren unterscheidet. Wenn die Menge der Codes einer Zeile, die durch den ersten Codierer codiert wird, eine vorbestimmte Menge überschreitet, wird das Codieren durch den ersten Codierer eingestellt und die Bilddaten werden auf das Durchführen hin eines Wechsels zur Codierung durch den zweiten Codierer codiert. Zusätzlich kann ein Code, der sich aus dem Codieren durch das ein- oder zweidimensionale Codierverfahren und ein Code, der vom Codieren durch das zweite Codierverfahren ergibt, empfangen und decodiert werden. Die Vorrichtung weist ferner eine Erzeugungseinrichtung zum Erzeugen von Bilddaten in Zeileneinheiten auf.
  • Aus JP 6153172 ist ein Codemengensteuerverfahren bekannt, wobei eine Eingabe in Blöcke durch eine Blockunterteilungseinrichtung unterteilt. Diese Blöcke werden durch eine orthogonale Transformationsvorrichtung transformiert und durch eine Codiereinrichtung codiert. Die Codierung wird dann für jede vorgeschriebene Einheit durch eine Codierung mit fester Länge oder variabler Länge durchgeführt. Ein Codemengen-Richtfähigkeitsunterscheidungsabschnitt unterscheidet die Abtastrichtung der Codemenge nach dem Codieren, und die Abtastrichtung in der Codiereinheit wird in diese Richtung durchgeführt.
  • In solchen Systemen, wie digitalen Kopierern und Druckern, die hochauflösende Bilder verarbeiten, muß eine umfangreiche Menge von Bilddaten innerhalb des Systems mit einer rohen Geschwindigkeit übertragen werden.
  • Ferner wird nun mit Verbesserungen der Auflösung und der Qualität der Bilder durch Einsetzen von Mehrwert- und Farbbildern anstelle von Binärbildern die Datenmenge jedes Bildes beträchtlich erhöht. Daher weisen digitale Schnell-Kopierer und -Drucker ein Problem auf, daß die Übertragungsleitungsbandbreite innerhalb des System unzureichend wird.
  • Unter den obigen Umständen ist man nun bemüht, die Engpässe hinsichtlich der Datenübertragung und Speicherung zu beseitigen, indem eine Bildcodiertechnik in das Innere eines Systems eingeführt wird, und die Datenmenge durch Kompression der Datenübertragung und Speicherung zu reduzieren.
  • Die folgenden Bedingungen sollten beim Auswählen einer Codiermethode für den obigen Zweck berücksichtigt werden:
  • Bedingung 1: bei einem großen Kompressionsverhältnis kann eine hohe Bildqualität erzielt werden.
  • Bedingung 2: Es kann ein schlechtester Wert des Kompressionsverhältnisses für jede Codiereinheit sichergestellt werden, und es kann eine Synchronisation mit dem Pixeltakt (feste Periode) der Eingabe/Ausgabe-Vorrichtungen erhalten werden.
  • Insbesondere muß aufgrund der folgenden Hintergründe Bedingung 2 erfüllt werden:
  • Hintergrund 1: Wo codierte Daten direkt auf eine Platte geschrieben werden, um ein Eingabebild zeitweilig zu speichern, wobei die Menge der codierten Daten variiert wird, wird ein Pufferspeicher benötigt. Dies verursacht einen Kostenanstieg.
  • Hintergrund 2: In der Xerographie muß, da ein elektrostatisches latentes Bild auf einem Photorezeptor, der sich mit einer konstanten Geschwindigkeit dreht, mit einem Laserstrahl gebildet wird, der durch ein Bildsignal moduliert wird, das Bildsignal immer in Synchronisation mit einem festen Takt geliefert werden; das heißt, der Bildtakt kann nicht entsprechend einer Variation der Bilddecodierrate variiert oder gestoppt werden. Daher wird, wo die Pixeldecodierrate eine Variation aufweist, ein Pufferspeicher benötigt, wie im Fall des Hintergrunds 1. Die verursacht eine Kostenzunahme.
  • Verschiedene Techniken sind erfunden worden, um Abstufungsbilder und Farbbilder effizient zu codieren. Die Codiermethoden werden klassifiziert in eine umkehrbare Codierung, die dasselbe Bild wie ein Originalbild reproduzieren kann, und die nichtumkehrbare Codierung, bei der ein decodiertes Bild infolge eines Informationsverlustes nicht identisch mit einem Originalbild ist. Im allgemeinen kann die nicht umkehrbare Codierung ein großes Kompressionsverhältnis liefern. Typische Bespiele der nichtumkehrbaren Codierung sind die Quadratur-Transformationscodierung und die Blockabkürzungscodierung, die unten kurz erläutert werden.
  • In der Quadratur-Transformationscodierung wird ein Bild in Pixelblöcke unterteilt (rechteckige Pixelbereiche), und durch eine Quadratur-Transformation auf eine blockweisen Grundlage in Frequenzdomänensignale umgewandelt. Bei natürlichen Bildern, wie Porträts und Landschaften, die eine starke Autokorrelation der Pixelwerte aufweisen, konzentriert sich der größte Teil der Signalstärke nach der Quadratur-Transformation in Niederfrequenz-Koeffizienten. Ein Kompressionseffekt kann insgesamt erzielt werden, indem diese Tendenz genutzt wird, insbesondere indem nach der Quadratur-Transformation Niederfrequenz-Koeffizienten mit hoher Genauigkeit quantisiert werden, um viele Bits dazu zuzuordnen und Hochfrequenz-Koeffizienten grob quanti siert werden, um die Anzahl der Bits zu vermindern.
  • In der Blockabkürzungscodierung, die aus SYSTEMS & COMPUTERS IN JAPAN, Ausg. 73-DII, Nr. 2, NEW YORK US, Seiten 266- 275 bekannt ist, wird ein Bild in Pixelblöcke unterteilt (rechteckige Pixelbereiche), und Pixelwerte eines Blocks werden durch mehrere repräsentative Abstufungswerte und eine Auflösungsinformation angenähert, die anzeigt, durch welchen repräsentativen Wert jedes Pixel ausgedrückt wird.
  • Die obigen beiden Codiermethoden werden miteinander hinsichtlich der Bildqualität und dem Kompressionsverhältnis verglichen. Aufgrund einer hohen Reproduktionsleistung kann die Quadratur-Transformationscodierung photographische Bereiche mit einem großen Kompressionsverhältnis codieren. Wenn es jedoch auf ein Bild angewendet wird, das viele Kanten aufweist, wie Text, tritt ein Problem einer Bildqualitätsverschlechterung infolge der Verminderung der Codiereffizienz und des Streichens der Hochfrequenz-Koeffizienten auf, da sich die Leistung zu den Hochfrequenz-Koeffizienten verteilt.
  • Während die Blockabkürzungscodierung zufriedenstellend ein Bild reproduzieren kann, das scharfe Kanten, wie ein Text aufweist, kann sie nicht richtig einen Bereich reproduzieren, der eine feine Variation der Abstufungen aufweist, wie ein photographischer Bereich.
  • Als nächstes werden die beiden Codiermethoden miteinander hinsichtlich der Codemengen-Variationsleistung verglichen. In der Quadratur-Transformationscodierung neigt die Codemenge dazu, konstant von einem Pixelblock zu einem anderen zu variieren, infolge der Variation der Signalstärkenverteilung nach der Transformation, die Vom dem Inhalt eines Pixelblocks und einer Fehlanpassung einer Codetabelle in der Codierung mit variabler Länge abhängt.
  • Andererseits weist die Blockabkürzungscodierung ein allgemeines Merkmal auf, daß die Codemengen der Pixelblöcke angeglichen werden können (Codierung mit fester Länge), indem dafür gesorgt wird, daß die Auflösungsinformation und die Abstufungsinformation jedes Pixelblocks konstante Größen aufweisen.
  • Da die Quadratur-Transformationscodierung und die Blockabkürzungscodierung, wie oben beschrieben, komplementäre Merkmale aufweisen, sind Techniken vorgeschlagen worden, diese beiden Codiermethoden zusammen zu verwenden.
  • Zum Beispiel offenbart die japanische ungeprüfte Patentveröffentlichung Nr. Sho. 63-306768 eine Technik, die obigen beiden Codiermethoden zusammen zu verwenden, um die Bildqualität zu verbessern.
  • Auf Fig. 18 bezugnehmend, wird eine Beschreibung einer Konfiguration der herkömmlichen Technik dieser Veröffentlichung vorgenommen. In Fig. 18, extrahiert ein Ein-Block-Extraktionsabschnitt 1 einen Pixelblock, der ein rechteckiger Bereich mehrer Pixel ist, aus einem Eingangsbildsignal. Eine Wechselspannungskomponenten-Beurteilungsabschnitt 2 vergleicht die Wechselspannungsstärke des Pixelblocks mit einem vorbestimmten Schwellenwert und liefert den Pixelblock an einen Transformations-Codierabschnitt 3, wenn die Wechselspannungsstärke klein ist, und an einen Blockabkürzungscodierabschnitt 4, wenn die Wechselspannungsstärke groß ist. Der Transformations-Codierabschnitt 3 transformationscodiert den Pixelblock und gibt codierte Daten aus. Der Blockabkürzungscodierabschnitt 4 codiert durch Blockabkürzungscodierung den Pixelblock und gibt codierte Daten aus.
  • Die Arbeitsweise der obigen Technik wird unter Bezugnahme auf Fig. 18 beschrieben. Der Wechselspannungskomponenten-Beurteilungsabschnitt 2 berechnet die Wechselspannungsstärke, d. h. eine Summe von Quadraten der Wechselspannungskomponenten eines Pixelblocks, der aus einem Eingangsbildsignal extrahiert wird, und vergleicht sie mit einem vorbestimmten Schwellenwert THAC. Wenn die Blockwechselspannungsstärke kleiner als THAC ist, d. h. der Pixelblock nur eine kleine Menge von Wechselspannungskomponenten, wie Rauschen und Hochfrequenzwellen aufweist, wird der Pixelblock durch den Transformations-Codierabschnita 3 codiert. Wenn die Blockwechselspannungsstärke größer oder gleich THAC ist, wird der Pixelblock so beurteilt, daß er eine große Menge an Wechselspannungskomponenten, wie Rauschen und Hochfrequenzkomponenten aufweist, und durch den Blockabkürzungscodierabschnitt 4 codiert.
  • Mit der obigen Konfiguration und Arbeitsweise kann ein Verschmieren der Umrisse eines reproduzierten Bildes verhindert werden, dessen Verschmieren sonst auftreten würde, wenn ein Pixelblock, der eine große Menge Wechselspannungskomponenten enthält, einer Transformationscodierung unterzogen wird.
  • Die obige herkömmliche Technik verwendet die Quadratur- Transformationscodierung und die Blockabkürzungscodierung zusammen, um ein Bild mit hoher Qualität unabhängig vom Vorhandensein von Kanten zu reproduzieren. Obwohl diese Technik die oben erwähnte Bedingung 1 erfüllt, stellt sie keinen schlechtesten Wert der Codemenge sicher, d. h. erfüllt nicht die Bedingung 2. Daher kann diese Technik nicht zum Herunterdrücken der Bandbreite in einem System verwendet werden.
  • Zusammenfassung der Erfindung
  • In Hinblick auf das obige Problem, ist es eine Aufgabe der vorliegenden Erfindung, die Übertragungsbandbreite in einem System, wie einem digitalen Kopierer oder einem Drucker herunter zu drücken, und eine Codiervorrichtung bereitzustellen, die eine gute Bildqualität sicherstellt, und wobei die Codierrate/ Pixelrate kleiner als ein vorbestimmter Wert ist, ohne von einer Variation (Vorhandensein von Kanten) der Bildeigenschaften von einen Pixelblock zu einem anderen abzuhängen.
  • Dieses Problem wird durch den Gegenstand des unabhängigen Anspruchs 1 gelöst. Bevorzugte Ausführungsformen werden in den abhängigen Unteransprüchen beschrieben.
  • Fig. 1(a) zeigt eine allgemeine Konfiguration einer erfindungsgemäßen Bildsignalcodiervorrichtung. Um die obigen Aufgaben zu lösen, umfaßt die Bildsignalcodiervorrichtung ein Blockextraktionsmittel 100 zum Extrahieren eines Pixelblocks von m · n Pixeln aus einem Bildsignal, wobei m und n positive ganze Zahlen sind; ein erstes Codiermittel 200 zum Codieren des extrahierten Pixelblocks in codierte Daten mit variabler Länge; ein zweites Codiermittel 300 zum Codieren des extrahierten Pixelblocks in codierte Daten mit fester Länge; ein Codemengen- Zählmittel 400 zum Zählen von Codewortlängen der codierten Daten mit variabler Länge, um eine Codemenge des Pixelblocks zu bestimmen; ein Codemengen-Beurteilungsmittel 500 zum Vergleichen der Codemenge mit einem ersten Schwellenwert, und Ausgeben eines Vergleichsergebnisses als Unterscheidungsinformation; ein Auswahlmittel 600 zum Auswählen der codierten Daten mit variabler Länge oder der codierte Daten mit fester Länge beruhend auf der Unterscheidungsinformation; und ein Speichermittel 700 zum Speichern der ausgewählten codierten Daten und der Unterscheidungsinformation in einer korrelierten Weise.
  • Fig. 1(b) zeigt eine allgemeine Konfiguration einer weiteren erfindungsgemäßen Bildsignalcodiervorrichtung. Um die obigen Aufgaben zu lösen, umfaßt die Bildsignalcodiervorrichtung ein Blockextraktionsmittel 100 zum Extrahieren eines Pixelblocks von m · n Pixeln aus einem Bildsignal, wobei m und n positive ganze Zahlen sind; ein erstes Codiermittel 200 zum Codieren des extrahierten Pixelblocks in codierte Daten mit variabler Länge; ein zweites Codiermittel 300 zum Codieren des extrahierten Pixelblocks in codierte Daten mit fester Länge; ein Codemengen-Zählmittel 400 zum Zählen von Codewortlängen der codierten Daten mit variabler Länge, um eine Zwischencodemenge und eine Codemenge des Pixelblocks zu bestimmen; ein Codemengenbeurteilungsmittel 500 zum Vergleichen der Codemenge des Pixelblocks mit einem zweiten Schwellenwert und Ausgeben eines Vergleichsergebnisses als Unterscheidungsinformation; ein Auswahlmittel 600 zum Auswählen der codierten Daten mit variabler Länge oder der codierten Daten mit fester Länge beruhend auf der Unterscheidungsinformation; ein Speichermittel 700 zum Speichern der ausgewählten codierten Daten und der Unterscheidungsinformation in einer korrelierten Weise; und ein Beendigungsbeurteilungsmittel 800 zum Vergleichen der Zwischencodemenge mit einem dritten Schwellenwert, und zum Beurteilen beruhend auf einem Vergleichsergebnis, ob eine Codieroperation des ersten Codiermittels beendet werden sollte.
  • Jede der obigen Bildsignalcodiervorrichtungen kann ferner ein Teilungsmittel aufweisen, das netzaufwärts des zweiten Codiermittels 300 vorgesehen ist zum Teilen des Pixelblocks aus m · n Pixeln in Teilblöcke, die jeweils p · q Pixel aufweisen, wobei p und q positive ganze Zahlen sind, die kleiner m bzw. n sind.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1(a) und 1(b) sind Blockdiagramme, die allgemeine Konfigurationen der erfindungsgemäßen Codiervorrichtungen zeigen;
  • Fig. 2 ist ein Blockdiagramm, das eine Konfiguration einer Codiervorrichtung gemäß einer ersten Ausführungsform der Erfindung zeigt;
  • Fig. 3(a)-3(f) zeigen ein Beispiel der DCT und der Quantisierung;
  • Fig. 4 veranschaulicht Transformationskoeffizienten;
  • Fig. 5 zeigt, wie quantisierte Koeffizienten durch eine Zickzackabtastung in eine eindimensionale Sequenz umgewandelt werden;
  • Fig. 6 zeigt, wie ein Gleichspannungskoeffizient einer Gruppenbildung unterzogen wird;
  • Fig. 7 zeigt ein Beispiel eines Huffman-Codetabelle für einen Gleichspannungskoeffizienten;
  • Fig. 8 zeigt, wie ein Wechselspannungskoeffizient einer Gruppenbildung unterzogen wird;
  • Fig. 9 zeigt eine zweidimensionales Huffman-Codierung für Wechselspannungskoeffizienten;
  • Fig. 10 zeigt ein Beispiel einer Huffman-Codetabelle für Wechselspannungskoeffizienten;
  • Fig. 11 zeigt ein Beispiel der Codierung der quantisierten Koeffizienten der Fig. 3(c);
  • Fig. 12 zeigt eine Ausgabebitsequenz;
  • Fig. 13(a) und 13(b) veranschaulichen ein Beispiel der Blockabkürzungscodierung in der ersten Ausführungsform;
  • Fig. 14 ist ein Blockdiagramm, das eine Konfiguration einer Codiervorrichtung gemäß der zweiten Ausführungsform der Erfindung zeigt;
  • Fig. 15(a) und 15(b) veranschaulicht ein Beispiel der Blockabkürzungscodierung in der zweiten Ausführungsform;
  • Fig. 16 ist ein Blockdiagramm, das eine Konfiguration einer Codiervorrichtung gemäß einer dritten Ausführungsform der Erfindung zeigt;
  • Fig. 17 ist ein Blockdiagramm, das eine Konfiguration eines Abschnitts zur Codierung mit variabler Länge in der dritten Ausführungsform zeigt; und
  • Fig. 18 ist ein Blockdiagramm, das eine Konfiguration einer herkömmlichen Technik zeigt.
  • Beschreibung der bevorzugten Ausführungsformen Ausführungsform 1
  • Bezugnehmend auf das Blockdiagramm der Fig. 2, wird im folgenden eine Codiervorrichtung gemäß einer erste Ausführungsform der vorliegenden Erfindung beschrieben.
  • In Fig. 2 extrahiert ein Blockextraktionsabschnitt 10 einen Pixelblock von m · n Pixeln (m, n: positive ganze Zahlen) aus einem Bildsignal. Eine Quadratur-Transformationscodier- Abschnitt 20 weist die folgenden Komponenten auf. Ein DCT- Abschnitt 21 führt eine diskrete Kosinustransformation (die im folgenden als DCT bezeichnet wird) an dem extrahierten Pixelblock aus und gibt die sich ergebenden Transformationskoeffizienten aus. Ein Quantisierungsabschnitt 22 quantisiert die Transformationskoeffizienten gemäß vorgeschriebenen Quantisierungscharakteristiken und gibt sich ergebende quantisierte Koeffizienten aus. Ein Abtastungsumwandlungsabschnitt 23 ordnet die quantisierten Koeffizienten um, indem er seine Matrix in einer Zickzackweise abtastet. Ein Abschnitt 24 zur Codierung mit variabler Länge ordnet Codes mit variabler Länge (VLCs) einer Kombination von quantisierten Koeffizienten zu, die in einer Zickzackabtastungsordnung umgeordnet worden sind. Ein Puffer 25 speichert die Codes mit variabler Länge in ihrer Ausgabeordnung.
  • Ein Blockabkürzungscodierabschnitt 30 führt ein Blockabkürzungscodierung am Pixelblock aus und gibt repräsentative Abstufungswerte und eine Auslösungsinformation aus. Ein Puffer 33 für Code mit fester Länge speichert die repräsentativen Abstufungswerte und die Auslösungsinformation als codierte Daten.
  • Ein Codemengenzähler 40 zählt auf einer blockweisen Grundlage die Anzahl der Bits von Codes mit variabler Länge, die durch den Abschnitt 24 zur Codierung mit variabler Länge zugeordnet werden. Ein Codemengen-Beurteilungsabschnitt 50 vergleicht ein Zählergebnis mit einem voreingestellten Schwellenwert und gibt ein Ergebnis des Größenvergleichs als Unterscheidungsinformation aus. Eine Auswahlvorrichtung 60 wählt die codierten Daten aus, die im Puffer 25 für Code mit variabler Länge oder dem Puffer 33 für Code mit fester Länge gespeichert sind, und gibt die ausgewählten codierten Daten aus. Ein Speicherabschnitt 70 speichert die Unterscheidungsinformation und die codierten Daten in einer korrelierten Weise.
  • Bezugnehmend auf Fig. 2, wird die Arbeitsweise der Codiervorrichtung gemäß der ersten Ausführungsform beschrieben.
  • Zuerst extrahiert der Blockextraktionsabschnitt 10 einen Pixelblock von m · n Pixeln (m, n: positive ganze Zahlen) aus einem Bildsignal. Fig. 3(a) zeigt einen 8 · 8 Pixelblock, und die folgende Beschreibung ist auf einen Fall gerichtet, wo Pixelblöcke dieser Größe verwendet werden.
  • Der Quadratur-Transformationscodier-Abschnitt 20 führt eine DCT-Codierung, die eine der Transformationscodiermethoden ist, an jedem extrahierten Pixelblock aus. Es ist ein DCT-Quadratur-Transformationscodiermethode bekannt, das in G. K. Wallace: "The JPEG Sill Picture Compression Standard," Communications of the ACM, April 1991 offenbart wird.
  • Nun wird eine detaillierte Beschreibung einer Codieroperation des Quadratur-Transformationscodier-Abschnitt 20 vorgenommen, der in Fig. 2 gezeigt wird.
  • Der DCT-Abschnitt 21 führt eine DCT an einem rechteckigen Eingabepixelblock aus 8 · 8 Pixeln aus. Eine zweidimensionale DCT achter Ordnung wird durch die Gleichung (1) gegeben und ihrer inversee Transformation wird durch die Gleichung (2) gegeben.
  • wobei
  • In den obigen Gleichungen, ist f(i, j) jedes Element eines Pixelblocks, und i und j stellen eine Position jenes Elements dar. F (u, v) ist ein Element der Transformationskoeffizienten, und u und v stellen eine Position jenes Elements dar. C(w) bedeutet C(u) oder C(v).
  • Fig. 3(b) zeigt Transformationskoeffizienten, die durch Durchführen der zweidimensionalen DCT achter Ordnung der Gleichung (1) am Pixelblock der Fig. 3(a) erhalten werden. Ein Element, das in der obersten linken Ecke einer Transformationskoeffizientenmatrix angeordnet ist (siehe Fig. 4), wobei das Element einer mittleren Leuchtdichte des Pixelblocks entspricht, wird als ein Gleichspannungskoeffizient bezeichnet. Andere Elemente als der Gleichspannungskoeffizient werden als Wechsel spannungskoeffizienten bezeichnet.
  • Ferner entsprechen, wie in Fig. 41 gezeigt, Wechselspannungskoeffizienten, die näher zur am weitesten rechts gelegenen Spalte angeordnet sind, Komponenten mit höherer Frequenz in die horizontale Richtung, und Wechselspannungskoeffizienten, die näher zur unteren Reihe angeordnet sind, entsprechen Komponenten mit höherer Frequenz in die vertikale Richtung. Daher entspricht das untere rechte Element einer Matrix der höchsten Frequenzkomponente sowohl in horizontaler als auch vertikaler Richtung.
  • Transformationskoeffizienten, die vom DCT-Abschnitt 21 ausgegeben werden, werden durch den Quantisierungsabschnitt 22 quantisiert und als quantisierte Koeffizienten ausgegeben. Die Quantisierung ist ein Prozeß zum Berechnen von Quotienten durch Teilen von Elementen der Transformationskoeffizienten durch entsprechende Elemente einer Quantisierungsmatrix, und wird durch die folgenden Gleichungen definiert:
  • wobei F(u, v), Q(u, v) und FQ(u, v) jeweils ein Element der Transformationskoeffizienten, ein Element der Quantisierungsmatrix, und ein Element der quantisierten Koeffizienten sind. Die Parameter u und v stellen eine Elementposition dar.
  • Fig. 3(c) zeigt ein Beispiel einer Quantisierungsmatrix, das unter Berücksichtigung von sichtbaren Eigenschaften jewei liger Frequenzkomponenten bestimmt wird. Im allgemeinen werden, wie in Fig. 3(c) gezeigt, kleine Werte für Koeffizienten eingesetzt, die Niederfrequenz-Komponenten entsprechen, um eine hochgenaue Quantisierung zu erhalten, und große Werte werden für Koeffizienten eingesetzt, die Hochfrequenz-Komponenten entsprechen, um eine grobe Quantisierung durchzuführen.
  • Fig. 3(d) zeigt quantisierte Koeffizienten, die durch lineares Quantisieren der Transformationskoeffizienten der Fig. 3 (b) durch Verwendung der Quantisierungskoeffizienten der Fig. 3(c) erhalten werden.
  • Im Abtastungsumwandlungsabschnitt 23 werden die quantisierten Koeffizienten in der Reihenfolge der Zahlen 0-63 einer Matrix zickzackabgetastet, die in Fig. 5 gezeigt wird, um in eine eindimensionale Sequenz umgewandelt zu werden.
  • Im Abschnitt 24 zur Codierung mit variabler Länge werden die eindimensionalen quantisierten Koeffizienten Huffmancodiert. Das Codieren wird für eine Gleichspannungskomponente und Wechselspannungskomponenten mit Huffman-Codetabellen getrennt durchgeführt, die für diese beiden Arten von Komponenten vorbereitet sind.
  • Zuerst wird eine Beschreibung einer Codierung eines Gleichspannungskoeffizienten vorgenommen. Um eine Gleichspannungskomponente zu codieren, wird eine Differenz des betroffenen Gleichspannungskoeffizienten von einem Gleichspannungskoeffizienten des unmittelbar vorausgehenden Blocks berechnet und es wird eine Gruppenzahl gemäß einer Tabelle bestimmt, die in Fig. 6 gezeigt wird. Die so bestimmte Gruppenzahl wird einer Huffman-Codierung unterzogen. Um anzuzeigen, welcher Wert der Gruppe die Differenz entspricht, werden zusätzliche Bits vorgesehen, welche dieselbe Anzahl von Bits wie die Gruppenzahl aufweisen.
  • Im Fall der quantisierten Koeffizienten der Fig. 3(d) wird, wenn vorausgesetzt wird, daß ein Gleichspannungskoeffizient des unmittelbar vorausgehenden Block 14 ist, die Differenz des Gleichspannungskoeffizienten des betroffenen Block von jenem des unmittelbar vorausgehenden Blocks so berechnet, daß 16-14 = +2. Gemäß der Tabelle der Fig. 6 wird die Gruppenzahl als 2 bestimmt. Gemäß einer Codetabelle für Gleichspannungskoeffizienten, die in Fig. 7 gezeigt wird, wird herausgefunden, daß ein Code, welcher der Gruppenzahl 2 entspricht, ein Binärcode "011" ist. Ferner ist, um unter vier Werten von -3, -2, 2 und 3 zu unterscheiden, die zur Gruppenzahl 2 gehören, eine 2-Bit-Information vorgesehen. In diesem Fall ist "10" für den Wert 2 vorgesehen.
  • Als nächstes wird eine Beschreibung der Codierung der Wechselspannungskoeffizienten vorgenommen.
  • Die Wechselspannungskomponenten werden in der Reihenfolge 1-63 der Matrix codiert, die in Fig. 5 gezeigt wird. Das Zählen wird in dieser Reihenfolge bis zur Detektion eines von Null verschiedenen Koeffizienten (effektiven Koeffizienten) vorgenommen, um die Länge (Null-Lauf) von aufeinanderfolgenden Null- Koeffizienten (uneffektive Koeffizienten) zu bestimmen. Bei der Detektion eines effektiven Koeffizienten wird eine Gruppenzahl, die dem Koeffizientenwert entspricht, gemäß einer Tabelle bestimmt, die in Fig. 8 gezeigt wird. Zusätzliche Bits, die anzeigen, welchem Wert der Gruppe der Wechselspannungskoeffizient entspricht, werden ebenfalls bestimmt.
  • In einer Codetabelle für Wechselspannungskoeffizienten wird ein Huffman-Code einer Kombination eines Null-Laufs uneffektiver Koeffizienten und einer Gruppenzahl eines anschließenden effektiven Koeffizienten zugeordnet. Fig. 9 zeigt 256 Kombinationen eines Null-Laufs und einer Gruppenzahl, insbesondere von (0, 0) bis (15, 15). Jede Kombination ist durch einen Binärcode gegeben, wie in Fig. 10 gezeigt.
  • Wie oben beschrieben, werden Wechselspannungskoeffizienten beruhend auf einer Kombination eines Null-Laufs uneffektiver Koeffizienten und einer Gruppenzahl eines anschließenden effektiven Koeffizienten, und zusätzlichen Bits codiert, die anzeigen, welchem Wert der Gruppen der effektive Koeffizient entspricht. Die obige Operation geht weiter, bis alle effektiven Koeffizienten des Blocks verarbeitet sind. Wenn herausgefunden wird, daß alle der verbleibenden Wechselspannungskoeffizienten des Blocks null sind, wird zu dieser Zeit ein EOB codiert (ein Blockbeendigungscode), tun den Ein-Block-Prozeß zu vollenden.
  • Fig. 11 zeigt ein Beispiel, in dem die quantisierten Koeffizienten der Fig. 3(d) durch die obige Prozedur codiert werden. Fig. 12 zeigt eine Bitsequenz, die als Codes ausgegeben wird. In diesem Beispiel wird eine Information aus insgesamt 512 Bit, in der ein Pixel aus 8 Bit besteht und ein Block aus 8 · 8 Pixeln besteht, zu 63 Bit komprimiert.
  • In einem Decodierprozeß wird eine Huffman-Decodierung in einer Prozedur durchgeführt, die umgekehrt zu obigen ist, um die quantisierten Koeffizienten der Fig. 3 (d) zu reproduzieren. Es werden dann invers quantisierte Koeffizienten, die in Fig. 3(e) gezeigt werden, durch Multiplizieren der quantisierten Koeffizienten mit entsprechenden Elementen der Quantisierungsmatrix der Fig. 3(c) erhalten. Ferner wird ein decodierter Pixelblock, der in Fig. 3(f) gezeigt wird, durch Durchführen der inversen DCT der Gleichung (2) an den invers quantisierten Koeffizienten erhalten.
  • Mit den obigen Prozessen kann eine Bildinformation gemäß dem Transformationscodiermethode codiert und decodiert werden. Im Fall der Transformationscodiermethode variiert die Größe der codierten Daten abhängig von den Inhalten eines Pixelblocks.
  • Codierte Daten, die vom Abschnitt 24 zur Codierung mit variabler Länge ausgegeben werden, werden im Puffer 25 für Code mit variabler Länge gespeichert.
  • Als nächstes wird eine detaillierte Beschreibung Einer Codieroperation des Blockabkürzungscodierabschnitts 30 vorgenommen. Die folgende Beschreibung wird auf einen Fall des binären Blockabkürzungscodierung gerichtet sein.
  • Zuerst wird ein Mittelwert u der Pixelwerte eines Blocks, der m · n Pixel (m, n: positive ganze Zahlen) aufweist, die aus einem Bildsignal durch den Blockextraktionsabschnitt 10 extrahiert worden sind, gemäß der Gleichung (6) berechnet.
  • Dann werden Pixelwerte des Blocks mit dem Mittelwert u verglichen, und Pixelwerte, die größer oder gleich dem Mittelwert u sind, werden als Gruppe 1 klassifiziert, und Pixelwerte, die kleiner als er sind, werden als Gruppe 0 klassifiziert. Nimmt man an, daß NA und NB die Anzahl der Pixel bezeichnen, die als Gruppe 1 klassifiziert sind, bzw. die Anzahl der Pixel, die als Gruppe 0 klassifiziert sind, dann werden die Mittelwerte A und B der Pixel, die zu den Gruppen 1 und 0 gehören, gemäß den Glei chungen (7) bzw. (8) berechnet. A und B werden als repräsentative Abstufungswerte der jeweiligen Gruppen bezeichnet.
  • Eine Ein-Bit-Information (0 oder 1), die anzeigt, zu welcher Gruppe ein Pixel des Blocks gehört, wird als Auflösungsinformation bezeichnet.
  • Das Blockabkürzungscodierung wird in der obigen Weise vollendet, als dessen Ergebnis die repräsentativen Abstufungswerte und die Auflösungsinformation als codierte Daten in den Puffer 33 für Code mit fester Länge gespeichert werden.
  • Fig. 13(a) zeigt ein Beispiel codierter Daten und eines decodierten Pixelblocks der Blockabkürzungscodierung. Im folgenden wird vorausgesetzt, daß die Pixelblockgröße 8 Pixel mal 8 Pixel beträgt und jedes Pixel eine 8-bit Auflösung (256 Stufen) aufweist. Ein Bild wird reproduziert, indem Positionen von Pixeln, die eine Auflösungsinformation 0 aufweisen, durch den repräsentativen Abstufungswert A der Gruppe 1, und Positionen von Pixeln, die ein Auflösungsinformation 1 aufweisen, durch den repräsentativen Abstufungswert B der Gruppe 0 ersetzt werden.
  • Fig. 13 (b) zeigt ein Beispiel einer Konfiguration codierter Daten, die durch die Blockabkürzungscodierung erzeugt werden. Den beiden repräsentativen Abstufungswerte werden 16 Bits zugewiesen, und der Auflösungsinformation werden 64 Bits zugewiesen; das heißt ein Pixelblock wird durch die Verwendung von 80 Bits codiert. Das Kompressionsverhältnis wird wie folgt berechnet:
  • (Kompressionsverhältnis) = (Datenmenge des ursprünglichen Pixelblocks)/(codierte Datenmenge) = (8[Pixel] · 8 [Pixel] · 8 [Bit])/80 [Bit] = 6,4
  • Eine Vier-Wert-Blockabkürzungscodierung kann auf eine ähnliche Weise realisiert werden. In diesem Fall werden vier repräsentativen Abstufungswerten 32 Bit zugewiesen und der Auflösungsinformation werden 2 Bit pro Pixel zugewiesen, d. h. 2 [Bit] · 64 [Pixel] = 128 [Bit] für den gesamten Block; das heißt ein Pixelblock wird durch die Verwendung von insgesamt 160 Bit codiert.
  • Das Kompressionsverhältnis wird wie folgt berechnet:
  • (Kompressionsverhältnis) = (Daten Menge des ursprünglichen Pixelblocks)/(codierte Datenmenge) = (8 [Pixel] · 8 [Pixel] · 8 [Bit])/160 [Bit] = 3,2
  • Im Fall der Blockabkürzungscodierung ist das Kompressionsverhältnis durch die Kombination der repräsentativen Abstufungswerte und der Auslösungsinformation vorbestimmt, so daß das Kompressionsverhältnis konstant gemacht werden kann, ohne von den Inhalten der Pixelblöcke abzuhängen.
  • Auf Fig. 2 bezugnehmend, führt der Codemengenzähler 40 auf einer blockweisen Grundlage eine Zähloperation durch, um die Größe von Codes mit variabler Länge zu bestimmen, die durch den Abschnitt 24 zur Codierung mit variabler Länge zugewiesen worden sind. Der Zählwert wird bei der Vollendung einer Ein-Block- Operation auf null zurückgesetzt.
  • Der Codemengen-Beurteilungsabschnitt 50 vergleicht die Größe der Codes mit variabler Länge eines Pixelblocks, dessen Größe durch den Codemengenzähler 40 durch die Zähloperation bestimmt worden ist, mit dem vorbestimmten Schwellenwert. Ein Vergleichsergebnis, d. h. eine Unterscheidungsinformation wird nicht nur der Auswahlvorrichtung 60 zugeführt, sondern auch im Speicherabschnitt 70 gespeichert.
  • Der Schwellenwert kann die Größe der Codes sein, die vom Blockabkürzungscodierabschnitt 30 ausgegeben werden. Im Fall der oben beschriebenen binären Blockabkürzungscodierung werden 80 Bit als der Schwellenwert eingestellt. Wenn die Größe von Ein-Block-Codes mit variabler Länge kleiner als 80 Bit ist, wird ein Wert 0 als 1-Bit-Unterscheidungsinformation ausgegeben. Wenn die Größe der Ein-Block-Codes mit variabler Länge größer als 80 Bit ist, wird ein Wert 1 als 1-Bit-Unterscheidungsinformation ausgegeben.
  • Wenn sie eine Unterscheidungsinformation 0 empfängt, liest die Auswahlvorrichtung 60 die codierten Daten, die im Puffer 25 für Code mit variabler Länge gespeichert sind, und speichert sie im Speicherabschnitt 70. Wenn sie eine Unterscheidungsinformation 1 empfängt, liest die Auswahlvorrichtung 60 die codierten Daten, die im Puffer 33 für Code mit fester Länge gespeichert sind und speichert sie im Speicherabschnitt 70.
  • Nach der Ausführung der obigen Prozedur werden die Unterscheidungsinformation für die jeweiligen Blöcke und die entsprechenden codierten Daten im Speicherabschnitt 70 gespeichert, und die Codieroperation wird beendet.
  • Mit der obigen Konfiguration und Operation werden für jede Art von Eingabepixelblock Codes eines Blocks so erzeugt, daß sie eine Größe aufweisen, die nicht größer als die Ein-Block- Codegröße der Codierung mit fester Länge ist. Daher kann die Codegrößenvariation unterdrückt werden.
  • Wie in der obigen Beschreibung des Stands der Technik erwähnt, kann die Quadratur-Transformationscodierung ein Bild, das durch eine Abstufung dominiert wird, wie einen photographische Bereich effizient codieren, d. h. mit einer kleinen Codemenge. Wenn es jedoch auf ein Bild angewendet wird, das Kanten, wie einen Text aufweist, ist die Effizienz niedrig (die Code menge ist groß). In der ersten Ausführungsform wird aufgrund der auf der Codemenge beruhenden Anpassung automatisch eine Auswahl vorgenommen, so daß die Quadratur-Transformationscodierung auf einen photographischen Bereich angewendet wird und die Blockabkürzungscodierung auf einen Textbereich angewendet wird, ohne eine direkte Unterscheidung zwischen einem photographischen Bereich und einem Textbereich vorzunehmen. Daher kann die erste Ausführungsform die Bildqualität auf ein Maß erhöhen, das ähnlich zum Fall der herkömmlichen Technik ist.
  • Ausführungsform 2
  • Bezugnehmend auf ein Blockdiagramm der Fig. 14, wird eine Konfiguration einer Codiervorrichtung gemäß einer zweiten Ausführungsform der Erfindung beschrieben. Den Komponenten in Fig. 14, welche dieselben wie oder ähnlich zu jenen in Fig. 2 sind, werden dieselben Bezugsziffern gegeben und die Beschreibungen dafür werden weggelassen. In Fig. 14 teilt ein Teilblock-Unterteilungsabschnitt 34 einen Pixelblock aus m · n Pixeln (m, n: positive ganze Zahlen), der aus einem Bildsignal durch den Blockextraktionsabschnitt 10 extrahiert worden ist, in Teilblöcke von p · q Pixel (p, q: positive ganze Zahlen, die kleiner als m bzw. n sind).
  • Die Arbeitsweise der Codiervorrichtung der zweiten Ausführungsform wird unter Bezugnahme auf die Fig. 15(a) und 15(b) beschrieben.
  • Fig. 15(a) zeigt ein Beispiel, in dem ein Block von 8 · 8 Pixel in Teilblöcke von 4 · 4 Pixel geteilt wird. Der Blockabkürzungscodierabschnitt 30 führt zum Beispiel eine Blockabkürzungscodierung an jedem Teilblock aus.
  • Fig. 15(b) zeigt ein Beispiel codierter Daten, die durch eine binäre Blockabkürzungscodierung erzeugt werden, die auf einer Teilblockgrundlage ausgeführt wird. Für jeden Teilblock bestehen codierte Daten aus zwei repräsentativen Abstufungswerten (2 · 8 Bit) und der Auflösungsinformation (4 · 4 = 16 Bit) für 16 Pixel. Daher beträgt die Codemenge pro Pixelblock 4 · (16 + 16) = 128 Bit.
  • In diesem Fall wird das Kompressionsverhältnis wie folgt berechnet:
  • (Kompressionsverhältnis) = (Datenmenge des ursprünglichen Pixelblocks)/(codierte Datenmenge) = (8 [Pixel] · 8 [Pixel] · 8 [Bit])/128 [Bit] = 4
  • Die restliche Operation wird hier nicht beschrieben, da sie dieselbe wie in der ersten Ausführungsform ist, außer daß ein Schwellenwert von 128 Bit im Codemengen-Beurteilungsabschnitt 50 eingestellt wird. In der zweiten Ausführungsform kann ein Block durch acht repräsentative Abstufungswerte beim Maximum ausgedrückt werden, wobei die Anzahl der Bits kleiner als in der 4-Wert-Blockabkürzungscodierung ist, die für jeden Block von 8 · 8 Pixeln ausgeführt wird, während selbst im schlechtesten Fall ein Kompressionsverhältnis von 4 sichergestellt wird.
  • Die Größe der Teilblöcke ist nicht auf 4 · 4 Pixel begrenzt, und die Blockabkürzungscodierung, die für jeden Teilblock durchgeführt wird, ist nicht auf binär eins beschränkt.
  • Ausführungsform 3
  • Bezugnehmend auf ein Blockdiagramm der Fig. 16, wird eine Konfiguration einer Codiervorrichtung gemäß einer dritten Ausführungsform der Erfindung beschrieben. Den Komponenten in Fig. 16, welche dieselben oder ähnlich zu jenen in den Fig. 2 und 14 sind, werden dieselben Bezugsziffern gegeben und die Beschreibungen dafür werden weggelassen.
  • Fig. 17 zeigt eine Konfiguration eines Abschnitts 24a zur Codierung mit variabler Länge, der in Fig. 16 gezeigt wird. In Fig. 17 beurteilt ein Null-Beurteilungsabschnitt 80, ob ein quantisierter Eingabekoeffizient null ist oder nicht. Ein Null- Lauf-Zähler 81 führt eine Zähloperation durch, um die Länge aufeinanderfolgender Null-Koeffizienten zu bestimmen. Ein Gruppenzahl-Bestimmungsabschnitt 82 bestimmt eine Gruppenzahl eines von null verschiedenen Koeffizienten. Ein Codewort- Bestimmungsabschnitt 83 bestimmt eine Bitsequenz, die aus einem Code variabler Länge besteht, der einem Eingabenull-Lauf und der Gruppenzahl und zusätzlichen Bits entspricht. Codes mit variabler Länge werden in eine Codetabelle 84 eingetragen. Ein Schaltabschnitt 85 schaltet zwischen der Ausgabe des Codewort- Bestimmungsabschnitts 83 und EOB (Ende des Blocks, d. h. einem Blockbeendigungscode) gemäß einem Befehl um. Ein Multiplexabschnitt 86 multiplext die Ausgabe des Schaltabschnitts 85.
  • Die Arbeitsweise der Codiervorrichtung der dritten Ausführungsform wird unter Bezugnahme auf die Fig. 16 und 17 beschrieben. Beschreibungen für dieselben Operationen wie in der ersten und zweiten Ausführungsform werden weggelassen.
  • In Fig. 17 werden quantisierte Koeffizienten durch den Abtastungsumwandlungsabschnitt 23 in einer Zickzackabtastungsordnung umgeordnet und dann im Null-Beurteilungsabschnitt 80 einer Null-/Nicht-Null-Beurteilung unterzogen. Die Länge aufeinanderfolgender quantisierter Koeffizienten wird durch den Null-Laufzähler 81 durch seine Zähloperation bestimmt. Eine Gruppenzahl eines von Null verschiedenen Koeffizienten wird durch den Gruppenzahl-Bestimmungsabschnitt 82 bestimmt, und zusammen mit zusätzlichen Bits ausgegeben.
  • Im Codewort-Bestimmungsabschnitt 83 wird ein variables Codewort gelesen, das einer Eingabe-Null-Lauf-Länge entspricht, und eine Gruppenzahl wird aus der Codetabelle 84 gele sen, und es wird eine Bitsequenz erzeugt, die aus dem Code variabler Länge und den zusätzlichen Bits besteht. Die Länge der Bitsequenz wird als eine Codegröße ausgegeben. Die Bitsequenz wird über einen Schaltabschnitt 85 und den Multiplexabschnitt 86 dem Puffer 25 für Code mit variabler Länge zugeführt und darin gespeichert.
  • Bezugnehmend auf Fig. 16, werden Codegrößen gezählt, d. h. durch einen Codemengenzähler 40 akkumuliert. Der Codemengenzähler 40 wird für jeden Pixelblock rückgesetzt. Unter fortlaufender Überwachung des Akkumulationswertes des Codemengenzählers 40 liefert ein Beendigungsbeurteilungsabschnitt 51 ein Zwangsbeendigungssignal an den Abschnitt 24a zur Codierung mit variabler Länge, wenn der Akkumulationswert einen vorbestimmten Schwellenwert überschreitet. Zum Beispiel ist der vorbestimmte Schwellenwert die Größe der Codes, die durch den Blockabkürzungscodierabschnitt 30 erzeugt werden, minus der Länge des EOB.
  • Das heißt, wenn der Akkumulationswert der Codemengen den Schwellenwert durch Addition einer neuen Bitsequenz überschreitet, die durch den Codewort-Bestimmungsabschnitt 83 erzeugt wird, bewirkt das Zwangsbeendigungssignal, daß der Schaltabschnitt 85 so geschaltet wird, daß er EOB anstelle der Bitsequenz auswählt, und die Ein-Block-Codieroperation wird beendet.
  • Während der Schaltabschnitt 85 das Ausgeben von Codes nach dem Ausgeben von EOB stoppt, fährt der Codewort-Bestimmungsabschnitt 83 damit fort, Codeworte für die restlichen quantisierten Koeffizienten zu bestimmen. Der Codemengenzähler 40 fährt fort, Codegrößen zu akkumulieren, die vom Codewort-Bestimmungsabschnitt 83 abgegeben werden, um schließlich die Gesamtmenge an Codes zu bestimmen, die allen quantisierten Koeffizienten des einen Pixelblocks zugewiesen werden.
  • Durch Vergleichen der Gesamtmenge an Codes mit einem vorbestimmten Schwellenwert gibt der Codemengen-Beurteilungsabschnitt 50 ein Vergleichsergebnis als Unterscheidungsinformation aus.
  • Zum Beispiel wird der Schwellenwert TH größer als eine Menge C (Konstante) an Codes eingestellt, die durch die Blockabkürzungscodierung erzeugt werden. Nimmt man an, daß V eine Gesamtmenge an Codes bezeichnet, die im Abschnitt 24a zur Codierung mit variabler Länge ursprünglich den gesamten quantisierten Koeffizienten eines Blocks zugewiesen werden sollen, dann wird die Operation der Auswahlvorrichtung 60 wie folgt eingestellt:
  • V ≤ C: Wähle Codes aus, die durch die Quadratur-Transformationscodierung erzeugt werden.
  • C < V &le; TH: Wähle Codes aus, die durch die Quadratur-Transformationscodierung mit einer Zwangsbeendigung erzeugt werden, um zu verhindern, daß die Gesamtcodemenge C überschreitet.
  • TH < V: Wähle Codes aus, die durch die Blockabkürzungscodierung erzeugt werden.
  • Beruhend auf der obigen Einstellung versorgt der Codemengen-Beurteilungsabschnitt 50 in derselben Weise, wie in der ersten Ausführungsform, die Auswahlvorrichtung 60 mit einer Unterscheidungsinformation, die auf 0 gesetzt wird, wenn codierte Daten, die im Puffer 25 für Code mit variabler Länge gespeichert sind, ausgewählt werden sollen, und 1 ist, wenn codierte Daten, die im Puffer 33 für Code mit fester Länge gespeichert sind, ausgewählt werden sollen. Die Unterscheidungsinformation wird auch an den Speicherabschnitt 70 geliefert und darin gespeichert.
  • Der Schwellenwert TH wird bestimmt, indem die Bildqualität eines Pixelblocks, der ursprünglich eine Codemenge V (C < V &le; TH) der Quadratur-Transformationscodierung aufweisen sollte, jedoch einer Zwangsbeendigung unterworfen wird, um zu verhindern, daß die Gesamtcodemenge C überschreitet, und die Bildqualität des Pixelblocks verglichen wird, der reproduziert wird, nachdem er der Blockabkürzungscodierung unterzogen wird.
  • Mit der obigen Konfiguration und Operation kann die dritte Ausführungsform zusätzlich zu den Vorteilen der ersten und zweiten Ausführungsform einen verbesserten Freiheitsgrad des Umschaltens zwischen der Quadratur-Transformationscodierung und der Blockabkürzungscodierung entsprechend einem ursprünglichen Dokument bereitstellen.
  • Wie oben beschrieben, wird erfindungsgemäß ein Pixelblock durch die beiden Codierverfahren zur selben Zeit codiert, d. h. durch das erste Codierverfahren zum Erzeugen von codierten Daten mit variabler Länge und dem zweiten Codierverfahren zum Erzeugen von codierten Daten mit fester Länge. Wenn die Menge codierter Daten, die durch das erste Codierverfahren erzeugt wird, größer als die Menge codierter Daten ist, die durch das zweite Codierverfahren erzeugt wird, werden die letztgenannten codierten Daten eingesetzt. Daher wird für jeden Eingabepixelblock sichergestellt, daß das Kompressionsverhältnis größer als jenes des zweiten Codierverfahren ist.
  • Wenn umgekehrt die Menge codierter Daten, die durch das erste Codierverfahren erzeugt wird, kleiner als die Menge codierter Daten ist, die durch das zweite Codierverfahren erzeugt wird, werden die erstgenannten codierten Daten eingesetzt. Daher ist die Codiermethode der Erfindung effizienter als der Fall, das zweite Codierverfahren auf das gesamte Bild anzuwenden.
  • Wenn ferner erfindungsgemäß die Menge codierter Daten, die durch das erste Codierverfahren erzeugt wird, größer als die Menge codierter Daten ist, die durch das zweite Codierverfahren erzeugt wird, und wenn die Menge der codierten Daten, die durch das erste Codierverfahren erzeugt wird, kleiner als der vorbestimmte Schwellenwert ist, wird die Ausgabe der codierten Daten, die durch das erste Codierverfahren erzeugt werden, zwangsweise gestoppt, so daß die Menge ausgegebener codierter Daten nicht die Menge der codierten Daten überschreitet, die durch das zweite Codierverfahren erzeugt wird. Daher kann der Freiheitsgrad des Umschaltens zwischen dem ersten Codierverfahren und dem zweiten Codierverfahren entsprechend einem ursprünglichen Dokument oder einem erforderlichen Niveau der Bildqualität verbessert werden.

Claims (8)

1. Bildsignalcodiervorrichtung, umfassend:
ein Blockextrahiermittel (100) zum Extrahieren eines Pixelblocks von m · n Pixeln von einem Bildsignal, wobei m und n positive ganze Zahlen sind;
ein erstes Codiermittel (20) zum Codieren des extrahierten Pixelblocks in codierte Daten mit variabler Länge, das einen Codier- und Bestimmungsabschnitt (83) zum Erzeugen einer Bitfolge, die aus codierten Daten mit variabler Länge und zusätzlichen Bits besteht, umfasst;
ein zweites Codiermittel (30) zum Codieren des extrahierten Pixelblocks in codierte Daten mit fester Länge einer vorbestimmten Codemenge (C);
ein Codemengen-Zählmittel (40) zum Zählen von Codewortlängen der codierten Daten mit variabler Länge, um eine akkumulierte Zwischencodemenge und eine akkumulierte Codemenge des Pixelblocks zu bestimmen;
ein Codemengen-Beurteilungsmittel (50) zum Vergleichen der akkumulierten Codemenge mit einem ersten Schwellenwert (TH) und zum Vergleichen der Zwischencodemenge mit einem zweiten Schwellenwert und Ausgeben eines Vergleichsergebnisses als Unterscheidungsinformation;
ein Auswahlmittel (60) zum Auswählen der codierten Daten (V) mit variabler Länge, wenn die Unterscheidungsinformation anzeigt, daß die Codemenge des Pixelblocks kleiner als der erste Schwellenwert (TH) ist, und Auswählen der codierten Daten mit fester Länge, wenn die Untscheidungsinformation anzeigt, daß die Codemenge des Pixelblocks größer als der erste Schwellenwert (TH) ist,
Speichermittel (70) zum Speichern der ausgewählten codierten Daten und der Unterscheidungsinformation in einer korrelierten Weise;
dadurch gekennzeichnet, daß die Vorrichtung weiterhin umfaßt:
ein Beendigung-Beurteilungsmittel (51) zum Abbrechen eines Codiervorgangs der ersten Codiermittel (20), wenn die Zwischencodemenge den zweiten Schwellenwert erreicht und die Codemenge des Pixelblocks kleiner als der erste Schwellenwert (TH) ist; und
ein Schaltmittel (85), das durch ein zwingendes Beendigungsignal geschaltet wird, um ein Blockende (EOB) anstelle einer neuen Bitsequenz zu wählen, das den Einzelblockcodiervorgang beendet, wenn durch Addition der neuen Bitsequenz die akkumulierte Zwischencodemenge den zweiten Schwellenwert überschreitet.
2. Bildsignalcodiervorrichtung nach Anspruch 1, weiterhin umfassend:
ein Beendigungsbeurteilungsmittel zum Vergleichen der Zwischencodemenge mit einem dritten Schwellenwert und zum Beurteilen, basierend auf einem Vergleichsergebnis, ob ein Codiervorgang des ersten Codiermittels (20) angebrochen werden soll.
3. Bildsignalcodiervorrichtung nach Anspruch 1 oder 2, das weiterhin umfaßt:
ein Teilungsmittel, das netzaufwärts des zweiten Codiermittels (30) für ein Teilen des Pixelblocks von m · n Pixeln in Unterblöcke vorgesehen ist, die jeder p · q Pixel einschließen, wobei p und q positive ganze Zahlen sind, die kleiner als m bzw. n sind.
4. Bildsignalcodiervorrichtung nach Anspruch 1, wobei der erste Schwellenwert (TH) größer oder gleich der Codemenge der codierten Daten mit fester Länge eines Pixelblocks ist.
5. Bildsignalcodiervorrichtung nach Anspruch 1, wobei der zweite Schwellenwert kleiner als die Codemenge der codierten Daten mit fester Länge eines Pixelblocks ist.
6. Bildsignalcodiervorrichtung nach Anspruch 2, wobei der dritte Schwellenwert kleiner oder gleich einer Codemenge der codierten Daten mit fester Länge eines Pixelblocks ist.
7. Bildsignalcodiervorrichtung nach Anspruch 1 oder 2, wobei das erste Codiermittel (20) ein Quadratur-Transformiercodieren durchführt.
8. Bildsignalcodiervorrichtung nach Anspruch 1 oder 2, wobei das zweite Codiermittel (30) ein Blockabkürzungscodieren durchführt.
DE69517283T 1994-10-18 1995-04-19 Bildsignalkodierungsvorrichtung die zwischen variabler Längenkodierung und fester Längenkodierung wechselt Expired - Fee Related DE69517283T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25222094A JPH08116447A (ja) 1994-10-18 1994-10-18 画像信号の符号化装置

Publications (2)

Publication Number Publication Date
DE69517283D1 DE69517283D1 (de) 2000-07-06
DE69517283T2 true DE69517283T2 (de) 2001-01-25

Family

ID=17234187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69517283T Expired - Fee Related DE69517283T2 (de) 1994-10-18 1995-04-19 Bildsignalkodierungsvorrichtung die zwischen variabler Längenkodierung und fester Längenkodierung wechselt

Country Status (4)

Country Link
US (1) US5801841A (de)
EP (1) EP0708551B1 (de)
JP (1) JPH08116447A (de)
DE (1) DE69517283T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3992303B2 (ja) * 1995-06-22 2007-10-17 ソニー株式会社 信号圧縮装置と信号伸長装置および信号圧縮方法と信号伸長方法
JPH09168150A (ja) * 1995-10-09 1997-06-24 Fujitsu Ltd 固定長セル取扱式画像通信方法並びに固定長セル取扱式画像通信用送信装置及び固定長セル取扱式画像通信用受信装置
US6538771B1 (en) * 1997-01-21 2003-03-25 Minolta Co., Ltd. Image processor
JPH10271299A (ja) * 1997-03-27 1998-10-09 Ricoh Co Ltd デジタル複合機
JP4531871B2 (ja) * 1997-10-30 2010-08-25 富士通セミコンダクター株式会社 画像情報処理装置及び符号装置
JP3747643B2 (ja) 1998-08-07 2006-02-22 コニカミノルタホールディングス株式会社 傾き補正装置及び画像読取装置
WO2000030360A1 (en) * 1998-11-16 2000-05-25 Conexant Systems, Inc. Fixed rate data compressor
KR100856398B1 (ko) * 2000-05-17 2008-09-04 삼성전자주식회사 복수 매핑 테이블을 이용한 가변장 부호화 및 복호화방법과 그 장치
JP3873139B2 (ja) * 2000-06-09 2007-01-24 株式会社日立製作所 表示装置
JP2002112268A (ja) * 2000-09-29 2002-04-12 Toshiba Corp 圧縮画像データ復号装置
US6696992B1 (en) * 2001-10-02 2004-02-24 Allan Chu Efficient data encoding and decoding processes
US7209266B2 (en) * 2002-12-06 2007-04-24 Kabushiki Kaisha Toshiba Image processing apparatus
CN100484245C (zh) * 2004-09-29 2009-04-29 华为技术有限公司 一种变长码编解码方法
KR100775872B1 (ko) 2004-10-13 2007-11-13 한국전자통신연구원 LASeR 이진 표현의 포인트 시퀀스 부호화/복호화 방법및 장치
KR20060032944A (ko) * 2004-10-13 2006-04-18 한국전자통신연구원 LASeR 이진 표현의 포인트 시퀀스 부호화 방법 및 장치
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
KR100723505B1 (ko) * 2005-10-06 2007-05-30 삼성전자주식회사 하이브리드 방식의 영상 데이터 처리 시스템 및 영상데이터 처리 방법
JP2007312126A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 画像処理回路
US20070290899A1 (en) * 2006-06-19 2007-12-20 Donald Martin Monro Data coding
JP2008259173A (ja) * 2007-03-12 2008-10-23 Seiko Epson Corp 画像データ復号化装置、画像処理装置及び電子機器
JP2010134700A (ja) * 2008-12-04 2010-06-17 Toshiba Corp 画像評価装置および画像評価方法
US8989275B2 (en) * 2010-11-10 2015-03-24 Qualcomm Incorporated Video processing architecture
JP5761007B2 (ja) * 2011-12-20 2015-08-12 富士通株式会社 情報処理装置、画像送信方法及び画像送信プログラム
JP6196117B2 (ja) * 2013-10-08 2017-09-13 株式会社東芝 画像符号化装置及び画像復号装置
WO2017016526A1 (en) 2015-07-30 2017-02-02 Zhejiang Dahua Technology Co., Ltd. Methods and systems for image compression
TWI601410B (zh) * 2016-01-11 2017-10-01 晨星半導體股份有限公司 視訊串流解碼方法及視訊串流解碼系統
US10798419B2 (en) * 2018-11-19 2020-10-06 Sony Corporation Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675211A (en) * 1970-09-08 1972-07-04 Ibm Data compaction using modified variable-length coding
US3701108A (en) * 1970-10-30 1972-10-24 Ibm Code processor for variable-length dependent codes
JPS5411614A (en) * 1977-06-27 1979-01-27 Nec Corp Code conversion unit for digital signal
JPS63306768A (ja) * 1987-06-08 1988-12-14 Fujitsu Ltd 画像符号化方式
JPH03145223A (ja) * 1989-10-30 1991-06-20 Toshiba Corp 可変長符号復調装置
US5291303A (en) * 1990-01-16 1994-03-01 Canon Kabushiki Kaisha Facsimile apparatus
US5166987A (en) * 1990-04-04 1992-11-24 Sony Corporation Encoding apparatus with two stages of data compression
US5136290A (en) * 1990-06-18 1992-08-04 Bond James W Message expansion decoder and decoding method for a communication channel
ES2143137T3 (es) * 1990-12-28 2000-05-01 Canon Kk Codificacion de imagenes con optimizacion de la cantidad de codigo generada.
GB2260459B (en) * 1991-10-04 1995-03-29 Sony Broadcast & Communication Serial data decoder
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
JP3093458B2 (ja) * 1992-07-23 2000-10-03 株式会社東芝 可変レート符・復号化装置
JPH06153172A (ja) * 1992-10-30 1994-05-31 Hitachi Ltd 符号量制御方式
JP3190755B2 (ja) * 1993-01-22 2001-07-23 株式会社東芝 復号装置
TW238459B (en) * 1993-12-21 1995-01-11 Ind Tech Res Inst Encoder
TW233394B (en) * 1994-04-29 1994-11-01 Ind Tech Res Inst Variable length decoder

Also Published As

Publication number Publication date
US5801841A (en) 1998-09-01
EP0708551B1 (de) 2000-05-31
JPH08116447A (ja) 1996-05-07
DE69517283D1 (de) 2000-07-06
EP0708551A3 (de) 1996-10-16
EP0708551A2 (de) 1996-04-24

Similar Documents

Publication Publication Date Title
DE69517283T2 (de) Bildsignalkodierungsvorrichtung die zwischen variabler Längenkodierung und fester Längenkodierung wechselt
DE69132017T2 (de) Kodierungsvorrichtung
DE69322713T2 (de) Vorrichtung zur orthogonalen Transformationskodierung und -dekodierung
DE69225859T2 (de) Orthogonaltransformationskodierer
DE69016880T2 (de) Transformationskodierungsgerät.
DE69028221T2 (de) System zum Steuern einer Menge kodierter Ausgangsdaten
DE69125329T2 (de) Kodiervorrichtung für digitale Bilddaten
DE69324743T2 (de) Vorrichtung und Verfahren zur Bildsignalkodierung
DE68925281T2 (de) Verfahren zur Hochqualitätskomprimierung von binären Textbildern
DE69321896T2 (de) Gerät und Verfahren zur Verarbeitung von digitalen Bildsignalen
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69225621T2 (de) Vorrichtung zur Kodierung eines Videosignals
DE3751416T2 (de) Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms.
EP0201679B1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE3750853T2 (de) Verfahren zur Bildsignalkodierung mittels Orthogonal-Transformation.
DE69126512T2 (de) Bildcodierungsgerät mit Optimierung der erzeugten Codemenge
DE3854846T2 (de) Kodierung eines Bildsignals mit Berücksichtigung des Kontrasts in jedem Bild und Dekodierung analog zur Kodierung
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69213271T2 (de) Kodierung von Videosignalen
DE69130275T2 (de) Verfahren und Gerät zur Bildverarbeitung
DE69032283T2 (de) Bildverarbeitungsgerät
DE69720559T2 (de) Methode zur Bildkodierung mit Kodes variabler Länge
DE3940682C2 (de) Codiervorrichtung und System, bestehend aus einer Codiervorrichtung und einer Decodiervorrichtung für digitale Bilddaten
DE69520411T2 (de) Iterative Kompression digitaler Bilder
DE4242796C2 (de) Hocheffizientes Kodierverfahren für mit Zweipegelbildern vermischte natürliche Bilder

Legal Events

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