DE69026634T2 - Verfahren und System zum Schreiben und Lesen von kodierten Daten - Google Patents
Verfahren und System zum Schreiben und Lesen von kodierten DatenInfo
- Publication number
- DE69026634T2 DE69026634T2 DE69026634T DE69026634T DE69026634T2 DE 69026634 T2 DE69026634 T2 DE 69026634T2 DE 69026634 T DE69026634 T DE 69026634T DE 69026634 T DE69026634 T DE 69026634T DE 69026634 T2 DE69026634 T2 DE 69026634T2
- Authority
- DE
- Germany
- Prior art keywords
- code
- coded data
- data
- length
- restoration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 57
- 238000013139 quantization Methods 0.000 claims description 82
- 238000013075 data extraction Methods 0.000 claims description 41
- 238000000605 extraction Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000011084 recovery Methods 0.000 description 67
- 238000013500 data storage Methods 0.000 description 52
- 230000000750 progressive effect Effects 0.000 description 22
- 239000000284 extract Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000005070 sampling Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001131 transforming 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/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/415—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional or two-dimensional blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein Verfahren und Systeme zum Schreiben und Lesen von kodierten Daten und spezieller ein Verfahren und ein System zum Schreiben und Lesen von kodierten Daten, die gemäß der orthogonalen Transformierungskodierung kodiert sind, so daß ein Bild progressiv oder sequentiell wiederhergestellt werden kann.
- Die Informationsmenge von Bilddaten ist verglichen mit derjenigen von numerischen Daten beträchtlich hoch. Es ist damit speziell dann, wenn Bilddaten eines Bildes mit Graustufen oder ein Farbbild mit hoher Geschwindigkeit und mit hoher Qualität abgespeichert und übertragen wird, erforderlich, die Tönung jedes Bildpunktes mit hohem Wirkungsgrad zu kodieren.
- Wenn eine Datenbank-Suche durchgeführt wird, ist es wünschenswert, daß ein Bild mit einer Bildqualität reproduziert wird, die progressiv von einem groben Bild zu einem feinen Bild hin besser wird, so daß der Anwender das Bild aus einer frühen Stufe der Datenbank-Suche allgemein erkennen kann. Bei Realisierung dieses Merkmals ist es möglich effizient zu bestimmen, ob das dargestellte Bild den geforderten Daten entspricht oder unerwünschten Daten entspricht.
- Wenn andererseits das Bild von einem Druckkopier- Gerät, wie beispielsweise einem Drucker ausgegeben wird, ist es erforderlich, das Bild aufeinanderfolgend von ganz links oben bis ganz rechts unten des Bildes wiederherzustellen.
- Als hochwirksames Verfahren zum Komprimieren von Bilddaten ist das adaptive diskrete Cosinus-Transformierungsverf ahren bekannt (im folgenden einfach als ADCT bezeichnet). Gemäß dem ADCT wird das Bild in Blöcke von 8 x 8 Bildpunkten aufgeteilt und es wird ein Bildsignal jedes Blocks in Koeffizienten einer räumlichen Frequenzverteilung unter Verwendung des zweidimensionalen diskreten Cosinus- Transformierungsverfahrens transformiert (im folgenden einfach als DCT bezeichnet). Es werden die Koeffizienten der räumlichen Frequenzverteilung bei einem Schwellenwert quantisiert, der an das menschliche Auge angepaßt ist und es werden die erhaltenen Quantisierungskoeffizienten unter Verwendung einer Huffman-Kodetabelle kodiert.
- Als nächstes soll eine Beschreibung des ADCT- Verfahrens unter Hinweis auf die Fig. 1 bis 6 folgen. Beispielsweise wird ein Bild in Blöcke von 8 x 8 Bildpunkten aufgeteilt und jeder Bildpunkt wird mit 256 Gradationswerten "0" bis "255" beschrieben. Wenn die Bildpunkte von einem Block die Gradationswerte haben, die in Fig. 1 gezeigt sind, werden die DCT-Koeffizienten, die in Fig. 2 gezeigt sind, durch Transformieren der Bilddaten, die in Fig. 1 gezeigt sind, in Koeffizienten der räumlichen Frequenzverteilung unter Verwendung des DCT-Verfahrens erhalten. Wenn die in Fig. 2 gezeigten DCT-Koeffizienten durch die jeweiligen Schwellenwerte geteilt werden, die in Fig. 3 gezeigt sind, und solche Werte, die Absolutwerte kleiner als die entsprechenden Schwellenwerte besitzen, als Null betrachtet werden, werden die Quantisierungskoeffizienten in Fig. 4 erhalten. Die in Fig. 4 gezeigten Quantisierungskoeffizienten werden unter Verwendung des Huffman-Kodes beispielsweise so transformiert, daß kodierte Daten für jeden Block des Bildes erhalten werden.
- Fig. 5 zeigt eine Kodierschaltung, die das ADCT- Verfahren verwendet. Das Eingabebild wird in Blöcke von 8 x 8 Bildpunkten aufgeteilt, wie in Fig. 1 gezeigt ist, und es wird ein eingegebenes Bildsignal, welches auf die Blöcke bezogen ist, einem DCT-Teil 141 über einen Eingabe anschluß 140 zugeführt. Die in Fig. 1 angegebenen Ziffern geben die Gradationswerte jedes Bildpunktes innerhalb des Blockes an. Der DCT-Teil 141 unterzieht das eingegebene Bildsignal einer orthogonalen Transformation in Einklang mit dem DOT-Verfahren gemäß der folgenden Formel (1), worin Fj den DCT-Koeffizienten und fi das eingegebene Bildsignal bezeichnen. Es werden somit Koeffizienten der räumlichen Frequenzverteilung, d.h. die DCT-Koeffizienten, die in Fig. 2 gezeigt sind, von dem DCT-Teil 141 erhalten.
- Die DCT-Koeffizienten aus dem DCT-Teil 141 werden einem Teil 142 für lineare Quantisierung zugeführt. Der Teil 142 für lineare Quantisierung nimmt Bezug auf eine Quantisierungsmatrix 143, die eine Tabelle von Schwellenwerten enthält, welche in Fig. 3 gezeigt sind und die durch visuelle Erprobung bestimmt werden und führt eine lineare Quantisierung durch, und zwar durch Teilen der DCT-Koeffizienten der Bildpunkte durch die entsprechenden Schwellenwerte. Als Ergebnis werden diejenigen DCT-Koeffizienten, die Absolutwerte kleiner als die entsprechenden Schwellenwerte haben, als Null betrachtet und es werden Quantisierungskoeffizienten mit Werten für lediglich die Gleichstromkomponenten und kleine Wechselstromkomponenten erzeugt, wie in Fig. 4 gezeigt ist. In Fig. 4 sind die Bruchteile weggelassen. Die Gleichstromkomponente bezeichnet in Fig. 4 eine Komponente (0, 0) in der x- und y-Richtung.
- Die Quantisierungskoeffizienten, die gemäß Fig. 2 zweidimensional angeordnet sind, werden in einer Zick-Zack- Weise mit einer Abtastfolge abgetastet, die in Fig. 6 gezeigt ist, so daß die Daten eindimensional angeordnet werden. Die eindimensional angeordneten Daten werden einem Teil 144 für eine variable Längenkodierung zugeführt. Hinsichtlich der Gleichstromkomponenten führt der Teil 144 für die variable Längenkodierung eine Differenz zwischen den Gleichstromkomponenten jedes Blockes und einer Gleichstromkomponente eines früheren Blockes auf eine variable Längenkodierung ein. Zusätzlich führt der Teil 144 für die variable Längenkodierung hinsichtlich der Gleichstromkomponenten eine Lauflänge eines Wertes eines ungültigen Koeffizienten (Null-Koeffizient) auf einen Wert eines signifikanten Koeffizienten (von Null verschiedenen Koeffizienten) auf eine variable Längenkodierung ein. Die Gleichstrom- und Wechselstromkomponenten werden unter Verwendung einer Kodetabelle 145 kodiert, die eine Huffman-Kodetabelle enthält, welche auf der Grundlage von Statistiken jedes Bildes erstellt wird. Die kodierten Daten, die aus dem Teil 144 für variable Längenkodierung erhalten werden, werden in dem Kodedaten-Speicherteil 146 abgespeichert.
- Andererseits werden die kodierten Daten gemäß dem folgenden Verfahren in das Bild wiederhergestellt. Zuerst wird, wenn aufeinanderfolgend das Bild in einem Drucker wiederhergestellt wird, ein Prozeß in einer umgekehrten Folge in Fig. 5 ausgeführt. Das heißt, es werden die kodierten Daten der variablen Längenkodierung in die eindimensional angeordneten Quantisierungskoeffizienten durch Bezugnahme auf die Huffman-Kodetabelle zurückgeführt. Dann wird Bezug auf die Abtastfolge genommen, die in Fig. 6 gezeigt ist, um die eindimensional angeordneten Quantisierungskoeffizienten in die zweidimensional angeordneten Quantisierungskoeffizienten zurückzuführen, die in Fig. 4 gezeigt sind. Die in Fig. 3 gezeigten Schwellenwerte werden auf die zweidimensional angeordneten Quantisierungskoeffizienten hin multipliziert, um die DCT-Koeffizienten in Fig. 2 zu erhalten. Das Ursprungsbild wird sukzessive in Form der Blöcke wiederhergestellt, indem ein umgekehrtes DCT- Verfahren an den DCT-Koeffizienten durchgeführt wird.
- Wenn andererseits das Ursprungsbild progressiv wiederhergestellt wird, wird das Bild progressiv in einer Folge von Stufen (oder Bändern) "1", "2", "3", ... wiederhergestellt, wie in Fig. 7 gezeigt ist. Fig. 7 zeigt einen Fall, bei dem die Wiederherstellung in vier Stufen erfolgt, d.h. also den Stufen "1" bis "4". In diesem Fall wird die Zahl der kodierten Daten, die in jeder Stufe pro Block wiederhergestellt werden, im voraus bestimmt. Es wird die bestimmte Zahl von kodierten Daten in die Quantisierungskoeffizienten wiederhergestellt und es werden die Quantisierungskoeffizienten innerhalb des Blockes in eine Anzahl von Stufen (Bändern) aufgeteilt, und zwar von einem Niederfrequenzbereich. Die Quantisierungskoeffizienten, die in jeder Stufe aufgeteilt werden und wiederhergestellt werden und die Quantisierungskoeffizienten, die in der früheren Stufe wiederhergestellt wurden, werden kombiniert und die Quantisierungskoeffizienten, die nicht empfangen wurden, werden alle auf Null gesetzt, um einen Block zu bilden. Es wird das umgekehrte DCT-Verfahren progressiv in dieser Weise durchgeführt, um das Ursprungsbild wiederherzustellen.
- In dem in Fig. 7 gezeigten Fall werden die einen kodierten Daten aus jedem Block in der Stufe "1" ausgelesen. In Ausdrücken der kodierten Datenfolge werden die kodierten Daten aus der ersten kodierten Datenfolge D1 ausgelesen, d.h. es werden die kodierten Daten lediglich aus der Abtastsequenz-Nr. "1" für jeden Block, der in Fig. 6 gezeigt ist, ausgelesen. Die ausgelesenen kodierten Daten werden zurück in die DCT-Koeffizienten dadurch wiederhergestellt, indem sie dem umgekehrten DCT-Verfahren unterworfen werden. Mit anderen Worten werden lediglich die Gleichstromkomponenten in der Stufe "1" wiederhergestellt, da die kodierten Daten lediglich aus der kodierten Datenfolge D1 jedes Blocks ausgelesen werden.
- In der Stufe "2" werden vier kodierte Daten ausgelesen. Die kodierten Daten werden aus den kodierten Datenfolgen RO, I2,1,1, RO und I2,1,2 ausgelesen. In Fig. 7 bezeichnet Dm die kodierten Daten des Differenzwertes der Gleichstromkomponenten des m'ten Blocks, I1,m,n bezeichnet die kodierten Daten des Wertes des n'ten signifikanten Koeffizienten des m'ten Blocks in der 1'ten Stufe (Wiederherstellungsstufe "1"), Rk bezeichnet die kodierten Daten, die anzeigen, daß die Lauflänge des ungültigen Koeffizienten der Wechselstromkomponenten gleich k ist, und Reob bezeichnet die kodierten Daten, die anzeigen, daß das Ende des Blocks mit dem Lauf des ungültigen Koeffizienten endet.
- Demzufolge werden die kodierten Daten (aus der Abtastfolge-Nr. "2" in Fig. 6) in bezug auf den ersten Koeffizienten des ersten Blocks, der eine Lauf länge "0" aus der kodierten Datenfolge D1 hat, die der Gleichstromkomponente entspricht, und die kodierten Daten (aus der Abtastfolge-Nr. "3" in Fig. 6) in bezug auf den zweiten Koeffizienten des ersten Blocks, der die Lauflänge "0" aus der kodierten Datenfolge D1 hat, in der Stufe "2" ausgelesen. Die ausgelesenen kodierten Daten werden zurück in die Quantisierungskoeffizienten umgewandelt bzw. wiederhergestellt, indem sie dem umgekehrten DCT-Verfahren unterworfen werden.
- In der Stufe "3" werden die kodierten Daten in ähnlicher Weise von den Abtastfolge-Nrn. "4" und "5" in Fig. 6 ausgelesen und in die Quantisierungskoeffizienten zurück umgewandelt, indem sie dem umgekehrten DCT-Verfahren unterworfen werden.
- In der Stufe "4" werden die kodierten Daten in ähnlicher Weise von den Abtastfolge-Nrn. "6" und "7" in Fig. 6 ausgelesen und in die Quantisierungskoeffizienten zurück umgewandelt, indem sie dem umgekehrten DCT-Verfahren unterworfen werden.
- Wenn die progressive Wiederherstellung des Ursprungsbildes durchgeführt wird, ist es möglich, ein grobes Bild in der Anfangsstufe wiederzugewinnen, da die Quantisierungskoeffizienten in der Anfangsstufe hauptsächlich aus den Niederfrequenzkomponenten bestehen. Andererseits wird ein feineres Bild in einer späteren Stufe wiederhergestellt, da die Quantisierungskoeffizienten in der späteren Stufe hauptsächlich aus den Hochfrequenzkomponenten bestehen. Wenn somit beispielsweise eine Produktauswahl getroffen wird, besteht die Möglichkeit, eine grobe Auswahl in der Anfangsstufe durchzuführen und die nicht erwünschten Produkte von einer frühen Stufe aus zu unterscheiden.
- Ein Verfahren zum Abspeichern von kodierten Daten für sowohl eine sequentielle als auch progressive Wiederherstellung wird von Miura et al. "A Study on CODEC for Still Images with Sequential/Progressive Build Up", National Conference of Electronics and Informationen Communication Society, Fall 1988, vorgeschlagen. Gemäß diesem vorgeschlagenen Verfahren wird das Bild in Blöcke von 8 x 8 Bildpunkten aufgeteilt und es wird das Bildsignal jedes Blocks in Koeffizienten der räumlichen Frequenzverteilung in Einklang mit dem DCT-Verfahren umgesetzt. Die Koeffizienten werden unter Verwendung von Schwellenwerten quantisiert, die an das menschliche Auge angepaßt sind und es werden die Quantisierungskoeffizienten in einer Zick-Zack- Weise abgetastet, wie in Fig. 6 gezeigt ist, und zwar von den niederfrequenten Komponenten zu den hochfrequenten Komponenten hin. In Verbindung mit den Gleichstromkomponenten wird eine Differenz zwischen den Gleichstromkomponenten jedes Blocks und eines früheren Blocks kodiert. Andererseits wird in Verbindung mit den Wechselstromkomponenten eine Lauf länge eines individuellen Koeffizienten, der Null ist, zu einem signifikanten Koeffizienten, der von Null verschieden ist, für jeden Block kodiert. Der oben beschriebe ne Kodierungsprozeß wird für alle die Blöcke des Bildes durchgeführt. Die kodierten Daten für jeden Block sind zwischen den Blöcken verbunden und die dem Bild entsprechenden kodierten Daten werden in dem Speicherteil für kodierte Daten abgespeichert. Mit anderen Worten findet die Kodierung in der Kodierschaltung statt, die in Fig. 5 gezeigt ist und die Ergebnisse werden in dem Speicherteil 146 für kodierte Daten abgespeichert.
- Fig. 8 zeigt ein Beispiel von kodierten Datensequenzen, die ein Dateiformat haben. In Fig. 8 sind die gleichen Bezeichnungen wie in Fig. 7 verwendet.
- Wenn das Original aus derartig kodierten Daten wiedergewonnen wird, wird die in Fig. 9 gezeigte Leseschaltung für kodierte Daten verwendet. Die Leseschaltung für kodierte Daten umfaßt einen Teil 151 für eine variable Längen-Wiederherstellung, eine Wiederherstellungstabelle 152, einen Koeffizienten-Entnahmeteil 153, einen Koeffizienten- Speicherteil 154, einen Teil 155 für variable Längenkodierung und eine Codetabelle 156. Eine Tabelle 150 für kodierte Daten entspricht der Tabelle 146 für kodierte Daten, die in Fig. 5 gezeigt ist. Die Leseschaltung 151 für kodierte Daten liest die gemäß variabler Länge kodierten Daten aus der Tabelle 150 für kodierte Daten aus und führt einen Bild-Wiederherstellungsprozeß durch.
- Zunächst werden dann, wenn aufeinanderfolgend das Ursprungsbild wiederhergestellt wird, die kodierten Daten sukzessive in Blöcken aus der Tabelle 150 für kodierte Daten ausgelesen. Das Ursprungsbild wird sukzessive in Blökken in einer umgekehrten Reihenfolge gegenüber dem oben geschilderten Vorgang wiederhergestellt und wird zu einer Wiederherstellungsschaltung (nicht gezeigt) über einen Pfad A und zu einem Ausgangsanschluß TO zugeführt.
- Wenn andererseits das Ursprungsbild progressiv wiederhergestellt wird, ist die Speicherstelle der Daten entsprechend D1, D2, ..., die bei der Wiederherstellungsstufe "1" für die progressive Wiederherstellung erforderlich sind, und die Speicherstelle der Daten, die sich auf die nächste Abtastfolge beziehen, die erforderlich sind, in der Wiederherstellungsstufe "2" nicht bekannt, da die Sequenzen gemäß den kodierten Daten jedes Blocks, die in dem Speicherteil 150 für kodierte Daten gespeichert sind, von variabler Länge sind. Aus diesem Grund müssen die dem Bild entsprechenden Daten einmal in die Quantisierungskoeffizienten, die in Fig. 4 gezeigt sind, umgesetzt bzw. wiederhergestellt werden und es muß dann ein Prozeß durchgeführt werden, um D1, welches in der Wiederherstellungsstufe "1" erforderlich ist, aus jedem Block zu extrahieren und um als nächstes die Quantisierungskoeffizienten der Abtastfolge zu extrahieren, die in der Wiederherstellungsstufe "2" erforderlich sind.
- Es werden somit die Sequenzen der kodierten Daten des ersten, des zweiten, ... Blocks aus dem Speicherteil 150 für kodierte Daten für ein Bild ausgelesen, wie in Fig. 8 gezeigt ist, und werden dem Wiederherstellungsteil 151 für variable Länge zugeführt. Der Wiederherstellungsteil 151 für variable Länge greift auf die Wiederherstellungstabelle 152 zu und stellt die Quantisierungskoeffizienten wieder her, die in Fig. 4 gezeigt sind. Die Wiederherstellungstabelle 152 speichert eine Tabelle, welche die Umkehrung der Huffman-Kode-Tabelle darstellt. Der Koeffizienten- Entnahmeteil 153 speichert in dem Koeffizienten-Speicherteil 154 die Quantisierungskoeffizienten in den Blöcken jedes Bildes. Um eine progressive Bild-Wiederherstellung auszuführen, extrahiert der Koeffizienten-Entnahmeteil 153 danach die bezeichnete Zahl von Quantisierungskoeffizienten aus dem Koeffizienten-Speicherteil 154 in Blöcken, um dadurch die variable Längenkodierung durchzuführen. Die Zahl der Quantisierungskoeffizienten wird abhängig von der Wiederherstellungsstufe bezeichnet, die in Fig. 7 gezeigt ist. Als Ergebnis werden die signifikanten Koeffizienten und die Lauflänge der einzelnen Koeffizienten zu jedem signifikanten Koeffizienten dem Kodierungsteil 155 für variable Länge zugeführt. Der Kodierungsteil 155 für variable Länge führt eine variable Längenkodierung durch, um die kodierten Daten der signifikanten Koeffizienten und die Lauflängen der einzelnen Koeffizienten zu erhalten, die unter Verwendung der Kodetabelle 156 empfangen werden, welche die Huffman-Kode- Tabelle enthält. Die Zahl der in der Wiederherstellungsstufe bezeichneten kodierten Daten wird über den Ausgangsanschluß TO der Wiederherstellungsschaltung zugeführt.
- Demzufolge müssen zur Durchführung der progressiven Bild-Wiedergewinnung gemäß dem herkömmlichen Verfahren die Quantisierungskoeffizienten, die aus den kodierten Daten, die ein Bild betreffen, wiederhergestellt werden, erneut in die kodierten Daten auf der Grundlage der variablen Längenkodierung kodiert werden. Aus diesem Grund ergibt sich ein Problem dahingehend, daß eine komplexe Verarbeitungsfolge ausgeführt werden muß, um die kodierten Daten, die jeder Wiederherstellungsstufe entsprechen, aus den Quantisierungskoeffizienten zu extrahieren, die in dem Koeffizienten-Speicherteil 154 gespeichert sind.
- Die Patentschrift GB-A-2,146,874 offenbart einen Dekodierer zum Dekodieren von variablen Längenkodes. Die Veröffentlichung VIDEO, AUDIO AND DATA RECORDING, Vol 79, 22. März 1988, Seiten 199-204, York, GB; P.H.N. DE WITH et al.: "On adaptive DCT coding techniques for digital video recording" offenbart Prinzipien der ADCT-Transformation. Die Veröffentlichung OPTICAL ENGINEERING, Vol 26, Nr. 7, Juli 1987, Seiten 581-589, Bellingham, WA, US; K.-H. TZOU: "Progressive image transmission: a review and comparison of techniques" offenbart eine progressive Übertragung von Bildem über langsame Übertragungsleitungen unter Anwendung mehrerer Durchgänge von dem Bild.
- Es ist demzufolge eine allgemeine Aufgabe der vorliegenden Erfindung, ein neuartiges und nützliches Verfahren und System zum Schreiben und Lesen von kodierten Daten zu schaffen, bei dem die oben erläuterten Probleme beseitigt sind.
- Ein anderes und spezifischeres Ziel der vorliegenden Erfindung, wie es sich aus dem Anspruch 1 ergibt, besteht darin, ein Verfahren zum Schreiben und Lesen von kodierten Daten zu schaffen, die durch eine orthogonale Transformierungskodierung kodiert sind, so daß ein Ursprungsbild progressiv oder sequentiell wiederhergestellt werden kann, wobei das Ursprungsbild in Blöcke einer willkürlichen Anzahl von Bildpunkten aufgeteilt wird, die kodierten Daten dadurch erhalten werden, indem Quantisierungskoeffizienten kodiert werden, die erhalten werden, wenn Gradationswerte der Bildpunkte innerhalb jedes Blockes einer zweidimensionalen diskreten Cosinustransformation unterzogen werden, wobei das Verfahren die Schritte umfaßt gemäß einem Extrahieren der Quantisierungskoeffizienten für jede Wiederherstellungsstufe, Unterziehen der extrahierten Quantisierungskoeffizienten einer variablen Längenkodierung, Einschreiben der variablen längenkodierten Quantisierungskoeffizienten in eine Speichereinrichtung in Form der kodierten Daten, Auslesen der kodierten Daten aus der Speichereinrichtung, Wiedergewinnung einer Kodelänge aus den kodierten Daten, basierend auf den gelesenen kodierten Daten, Extrahieren der kodierten Daten entsprechend der wiedergewonnenen Kodelänge aus den gelesenen kodierten Daten und Ausgeben der extrahierten kodierten Daten als kodierte Daten, die in jeder Wiederherstellungsstufe erforderlich sind. Gemäß dem Verfahren nach der vorliegenden Erfindung ist es möglich, den Prozeß der Extrahierung der kodierten Daten zu vereinfachen, wenn das originale Bild progressiv wiederhergestellt wird. Es ist auch möglich, die kodierten Daten mit einer hohen Geschwindigkeit zu extrahieren.
- Ein noch anderes Ziel der vorliegenden Erfindung, wie es sich aus dem Anspruch 11 ergibt, besteht darin, ein System zum Einschreiben und zum Lesen von kodierten Daten zu schaffen, die mit Hilfe einer orthogonalen Transformierungskodierung kodiert sind, so daß ein Originalbild progressiv oder sequentiell wiederhergestellt werden kann, wobei das Originalbild in Blöcke einer willkürlichen Anzahl von Bildpunkten aufgeteilt wird, die kodierten Daten durch Kodieren von Quantisierungskoeffizienten erhalten werden, die dann gewonnen werden, wenn Gradationswerte der Bildpunkte innerhalb jedes Blockes einer zweidimensionalen diskreten Cosinustransformation unterworfen werden, wobei das System eine Koeffizienten-Entnahmeeinrichtung umfaßt, um die Quantisierungskoeffizienten für jede Wiederherstellungsstufe zu extrahieren, eine variable Längenkodierein richtung, um die extrahierten Quantisierungskoeffizienten einer variablen Längenkodierung zu unterziehen, eine Speichereinrichtung umfaßt, um die gemäß der variablen Länge kodierten Quantisierungskoeffizienten als die kodierten Daten abzuspeichern, eine Einrichtung umfaßt, um die kodier ten Daten aus der Speichereinrichtung auszulesen, eine Kodelängen-Wiederherstellungseinrichtung zum Wiederherstellen einer Kodelänge der kodierten Daten, basierend auf den kodierten Daten, die aus der Speichereinrichtung ausgelesen wurden, und eine Entnahmeeinrichtung für die kodierten Daten umfaßt, um kodierte Daten entsprechend der wiedergewonnenen Kodelänge aus den gelesenen kodierten Daten zu extrahieren und um die extrahierten kodierten Daten als die kodierten Daten auszugeben, die in jeder Wiederherstellungsstufe erforderlich sind.
- Gemäß dem System der vorliegenden Erfindung ist es möglich, den Prozeß der Entnahme der kodierten Daten zu vereinfachen, wenn das Ursprungsbild progressiv wiederhergestellt wird. Es ist auch möglich, die kodierten Daten mit einer hohen Geschwindigkeit zu extrahieren.
- Andere Ziele und weitere Merkmale der vorliegenden Erfindung ergeben sich aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen.
- Fig. 1 zeigt einen Block eines originalen Bildes;
- Fig. 2 zeigt ein Beispiel der DCT-Koeffizienten;
- Fig. 3 zeigt ein Beispiel der Schwellenwerte hinsichtlich der DCT-Koeffizienten, die in Fig. 2 gezeigt sind;
- Fig. 4 zeigt ein Beispiel der Quantisierungskoeffizienten, die durch Quantisieren der in Fig. 2 gezeigten DCT-Koeffizienten erhalten werden, und zwar unter Verwendung der in Fig. 3 gezeigten Schwellenwerte;
- Fig. 5 ist ein Systemblockschaltbild, welches ein Beispiel einer herkömmlichen Kodierschaltung zeigt, die das ADCT-Verfahren verwendet;
- Fig. 6 zeigt ein Beispiel einer Abtastfolge der Quantisierungskoeffizienten, die in Fig. 4 gezeigt sind;
- Fig. 7 zeigt ein Beispiel von kodierten Datensequenzen, die bei den Wiederherstellungsstufen ausgelesen werden;
- Fig. 8 zeigt ein Beispiel einer Struktur der kodierten Datensequenz;
- Fig. 9 ist ein Systemblockschaltbild, welches ein Beispiel einer herkömmlichen Leseschaltung für kodierte Daten wiedergibt;
- Fig. 10 ist ein Systemblockschaltbild zur Erläuterung des Betriebsprinzips einer ersten Ausführungsform eines Systems zum Schreiben und Lesen von kodierten Daten gemäß der vorliegenden Erfindung;
- Fig. 11 ist ein Systemblockschaltbild, welches die erste Ausführungsform des Systems gemäß der vorliegenden Erfindung wiedergibt;
- Fig. 12 ist ein Diagramm zur Erläuterung des Verfahrens der Entnahme der kodierten Daten bei der ersten Ausführungsform;
- Fig. 13 zeigt Folgen kodierter Daten, die bei den Wiederherstellungsstufen der ersten Ausführungsform ausgelesen werden;
- Fig. 14 ist ein Systemblockschaltbild, welches eine Ausführungsform eines Entnahmeteils für kodierte Daten darstellt, das in Fig. 11 gezeigt ist;
- Fig. 15 ist ein Flußdiagramm zur Erläuterung einer Operation des Entnahmeteils für kodierte Daten, der in Fig. 14 gezeigt ist;
- Fig. 16 zeigt kodierte Daten, die in einer zweiten Ausführungsform des Systems zum Schreiben und Lesen von kodierten Daten gemäß der vorliegenden Erfindung verarbeitet werden;
- Fig. 17 ist ein Systemblockschaltbild zur Erläuterung des Betriebsprinzips der zweiten Ausführungsform des Systems;
- Fig. 18 ist ein Systemblockschaltbild, welches einen wesentlichen Teil der zweiten Ausführungsform des Systems gemäß der vorliegenden Erfindung wiedergibt;
- Fig. 19 zeigt Folgen kodierter Daten, die bei der zweiten Ausführungsform für jede der Wiederherstellungsstufen gebildet werden;
- Fig. 20 ist ein Systemblockschaltbild, welches einen anderen wesentlichen Teil der zweiten Ausführungsform des Systems gemäß der vorliegenden Erfindung veranschaulicht;
- Fig. 21A und 21B zeigen jeweils geteilte DCT-Koeffizienten zur Erläuterung einer dritten Ausführungsform des Systems zum Schreiben und Lesen kodierter Daten gemäß der vorliegenden Erfindung;
- Fig. 22 zeigt Folgen kodierter Daten für jede Wiederherstellungsstufe zur Erläuterung der dritten Ausführungs form;
- Fig. 23 ist ein Systemblockschaltbild, welches einen wesentlichen Teil der dritten Ausführungsform des Systems gemäß der vorliegenden Erfindung veranschaulicht; und
- Fig. 24 ist ein Systemblockschaltbild, welches eine Ausführungsform eines signifikanten Kodelängen-Detektionsteils wiedergibt, der in Fig. 23 gezeigt ist.
- Zuerst soll eine Beschreibung des Betriebsprinzips der ersten Ausführungsform eines Systems zum Schreiben und Lesen kodierter Daten gemäß der vorliegenden Erfindung unter Hinweis auf Fig. 10 folgen. Diese erste Ausführungsform des Systems verwendet eine erste Ausführungsform eines Verfahrens zum Schreiben und Lesen kodierter Daten gemäß der vorliegenden Erfindung.
- In Fig. 10 umfaßt das System allgemein eine Speichereinrichtung 20 für kodierte Daten, um die kodierten Daten abzuspeichern, eine Kodelängen-Wiederherstellungseinrichtung 30, die auf die kodierten Daten anspricht, welche aus der Speichereinrichtung 20 für kodierte Daten ausgelesen wurden, um die Kodelänge der kodierten Daten wiederherzustellen, und eine Entnahmeeinrichtung 40 für kodierte Daten, die auf die kodierten Daten anspricht, welche aus der Speichereinrichtung 20 für kodierte Daten ausgelesen wurden, um kodierte Daten, die auf der wiederhergestellten Kodelänge basieren, zu extrahieren und auszugeben.
- Wenn die kodierten Daten in die Speichereinrichtung 20 für kodierte Daten eingespeichert werden, werden alle die kodierten Daten innerhalb des Blocks zwischen den Blöcken verbunden. Im Falle der sequentiellen Wiederherstellung werden die kodierten Daten sukzessive aus der Speichereinrichtung 20 für kodierte Daten ausgelesen, und zwar fortlaufend von einer Startadresse aus. Andererseits wird im Falle der progressiven Wiederherstellung die Kodelänge der Anzahl von kodierten Daten, die in der Wiederherstellungsstufe für jeden Block erforderlich sind, in der Kodelängen-Wiederherstellungseinrichtung 30 wiederhergestellt und die die Kodelänge betreffenden kodierten Daten werden durch die Entnahmeeinrichtung 40 für kodierte Daten extrahiert und es werden die in der Wiederherstellungsstufe erforderlichen kodierten Daten aus der Speichereinrichtung für kodierte Daten ausgelesen. Es ist somit möglich, die Verarbeitungssequenz zu vereinfachen, wenn die kodierten Daten zum Zwecke der progressiven Wiederherstellung des Bildes extrahiert werden.
- Als nächstes folgt eine detaillierte Beschreibung der ersten Ausführungsform des Systems gemäß der vorliegenden Erfindung unter Hinweis auf Fig. 11. In Fig. 11 sind diejenigen Teile, die im wesentlichen die gleichen sind wie die entsprechenden Teile in Fig. 10, mit den gleichen Bezugszeichen versehen und eine Beschreibung derselben wird weggelassen.
- In Fig. 11 ist eine Speichereinrichtung 20 für kodierte Daten zusammengesetzt aus einem Speicheradressen- Berechnungsteil 21, einem Speicheradressen-Halteteil 22 und einem Kodedaten-Speicherteil 23. Der Speicheradressen-Berechnungsteil 21 berechnet eine Speicheradresse in Abhängigkeit von einer Ausgangsgröße der Kodelängen-Wiederherstellungseinrichtung 30. Der Speicheradressen-Halteteil 22 ist an den Speicheradressen-Berechnungsteil 21 angekoppelt und hält die Speicheradresse, die in dem Speicheradressen- Berechnungsteil 21 berechnet wurde. Der Kodedaten-Speicherteil 23 empfängt die Ausgangsadresse des Speicheradressen-Halteteils 22.
- Die Kodelängen-Wiederherstellungseinrichtung 30 ist zusammengesetzt aus einem Kodelängen-Wiederherstellungsteil 31, einer Kodelängentabelle 32 und einem Kodelängen-Addierteil 33. Der Kodelängen-Wiederherstellungsteil 31 stellt die Kodelänge abhängig von einer Ausgangsgröße der Speichereinrichtung 20 für kodierte Daten wieder her, und zwar basierend auf der Kodelängentabelle 32. Der Kodelängenaddierteil 33 addiert die Kodelänge in Abhängigkeit von einer Ausgangsgröße des Kodelängen-Wiederherstellungsteils 31. Eine Ausgangsgröße des Kodelängen-Addierteils 33 wird dem Speicheradressen-Berechnungsteil 21 zugeleitet.
- Die Kodedaten-Entnahmeeinrichtung 40 besteht aus einem Kodedaten-Extraktionsteil 41. Der Kodedaten-Extraktionsteil 41 gibt kodierte Daten aus, die zu einer Wieder herstellungsschaltung (nicht gezeigt) zugeführt werden.
- Bei dieser Ausführungsform werden eine Startadresse Pmn der n'ten Wiederherstellungsstufe eines m'ten Blocks und eine Kodelänge Smn der n'ten Wiederherstellungsstufe des m'ten Blocks für jeden Block erhalten, wie in Fig. 12 gezeigt ist, um die erforderlichen kodierten Daten aus der fortlaufenden kodierten Datenfolge, welche ein Bild ausmacht, zu extrahieren. Es werden Maßnahmen getroffen, so daß die Quantisierungskoeffizienten nicht aus den kodierten Daten wiederhergestellt werden und kein Prozeß zum Kodieren der kodierten Daten durchgeführt wird. Demzufolge kann die Kodedatensequenz, die in der Wiederherstellungsstufe der progressiven Wiederherstellung erforderlich ist, mit einer hohen Geschwindigkeit aus der fortlaufenden Kodedatensequenz ausgelesen werden, die ein Bild ausmacht und wird für die sequentielle Wiederherstellung abgespeichert.
- Die Kodedatensequenzen, die in Fig. 12 für jeden Block gezeigt sind, sind zwischen den Blöcken verbunden und werden in dem Kodedaten-Speicherteil 23 abgespeichert, ähnlich wie bei dem herkömmlichen System. Wenn das Bild sequentiell aus den kodierten Datenfolgen wiederhergestellt wird, werden die kodierten Daten fortlaufend von der Startadresse des Kodedaten-Speicherteils 23 aus ausgelesen und werden über einen Anschluß 50 der Wiederherstellungsschaltung zugeführt.
- Wenn andererseits das Bild progressiv wiederhergestellt wird, wird die Zahl der kodierten Daten, die in einer Wiederherstellungsstufe wiederhergestellt werden, so, wie in Fig. 13 gezeigt ist, bestimmt, ähnlich dem Fall, der in Verbindung mit Fig. 7 beschrieben wurde. Als erstes wird die Startadresse jedes Blocks (die Blockadressen P11, P21, ...) in dem Speicheradressen-Halteteil 22 gehalten. Beispielsweise wird Reob aus den kodierten Daten detektiert, die in dem Kodedaten-Speicherteil 23 abgespeichert sind und es wird die Startadresse jedes Blocks, die durch Detektie ren der Grenze jede Blocks erhalten wurde, gehalten. Die Berechnung der Startadresse wird in dem Speicheradressen- Berechnungsteil 21 ausgeführt, der die Ausgangsgröße der Kodelängen-Wiederherstellungseinrichtung 30 empfängt.
- Es werden die kodierten Daten (D384, ...) aus dem Kodedaten-Speicherteil 23, beginnend mit der Startadresse des ersten Blocks (P11, Adresse O) ausgelesen. Die ausgelesenen kodierten Daten werden dem Kodedaten-Entnahmeteil 41 und dem Kodelängen-Wiederherstellungsteil 31 zugeführt. Der Kodelängen-Wiederherstellungsteil 31 stellt die Kodelänge der empfangenen Kodedaten (D384, ...) unter Verwendung der Kodelängentabelle 32 wieder her, die aus einer Kodelängentabelle für jedes kodierte Datum besteht und es wird dann die wiederhergestellte Kodelänge dem Kodelängen-Addierteil 33 zugeführt. Zur gleichen Zeit wird die wiederhergestellte Kodelänge dem Kodedaten-Entnahmeteil 41 zugeführt. Wenn beispielsweise die Kodelänge der kodierten Daten D384 gleich 10 Bits beträgt, wird die Kodelänge "10" dem Kodelängen-Addierteil 33 zugeführt und auch dem Kodedaten-Entnahmeteil 41.
- Da die Zahl der in der ersten Stufe wiederhergestellten kodierten Daten gleich Eins ist, schickt der Kodelängen-Addierteil 33 die Kodelänge "10", so wie sie ist, zu dem Speicheradressen-Berechnungsteil 21. Der Speicheradressen-Berechnungsteil 21 addiert die Startadresse P11 (=0) des ersten Blocks, der in dem Speicheradressen-Halteteil 22 gehalten wird, und die Kodelänge "10" der ersten Stufe, die in dem Kodelängen-Addierteil 33 berechnet wurde. Zusätzlich erneuert der Speicheradressen-Berechnungsteil 21 die Adresse des ersten Blocks, die in dem Speicheradressen-Halteteil 22 gehalten wird, auf die Startadresse P12 (P11+"10"="10") der zweiten Stufe.
- Andererseits extrahiert der Kodedaten-Entnahmeteil 41 die kodierten Daten, welche die Kodelänge "10" ausmachen, d.h. die kodierten Daten D384 der ersten Stufe des ersten Blocks. Die extrahierten kodierten Daten werden über den Anschluß 50 der Wiederherstellungsschaltung zugeführt.
- Wenn die Entnahme der kodierten Daten des ersten Blocks endet, werden die ersten kodierten Daten (D384, ...) des zweiten Blocks aus dem Kodedaten-Speicherteil 23 ausgelesen, und zwar gemäß der Startadresse (P21) des zweiten Blocks und werden dem Kodedaten-Entnahmeteil 41 und dem Kodelängen-Wiederherstellungsteil 31 zugeführt. Der Kodelängen-Wiederherstellungsteil 31 stellt die Kodelänge der empfangenen kodierten Daten (D384, ...) wieder her und schickt die Kodelänge "10" der kodierten Daten D384 zu dem Kodelängen-Addierteil 33 und dem Kodedaten-Entnahmeteil 41.
- Da die Zahl der in der ersten Stufe wiederhergestellten kodierten Daten gleich Eins ist, schickt der Kodelängen-Addierteil 33 die empfangene Kodelänge "10" zu dem Speicheradressen-Berechnungsteil 21, so wie sie ist. Der Speicheradressen-Berechnungsteil 21 addiert die Startadresse P21 des zweiten Blocks, die in dem Speicheradressen-Halteteil 22 gehalten wird, und die Kodelänge "10" der ersten Stufe, die in dem Kodelängen-Addierteil 33 berechnet wurde. Zusätzlich erneuert der Speicheradressen-Berechnungsteil 21 die Adresse des zweiten Blocks, die in dem Speicheradressen-Halteteil 22 gehalten wird, auf die Startadresse P22 (P21+"10") der zweiten Stufe.
- Andererseits extrahiert der Kodedaten-Entnahmeteil 41 die Kodedaten, welche die Kodelänge "10" ausmachen, d.h. die kodierten Daten D384 der ersten Stufe des zweiten Blocks. Die extrahierten kodierten Daten werden über den Anschluß 50 der Wiederherstellungsschaltung zugeführt. Wenn die Entnahme des zweiten Blocks endet, werden die kodierten Daten der ersten Stufe für alle die Blöcke extrahiert, die einem Bild entsprechen, und es wird das Bild der ersten Stufe in der Wiederherstellungsschaltung wiederhergestellt.
- Der Bild-Wiederherstellungsprozeß für die zweite und die nachfolgenden Stufen wird in ähnlicher Weise wie bei der ersten Stufe ausgeführt. Zunächst werden die kodierten Daten (RO, I-96, RO, I-64, ...) aus dem Kodedaten- Speicherteil 33 beginnend mit der Startadresse P12 (="10") der zweiten Stufe des ersten Blocks ausgelesen. Die ausgelesenen kodierten Daten werden dem Kodedaten-Entnahmeteil 41 und dem Kodelängen-Wiederherstellungsteil 31 zugeführt. Der Kodelängen-Wiederherstellungsteil 31 stellt die Kodelänge der empfangenen Kodedaten (RO, I-96, RO, I-64, ...) unter Verwendung der Kodelängentabelle 32 wieder her und es wird die wiederhergestellte Kodelänge dem Kodelängen- Addierteil 33 zugeleitet. Zur gleichen Zeit wird die wiederhergestellte Kodelänge dem Kodedaten-Entnahmeteil 41 zugeführt. Wenn beispielsweise die Kodelänge der kodierten Daten RO gleich 4 Bits beträgt, so wird die Kodelänge "4" dem Kodelängen-Addierteil 33 und dem Kodedaten-Entnahmeteil 41 zugeleitet.
- Da die Zahl der kodierten Daten, die in der zweiten Stufe wiederhergestellt werden, gleich Vier ist, hält der Kodelängen-Addierteil 33 die empfangene Kodelänge "4", addiert die Kodelängen "8", "4" und "7" der verbleibenden drei kodierten Daten (I-96, RO, I-64) und überträgt den addierten Wert "23" zu dem Speicheradressen-Berechnungsteil 21. Der Speicheradressen-Berechnungsteil 21 addiert die Startadresse P12 (="10") der zweiten Stufe des ersten Blokkes, die in dem Speicheradressen-Halteteil 22 gehalten wird, und die Kodelänge "23" der zweiten Stufe, die in dem Kodelängen-Addierteil 33 berechnet wurde. Zusätzlich erneuert der Speicheradressen-Berechnungsteil 21 die Adresse des ersten Blockes, die in dem Speicheradressen-Halteteil 22 gehalten wird, auf die Startadresse P13 (P12+"23"="33") der dritten Stufe.
- Andererseits extrahiert der Kodedaten-Entnahmeteil 41 sukzessive die kodierten Daten, welche die Kodelänge "23" ausmachen (addierter Wert der Kodelängen "4", "8", "4" und "7"), d.h. die kodierten Daten (RO, I-96, RO, I-64) der zweiten Stufe des ersten Blocks. Die extrahierten kodierten Daten werden über den Anschluß 50 der Wiederherstellungsschaltung zugeführt.
- Wenn die Entnahme der kodierten Daten für den ersten Block endet, werden die kodierten Daten (RO, I-96, RO, I-32, ...) aus dem Speicherteil 23 für kodierte Daten ausgelesen, und zwar entsprechend der Startadresse P22 der zweiten Stufe des zweiten Blocks und es werden die ausgelesenen kodierten Daten dem Kodedaten-Entnahmeteil 41 und dem Kodelängen-Wiederherstellungsteil 31 zugeführt. Der Kodelängen-Wiederherstellungsteil 31 stellt die Kodelänge ("4", "8", "5", "6", ...) der empfangenen kodierten Daten (RO, I-96, RO, I-32, ...) unter Verwendung der Kodelängentabelle 32 wieder her und es werden die wiederhergestellten Kodelängen zu dem Kodedaten-Entnahmeteil 41 und dem Kodelängen Addierteil 33 übertragen.
- Der Kodelängen-Addierteil 33 addiert die Kodelängen der vier kodierten Daten, die in der zweiten Stufe wiederhergestellt wurden und es wird der addierte Wert "23" dem Speicheradressen-Berechnungsteil 21 zugeführt. Der Speicheradressen-Berechnungsteil 21 addiert die Startadresse P22 der zweiten Stufe des zweiten Blockes, die in dem Speicheradressen-Halteteil 22 gehalten wird und die Kodelänge "23" der zweiten Stufe, die in dem Kodelängen-Addierteil 33 berechnet wurde. Zusätzlich erneuert der Speicheradressen-Berechnungsteil 21 die Adresse des zweiten Blokkes, die in dem Speicheradressen-Halteteil 22 gehalten wird, auf die Startadresse P23 (P22+"23") der dritten Stufe.
- Andererseits extrahiert der Kodedaten-Entnahmeteil 41 sukzessive die Kodedaten, welche die Kodelänge "23" (addierter Wert der Kodelängen "4", "8", "5" und "6") ausmachen, d.h. die kodierten Daten (RO, I-96, R1, I-32) der zweiten Stufe des zweiten Blocks. Die extrahierten kodierten Daten werden über den Anschluß 50 der Wiederherstellungsschaltung zugeführt. Wenn die Entnahme des zweiten Blocks endet, werden die kodierten Daten der zweiten Stufe für alle Blöcke extrahiert, die einem Bild entsprechen und es wird das Bild der zweiten Stufe in der Wiederherstellungsschaltung wiederhergestellt.
- Der oben beschriebene Bild-Wiederherstellungsprozeß wird bis zur vierten Stufe wiederholt. Als Ergebnis werden die kodierten Daten der ersten bis vierten Stufe extrahiert und es werden die Bilder der Stufen sukzessive wiedergewonnen bzw. wiederhergestellt.
- Als nächstes soll eine Beschreibung einer Ausführungsform des Kodedaten-Entnahmeteils 41 unter Hinweis auf Fig. 14 folgen, der in Fig. 11 gezeigt ist. In Fig. 14 umfaßt der Kodedaten-Entnahmeteil 41 eine Verriegelungsschaltung 413, einen Zähler 414, eine Vergleichsstufe 415 und eine Entnahme-Steuereinheit 416. Die in dem Kodedaten- Speicherteil 23 gespeicherten kodierten Daten werden ausgelesen und an einen Dateneingabeanschluß Di der Verriegelungsschaltung 413 über einen Anschluß 410 zugeführt. Die Kodelänge aus dem Kodelängen-Wiederherstellungsteil 31 wird einem Eingangsanschluß der Vergleichsstufe 415 über einen Anschluß 411 zugeführt. Die kodierten Daten von einem Datenausgabeanschluß Do der Verriegelungsschaltung 413 werden als die Ausgangsgröße des Kodedaten-Entnahmeteils 41 ausgegeben.
- Fig. 15 ist ein Flußdiagramm zur Erläuterung einer Operation des Kodedaten-Entnahmeteils 41. Der Übersichtlichkeit halber ist angenommen, daß der Anschluß 410 die Kodedatenfolge von dem Kodedaten-Speicherteil 23 gemäß einem Bit zu einem Zeitpunkt empfängt, und daß der Anschluß 411 die Kodelänge "10" von dem Kodelängen-Wiederherstellungsteil 31 empfängt.
- In Fig. 15 stellt die Entnahme-Steuereinheit 416 den Zähler 414 auf "0" bei einem Schritt S1 dadurch zurück, indern sie ein Rückstellsignal RESET an einen Rückstellanschluß des Zählers 414 zuführt. Nach dem Empfang eines Kodelängenberechnungs-Vervollständigungssignals über einen nicht gezeigten Pfad, gibt die Entnahme-Steuereinheit 416 ein Taktsignal SCK bei einem Schritt S2 aus. Das Taktsignal SCK wird einem Taktanschluß CLK der Verriegelungsschaltung 413 und dem Zähler 414 zugeführt. Damit verriegelt die Verriegelungsschaltung 413 die empfangene Kodedatenfolge als die übertragene Kodedatenfolge und gibt ein Bit bei einem Schritt S3 aus. Zusätzlich inkrementiert der Zähler 414 den Zählstand um Eins, was bei einem Schritt S4 erfolgt und überträgt einen Wert "1" zu dem anderen Eingangsanschluß der Vergleichsstufe 415. Die Entnahme-Steuereinheit 416 entscheidet bei einem Schritt S5, ob der Ausgangswert des Zählers 414 gleichgeworden ist der Kodelänge "10" von dem Kodelängen-Wiederherstellungsteil 31 oder nicht und es wird ein Signal EQUAL von der Vergleichsstufe 415 ausgegeben, welches einen Wert "1" hat. Die Vergleichsstufe 415 gibt das Signal EQUAL, welches den Wert "1" hat nur aus, wenn die zwei verglichenen Werte miteinander übereinstimmen. Damit gibt die Entnahme-Steuereinheit 416 das Taktsignal SCK neunmal aus, bis das Signal EQUAL, welches den Wert "1" hat, von der Vergleichsstufe 415 empfangen wird. Durch den oben beschriebenen Prozeß werden fortlaufend 10 Bits der Kodedatenfolge, die von dem Kodedaten-Speicherteil 23 empfangen werden, von dem Kodedaten-Entnahmeteil 41 als die übertragene Kodedatenfolge ausgegeben.
- Wenn fortwährend mehr als ein kodiertes Datum extrahiert wird, wird die oben beschriebene Operation wiederholt.
- Bei dieser Ausführungsform wird angenommen, daß die maximale Kodelänge gleich "15" beträgt. Aus diesem Grund stellt der Kodelängen-Wiederherstellungsteil 31 die Kodelänge unter Verwendung der Daten wieder her, welche die Bitbreite von 15 Bits haben und diese wird erhalten, indem die Kodedatenfolge aus dem Kodedaten-Speicherteil 23 einer Seriell-zu-Parallel-Umsetzung unterworfen wird.
- Als nächstes folgt eine Beschreibung des Betriebsprinzips einer zweiten Ausführungsform des Systems zum Schreiben und Lesen von kodierten Daten gemäß der vorliegenden Erfindung, und zwar unter Hinweis auf die Fig. 16 und 17. Diese zweite Ausführungsform des Systems verwendet eine zweite Ausführungsform eines Verfahrens zum Schreiben und Lesen von kodierten Daten nach der vorliegenden Erfindung.
- Bei dieser Ausführungsform wird jedes Ursprungsbild in Blöcke von 8 x 8 Bildpunkten aufgeteilt und es werden die Gradationswerte der Bildpunkte innerhalb jedes Blocks in DCT-Koeffizienten gemäß dem DCT-Verfahren transformiert und werden dann in Quantisierungskoeffizienten quantisiert, ähnlich wie dies in Verbindung mit den Fig. 1 bis 4 zuvor geschrieben wurde. Es wird jedoch dann, wenn die Quantisierungskoeffizienten in einem Kodedaten-Speicherteil abgespeichert werden, eine Kodedatenfolge verwendet, welche eine Struktur hat, die in Fig. 16 gezeigt ist.
- Wenn angenommen wird, daß es bis zu vier progressive Wiederherstellungsstufen gibt, wird die Kodedatenfolge der ersten Stufe dadurch gebildet, indem lediglich die Quantisierungskoeffizienten D1, D2, ... der ersten Stufe jedes Blocks extrahiert werden. Dann wird die Kodedatenfolge der zweiten Stufe dadurch gebildet, indem lediglich die Quantisierungskoeffizienten der zweiten Stufe jedes Blocks extrahiert werden. Es werden dann die Quantisierungskoeffizienten bis zur endgültigen vierten Stufe in dieser Weise extrahiert, um die Kodedatenfolge der vierten Stufe zu bilden. Jede dieser Kodedatenfolgen wird basierend auf dem Huffman-Kode komprimiert und verbunden.
- Zusätzlich ist am Anfang der Kodedatenfolge ein Anfangsblock vorgesehen. Dieser Anfangsblock enthält eine Kodemengeninformation hinsichtlich der Kodedatenfolge für jede Wiederherstellungsstufe. Mit anderen Worten enthält ein Anfangsblockabschnitt CLEN1 des Anfangsblockes die Kodemengeninformation hinsichtlich der komprimierten Kodedatenfolge der ersten Stufe. In ähnlicher Weise enthalten jeweils die Anfangsblockabschnitte CLEN2, CLEN3 und CLEN4 die Kodemengeninformation hinsichtlich der komprimierten Kodedatenfolgen der zweiten, der dritten und der vierten Stufe. Die Anfangsblockabschnitte CLEN1 bis CLEN4 haben eine feste Länge. Aus diesem Grund können die Startpositionen der Kodedatenfolgen der Wiederherstellungsstufen in einfacher Weise dadurch erhalten werden, indem die Anfangsblockabschnitte CLEN1 bis CLEN4 ausgelesen werden. Dies bedeutet, daß es möglich ist, einfach die Kodedatenfolgen für jede der Wiederherstellungsstufen zu erhalten. Als Ergebnis ist es möglich, die Kodedatenfolgen in solcher Weise zu erhalten, daß die Möglichkeit geboten wird, schnell die progressive Wiederherstellung durchzuführen und auch die sequentielle Wiederherstellung auszuführen.
- Eine in Fig. 17 gezeigte kodebildende Schaltung wird dazu verwendet, um die Kodedatenfolge, welche die in Fig. 16 gezeigte Struktur hat, zu bilden. In Fig. 17 umfaßt die kodebildende Schaltung einen Koeffizienten-Entnahmeteil 51 einen Koeffizienten-Speicherteil 52, einen Kodierteil 53 gemäß einer variablen Länge, eine Kodetabelle 54, einen Kodedaten-Speicherteil 55 und einen Kodezählteil 56.
- Es werden Quantisierungskoeffizienten jedes Blocks, die in Fig. 4 gezeigt sind und die einem Bild entsprechen, dem Koeffizienten-Entnahmeteil 51 über einen Anschluß 50 zugeführt. Der Koeffizienten-Entnahmeteil 51 speichert zeitweilige die Quantisierungskoeffizienten in dem Koeffizienten-Speicherteil 52. Beispielsweise wird die gelesene Kodedatenfolge der Wiederherstellungsstufe, die in Fig. 7 gezeigt ist, dem Koeffizienten-Entnahmeteil 51 über einen Anschluß 57 zugeführt. Basierend auf der gelesenen Kodedatenfolge der Wiederherstellungsstufe, liest der Koeffizient-Entnahmeteil 51 vorbestimmte Quantisierungskoeffizienten von jedem Block in der Folge der Stufen aus. Die vorbestimmten Quantisierungskoeffizienten werden dem Kodierteil 53 gemäß einer variablen Länge zugeführt, der die vorbestimmten Quantisierungskoeffizienten mit Hilfe des Huffman-Kodes komprimiert, indem beispielsweise auf die Kodetabelle 54 Bezug genommen wird. Damit komprimiert der Koderteil 53 gemäß einer variablen Länge jede der Kodedatenfolgen der ersten bis vierten Stufe und es werden die komprimierten Kodedatenfolgen dem Kodedaten-Speicherteil 55 für jede Stufe zugeführt. Der Kodierteil 53 für variable Länge führt auch dem Kodezählteil 56 die Kodelänge jeder Wiederherstellungsstufe zu.
- Wie in Fig. 16 gezeigt ist, besitzt der Anfangsblock eine festgesetzte Länge und es sind Bitlängen der Kodedatenfolgen der Wiederherstellungsstufen in den Anfangsblock-Abschnitten CLEN1 bis CLEN4 mit enthalten. Zusätzlich addiert der Kodezählteil 56 sukzessive die Bitlängen, die in die Anfangsblock-Abschnitte CLEN1 bis CLEN4 eingeschneben sind und berechnet eine Adresseninformation, welche die Kodedatenfolge für jede Wiederherstellungsstufe einstellt. Aus diesem Grund kann der Kodedaten-Speicherteil 55 den Anfangsblock und den Kodedatenabschnitt verbinden und speichern, wie in Fig. 16 gezeigt ist, und zwar basierend auf der Adresseninformation.
- Da es möglich ist, den Anfangsblock, der die gesamte Kodemenge der Wiederherstellungsstufen anzeigt, und den Kodedatenabschnitt zu verbinden und zu speichern, der auf die Kodedatenfolgen der Wiederherstellungsstufen bezogen ist, kann sowohl eine progressive als auch sequentielle Wiederherstellung in zufriedenstellender Weise ausgeführt werden. Das heißt im Falle der progressiven Wiederherstellung werden die kodierten Daten fortlaufend vom Start an basierend auf den Kodelängen ausgelesen, die in den Anfangslbockabschnitten CLEN1 bis CLEN4 des Anfangsblocks eingeschrieben sind. Andererseits werden im Falle einer sequentiellen Wiederherstellung die erforderlichen kodierten Daten aus den fortlaufenden Kodedatenfolgen unter Verwendung der Kodelängen extrahiert, die in den Anfangsblockabschnitten CLEN1 bis CLEN4 des Anfangsblocks eingeschrieben sind. Demzufolge wird die Operation des Auslesens der kodierten Daten für die sequentielle Wiederherstellung einfach und es ist zusätzlich möglich, die kodierten Daten mit einer hohen Geschwindigkeit für die progressive Wiederherstellung auszulesen.
- Als nächstes soll eine detailliertere Beschreibung der zweiten Ausführungsform des Systems gemäß der vorliegenden Erfindung unter Hinweis auf Fig. 18 folgen. Fig. 18 zeigt einen wesentlichen Teil der zweiten Ausführungsform des Systems. In Fig. 18 sind diejenigen Teile, die im wesentlichen die gleichen sind wie diejenigen entsprechenden Teile in Fig. 17 mit den gleichen Bezugszeichen versehen und es wird eine Beschreibung derselben daher weggelassen. Fig. 19 zeigt die Kodedatenfolgen, die bei dieser Ausführungsform für jede der Wiederherstellungsstufen gebildet werden, und Fig. 20 zeigt einen anderen wesentlichen Teil der zweiten Ausführungsform des Systems.
- Es soll zuerst eine Beschreibung der Bilddatenkodierung der zweiten Ausführungsform unter Hinweis auf die Fig. 18 und 19 folgen. In Fig. 18 umfaßt die Kodedaten- Leseschaltung einen DCT-Teil 67, einen Linear-Quantisierungsteil 68 und eine Quantisierungsmatrix 69 zusätzlich zu den in Fig. 17 gezeigten elementen. Der DCT-Teil 67, der lineare Quantisierungsteil 68 und die Quantisierungsmatrix 69 entsprechen jeweils dem DCT-Teil 141, dem linearen Quantisierungsteil 142 und der Quantisierungsmatrix 143, die in Fig. 5 gezeigt sind.
- Ein eingegebenes Bildsignal, welches dadurch erhalten wird, indem das Bild in Blöcke von 8 x 8 Bildpunkten aufgeteilt wird, wie in Fig. 1 gezeigt ist, wird über den Anschluß 50 an den DCT-Teil 67 angelegt. In ähnlicher Weise, wie dies in Verbindung mit Fig. 1 beschrieben wurde, unterzieht der DCT-Teil 67 das eingegebene Bildsignal einer orthogonalen Transformation in Einklang mit dem DCT-Verfahren. Es werden somit Koeffizienten der räumlichen Frequenzverteilung, d.h. die DCT-Koeffizienten, die in Fig. 2 gezeigt sind, von dem DCT-Teil 67 erhalten und werden dem linearen Quantisierungsteil 68 zugeleitet. Der lineare Quantisierungsteil 68 greift auf die Quantisierungsmatrix 69 zu, die eine Tabelle von Schwellenwerten enthält, die in Fig. 3 gezeigt sind, welche durch visuelle Erprobung festgelegt werden, und führt eine lineare Quantisierung dadurch durch, indem die DCT-Koeffizienten der Bildpunkte durch die entsprechenden Schwellenwerte geteilt werden. Als Ergebnis werden diejenigen DCT-Koeffizienten, die Absolutwerte kleiner als die entsprechenden Schwellenwerte besitzen, als Null betrachtet, und die Quantisierungskoeffizienten, die lediglich Werte für die Gleichstromkomponenten besitzen (die Daten an den Positionen der Abtastfolge "1", wie in Fig. 6 gezeigt ist) und die kleinen Wechselstrornkomponenten besitzt, werden so, wie in Fig. 4 gezeigt ist, erzeugt. Die Quantisierungskoeffizienten werden dem Koeffizienten-Entnahmeteil 51 zugeführt, welcher die Quantisierungskoeffizienten jedes Blocks des Bildes in den Koeffizienten-Speicherteil 52 einspeichert.
- Beispielsweise wird die gelesene Kodedatenfolge der Wiederherstellungsstufe, wie in Fig. 7 gezeigt ist, dem Koeffizienten-Entnahmeteil 51 von dem Anschluß 57 her zugeführt. Damit nimmt der Koeffizienten-Entnahmeteil 51 Bezug auf die gelesene Kodedatenfolge der Wiederherstellungsstufe und extrahiert zuerst die Daten Dm (m=1, 2, ...) der Wiederherstellungsstufe "1" aus den Quantisierungskoeffizienten jedes Blocks aus, die in dem Koeffizienten-Speicherteilt 52 abgespeichert sind. Die Daten Dm werden für jeden Block von den Positionen der Abtastfolge "1" der Quantisierungskoeffizienten, die in Fig. 6 gezeigt sind, extrahiert und werden dem Kodierteil 53 gemäß einer variablen Länge zugeführt. In diesem Zustand informiert der Koeffizienten-Entnahmeteil 51 den Kodierteil 53 gemäß einer variablen Länge darüber, daß die Wiederherstellungsstufe die Wiederherstellungsstufe "1" ist, indem er ein Impulssignal oder ähnliches zuführt.
- Der Kodierteil 53 gemäß einer variablen Länge hält die Daten, welche die Wiederherstellungsstufe "1" angeben, in einem ersten Zähler 53-1. Die Daten D1 bis Dm der Wiederherstellungsstufe "1", die in.Fig. 19 gezeigt sind, werden unter Bezugnahme auf die Kodetabelle 54 komprimiert und es wird die Bitlänge der komprimierten kodierten Daten in einem zweiten Zähler 53-2 gezählt. Der Kodierteil 53 gemäß einer variablen Länge überträgt die komprimierten kodierten Daten zu dem Kodedaten-Speicherteil 55. Wie zuvor in Verbindung mit Fig. 16 beschrieben wurde, bestehen die Kodedaten, die in dem Kodedaten-Speicherteil 55 abgespeichert sind, aus dem Anfangsblock, der eine festgesetzte Länge hat, und dem Kodedatenfolgeabschnitt, der eine variable Länge hat. Demzufolge ist die Startposition, von der ab die Kodedatenfolge der komprimierten Daten D1, ... in dem Kodedaten-Speicherteil 55 gespeichert ist, für die Wiederherstellungsstufe "1" bekannt.
- Wenn die Kodedatenfolge der Wiederherstellungsstufe "1" in dem Kodedaten-Speicherteil 55 gespeichert ist, wird die Länge der komprimierten kodierten Daten der Wiederherstellungsstufe "1" von dem zweiten Zähler 53-2 dem Kodedaten-Speicherteil 55 zugeführt. Die Länge der komprimierten kodierten Daten wird in den Anfangsblockabschnitt CLEN1 des Anfangsblockes mit einer festen Länge eingeschrieben, und zwar als Länge der kodierten Daten der Wiederherstellungsstufe "1". Zur gleichen Zeit wird der Wert des Anfangsblockabschnitts CLEN1 von dem zweiten Zähler 53-2 dem Kodezählabschnitt 56 zugeführt. Demnach addiert der Kodezählabschnitt 56 den Wert des Anfangsblockabschnitts CLEN1 und die Länge des Anfangsblocks, um dadurch die Startposition zu erhalten, von der ab die Kodedatenfolge der Wiederherstellungsstufe "2" in dem Kodedaten-Speicherteil 55 gespeichert ist.
- Als nächstes führt der Koeffizienten-Entnahmeteil 51 eine Steuerung hinsichtlich der Wiederherstellungsstufe "2" durch, basierend auf der gelesenen Kodedatenfolge der Wiederherstellungsstufe "2", die in Fig. 7 gezeigt ist. Es werden somit die Quantisierungskoeffizienten, die als zweite und dritte in der Abtastfolge von Fig. 6 gezeigt sind (erste und zweite Wechselstromkomponenten) durch den Koeffizient-Entnahmeteil 51 extrahiert. Basierend auf dem Format der gelesenen Kodedatenfolge der Wiederherstellungsstufe, die in Fig. 7 gezeigt ist, gibt der Koeffizienten-Entnahmeteil 51 die kodierten Daten der Wiederherstellungsstufe "2", die in Fig. 19 gezeigt ist, ähnlich wie im Falle der Wiederherstellungsstufe "1" aus. Damit zeigt der erste Zähler 53-1 des Kodierteils 53 gemäß einer variablen Länge die Wiederherstellungsstufe "2" an und der Kodierteil 53 gemäß einer variablen Länge komprimiert die kodierten Daten der Wiederherstellungsstufe "2" unter Zugriff auf die Kodetabelle 54. Es wird die Länge der komprimierten kodierten Daten in dem zweiten Zähler 53-2 gezählt und wird dem Kodedaten-Speicherteil 55 zugeleitet. Die komprimierten kodierten Daten der Wiederherstellungsstufe "2" werden in dem Kodedaten-Speicherteil 55 abgespeichert, und zwar von der Startposition der Wiederherstellungsstufe "2" aus, die in dem Kodezählteil 56 berechnet wurde. Es wird dann der gezählte Wert des zweiten Zählers 53-2 dem Kodezählerteil 56 zugeführt und es wird eine Operation ähnlich der oben beschriebenen durchgeführt, um die Startposition zu erhalten, von der ab die Kodedatenfolge der in der Wiederherstellungsstufe "2" in dem Kodedaten-Speicherteil 55 gespeichert ist. Natürlich wird die Kodelänge, die in dem zweiten Zähler 53-2 gezählt wurde, in den Anfangsblockabschnitt CLEN2 des Anfangsblocks mit einer festen Länge eingeschrieben.
- Die kodierten Daten der Wiederherstellungsstufen "3" und "4" werden in ähnlicher Weise in dem Kodedaten- Speicherteil 55 abgespeichert.
- Fig. 20 zeigt eine Kodedaten-Leseschaltung zum Lesen der gespeicherten kodierten Daten aus dem Kodedaten- Speicherteil 55 zum Zwecke der Wiederherstellung des Ursprungsbildes. In Fig. 20 umfaßt die Kodedaten-Leseschaltung einen Kodedaten-Speicherteil 71, der dem Kodedaten- Speicherteil 55 entspricht, der in Fig. 18 gezeigt ist, und umfaßt einen Kodedaten-Entnahmeteil 72, einen Kodelängen- Wiederherstellungsteil 73, eine Kodelängentabelle 74, einen Kodelängen-Addierteil 75, einen Speicheradressen-Berechnungsteil 76, einen Speicheradressen-Halteteil 77, einen Anfangsblock-Halteteil 78 und einen progressiven Kodelängen-Berechnungsteil 79.
- Der Kodedaten-Speicherteil 71 speichert die kodierten Daten, die den Anfangsblock ausmachen, der die feste Länge besitzt, und den Kodedaten-Folgeabschnitt, der die variable Länge besitzt, wie in Fig. 16 gezeigt ist. Die Inhalte der Kodedatenfolge, die in dem Kodedaten-Speicherteil 71 gespeichert ist, sind in Fig. 19 gezeigt.
- Der Kodedaten-Entnahmeteil 72 speichert im voraus die Zahl der Kodes für jede Stufe ab.
- Der Speicheradressen-Berechnungsteil 76 empfängt die Eingangsgrößen A, B und C und gibt eine Ausgangsgröße D ab. Zu Beginn gilt D = f(A). Während der Kodedaten-Entnahme führt der Speicheradressen-Berechnungsteil 76 eine Ausgangsgröße D zu, so daß D = B + C.
- Als nächstes folgt eine Beschreibung der Operation der Kodedaten-Leseschaltung, die in Fig. 20 gezeigt ist, für einen Fall (i), bei dem das Ursprungsbild progressiv wiederhergestellt wird, und einen Fall (ii) bei dem das Ursprungsbild sequentiell wiederhergestellt wird.
- Bei dem Fall (i) werden beispielsweise Wiederherstellungsrnodedaten "0" dem Kodedaten-Entnahmeteil 72 über einen Anschluß 80 zugeführt, um die Kodedaten-Leseschaltung in einen progressiven Wiederherstellungsmodus zu steuern. Eine Anfangs-Wiederherstellungsstufe ("1", "2", "3" oder "4") wird dem Kodedaten-Entnahmeteil 72 über einen Anschluß 81 zugeführt.
- Zuerst wird der Anfangsblock (CLEN1 bis CLEN4) der zu Beginn der Kodedatenfolge hinzugefügt wird, wie in Fig. 16 gezeigt ist, aus dem Kodedaten-Speicherteil 71 ausgelesen und wird in dem Anfangsblock-Halteabschnitt 78 gehalten. Die Anfangsblockinformation, die den Stufen entspricht, die wiederherzustellen sind, wird von dem Anfangsblock-Halteabschnitt 78 dem progressiven Kodelängen-Berechnungsteil 79 zugeführt, der die gesamte Kodelänge der Wiederherstellungsstufen berechnet. Wenn beispielsweise die Wiederherstellungsstufe "2" wiederhergestellt wird, wird die Kodelängeninformation CLEN1 (beispielsweise 50 Bits) der Wiederherstellungsstufe "1" und die Kodelängeninformation CLEN2 (beispielsweise 100 Bits) der Wiederherstellungsstufe "2" in dem progressiven Kodelängen-Berechnungsteil 79 addiert. Mit anderen Worten wird die Kodelänge CLEN1+CLEN2 (beispielsweise 150 Bits) bis zu der Wiederherstellungsstufe "2" in dem progressiven Kodelängen-Berechnungsteil 79 berechnet. Zusätzlich setzt der Speicheradressen-Berechnungsteil 76 die Ausgangsgröße D in Fig. 20 auf "32" und hält die Startadresse der kodierten Daten in dem Speicheradressen-Halteteil 77.
- Wenn die Entnahme der kodierten Daten von der Wiederherstellungsstufe "2" aus startet, berechnet beispielsweise der Speicheradressen-Berechnungsteil 76 D = 32+CLEN1 und hält diesen Wert von D in dem Speicheradressen-Halteteil 77. Aus dem Kodedaten-Folgeabschnitt, der sukzessive aus dem Kodedaten-Speicherteil 71 ausgelesen wird, beginnend von der Adresse "32", die in dem Speicheradressen-Halteteil 77 gehalten wird, extrahiert der Kodedaten-Entnahmeteil 72 die Kodedaten, welche die berechnete Kodelänge OLEN1+CLEN2 (beispielsweise 150 Bits) ausmachen und schickt die extrahierten kodierten Daten zu der Wiederherstellungsschaltung (nicht gezeigt) über einen Anschluß 83. Das Bild der Wiederherstellungsstufe "1" wird in der Wiederherstellungsschaltung wiederhergestellt, wenn die kodierten Daten von CLEN1 (beispielsweise 50 Bits) empfangen werden, und es werden dann die kodierten Daten von CLEN2 wiederhergestellt, um progressiv das Bild der Wiederherstellungsstufe "2" wiederherzustellen.
- Das Bild der Wiederherstellungsstufen "3" und weiterer Stufen kann progressiv durch eine ähnliche Prozedur wiederhergestellt werden, indem die Kodelänge jeder Stufe berechnet wird, die wiederherzustellen ist, und zwar basierend auf der Kodelängeninformation CLEN3, CLEN4 und ähnlichem.
- Bei dem Fall (ii) werden Wiederherstellungsmodedaten "1" beispielsweise dem Kodedaten-Entnahmeteil 72 über den Anschluß 80 zugeführt, um die Kodedaten-Leseschaltung in einen sequentiellen Wiederherstellungsmodus zu steuern. Es wird eine Start-Wiederherstellungsstufe ("1", "2", "3" oder "4") dem Kodedaten-Entnahmeteil 72 über den Anschluß 81 zugeleitet.
- Ähnlich dem oben beschriebenen Fall (i) liest der Kodedaten-Entnahmeteil 72 den Anfangsblock, welcher dem Anfang der Kodedatenfolge hinzugefügt ist, von dem Kodedaten- Speicherteil 71 und hält die Kodelängeninformation CLEN1 bis CLEN4 für jede Wiederherstellungsstufe in dem Anfangsblock-Halteabschnitt 78. Der Speicheradressen-Berechnungsteil 76 berechnet die Startadressen P11, P21, P31 und P41 (wobei Pim die Startadresse des m'ten Blocks der l'ten Stufe bezeichnet) der Wiederherstellungsstufen, basierend auf der Kodelängeninformation CLEN1 bis CLEN4. Spezieller gesagt, führt der Speicheradressen-Berechnungsteil 76 die Berechnung Ph = 32, P21 = P11+CLEN1, P31 = P21+CLEN2 und P41 = P31+CLEN3 durch und hält die berechneten Startadressen P11, P21, P31 und P41 in dem Speicheradressen-Halteteil 77.
- Zuerst werden die kodierten Daten (D1, ...) des ersten Blocks aus dem Kodedaten-Speicherteil 71, beginnend mit der Startadresse P11 (beispielsweise P11 = 32) der Wiederherstellungsstufe "1" ausgelesen und es werden die ausgelesenen kodierten Daten dem Kodedaten-Entnahmeteil 72 und dem Kodelängen-Wiederherstellungsteil 73 zugeführt. Der Kodelängen-Wiederherstellungsteil 73 greift auf die Kodelängentabelle 74 zu, um die kodierten Daten D1 und deren Kodelänge zu detektieren, wobei das Muster der empfangenen kodierten Daten mit der Kodelängentabelle 74 verglichen wird. Die detektierte Kodelänge wird dem Kodelängen-Addierteil 75 und dem Kodedaten-Entnahmeteil 72 zugeführt. Wenn beispielsweise die Kodelänge der Kodedaten D1 gleich "10" ist, so wird der Wert "10" dem Kodelängen-Addierteil 75 und dem Kodedaten-Entnahmeteil 72 zugeführt. In diesem Zustand ist in dem Kodelängen-Addierteil 75 bekannt, daß die Zahl der kodierten Daten gleich Eins ist und der Kodelängen-Addierteil 75 führt somit die Kodelänge "10", so wie sie ist, dem Speicheradressen-Berechnungsteil 76 zu.
- Der Speicheradressen-Berechnungsteil 76 addiert die Startadresse P11 (P11 = 32) des ersten Blocks, die in dem Speicheradressen-Halteteil 77 gehalten wird, und die Kodelänge "10" der kodierten Daten D1 des ersten Blocks der Wiederherstellungsstufe "1", die von dem Kodelängen-Addier teil 75 erhalten wurden, und erneuert die Adresse der Wiederherstellungsstufe "1", die in dem Speicheradressen-Halteteil 77 gehalten wird, auf die Startadresse P12 (P12 = P11+10 = 42) des zweiten Blocks. Andererseits extrahiert der Kodedaten-Entnahmeteil 72 die der Kodelänge "10" entsprechenden kodierten Daten, die von dem Kodelängen-Wiederherstellungsteil 73 empfangen wurden. Das heißt, der Kodedaten-Entnahmeteil 72 extrahiert die kodierten Daten D1 des ersten Blocks der Wiederherstellungsstufe "1" und überträgt die extrahierten kodierten Daten D1 über den Anschluß 82 zu der Wiederherstellungsschaltung.
- Wenn die Entnahme der kodierten Daten für den ersten Block der Wiederherstellungsstufe "1" endet, werden die kodierten Daten RO, I2,1.1, RO, I2,1.2, . . . des ersten Blocks der Wiederherstellungsstufe "2" aus dem Kodedaten- Speicherteil 71 basierend auf der Startadresse P21 der Kodedatenfolge der Wiederherstellungsstufe "2" ausgelesen. Die Startadresse P21 wird durch Addieren der Startadresse der Kodedatenfolge und der Kodelängeninformation CLEN1 erhalten, welche die Kodelänge der Kodedatenfolge der Wiederherstellungsstufe "1" angibt. Die gelesenen kodierten Daten werden dem Kodedaten-Entnahmeteil 72 und dem Kodelängen- Wiederherstellungsteil 73 zugeführt. Der Kodelängen-Wiederherstellungsteil 73 greift auf die Kodelängentabelle 74 zu und stellt die Kodelänge der kodierten Daten RO, I2,1.1, RO, I2,1.2, ... wieder her. Die wiederhergestellte Codelänge wird dem Kodelängen-Addierteil 75 und dem Kodedaten-Entnahmeteil 72 zugeführt. Wenn die Kodelänge der kodierten Daten RO gleich "4" Bits beispielsweise beträgt, wird der Wert "4" dem Kodelängen-Addierteil 75 und dem Kodedaten- Entnahmeteil 72 zugeführt.
- Es ist in dem Kodelängen-Wiederherstellungsteil 73 und in dem Kodelängen-Addierteil 75 bekannt, daß die Zahl der kodierten Daten des in der Wiederherstellungsstufe "2" wiederhergestellten ersten Blocks gleich Vier ist. Somit erhält der Kodelängen-Addierteil 75 die Kodelänge "4" der empfangenen kodierten Daten RO und addiert hierzu die Kodelängen "8", "4" und "7" der verbleibenden drei Kodedaten I2,1.1, RO und I2,1.2, die sukzessive empfangen werden. Ein Additionswert "23" wird von dem Kodelängen-Addierteil 75 dem Speicheradressen-Berechnungsteil 76 zugeführt. Der Speicheradressen-Berechnungsteil 76 addiert die Startadresse P21 der Kodedatenfolge der Wiederherstellungsstufe "2", die in dem Speicheradressen-Halteteil 77 gehalten wird, und die Kodelänge "23" des ersten Blocks der Wiederherstellungsstufe "2", die in dem Kodelängen-Addierteil 75 berechnet wurde, und erneuert die Adresse hinsichtlich des ersten Blocks der Wiederherstellungsstufe "2", die in dem Speicheradressen-Halteteil 77 gehalten wird, auf die Startadresse P22 (P22 = P21+23) des zweiten Blocks.
- Andererseits extrahiert der Kodedaten-Entnahmeteil 72 die kodierten Daten, die sukzessive empfangen werden und eine Kodelänge besitzen, die insgesamt "23" beträgt. Das heißt der Kodedaten-Entnahmeteil 72 extrahiert die kodierten Daten (RO, I2,1.1, RO, I2,1.2) des ersten Blocks der Wiederherstellungsstufe "2" und überträgt die extrahierten kodierten Daten über den Anschluß 82 zu der Wiederherstellungsschaltung.
- Die kodierten Daten werden in ähnlicher Weise für die Wiederherstellungsstufen "3" und "4" extrahiert und über den Anschluß 82 der Wiederherstellungsschaltung zugeführt. Als Ergebnis wird die Wiederherstellung der kodierten Daten des ersten Blocks vervollständigt.
- Der Wiederherstellungsprozeß hinsichtlich des zweiten Blocks wird in ähnlicher Weise wie beim ersten Block ausgeführt. Zunächst werden die kodierten Daten D2, ... des zweiten Blocks aus dem Kodedaten-Speicherteil 71 basierend auf der erneuerten Startadresse P12 (P12 = 42) des zweiten Blockes der Wiederherstellungsstufe "1" ausgelesen und werden dem Kodedaten-Entnahmeteil 72 und dem Kodelängen-Wiederherstellungsteil 73 zugeleitet. Der Kodelängen-Wiederherstellungsteil 73 greift auf die Kodelängentabelle 74 zu und detektiert die kodierten Daten D2 und deren Kodelänge, während das Muster der empfangenen kodierten Daten mit der Kodelängentabelle 74 verglichen wird. Die detektierte Kodelange wird dem Kodelängen-Addierteil 75 und dem Kodedaten-Entnahmeteil 72 zugeführt. Wenn beispielsweise die Kodelänge der kodierten Daten D2 gleich ist "10", so wird dieser Wert "10" dem Kodelängen-Addierteil 75 und dem Kodedaten-Entnahmeteil 72 zugeführt. In diesem Zustand ist es in dem Kodelängen-Addierteil 75 bekannt, daß die Zahl der kodierten Daten, die in dem zweiten Block der Wiederherstellungsstufe "1" wiederherzustellen sind, gleich Eins ist und demzufolge schickt der Kodelängen-Addierteil 75 die Kodelänge "10", so wie sie ist, zu dem Speicheradressen-Berechnungsteil 76.
- Der Speicheradressen-Berechnungsteil 76 addiert die Startadresse P12 (P12 = 42) des zweiten Blocks der Wiederherstellungsstufe "1", die in dem Speicheradressen-Halteteil 77 gehalten wird, und die Kodelänge "10" der kodierten Daten D2 des zweiten Blocks der Wiederherstellungsstufe "1", die von dem Kodelängen-Addierteil 75 erhalten wurde, und erneuert die Adresse der Wiederherstellungsstufe "1", die in dem Speicheradressen-Halteteil 77 gespeichert ist, auf die Startadresse P13 (P13 = P12+10 = 52) des dritten Blocks. Andererseits extrahiert der Kodedaten-Entnahmeteil 72 die Kodedaten, die der Kodelänge "10" entsprechen, die von dem Kodelängen-Wiederherstellungsteil 73 empfangen wurde. Das heißt, der Kodedaten-Entnahmeteil 72 extrahiert die kodierten Daten D2 des zweiten Blocks der Wiederherstellungsstufe "2" und überträgt die extrahierten kodierten Daten D2 über den Anschluß 82 zu der Wiederherstellungsschaltung.
- Wenn die Entnahme der kodierten Daten für den zweiten Block der Wiederherstellungsstufe "1" endet, werden die kodierten Daten RO, I2,2.1, R1, I2,2.2, ... des zweiten Blocks der Wiederherstellungsstufe "2" aus dem Kodedaten- Speicherteil 71 basierend auf der erneuerten Startadresse P22 der Kodedatenfolge der Wiederherstellungsstufe "2" ausgelesen. Die gelesenen kodierten Daten werden dem Kodedaten-Entnahmeteil 72 und dem Kodelängen-Wiederherstellungsteil 73 zugeführt. Der Kodelängen-Wiederherstellungsteil 73 greift auf die Kodelängentabelle 74 zu und stellt die Kodelänge der kodierten Daten RO, I2,2.1, R1, I2,2.2, ... wieder her. Die wiederhergestellte Kodelänge wird zu dem Kode längen-Addierteil 75 und dem Kodedaten-Entnahmeteil 72 übertragen. Wenn die Kodelängen der kodierten Daten RO, I2,2.1, R1, I2,2.2, jeweils "4", "8", "5" und "6" Bits als Beispiel betragen, so werden diese Werte dem Kodelängen- Addierteil 75 und dem Kodedaten-Entnahmeteil 72 zugeführt.
- Es ist in dem Kodelängen-Wiederherstellungsteil 73 und dem Kodelängen-Addierteil 75 bekannt, daß die Zahl der kodierten Daten des in der Wiederherstellungsstufe "2" wiederhergestellten zweiten Blocks gleich Vier beträgt. Demzufolge hält der Kodelängen-Addierteil 75 die Kodelänge "4" der empfangenen Kodedaten RO und addiert dazu die Kodelängen "8", "5" und "6" der verbleibenden drei Kodedaten I2,2.1, R1, I2,2.2, die sukzessive empfangen werden. Es wird ein Additionswert "23" von dem Kodelängen-Addierteil 75 dem Speicheradressen-Berechnungsteil 76 zugeführt. Der Speicheradressen-Berecbnungsteil 76 addiert die Startadresse P22 der Kodedatenfolge der Wiederherstellungsstufe "2", die in dem Speicheradressen-Halteteil 77 gehalten wird, und die Kodelänge "23" des zweiten Blocks der Wiederherstellungsstufe "2", die in dem Kodelängen-Addierteil 75 berech net wurde, und erneuert die Adresse hinsichtlich des zweiten Blocks der Wiederherstellungsstufe "2", die in dem Speicheradressen-Halteteil 77 gehalten wird, auf die Startadresse P23 (P23 = P22+23) des dritten Blocks.
- Andererseits extrahiert der Kodedaten-Entnahmeteil 72 die kodierten Daten, die sukzessive empfangen werden und die Kodelänge haben, die insgesamt "23" beträgt. Das heißt, der Kodedaten-Entnahmeteil 72 extrahiert die kodierten Daten (RO, I2,2.1, R1, I2,2.2,) des zweiten Blockes der Wiederherstellungsstufe "2" und überträgt die extrahierten kodierten Daten über den Anschluß 82 zu der Wiederherstellungsschaltung.
- Wenn die Entnahme der kodierten Daten für die Wiederherstellungsstufe "2" endet, werden die kodierten Daten des zweiten Blockes in ähnlicher Weise für die Wieder herstellungsstufen "3" und "4" extrahiert. Als Ergebnis werden alle kodierten Daten des zweiten Blocks extrahiert und werden über den Anschluß 82 der Wiederherstellungsschaltung zugeführt.
- Durch Wiederholen des oben beschriebenen Prozesses für das gesamte Bild, wird das Bild sequentiell von dem ersten Block an wiederhergestellt. Mit anderen Worten wird, wenn die Blockzahlen von oben links bis unten rechts des Bildes zugeordnet werden, das Bild sequentiell von oben links nach unten rechts des Bildes wiederhergestellt.
- Ein Kode-Wiederherstellungs-Vervollständigungssignal ist in den Signalen enthalten, die von dem Kodelängen-Wiederherstellungsteil 73 ausgegeben werden. Die Kodelänge wird jedesmal dann addiert, wenn der Kodelängen- Addierteil 75 das Kode-Wiederherstellungs-Vervollständigungssignal empfängt. Ein Speicheradressen-Erneuerungssignal ist in den Signalen enthalten, die von dem Kodedaten- Entnahmeteil 72 ausgegeben werden. Dieses Speicheradressen- Erneuerungssignal wird dem Speicheradressen-Halteteil 77 zugeführt und es wird die Ausgangsgröße des Kodelängen- Addierteil 75 gelöscht, wenn die Adresse des Speicheradressen-Halteteiles 77 in Abhängigkeit von dem Speicheradressen-Erneuerungssignal erneuert wird.
- Diese Ausführungsform wurde für den Fall beschrieben, bei dem ein Block aus 8 x 8 Bildpunkten besteht und die Zahl der Gradationswerte gleich 256 ist. Jedoch ist die Zahl der Bildpunkte, die einen Block ergeben, und auch die Zahl der Gradationswerte nicht auf diejenigen des Ausführungsbeispiels beschränkt.
- Als nächstes soll eine Beschreibung einer dritten Ausführungsform des Systems zum Schreiben und Lesen kodierter Daten gemäß der vorliegenden Erfindung unter Hinweis auf die Fig. 21 bis 23 folgen. Diese dritte Ausführungsform des Systems verwendet eine dritte Ausführungsform eines Verfahrens zum Schreiben und Lesen von kodierten Daten gemäß der vorliegenden Erfindung.
- Bei dieser Ausführungsform wird die Wiederherstellungsstufe der progressiven Wiederherstellung durch die Position bestimmt, d.h. die Zick-Zack-Abtastadresse der DCT-Koeffizienten. Beispielsweise ist die Entsprechung der Stufe und der Position der DCT-Koeffizienten in der folgenden Tabelle veranschaulicht. Tabelle Stufe Position
- Die geteilten DCT-Koeffizienten sind in den Fig. 21A und 21B gezeigt und die Kodedatenfolgen jeder Stufe sind in Fig. 22 gezeigt.
- Fig. 23 zeigt eine Kodedaten-Leseschaltung zum Lesen der gespeicherten kodierten Daten aus dem Kodedaten- Speicherteil 55, der in Fig. 18 gezeigt ist, für den Zweck, um das Ursprungsbild wiederherzustellen. In Fig. 23 sind diejenigen Teile, die die gleichen wie diejenigen entsprechenden Teile in Fig. 20 sind, mit den gleichen Bezugszeichen versehen und eine Beschreibung derselben ist daher weggelassen. In Fig. 23 umfaßt die Kodedaten-Leseschaltung zusätzlich zu den Elementen, die in Fig. 20 gezeigt sind, einen Lauflängen-Wiederherstellungsteil 91, eine Lauflängen-Wiederherstellungstabelle 92 und einen Detektionsteil 93 für eine signifikante Kodelänge.
- Es soll nun eine Beschreibung eines Falles folgen, bei dem die kodierten Daten kollektiv für jede Wiederherstellungsstufe gespeichert werden. Wenn die kodierten Daten gebildet werden, extrahiert der in Fig. 18 gezeigte Koeffizienten-Entnahmeteil 51 lediglich die DCT-Koeffizienten, die innerhalb des Bereiches der Position existieren, die in der Tabelle für jede der Stufen aufgeführt ist und es werden die extrahierten kodierten Daten dem Kodierteil 53 gemäß einer variablen Länge zugeführt. Im Falle der DCT-Koeffizienten, die in den Fig. 21A und 21B gezeigt sind, werden lediglich die Gleichstromkomponenten (Koeffizienten an der Position 1) in jedem Block der Stufe "1" extrahiert und es werden die Kodedatenfolgen erzeugt, die in Fig. 22 gezeigt sind. Fig. 21A zeigt den ersten Block und Fig. 21B zeigt den zweiten Block. In den Fig. 21A und 21B bezeichnet "X" einen von Null verschiedenen Koeffizienten. In der Stufe "2" werden lediglich die DCT-Koeffizienten extrahiert, die innerhalb des Bereiches der Positionen 2 bis 3 existieren und es werden die Kodedatenfolgen, die in Fig. 22 gezeigt sind, in ähnlicher Weise wie bei der Stufe "1" erzeugt. Wenn der letzte DCT-Koeffizient in einer Stufe gleich Null ist, wird ein Kode Reob hinzugefügt, um das En de der Stufe (Band) anzuzeigen. Die Kodierung findet in ähnlicher Weise danach statt und die Kodedatenfolgen, die in Fig. 22 gezeigt sind, werden aus den DCT-Koeffizienten des ersten und des zweiten Blockes, die in den Fig. 21A und 21B gezeigt sind, für jede Stufe erzeugt.
- Wenn die progressive Wiederherstellung bei dieser Ausführungsform durchgeführt wird, werden die kodierten Daten fortlaufend vom Beginn der Stufe an extrahiert, und zwar wie im Falle der zweiten Ausführungsform.
- Wenn andererseits die sequentielle Wiederherstellung bei dieser Ausführungsform durchgeführt wird, wird die Lauflänge gleichzeitig mit der Wiederherstellung der Kodelänge wiederhergestellt. Das heißt, der Lauflängen-Wiederherstellungsteil 91 greift auf die Lauflängen-Wiederherstellungstabelle 92 zu, um die Lauflänge wiederherzustellen. Die wiederhergestellte Lauflänge wird dem Detektionsteil 93 für die signifikante Kodelänge zugeführt, der die Lauflängen für jeden Block sammelt, um so die Positionen der DCT-Koeffizienten zu erhalten. Der Detektionsteil 93 für die signifikante Kodelänge vergleicht die erhaltenen Positionen mit der Endposition der Stufe, die von dem Kodedaten-Entnahmeteil 72 empfangen wurde, und entscheidet, ob jeder Koeffizient zu dem in Betracht stehenden Block gehört oder nicht. Wenn der Lauflängen-Wiederherstellungsteil 91 den Kode Reob detektiert, verhindert der Lauflängen-Wiederherstellungsteil 91 zusätzlich den Detektionsteil 39 für die signifikante Kodelänge daran, die signifikante Kodelänge auszugeben, so daß die kodierten Daten (Reob) nicht von dem Kodedaten-Entnahmeteil 72 ausgegeben werden. Wenn der angesammelte Wert in dem Detektionsteil 75 für die signifikante Kodelänge mit der Endposition oder dem Kode Reob übereinstimmt, und dies in dem Detektionsteil 75 für die signifikante Kodelänge detektiert wird, wird die Entnahme der kodierten Daten für die in Betracht stehende Stufe beendet und es wird von dem Detektionsteil 75 für die signifikante Kodelänge ein Erneuerungssignal ausgegeben. Der Rest der Operation der Kodedaten-Leseschaltung, die in Fig. 23 gezeigt ist, ist der gleiche wie derjenige, der in Fig. 20 gezeigt ist.
- Fig. 24 zeigt eine Ausführungsform des Detektionsteils 75 für die signifikante Kodelänge. In Fig. 24 umfaßt der Detektionsteil 75 für die signifikante Kodelänge einen Addierer 101, eine Vergleichsstufe 102, einen Positionsspeicherteil 103, eine ODER-Schaltung 104 und eine Maskierschaltung 105, die in der gezeigten Weise verbunden sind. Die wiederhergestellte Lauflänge RUN aus dem Lauflängen-Wiederherstellungsteil 91 wird an einen Anschluß 110 angelegt und der Kode Reob wird, wenn er von dem Lauflängen-Wiederherstellungsteil 91 ausgegeben wird, an einen An schluß 111 angelegt. Die wiederhergestellte Kodelänge aus dem Kodelängen-Wiederherstellungsteil 73 wird an einen Anschluß 112 angelegt. Die endgültige Position, die von dem Kodedaten-Entnahmeteil 72 empfangen wird, wird an einen Anschluß 113 angelegt.
- Der Addierer 101 addiert die wiederhergestellte Lauflänge RUN aus dem Lauflängen-Wiederherstellungsteil 91 und einen angesammelten Wert aus dem Positionsspeicherteil 103, welches eine Ausgangsgröße des Addierers 101 empfängt, und speichert die Position innerhalb des Blocks. Die Aus gangsgröße des Addierers 101 wird auch an die Vergleichsstufe 102 übertragen, welche die Ausgangsgröße des Addierers 101 mit der endgültigen Position vergleicht. Die Vergleichsstufe 102 gibt ein Detektionssignal ab, wenn die zwei verglichenen Positionen übereinstimmen und dieses Detektionssignal wird der ODER-Schaltung 104 zugeführt. Die ODER-Schaltung 104 empfängt auch den Kode Reob von dem Anschluß 111 und es wird ein Erneuerungssignal über einen Anschluß 115 von der ODER-Schaltung 104 ausgegeben. Die Maskierschaltung 105 empfängt den Kode Reob von dem Anschluß 111 und die wiederhergestellte Kodelänge von dem Anschluß 112 und gibt die signifikante Kodelänge über einen Anschluß 116 aus.
- Bei der zweiten und dritten Ausführungsform kann der Kodedaten-Entnahmeteil eine Konstruktion ähnlich derjenigen haben, die in Fig. 14 gezeigt ist.
Claims (20)
1. Verfahren zum Schreiben und Lesen kodierter
Daten, die durch eine orthogonale Transformierungskodierung
kodiert sind, so daß ein Ursprungsbild progressiv oder
sequentiell wiederhergestellt werden kann, wobei das
Ursprungsbild in Blöcke einer willkürlichen Zahl von
Bildpunkten aufgeteilt wird und die kodierten Daten durch
Kodieren von Quantisierungskoeffizienten erhalten werden, die
sich ergeben, wenn Gradationswerte der Bildpunkte innerhalb
jedes Blockes einer zweidimensionalen diskreten
Cosinustransformation unterworfen werden, dadurch gekennzeichnet,
daß das Verfahren die folgenden Schritte umfaßt:
Extrahieren der Quantisierungskoeffizienten für jede
Wiederherstellungsstufe, Unterziehen der extrahierten
Quantisierungskoeffizienten einer variablen Längenkodierung, Einschreiben
der gemäß der variablen Länge kodierten
Quantisierungskoeffizienten in eine Speichereinrichtung als die kodierten
Daten, Auslesen der kodierten Daten aus der
Speichereinrichtung,
Wiederherstellung einer Kodelänge der kodierten Daten
auf der Grundlage der ausgelesenen kodierten Daten,
Extrahieren von kodierten Daten entsprechend der
wiederhergestellten Kodelänge aus den ausgelesenen kodierten Daten,
und Ausgeben der extrahierten kodierten Daten als die
Kodedaten, die in jeder Wiederherstellungsstufe erforderlich
sind.
2. Verfahren nach Anspruch 1, dadurch
gekennzeichnet, daß der Schritt des Einschreibens der gemäß der
variablen Länge kodierten Quantisierungskoeffizienten das
Einschreiben aller gemäß der variablen Länge kodierten
Quantisierungskoeffizienten innerhalb jedes Blockes umfaßt,
derart, daß die gemäß der variablen Länge kodierten
Quantisierungskoeffizienten zwischen den Blöcken verbunden
werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß der Schritt der Wiederherstellung der
Kodelänge das Wiederherstellen einer Summe von Kodelängen
einer Anzahl von kodierten Daten umfaßt, die in jeder
Wiederherstellungsstufe für jeden Block erforderlich sind,
wenn das Ursprungsbild progressiv wiederhergestellt wird.
4. Verfahren nach Anspruch 3, dadurch
gekennzeichnet, daß es den weiteren Schritt der Berechnung einer
Startadresse umfaßt, von der an die kodierten Daten aus der
Speichereinrichtung auf der Grundlage der wiedergewonnene
Kodelänge ausgelesen werden.
5. Verfahren nach Anspruch 4, dadurch
gekennzeichnet, daß der Schritt der Entnahme der kodierten Daten
ein sukzessives Auslesen der kodierten Daten aus der
Speichereinrichtung umfaßt, beginnend von der Startadresse,
wenn das Ursprungsbild sequentiell wiederhergestellt wird.
6. Verfahren nach Anspruch 1, dadurch
gekennzeichnet, daß die in der Speichereinrichtung gespeicherten
kodierten Daten einen Anfangsblock aufweisen, der eine
Kodernengeninformation für jede Wiederherstellungsstufe
angibt, und einen Kodedaten-Folgeabschnitt aufweisen, in
welchem die einer vorbestimmten Anzahl von
Wiederherstellungsstufen entsprechenden kodierten Daten verbunden sind, wobei
die vorbestimmte Anzahl von Wiederherstellungsstufen
erforderlich ist, um das Ursprungsbild progressiv
wiederherzustellen.
7. Verfahren nach Anspruch 6, dadurch
gekennzeichnet, daß der Schritt der Wiederherstellung der
Kodelänge das Berechnen der Kodelänge auf der Grundlage der
Kodemengeninformation, die in dem Anfangsblock enthalten ist,
umfaßt.
8. Verfahren nach Anspruch 7, dadurch
gekennzeichnet, daß ein Schritt der Berechnung einer Startadresse
durchgeführt wird, von der an die kodierten Daten aus der
Speichereinrichtung basierend auf der in dem Anfangsblock
enthaltenen Kodemengeninformation ausgelesen werden, daß
der Schritt der Wiederherstellung der Kodemenge das Berech
nen der Kodelänge aus einer Summe der
Kodemengeninformationen
für die vorbestimmte Anzahl von
Wiederherstellungsstufen umfaßt und daß der Schritt der Entnahme der kodierten
Daten ein sukzessives Auslesen der kodierten Daten aus der
Speichereinrichtung, beginnend von der Startadresse einer
ersten Stufe, umfaßt, wenn das Ursprungsbild progressiv
wiederhergestellt wird.
9. Verfahren nach Anspruch 8, dadurch
gekennzeichnet, daß der Schritt der Wiederherstellung der
Kodelänge das Wiederherstellen einer Summe von Kodelängen einer
Anzahl von kodierten Daten umfaßt, die in jeder
Wiederherstellungsstufe für jeden Block erforderlich sind, wenn das
Ursprungsbild sequentiell wiederhergestellt wird.
10. Verfahren nach irgendeinem der Ansprüche 6
bis 9, dadurch gekennzeichnet, daß ferner die Schritte
durchgeführt werden gemäß einer Wiederherstellung einer
Lauflänge, basierend auf den aus der Speichereinrichtung
ausgelesenen kodierten Daten und gemäß einem Detektieren
einer signifikanten Kodelänge, basierend auf der
wiederhergestellten Lauflänge, wobei der Schritt der Entnahme der
kodierten Daten das Auslesen der kodierten Daten aus der
Speichereinrichtung abhängig von der detektierten
signifikanten Kodelänge umfaßt.
11. System zum Schreiben und Lesen kodierter
Daten, die durch eine orthogonale Transformierungskodierung
kodiert sind, so daß ein Ursprungsbild progressiv oder
sequentiell wiederhergestellt werden kann, wobei das
Ursprungsbild in Blöcke einer beliebigen Anzahl von
Bildpunkten
aufgeteilt ist und wobei die kodierten Daten durch
Kodieren von Quantisierungskoeffizienten erhalten werden, die
sich ergeben, wenn Gradationswerte der Bildpunkte innerhalb
jedes Blockes einer zweidimensionalen diskreten
Cosinustransformation unterworfen werden, dadurch gekennzeichnet,
daß das System eine Koeffizienten-Entnahmeeinrichtung (57,
52) enthält, um die Quantisierungskoeffizienten für jede
Wiederherstellungsstufe zu extrahieren, eine
Kodiereinrichtung (53, 54, 56) für eine variable Länge enthält, um die
extrahierten Quantisierungskoeffizienten einer variablen
Längenkodierung zu unterziehen, eine Speichereinrichtung
(56, 23, 71) enthält, um die gemäß einer variablen Länge
kodierten Quantisierungskoeffizienten als die kodierten
Daten abzuspeichern, eine Einrichung zum Auslesen der
kodierten Daten aus der Speichereinrichtung, eine
Kodelängen-Wiederherstellungseinrichtung (31-33, 73-75) zum
Wiederherstellen einer Kodelänge der kodierten Daten auf der
Grundlage der aus der Speichereinrichtung ausgelesenen kodierten
Daten, und eine Kodedaten-Entnahmeeinrichtung (41, 72) zum
Extrahieren von kodierten Daten, die wiederhergestellten
Kodelängen entsprechen, aus den ausgelesenen kodierten
Daten und zum Ausgeben der extrahierten kodierten Daten als
die Kodedaten, die in jeder Wiederherstellungsstufe
erforderlich sind.
12. System nach Anspruch 11, dadurch
gekennzeichnet, daß daß die Speichereinrichtung (56, 23, 71) alle
die gemäß einer variablen Länge kodierten
Quantisierungskoeffizienten innerhalb jedes Blockes derart einschreibt, daß
die gemäß der variablen Länge kodierten
Quantisierungskoeffizienten zwischen den Blöcken verbunden sind.
13. System nach Anspruch 11 oder 12, dadurch
gekennzeichnet, daß die
Kodelängen-Wiederherstellungseinrichtung (31-33, 73-75) eine Summe der Kodelängen einer
Anzahl kodierter Daten wiederherstellt, die in jeder
Wiederherstellungsstufe für jeden Block erforderlich sind, wenn
das Ursprungsbild progressiv wiederhergestellt wird.
14. System nach Anspruch 13, dadurch
gekennzeichnet, daß ferner eine
Startadressen-Berechnungseinrichtung (21, 22, 76, 77) vorgesehen ist, um eine
Startadresse zu berechnen, von der aus die kodierten Daten aus
der Speichereinrichtung (56, 23, 71) basierend auf der
wiederhergestellten Kodelänge ausgelesen werden.
15. System nach Anspruch 11, dadurch
gekennzeichnet, daß die Kodedaten-Entnahmeeinrichtung (41, 72)
sukzessive die kodierten Daten aus der Speichereinrichtung
(56, 23, 71), beginnend von der Startadresse, ausliest,
wenn das Ursprungsbild sequentiell wiederhergestellt wird.
16. System nach Anspruch 11, dadurch gekenn
zeichnet, daß die in der Speichereinrichtung (56, 23, 71)
abgespeicherten kodierten Daten einen Anfangsblock
besitzen, der eine Kodemengeninformation für jede
Wiederherstellungsstufe angibt, und einen Kodedaten-Folgeabschnitt
aufweisen, in welchem die einer vorbestimmten Anzahl von Wie
derherstellungsstufen entsprechenden kodierten Daten
verbunden
sind, wobei die vorbestimmte Anzahl an
Wiederherstellungsstufen dafür erforderlich ist, um das
Ursprungsbild progressiv wiederherzustellen.
17. System nach Anspruch 16, dadurch
gekennzeichnet, daß die Kodelängen-Wiederherstellungseinrichtung
(73-75) die Kodelänge auf der Grundlage der
Kodemengeninformation berechnet, die in dem Anfangsblock enthalten ist.
18. System nach Anspruch 17, dadurch
gekennzeichnet, daß ferner eine
Startadressen-Berechnungseinrichtung (76, 77) vorgesehen ist, um eine Startadresse zu
berechnen, von der ab die kodierten Daten aus der
Speichereinrichtung basierend auf der in dem Anfangsblock
enthaltenen Kodemengeninformation ausgelesen werden, wobei die
Kodelängen-Wiederherstellungseinrichtung (73-75) die
Kodelänge aus einer Summe der Kodemengeninformationen für die
vorbestimmte Anzahl von Wiederherstellungsstufen berechnet
und wobei die Kodedaten-Entnahmeeinrichtung (72) sukzessive
die kodierten Daten aus der Speichereinrichtung, beginnend
von der Startadresse der ersten Stufe ausliest, wenn das
Ursprungsbild progressiv wiederhergestellt wird.
19. System nach Anspruch 18, dadurch
gekenn-25 zeichnet, daß die Kodelängen-Wiederherstellungseinrichtung
(73-75) eine Summe der Kodelänge einer Anzahl von kodierten
Daten wiederherstellt, die in jeder Wiederherstellstufe für
jeden Block erforderlich sind, wenn das Ursprungsbild
sequentiell wiederhergestellt wird.
20. System nach irgendeinem der Ansprüche 16 bis
19, dadurch gekennzeichnet, daß ferner eine
Lauflängen-Wiederherstellungseinrichtung (91, 92) vorgesehen ist, um auf
der Grundlage der aus der Speichereinrichtung (56, 71) aus
gelesenen kodierten Daten eine Lauflänge
wiederherzustellen, und eine Detektionseinrichtung (93) für eine
signifikante Kodelänge vorgesehen ist, um eine signifikante
Kodelänge auf der Grundlage der wiederhergestellten Lauflänge
zu detektieren, wobei die Kodedaten-Entnahmeeinrichtung
(72) die kodierten Daten aus der Speichereinrichtung
abhängig von der detektierten signifikanten Kodelänge ausliest.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1034229A JP2571274B2 (ja) | 1989-02-14 | 1989-02-14 | 符号データ格納・読出方式 |
JP19575389A JP2614325B2 (ja) | 1989-07-28 | 1989-07-28 | 画像データ符号化方式及び符号データ読出し処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69026634D1 DE69026634D1 (de) | 1996-05-30 |
DE69026634T2 true DE69026634T2 (de) | 1996-11-14 |
Family
ID=26373020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69026634T Expired - Fee Related DE69026634T2 (de) | 1989-02-14 | 1990-02-13 | Verfahren und System zum Schreiben und Lesen von kodierten Daten |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0383678B1 (de) |
KR (1) | KR930004004B1 (de) |
CA (1) | CA2009848C (de) |
DE (1) | DE69026634T2 (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
US5303058A (en) * | 1990-10-22 | 1994-04-12 | Fujitsu Limited | Data processing apparatus for compressing and reconstructing image data |
JP3336029B2 (ja) * | 1991-01-02 | 2002-10-21 | 株式会社リコー | 画像圧縮用量子化方法及び装置 |
GB2251756B (en) * | 1991-01-11 | 1995-01-04 | Sony Broadcast & Communication | Compression of video signals |
GB2252001B (en) * | 1991-01-11 | 1995-01-04 | Sony Broadcast & Communication | Storage of video signals |
US5295203A (en) * | 1992-03-26 | 1994-03-15 | General Instrument Corporation | Method and apparatus for vector coding of video transform coefficients |
KR100186915B1 (ko) * | 1994-07-13 | 1999-05-01 | 모리시다 요이치 | 디지털 부호화 장치 및 디지털 부호 복호화 장치 |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6061749A (en) | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US6195674B1 (en) | 1997-04-30 | 2001-02-27 | Canon Kabushiki Kaisha | Fast DCT apparatus |
US6414687B1 (en) | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2146874A (en) * | 1983-08-26 | 1985-04-24 | British Telecomm | Decoding of minimum redundancy codes |
-
1990
- 1990-02-12 CA CA002009848A patent/CA2009848C/en not_active Expired - Fee Related
- 1990-02-13 EP EP90400394A patent/EP0383678B1/de not_active Expired - Lifetime
- 1990-02-13 DE DE69026634T patent/DE69026634T2/de not_active Expired - Fee Related
- 1990-02-14 KR KR1019900001786A patent/KR930004004B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CA2009848C (en) | 1995-11-21 |
KR930004004B1 (ko) | 1993-05-19 |
CA2009848A1 (en) | 1990-08-14 |
DE69026634D1 (de) | 1996-05-30 |
EP0383678B1 (de) | 1996-04-24 |
KR900013769A (ko) | 1990-09-05 |
EP0383678A2 (de) | 1990-08-22 |
EP0383678A3 (de) | 1992-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69332673T2 (de) | Verfahren und Vorrichtung zur Kodierung und Wiederherstellung von Bilddaten | |
DE68927082T2 (de) | Verfahren und Vorrichtung für die Bilddatenkomprimierung | |
DE69720559T2 (de) | Methode zur Bildkodierung mit Kodes variabler Länge | |
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE3785911T2 (de) | Kodiersystem hoher leistung durch der quantisierung vorhergehende und/oder nachfolgende verarbeitung. | |
DE69119847T2 (de) | Elektronische standbildkamera mit mehrformatspeicherung von bildern mit voller und beschränkter auflösung | |
DE69132063T2 (de) | Bildcodierung mit Optimierung der erzeugten Codemenge | |
DE3850627T2 (de) | Vorrichtung zum Codieren von digitalen Videosignalen und eine entsprechende Decodiervorrichtung. | |
DE69221191T2 (de) | Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation | |
DE69324960T2 (de) | Kodierung und Dekodierung | |
DE69324743T2 (de) | Vorrichtung und Verfahren zur Bildsignalkodierung | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE69125199T2 (de) | Geometrische Vektorquantifizierung | |
DE69232824T2 (de) | Dekoder | |
DE69132017T2 (de) | Kodierungsvorrichtung | |
DE69428979T2 (de) | Einrichtung und verfahren zur kodierung von bilddaten | |
DE69031198T2 (de) | Einrichtung zur orthogonalen Transformationskodierung | |
DE69220975T2 (de) | Kodierschaltung zur Transformationskodierung eines Bildsignals und Dekodierschaltung zum Dekodieren desselben | |
DE69026634T2 (de) | Verfahren und System zum Schreiben und Lesen von kodierten Daten | |
DE3109795A1 (de) | Bandeinengungsverfahren fuer getoente bilder | |
DE69722495T2 (de) | Adaptives Abtastverfahren für Wavelet-Videokodierung | |
DE69519801T2 (de) | Videokompressionsverfahren | |
DE69331126T2 (de) | Bildverarbeitungsgerät und Verfahren zur mehrstufigen Kompression | |
DE4442643B4 (de) | Verfahren zum Abschätzen der Bewegung in einem Bewegtbild | |
DE3638852A1 (de) | Bildverarbeitungsgeraet und -verfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |