-
HINTERGRUND
DER ERFINDING
-
Gebiet der Erfindung
-
Die
Erfindung bezieht auf ein Verfahren zur Einbettung von Wassermarken-Information,
damit durch menschliche Sinne nicht erfasst wird, wenn andere Information
in digitaler Information eingebettet ist, und auf ein Verfahren
zum Lesen von Wassermarken-Information, die in der digitalen Information
eingebettet ist, und auf eine Vorrichtung dafür. Der Begriff Wassermarken-Information
wird hier verwendet, um die einzubettende Information aufgrund ihrer
Analogie zu der Wassermarke zu beschreiben, die verwendet wird,
um das Fälschen
von Banknoten zu verhindern.
-
Beschreibung
des Standes der Technik
-
Die
Technik zur Einbettung anderer Information in digitaler Information,
damit sie durch menschliche Sinne nicht erfasst wird, wurde nun
vielfach für
den Schutz des Urheberrechts von digitalem Informationsinhalt oder
bei Systemen zum Verhindern von falscher Wiedergabe verwendet, indem
die Urheberrecht-Information, die Benutzerkennung und dergleichen
in den Informationsinhalt eingebettet wird.
-
Mit
der herkömmlichen
Technik besteht jedoch ein Problem, das die eingebettete Information
durch die verlustbehaftete Komprimierungsverarbeitung oder die Kompilierungsverarbeitung
der digitalen Information, die durch die JPEG (Joint Photograph
Expert Group) und die MPEG (Motion Picture Expert Group) dargestellt wird,
ohne weiteres gelöscht
wird. Außerdem
ist es schwierig gewesen, da die Verarbeitung kompliziert ist, die Einbettung
und das Lesen des Bewegtbilds und dergleichen auf einer Echtzeit-Grundlage
durchzuführen.
Unter der Annahme, dass das Objekt, in dem Information eingebettet
ist, beispielsweise ein Bild ist, da ein Bereich, wobei die Luminanzänderung
klein ist, vergleichsweise einfach durch das menschliche Wahrnehmungsvermögen erfasst
wird, ist es schwierig, eine Einbettung ohne Verschlechterung der
Bildqualität
durchzuführen. Außerdem wird
bei der verlustbehafteten Komprimierung die Pixelinformation in
einem Bereich gelöscht,
wo die Luminanzänderung
klein ist, anstatt in einem Bereich, wo die Luminanzänderung
groß ist.
Daher gibt es ein Problem, wenn die verlustbehaftete Komprimierung
durchgeführt
wird, nachdem die Information mit Bezug auf ein Bild mit einer kleinen
Luminanzänderung
eingebettet wird, weil die eingebettete Information nicht gelesen
werden kann.
-
J.
Zhao u.a.: "Embedding
Robust Labels into Images for Copyright Protection" offenbart ein Verfahren zur
Einbettung eines einzelnen Informationselements in digitaler Information.
Zhao u.a. offenbart kein Verfahren zur Einbettung einer Mehrzahl
von Informationselementen in digitale Information oder schlägt eines
vor.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist die Aufgabe der Erfindung, es möglich zu machen, eingebettete
Information zu lesen, sogar wenn Komprimierungsverarbeitung oder
Kompilierungsverarbeitung durchgeführt wird, um die Verschlechterung
der digitalen Information zu minimieren, sogar wenn Information
in der digitalen Information eingebettet wurde, was Probleme mit
der Technik der Einbettung der Information, die durch menschliche
Sinne nicht erfasst werden können,
gewesen sind.
-
Gemäß einem
Aspekt der Erfindung wird ein Verfahren zur Einbettung von Information
gemäß Anspruch
1 bereitgestellt.
-
Gemäß einem
weiteren Aspekt der Erfindung wird eine Vorrichtung zur Einbettung
von Information gemäß Anspruch
28 bereitgestellt.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Aufzeichnungsmedium, das
durch einen Computer gelesen werden kann und auf dem ein Informations-einbettendes
Programm aufgezeichnet wird, gemäß Anspruch
34 bereitgestellt.
-
Wenn
Information eingebettet wird, dann kann durch Einbettung der Information
in den orthogonalen Transformations-Koeffizienten, der durch die
Quantisierung durch die Datenkomprimierung relativ nicht beeinflusst
wird, die eingebettete Information bleiben, sogar wenn eine extreme
Komprimierung durchgeführt
wird. Außerdem
ist dann durch geeignetes Ausführen
der Quantisierung mit lokalen Merkmalen der digitalen Information,
die das Objekt der Informationseinbettung ist, die Verschlechterung
der digitalen Information nach der Einbettung verglichen mit dem
normalen Einbettungsverfahren minimal.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein schematisches Blockdiagramm, das eine Ausführungsform einer erfindungsgemäßen Informations-Einbettungsvorrichtung
zeigt;
-
2 ist
ein Ablaufdiagramm, das den Betrieb der Informations-Einbettungsvorrichtung
von 1 zeigt;
-
3 ist
ein schematisches Blockdiagramm, das eine Ausführungsform einer erfindungsgemäßen Informations-Lesevorrichtung zeigt;
-
4 ist
ein Ablaufdiagramm, das den Betrieb der Informations-Lesevorrichtung
von 3 zeigt;
-
5 ist
ein schematisches Blockdiagramm, das eine Ausführungsform einer Einbettungs-Verarbeitungsseite
einer Bewegtbild-Verarbeitungsvorrichtung gemäß der ersten Ausführungsform
zeigt;
-
6 ist
ein detailliertes Blockdiagramm einer Informations-Einbettungseinheit
von 5;
-
7 ist
ein schematisches Blockdiagramm, das eine Ausführungsform einer Informations-Leseverarbeitungsseite
einer Bewegtbild-Verarbeitungsvorrichtung gemäß der ersten Ausführungsform
zeigt;
-
8 ist
ein detailliertes Blockdiagramm einer Informations-Leseeinheit von 7;
-
9 ist
ein Diagramm, das die Struktur und den Verarbeitungsablauf eines
Beispiels einer Informations-Einbettungsvorrichtung
gemäß einer
zweiten Ausführungsform
zeigt;
-
10 ist ein Diagramm, das die Struktur und den
Verarbeitungsablauf eines Beispiels einer Informations-Lesevorrichtung gemäß der zweiten
Ausführungsform
zeigt;
-
11 ist ein Diagramm, das ein Beispiel einer Struktur
eines Einbettungsparameters zeigt, der bei der vorliegenden Ausführungsform
verwendet wird;
-
12 ist ein Diagramm, das den Inhalt eines ersten
Beispiels der Verarbeitung eines Blockaufteilungsabschnitts zeigt;
-
13 ist ein Diagramm, das den Inhalt eines zweiten
Beispiels der Verarbeitung des Blockaufteilungsabschnitts zeigt;
-
14 ist ein Diagramm, das die Verarbeitung eines
Frequenz-Transformationsabschnitts zeigt;
-
15 ist ein Diagramm, das ein erstes Beispiel der
Verarbeitung eines Frequenzkoeffizienten-Normierungsabschnitts zeigt;
-
16 ist ein Diagramm, das ein zweites Beispiel
der Verarbeitung des Frequenzkoeffizienten-Normierungsabschnitts
zeigt;
-
17 ist ein Diagramm, das ein Strukturbeispiel
eines Einbettungs-Verarbeitungsabschnitts und den Verarbeitungsablauf
davon zeigt;
-
18 ist ein Diagramm, das ein detailliertes Strukturbeispiel
eines Frequenzkoeffizienten-Änderungsabschnitts
in 17 und eines Verarbeitungsablaufs davon zeigt;
-
19 ist ein Diagramm, das die Verarbeitung eines
inversen Transformationsabschnitts zeigt;
-
20 ist ein Diagramm, das ein Strukturbeispiel
eines Subinformations-Leseverarbeitungsabschnitts und eines Verarbeitungsablaufs
davon zeigt;
-
21 ist ein Diagramm, das ein Beispiel der detaillierten
Struktur eines Blockgewichtungs-Bestimmungsabschnitts
in 20 und eines Verarbeitungsablaufs davon zeigt;
-
22 ist ein Diagramm, das zeigt, wie eine Bit-Nummer
d zu erhalten ist, die sich für
einen Unterscheidungs-Code und einen Unterscheidungs-Code einer
gelesenen Wassermarken-Information
je Block unterscheidet;
-
23 ist ein Diagramm zur Erläuterung eines Verfahrens zum Ändern und
eines Verfahrens zum Lesen des Frequenzkoeffizienten gemäß der vorliegenden
Ausführungsform;
-
24 ist ein schematisches Diagramm, das die Eingangs-/Ausgangsbeziehung
einer Informations- Einbettungsvorrichtung
gemäß einer
dritten Ausführungsform
zeigt;
-
25 ist ein Diagramm, das die Gesamtstruktur der
Informations-Einbettungsvorrichtung zeigt;
-
26 ist ein Diagramm, das einen Überblick
der Verarbeitung eines Bildaufteilungsabschnitts zeigt;
-
27 ist ein detailliertes Strukturdiagramm eines
Informations-Einbettungsabschnitts;
-
28 ist ein Konzeptdiagramm eines Subinformations-Puffers;
-
29 ist ein Konzeptdiagramm eines orthogonalen
Transformations-Verarbeitungsabschnitts;
-
30 ist ein Konzeptdiagramm eines orthogonalen
Transformations-Koeffizientenänderungsabschnitts;
-
31 ist ein schematisches Diagramm eines Koordinatenpuffers;
-
32 ist ein Konzeptdiagramm eines Überbereichs-Vermeidungs-Verarbeitungsabschnitt;
-
33 ist ein Konzeptdiagramm eines invers-orthogonalen Transformations-Verarbeitungsabschnitts;
-
34 ist ein Konzeptdiagramm eines Bildrekonstruktionsabschnitts;
-
35 ist ein schematisches Diagramm, das eine Eingangs-/Ausgangsbeziehung
der Informations-Lesevorrichtung gemäß der dritten Ausführungsform
zeigt;
-
36 ist ein Diagramm, das die Gesamtstruktur einer
Informations-Lesevorrichtung zeigt;
-
37 ist ein detailliertes Strukturdiagramm eines
Bildleseabschnitts;
-
38 ist ein Konzeptdiagramm eines Abschnitts-zum-Lesen-von-Information-für-einen-Block;
-
39 ist ein Konzeptdiagramm eines Subinformations-Rekonstruktionsabschnitts;
-
40 ist ein Konzeptdiagramm eines Hochgeschwindigkeits-Informations-Leseverarbeitungsabschnitts;
-
41 ist ein Konzeptdiagramm eines Hochgeschwindigkeitsabschnitts-zum-Lesen-von-Information-für-einen-Block;
-
42 ist ein schematisches Diagramm, das eine Informationseingabe-/Ausgabebeziehung
einer Informations-Einbettungsvorrichtung
gemäß einer
vierten Ausführungsform
zeigt;
-
43 ist ein Gesamtstrukturdiagramm eines Beispiels
der Informations-Einbettungsvorrichtung gemäß der vierten Ausführungsform;
-
44 ist ein Konzeptdiagramm eines Bildaufteilungsabschnitts;
-
45 ist ein detailliertes Strukturdiagramm eines
Informations-Einbettungsabschnitts;
-
46 ist ein Konzeptdiagramm eines Frequenz-Transformationsabschnitts;
-
47 ist ein schematisches Diagramm eines Subinformations-Puffers;
-
48 ist ein Konzeptdiagramm eines Frequenzkoeffizienten-Änderungsverarbeitungsabschnitts;
-
49 ist ein schematisches Diagramm eines Koordinatenpuffers;
-
50 ist ein Diagramm, das die Verarbeitung eines Überbereichs-Vermeidungs-Verarbeitungsabschnitts
zeigt;
-
51 ist ein Konzeptdiagramm eines Abschnitts-zur-Inversen-Frequenz-Transformation;
-
52 ist ein Konzeptdiagramm eines Bildrekonstruktionsabschnitts;
-
53 ist ein schematisches Diagramm, das die Eingangs-/Ausgangsbeziehung
einer Informations-Lesevorrichtung
gemäß der vierten
Ausführungsform
zeigt;
-
54 ist ein Gesamtstrukturdiagramm eines Beispiels
der Informations-Einbettungsvorrichtung gemäß der vierten Ausführungsform;
-
55 ist ein Konzeptdiagramm eines Differential-Bildgebungsabschnitts;
-
56 ist ein Konzeptdiagramm eines Bildauflösungsabschnitts;
-
57 ist ein detailliertes Strukturdiagramm eines
Informations-Leseabschnitts;
-
58 ist ein Konzeptdiagramm eines Abschnitts-zum-Lesen-von-Information-für-einen-Block;
-
59 ist ein Konzeptdiagramm eines Subinformations-Rekonstruktionsabschnitts;
-
60 ist ein weiteres Strukturdiagramm des Informations-Leseabschnitts;
-
61 ist ein schematisches Diagramm, das die Informations-Eingangs/Ausgangs-Beziehung
einer Informations-Einbettungsvorrichtung
gemäß einer
fünften
Ausführungsform
zeigt;
-
62 ist ein Gesamtstrukturdiagramm eines Beispiels
der Informations-Einbettungsvorrichtung gemäß der fünften Ausführungsform;
-
63 ist ein Konzeptdiagramm eines Bildauflösungsabschnitts
von 62;
-
64 ist ein Konzeptdiagramm der Verarbeitung eines
Abtastratenverringerungseinrichtung (down-sampler) von 62;
-
65 ist ein Konzeptdiagramm eines Frequenz-Transformationsabschnitts
von 62;
-
66 ist ein Strukturdiagramm eines Informations-Einbettungsabschnitts
von 62;
-
67 ist ein schematisches Diagramm eines Subinformations-Puffers
von 66;
-
68 ist ein Konzeptdiagramm einer schematischen
Struktur und der Verarbeitung des Frequenzkoeffizienten-Änderungsabschnitts von 66;
-
69 ist ein Konzeptdiagramm eines inversen Frequenz-Transformationsabschnitts;
-
70 ist ein Konzeptdiagramm einer Verarbeitung
eines Abtastratenerhöhungseinrichtung (up-sampler)
von 62;
-
71 ist ein Konzeptdiagramm eines Bildrekonstruktionsabschnitt
von 62;
-
72 ist ein schematisches Diagramm, das die Informations-Eingang-/Ausgangsbeziehung
einer Informations-Lesevorrichtung
gemäß der fünften Ausführungsform
zeigt;
-
73 ist ein Gesamtstrukturdiagramm eines Beispiels
der Informations-Lesevorrichtung gemäß der fünften Ausführungsform;
-
74 ist ein Konzeptdiagramm der Verarbeitung einer
Abtastratenverringerungseinrichtung (down-sampler) von 73;
-
75 ist ein Strukturdiagramm eines Informations-Leseabschnitts von 73; und
-
76 ist ein Konzeptdiagramm einer schematischen
Struktur und der Verarbeitung eines Bitinformations-Leseabschnitts von 73.
-
BESCHREIBUNG
BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Das
Informations-Einbettungsverfahren, das Informations-Leseverfahren und
die Vorrichtung davon gemäß einer Ausführungsform
der Erfindung werden nun mit Bezug auf die begleitenden Zeichnungen
beschrieben.
-
Zuerst
wird die Struktur und der allgemeine Betrieb der Informations-Einbettungsvorrichtung
und der Informations-Lesevorrichtung
der Erfindung erläutert.
-
1 ist
ein schematisches Blockdiagramm, das eine Ausführungsform einer Informations-Einbettungsvorrichtung
der Erfindung zeigt. In 1 umfasst die Informations-Einbettungsvorrichtung 1:
einen Blockbildungsabschnitt 11 (einen Abschnitt zum Aufteilen
der Information in Blöcke),
einen orthogonalen Transformationsabschnitt 12, einen Einbettungskoeffizienten-Auswahlabschnitt 13,
einen Informations-Einbettungsabschnitt 14 und einen invers-orthogonalen Transformationsabschnitt 15.
-
Ein Überblick
des Betriebs dieser Informations-Einbettungsvorrichtung 1 wird
unter Verwendung von 2 mit Bezug auf 1 beschrieben.
-
Zuerst
werden zu verarbeitende ursprüngliche
Daten 2 in Datengruppen mit einer vorbestimmten Größer, die
Blöcke
genannt werden, durch den Blockbildungsabschnitt 11 aufgeteilt
(Schritt S11).
-
Dann
führt der
orthogonalen Transformationsabschnitt 12 eine orthogonale
Transformation für
jeden Block durch, und Koeffizienten der orthogonalen Transformation
werden erhalten (Schritt S12).
-
Danach
wird der Anfangswert-einer-Zufallssequenz 31 in dem Schlüssel-der-Einbettungsinformation 3 durch
den Einbettungskoeffizienten-Auswahlabschnitt 13 gelesen,
und eine Zufallssequenz wird durch den Anfangswert-der-Zufallssequenz 31 erzeugt.
Außerdem
werden Koeffizienten, bei denen Wassermarken-Information 4 eingebettet
sein wird, mit der Zufallssequenz in den Einbettungskoeffizienten-Auswahlabschnitt 13 bestimmt
(Schritt S13).
-
Die
Wassermarken-Information 4 wird sequenziell durch den Informations-Einbettungsabschnitt 14 eingebettet,
indem die bei Schritt S13 bestimmten Koeffizienten mit einem Quantisierer-Koeffizientenmaßstab 32 quantisiert
werden, die die Information ist, die sich auf die Quantisierung
bei dem Schlüssel-der-Einbettungsinformation 3 bezieht,
und die Wassermarken-Information 4 mit einer beliebigen
Länge von
Bits, die die Wassermarken-Information ist (Schritt S14). Danach
führt der
invers-orthogonale Transformationsabschnitt 15 eine invers-orthogonale
Transformation für
die Koeffizienten aus, bei denen Wassermarken-Information 4 bei Schritt
S14 eingebettet wird, um einen Block zu bilden, bei dem die Wassermarken-Information 4 eingebettet ist,
und kombiniert aufgeteilte Blöcke
und rekonstruiert die ursprüngliche
Form, gibt dann die eingebetteten Daten 5 aus, die mit
der Wassermarken-Information 4 eingebettete
Daten sind (Schritt S15).
-
Wie
oben beschrieben, bettet die Informations-Einbettungsvorrichtung 1 die
Wassermarken-Information 4 in den ursprünglichen Daten 2 mit
dem Schlüssel-der-Einbettungsinformation 3 ein,
und gibt die eingebetteten Daten 5 aus. Im Übrigen wird
angenommen, dass mindestens der Anfangswert-einer-Zufallssequenz 31,
der bei dem Einbettungskoeffizienten-Auswahlabschnitt 13 verwendet
wird, und der Quantisierer-Koeffizientenmaßstab 32, der bei
dem Informations-Einbettungsabschnitt 14 verwendet wird,
in dem Schlüssel-der-Einbettungsinformation 3 enthalten
sind. Hier bedeutet die orthogonalen Transformationskoeffizienten-Änderungsbreite 33 die
Information bezogen auf das Verfahren zum Quantisieren des orthogonalen
Transformationskoeffizienten oder zum Lesen der eingebetteten Information.
-
3 ist
ein schematisches Blockdiagramm, das eine Ausführungsform einer erfindungsgemäßen Informations-Lesevorrichtung 6 zeigt.
Die Informations-Lesevorrichtung 6 umfasst: einen Blockbildungsabschnitt 21,
einen Einbettungskoeffizienten-Auswahlabschnitt 22, einen
Abschnitt-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 und
einen Informations-Leseabschnitt 24.
-
Der
allgemeine Betrieb dieser Informations-Lesevorrichtung 6 wird unter
Verwendung von 4 mit Bezug auf 3 beschrieben.
-
Zuerst
werden die eingebetteten Daten 5 in Blöcke durch den Blockbildungsabschnitt 21 aufgeteilt (Schritt
S21). Im Übrigen
führt der
Blockbildungsabschnitt 21 den gleichen Vorgang wie der
Blockbildungsabschnitt 11 bei der Informations-Einbettungsvorrichtung 1 aus
und teilt die Information in Blöcke
auf, die die gleiche Größe wie die
des Blocks zur Zeit der Einbettung der Information aufweisen.
-
Als
nächstes
wird der Anfangswert-einer-Zufallssequenz 31, der zur Zeit
der Einbettung der Wassermarken-Information 4 verwendet
wird, durch den Einbettungskoeffizienten-Auswahlabschnitt 22 gelesen,
und eine Zufallssequenz wird durch Verwenden des Anfangswerts-einer-Zufallssequenz 31 erzeugt.
Außerdem werden
Koeffizienten (die das Objekt sind), von denen die Wassermarken-Information 4 gelesen
wird, durch Verwenden der Zufallssequenz bei dem Einbettungskoeffizienten-Auswahlabschnitt 22 bestimmt
(Schritt S22). Dieser Einbettungskoeffizienten-Auswahlabschnitt 22 muss den
gleichen Vorgang wie den des Einbettungskoeffizienten-Auswahlabschnitts 13 der
Informations-Einbettungsvorrichtung 1 durchführen.
-
Dann
führt,
um die Koeffizienten zu erhalten, die als das Objekt bei Schritt
S22 bestimmt werden, der Abschnitt-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 eine orthogonale
Transformation für
jeden bei Schritt S21 erhaltenen Block aus (Schritt S23). Die hier
verwendete orthogonale Transformation muss die gleiche Transformation
sein, die bei dem orthogonalen Transformationsabschnitt 12 der
Informations-Einbettungsvorrichtung 1 verwendet wird.
-
Dann
wird mit dem Informations-Leseabschnitt 24 jedes Bit der
eingebetteten Wassermarken-Information sequenziell von den erhaltenen
Koeffizienten bei Schritt S23 gelesen, und die eingebettete Wassermarken-Information 4 wird
ausgegeben (Schritt S24). Außerdem
werden bei dem Informations-Leseabschnitt 24 der
Quantisierer-Koeffizientenmaßstab 32 zum
Abtasten des Bits verwendet, wobei er jedoch nicht immer gemäß dem Bit-Leseverfahren
verwendet wird.
-
Wie
oben beschrieben ist, wird die Wassermarken-Information 4 aus den eingebetteten
Daten 5 gelesen, bei denen die Information durch die Informations-Einbettungsvorrichtung 1 eingebettet
ist.
-
Im Übrigen kann
die Reihenfolge der obigen Schritte S23 und S22 geändert werden.
D.h., die durch den Blockbildungsabschnitt 21 erhaltenen
Blöcke
werden durch den Abschnitt-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 orthogonal
transformiert, um die orthogonale Transformations-Koeffizientengruppe
für den
gesamten Block zu erhalten. Dann wird der zur Zeit der Einbettung
der Information verwendete Anfangswert-einer-Zufallssequenz 31 durch
den Einbettungskoeffizienten-Auswahlabschnitt 22 gelesen,
und der erste orthogonale Transformations-Koeffizient zum Lesen der eingebetteten
Information wird aus der erhaltenen orthogonalen Transformations-Koeffizientengruppe
ausgewählt.
Außerdem
kann der orthogonalen Transformations-Koeffizient (der das Objekt
ist), von dem die Information sequenziell durch die Zufallszahl
gelesen wird, aus der erhaltenen orthogonalen Transformations-Koeffizientengruppe
ausgewählt
werden.
-
Die
Informations-Einbettungsvorrichtung 1 und die Informations-Lesevorrichtung 6 werden
nun ausführlich
für jede
Ausführungsform
mit einem Bewegtbild oder einem Standbild als ein Beispiel der ursprünglichen
Daten 2 beschrieben, in die die Information einzubetten
ist.
-
(Erste Ausführungsform)
-
Eine
erste Ausführungsform
der Erfindung wird nun mit Bezug auf die begleitenden Zeichnungen
beschrieben.
-
5 ist
ein Diagramm, das die Verarbeitung der Bewegtbild-Verarbeitungsvorrichtung
auf der Informations-Einbettungsverarbeitungsseite
gemäß der Erfindung
und den Datenfluss davon zeigt. Mit der Bewegtbild-Verarbeitungsvorrichtung 101 werden
ein codiertes ursprüngliches
Bewegtbild 102, einen Schlüssel-der-Einbettungsinformation 103 und
Wassermarken-Information 104 eingegeben, und ein Informations-eingebettetes-codiertes-Bewegtbild 105 wird
ausgegeben.
-
Die
Bewegtbild-Verarbeitungsvorrichtung 10 empfängt das
codierte ursprüngliche
Bewegtbild 102 und interpretiert das Format des Bildes
mit dem Decodier-Abschnitt 106, um eine Decodierung durchzuführen. Der Decodier-Abschnitt 106 liest
zuerst die horizontalen und vertikalen Pixelnummern und die Einheitsbildnummern
in der Zeitachsenrichtung 107 aus dem empfangenen Bewegtbild
und sendet diese an die Informations-Einbettungseinheit 108. Hier
sind die Einheitsbildnummern in der Zeitachsenrichtung beispielsweise
die Frame-Nummern in der GOP (Group of Pictures = Gruppe von Bildern)
bei dem digitalen Bewegtbild-Codierverfahren der MPEG (Moving Picture
image coding Experts Group). Danach löst der Decodier- Abschnitt 106 die
Bewegtbild-Daten in Attribut-Information 109 des Bewegtbilds
und Frame-Bilder 110 (beispielsweise Frame-Bilder je 15
Stück)
der Einheitsbildnummern in der Zeitachsenrichtung auf, und sendet
die Attribut-Information 109 sequenziell zu dem Codier-Abschnitt 111 und
die Frame-Bilder 110 der
Einheitsbildnummern in der Zeitachsenrichtung zu der Informations-Einbettungseinheit 108.
Die Informations-Einbettungseinheit 108 empfängt als
eine Eingabe den Schlüssel-der-Einbettungsinformation 103,
die Wassermarken-Information 104,
die horizontalen und vertikalen Pixelnummern des Bildes und die
Einheitsbildnummern in der Zeitachsenrichtung 107, und
die Frame-Bilder 110 der Einheitsbildnummern in der Zeitachsenrichtung,
und führt
die Informations-Einbettungsverarbeitung durch, um die Informations-eingebetteten
Frame-Bilder 112 der Einheitsbildnummer in der Zeitachsenrichtung
auszugeben. Der Codier-Abschnitt 111 codiert die Attribut-Information 109 des Bewegtbildes
und die Informations-eingebetteten Frame-Bilder 112 der
Einheitsbildnummern in der Zeitachsenrichtung, während diese synchron empfangen
werden, und gibt das Informations-eingebettete-codierte-Bewegtbild 105 aus.
-
Wie
oben beschrieben ist, bezieht sich diese Ausführungsform auf die Bewegtbild-Verarbeitungsvorrichtung 101,
die die Information in dem bereits durch MPEG codierten Bewegtbild
und der gleichen einbettet und sie erneut als das codierte Bewegtbild
aus gibt. Beim Vergleichen von 1 und 2 entspricht
die Informations-Einbettungseinheit 108 in 5 der
Informations-Einbettungsvorrichtung 1 in 1.
Außerdem entsprechen
die Gruppe von Bildern 110 und die Gruppe von Informations-eingebetteten
Bildern 112 in 5 den ursprünglichen Daten 2 bzw.
den eingebetteten Daten 5 in 1. Außerdem entsprechen
der Schlüssel-der-Einbettungsinformation 103 und
die Wassermarken-Information 104 in 5 dem
Schlüssel-der-Einbettungsinformation 3 bzw.
der Wassermarken-Information 4 in 1.
-
Als
nächstes
wird die Informations-Einbettungseinheit 108 beschrieben. 6 ist
ein Strukturdiagramm der Informations-Einbettungseinheit 108,
die eine orthogonale M × N × T Transformation
verwendet. Hier ist M die horizontale Pixelnummern des Bildes, N
ist die vertikale Pixelnummern des Bildes und T ist die Einheitsbildnummern
in der Zeitachsenrichtung, wobei diese jedoch lediglich ein Beispiel
sind.
-
Zuerst
wird die Strukturkorrespondenz der Informations-Einbettungseinheit 108 von 6 mit
der Informations-Einbettungsvorrichtung 1 von 1 beschrieben.
Die Funktionen des Blockbildungsabschnitts 11 und des orthogonalen
Transformations-Abschnitts in 1 sind
in einem orthogonalen M × N × T Transformations-Abschnitt 114 in 6 enthalten.
Die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1 wird
durch einen Teil der Funktion eines Informations-Einbettungsabschnitts 121 und
eines Zufallszahlengenerators 119 in 6 verwirklicht,
und der Informationseinbettungs-Abschnitt 14 in 1 entspricht
einem Teil der Funktion des Informations-Einbettungsabschnitt 121 und
eines Kopfsteuerabschnitts 118 in 6. Außerdem entspricht
der invers-orthogonale Transformations-Abschnitt 15 in 1 einem
invers-orthogonalen M × N × T Transformations-Verarbeitungsabschnitt 124 und
einem Überbereichsvermeidungs-Verarbeitungsabschnitt 123.
Außerdem
werden in 6 verschiedene Puffer bereitgestellt,
um in den jeweiligen Verarbeitungsabschnitten verwendet zu werden.
-
In 6 transformiert
bei der Informations-Einbettungseinheit 108 zuerst
der orthogonale M × N × T Transformations-Verarbeitungsabschnitt 114 die
eingegebenen horizontalen und vertikalen Pixelzahlen (M und N) und
die Einheitsbildzahlen in der Zeitachsenrichtung (M × N × T) 107 und
die Frame-Bilder 110 der Einheitsbildnummern in der Zeitachsenrichtung
in eine M × N × T-Koeffizientenmatrix 115.
Diese Koeffizientenmatrix 115 wird in einem Matrixpuffer 116 gespeichert.
-
Andererseits
wird die Wassermarken-Information 104 in dem Puffer 117 gespeichert.
Hier wird angenommen, dass die eingegebene Wassermarken-Information 104 eine
Bit-Matrix b0, b1 ...
bn-1 ist (wobei die Bitlänge als n gekennzeichnet ist).
Der Kopfsteuerabschnitt 118 fixiert die Kopfposition an
dem ersten Bit b0 jedes Mal, wenn es eine
Eingabe neuer Wassermarken-Information 104 gibt.
-
Der
Zufallszahlengenerator 119 erzeugt eine Zufallszahl (ri,k) 120 je Bit der Wassermarken-Information 104,
wobei die erstere Hälfte
des eingegebenen Schlüssels
der Einbettungsinformation 103 als der Anfangswert-einer-Zufallssequenz 31 gekennzeichnet
wird, und sendet sie an den Informations-Einbettungsabschnitt 121.
Hier sei angenommen, dass der Zufallszahlengenerator 119 eine
ausreichend große
Ziffer erzeugt, sodass es keinen Konflikt miteinander gibt. Die
letztere Hälfte
des eingegebenen Schlüssels
der Einbettungsinformation 103 wird an den Informations-Einbettungsabschnitt 121 gesendet
und in einen Informationseinbettungs-Intensitätseinbettungsbereich transformiert,
der der Quantisierer-Koeffizientenmaßstab 32 ist.
-
Das
Nächste
ist eine Beschreibung des Falls, in dem das k-te eingebettete Informationsbit
bk ∊ {0, 1} ist, das durch einen
Informationslesekopf unter der in einem Puffer 117 gespeicherten
Wassermarken-Information 104 gelesen wird, in einer M × N × T Koeffizientenmatrix
[c(h,v,t)]i eingebettet
ist, die in dem Matrixpuffer 116 gespeichert ist.
-
Der
Informations-Einbettungsabschnitt
121 wählt einen Koeffizienten
in einer niederfrequenten
Domäne
unter der M × N × T Koeffizientenmatrix
[c
h,v,c)]
i, die
in dem Matrixpuffer
116 gespeichert ist, mit der von dem
Zufallszahlengenerator
119 gesendeten Zufallszahl r
i,k, sodass es keinen Konflikt in der orthogonalen
Transformationsmatrix gibt, und ändert
seinen Wert wie folgt:
In dem Fall, in dem die eingebettete
Information b
k gleich
ist, in:
in dem Fall, in dem die eingebettete
Information b
k nicht gleich
ist, und
gleich
ist, und in
in dem Fall, in dem die eingebettete
Information b
k nicht gleich
und
nicht gleich mit:
um dadurch das Bit k einzubetten,
das in der Wassermarken-Information
104 ist.
Der somit ausgewählte
orthogonale Transformationskoeffizient wird mit dem Informationseinbettungs-Intensitäts-Einbettungsbereich (embedding_range)
quantisiert, und der nächste
quantisierte Wert wird gemäß dem Wert
des Bits k ausgewählt,
um dadurch die Wassermarken-Information einzubetten (Einbettung).
-
Die
Koordinaten
des eingebetteten Koeffizienten
werden in einem Koordinatenpuffer
122 gespeichert.
-
Der
Kopfsteuerabschnitt 118 verschiebt die Kopfposition zu
der Kopfposition b0, wenn die Kopfposition bn ist, und verschiebt die Kopfposition um
eins nach rechts in anderen Fällen,
wodurch die Kopfposition von bk zu bk+1 verschoben wird. Synchron damit erzeugt
der Zufallszahlengenerator 119 die nächste Zufallszahl.
-
Der
Informations-Einbettungsabschnitt 21 nimmt die Eingabe
jedes Bits in dem Puffer 117 und die Zufallszahl 120 sequenziell
und führt
den oben erwähnten
Einbettungsprozess n Mal für
die Bitlänge
der Wassermarken-Information 104 mit Bezug auf die M × N × T-Koeffizientenmatrix
in dem Matrixpuffer 116 durch. Dies wird dann noch einmal
wiederholt, wie es durch die geheime Information in dem Informations-Einbettungsabschnitt 121 angegeben
wird (hier sei angenommen, dass einmal als die Anzahl von Wiederholungsmalen
spezifiziert wird). Dadurch wird die Wassermarken-Information 104 in
dem M × N × T-Frame-Bild
in einem geschlossenen Format eine Mehrzahl von Malen (n × 1) eingebettet.
-
Bei
der Ausführungsform
von 6 wird, nachdem die Einbettungsverarbeitung in
dem Informations- Einbettungsabschnitt 121 1 × n Mal
wiederholt wird, die in dem Matrixpuffer 16 gespeicherte
Koeffizientenmatrix [c(h,v,t)]i zu
dem Überbereichsvermeidungs-Verarbeitungsabschnitt 123 gesendet.
Der Überreichsvermeidungs-Verarbeitungsabschnitt 123 arbeitet
mit dem invers-orthogonalen M × N × T Transformations-Verarbeitungsabschnitt 124 und
dem orthogonalen M × N × T Transformations-Verarbeitungsabschnitt 114 zusammen,
um den Überbereich
des Pixelwerts zu vermeiden.
-
Hier
sei angenommen, dass die in den Überbereichsvermeidungs-Verarbeitungsabschnitt 123 eingegebene
Koeffizientenmatrix [c(h,v,t)]i eine
Pixelwertmatrix [p(h,v,t]i ist,
die mit dem invers-orthogonalen M × N × T Transformations-Verarbeitungsabschnitt 124 invers-transformiert wird.
Mit der Pixelwertmatrix, die durch inverses Transformieren der in
den Überbereichsvermeidungs-Verarbeitungsabschnitt 123 eingegebenen
Koeffizientenmatrix [c(h,v,t)]i mit
der M × N × T invers-orthogonalen
Transformationsmatrix 124 erhalten wird, wird die eine,
die durch Ändern
der Koeffizientenmatrix in den minimalen Wert des Werts erhalten
wird, den die (0, 0, 0) Komponente (Gleichstromkomponente) in der
Definition der M × N × T orthogonalen
Transformation annehmen kann (beispielsweise, wenn DCT (Discrete
Cosine Transform) als die orthogonale Transformation ausgewählt wird,
ist der Wert –Lm × (M × N × T) (wobei
Lm der Mittelwert des Pixelwerts ist)) und indem alle Werte der
Koeffizienten 1 × n
Koordinaten in dem Koordinatenpuffer 122 zu 0 gemacht werden,
als [[p1(h,v,t)]i gekennzeichnet,
während
die andere, die durch Ändern
des (0, 0, 0) Komponentenwerts und der Werte verschieden von den
Komponenten der 1 × n
Koordinaten in dem Koordinatenpuffer 122 in 0 erhalten
wird, als [[p2(h,v,t)]i gekennzeichnet
wird.
-
Der Überbereichsvermeidungs-Abschnitt
123 erhält die Pixelwertmatrix
[p'
(h,v,t)]
i durch Berechnen
mit [p1(x,y,z)]i
und [p2(x,y,z)]i in dem Satz Ai = {x,y,z)|p((x,y,z)i < L
min oder
p(x,y,z)i > L
max} (L
min ist der
minmale Wert des Pixelwerts, und L
max ist
der maximale Wert des Pixelwerts) nur wenn Ai keine leere Menge
ist. Dann wird durch orthogonales Transformieren derselben mit dem
orthogonalen M × N × T Transformations-Verarbeitungsabschnitt
114 die
Koeffizientenmatrix [c'
(h,v,t)]
i erhalten,
bei der die Maßnahmen
gegen den Überbereich des
Pixelwerts getroffen wurden. In der Pixelwertmatrix [p2
(h,v,t)]
i ist jedoch, wenn ein Pixelwert kleiner
als L
min und ein Pixelwert größer als L
max zusammen existieren, der Algorithmus
dieser Überbereichsvermeidung
nicht anwendbar.
-
Bei
dem Überbereichsvermeidungs-Verarbeitungsabschnitt 123 wird
die Koeffizientenmatrix [c'(h,v,t)]i, bei der
Maßnahmen
gegen den Überbereich
des Pixelwerts getroffen wurden, erneut mit dem invers-orthogonalen
M × N × T Transformations-Verarbeitungsabschnitt 124 invers-orthogonal
transformiert, um eine Gruppe der Informations-eingebetteten Frame-Bilder 125 der
Einheitsbildnummer in der Zeitachsenrichtung auszugeben. Wie oben
beschrieben ist, wird die Verarbeitung, sodass der Wert nach der
invers-orthogonalen
Transformation einen definierten Bereich nicht überschreitet, mit dem orthogonalen
Transformations-Koeffizienten durchgeführt.
-
Durch
Wiederholen des oben erwähnten
Einbettungsprozesses für
jedes Einheitsbild in der Zeitachsenrichtung n Mal, die die einzubettende
Informations-Bitlänge ist,
für jede
der geheimen Information in dem Informationseinbettungs-Abschnitt 121 ist
die Informationsverarbeitung für
ein Bewegtbild abgeschlossen.
-
7 ist
ein Diagramm, das die Verarbeitung der Bewegtbild-Verarbeitungsvorrichtung
auf der Informations-Leseverarbeitungsseite
gemäß der Erfindung
und den Datenfluss davon zeigt. Mit einer Bewegtbild-Verarbeitungsvorrichtung 126 wird
ein Bewegtbild 127, bei dem die Information bereits eingebettet
und codiert wurde, und einen Schlüssel-der-Einbettungsinformation 128 eingegeben,
und die in dem Bewegtbild eingebettete Information, die Wassermarken-Information 129 ist,
wird ausgegeben.
-
Wie
oben beschrieben ist, bezieht sich diese Ausführungsform auf die Bewegtbild-Verarbeitungsvorrichtung 126,
die die eingebettete Information von dem Informations-eingebetteten und
codierten Bewegtbild 127 liest, das bereits durch MPEG
und dergleichen codiert wurde. Beim Vergleichen von 3 und 7 entspricht
eine Informations-Leseeinheit 132 und
ein Wassermarken-Informationsbestimmungs-Verarbeitungsabschnitt 135 in 7 der
Informations-Lesevorrichtung 6 in 3.
Außerdem
entspricht eine Gruppe von Informations-eingebetteten Bildern 133 und
die Wassermarken-Information 129 in 7 den
eingebetteten Daten 5 bzw. der Wassermarken-Information 4 in 3.
Außerdem
entspricht der Schlüssel-der-Einbettungsinformation 128 in 7 dem
Schlüssel-der-Einbettungsinformation 3 in 3.
-
Die
Bewegtbild-Verarbeitungsvorrichtung 126 empfängt das
Informations-eingebettete und codierte Bewegtbild 127 und
interpretiert das Bildformat mit dem Decodier-Abschnitt 130,
um eine Decodierung zu starten. Der Decodier-Abschnitt 130 liest
zuerst die horizontalen und vertikalen Pixelnummern und die Einheitsbildnummern
in der Zeitachsenrichtung 131 von dem empfangenen Bewegtbild
und sendet sie an die Informations-Leseeinheit 132. Danach löst der Decodier-Abschnitt 130 die
Bewegtbilddaten in die Frame-Bilder 133 der Einheitsbildnummer
in der Zeitachsenrichtung auf und sendet sie an die Informations-Leseeinheit 132.
Die Informations-Leseeinheit 132 empfängt als
eine Eingabe den Schlüssel-der-Einbettungsinformation 128 und die
horizontalen und vertikalen Pixelnummern des Bildes und die Einheitsbildnummern
in der Zeitachsenrichtung 131 und unterwirft sie der Informations-Leseverarbeitung
und gibt die eingebettete Information 134 in jedem Einheitsbild
in der Zeitachsenrichtung aus. Der Wassermarken-Informations-Bestimmungsverarbeitungsabschnitt 135 bestimmt
die Wassermarken-Information mit einem Fehlerkorrektur-Code, wie
beispielsweise Mehrheitsbeschluss sequenziell, von der in jedem
Einheitsbild in der Zeitachsenrichtung eingebetteten Information,
die als eine Eingabe gegeben wird, und gibt das Ergebnis als die
in dem Bewegtbild eingebettete Information 129 aus.
-
Als
nächstes
wird die Informations-Leseeinheit 132 genauer beschrieben. 8 ist
ein Strukturdiagramm der Informations-Leseeinheit 132,
die eine orthogonale M × N × T Transformation
verwendet. Hier sind M, N und T die gleichen Werte wie die zur Zeit
der Einbettung der Information verwendete orthogonale Transformation.
-
Die
Informations-Lesevorrichtung 6 in 3 und
die Informations-Leseeinheit 132 in 8 werden nun
verglichen. Die Funktion des Blockbildungsabschnitts 21 in 3 ist
in einem orthogonalen M × N × T Transformations-Verarbeitungsabschnitt 140 in 8 enthalten.
Der Einbettungskoeffizienten-Bestimmungsabschnitt 22 in 3 entspricht
einem Zufallszahlengenerator 137 in 8. Außerdem ist
die Funktion des Abschnitts-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 in 3 in
dem orthogonalen M × N × T Transformations-Verarbeitungsabschnitt 140 in 8 enthalten,
während
der Informations-Leseabschnitt 24 in 3 einem
Informations-Leseverarbeitungsabschnitt 139 und
dem Mehrheitsbeschlusssabschnitt 142 in 8 entspricht.
-
In 8 erzeugt
der Zufallszahlengenerator 137 eine Zufallszahl (ri,k) 138 eine nach der anderen,
wobei die erstere Hälfte
des eingegebenen Schlüssels-der-Einbettungsinformation 128 als
der Anfangswert-einer-Zufallssequenz 31 gekennzeichnet
wird, und sendet sie an den Informations-Leseabschnitt 139.
Die letztere Hälfte
des eingegebenen Schlüssels
der Einbettungsinformation 128 wird an den Informations-Leseverarbeitungsabschnitt 139 gesendet
und in einen Informations-Leseintensitäts- Verifizierungsbereich (verifying_range)
transformiert, der dem Quantisierer-Koeffizientenmaßstab 32 entspricht.
-
Es
sei angenommen, dass der einzugebende Schlüssel-der-Einbettungsinformation 128 der
gleiche wie der Schlüssel-der-Einbettungsinformation 103 ist,
der zur Zeit der Einbettung der Information verwendet wird, und
dass der Zufallszahlengenerator 137 eine ausreichend große Ziffer
erzeugt, sodass es keinen Konflikt miteinander gibt, sodass, falls
weitere Schlüssel
eingegeben werden, die korrekte Information nicht gelesen werden
kann. Außerdem
sei angenommen, dass die n-Bitinformation, die noch einmal wiederholt
wird, in dem Informations-eingebetteten Frame-Bild 133 der
Einheitsbildnummer in der Zeitachsenrichtung eingebettet ist.
-
Das
Nächste
ist eine Beschreibung des Falls, in dem der k-te (k: ganze Zahl
größer als
0) Informations-Bit bk ∊ {0, 1},
das in den Informations-eingebetteten Frame-Bildern 133 der
Einheitsbildnummer in der Zeitachsennummer eingebettet ist, gelesen
wird.
-
Der
Informations-Leseverarbeitungsabschnitt
139 wählt die
Komponentenposition des orthogonalen Transformationskoeffizienten
in einer niederfrequenten
Domäne
mit der von dem Zufallszahlengenerator
137 gesendeten Zufallszahl
r
i,k aus, sodass es keinen Konflikt in der
orthogonalen Transformationsmatrix gibt, und sendet sie an den orthogonalen M × N × T Transformations-Verarbeitungsabschnitt
140,
der lediglich eine Komponente des orthogonalen Transformationskoeffizienten
berechnet. Als Ergebnis wird der orthogonale M × N × T Transformationskoeffizient
erhalten. Durch Berechnen
lediglich einer Komponente des orthogonalen Transformationskoeffizienten
mit dem orthogonalen M × N × T Transformations-Verarbeitungsabschnitt
140 wird
ein Hochgeschwindigkeits-Lesen
der Information möglich,
was einer Verarbeitung auf einer Echtzeitgrundlage, wie beispielsweise
während der
Reproduktion eines Bewegtbildes ermöglicht.
-
Der
Informations-Leseverarbeitungsabschnitt
139 berechnet den
folgenden Ausdruck:
mit Bezug auf den erhaltenen
Wert des orthogonalen M × N × T Transformationskoeffizienten
um die k-te Information zu
lesen, die in den Informations-eingebetteten Frame-Bildern
133 der
Einheitsbildnummer in der Zeitachsenrichtung eingebettet ist, und
speichert sie in dem (k Modus n) eines Puffers
141. Dadurch
wird die k-te Information von dem nächsten quantisierten Wert des
orthogonalen Transformationskoeffizienten erhalten, der den Informations-Leseintensitäts-Verifizierungsbereich
verwendet. Außerdem
wird die Information in dem Puffer
141 an einen Mehrheitsbeschlusssabschnitt
142 gesendet.
-
Der
oben erwähnte
Informations-Leseprozess wird n Mal durchgeführt, die die Bitlänge der
in jedem Einheitsbild in der Zeitachsenrichtung eingebettete Information
ist, und wird ferner noch einmal wiederholt, die durch die geheime
Information in dem Informations-Leseverarbeitungsabschnitt 139 gezeigt
wird, um einen Satz von Information der eingebetteten n Bitlänge für jedes
Bit zu lesen. Dies wird dann in den Mehrheitsbeschlusssabschnitt 142 eingegeben,
und eine Entscheidung wird mit einem Fehlerkorrektur-Code, wie beispielsweise
einer Mehrheitsbeschluss getroffen, um ein Stück von Information 134 auszugeben,
das in jedem Einheitsbild in der Zeitachsenrichtung eingebettet
ist.
-
Die
Erfindung wurde oben beschrieben, wobei jedoch mit der Erfindung
die Informationseinbettung mit Bezug auf unterschiedliche Medien
durchgeführt
wird, d.h. das Gesamtbewegtbild und jedes Standbild, durch Kennzeichnen
von T als 1 zur Zeit der Einbettung der Information in dem Bewegtbild,
und Einbettung der geschlossenen Information für jeden Rahmen. Somit ist es
möglich,
die Information aus den unterschiedlichen Medien, d.h. den jeweiligen
Bewegtbildern und den Standbildern, zu lesen.
-
Außerdem kann
durch Durchführen
der orthogonalen Transformation einer Mehrzahl von Größen mit wenig
Einfluss aufeinander aufgrund der digitalen Wassermarken-Verarbeitung,
die die orthogonale Transformation verwendet, und dem Durchführen der
Informationseinbettung getrennt mit Bezug zu jeder orthogonalen Transformationsmatrix,
eine Mehrzahl von Information eingebettet und gelesen werden. Wenn
nämlich
eine Mehrzahl von Wassermarken-Informationen eingebettet ist, wird
die erste Information in dem orthogonalen Transformationskoeffizienten
eingebettet, der durch Teilen der Information in Blöcke mit
einer vorbestimmten Größe erhalten
wird, um die erste Information einzubetten. Wenn dann die N-te Information
von der zweiten und nachfolgenden Information eingebettet wird,
wird die N-te Information mit Bezug auf den orthogonalen Transformationskoeffizienten
eingebettet, der durch Teilen der Information in Blöcke erhalten
wird, die eine unterschiedliche Größe von der der Blöcke aufweisen,
die zur Einbettung der (N – 1)-ten
Information von 1 aufgeteilt wurden, und die ein Größe mit wenig
Einfluss aufeinander aufgrund der digitalen Wassermarken-Verarbeitung
aufweisen. Wenn andererseits eine Mehrzahl von Wassermarken-Information
mit einer Mehrzahl von Blockgrößen eingebettet
ist, wird die Information ihrerseits in Blöcke mit der gleichen Größe wie die
Größe aufgeteilt,
die zur Zeit der Einbettung der Information aufgeteilt wurde, das
Bit wird zum Erhalten des orthogonalen Transformationskoeffizienten
für jeden
Block von jeder Blockgröße gelesen
und die eingebettete Wassermarken-Information wird sequenziell gelesen
wird.
-
Außerdem wird
es möglich,
in dem die Mehrzahl der Wassermarken-Information alle gleich gemacht wird
und die erhaltenen mehreren Information miteinander verglichen werden,
das Vorhandensein einer unehrlichen Änderung in dem Informations-eingebetteten
Bewegtbild zu erfassen.
-
Gemäß der vorliegenden
Ausführungsform
können
die folgenden Wirkungen erhalten werden:
- (1)
Es ist möglich,
das Bewegtbild, die Schlüsselinformation
und die Wassermarken-Information einzugeben, um dann die Wassermarken-Information
in dem Bewegtbild einzubetten, während
die inhärente
Qualität
des Bildes beibehalten wird, und nur diese eingebettete Information
ohne Rücksicht
auf die Anwesenheit einer Codierung zu lesen.
- (2) Zur Zeit der Einbettung der Information in dem Bewegtbild
wird eine Blockverzerrung von der Wassermarken-Information durch Aufteilen des Bewegtbildes
in Gruppen von Rahmen von Einheitszeit und Einbettung der Information
mit der orthogonalen Transformation von M × M × T Größe aufgelöst. Außerdem ist durch Einbettung
der Information in einer Frequenzdomäne, die die Quantisierung aufgrund
der Informationskomprimierung nicht beeinflusst, das Lesen von Information
möglich,
sogar wenn eine extreme Komprimierung durchgeführt wird.
- (3) Zur Zeit der Einbettung der Information in dem Bewegtbild
ist es möglich,
die Information gleichzeitig mit Bezug auf unterschiedliche Medien
einzubetten, wie beispielsweise das Gesamtbewegtbild und jedes Standbild,
und diese eingebettete Information zu lesen, indem eine geschlossene
Information für
jeden Rahmen eingebettet wird.
- (4) Durch invers-orthogonales Transformieren der Informations-eingebetteten
orthogonalen Transformationskoeffizientenmatrix und Ergreifen einer
Maßnahme
gegen den Überbereich
des Pixelwertes, wird es möglich,
die Grenze zwischen der Qualität
der Wassermarken-Information
und der Rate der Fortsetzung der Wassermarken-Information zu erhöhen, die in einer Kompromissbeziehung
sind.
- (5) Durch Berechnen lediglich einer Komponente des orthogonalen
Transformationskoeffizienten, der zur Zeit des Lesens der Information
von dem Bewegtbild notwendig ist, kann die Information auf einer
Echtzeitbasis während
der Reproduktion eines Bewegtbildes gelesen werden. Somit kann die
Information mit hoher Geschwindigkeit gelesen werden.
- (6) Durch Benutzen der Eigenschaft, dass der Informationsinhalt
und die Wassermarken-Information nicht getrennt werden können, kann
sie als eine bestandbildende Technik in einem Urheberschutzsystem
hoher Ebene verwendet werden.
-
(Zweite Ausführungsform)
-
Mit
dieser Ausführungsform
wird ein Bild in Blöcken
mit einer Größe aufgeteilt,
die größer als
beispielsweise die 8 × 8
Blockgröße ist,
die bei der herkömmlichen
verlustbehafteten Komprimierung verwendet wird, und ein Teil dieses
Blocks einer Größe (Abstand
vom Ursprung), für
wenn der der diskreten Fourier-Transformation unterworfene Frequenzkoeffizient
in dem Polarkoordinatensystem angezeigt wird, wird geändert. Als Ergebnis
werden die Subinformation und der Unterscheidungs-Code, die zeigen,
dass die Einbettung abgeschlossen ist, in einem Block wiederholt
eingebettet. Somit kann die Subinformation korrekt gelesen werden, sogar
wenn die verlustbehaftete Komprimierung durchgeführt wird.
-
Außerdem wird
durch Durchführen
der Einbettung und des Subinformations-Lesens nach Normierung des
Frequenzkoeffizienten in einem Bereich bis zu einem vorbestimmten
Wert, eine schwächere
Bildverarbeitung als in dem komplizierten Bereich in einem flachen
Bereich durchgeführt,
und die Verschlechterung der Bildqualität aufgrund der Einbettung wird
unterdrückt,
während
die Widerstandsfähigkeit
gegen die Kontraständerung
beibehalten wird.
-
Außerdem kann
durch Erhöhen
(Verringern) des Änderungsbetrags
des Frequenzkoeffizienten mit dem Anstieg (Abnahme) des Wertes des
zu ändernden
Frequenzkoeffizienten die Verschlechterung der Bildqualität weiter
unterdrückt
werden. Außerdem
wird dann, wenn ein Bild in Blöcke
unterteilt wird, um einer optionalen Bildgröße zu entsprechen, ein Bildbereich,
dessen Größe nicht
ausreichend groß ist,
um einen Block zu füllen,
als ein Block behandelt, indem der unzureichende Abschnitt mit einem
Mittelwert des Pixelwerts oder durch Wiederholen eines linear symmetrischen
Musters gefüllt
wird.
-
Außerdem kann,
indem die Subinformation, die von dem gesamten Bild bezogen auf
jeden Block zu lesen ist, nach Erhalten der Zuverlässigkeit
der von dem Block gelesenen Information und Hinzufügen einer Gewichtung
zu der Information je Block gebildet wird, die korrekte Subinformation
gelesen werden, sogar wenn das Bild teilweise kompiliert ist oder
ein Bild mit einem großen
flachen Bereich der verlustbehafteten Komprimierung unterworfen
wird.
-
Die
zweite Ausführungsform
wird nun Bezug auf die begleitenden Zeichnungen beschrieben.
-
9 ist
ein Diagramm, das die Gesamtstruktur und den Ablauf der Verarbeitung
eines Beispiels einer Informationseinbettungs-Vorrichtung gemäß dieser
Ausführungsform
zeigt. Durch Vergleichen von 1 und 9 entsprechen
die Informationseinbettungs-Vorrichtung 1, die ursprünglichen
Daten 2, der Schlüssel-der-Einbettungsinformation 3,
die Wassermarken-Information 4 und die eingebetteten Daten 5 in 1 einer
Informationseinbettungs-Vorrichtung 210, einem ursprünglichen
Bild 201, einem Parameter-der-Einbettung 207,
Subinformation 202 bzw. einem eingebetteten Bild 203 in 9.
Außerdem
ist die Korrespondenz der Vorrichtung wie folgt. Der Blockbildungsabschnitt 11 und
der orthogonale Transformations-Abschnitt 12 in 1 entsprechen
einem Blockaufteilungsabschnitt 211 bzw. einem Frequenztransformationsabschnitt 212 in 9.
Außerdem
ist die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in
einem Einbettungsabschnitt 214 enthalten. Ferner entspricht
der Informationseinbettungs-Abschnitt 14 in 1 der
Funktion eines Frequenzkoeffizienten-Normierungsabschnitts 213,
dem Einbettungsabschnitt 214 und einem Teil der Funktion
eines inversen Transformationsabschnitts 215. Außerdem entspricht
der invers-orthogonale Transformationsabschnitt 15 in 1 der
verbleibenden Funktion des inversen Transformationsabschnitts 215 und einem
Bildkontrast-Einstellabschnitt 216. Hier bedeutet „Frequenztransformation", die ursprünglichen
Daten 2, in die die Information einzubetten ist, in eine
Frequenzdomäne
zu transformieren. „Orthogonale Transformation" und „Frequenztransformation", d.h. Transformation
in eine Frequenzdomäne", sind synonym, und „der orthogonale
Transformationskoeffizient" und „der Frequenzkoeffizient" sind ebenfalls synonym.
Diese synonyme Beziehung ist die gleiche bei anderen Ausführungsformen.
-
Die
Informationseinbettungs-Vorrichtung 210 nimmt die Eingabe
des ursprünglichen
Bildes 201, die einzubettende Subinformation 202 und
den Parameter-der-Einbettung 207 zum Spezifizieren des
Verfahrens der Einbettung und gibt die eingebettete Information 203 aus. 11 zeigt ein Strukturbeispiel des Parameter-der-Einbettung 207,
der umfasst: eine Blockgröße 271 zum
Spezifizieren der Größe von Blöcken, in
die die ursprüngliche
Information aufgeteilt ist (diese Blockgröße ist nicht kleiner als die
normale 8 × 8
Größe, um eine ausreichende
Widerstandsfähigkeit
gegen die verlustbehaftete Komprimierung bereitzustellen), einem
Parameter der Einbettungsintensität 272 zum Entscheiden
des Schwierigkeitsgrades zum Löschen
der eingebetteten Subinformation und des Verschlechterungsgrades
des Bildes aufgrund der Einbettungsverarbeitung, einen Einbettungsschlüssel 273 zum
Gewährleisten
der Sicherheit gegen absichtliches Löschen der Subinformation von
der eingebetteten Information, und eine Wiederholungszahl-für-einen-Block 274,
die die Zahl von Wiederholungen der Einbettung der Subinformation
je Block spezifiziert. Der Parameter der Einbettungsintensität 272 und
der Einbettungsschlüssel 273 entsprechen
dem Quantisierer-Koeffizientenmaßstab 32 bzw.
dem Anfangswert-einer-Zufallssequenz 31 in 1.
-
Mit
der Informationseinbettungs-Vorrichtung 210 wird zuerst
in dem Blockaufteilungsabschnitt 211 das ursprüngliche
Bild (Digitalbild) 201 in Blöcke mit einer Größe unterteilt,
die durch die Blockgröße 271 spezifiziert
wird, die eine der Bestandteile des Parameter-der-Einbettung 207 sind.
Wenn dieses ursprüngliche
Bild 201 in Blöcke
aufgeteilt wird, wird, wenn der Bereich an dem Ende des Bildes für die Blockgröße 217 nicht
groß genug
ist, der unzureichende Teil durch ein vorbestimmtes Verfahren gefüllt, um
einen Block zu bilden. Dieses Verfahren wird später beschrieben. Als nächstes wird
mit dem Frequenztransformationsabschnitt 212 eine diskrete
Fourier-Transformation je unterteiltem Block durchgeführt, um
eine Koeffizientenmatrix zu erhalten. Dann wird mit dem Frequenzkoeffizienten-Normierungsabschnitt 213 die
Amplitude des Frequenzkoeffizienten normiert, um eine normierte
Koeffizientenmatrix zu erhalten. Außerdem wird mit dem Frequenzkoeffizienten-Normierungsabschnitt 213 ein
Verhältnis,
das darstellt, wie sehr die Frequenz zur Zeit der Normierung expandiert/kontrahiert
wurde, als ein Änderungsverhältnis 218 an
den inversen Transformationsabschnitt 215 gesendet. Dann
wird mit dem Einbettungsabschnitt 214 durch Ändern einiger
der Koeffizientenwerte unter der normierten Koeffizientenmatrix
die Subinformation 202 durch die Wiederholungsnummer-für-einen-Block 274 wiederholt,
die eine der Bestandteile der Parameter-der-Einbettung 207 ist,
und somit eingebettet. Der Grad der Änderung der Koeffizientenwerte
wird durch den Parameter-der-Einbettungsintensität 272 spezifiziert,
der einer der Bestandteile bei dem Parameter-der-Einbettung 207 ist.
Außerdem
wird die Auswahl des Frequenzkoeffizienten zum Durchführen der
Einbettungsverarbeitung durch den Einbettungsschlüssel 273 entschieden, der
einer der Bestandteile des Parameter-der-Einbettung 207 ist.
Dann wird mit dem inversen Transformationsabschnitt 217 die
Subinformation-eingebettete Koeffizientenmatrix in den ursprünglichen
Bereich zurückgeführt und
der inversen diskreten Fourier-Transformation unterworfen. Schließlich wird
mit dem Bildkontrast-Einstellabschnitt 216 eine Verarbeitung,
um den Überbereich
des Pixelwerts zu vermeiden, bedarfsgemäß durchgeführt, um das eingebettete Bild 203 zu
erhalten.
-
10 ist ein Diagramm, das die Gesamtstruktur und
den Verarbeitungsablauf einer Ausführungsform der erfindungsgemäßen Informations-Lesevorrichtung
zeigt. Wenn 3 und 10 verglichen
werden, entsprechen der Informations-Leseabschnitt 6, die
eingebetteten Daten 5, der Schlüssel-der-Einbettungsinformation 3 und
die Wassermarken-Information 4 in 3 einer
Informations-Lesevorrichtung 220, einem zu-lesenden-Bild 205,
einem Parameter-der-Einbettung 207 bzw.
gelesener-Subinformation 206 in 10.
Außerdem entspricht
hinsichtlich der Korrespondenz der Vorrichtung der Blockbildungsabschnitt 21 in 3 dem
Blockaufteilungsabschnitt 212 in 10.
Die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 ist
in einem Subinformations-Leseabschnitt 224 enthalten. Außerdem entspricht
der Abschnitt-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 in 3 einem
Frequenztransformations-Abschnitt 222 in 10, und der Informations-Leseabschnitt 24 in 3 entspricht
einem Frequenzkoeffizienten-Normierungsabschnitt 223 und
dem Subinformations-Leseabschnitt 224 in 10.
-
Zum
Lesen der Subinformation sind das zu lesende Bild 205,
wie beispielsweise die eingebettete Information 203, und
der Parameter-der-Einbettung 207 erforderlich. Die Struktur
des Parameter-der-Einbettung 207 wird in 11 gezeigt.
-
Die
Informations-Lesevorrichtung 220 unterteilt zuerst das
zu lesende Bild 205 in Blöcke in dem Blockaufteilungsabschnitt 221 wie
bei der Informationseinbettungs-Vorrichtung 210 in 9.
Wenn ein Abschnitt an dem Ende des zu lesenden Bildes 205 unter
den aufgeteilten Blöcken
für die
Blockgröße 271 in
dem Parameter-der-Einbettung 207 nicht
groß genug
ist, wird der unzureichende Abschnitt gefüllt, um einen Block zu machen.
Mit dem Blockaufteilungsabschnitt 221 wird das Bereichsverhältnis des
Teils des zu lesenden Bildes 205 zu der Blockgröße 271 für jeden
Block erhalten und dem Subinformations-Leseabschnitt 221 als
ein Bereichsverhältnis
für jeden
Block 225 bereitgestellt. Natürlich ist, wenn der sub-aufgeteilte
Block vollständig
in dem zu lesenden Bild 205 enthalten ist, der Wert des
Bereichsverhältnisses
für jeden
Block 225 gleich 1. Dann wird mit dem Frequenztransformationsabschnitt 222 jeder
Block einer diskreten Fourier-Transformation unterworfen, um die
Koeffizientenmatrix zu erhalten. Anschließend wird mit dem Frequenzkoeffizienten-Normierungsabschnitt 223 jeder
Block einer diskreten Fourier-Transformation unterworfen, um die
Koeffizientenmatrix zu erhalten. Dann wird mit dem Frequenzkoeffizienten-Normierungsabschnitt 223 die
Amplitude des Frequenzkoeffizienten normiert, um eine normierte
Koeffizientenmatrix zu erhalten. Bei diesem Frequenzkoeffizienten-Normierungsabschnitt 223 besteht
kein Bedarf, das Änderungsverhältnis zu
bestimmen, wie bei dem Frequenzkoeffizienten-Normierungsabschnitt 213 in 9.
Mit dem Subinformations-Leseabschnitt 224 wird der zu lesende
Frequenzkoeffizient mit dem Einbettungsschlüssel 273 in den Parameter-der-Einbettung 207 bestimmt,
wie bei dem Einbettungsabschnitt 214 von 9,
und die eingebettete Information wird bei einer zu der Einbettungsverarbeitung
inversen Prozedur herausgenommen. Dann wird die Blockgewichtung
berechnet, die die Zuverlässigkeit
der von jedem Block gelesenen Information darstellt, und die Blockgewichtung
wird auf der von jedem Block gelesenen Information reflektiert,
um die gelesene Subinformation 206 zu erhalten.
-
Hier
ist, wenn das zu lesende Bild 205 ein Bild ist, bei dem
die Subinformation 202 mit der Informationseinbettungs-Vorrichtung 210 unter
Verwendung des Parameter-der-Einbettung 207 eingebettet
wird, die gelesene Subinformation 206 mit der Subinformation 202 konsistent
und kann korrekt gelesen werden. Wenn das zu lesende Bild 205 kein
Bild ist, das mit dem Parameter-der-Einbettung 207 eingebettet
ist, oder wenn es ein sehr verschlechtertes eingebettetes Bild 203 ist,
wird die gelesene Subinformation 206 nicht mit der Subinformation 202 konsistent
sein und nicht korrekt gelesen werden können.
-
Das
Strukturbeispiel jedes Abschnitts in 9 und 10 und der Inhalt der Verarbeitung wird nun ausführlich beschrieben.
-
12 und 13 sind
Diagramme, die den Inhalt der Verarbeitung von zwei Ausführungsformen
bei dem Blockaufteilungsabschnitt 211 von 9 und
bei dem Blockaufteilungsabschnitt 221 von 10 zeigen. Mit dem Blockaufteilungsabschnitten 211 und 221 wird
das Bild (das ursprüngliche
Bild 201 oder das zu lesende Bild 205) in Blöcke 2401 mit
einer Größe aufgeteilt,
die ähnlich
der Blockgröße 271 bei
dem Parameter-der-Einbettung 207 ist. Zu dieser Zeit wird
mit Bezug auf den Bildbereich, der für einen Block an dem Ende des
Bildes nicht ausreichend ist, im Fall von 12 der
mittlere Pixelwert des Bildbereichs berechnet, und der unzureichende
Abschnitt für
einen Block wird mit dem mittleren Pixelwert gefüllt, um einen Block zu geben. Außerdem wird
im Fall von 13 das linear-symmetrische Muster
des Bildbereichs wiederholt, um einen Block zu füllen. Mit dem Blockaufteilungsabschnitt 221 auf
der Informations-Leseseite wird die Belegungsproportion (Bereichsverhältnis) das
in einem Block aufzuteilenden Bildes für jeden Block 2401 erhalten
und als das Bereichsverhältnis
für jeden
Block 225 gekennzeichnet.
-
14 ist ein Diagramm, das die Verarbeitung des
Frequenztransformations-Abschnitts 212 in 9 und
des Frequenztransformations-Abschnitts 222 in 10 zeigt. Die Frequenztransformations-Abschnitte 212 und 222 führen eine
diskrete Fourier-Transformation mit dem Bildblock 2401 als
eine Eingabe durch, um eine Koeffizientenmatrix 2501 zu
erhalten. Dies wird für
jeden durch die Blockaufteilungsabschnitte 211 und 221 aufgeteilten
Block durchgeführt.
-
15 und 16 sind
Diagramme, die den Inhalt von zwei Verarbeitungsbeispielen des Frequenzkoeffizienten-Normierungsabschnitts 213 in 9 und
des Frequenzkoeffizienten-Normierungsabschnitts 223 in 10 zeigen. 15 zeigt,
dass alle Koeffizienten der Frequenz mit einem derartigen Verhältnis (gekennzeichnet
als das Änderungsverhältnis) expandiert
werden, dass der maximale Koeffizientenwert in der Amplitude in
der Niederfrequenz-Domäne der Koeffizientenmatrix 2501 (14) auf einen normierten Wert „a" expandiert ist („a" ist ein ausreichend großer Wert,
beispielsweise der maximale Wert der Amplitude in dem Frequenzkoeffizienten),
um eine normierte Koeffizientenmatrix 2601 zu erhalten.
Außerdem
zeigt 16, dass alle Koeffizienten
der Frequenz mit einem derartigen Verhältnis (dem Änderungsverhältnis) expandiert
sind, dass der Mittelwert des Amplitudenwerts in einer Niederfrequenzdomäne der Koeffizientenmatrix 2501 erhalten
und dieser Mittelwert auf den normierten Wert „a" expandiert („a" ist ein ausreichend großer Wert)
wird, um die normierte Koeffizientenmatrix 2601 zu erhalten.
Mit dem Frequenzkoeffizienten-Normierungsabschnitt 213 auf
der Informationseinbettungs-Seite wird das Änderungsverhältnis zu dieser
Zeit an den inversen Transformationsabschnitt 215 gesendet.
Im Übrigen
wird in 15 und 16 die
Koeffizientenmatrix in einem analogen Signalverlauf zum leichten
Verständnis
gezeigt, wobei es jedoch selbstverständlich ist, dass die Koeffizientenmatrix 2501 und 2601 digitale
Werte sind. Wie oben beschrieben ist, wird durch Normieren des Frequenzkoeffizienten
durch das in 15 und 16 gezeigte
Verfahren eine Koeffizientenmatrix, bei der die Amplitude in der
Niederfrequenzdomäne
gleichmäßig klein
ist, in hohem Maße
expandiert, und umgekehrt nicht so expandiert, wenn die Amplitude
groß ist.
-
17 ist ein Diagramm, das die detaillierte Struktur
und den Verarbeitungsablauf des Einbettungsabschnitts 214 von 9 zeigt.
In 17 entsprechen ein Zufallszahlengenerator 2140 und
ein Abschnitt zum Bestimmen des einzubettenden Koeffizienten 2142 dem
Einbettungskoeffizienten-Auswahlabschnitt 13 in 1.
-
Mit
dem Einbettungsabschnitt 214 addiert zuerst ein Unterscheidungscode-Addierabschnitt 2144 einen
Unterscheidungs-Code zu der Subinformation 202 (vorzugsweise
ist dies ein Bitmuster, bei dem Bit 1 und Bit 0 bei der gleichen
Frequenz erscheinen. Wenn dies beispielsweise ein 8-Bit-Unterscheidungs-Code
ist, wird es 10101010.), das angibt, dass die Daten in der Subinformation 202 eingebettet
wurden, und diese Information wird als die Einbettungsinformation 2145 gekennzeichnet.
Wie oben beschrieben ist, indem der Unterscheidungs-Code zu der
Subinformation 202 hinzugefügt wird, kann er zum Erfassen
eines Fehlers bei der gelesenen Information zur Zeit des Lesens
der eingebetteten Information benutzt werden. Einerseits wird mit dem
Zufallszahlengenerator 2140 eine Zufallssequenz 2141 mit
dem Einbettungsschlüssel 273 bei
dem Parameter-der-Einbettung 207 erzeugt. Dann wird in
dem Abschnitt-zum-Bestimmen-des- einzubettenden-Koeffizienten 2142 mit
der Zufallssequenz 2141 entschieden, an welchem Koeffizienten
in der normierten Koeffizientenmatrix 2601 die Einbettungsverarbeitung
durchzuführen
ist, und der ausgewählte
Frequenzkoeffizient wird als ein einzubettender Koeffizient 2143 gekennzeichnet.
Mit einem Abschnitt-zum-Bestimmen-des-einzubettenden-Bits 2146 wird
1 Bit der Reihe nach von dem obersten Bit zu dem untersten Bit der
Wassermarken-Information 2145 herausgenommen und als ein
einzubettendes Bit 2147 gekennzeichnet. Wenn das niedrigste Bit
der Wassermarken-Information 2145 herausgenommen
wird, dann kehrt es zu dem obersten Bit zurück. Mit einem Frequenzkoeffizienten-Änderungsabschnitt 2148 werden
ein einzugebender Koeffizient 2143, das einzugebende Bit 2147 und
der Parameter-der-Einbettungsintensität 272 bei
dem Parameter-der-Einbettung 207 eingegeben, und der Koeffizientenwert
des einzubettenden Koeffizienten 2143 wird geändert, um
den Wert eines eingebetteten Koeffizienten 2149 zu erhalten.
D.h., der einzubettende Koeffizient 2143 in der normierten
Koeffizientenmatrix 2601 wird in den eingebetteten Koeffizienten 2149 geändert.
-
Die
oben erwähnte
Verarbeitung wird (die Bitlänge
der Wassermarken-Information 2145) × (die Wiederholungsanzahl
innerhalb des Blocks 174) Mal wiederholt. D.h., mit Bezug
auf eine normierte Koeffizientenmatrix 2601 wird die Verarbeitung
durch die Wiederholungsanzahl innerhalb des Blocks 273 wiederholt,
um die Wassermarken-Information 2145 einzubetten. Somit
wird die normierte Koeffizientenmatrix 2601, in die die Einbettung
aller Bits abgeschlossen wurde, als eine eingebettete Koeffizientenmatrix 2801 gekennzeichnet. Mit
dem Einbettungsabschnitt 214 wird diese Verarbeitung mit
Bezug auf jeden Block durchgeführt.
-
18 ist ein Diagramm, das die detaillierte Struktur
und den Verarbeitungsablauf des Frequenzkoeffizienten-Änderungsabschnitts 2148 in 17 zeigt. Mit dem Frequenzkoeffizienten-Änderungsabschnitt 2148 wird
zuerst der Wert des einzubettenden Koeffizienten 2143,
der eine komplexe Zahl ist, in einer Form a + bi ausgedrückt, in
ein Polarkoordinatensystem 2143' in einer Form r·exp(iθ) mit einer
Größe (r) 1482 und
einem Winkel (θ) 1483 in
einem r-Änderungsabschnitt-Polarkoordinatensystem-Transformationsabschnitt 1481 gebracht.
Dann wird bei einem r-Änderungsverarbeitungsabschnitt 1484 die
Größe (r) 1482 des
Polarkoordinatensystems 2143',
der Parameter der Einbettungsintensität 272 und das einzubettende
Bit 2147 eingegeben, um die Größe 1482 in eine Größe (r') 1485 zu ändern. Schließlich wird
eine komplexe Zahl in einer Form r'·exp(θ) in eine
Form x' + iy' in einem Gaußschen-Ebenen-System-Transformationsabschnitt 1486 transformiert,
und dies wird als der eingebettete Koeffizient 2149 gekennzeichnet.
-
Als
nächstes
wird die Verarbeitung des r Änderungsverarbeitungsabschnitts 1484 ausführlich beschrieben.
Der r Änderungsverarbeitungsabschnitt 1484 nimmt
die Eingabe des einzubettenden Bits 2147, die Parameter
der Einbettungsintensität 272 und
die Größe (r) 1482 des
einzubettenden Koeffizienten 2143', der in dem Polarkoordinatensystem
ausgedrückt
ist, und ändert
die Größe (r) in
eine Größe (r') 1485.
Genauer gesagt wird, wie in 23 gezeigt
ist, der Koeffizientenwert der Frequenz in Breiten h, 2h, 3h ...
sukzessiv von 0 mit dem Parameter der Einbettungsintensität 272 aufgeteilt
(in 23 wird die Größe des Parameters
der Einbettungsintensität 272 durch „h" angegeben), sodass,
wenn der Wert von r groß ist,
der Änderungsbetrag
groß wird,
und eine Regel für
jede Breite verwendet wird, dass ein Koeffizientenwert der Frequenz,
der in kleiner als der Hälfte
der Breite liegt, das Bit 0 ausdrückt, und ein Koeffizientenwert
der Frequenz, der in größer als
der Hälfte
der Breite liegt, das Bit 1 ausdrückt. Hier wird die Größe (r'), die durch Einbettung
des einzubettenden Bits in der Größe (r) halten wird, durch Ändern der
Größe (r) in
einen Mittelwert eines Bereichs erhalten werden, der einen Bitwert
des einzubettenden Bits angibt, bei dem der zu ändernde Betrag der Größe (r) ein
Minimum gemacht wird.
-
19 ist ein Diagramm, das den Inhalt der Verarbeitung
des inversen Transformationsabschnitts 215 von 9 zeigt.
In 19 wird dies in einem analogen Signalverlauf zum
leichteren Verständnis
gezeigt, wobei dies jedoch tatsächlich
ein Digitalwert ist. Mit dem inversen Transformationsabschnitt 215 wird
die durch den Einbettungsabschnitt 214 erhaltenen eingebettete
Koeffizientenmatrix 2801 mit einem Änderungsverhältnis 218 kontrahiert,
das von dem Frequenzkoeffizienten-Normierungsabschnitt 213 bereitgestellt
wird, um eine Koeffizientenmatrix 1011 mit einer Amplitude
zu erhalten, die fast die gleiche wie die der ursprünglichen
Koeffizientenmatrix 2501 ist (14),
die durch den Frequenztransformationsabschnitt 212 erzeugt
wurde. Dies wird dann einer in einer inversen Fourier-Transformation
unterworfen, um ein Bild während
der Verarbeitung 1002 zu erhalten.
-
Mit
dem Bildkontrast-Einstellungsabschnitt 214 von 9 wird,
wenn der Pixelwert in dem Bild während
der Verarbeitung 1002, der durch den inversen Transformationsabschnitt 215 erhalten
wurde, die Domäne
des Pixelwerts überschreitet
(wenn es ein 8-Bit-Schattierungsbild ist, von 0-255), der Kontrast
des Pixelwerts des Bildes während
der Verarbeitung 1002 mit einem Verhältnis abgesenkt, bei dem der
am meisten hervorstehende Pixelwert genau der minmale Wert (oder
der maximale Wert) des definierten Bereichs wird, sodass alle Pixelwerte
geändert
werden, um in der Domäne
zu sein, um das einzubettende Bild 203 zu erhalten. Somit
wird ein Verarbeitung mit dem Bild während der Verarbeitung 1002 durchgeführt, das
die erhaltenen Daten von der invers-orthogonalen Transformation
sind, sodass der Pixelwert nach der Änderung die Domäne nicht überschreitet.
-
20 ist ein Diagramm, das die detaillierte Struktur
und den Verarbeitungsablauf des Subinformations-Leseabschnitts 224 von 10 zeigt. In 20 entsprechen
ein Zufallszahlengenerator 2240 und ein eingebetteter Koeffizienten-Bestimmungsabschnitt 2242 dem
Einbettungskoeffizienten-Auswahlabschnitt 22 in 3.
-
Mit
dem Subinformations-Leseabschnitt 224 wird zuerst in dem
Zufallszahlengenerator 2240, eine Zufallssequenz 2241 mit
dem Einbettungsschlüssel 273 in
dem Parameter-der-Einbettung 207 erzeugt. Dann wird bei
dem eingebetteten Koeffizienten-Bestimmungsabschnitt 2242 mit
der Zufallssequenz 2241 bestimmt, an welchem Koeffizienten
in einer normierten Koeffizientenmatrix 2601' der eingebetteten Information
die Einbettungsverarbeitung durchzuführen ist, und der ausgewählte Frequenzkoeffizient
wird als ein eingebetteter Koeffizient 2243 gekennzeichnet.
Mit einem Einbettungs-Bitleseabschnitt 2244 wird
der Wert des einzubettenden Bits aus dem Parameter-der-Einbettungsintensität 272 in
dem Parameter-der-Einbettung 207 und dem eingebetteten
Koeffizienten 2243 ausgelesen, um einen gelesenen Bitwert 2245 zu
erhalten. Diese Verarbeitung wird durch die Wiederholungszahl innerhalb
des Blocks 274 in dem Parameter-der-Einbettung 207 wiederholt,
und alle Bitwerte, die in einer der normierten Koeffizientenmatrizen 2601' eingebettet sind,
werden gelesen. Diese Aktivität
wird für
alle normierten Koeffizientenmatrizen 2601' durchgeführt, und die gelesenen Bitwerte 2245,
die für
jede normierte Koeffizientenmatrix 2601' herausgenommenen wurden, werden
in einem Bitwertpuffer-für-einen-Block 2246 gespeichert.
-
Nachdem
alle Bitwerte gelesen und alle gelesenen Bitwerte 2245 in
allen Blöcken
in den Bitwertpuffer-für-einen-Block 2246 gespeichert
sind, wird ein Gewichtung-für-jedes-Blockbild 2248,
das die Zuverlässigkeit
der gelesenen Bitwerte darstellt, die von jedem Block gelesen wurden,
in einem Bestimmungsabschnitt-der-Gewichtung-für-jedes-Blockbild 2247 von
dem Inhalt des Bitwertpuffers-für-einen-Block 2246 bestimmt.
Danach wird in einem gelesenen Subinformations-Bestimmungsabschnitt 2249 die
gelesene Subinformation 206 von dem gesamten zu-lesenden-Bild 205 (eingebettetes
Bild 203) aus dem Inhalt des Bitwertpuffers-für-einen-Block 2246 und
der Gewichtung-für-jedes-Blockbild 2248 gebildet,
und Leseverarbeitung der Subinformation ist abgeschlossen.
-
Hier
nimmt der Bitwert-Leseabschnitt 2244 die Eingabe des eingebetteten
Koeffizienten 2243 und den Parameter der Einbettungsintensität 272 und
bestimmt den gelesenen Bitwert 2245. Mit diesem Bitwert-Leseabschnitt 2244 wird
wie bei dem r-Änderungsverarbeitungsabschnitt 1484 in 18 der eingebettete Koeffizient 2243 in
einen einzubettenden Koeffizienten transformiert, der in einem Polarkoordinatensystem
in einer Form einer Größe (r) und
einem Winkel θ ausgedrückt wird,
und aus dieser Größe (r) wird
die Information eines Bits gemäß der Regel
von 23 gelesen.
-
21 ist ein Diagramm, das die detaillierte Struktur
und den Verarbeitungsablauf des Bestimmungsabschnitts-der-Gewichtung-für-jedes-Blockbild 2247 in 20 zeigt. Mit dem Bestimmungsabschnitt-der-Gewichtung-für-jedes-Blockbild 2247 wird
zuerst bei einem Erzeugungsabschnitt-der-gelesenen-Wassermarken-Information-für-einen-Block 2471 eine
gelesene Wassermarken-Information-für-einen-Block 2472 mit
der gleichen Bitlänge
wie die der Wassermarken-Information aus der Bitsequenz des gelesenen
Bitwerts 2245, der in dem Bitwertpuffer-für-einen-Block 2246 gespeichert
ist, und der Wiederholungszahl-in-dem-Block 274 bei dem
Parameter-der-Einbettung 207 erzeugt.
Genauer gesagt wird sie mit einem Mehrheitsbeschlusss-Entscheidungsverfahren
oder dergleichen für
jedes Bit bestimmt. Mit einem Berechnungsabschnitt-der-Gewichtung-für-jedes-Blockbild 2473 wird
die Zuverlässigkeit-der-gelesenen-Wassermarken-Information-für-einen-Block 2472 berechnet.
Die ursprüngliche
Wassermarken-Information umfasst die Subinformation und den Unterscheidungs-Code.
Wenn angenommen wird, dass der Unterscheidungs-Code immer eine Bitsequenz
mit einer festen Länge
ist, wird eine unterschiedliche Bitnummer „d" erhalten, indem der Unterscheidungs-Code und
ein Abschnitt verglichen wird, der dem Unterscheidungs-Code der
zu lesenden Wassermarken-Information
je Block entspricht, wie in 22 gezeigt
ist. Hier sei berücksichtigt,
dass, wenn „d" zunimmt, die Zuverlässigkeit
der gelesenen-Wassermarken-Information-für-einen-Block 2472 abnimmt. Außerdem weist
das Bereichsverhältnis-für-jeden-Block 225 einen
kleineren Wert als 1 für
einen Block auf, der beispielsweise mit dem mittleren Pixelwert
in dem Blockaufteilungsabschnitt 221 von 10 gefüllt
ist. Daher wird berücksichtigt, dass,
wenn das Blockbereichsverhältnis
kleiner als 1 ist, die Zuverlässigkeit
der zu lesenden Wassermarken-Information je Block niedrig ist.
-
Wie
oben beschrieben ist, wird die Gewichtung-für-jedes-Blockbild
2248 für jeden
Block bestimmt, beispielsweise in dem einfach die nachstehend beschriebene
Gewichtungsberechnungsformel verwendet wird:
wobei 1 eine Bitlänge des
Unterscheidungs-Codes und a und b reelle Zahlen (beispielsweise
a = 1, b = 0) bezeichnen.
-
Mit
dem gelesenen Subinformations-Bestimmungsabschnitt 2249 in 20 wird die gelesene Subinformation 206 von
allen zu lesenden Bitwerten bestimmt, indem eine entsprechende Blockgewichtung 2428 zu der
Sequenz des gelesenen Bitwerts 2245 hinzugefügt wird,
der in dem Bitwertpuffer-für-einen-Block 2246 gespeichert
ist. Beispielsweise kann durch Verwenden des gewichteten Mehrheitsbeschlusss-Entscheidungsverfahrens
mit Bezug auf jede Bitposition der zu lesenden Subinformation die
gelesene Subinformation 206 in einer Form bestimmt werden,
die die Gewichtung-für-jedes-Blockbild 2248 reflektiert.
Außerdem
kann die gelesene Subinformation 206 durch Fehlerkorrektur
mit dem Mehrheitsbeschlusss-Entscheidungsverfahren gebildet werden.
Auf diese Art und Weise wird, da die gelesene Subinformation 206 hauptsächlich aus
der Information in dem Block bestimmt wird, wobei berücksichtigt
wird, dass die Wassermarken-Information relativ korrekt bleibt,
und nicht von dem Block, bei dem die Wassermarken-Information beschädigt ist,
kann der Einfluss des Abschnitts, bei dem die Wassermarken-Information
ohne weiteres aufgrund der teilweisen Kompilierung oder der verlustbehafteten
Komprimierung des flachen Bereichs des Bildes beschädigt wird,
auf den Mindestpegel gesteuert werden. Außerdem kann durch Verwenden
des Bereichsverhältnisses-für-jeden-Block 225 die
Einbettungsverarbeitung für
den gesamten Bildbereich durchgeführt werden.
-
Außerdem wurde
mit dieser Ausführungsform
ein Beispiel mit einer diskreten Fourier-Transformation für die orthogonale
Transformation beschrieben. Eine Verarbeitung mit einer anderen
orthogonalen Transformation ist jedoch möglich.
-
Wie
oben beschrieben ist, kann gemäß dieser
Ausführungsform
sogar in einem Fall, in dem die teilweise Kompilierung eines Bildes
und die verlustbehaftete Komprimierung eines Bildes mit vielen flachen
Bereichen durchgeführt
werden, die korrekt eingebettete Subinformation mit der Blockgewichtung
gelesen werden. Außerdem
kann mit Bezug auf einen Bildbereich, der nicht ausreichend ist,
um einen Block an dem Ende des Bildes zu bilden, durch Füllen des
unzureichenden Abschnitts mit einem mittleren Pixelwert oder durch
die Wiederholung eines linear symmetrischen Musters und Reflektieren
des Bereichsverhältnisses
auf der Blockgewichtung die Einbettungsverarbeitung für den gesamten
Bildbereich durchgeführt
werden. Außerdem
wird durch Durchführen
der Einbettung nach Normierung des Frequenzkoeffizienten auf einen
festen Wert, die Widerstandsfähigkeit
gegen die Kontraständerung
des Bildes erhöht
und die Bildverschlechterung aufgrund der Einbettung verringert.
-
Außerdem wird
die Subinformation in einer geschlossenen Form je Bildblock eingebettet.
Daher ist hinsichtlich des teilweisen Schneidens des Bildes möglich, wenn
der geschnittene Bereich mehr als einen Block enthält, die
Subinformation von dem geschnittenen Bereich herauszunehmen, indem
nach dem Blockstartpunkt gesucht wird. Außerdem kann die Erfindung ebenfalls
auf ein Farbbild durch Durchführen der
Prozedur für
jede Komponente des Farbbildes angewendet werden, und ist auf ähnliche
Weise auch auf Bewegtbilder anwendbar.
-
Durch
Verwenden der Erfindung für
ein Urheberrechtschutzsystem und dergleichen ist es möglich, es schwierig
zu machen, die Subinformation mit einer höheren Genauigkeit zu löschen als
mit dem herkömmlichen
Verfahren, sogar wenn eine teilweise Kompilierung und eine verlustbehaftete
Komprimierung des Bildes durchgeführt werden. Somit kann die
Verschlechterung der Bildqualität
aufgrund der Einbettung geringer als mit dem herkömmlichen
Verfahren gemacht werden.
-
(Dritte Ausführungsform)
-
Wenn
die Information in dem Bewegtbild eingebettet wird, dann, durch
Durchführen
der Informationseinbettung an den Koeffizienten der vergleichsweise
niederfrequenten Domäne
mit der orthogonalen Transformation und durch Durchführen derartiger
Sachen, wie die Informationseinbettung durch orthogonale Transformation
mit einer größeren Blockgröße als die
Blockgröße, die
bei der Informationskomprimierung verwendet wird, und einer Größe, die
für einen
orthogonale Hochgeschwindigkeits-Transformations-Algorithmus anwendbar
ist, dann wird mit dieser Ausführungsform
eine Informationseinbettungs-Vorrichtung mit hoher Verarbeitungsgeschwindigkeit
und Widerstandsfähigkeit
bezogen auf die Informationskomprimierung erhalten.
-
Genauer
gesagt werden in dem Fall, in dem unterschiedliche Subinformation
in ein digitales Bewegtbild einzubetten ist, die Bewegtbild- und
Informationseinbettungs-Parameter
eingegeben, das Bewegtbild wird in ihre jeweiligen Standbilder aufgelöst und die
Standbilder werden in Bilder von n × n Größe aufgelöst (wobei n ein Exponent von
2 ist). Dann wird mit den jeweiligen n × n großen Bildern ihre Bildwertinformation
einer n × n
orthogonalen Transformation unterzogen, der orthogonale Transformationskoeffizientenwert,
der ausgewählt wird,
sodass es keinen Konflikt in der orthogonalen Transformationsmatrix
von der Zufallszahl gibt, die mit einem Anfangswert der Zufallszahl
erzeugt wird, die ein Teil der Informationseinbettungsparameter
ist, wird dann mit einem Quantisierermaßstab des Koeffizienten geändert, der
ein Teil der Informationseinbettungs-Parameter ist, und mit der
Subinformation, die ein Teil der Informationseinbettungs-Parameter ist, dann
eingebettet. Die orthogonale Transformationsmatrix, die der obigen
Informationseinbettung unterworfen wurde, wird dann einer n × n invers-orthogonalen
Transformation unterworfen und das Bewegtbild von den jeweiligen
n × n
großen
Bildern rekonstruiert.
-
Außerdem wird
mit einer Informations-Lesevorrichtung für den Fall, in dem Subinformation
von dem Informations-eingebetteten
Bewegtbild gelesen wird, dann auf ähnliche Weise das Informations-eingebettete Bewegtbild
in jeweilige Standbilder aufgelöst,
und werden die jeweiligen Standbilder in n × n große Bilder aufgelöst. Dann
wird mit den n × n
großen
Bildern die Pixelinformation einer n × n orthogonalen Transformation unterworfen,
Information wird von dem orthogonalen Transformationskoeffizientenwert
gelesen, der ausgewählt
ist, sodass die ausgewählten
Koeffizienten in der orthogonalen Transformations-Koeffizientenmatrix nicht
miteinander von der Zufallszahl in Konflikt kommen, die mit einer
Zahl erzeugt wird, die die gleiche wie der erste Wert der Zufallszahl
ist, die zur Zeit der Informationseinbettung verwendet wird, wobei
der Quantisierermaßstab
des Koeffizienten verwendet, der zur Zeit der Informationseinbettung
verwendet wird, und die eingebettete Subinformation wird gelesen
und rekonstruiert.
-
Die
dritte Ausführungsform
wird nun mit Bezug auf die begleitenden Zeichnungen beschrieben.
Zuerst wird eine Erläuterung
der Verarbeitung für
die Einbettung von Information in Bildern durchgeführt. 24 ist ein schematisches Diagramm der Eingangs-/Ausgangsbeziehung
der Informationseinbettungs-Vorrichtung gemäß dieser Ausführungsform.
Eine Informationseinbettungs-Vorrichtung 301 nimmt die
Eingabe des ursprünglichen
Bewegtbildes (primäre
Information) 302 des Bewegtbildes und die Parameter-der-Einbettungsinformation 303 und
gibt ein Informations-eingebettetes
Bewegtbild 304 aus. Die Parameter-der-Einbettungsinformation 303 umfassen
den Anfangswert-einer-Zufallssequenz,
den Quantisierermaßstab-der-Koeffizienteninformation
und einzubettende Information (Subinformation). Wenn 1 und 24 verglichen werden, entsprechen die Informationseinbettungs-Vorrichtung 1,
die ursprünglichen
Daten 2, die Wassermarken-Information 4, der Schlüssel-der-Einbettungsinformation 3 und
die eingebetteten Daten 5 in 1 der
Informationseinbettungs-Vorrichtung 301, dem ursprünglichen
Bewegtbild 302, der Subinformation in den Parametern-der-Einbettungsinformation 303,
den Parametern-der-Einbettungsinformation 303 mit Ausnahme
der Subinformation bzw. dem Informations-eingebetteten Bewegtbild 304 in 24. Außerdem
entsprechen der Anfangswert-einer-Zufallssequenz 31 und der Quantisierer-Koeffizientenmaßstab 32 in 1 dem
Anfangswert-einer-Zufallssequenz bzw. dem Quantisierermaßstab-des-Koeffizienten
bei den Parametern-der-Einbettungsinformation 303 in 24.
-
25 ist ein Diagramm, das die Gesamtstruktur der
Informationseinbettungs-Vorrichtung 301 zeigt. Die Informationseinbettungs-Vorrichtung 301 umfasst
einen Bildaufteilungsabschnitt 305, einen Informationseinbettungs-Abschnitt 306 und
einen Bildrekonstruktionsabschnitt 307. Die Korrespondenz
zwischen 1 und 25 ist
wie folgt. Der Blockbildungsabschnitt 11 in 1 entspricht
dem Bildaufteilungsabschnitt 305 in 25,
und die Funktionen des orthogonalen Transformationsabschnitts 12,
des Einbettungskoeffizienten-Auswahlabschnitts 13 und des
Informationseinbettungs-Abschnitts 14 in 1 sind
in dem Informationseinbettungs-Abschnitt 306 enthalten.
Außerdem
entspricht die Funktion des invers-orthogonalen Transformationsabschnitts 15 in 1 einem
Teil der Funktion des Informationseinbettungs-Abschnitts 306 und
dem Bildrekonstruktionsabschnitt 307. Was folgt ist eine
sequenzielle Beschreibung der jeweiligen Verarbeitungsabschnitte.
-
(Bildaufteilungsabschnitt 305)
-
26 ist ein Diagramm, das einen Überblick
der Verarbeitung des Bildaufteilungsabschnitts 305 zeigt.
Der Bildaufteilungsabschnitt 305 löst das eingegebene ursprüngliche
Bewegtbild 302 in Standbilder für jeden Rahmen auf, und löst dann
die jeweiligen Standbilder in ein n × n (wobei n ein Exponent von
2 ist) Blockbild 307 auf und sendet dieses sequenziell
an den Informationseinbettungs-Abschnitt 306.
-
Abhängig von
der Größe des Bildes
gibt es einen Fall, in dem ein Endabschnitt nicht die n × n Größe annimmt.
In diesem Fall wird die verbleibende unvollständige Größe der n × n Größe außerhalb des Bildes nicht gefüllt. Daher
wird ein n × n
Bild durch Interpolieren des unzureichenden Teils mit einem mittleren
Pixelwert erzeugt und an den Informationseinbettungs-Abschnitt 306 gesendet
((a) von 26). Als ein unterschiedliches
Verfahren kann ein n × n
Bild durch Wiederholen symmetrischer Bilder erzeugt werden ((b)
von 26).
-
(Informationseinbettungs-Abschnitt 306)
-
27 ist ein detailliertes Strukturdiagramm des
Informationseinbettungs-Abschnitts 306. Der Informationseinbettungs-Abschnitt 306 nimmt
die Eingabe der Parameter-der-Einbettungsinformation 303 und
das n × n
große
Blockbild 307' und
gibt ein Informations-eingebettetes n × n großes Blockbild 327 aus,
das an den Bildrekonstruktionsabschnitt 307 gesendet wird.
Wenn 27 und 1 verglichen
werden, entspricht der orthogonale Transformationsabschnitt 12 in 1 einem
orthogonalen Transformations-Verarbeitungsabschnitt 309 in 27, und die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1 wird
durch einen Zufallszahlen-Erzeugungsabschnitt 313 und
einen Teil der Funktion eines orthogonalen Transformationskoeffizienten-Änderungsverarbeitungsabschnitts 314 in 27 verwirklicht. Außerdem ist die Funktion des
Informationseinbettungs-Abschnitts 14 in 1 in
dem orthogonalen Transformationskoeffizienten-Änderungsverarbeitungsabschnitts 314 in 27 enthalten. Außerdem entspricht ein Teil
der Funktion des invers-orthogonalen Transformationsabschnitt 15 in 1 einem
invers-orthogonalen Transformations-Verarbeitungsabschnitt 326 und
einem Überbereichs-Vermeidungsverarbeitungsabschnitt 325 in 27. Der Betrieb des Informationseinbettungs-Abschnitts 306 wird
nun beschrieben.
-
Die
Parameter-der-Einbettungsinformation 303 werden an einen
Eingangsparameter-Aufteilungsabschnitt 308 gesendet. Der
Eingangsparameter-Aufteilungsabschnitt 308 löst die eingegebenen
Parameter-der-Einbettungsinformation 303 auf und erzeugt
jeweils neu: einen Anfangswert-einer-Zufallssequenz 310, einen
Quantisierermaßstab
des Koeffizienten 311 und Subinformation 312 und
gibt diese aus. Der Anfangswert-einer-Zufallssequenz 310 wird an
den Zufallszahlen-Erzeugungsverarbeitungsabschnitt 313 gesendet, der
Quantisierermaßstab
des Koeffizienten 311 wird an den orthogonalen Transformationskoeffizienten-Änderungsverarbeitungsabschnitt 314 gesendet,
und die Subinformation 312 wird an einen Subinformations-Puffer 315 gesendet.
-
Der
Zufallszahlen-Erzeugungsverarbeitungsabschnitt 313 liest
den Anfangswert-einer-Zufallssequenz 310 und erzeugt basierend
darauf sukzessiv eine Zufallszahl 316 für jede Verarbeitung der jeweiligen
1-Bit-Informationseinbettung und gibt diese aus.
-
Der
Subinformations-Puffer 315 speichert die Subinformation 312 in
einem internen Puffer und liest Information ein Bit mittels eines
internen Informations-Auslese-Headers
aus und gibt 1-Bit-Subinformation 317 aus. 28 zeigt ein Konzeptdiagramm des Subinformations-Puffers 315.
-
Für das Steuerverfahren
des Headers innerhalb des Subinformations-Puffers können verschiedene Verfahren
berücksichtigt
werden, wie beispielsweise ein Verfahren, das für jede Verarbeitung der jeweiligen 1-Bit-Informationseinbettung
aktiviert wird, oder ein Verfahren, das für jede Verarbeitung der Informationseinbettung
in den jeweiligen Blockbildern aktiviert wird. Diese hängen jedoch
von dem Verpackungssystem für
die Informations-Verarbeitungsvorrichtung
ab. Mit dem Steuerverfahren für
den Header, der das Informations-Lesen/Schreiben des Subinformations-Puffers
durchführt,
muß die
Verpackung mit dem gleichen Verfahren bei der Informations-Einbettungsvorrichtung
und bei der Informations-Lesevorrichtung
ausgeführt
werden.
-
Es
sei nun das n × n
große
Blockbild 307' betrachtet,
wobei dieses an den orthogonalen Transformations-Verarbeitungsabschnitt 309 gesendet
wird. Der orthogonale Transformations-Verarbeitungsabschnitt 309 unterwirft
das n × n
große
Blockbild 307' einer
n × n
orthogonalen Transformation, um eine n × n Block-orthogonale Transformations-Koeffizientenmatrix 318 zu
erzeugen, und sendet diese an den orthogonalen Transformationskoeffizienten-Änderungsverarbeitungsabschnitt 314. 29 zeigt ein Konzeptdiagramm des orthogonalen
Transformations-Verarbeitungsabschnitts 309. Da die orthogonale
Transformations-Verarbeitung selbst bekannt ist, werden Einzelheiten
davon weggelassen.
-
30 ist ein Konzeptdiagramm, das eine Überblick-Struktur und die
Verarbeitung des orthogonalen Transformationskoeffizienten-Änderungsverarbeitungsabschnitts 314 zeigt.
Ein Koordinatenauswahlabschnitt 320 in 30 verwirklicht einen Teil der Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1. Die
n × n
große
Block-orthogonale Transformationskoeffizientenmatrix 318 wird
in einem orthogonalen n × n Transformationskoeffizienten-Matrixpuffer 319 gespeichert.
Die Zufallszahl 316 wird in dem Koordinatenauswahlabschnitt 320 eingegeben.
-
Der
Koordinatenauswahlabschnitt 320 wählt einen Koeffizienten aus
der orthogonalen n × n
Transformationskoeffizientenmatrix mit der eingegebenen Zufallszahl 316 aus,
sodass es keinen Konflikt bei der orthogonalen Transformationskoeffizientenmatrix
gibt, und gibt entsprechende Koordinaten 321 aus. Diese
Koordinaten 321 werden in einem Koordinatenpuffer 323 gespeichert.
Alle Koordinaten für
jede der jeweiligen Blockeinbettungsverarbeitung werden in dem Koordinatenpuffer 323 gesichert,
und nach der jeweiligen Blockeinbettungsverarbeitung wird ein gespeicherter
Koordinatensatz 324 in den Überbereichs-Vermeidungsverarbeitungsabschnitt 325 ausgegeben. 31 ist ein schematisches Diagramm des Koordinatenpuffers 323.
-
Der
orthogonalen Transformationskoeffizienten-Änderungsverarbeitungsabschnitt 314 Informations-einbettet
die 1-Bit-Subinformation 317 in dem Koeffizienten, der
den ausgewählten
Koordinaten 321 entspricht, mit dem Quantisierermaßstab des
Koeffizienten 311 ein. Die Informationseinbettungs-Verarbeitung wird
j Mal durchgeführt
(wobei j eine ganze Zahl von 1 oder größer ist, die ein Parameter
ist, der bestimmt wird, wenn die Informationseinbettungs-Vorrichtung
eine Verpackung ausführt.
Die Informations-Lesevorrichtung muss ebenfalls eine Verpackung
mit dem gleichen Verfahren ausführen.)
für einen
Block der orthogonalen Transformationskoeffizientenmatrix. Dann
wird, sobald alles abgeschlossen wurde, eine Informations-eingebettete
n × n
große
Block orthogonale Transformationskoeffizientenmatrix 322 ausgegeben.
-
Das
nächste
ist eine spezifischere Beschreibung der Verarbeitung für die Einbettung
von 1-Bit-Information in einem (h,v)i Block ausgeführt, wenn
das obere linke Standbild in dem i-ten Rahmen des eingegeben ursprünglichen
Bewegtbildes 302 ein [0,0]i Block gemacht wird.
-
Die
1-Bit-Subinformation
317 zur Einbettung wird b
0,
b
1 ... b
k-1 gemacht
(wobei die Bitlänge
k ist), die Subinformation
312 für die Einbettung in den Block
[h,v]i wird bα ∊ von
{0,1}, 0 ≤ α ≤ k – 1 gemacht,
die bei der Einbettung verwendete Zufallszahl wird
gemacht, der Quantisierermaßstab des
Koeffizienten wird zu „Bereich" gemacht, und die
n × n
Block-orthogonale Transformationskoeffizientenmatrix wird [c
(x,y] gemacht. Der Koordinatenauswahlabschnitt
320 wählt die Koordinaten
aus der Zufallszahl
aus. Der orthogonale Transformationskoeffizienten-Änderungsverarbeitungsabschnitt
314 ändert dann
den Wert für
den orthogonalen Transformationskoeffizienten
in dem n × n Block-orthogonalen Transformationskoeffizientenmatrix-Puffer
319,
der die Koordinaten anpasst, in
wenn die einzubettende Information
bα gleich
ist, in:
wenn die einzubettende Information
bα nicht
gleich
ist, und
in
wenn die einzubettende Information
bα nicht
gleich
ist,
um dadurch die 1-Bit-Subinformation
317 einzubetten. Die
Koordinaten
des Koeffizienten, der der
Einbettung unterworfen wurde, werden dann an den Koordinatenpuffer
323 gesendet
und gespeichert.
-
Dann
wird, während
des Subinformations-Auslese-Header des Subinformationspuffers 315 durch
ein vorbestimmtes Verfahren gesteuert wird, die oben erwähnte Einbettungsverarbeitung
j Mal wiederholt, die die Bitzahl für die Einbettung darin ist
(dies muss keine Subinformations-Bitnummer
sein), mit Bezug auf einen Block der orthogonalen Transformationskoeffizientenmatrix,
um dadurch die Einbettungsverarbeitung eines Blocks der orthogonalen
Transformationskoeffizientenmatrix abzuschließen.
-
Nach
der Einbettungsverarbeitung werden die Informations-eingebetteten
n × n
großen
Block-orthogonalen Transformationskoeffizientenmatrix 323 (zu
[c'[x,y]]
i gemacht) und der Koordinatensatz 324 (31) werden an den Überbereichs-Vermeidungsverarbeitungsabschnitt 325 gesendet,
um eine schlechte Reproduktion des Informations-eingebetteten Bildes
zu vermeiden, während
der Wert des orthogonalen Transformationskoeffizienten, der der
Informationseinbettung unterworfen wurde, und die Qualität und Struktur
des Bildes des Bewegtbildes, das der Informationseinbettung unterworfen
wurde, beibehalten wird.
-
32 ist ein Konzeptdiagramm des Überbereichs-Vermeidungsverarbeitungsabschnitts 325,
während 33 ein Konzeptdiagramm des invers-orthogonalen
Transformations-Verarbeitungsabschnitts 326 ist. Der Überbereichs-Vermeidungsverarbeitungsabschnitt 325 bezieht
sich auf den Koordinatensatz 324, um die Überbereichs-Vermeidungsverarbeitung
an den Informations-eingebetteten n × n großen Blockbild 327 durchzuführen, das
mit den eingegebenen Informations-eingebetteten n × n großen Block-orthogonalen Transformationskoeffizientenmatrix 322 invers
transformiert ist, korrigiert dies, sodass alle Pixelwerte in der
Domäne des
Pixelwerts gehalten werden können
(beispielsweise von 0-255 für
ein 8 Bit Grau-Skalabild), und gibt dann das Informations-eingebettete
n × n
große
Blockbild 327 aus. Der invers-orthogonale Transformations-Verarbeitungsabschnitt 326,
wie in 33 gezeigt ist, führt eine
invers-orthogonale n × n-Transformation
der gleichen Größe wie die
Block-orthogonale Transformations- Koeffizientenmatrix durch, die zuzuteilen
ist, und gibt dann sukzessiv die n × n Blockbilder aus.
-
Hier
wird die [c'(x,y)]i, die die Informations-eingebettete n × n große Block
orthogonale Transformationskoeffizientenmatrix 322 ist,
die in den Überbereichs-Vermeidungsverarbeitungsabschnitt 325 eingegeben wird,,
mit dem invers-orthogonalen Transformations-Verarbeitungsabschnitt 326 invers
orthogonal transformiert, sodass das n × n Blockbild 327' gleich [p(x,y)]i wird.
-
Außerdem wird
mit der Koeffizientenmatrix [c'(x,y)]i, die in den Überbereichs-Vermeidungsverarbeitungsabschnitt 325 eingegeben
wird, wobei eine, die (0, 0) Komponente, die die Gleichstromkomponente
ist, in den minmalen Wert der Werte geändert wird, die von der Gleichstromkomponente
bei der Definition der n × n
orthogonalen Transformation angenommen werden kann (wenn beispielsweise
angenommen wird, dass die orthogonale Transformation DCT ist, dann
ist dieser Wert –Lm × n (wobei
Lm ein zentraler Wert der Luminanz ist), und die Komponentenwerte
aller Koordinaten des eingegebenen Koordinatensatzes 324 werden
alle 0 gemacht, und dann wird das n × n Bild, das mit dem invers-orthogonalen
Transformations-Verarbeitungsabschnitt 326 invers-orthogonal
transformiert wurde, zu [p1(x,y)]i gemacht.
Miteinander werden die (0, 0) Komponentenwerte und die Werte verschieden
von den Komponentenwerten aller Koordinaten des eingegebenen Koordinatensatzes 324 alle
in 0 geändert,
und das n × n
Bild, das mit dem invers-orthogonalen Transformationsverarbeitungsabschnitt 326 invers-orthogonal
transformiert wurde, wird [p2(x,y)]i gemacht.
-
Mit
dem Überbereichs-Vermeidungsverarbeitungsabschnitt
325,
mit dem Satz
vorausgesetzt, dass Ai keine
leere Menge ist, dann wird durch Durchführen der folgenden Berechnung
wobei Φ eine leere
Menge, L
min der minmale Wert der Pixelwerte
und L
max der maximale Wert der Pixelwerte ist;
wird mit [p1
(x,y)]i, [p2
(x,y)]i
das Informations-eingebettete n × n große Blockbild
327 [p''
(x,y)]i erhalten.
Die Verarbeitung, wie oben erläutert,
sodass der Wert nach der inversen orthogonalen Transformation nicht
die Domäne
des Pixelwerts überschreitet,
wird mit dem orthogonalen Transformationskoeffizienten durchgeführt. Bei der Pixelwertmatrix
[p2
(x,y)]i ist, wenn ein Pixelwert kleiner
als L
min und ein Pixelwert größer als
L
max zusammen existieren, diese Überbereichs-Vermeidungsverarbeitung
nicht anwendbar. Daher ist es notwendig, wenn die Informationseinbettung
durchgeführt
wird, zu berücksichtigen,
dass der Wert des Bereichs kein übermäßig großer Wert
ist.
-
Der
Informationseinbettungs-Abschnitt 306 führt die obige Verarbeitung
für alle
Blockbilder aller Standbilder durch und gibt die Informations-eingebetteten
n × n
Blockbilder 327 an den Bildrekonstruktionsabschnitt 307 aus.
-
(Bildrekonstruktionsabschnitt 307)
-
34 ist ein Konzeptdiagramm für die eingegebenen und ausgegebenen
Bilder des Bildrekonstruktionsabschnitts 307. Der Bildrekonstruktionsabschnitt 307 verknüpft zusammen
die eingegebenen jeweiligen Informations-eingebetteten n × n Blockbilder 327 und
rekonstruiert diese in die Standbilder und die Bewegtbilder, um
dadurch das Informations-eingebettete
Bewegtbild 304 zu erhalten.
-
Als
nächstes
wird der Prozess zum Lesen von Information von den Informations-eingebetteten
Bildern beschrieben. 35 ist ein Konzeptdiagramm
der Eingangs- und Ausgangsbeziehung der Informations-Lesevorrichtung
gemäß der Erfindung.
Eine Informations-Lesevorrichtung 328 nimmt die Eingabe
des Informations-eingebetteten Bewegtbildes (primäre Information
+ Subinformation) 329 und die Parameter-der-Leseinformation 330 und
gibt Subinformation 331 aus, die in den Bildern 329 eingebettet
worden ist. Die Parameter-der-Leseinformation 330 umfassen
den Anfangswert-einer-Zufallssequenz
des Informationseinbettungs-Schlüssels,
der zur Zeit des Erzeugens des Informations-eingebetteten Bewegtbildes 329 verwendet wurde,
und den Quantisierermaßstab-Koeffizienten.
Wenn 3 und 35 verglichen
werden, entsprechen die Informations-Lesevorrichtung 6, die eingebetteten
Daten 5, der Schlüssel-der-Einbettungsinformation 3 und
die Wassermarken-Information 4 in 3 der
Informations-Lesevorrichtung 328, dem Informations-eingebetteten
Bewegtbild 329, den Parametern der Leseinformation 330 bzw.
der Subinformation 331 in 35.
-
36 ist ein Gesamtstrukturdiagramm der Informations-Lesevorrichtung 328.
Die Informations-Lesevorrichtung 328 umfasst einen Bildaufteilungsabschnitt 332,
einen Bildleseabschnitt 333 und einen Subinformations-Rekonstruktionsabschnitt 334.
Die Korrespondenz mit 3 wird hier nachstehend angegeben. Der
Blockabschnitt 21 in 3 entspricht
dem Bildaufteilungsabschnitt 332 in 36.
Außerdem
ist die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 und des
Abschnitts-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 in 3 in
dem Bildleseabschnitt 333 in 36 enthalten.
Außerdem
ist die Funktion des Informations-Leseabschnitts 24 in 3 in
einem Teil der Funktion des Bildleseabschnitts 333 und des
Subinformations-Rekonstruktionsabschnitt 334 aufgeteilt.
Eine sequenzielle Beschreibung der jeweiligen Verarbeitungsabschnitte
ist wie folgt.
-
(Bildaufteilungsabschnitt 332)
-
Die
Verarbeitung des Bildaufteilungsabschnitts 332 ist grundsätzlich die
gleiche wie für
den Bildaufteilungsabschnitt 305, der bei der Informationseinbettungs-Vorrichtung 301 verwendet
wird. Das Informations-eingebettete Bewegtbild 329 wird
in Standbilder für
jeden Rahmen aufgeteilt. Die jeweiligen Standbilder werden dann
in n × n
(wobei n ein Exponent von 2 ist) Blockbilder aufgelöst, die
sequenziell zu dem Bildleseabschnitt 333 gesendet werden.
-
Um
mit dem Bildaufteilungsabschnitt 332 das Bild mit der gleichen
Größe wie der
Bildaufteilungsabschnitt 305 der Informationseinbettungs-Vorrichtung 301 aufzulösen, ist
eine Verpackung notwendig. Außerdem
ist ebenfalls mit dem unvollständigen
Teil an dem Ende des Bildes die Verarbeitung, wie in 26 gezeigt, notwendig.
-
(Bildleseabschnitt 333)
-
37 ist ein detailliertes Strukturdiagramm des
Bildleseabschnitts 333. Der Bildleseabschnitt 333 nimmt
die Eingabe der Parameter-der-Leseinformation 330 und der
Informations-eingebetteten Blockbilder 335 und liest jeweils
ein Bit der Subinformation, die in den jeweiligen Blockbildern eingebettet
wurde. Diese 1-Bit-Subinformation 346 wird sukzessiv an
den Subinformations-Rekonstruktionsabschnitt 334 gesendet. Hier
wird die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 durch
einen Teil der Funktion eines Abschnitts-zum-Lesen-von-Information-für-einen-Block 341 und
durch einen Zufallszahlen-Erzeugungsverarbeitungsabschnitt 340 verwirklicht,
während
die Funktion des Abschnitts-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 in 3 durch
einen orthogonalen Transformations-Verarbeitungsabschnitt 337 verwirklicht
wird. Der Betrieb des Bildleseabschnitts 333 wird nachstehend
ausführlich
behandelt.
-
Die
Parameter-der-Leseinformation 330 werden an einen Eingangsparameter-Aufteilungsabschnitt 336 gesendet.
Der Eingangsparameter-Aufteilungsabschnitt 336 löst die eingegebenen
Parameter-der-Leseinformation 330 auf und baut jeweils
einen Anfangswert-einer-Zufallssequenz 338 und einen Quantisierermaßstab des
Koeffizienten 339 auf und gibt diese aus. Der Anfangswert-einer-Zufallssequenz 338 wird
an den Zufallszahlen-Erzeugungsverarbeitungsabschnitt 340 ausgegeben,
während
der Quantisierermaßstab
des Koeffizienten 339 an den Abschnitt-zum-Lesen-von-Information-für-einen-Block 341 ausgegeben
wird.
-
Außerdem werden
diese mit dem Informations-eingebetteten n × n großen Blockbild 335 an
den orthogonalen Transformations-Verarbeitungsabschnitt 337 gesendet.
Der orthogonale Transformations-Verarbeitungsabschnitt 337 führt die
gleiche Verarbeitung wie für
den orthogonalen Transformations-Verarbeitungsabschnitt 309 aus,
der den Informationseinbettungs-Abschnitt 306 der Informationseinbettungs-Vorrichtung 301 verwendet.
Die n × n
großen
Blockbilder 335 werden n × n orthogonal transformiert,
und eine erzeugte n × n
große
Block-orthogonale Transformationskoeffizientenmatrix 342 wird
an den Abschnitt-zum-Lesen-von-Information-für-einen-Block 341 gesendet.
-
Der
Zufallszahlen-Erzeugungsverarbeitungsabschnitt 340 liest
den Anfangswert-einer-Zufallssequenz 338, und erzeugt basierend
darauf sukzessiv eine Zufallszahl 343 für jede Verarbeitung der jeweiligen
1-Bit-Informations-Lesen und gibt diese aus. Mit dem Zufallszahlen-Erzeugungsverarbeitungsabschnitt 340 an
der Informations-Leseverarbeitungsseite
und dem Zufallszahlen-Erzeugungsverarbeitungsabschnitt 313 auf
der Informationseinbettungs-Verarbeitungsseite, wenn der gleiche
Anfangswert für
die Zufallszahl eingegeben wird, dann ist eine Verpackung notwendig,
sodass die gleichen Zufallszahlen in der gleichen Reihenfolge ausgegeben
werden.
-
38 ist ein Konzeptdiagramm, die eine Überblick-Struktur und die
Verarbeitung des Abschnitts-zum-Lesen-von-Information-für-einen-Block 341 zeigt.
Ein Teil der Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 wird
durch einen Koordinatenauswahlabschnitt 345 in 38 verwirklicht. Die n × n große Block-orthogonale Transformationskoeffizientenmatrix 342 wird
in einer n × n
großen
orthogonalen Transformationskoeffizientenmatrix 344 gespeichert.
Die Zufallszahl 343 wird in den Koordinatenauswahlabschnitt 345 eingegeben.
Der Koordinatenauswahlabschnitt 345 führt eine Verarbeitung durch,
die die gleiche wie die für
den Koordinatenauswahlabschnitt 320 ist, die den orthogonalen
Transformationskoeffizienten-Änderungsverarbeitungsabschnitt 314 des
Informationseinbettungs-Abschnitts 306 verwendet. D.h., mit
dem Koordinatenauswahlabschnitt 345 auf der Informations-Leseverarbeitungsseite
und dem Koordinatenauswahlabschnitt 320 auf der Informationseinbettungs-Verarbeitungsseite,
ist, wenn die gleiche Zufallszahl eingegeben wird, eine Verpackung
notwendig, sodass die gleiche Koordinate ausgegeben wird.
-
Mit
dem Abschnitt-zum-Lesen-von-Information-für-einen-Block 341 wird der Koeffizient
in der n × n
orthogonalen Transformationskoeffizientenmatrix 344, der
der durch den Koordinatenauswahlabschnitt 345 ausgewählten Koordinate
entspricht, mit dem Quantisierer-Koeffizientenmaßstab 339 quantisiert,
und die 1-Bit-Subinformation 346 wird dann durch Prüfen ausgegeben,
ob der Quotient, wenn der quantisieree Wert durch den Quantisierer-Koeffizientenmaßstab 339 geteilt
wird, eine ungerade Zahl oder eine gerade Zahl ist. Die Informations-Leseverarbeitung
wird j Mal durchgeführt
(wobei j eine Zahl ist, die in der Informationseinbettungs- Verarbeitung verpackt
ist, die die gleiche wie die Bitzahl j für die Einbettung in der jeweiligen
Block-orthogonalen Transformationskoeffizientenmatrix ist) für eine Block-orthogonale Transformationskoeffizientenmatrix,
und die eingebettete 1-Bit-Subinformation 346 wird dann
sequenziell ausgegeben.
-
Mit
der Anzahl von Malen der Informations-Leseverarbeitung, der Anzahl
von Malen, die die jeweiligen Bits der eingebetteten Subinformation
gelesen werden, erhöht
wird, und in Übereinstimmung
damit durch Ausführen
der Mehrheitsbeschlusssverarbeitung oder dergleichen an diesen kann
die Zuverlässigkeit
der gelesenen Subinformation ebenfalls verbessert werden.
-
Was
folgt ist eine spezifische Beschreibung der Verarbeitung zum Lesen
von 1-Bit-Information aus dem [h,v]i Block, wenn in dem i-ten Rahmen
des Informations-eingebetteten
Bewegtbildes 329 das obere Linke der [0, 0]i Block gemacht
wird.
-
Die
in dem Bild
329 eingebettete Subinformation
331 wird
zu b
0, b
1 ... b
k-1 gemacht (wobei die Bitlänge k ist),
eine der Subinformation (1-Bit-Subinformation
346), die
in dem [h,v]i Block eingebettet ist, wird bα ∊ {0, 1}, 0 ≤ α ≤ k – 1 gemacht,
die Zufallszahl
343, die bei dem Informations-Lesen verwendet wird,
wird
gemacht, der Quantisierer-Koeffizientenmaßstab
339 wird
zu Bereich und die n × n
große
Block-orthogonale-Transformationskoeffizientenmatrix
342 wird
zu [c
(x,y)]i gemacht.
-
Der
Koordinatenauswahlabschnitt
345 erzeugt Koordinaten
aus der Zufallszahl
Der Abschnitt-zum-Lesen-von-Information-für-einen-Block
341 erhält dann
die die 1-Bit-Subinformation
346 bα von jenen, die in dem [h,v]i
Block eingebettet sind, durch Berechnen von
mit Bezug auf den orthogonalen
Transformationskoeffizienten
der die Koordinaten in der
n × n
großen
orthogonalen Transformationskoeffizientenmatrix
346 ist.
Die gelesene 1-Bit-Subinformation
346 wird dann an den
Subinformations-Rekonstruktionsabschnitt
334 gesendet.
-
(Subinformations-Rekonstruktionsabschnitt 334)
-
39 ist eine Konzeptansicht der Verarbeitung des
Subinformations-Rekonstruktionsabschnitts 334. Der Subinformations-Rekonstruktionsabschnitt 334 nimmt
die Eingabe der in dem Blockbild eingebetteten Subinformation sukzessiv
jeweils ein Bit, bestimmt die jeweiligen Subinformations-Bits, die über mehrere
Male eingegeben wurden, mit einer Fehlerkorrektur-Codetechnik, wie
beispielsweise Mehrheitsbeschluss, und rekonstruiert die ursprüngliche
Subinformation 331. Der Subinformations-Rekonstruktionsabschnitt 334 empfängt die
1-Bit-Subinformation 346 und
steuert den Subinformations-Schreib-Header durch ein zuvor bestimmtes Verfahren.
-
Die
Subinformations-Leseverarbeitung von einem Block der orthogonalen
Transformationskoeffizientenmatrix wird durch Leseverarbeitung wiederholt
mit Bezug auf einen Block der orthogonalen Transformationskoeffizientenmatrix
abgeschlossen, wobei j Mal die Zahl der darin eingebetteten Bits
ist.
-
Die
obige Verarbeitung wird für
alle Blockbilder für
alle Standbilder durchgeführt,
und jedes mal wenn die Subinformation 331 erhalten wird,
oder nachdem die Verarbeitung in allen Rahmen abgeschlossen ist, dann
wird die aus dem Informations-eingebetteten Bewegtbild 329 gelesene
Subinformation 331 ausgegeben.
-
Das
Nächste
ist ein Verfahren zum Verbessern der Informations-Lesegeschwindigkeit
bei der Informations-Leseverarbeitung.
Mit dem Bildleseabschnitt 333 in der Informations-Lesevorrichtung 328,
wie in 37 gezeigt ist, wird das einzugebende
n × n
Blockbild 335 vorübergehend
in die n × n
große
Block-orthogonale-Transformationskoeffizientenmatrix 342 mit
dem orthogonalen Transformations-Verarbeitungsabschnitt 337 transformiert.
Indem jedoch diese Transformations-Verarbeitung nicht durchgeführt und
von dem n × n
Blockbild lediglich der orthogonale Transformationskoeffizient direkt
berechnet wird, der der Informationseinbettung unterworfen wurde,
dann kann die Berechnungslast verringert werden.
-
40 zeigt ein Strukturdiagramm eines Hochgeschwindigkeits-Bildleseabschnitts 333.
-
Dieser
Aufbau ist praktisch der gleiche wie der von 37,
wobei der Unterschied darin besteht, dass es keinen orthogonalen
Transformations-Verarbeitungsabschnitt 337 gibt, und die
Eingabe in den Abschnitt-zum-Lesen-von-Information-für-einen-Block 350 wird
geändert,
sodass sie nicht mehr die n × n Block-orthogonale-Transformationskoeffizientenmatrix
ist, sondern direkt von dem n × n
Blockbild 335 ist. Folglich ist die nachstehende Beschreibung
lediglich von dem Abschnitts-zum-Lesen-von-Information-für-einen-Block 350.
In diesem Fall ist die Funktion des Abschnitts-zum-Berechnen-eines-zu-verarbeitenden-Koeffizienten 23 in 3 in
dem Abschnitt zum Lesen der Information für einen Block 350 in 40 enthalten.
-
41 zeigt ein Konzeptdiagramm einer schematischen
Struktur und Verarbeitung des Hochgeschwindigkeits-Abschnitts-zum-Lesen-von-Information-für-einen-Block 350.
Die Informations-Leseverarbeitung selbst ist die gleiche wie der
Betrieb für
den vorhergehenden Abschnitt-zum-Lesen-von-Information-für-einen-Block 341.
Der einzige unterschiedliche Teil ist, dass die Eingabe des n × n Blockbildes 335 in
einem n × n
Blockbildpuffer 351 gespeichert wird, und dass der Bildwert
für dieses
Blockbild verwendet wird, um lediglich den orthogonalen Transformationskoeffizienten
zu berechnen, der mit den durch den Koordinatenauswahlabschnitt 345 ausgewählten Koordinaten übereinstimmt.
Das Verfahren, wie beispielsweise, wenn die 1-Bit-Subinformation
durch Berechnen des Koeffizientenwerts gelesen wird, ist das gleiche.
-
Ausführungsformen
der Erfindung wurden oben beschrieben, jedoch hinsichtlich der Subinformation des
j Bit-Abschnitts betrachtet wurde, die in den jeweiligen n × n Blockbildern
bei der Erfindung eingebettet ist, wenn die Zahl eine bestimmte
Größe ist,
dann ist es durch Verwenden eines Teils davon als ein Wassermarken-Informations-Unterscheidungsetikett
möglich,
ebenfalls die Zuverlässigkeit
der gelesenen Information zu erhalten. Beispielsweise wird die Etikettinformation
gleich a0, a1 ...
ak-1 gemacht (der 1(L) Bit-Teil in der Bitzahl j
der Subinformation, die in dem jeweiligen n × n Blockbild einzubetten ist,
wird als die Etikettinformation verwendet), und gelesene Information
durchgeführt,
und der Hamming-Abstand zwischen dem erhaltenen Etikettinformationsteil
und der ursprünglichen
Etikettinformation wird m (m < 1)
gemacht. Zu dieser Zeit kann die Zuverlässigkeit S der Subinformation
des verbleibenden j – 1
Bit, das gleichzeitig mit der Etikettinformation gelesen wird, berechnet
werden aus:
- (i) wenn m = 0 S = 1
- (ii) wenn ≤ 1/2
S = 0
- (iii) zu anderen Zeiten
-
Durch
Rekonstruieren der Subinformation für die gelesenen Bits, die gewichtet
worden sind, dann kann die Informationslesegenauigkeit weiter verbessert
werden.
-
Außerdem kann
die Anwesenheit einer unehrlichen Änderung des Bewegtbildes, die
die Hauptinformation ist, durch Prüfen der Etikettlesegenauigkeit
erfasst werden, und Informations-Lesen
ist sogar mit einem Bild, bei dem ein Abschnitt herausgenommen wurde,
durch Initialisieren der Zufallszahl des verwendeten Anfangswerts
möglich.
-
Außerdem kann
der Bereich, der zur Zeit der Informationseinbettung verwendet wird,
für jeden
einzelnen Block geändert
werden, indem die Eigenschaften des Blockbildes berücksichtigt
werden. Dies kann beispielsweise das Berechnen der Entropie des
Pixelwerts des Blockbildes, und das Ändern des Bereichs abhängig von
dem berechneten Wert beinhalten (der für die Quantisierung verwendete
Quantisierermaßstab
des Koeffizienten wird mit der Entropie geändert). Auf diese Art und Weise
kann durch Entwickeln der Änderungsfrequenz-Koeffizientenposition,
bei der Subinformation eingebettet ist, und des Quantisierermaßstabs des
Koeffizienten, die Informationseinbettung dann auf einer Art und
Weise durchgeführt
werden, die nicht von einer Person wahrgenommen werden kann. Außerdem kann
die Stärke
gesteuert werden, um der Verschlechterung der Subinformation (Wassermarken-Information)
aufgrund der Verschlechterung der primären Information (Bild) entgegenzuwirken.
Außerdem
ist es nicht möglich,
wenn es keine Schlüsselinformation
gibt, die zur Zeit der Informationseinbettung verwendet wird, die
Subinformation herauszunehmen.
-
Dann
kann mit dem Verfahren und der Vorrichtung der Erfindung beispielsweise
durch Verwenden dieses bei einem Urheberrechtschutzsystem, die Qualität des digitalen
Informationsinhalts gegenüber
dem herkömmlichen
System verbessert werden. Außerdem
wird es mit der Stärkung
der Gegenmaßnahmen
für den Urheberschutz
möglich,
die Grenze zwischen der Qualität
der Wassermarken-Information und der Rate der Fortsetzung der Wassermarken-Information
anzuheben, die in einer Kompromissbeziehung sind, die ein schwieriges
Thema ist. D.h., da die Informationseinbettung auf eine Weise durchgeführt wird,
die durch Quantisierung unwahrscheinlich beeinflusst werden wird,
indem zuletzt verwendete Bildkomprimierungstechniken verwendet werden,
und die Informationseinbettung durch orthogonales Transformieren
mit einer Blockgrößer durchgeführt wird,
die größer als
die Blockgröße ist,
die bei der Informationskomprimierung verwendet wird, dann kann
der Einfluss auf das Bild (Bildqualitätsverschlechterung) unterdrückt werden.
Außerdem
kann, wenn das Bild in eine n × n
Größe aufgelöst wird,
der orthogonale Hochgeschwindigkeits-Transformations-Algorithmus
ausgeführt
werden, indem n ein Exponent von 2 gemacht wird, sodass es möglich ist,
die Subinformation während
der Regeneration des Bewegtbildes zu lesen.
-
Mit
der vorliegenden Ausführungsform
wurde lediglich die Luminanzkomponente betrachtet, wenn das Bild
im YUV-Format ist. Die Erfindung kann jedoch ebenfalls darauf angewendet
werden, wobei der äquivalente
Algorithmus eine Farbkomponente ist. Außerdem ist dies das gleiche,
wobei das Bildformat RGB ist, und der äquivalente Algorithmus kann
auf die jeweiligen R, G, B Komponenten angewendet werden. Wenn diese Verfahren
angewendet werden, ist es möglich,
eine noch größere Menge
von Information einzubetten. Indem die Information zur Einbettung
in den jeweiligen Komponenten die gleiche gemacht wird, dann kann
dies außerdem
auch beim Erfassen der Anwesenheit einer unehrlichen Änderung
des Bildes und der Einbettungsinformation verwendet werden.
-
(Vierte Ausführungsform)
-
Mit
dieser Ausführungsform
wird eine Beschreibung der Informationseinbettung gegeben, die ebenfalls
die Verfahren umfasst, die sich von den obigen Ausführungsformen
unterscheiden. Außerdem
wird beim Lesen der eingebetteten Information ebenfalls eine Beschreibung
eines Verfahrens gegeben, das das ursprüngliche Bild verwendet.
-
Die
vierte Ausführungsform
wird nun mit Bezug auf die begleitenden Zeichnungen beschrieben.
-
Zuerst
wird eine Erläuterung
der Verarbeitung für
die Einbettung von Information in Bildern gegeben. 42 ist ein schematisches Diagramm der Eingangs-/Ausgangsbeziehung
und der Informations-Einbettungsvorrichtung 401 dieser
Ausführungsform.
Die Informations-Einbettungsvorrichtung 401 nimmt die Eingabe
des ursprünglichen
Bewegtbildes (Primärinformation) 402 eines
digitalen Bewegtbildes und Parameter-der-Einbettungsinformation 403 und
gibt ein Informations-eingebettes Bewegtbild 404 aus. Die
Parameter-der-Einbettungsinformation 403 umfassen
den Anfangswert-einer-Zufallsfrequenz,
den Quantisierer-Koeffizientenmaßstab, und einzubettende Information
(Subinformation). Wenn 1 und 42 verglichen
werden, entsprechen die Informations-Einbettungsvorrichtung 1, die
ursprünglichen
Daten 2, die Wassermarken-Information 4, der Schlüssel-der-Einbettungsinformation 3 und
die eingebetteten Daten 5 in 1 der
Informations-Einbettungsvorrichtung 401, dem ursprünglichen
Bewegtbild 402, der Subinformation in den Parametern-der-Einbettungsinformation 403,
die Parameter-der-Einbettungs-Information 403 ohne
die Subinformation bzw. dem Informations-eingebetten Bewegtbild 404 in 42. Außerdem
entspricht der Anfangswert-einer-Zufallssequenz 31 und
der Quantisierer-Koeffizientenmaßstab 32 in 1 dem
Anfangswert-einer-Zufallssequenz bzw. dem Quantisierer-Koeffizientenmaßstab bei
den Parametern der Einbettungsinformation 403 in 43.
-
43 ist ein Diagramm, das die Gesamtstruktur der
Informations-Einbettungsvorrichtung 401 zeigt. Die Informations-Einbettungsvorrichtung 401 umfasst
einen Bildaufteilungsabschnitt 405, einen Informationseinbettungsabschnitt 406 und
einen Bildrekonstruktionsabschnitt 407. Die Korrespondenz
zwischen 1 und 43 ist
wie folgt. Der Blockbildungsabschnitt 11 in 1 entspricht
dem Bildaufteilungsabschnitt 405 in 43,
und die Funktionen des orthogonalen Transformationsabschnitts 12,
des Einbettungskoeffizienten-Auswahlabschnitts 13 und
des Informations-Einbettungsabschnitts 14 in 1 sind
in dem Informations-Einbettungsabschnitt 406 enthalten.
Außerdem
wird die Funktion des invers-orthogonalen Transformationsabschnitts 15 in 1 durch
einen Teil der Funktion des Informations-Einbettungsabschnitts 406 und
durch den Bildrekonstruktionsabschnitt 407 verwirklicht.
Was folgt ist eine sequentielle Beschreibung der jeweiligen Verarbeitungsabschnitte.
-
(Bildaufteilungsabschnitt 405)
-
44 ist ein Konzeptdiagramm des Bildaufteilungsabschnitts 405.
Der Bildaufteilungsabschnitt 405 löst das eingegebene ursprüngliche
Bewegtbild (Bewegtbilder) 402 in Blockbilder 452 durch
ein zuvor bestimmtes Auflösungsverfahren
auf und sendet diese sequentiell an den Informations-Einbettungsabschnitt 406.
Hier ist das zuvor bestimmte Auflösungsverfahren beispielsweise
ein Verfahren, das die Größe des ursprünglichen
Bilds M × N
macht, und ein Zeitraumbild M × N × T, wobei
ein festes Zeitintervall T gemacht wird, wird in w rechteckige Blöcke optionaler
Größe block0 (Größe M0 × N0 × T0), block1 (Größe M1 × N1 × T1) ... blockw (Größe Mw-1 × Nw-1 × Tw-1) aufgelöst. Die jeweiligen Blöcke weisen
keine gemeinsamen Teile auf, und das Summen-Aggregat der jeweiligen
Blöcke
wird ein M × N × T großes Zeitraumbild.
-
(Informations-Einbettungsabschnitt 406)
-
45 zeigt ein detailliertes Strukturdiagramm des
Informations-Einbettungsabschnitts 406. Der Informations-Einbettungsabschnitt 406 nimmt
die Eingabe der Parameter-der-Einbettungsinformation 403 und die
Mu × Nu × Tu (0 < u < w – 1) großen Blockbilder 452 (Block)
und gibt ein Mu × Nu × Tu großes Informations-eingebettetes
Blockbild 427 aus, das an den Bildrekonstruktionsabschnitt 407 gesendet
wird. Wenn 45 und 1 verglichen
werden, entspricht der orthogonale Transformationsabschnitt 12 in 1 einem Frequenztransformationsabschnitt 409 der 45, und die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1 entspricht
einem Zufallszahlen-Erzeugungsverarbeitungsabschnitt 413 und
einem Teil der Funktion eines Frequenzkoeffizienten-Änderungsverarbeitungsabschnitts 414 in 45. Außerdem
ist die Funktion des Informations-Einbettungsabschnitts 14 in 1 in
dem Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 in 45 enthalten. Außerdem entspricht ein Teil
der Funktion des invers-orthogonalen Transformationsabschnitts 15 in 1 einem
Abschnitt-zur-inversen-Frequenztransformation 426 und einem Überbereichsvermeidungs-Verarbeitungsabschnitt 425 in 45. Der Betrieb des Informations-Einbettungsabschnitts 406 wird
nun mit Bezug der 45 beschrieben.
-
Die
Parameter-der-Einbettungsinformation 403 werden an einen
Eingangsparameter-Aufteilungsabschnitt 408 gesendet, während die
Blockbilder 452 an den Frequenztransformationsabschnitt 409 gesendet werden.
-
Der
Eingangsparameter-Aufteilungsabschnitt 408 löst die einzelnen
Parameter-der-Einbettungsinformation 403 auf, und erzeugt
jeweils neu: einen Anfangswert-einer-Zufallssequenz 410,
einen Quantisierer-Koeffizientenmaßstab 411 und Subinformation 412,
und gibt diese aus. Der Anfangswert-einer-Zufallssequenz 410 wird
an den Zufallszahlen-Erzeugungsverarbeitungsabschnitt 413 gesendet,
der Quantisierer-Koeffizientenmaßstab 411 wird an
den Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 gesendet,
und die Subinformation 412 wird an einen Subinformationspuffer 415 gesendet.
-
Der
Frequenztransformationsabschnitt 409 führt eine Mu × Nu × Tu Frequenztransformation
an dem eingegebenen Mu × Nu × Tu großen Blockbild 452 aus
und gibt eine Mu × Nu × Tu große Blockkoeffizientenmatrix 418 aus,
und sendet diese an den Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414. 46 zeigt ein Konzeptdiagramm des Frequenztransformationsabschnitts 409.
Da die Frequenztransformations-Verarbeitung selbst allgemeines Wissen
ist, werden Einzelheiten davon weggelassen.
-
Der
Zufallszahlen-Erzeugungsverarbeitungsabschnitt 413 liest
die Anfangswerte einer Zufallssequenz 410 und erzeugt basierend
darauf sukzessiv eine Zufallszahl 416 für jede Verarbeitung der jeweiligen
1-Bit-Informationseinbettung und gibt diese aus. Hier erzeugt der
Zufallszahlen- Erzeugungsverarbeitungsabschnitt 413 Zufallszahlen 416 in
Intervallen, die ausreichend groß verglichen mit der Bildblockgröße sind.
Die Zufallszahlen 416 werden dann an den Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 gesendet.
-
Der
Subinformationspuffer 415 speichert die Subinformation 412 in
einem internen Puffer und liest Information je 1 Bit auf einmal
mit einem internen Informations-Auslese-Header aus, und gibt 1-Bit-Subinformation 417 aus,
und sendet diese an den Frequenz-Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414. 47 zeigt ein Konzeptdiagramm des Subinformationspuffers 415.
-
Für das Steuerverfahren
des Informationslese-/Schreib-Headers
innerhalb des Subinformationspuffers können verschiedene Verfahren
betrachtet werden, wie beispielsweise ein Verfahren, das für jede Verarbeitung
der jeweiligen Einbettung und des Lesens von 1-Bit-Information aktiviert
wird, oder ein Verfahren, das für
jede Verarbeitung von Information der Einbettung in und des Lesens
aus den jeweiligen Blockbildern aktiviert wird. Diese hängen jedoch
von dem Verpackungssystem für
die Informations-Einbettungsinformation
ab. Mit dem Steuerverfahren für
den Header, der das Auslesen/Schreiben von Information des Subinformationspuffers
durchführt,
muss die Verpackung mit dem gleichen Verfahren in der Informations-Einbettungsvorrichtung
und in einer später
zu beschreibenden Informationslesevorrichtung ausgeführt werden.
-
Der
Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 nimmt
die Eingabe der Mu × Nu × Tu großen Blockkoeffizientenmatrix 418,
die Zufallszahl 416, die 1-Bit-Subinformation 417 und
den Quantisierer-Koeffizientenmaßstab 411 und ändert die Frequenzkoeffizienten
der Mu × Nu × Tu optionalen
Koordinaten und gibt Koordinaten 421 und eine Informations-eingebette
Blockkoeffizientenmatrix 422 aus.
-
48 ist ein Konzeptdiagramm, das eine Überblickstruktur
und die Verarbeitung des Frequenzkoeffizienten-Änderungsverarbeitungsabschnitts 414 zeigt.
Ein Koordinatenauswahlabschnitt 420 in 48 verwirklicht einen Teil der Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1.
-
Die
Mu × Nu × Tu große Blockkoeffizientenmatrix 418 wird
einem Koeffizientenmatrixpuffer 419 gespeichert. Die Zufallszahl 416 wird
in den Koordinatenauswahlabschnitt 420 eingegeben. Der
Koordinatenauswahlabschnitt 420 wählt einen Koeffizienten von
der Mu × Nu × Tu Koeffizientenmatrix
mit der Zufallszahl 416 aus, so dass es keinen Konflikt
in der Koeffizientenmatrix gibt, und gibt entsprechende Koordinaten 421 aus. Die
Ausgangskoordinaten 421 werden alle in einem Koordinatenpuffer 423,
wie in 49 gezeigt ist, für jede Blockeinbettungsverarbeitung
gesichert, und nach der jeweiligen Blockeinbettungsverarbeitung
als Koordinatensatz 424 ausgegeben.
-
Der
Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 bettet
die 1-Bit-Subinformation 417 in
der Frequenzkomponente (Koeffizienten), die der Koordinate 421 entspricht,
mit dem Quantisierer-Koeffizientenmaßstab 411 ein.
Die Informations-Einbettungsverarbeitung
wird nu Mal (wobei nu die
Anzahl der eingebetteten Information in einem Block, die eine ganze
Zahl 1 oder mehr ist, und eine unterschiedliche Zahl für jeden
Block sein kann. Es ist ebenfalls für die Informationslesevorrichtung
notwendig, mit dem gleichen Verfahren zu packen) an einem Block
der Mu × Nu × Tu großen Koeffizientenmatrix
ausgeführt.
Nachdem alles ausgeführt
wurde, wird die Informations-eingebette Mu × Nu × Tu große Blockkoeffizientenmatrix 422 ausgegeben.
-
Das
Nächste
ist eine spezifischerische Beschreibung der Verarbeitung zum Einbettung
j(0 ≤ j ≤ nu) einzelner Bitinformation in dem u-ten
Blockbild "Block" des i-ten M × N × T großen Zeitraumbilds
des eingegebenen ursprünglichen
Bewegtbildes 402; vorausgesetzt, dass der Quantisierer-Koeffizientenmaßstab zu "Bereich" gemacht und die
Subinformation 412 zum Einbetten zu b0b1 ... bk-1 gemacht
wird (wobei die Bitlänge
k, bj ∊ {0,1}, 0 ≤ j ≤ k – 1) ist.
-
Mit
dem Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 werden
die Frequenzkoeffizientenwerte ci,u,j der
durch den Koordinatenauswahlabschnitt 420 ausgewählten Koordinaten
geändert,
und in dem Fall, in dem die eingebettete Bitinformation 1 ist, in
den Ci,u,j+ Bereich, und in dem Fall, in
dem die eingebettete Information 0 ist, in den Ci,u,j– Bereich,
um dadurch die 1-Bit-Subinformation 417 einzubetten (48). Nun können,
da die Information durch Addition oder Subtraktion des Werts für den Bereich
eingebettet ist, und dann sogar wenn die Addition und die Subtraktion
umgekehrt wird, die gleichen Ergebnisse bekommen werden.
-
Als
ein Einbettungsverfahren, so dass Informationslesen ungeachtet der
Anwesenheit des ursprünglichen
Bilds möglich
ist, wurde ebenfalls in Betracht gezogen, den Frequenzkoeffizientenwert
c
i,u,j der durch den Koordinatenauswahlabschnitt
420 ausgewählten Koordinaten
gemäß den folgenden
Gleichungen zu ändern:
wobei die einzubettende Bitinformation
1 ist
wobei die einzubettende Bitinformation
1 ist
wobei die einzubettende Bitinformation
1 ist
wobei die einzubettende Bitinformation
0 ist
wobei die einzubettende Bitinformation
0 ist
wobei die einzubettende Bitinformation
0 ist
wobei in den Gleichungen ⎣X⎦ eine
maximale ganze Zahl angibt, die x nicht überschreitet, und x mod y den Rest
nach Teilen von x durch y angibt. Diese Definitionen sind für alle Ausführungsformen
gemeinsam.
-
Auf
diese Art und Weise wird ein Quantisierungswert, der größer oder
kleiner als der Frequenzkoeffizient ist, der das Informations-Einbettungsobjekt
wird, in Übereinstimmung
mit der Regel ausgewählt,
dass Informationseinbettung von dem eingebetteten Bitwert abhängt.
-
Nun
wird bei dem Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 der
Subinformations-Auslese-Header
des Subinformationspuffers 415 durch ein vorbestimmtes
Verfahren für
jede Ausführung der
jeweiligen 1-Bit-Informationseinbettung
gesteuert. Während
dies stattfindet, wird die Koordinate des Koeffizienten, der der
Einbettung unterworfen wurde, an den Koordinatenpuffer 423 gesendet
und darin gespeichert.
-
Auf
die obige Art und Weise wird durch wiederholte Einbettungsverarbeitung
eines Blocks der Mu × Nu × Tu großen Koeffizientenmatrix
nu Mal, wobei nu die
Bitzahl für
die Einbettung darin ist, dann die Einbettungsverarbeitung einer
Koeffizientenmatrix abgeschlossen.
-
Nach
der Einbettungsverarbeitung werden der Koordinatensatz 424 und
die Informations-eingebette Blockkoeffizientenmatrix 422 an
den Überbereichsvermeidungs-Verarbeitungsabschnitt 425 gesendet.
Mit dem Überbereichvermeidungs-Verarbeitungsabschnitt 425 wird,
um eine schlechte Wiedergabe des Informations-eingebetteten Bildes
zu vermeiden, die Blockkoeffizientenmatrix 422, die der
Informationseinbettung unterworfen wurde, durch den Abschnitt-zur-inversen-Frequenztransformation 426 invers
Frequenz-transformiert. Auf den Koordinatensatz 424 wird
dann Bezug genommen, und die Überbereichsvermeidungs-Verarbeitung
wird an diesem Blockbild ausgeführt,
das invers Frequenz-transformiert
wurde.
-
50 zeigt ein Konzeptdiagramm der Verarbeitung
für den Überbereichsvermeidungs-Verarbeitungsabschnitt 425.
In 50 wird ein 8-Bit-Grauskalenbild angenommen, wobei
die Domäne
des Pixelwerts (Luminanzwert) zu 0~225 gemacht wird.
-
Das
Blockbild, für
das die Koeffizientenmatrixeingabe in den Überbereichsvermeidungs-Verarbeitungsabschnitt 425 mit
dem Abschnitt-zur-inversen-Frequenztransformation 426 invers
Frequenz-transformiert wurde, wird als ein Blockbild A gekennzeichnet. 50(a) stellt dies dar, wobei ein Fall
gezeigt wird, in dem beispielsweise ein Teil außerhalb des Bereichsabschnitts,
der durch den in einem Kreis eingeschlossenen Abschnitt gezeigt
wird, erzeugt wird. Hier wird der Mu × Nu × Tu invers Frequenz-transformiert
der Abschnitt-zur-inversen-Frequenztransformation 426,
wie in 51 gezeigt, die Mu × Nu × Tu große Blockkoeffizientenmatrix
und gibt Mu × Nu × Tu große Blockbilder
aus.
-
Mit
der in den Überbereichsvermeidungs-Verarbeitungsabschnitt 425 eingegebenen
Koeffizientenmatrix, dann mit einer, die durch Ändern der Gleichstromkomponente
in dem minimalen Wert des Werts erhalten wird, den der Gleichstromwert
in der Definition des Mu × Nu × Tu Frequenzkoeffizienten
annehmen kann (beispielsweise sei angenommen, dass die Frequenztransformation
eine DTC (Discrete Cosine Transform) ist, dann ist in dem Block
dieser Wert –Lm × (Mu × Nu × Tu) (wobei
Lm der Mittelwert der Luminanz ist)), und indem alle Werte der Koeffizienten
des eingegebenen Koordinatensatzes 424 auf 0 gesetzt werden,
wird das Mu × Nu × Tu große Blockbild,
das mit dem Abschnitt-zur-inversen-Frequenztransformation 426 invers
Frequenz-transformiert
wurde, als ein Blockbild B gekennzeichnet. Außerdem wird dem Anderen angenommen, der
durch Ändern
in 0 aller Werte verschieden von den Koeffizientenwerten oder den
Koordinaten des eingegebenen Koordinatensatzes 424 erhalten
wird, in den die Gleichstromkomponentenwerte eingegeben werden, wird
das Mu × Nu × Tu große Blockbild,
das mit dem Abschnitt-zur-inversen-Frequenztransformation 426 invers
Frequenz-transformiert wurde, als Blockbild C gekennzeichnet. 50(b) zeigt dies.
-
Mit
dem Überbereichsvermeidungs-Verarbeitungsabschnitt 425,
solange wie es ein Pixelwert größer als
den Höchstpixelwert
oder kleiner als den Mindestpixelwert in dem Bild des Blockbildes
A gibt, dann wird ein Informations-eingebettetes Bild 427, das
der Überbereichsvermeidungs-Verarbeitung unterworfen
wurden, durch Reduktion/Expansion der Pixelwerte des Blockbildes
B erhalten, so dass die Werte der Pixelwerte, die dem Blockbild
B und dem Blockbild C entsprechen, jeweils bei Werten zwischen dem
Mindestpixelwert und dem Höchstpixelwert
aller Pixelwerte der übereinstimmenden
Bilder eingestellt wird. 50(c) zeigt
dies. Die Verarbeitung, so dass der Wert nach der inversen Frequenztransformation,
wie oben beschrieben, nicht die Domäne der Pixelwerte überschreitet,
wird mit den Frequenzkoeffizienten ausgeführt.
-
Bei
Block C ist jedoch, wenn ein Pixelwert, der kleiner als der minimale
Pixelwert ist, und ein Pixelwert, der größer als der maximale Pixelwert
ist, zusammen existieren, die oben erwähnte Überbereichsvermeidung nicht
anwendbar. Daher darf zur Zeit der Informationseinbettung der Wert
des Bereiches nicht übermäßig groß gemacht
werden.
-
In
dem Fall, in dem die Überbereichsverarbeitung
nicht ausgeführt
wird, ist es nicht notwendig, den Koordinatenpuffer 423 zu
erstellen. Außerdem
ist in 45 die von dem Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 ausgegebene
Informations-eingebettete
Blockkoeffizientenmatrix 422 durch den Abschnitt-zur-inversen-Frequenztransformation 426 invers
Frequenz-tranformiert, wie sie ist, und die Blockbilder-der-eingebetteten-Information 427 werden
ausgegeben.
-
Der
Informations-Einbettungsabschnitt 406 führt die oben erwähnte Verarbeitung
an allen Blockbildern (block0, block1, ... block kw-1)
aus, und sendet die Informations-eingebetteten Blockbilder 427 sukzessiv
an den Bildrekonstruktionsabschnitt 407.
-
(Bildrekonstruktionsabschnitt 407)
-
52 ist ein Konzeptdiagramm des Bildrekonstruktionsabschnitts 407.
Der Bildrekonstruktionsabschnitt 407 verknüpft zusammen
die Eingabe jeweils eingegebener Informations-eingebetteter Blockbilder 427 und
stellt diese in die M × N × T Zeitraumbilder
und die Bewegtbilder wieder her, um dadurch das Informations-eingebettete
Bewegtbild 404 zu erhalten.
-
Als
nächstes
wird ein Prozess zum Lesen von Information aus den Informations-eingebetteten
Bilder beschrieben. 53 ist ein Konzeptdiagramm
der Eingangs- und Ausgangsbeziehung einer erfindungsgemäßen Informationslesevorrichtung 428.
Die Informationslesevorrichtung 428 nimmt die Eingabe des
ursprünglichen
Bewegtbildes 429 (Primärinformation),
die Informations-eingebetteten Bilder (Primärinformation + Subinformation) 430 und
die Parameter-zum-Informationslesen 431 und gibt Subinformation 432 aus,
die in den Bildern 430 eingebettet worden ist. Die Parameter-zum-Informationslesen 431 umfassen
den Anfangswert der Zufallszahl des Informations-Einbettungsschlüssels, der
zur Zeit des Erzeugens des Informations-eingebetteten Bewegtbildes 430 verwendet
wurde, und die Frequenzkomponentenänderungsbreite. Wenn 3 und 53 verglichen werden, entspricht die Informationslesevorrichtung 6,
die eingebetteten Daten 5, der Schlüssel-der-Einbettungsinformation 3 und
die Wassermarken-Information 4 in 3 der
Informationslesevorrichtung 428, dem Informations-eingebetteten
Bewegtbild 430, den Parametern-zum-Informationslesen 431 bzw.
der Subinformation 432 in 53.
Das ursprüngliche
Bewegtbild 429 in 53 entspricht
den ursprünglichen
Daten 2 in 1. Hier ist nachstehend ist
eine Beschreibung eines Verfahrens zum Lesen von Information, die
mit dem ursprünglichen
Bewegtbild 429 eingebettet worden ist.
-
54 ist ein Gesamtstrukturdiagramm eines Beispiels
der Informationslesevorrichtung 428. Die Informationslesevorrichtung 428 umfasst
einen Differentialbildgebungsabschnitt 433, einen Bildauflösungsabschnitt 434,
einen Informationsleseabschnitt 435 und einen Subinformations-Rekonstruktionsabschnitt 436. Der
Blockbildungsabschnitt 21 in 3 entspricht
dem Bildauflösungsabschnitt 434 in 54. Außerdem
ist die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 und
des Abschnitts-zum-Berechnen-des-zu-verarbeitenden-Koeffizienten 23 in 3 in
dem Informationsleseabschnitt 435 und dem Differentialbildgebungsabschnitt 433 in 54 enthalten. Außerdem ist die Funktion des
Informationsleseabschnitts 24 in 3 in einen
Teil der Funktion des Informationsleseabschnitts 435 und
des Subinformationsrekonstruktionsabschnitts 436 aufgeteilt.
In dem Fall, in dem die Informationseinbettung mit lediglich der
Eingabe des Informations-eingebetteten Bildes ohne Verwenden des
ursprünglichen
Bildes durchgeführt
wird, dann ist der Differentialbildgebungsabschnitt 433 nicht
erforderlich. Eine Beschreibung der jeweiligen Verarbeitungsabschnitte
folgt.
-
(Differentialbildgebungsabschnitt 433)
-
55 ist ein Konzeptdiagramm des Differentialbildgebungsabschnitts 433.
Der Differentialbildgebungsabschnitt 433 nimmt die Eingabe
des ursprünglichen
Bewegtbildes 429 ([p1x,y,z]) und
des Informations-eingebetteten Bewegtbildes 430 ([p2x,y,z]), zentralisiert den zentralen Wert
(Lm) des Pixelwerts und gibt dann differentielle Bilder 437 ([p2x,y,z – p1x,y,z – Lm])
aus. Auf diese Art und Weise wird das Lesen der eingebetteten Information
in dem Informationsleseabschnitt 435 mit dem Differentialwert
des Frequenzkoeffizienten, der das Objekt des Informationslesens
ist, und dem Frequenzkoeffizienten der entsprechenden Position in dem
ursprünglichen
Bild (den Daten vor der Informationseinbettung) ausgeführt.
-
(Bildauflösungsabschnitt 434)
-
56 ist ein Konzeptdiagramm eines Bildauflösungsabschnitts 434.
Der Bildauflösungsabschnitt 434 nimmt
die Eingabe der Differentialbilder 437, führt den
gleichen Prozess des Bildaufteilungsabschnitts 405 durch,
der bei der vorhergehenden Informations-Einbettungsvorrichtung 401 verwendet
wurde, und gibt Differentialblockbilder 438 der Größe Mu × Nu × Tu (0 ≤ u ≤ w – 1) aus.
Hier muss der Bildauflösungsabschnitt 434 das
Bild mit dem gleichen Verfahren auflösen, wie ein zuvor bestimmtes
Auflösungsverfahren,
durch das das Bild durch den Bildaufzeichnungsabschnitt 405 gepackt
wurde.
-
(Informationsleseabschnitt 435)
-
57 zeigt ein detailliertes Strukturdiagramm des
Informationsleseabschnitts 435. Der Informationsleseabschnitt 435 nimmt
die Eingabe der Parameter-zum-Informationslesen 431 und
der Differentialblockbilder 438 und liest die Subinformation
je 1 Bit auf einmal aus den jeweiligen Blockbildern und sendet dies
sukzessiv an den Subinformationsrekonstruktionsabschnitt 436.
Hier wird die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 durch
einen Teil der Funktion eines Abschnitts-zum-Lesen-von-Information-für-einen-Block 444 und
durch einen Zufallszahlen-Erzeugungsabschnitt 443 verwirklicht,
während
die Funktion des Abschnitts zum Berechnen des zu verarbeitenden
Koeffizienten 23 in 3 durch
einen Frequenztransformations-Verarbeitungsabschnitt 440 verwirklicht
wird. Der Betrieb des Informationsleseabschnitts 435 wird
nachstehend ausführlich
dargelegt.
-
Die
Parameter-zum-Informationslesen 431 werden an einen Eingangsparameter-Auflösungsabschnitt 439 gesendet,
während
die Differentialblockbilder 438 an den Frequenztransformations-Verarbeitungsabschnitt 440 gesendet
werden.
-
Der
Eingangsparameter-Auflösungsabschnitt 439 löst die Parameter-zum-Informationslesen 431 auf und
rekonstruiert einen Anfangswert-einer-Zufallssequenz 441 und
einen Quantisierer-Koeffizientenmaßstab 442 und gibt
diese aus. Der Anfangswert-einer-Zufallssequenz 441 wird
an den Zufallszahlen-Erzeugungsabschnitt 443 ausgegeben,
während
der Quantisierer-Koeffizientenmaßstab 442 an den Informationsleseverarbeitungsabschnitt
in einem Block 44 ausgegeben wird.
-
In
dem Fall, in dem die Informations-Verarbeitung mit dem ursprünglichen
Bild ausgeführt
wird, dann ist der Parameter-zum-Informationslesen 431 lediglich
der Anfangswert der Zufallszahl. Somit ist es in diesem Fall nicht
notwendig, den Eingangsparameter-Auflösungsabschnitt 439 zu
erstellen, und der Anfangswert der Zufallszahl wird direkt an den
Zufallszahlen-Erzeugungsabschnitt 443 gesendet.
-
Der
Frequenztransformations-Verarbeitungsabschnitt 440 führt den
gleichen Prozess des Frequenztransformations-Verarbeitungsabschnitts 409 durch,
der bei dem Informations-Einbettungsabschnitt 406 verwendet
wurde (siehe 46), und die Mu × Nu × Tu Frequenz-transformiert
die Mu × Nu × Tu großen Differentialblockbilder 438 und
gibt eine resultierende Mu × Nu × Tu große Blockkoeffizientenmatrix 445 an
den Abschnitt-zum-Lesen-von-Information-für-einen-Block 444 aus.
-
Der
Zufallszahlen-Erzeugungsabschnitt 443 liest den Anfangswert-einer-Zufallssequenz 441 und
erzeugt basierend darauf sukzessiv eine Zufallszahl 446 für jede Verarbeitung des
jeweiligen 1 Bit Informationslesens und gibt diese aus. Mit dem
Zufallszahlen-Erzeugungsabschnitt 443 und dem Zufallszahlen-Erzeugungsverarbeitungsabschnitt 413,
der bei dem Informations-Einbettungsabschnitt 406 verwendet
wird, dann ist, wenn der gleiche Anfangswert für die Zufallszahl eingegeben
wird, eine Verpackung notwendig, so dass die gleichen Zufallszahlen
in der gleichen Reihenfolge ausgegeben werden.
-
Der
Abschnitt-zum-Lesen-von-Information-für-einen-Block 444 nimmt
die Eingabe der Mu × Nu × Tu großen Blockkoeffizientenmatrix 445,
die Zufallszahl 446 und den Quantisierer-Koeffizientenmaßstab 442 und liest
die 1-Bit-Subinformation 449 und
gibt diese aus. Die Blockkoeffizientenmatrix 445 wird in
einem Koeffizientenmatrixpuffer 447 gespeichert.
-
58 zeigt ein Konzeptdiagramm der Umrissstruktur
und der Verarbeitung des Abschnitts-zum-Lesen-von-Information-für-einen-Block 444.
Die Funktion eines Teils des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 wird
durch einen Koordinatenauswahlabschnitt 448 in 58 verwirklicht.
-
Die
Mu × Nu × Tu große Blockskoeffizientenmatrix 445 wird
in dem Koeffizientenmatrixpuffer 447 gespeichert. Die Zufallszahl 446 wird
in den Koordinatenauswahlabschnitt 448 eingegeben. Der
Koordinatenauswahlabschnitt 448 führt eine Verarbeitung ähnlich der
des Koordinatenauswahlabschnitts 420 aus, der bei dem Frequenzkoeffizienten-Änderungsverarbeitungsabschnitt 414 verwendet
wurde. Das heißt,
mit dem Koordinatenauswahlabschnitt 448 und dem Koordinatenauswahlabschnitt 420,
ist, wenn der gleiche Anfangswert für die Zufallszahl eingegeben
wird, eine Verpackung notwendig, so dass die gleiche Koordinate
ausgegeben wird.
-
Der
Abschnitt-zum-Lesen-von-Information-für-einen-Block 444 beurteilt
das Positive oder Negative des Koeffizienten, der den Koordinaten
entspricht, die durch den Koordinatenauswahlabschnitt 448 aus
der Mu × Nu × Tu großen Blockkoeffizientenmatrix 445 ausgewählt wurden,
um dadurch die 1-Bit-Subinformation 449 zu lesen und auszugeben.
Die Informationsleseverarbeitung wird nu Mal
(wobei nu die Anzahl der eingebetteten Information
in einem Blocku zur Zeit der Informationseinbettung
ist) an einem Block der Mu × Nu × Tu großen Frequenztransformationsmatrix
durchgeführt,
und die eingebettete 1-Bit-Subinformation wird sukzessiv gelesen.
-
Das
nächste
ist eine spezifischerische Beschreibung der Verarbeitung zum Lesen
j(0 ≤ j ≤ nu) einzelner Bitinformation bi,u,j ∊ {0,1}
in dem u-ten Blockdifferentialbild des i-ten M × N × T großen Zeitraumbildes der Differentialbilder 437.
Vorausgesetzt, dass die Subinformation 432 in dem 430 eingebettet
ist, wird b0b1 ...
bk-1 und der in dem Abschnitt-zum-Lesen-von-Information-für-einen-Block 444 eingegebene
Quantisierer-Koeffizientenmaßstab 442 zu "Bereich (range)" gemacht.
-
Der
Abschnitt-zum-Lesen-von-Information-für-einen-Block 444 führt ein
Informationslesen mit Bezug auf die Frequenzkoeffizientenwerte Ci,u,j der durch den Koordinatenauswahlabschnitt 448 ausgewählten Koordinaten
durch, indem:
bi,u,j = 1 gemacht wird,
wenn Ci,u,j positiv ist, und
bi,u,j = 0 gemacht wird, wenn Ci,u,j negativ
ist
-
Auf
diese Art und Weise wird das Lesen der eingebetteten Information
in dem Informationsleseabschnitt 435 wirksam mit dem Differentialwert
des Frequenzkoeffizienten, der das Objekt des Informationslesens
ist, und dem Frequenzkoeffizienten der entsprechenden Position im ursprünglichen
Bild ausgeführt.
Nun wird die Zuweisung des {0,1}, die den positiven oder negativen
Werten entspricht, durch das Verpackungssystem für die Einbettungsverarbeitung
bestimmt.
-
Außerdem kann
in dem Fall, in dem ein Bild eingegeben wird, das einer Informationseinbettung
unterworfen wurde, wobei Informationslesen ungeachtet der Anwesenheit
des ursprünglichen
Bildes mittels der vorhergehenden Gleichungen möglich ist, dann kann in dem
Fall, in dem es ein ursprüngliches
Bild gibt, das Informationslesen mit dem oben erwähnten Verfahren
durchgeführt
werden. In dem Fall, in dem es jedoch kein ursprüngliches Bild gibt, kann das
Informationslesen durch direktes Eingeben des Informations-eingebetteten Bewegtbildes
430 in
dem Bildauflöseabschnitt
434 ohne
Verwenden des Differentialbildgebungsabschnitts
433 in
54, und das Auflösen dieser in das Blockbild,
und dann das Ausführen
der Verarbeitung in der Blockkoeffizientenmatrix mit dem Frequenztransformations-Verarbeitungsabschnitt
440 durchgeführt werden,
wobei berechnet wird:
-
(Subinformations-Rekonstruktionsabschnitt 436)
-
59 ist eine Konzeptansicht der Verarbeitung des
Subinformations-Rekonstruktionsabschnitts 436. Der Subinformations-Rekonstruktionsabschnitt 436 nimmt
die Eingabe des in dem Blockbild eingebetteten Subinformation sukzessiv
1 Bit auf einmal, bestimmt die jeweiligen Subinformationsbits, die über mehrere
Male eingegeben wurden, mit einer Technik, wie beispielsweise Mehrheitsbeschlussverarbeitung,
und erhöht
die Lesezeiten jedes Bits eingebetteter Subinformation in Übereinstimmung
mit den Informationsleseverarbeitungszeiten durch den Informationsleseabschnitt 435,
der die ursprüngliche
Subinformation rekonstruiert. Indem eine Fehlerkorrekturcodeverarbeitung,
wie beispielsweise Mehrheitsbeschlussverarbeitung, an den jeweiligen Bits
der wiederholt gelesenen Subinformation ausgeführt wird, dann kann die Zuverlässigkeit
der gelesenen Subinformation verbessert werden.
-
Der
Subinformations-Rekonstruktionsabschnitt 436 steuert den
Subinformationsschreibkopf durch ein zuvor bestimmtes Verfahren
jedes Mal, wenn ein jeweiliges 1 Bit der Subinformation gelesen
wird. Die Subinformations-Rekonstitutionsverarbeitung
für einen
Block der Koeffizientenmatrix wird durch Durchführen einer mehrfachen Verarbeitung,
einer Leseverarbeitung wiederholt mit Bezug auf einen Block der
Koeffizientenmatrix, nu Mal abgeschlossen,
die die Anzahl der darin eingebetteten Bits ist.
-
Die
obige Verarbeitung wird für
alle Blockbilder (block0, block1,
... blockw-1) durchgeführt, und jedes Mal, wenn die
Subinformation rekonstruiert ist, oder nachdem die Verarbeitung
in allen Bewegtbildern abgeschlossen ist, dann wird die von den
Bildern gelesene Subinformation 432 ausgegeben.
-
Als
nächstes
wird ein Verfahren zum Verbessern von Informationslesegeschwindigkeit
bei der Verarbeitung in der Informationslesevorrichtung 428 beschrieben.
Mit dem Informationsleseabschnitt 435 in der Informationslesevorrichtung 428,
wie in 57 gezeigt ist, werden die
einzugebenden Differentialblockbilder 438 vorübergehend
in die Blockkoeffizientenmatrix 445 mit dem Frequenztransformationsabschnitt 440 transformiert.
Indem jedoch diese Transformations-Verarbeitung nicht durchgeführt und
direkt von dem Blockdifferentialbild lediglich der Frequenzkoeffizient
berechnet wird, der der Informationseinbettung unterworfen wurde, dann
kann die Berechnungslast verringert werden.
-
60 zeigt ein Strukturdiagramm eines Hochgeschwindigkeits-Informationsleseabschnitts 435'. Dieser Aufbau
ist praktisch der gleiche wie der des Informationsleseabschnitts 435 in 57, wobei der Unterschied darin besteht, dass
es keinen Frequenztransformations-Verarbeitungsabschnitt 440 gibt,
und die Eingabe in einen Abschnitt-zum-Lesen-von-Information-für-einen-Block 444' wird von der
Blockkoeffizientenmatrix 445 in die Differentialblockbilder 438 geändert. In
diesem Fall ist die Funktion des Abschnitts-zum-Berechnen-des-zu-verarbeitenden-Koeffizienten 23 in 3 in
dem Abschnitt-zum-Lesen-von-Information-für-einen-Block 444' in 60 enthalten. Außerdem ist die Informationsleseverarbeitung
selbst des Abschnitts-zum-Lesen-von-Information-für-einen-Block 444' die gleiche
wie für
den Betrieb des Abschnitts-zum-Lesen-von-Information-für-einen-Block 444,
der mit Bezug auf 58 erläutert wurde. Der einzige unterschiedliche
Teil besteht darin, dass die Differentialblockbilder 438 in
dem Bildpuffer gespeichert sind, und die Pixelwerte dieser Blockbilder
verwendet werden, um lediglich den Frequenzkoeffizienten zu berechnen,
der mit den durch den Koordinatenausfallverarbeitungsabschnitt ausgewählten Koordinaten übereinstimmt.
Das Verfahren, bei dem beispielsweise die 1-Bit-Subinformation durch
Beurteilen des Codes des Koeffizientenwerts gelesen wird, ist das
gleiche.
-
Ausführungsformen
der Erfindung wurden oben beschrieben, wobei jedoch die folgenden
Modifikationen und Vergrößerungen
möglich
sind.
- (1) Der Bereich, der zur Zeit der Informationseinbettung
verwendet wird, kann für
jeden einzelnen Block geändert
werden, indem die Eigenschaften des Blockbildes beobachtet werden.
Beispielsweise kann die Entropie des Pixelwerts des Blockbildes
berechnet und der Bereich dann gemäß dem resultierenden Wert geändert werden
(Umwandlung des Werts des für
Quantisierung verwendeten Quantisierer-Koeffizientenmaßstab mit der Entropie).
- (2) Durch Fehlerkorrekturcodierung der einzubettenden Subinformation
kann dann die Verschlechterung der Subinformation bezogen auf die
Verschlechterung des Bildes unterdrückt werden. Für das Fehlerkorrekturcodiersystem
kann beispielsweise die BCH Codierung oder dergleichen verwendet
werden. Auf diese Art und Weise kann bei der Informationslesevorrichtung
die Zuverlässigkeit
des Ergebnisses des Lesens der eingebetteten Information verbessert
werden.
- (3) Neben der Subinformation des Bitabschnitts zum Einbetten
in den jeweiligen Blockbildern kann die Wassermarken-Informationsunterscheidungsetikette
in dem gleichen Blockbild Informations-eingebettet sein. Auf diese
Art und Weise ist es möglich,
die Zuverlässigkeit
der gelesenen Information zu erhalten. Beispielsweise wird die Etiketteninformation
zu a0a1 ... a1-1 gemacht, und die gelesene Information
wird durchgeführt,
und der Hamming-Abstand zwischen dem erhaltenen Etikettinformationsteil
und der ursprünglich erhaltenen
Etiketteninformation wird m (m < 1)
(1 ist L) gemacht. Zu dieser Zeit kann die Zuverlässigkeit
S gleichzeitig mit der Etiketteninformation gelesen und Subinformation
wie folgt berechnet werden:
wenn der Hamming-Abstand 0 ist,
S = 1
wenn m ≤ 1/2
S = 0
zu anderen Zeiten Durch Rekonstruieren der
Subinformation für
die zu lesenden Bits, die gewichtet wurden, basierend auf diesen
Gleichungen, kann dann die Informationslesegenauigkeit weiter verbessert
werden. Außerdem kann
dann, wenn die Subinformation die ist, die der Fehlerkorrekturcodierung
unterworfen wurde, die Möglichkeit
einer Fehlerkorrektur aus der Zuverlässigkeit beurteilt werden.
Außerdem
kann die Anwesenheit einer unehrlichen Änderung des Bewegtbildes, das
die Hauptinformation ist, durch Prüfen der Etikettenlesegenauigkeit
erfasst werden, und Informationslesen ist sogar mit einem Bild möglich, bei
dem ein Teil herausgenommen wurde, durch Initialisieren der Zufallszahl,
deren Anfangswert verwendet wurde.
- (4) In 54 wird dann, wenn das ursprüngliche
Bewegtbild 429 verwendet wird, das Differentialbild des Informations-eingebetteten Bewegtbildes 430 und
das ursprüngliche
Bewegtbild 429 zuerst durch den Differentialbildgebungsabschnitt 433 gebildet.
Dies ist vom Punkt des Erleichterns der Verarbeitungslast der Frequenzumwandlung
und der Verarbeitung des eingebetteten Informationslesens vorzuziehen,
wobei jedoch ist die Anordnung nicht darauf begrenzt ist. Beispielsweise
kann zuerst bei dem Bildauflösungsabschnitt 434 das
ursprüngliche
Bewegtbild 429 und das Informations-eingebettete Bewegtbild 430 blockiert sein,
um gleich zu sein, und dann werden in dem Informationsleseabschnitt 435 das
ursprüngliche
Bewegtbild 429 und das Informations-eingebettete Bewegtbild 430 beide
basierend auf dem Block Frequenz-transformiert. Das Differential
der entsprechenden Frequenzkoeffizienten kann dann genommen und
die Bitwertbestimmung abhängig
von dem Code ausgeführt
werden.
-
Mit
der Erfindung der vorliegenden Ausführungsform, wie oben beschrieben,
gibt es beispielsweise die folgenden Wirkungen: wenn es keine Schlüsselinformation
zur Zeit der Informationseinbettung gibt, ist es nicht möglich, die
Subinformation herauszunehmen; indem die Änderungsfrequenzkoeffizientenposition,
bei der die Subinformation eingebettet ist, und der Quantisierer-Koeffizientenmaßstab entwickelt
wird, dann kann die Informationseinbettung auf eine Art und Weise
durchgeführt
werden, die durch eine Person nicht wahrgenommen werden kann, außerdem kann
die Stärke
gesteuert werden, um der Verschlechterung der Subinformation (Wassermarken-Information) aufgrund
der Verschlechterung der primären
Information (Bild) entgegenzuwirken; zu dem Ausmaß, dass
es keinen Einfluss aufeinander gibt, dann kann eine Mehrzahl von
Information mit einem individuellen Block-Größen-Partitionierungsverfahren eingebettet
werden; da mit einem Standbild die Größe der Zeitachsenrichtung des
Bewegtbildes 1 ist, dann ist die Technologie ebenfalls
auf Standbilder anwendbar; durch Verwenden des Fehlerkorrekturcodes,
kann dann eine angemessene Widerstandsfähigkeit mit Bezug auf Komprimierung
und Kompilierung des Bildes erhalten werden; wenn das ursprüngliche
Bild beim Informationslesen verwendet wird, wird die Zuverlässigkeitsgenauigkeit
der gelesenen Information verbessert.
-
Die
vorliegende Erfindung kann nicht nur angewendet werden, wobei lediglich
die Luminanzkomponente, wenn das Bild im YW-Format ist, das Objekt
gemacht wird, sondern ebenfalls darauf, wobei der äquivalente
Algorithmus eine Farbkomponente ist. Außerdem ist dies, wenn das Bildformat
RGB ist, das gleiche, und der äquivalente
Algorithmus kann auf die jeweiligen R-, G-, B-Komponenten angewendet
werden. Wenn diese Verfahren angewendet werden, ist es möglich, eine
noch größere Informationsmenge
einzubetten. Indem die Information zur Einbettung bei den jeweiligen
Komponenten außerdem
die gleiche gemacht wird, dann kann dies ebenfalls beim Erfassen
der Anwesenheit einer unehrlichen Änderung des Bildes und der
Einbettungsinformation verwendet werden.
-
(Fünfte Ausführungsform)
-
Mit
dieser Ausführungsform
wird eine Beschreibung einer Informations-Einbettungsvorrichtung
gegeben, die zur Zeit der Einbettung der getrennten Subinformation
in ein digitales Bild das Bild fein in Blockbilder aufteilt, abwärts-abgetastet (verschlechtert
die Auflösung)
für jedes
der Blockbilder und die Frequenztransformation ausführt. Die
inverse orthogonale Transformation wird dann mit dem Wert des Frequenzkoeffizienten ausgeführt, wonach
das Bild aufwärts-abgetastet (Verbessern
der Auflösung)
und eine Bildrekonstruktion ausgeführt wird.
-
Außerdem wird
mit der fünften
Ausführungsform
eine Beschreibung einer Informationsleseverarbeitung gegeben, die
zur Zeit des Lesens getrennter Subinformation von dem digitalen
Bild, das einer Informationseinbettung unterworfen wurde, wie oben
beschrieben ist, das Bild fein in Blockbilder aufteilt, für jedes
der Blockbilder abwärts-abtastet
und die Frequenztransformation ausführt. Dann wird die Subinformation
durch Berechnen des Werts des Frequenzkoeffizienten gelesen.
-
Auf
diese Art und Weise wird mit einem Bild, bei dem die Auflösung abgefallen
ist, durch Ausführen der
Einbettung/der Lesen von Information an der Komponente der Niederfrequenzdomäne mit der
Frequenztransformation und Ausführen
einer Frequenztransformation und anschließender Informationseinbettung
in einer Blockgröße, die
größer als
die Blockgröße ist,
die bei der Informationskomprimierung verwendet wurde, dann kann
die Widerstandsfähigkeit
mit Bezug auf die Bildkompilierung beibehalten werden.
-
Außerdem kann
durch Verwenden der Erfindung bei einem Urherberrechtschutzsystem
oder dergleichen die Qualität
des digitalen Informationsinhalts gegenüber dem herkömmlichen
System verbessert werden. Außerdem
wird es mit der Stärkung
der Gegenmaßnahmen
für den
Urheberrechtschutz möglich,
die Grenze zwischen der Qualität
der Wassermarken-Information und der Rate der Fortsetzung der Wassermarken-Information
anzuheben, die einer Kompromissbeziehung sind, die ein schwieriges
Thema ist. Das heißt,
da die Informationseinbettung auf eine Art und, sodass es unwahrscheinlich
ist, dass sie durch Quantisierung beeinflusst wird, durch Verwenden
zuletzt verwendeter Bildkomprimierungstechniken Weise durchgeführt werden kann,
und die Informationseinbettung durch orthogonale Transformation
bei einer Blockgröße durchgeführt wird,
die größer als
die Blockgröße ist,
die bei der Informationskomprimierung verwendet wird, dann kann
der Einfluss auf das Bild (Bildqualitätsverschlechterung) unterdrückt werden.
Da die 1-Bit-Verarbeitung außerdem an
dem abwärts-abgetasteten
Bild ausgeführt
wird, dann ist die Verarbeitung schneller als normal.
-
Die
fünfte
Ausführungsform
wird nun mit Bezug auf die begleitenden Zeichnungen beschrieben.
-
Zuerst
wird die Verarbeitung für
die 1-Bit-Information in Bildern erläutert. 61 ist
ein schematisches Diagramm der Eingabe/Ausgabebeziehung einer Informations-Einbettungsvorrichtung 501 gemäß dieser
Ausführungsform.
Die Informations-Einbettungsvorrichtung 501 gemäß dieser
Ausführungsform
nimmt die Eingabe des ursprünglichen
Bewegtbildes (Primärinformation) 502 eines
digitalen Bewegtbildes oder dergleichen und die Parameter-der-Informationseinbettung 503 und
gibt ein Informations-eingebettetes
Bewegtbild 504 aus. Die Parameter-der-Informationseinbettung 503 umfassen
den Anfangswert-einer-Zufallssequenz,
die Frequenzquantisierungsbreite und einzubettende Information (Subinformation).
Wenn 1 und 61 verglichen
werden, entsprechen die Informations-Einbettungsvorrichtung 1, die
ursprünglichen
Daten 2, die Wassermarken-Information 4, der Schlüssel-der-Einbettungsinformation 3 und
die eingebetteten Daten 5 in 1 der
Informations-Einbettungsvorrichtung 501, dem ursprünglichen
Bewegtbild 502, der Subinformation in den Parametern-der-Informationseinbettung 503,
den Parametern-der-Informationseinbettung 503 ausgenommen der
Subinformation bzw. dem Informations-eingebetteten Bewegtbild 504 in 61. Außerdem
entspricht der Anfangswert mit einer Zufallssequenz 31 und
der Quantisierer-Koeffizientenmaßstab 32 in 1 dem
Anfangswert-einer-Zufallssequenz bzw. dem Quantisierer-Koeffizientenmaßstab bei
den Parametern-der-Informationseinbettung 503 in 61.
-
62 ist ein Diagramm, das die Gesamtstruktur einer
Ausführungsform
der Informations-Einbettungsvorrichtung 501 zeigt. Die
Informations-Einbettungsvorrichtung 501 umfasst einen Bildauflösungsabschnitt 505,
eine Abwärtsabtasteinrichtung 506,
einen Frequenztransformations-Verarbeitungsabschnitt 507, einen
Informations- Einbettungsabschnitt 508,
einen inversen Frequenztransformations-Verarbeitungsabschnitt 509,
eine Aufwärtsabtasteinrichtung 510 und
einen Bildrekonstruktionsabschnitt 511. Die Korrespondenz
zwischen 1 und 2 ist
wie folgt. Der Blockbildungsabschnitt 11 in 1 entspricht
dem Bildauflösungsabschnitt 505 in 62, und der orthogonale Transformationsabschnitt 12 in 1 entspricht
der Abwärtsabtasteinrichtung 506 und
dem Frequenztransformations-Verarbeitungsabschnitt 507 in 62. Außerdem
sind die Funktionen des Einbettungskoeffizienten-Auswahlabschnitts 13 und
des Informations-Einbettungsabschnitts 14 in 1 in
dem Informations-Einbettungsabschnitt 508 enthalten. Außerdem entspricht
die Funktion des invers-orthogonalen Transformationsabschnitts 15 in 1 dem
inversen Frequenztransformations-Verarbeitungsabschnitt 509,
der Aufwärtsabtasteinrichtung 510 und
dem Bildrekonstitutions-Verarbeitungsabschnitt 510.
Was folgt ist eine sequentielle Beschreibung der jeweiligen Verarbeitungsabschnitte 505 511.
-
(Bildauflösungsabschnitt 505)
-
63 ist ein Konzeptdiagramm des Bildauflösungsabschnitts 505.
Der Bildauflösungsabschnitt 505 löst die jeweiligen
Frames des ursprünglichen
Bewegtbildes 502 in N × M
große
Blockbilder 512 auf und sendet diese sequentiell an die
Abwärtsabtasteinrichtung.
-
(Abwärtsabtasteinrichtung 506)
-
64 ist ein Konzeptdiagramm der Verarbeitung der
Abwärtsabtasteinrichtung 506.
Die Abwärtsabtasteinrichtung 506 liest
den Mittelwert von jeder einer Mehrzahl von Regionen des N × M großen Blockbildes 512,
um ein Bild zu erzeugen, bei dem die Auflösung auf die n × m Größe abgesenkt
wurde, und trennt Information in eine abwärts-abgetastete n × m Größe (beispielsweise,
wie in 64 gezeigt ist, wird mit n
= N/2, m = M/2 die Auflösung
die Hälfte
eines Bildes) Bild (abwärts-abgetastetes
Bild) 513 und dem differentiellen Pixelwert 514 und
sendet das abwärts-abgetastete
Bild 513 an einen Frequenztransformationsabschnitt 507 und
den differentiellen Pixelwert 514 an eine Aufwärtsabtasteinrichtung 510.
Hier sind die differentiellen Pixelwerte 514 das N × M große differentielle
Bild des Bildes, wobei das eingegebene Blockbild 512 und
das n × m große abwärts-abgetastete
Bild 513 auf N × M
Größe expandiert
worden sind.
-
(Frequenztransformationsabschnitt 507)
-
65 ist ein Konzeptdiagramm des Frequenztransformationsabschnitts 507.
Der Frequenztransformationsabschnitt 507 Frequenz-transformiert
(beispielsweise durch diskrete Cosinus-Transformation oder diskrete
Fourier-Transformation) das n × m
große,
abwärts-abgetastete Bild 513 und
gibt eine n × m
große
Frequenzkoeffizientenmatrix des abwärts-abgetasteten Bildes 515 aus.
-
(Informations-Einbettungsabschnitt 508)
-
66 ist ein Strukturdiagramm des Informations-Einbettungsabschnitts 508.
Der Informations-Einbettungsabschnitt 508 nimmt
die Eingabe der Parameter-der- Informationseinbettung 503 und
die Frequenzkoeffizientenmatrix-des-abwärts-abgetasteten Bildes 515 und
gibt ein Informations-eingebetteter Frequenzmatrix des abwärts-abgetasteten-Bildes 516 aus,
das an den inversen Frequenztransformations-Verarbeitungsabschnitt 509 gesendet
wird. Hier wird die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1 durch
einen Teil der Funktion eines Frequenzkoeffizienten-Änderungsabschnitts 518 und
eines Zufallszahlen-Erzeugungsverarbeitungsabschnitts 522 in 66 verwirklicht. Der Betrieb des Informations-Einbettungsabschnitts 508 wird
nun beschrieben.
-
Die
Parameter-der-Informationseinbettung 503 werden an einen
Eingangsparameter-Auflösungsabschnitt 517 gesendet,
während
die Frequenzkoeffizientenmatrix-des-abwärts-abgetasteten-Bildes 515 an
den Frequenzkoeffizienten-Änderungsabschnitt 518 gesendet
wird.
-
Der
Eingangsparameter-Auflösungsabschnitt 517 löst die Parameter-der-Informationseinbettung 503 in
eine Frequenzkoeffizienten-Quantisierungsbreite 519, einen
Anfangswert-einer-Zufallssequenz 520 und Subinformation 521 auf.
Die Frequenzkoeffizienten-Quantisierungsbreite 519 wird
an den Frequenzkoeffizienten-Änderungsabschnitt 518 gesendet,
der Anfangswert-einer-Zufallssequenz 520 wird an den Zufallszahlen-Erzeugungsverarbeitungsabschnitt 522 gesendet,
und die Subinformation 521 wird an einen Subinformationspuffer 523 gesendet.
-
Der
Zufallzahlen-Erzeugungsverarbeitungsabschnitt 522 liest
den Anfangswert-einer-Zufallssequenz 520 und erzeugt basierend
darauf sukzessiv eine Zufallszahl 525 für jede Verarbeitung der jeweiligen
1-Bit-Informationseinbettung und sendet diese an den Frequenzkoeffizienten-Änderungsabschnitt 518.
Hier erzeugt der Zufallszahlen-Erzeugungsverarbeitungsabschnitt 522 Zufallszahlen
mit einer Periode, die ausreichend größer als die Anzahl von Blöcken für das Bild
ist.
-
Der
Subinformationspuffer 523, wie in 67 gezeigt
ist, speichert Subinformation 521 in einem internen Puffer
und liest Information jeweils 1 Bit auf einmal mit einem Auslese-Header
aus und sendet die 1-Bit-Subinformation 525 sukzessiv an
den Frequenzkoeffizienten-Änderungsabschnitt 518 für jede Verarbeitung
der jeweiligen 1-Bit-Informationseinbettung.
-
Für das Steuerverfahren
des Informations-Lese/Schreib-Headers
in dem Subinformationspuffer 523 können verschiedene Verfahren
betrachtet werden, wie beispielsweise ein Verfahren, das für jede Verarbeitung
der jeweiligen Einbettung und bzw. Lesen von 1-Bit-Informations
aktiviert wird, oder ein Verfahren, das für jede Verarbeitung der Einbettung
in und dem Lesen von Information aus den jeweiligen Blockbildern
aktiviert wird. Diese hängen
doch von dem Verpackungssystem für
die Informationseinbettungs- und -lesevorrichtung ab. Mit dem Steuerverfahren
für den
Header, der das Auslesen/Schreiben von Information des Subinformationspuffers 523 durchführt, muss
eine Verpackung mit dem gleichen Verfahren bei der Informations-Einbettungsvorrichtung
und bei einer später
zu beschreibender Informationslesevorrichtung ausgeführt werden.
-
68 ist ein Konzeptdiagramm einer schematischen
Struktur und der Verarbeitung des Frequenzkoeffizienten-Änderungsabschnitts 518.
Ein Frequenzkoeffizienten-Auswahlabschnitt 527 in 68 dient als ein Teil der Funktion des Einbettungskoeffizienten-Auswahlabschnitts 13 in 1.
-
Die
Frequenzkoeffizientenmatrix-des-abwärts-abgetasteten Bildes 515 wird
in einem Koeffizientenmatrixpuffer 526 gespeichert. Die
eingegebene Zufallszahl 524 wird an einen Frequenzkoeffizienten-Auswahlabschnitt 527 gesendet.
Der Frequenzkoeffizienten-Auswahlabschnitt 527 wählt mit
der Zufallszahl 524 eine Komponente der abwärts-abgetasteten
Koeffizientenmatrix innerhalb des Koeffizientenmatrixpuffers 526 aus, so
dass es keinen Konflikt innerhalb der abwärts-abgetasteten Koeffizientenmatrix gibt.
-
Der
Frequenzkoeffizientenänderungsabschnitt 518 quantisiert
den durch den Frequenzkoeffizienten-Auswahlabschnitt 527 ausgewählten Koeffizienten,
um dadurch die eingegebene 1-Bit-Subinformation 525 Informations-einzubetten. Die
Informations-Einbettungsverarbeitung wird T Mal (wobei T die Zahl
(ein oder mehrere) von einzubettender Information in den jeweiligen
Blockbildern ist. Es ist ebenfalls für die Informationslesevorrichtung
notwendig, mit dem gleichen Verfahren zu verpacken) an einem Block
der Koeffizientenmatrix durchgeführt.
Nachdem alles ausgeführt
wurde, wird die Informations-eingebettete-Frequenzmatrix-des-abwärts-abgetasteten
Bildes 516 ausgegeben.
-
Das
Nächste
ist eine spezifischere Beschreibung der Verarbeitung für die Einbettung
der j-ten (1 ≤ j ≤ T) Bit-Information, die
in dem u-ten Blockbild des i-ten Frames des eingegebenen ursprünglichen
Bewegtbildes 502 ist, wobei vorausgesetzt wird, dass die
Frequenzkoeffizienten-Quantisierungsbreite 519 zu „Bereich" gemacht wird, und
die Subinformation 521 für die Einbettung zu b0, b1, ... bk-1 gemacht wird (wobei die Wassermarken-Informations-Bitlänge k ist,
bj ∊ {0, 1}, 0 ≤ j ≤ k – 1).
-
Mit
dem Frequenzkoeffizienten-Änderungsabschnitt 518 wird
der Wert des Frequenzkoeffizientenwerts ci,u,j,
der durch den Frequenzkoeffizienten-Auswahlabschnitt 527 ausgewählt wird,
wie folgt geändert,
um dadurch die 1-Bit-Subinformation 525 einzubetten.
-
In
wobei die einzubettende Bit-Information
gleich
in
wobei die einzubettende Bit-Information
nicht gleich
und in
wobei die einzubettende Bit-Information
nicht gleich
wobei
in den Gleichungen ⎣X⎦ eine maximale ganze Zahl
angibt, die x nicht überschreitet, ⎡X⎤ eine
minimale ganze Zahl angibt, die größer als oder gleich x ist,
und x mod y den Rest nach Teilen von x durch y angibt. Diese Definitionen
sind für
alle Ausführungsformen
gebräuchlich.
-
Bei
dem Frequenzkoeffizienten-Änderungsabschnitt 518 wird
der Subinformations-Auslese-Header des Subinformations-Puffers 523 durch
ein zuvor bestimmtes Verfahren für
jede Ausführung
der jeweiligen 1-Bit-Informationseinbettung gesteuert. Durch Wiederholen
dieser Einbettungsverarbeitung an einer Blockkoeffizientenmatrix
T Mal, die die Anzahl von einzubettenden Bits ist, ist dann die
Einbettungsverarbeitung eines Blockbildes abgeschlossen.
-
(Inverser Frequenz-Transformationsabschnitt 509)
-
69 ist ein Konzeptdiagramm eines inversen Frequenz-Transformationsabschnitts 509.
Der inverse Frequenz-Transformationsabschnitt 509 transformiert
die Informations-eingebettete-Frequenzmatrix-des-abwärts-abgetasteten-Bildes 516 in
ein Informations-eingebettetes-abwärts-abgetastetes-Bild 528 und
senden dieses an die Aufwärts-Abtastungseinrichtung
(up-sampler) 510.
-
(Aufwärts-Abtasteinrichtung 510)
-
70 ist ein Konzeptdiagramm der Verarbeitung der
Aufwärts-Abtasteinrichtung
(down-sampler) 510. Die Aufwärts-Abtasteinrichtung 510 Expansions-verarbeitet
das n × m
große
Informations-eingebettete-abwärts-abgetastete-Bild 528 in
ein N × M
großes
Bild, und interpoliert dann mit dem abwärts- abgetasteten Bild 513, um dadurch
ein Informations-eingebettetes
Blockbild 529 auszugeben.
-
(Bildrekonstruktionsabschnitt 511)
-
71 ist ein Konzeptdiagramm des Bildrekonstruktionsabschnitts 511.
Der Bildrekonstruktionsabschnitt 511 verbindet die Informations-eingebetteten Blockbilder 529 zusammen,
wobei sie in das Standbild und Bewegtbild wiederhergestellt werden,
um dadurch ein Informations-eingebettetes Bild 504 auszugeben.
-
Das
Nächste
ist eine Beschreibung der Verarbeitung zum Lesen von Information
aus dem Informations-eingebetteten Bild. 72 ist
ein schematisches Diagramm der Eingangs-/Ausgangsbeziehung einer Informations-Lesevorrichtung
einer erfindungsgemäßen Ausführungsform.
Eine Informations-Lesevorrichtung 530 nimmt
die Eingabe eines Informations-eingebetteten-Bewegtbildes 531 und
den Parametern-des-Informations-Lesens 532 und
liest in dem Bild 531 eingebettete Subinformation 533 und
gibt diese aus. Der Subinformations-Puffer 523 umfasst
den Anfangswert der Zufallszahl des Informationseinbettungs-Schlüssels, der
zur Zeit der Erzeugung des Informations-eingebetteten Bewegtbildes 531 verwendet
wird, und die Frequenzkoeffizienten-Quantisierungsbreite. Wenn 3 und 72 verglichen werden, entsprechen die Informations-Lesevorrichtung 6,
die eingebetteten Daten 5, der Schlüssel-der-Einbettungsinformation 3 und
die Wassermarken-Information 4 in 3 der
Informations-Lesevorrichtung 530, dem Informations-eingebetteten
Bewegtbild 531, den Parametern-des-Informations-Lesens 532 bzw.
der Subinformation 533 in 72.
-
73 zeigt ein Gesamtstrukturdiagramm eines Beispiels
der Informations-Lesevorrichtung 530. Die Informations-Lesevorrichtung 530 umfasst
einen Bildauflösungsabschnitt 534,
eine Abwärts-Abtasteinrichtung 535,
einen Frequenztransformationsabschnitt 536 und einen Informations-Leseabschnitt 537.
Der Blockbildungsabschnitt 21 in 3 entspricht
dem Bildauflösungsabschnitt 534 in 73. Die Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 ist
in dem Informations-Leseabschnitt 537 in 73 enthalten. Außerdem entspricht der Abschnitt-zum-Berechnen-des-zu-verarbeitenden-Koeffizienten 23 in 3 der Abwärts-Abtasteinrichtung 535 und
dem Frequenz-Transformationsabschnitt 536 in 73. Außerdem
wird die Funktion des Informations-Leseabschnitts 24 in 3 durch
den Informations-Leseabschnitt 537 verwirklicht. Was folgt
ist eine sequenzielle Beschreibung der jeweiligen Verarbeitungsabschnitte 534-537.
-
(Bildauflösungsabschnitt 534)
-
Der
Bildauflösungsabschnitt 534 löst die jeweiligen
Frames des Informations-eingebetteten Bewegtbildes 531 in
N × M
große
Informations-eingebettete Blockbilder auf und sendet dies sukzessiv
zu der Abwärts-Abtasteinrichtung 535.
Der Bildauflösungsabschnitt 534 ist
der gleiche wie der Bildauflösungsabschnitt 505 an
der Informationseinbettungs-Vorrichtungsseite.
-
(Abwärts-Abtasteinrichtung 535)
-
74 ist ein Konzeptdiagramm der Verarbeitung der
Abwärts-Abtasteinrichtung 535.
Die Abwärts-Abtasteinrichtung 535 erzeugt
ein abwärts-abgetastetes,
n × m
großes
Bild (Informations-eingebettetes Abwärts-Abtastungsbild) 539 von
einem N × M
großen
Informations-eingebetteten Blockbild 538, und sendet dieses
an den Frequenztransformationsabschnitt 536. Die Abwärts-Abtasteinrichtung 535 unterscheidet
sich geringfügig
von der Abwärts-Abtasteinrichtung 506 auf
der Informationseinbettungs-Vorrichtungsseite, weil die differentiellen
Pixelwerte nicht ausgegeben werden.
-
(Frequenztransformationsabschnitt 536)
-
Der
Frequenztransformationsabschnitt 536 n × m Frequenztransformiert das
n × m
große
Informations-eingebettete abwärts-abgetastete
Bild 539, und gibt eine n × m Informations-eingebettete
abwärts-abgetastete
Koeffizientenmatrix aus. Der Frequenztransformationsabschnitt 536 ist
der gleiche wie der Frequenztransformationsabschnitt 507 auf
der Informationseinbettungs-Seite.
-
(Informations-Leseabschnitt 537)
-
75 ist ein Strukturdiagramm des Informations-Leseabschnitts 537.
Der Informations-Leseabschnitt 537 nimmt die Eingabe der
Parameter-des-Informations-Lesens 532 und eine Informationseinbettungs-Frequenzkoeffizientenmatrix-eines-abwärts-abgetasteten
Bildes 540 des Frequenztransformations-Verarbeitungsabschnitts 536 und
gibt die Subinformation 533 aus. Hier wird die Funktion
des Einbettungskoeffizienten-Auswahlabschnitts 22 in 1 durch
einen Teil der Funktion eines Bit-Informations-Leseabschnitts 542 und
eines Zufallszahl-Erzeugungsverarbeitungsabschnitts 545 verwirklicht.
Der Betrieb des Informations-Leseabschnitts 537 wird nun
beschrieben.
-
Die
Parameter-des-Informations-Lesens 532 werden an einen Eingangsparameter-Auflösungsabschnitt 541 gesendet,
während
die Informations-eingebettete Frequenzkoeffizientenmatrix-eines-abwärts-abgetasteten-Bildes 540 an
den Bit-Informations-Leseabschnitt 542 gesendet wird.
-
Der
Eingangsparameter-Auflösungsabschnitt 541 löst die Parameter-des-Informations-Lesens 532 auf
und gibt einen Anfangswert-einer-Zufallssequenz 543 und
eine Frequenzkoeffizienten-Quantisierungsbreite 544 aus.
Der Anfangswert-einer-Zufallssequenz 543 wird an den Zufallszahlerzeugungs-Verarbeitungsabschnitt 545 gesendet,
während
die Frequenzkoeffizienten-Quantisierungsbreite 544 an den
Bit-Informations-Leseabschnitt 542 gesendet wird.
-
Der
Zufallszahlenerzeugungs-Verarbeitungsabschnitt 545 liest
den Anfangswert-einer-Zufallssequenz 543 und basierend
darauf erzeugt sukzessiv eine Zufallszahl 546 für jede Verarbeitung
des jeweiligen 1-Bit-Informations-Lesens und sendet diese an den
Bit-Informations-Leseabschnitt 542. Mit dem Zufallszahlerzeugungs-Verarbeitungsabschnitt 545 und
dem Zufallszahlerzeugungs-Verarbeitungsabschnitt 522, wenn
der gleiche Anfangswert für
die Zufallszahl eingegeben wird, dann ist eine Verpackung notwendig,
sodass die gleichen Zufallszahlen in der gleichen Reihenfolge eingegeben
werden.
-
76 zeigt ein Konzeptdiagramm einer schematischen
Struktur und der Verarbeitung des Bit-Informations-Leseabschnitts 542.
Ein Teil der Funktion des Einbettungskoeffizienten-Auswahlabschnitts 22 in 3 wird
durch einen Frequenzkoeffizienten-Auswahlabschnitt 548 in 76 verwirklicht.
-
Die
Informations-eingebettete Frequenzkoeffizientenmatrix-des-abwärts-abgetasteten-Bildes 540 wird
in einem Koeffizientenmatrix-Puffer 547 gespeichert. Die
Zufallszahl 546 wird in den Frequenzkoeffizienten- Auswahlabschnitt 548 eingegeben.
Hier ist es für
den Frequenzkoeffizienten-Auswahlabschnitt 548 notwendig,
mit der gleichen Verarbeitung wie dem Frequenzkoeffizienten-Auswahlabschnitt 527 bei
dem Frequenzkoeffizienten-Änderungsabschnitt 518 zu
verpacken. D.h., wenn die gleiche Zufallszahl in den Frequenzkoeffizienten-Auswahlabschnitt 527 und
den Frequenzkoeffizienten-Auswahlabschnitt 548 eingegeben
wird, wird der gleiche Frequenzkoeffizient ausgewählt.
-
Der
Bit-Informations-Leseabschnitt 542 beurteilt das Bit, das
dem Quantisierungswert zugewiesen ist, das am nächsten zu dem Koeffizientenwert
ist, der durch den Frequenzkoeffizienten-Auswahlabschnitt 548 ausgewählt wird,
um dadurch 1-Bit-Subinformation 549 zu lesen. Die Informations-Leseverarbeitung
wird T Mal (wobei T die Anzahl von Informationen ist, die in den
jeweiligen Blockbildern zur Zeit der Informationseinbettung einzubetten
ist) an einer der Informations-eingebetteten abwärts-abgetasteten Koeffizientenmatrizen 540 durchgeführt und
die eingebettete 1-Bit-Information sukzessiv ausgegeben.
-
Mit
der Anzahl von Malen der Informations-Leseverarbeitung wird die
Anzahl von Malen, die die jeweiligen Bits der eingebetteten Subinformation
gelesen werden, erhöht,
und in Übereinstimmung
damit durch Ausführen
einer Fehlerkorrektur-Codeverarbeitung,
wie beispielsweise Mehrheitsabstimmungsverarbeitung, an diesen,
kann die Zuverlässigkeit
der gelesenen Subinformation ebenfalls verbessert werden.
-
Das
Nächste
ist eine spezifischere Beschreibung der Verarbeitung zum Lesen der
j-ten (1 ≤ j ≤ T) Bit-Information
(bi, u, j ∊ {0, 1}), die das u-te Blockbild des i-ten Frames
des Informations-eingebetteten Bewegtbildes 531 ist, vorausgesetzt,
dass die in dem Informations-eingebetteten Bewegtbild 531 eingebettete Subinformation 533 zu
b0, b1 ... bk-1 gemacht wird, und die Frequenzkoeffizienten-Quantisierungsbreite 544,
die in den Bit-Informations-Leseabschnitt 542 eingegeben
wird, zu „Bereich" gemacht wird.
-
Das
Lesen von Information kann durch Berechnen von
für den Frequenzkoeffizienten
c
i,u,j durchgeführt werden, der durch den Frequenzkoeffizienten-Auswahlabschnitt
548 ausgewählt wird.
-
Die
1-Bit-Subinformation 549 wird an einen Subinformations-Rekonstruktionsabschnitt 550 gesendet. Der
Subinformations-Rekonstruktionsabschnitt 550 nimmt die
Eingabe der in dem Blockbild eingebetteten Subinformation sukzessiv
jeweils 1 Bit, bestimmt schließlich
das jeweilige Subinformations-Bit mit einer statistischen Technik,
wie beispielsweise Mehrheitsbeschlussverarbeitung an der jeweiligen
Subinformation, die mehrere Male eingegeben wurde, und rekonstruiert
dann die Subinformation. Der Subinformations-Schreib-Header in dem
Subinformations-Rekonstruktionsabschnitt 550 wird
durch ein zuvor bestimmtes Verfahren für jedes 1-Bit-Lesen gesteuert.
-
Die
Subinformations-Leseverarbeitung von einer der Informations-eingebetteten
abwärts-abgetasteten
Koeffizientenmatrizen 540 wird durch die wiederholte Leseverarbeitung
mit Bezug auf eine der Informations-eingebetteten abwärts-abgetasteten Koeffizientenmatrizen 540 abgeschlossen,
wobei T Mal die Anzahl von darin eingebetteten Bits ist.
-
Die
obige Verarbeitung wird an allen Blockbildern ausgeführt, und
mit jeder Rekonstitution der Subinformation oder nach Abschluss
der Verarbeitung für
alle Bewegtbilder wird die von den Bildern gelesene Subinformation
ausgegeben.
-
Ausführungsformen
der Erfindung wurden oben beschrieben, wobei jedoch die folgenden
Modifikationen und Vergrößerungen
möglich
sind.
- (1) Der Bereich, der zur Zeit der Einbettung
und des Lesens von Information verwendet wird, kann für jeden einzelnen
Block geändert
werden, indem die Eigenschaften des Blockbildes beachtet werden.
Beispielsweise kann die Entropie des Pixelwerts des Blockbildes
berechnet werden, und der Bereich kann dann gemäß dem resultierenden wert geändert werden.
- (2) Durch Fehlerkorrektur-Codierung der einzubettenden Subinformation
kann dann die Verschlechterung der Subinformation bezogen auf die
Verschlechterung des Bildes unterdrückt werden.
- (3) Neben der Subinformation des Bitabschnitts zur Einbettung
in den jeweiligen Blockbildern kann durch Informationseinbettung
des Wassermarken-Informations-Unterscheidungsetiketts
in dem gleichen Blockbild die Zuverlässigkeit der gelesenen Information
erhalten werden. Die Informationseinbettungs-Verarbeitungstechnik
ist die gleiche wie für
die Einbettungsverarbeitung von lediglich der Subinformation.
Beispielsweise
wird die Etiketteninformation zu a0, a1 ... a1-1 gemacht
und s Informations-Lesen wird durchgeführt, und der Hamming-Abstand
zwischen der erhaltenen Etiketteninformation und der ursprünglichen Etikettinformation
wird zu m (m < 1)
gemacht. Zu dieser Zeit kann die Zuverlässigkeit S der Subinformation, die
gleichzeitig mit der Etiketteninformation gelesen wurde, wie folgt
berechnet werden:
wenn der Hamming-Abstand 0 ist, S = 1
wenn
m ≤ 1/2 ist,
S = 0
zu anderen ZeitenIndem die Subinformation
für die
gelesenen Bits, die gewichtet wurden, basierend auf diesen Gleichungen rekonstruiert,
kann dann die Informations-Lesegenauigkeit weiter verbessert werden.
Außerdem,
wenn die Subinformation die ist, die der Fehlerkorrektur-Codierung
unterworfen wurde, dann kann die Beurteilung der Möglichkeit
einer Fehlerkorrektur aus der Zuverlässigkeit durchgeführt werden,
und wenn das Fehlerverhältnis
innerhalb der Fehlerkorrekturfähigkeit
ist, dann kann korrekte Information immer gelesen werden.
- (4) Durch wiederholte Informationseinbettung durch Ändern der
Informationseinbettungs-Blockgröße in einem
Block und durch Durchführen
einer Verarbeitung, wie beispielsweise Prüfen der Etiketten-Lesegenauigkeit,
kann das Vorhandensein einer unehrlichen Änderung des Bewegtbildes, das
die Hauptinformation ist, erfasst werden.
- (5) Durch Initialisierung der Zufallszahl bei einer bestimmten
Zeiteinheit und in dem diese synchron mit der Zeit des Informations-Lesens
herausgenommen wird, dann kann Information von einem optionalem
Frame, wie beispielsweise während
der Reproduktion eines Bewegtbildes, gelesen werden.
-
Wie
oben beschrieben ist, können
gemäß der erfindungsgemäßen fünften Ausführungsform
die folgenden Wirkungen erhalten werden:
- (1)
Da Informationsbettungsverarbeitung an abwärts-abgetasteten Bildern durchgeführt wird,
dann ist die Verarbeitung schneller als normal.
- (2) Wenn keine Schlüsselinformation
zur Zeit der Informationseinbettung verwendet wird, ist es nicht
möglich,
die Subinformation herauszunehmen.
- (3) Durch Entwickeln der Änderungsfrequenzkoeffizientenposition,
bei der Subinformation eingebettet ist, und der Frequenzkomponenten-Quantisierungsbreite,
dann kann die Informationseinbettung auf eine Art und Weise durchgeführt werden,
die von einer Person nicht wahrgenommen werden kann. Außerdem kann die
Stärke
gesteuert werden, um einer Verschlechterung der Subinformation (Wassermarken-Information) aufgrund
der Verschlechterung der primären
Information (Bild) entgegenzuwirken.
- (4) Mit einem Farbbewegtbild als das Objekt dann kann mit Bezug
auf das YUV-Format und das RGB-Format und dergleichen getrennte
Information in den jeweiligen Informationsabschnitten eingebettet
werden.
- (5) Zu dem Ausmaß,
dass es keinen Einfluss aufeinander gibt, dann kann eine Mehrzahl
von Information mit einem individuellen Blockgrößen-Partitionierungsverfahren
eingebettet werden.
- (6) Da die Informationseinbettung für jeden Frame durchgeführt wird,
dann ist die Technologie ebenfalls auf Standbilder anwendbar.
- (7) Durch Verwenden des Fehlerkorrektur-Codes kann dann eine
geeignete Widerstandsfähigkeit
mit Bezug auf die Komprimierung und Kompilierung des Bildes erhalten
werden.
- (8) Durch Durchführen
der Zufallszahl-Initialisierung bei einer geeigneten Frame-Einheit
kann Information von einem optionalen Frame eines Bewegtbildes (einschließlich eines
Standbildes) gelesen werden.
- (9) Durch Verwenden lokaler Eigenschaften des Bildes ist Informationseinbettung
möglich,
sodass eine Verschlechterung durch das menschliche Auge nicht wahrgenommen
werden kann.
-
Mit
der Erfindung können,
wie oben durch jeweiligen Ausführungsformen
beschrieben ist, die folgenden Wirkungen erhalten werden:
- 1) Da die Einbettung durch Ändern einiger der Koeffizientenwerte
in der orthogonalen Transformationskoeffizientenmatrix mit einer
Zufallszahl durchgeführt
wird, dann kann zu dem Ausmaß,
dass es keinen Einfluss aufeinander gibt, eine Mehrzahl von Information
mit unterschiedlichen Informationseinbettungs-Schlüsseln eingebettet
werden.
- 2) Mit einem Bewegtbild oder einem Standbild kann dann durch
Einbettung von Information in einen Platz, der nicht gegen den Einfluss
von der Informationskomprimierung (einer Niederfrequenz-Komponente)
empfänglich
ist, sogar wenn eine Rauschaddition oder Komprimierungsverarbeitung
durchgeführt
wird, das Lesen der eingebetteten Information zuverlässig ausgeführt werden.
- 3) Zur Zeit des Lesens der eingebetteten Information kann dann
durch Gewichtung gemäß der Zuverlässigkeit
der von jedem Block gelesenen Information die Genauigkeit der gelesenen
Information verbessert werden.
- 4) Durch Erhalten der eingebetteten Bit-Information von dem
Quantisierungs-Koeffizientenwert, dann kann die eingebettete Information
ohne Verwenden der ursprünglichen
Information gelesen werden. Außerdem kann
die eingebettete Information ebenfalls mit der ursprünglichen
Information gelesen werden, und in diesem Fall wird die Genauigkeit
der gelesenen Information verbessert.
- 5) Da die Funktion der Blockaufteilung/der orthogonalen Transformation
und dergleichen zu dem Ausmaß verwirklicht
werden kann, dass eine Anzahl von Funktionen zu einem Bewegtbild-Codierer/Decodierer
hinzugefügt
werden können,
dann ist es einfach, eine Echtzeitverarbeitung zu verwirklichen.
-
Das
Informationseinbettungs-Verfahren, das Informations-Leseverfahren und
ihre jeweilige Vorrichtung können
verwirklicht werden, indem die oben erwähnten jeweiligen Ausführungsformen
zusammen kombiniert werden.
-
Außerdem wurden
mit den obigen Ausführungsformen
Beispiele von zweidimensionalen und dreidimensionalen orthogonalen
Transformationen als die orthogonale Transformation beschrieben.
Eine eindimensionale orthogonale Transformation kann jedoch mit
dem Informationseinbettungs-Block
in einer Dimension verwendet werden.
-
Außerdem sind
die oben erwähnten
Informationseinbettungs-Verfahren, Informations-Leseverfahren und
ihre jeweilige Vorrichtung nicht nur auf Bewegtbilder und Standbilddaten
anwendbar, sondern können ebenfalls
auf Sprache und Musikdaten usw. angewendet werden.
-
Außerdem kann
ein Programm zum Verwirklichen der Funktionen der oben erwähnten Informationseinbettungs-Vorrichtung oder
Informations-Lesevorrichtung auf einem Aufzeichnungsmedium aufgezeichnet
werden, das durch einen Computer gelesen werden kann. Die Einbettung
oder das Lesen von Information kann dann durch Lesen des auf dem
Aufzeichnungsmedium aufgezeichneten Programms in einen Computer und
Ausführen
des Programms durchgeführt
werden. Das hier erwähnte
Computersystem umfasst das Betriebssystem und Hardware, wie beispielsweise
periphere Vorrichtungen.
-
Außerdem sind
die Informationseinbettungs-Verfahren, Informations-Leseverfahren
und ihre jeweilige Vorrichtung erfindungsgemäß auf Inhaltsverteilungssysteme
für Sprache,
Musik, Standbild und Filme anwendbar. Als Ergebnis können die
folgenden Wirkungen erhalten werden:
- 1) Durch
Einbettung von Benutzerinformation zur Zeit der Inhaltsverteilung
kann ein unzulässiges
Kopieren verhindert werden.
- 2) Indem zuvor in dem Inhalt Urheberrechtinformation bezogen
auf den Namen von Autoren und dergleichen in dem Inhalt eingebettet
wird, kann dem Benutzer dann ohne weiteres die Urheberrechtinformation mitgeteilt
werden, sodass eine zulässige
sekundäre
Verwendung erleichtert und die erneute Verwendung des Inhalts gefördert wird.
- 3) Durch Einbettung eines Kopie-Managementsignals, wie es beispielsweise
bei DVDs (Digital Video Discs) verwendet wird, kann ein Kopierschutz,
der sicherer als gegenwärtig
ist, verwirklicht werden.
-
Außerdem kann
als Anwendungen auf andere Gebiete das Folgende berücksichtigt
werden:
- 1) Für ein System, wenn Gesichtsbilddaten
eines rechtmäßigen Eigentümers in
einem Pass des Pendlers eingebettet ist, die unzulässige Verwendung
des Passes zu verhinder, indem zur Zeit des Durchlaufens durch ein
Ticket-Gate beurteilt
wird, ob der Benutzer und der rechtmäßige Eigentümer die gleiche Person sind.
- 2) Für
ein Digitaldaten-Authentifizierungs-Beurteilungssystem, das zur Zeit der
Einbettung Aufzeichnungsumstände
(Zeit, Kennung etc. von Rekorder-Teilen)
erfassen kann, wenn Sprache, Musik, statisches Bild, Bewegtbild-Digitaldaten
aufgezeichnet werden, dass die aufgezeichneten Daten verarbeitet
oder editiert wurden.
-
Außerdem können für die anwendbaren
Bereiche der erfindungsgemäßen Informationseinbettungs-Verfahren, Informations-Leseverfahren
und ihrer jeweiligen Vorrichtung die folgenden Bereiche betrachtet
werden:
-
1) Internet
-
2) Digitaler Rundfunk
-
Verwendung
für Urheberrechtspräsentation
und für
den Betrieb von Haushaltsannahmestationen durch Einbettung von Information
in dem Informationsinhalt zum digitalen Rundsenden mit Satellit,
Bodenwellen, optischen Kabeln oder dergleichen.
-
3) Verpackungsmedien
-
Verwendung
für Urheberrechtpräsentation
oder den Betrieb von Bildaufzeichnungs-/Wiedergabegerät durch
Einschließen
von Informationsinhalt, der zuvor mit Information eingebettet wurde,
in Verpackungsmedien, wie beispielsweise DVD, Photo-CD, Video-CD, Digital-Video.