-
Anwendungsgebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und eine Anordnung
zum Extrahieren von Zusatzdaten aus einem Informationssignal gemäß den Einleitungen
der Ansprüche
1 und 3.
-
Ein
derartiges Verfahren und eine derartige Anordnung sind in dem Dokument
US-A-5.719.937 beschrieben.
-
Hintergund der Erfindung
-
Es
besteht ein wachsender Bedarf zur Unterbringung von Wasserzeichen
in Audio- und Videosignalen. Wasserzeichen sind zusätzliche
Datenmeldungen, die vorzugsweise auf nicht wahrnehmbare Weise in
Multimediainhalte eingebettet werden. Sie enthalten Informationen,
zum Beispiel über
die Quelle oder den urheberrechtlichen Status von Dokumenten und
audiovisuellen Programmen. Sie können
als rechtlicher Nachweis des Urheberrechtinhabers verwendet werden,
ermöglichen
die Rückverfolgung
von Raubkopien und unterstützen
den Schutz von geistigem Eigentum.
-
Ein
bekanntes Verfahren zum Einbetten von Zusatzdaten in ein Informationssignal
ist unter anderem in der internationalen Patentanmeldung WO-A-98/33324
beschrieben. Gemäß diesem
Verfahren nach dem Stand der Technik wird ein Wasserzeichenmuster
in einem (sigma-) deltamodulierten Audiosignal eingebettet. Das
Wasserzeichen wird in das codierte Audiosignal eingebettet, indem
Bits hiervon modifiziert werden. Zum Beispiel wird jedes 100-te
Bit durch ein Bit des Wasserzeichenmusters ersetzt. Der Schritt
des Modifizierens des codierten Audiosignals erfolgt innerhalb der
Rückkopplungsschleife
des Codierers, um die Auswirkung der Modifikaiton in nachfolgenden
Codierschritten zu kompensieren.
-
Das
Verfahren nach dem Stand der Technik wird für die Aufzeichnung von hochwertigen
Audiodaten auf der Audioversion der Digital Versatile Disk (DVD)
ins Auge gefasst. Es wird eine Abtastfrequenz von 2.822.400 Hz (64·44.100)
verwendet, um einen Störabstand
von 115 dB zu erreichen. Durch Ersetzen jedes 100-ten Bits des sigma-delta-modulierten Audiosignals
durch ein Wasserzeichenbit auf Kosten von nur 1 dB erhöht das Quantisierungsrauschen. Dies
entspricht einer Wasserzeichen-Bitrate von ca. 28.000 Bits pro Sekunde.
-
In
der oben genannten Patentanmeldung WO-A-98/33324 wird auch eine
Anordnung zum Extrahieren des Wasserzeichens beschrieben. Es wird ein
Synchronisierungsbitmuster (im Folgenden abgekürzt Sync.-Muster genannt) in
dem Bitstrom untergebracht, um die Position der zusätzlichen
Datenbits zu kennzeichnen. Die Anordnung umfasst eine Teilerstufe
und einen Sync.-Detektor. Die Teilerstufe teilt die Bitrate durch
die Anzahl der Bits, durch die die Wasserzeichenbits getrennt sind
(z.B. 100, wenn jedes 100-te Bit des Signals ein zusätzliches
Datenbit ist). Der Sync.-Detektor ändert die Phase der Teilerstufe,
bis das Sync.-Muster gefunden ist. Ein derartiger Sync.-Detektor
enthält
ein relativ langes Schieberegister oder einen Seriell-Parallel-Umsetzer,
um einen Teil des Bitstroms zu speichern. Wenn jedes M-te Bit des
Signals ein zusätzliches
Datenbit ist und das Sync.-Muster
N Bits enthält,
muss der Sync.-Detektor notwendigerweise (N – 1) . M + 1 Bits speichern.
-
In
der deutschen Patentanmeldung DE-A-37 17315 wird ein derartiger
bekannter Sync.-Detektor ausführlicher
beschrieben. In dieser Veröffentlichung ist
jedes 15-te Bit eines Signals ein zusätzliches Bit und das Sync.-Muster
ist ein 4-Bit-Wort. In Übereinstimmung
hiermit enthält
das Schieberegister (Seriell-Parallel-Umsetzer 5 in 2 von
DE-A-37 17315) 46 Bits.
-
Um
die Länge
des Schieberegisters zu reduzieren, wird in der nicht veröffentlichten,
gleichzeitig anhängigen
Patentanmeldung PHN 17.148 der Anmelderin vorgeschlagen, den Abstand
zwischen den Sync.-Musterbits erheblich kleiner zu machen als den
Abstand zwischen den Wasserzeichenbits. Diese Lösung beeinträchtigt jedoch
die Codierleistung und erhöht
den Störabstand
des Sigma-Delta-Modulators.
-
In
dem Dokument US-A-5.719.937 wird ein Verfahren zum Einbetten von
Zusatzdaten in ein Informationssignal beschreiben, wobei das Informationssignal
mindestens zwei Signalkanäle
umfasst und das Verfahren den Schritt des Einbettens der gleichen
Zusatzdatenabtastwerte an übereinstimmenden
Positionen der genannten Kanäle
umfasst.
-
Zusammenfassung der Erfindung
-
Die
Erfindung hat zur Aufgabe, ein Verfahren zum Extrahieren der Zusatzdaten
aus einem derartigen Informationssignal zu schaffen und ist durch
die Merkmale des beschreibenden Teils von Anspruch 1 gekennzeichnet.
-
Die
erfindungsgemäße Anordnung
ist durch das Merkmal des beschreibenden Teils von Anspruch 3 gekennzeichnet.
-
Kurze Beschreibung der
Zeichnungen
-
1 zeigt
ein schematisches Diagramm einer bevorzugten Ausführungsform
einer erfindungsgemäßen Anordnung
zum Einbetten von Zusatzdaten in ein sigma-delta-moduliertes Audiosignal;
-
die 2 und 3 zeigen
Signalformen zur Veranschaulichung der Funktion der in 1 dargestellten
Sigma-Delta-Modulatoren;
-
4 zeigt
Signalformen zur Veranschaulichung der Funktion der erfindungsgemäßen Anordnung
zum Einbetten von Zusatzdaten in ein Signal;
-
5 zeigt
ein schematisches Diagramm einer Ausführungsform einer Anordnung
zum Extrahieren der Zusatzdaten aus einem Signal;
-
6 zeigt
einen Ablaufplan der Verfahrensschritte zur Veranschaulichung einer
Ausführungsform
eines Verfahrens zum Extrahieren der Zusatzdaten aus einem Signal.
-
Beschreibung einer bevorzugten
Ausführungsform
-
Die
Erfindung wird unter Bezugnahme auf 1 beschrieben,
die ein schematisches Diagramm einer bevorzugten Ausführungsform
einer erfindungsgemäßen Anordnung
zum Einbetten von Zusatzdaten in ein sigma-delta-moduliertes Audiosignal zeigt.
Die Anordnung empfängt
ein Stereo-Audiosignal mit einem linken Kanalsignal x1 und
einem rechten Kanalsignal x2. Die Die Kanäle x1 und x2 werden herkömmlichen
Sigma-Delta-Modulatoren 1 bzw. 2 zugeführt. Beide
Sigma-Delta-Modulatoren sind identisch, so dass nur einer von ihnen
beschrieben wird.
-
Der
Sigma-Delta-Modulator 1 umfasst ein Subtrahierglied 11,
einen Schleifenfilter 12, einen Polaritätsdetektor 13 und
einen Rückkopplungspfad 14. Das
Subtrahierglied 11 subtrahiert das codierte Ausgangssignal
z1 (mit einem Pegel von +1 V oder –1 V) von
dem Eingangssignal x1. Der Schleifenfilter 12 filtert
das Differenzsignal. Das gefilterte Signal wird dem Polaritätsdetektor 13 zugeführt, der
mit einer durch eine Abtastfrequenz fs bestimmten
Rate ein codiertes Signal y1 mit dem Bitwert „1" (+1 V) oder "0" (–1
V) erzeugt.
-
2 zeigt
Signalformen zur Erläuterung der
Funktion des herkömmlichen Sigma-Delta-Modulators.
Insbesondere zeigt die Figur ein Eingangssignal x und das codierte
Signal y. Der Sigma-Delta-Modulator erzeugt umso mehr positive Abtastwerte,
je größer das
Eingangssignal wird. Wie in der Abbildung zu sehen, wird eine Eingangsspannung
von –0,5
V als eine Bitfolge 0001 (drei –1
V Impulse und ein +1 V Impuls) codiert, eine Eingangsspannung von 0
V wird als ein hochfrequentes Bitmuster 01010 (abwechselnd –1 V und
+1 V Impulse) codiert, und eine Eingangsspannung von +0,5 V wird
als Bitfolge 1110 (drei +1 V Impulse und ein –1 V Impuls) codiert.
-
Das
codierte Signal wird auf der Empfangsseite decodiert, indem die
empfangenen Impulse umgeformt und durch einen Tiefpassfilter geleitet
werden. In diesem vereinfachten Beispiel wird davon ausgegangen,
dass das codierte Signal demoduliert wird, indem 13 Abtastwerte
des Signals gemittelt werden. Das demodulierte Signal x' ist ebenfalls in 2 dargestellt,
abgesehen von einer durch die genannte Tiefpassfilterung verursachten
Zeitverzögerung.
In der Figur ist das demodulierte Signal x' also zeitlich auf das Eingangssignal
x ausgerichtet.
-
Zwischen
den Polaritätsdetektor 13 und
den Rückkopplungspfad 14 der
betreffenden Sigma-Delta-Modulatoren sind Modifikationsschaltungen 3 und 4 geschaltet.
In Reaktion auf ein Steuersignal c von einer Steuerschaltung 5 ersetzen
die Modifikationsschaltungen (Multiplexer) jedes M-te Bit der codierten
Signals y1 und y2 durch
ein Wasserzeichenbit w. Die modifizierten codierten Signals z1 und z2 werden durch
einen Multiplexer 6 kombiniert, um einen einzelnen Bitstrom
zur Übertragung
an einen Empfänger
oder zur Aufzeichnung auf einem Speichermedium zu bilden. Die Wasserzeichenmeldung
W wird in einem Register 501 der Steuerschaltung 5 gespeichert.
Es ist unbedingt zu beachten, dass das gleiche Wasserzeichen W beiden
Modifikationsschaltungen 3 und 4 zugeführt wird.
-
3 zeigt
Signalformen zur Erläuterung der
Funktion des Sigma-Delta-Modulators,
wenn die jeweilige Modifikationsschaltung aktiv ist. Die Figur zeigt
das gleiche Eingangssignal x wie in 2 abgebildet
und das modifizierte codierte Signal z. In dem Beispiel wurde ein „–1"-Abtastwert 20 (2) des
codierten Signals y durch einen „+1"-Abtastwert 30 ersetzt, um
ein Wasserzeichenbit w = 1 darzustellen. Da die Modifikation an
den Eingang zurückgemeldet
wird, wird der nachteilige Effekt der Modifikation anschließend durch
die Codierstufe kompensiert. Auf diese Weise weicht ein Teil des
Ausgangssignals z, der unmittelbar auf das Zusatzdatenbit 30 folgt,
von dem entsprechenden Teil aus 2 ab. In Übereinstimmung
hiermit unterscheidet sich auch das demodulierte Signal x' in 3 zeitlich
von dem gleichen Signal in 2. Es ist
zu beachten, dass sich der Unterschied aufgrund der zeitlichen Ausrichtung
in den Figuren bereits zeigt, bevor das Zusatzdatenbit eingebettet
wird.
-
Wie
aus einem Vergleich der 2 und 3 hervorgeht,
ist der Unterschied in der Praxis kaum wahrnehmbar. Ein Sigma-Delta-Modulator
zur Codierung von hochwertigen Audiosignalen mit einer Abtastfrequenz
von fs = 2.822.400 Hz (64·44.100)
hat einen Störabstand
von 115 dB. Es hat sich auch gezeigt, dass das Quantisierungsrauschen
durch das Ersetzen von 1 Abtastwert auf 100 Abtastwerte um nur 1
dB zunimmt.
-
4 zeigt
ein vereinfachtes Beispiel eines Mehrkanal-Audio-Bitstroms, der
durch die in 1 dargestellte Anordnung erzeugt
wurde. In diesem einfachen Beispiel ist jedes 10-te Bit der Kanalbitströme z1 und z2 ein Zusatzdatenbit.
Die eingebetteten Wasserzeichendatenbits w sind in der Figur schattiert dargestellt.
Sie sind in beiden Kanälen
gleich. Die codierten Signalbits sind im Allgemeinen nicht die gleichen.
Dies gilt selbst in der Praxis, wenn das Audiosignal ein Monosignal
ist. Die Bitpositionen m innerhalb jeder Reihe von M Bits sind von
0... M – 1
nummeriert.
-
Es
ist zu beachten, dass die Aufgabe einer Empfängeranordnung darin besteht,
die Bitposition der Zusatzdatenbits (m = 2 in 4)
zu identifizieren. Dies erfolgt, indem die Bitpositionen des Mehrkanal-Bitstroms
gesucht werden, an denen die Signalabtastwerte z1 und
z2 identisch sind. Ist diese Aufgabe einmal
formuliert, lässt
sich eine Anordnung zur Suche nach diesen Bitpositionen auf einfache
Weise durch einen Fachmann entwerfen. Zur Veranschaulichung werden
im Folgenden zwei Ausführungsbeispiele
beschrieben.
-
5 zeigt
ein schematisches Diagramm einer Hardware-Implementierung einer
Anordnung zum Extrahieren der Zusatzdaten aus dem Bitstrom z, der
durch den in 1 dargestellten Codierer erzeugt
wird. Die Anordnung umfasst einen Demultiplexer 50 zum
Demultiplexen des Audio-Bitstroms z in den Bitstrom z1,
der den linken Audiokanal darstellt, und den Bitstrom z2,
der den rechten Audiokanal darstellt. Die Anordnung umfasst weiter
einen Teile-durch-M-Zähler 51.
Jede M-te Bitperiode erzeugt der genannte Zähler einen Zeitsteuerungsimpuls,
der eine getestete aktuelle Bitposition m (m = 0 ... M – 1) darstellt.
Die Bitströme
z1 und z2 werden
einem Komparator 52 zugeführt. In Reaktion auf den Zeitsteuerungsimpuls
m erzeugt der Komparator einen Impuls EQ, wenn die aktuell zugeführten Bits
die gleichen sind, oder einen Impuls NQ, wenn sie unterschiedlich sind.
-
Wenn
die Bits die gleichen sind, handelt es sich um potenzielle Wasserzeichenbits.
In diesem Fall wird das potenzielle Wasserzeichenbit z2 (oder z1) in Reaktion auf den EQ-Impuls in ein Schieberegister 53 geschoben.
Der nächste
Zeitsteuerungsimpuls tritt jetzt M Bitperioden später auf.
Solange wie jedes M-te Bit von z1 und das
entsprechende Bit von z2 identisch sind,
wird auf diese Weise dieses spezielle Bit in das Schieberegister
geschoben. Sind die Bits nicht die gleichen, erzeugt der Komparator 52 den
Impuls NQ. Dieser Impuls wird einem Schiebeeingang S des Zählers 51 zugeführt, um
die Phase dieses Teile-durch-M-Zählers
um eine Bitperiode zu verschieben. Der Impuls NQ wird einem Löscheingang
C des Schieberegisters 53 zugeführt, um das Register zu löschen.
-
Die
in
5 dargestellte Anordnung ist einfach und kosteneffizient,
hat aber den Nachteil, dass relativ lange gewartet werden muss,
bis davon ausgegangen werden kann, dass die Wasserzeichenbitposition
gefunden wurde, und dass die Wasserzeichenmeldung nicht vollständig von
Anfang an erfasst wurde. Die vermutlich abzuwartende Zeit, bis die
Anordnung die Wassermarkenbitposition gefunden hat, hängt von
der Anzahl der Bits (M) ab, durch die die Wasserzeichenbits voneinander
getrennt sind, und von der Wahrscheinlichkeit (p), dass die Bits
in beiden Kanälen
identisch sind (p ≈ ½ bei sigma-delta-modulierten Audiosignalen).
Die vermutliche Zeitspanne bis zum Erkennen einer falschen Verriegelung
ist:
-
Die
mittlere Zeitspanne zum Erkennen der Wasserzeichenbitposition ist:
-
Bei
Verwendung einer Anzahl paralleler Detektionsschaltungen, die jede
eine verschobene Sequenz von potenziellen Wasserzeichenbits verarbeiten,
kann die Erkennung und Extraktion des Wasserzeichens beschleunigt
werden.
-
Die
Erkennung und Extraktion des Wasserzeichens kann auch durch einen
Mikroprozessor durchgeführt
werden, in den ein geeignetes Softwareprogramm geladen wurde. 6 zeigt
einen Ablaufplan der Verfahrensschritte, die von einem derartigen
Mikroprozessor in Übereinstimmung
mit einer weiteren Ausführungsform
der Anordnung ausgeführt
werden. Wieder wird angenommen, dass jedes M-te Bit jedes Kanalbitstroms
ein Wasserzeichenbit ist.
-
Der
Mikroprozessor verwendet für
jede Bitposition m (m = 0 ... M – 1, siehe 4)
ein Matrixelement R(m) zum anzugeben, ob ein potenzielles Wasserzeichenbit
an der genannten Bitposition erkannt wurde (R(m) = 1) oder nicht
(R(m) = 0). In einem ersten Schritt 60 des Programms erhalten
alle Matrixelemente R(0) ... R(M – 1) anfangs den Wert 1. In
einem Schritt 61 erhält
die getestete Bitposition m einen Anfangswert 0. Das Programm wartet
dann auf den Empfang eines neuen Bits von den Kanalbitströmen z1 und z2. In einem
Schritt 62 werden beide Bits verglichen. Wenn sie identisch
sind, wird ein optionaler Schritt 63 ausgeführt, der
später
beschrieben wird. Das entsprechende Matrixelement R(m) bleibt unbeeinflusst.
Sind die Kanalbits nicht identisch, erhält das entsprechende Matrixelement
R(m) den Wert 0 (Schritt 64), um anzugeben, dass die aktuelle Bitposition
m definitiv nicht die gesuchte Wasserzeichenbitposition ist. In
einem Schritt 65 wird die Bitposition inkrementiert. In
Schritt 66 wird geprüft,
ob die inkrementierte Bitposition immer noch im Bereich von 0 bis
M-1 liegt. Ist dies der Fall, kehrt das Programm zu Schritt 62 zurück, um die
nächste
Bitposition zu testen. Ist dies nicht der Fall, führt das
Programm erst einen optionalen Schritt 67 aus, der später beschrieben
wird, und kehrt dann zu Schritt 61 zurück (in dem die Bitpositionszahl
m rückgestellt
wird), um die nächste
Reihe von M Kanalbits zu testen.
-
Nachdem
die erste Reihe von M Kanalbits auf diese Weise verarbeitet wurde,
hat sich bereits gezeigt, dass eine Anzahl von Bitpositionen keine Wasserzeichenbitpositionen
sind. Bezug nehmend auf das in 4 gezeigte
Beispiel gilt dies für
die Bitpositionen 1, 5 und 7. Die entsprechenden Matrixelemente
R(1), R(5) und R(7) haben jetzt den Wert 0 erhalten und werden nicht
weiter modifiziert, selbst wenn die Bits an den genannten Positionen
später gleich
sein werden.
-
Bei
jeder Verarbeitung einer Reihe von M Kanalbits wird eine weitere
Anzahl von Bitpositionen als mögliche
Wasserzeichenbitpositionen ausgeschlossen. In dem in 4 dargestellten
Beispiel werden in dem zweiten Durchgang die Bitpositionen 0, 4,
8 und 9 ausgeschlossen, in dem dritten Durchgang wird die Bitposition
6 ausgeschlossen und in dem vierten Durchgang wird schließlich die
Bitposition 3 ausgeschlossen. Die Anordnung hat jetzt in diesem
einfachen Beispiel die Wasserzeichenbitposition m = 2 gefunden.
-
Das
in 6 dargestellte Verfahren hat die Wasserzeichenbitposition
m erkannt, sobald ein Matrixelement R(m) den Wert 1 hatte und alle
anderen Matrixelemente den Wert 0 hatten. Um dies kenntlich zu machen,
umfasst das Programm weiterhin den Verarbeitungsschritt 67,
bei dem geprüft
wird, ob die Summe aller Matrixelemente 1 ist.
-
Der
Verarbeitungsschritt 67 kann sich an unterschiedlichen
Stellen des Programms befinden. In diesem Beispiel wird der Test
durchgeführt,
wenn die Bitposition m den Wert M angenommen hat, d.h. sobald eine
Reihe von M in Frage kommenden Bitpositionen verarbeitet worden
ist.
-
Die
Erfassung der Wasserzeichendatenmeldung kann aufgeschoben werden,
bis die Wasserzeichenbitposition gefunden wurde. Es ist jedoch möglich, die
Wasserzeichenmeldung zu erfassen, während die Suche nach ihrer
Position läuft.
Zu diesem Zweck enthält
die Anordnung eine weitere Matrix W, in der jede bis dahin empfangene
mögliche
Wasserzeichenmeldung erfasst wird. Hierfür enthält das in 6 dargestellte
Programm den Schritt 63, in dem das empfangene Wasserzeichenbit
w zu der aktuell empfangenen Meldung hinzugefügt wird. Sobald die Wasserzeichenbitposition
m gefunden wurde, hat das entsprechende Matrixelement W(m) bereits
die bis dahin empfangene Wasserzeichenmeldung erfasst.
-
Es
ist zu beachten, dass die Anordnung zum Erkennen der Wasserzeichenbitpositionen
weiter erweitert werden kann, um zu prüfen, ob eine versehentliche
Verschiebung in einem der Kanäle
aufgetreten ist. Wenn zum Beispiel das Wasserzeichen in drei oder
mehr Kanäle
eingebettet ist, kann die Anordnung so ausgelegt werden, dass sie
nach dem Versatz von einem der Kanäle sucht. Oder die Anordnung
wird so ausgelegt, dass sie absichtlich eine Verschiebung in einen
der Kanäle
einführt,
wenn das Wasserzeichen nicht in einem vorgegebenen Signalabschnitt
oder innerhalb einer vorgegebenen Zeitspanne identifiziert wurde.
-
Obwohl
die Erfindung unter Bezugnahme auf ein sigma-delta-moduliertes (Eins-Bit-codiert)
Zweikanal-Audiosignal beschrieben wurde, ist sie nicht auf Audio-
oder Eins-Bit-codierte Signale beschränkt. Es kann sich bei den Signalabtastwerten
um Mehrbit-Abtastwerte
(z.B. PCM-Abtastwerte) handeln, wobei das Wasserzeichen in ein oder
mehrere niedrigerwertige Bits der genannten Abtastwerte eingebettet
wird. Der Codieralgorithmus ist irrelevant (es kann sich zum Beispiel
um eine Pulscodemodulation handeln), und es ist auch nicht erforderlich,
dass der Schritt des Einbettens der Zusatzdaten innerhalb der Rückkopplungsschleife
eines Codierers ausgeführt wird.
Das wesentliche Merkmal dieser Erfindung besteht darin, dass die
gleichen Zusatzdatenabtastwerte an übereinstimmenden Positionen
von zwei oder mehr Kanälen
eines Mehrkanal-Informationssignals eingebettet werden.
-
Zusammengefasst
werden ein Verfahren und eine Anordnung zum Einbetten von Zusatzdaten in
ein Informationssignal wie ein sigma-delta-moduliertes Audiosignal
beschrieben. Das codierte Signal umfasst zwei oder mehr Kanäle, z.B.
einen linken Kanalbitstrom (z1) und einen
rechten Kanalbitstrom (z2). Die gleichen
Zusatzdaten (w) sind an übereinstimmenden
vorgegebenen Bitpositionen, z.B. an jeder M-ten Bitposition, der
Bitströme
untergebracht. Dies ermöglicht
die Erkennung und Extraktion der Zusatzdaten ohne dass ein Sync.-Muster
in dem Signal untergebracht werden muss. Auf der Empfangsseite wird
eine Sequenz der M-ten Bits aus dem ersten Kanal mit einer entsprechenden
Sequenz der M-ten Bits aus dem zweiten Kanal verglichen. Sind sie
identisch, ist die Sequenz eventuell eine Zusatzdatensequenz. Dies
wird für
verschiedene Sequenzpositionen (m) durchgeführt, bis die Zusatzdaten gefunden wurden.