Verfahren und Vorrichtung zur Bilddaten-Transformation
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bilddateh-Transformation.
Stand der Technik
In vielen Gebieten der Bilddatεn-Verarbeitung ist eine daten¬ reduzierende Codierung erforderlich, z.B. für digitale Video¬ recorder. Ein übliches Verfahren besteht darin, zunächst Blöcke von z.B. 8*8 3ildpunkten zu transformieren, z.B. mit einer DCT (discrete cosine transformation, diskrete Cosinus- Transformation) . Ein solches Verfahren ist beispielsweise in dem Artikel "Scεne Adaptive Coder", W.H. Chen und .K. Pratt, IEEE Transactions on Communications, Vol.COM32, Mo.3 , März 1984, beschrieben. Eine Datenreduktion wird dadurch er¬ möglicht, daß die Bildpunkte innerhalb solcher Blöcke mitein¬ ander korreliert sind und daher die wichtigen Transformati- onskoeffizientεn auf wenige Stellen innerhalb jedes Transfor¬ mierten Blocks konzentriert werden. Statt 8*8 = 64 Bildpunk¬ ten sind dann nur einige Koeffizienten pro Block zu codieren.
Übliche Fernsehstandards, z.B. PAL, SECAM, NTSC arbeiten mit Halbbildern. Wenn man nun jeweils zwei au einanderfolgende Halbbilder zusammenfaßt und die zu transformierenden Blöcke dann diesen Vollbildern entnimmt, sind im Fall von dynami¬ schen 3ildinhalt die Bildpunkte in diesen Blöcken, die aus den jeweiligen Halbbildern stammen, kaum mit denen aus dem
jeweils anderen Halbbild korreliert. Dadurch kann eine Trans- formationscodierung in diesem Fall uneffektiv sein.
Er indung
Der Erfindung liegt die Aufgabe zugrunde, auch im Fall von dynamischem Bildinhalt eine effektive Bilddaten-Transformati¬ onscodierung zu ermöglichen.
Diese Aufgabe wird durch die im Patentanspruch 1 angegebenen Merkmale gelöst. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Die Transformationscodierung wird an statischen und dynami¬ schen Bildinhalt angepaßt.
In P3642664 ist vorgeschlagen worden, eine Umschaltung zwi¬ schen einer entsprechenden 8*8-DCT und zweier entsprechender 4*8-DCT's pro Block vorzunehmen. Bei statischem Bildinhalt erfolgt eine 8*8-DCT für den jeweiligen Block, bei dynami¬ schen Bildinhalt werden für den jeweiligen Block zwei 4*8- DCT-Tranformationen. getrennt für die Bildpunkte des jeweili¬ gen Halbbildes, durchgeführt. Dies bedeutet aber, daß eine Vorrichtung, die dieses Verfahren benutzt, die Fähigkeit ha¬ ben muß, zwei relativ aufwendig zu realisierende Transforma¬ tionsarten 'durchzuführen.
Um diesen Aufwand zu verringern, erfolgt statt der 4*8-DCT eine spezielle Zusatz-Transformation der bereits transfor¬ mierten 8*8-DCT-Koeffizienten-Blöcke. Diese Zusatztransfor a- tion besteht darin, die 8*8-DCT-Transformationskoeffizienten jedes Blocks spaltenweise mit einer entsprechenden Spezialma- trix zu multiplizieren. In einem Coder wird detektiert, ob sich die 8*8-DCT-Koeffizienten oder die mit der Spezialma- trix multiplizierten 8*8-DCT-Koeffizienten effektiver codie-
ren lassen und daraufhin die weitere Codierung des Blocks (z.B. Wichtung, Quantisierung, Huffman-Codierung) durchge¬ führt.
Dabei ist die Spezialmatrix so aufgebaut, daß die Multiplika¬ tion mit dieser Matrix mit Hilfe einfacher Add- und Shift- Operationen ausgeführt werden kann.
Zeichnungen
Nachstehend wird die Erfindung anhand der Zeichnungen erläu¬ tert. Diese zeigen in
Fig. 1 einen Block von Transformationskoeffizienten,
Fig. 2 eine erste Spezialmatrix,
Fig. 3 eine zweite Spezialmatrix,
Fig. 4 einen Coder für das erfindungsgemäße Verfahren,
Fig. 5 einen Decoder für das erfindungsgemäße Verfahren.
Ausführungsbeispiele
In Fig. 1 ist ein Block 10 mit acht mal acht Transformations¬ koeffizienten 12 dargestellt, der aus der zweidimensionalen DCT-Transformation eines entsprechenden Blocks von acht mal acht Bildpunkten hervorgegangen ist. Die acht Spalten 11 die¬ ses Koef izientenblocks 10 werden jeweils mit einer Spezial¬ matrix multipliziert, wie sie beispielsweise in Fig. 2 oder Fig. 3 dargestellt ist. Die Spezialmatrix hat relativ viele "Null"-Elemente. Von den übrigen Elementen enthalten die mei¬ sten Zweierpotenzen. Die Multiplikation der Spalten 11 mit der Spezialmatrix läßt sich daher vorteilhaft mit geringem Aufwand durch wenige Add- und Shift-Operationen bewerkstelli¬ gen.
- Δ. _
Die Multiplikation der Spalten 11 des Koeffizientenblocks 10 mit der Spezialmatrix kann insgesamt als eine neue, für be¬ wegten Bildinhalt angepaßte Transformationsart interpretiert werden, im folgenden Spezialtransformation genannt. Durch diese Spezialtransformation wird die zwischen den Halb¬ bildern unterschiedliche Korrelation der Bildpunkte in den Blöcken berücksichtigt und eine effektivere Codierung mit einer daraus resultierenden geringeren Datenrate bzw. höhe¬ ren Bildqualität ermöglicht.
Fig. 4 zeigt einen Coder, der dieses Verfahren zur Codierung von Bildsignalen verwendet. Ein Line-to-Block-Converter40 erhält an seinem Eingang zeilenweise digitale Bildsignale, die z.B. von einem Fernsehsender ausgestrahlt, demoduliert, in Luminanz- und Chrσminanzsignale aufgespalten und A/D-gewan- delt wurden. Aus diesen Signalen werden nach bekannten Ver¬ fahren Blöcke von Bildpunkten geformt und einer Schaltung zur zweidimensionalen DCT-Transformation 41 zugeführt. Diese Transformationsschaltung kann beispielsweise aus einem inte¬ grierten Schaltkreis, Typ STV 3208, Hersteller SGS-Thomson, bestehen. Die Transformations-Koeffizienten dieser Transfor¬ mationsschaltung 41 werden über eine Verzögerungsschaltung 49 einem ersten Eingang eines Vergleichers 43 zugeführt. Die Koe izienten der Transformationsschaltung 41 gelangen ebenfalls zu einer Spezial-Transformationsschaltung 42, in der Spaltenformer, Addierer, Shifter und/oder Multiplizierer enthalten sind. Eine relativ aufwendige zweite DCT-Transfor¬ mationsschaltung für eine 2*(4*8)- Transformation wird nicht benötigt.
Es wird in dieser Spezial-Transformationsschaltung 42 folgen¬ de Matrixmultiplikation durchgeführt:
[Yn] = [T] * [Xn] .
[Xn] stellt jeweils eine Spalte 11 von DCT-Transformations-
Koeffizienten 12 dar,
[Xn] = ( wobei n jeweils von 1 bis 8 läuft.
[T] ist eine Spezial-Transformationsmatrix entsprechend Fig. 2 oder Fig. 3.
[Y ] stellt jeweils eine entsprechende Spalte von Spezial- transformations-Koeffizienten dar. Die Werte der Elemente der Spalten werden anschließend, beispielsweise durch eine Shift-Operation, durch den Betrag des linken oberen Elemen¬ tes der Matrix [T] (in Fig. 2 und Fig. 3 der Wert 32) ge¬ teilt, um für die Ergebnis-Spalte einen der Eingangsspalte entsprechenden Wertebereich zu erhalten. Jeweils acht sol¬ cher Spalten werden wieder zu einem 8*8-Block von Spezial- transformations-Koeffizienten zusammengefaßt und auf einen zweiten Eingang des Vergleichers 43 gegeben.
Die Koeffizienten-Matrizen [X] bzw. [Y] an den Eingängen die¬ ses Vergleichers 43 haben folgenden Aufbau:
wobei X. - bzw. Y, . das linke obere Element ist.
In Bildern mit statischem Bildinhalt sind im statistischen
Mittel etwa innerhalb des Dreiecks X.l -l . ..X-lo„...Xo_l_, die we¬ sentlichen Koeffizienten enthalten, d.h. Koeffizienten mit Beträgen, die zur Rekonstruktion der Bilder in einem entspre¬ chenden Decoder benötigt werden. In Bildern mit dynamischem Bildinhalt sind auch innerhalb des zusätzlichen Bereichs von Dreieck X.l -l . . -Xo0o0...XoQ,l im sta¬ tistischen Mittel wesentliche Koeffizienten enthalten. Die¬ ser Effekt ist in der Spezialkoeffizienten-Matrix [Y] durch die Multiplikation der Spalten der Matrix [X] mit der Spezi¬ almatrix [T] verringert. Darum bildet der Vergleicher 43 z.B. die beiden Summen der Beträge der entsprechenden Koeffi¬ zienten von den Zeilen XQ1- • -X g unc- YQI • • -γ«8 der an den beiden Eingängen anliegenden, vom gleichen Bildpunkt-Block herrührenden, Koeffizienten-Matrizen.
Diejenige der beiden Matrizen, bei der diese Summe kleiner ist, wird nachfolgend in einer bekannten Codierschaltung 44 codiert.
Es kann auch im Vergleicher 43 z.B. nur die Summe der Beträ¬ ge der Matrixelemente X„., X„ und X_._ bzw. Yg-, ß- und YQ_ gebildet werden, um diese Entscheidung herbeizuführen. • Die Codierschaltung 44 enthält beispielsweise eine Wicht- ungsSchaltung, einen Scanner, einen Quantisierer und einen Huffman-Codierer.
Die im Vergleicher 43 gewonnene Information über die Wahl der Transformationsart wird über eine Leitung 45 dem Aus¬ gangssignal der Codierschaltung 44 hinzugefügt und bildet zusammen mit diesem Ausgangssignal und beispielsweise einem Tonsignal und einer Kanal-Codierung das zu einem Empfänger übertragene oder gespeicherte Gesamtsignal 46.
Der Decoder in Fig. 5 erhält an seinem Eingang dieses Gesamt¬ signal 56. In einer Transformationsart-Decodierungsschaltung 57 wird die Information über die bei der Decodierung zu ver-
wendende Transformationsart wiedergewonnen und über eine Lei¬ tung 55 einem Umschalter 58 zugeführt.
In einer bekannten Decoderschaltung 54 wird entsprechend der Signalverarbeitung in der Coderschaltung 44 eine inverse Si¬ gnalverarbeitung durchgeführt. Die Decoderschaltung 54 ent¬ hält entsprechend einen Huffman-Decodierer, einen De-scanner und eine Schaltung für eine inverse Wichtung.
Das Ausgangssignal der Decoderschaltung 54 gelangt über eine Verzögerungsschaltung 59 zum ersten Eingang eines Umschal¬ ters 58 und zu einer Schaltung für eine entsprechende inver¬ se Spezialtransformation 52, deren Ausgang mit einem zweiten - Eingang des Umschalters 58 verbunden ist.
In Abhängigkeit von dem Signal auf Leitung 55 wird demnach bei statischem Bildinhalt im wesentlichen das Ausgangssignal der Decoderschaltung 54 unverändert zum Eingang der Schal¬ tung zur inversen zweidimensionalen DCT-Transformation 51 geführt und bei dynamischem Bildinhalt im wesentlichen das zusätzlich invers spezialtransformierte Ausgangssignal der Decoderschaltung 54.
In der Schaltung zur inversen Spezialtransformation 52 wer¬ den wie im Coder (Fig. 4) zunächst Spalten von Koeffizienten aus dem jeweiligen Koeffizienten-Block entnommen und diese Spalten werden mit einer Spezialmatrix, entsprechend Fig. 2 oder Fig. 3, die transponiert wurde, multipliziert nach fol¬ gender Formel:
[X ] stellt jeweils eine Spalte 11 von spezialtransformier- ten Koeffizienten 12 dar,
(
[Xn" ( wobei n jeweils von 1 bis 8 läuft.
[T ] ist die transponierte Spezialtransformations-Matrix [T] . [Y ] stellt jeweils eine entsprechende Spalte eines zweidi- mensional transformierten DCT-Koeffizienten-Blocks dar. Die¬ se Blöcke werden wie im Coder elementweise durch den Betrag des linken oberen Elementes der Matrix [T T] dividiert und in
Schaltung 51 invers DCT-transformiert. Die Schaltung zur in¬ versen DCT-Transformation 51 kann ebenfalls aus dem inte¬ grierten Schaltkreis, Typ STV 3208, Hersteller SGS-Thomson, bestehen. Am Ausgang von dieser Schaltung zur inversen DCT- Transformation 51 stehen im wesentlichen die ursprünglichen Bildpunkt-Blöcke wieder zur Verfügung.
Diese Blöcke von Bildpunkten werden in einem Block-to-Line- Konverter50 in zeilenserielle, digitale Bildsignale umgewan¬ delt, die anschließend noch D/A-gewandelt und in ein FBAS- Signal umgeformt werden können.
Für Luminanz- und ChrominanzSignale können parallele Coder (Fig. 4) und Decoder (Fig. 5) angeordnet werden. Dabei kann die Entscheidung des Vergleichers 43 getrennt für Luminanz- und Chrominanz getroffen und übertragen werden. Es kann aber auch nur ein Vergleicher für die Luminanz angeordnet sein, dessen Entscheidung für die Chrominanz-Signalverarbeitung mitbenutzt wird.
Der bzw. die Vergleicher 43 können für jeden Block getrennt entscheiden oder jeweils für eine Gruppe von Blöcken, z.B. ein Vollbild, eine Entscheidung durchführen.
Statt einer Blockgröße von acht 8*8 können auch andere Block¬ größen, z.B. 16*16 oder 4*4 verwendet werden, wobei sich die zugehörigen Zahlenangaben in der Beschreibung entsprechend ändern.