DE69227217T2 - Bildkodierung - Google Patents
BildkodierungInfo
- Publication number
- DE69227217T2 DE69227217T2 DE69227217T DE69227217T DE69227217T2 DE 69227217 T2 DE69227217 T2 DE 69227217T2 DE 69227217 T DE69227217 T DE 69227217T DE 69227217 T DE69227217 T DE 69227217T DE 69227217 T2 DE69227217 T2 DE 69227217T2
- Authority
- DE
- Germany
- Prior art keywords
- coding
- image
- level
- encoded
- image signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 46
- 230000015654 memory Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 5
- 238000009792 diffusion process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
- H04N1/648—Transmitting or storing the primary (additive or subtractive) colour signals; Compression thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/417—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
- Diese Erfindung betrifft ein Bildcodiergerät, ein Bildübertragungsgerät und ein Bildablagegerät und andere.
- Um die Effizienz der Bildübertragung oder Bildspeicherung zu erhöhen, sind verschiedene Bildcodierverfahren oder Bildkompressionsverfahren bekannt.
- Diese Verfahren werden generell in die folgenden beiden Kategorien eingeteilt:
- (1) informationerhaltende Codierung und
- (2) information-nichterhaltende Codierung.
- Die informationerhaltende Codierung wird hauptsächlich zur Codierung eines Bildes verwendet, bei dem der Umfang von Daten relativ gering ist, wie beispielsweise binäre Schwarzweißbilder.
- Eine typische informationerhaltende Codierung ist die MH- Codierung oder MR-Codierung, die zur Codierung von binären Schwarzweißbildern für eine Faksimileübertragung verwendet wird.
- Kürzlich ist eine dynamische arithmetische Codiertechnik vorgeschlagen worden, die ein Bild codiert, während in dynamischer Weise eine Pixelprädiktion erfolgt.
- Andererseits wird die alternative, informationnichterhaltende Codierung hauptsächlich zur Codierung eines Bildes verwendet, bei dem der Datenumfang relativ groß ist, wie beispielsweise bei einem Vollfarbbild.
- Ein vorgeschlagenes Codierverfahren, bei dem beispielsweise ein 8-Bit-Signal R, G, B in ein Leuchtdichtesignal und in ein Chrominanzsignal umgesetzt wird, führt eine orthogonale Transformation (eine diskrete Cosinustransformation) bezüglich des umgesetzten Signals aus, quantisiert das transformierte Signal und unterzieht das quantisierte Signal der Huffman- Codierung.
- Dieses Codierverfahren reduziert den Umfang der Bilddaten durch Löschen dreidimensionaler hochfrequenter Bilder und Erhalten der dreidimensionalen niederfrequenten Bilder. Folglich ist dieses Codierverfahren verlustreich und irreversibel. Die Codiertechnik ist effizient, aber sie stellt angesichts der Bildverschlechterung einen Kompromiß dar.
- Ein weiteres Farbbild-Codierverfahren ist im Dokument EP-A-416833 offenbart, bei dem eine Anzahl von Farbkomponentensignalen punktsequentiell eingegeben werden, wobei die Codierbedingungen sequentiell in Bezug auf jedes punktsequentiell einzugebende Farbkomponentensignal bestimmt werden. Jedes sequentiell punktweise einzugebendes Farbkomponentensignal wird gemäß den sequentiell zu bestimmenden Codierbedingungen codiert.
- Die information-nichterhaltende Codiertechnik hat einen Vorteil darin, daß in effizienter Weise ein Halbtonfarbbild mit nur einer geringeren Verschlechterung der Bildqualität codiert werden kann. Es ist jedoch ein Nachteil, daß eine signifikante Bildverschlechterung auftritt, wenn ein Farbbild mit hoher Ortsfrequenz codiert wird, wie beispielsweise Zeichen oder Linienzeichnungen.
- In Hinsicht auf diese Umstände hat der Anmelder der vorliegenden Anmeldung im Dokument U. S. S. N. 577312 (CF07021 US. EP) ein Codierverfahren vorgeschlagen, das ein Farbbild, beispielsweise Zeichen oder Linienzeichnungen, in ein binäres Farbbild umsetzt und dann das binäre Farbbild unter Verwendung der informationerhaltenden Codierung codiert.
- Bei diesem vorgeschlagenen Codierverfahren kann ein Farbbild mit Zeichen oder Linienzeichnungen in effizienter Weise codiert werden, ohne dabei die Qualität des Bildes zu verschlechtern.
- Nicht nur Zeichen oder Linienzeichnungen, sondern auch binäre Farbbilder, die durch Pseudohalbtonverarbeitung gewonnen werden, beispielsweise durch ein Phasenmodulationsverfahren oder ein Fehlerdiffusionsverfahren, können in effizienter Weise ohne Verschlechterung eines Bildes durch Anwenden der informationerhaltenden Codierung codiert werden.
- Wenn ein binäres Farbbild mit der informationerhaltenden Codierung codiert wird, trennt das oben vorgeschlagene Verfahren ein binäres Farbbild in drei Ebenen und codiert jede der drei Ebenen individuell. Drei Ebenen eines binären Farbbildes werden nämlich ebenensequentiell (ebenensequentielle Codierung) codiert.
- Wenn jedoch ein Drucker der Empfängerseite mit der ebenensequentiellen Codierung nicht kompatibel ist, beispielsweise wenn ein Drucker ein punktsequentieller Drucker ist und kein ebenensequentieller Drucker, kann die ebenensequentielle Codierung nicht angewandt werden, es sei denn, die Empfängerseite ist in der Lage, ebenensequentielle Daten in punktsequentielle Daten umzusetzen.
- In Fällen, bei denen ein binäres Farbbild punktsequentiell codiert ist und nicht ebenensequentiell, wenn der Drucker der Empfängerseite ein ebenensequentieller Drucker ist, kann andererseits die punktsequentielle Codierung nicht angewandt werden, es sei denn, daß die Empfängerseite in der Lage ist, punktsequentielle Daten in ebenensequentielle Daten umzusetzen.
- Wenn die Empfängerseite sowohl ebenensequentielle Codierung als auch punktsequentielle Codierung akzeptieren kann, ist es wünschenswert, das binäre Farbbild durch eine effizientere Codiertechnik zu codieren, weil die Effizienz der verschiedenen Codierungen unterschiedlich sind, selbst wenn ein identisches Bild codiert wird.
- Wenn eine Prädiktionscodiertechnik, wie beispielsweise die dynamische arithmetische Codierung, als informationerhaltende Codierung angewandt wird, besteht bei einer binären Farbbilddarstellung eines Zeichens oder Linienzeichnungen eine starke Korrelation zwischen den Ebenen, so daß die Effizienz der Codierung durch Prädiktion eines zu codierenden Bildes unter Bezug auf andere Ebenen ansteigt.
- Ein binäres Farbbild, das durch eine Pseudohalbtonverarbeitung gewonnen wird, wie beispielsweise durch das Fehlerdiffusionsverfahren, hat jedoch eine schwache Korrelation zwischen den Ebenen, so daß die Effizienz der Codierung gleichermaßen sinkt, wenn die Prädiktion unter Bezug auf andere Ebenen ausgeführt wird.
- Ob andere Ebenen herangezogen werden können, muß in Hinsicht nicht nur auf den Inhalt des zu codierenden Bildes entschieden werden, sondern auch auf die Decodierfunktion auf der Empfängerseite.
- Wenn darüber hinaus ein einzelnes Bild sowohl Linienzeichnungen als auch ein Halbtonbild enthält, ist es schwierig, zu entscheiden, welche Codiertechnik effizienter ist, nämlich Beziehen auf andere Ebenen oder nicht. Wenn die Entscheidung, ob auf andere Ebenen Bezug genommen werden kann, ohne einer Bedienperson getroffen wird, kann folglich das binäre Farbbild mit dem bestgeeigneten Codierverfahren codiert werden.
- Die vorliegende Erfindung ist im Lichte der obigen Probleme entstanden und deren Aufgabe ist es, ein Bildcodierverfahren oder ein Gerät zu schaffen, womit in effizienter Weise ein Bild codiert werden kann.
- Nach der vorliegenden Erfindung ist sein Bildcodiergerät vorgesehen, wie es im Patentanspruch 1 angegeben ist.
- Die vorliegende Erfindung schafft auch ein Bildcodiergerät nach Patentanspruch 3.
- Die vorliegende Erfindung schafft auch ein Bildcodierverfahren nach Patentanspruch 10.
- Die vorliegende Erfindung sieht auch ein Bildcodierverfahren nach Anspruch 12 vor. Die vorliegende Erfindung ist geeignet zur Codierung von Farbbildern und kann in effizienter Weise ein Bild ohne manuelle Befehlseingabe codieren.
- Ausführungsbeispiele der Erfindung werden nun beispielhaft anhand der beiliegenden Zeichnung beschrieben.
- Fig. 1 ist ein Blockschaltbild eines Bildcodiergerätes, das die vorliegende Erfindung nutzt;
- Fig. 2A ist eine Zeichnung, die ein Format codierter Daten zeigt;
- Fig. 2B ist ein Arbeitsablaufplan einer Betriebsart- Einstelloperation;
- Fig. 3 ist eine Zeichnung, die die Reihenfolgen der Codieroperationen zeigt;
- Fig. 4 bis 6 sind Zeichnungen, die Bezugspixel zeigen;
- Fig. 7 ist ein Blockschaltbild eines Prädiktionsstatus- Bestimmungsabschnitts;
- Fig. 8 ist ein Blockschaltbild eines Codierers;
- Fig. 9 ist ein Blockschaltbild einer Prädiktionsumsetzungsschaltung;
- Fig. 10 ist ein Blockschaltbild einer Erneuerungsschaltung;
- Fig. 11 ist die Zeichnung zur Darstellung der Codiereffizienzkurve;
- Fig. 12 ist ein Blockschaltbild eines arithmetischen Codierers;
- Fig. 13 ist eine Tabelle, die die Beziehung zwischen der Anzahl von MC und dem Index I darstellt;
- Fig. 14 ist eine Tabelle, die das Ausgangssignal der Prädiktionsumsetzungsschaltung zeigt;
- Fig. 15 ist eine Tabelle, die die Erneuerungsoperation von Index I zeigt;
- Fig. 16 ist eine Tabelle, die die Auswahl einer Effektivitätswahrscheinlichkeit zeigt;
- Fig. 17A ist ein Blockschaltbild eines weiteres Ausführungsbeispiels eines Bildcodiergerätes;
- Fig. 17B ist ein Blockschaltbild eines weiteren Prädiktionsstatus-Bestimmungsabschnitts;
- Fig. 17C und 17D sind Zeichnungen, die Bezugspixel zeigen;
- Fig. 18 ist ein Blockschaltbild eines weiteren Ausführungsbeispiels eines Bildcodiergerätes;
- Fig. 19 ist ein Blockschaltbild eines weiteren Ausführungsbeispiels eines Bildcodiergerätes;
- Fig. 20 ist ein Arbeitsablaufplan einer Einstelloperation der Betriebsart.
- Fig. 1 zeigt ein Blockschaltbild eines Bildcodiergerätes, auf das die vorliegende Erfindung angewandt ist.
- Ein Farbbild-Eingabeabschnitt 20 ist beispielsweise ein Farbscanner, der ein Farbbild unter Verwendung eines CCD-Sensors abtastet und ein Mehrbit-Farbbildsignal bereitstellt, das das Vollfarbbild darstellt. Die Mehrbit-Farbbildsignale bestehen aus 8 Bit Rot-(R-) Daten 101, 8 Bit Grün-(G-) Daten 102 und 8 Bit Blau-(B-) Daten 103.
- Der Farbbild-Eingabeabschnitt 20 kann auch ein Hauptcomputers ein, eine Videokamera oder irgendeine geeignete Bilddaten-Erzeugungseinrichtung.
- Ein binäres Farbcodiersystem besteht aus einem Quantisierungsabschnitt 21, einem binären Farbbild- Speicherabschnitt 22, einem Prädiktionsstatus- Bestimmungsabschnitt 23 und einem dynamischen arithmetischen Codierabschnitt 24.
- Der Quantisierungsabschnitt 21 setzt die acht Bits oder die R-Daten 101, G-Daten 102 und B-Daten 103 in 1-Bit-R-Daten 104, 1-Bit-G-Daten 105 beziehungsweise 1-Bit-B-Daten 106 um.
- Der binäre Farbbild-Speicherabschnitt 22 speichert die binären R-, G-, B-Daten 104, 105, 106 für jede Dreifarb- Bitebene. Nach Abschluß der Eingabe der zu codierenden R-, G-, B-Daten in den binären Farbbild-Speicherabschnitt 22 werden binäre Farbsignale R107, G108 und B109 an den Prädiktionsstatus- Bestimmungsabschnitt 23 geliefert.
- Der Prädiktionsstatus-Bestimmungsabschnitt 23 bestimmt den Prädiktionsstatus, der zu Codieroperationen durch den dynamischen arithmetischen Codierabschnitt 24 verwendet wird.
- Der Prädiktionsstatus-Bestimmungsabschnitt 23 stellt den Status (1 oder 0) von jedem von N Pixeln fest, die bereits um das zu codierende Pixel codiert worden sind, und erkennt eine spezielle von 2 N möglichen Statusformen. Das Erkennungsergebnis wird an den dynamischen arithmetischen Codierabschnitt 24 als ein Prädiktionsstatussignal 5116 geliefert. Zur selben Zeit liefert der Prädiktionsstatus-Bestimmungsabschnitt 23 ein den Status (1 oder 0) des darstellenden Pixelsignals vom zu codierenden Pixel X117 an den dynamischen arithmetischen Codierabschnitt 24.
- Der dynamische arithmetische Codierabschnitt 24 codiert das Pixelsignal X117 unter Verwendung eines arithmetischen Codes. Der dynamische arithmetische Codierabschnitt 24 klassifiziert nämlich den Status von N Pixeln in 2 N Statusformen auf der Grundlage des Statussignals S116 und führt die arithmetische Codierung während der dynamischen Prädiktion des Status (1 oder 0) des zu codierenden Pixels gemäß dem klassifizierten Status aus.
- Kopfdaten werden den codierten Daten durch einen Codiersteuerabschnitt 30 hinzugefügt, und die codierten Daten werden zum digitalen Netz, beispielsweise ISDN, durch einen Kommunikations-Verarbeitungsabschnitt 31 zugeführt. Das vom Kommunikations-Verarbeitungsabschnitt 31 ausgeführte Protokoll folgt demjenigen der G4-Faksimileübertragung.
- Der Quantisierungsabschnitt 21 ist eingerichtet, in selektiver Weise entweder mit einem einfachen Binärumsetzprozessor einen Halbtonprozeß, wie beispielsweise einen Phasenmodulationsprozeß, oder einen Fehlerdiffusionsprozeß auszuführen, die beide zum Stand der Technik gehören.
- Ein Betriebsart-Einstellabschnitt 32 ist beispielsweise auf einem Bedienabschnitt eines Bildverarbeitungsgerätes vorgesehen, um einen Codierbetrieb einzustellen. Der Betriebsart- Einstellabschnitt 32 verfügt über vier Tasten zur Einstellung einer Codierart. Taste 501 wird verwendet zur Einstellung eines punktsequentiellen Codierbetriebs. Taste 502 wird verwendet zur Einstellung eines ebenensequentiellen Codierbetriebs. Taste 503 wird betätigt, wenn ein zu codierendes Bild ein Linientonbild ist, und Taste 504 wird betätigt, wenn ein zu codierendes Bild ein Halbtonbild ist.
- Fig. 2A zeigt die Kopfdaten, die den codierten Daten vom Codiersteuerabschnitt 30 gemäß der eingestellten Codierart vom Betriebsart-Einstellabschnitt 32 hinzugefügt werden.
- Daten 201 bis 206 sind jeweils acht Bits der Kopfdaten, und Daten 207 sind codierte Daten (Bitstrom).
- Daten 201 bis 205 stellen Codierarten dar, Daten 201 stellen eine Anzahl von Pixeln in X-Richtung, und Daten 202 stellen eine Anzahl von Zeilen in Y-Richtung dar. Daten 20 stellen eine Anzahl von Ebenen des zu codierenden Bildes dar (in diesem Ausführungsbeispiel besteht das Bild aus den Ebenen R, G, B, das heißt, p = 3). Datenwert 204 ist ein O-Kennzeichen, das anzeigt, ob die Codieroperation punktsequentiell oder ebenensequentiell ausgeführt wird. Datenwert 205 ist ein R-Kennzeichen, das anzeigt, ob andere Ebenen als die zu codierende Ebene als Bezug dienen können. Datenwert 206 ist ein Optionskennzeichen, beispielsweise eine Art von Binärumsetzvorgang oder eine Information zur Farbverarbeitung und kann durch dieses Optionskennzeichen bezeichnet sein.
- In diesem Ausführungsbeispiel kann der Codierbetrieb in vier Arten durch die Kombination des O-Kennzeichens mit dem R- Kennzeichen ausgedrückt werden.
- Fig. 2B ist ein Arbeitsablaufplan, der die Arbeitsweise des Codiersteuerabschnitts 30 gemäß dem Befehl aus dem Betriebsart- Einstellabschnitt 32 zeigt.
- Eine Bedienperson wählt entweder die punktsequentielle Codierart oder die ebenensequentielle Codierart aus, indem er die Taste 501 oder die Taste 502 des Betriebsart- Einstellabschnitts 32 betätigt. Diese Auswahl geschieht gemäß der Funktion des Druckers, nämlich ob es sich um einen punktsequentiellen Drucker oder einen ebenensequentiellen Drucker handelt.
- Die Bedienperson zeigt auch Eigenschaften eines zu codierenden Bildes an, nämlich ein Linientonbild oder ein Halbtonbild.
- Der Codiersteuerabschnitt 30 steuert das O-Kennzeichen und das R-Kennzeichen gemäß der Betätigung der Taste 501 bis 504.
- In Fig. 2B selektiert der Codiersteuerabschnitt 30, ob die punktsequentielle Codierart oder die ebenensequentielle Codierart ausgewählt ist (Schritt 601).
- Wenn der punktsequentielle Betrieb ausgewählt ist, selektiert der Codiersteuerabschnitt 30, ob das zu codierende Bild ein Linientonbild oder ein Halbtonbild ist (Schritt 602).
- Wenn das Bild ein Linientonbild ist, wird das R-Kennzeichen, das anzeigt, daß andere Ebenen als die zu codierenden Ebenen als Bezug dienen können, auf "1" gesetzt (Schritt 603). Da ein Linientonbild eine starke Korrelation unter seinen Ebenen besitzt und besser ist als die Codierung, die mit Bezug auf andere Ebenen ausgeführt wird. In Schritt 603 wird das O- Kennzeichen, das die punktsequentielle Codierart anzeigt, auf "1" gesetzt.
- Wenn andererseits das Bild ein Halbtonbild ist, wird das R- Kennzeichen auf "0" gesetzt (Schritt 604). Da ein Halbtonbild keine starke Korrelation zwischen seinen Ebenen besitzt, ist es nicht erforderlich, sich auf andere Ebenen zu beziehen. In Schritt 604 wird das O-Kennzeichen auf "1" gesetzt.
- Wenn in Schritt 601 die ebenensequentielle Codierart ausgewählt ist, selektiert der Codiersteuerabschnitt 30, ob das zu codierende Bild ein Linientonbild oder ein Halbtonbild ist (Schritt 605).
- Wenn das Bild ein Linientonbild ist, wird das O-Kennzeichen auf "0" gesetzt, und das R-Kennzeichen wird auf "1" gesetzt, um die ebenensequentielle Codierung unter Bezug auf andere Ebenen auszuführen (Schritt 606).
- Wenn das Bild ein Halbtonbild ist, wird zur Ausführung der ebenensequentiellen Codierung ohne Bezug auf andere Ebenen das O-Kennzeichen auf "0" gesetzt und das R-Kennzeichen auf "0" (Schritt 607).
- Wenn der Empfänger jedoch nicht die Funktion der Decodierung der codierten Daten durch Bezug auf andere Ebenen besitzt, wird das R-Kennzeichen immer auf "0" gesetzt, nicht auf Bezug zu anderen Ebenen, unabhängig vom Inhalt des zu codierenden Bildes.
- Anstelle der Tasten 503, 504 kann folglich eine weitere Taste zur willkürlichen Auswahl einer der Codierarten unter Bezug auf andere Ebenen oder Codierarten vorgesehen sein, die sich nicht auf andere Ebenen beziehen.
- Fig. 3 zeigt die Reihenfolge der Codierprozesse, die durch das O-Kennzeichen ausgedrückt sind. Die Marke * in der Figur ist im zu codierenden Pixel gezeigt.
- Fig. 3(a) zeigt den Befehl zur ebenensequentiellen Codierung (das O-Kennzeichen = 0) und Fig. 3(b) zeigt den Befehl der punktsequentiellen Codierung (das O-Kennzeichen = 1).
- Im Falle der in Fig. 3(a) gezeigten ebenensequentiellen Codierung werden Codieroperationen für jede Ebene ausgeführt. Zuerst werden Pixel einer ersten Ebene pixelweise in einer Rasterart codiert (in diesem Ausführungsbeispiel R-Ebene). Eine Vielzahl von Rhomben zeigen Bezugspixel.
- Nachdem alle Pixel der ersten Ebene codiert worden sind, werden die Pixel der zweiten Ebene (G-Ebene) in Rasterform codiert. Letztlich werden alle Pixel auf der dritten Ebene (B- Ebene) in gleicher Weise wie die codierten Daten 207 ausgegeben.
- Im Falle der in Fig. 3(b) gezeigten punktsequentiellen Codierung werden eine Vielzahl von Pixeln mit derselben Position auf jeder Ebene nacheinander codiert. Zuerst wird ein Pixel der ersten Ebene (R-Ebene) codiert, und dann wird ein Pixel an derselben Stelle auf der zweiten Ebene (G-Ebene) codiert.
- Letztlich wird ein Pixel an derselben Stelle auf der dritten Ebene (B-Ebene) codiert. Danach wird das nächste Pixel auf der ersten, zweiten und dritten Ebene in gleicher Weise codiert.
- Wie zuvor zu diesem Ausführungsbeispiel beschrieben, kann entweder die ebenensequentielle Codierung oder die punktsequentielle Codierung durch Auswahl unter Verwendung des O-Kennzeichens ausgeführt werden.
- Die Position der Bezugspixel, die sich auf die Prädiktion des Status beziehen, wird nun beschrieben.
- Es wird entschieden, ob die anderen Ebenen sich auf das R- Kennzeichen beziehen.
- Fig. 4 zeigt die Position von Bezugspixeln. Sowohl in der ersten, zweiten als auch in der dritten Ebene wird Bezug auf 12 Pixel genommen, die bereits um das zu codierende Pixel herum codiert worden sind, die durch die Markierung * gekennzeichnet sind.
- Wenn die Position der in Fig. 4 gezeigten Bezugspixel durch das R-Kennzeichen (R-Kennzeichen = 0) angezeigt ist, wird die Codierverarbeitung in der in Fig. 3(a) gezeigten Reihenfolge ausgeführt, wobei die ebenensequentielle Codierung vom O- Kennzeichen (O-Kennzeichen = 0) ausgewählt wird, und die Codierverarbeitung wird in der in Fig. 3(b) gezeigten Reihenfolge ausgeführt, wobei die punktsequentielle Codierung durch das O-Kennzeichen (O-Kennzeichen = 1) ausgewählt ist. In beiden Codiervorgängen ist die Anzahl der Bezugspixel gleich 12, und so wird die Prädiktionsstatuszahl auf die Potenz von 12 angehoben.
- Fig. 5 zeigt die Position von Bezugspixeln, in denen auf andere Ebenen bei der ebenensequentiellen Codierung (O- Kennzeichen = 0, R-Kennzeichen = 1) Bezug genommen wird. Die Diagonallinienpixel sind Bezugspixel für jede Ebene.
- Bei der Codierung der ersten Ebene wird Bezug auf keine andere Ebene genommen, weil die anderen Ebenen noch nicht codiert sind. Folglich wird Bezug genommen auf die bereits codierten 12 Pixel um das zu codierende Pixel herum, und die Prädiktionsstatuszahl wird auf die Potenz von 12 angehoben, und alle Pixel auf der ersten Ebene werden in einer Rasterart codiert.
- Bei der Codierung der zweiten Ebene kann auf beliebige Pixel der ersten Ebene Bezug genommen werden, weil die erste Ebene bereits codiert ist. Ein Pixel an derselben Stelle auf der ersten Ebene als zu codierendes Pixel auf der ersten Ebene wird Bezug genommen, wodurch die Codiereffizienz verbessert wird. Bezug genommen wird auf die 12 bereits codierten Pixel auf derselben Ebene, und ein Pixel auf derselben Stelle der ersten Ebene. Folglich wird die Prädiktionszahl um 2 erhöht auf die Potenz von 13.
- Während der Codierung der dritten Ebene nach Codieren der zweiten Ebene wird Bezug genommen auf die 12 bereits codierten Pixel auf der dritten Ebene und die beiden Pixel an derselben Stelle auf der ersten und der zweiten bereits codierten Ebene. Folglich ist die Anzahl von Bezugspixeln gleich 14, und die Prädiktionsstatuszahl wird auf die Potenz von 14 erhöht.
- Wenn alle Pixel auf der dritten Ebene codiert worden sind, ist der gesamte Codiervorgang abgeschlossen.
- Fig. 6 zeigt die Position von Bezugspixeln, wenn andere Ebenen während der punktsequentiellen Codierung den Bezug bilden (O-Kennzeichen = 1, R-Kennzeichen = 1).
- Die Reihenfolge des Codiervorgangs ist die in Fig. 3(b) gezeigte. Bei der Codierung jeder Ebene können andere Ebenen den Bezug bilden, weil Pixel an derselben Stelle und Pixel um die zu codierenden Pixel für jede Ebene in paralleler Weise geliefert werden.
- Während der Codierung der ersten Ebene sind Pixel auf der zweiten und dritten Ebene an derselben Stelle wie das zu codierende Pixel auf der ersten Ebene noch nicht codiert worden, so daß vorherige Pixel in einer Rasterordnung auf der vorher codierten Ebene (dritte Ebene) und die vorletzt codierte Ebene (zweite Ebene) den Bezug bilden. Es wird nämlich Bezug genommen auf die zuvor bereits codierten Pixel. Folglich wird auf 14 Pixel Bezug genommen, nämlich die 12 Pixel um das zu codierende Pixel, 1 Pixel auf der zuvor codierten Ebene und 1 Pixel auf der vorletzten codierten Ebene, und die Vorhersagestatuszahl wird um 2 auf die Stärke von 14 erhöht.
- Als nächstes wird das Pixel an derselben Stelle auf der zweiten Ebenen codiert. Bei der Codierung der zweiten Ebene wird Bezug genommen auf 12 Pixel um das zu codierende Pixel und 2 zuvor codierte Pixel, nämlich das Pixel an derselben Stelle auf der ersten Ebene und das vorherige Pixel in einer Rasterreihenfolge auf der dritten Ebene. Folglich wird die Anzahl der Bezugspixel 14, und die Prädiktionsstatuszahl wird auf die Stärke von 14 erhöht.
- Als nächstes wird das Pixel an derselben Stelle auf der dritten Ebene codiert. Bei der Codierung der dritten Ebene wird Bezug genommen auf 12 Pixel um das zu codierende Pixel und 2 vorher codierte Pixel, nämlich die Pixel an derselben Stelle auf der zweiten und ersten Ebene. Folglich wird die Anzahl der Bezugspixel 14, und die Prädiktionsstatuszahl wird auf die Stärke von 14 erhöht.
- Nach Abschluß der Codierverarbeitung der Pixel an derselben Stelle auf der dritten Ebene und dem nächsten Pixel in der Rasterreihenfolge auf der dritten Ebene werden codiert. Auf diese Weise werden alle Pixel der ersten, zweiten und dritten Ebene in punktsequentieller Weise codiert.
- Bei der punktsequentiellen Codierung ist es möglich gemacht worden, sich auf die Pixel an den in Fig. 5 gezeigten Stellen zu beziehen. Bei der Codierung der ersten Ebene wird nämlich nur auf Pixel um das zu codierende Pixel auf der ersten Ebene Bezug genommen. Bei der Codierung der zweiten Ebene wird Bezug genommen auf das Pixel an derselben Stelle auf der ersten Ebene und auf Pixel um das zu codierende Pixel der zweiten Ebene. Während der Codierung der dritten Ebene wird auf Pixel an derselben Stelle auf der ersten und zweiten Ebene und Pixel um das zu codierende Pixel auf der dritten Ebene Bezug genommen.
- Wie schon beschrieben, gibt es beim Bildcodiergerät dieses Ausführungsbeispiels zwei Arten der Codierreihenfolge (ebenen- /punktsequentiell) und zwei Arten von Bezugspositionen (beziehen auf/nicht beziehen auf andere Ebenen). Folglich verfügt das Gerät über vier Codierarten.
- Fig. 7 ist das Blockschaltbild des Vorhersagestatus- Bestimmungsabschnitts 23, der die Ausführung der vier Codierarten ermöglicht.
- Binäre Farbsignale R107, G108 und B109 werden in Rasterordnung als erste, zweite beziehungsweise dritte Ebene geliefert.
- Prädiktionsstatus-Bildungsabschnitte 401, 402 und 403 bilden die Prädiktionsstatussignale für jede Ebene. Diese Abschnitte 401, 402 und 403 sind vom selben Aufbau, und nun wird der Aufbau und die Arbeitsweise des Abschnitts 401 beschrieben.
- Ein binäres Farbsignal R107 (der ersten Ebene) wird an die Zeilenspeicher 461, 462, 463 geliefert, die jeweils eine Pixelzeile speichern können. Die Zeilenspeicher 461, 462, 463 halten das binäre Farbsignal, das um eine Zeile verzögert ist. Folglich werden 4 aufeinanderfolgende Zeilen binärer Farbsignale an Zwischenspeicher 464 bis 481 in paralleler Weise geliefert.
- Das binäre Farbsignal 107 der Codierzeilen wird direkt zu den Speichern 476 bis 481 in Rasterordnung geliefert und gespeichert. Das binäre Farbsignal der vorhergehenden Zeile wird vom Zeilenspeicher 461 in die Zwischenspeicher 471 bis 475 geliefert, das binäre Farbsignal einer Leitung vor der vorhergehenden Leitung wird aus dem Zeilenspeicher 76 zu den Zwischenspeichern 467 bis 470 geliefert, und ein binäres Farbsignal wird vom Zeilenspeicher 463 an die Zwischenspeicher 464 bis 466 geliefert. Die Zwischenspeicher 464 bis 481 halten das binäre Farbsignal, während das Signal pixelweise verschoben wird.
- Der Zwischenspeicher 478 (mit * markiert) hält das binäre Farbsignal des zu codierenden Pixels, und Zwischenspeicher 466, 468 bis 475, 479 bis 481 halten das binäre Farbsignal der 12 bereits codierten Pixel um das zu codierende Pixel.
- Der Status des zu codierenden Pixels und der Status der Pixel um das zu codierende Pixel werden durch ein Pixelcodiersignal X1 483 beziehungsweise ein Statussignal S1 482 dargestellt, und beide Signale werden in einen Multiplexer 491 gegeben.
- In den Multiplexer 491 werden auch Pixelcodiersignale X2 485, X3 487 und Statussignale S2 487, S3 486 eingegeben, die die zweite und dritte Ebene von den Vorhersagestatus- Bildungsabschnitten 402, 403 betreffen. Der Multiplexer 491 unterzieht die Eingangssignale gemäß einem Ebenenanzeigesignal 488 dem Multiplexverfahren, ein punktsequentiell anzeigendes Signal 489 und ein andere-Ebenen-Bezugsanzeigesignal 490, und erzeugt das Pixelsignal X117 und das Prädiktionsstatussignal 5116.
- Das Ebenenanzeigesignal 488, das punktsequentiell anzeigende Signal 489 und das Anzeigesignal 490 für Bezug auf andere Ebene werden vom Codiersteuerabschnitt 30 geliefert. Das punktsequentiell anzeigende Signal 489 wird gemäß dem Status des O-Kennzeichens geliefert, und das andere-Ebenen- Bezugsanzeigesignal 490 wird gemäß dem Status des R-Kennzeichens geliefert.
- Das Ebenenanzeigesignal 488 stellt die Ebene dar, die gerade codiert wird, und in diesem Ausführungsbeispiel besteht das Signal 488 aus 2 Bits, um so 3 Ebenen darzustellen.
- Wenn das punktsequentiell anzeigende Signal 489 auf "1" ist, wird die punktsequentielle Codierung ausgewählt, wie in Fig. 3(b) gezeigt, und der Multiplexer 491 arbeitet so, daß die zu codierende Ebene geändert wird, immer wenn ein Pixel codiert wird.
- Wenn das punktsequentiell anzeigende Signal 489 auf "0" ist, wird die ebenensequentielle Codierung ausgewählt, wie in Fig. 3(a) gezeigt, und der Multiplexer 491 arbeitet so, daß zu codierende Pixel und Bezugspixel ausgewählt werden.
- Wenn das andere-Ebenen-Bezugsanzeigesignal 490 auf 1 ist, und wenn das punktsequentiell anzeigende Signal 489 auf 0 ist, arbeitet der Multiplexer 491 so, daß Bezugspixel ausgewählt werden, wie in Fig. 5 gezeigt. Wenn das punktsequentiell anzeigende Signal 489 auf 1 ist, arbeitet der Multiplexer 491 so, daß Bezugspixel ausgewählt werden, wie in Fig. 6 gezeigt.
- Wie zuvor beschrieben, kann eine der vier Codierarten ausgewählt werden, abhängig vom punktsequentiell anzeigenden Signal 489 und vom andere-Ebenen-Bezugsanzeigesignal 490.
- Das binäre Farbsignal des zu codierenden Pixels und die binären Farbsignale der Bezugspixel werden vom Multiplexer 49d als das Pixelsignal x117 und das Prädiktionsstatussignal 5116 abhängig von der ausgewählten Codierart geliefert. Das Prädiktionsstatussignal 5116 wird ein 16-Bit-Datensignal mit dem Ebene anzeigenden Signal (2-Bit-Daten).
- Fig. 8 ist ein Blockschaltbild des in Fig. 1 gezeigten dynamischen arithmetischen Codierabschnitts 24.
- Vor der näheren Erläuterung von Fig. 8, wird eine Beschreibung bezüglich der im vorliegenden Ausführungsbeispiel verwendeten arithmetischen Codierung gegeben.
- Wie schon vorher bekannt war, ist die arithmetische Codierung ein Verfahren zur Bildung des Codes durch Rechenoperationen in der Weise, daß eingegebene Signalserien der Code werden, der durch eine dezimale Binärzahl ausgedrückt wird. Dieses Verfahren ist veröffentlicht worden in der Literatur von Langdon und Rissanen et al. unter dem Titel "Compression of Black/White Images with Arithmetic Coding", IEEE Tran Com. COM- 29, 6, (1981.6). Wenn nach dieser Literatur eine bereits codierte Eingangssignalserie durch S dargestellt wird, ergibt sich die Wahrscheinlichkeit, mit der das weniger wahrscheinliche Symbol (LPS) dargestellt wird, durch q, ein Rechenregistersummand ist dargestellt durch A(S), und ein Coderegister ist dargestellt durch C(S), wobei die folgende Rechenoperation bezüglich jedes Eingangssignals ausgeführt wird:
- A(S1) = A(S) · q approx = A(S) · 2-Q... (1)
- A(S0) = < A(S) - A(S1) > 1... (2)
- < > bedeutet Runden auf 1 bit wirksamer Ziffern
- C(S0) = C(S)... (3)
- C(S1) = C(S) + A(S0)... (4)
- Wenn hier codierte Daten ein wahrscheinliches Symbol (MPS: 0 im obigen Falle) bilden, wird A(S0) und C(S0) zur Codierung der nachfolgenden Daten verwendet. Wenn die codierten Daten ein weniger wahrscheinliches Symbol (LSP: 1 im obigen Falle) bilden, werden A(S1) und C(S1) zur Codierung der nachfolgenden Daten verwendet.
- Der neue Wert A wird multipliziert mit 2S (S ist eine ganze Zahl größer 0) und zwischen 0,5 < A < 1,0 gesetzt. Diese Verarbeitung entspricht der S-maligen Verschiebung des Operationsregisters A, wenn in Hardware ausgeführt. Dieselbe Zahl von Verschiebungen erfolgt für Register C, und das herausgeschobene Signal wird der Code. Die Codeinformation wird durch Wiederholen der obigen Verarbeitung gebildet.
- Wie in Gleichung (1) gezeigt, wird durch Annäherung der Auftrittswahrscheinlichkeit 1 von LPS mit der zweiten Potenz (S-Q: wobei Q eine positive ganze Zahl ist), die Multiplikation durch eine Schiebeoperation ersetzt. Zur Verbesserung dieser Annäherung wird Q durch einen Polynomausdruck der zweiten Potenz angenähert, wie durch Gleichung (5) gezeigt. Durch die Annäherung wird der schlechteste Effizienzpunkt verbessert.
- q = 2 - Q1 + 2 - Q2... (5)
- Was den arithmetischen Code anbelangt, so kann der Wert von Q für alle codierten Daten geändert werden, und folglich kann der Wahrscheinlichkeits-Abschätzabschnitt von der Codierung getrennt werden.
- Im vorliegenden Ausführungsbeispiel wird ein dynamisches Verfahren zum Schätzen der Wahrscheinlichkeit verwendet, während die Codierung in der schon beschrieben Weise ausgeführt wird.
- Als nächstes wird eine Erläuterung bezüglich eines Blockschaltbildes eines Codierers 24 von Fig. 8 gegeben, der die arithmetische Codierung ausführt.
- Statussymbol S 116, das aus dem Prädiktionsstatus- Bestimmungsabschnitt 23 kommt, wird in den Zählerspeicher 73 und in den Codierbedingungsspeicher 74 eingegeben.
- Im Codierbedingungsspeicher 74 wird das höchstwahrscheinliche Symbol MPS 308 gespeichert, welches das wahrscheinlichere Symbol ist, und Index I 307, der die Codierbedingung anzeigt, die in der Auftrittswahrscheinlichkeit von LPS des arithmetischen Codes enthalten ist, der später zu erläutern ist, für jeden Status einer jeden Farbe R, G und B. MPS 308 liest aus dem Codierbedingungsspeicher 74 gemäß der Farbe und dem Status des zu codierenden Bildes aus und wird an eine Prädiktionsumsetzschaltung 77 gegeben, während die Prädiktionsumsetzschaltung 77 ein YN-Signal 301 erzeugt, das 0 wird, wenn ein serielles Pixelsignal X117 mit MPS 308 übereinstimmt. Das YN-Signal 301 wird in eine, Erneuerungsschaltung 75 eingegeben, und in der Erneuerungsschaltung 75 wird der Zählwert gemäß dem aktuellen Status unter den im Zählerspeicher 73 gespeicherten Zählwerten inkrementiert, wenn das YN-Signal gleich 0 ist. Wenn der im Zählerspeicher 73 gespeicherte Zählwert C306 mit dem eingestellten Wert MC305 übereinstimmt, der aus der Zähltabelle ROM72 kommt, wird eine Erneuerung in der Richtung ausgeführt, in der Index I307 größer wird (in der Richtung, in der die Auftrittswahrscheinlichkeit 1 von LPS kleiner wird). (Inversion von MPS wird nicht ausgeführt.)
- Die Zähltabelle ROM72 beliefert die Erneuerungsschaltung 75 mit MC305, der in Fig. 13 angezeigten Anzahl von MPS, die in Übereinstimmung mit Index I bestimmt wird, ausgedrückt durch die Auftrittswahrscheinlichkeit P von LPS.
- Wenn in der Erneuerungsschaltung 75 MPS 308 nicht mit dem Pixelsignal X117 übereinstimmt, das heißt, wenn das YN-Signal aus der Prädiktionsumsetzschaltung 77 = 1 ist, erfolgt die Erneuerung in der Richtung, in der der Index I307 kleiner wird (in Richtung, in der die Auftrittswahrscheinlichkeit von q von LPS größer wird). Wenn das YN-Signal 301 mit dem Wert 1 abgegeben wird, wobei der Index gleich 1 ist, wird die Verarbeitung ausgeführt, um MPS zu invertieren (0 zu 1 oder 1 zu 0). Das Ausgangssignal I' 309 und MPS' 310 der Erneuerungsschaltung 75 sind die Werte des Index nach Erneuerung, und sie werden erneut im Codierbedingungsspeicher 74 gespeichert.
- In der Codierparameter-Bestimmungsschaltung 76 wird der Codierparameter Q311 des arithmetischen Codes in den arithmetischen Codierer 78 gebracht, basierend auf dem Wert vom Index I307. In diesem arithmetischen Codierer 78 wird das YN- Signal 301, das von der Prädiktionsumsetzschaltung 77 kommt, in einen arithmetischen Code unter Verwendung von Parameter Q311 gebracht, um den Code 302 zu erhalten.
- Durch Bereitstellen eines Ausgangswertes für den Codierbedingungsspeicher 74 und nicht Erneuern von I und MPS wird die statische Codierung leicht verwirklicht.
- Fig. 9 ist das Blockschaltbild der Prädiktionsumsetzschaltung 77. Serielle Pixelsignale X115 und MPS 308 werden in die EX-ODER-Schaltung 79 eingegeben, und gemäß der logischen Formel von Fig. 14 wird YN-Signal 301, das 0 wird, wenn das serielle Pixelsignal X117 mit MPS übereinstimmt, und 1 wird, wenn sie nicht übereinstimmen. Fig. 10 ist das Blockschaltbild der Erneuerungsschaltung 75. Wenn das YN-Signal 301 gleich 0 ist, wird der Zählwert C306, der vom Zählerspeicher 73 kommt, um +1 vom Addierer 81 inkrementiert, um das Signal C'312 zu werden.
- Dieser Wert wird mit MC305 verglichen, der von der Zähltabelle ROM72 kommt, im Vergleicher 83, und wenn der Wert von C' mit dem Wert von MC übereinstimmt, wird das Erneuerungssignal UPA313 auf 1 gesetzt. Das YN-Signal 301 wird das Erneuerungssignal UPB314, während UPA und UPB in die Indexabwandlungsschaltung 85 kommen. Aus UPA und UPB wird in der ODER-Schaltung 87 das logische ODER gebildet, und das Ausgangssignal 315 der ODER-Schaltung 37 wird das Umschaltsignal für den Wähler 82. Wenn im Wähler 82 das Signal 315 auf 1 ist, wählt es 0-Signale 319, um den Stand des Zählerspeichers 370 zurückzusetzen, und zu anderen Zeiten wählt es Signal C'312 vom Addierer 81 und gibt es als Zählererneuerungssignal C2'316 aus, und der Zählerspeicher 73 speichert dieses ein. Wenn das serielle Pixelsignal X115 nicht mit MPS 308 übereinstimmt, und wenn die Übereinstimmungszustände gegenwärtig anhalten, wird der Zählstand des Zählerspeichers 73 folglich zurückgesetzt.
- An die Indexabwandlungsschaltung 85 werden das Signal D317 (D = 1 im Normalfall), das den erneuerten Abstand des Index steuert, UPA313, UPB314 und der gegenwärtige Index I303 aus dem Codierbedingungsspeicher 74 eingegeben.
- Fig. 15 ist die Tabelle, die das Verfahren der Erneuerung des Index in der Indexabwandlungsschaltung 85 anzeigt (Fig. 15 stellt den Fall dar, daß der Abstand d = 1 und d = 2 ist). Unter Bezug auf diese Tabelle für den gegenwärtigen Index I wird die Erneuerungsabstandbedingung d, UPA und UPB, der erneuerte Index I' bestimmt. Wenn I = 1 und UPB = 1 (wenn das serielle Pixelsignal X115 nicht mit MPS 308 übereinstimmt), wird das EX- Signal 318 auf 1 gesetzt. Wenn das EX-Signal 318 auf 1 ist, wird das Symbol vom gegenwärtigen MPS 308 invertiert (0 zu 1 oder 1 zu 0) durch das Umkehrglied 86, um das erneuerte MPS'310 zu gewinnen. Wenn das EX-Signal 318 auf 0 ist, wird MPS' nicht abgewandelt. Das erneuerte I'309 und MPS'310 werden in den Codierbedingungsspeicher 74 gespeichert, und somit werden diese als Index I und MPS für die nachfolgende Verarbeitung verwendet. Das in Fig. 15 gezeigte Verfahren der Erneuerung kann sich aus der Tabelle unter Verwendung von ROM und so weiter oder von Logikschaltungen mit Addierern-Subtrahierern zusammensetzen.
- Wenn die Auftrittshäufigkeit von MPS eine Anzahl von MPS erreicht, bestimmt durch den Wert von Index I, der die Auftrittswahrscheinlichkeit q von LPS ungefähr durch das Polynom der zweiten Potenz angibt, wird Index I um d erhöht, um die Auftrittswahrscheinlichkeit von q von LPS zu verringern, das 0,5 darstellt (der Status, bei dem Index I gleich 1 ist), und das MPS wird invertiert.
- Durch Erneuern des Index I und dMPS in Anpassung an das eingegebene Bild wird, wie schon beschrieben, eine arithmetische Codierung mit exzellenter Codiereffizienz verwirklicht.
- Fig. 11 zeigt die Codiereffizienzkurve des arithmetischen Codes, der im vorliegenden Ausführungsbeispiel Anwendung findet. Hiernach ist der Wert von Index I durch den kleinen Buchstaben i dargestellt. Die besagte Kurve wird durch die Formel (6) dargestellt, wenn die Auftrittswahrscheinlichkeit von LPS durch P dargestellt und die Annäherungswahrscheinlichkeit zur Codierzeit mit qei angegeben wird. Index I wird sequentiell angegeben von 1, 2, 3, .... von der Seite, bei der die Auftrittswahrscheinlichkeit q von LPS größer in Richtung der kleineren Seite wird.
- n = -q log2 q - (1 - 1) 10 g 2 (1 - q)... (6)
- -q log2 gei - (1 - q) log2 (1 - gei)
- gei ist der durch Gleichung (7) dargestellte Wert.
- gei = q1 + q2... (7)
- Die Werte von q1 und q2 sind die Polynomnäherungswerte der zweiten Potenz, und sie sind in Fig. 16 dargestellt.
- Beispielsweise können sie durch Gleichungen (8) bis (10) dargestellt werden.
- gei' = 2&supmin;² + 2&supmin;² = 2-¹ (8)
- ge2' = 2&supmin;¹ - 2&supmin;&sup4;... (9)
- ge3' = 2&supmin;² + 2&supmin;²... (10)
- Der Spitzenpunkt gei, bei dem die Effizienz n = 1,0 wird, ist nachstehend bei dieser Wahrscheinlichkeit mit "effektive Wahrscheinlichkeit" bezeichnet. Der Schnitt der Effizienzkurven wird Grenzwahrscheinlichkeit qbi genannt, und es ist evident, daß hinter dieser Wahrscheinlichkeit die Effizienz besser ist, wenn die Codierung unter Verwendung benachbarter effektiver Wahrscheinlichkeit ausgeführt wird.
- Im vorliegenden praktischen Beispiel wird die effektive Wahrscheinlichkeit Pei, gezeigt in Fig. 16, aus den Wahrscheinlichkeiten ausgewählt, die durch zwei in Gleichung (5) gezeigte Ausdrücke angenähert werden können. Q1, Q2 und Q3 von Fig. 16 sind Codierparameter Q 311 (Fig. 8), die zum arithmetischen Codierer 78 zu übertragen sind. Das heißt, Q1 und Q2 repräsentieren das Verschiebevolumen, das ins Schieberegister durch eine derartige Schiebeoperation zu geben ist, wobei eine Hoch-2-Rechnung ausgeführt wird. Q3 zeigt den Koeffizienten beim zweiten Ausdruck und bewirkt die +, - Umschaltung.
- Der Wert von MC in Fig. 13 wird folgendermaßen festgelegt.
- Wenn die Anzahl von LPS gleich NL ist und die Anzahl von MPS gleich NM ist, wird die Auftrittswahrscheinlichkeit durch die Gleichung (11) angegeben.
- q = NL/(NM + NL)... (11)
- Wenn diese Gleichung nach NM aufgelöst wird, ergibt sich die Gleichung (12).
- NM - [NL(1/q - 1)]... (12)
- Hier drückt [x] den Anstieg der Anzahlen hinter dem Dezimalpunkt an. Durch Substituieren von q in Gleichung (12) durch qbi, gezeigt in Fig. 11, wird die Zahl NMi des wahrscheinlicheren Symbols (MPS) errechnet. Folglich kann MC aus Gleichung (13) errechnet werden.
- MCi = NMi + 1 - NMi... (13)
- Die Werte von MC in Fig. 13 sind aus den Gleichungen (11), (12) und (13) unter der Annahme von ML = 2 errechnet worden. Wie schon gesagt, die Anzahl NMi des wahrscheinlicheren Symbols MPS entsprechend einem jeden Index I wird auf der Grundlage einer jeden Grenzwahrscheinlichkeit qbi gewonnen, gezeigt in Fig. 11, und die Differenz des wahrscheinlicheren Symbols NM zwischen den benachbarten Indizes wird erachtet, das MC für das jeweilige Index I zu sein.
- Der Wert von MC wird mit der Zahl des wahrscheinlicheren Symbols MPS erzeugt, wie schon beschrieben, und wenn der Wert von MC mit der Anzahl stetiger Erzeugung des wahrscheinlicheren Symbols MPS übereinstimmt, wird beurteilt, daß der Status, bei dem die Codierung durch den benachbarten Index I geeignet ist, und der Index I wird abgewandelt. Somit wird Index I durch gute Zeitvorgabe auf der Grundlage der Anzahl der Erzeugung des wahrscheinlicheren Symbols MPS modifiziert, und die Codierung durch den optimalen Index I wird mit guter Anpassung erreicht.
- Fig. 12 ist das Blockschaltbild eines arithmetischen Codierers 78. Aus dem durch die Codierparameter- Bestimmungsschaltung 76 bestimmten Codierparameter Q311 (Fig. 8) wird Q1 in das Schieberegister AO eingegeben, Q2 wird in das Schieberegister B91, und Q3 wird in den Wähler 92 eingegeben. Q1 und Q2 zeigen an, wie viele Bits das Summandensignal As 323 zur rechten Seite gegen das Schieberegister A und B verschoben werden sollte. Die Ergebnisse einer solchen Verschiebung sind durch Ausgangssignale 330 und 331 dargestellt.
- Das Umkehrglied 96 stellt das Komplement des Signals 331 dar, und der Wähler 92 wählt das Signal 131 oder das Ausgangssignal vom Umkehrglied 96 durch Steuersignal Q3 aus, um das Ausgangssignal 332 zu erhalten. Im Addierer 93 werden Signal 330, das vom Schieberegister A90 kommt, mit Signal 332 vom Wähler 92 addiert, und SS1-Signal 324 wird ausgegeben. Im Subtrahierer 94 wird AS1-Signal 324 vom As-Signal 323 subtrahiert, um Signal As0 325 zu gewinnen. Im Wähler 95 wird entweder das Signal 325 As0 oder das Signal 324 As1 gemäß dem YN-Signal 301 ausgewählt. Das heißt, wenn das YN-Signal 1 ist, wird das AO-Signal ausgewählt, und wenn das YN-Signal 0 ist, wird das As1-Signal das A'-Signal 326. In der Schiebeschaltung 89 wird die Verschiebeverarbeitung nach links fortgesetzt, Einheit 1 MSB von A'-Signal 326 wird durch eine derartige Verschiebung zu 1, und das AS'-Signal 327 wird gewonnen. Schiebesignal 332 entsprechend der Frequenz einer derartigen Verschiebung gelangt in das Coderegister 99, und vom Coderegister 99 werden die Anzahl von Bits entsprechend der Schiebefrequenz nacheinander bei MSB ausgegeben, um die Codedaten 322 zu erzeugen.
- Codedaten 322 werden so durch das Bitverarbeitungsverfahren verarbeitet, das nicht in der Figur dargestellt ist, daß die Stetigkeit von Bit 1 bis zu einer gewissen Grenze gestattet ist.
- Der Inhalt CR328 des Coderegisters 99 wird zum AS0-Signal 325 im Addierer 97 addiert und gelangt in den Wähler 98. Das Signal CR328, zu dem kein AS0-Signal 325 hinzugefügt wurde, gelangt auch in den Wähler 98, und es wird als CR'-Signal 329 abgegeben, das gleich CR ist, wenn das YN-Signal 301 gleich 1 und mit CR + AS0 gleich ist, wenn das YN-Signal 301 gleich 0 ist. Die zuvor beschriebene Schiebeverarbeitung anhand des Coderegisters 99 ist die Verarbeitung für das CR'-Signal.
- Die vom Coderegister erzeugten 99 Codedaten 322 werden an den Kommunikations-Verarbeitungsabschnitt 31 über Datenleitung 118 geliefert.
- In diesem Ausführungsbeispiel wird ein Farbbild in die R-, G-, B-Ebenen getrennt, die jeweils aus 1-Bit-Daten bestehen, und die R-, G-, B-Ebenen werden gemäß einer der 4 Codierarten codiert, wie schon beschrieben, die für die Anwendung der codierten Daten geeignet sind.
- Folglich kann eine optimale Codierung ausgeführt werden, die geeignet ist für die Eigenschaften des zu codierenden Bildes und/oder die Funktion des Druckers, der im Empfänger vorgesehen ist.
- Im in Fig. 1 gezeigten Ausführungsbeispiel wird die Codierung für 3 Ebenen ausgeführt, die ein binäres Farbbild darstellen. Eine beliebige Anzahl von Ebenen kann jedoch in gleicher Weise wie zuvor beschrieben, codiert werden.
- Fig. 17A zeigt ein weiteres Ausführungsbeispiel, das das Vollfarbbild in beispielsweise 6 Ebenen trennt. Der Farbbild- Eingabeabschnitt 20 gibt 8-Bits-R-Daten 101, 8-Bits-G-Daten 102 und 8-Bits-B-Daten ab, wie schon beschrieben. Ein Quantisierungsabschnitt 26 quantisiert die R-, G-, B-Daten und gibt somit 2 Bits der R-Daten 104', 2 Bits der G-Daten 105' und 2 Bits der B-Daten 106' ab.
- Die Codierung kann durch Behandlung der 2-Bit-Daten R, G, B als 6 Ebenen ausgeführt werden, wie später zu erläutern ist. Die Behandlung der MSB der R-Daten (R - MSB) als erste Ebene, LSB der R-Daten (R - LSB) als zweite Ebene, MPS der G-Daten (G - MSB) als dritte Ebene, LSB von den G-Daten (G - LSB) als vierte Ebene, MSB der B-Daten (B - MSB) als fünfte Ebene und das LSB der B-Daten (B - LSB) als sechste Ebene werden diese Ebenen codiert.
- Die 2-Bit-Daten R, G, B, ausgegeben vom Quantisierungsabschnitt, werden in einen Bildspeicherabschnitt 117 gespeichert. Der Bildspeicherabschnitt 27 besitzt einen Speicherumfang für 6 Ebenen der Bilddaten. Der Bildspeicherabschnitt 27 liest 6 Ebenen binärer Bilddaten 107'A, 107'B, 108'A, 108'B, 109'A und 109B aus.
- Die 6 Ebenen binärer Bilddaten 107'A, 107'B, 108'A, 108'B, 109'A, 109'B werden in den Prädiktionsstatus- Bestimmungsabschnitt (Fig. 17B) eingegeben.
- In Fig. 17B werden 6 Ebenen binärer Bilddaten in 6 Prädiktionsstatus-Bildungsabschnitte 401A, 401B, 402A, 402B, 403A beziehungsweise 403B eingegeben. Diese Abschnitte haben denselben Aufbau wie der Abschnitt 401A, der die binären Bilddaten R-MSB 107'A verarbeitet, und dieser wird beschrieben.
- Binäre Bilddaten R-MSB 107'A werden in einen Zeilenspeicher 661 eingegeben. Dabei können 2 Zeilen binärer Bilddaten zur Gruppe von Zwischenspeichern 676 bis 688 in paralleler Weise eingegeben und dort gespeichert werden.
- Binäre Bilddaten R-MSB 107'A, die eine zu codierende Zeile darstellen, werden direkt in die Zwischenspeicher 676 bis 682 in einer Rasterordnung gespeichert. Binäre Bilddaten R-MSB, die die vorangehende Zeile darstellen, werden im Zwischenspeicher 683 bis 688 über den Zeilenspeicher 661 gespeichert.
- Der Zwischenspeicher 478 (mit * markiert) hält die binären Bilddaten der zu codierenden Pixel, und die Zwischenspeicher 679 bis 688 halten die binären Bilddaten der 10 bereits codierten Pixel, die sich um das zu codierende Pixel befinden.
- Der Status der zu codierenden Pixel und der Status der 10 Pixel um das zu codierende Pixel werden durch das Pixelcodiersignal X483A beziehungsweise ein Statussignal S482A dargestellt, und beide Signale werden an den Multiplexer 491' geliefert.
- Im Multiplexer 491' werden auch Pixelcodiersignale X483B, X485A, X485B, X487A, X487B und Statussignale S482B, S484A, S484B, S486A, S486B, die die binären Bilddaten R-LSB 107B, G- MSB 108'A, G-LSB 108'B, B-MSB 109'A, B-LSB 109'B betreffen, ebenfalls von Prädiktionsstatus-Bildungsabschnitten 401B, 402A, 402B, 403A, 403B eingegeben.
- Der Multiplexer 491 unterzieht diese Eingangssignale gemäß dem Ebenenanzeigeesignal 488 dem Multiplexverfahren, das punktsequentiell anzeigende Signal 489 und das andere Ebenenbezugssignal 490 und erzeugt das Pixelsignal X117 und das Prädiktionsstatussignal S116.
- Fig. 17C zeigt die Positionen der betreffenden Pixel. Wenn die N-Ebene unter Bezug auf andere Ebenen codiert wird, wird auf 10 Pixel um das zu codierende Pixel auf der N-Ebene und 1 oder 2 Pixel an derselben Stelle der N-1-Ebene oder der N-2-Ebene Bezug genommen, wie in Fig. 17C (B) gezeigt.
- Wenn auf andere Ebenen kein Bezug genommen wird, gilt der Bezug nur 10 Pixeln um das zu codierende Pixel auf der N-Ebene, wie in Fig. 17C (B) gezeigt.
- Fig. 17D zeigt die Position der Bezugspixel für jede von 6 Ebenen.
- Mehrbit-Farbbilddaten R, G, B haben eine Korrelation in den Farben und die Korrelation zwischen den Ebenen.
- Fig. 17D zeigt ein Beispiel, bei dem eine derartige Codieroperation in der Reihenfolge wie R-MSB, R-LSB, G-MSB, G- LSB, B-MSB, B-LSB unter Bezug auf andere Ebenen mit einer relativ starken Korrelation ausgeführt wird.
- Beispielsweise wird beim Codieren von R-LSB Bezug auf 10 Pixel um das zu codierende Pixel und auf 1 Pixel an derselben Stelle von R-MSB genommen.
- Wenn G-MSB codiert wird, wird auf 10 Pixel um das zu codierende Pixel und 1 Pixel an derselben Stelle von R-MSB Bezug genommen.
- Die Korrelation zwischen den Farben im LSB ist nämlich relativ schwach, und so bezieht man sich nicht auf den LSB-Wert einer anderen Farbe.
- Wenn das B-MSB codiert wird, wird auf 10 Pixel um das zu codierende Pixel und Pixel an derselben Stelle von R-MSB und G- MSB Bezug genommen, die bereits codiert sind.
- Wenn andererseits G-LSB codiert ist, wird auf 10 Pixel um das zu codierende Pixel und 1 Pixel an derselben Stelle von G- MSB Bezug genommen.
- Wie schon beschrieben, wird die optimale Codierart, die für das zu codierende Bild oder die Funktion des Empfängers geeignet ist, gemäß dem sequentiell anzeigenden Signal 489' und dem andere-Ebenen-Bezugssignal 490' ausgewählt.
- Fig. 17A zeigt ein Ausführungsbeispiel zur Verarbeitung von 2-Bit-Daten R, G, B, die ein Farbbild darstellen. Der Codierprozeß kann nicht nur auf das Farbbild angewandt werden, sondern auch auf ein Schwarzweißbild von beispielsweise 4 Bits oder 6 Bits.
- Wenn ein Schwarzweißbild mit 6 Bit codiert wird, wird das Schwarzweißbild in 6-Bit-Ebenen getrennt, und diese 6-Bit-Ebenen werden in Prädiktionsstatus-Bildungsabschnitte 401A, 401B, 402A, 402B, 403A beziehungsweise 403B eingegeben.
- Folglich kann das Schwarzweißbild von 6 Bits punktsequentiell oder ebenensequentiell unter Bezug auf andere Ebenen oder ohne Bezug auf andere Ebenen codiert werden.
- Ein Beispiel eines Codiervorgangs wird erläutert.
- Die erste Ebene (MSB) wird ohne Bezug auf andere Ebenen codiert, dann wird die zweite Ebene ohne Bezug auf ein Pixel an derselben Stelle des zu codierenden Pixels auf der ersten Ebene codiert. Die anderen Ebenen werden in gleicher Weise wie in der zweiten Ebene codiert.
- Wenn nämlich andere Ebenen als die erste Ebene codiert werden, kann entweder die Codierung unter Bezug auf andere Ebenen oder die Codierung ohne Bezug auf andere Ebenen ausgewählt werden.
- Im allgemeinen gibt es eine starke Beziehung zwischen Ebenen nahe dem MSB und eine schwache Beziehung zwischen den Bitebenen nahe dem LSB. Folglich ist es besser, daß die Bezugspixel für jede Ebene bestimmt werden.
- Fig. 18 zeigt ein weiteres Ausführungsbeispiel nach der Erfindung. Die 8-Bit-Daten R, G, B 101, 102, 103 werden aus dem Farbbild-Eingabeabschnitt 20 in eine Nachschlagetabelle (LUT) 28 zur Datenumsetzung eingegeben. Die LUT 28 setzt die R-, G-, B- Daten 101, 102, 103 in 256 Farbsignale um, mit denen ein Farbbild auf einem Farbmonitor, beispielsweise einer Farbarbeitsstation, angezeigt wird. Diese 256 Farbsignale werden in 256 Ebenen getrennt, und jede der 256 Ebenen wird in gleicher Weise wie zuvor beschrieben codiert.
- Wenn das Bild unter Bezug auf andere Ebenen codiert wird, wird Bezug genommen auf die Ebene, die eine Farbe darstellt, die nahe an der Farbe der zu codierenden Ebene liegt.
- In diesem Ausführungsbeispiel wurde die dynamische arithmetische Codierung zur Codierung verwendet, aber die Codierung kann auch durch eine andere prädiktive Codierung erfolgen, die sowohl die ebenensequentielle Codierung als auch die punktsequentielle Codierung ausführen kann.
- In diesem Ausführungsbeispiel wurde die Codierung manuell unter Verwendung eines Bedienabschnitts eingestellt, aber die Einstellung kann auch automatisch gemäß der Feststellung eines Merkmals des Bildes erfolgen. Wenn beispielsweise erkannt wird, daß eine Korrelation zwischen Ebenen relativ stark ist, kann die Codierung automatisch so eingestellt werden, daß der Bezug auf andere Ebenen genommen wird.
- Durch Feststellen der Funktion des Druckers im Empfänger in einem Protokoll kann des weiteren beispielsweise die punktsequentielle Codierung automatisch eingestellt werden, wenn festgestellt ist, daß der Drucker ein serieller Drucker ist. Wenn die Codierung unter Bezug auf andere Ebenen ausgeführt wird, kann der Bezug nicht nur auf das Pixel an derselben Stelle sondern auch auf das Pixel an einer anderen Stelle vom zu codierenden Pixel erfolgen, beispielsweise tastet der Farbbildeingabeabschnitt mit farblinearen Sensoren ab, die zickzackförmig angeordnet sind.
- Wie schon beschrieben, kann eine von 4 Codierarten abhängig von der Kombination des punktsequentiell anzeigenden Signals 489 (O-Kennzeichen) und andere Ebenen bezugsanzeigenden Signals 490 (R-Kennzeichen) ausgewählt werden. Diese Auswahl wird gemäß der Funktion oder Fähigkeit des Empfängers vollzogen. Die Codiereffizienz einer jeden Codierart für das dasselbe Bild ist von Fall zu Fall unterschiedlich. Wenn der Empfänger eine Vielzahl unterschiedlicher Funktionen oder Fähigkeiten besitzt, von denen jede die codierten Daten in wechselweise unterschiedlicher Codierart codieren kann, ist es besser, die Codierart zu wählen, die das Bild in effizienter Weise codiert.
- Fig. 19 zeigt ein Blockschaltbild eines Bildcodiergerätes, das das Bild mit zwei unterschiedlichen Codierarten gleichzeitig codiert und die codierten Daten auswählt, die effizient codiert sind, um so die codierten Daten zu übertragen.
- In Fig. 19 sind einige Blöcke mit den gleichen Bezugszeichen versehen wie in Fig. 1, und diese haben dieselbe Funktion wie die Blöcke von Fig. 1. Die Blöcke, die gegenüber denen von Fig. 1 abweichen, werden nun beschrieben.
- In Fig. 19 gibt es zwei Prädiktionsstatus- Bestimmungsabschnitte 23A, B und zwei dynamische Codierabschitte 24A, B. Die binären Farbsignale R107, G108 und B109 werden vom binären Bildspeicherabschnitt 22 sowohl den Prädiktionsstatus- Bestimmungsabschnitten 23A als 23B zugeführt. Jeder der Prädiktionsstatus-Bestimmungsabschnitte 23A und 23B hat den in Fig. 7 gezeigten Aufbau. Folglich kann jeder der Prädiktionsstatus-Bestimmungsabschnitte 23A und 23B mit einem der zuvor erwähnten vier Arten gemäß der Kombination des O- Kennzeichens und des R-Kennzeichens arbeiten. Die Prädiktionsstatus-Bestimmungsabschnitte 23A und 23B können in wechselweise jeweils unterschiedlichen Arten arbeiten. Es werden nämlich zwei unterschiedliche Codierarten zur selben Zeit ausgeführt.
- Die Kombinationen der Codierarten werden folgendermaßen erläutert.
- (1) Die punktsequentielle Codierung unter Bezug auf andere Ebenen und die punktsequentielle Codierung ohne Bezug auf andere Ebenen.
- Im Prädiktionsstatus-Bestimmungsabschnitt 23A wird das punktsequentiell anzeigende Signal 489 auf "1" gesetzt, das Bezug auf andere-Ebenen-Signal 490 wird auf "1" gesetzt. Im Prädiktionsstatus-Bestimmungsabschnitt 23B wird das punktsequentiell anzeigende Signal 489 auf "1" gesetzt, und das Bezug auf andere-Ebenen-Signal 490 wird auf "0" gesetzt.
- (2) Die ebenensequentielle Codierung unter Bezug auf andere Ebenen und die ebenensequentielle Codierung ohne Bezug andere Ebenen. Im Abschnitt 23A wird das Signal 489 auf "0" und das Signal 490 auf "1" gesetzt.
- Im Abschnitt 23B wird das Signal 489 auf "0" und das Signal 49o auf "0" gesetzt.
- (3) Die punktsequentielle Codierung unter Bezug auf andere Ebenen und die ebenensequentielle Codierung ohne Bezug auf andere Ebenen.
- Im Abschnitt 23A wird das Signal 489 auf "1" und das Signal 490 auf "1" gesetzt.
- Im Abschnitt 23B wird das Signal 489 auf "0" und das Signal 490 auf "1" gesetzt.
- (4) Die punktsequentielle Codierung ohne Bezug auf andere Ebenen und die ebenensequentielle Codierung ohne Bezug auf andere Ebenen.
- Im Abschnitt 23A wird das Signal 489 auf "1" und das Signal 490 auf "0" gesetzt.
- Im Abschnitt 23B wird das Signal 489 auf "0" und das Signal 49o auf "0" gesetzt.
- Der Codiersteuerabschnitt 30 stellt eine der vier Kombinationen gemäß einer Einstellung einer beliebigen von 4 Tasten 501 bis 504 des Betriebsart-Einstellabschnitts 32 ein.
- Fig. 20 ist ein Arbeitsablaufplan, der die Einstellprozedur durch den Codiersteuerabschnitt 30 zeigt.
- Wenn die punktserielle Codierart durch Betätigen der Taste 501 ausgewählt ist, stellt der Codiersteuerabschnitt 30 das punktsequentiell anzeigende Signal 489 und das Bezug auf andere- Ebenen-Signal 490 ein, wie unter (1) beschrieben. Dadurch werden die punktsequentielle Codierung mit Bezug auf andere Ebenen und die punktsequentielle Codierung ohne Bezug auf andere Ebenen gleichzeitig ausgeführt (Schritt 701, 705).
- Wenn die ebenensequentielle Codierungsart durch Betätigen der Taste 502 ausgewählt ist, werden das punktsequentiell anzeigende Signal 489 und das Bezug auf andere-Ebenen-Signal 490 in der unter (2) beschriebenen Weise eingestellt. Die ebenensequentielle Codierung unter Bezug auf andere Ebenen und die ebenensequentielle Codierung ohne Bezug auf andere Ebenen werden dadurch gleichzeitig ausgeführt (Schritt 702, 706).
- Wenn das zu codierende Bild als Linientonbild durch die Taste 503 angezeigt ist, werden das punktsequentiell anzeigende Signal 489 und das Bezug auf andere-Ebenen-Signal 490 in der unter (3) beschriebenen Weise eingestellt. Die punktsequentielle Codierung mit Bezug auf andere Ebenen und die ebenensequentielle Codierung mit Bezug auf andere Ebenen werden dadurch gleichzeitig ausgeführt.
- Wenn das zu codierende Bild als Halbtonbild durch die Taste 504 angezeigt ist, werden das punktsequentiell anzeigende Signal 489 und das Bezug auf andere-Ebenen-Signal 490 in der unter (4) beschriebenen Weise eingestellt. Die punktsequentielle Codierung ohne Bezug auf andere Ebenen und die ebenensequentielle Codierung ohne Bezug auf andere Ebenen werden dadurch gleichzeitig ausgeführt.
- Auf diese Weise führen die Prädiktionsstatus- Bestimmungsabschnitte 23A und 23B wechselweise unterschiedliche Operationen gemäß dem punktsequentiell anzeigenden Signal 489 und dem Bezug auf andere-Ebenen-Signal 490 aus. Die Prädiktionsstatus-Bestimmungsabschnitte 23A und 23B erzeugen Pixelsignal X117A, X117B beziehungsweise Prädiktionsstatussignal S116A, S116B.
- Der dynamische arithmetische Codierabschnitt 24A codiert das Bild auf der Grundlage des Pixelsignals X117A und des Prädiktionsstatussignals S116A. Der dynamische arithmetische Codierabschnitt 24B codiert das Bild auf der Grundlage des Pixelsignals X117B und des Prädiktionsstatussignals S116B.
- Das identische Bild mit zwei unterschiedlichen Codierarten wird folglich gleichzeitig codiert. Der Aufbau eines jeden der dynamischen arithmetischen Codierabschitte 24A und 24B ist demjenigen dynamischen arithmetischen Codierabschnitt 24 in Fig. 1 gleich.
- Die durch den dynamischen arithmetischen Codierabschnitt 24A und 24B gewonnenen Codierdaten werden an den Kommunikations- Verarbeitungsabschnitt 31 über Leitung 118A beziehungsweise 118B geliefert.
- Alle Codierdaten werden in internen Speichern 33A und 33B gespeichert, die im Kommunikations-Verarbeitungsabschnitt 31 bereitstehen.
- Der Kommunikations-Verarbeitungsabschnitt 31 führt einen Vergleich des Betrages codierter Daten aus, die im Speicher 33A gespeichert sind, und dem Betrag codierter Daten, die im Speicher 33B gespeichert sind, und wählt die codierten Daten mit geringerem Betrag aus. Dann werden die ausgewählten codierten Daten über Leitung 119 übertragen.
- Nach Übertragung der codierten Daten müssen das O- Kennzeichen und das R-Kennzeichen, die die Codierart der ausgewählten codierten Daten darstellen, vor den codierten Daten eingestellt werden, wie in Fig. 2A gezeigt.
- Wie schon beschrieben, erhöht der Aufbau von Fig. 19 die Effizienz der Bildcodierung zur Übertragung und Speicherung von Bilddaten.
- In diesem Ausführungsbeispiel wurde die Codierart manuell unter Verwendung des Betriebsart-Einstellabschnitts eingestellt, aber dies kann automatisch geschehen durch Feststellen, ob der Drucker ein punktsequentieller Drucker oder ein ebenensequentieller Drucker in einem Protokoll ist.
- Darüber hinaus können zwei Kombinationen zweier Codierarten in Betracht gezogen werden.
- (5) Die punktsequentielle Codierung unter Bezug auf andere Ebenen und die ebenensequentielle Codierung ohne Bezug auf andere Ebenen.
- (6) Die punktsequentielle Codierung ohne Bezug auf andere Ebenen und die ebenensequentielle Codierung mit Bezug auf andere Ebenen.
- In diesem Ausführungsbeispiel wurde die Übertragung codierter Daten beschrieben, jedoch können die codierten Daten beispielsweise in einer elektronischen Fillingmaschine gespeichert sein.
- Nebenbei bemerkt sei, daß zwei verschiedene Codierarten gleichzeitig auf Zeitmultiplexbasis unter Verwendung einer identischen Codierschaltung ausführbar sind, während sich die codierten Codierparameter sequentiell ändern.
Claims (18)
1. Bildcodiergerät zur Codierung eines Bildes mit einer
Vielzahl von Ebenen mit: Eingabemitteln (20) zur Eingabe von
Bildsignalen, die das zu codierende Bild darstellen;
Codiermitteln, die zur Codierung der Bildsignale aus jeder Ebene
eingerichtet sind, die eine Punktposition des Bildsignals vor
Codierung der Bildsignale aus jeder Ebene darstellt, die eine
weitere Punktposition so darstellt, daß die Punktpositionen
sequentiell codiert werden; und mit Ausgabemitteln (31) zur
Ausgabe der codierten Daten, gekennzeichnet durch weitere
Codiermittel (23, 24) zur Codierung der Bildsignale einer Ebene
vor den Bildsignalen einer anderen Ebene, so daß die Ebenen
sequentiell codiert werden; und durch Auswahlmittel (32, 30) zur
Auswahl entweder der Codiermittel oder der weiteren Codiermittel
zur Codierung des Bildes.
2. Gerät nach Anspruch 1, das des weiteren über zusätzliche
Codiermittel (23, 24) verfügt, die zur Codierung der Bildsignale
einer Ebene unter Bezug auf die Bildsignale einer anderen Ebene
eingerichtet sind, und weiterhin zusätzliche Codiermittel (23,
24) enthält, die zur Codierung der Bildsignale einer Ebene ohne
Bezug auf die Bildsignale einer anderen Ebene eingerichtet sind,
wobei die Auswahlmittel (30, 32) zur Auswahl eines der
zusätzlichen Codiermittel eingerichtet sind.
3. Bildcodiergerät zur Codierung eines eine Vielzahl von Ebenen
aufweisenden Bildes, mit: Eingabemitteln (20) zur Eingabe von
Bildsignalen, die das zu codierende Bild darstellen;
Codiermitteln, die zur Codierung der Bildsignale einer Ebene
unter Bezug auf Bildsignale einer anderen Ebene eingerichtet
sind; und mit Ausgabemitteln (31) zur Ausgabe der codierten
Daten, gekennzeichnet durch weitere Codiermittel (23, 24),
die zur Codierung der Bildsignale einer Ebene ohne Bezug auf die
Bilddaten der anderen Ebene eingerichtet sind; und durch
Auswahlmittel (32, 30) zur Auswahl entweder der Codiermittel
oder der weiteren Codiermittel zur Codierung des Bildes.
4. Gerät nach Anspruch 1, 2 oder 3, dessen Codiermittel zur
Codierung eines Farbbildes eingerichtet sind.
5. Gerät nach Anspruch 1, 2, 3 oder 4, dessen Codiermittel zur
Codierung eines Mehrbitbildes eingerichtet sind.
6. Gerät nach Anspruch 1, 2, 3, 4 oder 5, dessen Codiermittel
zur Codierung eines Bildes mit prädiktiver Codierung
eingerichtet sind.
7. Gerät nach einem der vorstehenden Ansprüche, dessen
Auswahlmittel (32, 30) durch manuelle Befehlsgabe betriebsbereit
sind.
8. Gerät nach einem der vorstehenden Ansprüche, dessen
Auswahlmittel (32, 30) gemäß dem Umfang codierter von den
Codiermitteln (23, 24) erzeugter Daten betriebsbereit sind.
9. Gerät nach einem der vorstehenden Ansprüche, dessen
Codiermittel (23, 24) zur parallelen Codierung der Bilder
eingerichtet sind.
10. Bildcodierverfahren zur Codierung eines Bildes mit einer
Vielzahl von Ebenen, mit dem Verfahrensschritt des Codierens
eingegebener Bildsignale in entweder einer ersten Codierart, in
der die Bildsignale von jeder Ebene codiert werden, die eine
Punktposition eines Bildsignals vor Codieren der Bildsignale von
anderen Ebenen darstellt, die eine andere Punktposition
darstellt, so daß die Punktpositionen sequentiell codiert
werden, oder in einer zweiten Codierart, in der die Bildsignale
einer Ebene vor den Bildsignalen einer anderen Ebene codiert
werden, so daß die Ebenen sequentiell gemäß einem die erste oder
zweite Codierart auswählenden Auswahlsignal codiert werden, und
mit dem nachfolgenden Verfahrensschritt des Abgebens der
Codierdaten.
11. Verfahren nach Anspruch 10, mit dem weiteren
Verfahrensschritt der Codierung der Bildsignale einer Ebene
entweder unter Bezug auf die Bildsignale einer anderen Ebene
oder ohne Bezug auf die Bildsignale der anderen Ebene gemäß
einem vom Auswahlmittel gelieferten Auswahlsignal.
12. Bildcodierverfahren zur Codierung eines Bildes mit einer
Vielzahl von Ebenen, mit den Verfahrensschritten: Codieren
eingegebener Bildsignale, die ein zu codierendes Bild
darstellen, entweder unter Verwendung einer ersten Codierart, in
der die Bildsignale einer Ebene unter Bezug auf Bildsignale
einer anderen Ebene codiert werden, oder in einer zweiten
Codierart, in der die Bildsignale einer Ebene ohne Bezug auf
Bildsignale einer anderen Ebene codiert werden, gemäß einem von
Auswahlmitteln gelieferten Auswahlsignal, das entweder die erste
oder zweite Codierart auswählt, und dann Ausgeben der codierten
Daten.
13. Verfahren nach Anspruch 10, 11 oder 12, das den
Verfahrensschritt der Codierung von Farbbilddaten umfaßt.
14. Verfahren nach einem der Ansprüche 10 bis 13, das den
Verfahrensschritt der Codierung eines Mehrbitbildes umfaßt.
15. Verfahren nach einem der Ansprüche 10 bis 14, das den
Verfahrensschritt der prädiktiven Codierung des Bildes umfaßt.
16. Verfahren nach einem der Ansprüche 10 bis 15, das den
Verfahrensschritt des manuellen Betätigens der Auswahlmittel
(32, 30) umfaßt.
17. Verfahren nach einem der Ansprüche 10 bis 16, das den
Verfahrensschritt des Betätigens der Auswahlmittel (32, 30)
gemäß dem Umfang codierter Daten umfaßt.
18. Verfahren nach einem der Ansprüche 10 bis 17, das den
Verfahrensschritt des Verwendens der Codierarten zur parallelen
Codierung von Bildern umfaßt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3173956A JPH0522605A (ja) | 1991-07-15 | 1991-07-15 | 画像処理方法及び装置 |
JP3307804A JPH05145766A (ja) | 1991-11-22 | 1991-11-22 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69227217D1 DE69227217D1 (de) | 1998-11-12 |
DE69227217T2 true DE69227217T2 (de) | 1999-03-25 |
Family
ID=26495736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69227217T Expired - Lifetime DE69227217T2 (de) | 1991-07-15 | 1992-07-13 | Bildkodierung |
Country Status (3)
Country | Link |
---|---|
US (1) | US5317411A (de) |
EP (1) | EP0523939B1 (de) |
DE (1) | DE69227217T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19944213C1 (de) * | 1999-09-15 | 2001-05-23 | Inst Telematik E V | Verfahren zum Komprimieren eines digitalen Bildes mit mehreren Bit-Ebenen |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499111A (en) * | 1991-08-06 | 1996-03-12 | Matsushita Graphic Communication Systems, Inc. | Image signal processing apparatus |
US5436981A (en) * | 1992-06-24 | 1995-07-25 | Canon Kabushiki Kaisha | Image processing method, and apparatus therefor |
JP3376129B2 (ja) * | 1993-12-27 | 2003-02-10 | キヤノン株式会社 | 画像処理装置及びその方法 |
JP3081105B2 (ja) * | 1994-05-16 | 2000-08-28 | 三菱電機株式会社 | 符号変換装置 |
US5822456A (en) * | 1994-07-14 | 1998-10-13 | Johnson-Grace | Optimal spline interpolation for image compression |
AU698055B2 (en) | 1994-07-14 | 1998-10-22 | Johnson-Grace Company | Method and apparatus for compressing images |
JPH08204971A (ja) * | 1994-10-31 | 1996-08-09 | Xerox Corp | 予測符号化と誤差拡散を用いた画像圧縮方法 |
US5659631A (en) * | 1995-02-21 | 1997-08-19 | Ricoh Company, Ltd. | Data compression for indexed color image data |
US6101282A (en) * | 1995-06-22 | 2000-08-08 | Canon Kabushiki Kaisha | Apparatus and method for image data encoding |
US5742845A (en) | 1995-06-22 | 1998-04-21 | Datascape, Inc. | System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network |
EP0750428B1 (de) * | 1995-06-22 | 2004-03-31 | Canon Kabushiki Kaisha | Bildverarbeitungsgerät und Verfahren |
US6389162B2 (en) | 1996-02-15 | 2002-05-14 | Canon Kabushiki Kaisha | Image processing apparatus and method and medium |
ATE224121T1 (de) * | 1996-07-31 | 2002-09-15 | Matsushita Electric Ind Co Ltd | Verfahren und vorrichtung zur bilddekodierung |
JP3185769B2 (ja) * | 1998-10-26 | 2001-07-11 | 日本電気株式会社 | 画像信号処理装置 |
JP3853115B2 (ja) * | 1999-08-27 | 2006-12-06 | シャープ株式会社 | 画像符号化装置、画像復号化装置、画像符号化方法及び画像復号化方法 |
EP1225704A1 (de) * | 2001-01-12 | 2002-07-24 | STMicroelectronics S.r.l. | Verfahren und System zur Komprimierung und Dekomprimierung von digitalen Informationen und Rechnerprogrammprodukt dafür |
JP2009100125A (ja) * | 2007-10-15 | 2009-05-07 | Toshiba Corp | 符号化装置 |
EP3200456A1 (de) * | 2016-01-28 | 2017-08-02 | Axis AB | Videocodierungsverfahren und videocodierersystem zur zeitliche rauschminderung |
US20220107738A1 (en) * | 2020-10-06 | 2022-04-07 | Kioxia Corporation | Read controller and input/output controller |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0614685B2 (ja) * | 1984-03-29 | 1994-02-23 | 株式会社東芝 | 画像信号処理装置 |
US4688100A (en) * | 1984-10-08 | 1987-08-18 | Canon Kabushiki Kaisha | Video data encoding/decoding apparatus |
JPS6231266A (ja) * | 1985-08-02 | 1987-02-10 | Canon Inc | 静止画送受信装置 |
EP0395394B1 (de) * | 1989-04-26 | 1995-06-28 | Canon Kabushiki Kaisha | Bildkodierverfahren |
DE69033411T2 (de) * | 1989-09-05 | 2008-10-09 | Canon K.K. | Farbbildkodierung |
-
1992
- 1992-07-13 DE DE69227217T patent/DE69227217T2/de not_active Expired - Lifetime
- 1992-07-13 EP EP92306400A patent/EP0523939B1/de not_active Expired - Lifetime
- 1992-07-14 US US07/913,040 patent/US5317411A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19944213C1 (de) * | 1999-09-15 | 2001-05-23 | Inst Telematik E V | Verfahren zum Komprimieren eines digitalen Bildes mit mehreren Bit-Ebenen |
Also Published As
Publication number | Publication date |
---|---|
DE69227217D1 (de) | 1998-11-12 |
EP0523939B1 (de) | 1998-10-07 |
US5317411A (en) | 1994-05-31 |
EP0523939A3 (de) | 1993-04-21 |
EP0523939A2 (de) | 1993-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69227217T2 (de) | Bildkodierung | |
DE69227533T2 (de) | Bildverarbeitungsverfahren und -gerät | |
DE69020424T2 (de) | Bildkodierverfahren. | |
DE69033579T2 (de) | Bildverkleinerungsgerät und Verfahren | |
DE69220269T2 (de) | Anordnung und Verfahren zur Vorverarbeitung binärer Bilddaten von Lauflängekodierung | |
DE68927702T2 (de) | Bildcodierverfahren und -gerät | |
DE3636675C2 (de) | ||
DE19506164C2 (de) | Verfahren zum Komprimieren eingegebener Symbole in Codeworte | |
DE69632620T2 (de) | Verfahren und Vorrichtung zur Kodierung und Dekodierung eines Bildes | |
DE69131838T2 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
DE69411804T2 (de) | Umgekehrte Halbtonrasterung durch lineare Filterung und statistische Glättung | |
DE3689062T2 (de) | Verfahren und Vorrichtung zum Erzeugen von Hochauflösungsbinärbilddaten. | |
DE68914918T2 (de) | Bildcodierungsgerät. | |
DE69129950T2 (de) | Bildverarbeitungsgerät | |
DE69326031T2 (de) | Verfahren und Anordnung zum Erzeugen eines Konturvektors und zur Bildvergrösserung/-verkleinerung | |
DE68926386T2 (de) | Bildkodiervorrichtung und Bildkodierverfahren | |
DE69419545T2 (de) | Verfahren und Gerät zur Kompression binärer Bilddaten | |
DE69033411T2 (de) | Farbbildkodierung | |
DE69030178T2 (de) | Vorrichtung und verfahren zum aufbewahren von bildern | |
DE3815586C2 (de) | Kompressionsverfahren für Bildsignale | |
DE3886804T2 (de) | Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist. | |
US5761342A (en) | Image processing apparatus and method | |
DE69719740T2 (de) | Vorrichtung und verfahren zur bildsignalkodierung und -dekodierung sowie aufzeichnungsmedium | |
DE3811535A1 (de) | Hybrid-codierer fuer videosignale | |
DE69514484T2 (de) | Bildkompression und -dekompression durch prädikative Kodierung und Fehlerdiffusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |