-
Die vorliegende Erfindung betrifft Verfahren und
Vorrichtungen zur Kompression von digitalen Daten, die den
Farbkomponentengehalt von Farbbildern definieren.
-
Moderne digitale Darstellungen von Farbbildern umfassen
typischerweise ein sehr großes Datenvolumen.
Beispielsweise können 1800 x 1800 Bildpunkte pro Quadratzoll
vorhanden sein, die jeweils durch eine Reihe von
Farbkomponenten definiert werden, welche selbst einen von 256
verschiedenen Werten aufweisen können. Dieser Definitionsgrad
ist sehr nützlich, um genaue Bildfarben zu erzielen, führt
jedoch zu Problemen, wenn man versucht, die Daten zu
speichern oder an eine entfernte Stelle zu übertragen. In
der Vergangenheit sind daher diverse Vorschläge
unterbreitet worden, um die Daten zu komprimieren. Normalerweise
adressieren Kompressionstechniken jede Farbkomponente
separat. Wenn man jedoch die Trennstellen eines typischen
Vierfarbbildes (beispielsweise durch die Komponenten Cyan,
Magenta, Gelb und Schwarz (CMYK) definiert), betrachtet
ist es üblicherweise möglich, sämtliche Merkmale von
irgendeiner der Trennstellen zu erkennen - die Daten
irgendeiner Trennstelle enthalten sämtliche
Feinrandpositionsdetails mit Ausnahme der seltenen Fälle, in denen der Rand
in einer Trennstelle keinen Kontrast hat. Wenn diese
Redundanz im komprimierten Bild vorhanden ist, wird die
Information nicht so stark komprimiert, wie dies der Fall
sein könnte.
-
Beispielsweise sind die K-Werte nicht einzigartig, sondern
können von den CMY-Werten abgeleitet werden. Eine gute
Annäherung im Falle einer allgemeinen Kompression besteht
darin, die Korrelationen zwischen den Trennstellen über
das gesamte Bild zu messen und einen neuen Satz von
Farbachsen auszusuchen, bei dem keine Korrelation
vorhanden ist. Wenn eine oder mehrere Trennstellen redundant
oder nahezu redundant sind, kann man davon ausgehen, daß
die Transformation in den neuen Satz von Farbachsen wenig
oder keine Information in einem oder mehreren der neuen
Farbkanäle besitzt.
-
Eine Kompression durch Messen der Korrelation über ein
Gesamtbild und Auswählen eines neuen Satzes von Achsen
(Hauptkomponentenanalyse) wurde erfolgreich für
Satellitenbilder eingesetzt (A.A.D. Canas, IEE Proceedings, Band
131, PtF Nr. 7, Dezember 1984, Seiten 761-767). Für
abgetastete Bilddaten erreicht man mit dieser Technik jedoch
keine optimale Kompression.
-
Eine Hauptkomponentenanalysentechnik ist beschrieben in
"Adaptive Transform Coding of Four-Color Printed Images"
von M. Gilge, Proceedings of the IEE International
Conference On Acoustics, Speech and Signal Processing, Band 3,
April 1987, Dallas, USA, Seiten 1374-1377. Diese Technik
wird für vier Farbkomponentenbilddaten angewendet, um sie
über die bekannte Karhunen-Loeve Transformation vor der
DCT-Transformation, der Quantisierung und dem Codieren zu
transformieren.
-
Gemäß einem Aspekt der vorliegenden Erfindung umfaßt ein
Verfahren zur Kompression von digitalen Daten, die den
Farbkomponentengehalt von Bildpunkten eines Farbbildes
definieren, die Durchführung für jeden einer Reihe von sich
nicht überlappenden Blöcken von Bildpunkten, die das Bild
erzeugen, einer Hauptkomponentenanalyse am Bildpunktblock,
um die dem Block entsprechenden Hauptkomponentensektoren
zu bestimmen. Das Verfahren ist dadurch gekennzeichnet,
daß es des weiteren umfaßt: Runden der
Hauptkomponentenvektoren auf einen festen Satz von Intervallen,
Transformieren der ursprünglichen Bildpunktdaten auf den Farbraum,
der durch die gerundeten Hauptkomponentenvektoren
definiert wird, Durchführen eines Kompressionsalgorithmus mit
den transformierten Bildpunktdaten und Durchführen eines
separaten Kompressionsalgorithmus mit den gerundeten
Hauptkomponentenvektorwerten.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung
umfaßt eine Vorrichtung zur Kompression von digitalen Daten,
die den Farbkomponentengehalt von Bildpunkten eines
Farbbildes definieren, Verarbeitungseinrichtungen zur
Durchführung einer Hauptkomponentenanalyse an jedem einer Reihe
von sich nicht überlappenden Blöcken von Bildpunkten, die
das Bild erzeugen, um die dem Block entsprechenden
Hauptkomponentenvektoren zu bestimmen. Die Vorrichtung ist
dadurch gekennzeichnet, daß sie des weiteren umfaßt
Einrichtungen zum Runden der Hauptkomponentenvektoren auf
einen festen Satz von Intervallen,
Transformationseinrichtungen zum Transformieren der ursprünglichen
Bildpunktdaten in den Farbraum, der von den gerundeten
Hauptkomponentenvektoren definiert wird, erste
Kompressionseinrichtungen zum Durchführen eines Kompressionsalgorithmus mit den
transformierten Bildpunktdaten und zweite
Kompressionseinrichtungen
zum Durchführen eines separaten
Kompressionsalgorithmus mit den gerundeten Hauptkomponentenvektorwerten.
-
Durch Auswahl von kleinen Blöcken von Bildpunkten
innerhalb des Bildes treten im allgemeinen weniger Schwankungen
in der Farbe über den Block auf, so daß die Daten auf
signifikante Weise komprimiert werden können. In vielen
Fällen, in denen der Block nur Farbtöne einer einzigen
Farbe oder eine einzige Grenze enthält, befinden sich
nahezu die gesamten Informationen in der größeren
Hauptkomponente. Obwohl separate Sätze von
Hauptkomponentenvektoren für jeden Bildpunktblock im Vergleich zum einzigen
Satz für das gesamte Bild erzeugt werden, wurde
überraschenderweise festgestellt, daß es möglich ist, die die
Hauptkomponentenvektorwerte selbst definierenden Daten auf
signifikante Weise zu komprimieren, und zwar in
Kombination mit einer sehr signifikanten Kompression der Daten
innerhalb eines jeden Bildblocks. Dies führt insgesamt zu
einem größeren Kompressionsverhältnis als es erhalten
wird, wenn man die in der vorstehend erwähnten
Veröffentlichung beschriebene Technik einsetzt.
-
Vorzugsweise umfaßt die Hauptkomponentenanalyse die
Schritte der Bestimmung einer Kovarianzmatrix für den
Bildpunktblock und der Bestimmung der Eigenvektoren und
Eigenwerte für die Kovarianzmatrix, wobei die
Eigenvektoren die Hauptkomponentenvektoren bilden.
-
Bei dem bevorzugten Verfahren wird der Grad der Rundung in
Abhängigkeit von der Menge an Informationen oder der
"Energie" des entsprechenden Blocks bestimmt.
Typischerweise kann jeder Block in eine einer Reihe von
unterschiedlichen Klassen in Abhängigkeit von seiner "Energie"
klassifiziert werden, wobei jede Klasse einen Grad an
Verkürzung oder Kompression für den Eigenvektor und die
transformierten Farbwerte definiert.
-
Die "Energie" eines Blockes repräsentiert die Variation in
den Farbkomponentenwerten und kann somit in der Form des
Eigenwertes definiert werden.
-
Die die Eigenvektoren definierenden Daten können auf
signifikante Weise komprimiert werden, da die
Eigenvektoren mit den niedrigeren Eigenwerten keine von Null
abweichenden Wechselstromkomponenten besitzen. Bei dem
bevorzugten Verfahren wird der dem größten Eigenwert
entsprechende Eigenvektor anfangs ausgewählt, und die
Vektorwerte werden auf einen Pegel verkürzt, der in Abhängigkeit
vom größten Eigenwert festgelegt wurde. Der
Verkürzungsprozeß wird für jeden der anderen Eigenvektoren, die in
der Reihenfolge ihrer Eigenwertgrößen ausgewählt wurden,
wiederholt, bis ein verkürzter Eigenvektor keine von Null
abweichenden Wechselstromwerte besitzt, woraufhin
sämtliche Eigenvektorwerte auf Null abgerundet werden.
-
Die Kompression der Eigenvektoren wird vorzugsweise
ausgeführt, bevor die Bildpunktdaten in den von den
Eigenvektoren definierten Farbraum transformiert werden, so daß bei
Dekompression eine genaue Regenerierung der Bildpunktwerte
erreicht wird. Die Kompression der Eigenvektoren kann
jedoch auch nach dem Transformationsschritt durchgeführt
werden.
-
Der Schritt zur Durchführung eines Kompressionsalgorithmus
in bezug auf die transformierten Bildpunktdaten kann von
irgendeiner herkömmlichen Ausführungsform sein, umfaßt
jedoch vorzugsweise eine weitere Transformation in die
Frequenzdomäne, der ein Lauflängencodierprozeß folgt. Die
abschließend komprimierten Daten können gespeichert oder
zu einem entfernten Ort geführt werden.
-
Die Verarbeitungseinrichtungen und die
Transformationseinrichtungen werden vorzugsweise durch einen auf geeignete
Weise programmierten Computer gebildet, obwohl auch
Hardware-Schaltungen verwendet werden können.
-
Ein Ausführungsbeispiel eines Verfahrens und einer
Vorrichtung gemäß der Erfindung wird nachfolgend in
Verbindung mit den beigefügten Zeichnungen erläutert. Es zeigen:
-
Figur 1 ein Blockdiagramm der Vorrichtung;
-
Figur 2 auf schematische Weise den Prozeß; und
-
Figur 3 ein Blockdiagramm der Verfahrensschritte.
-
Die Vorrichtung umfaßt einen Prozessor 1, der an einen
Speicher 2 gekoppelt ist, in dem digitale Daten, die den
Farbkomponentengehalt eines Bildes definieren, gespeichert
sind. Dieses Bild wird durch eine große Zahl von
Bildpunkten definiert, von denen jeder eine Farbe besitzt, die
durch vier Farbkomponenten (Cyan, Magenta, Gelb und
Schwarz) definiert ist, welche jeweils einen Wert in einem
Bereich von 0-255 aufweisen. Der Prozessor 1 ist ferner an
einen Hauptkomponentenspeicher 3, einen
Transformationsspeicher 4 und einen Speicher 5 für ein komprimiertes Bild
angeschlossen. Die Verwendung dieser Speicher 3-5 wird
nachfolgend im einzelnen erläutert.
-
Der Prozessor 1 übernimmt vom Speicher 2 seriell 8 x 8
Bildpunktblöcke (Schritt 10, Figur 3).
-
In der nächsten Stufe (Schritt 11) werden sämtliche
Einkomponentendaten (CMYK) im 8 x 8 Block gemessen. Aus
diesen Messungen werden die Summen sämtlicher
Einkomponentendaten und die Summen sämtlicher Kreuzmengendaten (CC, CM,
CY, CR etc.) berechnet. Die Kovarianzmatrix COV (X, Y)
kann dann berechnet werden aus
-
COS (X,Y) =
-
Wenn COV (X, Y) = COV (Y, X) ist, ist es nur erforderlich,
10 Werte für die Matrix zu berechnen, da die anderen durch
Symmetrie gewonnen werden können. Diese Symmetrie kann bei
Berechnung der Eigenvektoren genutzt werden.
-
Beim Berechnen des zweiten Parameters der Kovarianzen
werden die Gleichstromwerte berechnet. Diese Werte werden für
spät er aufgehoben.
-
Es wird nunmehr die Transformationsmatrix E ermittelt, die
die Korrelation zwischen den Komponenten eliminiert
(Schritt 12). Dies entspricht der Einheitsmatrix, die
COV.. diagonalisiert.
-
Durch Multiplikation von beiden Seiten mit E wird die
Standardeigenvektorgleichung erhalten. Die
Hauptkomponenten sind daher die Eigenvektoren von COV, von denen ein
jeder einen entsprechenden Eigenwert besitzt. Da es sich
bei der Transformationsmatrix E um eine Einheitsmatrix
handelt, repräsentieren die Eigenwerte nunmehr die
Energien einer jeden Trennung.
-
Bevor die Blockdaten auf die von den Eigenvektoren
definierten Hauptkomponenten transformiert werden, werden die
Eigenvektoren selbst codiert oder komprimiert. Der
Kompressionsgrad steht mit der Energie des betreffenden
Blocks in Beziehung, wobei diese Energie als Summe der
Eigenwerte definiert ist. Die möglichen Blockenergien werden
für einen nachfolgend beschriebenen Zweck in Klassen
aufgeteilt.
-
In Schritt 13 wird der größte Eigenwert bestimmt und der
entsprechende Eigenvektor ausgewählt. Dieser Eigenvektor,
der aus vier Komponenten oder Werten gebildet wird, wird
codiert, indem die Komponente mit der größten Größe
ausgewählt wird. Wenn sie positiv ist, wird der gesamte
Eigenvektor negiert. Dann wird die Position der maximalen
Komponente über beispielsweise 2 bits codiert, und die
verbleibenden drei Werte werden dann auf die Zahl der bits
verkürzt, die der Klasse des Blocks zugeordnet sind.
Typischerweise reicht die Zahl der bits von 6 für
Hochenergieblöcke bis zu 10 für Niedrigenergieblöcke. Die
exakte Bitzahl und die Energiebereiche für jede Klasse
werden empirisch ermittelt.
-
Nach dem Codieren des ersten Eigenvektors wird der gleiche
Prozeß mit dem nächsten Eigenvektor wiederholt, der dem
nächsthöchsten Eigenwert entspricht, bis sämtliche
Eigenvektoren codiert worden sind. Eine zusätzliche Kompression
kann erreicht werden, wenn nach der Kompression eines
speziellen Eigenvektors die resultierenden Werte überprüft
werden. Wenn keine von Null abweichenden Wechselstromwerte
vorhanden sind, können sämtliche verbleibenden
Eigenvektoren auf Null gerundet werden.
-
Der Bildpunktblock wird dann in den Eigenvektorfarbraum
gedreht oder transformiert (Schritt 14). Dies wird für
jedes der 8 x 8 Quadrate der Hauptkomponentenwerte (P&sub1; - P&sub4;)
unabhängig durchgeführt, indem auf herkömmliche Weise zwei
eindimensionale Durchläufe durchgeführt werden. Diese
Transformation ist in Figur 2 dargestellt, die das
Original für vier Farbtrennungen 20 und die resultierenden vier
Hauptkomponentenebenen 21 zeigt. Der gedrehte Block wird
im Hauptkomponentenspeicher 3 gespeichert.
-
Durch diese Drehung soll der größte Teil der Bilddaten in
der ersten Ebene P&sub1; konzentriert werden, während in den
nachfolgenden Ebenen zunehmend weniger Informationen
vorhanden sind.
-
Hieraus folgt, daß in Schritt 15, während dem am gedrehten
Bildpunktblock eine Frequenztransformation durchgeführt
wird, der größte Teil der aus dieser
Frequenztransformation resultierenden Wechselstromwerte in den anderen
Ebenen als der ersten Ebene Null ist. Durch die
Frequenztransformation wird für jede Ebene ein Gleichstromwert 22
(Figur 2) und ein Satz von 63 Wechselstromwerten erzeugt.
Der Frequenztransformationsblock wird im
Transformationsspeicher 4 gespeichert.
-
Die Gleichstromwerte werden extrahiert, und die
resultierende Lauflänge der Wechselstromwerte wird beispielsweise
unter Verwendung einer Huffman-Codiertechnik codiert. Für
den Block wird ein finaler Bitstrom erzeugt, der die vier
Gleichstromwerte, die codierten Eigenvektoren jeweils in
der Form des 2 bit-Codes, den größten Wert und die drei
verkürzten Werte und die Lauflängen-codierten
Bildpunktdaten umfaßt. Dieser Bitstrom wird dann im Bildspeicher 5
gespeichert (Schritt 16).