DE69127739T2 - Bilddatenverarbeitungsgerät - Google Patents
BilddatenverarbeitungsgerätInfo
- Publication number
- DE69127739T2 DE69127739T2 DE69127739T DE69127739T DE69127739T2 DE 69127739 T2 DE69127739 T2 DE 69127739T2 DE 69127739 T DE69127739 T DE 69127739T DE 69127739 T DE69127739 T DE 69127739T DE 69127739 T2 DE69127739 T2 DE 69127739T2
- Authority
- DE
- Germany
- Prior art keywords
- coefficient
- data
- image data
- coefficients
- quantized
- 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
- 238000012545 processing Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 claims description 129
- 239000011159 matrix material Substances 0.000 claims description 110
- 238000013139 quantization Methods 0.000 claims description 52
- 238000003860 storage Methods 0.000 claims description 39
- 238000013144 data compression Methods 0.000 claims description 34
- 238000001514 detection method Methods 0.000 claims description 19
- 230000001131 transforming effect Effects 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
- Die Erfindung betrifft ein Bilddatenverarbeitungsgerät zum Komprimieren von Bilddaten mit Hilfe eines adaptiven diskreten Kosinus-Transformation-Codiersystems, welches dazu verwendet wird, um ein Bild mit gleichmäßiger Farbtönung zu komprimieren, wie beispielsweise ein Graustufenbild oder ein Farbbild, und betrifft ein Bilddaten-Rekonstruktionsgerät zum Rekonstruieren von Bilddaten aus Codes, die durch das adaptive diskrete Kosinustransformationssystem erhalten wurden.
- Ein Codiersystem mit einer adaptiven diskreten Kosinustransformation (im folgenden als ADCT-System bezeichnet) welches eine zweidimensionale orthogonale Transformation verwendet, wird weit verbreitet als ein Codiersystem verwendet, um ein Volumen an Daten zu komprimieren, ohne die Integrität eines Bildes mit durchgehender Tönung zu zerstören, wie beispielsweise ein Graustufenbild oder ein Farbbild.
- Ein ADCT-System spaltet ein Bild mit gleichmäßiger Tönung in Blöcke auf, von denen jeder eine vorbestimmte Anzahl von Bildelementen (z.B. 8x8 Bildelementen) enthält, bildet eine Matrix, die aus Transformationskoeffizienten zusammengesetzt ist (im folgenden als DCT-Koeffizienten bezeichnet), und zwar durch eine orthogonale Transformation der Bilddaten in Blockeinheiten und durch Codieren der jeweiligen Elemente der Matrix in variable Längen, die unter Verwendung von entsprechenden sicht-angepaßten Schwellenwerten (was an späterer Stelle beschrieben wird) quantisiert wurden, um dadurch ein Volumen an Daten zu komprimieren.
- Fig. 1 zeigt ein Blockschaltbild eines Bilddaten- Komprimiergerätes unter Verwendung eines herkömmlichen ADCT-Systems.
- Fig. 2 zeigt ein Beispiel eines Blocks, der aus einem Bild mit durchgehender Tönung abgespalten wurde.
- Eine DCT-Einheit 11 führt eine zweidimensionale diskrete Kosinustransformation (im folgenden als DCT genannt) für einen eingegebenen Block durch und transformiert diesen in eine Matrix von DCT-Koeffizienten entsprechend den jeweiligen Raumfrequenzverteilungen mit acht (8) Reihen und acht (8) Spalten (im folgenden als eine DCT-Koeffizientenmatrix D bezeichnet).
- Fig. 3 zeigt ein Beispiel der DCT-Koeffizientenmatrix D.
- Ein linearer Quantisierer 21 quantisiert jeweilige Elemente der DCT-Koeffizientenmatrix D.
- Sicht-angepaßte Schwellenwerte sind im voraus bestimmt, und zwar als ein Ergebnis eines Experiments einer Sichtempfindlichkeit für jeweils Raumfrequenzelemente. Der lineare Quantisierer 21 speichert eine Quantisierungsmatrix VTH (Fig. 4), die aus solchen visuell-angepaßten Schwellenwerten besteht, quantisiert die DCT-Koeffizientenmatrix D unter Verwendung einer Quantisierungs-Schwellenwertmatrix QTH, die durch eine Multiplikation erhalten wurde, und zwar zwischen den jeweiligen Elementen der Quantisierungsmatrix VTH und einem geeigneten Parameter, und berechnet die quantisierte Koeffizientenmatrix DQU.
- Da das menschliche Sichtvermögen im allgemeinen empfindlicher ist gegenüber niedrigeren Raumfrequenzen und weniger empfindlich ist gegenüber höheren Raumfrequenzen, sind die absoluten Werte der Elemente in der Quantisierungsmatrix VTH entsprechend den niedrigeren Raumfrequenzen kleiner, während diejenigen entsprechend den höheren Raumfrequenzen größer sind. Daher sind in den meisten Fällen lediglich das Gleichstromelement, welches sich in der ersten Reihe und der ersten Spalte der quantisierten Koeffizientenmatrix DQU befindet, und lediglich ein Paar Wechselstromelemente, welche die niederen Raumfrequenzen wiedergeben, signifikante Koeffizienten mit von Null verschiedenen Werten, während der Hauptanteil der Wechselstromelemente unsignifikante Koeffizienten sind mit einem Nullwert, wie in Fig. 5 gezeigt ist.
- Fig. 6 veranschaulicht eine Zick-Zack-Abtastreihenfolge.
- Durch Abtasten der quantisierten Koeffizientenmatrix DQU gemäß der Abtastreihenfolge, die als Zick-Zack-Abtastung bezeichnet wird, rearangiert der lineare Quantisierer 21 die zweidimensional angeordneten Elemente der quantisierten Koeffizientenmatrix DQU in eindimensional angeordnete Elemente und gibt diese sequentiell an einen Codierer 31 ein. In diesem Fall empfängt der Codierer 31 sequentiell die Elemente der quantisierten Koeffizientenmatrix DQU, beginnend von dem einen Element, welches dem Gleichstromelement am Kopfende entspricht, und dann weiterfahrend mit solchen, die den Wechselstromelementen entsprechen, die die niedrigeren Raumfrequenzen besitzen.
- Der Codierer 31 detektiert signifikante Koeffizienten mit von Null verschiedenen Werten aus den Elementen der quantisierten Koeffizientenmatrix DQU und zählt die Zahl der unsignifikanten Koeffizienten, die in einer Reihenfolge gemäß der oben genannten Sequenz eingegeben werden, bevor ein signifikanter Koeffizient detektiert wird, wodurch die wieder angeordneten bzw. rearangierten Elemente der quantisierten Koeffizientenmatrix DQU in Paare umgesetzt werden, von denen jedes einen detektierten signifikanten Koeffizienten (im folgenden als Index bezeichnet) und solch einen gezählten Wert aufweist (im folgenden als Lauf bezeichnet).
- Durch Umsetzen der Elemente der quantisierten Koeffizientenmatrix DQU in Läufe und Indizes, reduziert der Decodierer 31 das Volumen der Daten, welches erforderlich ist, um die quantisierte Koeffizientenmatrix DQU auszudrücken.
- Ferner codiert der Codierer 31 die Indizes und die Läufe in gewöhnlicher Weise in Einklang mit einer Vorschriftenspezifikation zur Standardisierung (JPEG-8-R8), die von JPEG (Joint Photographic Experts Group) ausgegeben wurde. Nachdem beide codierten Indizes erhalten wurden (im folgenden als Indexcodes bezeichnet) und auch die codierten Läufe erhalten wurden (im folgenden als Laufcodes bezeichnet), gibt der Codierer 31 die Codes entsprechend den Paaren von Indexcodes und Laufcodes aus.
- Hierbei sind die Codes entsprechend den Paaren von Indexcodes und Laufcodes durch die Frequenzen der Auftrittshäufigkeit der Paare bestimmt. Kürzere Codes werden den Paaren zugewiesen, die häufiger auftreten, und länge Codes werden den Paaren zugewiesen, die weniger häufig auftreten. Somit reduziert der Codierer 31 weiter das Volumen der Daten, welches erforderlich ist, um die Läufe und die Indizes auszudrücken, indem die Paare der Indexcodes und der Laufcodes in Huffman-Codes umgesetzt werden, die Codelängen aufweisen, die in Einklang mit den Auftrittshäufigkeiten stehen.
- Die oben beschriebene Vorschriftenspezifikation für eine Standardisierung definiert auch zwei Formattypen für einen Fall, bei dem ein Code ausgegeben wird, der ein Blokkende anzeigt, und für einen Fall, bei dem ein Code nicht ausgegeben wird, der ein Blockende anzeigt, was davon abhängig ist, ob das zuletzt eingegebene Element der quantisierten Koeffizientenmatrix DQU ein unsignifikanter Koeffizient ist oder nicht.
- Wenn das durch die Zick-Zack-Abtastung gelesene letzte Element von der quantisierten Koeffizientenmatrix DQU, wie in Fig. 5 gezeigt ist, ein nichtsignifikanter Koeffizient ist, heftet der Codierer 31 einen "EOB"-Code an, der anzeigt, daß alle die nachfolgenden quantisierten Koeffizienten nichtsignifikant sind, und zwar für das Schwanzende der Codes für einen Block, wie dies in Fig. 7A gezeigt ist. Wenn das letzte Element der quantisierten Koeffizientenmatrix DQU ein signifikanter Koeffizient ist mit einem von Null verschiedenen Wert "a", wie dies in Fig. 8 gezeigt ist, gibt andererseits der Codierer 31 den "EOB"-Code nicht aus, wie in Fig. 7B gezeigt ist.
- Somit werden die Bilddaten für einen Block DCT-behandelt, quantisiert und codiert.
- Durch Wiederholen der oben beschriebenen Prozesse eines DCT's, Quantisierung und Codierung aller Blöcke eines Bildes, werden die Bilddaten des Bildes komprimiert und es werden dann die komprimierten Bilddaten z.B. in einem Plattengerät gespeichert oder über einen Übertragungspfad gesendet.
- Das Bilddaten-Rekonstruktionsgerät, welches in Fig. 9 gezeigt ist, rekonstruiert Bilddaten aus den komprimierten Daten, die z.B. aus den oben beschriebenen Codes zusammengesetzt sind.
- Ein Decodierer 41 decodiert sequentiell eingespeiste Codes in Paare von Indexcodes und Laufcodes gemäß einer Decodiertabelle und speichert sequentiell die originalen Indizes und Läufe entsprechend der oben beschriebenen Vorschriftenspezifikation für die Standardisierung.
- Ein Dequantisierer 51 multipliziert die Indizes mit den entsprechenden Elementen der Quantisierungs- Schwellenwertmatrix QTH, und gibt die Produkte als die geeigneten Elemente der DCT-Koeffizientenmatrix D in Einklang mit den oben beschriebenen Läufen aus, wodurch die DCT- Koeffizientenmatrix D rekonstruiert wird, wie in Fig. 10 gezeigt ist. Eine Invers-DCT-Einheit 61 rekonstruiert die Bilddaten in den jeweiligen Blöcken mit Hilfe einer zweidimensionalen inversen DCT-Verknüpfung der entsprechenden dequantisierten DCT-Koeffizientenmatrix D für jeden der Blökke.
- Hierbei besitzt das herkömmliche Bilddaten-Komprimierungsgerät, welches oben beschrieben wurde, den linearen Quantisierer 21, der die quantisierte Koeffizientenmatrix DQU für einen Block erhält, und auch den Codierer 31, der sequentiell die entsprechenden Paare von Index und Lauf codiert, und zwar nach Detektieren von jedem signifikanten Koeffizienten unter den Elementen der quantisierten Koeffizientenmatrix DQU. Da ein Prozessor oder ähnliches die Quantisierung und den Codierungsvorgang in einer seriellen Art ausführt, war die Zeitdauer für die Durchführung solcher Prozesse lang und die Bilddaten konnten nicht mit einer hohen Geschwindigkeit komprimiert werden.
- Da ähnlich ein herkömmliches Bilddaten-Rekonstruktionsgerät einen Prozessor oder ähnliche Einrichtung besitzt, um den Decodierungsvorgang und die Dequantisierung in einer seriellen Art durchzuführen, startet die Dequantisierung lediglich, nachdem die Indizes und die Läufe sequentiell aus den Indexcodes und den Laufcodes erzeugt worden sind, die durch Decodieren der Codes erhalten wurden. Daher war die Zeitdauer, die solche Prozesse beansprucht, lang und die Bilddaten konnten nicht aus den komprimierten Daten mit einer hohen Geschwindigkeit rekonstruiert werden.
- Obwohl andererseits die Prozesse aufwendiger gestaltet werden können, und zwar unter Hardware-Schaltungen anstelle eines Prozessors, um den linearen Quantisierer 21 und den Codierer 31 zu implementieren, wird die Größenordnung der Hardware-Schaltungsanordnung unvermeidbar sehr groß.
- Die Hardware zur Realisierung des Codierers 31 muß eine komplexe Schaltungskonfiguration haben, da die Hardware es erforderlich macht, die wieder angeordneten Elemente der quantisierten Koeffizientenmatrix DQU in die Paare umzusetzen, von denen jedes einen Index und einen Lauf umfaßt, als auch die Paare zu codieren, und zwar synchron mit der Wiederanordnung der zweidimensional angeordneten Elemente der quantisierten Koeffizientenmatrix DQU in eindimensional angeordnete Elemente. Es ergibt sich daher aus Tests zwangsläufig, daß eine mühsame Prozedur dabei beteiligt ist bzw. auftritt.
- In herkömmlicher Weise werden DCT-Koeffizienten einzeln ausgelesen und in Kompressionsbilddaten komprimiert, und zwar über eine Quantisierung, und die DCT-Koeffizienten werden einzeln aus den komprimierten Daten bei einer Bilddatenrekonstruktion über eine Dequantisierung rekonstruiert.
- Die US-A-4,394,774 beschreibt ein Bildkompressionsgerät, welches etwa die folgenden Einrichtungen aufweist:
- eine orthogonal transformierende Einrichtung zum Empfangen der Bilddaten in Blockeinheiten, wobei jede Blockeinheit N x N Bildelemente umfaßt, und die betreibbar ist, um eine zweidimensionale orthogonale Transformation an den Bilddaten der empfangenen Blockeinheit durchzuführen, um daraus eine Koeffizientenmatrix für die Blockeinheit abzuleiten, die N Reihen und N Spalten an Transformationskoeffizienten enthält; eine Koeffizienten verarbeitende Einrichtung, die aufweist: eine Quantisierungseinrichtung, die betreibbar ist, um die Transformationskoeffizienten der Koeffizientenmatrix, die mit Hilfe der orthogonal transformierenden Einrichtung erhalten wurde, und zwar unter Verwendung von Quantisierungs-Schwellenwerten quantisiert, und zwar entsprechend den Transformationskoeffizienten der Matrix, und um die resultierenden quantisierten Transformationskoeffizienten für die in Betracht stehende Blockeinheit in serieller Form in einer vorbestimmten Reihenfolge auszugeben; und eine ein Datenpaar erzeugende Einrichtung, die so geschaltet ist, um die genannte Sequenz von quantisierten Transformationskoeffizienten für solch eine Blockeinheit zu empfangen und die betreibbar ist, um daraus quantisierte Koeffizienten-Datenpaare abzuleiten, wobei jedes solche Paar einen signifikanten Koeffizienten enthält, der einen von Null verschiedenen Wert hat und auch eine entsprechende unsignifikante Koeffizienten-Reihenfolgenlänge aufweist, welche die Zahl der aufeinanderfolgenden nichtsignifikanten Koeffizienten anzeigt, die einen Wert von Null haben, welche benachbart dem signifikanten Koeffizienten des in Betracht stehenden Paares in der Sequenz angeordnet sind, wobei die quantisierten Koeffizienten-Datenpaare, die von der Blockeinheit abgeleitet wurden, in Reihenformat ausgegeben werden, und zwar mit einem Beendigungssignal, welches an dem Schwanzende der Serien für die in Betracht stehende Blockeinheit angeheftet ist; und eine Codiereinrichtung, die so angeschlossen ist, um die Serien von Datenpaaren für solch einen Block zu empfangen und die betreibbar ist, um den signifikanten Koeffizienten und die nichtsignifikante Koeffizienten-Reihenfolgenlänge von jedem Datenpaar zu codieren. Dieses Gerät verwendet ein adaptives Codierverfahren für ein bewegtes Bild und zielt darauf ab, die Qualität der codierten Bilddaten zu verbessern, indem verhindert wird, daß Transformationskoeffizienten in einem Hochfrequenzbereich beseitigt werden und indem ein Nicht- Stationärverhalten (non-stationarity) der Bildstatistiken überwunden werden. Um diese Ziele zu erreichen, sind Mittel vorgesehen, um die normierten Koeffizienten der Transformationskoeffizienten dadurch zu ändern, indem eine Ausgangsgröße einer Codiereinheit über einen Ratenpuffer rückgekoppelt wird. Die Codiereinheit detektiert signifikante Koeffizienten und die Aufeinanderfolge-Länge-Codes nichtsignifikanter Koeffizienten und gibt diese aus.
- Zusätzlich beschreibt das gleiche Dokument ein Bilddaten-Rekonstruktionsgerät, welches geeignet ist, Bilddaten zu rekonstruieren, die mit Hilfe eines Bilddaten-Komprimierungsprozesses komprimiert worden sind, bei welchem Prozeß die ursprünglichen zu komprimierenden Bilddaten in Blockeinheiten verarbeitet werden, wobei jede Blockeinheit N x N Bildelemente besitzt und wobei für jede solche Blockeinheit eine Koeffizientenmatrix mit N Reihen und N Spalten von Transformationskoeffizienten abgeleitet wird, indem eine zweidimensionale orthogonale Transformation an den Bilddaten der Blockeinheit durchgeführt wird, die Transformationskoeffizienten quantisiert werden und signifikante quantisierte Koeffizienten, die von Null verschieden sind, paarweise zusammengefaßt werden, wobei jeweilige entsprechende unsignifikante Koeffizienten-Folgelängen die Zahl der unsignifikanten angeben, die einen Wert von Null haben und sich benachbart entsprechender signifikanter Koeffizienten befinden, und zwar in einer vorbestimmten Sequenz der Transformationskoeffizienten, um Datenpaare zu bilden, und wobei der signifikante Koeffizient und der unsignifikante Koeffizient jedes Datenpaares codiert werden, um einen Satz von Codes zu erzeugen, die die codierten Datenpaare der Blockeinheit wiedergeben; welches Bilddaten-Rekonstruktionsgerät folgendes enthält: eine Datenpaar-Reproduziereinheit, mit: einer Decodiereinrichtung zum Empfangen des Satzes der Codes für solch eine Blockeinheit, die betreibbar ist, um aus diesen Koeffizientencodes zu diskriminieren, von denen jeder den genannten signifikanten Koeffizienten solch eines codierten Datenpaares wiedergibt, und Folgelängencodes zu diskriminieren, von denen jeder die genannte unsignifikante Koeffizienten-Folgelänge solch eines codierten Datenpaares wiedergibt; eine Koeffizientencode- Decodiereinrichtung zum Decodieren der Koeffizientencodes in deren jeweilige entsprechende unsignifikanten Koeffizienten; und eine Folgelängencode-Decodiereinrichtung zum Decodieren der Folgelängencodes in deren jeweilige entsprechende unsignifikanten Koeffizienten-Folgelängen; wobei die Datenpaar-Reproduziereinrichtung betreibbar ist, um den decodierten signifikanten Koeffizienten und die decodierte unsignifikante Koeffizienten-Folgelänge, die zu dem gleichen codierten Datenpaar gehört, als decodiertes Datenpaar paarweise zusammenzufassen; eine Dequantisierungseinrichtung, die angeschlossen ist, um die decodierten Datenpaare solch einer Blockeinheit der originalen Bilddaten zu empfangen und die betreibbar ist, um die jeweiligen signifikanten Koeffizienten der Paare zu dequantisieren und eine rekonstruierte Koeffizientenmatrix der Transformationskoeffizienten für die in Betracht stehende Blockeinheit zu erzeugen, welche Koeffizientenmatrix N Reihen und N Spalten aufweist; und eine Invers-Orthogonal-Transformationseinrichtung zur Durchführung einer inversen zweidimensionalen orthogonalen Transformation an der genannten rekonstruierten Koeffizientenmatrix, um daraus die Bilddaten der in Betracht stehenden Blockeinheit abzuleiten.
- Die DE-A-3,940,682 beschreibt eine Form der orthogonalen Transformationscodierung und zielt darauf ab, ein Löschen der Daten beim Komprimieren eines Bildes zu verhindem. Um diese Aufgabe zu lösen, ist zusätzlich zu einer einen signifikanten Koeffizienten detektierenden Einheit und einer unsignifikante Koeffizienten-Folgelängen-Zählereinheit eine Berechnungseinheit für angehängte Bits vorgesehen, um signifikante Koeffizienten vor dem Codieren an die Codes als Ausgangs-Bilddaten anzuhängen. Auf diese Weise kann selbst dann, wenn der Quantisierungsschritt (Divisor bei der Normierung) klein gemacht wird, um die Qualität der Bilddaten bei der Quantisierungsverarbeitung zu verbessern, nachfolgend der zweidimensionalen orthogonalen Transformation, die Daten, die Überlauf-Transformationskoeffizienten entsprechen, daran gehindert werden, verlorenzugehen. Die Druckschrift beschreibt auch eine Rekonstruktionsvorrichtung für komprimierte Bilddaten.
- Die US-A-4,698,672 beschreibt ein Video-Kompressionssystem, welches darauf abzielt, ein Übertragungssignal zu erzeugen, welches für eine begrenzte Bandbreite geeignet ist, indem redundante Informationen aus einem Vielfachwertsignal beseitigt werden und es wird vorgeschlagen, eine ODER(geordnete Redundanz)-Codierung durchzuführen. Wenn beispielsweise ein Wert eines quantisierten Signals vor dem Codierungsprozess Null (0) ist, wird es unter Verwendung der Lauflänge codiert, während dann, wenn der nächste signifikante Koeffizient Eins (1) ist, die Codierung weggelassen wird. Lediglich, wenn der nächste signifikante Koeffizient gleich ist Zwei (2) oder mehr, wird das Signal unter Verwendung eines Index codiert.
- Die US-A-4,922,273 schlägt ein Verfahren vor, um komprimierte Daten einer ausgezeichneten Qualität von Halbton- Bilddaten zu erhalten, die für medizinische Geräte verwendet werden, bei welchen ein optimaler Quantisierungsintervall für jeden Block berechnet wird, um einen Block unter Verwendung des berechneten Intervalls zu quantisieren. Damit kann eine Quantisierung von unterschiedlichen Pegeln in Einklang mit der Zahl oder Größe von Wechselstromkomponenten durchgeführt werden, die in einem Block erhalten werden.
- Die EP-A-0 447 269 schlägt ein Bildverarbeitungssystem vor, welches darauf abzielt, eine Hochgeschwindigkeitsverarbeitung durch Reduzierung der Zahl der Operationen zu erreichen. Bei der Durchführung einer inversen DCT (diskreten Kosinustransformation) ermöglichen Überspringungsoperationen, die unsignifikante Koeffizienten betreffen, eine Matrixoperation mit hoher Geschwindigkeit. Zusätzlich wird die Zahl der Addierstufen, die für die Matrixoperation erforderlich sind, reduziert.
- Ein Bilddaten-Komprimierungsgerät, welches einen ersten Aspekt der vorliegenden Erfindung verwendet, ist gekennzeichnet durch eine Speichereinrichtung, die zwischen die ein Datenpaar erzeugende Einrichtung und die Codiereinrichtung geschaltet ist für die Verwendung bei der Übertragung der Datenpaare von der die Datenpaare erzeugenden Einrichtung zu der Codiereinrichtung, und mit einer Speicherkapazität, die ausreichend ist, um die Datenpaare zu speichern, die von wenigstens zwei solchen Blockeinheiten der Bilddaten abgeleitet wurden; und ist dadurch gekennzeichnet, daß die Codiereinrichtung und wenigstens ein Teil der Koeffizienten-Verarbeitungseinrichtung in solcher Weise parallel arbeiten, daß während der Codierung der Datenpaare durch die Codiereinrichtung, welche Datenpaare von einer Blockeinheit abgeleitet wurden, wenn diese aus der Speichereinrichtung ausgelesen werden, die Koeffizienten-Verarbeitungseinrichtung betreibbar ist, Datenpaare für die nächste Blockeinheit der Bilddaten abzuleiten und/oder in der Speichereinrichtung abzuspeichern; wobei die Codiereinrichtung dazu dient, einen Code für jedes Datenpaar auszugeben.
- Ein Bilddaten-Rekonstruktionsgerät, welches einen zweiten Aspekt der vorliegenden Erfindung verwendet, ist gekennzeichnet durch eine Speichereinrichtung, die zwischen die das Datenpaar erzeugende Einrichtung und die Dequantisierungseinrichtung geschaltet ist für eine Verwendung bei der Übertragung der decodierten Datenpaare von der das Datenpaar reproduzierenden Einrichtung zu der Dequantisierungseinrichtung, und mit einer Speicherkapazität, die ausreichend ist, um die decodierten Datenpaare für wenigstens zwei Blockeinheiten der Bilddaten zu speichern; und ist dadurch gekennzeichnet, daß die Dequantisierungseinrichtung und wenigstens ein Teil der das Datenpaar erzeugenden Einrichtung in solcher Weise parallel arbeiten, daß, während die Dequantisierungseinrichtung decodierte Datenpaare dequantisieren, die von einer Blockeinheit abgeleitet wurden und aus der Speichereinrichtung ausgelesen wurden, die das Datenpaar reproduzierende Einrichtung betreibbar ist, um Datenpaare für die nächste Blockeinheit der Bilddaten zu decodieren und/oder in der Datenspeichereinrichtung abzuspeichern; und ist ferner dadurch gekennzeichnet, daß jeder Code des Satzes, der durch den Bilddaten-Komprimierungsprozeß erzeugt wurde, einem der codierten Datenpaare entspricht und solch einen Koeffizientencode verkörpert und den signifikanten Koeffizienten des in Betracht stehenden codierten Datenpaares wiedergibt und auch solch einen Folgelängencode, der die unsignifikante Koeffizienten-Folgelänge des codierten, in Betracht stehenden Datenpaares wiedergibt, wobei die Codiereinrichtung dazu dient, aus jedem Code des Satzes den Koeffizientencode und den Folgelängencode, der darin verkörpert ist, zu extrahieren.
- Ein Gerät, welches die Erfindung verwendet, kann Bilddaten schnell komprimieren und rekonstruieren, und zwar bei einem einfachen Aufbau oder mit Hilfe einer einfachen Steuerung.
- Es sei nun anhand eines Beispiels auf die beigefügten Zeichnungen näher eingegangen, in welchen:
- Fig. 1 ein Blockschaltbild eines Bilddaten-Komprimierungsgerates ist, welches ein herkömmliches ADCT-System verwendet;
- Fig. 2 ein Beispiel einer Blockabspaltung von einem Bild mit gleichmäßiger Tönung zeigt;
- Fig. 3 ein Beispiel einer DCT-Koeffizientenmatrix D zeigt;
- Fig. 4 einer Quantisierungsmatrix VTH zeigt;
- Fig. 5 und 8 Beispiele einer quantisierten Koeffizientenmatrix DQU zeigen;
- Fig. 6 eine Zick-Zack-Abtastreihenfolge veranschaulicht;
- Fig. 7A und 7B beispielhafte Sätze von Codes für einen Block zeigen;
- Fig. 9 ein Blockschaltbild eines Bilddaten-Rekonstruktionsgerätes unter Verwendung eines herkömmlichen ADCT-Systems ist; und einer dequantisierten DCT-Koeffizientenmatrix D;
- Fig. 11 ein Blockschaltbild eines Bilddaten-Komprimierungsgerätes gemäß einer ersten Ausführungsform der Erfindung ist;
- Fig. 12 ein Blockschaltbild eines Bilddaten-Komprimierungsgerätes gemäß einer zweiten Ausführungsform der Erfindung ist;
- Fig. 13 ein Blockschaltbild eines Bilddaten-Rekonstruktionsgerätes gemäß einer dritten Ausführungsform der Erfindung ist;
- Fig. 14 im Detail die Konfiguration eines Bilddaten- Komprimierungsgerätes gemäß der ersten Ausführungsform der Erfindung zeigt;
- Fig. 15 eine Adressentabelle ist, um die Speicherposition in einem quantisierten Koeffizientenspeicher zu erläuterten;
- Fig. 16 den Inhalt eines quantisierten Koeffizientenspeichers darstellt, der durch Quantisieren von jeweiligen Elementen der DCT-Koeffizientenmatrix D erhalten wird, die in Fig. 3 gezeigt ist;
- Fig. 17 und 18 Flußdiagramme sind, welche die Operationen eines Bilddaten-Komprimierungsgerätes erläutern, und zwar gemäß der ersten Ausführungsform der Erfindung;
- Fig. 19 die Konfiguration eines Bilddaten-Komprimierungsgerätes gemäß der zweiten Ausführungsform der Erfindung im Detail zeigt;
- Fig. 20A und 20B beispielhafte Konfigurationen von seriell quantisierten Koeffizienten zeigen;
- Fig. 21 im Detail die Konfiguration eines Bilddaten- Rekonstruktionsgerätes gemäß der dritten Ausführungsform der Erfindung zeigt;
- Fig. 22 und 23 Flußdiagramme sind, welche die Operationen eines Bilddaten-Rekonstruktionsgerätes gemäß der dritten Ausführungsform der Erfindung erläutern;
- Fig. 24 ein Flußdiagramm ist, welches die Operationen eines Blockende-Detektors erläutert.
- Fig. 11 zeigt ein Blockschaltbild eines Bilddaten-Komprimierungsgerätes gemäß einer ersten Ausführungsform der Erfindung.
- Eine orthogonal-transformierende Einrichtung 111 erhält eine Koeffizientenmatrix mit N Reihen und N Spalten der Transformationskoeffizienten durch zweidimensionale orthogonale Transformation von Bilddaten mit gleichförmiger Tönung in Blockeinheiten, von denen jeder N x N Bildelemente enthält.
- Eine Quantisierungseinrichtung 121 quantisiert jeweilige Elemente einer Koeffizientenmatrix, die durch die orthogonal transformierende Einrichtung 111 erhalten wurde, und zwar durch entsprechende Quantisierungs-Schwellenwerte, und sie gibt quantisierte Koeffizienten aus, die als Ergebnisse der Quantisierung der jeweiligen Elemente der Koeffizientenmatrix erhalten werden, wobei die Ausgabe in einer vorbestimmten Sequenz erfolgt.
- Eine Wähleinrichtung 131 empfängt sequentiell quantisierte Koeffizienten, die durch die quantisierende Einrichtung 121 erhalten werden, wählt signifikante Koeffizienten mit von Null verschiedenen Werten unter den quantisierten Koeffizienten aus und gibt sequentiell die signifikanten Koeffizienten aus.
- Eine Zähleinrichtung 132 empfängt sequentiell die quantisierten Koeffizienten, zählt die Zahl der aufeinanderfolgenden Eingaben der unsignifikanten Koeffizienten mit einem Wert von Null, und gibt das Zählergebnis (eine unsignifikante Koeffizienten-Folgelänge) nach Empfang von jedem einen der signifikanten Koeffizienten aus.
- Die Wähleinrichtung 131 arbeitet parallel mit der Zähleinrichtung 132.
- Eine erste Speichereinrichtung 141 speichert sequentiell Datenpaare, von denen jedes einen der signifikanten Koeffizienten umfaßt, die durch die Wähleinrichtung 131 erhalten wurden, gepaart mit einer entsprechenden einen der unsignifikanten Koeffizienten-Folgelängen, die durch die Zähleinrichtung 132 erhalten wurden.
- Eine Codiereinrichtung 150 gibt Codes aus, die jeweils den aus der ersten Speichereinrichtung 141 ausgelesenen Datenpaaren entsprechen, wobei jedes Datenpaar einen der signifikanten Koeffizienten umfaßt, gepaart mit der entsprechenden einen unsignifikanten Koeffizienten-Folgelängen.
- Die Codiereinrichtung 150 umfaßt folgendes: eine Koeffizienten-Umsetzeinrichtung 151 zum Umsetzen von Teilen entsprechend den signifikanten Koeffizienten von Datenpaaren, die in der ersten Speichereinrichtung 141 gespeichert sind, in geeignete Koeffizientencodes; eine Folgelängen-Umsetzeinrichtung 152 zum Umsetzen von Teilen entsprechend den unsignifikanten Koeffizienten-Folgelängen der Datenpaare in geeignete Folgelängencodes; und eine Code-Erzeugungseinrichtung 153 zum Erzeugen eines Codes entsprechend einem Paar, welches einen Koeffizientencode umfaßt, der durch die Koeffizienten-Umsetzeinrichtung 151 erhalten wurde, und einen Folgelängencode umfaßt, der durch die Folgelängen- Umsetzeinrichtung 152 erhalten wurde.
- Die erste Speichereinrichtung 141 besitzt eine Speicherkapazität zum Speichern von Datenpaaren entsprechend zwei (2) Blocks der Bilddaten; und die Codiereinrichtung 150 codiert die bereits gespeicherten Datenpaare parallel mit Operationen zum Erzeugen und Speichern der Datenpaare durch die Quantisierungseinrichtung 121, Wähleinrichtung 131 und Zähleinrichtung 132.
- Die Quantisierungseinrichtung 121 gibt in einer vorbestimmten Sequenz die quantisierten Koeffizienten entsprechend den jeweiligen Elementen einer Koeffizientenmatrix, die durch die orthogonal transformierende Einrichtung 111 erhalten wurde, an die Wähleinrichtung 131 und die Zähleinrichtung 132 aus. Die Wähleinrichtung 131 und die Zähleinrichtung 132 setzen die Serien der quantisierten Koeffizienten in signifikante Koeffizienten um, die je mit einer entsprechenden unsignifikanten Koeffizienten-Folgelänge gepaart sind.
- Da die Wähleinrichtung 131 unabhängig von der Zähleinrichtung 132 arbeitet, wird die Auswahl der signifikanten Koeffizienten getrennt vom Zählen der unsignifikanten Koeffizienten-Folgelängen durchgeführt. Damit zeichnet sich die Systemoperation dadurch aus, daß Prozesse unabhängig ausgeführt werden, anstelle sequentiell ausgeführt zu werden.
- Die signifikanten Koeffizienten und die unsignifikanten Koeffizienten-Folgelängen werden paarweise zusammengefaßt und die Datenpaare werden der Codiereinrichtung 150 über die erste Speichereinrichtung 141 zugeführt. Somit zeichnet sich der Codierprozeß in besonderer Weise aus, da er nicht verzögert werden muß, bis die signifikanten Koeffizienten und die unsignifikanten Koeffizienten-Folgelängen sortiert sind, was im Gegensatz zum Stand der Technik steht.
- Da die Wähleinrichtung 131 parallel mit der Zähleinrichtung 132 arbeitet, können signifikante Koeffizienten gleichlaufend mit den unsignifikanten Koeffizienten-Folgelängen erhalten werden, wodurch die Zeit verkürzt wird, die erforderlich ist, um signifikante Koeffizienten auszuwählen und um unsignifikante Koeffizienten-Folgelängen zu zählen.
- Die Koeffizienten-Umsetzeinrichtung 151 und die Folgelängen-Umsetzeinrichtung 152 setzen die in der ersten Speichereinrichtung 141 gespeicherten Datenpaare in Paare von Koeffizientencodes und Folgelängencodes um. Die Code-Erzeugungseinrichtung 153 setzt diese umgesetzten Paare in entsprechende Codes um.
- Da die Koeffizienten-Umsetzeinrichtung 151 und die Folgelängen-Umsetzeinrichtung 152 unabhängig voneinander arbeiten können, ermöglichen deren parallele Betriebsweisen, daß sowohl ein signifikanter Koeffizient als auch eine unsignifikante Koeffizienten-Folgelänge gleichzeitig codiert werden können, wodurch der Codierungsprozeß in Einklang mit der Vorschriftenspezifikation für die Standardisierung gebracht wird.
- Die erste Speichereinrichtung 141, die eine Speicherkapazität von zwei (2) Blocks der Datenpaare besitzt, verbindet die Koeffizienten-Umsetzeinrichtung 151 mit der Wähleinrichtung 131 und der Zähleinrichtung 132. Das Codieren durch die Codiereinrichtung 150 parallel mit der Erzeugung und Speicherung der Datenpaare bildet den Quantisierungsvorgang und Codierungsvorgang der Koeffizientenmatrix.
- Fig. 12 zeigt ein Blockschaltbild eines Bilddaten-Komprimierungsgerätes gemäß einer zweiten Ausführungsform der Erfindung.
- Eine orthogonal transformierende Einrichtung 211 erhält eine Koeffizientenmatrix mit N Reihen und N Spalten von Transformationskoeffizienten durch eine zweidimensionale orthogonale Transformation von Bilddaten mit gleichmäßiger Tönung in Blockeinheiten, von denen jede N x N Bildelemente enthält.
- Eine Quantisierungseinrichtung 221 quantisiert jeweilige Elemente einer Koeffizientenmatrix, die durch die orthogonal transformierende Einrichtung 211 erhalten wurde, mit Hilfe von entsprechenden Quantisierungs-Schwellenwerten und gibt die quantisierten Koeffizienten in einer vorbestimmten Folge aus, die als Ergebnisse der Quantisierung der jeweiligen Elemente der Koeffizientenmatrix erhalten wurden.
- Eine Umsetzeinrichtung 231 setzt eine Reihe von quantisierten Koeffizienten, die von der Quantisierungseinrichtung 221 ausgegeben werden, in seriell quantisierte Koeffizienten um, die signifikante Koeffizienten mit von Null verschiedenen Werten haben, von denen jeder mit einer entsprechenden unsignifikanten Koeffizienten-Folgelänge gepaart ist, die die Zahl von aufeinanderfolgenden unsignifikanten Koeffizienten mit einem Nullwert anzeigt.
- Eine Erzeugungseinrichtung 241 erzeugt ein vorbestimmtes Beendigungssignal.
- Eine Anhefteinrichtung 251 gibt seriell quantisierte Koeffizienten aus, die durch die Umsetzeinrichtung 231 erhalten wurden, und heftet ein Beendigungssignal, welches durch die Erzeugungseinrichtung 241 erzeugt wird, an das Schwanzende der seriell quantisierten Koeffizienten an.
- Eine Codiereinrichtung 261 gibt Codes aus, die jeweils signifikanten Koeffizienten entsprechen, von denen jeder mit einer entsprechenden einen der unsignifikanten Koeffizienten-Folgelängen gepaart ist, die in den serielle quantisierten Koeffizienten enthalten sind, welche von der Anhefteinrichtung 251 ausgegeben wurden.
- Eine Befehlsgabeeinrichtung 271 instruiert die Codiereinrichtung 261 über eine Beendigung eines Prozesses zum Codieren eines Blocks nach dem Detektieren des Beendigungssignals während eines Empfangs der seriell quantisierten Koeffizienten.
- Die Erzeugungseinrichtung 241 umfaßt eine erste Erzeugungseinrichtung 242 zum Erzeugen eines vorbestimmten ersten Beendigungssignals, eine zweite Erzeugungseinrichtung 243 zum Erzeugen eines zweiten Beendigungssignals, welches verschieden ist von dem ersten Beendigungssignal, und eine Wähleinrichtung 244, um selektiv als ein Beendigungssignal entweder das erste Beendigungssignal oder das zweite Beendigungssignal auszugeben, was davon abhängig ist, ob ein von der Quantisierungseinrichtung 221 zuletzt ausgegebener quantisierter Koeffizient ein unsignifikanter Koeffizient ist oder nicht.
- Die Befehlsgabeeinrichtung 271 umfaßt eine Beurteilungseinrichtung 272, um zu beurteilen, ob das Beendigungssignal ein erstes Beendigungssignal oder ein zweites Beendigungssignal ist, und die Befehlsgabeeinrichtung 271 instruiert die Codiereinrichtung 261 über eine Beendigung der Codierung für einen Block gemäß dem Beurteilungsergebnis der Beurteilungseinrichtung 272.
- Die Quantisierungseinrichtung 221, die Umsetzeinrichtung 231 und die Anhefteinrichtung 251 führen die folgenden Prozesse in den Blockeinheiten durch. Die Quantisierungseinrichtung 221 quantisiert in einer vorbestimmten Folge jeweilige Elemente einer Koeffizientenmatrix, die durch die orthogonal transformierende Einrichtung 211 erhalten wurde. Die Umsetzeinrichtung 231 erzeugt serielle quantisierte Koeffizienten mit signifikanten Koeffizienten, von denen jeder mit einer entsprechenden unsignifikanten Koeffizienten-Folgelänge gepaart ist. Die Anhefteinrichtung 251 heftet ein Beendigungssignal, welches durch die Erzeugungseinrichtung 241 erzeugt wurde, an das Schwanzende der seriell quantisierten Koeffizienten an.
- Die Befehlsgabeeinrichtung 271 instruiert die Codiereinrichtung 261 über eine Beendigung eines Prozesses zum Codieren eines Blocks nach der Detektion des Beendigungssignals während eines Empfangs der seriell quantisierten Koeffizienten.
- Wie hervorgeht, ist der Prozeß zum Erzeugen der seriell quantisierten Koeffizienten und der Prozeß zum Codieren der seriell quantisierten Koeffizienten für jeden Block endlich. Daher führen unabhängige Schaltungen diese Prozesse durch. Dies ermöglicht einfache Schaltungen, die jeweils als ein Quantisierungsprozessor und ein Codierungsprozessor fungieren. Da ferner auch derartige Schaltungen unabhängig arbeiten können, liefern sie Prozesse, die in herkömmlicher Weise durch einen Prozessor in sequentieller Form durchgeführt worden sind.
- Die Wähleinrichtung 244 gibt selektiv in Form eines Beendigungssignals entweder das erste Beendigungssignal oder das zweite Beendigungssignal aus, was davon abhängt, ob der zuletzt von der Quantisierungseinrichtung 221 ausgegebene quantisierte Koeffizient ein unsignifikanter Koeffizient ist oder nicht. Daher kann die Befehlsgabeeinrichtung 271 beurteilen, ob der zuletzt quantisierte Koeffizient ein unsignifikanter Koeffizient ist oder nicht, und zwar in Einklang mit dem Beurteilungsergebnis der Beurteilungseinrichtung 272, welche die Befehlsgabeeinrichtung 271 befähigt, die Codiereinrichtung 261 über eine Beendigung des Codiervorgangs für einen Block zu instruieren.
- Daher erlaubt, basierend auf der oben beschriebenen Vorschriftenspezifikation für eine Standardisierung, diese Ausführungsform, daß ein Bilddaten-Komprimierungsgerät einen Code ausgibt, der eine Beendigung eines Blocks nur dann anzeigt, wenn der letzte quantisierte Koeffizient ein unsignifikanter Koeffizient ist.
- Fig. 13 zeigt ein Blockschaltbild eines Bilddaten-Rekonstruktionsgerätes gemäß einer dritten Ausführungsform der Erfindung.
- Hierbei rekonstruiert das die Bilddaten rekonstruierende Gerät Bilddaten basierend auf Eingangscodes, die dadurch erzeugt wurden, indem die Koeffizientencodes codiert wurden und Folgelängencodes, umgesetzt aus den signifikanten Koeffizienten und den unsignifikanten Koeffizienten- Folgelängen, erzeugt aus den quantisierten Koeffizienten, die durch Quantisieren des Ergebnisses der zweidimensionalen orthogonalen Transformation der Bilddaten in Blockeinheiten erhalten wurden, von denen jeder N x N Bildelemente enthält.
- Die Decodiereinrichtung 161 decodiert die Eingangscodes in die Koeffizientencodes und die Folgelängencodes.
- Eine Koeffizientencode-Rückumsetzeinrichtung 162 setzt Koeffizientencodes, die durch die Decodiereinrichtung 131 erhalten wurden, in entsprechende signifikante Codes zurück um.
- Eine Folgelängencode-Rückumsetzeinrichtung 163 setzt die Folgelängencodes, die durch die Codiereinrichtung 161 erhalten wurden, in jeweilige entsprechende unsignifikante Koeffizienten-Folgelängen zurück um.
- Die Koeffizientencode-Rückumsetzeinrichtung 162 arbeitet parallel mit der Folgelängencode-Rückumsetzeinrichtung 163.
- Eine zweite Speichereinrichtung 142 speichert als ein Datenpaar ein Paar, welches aus einem signifikanten Koeffizienten, erhalten durch die Koeffizientencode-Rückumsetzeinrichtung 162, und einer unsignifikanten Koeffizienten- Folgelänge, erhalten durch die Folgelängencode-Rückumsetzeinrichtung 163, zusammengesetzt ist.
- Die zweite Speichereinrichtung 142 besitzt eine Speicherkapazität zum Speichern von Datenpaaren von zwei (2) der Blöcke von Bilddaten.
- Die Dequantisierungseinrichtung 171 erhält geeignete Transformationskoeffizienten durch dequantisieren von signifikanten Koeffizienten basierend auf den signifikanten Koeffizienten und den unsignifikanten Koeffizienten-Folgelängen, ausgedrückt als Datenpaare, die aus der zweiten Speichereinrichtung 142 ausgelesen werden, und gibt die Transformationskoeffizienten als entsprechende Elemente einer Koeffizientenmatrix mit N Reihen und N Spalten aus. Die Dequantisierungseinrichtung 171 dequantisiert das bereits gespeicherte Datenpaar parallel mit den Operationen für die Erzeugung und Speicherung der Datenpaare durch die Decodiereinrichtung 161, die Koeffizientencode-Rückumsetzeinrichtung 162 und die Folgelängencode-Rückumsetzeinrichtung 163.
- Eine invers-orthogonal transformierende Einrichtung 181 transformiert zweidimensional und invers-orthogonal eine Koeffizientenmatrix, die durch die Dequantisierungseinrichtung 171 erhalten wurde, und gibt das Transformierungsergebnis als Bilddaten aus.
- Die Decodiereinrichtung 161, die Koeffizientencode- Rückumsetzeinrichtung 162 und die Folgelängencode-Rückumsetzeinrichtung 163 setzen die Eingangscodes in Paare von signifikanten Koeffizienten und einer unsignifikanten Koeffizienten-Folgelänge zurück um, Welche die zweite Speichereinrichtung 142 sequentiell speichert. Da die Decodiereinrichtung 161, die Koeffizientencode-Rückumsetzeinrichtung 162 und die Folgelängencode-Rückumsetzeinrichtung 163 alle voneinander unabhängig arbeiten können, führen sie den Decodierungsprozeß, die Rückumsetzung der Koeffizientencodes und die Rückumsetzung des Folgelängencodes unabhangig anstelle von seriell durch, wodurch sich diese Prozesse auszeichnen.
- Die signifikanten Koeffizienten und die unsignifikanten Koeffizienten-Folgelängen werden paarweise zusammengefaßt und die Datenpaare werden der Dequantisierungseinrichtung 171 über die zweite Speichereinrichtung 142 zugeführt. Somit zeichnet sich der Dequantisierungsprozeß aus, da nicht verzögert zu werden braucht, bis die signifikanten Koeffizienten und die unsignifikanten Koeffizienten-Folgelängen sortiert sind, was im Gegensatz zum Stand der Technik steht.
- Die invers-orthogonal transformierende Einrichtung 181 rekonstruiert Bilddaten durch zweidimensionale orthogonale Transformation der Koeffizientenmatrix, die durch die Dequantisierungseinrichtung 171 erhalten wurde.
- Da die Koeffizientencode-Rückumsetzeinrichtung 162 und die Folgelängencode-Rückumsetzeinrichtung 163 parallel arbeiten, werden die signifikanten Koeffizienten und die unsignifikanten Koeffizienten-Folgelängen entsprechend den Decodierungsergebnissen durch die Decodiereinrichtung 161 gleichlaufend erhalten, wodurch sich der Prozeß im Sinne der Vorschriftenspezifikation für eine Standardisierung der Decodierung von Eingangscodes in Paare von signifikanten Koeffizienten und unsignifikanten Koeffizienten-Folgelängen auszeichnet.
- Die zweite Speichereinrichtung 142, die eine Speicherkapazität für zwei (2) Blöcke der Datenpaare besitzt, verbindet die Koeffizientencode-Rückumsetzeinrichtung 162 und die Folgelängencode-Rückumsetzeinrichtung 163 mit der Dequantisierungseinrichtung 171. Die Dequantisierung durch die Dequantisierungseinrichtung 171 parallel mit der Erzeugung und Speicherung der Datenpaare zeichnet die Decodierung und die Dequantisierung der Eingangscodes aus.
- Es werden Ausführungsformen der Erfindung weiter in Einzelheiten unter Hinweis auf die beigefügten Zeichnungen erläutert.
- Fig. 14 zeigt in Einzelheiten die Konfiguration eines Bilddaten-Komprimierungsgerätes gemäß der ersten Ausführungsform der Erfindung.
- Die Entsprechungen zwischen der Fig. 11 und der Fig. 14 werden zuerst erläutert.
- Die orthogonal transformierende Einrichtung 111 entspricht einer DCT-Einheit 311.
- Die Quantisierungseinrichtung 121 entspricht der Adressenerzeugungsschaltung 321, der Ausleseschaltung 322, dem Teiler 323 und einem Quantisierungsmatrixspeicher 324.
- Die Wähleinrichtung 131 entspricht einer Verriegelungsstufe 326 und der Null-Beurteilungsschaltung 327.
- Die Zähleinrichtung 132 entspricht der Null-Beurteilungsschaltung 327 und einem Zähler 328.
- Die erste Speichereinrichtung 141 entspricht einem quantisierten Koeffizientenspeicher 331 und einer Zeitgabe- Steuereinrichtung 350.
- Die Koeffizienten-Umsetzeinrichtung 151 entspricht einer Nachschlagetabelle (im folgenden als LUT abgekürzt) 342.
- Die Folgelängen-Umsetzeinrichtung 152 entspricht der LUT 341.
- Die Codeerzeugungsschaltung 153 entspricht der LUT 343.
- Die Codiereinrichtung 150 entspricht den LUTs 341, 342 und 343.
- Nimmt man die oben erläuterte Entsprechung an, so können die Konfigurationen und Wirkungsweisen der Ausführungsformen wie folgt beschrieben werden.
- Die Konfigurationen und Wirkungsweisen eines Bilddaten-Komprimierungsgerätes, welches die vorliegende Erfindung verkörpert, werden zu Beginn erläutert.
- Wie in Fig. 14 gezeigt ist, spaltet die DCT-Einheit 311 Bilddaten wie diejenigen, die durch einen Bildscanner (nicht gezeigt) gelesen wurden, in Blöcke auf, von denen jeder 8 x 8 Bildelemente und jeweilige DCT-Blöcke auf, unter Bildung einer Matrix (im folgenden als eine DCT-Koeffizientenmatrix D bezeichnet) mit acht (8) Reihen und acht (8) Spalten der DCT-Koeffizienten, die ein Puffer 312, der intern in der DCT-Einheit 311 vorgesehen ist, zeitweilig speichert, bevor diese in die Quantisierungseinrichtung 121 ausgegeben werden.
- In der Quantisierungseinrichtung 121 erzeugt eine Adressenerzeugungsschaltung 321 sequentiell die Adressen in dem Puffer 312 gemäß der Abtastfolge, die in Fig. 6 gezeigt ist und die Ausleseschaltung 322 liest die entsprechenden Elemente in der DCT-Koeffizientenmatrix D entsprechend den Adressen aus und gibt diese in den Teiler 323 ein.
- Auch in der Quantisierungseinrichtung 121 speichert der Quantisierungsmatrixspeicher 324 die Quantisierungsmatrix VTH, die in Fig. 4 gezeigt ist, und gibt die Elemente der Quantisierungsmatrix VTH entsprechend den Adressen ein, die durch die Adressenerzeugungsschaltung 321 erhalten wurden.
- Der Teiler 323 quantisiert die jeweiligen Elemente der DCT-Koeffizientenmatrix D durch Teilen der eingegebenen Elemente der DCT-Koeffizientenmatrix D durch die entsprechenden Elemente der Quantisierungsmatrix VTH.
- Die Verriegelungseinrichtung 326 und die Null-Beurteilungsschaltung 327 empfangen sequentiell die Ausgangsgröße von dem Teiler 323. Die Verriegelungseinrichtung 326 und der Zähler 328 wirken in Einklang mit dem Beurteilungsergebnis der Null-Beurteilungsschaltung 327.
- Das folgende ist eine Beschreibung der Betriebsweisen zur Erzeugung und zum Schreiben der Indizes und Läufe.
- Eine Steuerschaltung 351 in einer Zeitgabe-Steuereinrichtung 350 gibt eine logische "0" als ein Schreib-/Lese- Steuersignal W/R aus, und zwar an den quantisierten Koeffizientenspeicher 331, wodurch der quantisierte Koeffizientenspeicher 331 in einen Schreibbereitschaftszustand gesetzt wird. Die Steuerschaltung 351 instruiert die Adressenerzeugungsschaltung 321 und die Ausleseschaltung 322 in der Quantisierungseinrichtung 131, mit einem Ausleseprozeß zu beginnen. Dies triggert die jeweiligen Elemente der DCT- Koeffizientenmatrix D, damit diese aus dem Puffer 312 in die DCT-Einheit 311 ausgelesen werden, um sie der Null-Beurteilungsschaltung 327 zuzuführen.
- Die Null-Beurteilungsschaltung 327, die oben beschrieben wurde, beurteilt, ob der Wert eines eingegebenen quantisierten Koeffizienten Null ist oder nicht und benachrichtigt die Steuerschaltung 351 über das Ergebnis. Wenn sie beurteilt, daß ein unsignifikanter Koeffizient mit einem Nullwert eingegeben wurde, instruiert die Steuerschaltung 351 den Zähler 328, seinen Zählwert um eins (1) zu inkrementieren, und zwar durch Ausgabe eines Zählsignals. Wenn sie andererseits beurteilt, daß ein signifikanter Koeffizient mit einem von Null verschiedenen Wert eingegeben wurde, instruiert die Steuerschaltung 351 den Zähler 328, seinen Zählwert später zu löschen und instruiert die Verriegelungseinrichtung 326, den entsprechenden quantisierten Koeffizienten zu halten, und zwar durch Ausgabe eines Haltesignals.
- Dies setzt die Verriegelungseinrichtung 326 in Bereitschaft, den Wert eines signifikanten Koeffizienten (das heißt Index) zu halten und ermöglicht es dem Zähler 328, die Zahl der unsignifikanten Koeffizienten zu zählen, die in Folge (das heißt dem Lauf) eingespeist wurden.
- Als Ergebnis empfängt der quantisierte Koeffizientenspeicher 331 die Indizes und die Läufe, die gleichlaufend erzeugt wurden.
- Parallel zur Erzeugung der Indizes und Läufe, wie oben beschrieben wurde, gibt jeder Zeitteiler 323 einen quantisierten Koeffizienten aus, der Zähler 352 in der Zeitgabe- Steuereinrichtung 350 inkrementiert ihren Zählwert und eins (1) und schickt den auf den neuesten Stand gebrachten Zählwert zur Steuerschaltung 351. Bei dem Empfang eines Haltesignals, welches die Verriegelungseinrichtung 326 veranlaßt, einen Index zu halten, inkrementiert der Zähler 353 seinen Zählwert um eins (1) und schickt den auf den neuesten Stand gebrachten Zählwert als eine Adresse zu dem quantisierten Koeffizientenspeicher 331.
- Die Steuerschaltung 351 gibt ein Taktsignal, welches mit einer Eingabe des Haltesignals synchronisiert ist, aus und instruiert den quantisierten Koeffizientenspeicher 331, die Eingangsdaten zu speichern. Dies bewirkt, daß an der gleichen Adresse in dem quantisierten Koeffizientenspeicher 331 als ein Datenpaar der Index, der in der Verriegelungseinrichtung 326 gehalten ist und der Zählwert des Zählers 328 (das heißt des Laufes) zum gleichen Zeitpunkt gespeichert werden.
- Fig. 15 zeigt eine Adressentabelle zur Erläuterung der Speicherposition in dem quantisierten Koeffizientenspeicher 331.
- Wie in Fig. 15 gezeigt ist, speichert die N signifikantesten Bits in dem Speicherbereich, die jeder Adresse entsprechen, die Indizes und die M niedrigstwertigen Bits speichern die Läufe. Hierbei ist der Index des Gleichstromelements eines Blocks mit "D" bezeichnet. Andere Indizes sind bezeichnet mit "1" mit einer Suffix-Zahl, welche die Erscheinungssequenz wiedergibt. Die Läufe, die mit jeweiligen Indizes gepaart sind, sind mit "R" bezeichnet und haben die gleiche Suffix-Nummer, wie der Index des in Betracht stehenden Paares, welche die Erscheinungssequenz wiedergibt. Das Schwanzende eines Blocks ist mit "Reob" in dem Laufbereich der Adresse "n" bezeichnet. Da sich auch ein Gleichstromelement am Kopfende eines Blocks befindet, ist kein entsprechender Lauf vorhanden.
- Die Null-Beurteilungsschaltung 327 braucht lediglich den Zählwert des Zählers 328 zu löschen, und zwar nach Speicherung eines Laufes in dem quantisierten Koeffizientenspeicher 331.
- Beispielsweise empfängt der Teiler 323 jeweilige Elemente der DCT-Koeffizientenmatrix D, die in Fig. 3 gezeigt ist, in einer Sequenz mit "91", "-17", "-28", ..., "-1" und erzeugt quantisierte Koeffizienten "5", "-2", "-3", "0". Bei diesem Beispiel hält zuerst die Verriegelungseinrichtung 326 den Wert "5" des quantisierten Koeffizienten entsprechend dem Gleichstromelement und die Adresse "1" des quantisierten Koeffizientenspeichers 331 speichert den Wert "5" als einen Index. Zweitens hält die Verriegelungsschaltung 326 den Wert "-2" und die Adresse "2" des quantisierten Koeffizientenspeichers 331 speichert ein Datenpaar, welches zusammengesetzt ist aus dem Wert "-2", als einen Index und den Zählwert "0" des Zählers 328 als einen Lauf. Nachfolgende Adresse des quantisierten Koeffizientenspeichers 331 speichern sequentiell Datenpaare in einer ähnlichen Weise. Wenn der Zählwert des Zählers 352 die Zahl der Bildelemente in einem Block erreicht [das heißt gleich vierundsechzig (64), wenn ein Block acht mal acht (8 x 8) Bildelemente enthält], gibt die Steuerschaltung 351 in der Zeitgabe-Steuereinrichtung 350 "Reob" an den quantisierten Koeffizientenspeicher 331 anstelle eines Laufes, ausgegeben von dem Zähler 328, aus.
- Da hier die Ausleseschaltung 322, der Teiler 323, die Verriegelungsschaltung 326, die Null-Beurteilungsschaltung 327, der Zähler 328 und der quantisierte Koeffizientenspeicher 331 alle unabhängig arbeiten können, können die Prozesse gemäß einem Auslesen und Quantisieren der jeweiligen Elemente der DCT-Koeffizientenmatrix D als auch das Erzeugen und Speichern der Indizes und Läufe alle parallel ausgeführt werden. Eine Pipeline-Verarbeitung ermöglicht es, daß sich diese Prozesse auszeichnen, wodurch die Zeit verkurzt wird, die für eine Bilddaten-Komprimierung erforderlich ist.
- Fig. 16 zeigt den Inhalt des quantisierten Koeffizientenspeichers 331, der durch Quantisieren von jeweiligen Elementen der DCT-Koeffizientenmatrix D erhalten wurde, die in Fig. 3 gezeigt ist.
- Wenn somit der quantisierte Koeffizientenspeicher 331 den Speichervorgang der quantisierten Koeffizienten für einen Block vervollständigt, gibt die Steuerschaltung 351 in der Zeitgabe-Steuereinrichtung 350 eine logische "1" als das Schreib-/Lese-Steuersignal W/R an den quantisierten Koeffizientenspeicher 331 aus, wodurch der quantisierte Koeffizientenspeicher 331 in den Lesebereitschaftszustand versetzt wird. Die Steuerschaltung 351 instruiert die Codiereinrichtung 150, einen Codierungsprozeß zu starten und hält den Zählwert des Zählers 353 als Maximaladressenwert Amax bei und löscht die Zählwerte der Zähler 352 und 353.
- Auch instruiert die Steuerschaltung 351 zu vorbestimmten Zeitintervallen den Zähler 352, seinen Zählwert zu inkrementieren und gibt ein Taktsignal an den quantisierten Koeffizientenspeicher 311 als Befehl für die Ausgabe geeigneter Daten aus.
- Dies triggert die Datenpaare, so daß diese sequentiell aus dem quantisierten Koeffizientenspeicher 331 zur Codiereinrichtung 150 ausgegeben werden.
- Es wird die Nachschlagetabelle 341 in der Codiereinrichtung 150 unter Verwendung der Läufe R als M-Bit-Adressen adressiert, die von dem Speicher 331 erhalten wurden, und sie speichert die Laufcodes gemäß der Vorschriftenspezifikation für die Standardisierung (JPEG-8-R8), welche Laufcodes jeweils den Läufen entsprechen, die als Adressen verwendet werden. Es wird die LUT 342 in der Codiereinrichtung 150 unter Verwendung der Indizes 1 als N-Bit-Adressen adressiert, die von dem Speicher 331 empfangen wurden, und sie speichert die Indexcodes gemäß der gleiche Vorschriftenspezifikation für die Standardisierung (JPEG-8-R8), welche Indexcodes jeweils den Indizes entsprechen, die als Adressen verwendet werden.
- Es werden daher die N signifikantesten Bits und die M niedrigstwertigen Bits eines Datenpaares, die aus dem quantisierten Koeffizientenspeicher 331 ausgelesen wurden, jeweils an die LUTs 342 und 341 als Adressen angelegt, um einen Indexcode und einen Laufcode zu erzeugen.
- LUT 343 in der Codiereinrichtung 150 speichert an Adressen, die den Paaren entsprechen, welche aus einem Laufcode und einem Indexcode gebildet sind, geeignete Huffman-Codes, die für eine Codierung der Lauflängencodes in variablen Längen und der Indexcodes verwendet werden, die durch die LUTs 342 und 341 erhalten wurden.
- Da hier die LUTs 341, 342 und 343 alle unabhängig arbeiten können, können die Prozesse zum Codieren eines Laufes und eines Index als auch zum Codieren eines Laufcodes und eines Indexcodes alle parallel ausgeführt werden. Eine Pipeline-Verarbeiten ermöglicht es, daß die Codierungsprozesse beschleunigt werden, wodurch die Zeit verkürzt wird, die für die Bilddaten-Kompression erforderlich ist.
- Beispielsweise braucht in einem Zeitintervall TAU, der für den Prozeß des Auslesens aus den LUTs 341, 342 und 343 erforderlich ist, die Steuerschaltung 351 in der Zeitgabe- Steuereinrichtung 350 lediglich den Zähler 353 zu instruieren, seinen Zählwert zu inkrementieren. In dieser Fall triggert eine Ausgangsgröße aus dem Zähler 353 den quantisierten Koeffizientenspeicher 331, damit dieser ein Datenpaar, zusammengesetzt aus einem neuen Index und einem neuen Lauf, an die LUTs 342 und 341 ausgibt. Die Steuerschaltung 351 beurteilt, daß der Prozeß zum Auslesen der Indizes und Läufe eines Blocks vervollständigt ist, wenn der Zählwert des Zählers 353 den Wert erreicht, der als der maximale Adressenwert Amax festgehalten wurde.
- Die Steuerschaltung 351 unterrichtet die Codiereinrichtung 150 über die Vervollständigung des Auslesens eines Blocks und instruiert diese, die Codierungsprozesse zu beenden.
- Die Steuerschaltung 351 in der Zeitgabe-Steuereinrichtung 350 gibt erneut die logische "0" als das Schreib-/Lese-Steuersignal W/R an den quantisierten Koeffizientenspeicher 331 aus, so daß dadurch der quantisierte Koeffizientenspeicher 331 in den Einschreibbereitschaftszustand gesetzt wird. Die Steuerschaltung 351 instruiert die Adressenerzeugungsschaltung 321 und die Ausleseschaltung 322 in der Quantisierungseinrichtung 121, einen anderen Ausleseprozeß zu starten. Dies triggert die jeweiligen Elemente der DCT-Koeffizientenmatrix D, welche den nächsten Block wiedergeben, die aus dem Puffer 312 in der DCT-Einheit 311 auszulesen sind und zu der Null-Beurteilungsschaltung 327 zuzuführen sind. Dann beginnt der Prozeß für die Quantisierung des nächsten Blockes.
- Durch Wiederholen der oben erläuterten Prozesse für jeweilige Blöcke werden Bilddaten eines gesamten Bildes codiert.
- Indem man den quantisierten Koeffizientenspeicher 331 mit einer Speicherkapazität für Datenpaare ausstattet, die von zwei (2) Blöcken von quantisierten Koeffizienten erhalten werden, kann die Codiereinrichtung 150 so konfiguriert werden, um Datenpaare, die in dem quantisierten Koeffizientenspeicher 331 gespeichert sind, parallel mit den Verarbeitungen für die Quantisierung eines Blocks zu codieren als auch Datenpaare zu erzeugen und zu speichern, und zwar durch die Quantisierungseinrichtung 121.
- Dies ermöglicht es, die Zeit, die für die Prozesse erforderlich ist, um die jeweiligen Elemente in der DCT-Koeffizientenmatrix D für einen Block zu quantisieren als auch die Datenpaare zu erzeugen und zu codieren, weiter zu verkürzen.
- Die Fig. 17 und 18 sind Flußdiagramme zur Erläuterung der Verarbeitungen z.B. in der Software, und zwar durch die Steuerschaltung 351 in der Zeitgabe-Steuereinrichtung 350, welche die Operationen des Bilddaten-Kompressionsgerätes gemäß der ersten Ausführungsform der Erfindung steuert.
- Spezieller gesagt, veranschaulichen die Fig. 17 und 18 die Aufschlüsselung der Quantisierung und Codierung für einen Block der Bilddaten durch das Bilddaten-Kompressionsgerät, welches in Fig. 14 gezeigt ist, welches tatsächlich Bildkompressionen in Blockeinheiten nach dem Pipeline-Verfahren behandelt. Ein Zeichen " " [ein durch einen Kreis umschlossenes A] in den Fig. 17 und 18 bezeichnet einen Verbinder, der die Fortsetzung der Operationen zum Ausdruck bringt.
- Wenn der Puffer 312 die DCT-Koeffizienten eines Blocks speichert, nachdem die DCT-Einheit 311 die DCT-Bearbeitung des Blocks vervollständigt hat, werden die in den Fig. 17 und 18 gezeigten Prozesse gestartet, die sich wie folgt beschreiben lassen.
- Schritt S1: Die Steuerschaltung 351 setzt den quantisierten Koeffizientenspeicher 331 in einen Schreibbereitschaftszustand und instruiert die Quantisierungseinrichtung 121, die Quantisierung zu initialisieren.
- Schritt S2: Die Quantisierungseinrichtung 121 liest eine Eins (1) der DCT-Koeffizienten, die in dem Puffer 312 gespeichert sind, aus und gibt diese an die Verriegelungsschaltung 326 und die Null-Beurteilungsschaltung 327 aus und veranlaßt den Zähler 352, seinen Zählwert um eins (1) zu inkrementieren.
- Schritt S3: Die Null-Beurteilungsschaltung 327 beurteilt, ob der Wert eines quantisierten Koeffizienten, der aus der Quantisierungseinrichtung 121 ausgegeben wurde, gleich Null (0) ist. Wenn dieser Null (0) [Y] ist, veranlaßt die Null- Beurteilungsschaltung 327 den Zähler 328, seinen Zählwert um eins (1) zu inkrementieren und der Prozeß gelangt dann zu dem Schritt S2 zurück. Wenn dieser Wert nicht Null (0) ist, gelangt der Prozeß zu dem Schritt 34.
- Schritt S4: Die Steuerschaltung 351 veranlaßt den quantisierten Koeffizientenspeicher 331, den in der Verriegelungsschaltung 326 (das heißt Index) gehaltenen quantisierten Koeffizienten zu speichern und auch den Zählwert des Zählers 328 (das heißt den Lauf).
- Schritt S5: Die Steuerschaltung 351 veranlaßt den Zähler 353, seinen Zählwert um eins (1) zu inkrementieren.
- Schritt S6: Die Steuerschaltung 351 detektiert ein Ende eines Blocks, indem sie beurteilt, ob der Zählwert des Zählers 352 die Zahl der Bildelemente in einem Block erreicht hat oder nicht (der vierundsechzig (64) beträgt, wenn es sich um acht mal acht (8 x 8) Bildelemente handelt]. Wenn der Zählwert des Zählers 352 noch nicht vierundsechzing (64) [N] erreicht hat, kehrt der Prozeß zu dem Schritt S2 zurück. Wenn der Zählwert des Zählers 352 vierundsechzing (64) [Y] erreicht, das heißt nachdem alle DCT-Koeffizienten eines Blocks quantisiert worden sind und der quantisierte Koeffizientenspeicher 331 die Indizes und die Läufe für den Block speichert, schreitet der Prozeß zu dem Schritt S7 voran.
- Schritt S7: Die Steuerschaltung 351 veranlaßt den quantisierten Koeffizientenspeicher 331, ein Blockendesignal Reob zu speichern. Der Prozeß schreitet zum Schritt S8 voran.
- Schritt S8: Die Steuerschaltung 351 instruiert die Quantisierungseinrichtung 121, die Quantisierung für den Block zu beenden.
- Somit werden bei den Schritten Sl bis S8 die Quantisierung und die Umsetzung der quantisierten Koeffizienten in Indizes und Läufe vervollständigt und der Prozeß schreitet dann zu dem Schritt S9 zum Zwecke der Codierung voran.
- Schritt S9: Die Steuerschaltung 351 versetzt den quantisierten Koeffizientenspeicher 331 in einen Lesebereitschaftszustand und instruiert die Codiereinrichtung 150, den Codierungsvorgang zu initialisieren. Der Prozeß gelangt dann zu dem Schritt S10.
- Schritt S10: Die Steuerschaltung 351 veranlaßt den quantisierten Koeffizientenspeicher 331, einen Zählwert CA des Zählers 353 zu halten und initialisiert die Zähler 352 und 353. Der Prozeß gelangt dann zu dem Schritt S11.
- Schritt S11: Die Steuerschaltung 351 veranlaßt die Codiereinrichtung 150, ein erstes Datenpaar eines Indexes und eines Laufs von einer Adresse auszulesen, spezifiziert durch den Zählwert des Zählers 353, und zwar aus dem quantisierten Koeffizientenspeicher 331. Der Prozeß gelangt dann zu dem Schritt S12.
- Schritt S12: Die Steuerschaltung 351 instruiert die Codiereinrichtung 150, den Index und den Lauf in dem ersten Datenpaar in einen Indexcode umzusetzen, gepaart mit einem Laufcode und um weiter das Paar zu codieren, welches den Indexcode und den Laufcode umfaßt, in einen variablen Längecode, z.B. in einen Huffman-Code. Der Prozeß schreitet dann zum Schritt S13 voran.
- Schritt S13: Die Steuerschaltung 351 veranlaßt den Zähler 353, seinen Zählwert um eins (1) zu inkrementieren. Der Prozeß schreitet dann zum Schritt S14 voran.
- Schritt S14: Die Steuerschaltung 351 beurteilt, ob der laufende Zählwert des Zählers 353 gleich ist dem Zählwert CA, der bei dem Schritt S10 gespeichert wurde oder nicht. Wenn er nicht gleich ist, kehrt der Prozeß zu dem Schritt S11 zurück, da ein Datenpaar eines Indexes und eines Laufs noch in dem quantisierten Koeffizientenspeicher 331 verblieben ist. Wenn er gleich ist [Y], schreitet der Prozeß zu dem Schritt S15 voran.
- Schritt S15: Die Steuerschaltung 351 instruiert die Codiereinrichtung 150, den Codiervorgang zu beenden, so daß dadurch alle die Prozesse beendet werden.
- Fig. 19 zeigt im Detail die Konfiguration eine Bilddaten-Komprimierungsgerätes gemäß der zweiten Ausführungsform der Erfindung.
- Die Entsprechungen zwischen der Fig. 12 und der Fig. 19 sollen zuerst erläutert werden.
- Die orthogonal transformierende Einrichtung 211 entspricht der DCT-Einheit 361.
- Die Quantisierungseinrichtung 221 entspricht der Adressenerzeugungsschaltung 371, der Ausleseschaltung 372, dem Teiler 373 und dem Quantisierungsmatrixspeicher 374.
- Die Umsetzeinrichtung 231 entspricht der Verriegelungsschaltung 376, der Null-Beurteilungsschaltung 377 und dem Zähler 378.
- Die erste Erzeugungseinrichtung 242 entspricht der Signalerzeugungsschaltung 375a.
- Die zweite Erzeugungseinrichtung 243 entspricht der Signalerzeugungsschaltung 375b.
- Die Wähleinrichtung 244 entspricht dem Multiplexer 379.
- Die Erzeugungseinrichtung 241 entspricht den Signalerzeugungsschaltungen 375a und 375b und dem Multiplexer 379.
- Die Anhefteinrichtung 251 entspricht der Schalter- Steuerschaltung 382, dem Zähler 380, dem Multiplexer 379 und dem quantisierten Koeffizientenspeicher 381.
- Die Codiereinrichtung 261 entspricht der Ausleseschaltung 391, den Nachschlagetabellen 392, 393 und 398, der Beendigungscode-Erzeugungsschaltung 395 und dem Multiplexer 394.
- Die Beurteilungseinrichtung 272 entspricht der Blockendedetektorschaltung 396. Die Befehlsgabeeinrichtung 271 entspricht der Blockendedetektorschaltung 396 und der Codiersteuerschaltung 397.
- Unter der Annahme der oben erläuterten Entsprechung lassen sich die Konfiguration und Wirkungsweise der Ausführungsform in der folgenden Weise beschreiben.
- Wie in Fig. 19 gezeigt ist, spaltet die DCT-Einheit 361 Bilddaten wie solche, die durch einen Bildscanner (nicht gezeigt) gelesen wurden, in Blöcke auf, von denen jeder 8 x 8 Bildelemente und DCTs bzw. Blöcke umfaßt, unter Erstellung einer Matrix (im folgenden als eine DCT-Koeffizientenmatrix D) mit acht (8) Reihen und acht (8) Spalten von DCT-Koeffizienten, die eine Pufferstufe 362, die intern in der DCT-Einheit 361 vorgesehen ist, zeitweilig speichert, bevor diese zu der Quantisierungseinrichtung 370 ausgegeben werden.
- In der Quantisierungseinrichtung 370 erzeugt die Adressenerzeugungsschaltung 371 sequentiell die Adressen in dem Puffer 362 gemäß der Abtastsequenz, die in Fig. 6 gezeigt ist, und die Ausleseschaltung 372 liest die entsprechenden Elemente in der DCT-Koeffizientenmatrix D entsprechend den Adressen aus und speist diese in den Teiler 373 ein.
- In der Quantisierungseinrichtung 370 speichert der Quantisierungsmatrixspeicher 374 die Quantisierungsmatrix VTH, die in Fig. 4 gezeigt ist, und gibt die Elemente der Quantisierungsmatrix VTH entsprechend den Adressen, die durch die Adressenerzeugungsschaltung 371 erhalten wurden, in den Teiler 373 ein.
- Der Teiler 373 quantisiert die jeweiligen Elemente der DCT-Koeffizientenmatrix D, indem er die eingegebenen Elemente der DCT-Koeffizientenmatrik D durch die entsprechenden Elemente der Quantisierungsmatrix VTH teilt.
- Die Verriegelungsschaltung 376 und die Null-Beurteilungsschaltung 377 empfangen sequentiell die Ausgangsgröße von dem Teiler 373. Die Verriegelungsschaltung 376 und der Zähler 378 arbeiten in Einklang mit dem Beurteilungsergebnis durch die Null-Beurteilungsschaltung 377.
- Die oben beschriebene Null-Beurteilungsschaltung 377 beurteilt, ob der Wert eines eingespeisten quantisierten Koeffizienten Null ist oder nicht und schickt das Beurteilungsergebnis zu der verriegelungsschaltung 376 und dem Zähler 378. Der Zähler 378 wird aktiviert und inkrementiert seinen Zählwert um eins (1) gemäß einem Taktsignal (nicht gezeigt), welches mit der Eingabe eines quantisierten Koeffizienten synchronisiert ist, wenn die Null-Beurteilungsschaltung 377 beurteilt, daß der eingespeiste quantisierte Koeffizient ein nichtsignifikanter Koeffizient mit dem Wert Null ist.
- Die Verriegelungsschaltung 376 wird aktiviert und sie hält den entsprechenden quantisierten Koeffizienten gemäß dem oben beschriebenen Taktsignal, wenn die Null-Beurteilungsschaltung 377 beurteilt, daß der eingespeiste quantisierte Koeffizient ein signifikanter Koeffizient mit einem von Null verschiedenen Wert ist. Zu diesem Zeitpunkt gibt der Zähler 378 den Zählerwert aus und löscht diesen nachfolgend.
- Dies setzt die Verriegelungschaltung 376 in die Bereitschaft, selektiv den Wert eines signifikanten Koeffizienten (das heißt Index) zu halten und der Zähler 378 zählt die Zahl der unsignifikanten Koeffizienten, die in Aufeinanderfolge (das heißt gemäß einem Lauf) eingespeist werden.
- Somit setzt die Umsetzschaltung 231, die zusammengesetzt ist aus der verriegelungsschaltung 376, der Null-Beurteilungsschaltung 377 und dem Zähler 378, eine Reihe von quantisierten Koeffizienten in serielle Paare von Indizes und Läufen um, die im folgenden als seriell quantisierte Koeffizienten bezeichnet werden.
- Ein Eingangsport A des Multiplexers 379 empfängt als ein Eingangsdatum einen Index gepaart mit einem Lauf, die in den seriell quantisierten Koeffizienten enthalten sind.
- Die Signalerzeugungsschaltung 375a gibt als ein erstes Beendigungssignal ein vorbestimmtes Bitmuster "Reob1" an einen Eingangsport B des Multiplexers 379 aus, der oben beschrieben wurde. In ähnlicher Weise gibt die Signalerzeugungsschaltung 375b als ein zweites Beendigungssignal ein unterschiedliches Bitmuster "Reob2" an einen Eingangsport C des Multiplexers 379 aus. Die oben beschriebenen Signalerzeugungsschaltungen 375a und 375b brauchen lediglich Bitmuster "Reob1" und "Reob2" zu erzeugen, die verschieden sind von denjenigen, welche die Indizes und Läufe ausdrücken.
- Parallellaufend mit der oben beschriebenen Erzeugung der seriell quantisierten Koeffizienten, inkrementiert der Zähler 380 seinen Zählwert um eins (1) und schickt dann den Zählwert zu der Schalter-Steuerschaltung 382, wobei jeder Zeitteiler 373 einen quantisierten Koeffizienten ausgibt. Basierend auf dem Zählwert des Zählers 380 beurteilt die Schalter-Steuerschaltung 382, ob die quantisierten Koeffizienten für einen Block vollständig empfangen worden sind oder nicht. Die Schalter-Steuerschaltung 382 instruiert den Multiplexer 379, den Eingangsport A auszuwählen, nachdem sie beurteilt hat, daß die quantisierten Koeffizienten nicht vollständig empfangen worden sind.
- Nach der Beurteilung, daß die quantisierten Koeffizienten vollständig empfangen worden sind, instruiert die Schalter-Steuerschaltung 382 andererseits den Multiplexer 379 darüber, den Eingangsport B oder den Eingangsport A und dann den Eingangsport C auszuwählen, abhängig davon, ob die Null-Beurteilungsschaltung 377, die oben beschrieben wurde, beurteilt, daß der letzte quantisierte Koeffizient ein un signifikanter Koeffizient oder ein signifikanter Koeffizient ist.
- Gemäß der Instruktion bzw. dem Befehl von der Schalter-Steuerschaltung 382 gibt der Multiplexer 379 Eingangsdaten, die er an den jeweiligen Eingangsports empfängt, an den quantisierten Koeffizientenspeicher 381 aus.
- Damit wählt der Multiplexer 379, bis der Zählwert des Zählers 380 die Zahl der Bitelemente in einem Block erreicht, den Eingangsport A aus und gibt sequentiell die seriell quantisierten Koeffizienten aus, die Läufe gepaart mit Indizes umfassen, die dann in dem quantisierten Koeffizientenspeicher 381 gespeichert werden. Wenn nachfolgend die quantisierten Koeffizienten für einen Block vollständig empfangen werden, wählt der Multiplexer 379 abhängig davon, ob der letzte quantisierte Koeffizient ein unsignifikanter Koeffizient ist oder nicht, den Eingangsport B oder den Eingangsport C aus, erzeugt entweder das Bitmuster "Reob1" oder das Bitmuster "Reob2", und der quantisierte Koeffizientenspeicher 381 speichert in ähnlicher Weise das erzeugte Bitmuster Reob1 oder Reob2.
- Wenn beispielsweise die Elemente der DCT-Koeffizientenmatrix D von Fig. 3 durch die Zick-Zack-Abtastsequenz, die in Fig. 6 gezeigt ist, gelesen werden und quantisiert werden, um in dieser Sequenz quantisierte Koeffizienten mit Werten zu erzeugen, die in der quantisierten DCT-Koeffizientenmatrix von Fig. 5 gezeigt sind, so ist der quantisierte Koeffizient entsprechend dem DCT-Koeffizient, der zuletzt ausgelesen wurde, ein unsignifikanter Koeffizient. Somit gibt in diesem Fall der Multiplexer 379 das Bitmuster "Reob1" aus, welches er an dem Eingangsport B empfangen hat, und zwar an den quantisierten Koeffizientenspeicher 381, der das Bitmuster speichert, und zwar nach den sechs (6) Eingaben für die seriell quantisierten Koeffizienten, welche sechs Eingänge einen ersten Eingang (-5) entsprechend dem Gleichstromelement, gefolgt von fünf (5) Eingängen (Paare von Läufen und Indizes) entsprechend den jeweiligen signifikanten Elementen (-2, -3, 1, 1, -1) der oben beschriebenen DCT-Koeffizientenmatrix D umfassen.
- Wenn somit der letzte quantisierte Koeffizient ein nichtsignifikanter bzw. unsignifikanter Koeffizient ist, wird das Bitmuster "Reob1" als ein Beendigungssignal an das Schwanzende der seriell quantisierten Koeffizienten hinzugefügt, wie dies in Fig. 20A gezeigt ist, welche die Eingänge oder Einträge zeigt, die in dem Speicher 381 bei dem oben erläuterten Beispiel gespeichert sind.
- Wenn jedoch der letzte quantisierte Koeffizient ein signifikanter Koeffizient ist, gibt der Multiplexer 379 nach dem Empfang des letzten quantisierten Koeffizienten das Bitmuster "Reob2" aus, welches dem Eingangsport C zugeführt wurde, um dieses in dem quantisierten Koeffizientenspeicher 381 zu speichern. Dies ermöglicht es, daß das Bitmuster "Reob2" als ein Beendigungssignal dem Schwanzende der seriell quantisierten Koeffizienten hinzugefügt wird, und zwar nach dem Paar des Laufes "Re" und des Indexes "Ie", die den niedrigstwertigen Koeffizienten wiedergeben, wie dies in Fig. 20B gezeigt ist.
- In den Fig. 20A und 20B ist der Index des Gleichstromelements eines Blocks, welches zuerst eingegeben wird, mit "D" bezeichnet. Andere Indizes sind mit "I" mit einer Suffix-Nummer bezeichnet, welche die Erscheinungssequenz wiedergibt. Läufe gepaart mit jeweiligen Indizes sind durch "R" mit der gleichen Suffix-Nummer bezeichnet, welche die Erscheinungssequenz wiedergibt.
- Es folgt eine Beschreibung des Prozesses, mit dem die Codiereinrichtung 390 die Indizes und die Läufe codiert, die in dem quantisierten Koeffizientenspeicher 381 gespeichert sind.
- Die Ausleseschaltung 391 liest sequentiell die Paare der Läufe und Indizes aus, die in den seriell quantisierten Koeffizienten enthalten sind, die in dem quantisierten Koeffizientenspeicher 381 gespeichert sind und sie schickt die ausgelesenen Läufe zu der Nachschlagetabelle (im folgenden als LUT bezeichnet) 392, und zwar als Adressen, und die ausgelesenen Indizes zu der LUT 393 als Adressen.
- Die LUT 392 hält an entsprechenden Laufcodes entsprechend den Läufen, die dazu verwendet werden, die entsprechenden Adressen zu liefern. Die LUT 393 hält an entsprechenden Adressen die Indexcodes entsprechend den Indizes, die dazu verwendet werden, um die Adressen dafür zu liefern.
- Daher geben bei Empfang der Läufe und Indizes die LUT 392 bzw. LUT 393 die entsprechenden Laufcodes und Indexcodes an den Eingangsport A des Multiplexers 394 aus.
- Die Beendigungscode-Erzeugungsschaltung 395 erzeugt einen Beendigungscode, der als ein Code definiert ist, der das Ende eines Blocks gemäß der Vorschriftenspezifikation für die Standardisierung wiedergibt, und schickt den Beendigungscode zu dem Eingangsport B des Multiplexers 394, der oben beschrieben wurde.
- Der Multiplexer 394 arbeitet in Einklang mit den Befehlen von der Codier-Steuerschaltung 397.
- Es folgt eine Beschreibung des Schaltprozesses des Multiplexers 394 und des Prozesses der Codierung der Laufcodes und der Indexcodes.
- Die Blockende-Detektorschaltung 396 empfängt sequentiell die seriell quantisierten Koeffizienten, die durch die Ausleseschaltung 391 ausgelesen wurden, detektiert die Bitmuster "Reob1" und "Reob2" und gibt das Detektionsergebnis an die Codier-Steuerschaltung 397 aus.
- Die Codier-Steuerschaltung 397 instruiert gewöhnlicherweise den Multiplexer 394, den Eingangsport A auszuwählen, und instruiert denselben, den Eingangsport B auszuwählen, wenn die Blockende-Detektorschaltung 396 das Bitmuster "Reob1" detektiert.
- Wenn beispielsweise die Paare von Läufen und Indizes, die in Fig. 20A gezeigt sind, sequentiell ausgelesen werden, so instruiert die Codier-Steuerschaltung 397 den Multiplexer 394, den Eingangsport A auszuwählen, bis das Bitmuster "Reob1" zum siebten Mal ausgelesen wird. Somit schickt vor dem Lesen des Bitmusters Reob1 der Multiplexer 394 die Paare der Laufcodes und Indexcodes, die jeweils von LUT 392 und LUT 393 ausgegeben wurden, als dessen Adressen zu der LUT 398.
- Die LUT 398 hält die geeigneten Huffman-Codes an den Adressen bereit, die den Paaren der Indexcodes und Laufcodes entsprechen.
- Somit gibt nach Empfang der Paare von Laufcodes und Indexcodes, die jeweils von den LUTs 392 und 393 erhalten wurden, die LUT 398 die geeigneten Huffman-Codes aus.
- Auf diese Weise werden die seriell quantisierten Koeffizienten, die in Fig. 20A gezeigt sind, sequentiell codiert, beginnend bei dem Index "D" entsprechend dem Gleichstromelement, und die Codier-Steuerschaltung 397 instruiert den Multiplexer 394, den Eingangsport B auszuwählen, wenn das Bitmuster "Reob1" ausgelesen wird, welches als das Beendigungssignal gespeichert ist.
- Dies veranlaßt den Multiplexer 394, einen Beendigungscode an die LUT 398 auszugeben, der von der Beendigungscode-Erzeugungseinrichtung 395 zugeführt wurde, um diesen in einen entsprechenden Code umzusetzen.
- Somit wird in diesem Fall, wie in Fig. 7A gezeigt ist, der Code "C&sub6;" entsprechend dem Paar des Laufes "R&sub5;" und des Index "I&sub5;", welche den niedrigstwertigen Koeffizienten wiedergeben, gefolgt von dem "EOB"-Code entsprechend dem Beendigungscode, der anzeigt, daß alle folgenden quantisierten Koeffizienten unsignifikante Koeffizienten sind.
- Auch beurteilt die Codier-Steuerschaltung 397 zu dieser Zeit, daß der Prozeß für die Codierung eines Blocks geendet hat und instruiert die Ausleseschaltung 391, das Auslesen eines quantisierten Koeffizienten aus dem quantisierten Koeffizientenspeicher 381 zu stoppen.
- Wenn mittlerweile der quantisierte Koeffizientenspeicher 381 die seriell quantisierten Koeffizienten speichert, die in Fig. 20B gezeigt sind, wird das Bitmuster "Reob2", welches als ein Beendigungssignal abgespeichert ist, ausgelesen, und zwar nach dem Lauf "Re", gepaart mit dem Index "Ie" entsprechend dem letzten signifikanten Koeffizienten. Dann beurteilt beim Empfang einer Ausgangsgröße von der Blockende-Detektorschaltung 396 die Codier-Steuerschaltung 397, daß der Prozeß zum Codieren eines Blocks beendet wurde und instruiert in ähnlicher Weise die Ausleseschaltung 391, den Auslesevorgang eines quantisierten Koeffizienten aus dem quantisierten Koeffizientenspeicher 381 zu stoppen.
- Da jedoch in diesem Fall die Codier-Steuerschaltung 397 den Multiplexer 394 nicht instruiert, den Eingangsport B auszuwählen, wird der "EOB"-Code entsprechend dem Beendigungscode nicht an das Schwanzende angeheftet, sondern es wird stattdessen der Code "Ce" für den Lauf "Re" gepaart mit dem Index "Ie" entsprechend dem niedrigstwertigen Koeffizienten als letzter Code übriggelassen, wie dies in Fig. 7B gezeigt ist.
- Somit werden die seriell quantisierten Koeffizienten für einen Block, die in dem quantisierten Koeffizientenspeicher 381 gespeichert sind, in variablen Längen codiert.
- Durch Wiederholen der oben beschriebenen Prozesse zum Quantisieren und Codieren eines Blocks für entsprechende Blöcke eines Bildes, werden dessen Bilddaten codiert.
- Wie oben beschrieben wurde, schaltet die Schalter- Steuerschaltung 382 den Multiplexer 379 in solcher Weise, um ein Beendigungssignal, welches das Ende eines Blockes wiedergibt, an das Schwanzende der seriell quantisierten Koeffizienten für einen Block anzuhängen und die Codiereinrichtung 390 detektiert das Beendigungssignal, wodurch das Ende der seriell quantisierten Koeffizienten für einen Block erkannt werden kann.
- Hierbei werden der Prozeß zum Quantisieren von den jeweiligen Elementen der DCT-Koeffizientenmatrix D und der Prozeß zum Umsetzen der erhaltenen quantisierten Koeffizienten in seriell quantisierte Koeffizienten, die Paare von Läufen und Indizes umfassen, getrennt und für jeden Block unabhängig durchgeführt. Auch wird der Prozeß für das Codieren der seriell quantisierten Koeffizienten getrennt und unabhängig für jeden Block durchgeführt.
- Demzufolge ermöglicht es diese Ausführungsform, daß der Quantisierungsprozeß und der Codierungsprozeß, die früher in einer einzelnen Einheit ausgeführt wurden, getrennt in zwei (2) bestimmte Prozesse werden, die durch zwei (2) getrennte Schaltungen durchgeführt werden, welche der quantisierte Koeffizientenspeicher 381 verbindet, wodurch eine Schaltungskonfiguration vereinfacht wird.
- Dies schafft die Möglichkeit, daß alle die Schaltungen für die Quantisierungs- und Codierungsprozesse in einfacher Weise gesteuert werden können. Da auch der Quantisierungsschaltungsmodul auf der Eingangsseite des quantisierten Koeffizientenspeichers 381 unabhängig von dem Codierschaltungsmodul auf der Ausgangsseite desselben arbeiten kann, um eine Qualitätsbeurteilung während eines Tests unabhängig durchzuführen, kann die Normalität der jeweiligen Schaltungsmodule in einfacher Weise sichergestellt werden.
- Da der Codierschaltungsmodul ein Ende eines Blocks beim Detektieren eines Beendigungssignals feststellt, ist eine Schaltung zum Sammeln der Zahl der Läufe nicht mehr erforderlich, wodurch der Codierschaltungsmodul vereinfacht wird.
- Da die Schalter-Steuerschaltung 382 den Multiplexer 379 gemäß dem Beurteilungsergebnis der Null-Beurteilungsschaltung 377 schaltet, wird eines von zwei (2) Bitmustern "Reob1" oder "Reob2" als das Beendigungssignal ausgewählt, um es an das Schwanzende der seriell quantisierten Koeffizienten abhängig davon anzuheften, ob der letzte quantisierte Koeffizient ein unsignifikanter Koeffizient ist oder nicht.
- Dies ermöglicht es dem Codierschaltungsmodul, eine Codierung entsprechend der Vorschriftenspezifikation für eine Standardisierung durchzuführen, und zwar durch Beurteilung, ob der letzte quantisierte Koeffizient ein unsignifikanter Koeffizient ist oder nicht.
- Da der Quantisierungsschaltungsmodul und der Codierschaltungsmodul voneinander unabhängig arbeiten können, wird es möglich, den Quantisierungsprozeß und den Codierungsprozeß im Vergleich zu der herkömmlichen Verarbeitung, bei der beide Prozesse in einer Aufeinanderfolge durchgeführt werden, zu beschleunigen, wodurch ein schnellers Bilddaten-Komprimierungsgerät realisiert wird.
- Indem man ferner einen Speicher mit einer Speicherkapazität für zwei (2) Blöcke der seriell quantisierten Koeffizienten vorsieht, kann bei dieser Ausführungsform ein Codierschaltungsmodul konfiguriert werden, um die seriell quantisierten Koeffizienten für den vorhergehenden Block zu codieren, die in dem quantisierten Koeffizientenspeicher 381 abgespeichert sind, und zwar parallel mit dem Prozeß der Quantisierung eines Blocks durch den Quantisierungsschaltungsmodul.
- Dies ermöglicht es, daß die Zeit, die für das Quantisieren und Codieren der jeweiligen Elemente der DCT-Koeffizientenmatrix D für einen Block erforderlich ist, weiter verkürzt wird.
- Fig. 21 zeigt im Detail die Konfiguration eines Bilddaten-Rekonstruktionsgerätes gemäß der dritten Ausführungsform der Erfindung.
- Die Entsprechungen zwischen der Fig. 13 und der Fig. 21 sollen zunächst erläutert werden.
- Die Codiereinrichtung 161 entspricht dem Decodierer 410 mit der Decodiertabelle 411 und der Suchschaltung 412.
- Die Koeffizientencode-Wiederumsetzeinrichtung 162 entspricht der LUT 413.
- Die Folgelängencode-Wiederumsetzeinrichtung 163 entspricht der LUT 414.
- Die zweite Speichereinrichtung 142 entspricht dem quantisierten Koeffizientenspeicher 421 und der Zeitgabe- Steuereinrichtung 430.
- Die Dequantisierungseinrichtung 171 entspricht dem Multiplizierer 441, der Akkumulierschaltung 442, dem Quantisierungsmatrixspeicher 443, der Pufferstufe 444 und der Adressenumsetzschaltung 445.
- Die Invers-Orthogonal-Transformiereinrichtung 181 entspricht der Invers-DCT-Einheit 450.
- Unter der Annahme der oben erläuterten Entsprechung, sollen die Konfigurationen und Aktionen der Ausführungsformen im folgenden beschrieben werden.
- In Fig. 21 decodiert der Decodierer 410 einen Eingangscode, indem er auf die Decodiertabelle 411 zugreift, die entsprechende Beziehungen zwischen jeweiligen Huffman-Codes und Paaren aus Indexcodes und Laufcodes gespeichert hält. Beim Empfangen eines Eingangscodes veranlaßt der Decodierer 410 die Suchschaltung 412, die Decodiertabelle 411 durchzusuchen, und zwar nach dem entsprechenden Paar eines Indexcodes und eines Laufcodes, und er schickt den erhaltenen Index- und Laufcode zu den LUTs 413 und 414 als jeweilige Adresseneingangsgrößen.
- Die LUT 413 speichert an ihren Adressen, die den jeweiligen Indexcodes entsprechen, N-Bitdaten, welche die Indizes wiedergeben, und die LUT 414 speichert an ihren Adressen, die jeweiligen Laufcodes entsprechen, M-Bitdaten, welche Läufe wiedergeben.
- Wenn die Prozesse zum Decodieren der Codedaten für die jeweiligen Blöcke beginnen, gibt eine Steuerschaltung 431 in einer Zeitgabe-Steuereinrichtung 430 eine logische "0" als ein Schreib-/Lese-Steuersignal W/R an einen quantisierten Koeffizientenspeicher 421 aus und setzt den quantisierten Koeffizientenspeicher in den Schreibbereitschaftszustand. Dann instruiert die Steuerschaltung 431 die Suchschaltung 412, einen Suchprozeß zu initialisieren.
- Bei dem Empfang 5019h eines Befehls starten die Suchschaltung 412 und die LUTs 413 und 414 ihre Operationen und die Suchschaltung 412 gibt den Indexcode und den Laufcode unter Verwendung der Decodiertabelle 411 an die LUTs 413 und 414 jeweils aus. Nach dem Empfang solch einer Eingangsgröße geben die LUTs 413 und 414 jeweils den entsprechenden Index und Lauf an den quantisierten Koeffizientenspeicher 421 aus.
- Jedesmal, wenn die Suchschaltung 412 ein Suchergebnis ausgibt, inkrementiert der Zähler 432 in der Zeitgabe- Steuereinrichtung 430 seinen Zählwert um eins (1) und schickt den erneuerten Zählwert als eine Adresse zum Speichern des Datenpaares, von denen jedes aus einem Index und einem Lauf zusammengesetzt ist, zu dem quantisierten Koeffizientenspeicher 421. Die Steuerschaltung 431 gibt ein Taktsignal aus, welches mit der Ausgabesteuerung der LUTs 413 und 414 synchronisiert ist und instruiert den quantisierten Koeffizientenspeicher 421, die Datenpaare zu speichern.
- Wie im Falle des quantisierten Koeffizientenspeichers 331, speichert der quantisierte Koeffizientenspeicher 421 einen Indes in den N höchstwertigen Bits des Speicherbereiches entsprechend der bezeichneten Adresse und speichert einen Lauf in den M niedrigstwertigen Bits des Speicherbereiches entsprechend der bezeichneten Adresse als Beispiel.
- Somit speichert der quantisierte Koeffizientenspeicher 412 die Datenpaare aus Indizes und Läufen, die von den LUTs 413 und 414 ausgegeben werden, an den Adressen, die den Zählwerten entsprechen, welche.durch den Zähler 432 in dem quantisierten Koeffizientenspeicher 421 spezifiziert sind.
- Da hier die Suchschaltung 412 und die LUTs 413 und 414 alle voneinander unabhängig arbeiten können, kann der Prozeß des Decodierens eines Eingangscodes in einen Indexcode und einen Laufcode, der Prozeß für die Rekonstruktion eines Indexes aus einem Indexcode und der Prozeß für die Rekonstruktion eines Laufes aus einem Laufcode alle parallel ausgeführt werden.
- Dies ermöglicht es dem Decodierprozeß, verglichen mit einer Ausführung solcher Prozesse in sequentieller Form, beschleunigt zu werden und die Zeit, die für eine Bilddaten-Rekonstruktion erforderlich ist, kann verkürzt werden.
- Parallel zu dem Decodierprozeß, der oben beschrieben wurde, sucht die Blockende-Detektorschaltung 433 in der zeitgabe-Steuereinrichtung 430 nach den Läufen, die von der LUT 414 ausgegeben wurden, und informiert die Steuerschaltung 431 über eine Detektion eines Endes eines Blocks, und zwar nach Detektierung eines Laufes "Reob", welcher ein Ende eines Blockes wiedergibt.
- Bei Empfang der Nachricht instruiert die Steuerschaltung 431 die Suchschaltung 412 darüber, mit ihrem Suchprozeß aufzuhören und sie stoppt den Decodierprozeß.
- Zu diesem Zeitpunkt hält die Steuerschaltung 431 den Zählwert des Zählers 432 als Maximalwert Amax und löscht den Zählwert des Zählers 432. Als nächstes gibt die Steuerschaltung 431 eine logische "1" als das Lese-/Schreib- Steuersignal W/R aus, versetzt den quantisierten Koeffizientenspeicher 421 in den Lesebereitschaftszustand und instruiert die Dequantisierungseinrichtung 171 einen Dequantisierungsprozeß zu beginnen. Zu diesem Zeitpunkt löscht die Steuerschaltung 431 auch den Inhalt in der Pufferstufe 444. Dann instruiert die Steuerschaltung 431 den Zähler 432, seinen Zählwert zu vorbestimmten Zeitintervallen zu inkrementieren und instruiert den quantisierten Koeffizientenspeicher 421, ein Datenpaar auszugeben, welches an der Adresse entsprechend dem Zählwert des Zählers 432 gespeichert ist.
- Dies triggert den quantisierten Koeffizientenspeicher, um sequentiell Datenpaare auszugeben. Ein Multiplizierer 441 in der Dequantisierungseinrichtung 171 empfängt die N höchstwertigen Bits der Datenpaare als die Indizes. Eine Sammelschaltung 442 empfängt die M niedrigstwertigen Bits der Datenpaare als Läufe.
- Die Sammelschaltung 442 sammelt sequentiell die Werte der ausgegebenen Läufe und schickt das Akkumulationsergebnis zu einem Quantisierungsmatrixspeicher 443.
- Der Quantisierungsmatrixspeicher 443 speichert jeweilige Elemente der Quantisierungsmatrix VTH in Entsprechung zu der Abtastsequenz, die in Fig. 6 gezeigt ist, und schickt die entsprechenden Elemente der Quantisierungsmatrix VTH zu dem Multiplizierer 441 bei Empfang eines Akkumulationsergebnisses.
- Das von der Sammelschaltung 442 erhaltene Akkumulationsergebnis zeigt die Zahl in der Abtastsequenz an, die in Fig. 6 gezeigt ist, und zwar des Elements in der DCT-Koeffizientenmatrix D entsprechend dem Index, der zusammen mit dem Lauf eingegeben wurde. Diese Zahl (Abtastsequenzposition) bezeichnet die Position des Elements in der DCT-Koeffizientenmatrix. Damit gibt beim Empfang des Akkumulationsergebnisses der Quantisierungsmatrixspeicher 443 den Quantisierungs-Schwellenwert entsprechend dem oben beschriebenen Element in der DCT-Koeffizientenmatrix D aus.
- Demzufolge empfängt der Multiplizierer 441 einen Index und das Element in der Quantisierungsmatrix VTH entsprechend dem Index führt eine Multiplikation durch und gibt das enthaltene Produkt in die Puffersturfe 444 ein.
- Parallel zu der Multiplikation setzt eine Adressen- Umsetzschaltung 445 die Abtastsequenzposition, die durch die Sammelschaltung 442 erhalten wurde, in eine Adresse um, die eine geeignete Position in einer zweidimensionalen Anordnung in der Pufferstuffe 444 wiedergibt und gibt das Umsetzergebnis in die Pufferstufe 444, das Produkt zu speichern, welches von dem Multiplizierer 441 eingegeben wurde, und zwar an der geeigneten Adresse.
- Daher wird die DCT-Koeffizientenmatrix D mit acht (8) Reihen und acht (8) Spalten aus den Datenpaaren rekonstruiert, die in dem quantisierten Koeffizientenspeicher 421 gespeichert sind.
- Da hierbei der Multiplizierer 441 und die Adressenumsetzschaltung 445 unabhängig voneinander arbeiten können, kann die Multiplikation zwischen einem Index und dem entsprechenden Element in der Quantisierungsmatrix VTH parallel mit der Erzeugung der Adresse zum Speichern des Produktes ausgeführt werden. Dies beschleunigt die Prozesse, verglichen mit einer sequentiellen Verarbeitung.
- Parallel mit der oben erläuterten Dequantisierung vergleicht die Steuerschaltung 431 in der Zeitgabe-Steuereinrichtung 430 den Zählwert des Zählers 432 mit der Maximaladresse Amax und beurteilt das Ende der Auslesevorgänge der Indizes und Läufe eines Blocks, wenn zwei verglichene Werte übereinstimmen.
- Die Steuerschaltung 431 instruiert die Dequantisierungseinrichtung 171, die Dequantisierung zu beenden und instruiert die Invers-DCT-Einheit 450, einen inversen DCT- Prozeß zu beginnen.
- Dies triggert die Invers-DCT-Einheit 450, um eine zweidimensionale inverse DCT auszuführen, und zwar für die DCT-Koeffizientenmatrix D, welche in der Pufferstufe 444 gespeichert ist, wodurch die Bilddaten eines Blocks rekonstruiert werden.
- Die Fig. 22, 23 und 24 sind Flußdiagramme zur Erläuterung der Verarbeitungsvorgänge, z.B. in der Software, durch die Steuerschaltung 431 in der Zeitgabe-Steuereinrichtung 430, welche die Operationen eines Bilddaten-Rekonstruktionsgerätes gemäß der dritten Ausführungsform der Erfindung steuert.
- Spezifischer ausgedrückt, veranschaulichen die Fig. 22 und 23 die Aufschlüsselung der Dequantisierung und Decodierung für einen Block von Bilddaten durch das Bilddaten-Rekonstruktionsgerät, welches in Fig. 21 gezeigt ist, welches tatsächlich die Bildrekonstruktionen in Blockeinheiten pipeline-verarbeitet. Ein Zeichen " " (mit Kreis versehenes B) in den Fig. 22 und 23 bezeichnet einen Verbinder, der die Fortsetzung von Operationen zum Ausdruck bringt.
- Wenn die Suchschaltung 412 die Eingangscodes eines Blocks empfängt, starten die Prozesse, die in den Fig. 22 und 23 gezeigt sind, die sich wie folgt beschreiben lassen.
- Schritt S21: Die Steuerschaltung 431 versetzt den quantisierten Koeffizientenspeicher 421 in den Schreibbereitschaftszustand und instruiert die Suchschaltung 412, mit dem Suchvorgang zu beginnen. Der Prozeß schreitet zum Schritt S22 voran.
- Schritt S22: Die Suchschaltung 412 decodiert die Eingangscodes, z.B. Huffman-Codes, in Paare, die Indexcodes und Laufcodes umfassen, und zwar durch Bezugnahme auf die Decodiertabelle 411 und sie decodiert ferner die Paare in Datenpaare, welche Indizes und Läufe umfassen, und zwar durch Bezugnahme auf die LUTs 413 und 414. Der Prozeß schreitet dann zu dem Schritt S23 voran.
- Schritt S23: Die Steuerschaltung 431 instruiert den quantisierten Koeffizientenspeicher 421, die Datenpaare zu speichern, welche die Indizes und die Läufe umfassen, und zwar an Adressen, die den Zählwerten entsprechen, welche von dem Zähler 432 ausgegeben wurden. Der Prozeß schreitet dann zu dem Schritt S24 voran.
- Schritt S24: Die Steuerschaltung 431 instruiert den Zähler 432, seinen Zählwert um eins (1) zu inkrementieren. Der Prozeß gelangt dann zu dem Schritt S25.
- Schritt S25: Die Blockende-Detektorschaltung 433 beurteilt das Ende eines Blocks, durch Detektieren des Beendigungscodes "EOB", der in Fig. 7A gezeigt ist, an dem Schwanzende eines Blocks oder durch Zählen aller vierundsechzig (64) quantisierten Koeffizienten in einem acht mal acht (8 x 8) Block. Wenn die Steuerschaltung 431 eine negative Beurteilung [N] von der Blockende-Detektorschaltung 433 empfängt, kehrt der Prozeß zu dem Schritt S22 zurück. Wenn die Steuerschaltung 431 eine bestätigende Beurteilung [Y] von der Blockende-Detektorschaltung 433 empfängt, schreitet der Prozeß zu dem Schritt S26 voran.
- Schritt S26: Die Steuerschaltung 431 instruiert die Suchschaltung 412, die Suchoperation zu beenden. Der Prozeß schreitet dann zum Schritt S27 voran.
- Schritt S27: Die Steuerschaltung 431 setzt den quantisierten Koeffizientenspeicher 421 in einen Lesebereitschaftszustand und instruiert die Dequantisierungseinrichtung 171, die Dequantisierung der Eingangscodes eines Blocks zu starten. Der Prozeß schreitet dann zu dem Schritt S28 voran.
- Schritt S28: Die Steuerschaltung 431 hält einen Zählwert "DA", der bisher in dem Zähler 432 gespeichert war und initialisiert den Zähler 432 und die Pufferstufe 444. Der Prozeß gelangt dann zu dem Schritt S29.
- Schritt S29: die Steuerschaltung 431 liest ein Datenpaar, enthaltend einen Index und einen Lauf an einer Adresse entsprechend dem Zählwert des Zählers 432 in dem quantisierten Koeffizientenspeicher 421. Der Prozeß gelangt dann zu dem Schritt S30.
- Schritt S30: Die Steuerschaltung 431 instruiert die Dequantisierungseinrichtung 171, daß deren Elemente eine Dequantisierung für das Datenpaar durchführen. Der Prozeß gelangt dann zu dem Schritt S31.
- Schritt S31: Die Steuerschaltung 431 veranlaßt den Zähler 432, seinen Zählwert um eins (1) zu inkrementieren. Der Prozeß gelangt dann zu dem Schritt S32.
- Schritt S32: Die Steuerschaltung 431 beurteilt, ob alle die Datenpaare in einem Block dequantisiert worden sind oder nicht, und zwar durch Vergleichen des Wertes des Zählers 432, ob dieser gleich ist dem Zählwert "DA". Wenn der Wert des Zählers 432 noch nicht den Zählwert "DA" erreicht hat [N], bestimmt die Steuerschaltung 431, daß nicht alle Datenpaare bis jetzt dequantisiert worden sind und der Prozeß kehrt zu dem Schritt S29 zurück. Wenn der Zählwert des Zählers 432 den Zählwert "DA" erreicht [Y], bestimmt die Steuerschaltung 431, daß alle Datenpaare dequantisiert worden sind und der Prozeß schreitet dann zu dem Schritt 833 voran.
- Schritt S33: Die Steuerschaltung 431 instruiert die Dequantisierungseinrichtung 171, die Dequantisierung einzustellen und damit enden dann alle Prozesse.
- Fig. 24 veranschaulicht die Aufschlüsselung der Prozesse zum Detektieren eines Endes eines Blocks durch die Blockende-Detektorschaltung 433.
- Nach dem Empfang eines Befehls von der Steuerschaltung 431 startet die Blockende-Detektorschaltung 433 ihren Betrieb von Schritt S41 aus.
- Schritt S41: Die Steuerschaltung 431 instruiert die Blokkende-Detektorschaltung 433, eine Intrablockadresse "ADR" auf Null (0) zu initialisieren. Der Prozeß schreitet dann zum Schritt S42 voran.
- Schritt S42: Die Steuerschaltung 431 instruiert die Blockende-Detektorschaltung 433, den Wert "RUN" eines momentanen Laufes zu empfangen, der aus einem Lauf code durch die LUT 414 decodiert wurde. Der Prozeß schreitet dann zu dem Schritt S43 voran.
- Schritt S43: Die Steuerschaltung 431 instruiert die Blockende-Detektorschaltung 433, zu beurteilen, ob der eingegebene Lauf gleich ist Reob oder nicht. Wenn die Beurteilung bestätigend ist [Y], springt der Prozeß zu dem Schritt S46. Wenn die Beurteilung negativ [N] ist, schreitet der Prozeß zum Schritt S44 voran.
- Schritt S44: Die Steuerschaltung 431 instruiert die Blockende-Detektorschaltung 433, den Wert der Intrablockadresse "ADR" um den Wert "RUN" des momentanen Laufs plus eins (1) zu erhöhen. Der Prozeß schreitet dann zum Schritt S45 voran.
- Schritt S45: Die Steuerschaltung 431 instruiert die Blockende-Detektorschaltung 433, zu beurteilen, ob die Intrablockadresse "ADR" die Blockendeadresse erreicht hat oder nicht. Wenn die Beurteilung bestätigend ist [Y], schreitet der Prozeß zu dem Schritt S46 voran. Wenn die Beurteilung negativ ist , kehrt der Prozeß zu dem Schritt S42 zurück.
- Schritt S46: Die Blockende-Detektorschaltung 433 informiert die Steuerschaltung 431 über die Feststellung des letzten Laufes und die Vervollständigung der Verarbeitung für einen Block, wodurch dann alle Prozesse beendet werden.
- Ein Prozessor kann die sequentielle Ausführung der jeweiligen Schritte in den Betriebsflußläufen, die in den Fig. 17 und 18 gezeigt sind, pipeline-verarbeiten, und zwar gesteuert durch die Steuerschaltung 351 oder diejenigen Schaltungen, die in den Fig. 22 und 23 gezeigt sind, welche durch die Steuerschaltung 431 gesteuert werden.
- Nachdem somit ein Block von Bilddaten rekonstruiert ist, instruiert die Steuerschaltung 431 in der Zeitgabe- Steuereinrichtung 430 einen Decodierer 410, einen Decodierungsprozeß zu initialisieren. Dies veranlaßt den Decodierer 410, den Prozeß zum Decodieren des nächsten Blockes von Codedaten zu starten.
- Durch Wiederholen der oben erläuterten Prozesse für jeweilige Blöcke, werden all die Bilddaten für das gesamte Bild rekonstruiert.
- Indem man ferner den quantisierten Koeffizientenspeicher 421 mit einer Speicherkapazität für Datenpaare von zwei (2) Blöcken ausstattet, kann bei dieser Ausführungsform die Dequantisierungseinrichtung 171 so konfiguriert werden, daß die Datenpaare von einem Block, die in dem quantisierten Koeffizientenspeicher 421 gespeichert sind, parallel mit den Prozessen zum Decodieren des nächsten Blocks durch die Suchschaltung 412 und die LUTs 413 und 414 dequantisiert werden können.
- Dies ermöglicht es, daß die Zeit, die zum Decodieren und zum Dequantisieren der DCT-Koeffizienten für einen Block erforderlich ist, weiter verkürzt wird.
- Wie oben beschrieben wurde, wählt ein Bilddaten-Kompressionsgerät, welches den ersten Aspekt der Erfindung verkörpert, signifikante Koeffizienten aus und zählt nichtsignifikante Koeffizienten unabhängig, wodurch die Zeit reduziert wird, die für diese Prozesse erforderlich ist. Durch paarweises Zusammenfassen eines signifikanten Koeffizienten mit einer unsignifikanten Koeffizienten-Folgelänge werden Leerlaufzeiten bei der Durchführung des Codierprozesses beseitigt, wodurch der Codierprozeß beschleunigt wird und die Zeit verkürzt wird, die für die Bilddaten-Komprimierung erforderlich ist.
- Indem die Koeffizienten-Umsetzeinrichtung parallel mit der Folgelängen-Umsetzeinrichtung arbeitet, kann eine Ausführungsform der vorliegenden Erfindung den Codierungsprozeß beschleunigen, selbst wenn eine signifikante Koeffizientenlänge und eine unsignifikante Koeffizienten-Folgelänge in Einklang mit der Vorschriftenspezifikation für eine Standardisierung codiert werden.
- Nebenbei bemerkt, kann eine Ausführungsform der vorliegenden Erfindung eine einfache Schaltungskonfiguration ermöglichen, um eine Koeffizientenmatrix zu codieren, indem der Quantisierungsschaltungsmodul zum Erzeugen von quantisierten Koeffizienten von einer Koeffizientenmatrix von einem Codierschaltungsmodul zum Codieren seriell quantisierter Koeffizienten getrennt wird, wodurch Schaltungs-Steuerungen vereinfacht werden und die Arbeit reduziert wird, die z.B. für eine Schaltungsprüfung erforderlich ist. Da der Quantisierungsschaltungsmodul auch so konfiguriert werden kann, daß er unabhängig von dem Codierschaltungsmodul arbeitet, wird es möglich, den Quantisierungsprozeß und den Codierungsprozeß schneller auszuführen als bei der herkömmlichen Verarbeitung gemäß der Durchführung beider Prozesse in serieller Form, wodurch ein schnellers Bilddaten-Kompressionsgerät realisiert wird.
- Zusätzlich kann eine Ausführungsform der vorliegenden Erfindung die Möglichkeit schaffen, daß ein Code, der das Ende eines Blockes anzeigt, gemäß der oben beschriebenen Vorschriftenspezifikation für eine Standardisierung ausgegeben wird, indem der Codierungsschaltungsmodul veranlaßt wird, zu beurteilen, ob der letzte quantisierte Koeffizient ein unsignifikanter Koeffizient ist oder nicht, und zwar in Einklang mit dem Typ des Beendigungssignals, welches in dem seriell quantisierten Koeffizienten enthalten ist.
- Ein Bilddaten-Rekonstruktionsgerät, welches den zweiten Aspekt der vorliegenden Erfindung verkörpert, verkürzt die Zeit, die für eine inverse Transformation erforderlich ist, indem ein Koeffizientencode unabhängig von einem Folgelängencode invers transformiert wird. Durch paarweises Zusammenfassen eines signifikanten Koeffizienten und einer unsignifikanten Koeffizienten-Folgelänge beseitigt das Bilddaten-Rekonstruktionsgerät die Leerlauf zeit während der Dequantisierung, um eine Beschleunigung für das Gerät zu erzielen, wodurch weiter die Zeit beschnitten wird, die zum Rekonstruieren von Bilddaten erforderlich ist.
Claims (10)
1. Bilddaten-Kompressionsgerät zum Komprimieren von
Bilddaten gleichmäßiger Tönung, mit:
einer orthogonal transformierenden Einrichtung (111;
211; 311) zum Empfangen der Bilddaten in Blockeinheiten,
wobei jede Blockeinheit N x N Bildelemente aufweist, und
die betreibbar ist, um eine zweidimensionale orthogonale
Transformation an den Bilddaten der empfangenen
Blockeinheit durchzuführen, um daraus eine Koeffizientenmatrix (D)
für die Blockeinheit abzuleiten, die N Reihen und N Spalten
von Transformationskoeffizienten umfaßt;
einer Koeffizientenverarbeitungseinrichtung (121, 131,
132; 221, 231, 241, 251; 321 bis 328) , die enthält:
eine Quantisierungseinrichtung (121; 221; 321 bis
324), die betreibbar ist, um die
Transformationskoeffizienten der Koeffizientenmatrix (D) zu quantisieren,
die durch die orthogonal transformierende Einrichtung
unter Verwendung von Quantisierungs-Schwellenwerten
(QTH) entsprechend den Transformationskoeffizienten
der Matrix abgeleitet wurden, und um die
resultierenden quantisierten Transformationskoeffizienten für die
in Betracht stehende Blockeinheit seriell in einer
vorbestimmten Sequenz auszugeben; und
eine Datenpaar-Erzeugungseinrichtung (131, 132;
231, 241; 326 bis 328), die so angeschlossen ist, um
die Sequenz der quantisierten
Transformationskoeffizienten für solch eine Blockeinheit zu empfangen und
die betreibbar ist, um daraus quantisierte
Koeffizienten-Datenpaare (RI) abzuleiten, wobei jedes solche
Paar einen signifikanten Koeffizienten (I) mit einem
von Null verschiedenen Wert und auch eine
entsprechende unsignifikante Koeffizienten-Folgelänge (R)
umfaßt, welche die Zahl der aufeinanderfolgenden
unsignifikanten Koeffizienten angibt, die einen Wert von
Null haben, benachbart dem signifikanten Koeffizienten
(I) des in Betracht stehenden Paares in der Sequenz,
wobei die quantisierten Koeffizienten-Datenpaare (R,
I), die für die Blockeinheit abgeleitet wurden, in
serieller Form ausgegeben werden, wobei ein
Beendigungssignal (Reob1, Reob2) an das Schwanzende der Serien für
die in Betracht stehende Blockeinheit angeheftet ist;
und
eine Codiereinheit (150; 26), die angeschaltet ist, um
die genannten Folgen der Datenpaare (R, I) für solch eine
Blockeinheit zu empfangen, und die betreibbar ist, um den
signifikanten Koeffizienten (I) und die unsignifikante
Koeffizienten-Folgelänge (R) von jedem Datenpaar zu
codieren;
gekennzeichnet durch eine Speichereinrichtung (141;
331), die zwischen die Datenpaar-Erzeugungseinrichtung
(131, 132; 231, 241; 326 bis 328) und die Codiereinrichtung
(150; 261) geschaltet ist für die Verwendung bei der
Übertragung der Datenpaare (R, I) von der
Datenpaar-Erzeugungseinrichtung zu der Codiereinrichtung und welche
Speichereinrichtung eine Speicherkapazität besitzt, die ausreichend
ist, um die Datenpaare zu speichern, die von wenigstens
zwei solchen Blockeinheiten der Bilddaten abgeleitet
wurden; und
daß die Codiereinrichtung und wenigstens ein Teil der
Koeffizienten-Verarbeitungseinrichtung in solcher Weise
parallel arbeiten, daß, während die Codiereinrichtung die
Datenpaare codiert, die von einer Blockeinheit abgeleitet
wurden, wenn diese aus der Speichereinrichtung ausgelesen
worden sind, die Koeffizienten-Verarbeitungseinrichtung
betreibbar ist, um Datenpaare für die nächste Blockeinheit
der Bilddaten abzuleiten und/oder in der
Speichereinrichtung zu speichern;
wobei die Codiereinrichtung dazu dient, einen Code für
jedes Datenpaar auszugeben.
2. Bilddaten-Kompressionsgerät nach Anspruch 1, bei
dem die Datenpaar-Erzeugungseinrichtung (131, 132)
folgendes aufweist:
eine Wähleinrichtung (131), um sequentiell die
quantisierten Transformationskoeffizienten zu empfangen, die von
der Quantisierungseinrichtung (121) ausgegeben werden und
die betreibbar ist, um signifikante Koeffizienten (I) mit
von Null verschiedenen Werten aus den quantisierten
Transformationskoeffizienten auszuwählen und um solche
signifikanten Koeffizienten (I) sequentiell auszugeben;
eine Zähleinrichtung (132), um sequentiell die
quantisierten Transformationskoeffizienten zu empfangen, die von
der Quantisierungseinrichtung (121) ausgegeben werden und
die betreibbar ist, um die Zahl der aufeinanderfolgend
empfangenen unsignifikanten Koeffizienten mit einem Wert von
Null zu zählen und auch betreibbar ist, um bei Empfang von
jedem solchen signifikanten Koeffizienten (I) das
Zählergebnis (R) als unsignifikante Koeffizienten-Folgelänge
entsprechend dem in Betracht stehenden signifikanten
Koeffizienten auszugeben;
wobei der durch die Wähleinrichtung (131) erhaltene
signifikante Koeffizient (I) und dessen entsprechende
unsignifikante Koeffizienten-Folgelänge (R), die durch die
Zähleinrichtung (132) erhalten wurde, an die
Speichereinrichtung (141; 331) angelegt werden, um diese darin als
eines der Datenpaare (R, I) abzuspeichern.
3. Bilddaten-Kompressionsgerät nach Anspruch 2, bei
dem:
die Wähleinrichtung (131) parallel mit der
Zähleinrichtung (132) betreibbar ist.
4. Bilddaten-Kompressionsgerät nach Anspruch 2 oder
3, bei dem die Codiereinrichtung (150) folgendes aufweist:
eine Koeffizienten-Umsetzeinrichtung (151) zum
Umsetzen der jeweiligen signifikanten Koeffizienten (I) der in
der Speichereinrichtung (141) abgespeicherten Datenpaare in
jeweilige entsprechende Koeffizientencodes;
eine Folgelängen-Umsetzeinrichtung (152) zum Umsetzen
der jeweiligen unsignifikanten Koeffizienten-Folgelängen
(R) der Datenpaare in jeweilige entsprechende
Folgelängencodes; und
eine Code-Erzeugungseinrichtung (153) zum Erzeugen
eines Codepaares bestehend aus einem Koeffizientencode, der
durch die Koeffizienten-Umsetzeinrichtung (151) aus dem
signifikanten Koeffizienten (I) eines Datenpaares erhalten
wurde, und einem Folgelängencode gebildet ist, der durch
die Folgelängen-Umsetzeinrichtung (152) aus der
unsignifikanten Koeffizienten-Folgelänge (R) des gleichen
Datenpaares erhalten wurde, und die betreibbar ist, um einen Code
(C) entsprechend dem empfangenen Codepaar zu erzeugen.
5. Bilddaten-Kompressionsgerät nach Anspruch 2, 3
oder 4, bei dem:
die Codiereinrichtung (150) die bereits gespeicherten
Datenpaare parallel mit Operationen zum Erzeugen der
gespeicherten Datenpaare durch die Quantisierungseinrichtung
(121) und der Wähleinrichtung (131) und der Zähleinrichtung
(132) codiert.
6. Bilddaten-Kompressionsgerät nach Anspruch 1,
welches ferner aufweist:
eine Befehlsgabeeinrichtung (271), die bei
Detektierung des Beendigungssignals (Reob1, Reob2) während eines
Empfangs der Serien von Datenpaaren (R, I) für solch eine
Blockeinheit betreibbar ist, um die Codiereinrichtung (261)
zu instruieren, einen Prozeß zum Codieren der in Betracht
stehenden Blockeinheit zu beenden;
wobei die Datenpaar-Erzeugungseinrichtung folgendes
aufweist:
eine Umsetzeinrichtung (231) zum Umsetzen der
quantisierten Transformationskoeffizienten solch einer
Blockeinheit, die seriell von der Quantisierungseinrichtung
(221) ausgegeben wurden in quantisierte
Koeffizienten-Datenpaare, und um die Datenpaare für die in Betracht
stehende Blockeinheit seriell auszugeben;
eine Erzeugungseinrichtung (241) zum Erzeugen des
Beendigungssignals; und
eine Anhefteinrichtung (251) zum Empfangen der
quantisierten Koeffizienten-Datenpaare für die Blockeinheit
in serieller Form von der Umsetzeinrichtung (231) und um
diese in serieller Form auszugeben, und die betreibbar ist,
um das Beendigungssignal, welches durch die
Erzeugungseinrichtung (241) erzeugt wurde, an das Schwanzende der Serien
der quantisierten Koeffizienten-Datenpaare für die in
Betracht stehende Blockeinheit anzuheften; und
wobei die Codiereinrichtung (261) betreibbar ist, um
die Codes, die jeweils den quantisierten
Koeffizienten-Datenpaaren entsprechen, die seriell aus der
Anhefteinrichtung (251) ausgegeben wurden, auszugeben.
7. Bilddaten-Kompressionsgerät nach Anspruch 6, bei
dem die Erzeugungseinrichtung (241) folgendes aufweist:
eine erste Erzeugungseinrichtung (242) zum Erzeugen
eines vorbestimmten ersten Beendigungssignals (Reob1);
eine zweite Erzeugungseinrichtung (243) zum Erzeugen
eines zweiten Beendigungssignals (Reob2), welches
verschieden ist von dem ersten Beendigungssignal (Reob1), und
eine Wähleinrichtung (244), um selektiv als ein
Beendigungssignal entweder das erste Beendigungssignal (Reob1)
oder das zweite Beendigungssignal (Reob2) auszugeben,
abhängig davon, ob der letzte quantisierte
Transformationskoeffizient in der vorbestimmten Sequenz der quantisierten
Transformationskoeffizienten für solch eine Blockeinheit,
der aus der Quantisierungseinrichtung (221) ausgegeben
wurde, ein unsignifikanter Koeffizient ist oder nicht; und
wobei die Befehlsgabeeinrichtung (271) eine
Beurteilungseinrichtung (272) umfaßt, um zu beurteilen, ob das
Beendigungssignal, welches von der Wähleinrichtung (244)
ausgegeben wurde, solch ein erstes Beendigungssignal (Reob1)
ist oder solch ein zweites Beendigungssignal (Reob2) ist und
welche die Codiereinrichtung (261) instruiert, den
Codierungsvorgang für eine Blockeinheit gemäß dem
Beurteilungsergebnis der Beurteilungseinrichtung (272) zu beenden.
8. Bilddaten-Rekonstruktionsgerät zum Rekonstruieren
von Bilddaten, die durch einen Bilddaten-Kompressionsprozeß
komprimiert worden sind, bei dem die originalen, zu
komprimierenden Bilddaten in Blockeinheiten verarbeitet werden,
wobei jede Blockeinheit N x N Bildelemente aufweist und für
jede solche Blockeinheit eine Koeffizientenmatrix (D) mit N
Reihen und N Spalten an Transformationskoeffizienten
abgeleitet wird, indem eine zweidimensionale orthogonale
Transformation an den Bilddaten der Blockeinheit durchgeführt
wird, wobei die Transformationskoeffizienten quantisiert
werden und signifikante quantisierte Koeffizienten (I) mit
einem von Null verschiedenen Wert paarweise zusammengefaßt
werden mit jeweiligen entsprechenden unsignifikanten
Koeffizienten-Folgelängen (R), welche die Zahl der
unsignifikanten Koeffizienten angeben und die einen Wert von Null
haben, benachbart dem entsprechenden signifikanten
Koeffizienten (I) in einer vorbestimmten Sequenz der
Transformationskoeffizienten, um dadurch Datenpaare (R, I) zu bilden,
und wobei der signifikante Koeffizient und der
nichtsignifikante Koeffizient von jedem Datenpaar codiert werden, um
einen Satz von Codes (C) zu erzeugen, welche die codierten
Datenpaare der Blockeinheit wiedergeben;
wobei das Bilddaten-Rekonstruktionsgerät folgendes
aufweist:
eine datenpaar-reproduzierende Einrichtung (161-163),
die enthält:
eine Decodiereinrichtung (161) zum Empfangen des
Satzes von Codes (C) für solch eine Blockeinheit und
die betreibbar ist, um daraus Koeffizientencodes zu
diskriminieren, von denen jeder den signifikanten
Koeffizienten (I) solch eines codierten Datenpaares
(R, I) und die Folgelängencodes wiedergibt, von denen
jeder die unsignifikante Koeffizienten-Folgelänge (R)
solch eines codierten Datenpaares wiedergibt;
eine Koeffizientencode-Decodiereinrichtung (162)
zum Decodieren der Koeffizientencodes in deren
jeleiligen entsprechende unsignifikanten Koeffizienten (I);
und
eine Folgelängencode-Decodiereinrichtung (163)
zum Decodieren der Folgelängencodes in deren
jeweiligen entsprechenden unsignifikanten
Koeffizienten-Folgelängen (R);
wobei die datenpaar-reproduzierende Einrichtung
betreibbar ist, um als ein decodiertes Datenpaar (R,
I) die decodierten signifikanten Koeffizienten (I) und
die decodierte unsignifikante Koeffizienten-Folgelänge
(R), die zu dem gleichen codierten Datenpaar gehört,
paarweise zusammenzufassen; und
die Dequantisierungseinrichtung (171) so angeschaltet
ist, um die decodierten Datenpaare solch einer Blockeinheit
der originalen Bilddaten zu empfangen und die betreibbar
ist, um die jeweiligen signifikanten Koeffizienten (I) der
Paare zu dequantisieren und um eine wiederhergestellte
Koeffizientenmatrix (D) zu erzeugen, um die Koeffizienten
für die in Betracht stehende Blockeinheit zu
transformieren, welche Koeffizientenmatrix N Reihen und N Spalten
aufweist; und
eine Invers-Orthogonal-Transformationseinrichtung
(181) zur Durchführung einer inversen zweidimensionalen
orthogonalen Transformation an der wiederhergestellten
Koeffizientenmatrix (D), um daraus die Bilddaten der in
Betracht stehenden Blockeinheit abzuleiten;
gekennzeichnet durch eine Speichereinrichtung (142),
die zwischen der das Datenpaar reproduzierenden Einrichtung
(161-163) und der Dequantisierungseinrichtung (171)
geschaltet ist für die Verwendung bei der Übertragung der
decodierten Datenpaare (R, I) von der
Datenpaar-Reproduziereinrichtung zu der Dequantisierungseinrichtung, und welcher
Speicher eine Speicherkapazität aufweist, die ausreichend
ist, um die decodierten Datenpaare für wenigstens zwei
Blockeinheiten der Bilddaten zu speichern;
und daß die Dequantisierungseinrichtung (171) und
wenigstens ein Teil der Datenpaar-Reproduziereinrichtung
(161-163) in solcher Weise parallel betreibbar sind, daß,
während die Dequantisierungseinrichtung (171) die
decodierten Datenpaare, die von einer Blockeinheit abgeleitet
wurden, dequantisiert, wenn sie aus der Speichereinrichtung
(142) ausgelesen wurden, die
Datenpaar-Reproduziereinrichtung betreibbar ist, um die Datenpaare für die nächste
Blockeinheit der Bilddaten zu decodieren und/oder in der
Datenspeichereinrichtung zu speichern;
und ferner dadurch gekennzeichnet, daß jeder Code des
genannten Satzes, der durch den
Bilddaten-Kompressionsprozeß erzeugt worden ist, einem der codierten Datenpaare
entspricht und solche einen Koeffizientencode verkörpert, der
signifikanten Koeffizienten des codierten, in Betracht
stehenden Datenpaares wiedergibt und solch einen
Folgelängencode wiedergibt, der die unsignifikante
Koeffizienten-Folgelänge des in Betracht stehenden codierten Datenpaares
wiedergibt, wobei die Decodiereinrichtung (161) dazu dient,
aus jedem Code des genannten Satzes den Koeffizientencode
und den Folgelängencode, der darin verkörpert ist, zu
extrahieren.
9. Bilddaten-Rekonstruktionsgerät nach Anspruch 8,
bei dem:
die Koeffizientencode-Decodiereinrichtung (162)
parallel mit der Folgelängencode-Wiederumsetzeinrichtung (163)
betreibbar ist.
10. Bilddaten-Rekonstruktionsgerät nach Anspruch 8
oder 9, bei dem:
die Dequantisierungseinrichtung (171) die bereits
abgespeicherten Datenpaare (R, I) parallel mit den
Operationen zum Erzeugen und zum Speichern der Datenpaare durch die
Decodiereinrichtung (161), der
Koeffizientencode-Decodiereinrichtung (162) und der
Folgelängencode-Decodiereinrichtung (163) dequantisiert.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28404990A JP2937455B2 (ja) | 1990-10-22 | 1990-10-22 | 画像データ圧縮装置および画像データ復元装置 |
JP29414690A JP2909189B2 (ja) | 1990-10-30 | 1990-10-30 | 画像データ圧縮装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69127739D1 DE69127739D1 (de) | 1997-10-30 |
DE69127739T2 true DE69127739T2 (de) | 1998-01-29 |
Family
ID=26555299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69127739T Expired - Fee Related DE69127739T2 (de) | 1990-10-22 | 1991-10-21 | Bilddatenverarbeitungsgerät |
Country Status (5)
Country | Link |
---|---|
US (1) | US5303058A (de) |
EP (1) | EP0482864B1 (de) |
KR (1) | KR950002671B1 (de) |
CA (1) | CA2053844C (de) |
DE (1) | DE69127739T2 (de) |
Families Citing this family (44)
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 |
EP0447269B1 (de) * | 1990-03-16 | 2000-05-31 | Fujitsu Limited | System zur Verarbeitung von Bilddaten |
JP3109854B2 (ja) * | 1991-04-23 | 2000-11-20 | キヤノン株式会社 | 画像符号化方法及び装置 |
JP3076462B2 (ja) * | 1992-11-09 | 2000-08-14 | 松下電器産業株式会社 | デジタル・ビデオ・コーダ用のバーサタイルな可変長コーダ |
JP3247804B2 (ja) * | 1993-08-17 | 2002-01-21 | 株式会社リコー | データ圧縮方法、データ圧縮/伸長方法、符号語データ数制限装置 |
JP2738410B2 (ja) * | 1993-09-08 | 1998-04-08 | 富士ゼロックス株式会社 | 画像符号化復号装置 |
US5467131A (en) * | 1993-12-30 | 1995-11-14 | Hewlett-Packard Company | Method and apparatus for fast digital signal decoding |
KR100254402B1 (ko) * | 1994-12-19 | 2000-05-01 | 전주범 | 줄-길이 부호화방법 및 줄-길이 부호화기 |
US5629778A (en) * | 1995-05-15 | 1997-05-13 | Polaroid Corporation | Method and apparatus for reduction of image data compression noise |
CA2226241A1 (en) * | 1997-01-30 | 1998-07-30 | Amy Ruth Reibman | Multiple description coding communication system |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
US6311258B1 (en) | 1997-04-03 | 2001-10-30 | Canon Kabushiki Kaisha | Data buffer apparatus and method for storing graphical data using data encoders and decoders |
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 |
US6349379B2 (en) | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
AUPO647997A0 (en) * | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
KR100249235B1 (ko) * | 1997-12-31 | 2000-03-15 | 구자홍 | 에이치디티브이 비디오 디코더 |
US7136418B2 (en) * | 2001-05-03 | 2006-11-14 | University Of Washington | Scalable and perceptually ranked signal coding and decoding |
JP3469567B2 (ja) * | 2001-09-03 | 2003-11-25 | 三菱電機株式会社 | 音響符号化装置、音響復号化装置、音響符号化方法及び音響復号化方法 |
US7602851B2 (en) | 2003-07-18 | 2009-10-13 | Microsoft Corporation | Intelligent differential quantization of video coding |
US7580584B2 (en) * | 2003-07-18 | 2009-08-25 | Microsoft Corporation | Adaptive multiple quantization |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
US7801383B2 (en) * | 2004-05-15 | 2010-09-21 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios |
TWI252045B (en) * | 2005-01-20 | 2006-03-21 | Via Tech Inc | Video decoding device and method thereof for combining inverse quantization and inverse zig-zag scan |
JP4731972B2 (ja) * | 2005-04-13 | 2011-07-27 | キヤノン株式会社 | 画像符号化方法及び画像符号化装置 |
US8422546B2 (en) | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
US8503536B2 (en) * | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
US8130828B2 (en) | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
US8059721B2 (en) * | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US7974340B2 (en) * | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
US8711925B2 (en) * | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8238424B2 (en) * | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
US7783459B2 (en) * | 2007-02-21 | 2010-08-24 | William Marsh Rice University | Analog system for computing sparse codes |
US8498335B2 (en) * | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
US8243797B2 (en) * | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8442337B2 (en) * | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
US8331438B2 (en) | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
US8189933B2 (en) * | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
CN108897716B (zh) | 2018-07-04 | 2022-07-01 | 合肥工业大学 | 通过存储器读写操作来缩减计算量的数据处理装置及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4349774A (en) * | 1980-12-01 | 1982-09-14 | Dfh, Inc. | Polarity matching apparatus for jumper cables |
US4541012A (en) * | 1982-01-04 | 1985-09-10 | Compression Labs, Inc. | Video bandwidth reduction system employing interframe block differencing and transform domain coding |
US4704628A (en) * | 1986-07-16 | 1987-11-03 | Compression Labs, Inc. | Combined intraframe and interframe transform coding system |
US4698672A (en) * | 1986-10-27 | 1987-10-06 | Compression Labs, Inc. | Coding system for reducing redundancy |
US4922273A (en) * | 1987-04-02 | 1990-05-01 | Konica Corporation | Compression method of halftone image data |
FR2625638B1 (fr) * | 1987-12-30 | 1994-06-17 | Thomson Grand Public | Procede de synchronisation pour la transmission, sur un canal asynchrone, d'une suite d'images codees au moyen d'un code a longueur variable, et dispositif pour la mise en oeuvre de ce procede |
US5184229A (en) * | 1988-12-09 | 1993-02-02 | Fuji Photo Film Co., Ltd. | Compression coding device and expansion decoding device for picture signal |
EP0376683A2 (de) * | 1988-12-27 | 1990-07-04 | Kabushiki Kaisha Toshiba | Diskrete Cosinustransformationsvorrichtung |
CA2009848C (en) * | 1989-02-14 | 1995-11-21 | Masahiro Fukuda | Method and system for writing and reading coded data |
AU7474591A (en) * | 1990-03-15 | 1991-10-10 | Thomson Consumer Electronics S.A. | Digital image coding with quantization level computation |
EP0447269B1 (de) * | 1990-03-16 | 2000-05-31 | Fujitsu Limited | System zur Verarbeitung von Bilddaten |
-
1991
- 1991-10-18 US US07/779,274 patent/US5303058A/en not_active Expired - Lifetime
- 1991-10-21 DE DE69127739T patent/DE69127739T2/de not_active Expired - Fee Related
- 1991-10-21 EP EP91309711A patent/EP0482864B1/de not_active Expired - Lifetime
- 1991-10-21 CA CA002053844A patent/CA2053844C/en not_active Expired - Fee Related
- 1991-10-22 KR KR1019910018606A patent/KR950002671B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5303058A (en) | 1994-04-12 |
EP0482864B1 (de) | 1997-09-24 |
EP0482864A2 (de) | 1992-04-29 |
CA2053844C (en) | 1997-01-21 |
DE69127739D1 (de) | 1997-10-30 |
CA2053844A1 (en) | 1992-04-23 |
EP0482864A3 (en) | 1993-01-13 |
KR950002671B1 (ko) | 1995-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE3785911T2 (de) | Kodiersystem hoher leistung durch der quantisierung vorhergehende und/oder nachfolgende verarbeitung. | |
DE69636150T2 (de) | System zur Kodierung von bewegten Bildern, und System zur variablen Längenkodierung | |
DE69720559T2 (de) | Methode zur Bildkodierung mit Kodes variabler Länge | |
DE69315174T2 (de) | Mehrzweckkodierer von Abbruchkoden und Lauflängen/Amplituden für eine Vorrichtung zum Verarbeiten eines digitalen Videosignals | |
DE69132017T2 (de) | Kodierungsvorrichtung | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE69719365T2 (de) | Effiziente kompression und dekompression von blocks fester länge | |
DE69326366T2 (de) | Verfahren und Vorrichtung zur Bildsignalkodierung mit merhstufigen Quantisierungnummernbestimmung | |
DE69029317T2 (de) | Steuerungssystem für die bildkodierung | |
DE69230922T2 (de) | Videosignalkodierer mit Blockvertauschungstechnik | |
DE69328656T2 (de) | Bilddatenverarbeitung | |
DE69131533T2 (de) | Datenkompression unter Verwendung eines direkt gesteuerten Quantisierungsprediktors | |
DE69130275T2 (de) | Verfahren und Gerät zur Bildverarbeitung | |
DE69425047T2 (de) | Adaptives variables längenkodierungs- und -dekodierungsverfahren für bilddaten | |
DE69226674T2 (de) | Kodierung von komprimierten Datenbildern mit hohem Wirkungsgrad | |
DE69131808T2 (de) | Verfahren und Gerät zur Bilddatenverarbeitung | |
DE69116869T2 (de) | Digitale bildkodierung mit einer zufallsabtastung der bilder | |
DE3882469T2 (de) | Videokoder. | |
DE69932543T2 (de) | Verlustfreies Kodierungs- und Dekodierungssystem | |
DE69535569T2 (de) | Verfahren zur Synchronisationsrückgewinnung und Vorrichtung zur variablen Längendekodierung | |
DE69425769T2 (de) | Kodierung von digitalen Signalen | |
DE69731937T2 (de) | Verfahren und vorrichtung zur datencodierung | |
DE2706080C2 (de) | Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens | |
DE69535710T2 (de) | Dekodierer variabler Länge für bitgestopfte Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |