DE69320147T2 - Vorrichtung zur Bildkodierung - Google Patents
Vorrichtung zur BildkodierungInfo
- Publication number
- DE69320147T2 DE69320147T2 DE69320147T DE69320147T DE69320147T2 DE 69320147 T2 DE69320147 T2 DE 69320147T2 DE 69320147 T DE69320147 T DE 69320147T DE 69320147 T DE69320147 T DE 69320147T DE 69320147 T2 DE69320147 T2 DE 69320147T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- carry
- code
- signal storage
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 23
- 238000010606 normalization Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 7
- 230000000717 retained effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition 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/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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
- Die Erfindung betrifft eine Bildkodiervorrichtung zur Komprimierungskodierung von Bilddaten und insbesondere eine Bildkodiervorrichtung zur Kodierung von Bilddaten unter Verwendung von arithmetischen Codes.
- Die arithmetischen Codes werden beispielsweise für eine in ISO/IED (Komiteeaufzeichnung 11544) usw. beschriebene Bildkomprimierung durch angepaßte Prädiktion verwendet.
- Fig. 1 zeigt ein Beispiel der arithmetische Codes verwendenden Kodierschaltung.
- Die binären Daten I eines zu kodierenden Ziel-Bildelements werden einem exklusiven ODER-Gatter 904 zugeführt. Ebenfalls werden die binären Daten X einer Vielzahl von Bezugsbildelementen in der Nähe des Ziel-Bildelements einem Prädiktions-Zustandsspeicher 901 zugeführt, der Prädiktions- Bildelementdaten "0" oder "1" gemäß dem Zustand der Bezugsbildelementdaten dem exklusiven ODER-Gatter 904 zuführt. Das exklusive ODER-Gatter 904 überprüft, ob die Ziel- Bildelementdaten I mit den Prädiktions-Bildelementdaten aus dem Prädiktions-Zustandsspeicher 901 übereinstimmen, und führt das Ergebnis einer Arithmetik-Kodiereinrichtung 903 zu.
- Die Arithmetik-Kodiereinrichtung 903 ist mit einem das derzeitige Kodierintervall anzeigenden Intervallgrößenregister (A-Register) und einem Coderegister (C-Register) versehen und verschiebt die Werte der A- und C-Register gemäß dem Ausgangssignal des exklusiven ODER-Gatters 904. Dann werden Werte von aufeinanderfolgenden 8 Bits in einer bestimmten Position in dem C-Register als kodierte Daten ausgegeben.
- Der Inhalt des Prädiktions-Zustandsspeichers 901 wird gemäß einer Anweisung einer Prädiktionserneuerungseinheit 902 erneuert, die das den Wert des A-Registers der Arithmetik- Kodiereinrichtung 903 aufweisende Kodierergebnis empfängt. Folglich führt der Prädiktions-Zustandsspeicher 901 zu den derzeitigen Kodierbetrieb die Prädiktions-Bildelementdaten dem exklusiven ODER-Gatter 904 geeignet zu.
- Fig. 2 zeigt ein Flußdiagramm des Kodierbetriebs der Kodiereinrichtung 903.
- Es wird angenommen, daß die A- und C-Register in der Kodiereinrichtung 903 jeweils eine Kapazität von 32 Bits aufweisen, wobei ein Abschnitt A als 0 (0000H) - 0,5 (8000H) - 1,0 (10000H) definiert ist und H für eine hexadezimale Zahl steht.
- Das exklusive ODER-Gatter 904 vergleicht die Ziel- Bildelementdaten mit den Prädiktions-Bildelementdaten, wobei unterschieden wird, ob beide Daten miteinander übereinstimmen (S201). In dem Fall einer Übereinstimmung wird eine in Fig. 4 gezeigte erneute Normierung ausgeführt, und in dem Fall einer Nichtübereinstimmung wird eine in Fig. 5 gezeigte erneute Normierung ausgeführt. Fig. 3 zeigt den Ablauf einer erneuten Normierung.
- Die in Fig. 3 gezeigte erneute Normierung wird in dem Fall ausgeführt, in dem die Ziel-Bildelementdaten und die Prädiktions-Bildelementdaten nicht miteinander übereinstimmen, und ebenfalls in dem Fall, in dem beide Daten miteinander übereinstimmen und der Wert A des A-Registers kleiner als 0,5 (8000H) ist.
- Zuerst werden zur Verdoppelung der Inhalte der A- und C- Register die Inhalte der Register um ein Bit in die Richtung des höchstwertigen Bits (MSB) verschoben, wobei der Zählwert einer die Anzahl von Verschiebungen zählenden CT- Zähleinrichtung um "1" verringert wird (S301). Gemäß diesem Beispiel werden die Daten in einer bestimmten Position in dem C-Register als kodierte Daten bei jeder achten Verschiebung herausgenommen, um die kodierten Daten als parallele 8-Bit-Daten zu handhaben. Somit wird ein Wert "8" in der CT-Zähleinrichtung anfänglich eingestellt, wobei der Wert bei jeder 1-Bit-Verschiebung des A-Registers schrittweise verringert wird. Die kodierten 8-Bit-Daten werden erhalten, wenn der Zählwert der CT-Zähleinrichtung "0" erreicht.
- Somit wird unterschieden, ob der Wert der CT-Zähleinrichtung "0" ist (S302), wobei, falls der Wert der CT- Zähleinrichtung "0" ist, die kodierten 8-Bit-Daten aus dem C-Register herausgenommen und ausgegeben werden (S303), und falls der Wert der CT-Zähleinrichtung nicht "0" ist, die kodierten Daten nicht ausgegeben werden.
- Es wird sodann unterschieden, ob der Wert A des A-Registers nach einer 1-Bit-Verschiebung kleiner als 0,5 (8000H) ist (S304), wobei, falls der Wert A des A-Registers nicht kleiner als 0,5 (8000H) ist, die erneute Normierung beendet ist. Demgegenüber kehrt, falls der Wert A des A-Registers kleiner als 0,5 (8000H) ist, der Ablauf zu dem Schritt S301 zur erneuten Durchführung der 1-Bit-Verschiebungen der A- und C-Register und der schrittweisen Subtraktion der CT- Zähleinrichtung zurück. Diese Verschiebungen werden wiederholt, bis der Wert A des A-Registers nicht länger kleiner als 0,5 (8000H) wird.
- Im folgenden wird der Übergang des Zustands des A-Registers in die erneuten Normierung mit Bezug auf Fig. 4 und 5 beschrieben.
- Bei Übereinstimmung der Ziel-Bildelementdaten mit den Prädiktions-Bildelementdaten wird ein konstantes niedrigswertiges Kodierintervall (LSZ) von dem Wert A des A-Registers subtrahiert (S202). Dann wird unterschieden, ob der Wert A des A-Registers kleiner als 0,5 (8000H) ist (S203), wobei, falls der Wert A des A-Registers nicht kleiner als 0,5 (8000H) ist, der Kodierbetrieb über einen Pfad 2 beendet wird (Phasen 1, 2 in Fig. 4).
- Falls der Wert A des A-Registers kleiner als 0,5 (8000H) ist, geht der Ablauf über zu einem Pfad 1 zur Addition des Wertes A des A-Registers zu dem Wert C des C-Registers (S204). Dann wird die in Fig. 3 gezeigte erneute Normierung ausgeführt, um den Wert A, der kleiner als 0,5 (8000H) ist, durch Verschiebung der A- und C-Register auf einen Wert zu bringen, der größer oder gleich 0,5 (8000H) ist (S205). Auf diese Weise werden die Inhalte der A- und C-Register erneuert (Phase 3 in Fig. 4). In diesem Zustand erreicht der Zählwert der die Anzahl von Verschiebungen des A-Registers zählenden CT-Zähleinrichtung "0", worauf das obere Byte des C-Registers als die kodierten Daten ausgegeben wird.
- Demgegenüber geht bei Nichtübereinstimmung der Ziel- Bildelementdaten mit den Prädiktions-Bildelementdaten der Ablauf über zu einem Pfad 3, um den Wert A des A-Registers als das konstante niedrigstwertige Kodierintervall (LSZ) zu definieren (S206), und um die in Fig. 3 gezeigte erneute Normierung durch Verschiebung des A-Registers auszuführen, bis dessen Wert A größer oder gleich 0,5 (8000H) wird (Phasen 1, 2, 3, 4 in Fig. 5). Gemäß dem in Fig. 5 gezeigten Beispiel wird das A-Register 3 mal verschoben. Auf diese Weise wird der Inhalt des A-Registers erneuert. Das C- Register ist ebenfalls gleichermaßen verschoben. Gemäß dem in Fig. 5 gezeigten Beispiel erreicht der Zählwert der CT- Zähleinrichtung bei der ersten Verschiebung "0", worauf das obere Byte des C-Registers als die kodierten Daten ausgegeben wird, und wobei dann das C-Register auf "8" eingestellt ist.
- In der vorstehend beschriebenen, arithmetische Codes verwendenden Kodierschaltung wird der in dem C-Register verschobene Wert C als die kodierten Daten in 8-Bit-Einheiten ausgegeben. Der Wert C wird zu dem Wert A addiert, wie es bei dem Schritt S204 in Fig. 2 gezeigt ist. Folglich kann sich aus der Addition eines bestimmten Wertes C und eines bestimmten Wertes A eine Summe ergeben, die den Wert FFH übersteigt. In einem derartigen Fall beeinflußt der Übertrag zumindest die vorangehenden kodierten 8-Bit-Daten. Folglich können die 8-Bit-Daten aus dem C-Register als die kodierten Daten zu dem Übertragungskanal oder dergleichen nicht direkt zugeführt werden, und, falls die Addition der Werte C und A den Wert FFH übersteigen kann und sich ein Übertrag ergeben kann, muß ein derartiger Übertrag durch ein geeignetes Verfahren verarbeitet werden.
- Als Verfahren zur Verwirklichung dieses Zweckes ist ein sogenanntes Übertrag-Warte-Verfahren bekannt, bei dem eine von dem Kodierregister ausgegebene Code-Bit-Folge nicht übertragen, sondern gespeichert wird, falls sie die Möglichkeit eines Übertrages aufweist.
- Dieses Übertrag-Warte-Verfahren wird im folgenden durch ein Beispiel beschrieben.
- Fig. 6 zeigt eine Schaltung für das Übertrag-Warte- Verfahren. In dem Fall einer erneuten Normierung in einer Arithmetik-Kodiereinrichtung 903 wird deren Ausgangssignal in einem TEMP-Register 302 gespeichert. Das Ausgangssignal wird durch einen Übertrag aufweisende 9-Bit-Daten gebildet. Das Ausgangssignal b des TEMP-Registers 302 wird durch das Übertragsbit, und das Ausgangssignal c wird durch kein Übertragsbit aufweisende 8-Bit-Daten gebildet. Das Ausgangssignal b wird einer Übertragsunterscheidungsschaltung 303 zugeführt, die einen (hohen) H-Pegel oder einen (niedrigen) L-Pegel zu den Ausgang j ausgibt, wenn der Übertrag vorhanden ist beziehungsweise fehlt. Das Ausgangssignal c wird einer FF-Unterscheidungsschaltung 304 zur Unterscheidung, ob c gleich FFH ist, und zu einem Zwischenspeicher-(Puffer-) Register 305 zur Speicherung des Ausgangssignals c zugeführt. Die FF-Unterscheidungsschaltung 304 gibt ein Taktsignal d für eine Erhöhung einer SC- Zähleinrichtung 306 in dem Fall, daß c gleich FFH ist, und ein Taktsignal e zur Speicherung von c in dem Zwischenspeicherregister 305 in dem Fall, daß c nicht gleich FFH ist, aus.
- Zum Zweck der Vereinfachung wird die Arbeitsweise durch ein Beispiel beschrieben.
- Es ist angenommen, daß die SC-Zähleinrichtung 306 mit einem Ausangssignal k = 0 zurückgesetzt wurde, und das Zwischenspeicherregister 305 das Signal C3H speichert. Bei der nächsten erneuten Normierung wird das Ausgangssignal der Arithmetik-Kodiereinrichtung 903 in einem TEMP-Register 302 gespeichert, wobei der gespeicherte Wert mit BAH angenommen ist. In dem Fall einer Speicherung von BAH ist b gleich "0" und ist c gleich BAH, da das Übertragsbit nicht enthalten ist. Folglich gibt die Übertragsunterscheidungsschaltung 303 ein Ausgangssignal "L" aus, wobei die FF- Unterscheidungsschaltung 304 das Taktsignal d zur Erhöhung der SC-Zähleinrichtung 306 nicht ausgibt, sondern das Taktsignal e zur Speicherung des Signals c in dem Zwischenspeicherregister 305 ausgibt.
- Eine Additionseinrichtung 307 führt eine logische Verknüpfung S = A + B aus. Vor der erneuten Normierung speichert das Zwischenspeicherregister 305 das Signal C3H, und nach der erneuten Normierung gibt die Übertragsunterscheidungsschaltung 303 ein Ausgangssignal j = L aus, so daß ein Schalter 308 auf der L-Seite positioniert ist, wobei die Additionseinrichtung 307 an dem Eingang B das Signal 00H empfängt. Folglich gibt die Additionseinrichtung 307 ein Ausgangssignal g = C3H aus.
- Eine Steuerschaltung 309 gibt Steuerungssignale h, i aus, die die Arbeitsweisen von Schaltern 310, 311 gemäß den logischen Werten von j, k bestimmen. In dem Fall, daß j = k = 00H sind, ist das Signal i gleich L und der Schalter 311 ist auf der L-Seite positioniert. Folglich wird ein bei dem Ausgang o erhaltenes Signal C3H ausgegeben.
- In dem folgenden wird ein weiterer Fall beschrieben. Bei dem vorstehend beschriebenen Ablauf wird erneut die Situation betrachtet, bei der das Zwischenspeicherregister das Signal C3H speichert und die erneute Normierung wieder ausgeführt wurde. Es wird nun angenommen, daß das TEMP- Register 302 das Signal FFH anstelle von BAH speichert. Da kein Übertrag vorhanden ist, ist b = 0 und ist c = FFH. Da C = FFH ist, gibt die FF-Unterscheidungsschaltung 304 ein Taktsignal d zur Ausführung einer Erhöhung der SC- Zähleinrichtung 306 aus. Jedoch wird das Taktsignal e zur Speicherung des Wertes des TEMP-Registers 302 in das Zwischenspeicherregister 305 nicht ausgegeben. Folglich ist das Ausgangssignal f des Zwischenspeicherregisters 305 noch C3H. Falls das Ausgangssignal der Arithmetik- Kodiereinrichtung 903 bei der nächsten erneuten Normierung noch FFH ist, wird der Zählwert der SC-Zähleinrichtung 306 weiter erhöht, während das Zwischenspeicherregister 305 noch das Signal C3H speichert. Falls der Wert FFH für n- fache erneute Normierungen fortdauert, nimmt das Ausgangssignal k der SC-Zähleinrichtung 306 den Wert n an, während das Ausgangssignal f des Zwischenspeicherregisters 205 bei dem Signal C3H verbleibt. Es wird nun angenommen, daß bei der nächsten erneuten Normierung das Signal 3EH in dem TEMP-Register 302 gespeichert ist. Da kein Übertrag und keine Übereinstimmung mit dem Signal FFH vorliegen, wird das Signal C3H an dem Ausgang o ausgegeben. Somit gibt die Steuerschaltung 309 die Signale h = L und i = H aus. Das Signal FFH wird n mal am Ausgang o ausgegeben. Dann wird die SC-Zähleinrichtung 306 zurückgesetzt, und das Signal 3EH wird in dem Zwischenspeicherregister 305 gespeichert. Während der n-fachen Ausgaben des Signals FFH können keine neue kodierte Daten erhalten werden, so daß die vorangehende Kodierverarbeitung vorübergehend eingestellt ist.
- Im folgenden wird ein weiterer Fall betrachtet. Es wird erneut eine Situation betrachtet, bei der das Zwischenspeicherregister 305 das Signal C3H speichert und die SC- Zähleinrichtung 306 ein Ausgangssignal n ausgibt. Es wird nun angenommen, daß das Signal 13EH bei der nächsten erneuten Normierung in dem TEMP-Register 302 gespeichert ist. Das Register 302 gibt ein Ausgangssignal b = 1 aus, so daß die Übertragsunterscheidungsschaltung 303 das Vorhandensein eines Übertrags identifiziert, um ein Ausgangssignal j = H auszugeben. Somit wechselt der Schalter 308 auf die H- Seite, wobei das Signal 01H der Additionseinrichtung 307 zugeführt wird, die somit ein von dem Ausgang o ausgegebenes Ausgangssignal g = C4H ausgibt. Nachfolgend schaltet die Steuerschaltung 309 die Signale h, i auf den (hohen) H- Pegel, wobei das Signal 00H gemäß dem Zählwert der SC- Zähleinrichtung n-mal ausgegeben wird. Der Zählwert des Zwischenspeicherregisters 302 wird 3EH, und die SC- Zähleinrichtung 306 wird zurückgesetzt. Ebenfalls während der n-fachen Ausgabe des Signals 00H können die neuen kodierten Daten nicht erhalten werden, so daß die vorangehende Kodierverarbeitung vorübergehend eingestellt ist.
- Bei der vorstehenden Beschreibung ist der Zählwert der SC- Zähleinrichtung 306 mit n angenommen, wobei aber dieselbe Beschreibung auf jeden Wert von n größer oder gleich 0 angewendet werden kann.
- Fig. 7 zeigt ein Flußdiagramm des Ablaufs des Übertrag- Warte-Verfahrens.
- Synchron zu der erneuten Normierung des A-(Augent)- Registers (S2) werden die Daten des C-(Code-) Registers in 8- Bit-(1 Byte-) Einheiten oder in Einheiten eines Übertragsbits + 8-Bits ausgeben und in dem TEMP-Register gespeichert (S3). Ist der Inhalt des TEMP-Registers kleiner als FFH (S4), wird der Inhalt in dem Zwischenspeicherregister gespeichert. Da sich bei den aus dem C-Register auszugebenden nächsten Daten ein Übertrag ergeben kann, wird der Inhalt des Zwischenspeicherregisters nicht ausgegeben, sondern es tritt ein Wartezustand ein (S6). Sind die aus dem C- Register ausgegebenen und in dem TEMP-Register gespeicherten nächsten Daten kleiner als FFH, so besteht nicht länger die Möglichkeit eines Übertrages für das Zwischenspeicherregister, so daß die Inhalte des Zwischenspeicherregisters als die kodierten Daten ausgegeben werden und der Inhalt des TEMP-Registers in dem Zwischenspeicherregister neu erhalten wird.
- Ist der Inhalt des TEMP-Registers FFH (S5), können die nächsten Daten aus dem C-Register einen Übertrag erzeugen, so daß der Inhalt des Zwischenspeicherregisters nicht ausgegeben werden kann und der Wartezustand deshalb fortgesetzt wird (S7). In diesem Zustand wird der die Anzahl von Speichervorgängen des Signals FFH in die TEMP- Zähleinrichtung anzeigende Zählwerts der SC-Zähleinrichtung um eins erhöht. In dem Fall sind die Daten von dem Kodierregister aufeinanderfolgend FFH, ist das Ausgangssignal aus dem Zwischenspeicherregister aufgehoben, und zählt die SC- Zähleinrichtung die Anzahl der Speicherungen von FFH im TEMP-Register. Ist der Zählwert des TEMP-Registers in diesem Zustand kleiner als FFH, ist der Übertrag nicht erzeugt, so daß der Inhalt des Zwischenspeicherregisters ausgegeben wird. Somit wird das Signal FFH mit der durch die SC-Zähleinrichtung gezählten Anzahl ausgegeben, dann wird der Inhalt des TEMP-Registers in dem Zwischenspeicherregister neu gespeichert, und die SC-Zähleinrichtung wird gelöscht. Ist der Inhalt des TEMP-Registers größer als FFH, womit ein Übertrag erzeugt ist (S4), dann wird der Übertrag zu dem Zwischenspeicherregister übertragen. Somit wird der Inhalt des Zwischenspeicherregisters +1 ausgegeben, und das Signal 00H wird mit einer durch die SC-Zähleinrichtung gezählten Anzahl ausgegeben. Das Zwischenspeicherregister speichert den das Übertragsbit nicht aufweisenden Inhalt des TEMP-Registers, und die SC-Zähleinrichtung wird zurückgesetzt (S8).
- Wie es aus dem in Fig. 7 gezeigten Ablauf ersichtlich ist, kann bei der bei dem Schritt S6 erfolgenden Ausgabe des Signals FFH mit der durch die SC-Zähleinrichtung gezählten Anzahl oder bei der bei einem Schritt S8 erfolgenden Ausgabe des Signals 00H mit der durch die SC-Zähleinrichtung gezählten Anzahl die nächste Kodierverarbeitung nur nach der Ausgabe von FFH oder 00H begonnen werden. Folglich ist die Kodierverarbeitung vorübergehend während einer derartigen Ausgabe von FFH oder 00H mit der durch die SC- Zähleinrichtung gezählten Anzahl abgestellt.
- Bei der vorstehend beschriebenen Kodiervorrichtung des Übertrag-Warte-Verfahrens werden bei Übertragung des Übertrags zu den ausgegebenen kodierten Daten die kodierten Daten durch Unterbrechung der Kodierverarbeitung ausgegeben. Aus diesem Grund wies eine derartige Vorrichtung einen Nachteil der Unfähigkeit einer Echtzeitverarbeitung (wie beispielsweise bei einer Faksimile-Vorrichtung das Lesen eines Vorlagenschriftstücks mit einem Sensor bei gleichzeitigem Kodieren der binärkodierten Daten mit einer Kodiereinrichtung) auf, wobei es notwendig war, das Vorlagenlesen zu unterbrechen oder das Kodieren durchzuführen, nachdem die binärkodierten Daten in einem Speicher gespeichert wurden. Aus diesem Grund wurde für das Kodieren eine lange Zeit benötigt oder es war ein Speicher zur Speicherung der binärkodierten Daten erforderlich.
- Gemäß der vorstehenden Beschreibung betrifft die Erfindung die Bereitstellung einer Bildkodiervorrichtung, die zur Echtzeitverarbeitung bei arithmetischem Kodieren geeignet ist, und ein Verfahren dafür.
- Ein weiteres Ziel der Erfindung ist es eine Bildkodiervorrichtung bereitzustellen, die zur sofortigen und effizienten Ausführung der Übertragsverarbeitung bei der Kodierung unter Verwendung von arithmetischen Codes geeignet ist, ohne die vorangehende Kodierung zu beeinflussen, und ein zugehöriges Verfahren.
- Ein weiteres Ziel der Erfindung ist es, eine Bildkodiervorrichtung sowie ein zugehöriges Verfahren bereitzustellen zur Ausführung der vorstehend genannten Übertragsverarbeitung ohne vorübergehende Unterbrechung der vorangehenden Kodierverarbeitung,.
- Entsprechend einem Aspekt der Erfindung wird eine Bildkodiervorrichtung wie in Patentanspruch 1 angegeben bereitgestellt.
- Gemäß einem zweiten Aspekt weist die Erfindung ein Bildkodierverfahren wie in Patentanspruch 7 angegeben auf.
- Sowohl das IBM Technical Disclosure Bulletin, Ausgabe 23, Nr. 1, Juni 1980, New York USA, Seiten 310 bis 312 als auch die US-A-4 973 961 offenbaren Datenverarbeitungssysteme, bei denen ein Zählwert bestehend aus Bytes aufeinanderfolgender logischer Einsen aufsummiert wird und eine Übertragsverarbeitung unter Verwendung des aufsummierten Zählwerts ausgeführt wird. Weder lösen diese Offenbarungen das in der Einleitung der Beschreibung angegebene Problem, noch offenbaren sie die Vielzahl von Codes-Signalspeicher- Einrichtungen (Latch-Einrichtungen) und Daten- Signalspeicher-Einrichtungen (Latch-Einrichtungen), wie sie in dem unabhängigen Anspruch der Erfindung angegeben sind.
- Die Erfindung wird nachstehend anhand der bevorzugten Ausführungsbeispiele unter Bezugnahme auf die Zeichnung näher beschrieben.
- Fig. 1 zeigt ein Blockschaltbild eines Beispieles der arithmetische Codes verwendenden Kodierschaltung.
- Fig. 2 zeigt ein Flußdiagramm des Kodierablaufs durch arithmetische Codes.
- Fig. 3 zeigt ein Flußdiagramm des Ablaufs einer erneuten Normierung in arithmetischen Codes.
- Fig. 4 und 5 zeigen Ansichten von erneuten Normierungsvorgängen.
- Fig. 6 zeigt ein Blockschaltbild einer Schaltung zur Übertragsverarbeitung in arithmetischen Codes.
- Fig. 7 zeigt ein Flußdiagramm des Ablaufs einer Übertragsverarbeitung.
- Fig. 8 zeigt ein Blockschaltbild einer Arithmetik- Kodierschaltung gemäß einem Ausführungsbeispiel der Erfindung.
- Fig. 9 zeigt ein Blockschaltbild eines Beispieles der Prioritätskodiereinrichtung.
- Fig. 10 zeigt eine Tabelle der Anzahl von Verschiebungen für eine erneute Normierung.
- Fig. 11 zeigt ein Blockschaltbild des Aufbaus einer Tonnen- Verschiebeeinrichtung und eines A-Registers.
- Fig. 12 zeigt eine Tabelle von in einem CTV-Register erhaltenen Werten.
- Fig. 13 zeigt ein Schaltbild eines erfindungsgemäßen Beispiels der Übertragsteuerschaltung, und
- Fig. 14 zeigt ein Schaltbild eines weiteren erfindungsgemäßen Beispiels der Übertragsteuerschaltung.
- Nachstehend wird die Erfindung ausführlich anhand ihrer bevorzugten Ausführungsbeispiele beschrieben.
- Fig. 8 zeigt den Aufbau einer die Erfindung veranschaulichenden Kodiereinrichtung, wobei die Kodiereinrichtung in Fig. 8 als die Kodiereinrichtung 903 in Fig. 1 zum Bilden der die arithmetischen Codes verwendenden Bildkodiervorrichtung verwendet wird.
- Es sind ein 16-Bit-C-Register 201; ein 16-Bit-A-Register 202 zur Speicherung von Daten, die das derzeitige Kodierintervall anzeigen, das eines der zur Kodierung der Bilddaten verwendeten Parameter ist; Tonnenschiebeeinrichtungen 203, 204 zur Bitverschiebung des C-Registers 201 beziehungsweise des A-Registers 202; und ein CT-Register 205 zur Erhaltung des CT-Werts bereitgestellt. In dem in Fig. 8 gezeigten Aufbau ist eine Zähleinrichtung zur Subtraktion verwendet, wobei aber gemäß diesem Ausführungsbeispiel ein Register zur Erhaltung des eingegebenen CT-Werts verwendet wird.
- Eine Prioritätkodiereinrichtung 206 empfängt die Ausgangssignale des A-Registers 202 und des CT-Registers 205, steuert die Verschiebungen der Tonnenschiebeeinrichtungen 203, 204 und steuert ebenfalls eine CT-Aktualisierungs- Logikschaltung 211 zur Erneuerung des Wertes des CT- Registers 205. Sie steuert ebenfalls ein Hoch-Byte-Register 207 und ein Niedrig-Byte-Register 208 zur Steuerung der Ausgabe der in dem C-Register 201 gespeicherten oberen und unteren Bites. Es ist ebenfalls eine Übertragsteuerschaltung 209 bereitgestellt.
- Der Inhalt des A-Registers 202 wird in einer Subtraktionseinrichtung 212 der Subtraktion eines niedrigstwertigen Kodierintervalls (LSZ) von einer Erzeugungseinrichtung 213 eines niedrigstwertigen Kodierintervalls (LSZ) unterzogen, wobei das Ergebnis der Subtraktion einer Auswahleinrichtung 214 zugeführt wird. Die Auswahleinrichtung 214 empfängt ebenfalls das niedrigstwertige Kodierintervall (LSZ) von der Erzeugungseinrichtung 214 des niedrigstwertigen Kodierintervalls (LSZ). Die Auswahleinrichtung 214 wählt eines der zwei Eingangssignale gemäß dem Ausgangssignal eines exklusiven ODER-Gatters 904 aus, daß Übereinstimmung oder Nichtübereinstimmung zwischen dem Ziel-Bildelement und dem Prädiktions-Bildelement anzeigt. Im einzelnen wählt sie im Fall einer Übereinstimmung das Ausgangssignal (A-LSZ) von der Subtraktionseinrichtung 214 oder im Fall einer Nichtübereinstimmung das niedrigstwertige Kodierintervall (LSZ) von der Erzeugungseinrichtung 213 des niedrigstwertigen Kodierintervalls (LSZ) aus, wobei das ausgewählte Signal dem A-Register 202 zur Erneuerung dessen Inhalts zugeführt wird.
- Der Wert des C-Registers 201 wird ebenfalls in einer Additionseinrichtung 215 zu dem Ausgangssignal (A-LSZ) der Subtraktionseinrichtung 212 addiert und wird einem Gatter 216 zugeführt, das das Ausgangssignal der Additionseinrichtung 215 dem C-Registers 201 im Ansprechen auf das Ausgangssignal des exklusiven ODER-Gatters 904 zuführt, das die Nichtübereinstimmung zwischen dem Ziel-Bildelement und dem Prädiktions-Bildelement anzeigt, wodurch der Inhalt des C- Registers erneuert wird.
- Da der Wert A des A-Registers bei der Ausführung einer erneuten Normierung innerhalb eines Bereichs von 1 ≤ A ≤ 7FFFH liegt, kann die Anzahl von Bits einer Verschiebung gemäß dem Bereich von A eindeutig bestimmt werden, wie es in Fig. 10 gezeigt ist. Dies kann als "Finden von '1' in einer zu der höchstwertigen Bit-(MSB-) Seite am nächsten liegenden Bitposition innerhalb der Bits des A- Registers" dargestellt sein. Somit kann die vorstehend genannte Bitposition durch eine in Fig. 9 gezeigte Prioritätskodiereinrichtung 206 erfaßt werden.
- Mit Bezug auf Fig. 9 besteht die Prioritätskodiereinrichtung 206 aus einer Logikschaltungseinheit 509 und einer 16- zu-4-Kodiereinrichtung 508. Die in dem A-Register 202 gespeicherten Bits werden bitweise parallel herausgenommen und der Logikschaltungseinheit 509 zugeführt, die aus Invertern 502, 504, 506, ... und UND-Gattern 503, 505, 507, ... besteht. Die Logikschaltungseinheit 509 ist so aufgebaut, daß ein Ausgangssignal eines hohen Pegels nur von einem UND-Gatter unter den UND-Gattern 503, 505, 507, ..., entsprechend der '1' der zu dem höchstwertigen Bit (MSB) am nächsten befindlichen Bitposition unter denen in dem A- Register 202 gespeicherten Bits erhalten wird. Speichert das A-Register 202 Daten "0101...", dann wird somit das Ausgangssignal mit einem hohen Pegel nur von dem UND-Gatter 503 entsprechend dem zweiten Bit, oder dem höchstwertigen Bit (MSB) -1 des A-Registers 202 erhalten. Die Ausgangssignale der UND-Gatter 503, 505, 507, ... werden der 16-zu- 4-Codiereinrichtung 508 zugeführt, die die Bitposition anzeigende 4-Bit-Daten ausgibt.
- Fig. 10 zeigt die Entsprechung zwischen dem Wert des A- Registers 202 bei der erneuten Normierung und der Anzahl von Verschiebungen des A-Registers 202.
- Die Anzahl von Verschiebungen der Prioritätskodiereinrichtung 206 wird den Tonnenschiebeeinrichtungen 203, 204 zugeführt, die die Inhalte des C-Registers 201 und des A- Registers 202 um 1 bis 15 Bits auf einmal entsprechend verschieben.
- Fig. 11 zeigt den Aufbau der Tonnenschiebeeinrichtung 204 und des A-Registers 202. Die Tonnenschiebeeinrichtung 203 und das C-Register 201 sind ebenfalls in derselben Weise aufgebaut.
- In dem A-Register 202 gespeicherte 16-Bit-Daten werden der Tonnenschiebeeinrichtung 204 parallel zugeführt. Die niedrigeren 15 Bits der Tonnenschiebeeinrichtung 204 empfangen "0".
- Die Anzahl von Verschiebungen der Prioritätskodiereinrichtung 206 wird der Tonnenschiebeeinrichtung 204 zugeführt, die beliebige Daten von aufeinanderfolgenden 16 Bits unter dem 31-Bit-Eingangssignal gemäß der Anzahl von Verschiebungen auswählt und ausgibt. Gibt die Prioritätskodiereinrichtung 26 beispielsweise eine Anzahl von Verschiebungen von "3" ein, wählt die Tonnenschiebeeinrichtung 204 von dem Eingangssignal von 31 Bits N&sub2;&sub7;, N&sub2;&sub6;, N&sub2;&sub5;, ... N&sub1;&sub2; aus und gibt die 16-Bit-Daten zu den Ausgangsleitungen S&sub1;&sub5; bis S&sub0; parallel aus.
- Die von der Tonnenschiebeeinrichtung 204 parallel ausgegebenen 16-Bit-Daten werden dem A-Register 202 parallel zugeführt und darin erhalten.
- Folglich kann eine Verschiebung der Anzahl von Bits entsprechend der von der Prioritätskodiereinrichtung 206 angewiesenen Verschiebungsanzahl auf einmal ausgeführt werden.
- Die Aktualisierungslogikschaltung 211 empfängt die Anzahl von Verschiebungen und den CT-Wert vor der erneuten Normierung von der Prioritätskodiereinrichtung 206, und gibt die Ausgangsbyteanzahl und den CT-Wert nach der erneuten Normierung aus.
- Fig. 12 zeigt eine in der Aktualisierungslogikschaltung 211 bereitgestellte Entsprechungstabelle. Es ist verständlich, daß eine Ausgangsbyteanzahl von 0 bis 2 abhängig von der Anzahl von Verschiebungen von 1 bis 15 und dem CT-Wert von 1 bis 8 erhalten werden kann. Diese Werte werden in einer in Fig. 8 gezeigten Ausgangssteuerungseinheit 210 für eine Steuerung keiner Ausgabe für einen Wert "0", der Ausgabe der Codes des Hoch-Byte-Registers 207 für einen Wert "1" und der Ausgabe von zwei Bytes des Hoch-Byte-Registers 207 und des Niedrig-Byte-Registers 208 für einen Wert "2" verwendet.
- Die Aktualisierungslogikschaltung 211 führt dem CT-Register 205 einen neuen CT-Wert zu, der darin erhalten bleibt.
- Wie es vorstehend beschrieben ist, wird die Vielzahl von Bitwerten in dem A-Register 202 parallel überwacht, und bei der erneuten Normierung werden die Verschiebungen einer Vielzahl von Bits in dem A-Register 202 und dem C-Register 201 auf einmal ausgeführt. Auf diese Weise kann die für die erneute Normierung erforderliche Zeit ungeachtet dessen, ob die zu kodierenden Ziel-Bildelementdaten mit den Prädiktions-Bildelementdaten übereinstimmen, und ungeachtet des Inhalts des A-Registers konstant gehalten werden, so daß die synchrone Echtzeitkodierung der zu kodierenden Ziel-Bildelementdaten verwirklicht werden kann.
- Fig. 13 zeigt den Aufbau der Übertragsteuerschaltung 209 in Fig. 8, in der Flip-Flops (F/F) 100 bis 104, 110 bis 114, 120 bis 124 und 129; Multiplexer oder Schalter 105 bis 109, 115 bis 118 und 125 bis 129; UND-Gatter 131, 133, 134, 136, 137, 139, 140, 142 und 143; Inverter 132, 135, 138, 141 und 144; ein Register 130 entsprechend dem Hoch-Byte-Register 207 und dem Niedrig-Byte-Register 208 in Fig. 8, eine Additionseinrichtung 150 und eine FF-Unterscheidungsschaltung 160 bereitgestellt sind. Der mit einer gestrichelten Linie umrahmte Abschnitt zeigt eine Wiederholung von ähnlichen Schaltungen an, die aus einer Serienschaltung einer erforderlichen Anzahl der Schaltung 170 bestehen, die von einem gestrichelten Rahmen umrahmt ist.
- Die Arbeitsweisen der vorstehend genannten Schaltung werden nachstehend beschrieben. Das Register 130 gibt eine Codefolge gemäß dem vorstehend beschriebenen Kodierablauf und synchron zu der erneuten Normierung aus, wobei die Übertragsdaten und b Daten von zumindest einem Bit, den Übertrag nicht eingeschlossen, sind. In der folgenden Beschreibung sind die Daten b wie in der vorstehenden Beschreibung aus 8 Bits bestehend angenommen.
- Die Flip-Flops (F/F) 100 bis 104, 110 bis 114, 120 bis 124 und 129 speichern (latch) die Eingabedaten synchron zu der erneuten Normierung. Folglich werden die Daten von links nach rechts bei jeder erneuten Normierung verschoben. Zum Zwecke der Einfachheit wird von der Schaltung 170 angenommen, daß sie 5 mal wiederholt wird, so daß sich die Gesamtanzahl von fünf Verschiebungen ergibt.
- Ebenfalls sind die von dem Register 130 bei den erneuten Normierungen ausgegebenen Codefolgen mit C3H, BAH, FFH, FFH, 1AEH, ... angenommen.
- Vor der Codierung werden die Flip-Flop (F/F) 100 bis 104 zurückgesetzt.
- Bei der ersten erneuten Normierung gibt das Register 130 ein Ausgangssignal C3H ohne Übertrag aus, so daß das Ausgangssignal "0" ist und das Ausgangssignal C3H ist. Das Ausgangssignal b ist in dem Flip-Flop (F/F) 120 gespeichert (latched). Die FF-Unterscheidungsschaltung 160 zur Unterscheidung, ob das Ausgangssignal gleich FFH ist, gibt bei Empfang des Signals C3H ein Ausgangssignal "0" aus, das in dem Flip-Flop (F/F) 100 gespeichert (latched) ist. Da das Ausgangssignal gleich "0" ist, gibt das UND-Gatter 131 ebenfalls ein Ausgangssignal "0" aus, wobei der Schalter 109 auf die L-Seite mit niedrigem Pegel geschaltet wird, wobei der Wert "0" in dem Flip-Flop (F/F) 110 gespeichert wird.
- Bei der zweiten erneuten Normierung gibt das Register 130 ein Ausgangssignal BAH aus, so daß das Ausgangssignal "0" ist und das Ausgangssignal b BAH ist. Durch zu denen der ersten erneuten Normierung ähnliche Vorgänge gibt das Flip- Flop (F/F) 101 ein Ausgangssignal "0", das Flip-Flop (F/F) 110 ein Ausgangssignal "0" und das Flip-Flop (F/F) 120 ein Ausgangssignal BAH aus. Ebenfalls durch Verschiebungsvorgänge gibt das Flip-Flop (F/F) 101 ein Ausgangssignal "0", das Flip-Flop (F/F) 111 ein Ausgangssignal "0" und das Flip-Flop (F/F) 121 ein Ausgangssignal C3H aus.
- Bei der dritten erneuten Normierung gibt das Register 130 ein Ausgangssignal FFH aus, so daß das Ausgangssignal a "0" und das Ausgangssignal b FFH ist. Das Ausgangssignal b, das FFH ist, wird als gleich FFH in der FF Unterscheidungsschaltung 160 unterschieden, die deshalb ein Ausgangssignal "1" ausgibt, das in dem Flip-Flop (F/F) 100 gespeichert ist. Somit werden Ausgangssignale "1" von dem Flip-Flop (F/F) 100, "0" von dem Flip-Flop (F/F) 110, FFH von dem Flip-Flop (F/F) 120, "0" von dem Flip-Flop (F/F) 101, "0" von dem Flip-Flop (F/F) 111, BAH von dem Flip-Flop (F/F) 121, "0" von dem Flip-Flop (F/F) 102, "0" von dem Flip-Flop (F/F) 112 und C3H von dem Flip-Flop (F/F) 122 erhalten.
- Bei der vierten erneuten Normierung gibt das Register 130 ein Ausgangssignal FFH aus, so daß das Ausgangssignal "0" und das Ausgangssignal b FFH ist. Auf eine ähnliche Weise werden Ausgangssignale "1" von dem Flip-Flop (F/F) 100, "0" von dem Flip-Flop (F/F) 110, FFH von dem Flip-Flop (F/F) 120, "1" von dem Flip-Flop (F/F) 101, "0" von dem Flip-Flop (F/F) 111, FFH von dem Flip-Flop (F/F) 121, "0" von dem Flip-Flop (F/F) 102, "0" von dem Flip-Flop (F/F) 112, BAH von dem Flip-Flop (F/F) 122, "0" von dem Flip-Flop (F/F) 103, "0" von dem Flip-Flop (F/F) 113 und C3H von dem Flip- Flop (F/F) 123 erhalten.
- Bei der fünften erneuten Normierung gibt das Register 130 das Signal 1AEH einschließlich eines Übertrags aus, so daß das Ausgangssignal des Registers 130 "1" ist und das Ausgangssignal b AEH ist. Da die Flip-Flops (F/F) 100, 101 in diesem Zustand "1" ausgeben, geben die UND-Gatter 131, 134 Ausgangssignale "0" aus, die in den Flip-Flops (F/F) 110, 111 gespeichert sind. Da die Flip-Flops (F/F) 100, 101 Ausgangssignale "1" ausgeben, während das Flip-Flop (F/F) 102 ein Ausgangssignal "0" ausgibt, wird ebenfalls das Übertragssignal von dem Register 130 über die UND-Gatter 133, 136 und 137 übertragen, wobei der Schalter 116 auf die H- Seite (mit hohem Pegel) geschaltet wird und das Signal "1" in dem Flip-Flop (F/F) 112 gespeichert ist. Da die UND- Gatter 133, 136 Ausgangssignale "1" ausgeben, werden ebenfalls die Schalter 105, 106 auf die H-Seite (mit hohem Pegel) geschaltet, wobei die Flip-Flops (F/F) 101, 102 "0" speichern. Auf ähnliche Weise werden die Schalter 125, 126 auf die H-Seite (mit hohem Potential) geschaltet, wobei die Flip-Flops (F/F) 121, 122 00H speichern. Folglich werden die folgenden Ausgangssignale "0" von dem Flip-Flop (F/F) 100 "0" von dem Flip-Flop (F/F) 110, AEH von dem Flip-Flop (F/F) 120, "0" von dem Flip-Flop (F/F) 101, "0" von dem Flip-Flop (F/F) 111, 00H von dem Flip-Flop (F/F) 121, "0" von dem Flip-Flop (F/F) 102, "1" von dem Flip-Flop (F/F) 112, 00H von dem Flip-Flop (F/F) 122, "0" von dem Flip-Flop (F/F) 103, "0" on dem Flip-Flop (F/F) 113, BAH von dem Flip-Flop (F/F) 123, "0" von dem Flip-Flop (F/F) 104, "0" von dem Flip-Flop (F/F) 114 und C3H von dem Flip-Flop (F/F) 124 erhalten.
- Bei der nächsten erneuten Normierung gibt das Flip-Flop (F/F) 129 ein Ausgangssignal C3H aus, während das Flip-Flop (F/F) 114 ein Ausgangssignal "0" ausgibt. Da kein Übertrag vorhanden ist, gibt die Additionseinrichtung 150 ein Ausgangssignal C3H aus, das als ein bereitgestelltes Codeausgangssignal ausgegeben wird. Bei der nächsten erneuten Normierung gibt das Flip-Flop (F/F) 129 ein Ausgangssignal BAH aus, während das Flip-Flop (F/F) 114 ein Ausgangssignal "1" ausgibt. Da ein Übertrag vorliegt, gibt die Additionseinrichtung 150 ein Ausgangssignal BBH aus, das als ein bereitgestelltes Codeausgangssignal ausgegeben wird. Bei der nächsten erneuten Normierung gibt das Flip-Flop (F/F) 129 ein Ausgangssignal 00H aus, während das Flip-Flop (F/F) 114 ein Ausgangssignal "0" ausgibt. Da kein Übertrag vorliegt, gibt die Additionseinrichtung 150 ein Ausgangssignal 00H aus, das als das bereitgestellte Codeausgangssignal ausgegeben wird. Bei der nächsten erneuten Normierung gibt das Flip-Flop (F/F) 129 ein Ausgangssignal 00H aus, während das Flip-Flop (F/F) 114 ein Ausgangssignal "0" ausgibt. Da kein Übertrag vorliegt, gibt die Additionseinrichtung 150 ein Ausgangssignal 00H aus, das als das bereitgestellte Codeausgangssignal ausgegeben wird.
- Danach werden die Vorgänge in ähnlicher Weise zum Erhalt bereitgestellter Codeausgangssignale ausgeführt.
- Gemäß dem in Fig. 13 gezeigten Ausführungsbeispiel ist das Ausgangssignal der Arithmetik-Kodiereinrichtung auf positive Logik beruhend angenommen, wobei aber eine ähnliche Aufgabe selbstverständlich über negative Logik erfüllt werden kann. Die Logikschaltung bestehend aus den Multiplexern (Schaltern), UND-Gattern und Invertern ist ebenfalls nicht auf die in Fig. 13 gezeigte beschränkt, sondern eine gleichwertige Arbeitweise kann durch andere Logikschaltungen erreicht werden.
- Gemäß der vorstehenden Beschreibung liegt eine erhalten gebliebene Vielzahl von Codedatensätzen vor, die aufeinanderfolgend in Einheiten einer vorbestimmten Anzahl von Bits (8 Bits gemäß diesem Ausführungsbeispiel) erzeugt sind, wobei in dem Fall, daß ein Übertrag erzeugt ist, ein derartiger Übertrag unmittelbar durch die somit erhalten gebliebenen Vielzahl von Codedatensätzen vergearbeitet wird. Folglich kann die Übertragsverarbeitung ohne eine besondere Unterbrechung sofort ausgeführt werden. Somit vermeidet eine derartige Übertragsverarbeitung den Einfluß auf die voran gehende Kodierverarbeitung und ermöglicht eine effiziente Ausführung einer derartigen Kodierverarbeitung.
- Ebenfalls ermöglicht das vorstehend beschriebene Ausführungsbeispiel bei dem Warteverfahren für die Ausgabe der Arithmetik-Kodiereinrichtung, die SC-Zähleinrichtung zur Zählung der Anzahl von Erzeugungsvorgängen der kodierten Daten FFH überflüssig zu machen.
- Fig. 14 zeigt ein weiteres Ausführungsbeispiel der Übertragsverarbeitungsschaltung 209, in der Flip-Flops 410 bis 414, 420 bis 424 und 429; Multiplexer oder Schalter 409, 415 bis 418, 425 bis 428; UND-Gatter 431, 433, 434, 436, 437, 439, 440, 441, 443 und 444; Inverter 432, 435, 438, 442 und 445; ein Register 430 entsprechend dem Hoch-Byte- Register 207 und dem Niedrig-Byte-Register 208 in Fig. 8; eine Additionseinrichtung 450 und FF-Unterscheidungsschaltungen 460 bis 464 bereitgestellt sind. Der mit einer gestrichelten Linie bezeichnete Abschnitt zeigt eine Wiederholung von ähnlichen Schaltungen an, die aus einer Serienschaltung einer erforderlichen Anzahl der Schaltung 470 bestehen, die von einem gestrichelten Rahmen umgeben ist.
- Dieser unterscheidet sich von dem in Fig. 13 gezeigten Ausführungsbeispiel darin, daß die FF-Unterscheidungsschaltung zur Unterscheidung, ob die Ausgangsdaten des Registers 430 FFH sind, an jedem Ausgang der Flip-Flops 421 bis 424 bereitgestellt ist, wobei dieser Unterschied weiter in der folgenden Beschreibung beruhend auf denselben Annahmen und Bedingungen wie in der vorstehenden Beschreibung erklärt wird.
- Bei der ersten erneuten Normierung gibt das Register 430 ein Ausgangssignal C3H ohne den Übertrag aus, so daß das Ausgangssignal "0" ist und das Ausgangssignal b C3H ist. Das Ausgangssignal b ist in dem Flip-Flop (F/F) 420 gespeichert (latched). Da das UND-Gatter 431 ein Ausgangssignal "0" ausgibt, wird der Schalter 409 auf die L-Seite (mit niedrigen Pegel) geschaltet und das Flip-Flop (F/F) 410 speichert "0".
- Bei der zweiten erneuten Normierung gibt das Register 430 ein Ausgangssignal BAH aus, so daß das Ausgangssignal "0" ist und das Ausgangssignal b BAH ist. Durch zu denen bei der ersten erneuten Normierung ähnliche Vorgänge gibt das Flip-Flop (F/F) 410 ein Ausgangssignal "0" aus, während das Flip-Flop (F/F) 420 ein Ausgangssignal BAH ausgibt. Ebenfalls durch Schiebevorgänge gibt das Flip-Flop (F/F) 411 ein Ausgangssignal "0" aus, und das Flip-Flop (F/F) 421 gibt ein Ausgangssignal C3H aus.
- Bei der dritten erneuten Normierung gibt das Register 430 ein Ausgangssignal FFH aus, so daß das Ausgangssignal "0" ist und das Ausgangssignal b FFH ist. Folglich werden die folgenden Ausgangssignale erhalten: "0" von dem Flip-Flop (F/F) 410, FFH von dem Flip-Flop (F/F) 120, "0" von dem Flip-Flop (F/F) 411, BAH von dem Flip-Flop (F/F) 421, "0" von dem Flip-Flop (F/F) 412 und C3H von dem Flip-Flop (F/F) 422.
- Bei der vierten erneuten Normierung gibt das Register 430 ein Ausgangssignal FFH aus, so daß das Ausgangssignal "0" ist und das Ausgangssignal b FFH ist. Es werden die folgenden Ausgangssignale erhalten: "0" von dem Flip-Flop (F/F) 410, FFH von dem Flip-Flop (F/F) 420, "0" von dem Flip-Flop (F/F) 411, FFH von dem Flip-Flop (F/F) 421, "0" von dem Flip-Flop (F/F) 412, BAH von dem Flip-Flop (F/F) 422, "0" von dem Flip-Flop (F/F) 413 und C3H von dem Flip-Flop (F/F) 423.
- Bei der fünften erneuten Normierung gibt das Register 430 ein Ausgangssignal 1AEH einschließlich eines Übertrags aus, so daß das Ausgangssignal "1" ist und das Ausgangssignal b AEH ist. Die FF-Unterscheidungsschaltungen 460, 461 zur Unterscheidung, ob die Ausgangssignale des Flip-Flops (F/F) 420 beziehungsweise des Flip-Flops (F/F) 421 gleich FFH sind, geben bei Empfang der Ausgangssignale FFH von dem Flips-Flops (F/F) 420, 421 Ausgangssignale "1" aus. Da das Ausgangssignal "1" ist, geben die UND-Gatter 433, 436 ebenfalls Ausgangssignale "1" aus, wobei die Schalter 425, 426 auf die H-Seite (mit hohem Pegel) geschaltet werden und die Flip-Flops (F/F) 421, 422 den Wert "0" speichern. Da das Flip-Flop (F/F) 422 BAH speichert, gibt die FF- Unterscheidungsschaltung 462 ebenfalls ein Ausgangssignal "0" aus, wobei das UND-Gatter 437 ein Ausgangssignal "1" ausgibt und das Flip-Flop (F/F) 412 "1" speichert. Folglich werden die folgenden Ausgangssignale erhalten: "0" von dem Flip-Flop (F/F) 410, AEH von dem Flip-Flop (F/F) 420, "0" von dem Flip-Flop (F/F) 411, 00H von dem Flip-Flop (F/F) 421, "1" von dem Flip-Flop (F/F) 412, 00H von dem Flip-Flop (F/F) 422, "0" von dem Flip-Flop (F/F) 413, BAH von dem Flip-Flop (F/F) 423, "0" von dem Flip-Flop (F/F) 414 und C3H von dem Flip-Flop (F/F) 424.
- Bei der nächsten erneuten Normierung gibt das Flip-Flop (F/F) 429 ein Ausgangssignal C3H aus, während das Flip-Flop (F/F) 414 ein Ausgangssignal "1" ausgibt. Da kein Übertrag vorliegt, gibt die Additionseinrichtung 450 ein Ausgangssignal C3H aus, das als ein bereitgestelltes Codeausgangssignal ausgegeben wird. Dann gibt das Flip-Flop (F/F) 429 bei der nächsten erneuten Normierung ein Ausgangssignal BAH aus, während das Flip-Flop (F/F) 414 ein Ausgangssignal "1" ausgibt. Da ein Übertrag vorliegt, gibt die Additionseinrichtung 450 ein Ausgangssignal BBH aus, das als ein bereitgestelltes Codeausgangssignal ausgegeben wird.
- Bei der nächsten erneuten Normierung gibt das Flip-Flop (F/F) 429 ein Ausgangssignal 00H aus, während das Flip-Flop (F/F) 414 ein Ausgangssignal "0" ausgibt. Da kein Übertrag vorliegt, gibt die Additionseinrichtung 450 ein Ausgangssignal 00H aus, das als ein bereitgestelltes Codeausgangssignal ausgegeben wird. Bei der nächsten erneuten Normierung, gibt das Flip-Flop (F/F) 420 ein Ausgangssignal 00H aus, während das Flip-Flop (F/F) 414 ein Ausgangssignal "0" ausgibt. Da kein Übertrag vorliegt, erzeugt die Additionseinrichtung 450 ein Ausgangssignal 00H, das als das bereitgestellte Codeausgangssignal ausgegeben wird.
- Danach werden ähnliche Vorgänge zur Erzeugung bereitgestellter Codeausgangssignale ausgeführt.
- Wie es vorstehend erklärt ist werden Einrichtungen zur Verzögerung der durch Arithmetik-Codes erhaltenen Codedatenfolgen durch eine Vielzahl von Schritten mittels Schieberegistern und zur Erzeugung von Übertragsinformationen und Erneuerungscodedaten mittels somit verzögerter Codedatenfolgen vorgesehen. Somit kann der Übertrag durch entsprechend verzögerte Codedatenfolgen verarbeitet werden, so daß die Übertragsverarbeitung ohne Wartezeit ausgeführt werden kann, wobei die arithmetische Kodierung auf Echtzeitbasis verwirklicht werden kann.
- Da die SC-Zähleinrichtung zur Zählung der Anzahl von FFH- Signalen in der Codedatenfolge überflüssig gemacht werden kann, kann ebenfalls eine Codefolge einschließlich der Übertragsverarbeitung ohne Unterbrechung der Arbeitsweise der Arithmetik-Kodiereinrichtung erhalten werden. Wegen dem Fehlen einer Unterbrechung der Arbeitsweise der Arithmetik- Kodiereinrichtung, können die der Arithmetik- Kodiereinrichtung zugeführten Daten (z. B. binäre Bilddaten) auf Echtzeitbasis kodiert werden.
- Da die Arithmetik-Kodiereinrichtung mit einem zu den Eingabedaten synchronen Schaltungsaufbau verwirklicht werden kann, kann die Arithmetik-Kodiereinrichtung leichter und in einer vereinfachteren Weise entworfen sein.
- Die Erfindung wurde anhand ihrer bevorzugten Ausführungsbeispiele erklärt, aber sie ist selbstverständlich nicht auf derartige Ausführungsbeispiele beschränkt und kann verschiedenen Abänderungen innerhalb des Schutzbereichs der zugehörigen Ansprüche unterzogen sein.
Claims (13)
1. Bildkodiervorrichtung, mit
einer Kodiereinrichtung (201-216) zur Kodierung von
Bilddaten beruhend auf einem arithmetischen Code zur
Erzeugung von aus "0"en und "1"en bestehenden Codedaten,
einer Ausgabeeinrichtung (130; 430) zur Ausgabe der
Codedaten und einen Übertrag anzeigenden Übertragsdaten,
und
eine Übertragverarbeitungseinrichtung (209) zur
Durchführung einer Übertragverarbeitung der Codedaten
entsprechend den Übertragsdaten,
dadurch gekennzeichnet, daß
die Ausgabeeinrichtung (130; 430) die Codedaten mit
einer vorbestimmten Anzahl von Bits zusammen mit
Übertragsdaten eines einzelnen Bits parallel ausgibt, wobei das
einzelne Bit anzeigt, daß ein Übertrag vorhanden ist oder
nicht, wobei
die Übertragverarbeitungseinrichtung (209)
eine Vielzahl von in Reihe geschalteten
Codesignalspeichereinrichtungen (120-124; 420-424) aufweist, von
denen jede die Codedaten der vorbestimmten Anzahl von Bits
speichert, wobei die Codedaten der vorbestimmten Anzahl von
Bits durch die Vielzahl von Codesignalspeichereinrichtungen
parallel verschoben werden,
eine Vielzahl von in Reihe geschalteten
Datensignalspeichereinrichtungen (110-114; 410-414) aufweist, von
denen jede die einzelnen Übertragsdaten entsprechend jeder
der Vielzahl von Codesignalspeichereinrichtungen speichert,
wobei das einzelne Bit von Übertragsdaten durch die
Viel
zahl von Datensignalspeichereinrichtungen synchron zu der
parallelen Verschiebung der Codedaten der vorbestimmten
Anzahl von Bits durch die Vielzahl von
Codesignalspeichereinrichtungen verschoben wird, und
eine Additionseinrichtung (150; 450) zur Addition des
durch die Vielzahl von Datensignalspeichereinrichtungen
verschobenen einzelnen Bits von Übertragsdaten und der
durch die Vielzahl von Codesignalspeichereinrichtungen
parallel verschobenen Codedaten der vorbestimmten Anzahl von
Bits zur Ausgabe eines Ergebnises der Addition als erzeugte
Codedaten aufweist.
2. Vorrichtung nach Anspruch 1, wobei
das einzelne Bit von Übertragsdaten anzeigt, daß ein
Übertrag vorhanden ist, wenn das Bit "1" ist.
3. Vorrichtung nach Anspruch 2, wobei
in dem Fall, bei dem die Übertragsdaten aus der
Ausgabeeinrichtung ausgegeben wurden, nachdem die Codedaten, von
denen alle Bits "1"en sind, aus der Ausgabeeinrichtung
ausgegeben und in einer ersten Stufe der
Codesignalspeichereinrichtung gespeichert wurden, die
Übertragverarbeitungseinrichtung bewirkt, daß eine zweite Stufe der
Codedatensignalspeichereinrichtung die Codedaten speichert, von
den alle Bits "0"en sind, und bewirkt, daß die
Datensignalspeichereinrichtung entsprechend der zweiten Stufe der
Codesignalsspeichereinrichtung die Übertragsdaten
speichert.
4. Vorrichtung nach Anspruch 2, wobei
in dem Fall, bei dem die Übertragsdaten in die
Datensignalspeichereinrichtung entsprechend der
Codesignalspeichereinrichtung vor der Codesignalspeichereinrichtung
gespeichert sind, die die Codedaten speichert, von denen alle
Bits "1"en sind, die Übertragverarbeitungseinrichtung
bewirkt, daß eine nächste Stufe der
Codesignalspeichereinrichtung die Codedaten speichert, von denen alle Bits "0"en
sind, und bewirkt, daß die Datensignalspeichereinrichtung
entsprechend der nächsten Stufe der
Codesignalspeichereinrichtung die Übertragsdaten speichert.
5. Vorrichtung nach Anspruch 3 oder 4, ferner mit
einer Bestimmungseinrichtung zur Bestimmung, ob alle
Bits der in jeder der Vielzahl von
Codesignalspeichereinrichtungen gespeicherten Codedaten, "1"en sind oder nicht.
6. Vorrichtung nach Anspruch 5, wobei
die Übertragverarbeitungseinrichtung die
Übertragverarbeitung an den Codedaten, von denen alle Bits "1"en sind,
entsprechend dem Bestimmungsergebnis der
Bestimmungseinrichtung durchführt.
7. Verfahren zur Bildkodierung mit
einem Kodierschritt zum Kodieren von Bilddaten
beruhend auf einem arithmetischen Code zur Erzeugung von aus
"0"en und "1"en bestehenden Codedaten,
einem Ausgabeschritt zum Ausgeben der Codedaten und
der einen Übertrag anzeigenden Übertragsdaten, und
einem Übertragsverarbeitungsschritt zum Durchführen
einer Übertragverarbeitung der Codedaten entsprechend den
Übertragsdaten,
gekennzeichnet durch
den Ausgabeschritt, bei dem die Codedaten als eine
vorbestimmte Anzahl von Bits parallel und die
Übertragsdaten in der Form eines einzelnen Bits ausgegeben werden, das
anzeigt, ob ein Übertrag vorhanden ist oder nicht, wobei
der Übertragsverarbeitungsschritt
einen ersten Verschiebungsschritt zum parallelen
Verschieben der Codedaten der vorbestimmten Anzahl von Bits
durch eine Vielzahl von in Reihe geschalteten
Codesignalspeichervorrichtungen, von denen jede die Codedaten der
vorbestimmten Anzahl von Bits speichert,
einen zweiten Verschiebungsschritt zum Verschieben der
Übertragsdaten von einem Bit durch eine Vielzahl von in
Reihe geschalteten Datensignalspeichervorrichtungen
synchron zu dem parallen Verschieben der Codedaten der
vorbe
stimmten Anzahl von Bits durch die Vielzahl von
Codesignalspeichervorrichtungen, von denen jede der
Datensignalspeichervorrichtungen die Übertragsdaten eines Bits speichert,
und
einen Additionsschritt zum Addieren der durch die
Vielzahl von Datensignalsspeichervorrichtungen verschobenen
Übertragsdaten eines Bits und der durch die Vielzahl von
Codesignalspeichervorrichtungen parallel verschobenen
Codedaten der vorbestimmten Anzahl von Bits zur Ausgabe eines
Ergebnises der Addition als erzeugte Codedaten.
8. Verfahren nach Anspruch 7, wobei
das einzelne Übertragsbit "1" ist, wenn dieses
anzeigt, daß ein Übertrag vorhanden ist.
9. Verfahren nach Anspruch 7, mit dem
Übertragsverarbeitungsschritt, bei dem eine
Übertragsverarbeitung an den in der Vielzahl von
Codedatensignalspeichervorrichtungen gepeicherten Codedaten entsprechend
den Übertragsdaten durchführt wird.
10. Verfahren nach Anspruch 9, wobei
in einem Fall, bei dem die Übertragsdaten bei dem
Ausgabeschritt ausgegeben werden, nachdem die Codedaten, von
denen alle Bits "1"en sind, bei dem Ausgabeschritt
ausgegeben und in einer ersten Stufe der
Codesignalspeichervorrichtung gespeichert werden, der
Übertragsverarbeitungsschritt bewirkt, daß eine zweite Stufe der
Codedatensignalsspeichervorrichtung die Codedaten speichert, von denen
alle Bits "0"en sind, und bewirkt daß die
Datensignalspeichervorrichtung entsprechend der zweiten Stufe der
Codesignalspeichervorrichtung die Übertragsdaten speichert.
11. Verfahren nach Anspruch 9, wobei
in dem Fall, bei dem die Übertragsdaten in der
Datensignalspeichervorrichtung entsprechend der
Codesignalspeichervorrichtung vor der Codesignalspeichervorrichtung
gespeichert werden, die die Codedaten speichert, von denen
alle Bits "1"en sind, der Übertragverarbeitungsschritt
bewirkt, daß eine nächste Stufe der
Codesignalspeichervorrichtung die Codedaten speichert, von denen alle Bits "0"en
sind, und bewirkt, daß die Datensignalspeichervorrichtung
entsprechend der nächsten Stufe der
Codesignalspeichervorrichtung die Übertragsdaten speichert.
12. Vorrichtung nach Anspruch 10 oder 11, ferner mit
einem Bestimmungsschritt zur Bestimmung, ob alle Bits
der in jeder der Vielzahl von
Codesignalspeichervorrichtungen gespeicherten Codedaten, "1"en sind oder nicht.
13. Vorrichtung nach Anspruch 12, wobei
der Übertragverarbeitungsschritt die
Übertragverarbeitung der Codedaten, von denen alle Bits "1"en sind,
entsprechend dem Bestimmungsergebnis des Bestimmungsschritts
durchführt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30393292 | 1992-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69320147D1 DE69320147D1 (de) | 1998-09-10 |
DE69320147T2 true DE69320147T2 (de) | 1999-01-14 |
Family
ID=17927022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69320147T Expired - Fee Related DE69320147T2 (de) | 1992-11-13 | 1993-11-12 | Vorrichtung zur Bildkodierung |
Country Status (3)
Country | Link |
---|---|
US (1) | US5784497A (de) |
EP (1) | EP0597733B1 (de) |
DE (1) | DE69320147T2 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3409552B2 (ja) * | 1995-12-27 | 2003-05-26 | 三菱電機株式会社 | ディジタル情報符号化装置、ディジタル情報復号化装置、及びディジタル情報符号化・復号化装置 |
CN1178458C (zh) * | 1996-07-31 | 2004-12-01 | 松下电器产业株式会社 | 图象解码装置和图象解码方法 |
US6055338A (en) * | 1996-08-22 | 2000-04-25 | Sumitomo Metal Industries Limited | Bi-level adaptive coding using a dual port memory and a context comparator |
US6058216A (en) * | 1996-09-03 | 2000-05-02 | Sumitomo Metal Industries Limited | Apparatus for encoding image data |
JPH1093827A (ja) * | 1996-09-11 | 1998-04-10 | Canon Inc | 画像処理方法とその装置 |
JP3185769B2 (ja) | 1998-10-26 | 2001-07-11 | 日本電気株式会社 | 画像信号処理装置 |
US6313767B1 (en) | 1999-02-19 | 2001-11-06 | Canon Kabushiki Kaisha | Decoding apparatus and method |
JP3853710B2 (ja) * | 2002-07-15 | 2006-12-06 | Necアクセステクニカ株式会社 | ディジタル画像符号化装置およびディジタル画像符号化方法 |
US7236633B1 (en) * | 2003-03-21 | 2007-06-26 | Altera Corporation | Data compression and decompression techniques for programmable circuits |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4463342A (en) * | 1979-06-14 | 1984-07-31 | International Business Machines Corporation | Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings |
US4286256A (en) * | 1979-11-28 | 1981-08-25 | International Business Machines Corporation | Method and means for arithmetic coding utilizing a reduced number of operations |
US4467317A (en) * | 1981-03-30 | 1984-08-21 | International Business Machines Corporation | High-speed arithmetic compression coding using concurrent value updating |
US4891643A (en) * | 1986-09-15 | 1990-01-02 | International Business Machines Corporation | Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders |
US4905297A (en) * | 1986-09-15 | 1990-02-27 | International Business Machines Corporation | Arithmetic coding encoder and decoder system |
US4870695A (en) * | 1987-03-20 | 1989-09-26 | International Business Machines Corporation | Compression and de-compression of column-interlaced, row-interlaced graylevel digital images |
JP2672521B2 (ja) * | 1987-09-21 | 1997-11-05 | 株式会社東芝 | 画像処理方法 |
US4973961A (en) * | 1990-02-12 | 1990-11-27 | At&T Bell Laboratories | Method and apparatus for carry-over control in arithmetic entropy coding |
US5262873A (en) * | 1990-11-07 | 1993-11-16 | Canon Kabushiki Kaisha | Image signal correcting in image data processing requiring only small memory capacity |
US5298896A (en) * | 1993-03-15 | 1994-03-29 | Bell Communications Research, Inc. | Method and system for high order conditional entropy coding |
JP2836467B2 (ja) * | 1993-12-16 | 1998-12-14 | 日本電気株式会社 | 2値シンボルの符号化・復号化回路 |
-
1993
- 1993-11-12 DE DE69320147T patent/DE69320147T2/de not_active Expired - Fee Related
- 1993-11-12 EP EP93309093A patent/EP0597733B1/de not_active Expired - Lifetime
-
1996
- 1996-03-06 US US08/611,497 patent/US5784497A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69320147D1 (de) | 1998-09-10 |
US5784497A (en) | 1998-07-21 |
EP0597733A1 (de) | 1994-05-18 |
EP0597733B1 (de) | 1998-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3787898T2 (de) | Verfahren und Vorrichtung zur arithmetischen Kodierung von binären Zahlen. | |
DE2508706C2 (de) | Schaltungsanordnung zur Codierung von Datenbitfolgen | |
DE3711200C2 (de) | ||
DE2614916C2 (de) | Konverter zur Codeumwandlung | |
DE69416773T2 (de) | Variabler Längen-Kodieren und variabler Längen-Dekodierer | |
DE69026320T2 (de) | Halbtonbilddatenkomprimierungsverfahren und -vorrichtung | |
DE69125424T2 (de) | Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung | |
DE4314741A1 (de) | Dekodierer-Architektur nach Huffman für eine höhere Betriebsgeschwindigkeit und reduzierten Speicherbedarf | |
DE69329092T2 (de) | Huffman-Kode-Decodierungsschaltung | |
DE3750390T2 (de) | Simultane Fehlererkennung bei der Kodierung durch arithmetische Datenkodierung. | |
DE3711201C2 (de) | ||
DE2421130C2 (de) | ||
DE69224546T2 (de) | Kodier- und Dekodiereinrichtungen | |
DE69320147T2 (de) | Vorrichtung zur Bildkodierung | |
DE3400723A1 (de) | Vektorprozessor | |
DE69230609T2 (de) | Vorrichtung zur Datenübertragung und System zur Codeübertragung | |
DE4019646C2 (de) | Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung | |
DE3303269C2 (de) | ||
DE69428662T2 (de) | System mit geringem Speicherbedarf zur Kodierung und Dekodierung von Zweipegelsymbolen und zugehöriges Verfahren | |
DE69319505T2 (de) | Einrichtung und Verfahren zur Bildkodierung | |
DE3714589A1 (de) | Videosignal-codierer mit dpcm und adaptiver praediktion | |
DE3706470C2 (de) | ||
DE3137704A1 (de) | Vorrichtung zum decodieren eines baumfoermigen codes variabler laenge | |
EP0144066B1 (de) | Schaltungsanordnung zur schnellen Ermittlung der betragsmässig grössten Differenz von drei binär dargestellten Zahlenwerten | |
DE2645621A1 (de) | Blockfolgenverarbeitender prozessor fuer nicht gleichmaessig kodierte digitale daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |