-
HINTERGRUND DER ERFINDUNG
-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Verstecken von
Daten, um Daten einer Nachricht in Mediendaten zu verstecken, und
ein Datenentnahmeverfahren zum Entnehmen von versteckten Daten.
-
ZUGRUNDE LIEGENDE TECHNIK
-
Die
Entwicklung der Multimediagesellschaft hat dazu geführt, dass
große
Mengen von digitalen Video- und Audiodaten in Internetsystemen oder
als Software auf CD-ROMs verbreitet werden. Von digitalen Video- und
Audiodaten kann jedermann leicht eine perfekte Kopie ohne Verschlechterung
der Qualität
erzeugen, sodass die illegale Nutzung und der Schutz der Urheberrechte
zum Problem geworden sind. Um Dritten das illegale Kopieren von
Mediendaten wie beispielsweise Video- und Audiodaten unmöglich zu machen, gewinnt das Verfahren
zum Verstecken von zusätzlichen
Daten, zum Beispiel der Signatur eines Erzeugers (Urhebers) in die
ursprünglichen
Mediendaten an Aufmerksamkeit. Wenn digitale Videodaten oder andere ähnliche
Daten illegal kopiert werden, lässt
sich herausfinden, ob die Kopie legal oder illegal ist, indem die
in der Kopie versteckte Signatur bestätigt und die Quelle ermittelt
wird. Ein solches Verfahren wird als Verfahren zum Verstecken von
Daten bezeichnet.
-
1 zeigt
ein Halbtonbild, das entsteht, wenn digitale Daten auf einem Bildschirm
dargestellt werden. In den Mediendaten von 1(a),
das ein digitales Bild von einer Kindergärtnerin, einem Fluss, Kindern und
Vögeln
darstellt, sind Nachrichten gemäß 1(b) versteckt worden. Die Mediendaten
werden durch das Segmentieren eines Bildes (zum Beispiel einer Fotografie)
in sehr kleine Bereiche und die numerische Darstellung der Helligkeit
und eines Farbtons für
jeden Bereich gewonnen. Dann wird der ursprüngliche Zahlenwert des Bildes
absichtlich geringfügig
verändert.
Wenn der Zahlenwert nur geringfügig
verändert
wird, entstehen im Bild Veränderungen,
die von einem Menschen kaum wahrgenommen werden könnten. Wenn
dieser Effekt geschickt ausgenutzt wird, können im ursprünglichen
Video völlig
andere Daten (Daten einer Nachricht) versteckt werden. Bei diesen
Nachrichtendaten kann es sich um beliebige Informationen handeln,
zum Beispiel um Gitter, Linien oder Signaturen von Videoherstellern.
Die in den Mediendaten versteckten Nachrichtendaten können durch
Verarbeitung mit einem speziellen Programm aus den Mediendaten entnommen
werden. Dadurch lässt
sich anhand der entnommenen Nachrichtendaten überprüfen, ob die Mediendaten verändert worden
sind.
-
Unter
anderem ist das MPEG-Verfahren (Moving Picture Experts Group) als
eines der Verfahren zum Komprimieren von bewegten Bildern (Videodaten)
bekannt. Im Allgemeinen wurde bisher zum Einfügen bestimmter zusätzlicher
Daten in einen MPEG-Videobitstrom
ein Verfahren zum Verstecken von zusätzlichen Daten in ein Benutzerdatenfeld
verwendet. Bei einem solchen Verfahren kann das Feld jedoch leicht
aus den Mediendaten entfernt werden, sodass sich das Problem ergibt,
dass versteckte zusätzliche
Daten einfach ermittelt und entfernt werden können.
-
BESCHREIBUNG DER ERFINDUNG
-
Bei
der Lösung
des oben erwähnten
Problems besteht ein Ziel der vorliegenden Erfindung darin, ein neuartiges
Verfahren zum Einfügen
zusätzlicher
Daten in einen komprimierten Film unter Verwendung der Zwischenbildvorhersage
bereitzustellen. Ein weiteres Ziel der vorliegenden Erfindung besteht
darin, ein Verfahren bereitzustellen, das praktisch zu keiner Verschlechterung
der Bildqualität
führt,
obwohl zusätzliche
Daten in einen Film eingefügt
werden. Noch ein weiteres Ziel der vorliegenden Erfindung besteht
darin, das Entfernen eingefügter
Daten aus dem Film zu erschweren. Die Erfindung ist in den angehängten Ansprüchen dargelegt.
-
Gemäß einem
ersten Aspekt stellt die vorliegende Erfindung ein Verfahren zum
Verstecken von Daten durch Einfügen
von Daten als zusätzliche
Information in einen aus einer Vielzahl von Einzelbildern (Frames) bestehenden
Film bereit, wobei das Verfahren die folgenden Schritte umfasst:
Festlegen mindestens eines Einfügebereichs
im Einzelbild zum Einfügen
der Daten; und Ermitteln einer Eigenschaft des Einfügebereichs gemäß einer
Einfügeregel,
welche dem einzufügenden
Dateninhalt zugeordnet ist.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren zum Verstecken von
Daten durch Einfügen
von Daten als zusätzliche
Information in ein Bild bereit, wobei das Verfahren die folgenden
Schritte umfasst: Festlegen einer Vielzahl von Einfügebereichen
in dem Bild zum Einfügen
ein und derselben Information; und Ermitteln der betreffenden Einfügebereiche,
sodass diese entsprechend der einzufügenden Information in Bezug
auf eine Einfügeregel
dieselbe Eigenschaft aufweisen, wobei ein einzufügender Dateninhalt so beeinflusst
wird, dass er einer Eigenschaft des Einfügebereichs entspricht.
-
Beispielsweise
soll der Fall betrachtet werden, bei dem ein Datenbit 1 in drei
Einfügebereiche
eingefügt
wird. Unter Bezug auf eine Einfügeregel,
die den Wert eines Datenbits und die Eigenschaft (z. B. den Vorhersagetyp)
vorschreibt, werden drei Einfügebereiche
derart ermittelt, dass sie dieselbe Eigenschaft aufweisen, welche
dem Wert 1 des Datenbits entspricht.
-
Vorzugsweise
stellt die Eigenschaft einen Typ der Zwischenbildvorhersage des
Einfügebereichs
dar. Außerdem
umfasst das Verfahren ferner vorzugsweise den Schritt des Einfügens derselben
Daten in die betreffenden Einfügebereiche.
-
Wünschenswert
ist es, dass das Einzelbild, in welchem sich der Einfügebereich
befindet, ein für
die bidirektionale Vorhersage codiertes Einzelbild ist. In diesem
Fall ist es wünschenswert,
dass der Typ der Zwischenbildvorhersage aus der Gruppe ausgewählt wird,
zu welcher die Vorwärtsvorhersage,
die Rückwärtsvorhersage,
die bidirektionale Vorhersage und die Einzelbildcodierung gehört. Ferner
ist es wünschenswert,
dass die Einfügeregel
einen der Bitwerte so beeinflusst, dass er der bidirektionalen Vorhersage
entspricht, und den anderen Bitwert so beeinflusst, dass er der
Vorwärtsvorhersage
oder der Rückwärtsvorhersage
entspricht. Außerdem
kann die Einfügeregel
bewirken, dass die Verhinderung des Einfügens der Einzelbildcodierung
entspricht.
-
Wenn
ferner ein Vorhersagefehler im Typ der zwischenbildvorhersage des
Einfügebereichs,
der auf der Grundlage der Einfügeregel
ermittelt wurde, einen vorgegebenen Schwellenwert überschreitet,
ist es wünschenswert,
das Einfügen
von Daten in den Einfügebereich
zu verhindern. Da der Vorhersagetyp des Einfügebereichs auf der Grundlage
der Einfügeregel
obligatorisch festgelegt wird, besteht die Möglichkeit einer Verschlechterung
der Bildqualität.
Daher wird als Standard zur Bewertung der Bildqualität ein Schwellenwert
angegeben, der unter Verwendung der Einfügeregel dazu führt, dass
die Daten nicht an einer Position eingefügt werden, bei welcher ein
Vorhersagefehler einen Schwellenwert überschreitet.
-
Wenn
ferner eine Anzahl von Referenzwerten der Vorwärtsvorhersage oder eine Anzahl
von Referenzwerten der Rückwärtsvorhersage
in dem für
die bidirektionale Vorhersage codierten Einzelbild kleiner als eine vorgegebene
Anzahl ist, kann das Einfügen
von Daten in den Einfügebereich
des für
die bidirektionale Vorhersage codierten Einzelbilds verhindert werden.
Wenn zum Beispiel die Szene wechselt, verringert sich die Anzahl
der Referenzwerte der Vorwärtsvorhersage
oder die Anzahl der Referenzwerte der Rückwärtsvorhersage in dem von der Änderung
betroffenen Einzelbild beträchtlich.
Wenn in einem solchen Fall die Einfügeregel angewendet und der
Vorhersagetyp obligatorisch festgelegt wird, besteht die Möglichkeit
einer beträchtlichen Verschlechterung
der Bildqualität.
Wenn die Anzahl der Referenzwerte der Vorhersage in einem Einzelbild
gezählt
und für
kleiner als ein vorgegebener Schwellenwert befunden wird, ist es
deshalb wünschenswert,
die Daten nicht in das Einzelbild einzufügen.
-
Vorzugsweise
wird ein Verfahren zum Verstecken von Daten durch das Einfügen einer
Information in einen aus einer Vielzahl von Einzelbildern bestehenden
Film bereitgestellt, das die folgenden Schritte umfasst: Zählen einer
Anzahl von Referenzwerten der Vorwärtsvorhersage oder einer Anzahl
von Referenzwerten der Rückwärtsvorhersage
in einem Einzelbild mit einem Einfügebereich zum Einfügen einer
Information; Ermitteln der Eigenschaften der betreffenden Einfügebereiche
unter Bezug auf die einzufügende
Information, wobei ein einzufügender
Dateninhalt so beeinflusst wird, dass er einer Eigenschaft des Einfügebereichs
entspricht, wenn die Anzahl der Referenzwerte größer als eine vorgegebene Anzahl
ist; und Verhindern des Einfügens
von Daten in den Einfügebereich
des Einzelbildes, wenn die Anzahl der Referenzwerte kleiner als
die vorgegebene Anzahl ist.
-
Vorzugsweise
wird ein Datenentnahmeverfahren zum Entnehmen einer in einen Film
eingefügten
Information bereitgestellt, wobei das Verfahren die folgenden Schritte
umfasst: Festlegen mindestens eines Einfügebereichs, in den eine Information
eingefügt
wurde; und Entnehmen der eingefügten
Information aus einem Typ der Zwischenbildvorhersage im Einfügebereich
unter Verwendung einer Entnahmeregel, wobei der Typ der Zwischenbildvorhersage
im Einfügebereich
so beeinflusst wird, dass er einem zu entnehmenden Dateninhalt entspricht.
-
Vorzugsweise
wird ein Verfahren zum Entnehmen von Daten bereitgestellt, um eine
mit Redundanz in ein Bild eingefügte
Information zu entnehmen, wobei das Verfahren die folgenden Schritte
umfasst: Festlegen einer Vielzahl von Einfügebereichen in dem Film, in
welche dasselbe Datenbit eingefügt
wurde; Entnehmen der in die betreffenden Einfügebereiche eingefügten Datenbits
aus den Eigenschaften der betreffenden Einfügebereiche unter Verwendung
einer Entnahmeregel, wobei eine Eigenschaft des Einfügebereichs
so beeinflusst wird, dass sie dem zu entnehmenden Datenbit entspricht;
Vergleichen einer Anzahl von Einfügebereichen in Bezug auf jedes
der verschiedenen entnommenen Datenbits und Festlegen des Datenbits
mit einer größeren Anzahl
als eingefügten
Datenwert, wenn aus den betreffenden Einfügebereichen verschiedene Datenbits
entnommen werden; und dadurch Entnehmen der mit Redundanz in ein
Bild eingefügten
Information.
-
Das
Verfahren zum Entnehmen von Daten umfasst die folgenden Schritte:
Festlegen einer Vielzahl von Einfügebereichen in dem Bild, in
welche bestimmte Daten eingefügt
wurden (z. B. ein Datenbit 1), und Entnehmen der eingebetteten Daten
(das oben erwähnte
Datenbit 1) auf der Grundlage einer Eigenschaft der betreffenden
Einfügebereiche
unter Verwendung einer Entnahmeregel, wobei eine Eigenschaft des
Einfügebereichs
so beeinflusst wird, dass sie dem zu entnehmenden Datenbit entspricht.
Wenn in diesem Fall aus den betreffenden Einfügebereichen verschiedene Datenbits
entnommen werden, kann die Anzahl der Einfügebereiche in Bezug auf jedes
der verschiedenen entnommenen Datenbits verglichen und das Datenbit
mit einer größeren Anzahl
als eingefügter
Datenwert festgelegt werden (so genannte Mehrheitsentscheidung).
Beispielsweise sei angenommen, dass die Datenbits, die aus drei
Einfügebereichen
A, B und C, in welche dasselbe Datenbit (ein Datenbit 1) eingefügt worden
sein soll, einen Bitwert 1, einen Bitwert 1 und einen Bitwert 0 aufweisen.
In diesem Fall ist ein Bitwert 1 aus 2 Einfügebereichen und ein Bitwert
0 aus einem Einfügebereich entnommen
worden. Da anzunehmen ist, dass ein Bitwert, bei dem die oben erwähnte Anzahl
größer ist,
genauer ist, wird davon ausgegangen, dass ein Datenbit 1 eingefügt worden
ist. Wenn ein Datenbit 1 eingefügt worden
ist, ist der Wert des aus den drei Einfügebereichen entnommenen Datenbits
gleich 1. Aus bestimmten Gründen
kommt es jedoch auch zur Änderung
einer eingefügten
Information. Ferner wird auch eine Entnahme unter Verwendung eines
statistischen Verfahrens in Betracht gezogen.
-
Vorzugsweise
wird ein Verfahren zum Entnehmen von Daten bereitgestellt, um eine
in ein Bild eingefügte
Information zu entnehmen, wobei das Verfahren die folgenden Schritte
umfasst: Festlegen einer Vielzahl von Einfügebereichen in dem Bild, in
welche ein Datenbit 1 eingefügt
wurde; und Entnehmen des eingefügten Datenbits
1 auf der Grundlage der Eigenschaften der festgelegten Vielzahl
von Einfügebereichen
unter Verwendung einer Entnahmeregel, wobei eine Eigenschaft des
Einfügebereichs
so beeinflusst wird, dass sie einem zu entnehmenden Datenbit entspricht.
-
Ein
weiterer Aspekt der Erfindung stellt ein Filmcodierungssystem zum
Einfügen
von Daten in einen Film bereit, der aus einer Vielzahl von Einzelbildern
besteht und die Zwischenbildvorhersage anwendet, wobei das System
Folgendes umfasst: eine Fehlerberechnungseinheit (65) zum
Berechnen eines ersten Vorhersagefehlers auf der Grundlage sowohl
eines in einem ersten Einzelbild zum Einfügen einer Information festgelegten
Einfügebereichs
als auch eines Referenzbereichs in einem zweiten Einzelbild, auf
welchen der Einfügebereich
Bezug nimmt, unter Verwendung der Vorwärtsvorhersage sowie zur Berechnung
eines zweiten Vorhersagefehlers auf der Grundlage sowohl des Einfügebereichs
als auch eines Referenzbereichs in einem dritten Einzelbild, auf
welchen der Einfügebereich
Bezug nimmt, unter Verwendung der Rückwärtsvorhersage sowie ferner
zur Berechung eines dritten Vorhersagefehlers auf der Grundlage
des Einfügebereichs
und der Referenzbereiche im zweiten und im dritten Einzelbild, auf
welche der Einfügebereich
Bezug nimmt, unter Verwendung der bidirektionalen Vorhersage; und
eine Entscheidungseinheit (66) zum Entscheiden eines Typs
der Zwischenbildvorhersage im Einfügebereich gemäß mit einem
einzufügenden
Dateninhalt unter Verwendung einer Einfügeregel und zum beliebigen
Festlegen eines ersten, zweiten oder dritten Vorhersagefehlers gemäß dem ermittelten
Typ der Zwischenbildvorhersage.
-
Das
System ist zum Einfügen
einer Information in Videodaten bestimmt, die aus einer Vielzahl
von Einzelbildern bestehen, und wendet die oben beschriebene Zwischenbildvorhersage
an.
-
Vorzugsweise
beschreibt die Einfügeregel,
dass der Typ der Zwischenbildvorhersage im Einfügebereich beim Einfügen eines
Datenbits in den Einfügebereich
entweder die Vorwärtsvorhersage
oder die Rückwärtsvorhersage
anwendet und dass der Typ der Zwischenbildvorhersage beim Einfügen eines
anderen Datenbits in den Einfügebereich
die bidirektionale Vorhersage anwendet.
-
Im
vorliegenden Fall kann die oben erwähnte Entscheidungseinheit ein
erstes Verhinderungsmittel beinhalten, welches das Einfügen von
Daten in einen bestimmten Einfügebereich
verhindert, wenn ein gemäß der Einfügeregel
ermittelter Fehler im Typ der Zwischenbildvorhersage des betreffenden
Einfügebereichs
einen vorgegebenen Schwellenwert überschreitet. Ferner kann die
Entscheidungseinheit ein zweites Verhinderungsmittel beinhalten,
welches das Einfügen
von Daten in den Einfügebereich
des für
die bidirektionale Vorhersage codierten Einzelbilds verhindert,
wenn eine Anzahl von Referenzwerten der Rückwärtsvorhersage in dem für die bidirektionale
Vorhersage codierten Einzelbild kleiner als eine vorgegebene Anzahl
ist.
-
Vorzugsweise
wird ein Filmdecodierungssystem zum Entnehmen einer in einen codierten
Film eingefügten
Information bereitgestellt, wobei das System Folgendes umfasst:
eine Festlegungseinheit zum Festlegen mindestens eines Einfügebereichs,
in welchen eine Information eingefügt wurde; und eine Entnahmeeinheit
zum Entnehmen der eingefügten
Information aus einem Typ der Zwischenbildvorhersage im Einfügebereich
unter Verwendung einer Entnahmeregel, wobei der Typ der Zwischenbildvorhersage
im Einfügebereich so
beeinflusst wird, dass er einem einzufügenden Dateninhalt entspricht.
-
Ein
weiterer Aspekt der Erfindung stellt ein Verfahren zum Entnehmen
von Daten durch das Entnehmen in einen Film eingefügter Daten
bereit, wobei das Verfahren die folgenden Schritte umfasst: Festlegen mindestens
eines Einfügebereichs,
in welchen die Daten eingefügt
wurden; und Ermitteln des Inhalts der eingefügten Daten, die gemäß einer
Entnahmeregel aus dem mindestens einen Einfügebereich entnommen werden
sollen, wobei die Entnahmeregel einer Eigenschaft des Einfügebereichs
zugeordnet ist.
-
Ein
weiterer Aspekt der Erfindung stellt ein System zum Verstecken von
Daten bereit, um Daten als zusätzliche
Information in einen aus einer Vielzahl von Einzelbildern bestehenden
Film einzufügen,
wobei das System Folgendes umfasst: ein Mittel zum Festlegen mindestens
eines Einfügebereichs
im Einzelbild zum Einfügen
der Daten; und ein Mittel zum Ermitteln einer Eigenschaft des Einfügebereichs
gemäß einer
Einfügeregel,
die dem Inhalt der einzufügenden
Daten zugeordnet ist.
-
Ein
weiterer Aspekt der Erfindung stellt ein System zum Entnehmen von
Daten bereit, um in einen Film eingefügte Daten zu entnehmen, wobei
das System Folgendes umfasst: ein Mittel zum Festlegen mindestens eines
Einfügebereichs,
in welchen die Daten eingefügt
wurden; und ein Mittel zum Ermitteln des Inhalts der gemäß einer
Entnahmeregel aus dem mindestens einen Einfügebereich zu entnehmenden eingefügten Daten, wobei
die Entnahmeregel einer Eigenschaft des Einfügebereichs zugeordnet ist.
-
Ein
weiterer Aspekt der Erfindung stellt ein Computerprogramm bereit,
das ein Programmcodemittel umfasst, welches alle Schritte des oben
beschriebenen Verfahrens ausführt,
wenn das Programm auf einem Computer ausgeführt wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Halbtonbild, das bei der Darstellung digitaler Daten auf einem
Bildschirm zu sehen ist;
-
2 ist
ein Schaubild einer beispielhaften Anordnung von Typen der Zwischenbildvorhersage;
-
3 ist
ein Schaubild, das ein Beispiel von Makroblöcken in einem B-Frame zeigt;
-
4 ist
ein Schaubild zur Erläuterung
der Beziehung zwischen dem Vorhersagetyp und dem Vorhersagefehler
eines Makroblocks;
-
5 ist
ein Schaubild zur Erläuterung
von Referenzbildern für
den Fall eines Szenenwechsels;
-
6 ist
ein Blockschaltbild eines Filmcodierungssystems; und
-
7 ist
ein Blockschaltbild eines Filmdecodierungssystems.
-
BESTE AUSFÜHRUNGSART DER ERFINDUNG
-
(1) Einfügen von Daten
-
Als
Erstes wird der Fall beschrieben, bei dem eine zusätzliche
Information (Nachrichtendaten) in einen MPEG-Videodatenstrom (Mediendaten)
eingefügt
werden. Das Kompressionsverfahren MPEG wendet die Vorwärtsvorhersage
auf der Grundlage eines vorhergehenden Referenzbildes, die Rückwärtsvorhersage
auf der Grundlage eines nachfolgenden Referenzbildes und die bidirektionale
Vorhersage auf der Grundlage sowohl eines vorhergehenden als auch
eines nachfolgenden Referenzbildes an. 2 zeigt
eine Folge von Einzelbildern (Frames). Die Figur zeigt, dass die
Folge von Einzelbildern drei Typen von Einzelbildern enthält, einen
I-Frame, P-Frames und B-Frames, um die bidirektionale Vorhersage
durchzuführen.
-
Im
vorliegenden Fall ist der I-Frame ein separat codiertes Einzelbild,
und alle Makroblöcke
innerhalb dieses Einzelbilds sind durch Einzelbildcodierung komprimiert
(ohne Zwischenbildvorhersage). Der P-Frame stellt ein für die Vorwärtsvorhersage
codiertes Einzelbild dar, und alle Makroblöcke innerhalb dieses Einzelbildes
sind durch Einzelbildcodierung oder Vorwärtsvorhersagecodierung komprimiert.
Ferner stellt der B-Frame ein Einzelbild mit bidirektionaler Vorhersage
und interpolativer Codierung dar. Die Makroblöcke innerhalb des B-Frames
können
grundsätzlich
unter Anwendung der Vorwärtsvorhersage,
der Rückwärtsvorhersage,
der bidirektionalen Vorhersage oder der Einzelbildcodierung codiert
werden. Der I-Frame und die P-Frames
werden in derselben Reihenfolge wie beim ursprünglichen Film codiert. Die
B-Frames hingegen werden zwischen den I-Frame und die P-Frames eingeschoben
und nach der Verarbeitung der I- und P-Frames codiert.
-
Als
Einfügebereich
für die
Information (Nachrichtendaten) dienen die Makroblöcke des
B-Frame, und in einen Makroblock kann ein Datenbit der Information
eingefügt
werden. Wenn die Nachrichtendaten aus mehreren Bits bestehen, muss
der Einfügeprozess
deshalb mit derselben Anzahl von Makroblöcken durchgeführt werden,
die der Anzahl der Bits entspricht. 3 ist ein
Schaubild, das die Anordnung der Makroblöcke in einem B-Frame zeigt.
Der Makroblock stellt die Vorhersageeinheit dar. Der Makroblock
stellt eine Einheit der Bewegungskompensation von 16 × 16 Pixeln
dar, welche die Videodaten durch die Verringerung ihrer zeitlichen
Redundanz komprimiert.
-
Die
Makroblöcke
innerhalb des B-Frame können
in die folgenden vier Gruppen von Vorhersagetypen eingeteilt werden.
-
Makroblock mit Zwischenbildcodierung:
-
Der
Makroblock mit Einzelbildcodierung stellt einen Makroblock dar,
der ohne Zwischenbildvorhersage lediglich anhand der Daten des Makroblocks
selbst codiert ist.
-
Makroblock mit Vorwärtsvorhersage:
-
Der
Makroblock mit Vorwärtsvorhersage
stellt einen Makroblock dar, bei dem die Vorhersage in Vorwärtsrichtung
erfolgt und der entweder unter Bezug auf das vorhergehende separat
codierte Einzelbild (I-Frame) oder das vorhergehende für die Vorwärtsvorhersage
codierte Einzelbild (P-Frame) codiert ist. Genauer gesagt, es wird
ein quadratischer Bereich von 16 × 16 Pixeln abgerufen, der
dem vorhergehenden Referenzbild möglichst ähnlich ist, und der Makroblock
weist einen Vorhersagefehler (ΔP)
auf, der gleich der Differenz zwischen dem Makroblock und dem abgerufenen
quadratischen Bereich ist und ferner eine Information über eine relative
räumliche
Position (einen Bewegungsvektor) aufweist. Im vorliegenden Fall
wird der Vorhersagefehler ΔP
durch die für
die 16 × 16
Pixel ermittelte Helligkeitsdifferenz oder die Farbdifferenz ausgedrückt. Zu
beachten ist, dass die Art und Weise der Auswahl eines ähnlichen
quadratischen Bereichs von den Codierern abhängt.
-
Makroblock mit Rückwärtsvorhersage:
-
Der
Makroblock mit Rückwärtsvorhersage
stellt einen Makroblock dar, bei dem die Vorhersage in Rückwärtsrichtung
erfolgt und der entweder unter Bezug auf das nachfolgende separat
codierte Einzelbild (I-Frame) oder das nachfolgende für die Vorwärtsvorhersage
codierte Einzelbild (P-Frame) codiert ist. Es wird ein Bereich abgerufen,
der dem nachfolgenden Referenzbild möglichst ähnlich ist, und dieser Makroblock weist
einen Vorhersagefehler (ΔN)
auf, der gleich der Differenz zwischen dem Makroblock und dem abgerufenen
Bereich ist und ferner eine Information über eine relative räumliche
Position (einen Bewegungsvektor) aufweist.
-
Makroblock mit bidirektionaler Vorhersage:
-
Der
Makroblock mit bidirektionaler Vorhersage stellt einen Makroblock
dar, bei dem die Vorhersage in beiden Richtungen erfolgt und der
unter Bezug auf das vorhergehende und das nachfolgende Referenzbild
codiert ist. Es wird ein Bereich abgerufen, der sowohl einem Bereich
im vorhergehenden Referenzbild als auch einem Bereich im nachfolgenden
Referenzbild möglichst ähnlich ist,
und dieser Makroblock weist einen Vorhersagefehler ((ΔN + ΔP)/2) auf,
der gleich der Differenz zwischen dem Makroblock und (pixelweise)
dem Mittelwert dieser beiden Bereiche entspricht und ferner eine
Information über
eine relative räumliche
Position (zwei Bewegungsvektoren) zwischen beiden aufweist.
-
Um
die Daten einer Nachricht eingeben zu können, muss zuerst mindestens
ein Makroblock in einem B-Frame festgelegt werden, der einem Einfügeprozess
unterzogen wird. Dieser Makroblock kann zum Beispiel durch die entsprechenden
Makroblöcke
(Einfügebereiche),
die zwischen der ersten und der dritten Zeile des B-Frame liegen,
oder durch die Gesamtheit aller Makroblöcke in einem bestimmten Einzelbild
definiert werden.
-
Der
Makroblock kann nicht nur auf diese Weise als Format definiert,
sondern auch unter Verwendung eines Algorithmus festgelegt werden,
der eine Folge von Positionen erzeugt. Zu beachten ist, dass zum
Erzeugen einer Folge von Positionen zum Beispiel der in der
Japanischen Patentanmeldung Nr.
8-159 330 beschriebene Algorithmus verwendet werden kann.
-
Während des
Einfügeprozesses
in den als Objekt festgelegten Makroblock wird nun auf der Grundlage einer
Einfügeregel
in jeden Makroblock je ein Datenbit eingefügt. Diese Einfügeregel
beeinflusst das Datenbit der Information so, dass es dem Vorhersagetyp
des Makroblocks entspricht. Zum Beispiel kann es sich dabei um die
folgende Regel handeln. (Einfügeregel)
Einzufügendes | Typ
der Zwischenbildvorhersage des |
Datenbit | Makroblocks: |
Bit
1 | Bidirektional
vorhergesagter Makroblock |
| (dargestellt
durch B) |
Bit
0 | Vorwärts vorhergesagter
Makroblock |
| (dargestellt
durch P) oder rückwärts |
| vorhergesagter
Makroblock (dargestellt |
| durch
N) |
Einfügen verhindern | Makroblock
mit Einzelbildcodierung |
-
Als
Beispiel soll der Fall betrachtet werden, bei dem die Daten 1010
einer Nachricht eingefügt
werden sollen. Die 4 Datenbits werden nacheinander in 4 Einfügebereiche
(Makroblöcke)
zwischen dem ersten Makroblock und dem vierten Makroblock von links
in der ersten Zeile von 3 eingefügt. Das erste Datenbit ist eine
1, sodass als Vorhersagetyp des äußersten
linken Makroblocks (erster Einfügebereich)
gemäß der oben erwähnten Einfügeregel
die bidirektionale Vorhersage (B) ermittelt wird. In diesem Fall
besteht der Vorhersagefehler in der Differenz zwischen dem Makroblock
und dem Mittelwert eines Bereichs im vorhergehenden Referenzbild
und eines Bereichs im nachfolgenden Referenzbild, die diesem möglichst ähnlich sind.
-
Das
nächste
Datenbit ist eine 0. Deshalb trifft auf den zweiten Makroblock (zweiter
Einfügebereich) gemäß der Einfügeregel
als Vorhersagetyp entweder die Vorwärtsvorhersage (P) oder die
Rückwärtsvorhersage
(N) zu. Um die Qualitätsverschlechterung
eines Bildes zu unterdrücken,
werden in diesem Fall der Vorhersagefehler der Vorwärtsvorhersage
und der Vorhersagefehler der Rückwärtsvorhersage
miteinander verglichen, um den Typ mit dem kleineren Vorhersagefehler
auszuwählen.
Da der Vorhersagefehler der Vorwärtsvorhersage
kleiner als der Vorhersagefehler der Rückwärtsvorhersage ist, wird bei
dem Beispiel von 3 für den zweiten Makroblock die
Vorwärtsvorhersage
(P) gewählt.
-
Ähnlich wird
erneut mit dem dritten und dem vierten Einfügebereich verfahren. Dabei
ergibt sich als Vorhersagetyp für
den dritten Makroblock die bidirektionale Vorhersage (B) und für den vierten
Makroblock die Rückwärtsvorhersage
(N), da der Vorhersagefehler bei der Rückwärtsvorhersage kleiner ist.
-
In
der oben beschriebenen Weise werden für den ersten bis vierten Einfügebereich
die Zwischenbildvorhersagetypen BPBN ermittelt und die 4 Datenbits
1010 (4 Datenbits der Nachricht) in diese Bereiche eingefügt. Wenn
versucht wird, Datenbits in einen bestimmten Einfügebereich
einzufügen,
kann in bestimmten Fällen
die Bildqualität
stark verschlechtert werden. In solchen Fällen werden keine Datenbits
in den Einfügebereich
eingefügt,
und als Vorhersagetyp des Einfügebereichs
ein separat codierter Makroblock festgelegt, bei dem das „Einfügen verhindert" wird.
-
(2) Datenentnahme
-
Es
wird ein Verfahren zum Entnehmen der während der oben erwähnten Prozedur
eingefügten
Daten einer Nachricht beschrieben. Wenn Daten der Nachricht entnommen
werden sollen, muss zuerst eine Information zum Festlegen des Makroblocks
angegeben werden, in den die Daten der Nachricht eingefügt wurden. Die
Festlegungsinformation kann von einer externen Einheit geliefert
werden. Außerdem
kann die Festlegungsinformation auch vorher in die Daten selbst
eingefügt
werden. Auch wenn die Position eines Einfügebereichs standardmäßig vorgegeben
oder ein Algorithmus zum Erzeugen einer Folge von Positionen bekannt
ist, können
die Daten der Nachricht entnommen werden. Bei einem Verfahren zum
Entnehmen der Daten einer Nachricht unter Verwendung einer Folge
von Positionen kann zum Beispiel die in der oben erwähnten
Japanischen Patentanmeldung Nr.
8-159 330 beschriebene Technik angewendet werden.
-
Nun
wird unter Bezug auf eine Entnahmeregel die in den festgelegten
Einfügebereich
eingefügte
Information dem Vorhersagetyp dieses Einfügebereichs entnommen. Bei dieser
Entnahmeregel handelt es sich um eine Regel, bei der der Vorhersagetyp
des Makroblocks so beeinflusst wird, dass er der Bitinformation
entspricht, und diese Entnahmeregel muss als Information vorliegen,
wenn die Daten entnommen werden. Zum Beispiel kann es sich um die
folgende Regel handeln. Es wird darauf hingewiesen, dass bei dieser
Entnahmeregel dieselbe Beziehung zwischen dem Vorhersagetyp und
der Bitinformation gilt. Wenn es sich bei dem Vorhersagetyp um einen
Makroblock mit Einzelbildcodierung handelt, wird ferner davon ausgegangen,
dass in den Einfügebereich
kein Datenbit eingefügt
worden ist. (Entnahmeregel)
Typ
der Zwischenbildvorhersage des | Zu
entnehmendes Datenbit |
Makroblocks: | |
Bidirektional
vorhergesagter | Bit
1 |
Makroblock
(dargestellt durch B) | |
Vorwärts vorhergesagter
Makroblock | Bit
0 |
(dargestellt
durch P) oder rückwärts | |
vorhergesagter
Makroblock | |
(dargestellt
durch N) | |
Makroblock
mit Einzelbildcodierung | Es
wurde kein Datenbit |
| eingefügt |
-
Es
wird der Fall beschrieben, bei dem Daten einer Nachricht gemäß 3 eingefügt wurden.
Dabei wird von der bekannten Voraussetzung ausgegangen, dass Datenbits
der Nachricht in die Einfügebereiche vom
ersten Makroblock auf der linken Seite bis zum vierten Makroblock
in der ersten Zeile von 3 eingefügt worden sind. Da es sich
beim Vorhersagetyp des äußersten
linken Makroblock um eine bidirektionale Vorhersage (B) handelt,
wird unter Bezug auf die oben erwähnte Entnahmeregel ein Bitwert
1 entnommen. Beim Vorhersagetyp des zweiten Makroblocks handelt
es sich um eine Vorwärtsvorhersage
(P), sodass gemäß der Entnahmeregel
ein Bitwert 0 entnommen wird. Ebenso wird erneut mit den beiden
anderen Makroblöcken
verfahren und nacheinander ein Bitwert 1 und ein Bitwert 0 entnommen.
Folglich werden die Datenbits 1010 der Nachricht aus diesen Bereichen
entnommen.
-
Wenn
es sich bei dem Vorhersagetyp des äußersten rechten Makroblocks
um einen Makroblock mit Einzelbildcodierung handelt, wird gemäß der oben
erwähnten
Entnahmeregel davon ausgegangen, dass in diesen Makroblock kein
Datenbit eingefügt
worden ist. Dadurch verringert sich die Nachricht auf die Datenbits 101.
-
(3) Besondere Berücksichtigung der Bildqualität (Einführung eines
Schwellenwertes)
-
Ein
Codierer kann in dem für
jedes Einzelbild zulässigen
Bereich den Vorhersagetyp des Makroblocks frei auswählen. Im
Allgemeinen wird derjenige Vorhersagetyp des Makroblocks ausgewählt, bei
dem der Vorhersagefehler am kleinsten ist. Das Merkmal dieser Ausführungsart
besteht jedoch darin, dass der Vorhersagetyp des Makroblocks gemäß der oben
erwähnten
Einfügeregel
ausgewählt
wird. Da bei der Entnahmeregel dieselbe Beziehung zwischen dem Vorhersagetyp
und der Bitinformation wie bei der Einfügeregel gilt, können die
eingefügten
Daten unter Bezugnahme auf die Entnahmeregel präzise entnommen werden.
-
Wenn
jedoch der Vorhersagetyp gemäß der Einfügeregel
ermittelt wird, kann es passieren, dass der Vorhersagetyp ausgewählt wird,
bei dem der Vorhersagefehler so groß ist, dass die Qualitätsverschlechterung in
einem Bild visuell wahrgenommen werden kann. In vielen Fällen wird
zur Ermittlung des Vorhersagefehlers die Summe der Absolutwerte
oder die Summe der Quadrate der Vorhersagefehler für jedes
Pixel verwendet, aber das MPEG-Verfahren schreibt nicht vor, welcher
Standard angewendet werden soll, sodass ein Codierer jeden Standard
zur Ermittlung der Vorhersagefehler anwenden kann. Wenn jedoch ein
Vorhersagetyp ausgewählt
wird, bei dem der Vorhersagefehler zu groß ist, kommt es unabhängig vom
angewendeten Standard zu einer Verschlechterung der Bildqualität. Deshalb
wird für
einen Vorhersagefehler ein bestimmter Schwellenwert vorgegeben.
Wenn in diesem Fall der Vorhersagefehler bei einem ausgewählten Vorhersagetyp
größer als
der Schwellenwert ist, ist es wünschenswert,
kein Datenbit in den Makroblock einzufügen. In diesem Fall wird gemäß der oben
erwähnten
Einfügeregel
für den
Vorhersagetyp des Makroblocks ein Makroblock mit Einzelbildcodierung
ausgewählt.
Dieser Punkt wird unter Bezugnahme auf 4 ausführlich beschrieben.
-
4 ist
ein Schaubild zur Erläuterung
der Beziehung zwischen dem Vorhersagetyp und dem Vorhersagefehler
eines Makroblocks. In der Figur ist auf der Ordinate der Vorhersagefehler
dargestellt, wobei ein größerer Vorhersagefehler
eine stärkere
Verschlechterung der Bildqualität
anzeigt. Für
das zulässige
Maß des Vorhersagefehlers
wurde ferner ein Schwellenwert vorgegeben, das heißt, ein
Bewertungsstandard, bei dem noch keine wahrnehmbare Verschlechterung
der Bildqualität
eintritt. In 4 zeigen drei mit einem vertikalen Strich
verbundene kurze waagerechte Striche (i), (ii) und (iii) einen von
drei Vorhersagefehlern für
die Vorwärtsvorhersage,
die Rückwärtsvorhersage
und die bidirektionale Vorhersage eines Makroblocks an. Anhand der Beziehung
zwischen einem Schwellenwert und drei Vorhersagefehlern kann ein
Makroblock 4 Typen (a), (b), (c) und (d) zugeordnet werden. Das
heißt,
die vier Typen stellen die folgenden vier Fälle dar: Typ (a), bei dem alle
drei Vorhersagefehler kleiner als der Schwellenwert sind; Typ (b),
bei dem einer der Vorhersagefehler einen Schwellenwert überschreitet;
Typ (c), bei dem zwei Vorhersagefehler einen Schwellenwert überschreiten; und
Typ (d), bei dem alle Vorhersagefehler einen Schwellenwert überschreiten.
-
Bei
dem Makroblock vom Typ (d) überschreiten
unabhängig
vom ausgewählten
Vorhersagetyp alle Vorhersagefehler einen Schwellenwert, und es
kommt zu einer starken Verschlechterung der Bildqualität, sodass
es nicht wünschenswert
ist, diesen Typ des Makroblocks als Einfügebereich zu verwenden. In
diesem Fall wird aus diesem Makroblock gemäß der Einfügeregel ein Makroblock mit
Einzelbildcodierung. Beim MPEG-Verfahren verwenden die meisten Makroblöcke in einem
B-Frame jedoch die Zwischenbildvorhersage (Vorwärtsvorhersage, Rückwärtsvorhersage
oder bidirektionale Vorhersage), sodass die Wahrscheinlichkeit an
sich sehr gering ist, dass dieser Typ des Makroblocks vorkommt.
-
Unabhängig davon,
welche Art von Vorhersage bei dem Makroblock vom TYP (a) ausgewählt wird, besteht
keine Wahrscheinlichkeit, dass der Vorhersagefehler einen Schwellenwert überschreitet.
Das heißt, egal
welche Daten eingefügt
werden, es kommt zu keiner auffälligen
Verschlechterung der Bildqualität,
sodass dieser Typ des Makroblocks als Einfügebereich verwendet werden
kann. Selbst bei Verwendung des Typs (b) als Einfügebereich
kommt es nicht zu einer wahrnehmbaren Verschlechterung der Bildqualität. Normalerweise besteht
keine Wahrscheinlichkeit, dass ein bidirektionaler Vorhersagefehler
den größten Wert
aller drei Vorhersagefehler annimmt (d. h., es besteht keine Wahrscheinlichkeit,
dass ein bidirektionaler Vorhersagefehler dem waagerechten Strich
(i) entspricht). Gemäß der oben
erwähnten
Einfügeregel
können
in diesen Typ des Makroblocks sowohl ein Bitwert 1 als auch ein
Bitwert 0 eingefügt
werden, ohne dass ein Schwellenwert überschritten wird. Wenn die
oben erwähnte
Einfügeregel
angewendet wird, können
deshalb Datenbits in die Makroblöcke
der Typen (a) und (b) eingefügt
werden, ohne eine wesentliche Verschlechterung der Bildqualität zu verursachen.
-
In
der Regel ist es nicht wünschenswert,
den Makroblock vom Typ (c) als Einfügebereich zu verwenden. Wenn
ein bidirektionaler Vorhersagefehler dem waagerechten Strich (iii)
entspricht, überschreiten
sowohl ein Fehler der Vorwärtsvorhersage
als auch ein Fehler der Rückwärtsvorhersage
einen Schwellenwert, sodass es folglich je nach dem einzufügenden Datenbit
zu einer Verschlechterung der Bildqualität kommt. Wenn jedoch in diesem
Fall der Vorhersagefehler des einem gerade einzufügenden Datenbits
entsprechenden Vorhersagetyps keinen Schwellenwert überschreitet
(z. B., wenn der Vorhersagefehler für einen bestimmten gemäß einer
Einfügeregel
einzufügenden
Bitwert kleiner als ein durch den waagerechten Strich (iii) angezeigter Schwellenwert
ist) kann auch dieser Typ des Makroblocks als Einfügebereich
verwendet werden.
-
Aus
den oben erwähnten
Punkten folgt, dass es für
einen bestimmten Makroblock, in den Daten eingefügt werden, drei Typen von Vorhersagefehlern
gibt. Wenn der Vorhersagefehler des auf der Grundlage der Einfügeregel
ermittelten Vorhersagetyps einen vorgegebenen Schwellenwert überschreitet,
ist es wünschenswert,
das Einfügen
von Daten in diesem Makroblock zu verhindern. In diesem Fall entspricht
der Vorhersagetyp des Makroblocks, bei dem das Einfügen verhindert
wird, gemäß der oben
erwähnten
Einfügeregel
der Einzelbildcodierung.
-
Zu
beachten ist, dass die Bits der Makroblöcke mit Einzelbildcodierung
der Typen (c) und (d) ungültig werden
und nicht als Einfügebereich
für Daten
verwendet werden können.
Da diese aber gemäß der obigen Beschreibung
an sich nur selten vorkommen, können
solche ungültigen
Bits durch eine Codierung der Fehlerkorrektur ausgeglichen werden,
wenn bei der einzufügenden
Information eine Redundanz zulässig
ist.
-
Gemäß der Ausführungsart
der vorliegenden Erfindung stehen der Typ des Makroblocks und ein
einzufügendes
Datenbit in einer Beziehung zueinander und werden bei der Codierung
eines Films ausgewählt. Deshalb
können
Daten einer Nachricht in einen Film eingefügt werden, ohne dass der Kompressionsgrad
des Films wesentlich beeinflusst und ohne dass die Bildqualität nennenswert
verschlechtert wird. Außerdem
können
auf diese Weise in einen Film eingefügte Daten einer Nachricht nur
sehr schwer wieder entfernt werden. Da der Umfang der einzufügenden Information überdies
nahezu unabhängig
vom Inhalt eines Bildes ist, können
Daten einer Nachricht wirksam eingefügt werden.
-
(4) Besondere Berücksichtigung der Bildqualität (Gegenmaßnahmen
gegen Szenenwechsel)
-
Es
ist bekannt, dass bei einem Szenenwechsel die meisten Makroblöcke in den
B-Frames zwischen dem I-Frame und dem P-Frame oder zwischen den P-Frames vor
und nach dem Wechsel vom Typ (c) in 4 sind. 5 ist
ein Schaubild zur Erläuterung
der Referenzbilder, wenn ein Szenenwechsel stattfindet. 5(a) zeigt den Fall ohne Szenenwechsel
und 5(b) den Fall eines Szenenwechsels
zwischen Einzelbild 2 und Einzelbild 3. In den Figuren sind die
Einzelbilder an entgegengesetzten Enden I-Frames oder P-Frames,
und zwei mittlere Einzelbilder sind B-Frames. Ein Pfeil in den Figuren
zeigt eine Referenzbeziehung zwischen den Einzelbildern an.
-
Wenn
kein Szenenwechsel stattfindet, liegen im B-Frame eine große Anzahl
bidirektional vorhergesagter Makroblöcke vor. Wenn die Szene jedoch
wechselt, wie dies in 5(b) dargestellt
ist, wird die Anzahl der vorwärts
und bidirektional vorhergesagten Makroblöcke im Einzelbild 2 deutlich
verringert, und aus den meisten Makroblöcken werden vorwärts vorhergesagte
Makroblöcke,
sodass die Vorhersagefehler den Schwellenwert von 4 unterschreiten.
Desgleichen wird auch die Anzahl der vorwärts und bidirektional vorhergesagten
Makroblöcke
im Einzelbild 3 deutlich verringert, und aus den meisten Makroblöcken werden
rückwärts vorhergesagte
Makroblöcke,
sodass die Vorhersagefehler den Schwellenwert von 4 unterschreiten. Deshalb
ist es nicht wünschenswert,
Daten in solche Einzelbilder einzufügen. Deshalb wird die Anzahl
der vorwärts
und der rückwärts vorhergesagten
Makroblöcke überwacht,
und wenn diese Anzahlen einen bestimmten Schwellenwert unterschreiten,
wird daraus geschlussfolgert, dass ein Szenenwechsel eingetreten
ist. In einem solchen Fall ist es nicht wünschenswert, Daten in ein solches
Einzelbild einzufügen
(d. h., gemäß der Einfügeregel
ist es wünschenswert,
dass aus dem Vorhersagetyp ein Makroblock mit Einzelbildcodierung
wird).
-
(5) Besondere Berücksichtigung der Bildqualität (Gegenmaßnahmen
gegen Ausschluss)
-
Unter
Ausschluss ist zu verstehen, das beim Bewegen eines Objekts plötzlich etwas
hinter dem Objekt Verborgenes erscheint oder, im gegenteiligen Fall,
verschwindet. Wenn es zum Ausschluss kommt, sind die vom Ausschluss
betroffenen Makroblöcke
innerhalb des gesamten Einzelbildes vom Typ (c) gemäß 4. Wenn
in diesem Fall der Vorhersagefehler des entsprechend der obigen
Beschreibung gemäß der Einfügeregel
ermittelten Vorhersagetyps kleiner als ein Schwellenwert ist, gibt
es keine Probleme, während
es in allen anderen Fällen
zu einer wahrnehmbaren Verschlechterung der Bildqualität kommt.
Wenn die Bildqualität
sehr wichtig ist, kann die Verschlechterung durch die Anwendung
eines Codes zur Fehlerkorrektur vermieden werden. Das heißt, ein
Bit der Information wird nicht durch einen einzigen Makroblock,
sondern redundant ausgedrückt,
und die einem Bit entsprechende Information wird durch eine Vielzahl
von Makroblöcken
ausgedrückt. In
diesem Fall wird ein einziger Einfügebereich durch einen Satz
von Makroblöcken
dargestellt.
-
Als
Beispiel soll der Fall betrachtet werden, bei dem die einem Bit
gleichwertige Information durch drei Makroblöcke ausgedrückt wird. Selbst wenn in diesem
Fall der Vorhersagetyp eines der drei Makroblöcke dem auszudrückenden
Datenbit widerspräche,
könnte
das Datenbit durch die beiden übrigen
Makroblöcke
präzise ausgedrückt werden.
Wenn in einem bestimmten Satz von Makroblöcken, die ein Bit der Information
ausdrücken,
mehr Makroblöcke
mit Einzelbildcodierung enthalten sind als einer vorgegebenen Anzahl
entspricht, wird ein Datenbit nicht in den Satz der Makroblöcke eingefügt. Wenn
hingegen zwei oder mehr Makroblöcke
vom Typ (c) in 4 sind, müssen einige der Makroblöcke zu Makroblöcken mit
Einzelbildcodierung werden, um deutlich anzuzeigen, dass das Datenbit
nicht eingefügt
wurde. Dies kann unter Verwendung eines statistischen Verfahrens
auch beim Einfügen
und Entnehmen angewendet werden. Das heißt, bei jedem statistischen
Ereignis wird eine Vielzahl von Einfügebereichen (z. B. 100 Bereiche)
vorbereitet, und ein Bit der Information kann durch eine Vielzahl
von Bereichen ausgedrückt
werden. Insofern bedeutet Redundanz in der vorliegenden Erfindung,
dass ein Bit der Information nicht so beeinflusst wird, dass es
im Verhältnis
eins zu eins einem einzigen zu verarbeitenden Bereich, sondern dass
es einer Vielzahl von Bereichen entspricht.
-
Im
Fall des Ausschlusses wird davon ausgegangen, dass eine Vielzahl
nebeneinander liegender Makroblöcke
im dem zum Ausschlussbereich gehörenden
Teil vom Typ (c) in 4 sind. Deshalb ist es wünschenswert,
für einen
Satz von Makroblöcken,
der einen Code zur Fehlerkorrektur darstellt, Makroblöcke zu verwenden,
die im Einzelbild nicht nebeneinander liegen.
-
Obwohl
die oben erwähnte
Ausführungsart
unter Bezugnahme auf das MPEG-Verfahren beschrieben wurde, ist die
vorliegende Erfindung nicht auf das MPEG-Verfahren beschränkt. Es
ist klar, dass die vorliegende Erfindung auch auf andere Bildkompressionsverfahren
angewendet werden kann, die ein Codierungsverfahren zur Zwischenbildvorhersage
verwenden. Insofern ist der Einfügebereich
in der vorliegenden Erfindung nicht auf Makroblöcke beschränkt.
-
Die
oben erwähnte
Einfügeregel
und die Entnahmeregel stellen lediglich Beispiele dar, sodass die
vorliegende Erfindung nicht auf diesen Regeln beschränkt ist
und stattdessen verschiedene Regeln anwenden kann. Zum Beispiel
können
auch drei Datenwerte in einen einzigen Makroblock eingefügt werden,
indem ein Makroblock mit Vorwärtsvorhersage,
ein Makroblock mit Rückwärtsvorhersage
und ein Makroblock mit bidirektionaler Vorhersage so beeinflusst
werden, dass sie den Bitwerten 0, 1, bzw. 2 entsprechen.
-
Obwohl
die oben erwähnte
Ausführungsart
unter Bezugnahme auf den B-Frame, d. h. ein Einzelbild mit bidirektionaler
Vorhersage, beschrieben wurde, können
Daten darüber
hinaus auch in den oben erwähnten P-Frame
eingefügt
werden. Da es sich bei den Makroblöcken, welche den P-Frame bilden,
um Makroblöcke mit
Vorwärtsvorhersage
und einen Makroblock mit Einzelbildcodierung handelt, können die
Bitwerte so beeinflusst werden, dass sie diesen Makroblöcken entsprechen.
In Hinblick auf das Unterdrücken
einer Verschlechterung der Bildqualität und eine Zunahme des Datenumfangs
gemäß der obigen
Beschreibung ist es wünschenswert,
Daten nicht in den P-Frame, sondern in den B-Frame einzufügen. Der
Grund hierfür
besteht darin, dass die Bildqualität verschlechtert wird, wenn
ein Makroblock mit Einzelbildcodierung durch die Einfügeregel zwangsweise
zu einem Makroblock mit Vorwärtsvorhersage
gemacht wird, während
im entgegengesetzten Fall die Datenmenge zunimmt.
-
(6) Filmcodiersystem
-
6 ist
ein Blockschaltbild eines Filmcodiersystems, das die vorliegende
Erfindung anwendet. Im Speicher 61 sind die Daten des Films
gespeichert, der aus einer Vielzahl von Einzelbildern besteht. Im
Einzelbildspeicher 62 ist ein vorhergehendes Referenzbild
und im Einzelbildspeicher 63 ein nachfolgendes Referenzbild
in der Abspielreihenfolge gespeichert. Eine Bereichsbestimmungseinheit 64 legt
eine Position fest, an welcher Daten als zusätzliche Information eingefügt werden.
Dabei wird in einem Einzelbild mindestens ein Bereich festgelegt.
Eine Fehlerberechnungseinheit 65 berechnet auf der Grundlage
der in den Einzelbildspeichern 62 und 63 gespeicherten
Daten einen Fehler der Vorwärtsvorhersage,
einen Fehler der Rückwärtsvorhersage
und einen Fehler der bidirektionalen Vorhersage. Der Fehler der
Vorwärtsvorhersage
wird sowohl aus einem Einfügebereich
als auch einem Referenzbereich im vorhergehenden Referenzbild berechnet,
auf den der Einfügebereich
unter Verwendung der Vorwärtsvorhersage
Bezug nimmt. Der Fehler der Rückwärtsvorhersage
wird sowohl aus einem Einfügebereich
als auch einem Referenzbereich im nachfolgenden Referenzbild berechnet,
auf den der Einfügebereich
unter Verwendung der Rückwärtsvorhersage
Bezug nimmt. Außerdem wird
der Fehler der bidirektionalen Vorhersage aus einem Einfügebereich
und Referenzbereichen sowohl im vorhergehenden als auch im nachfolgenden
Referenzbild berechnet, auf welche der Einfügebereich unter Verwendung
der bidirektionalen Vorhersage Bezug nimmt. Eine Entscheidungseinheit 66 fügt die einzufügenden Daten
in einen Einfügebereich
ein, indem er gemäß einer
Einfügeregel
einen Bereich prüft,
der als Einfügebereich
dient. Genauer gesagt, die Einfügeregel
legt fest, dass der Vorhersagetyp im Einfügebereich beim Einfügen eines
einzelnen Datenbits in einen Einfügebereich entweder die Vorwärtsvorhersage
oder die Rückwärtsvorhersage
anwendet. Wenn die anderen Daten eingefügt werden, legt die Einfügeregel
auch fest, dass der Vorhersagetyp die bidirektionale Vorhersage
anwendet. Die Entscheidungseinheit 66 legt entsprechend dem
Inhalt einer einzufügenden
Information den Typ der Zwischenbildvorhersage in einem Einfügebereich
sowie einen Referenzbereich fest, auf den der Einfügebereich
entsprechend dem festgelegten Typ der Zwischenbildvorhersage Bezug
nimmt, und außerdem
ermittelt die Entscheidungseinheit entweder den ersten, zweiten oder
dritten Vorhersagefehler. Anschließend codiert der Codierer 67 das
von der Entscheidungseinheit 66 ausgegebene Signal.
-
Im
vorliegenden Fall ist die Entscheidungseinheit 66 so beschaffen,
dass das Einfügen
von Daten in einen bestimmten Einfügebereich verhindert wird,
wenn der Vorhersagefehler dieses Einfügebereichs im Typ der Zwischenbildvorhersage,
die auf der Grundlage der Einfügeregel
festgelegt wurde, einen vorgegebenen Schwellenwert überschreitet.
Dadurch wird verhindert, dass die Bildqualität durch das Einfügen verschlechtert wird.
Ferner ist die Entscheidungseinheit 66 so beschaffen, dass
das Einfügen
von Daten in einen Einfügebereich
in einem bidirektional vorhergesagten Einzelbild verhindert wird,
wenn die Anzahl der Referenzwerte der Vorwärtsvorhersage oder die Anzahl
der Referenzwerte der Rückwärtsvorhersage
in diesem Einzelbild kleiner als eine vorgegebene Anzahl ist. Durch
das Zählen
der Anzahl von Referenzwerten kann ein Szenenwechsel erkannt werden.
Somit wird das Einfügen
von Daten in das von dem Wechsel betroffene Einzelbild verhindert, wenn
ein Szenenwechsel erfolgt. Dadurch kann die Verschlechterung der
Bildqualität
verhindert werden.
-
(7) Filmdecodiersystem
-
7 ist
ein Blockschaltbild eines Filmdecodiersystems, das die vorliegende
Erfindung anwendet. Im Speicher 71 sind codierte Daten
des Films gespeichert, in den eine zusätzliche Information eingefügt ist.
Eine Bereichsbestimmungseinheit 72 legt mindestens einen
Einfügebereich
fest, in den in einem Einzelbild eine zusätzliche Information eingefügt ist.
Ein Entnahmemittel 73 entnimmt dem Typ der Zwischenbildvorhersage
in einem Einfügebereich
unter Bezugnahme auf die Entnahmeregel die in den Einfügebereich
eingefügte
zusätzliche
Information. Dann decodiert ein Decodierer 74 die von der
Entnahmeeinheit ausgegebenen codierten Daten und stellt so den Film
wieder her.
-
(8) Einfügen eines Fingerabdrucks
-
Beim
MPEG-Verfahren nehmen keine anderen Einzelbilder Bezug auf B-Frames,
sodass selbst bei einer Änderung
des Vorhersagetyps des Makroblocks im B-Frame keine Möglichkeit
besteht, dass die Änderung andere
Einzelbilder beeinflusst. Wenn diese Tatsache genutzt wird, kann
ein Fingerabdruck eingefügt
werden. Der Fingerabdruck stellt eine spezielle Information dar,
die bei jeder Person verschieden ist. Ein typisches Beispiel der
Nutzung des Fingerabdrucks liegt vor, wenn die Filmdaten einem Dritten
zur Verfügung
gestellt werden und der Geber zuvor eine Markierung in die Filmdaten
einfügt,
sodass der Dritte als empfangende Station ermittelt werden kann.
Wenn so verfahren wurde, kann die Quelle einer Kopie ermittelt werden,
wenn eine illegale Handlung begangen, zum Beispiel eine illegale
Kopie angefertigt wird. Deshalb kann für jede illegale Kopie eine
Gebühr
erhoben werden, wenn die Videodaten illegal weitergegeben werden.
Ferner kann ein verschlüsseltes
Videoerzeugnis mit einer Registrierungsinformation des legalen Besitzers
versehen und entsprechend der Registrierungsinformation ein Fingerabdruck
eingefügt
werden.
-
Wenn
ein Fingerabdruck eingefügt
wird, werden grundsätzlich
sowohl der „Makroblock
mit bidirektionaler Vorhersage" als
auch der „Makroblock
mit Vorwärtsvorhersage
oder der Makroblock mit Rückwärtsvorhersage
mit dem jeweils kleinsten Vorhersagefehler" verwendet, die bei der MPEG-Codierung
erzeugt werden. Dann wird entsprechend einem Dritten als empfangende
Station ein geeigneter Makroblock ausgewählt. Selbst wenn so verfahren
wird, werden keine anderen Einzelbilder oder eine Datenschicht (z.
B. eine Slice Layer) beeinflusst, die über der Makroblockschicht des
entsprechenden Einzelbildes liegt.
-
INDUSTRIELLE ANWENDBARKEIT
-
Gemäß der vorliegenden
Erfindung können
Daten einer Nachricht in einen Film eingefügt werden, ohne den Kompressionsgrad
des Films wesentlich zu beeinflussen und ohne die Bildqualität nennenswert
zu verschlechtern. Da die Daten der Nachricht in einem für den Code
des Films eingefügt
werden, können
die Daten der Nachricht außerdem
nur schwer entfernt werden, ohne die Bildqualität zu verschlechtern. Da der Umfang
der einzufügenden
Information nahezu unabhängig
vom Inhalt der Videodaten ist, können
die Daten einer Nachricht darüber
hinaus wirkungsvoll eingefügt
werden.