-
Die
vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren,
die so betreibbar sind, dass sie eine Masse von zusätzlichen
Informationen in quantisierte Frequenzbilddaten einbetten.
-
In
den letzten Jahren haben digitale Inhalte, wie etwa digitalisierte
Audio- und Videodaten, ständig zugenommen.
Der digitale Inhalt kann problemlos eine völlig getreue Wiedergabe seines
Originals ermöglichen,
und daher ist es eine wichtige Angelegenheit, das Urheberrecht des
digitalen Inhalts zu schützen.
Illegal wiedergegebener oder verteilter Inhalt lässt sich nicht von entsprechendem
Original-Inhalt unterscheiden, und es ist schwierig, Beweise vorzubringen,
um das Urheberrecht an dem Original-Inhalt geltend zu machen. Daher
sind Versuche zum Schutz des Urheberrechts an dem digitalen Inhalt
unternommen worden.
-
Zu
diesem Zweck wird ein normales „digitales Wasserzeichen" als eines der Versuche
verwendet. Das digitale Wasserzeichen ist ein bekanntes Verfahren,
das so funktioniert, dass Daten in die Audio- und Videodaten eingebettet
werden, ohne dass Menschen das Vorhandensein der darin eingebetteten
Daten erkennen, und dass die eingebetteten Daten aus den die eingebetteten
Daten enthaltenden Audio- und Videodaten extrahiert werden. Bei
dem bekannten Verfahren werden Urheberrechtsinformationen, wie etwa
der Name des Inhabers eines Urheberrechts und das Datum des Urheberrechts,
als digitales Wasserzeichen in die Audio- oder Videodaten eingebettet,
um das Urheberrecht an dem digitalen Inhalt zu schützen. Dadurch
können
die eingebetteten Urheberrechtsinformationen aus illegal wiedergegebenem
Inhalt erkannt werden, und der Inhaber des Urheberrechts an dem
Inhalt wird identifiziert, um die illegale Wiedergabe des digitalen
Inhalts zu vermeiden. Außerdem
macht es digitaler Inhalt, in den die Urheberrechtsinformationen
umfassend und überall eingebettet
sind, möglich,
das Vorhandensein von manipulierten Daten sowie deren spezielle
Lage genau zu ermitteln.
-
Es
sind verschiedene Verfahren zum Einbetten von zusätzlichen
Informationen in codierte Bilddaten mit Bildern, die nach einem
internationalen Standard, wie etwa JPEG und MEPG, komprimiert worden
sind, und zum Extrahieren der zusätzlichen Informationen aus
den codierten Bilddaten nach dem Decodieren der codierten Bilddaten
vorgeschlagen worden.
-
Beispielsweise
beschreibt die Patentliteraturquelle Nr. 1 (Veröffentliche Japanische Patentanmeldung
JP 2002/330279 ) ein
Verfahren, das zum Einbetten und Extrahieren von Daten aus Bildern
verwendet werden kann.
-
Um
die Daten in die Bilder einzubetten, wird jedes Originalbild in
mehrere Blöcke
mit jeweils 8×8 Pixeln
unterteilt. Dann werden alle Blöcke,
die das Gesamtbild bilden, einer diskreten Kosinustransformation
(DCT) unterzogen, wodurch Frequenzbilddaten oder hier DCT-Koeffizienten erzeugt
werden. Jeder der Blöcke
wird unter Verwendung einer Quantisierungstabelle quantisiert, wodurch
quantisierte Frequenzbilddaten entstehen, in denen ein einzelner
Koeffizient in dem höchsten
Frequenzbereich durch Ein-Bit-Daten ersetzt wird. Wie zu erwarten,
können durch
die Ersetzung die Daten in die quantisierten Frequenzbilddaten eingebettet
werden. Anschließend
werden Lauflängencodierung
und Huffman-Codierung in der genannten Reihenfolge durchgeführt. Dann
wird von den Werten in der Quantisierungstabelle der Wert, der einem
einzelnen Koeffizienten in dem höchsten
Frequenzbereich entspricht, durch „1" (eins) ersetzt.
-
Bei
Vorrichtungen auf JPEG-Codierungsbasis, wie etwa digitalen Kameras
und Farbfaxgeräten, werden
eingegebene Bilder mittels Hardware codiert und komprimiert, und
es entstehen beachtliche Kosten, wenn ein Schritt des Einbettens
eines digitalen Wasserzeichens zusätzlich verwendet wird, an den sich
ein solcher Bildkomprimierungs- und -codierungsschritt anschließt. Um diesen
Nachteil zu vermeiden, können
nach dem Empfang der codierten Daten oder quantisierten Frequenzbilddaten
entsprechend einer Tabelle, die zum Codieren dieser eingegebenen
Daten verwendet wird, oder einer Tabelle, die zum Quantisieren der
eingegebenen Daten verwendet wird, Digitales-Wasserzeichen-Informationen in
codierte Daten oder quantisierte Frequenzbilddaten eingebettet werden.
-
Der
Patentliteraturquelle Nr. 1 zufolge müssen jedoch die quantisierten
Frequenzbilddaten in jedem der Blöcke durch Ein-Bit-Daten entsprechend den
Mengen (in der Regel eine Zahl außer „1"), die gewünschten einzubettenden Einzeldaten
entsprechen, ersetzt werden, um voluminöse zusätzliche Informationen von mindestens
mehreren hundert Bytes in die codierten Daten mit darin komprimierten
Bildern einzubetten.
-
DCT-Koeffizienten
bei Komponenten im hohen Frequenzbereich führen wegen der Quantisierung
oft zu „0" (null), und eine
Serie von „Oen" (Nullen) scheint
sich manchmal bis zum Ausläufer
jeder der Komponenten im hohen Frequenzbereich zu erstrecken. Diese
Eigenschaft wird von Codierungs-/Decodierungsprozessen genutzt.
Insbesondere wird die Serie von „Oen", die sich bis zum Ausläufer der
Komponente im hohen Frequenzbereich erstreckt, durch einen bestimmten
Code oder ein Blockende (EOB) in einem Zickzack-Abtastweg ersetzt, der
an einer Gleichstrom-Komponente beginnt und an dem Ende der Komponente
im hohen Frequenzbereich endet. Die EOB-gestützte Ersetzung gestattet es,
eine Kette aus mehreren „Oen" bis zu mehreren
zehn „Oen" nur durch einen
einzigen Code zu ersetzen, und es können Codes in einer wesentlichen geringeren
Menge verwendet werden.
-
Wenn
jedoch bei den bekannten Verfahren ein einzelner Koeffizient im
höchsten
Frequenzbereich durch „1" ersetzt wird, wird
der Ausläufer
der Komponente im hohen Frequenzbereich „1". Das bedeutet, dass die Kette von „Oen", die sich bis zum Ausläufer der
Komponente im hohen Frequenzbereich erstreckt, fehlt. Dadurch kann
keine EOB-gestützte
Ersetzung erreicht werden, und die Menge von Codes nimmt wesentlich
zu.
-
Auch
wenn es nicht unmöglich
sein kann, DCT-Koeffizienten in Komponenten im Zwischen- und niedrigen
Frequenzbereich zu ersetzen, ist zu beachten, dass die Ersetzung
eines einzelnen Koeffizienten im höchsten Frequenzbereich bei
dem vorstehenden Verfahren vermutlich nicht zu einer starken Beeinträchtigung
der Bildqualität
führt.
Im Gegensatz dazu verschlechtert die Ersetzung der DCT-Koeffizienten
bei den Komponenten im Zwischen- und niedrigen Frequenzbereich zwangsläufig die
Bildqualität,
da die ersetzten DCT-Koeffizienten in enger Beziehung zur Bildqualität stehen
und sie einen relativ hohen Wert haben.
-
Die
Patentliteraturquelle Nr. 2 (Veröffentliche Japanische
Patentanmeldung
JP2000/151973 )
beschreibt ein Verfahren, das zum Einbetten einer Masse von zusätzlichen
Informationen in Bilddaten verwendet werden kann. Es ist zu beachten,
dass die Summe der Absolutwerte der Differenzen zwischen Frequenzbilddaten
vor der Informationseinbettung und Frequenzbilddaten nach der Informationseinbettung
möglichst
klein sein sollte, da eine größere Summe
der Absolutwerte eine große Änderung
der Bildqualität
bedeutet, oder genauer gesagt, bedeutet, dass die Bilder nach der
Einbettung mit darin eingebettete Informationen eine wesentlich
schlechtere Bildqualität
als Bilder vor der Einbettung haben.
-
Bei
der inversen Quantisierung wird in erster Linie jeder Wert in der
Quantisierungstabelle mit einem entsprechenden Wert der quantisierten
Frequenzbilddaten multipliziert. Im Allgemeinen steigen die Werte
in der Quantisierungstabelle mit einer relativ hohen Komprimierungsrate
stark an. Da die Quantisierungstabelle sehr hohe Werte (z. B. „100") als Ergebnis der
relativ hohen Komprimierungsrate liefert, führt der Patentliteraturquelle
Nr. 2 zufolge schon eine geringe Änderung (z. B. „+1") des Werts der quantisierten
Frequenzbilddaten zum Einbetten der Informationen zu einem Anstieg
(Differenz: +1·100
= +100) um ein Vielfaches bis zum Hundertfachen oder mehr des geringen
Anstiegs. Das führt
zu dem Problem, dass die Informationseinbettung in die quantisierten
Frequenzbilddaten die Bildqualität
von decodierten Bildern wesentlich verschlechtert.
-
Die
Europäische
Patentanmeldung
EP1
148 733 A2 beschreibt eine Bildverarbeitungsvorrichtung mit:
einer ersten Quantisierungstabelle; einer zweiten Quantisierungstabelle,
die von der ersten Quantisierungstabelle verschieden ist; einer
Inversquantisierungseinheit, die so betreibbar ist, dass sie erste quantisierte
Daten unter Verwendung der ersten Quantisierungstabelle invers quantisiert,
sodass Frequenzbilddaten entstehen; und einer Quantisierungseinheit,
die so betreibbar ist, dass sie die Frequenzbilddaten unter Verwendung
der zweiten Quantisierungstabelle quantisiert, sodass zweite quantisierte Daten
entstehen.
-
Angesichts
des Vorstehenden ist es Ziel der vorliegenden Erfindung, eine Bildverarbeitungsvorrichtung
bereitzustellen, die so betreibbar ist, dass sie eine Masse von
zusätzlichen
Informationen in Eingabedaten einbettet und dabei eine Verschlechterung
der Bildqualität
der Eingabedaten unterdrückt, auch
wenn die Eingabedaten mit einer hohen Komprimierungsrate komprimiert
werden.
-
Ein
erster Aspekt der vorliegenden Erfindung stellt eine Bildverarbeitungsvorrichtung
bereit, mit: einer ersten Quantisierungstabelle; einer zweiten Quantisierungstabelle;
einer Inversquantisierungseinheit; einer Quantisierungseinheit;
und einer Informationseinbettungseinheit. Die zweite Quantisierungstabelle
ist von der ersten Quantisierungstabelle verschieden. Die Inversquantisierungseinheit
ist so betreibbar, dass sie erste quantisierte Daten unter Verwendung
der ersten Quantisierungstabelle quantisiert, wodurch Frequenzbilddaten
erzeugt werden. Die Quantisierungseinheit ist so betreibbar, dass
sie die Frequenzbilddaten unter Verwendung der zweiten Quantisierungstabelle
quantisiert, wodurch zweite quantisierte Daten erzeugt werden. Die
Informationseinbettungseinheit ist so betreibbar, dass sie zusätzliche
Informationen in die zweiten quantisierten Daten einbettet.
-
Ein
zweiter Aspekt der vorliegenden Erfindung stellt die in dem ersten
Aspekt der vorliegenden Erfindung definierte Bildverarbeitungsvorrichtung
bereit, wobei die erste und die zweite Quantisierungstabelle jeweils
Elemente enthalten, an denen die zusätzlichen Informationen eingebettet
werden sollen, und die Elemente in der zweiten Quantisierungstabelle
einen niedrigeren Wert als die Elemente in der ersten Quantisierungstabelle
haben.
-
Die
vorstehende Gestaltung vermeidet den vorgenannten Nachteil, dass
große
Zahlen in der Quantisierungstabelle Ergebnisse aus einer geringen Änderung
des Werts der quantisierten Frequenzbilddaten durch die Einbettung
der zusätzlichen
Informationen in die quantisierten Frequenzbilddaten oftmals verstärken. Dadurch
kann eine Masse von zusätzlichen
Informationen in Eingabedaten, die mit verschiedenen Komprimierungsraten
komprimiert werden, unter Unterdrückung der Verschlechterung
der Bildqualität
der Eingabedaten eingebettet werden.
-
Die
vorgenannten und weitere Ziele, Merkmale und Vorzüge der vorliegenden
Erfindung dürften
aus der nachstehenden Beschreibung in Verbindung mit den beigefügten Zeichnungen
hervorgehen, in denen ähnliche
Bezugssymbole die gleichen Elemente bezeichnen. Hierbei sind:
-
1 ein
Blockdiagramm, das eine Bildverarbeitungsvorrichtung nach einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ein
Ablaufdiagramm, das den Ablauf der Operationen zeigt, die von der
Bildverarbeitungsvorrichtung nach der ersten Ausführungsform
ausgeführt
werden;
-
3 eine
Darstellung, die als erläuterndes Beispiel
eine erste Quantisierungstabelle nach der ersten Ausführungsform
zeigt;
-
4 eine
Darstellung, die als erläuterndes Beispiel
eine zweite Quantisierungstabelle nach der ersten Ausführungsform
zeigt;
-
5 eine
Darstellung, die als erläuterndes Beispiel
eine weitere zweite Quantisierungstabelle nach der ersten Ausführungsform
zeigt;
-
6 ein
Ablaufdiagramm, das den Ablauf der Operationen zeigt, die von einer
Tabellensteuereinheit nach der ersten Ausführungsform ausgeführt werden;
-
7(a) eine Darstellung, die als erläuterndes
Beispiel quantisierte DCT-Koeffizienten nach der ersten Ausführungsform
zeigt;
-
7(b) eine Darstellung, die als erläuterndes
Beispiel die erste Quantisierungstabelle nach der ersten Ausführungsform
zeigt;
-
7(c) eine Darstellung, die als erläuterndes
Beispiel DCT-Koeffizienten nach der ersten Ausführungsform zeigt;
-
8(a) eine Darstellung, die als erläuterndes
Beispiel DCT-Koeffizienten nach der ersten Ausführungsform zeigt;
-
8(b) eine Darstellung, die als erläuterndes
Beispiel die zweite Quantisierungstabelle nach der ersten Ausführungsform
zeigt;
-
8(c) eine Darstellung, die als erläuterndes
Beispiel quantisierte DCT-Koeffizienten nach der ersten Ausführungsform
zeigt;
-
9 ein
Ablaufdiagramm, das den Ablauf der Operationen zeigt, die von einer
Informationseinbettungseinheit nach der ersten Ausführungsform ausgeführt werden;
-
10(a) eine erläuternde
Darstellung, die ein Informationseinbettungsverfahren nach der ersten
Ausführungsform
zeigt;
-
10(b) eine Darstellung, die als erläuterndes
Beispiel das Ergebnis des Informationseinbettungsverfahrens nach
der ersten Ausführungsform zeigt;
-
11(a) eine Darstellung, die als erläuterndes
Beispiel vorher eingebettete DCT-Koeffizienten nach
der ersten Ausführungsform
zeigt;
-
11(b) eine Darstellung, die als erläuterndes
Beispiel nachher eingebettete DCT-Koeffizienten nach der ersten Ausführungsform
zeigt; und
-
11(c) eine Darstellung, die als erläuterndes
Beispiel nachher eingebettete DCT-Koeffizienten nach einem Vergleichsbeispiel
zeigt.
-
Nachstehend
wird eine bevorzugte Ausführungsform
der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben.
-
Erste Ausführungsform
-
In 1 weist
eine Bildverarbeitungsvorrichtung nach einer ersten Ausführungsform,
die in Form eines Blockdiagramms dargestellt ist, Folgendes auf: eine
Decodiereinheit 101, eine Inversquantisierungseinheit 102,
eine Quantisierungseinheit 103, eine Informationseinbettungseinheit 104 und
eine Codiereinheit 105. Die Bildverarbeitungsvorrichtung
weist weiterhin eine erste Quantisierungstabelle 106, eine zweite
Quantisierungstabelle 107, eine Tabellensteuereinheit 108 und
eine Einbettungsinformationen- Speichereinheit 109 auf,
die so betreibbar ist, dass sie Einbettungsinformationen für die Informationseinbettungseinheit 104 bereitstellt.
-
Die
Decodiereinheit 101 ist so betreibbar, dass sie nach Empfang
eines Bitstroms diesen decodiert, wodurch quantisierte Frequenzbilddaten
oder quantisierte DCT-Koeffizienten erzeugt werden. Die Inversquantisierungseinheit 102 ist
so betreibbar, dass sie die quantisierten DCT-Koeffizienten unter Verwendung
der in 3 gezeigten ersten Quantisierungstabelle 106 invers
quantisiert, wodurch DCT-Koeffizienten erzeugt werden. Nehmen wir
beispielsweise an, dass die quantisierten DCT-Koeffizienten die
in 7(a) gezeigten quantisierten DCT-Koeffizienten
sind und die erste Quantisierungstabelle 106 die in 7(b) gezeigte erste Quantisierungstabelle ist.
In diesem Fall erzeugt die Inversquantisierungseinheit 102 DCT-Koeffizienten,
wie sie in 7(c) gezeigt sind.
-
Die
Quantisierungseinheit 103 ist so betreibbar, dass sie die
DCT-Koeffizienten unter Verwendung einer zweiten Quantisierungstabelle 107,
die in 4 oder 5 gezeigt ist, quantisiert,
wodurch quantisierte DCT-Koeffizienten erzeugt werden. Nehmen wir
beispielsweise an, dass die DCT-Koeffizienten die in 8(a) gezeigten DCT-Koeffizienten sind und die
zweite Quantisierungstabelle 107 die in 8(b) gezeigte zweite Quantisierungstabelle ist. In
diesem Fall erzeugt die Quantisierungseinheit 103 quantisierte
DCT-Koeffizienten, wie sie in 8(c) gezeigt
sind.
-
Wie
später
ausführlicher
erläutert
wird, werden bei der vorliegenden Ausführungsform die erste und die
zweite Quantisierungstabelle 106, 107 von der
Tabellensteuereinheit 108 gesteuert. Die Tabellensteuereinheit 108 kann
jedoch entfallen, wenn die erste und die zweite Quantisierungstabelle 106, 107 im
Voraus unveränderlich
festgelegt werden.
-
Die
Informationseinbettungseinheit 104 ist so betreibbar, dass
sie nach Empfang von Einbettungsinformationen von der Einbettungsinformationen-Speichereinheit 109 die
Einbettungsinformationen nach später
beschriebenen Regeln in die quantisierten DCT-Koeffizienten von der Quantisierungseinheit 103 einbettet.
-
Die
Codiereinheit 105 ist so betreibbar, dass sie die quantisierten
DCT-Koeffizienten, in die die Einbettungsinformationen von der Informationseinbettungseinheit 104 eingebettet
worden sind, codiert, wodurch ein Bitstrom erzeugt wird.
-
Nachstehend
wird das Verfahren näher
erläutert,
mit dem Einbettungsinformationen (13, 46) eingebettet werden,
wie in 10(a) gezeigt. In der nachstehenden
Beschreibung wird unterstellt, dass die erste Quantisierungstabelle 106 die
in 3 gezeigte erste Quantisierungstabelle ist.
-
In 6 ist
im Schritt 300 gezeigt, dass die Tabellensteuereinheit 108 die
Einbettungsinformationen (13, 46) nach ihrem Empfang von der Einbettungsinformationen-Speichereinheit 109 binarisiert. Dadurch
entsteht eine Bit-Zeichenkette mit einer Länge von 16 Bit (0, 0, 0, 0,
1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0). Im Schritt 301 bestimmt
die Tabellensteuereinheit 108 aufgrund der binarisierten
eingebetteten Informationen (13, 46) Positionen
von Zielkoeffizienten, an denen die Informationen eingebettet werden
sollen. Nehmen wir an, dass in 10(a) sechzehn Zahlen
von Zielkoeffizienten, die durch den Pfeil N dargestellt werden,
entsprechend dem Zickzack-Abtastweg bestimmt werden, der an einer
Gleichstrom-Komponente
beginnt.
-
Im
Schritt 302 bestimmt die Tabellensteuereinheit 108 nach
Empfang von Zielkoeffizienten (16, 11, 12, 14 bis 24 und 40) von
der Quantisierungstabelle 106 von 3 eine Quadratsumme
S aufgrund der Zielkoeffizienten (16, 11, 12, 14 bis 24 und 40).
Im Schritt 303 registriert die Tabellensteuereinheit 108 eine
originalgetreue Wiedergabe der ersten Quantisierungstabelle 106 direkt
in der zweiten Quantisierungstabelle 107.
-
Im
Schritt 304 vergleicht die Tabellensteuereinheit 108 die
Größe der Quadratsumme
S mit einem vorgegebenen Schwellenwert TH. Wenn der Vergleich im
Schritt 304 ergibt, dass S > TH ist, zeigen sich in der zweiten Quantisierungstabelle 107 relativ
hohe Werte und eine hohe Komprimierungsrate. In diesem Fall geht
die Routine zum Schritt 305 weiter, wo die Tabellensteuereinheit 108 einen
Multiplikationswert K (0 < K < 1) bestimmt. Der
Multiplikationswert K kann ein bestimmter vorgegebener Wert sein
(z. B. K = 0,5), oder er kann auf andere Weise aufgrund der Quadratsumme
S bestimmt werden. Im Schritt 306 multipliziert die Tabellensteuereinheit 108 Werte
in der zweiten Quantisierungstabelle 107 mit dem Multiplikationswert
K. Wenn 0 < K < 1 ist, sind die
später
multiplizierten Werte in der zweiten Quantisierungstabelle 107 natürlich kleiner
als die früher multiplizierten
Werte in der zweiten Quantisierungstabelle 107.
-
Wenn
man unterstellt, dass alle Werte der ersten Quantisierungstabelle 106 von 3 mit
dem Multiplikationswert K (= 0,5) multipliziert werden, so zeigt
die zweite Quantisierungstabelle 107 die in 4 angegebenen
Werte. Alternativ kann, wie in 5 gezeigt,
nur ein Teil der Werte in der ersten Quantisierungstabelle 106 mit
dem Multiplikationswert K multipliziert werden, da die Informationen
nur in die Zielkoeffizienten eingebettet werden sollen.
-
Wenn
der Vergleich im Schritt 304 ergibt, dass S ≤ TH ist, dann
entstehen relativ niedrige Werte in der zweiten Quantisierungstabelle 107 und
eine niedrige Komprimierungsrate. In diesem Fall verwendet die Tabellensteuereinheit 108 bei
der vorliegenden Ausführungsform
die Werte in der zweiten Quantisierungstabelle 107 ohne
eine Änderung
darin. Dadurch wird die gleiche Quantisierungstabelle wie die erste
Quantisierungstabelle 106 verwendet. Alternativ können jedoch
die Werte in der Quantisierungstabelle mit einem größeren Multiplikationswert
(z. B. K = 0,9) multipliziert werden.
-
Nachstehend
wird unter Bezugnahme auf 9 der Ablauf
der von der Informationseinbettungseinheit 104 ausgeführten Operationen
erläutert. Die
quantisierten DCT-Koeffizienten
von der Quantisierungseinheit 103 werden in die Informationseinbettungseinheit 104 eingegeben.
Im Schritt 400 binarisiert die Informationseinbettungseinheit 104 die
Einbettungsinformationen nach ihrem Empfang von der Einbettungsinformationen-Speichereinheit 109.
Im Schritt 401 bestimmt die Informationseinbettungseinheit 104 die
Bitlänge
L aufgrund der binarisierten Einbettungsinformationen und initialisiert
einen Zähler
i auf „1" (eins). In den nachfolgenden
Schritten, unter anderem dem Schritt 402, wird eine Bitmanipulation aller
Bits, die jeweils die Bitlänge
L haben, von der Informationseinbettungseinheit 104 durchgeführt, wie später beschrieben
wird. Bei der Durchführung
der Bitmanipulation werden die Einbettungsinformationen in die quantisierten
DCT-Koeffizienten eingebettet.
-
Insbesondere
setzt im Schritt 403 die Informationseinbettungseinheit 104 den
Wert eines i-ten Bits in den Einbettungsinformationen auf eine Variable
Val und setzt den i-ten Koeffizienten in dem Zickzack-Abtastweg
unter den quantisierten DCT-Koeffizienten auf eine Variable C. Die
Gleichstrom-Komponente ist am vorderen Ende des Zickzack-Abtastwegs
angeordnet; siehe Pfeil N von 10(a).
-
Im
Schritt 404 gabelt sich die Routine durch die Variable
Val. Wenn die Variable Val „0" (null) ist, geht
die Routine zum Schritt 405 weiter. Wenn die Variable Val „1" (eins) ist, geht
die Routine zum Schritt 409 weiter.
-
Im
Schritt 405 ermittelt die Informationseinbettungseinheit 104,
ob die Variable C eine ungeradzahlige Zahl ist. Wenn im Schritt 405 „Nein" ermittelt wird,
geht die Routine zum Schritt 413 weiter. Wenn die Ermittlung
im Schritt 405 „Ja" ergibt, geht die
Routine zum Schritt 406 weiter, in dem ermittelt wird,
ob die Variable C größer als
null ist. Wenn die Ermittlung im Schritt 406 „Ja" ergibt, geht die
Routine zum Schritt 408 weiter, in dem „1" (eins) von der Variable C subtrahiert
wird. Wenn die Ermittlung im Schritt 406 „Nein" ergibt, geht die
Routine zum Schritt 407 weiter, in dem „1" (eins) zu der Variable C addiert wird.
In jedem Fall bewegt sich die Variable C auf „0" (null) zu.
-
Im
Schritt 409 ermittelt die Informationseinbettungseinheit 104,
ob die Variable C eine geradzahlige Zahl ist. Wenn die Ermittlung
im Schritt 409 „Nein" ergibt, geht die
Routine zum Schritt 413 weiter. Wenn die Ermittlung im
Schritt 409 „Ja" ergibt, geht die
Routine zum Schritt 410 weiter, in dem ermittelt wird,
ob die Variable C größer als
null ist. Wenn die Ermittlung im Schritt 410 „Ja" ergibt, geht die
Routine zum Schritt 411 weiter, in dem „1" (eins) von der Variable C subtrahiert
wird. Wenn die Ermittlung im Schritt 410 „Nein" ergibt, geht die
Routine zum Schritt 412 weiter, in dem „1" (eins) zu der Variable C addiert wird.
In jedem Fall bewegt sich die Variable C auf „0" (null) zu.
-
Im
Schritt 413 addiert die Informationseinbettungseinheit 104 „1" (eins) zu dem Zähler i.
Anschließend
werden die nachfolgenden Schritte ab dem Schritt 402 wiederholt.
-
Wie
vorstehend dargelegt, werden die Einbettungsinformationen, z. B.
(13, 46), wie in 10(a) gezeigt, binarisiert,
sodass eine Bit-Zeichenkette mit einer Bitlänge von 16 Bit (0, 0, 0, 0,
1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0) entsteht. In der Bit-Zeichenkette
sind die aufeinanderfolgenden drei Bits an ihrem vorderen Ende alle „0". Diese drei 0-Bits
sind mit DCT-Koeffizienten (32, 9 und –14) vergleichbar. Bei den
DCT-Koeffizienten (32, 9 und –14)
ist der DCT-Koeffizient (32) eine geradzahlige Zahl und wird nicht
geändert;
der angrenzende DCT-Koeffizient (9) ist eine ungeradzahlige Zahl
und wird in die geradzahlige Zahl „8" nahe „0" umgewandelt; und der nächste DCT-Koeffizient
(–14)
ist eine geradzahlige Zahl und wird nicht geändert. Anschließend wird
eine ähnliche
Verarbeitung in der Informationseinbettungseinheit 104 durchgeführt, wodurch
die in 10(b) angegebenen Ergebnisse
entstehen. In 10(b) stellen die schraffierten
Quadrate Zielkoeffizienten dar.
-
Nachstehend
wird anhand von 2 die gesamte Verarbeitung erläutert, die
von der Bildverarbeitungsvorrichtung nach der vorliegenden Ausführungsform
durchgeführt
wird. In 2 ist der Ablauf der von der
Bildverarbeitungsvorrichtung von 1 durchgeführten Operationen
in Form eines Ablaufdiagramms dargestellt.
-
Im
Schritt S201 führt
die Decodiereinheit 101 nach Empfang von komprimierten
und codierten Daten deren Entropiedecodierung (z. B. Huffman-Decodierung)
durch, wodurch erste quantisierte Daten erzeugt werden. Im Allgemeinen
sind bei statischen Bildern die von der Decodiereinheit 101 empfangenen komprimierten
und codierten Daten JPEG-Daten.
-
Im
Schritt S202 quantisiert die Inversquantisierungseinheit 102 die
ersten quantisierten Daten von der Decodiereinheit 101 unter
Verwendung der zur Quantisierung verwendeten ersten Quantisierungstabelle 106 invers,
wodurch Frequenzbilddaten erzeugt werden. Die resultierenden Frequenzbilddaten
sind DCT-Koeffizienten, da sie von den JPEG-Daten abstammen.
-
Im
Schritt S203 quantisiert die Quantisierungseinheit 103 die
Frequenzbilddaten (DCT-Koeffizienten)
unter Verwendung der zweiten Quantisierungstabelle von 4,
wodurch zweite quantisierte Daten erzeugt werden. Die zweite Quantisierungstabelle
von 4 ist von der von der Inversquantisierungseinheit 102 verwendeten
ersten Quantisierungstabelle 106 verschieden. Die Elemente
in der zweiten Quantisierungstabelle 107 haben kleinere
Werte als die in der ersten Quantisierungstabelle 106.
-
Im
Schritt S204 verarbeitet die Informationseinbettungseinheit 104 die
zweiten quantisierten Daten von der Quantisierungseinheit 103 nach
vorgegebenen Regeln, wodurch festgelegte zusätzliche Informationen in die
zweiten quantisierten Daten eingebettet werden. Wie vorstehend dargelegt,
kann das Informationseinbettungsverfahren mit dem Schritt des Verarbeitens
der quantisierten Daten nach vorgegebenen Regeln auch den Schritt
des Umwandelns von Werten in den quantisierten Daten in geradzahlige
Zahlen oder ungeradzahlige Zahlen in Abhängigkeit von den Bitwerten
in den zusätzlichen
Informationen enthalten.
-
Nachstehend
wird eine Menge von eingebetteten Daten beschrieben. Nehmen wir
beispielsweise an, dass zusätzliche
Informationen von 16 Bit (2 Byte) in ein eingegebenes Bild von 320×240 Pixeln an
jedem DCT-Block von 8×8
Pixeln eingebettet werden. Somit sind 1200 Zahlen der DCT-Blöcke aus dem
eingegebenen Bild von 320×240
Pixeln verfügbar,
und darin können
Informationen eingebettet werden, die einem Volumen von insgesamt
2400 Byte entsprechen.
-
Im
Schritt S205 führt
die Codiereinheit 105 eine Entropiecodierung (z. B. Huffman-Codierung) der quantisierten
Daten mit den darin eingebetteten zusätzlichen Informationen durch,
wodurch JPEG-komprimierte Daten mit den darin eingebetteten zusätzlichen
Informationen erzeugt werden.
-
Nun
wird unter Bezugnahme auf 11 ein spezieller
Vergleich zwischen den quantisierten DCT-Koeffizienten, in die die
Informationen mit der Bildverarbeitungsvorrichtung nach der vorliegenden Ausführungsform
eingebettet worden sind, und der getreuen Verwendung der ersten
Quantisierungstabelle 106 als zweite Quantisierungstabelle 107 angestellt,
wobei die erste Quantisierungstabelle 106 relativ große Werte
und eine hohe Komprimierungsrate hat. Nehmen wir an, dass die vorher
eingebetteten quantisierten DCT-Koeffizienten
die in 11(a) angegebenen DCT-Koeffizienten
sind.
-
Unter
der vorgenannten Voraussetzung führt die
vorliegende Ausführungsform
zu den in 11(b) angegebenen Ergebnissen.
In diesem Fall beträgt
die Summe der Absolutwerte der Differenzen zwischen den vorher eingebetteten
DCT-Koeffizienten und den nachher eingebetteten DCT-Koeffizienten 54.
-
Unter
der vorgenannten Voraussetzung führt die
getreue Verwendung der ersten Quantisierungstabelle 106 als
zweite Quantisierungstabelle 107 zu den in 11(c) angegebenen Ergebnissen. In diesem Fall
beträgt
diese Summe 124.
-
Insbesondere
ist die vorgenannte Summe bei der vorliegenden Ausführungsform
kleiner als die Hälfte
der Summe, die durch die getreue Verwendung der ersten Quantisierungstabelle 106 als
zweite Quantisierungstabelle 107 entsteht. Mit anderen Worten,
es ist wohlverstanden, dass die vorliegende Ausführungsform vorteilhaft eine
stark unterdrückte Verschlechterung
der Bildqualität
ermöglicht,
obwohl diese Informationen in die quantisierten DCT-Koeffizienten
eingebettet werden.
-
Schließlich ist
die Bildverarbeitungsvorrichtung nach der vorliegenden Ausführungsform
so betreibbar, dass sie die codierten Daten mit Bildern, die unter
Verwendung der die größeren Werte
enthaltenden Quantisierungstabelle komprimiert worden sind, durch
Ersetzen eines größeren Werts
jedes der Elemente in der Quantisierungstabelle durch einen kleineren
Wert quantisiert. Dadurch ist bei einer kleinen Änderung des Werts der quantisierten
Daten zum Einbetten der zusätzlichen
Informationen darin die Differenz zwischen den durch die Inversquantisierung
umgewandelten Werten und den Werten vor der Einbettung der Informationen
nicht so groß.
Dieses Merkmal gestattet es, eine Masse von zusätzlichen Informationen in die
komprimierten und codierten Eingabedaten ohne Änderung der Bildqualität der Eingabedaten
einzubetten.
-
In
den codierten Daten mit Bildern, die unter Verwendung der die größeren Werte
enthaltenden Quantisierungstabelle oder stattdessen der ersten Quantisierungstabelle
komprimiert worden sind, sind fast alle DCT-Koeffizienten in Komponenten
im hohen Frequenzbereich Nullen und sind unveränderlich Nullen, wenn sie unter
Verwendung der zweiten Quantisierungstabelle erneut quantisiert
werden. Dadurch können
die zusätzlichen
Informationen nur in die quantisierten Daten in den Komponenten
im Zwischen- und niedrigen Frequenzbereich eingebettet werden, wodurch
ein geringerer Anstieg der Codemenge der codierten Daten erreicht
wird.
-
Die
komprimierten und codierten Daten, in die die zusätzlichen
Informationen eingebettet werden sollen, sind nicht auf JPEG-Daten
beschränkt, sondern
können
alternativ Bewegtbild-codierte MPEG-Daten und JPEG-2000-Daten sein.
Kurz gesagt, es sind alle codierten Daten, die mit der Quantisierung
verbunden sind, annehmbar.
-
Wie
in 5 gezeigt, müssen
nicht alle Elemente in der zweiten Quantisierungstabelle 107 einen
kleineren Wert als die in der ersten Quantisierungstabelle 106 haben.
Insbesondere kann nur ein Element an der obersten linken Position
der zweiten Quantisierungstabelle 107, an der die zusätzlichen Informationen
in die quantisierten Daten eingebettet werden sollen, einen kleineren
Wert als der entsprechende Teil der ersten Quantisierungstabelle 106 haben.
-
An
sich kann eine erste Quantisierungstabelle 106, die ursprünglich kleinere
Werte enthält,
verwendet werden, ohne dass sie durch die zweite Quantisierungstabelle 107 ersetzt
wird, da eine solche erste Quantisierungstabelle 106 ähnliche
Vorteile bietet.
-
Vorzugsweise
werden Merkmale, die die Bildverarbeitungsvorrichtung nach der vorliegenden Ausführungsform
bilden, normalerweise durch Speichereinheiten (z. B. einen ROM,
einen RAM und eine Festplatte), die vorgegebene Programmdaten enthalten,
und eine CPU (Zentraleinheit) realisiert, die so betreibbar ist,
dass sie diese Programmdaten abarbeitet. Die Programmdaten können über ein
Speichermedium, wie etwa eine CD-ROM und eine Diskette, in die Speichereinheiten
eingegeben werden.
-
Die
vorliegende Erfindung hat den Vorteil, dass eine Masse von zusätzlichen
Informationen in die komprimierten und codierten Eingabedaten ohne Änderung
der Bildqualität
dieser Eingabedaten eingebettet werden kann.
-
Nachdem
bevorzugte Ausführungsformen der
Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben
worden sind, ist klar, dass die Erfindung nicht auf diese speziellen
Ausführungsformen
beschränkt
ist und dass verschiedene Änderungen
und Modifikationen daran von Fachleuten vorgenommen werden können, wie
in den beigefügten
Ansprüchen
definiert ist.