-
HINTERGRUND
UND ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf Systeme zum
Verstecken von Daten in Medien und genauer auf ein System zum Multilagen-Daten-Verstecken
in Multimediasignalen.
-
Mit
der zunehmenden Verbreitung des elektronischen Handels gab es einen
entsprechenden Zuwachs der elektronischen Kopiertechnologie. Digitale
Kopiertechnologie wie DVD-R, DVD-RW,
CD-R und CD-RW ist jetzt verbreitet verfügbar. Das Sicherstellen des
Schutzes von elektronischen Medien vor unberechtigtem Kopieren und
Modifizieren wird anhaltend wichtiger, während elektronischer Handel
damit fortfährt,
sich in jedem Bereich der nationalen Wirtschaft zu verbreiten. Elektronische
Netze wie das Internet sind jetzt ein allgemeines Medium zur Wirtschaftsausübung der
Nationen geworden, einschließlich
Aktivitäten
wie dem Verkauf von verschiedenen Formen von Multimediaprodukten.
Beispiele für
Multimediaprodukte, die über
das Internet gekauft werden können,
schließen
Video- und Tonzusammenstellungen wie auch Bilder ein. Auch die bloße Verteilung
von Multimediaprodukten in einem digitalen Format wie CD-ROM und
DVD-Discs setzt das Produkt einem eventuellen Kopieren aus. In einem Versuch,
den sicheren Vertrieb von Multimediaprodukten sicherzustellen, werden
Inhaltsschutzmechanismen zunehmend verwendet.
-
Daten
verstecken ist eine Form des Inhaltsschutzes, die manchmal zur Kopierkontrolle
und zum Copyright-Schutz eingesetzt wird. Das Einbetten von passiven
Daten wie eines Was serzeichens in ein Trägersignal in einem einzigen
Durchgang ist ein Beispiel des Daten-Versteckens. Ein eingebettetes
Wasserzeichen ist typischerweise dazu bestimmt, Copyright-Kontrolle und Zugangskontrolle
für das
Multimediaprodukt bereitzustellen. Unglücklicherweise leiden die aktuellen
Formen des Daten-Versteckens an zahlreichen Nachteilen, die die
Effektivität
des beabsichtigten Schutzes reduzieren und manchmal die Schutztechnik
für Anwendungen
im echten Leben nicht gebrauchbar machen.
-
Konventionelle
Einzeldurchgangs-Techniken des Einbettens einer Lage von versteckten
Daten in ein Trägersignal
zum Kontrollieren der Verwendung des Trägersignals führen im
Allgemeinen zu einem inkonsistenten Schutz. In einigen Situationen
wird nach einem unautorisierten Kopieren der Trägerdaten ein falsches positives
Signal empfangen, das anzeigt, dass die raubkopierte Kopie ein autorisiertes Produkt
ist. Außerdem
können
Einzeldurchgangs-/Einfachlagen-Techniken nur (und meistens lediglich
teilweise) einen einzelnen Zweck erfüllen wie Eigentumsschutz, Zugangskontrolle
und Kommentierung. Zusätzlich
ist die Kontrollierbarkeit der eingebetteten versteckten Daten im
Allgemeinen nicht möglich.
Unter Berücksichtigung
der Kapazität sind
bekannte Einzeldurchgangs-/ Einfachlagen-Techniken allgemein lediglich
für den
idealen Fall gut, wie dann, wenn Bilder die gleiche Größe aufweisen
und wenn die gleiche Menge von Daten in jeden Frame von Videodaten
eingebettet wird. "Mutli-Level
Data Hiding for Digital Image and Video" (von M Wu, H H Yu und A Gelman, Proceedings
of the SPIE, The International Society for Optical Engineering (USA),
Vol. 3845, November 1999, Seiten 10–21) offenbart ein Dateneinbetten
in einem digitalen Bild mit zwei verschiedenen Kategorien von Schemata.
Die Schemata werden als "Beziehungs-Erzwingungs-Schemata" ("relationship enforcement
scheme") bezeichnet,
von dem ein Ungerade-Gerade- Einbetten
ein Beispiel ist, und als "Einlegschemata" ("insertional scheme") bezeichnet, für das ein
Breitspektrum-Wasserzeichen-Markieren repräsentativ
ist.
-
EP 0 903 943 bezieht sich
auf eine Vorrichtung zur Überlagerung
eines digitalen Wasserzeichens über
ein Informationsdatensignal für
jeden Einheitsblock bestehend aus einer Gruppe von Teilen von Informationsdaten.
Die Vorrichtung bettet eine zweite digitale Wasserzeicheninformation
in die Informationsdaten ein, die Informationen zum Identifizieren
der Position der Einheitsblöcke
in dem Informationsdatensignal enthalten.
-
"If One Watermark
Is Good, Are More Better?" (von
F Mintzer und G W Braudaway, 1999 IEEE International Conference
on Acoustics, Speech, and Signal Processing, Phoenix, AZ, 15. bis
19. März 1999.
IEEE International Conference on Acoustics, Speech, and Signal Processing
(ICASSP), New York, NY: IEEE, US, Vol. 6, 1999, Seiten 2067–2069) diskutiert
das Einbetten von mehreren Wasserzeichen in ein Bild und lehrt,
das robusteste Wasserzeichen zuerst einzubetten und das empfindlichste
Wasserzeichen zuletzt.
-
Das
vorliegende Daten-Verstecksystem und -verfahren bietet ein Verfahren
zum Einbetten mehrerer Lagen von versteckten Daten in Tondaten.
Zuerst wird eine Medieneinheit der Tondaten ausgewertet. Dann wird
während
eines ersten Einbett-Durchgangs eine
bestimmende Lage ("ruling
layer") von primären versteckten
Daten in die Medieneinheit eingebettet. In einem anderen Einbett-Durchgang
wird eine verwaltende Lage ("governing
layer") von sekundären versteckten
Daten auf der bestimmenden Lage eingebettet. Die sekundären versteckten
Daten bieten Kontrollinformationen zum Kontrollieren der primären versteckten
Daten und der Tondaten.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Flussdiagramm eines Multilagen-Daten-Verstecksystems, das die Prinzipien
der vorliegenden Erfindung verwendet;
-
2 ist
eine Blockdiagramm-Illustration einer Ausführungsform eines Daten-Verstecksystems;
-
3 ist
ein Flussdiagramm eines Verfahrens des Daten-Versteckens;
-
4 ist
ein Diagramm von singulären
Punkten; und
-
5 ist
ein Diagramm einer Wahrnehmungsmaske.
-
DETAILLIERTE
BESCHREIBUNG
-
Obwohl
im Folgenden Merkmale des Multilagen-Daten-Versteckens beschrieben
werden in Bezug auf Multimediadaten im Allgemeinen, wie Frames von
Video oder Ton und Bildern, bezieht sich die Erfindung lediglich
auf ein Verfahren zum Multilagen-Daten-Verstecken
in einem Tonsignal wie in dem unabhängigen Anspruch 1 definiert.
-
In 1 ist
ein beispielhaftes Multilagen-Daten-Verstecksystem 10 gezeigt.
Ein Daten-Verstecken wird als Einführen eines bedeutenden und
extrahierbaren, aber in der Wahrnehmung unsichtbaren oder nicht
hörbaren
Signals in ein Trägersignal
definiert. Beispielsweise ein Einbetten eines Wasserzeichens in
ein Frame von Videodaten. Während
eines ersten Durchgangs werden primäre versteckte Daten 12 in
ein Trägerdaten-beinhaltendes
Trägersignal 14 eingebettet.
Die primären
versteckten Daten bestehen aus passiven Daten wie einem Wasserzeichen oder
aktiven Daten wie einem Programm oder einem Java-Applet. Die Trägerdaten
sind Multimediadaten wie ein digitales Video, digitaler Ton und
Bilder. Während
eines nachfolgenden Durchgangs werden sekundäre versteckte Daten 16 über der
Lage eingebettet, welche die primären versteckten Daten enthält, was
ein eingebettetes Datensignal 18 ergibt. Die sekundären versteckten
Daten sind vorzugsweise Kontrollinformationen wie Fehlerkorrekturdaten,
Authentizitätsdaten,
Identifikationsdaten, Zugangskontrolldaten, Schlüssel, Managementregeln und
Synchronisationsdaten zum Kontrollieren der primären versteckten Daten wie auch
der Trägerdaten.
Ein Einbetten von Nichtkontrolldaten während des zweiten Durchgangs
ist jedoch auch vorgesehen, beispielsweise wenn die Daten der zweiten
Lage ein robusteres Einbettschemata benötigen als die erste Lage. Die
Lagen der sekundären
versteckten Daten sind vorzugsweise mit einer Einbetttechnik eingebettet,
so dass die Lage von Daten orthogonal zu vorherigen Lagen ist. Durch
Sicherstellen, dass die Datenlagen nicht überlappend sind, wird eine
Interferenz zwischen eingelagerten Bits vermieden. Es wird darauf hingewiesen,
dass, obwohl die Orthogonalität
die optimale Wahl in den meisten Fällen sein kann, die Lagen auch
nicht orthogonal in einigen Anwendungen sein können, solange wie die Rate
falscher Extraktion innerhalb eines tolerierbaren Grenzwertes ist. Schließlich wird
während
des Dekodierens der eingebetteten Daten die versteckte Information
extrahiert und für
Zwecke wie Informationsabfrage, Copyright-Schutz und Betrugsverfolgung
verwendet.
-
Obwohl
das obige Beispiel ein sequenzielles Multidurchgangs-Einbettsystem verwendet,
ist es möglich,
ein nicht sequenzielles Multidurchgangssystem zu verwenden, um die
Multilagen-Daten-Verstecksysteme zu implementieren. Beispielsweise können Fehlerkorrekturbits
simultan mit den Authentifikati onsbits versteckt werden oder die
Zugangskontrollbits können
mit Identifikationsbits in einem anderen Fall in dem gleichen Durchgang
versteckt werden.
-
Es
gibt zahlreiche Einbetttechniken zum Sicherstellen von multi-orthogonaler
Dateneinbettung wie die Verwendung von orthogonalen Merkmalen, die
aus der gleichen Domäne
extrahiert sind, wie ein Frame, orthogonale Subbänder, orthogonale Frames und
orthogonale Einbettdomänen.
Durch ein Einbetten der Datenlagen mit orthogonalen Merkmalen wird eine
Interferenz zwischen Lagen von eingebetteten Bits vermieden.
-
Multi-Level-Daten-Verstecktechniken
auf individuellen Datenlagen können
auch verwendet werden. Mutli-Level-Daten-Verstecktechniken schließen ein
Auswählen
eines Einbettschemas für
eine Datenlage ein, basierend auf der Quantität an Verzerrung, der die Datenlage
ausgesetzt ist. Multi-Level-Daten-Verstecken
beginnt mit einem Klassifizieren der verfügbaren Einbettschemata in Kategorien
basierend darauf, ob ein Wissen über
die originalen Trägerdaten
die Erfassungs-Performance
verbessern wird. Basierend auf diesem Kriterium können viele existierende
Einbettansätze
entweder als Einfügeschemata
oder als Beziehungs-Erzwingungs-Schemata kategorisiert werden. Bei
Einfügeschemata wird
die Information der sekundären
Daten, möglicherweise
moduliert und/oder kodiert, in das Trägersignal entweder durch einen
additiven Prozess oder durch einen multiplikativen Prozess eingefügt. Breitspektrumeinbetten
ist ein Beispiel für
ein Einfügeschema.
Bei Beziehungs-Erzwingungs-Schemata wird der Signalraum in Untersätze partitioniert
und jeder Satz wird einem Wert der sekundären Daten zugeordnet. Die Zuordnung
kann eine Zuordnung von entweder einer Trägerkomponente oder einer Kombination
von Trägerkomponenten
zu einem sekundären
Datenwert sein. Ungerade-Gerade-Einbettung ist ein Beispiel eines
Beziehungs- Erzwingungs-Schemas.
Danach wird die Quantität
der erwarteten Datenverzerrung bestimmt. Dann wird das Einbettungs-Schema
basierend auf der erwarteten Quantität an Verzerrung ausgewählt. Die
Daten werden dann in dem Signal unter Verwendung des Einbettungs-Schemas
versteckt, das für
die Quantität
an erwarteter Verzerrung geeignet ist. Als ein Beispiel wird eine
Breitspektrum-Einbettung bei Bandmittenkoeffizienten angewendet,
um eine hohe Robustheit mit niedriger Kapazität zu erreichen und eine Beziehungs-Erzwingung
bei niederfrequenten Koeffizienten angewendet, um eine hohe Kapazität mit nur
mäßiger Robustheit
zu erzielen.
-
Um
den Betrieb des Daten-Versteckverfahrens weiter zu illustrieren,
wird eine Serie von Szenarien beschrieben, bei denen das Verfahren
verwendet wird. Im Szenario 1, einem Hochkapazitätsszenario, wird ein aktiver
Agent ("Active Agent") nicht wahrnehmbar
in ein Lied von zwei Minuten Dauer eingebettet. Da ein Applet oder
ein ausführbares
File allgemein zumindest 500 Bytes aufweist, was einer 34-bps-Daten-Versteckbitrate
entspricht, wird eine hohe Daten-Versteckbitrate benötigt. Ein
Weg, um die benötigte
Bitrate zu erzielen, ist, die aktiven Daten in der primären versteckten
Datenlage unter Verwendung eines Basisdomäneneinbett-Schemas zu verstecken.
Zusätzlich
werden Kontrolldaten wie Authentizitätsbits, Fehlerkorrekturbits,
Synchronisationsbits und ein Benutzerdekodierschlüssel in
den sekundären
Datenlagen unter Verwendung einer Spektrumdomäneneinbettung eingebettet.
Die Basisdomäneneinbettung
wird für
die primäre
versteckte Datenlage verwendet, da es eine wesentlich bessere Dekodierperformance
in Bezug auf die Geschwindigkeit hat als die Spektrumdomäneneinbettung.
Die Spektrumdomäneneinbettung
wird für
die sekundären
versteckten Datenlagen verwendet, da sie eine höhere Überlebensfähigkeit bei Kompression aufweist
als die Basisdomäneneinbettung
und bei der relativ niedrigen Anzahl an Kontroll bits ist der Unterschied
bei der Kodier-/Dekodier-Geschwindigkeit nicht signifikant. Die
Kontrollbits wie die Fehlerkorrekturbits unterstützen die korrekte Extraktion
der aktiven Daten. Mit Hilfe der zusätzlichen versteckten Kontrollinformation
ist der Detektor besser in der Lage, anzugeben, ob Fehler in den übertragenen
versteckten aktiven Daten vorhanden sind und weiterhin die Fehler
zu korrigieren. Zusätzlich
helfen die Synchronisationsdaten beim Anordnen der Daten für eine akkuratere
Extraktion. Ein höherer
Grad an Robustheit wird auf diese Weise erreicht.
-
Im
Szenario 2 werden Lagen, die Texte eines Songs wie auch Playback-Kontrollinformationen
enthalten, in das Trägersignal,
den Song, eingebettet. Zusätzlich
werden Fehlerkorrekturschlüssel
und Identifikationsdatenlagen eingebettet, um die Extraktion sowohl
der versteckten Texte als auch der Playback-Kontrollbits zu unterstützen. Die
Texte werden als bestimmende Lage unter Verwendung der Basisdomäneneinbettung
eingebettet. Die drei Kontrolllagen werden als verwaltende Lagen
auch unter Verwendung der Basisdomäneneinbettung eingebettet.
-
In
einem dritten Szenario wird lediglich Copyright-Information in das
Trägersignal,
den Song, eingebettet. In diesem Szenario ist die wichtigste Anforderung,
dass die versteckten Daten so robust wie möglich sind, d.h. sie mit gewöhnlichen
Signalverarbeitungstechniken extrahierbar zu machen und sie vor
absichtlichen Attacken zu schützen.
Daher werden die Copyright-Daten als primäre versteckte Daten in einer
bestimmenden Lage unter Verwendung der Spektrumdomäneneinbettung
eingebettet und die Authentizitätsdaten
werden in die Basisdomäne als
sekundäre
versteckte Daten in eine Verwaltungslage einbettet, die in den Song
einbettet ist. Die sekundären
versteckten Daten erlauben es, die Authentizität der versteckten Copyright-Information
zu überprüfen, um
sicher zu stellen, dass nicht ein falsches Wasserzeichen in das
Medium eingefügt
wurde.
-
In
einem anderen Szenario werden die primären versteckten Daten (wie
ein aktiver Datenstrom) verschlüsselt
und dann in das Trägersignal eingebettet.
In dem Fall, bei dem der Entschlüsselungs-Schlüssel simultan
mit den primären
versteckten Daten übermittelt
werden muss, wird der Schlüssel
in einer sekundären
versteckten Datenlage versteckt. Hierbei wird der Schlüssel auch
verschlüsselt, um
einen sicheren Zugang sicher zu stellen und wird daher in einer
robusteren Region versteckt.
-
Ein
anderes Szenario ist, dass nur Zugangskontrollbits benötigt werden.
In diesem Fall ist es wünschenswert,
die Zugangskontrollbits so robust wie möglich zu verstecken. Ein robuster
Daten-Versteck-Algorithmus wird zum Einbetten der Zugangskontrollbits
ausgewählt.
Ein Breitspektrum-Schema wird verwendet, um die Zugangskontrolldaten
mit einigen Fehlerkorrektur- und anderen Kontroll-Bits gekoppelt
mit den Zugangskontrolldaten (primären versteckten Daten) in der
Spektrumdomäne
zu verstecken. Auf diese Weise wird eine maximale Robustheit der
Zugangskontrollbits sichergestellt.
-
In 2 ist
ein exemplarisches Multi-Lagen-Daten-Verstecksystem 20 gezeigt.
Das Daten-Versteck-System 20 schließt einen Merkmalsextrahierer 22 zur
Auswertung von Merkmalen innerhalb von Medieneinheiten der Trägerdaten 24 ein,
die ein Trägersignal
umfassen. Bei einem digitalen Videosignal schließt eine Mediaeinheit einen
einzelnen Frame von Daten wie auch mehrere Frames von Daten ein.
Innerhalb der Mediaeinheit sind Merkmale wie Objekte, Textregionen
und Hintergrund. Ein Bitstrom-Generator konvertiert primär versteckte Daten in
einen Bitstrom, der an einen Bestimmende-Lage-Kodierer 28 ("Ruling Layer Encoder") angeschlossen ist.
Der Bestimmende-Lage-Kodierer 28 bettet eine bestimmende
Lage des Bitstroms von primären versteckten
Daten in die Trägerdaten 24 ein.
Die primären
versteckten Daten sind auch mit einem Kontrolldaten-Generator verbunden,
der sekundäre
versteckte Kontrolldaten generiert, die Kontrollinformationen enthalten.
Der Kontrolldaten-Generator 30 empfängt zusätzlich zu den primären versteckten
Daten auch Daten von dem Bestimmende-Lage-Kodierer. Die sekundären versteckten
Daten werden von dem Kontrolldatengenerator an einen Verwaltende-Lage-Kodierer 32 gesendet,
um in die Trägerdaten 24 eingebettet
zu werden. Der Verwaltende-Lage-Kodierer 32 bettet eine
verwaltende Lage von sekundären
versteckten Daten auf der bestimmenden Lage ein, wodurch er eingebettete
Daten generiert.
-
In 3 ist
ein Beispiel eines Daten-Versteckverfahrens gezeigt. Das Verfahren
verwendet eine Drei-Durchgangs-Architektur,
um Daten in digitalen Tondaten zu verstecken. Zu Beginn wird in
einem Schritt 48 die Trägerdatensignal-Einheit
ausgewertet. Bei diesem Beispiel werden aktive Daten als die primären Daten
eingebettet. Im ersten Durchgang wird der Aktive-Agent-Datenstrom
S in eine Sequenz von binären
Daten Sb = Sb1, Sb2,...
SbM der Länge M zugeordnet, Schritt 50,
die nicht wahrnehmbar in das Trägersignal
mit der Basisdomäneneinbettung
eingefügt
wird, Schritt 52. Dann werden in einem Schritt 54 Fehlerkorrekturbits
E = E1, E2,... EQ generiert und in einem Schritt 56 in
das Trägersignal
während
des zweiten Durchgangs eingebettet. Im dritten Durchgang werden
Verschlüsselungstechniken
verwendet, um das Trägersignal
wie auch den eingebetteten versteckten Agenten zu authentifizieren,
Schritt 58. Während
des Dekodierens werden in einem Schritt 59 zuerst die Kontrollbits
extrahiert und in einem Schritt 60 wird die Authentizität der eingebetteten
Daten ü berprüft. Die
primären
versteckten Daten werden dann extrahiert, Schritt 62. Schließlich werden
in einem Schritt 64 die Fehlerkorrekturbits verwendet, um
die Validität
der extrahierten primären
versteckten Daten zu überprüfen.
-
Einige
Vorteile des Verwendens des obigen exemplarischen Multilagen-Daten-Versteckverfahrens
für Tonsignale
schließt
ein Verbessern der verlustlosen Extrahierung des aktiven Agenten
durch Verwendung von Authentizitäts-
und Fehlerkorrekturbits ein, wobei die Sicherheit der Trägerdaten
mit Public-Key-Verschlüsselung
erhöht
wird, die Fähigkeit eine
Veränderung
zu lokalisieren (mit einer Authentizitätslage) und um kleinere Veränderungen
der versteckten Daten zu korrigieren (mit den Authentizitäts- und
Fehlerkorrekturlagen) und es wird eine schnelle Extrahierungs-Performance
mit der Basisdomäneneinbettung
der primären
versteckten Daten sichergestellt. Die Verwendung eines Wahrnehmungsmodells mit
dem Datenversteckverfahren verbessert die Unhörbarkeit der eingebetteten
Daten weiter.
-
Der
eingebettete aktive Agent kann konfiguriert werden, um zu erlauben,
ein Feedback von Informationen an den Server zu senden, wenn ein
Streaming oder eine Online-Vorschau ausgeführt wird, wobei die Erneuerung
von Schlüsseln
oder Managementvorschriften ermöglicht
wird, ein Verschlüsseln des
Tonsignals ausgeführt
wird, um weitere unautorisierte Verwendung des Inhalts zu verhindern
und eine Einmal-Abspiel-Vorschau ermöglicht wird und auch ein unlimitiert
häufiges
Abspielen mit einem Einmal-Downloaden, wenn der geeignete Schlüssel gekauft
wurde.
-
Die
richtige Verwendung des Wahrnehmungsmodells sichert die Nichtwahrnehmbarkeit
der eingebetteten versteckten Daten. Das Wahrnehmungsmodell sieht
Vorteile aus der Unfähigkeit
des menschlichen Gehörsystems,
Rauschen unter den Bedingungen einer Hörmaskierung zu erkennen. Das heißt, die
Präsenz
eines starken Tonsignals macht eine temporäre oder spektrale Nachbarschaft
eines schwächeren
Tonsignals unhörbar.
Unsere empirische Studie zeigt, dass das menschliche Ohr nicht die
Unterschiede erkennen kann, wenn eine kleine Veränderung an einem singulären Punkt
oder einem Maskenpunkt vorgenommen wird (unter der Bedingung, dass
es vor und nach der Modifikation noch ein Maskenpunkt ist). Die
Definition eines singulären Punktes,
eines Maskierpunktes und eines maskierten Punktes werden unten angegeben.
-
Definiere
I(j) als einen singulären
Punkt, falls sign(I(j)) = –sign(I(j–1)) & sign(I(j))= –sign(I(j+1)).
Die 4 zeigt zwei singuläre Punkte a und a'.
-
Ein
Maskierpunkt I(j) wird definiert als ein Punkt mit einem Intensivitätswert größer als
ein Grenzwert δ,
d.h. amp(I(j))≥δ, wohingegen
ein maskierter Punkt I(j*) als ein Punkt definiert ist, der unter der
Maske eines Maskierpunktes I(j) ist, d.h. amp(I(j*))≤mask(amp(I(j)))
(siehe 5, in der ein Sample a ein Maskierpunkt ist und
die Samples b, c & d
maskierte Punkte sind).
-
In
der Basisdomäne
hängt die
Maskierfähigkeit
eines gegebenen Samples von seiner Lautstärke ab; während in der Spektrumdomäne die Maskierfähigkeit
einer gegebenen Signalkomponente von seiner Frequenzposition und
seiner Lautstärke
abhängt. Empirische
Ergebnisse zeigen auch, dass der Rauschmaskiergrenzwert bei irgendeiner
gegebenen Frequenz innerhalb einer limitierten Bandbreite, die benachbart
ist zu der Frequenz, nur von der Signalenergie abhängt und
zu jeder Zeit innerhalb einer begrenzten zeitlichen Nachbarschaft
nur von der Signalenergie abhängt.
Basisdomäneneinbettung
weist eine wesentlich bessere Dekodierperformance in Bezug auf die
Geschwindigkeit auf als die Spektrumdomäneneinbettung. Jedoch weist
die Basisdomäneneinbettung
eine geringere Überlebensfähigkeit
bei Kompression auf als die Spektrumdomäneneinbettung.
-
Dem
Fachmann sind einige Verfahren bekannt, die verwendet werden können, um
die Bits in die singulären
und maskierten Punkte einzubetten. Hier wird als ein Beispiel ein
einfaches Verfahren des Einbettens einer Sequenz von Bits sb1, sb2,... 2bM in die singulären Bits Isng1,
Isng2,... IsngM eines
Trägersignals
I1, I2,... In,... IN gezeigt.
-
Kodierung:
- – Falls
I(j)==0, setze I(j)=I(j)+1
- – Falls
das Einbettbit sbm 0 ist und der mte singuläre Punkt
Isngm ist, dann setze Isng1 zu
0.
Falls das Einbettbit Sbm 1 ist,
dann lasse Isngm unverändert
oder setze ε1≤Isngm≤ε2,
wobei ε1 und ε2 untere und obere Schranken sind, wobei ε2 durch
eine Wahrnehmungsmarkierung definiert ist.
-
Dekodieren:
- – Setze
m=1.
- – Falls
In=0 (oder In ein
singulärer
Punkt ist und In<ε1), setze Sbm zu
0 und m++.
- – Falls
In ein singulärer Punkt ist (und In≥ε1)
, setze Sbm zu 1 und m++.
-
Die
Basen von verschiedenen versteckten Datenlagen sind vorzugsweise
zueinander orthogonal, um eine maximale Erfassbarkeit sicherzustellen. Das
heißt,
die primäre
versteckte Da tenlage (die aktive Datenlage) und die sekundären versteckten
Datenlagen (die Fehlerkorrekturdatenlage und die Authentizitätslage)
sind beide orthogonal zu den anderen. Bei dem hier bevorzugten Verfahren
werden multiple orthogonale Merkmale, singuläre Punkte und maskierte Punkte
verwendet, um die verschiedenen Datenlagen zu verstecken. Neben
dem Sicherstellen der Orthogonalität der verschiedenen Datenlagen
kann das auch die Daten-Versteck-Kapazität erhöhen.
-
Die
Fehlerkorrekturlage benötigt
Daten-Versteck-Kapazität
zusätzlich
zu der Kapazität,
die zum Verstecken der primären
versteckten Daten benötigt wird.
Daher ist eine kleine Fehlerkorrektursequenz wie eine 2D- oder Multi-D-Checksummen-Fehlerkorrektur wünschenswert.
Unter der Annahme, dass die Fehlerkorrekturbitanzahl Q ist und die
aktive Datenstrombitanzahl M ist, dann erfüllt im Fall einer 2D-Checksumme
die Fehlerkorrektur-Stromlänge (Anzahl
von Bits) M=(Q/2)2. Beispielsweise hat der Java-aktive
Agent eine Datenstromlänge
von 4000 Bits. Die für
den aktiven Agent benötigten
Fehlerkorrekturbits sind daher nur 64×2≈128 Bits im Fall einer 2D-Checksumme.
-
Unten
wird der 2D-Checksummenalgorithmus angegeben.
-
Kodieren:
-
Setze
Q=ceiling[2M1/2], d.h. setze Q auf den kleinsten
Integerwert, der nicht kleiner ist als (2M1/2).
- – Arrangiere
Sb = SB1, SB2,...
SbM in Q/2 chur
SB(1)=SB(1)1, SB(1)2,... SbQ/2, = Sb1, Sb2,... SbQ/2, SB(2)=
SB(2)1, SB(2)2,...
SB(2)Q/2 = SbQ/2+1,...
SbQ ... und SB(Q/2) = SB (Q/2)1, SB(Q/2)2,...SB(Q/2)Q/2=Sb(QQ–2Q1/4+1),
...SbM
- – Setze
Eq=LSB(SB(q)1+SB(q)2+ ...SB(Q/2)q) für q∈(1, Q/2)
und Eq=LSB(SB(1)q+SB(2)q+ ...+SB(Q/2)q für q∈(Q/2, Q),
wobei LSB(s) das kleinste signifikante Bit von S bezeichnet.
-
Das
Dekodieren ist dem Kodierprozess ähnlich.
-
Das
Vorgehen verwendet ein Authentifizierungs-Schema ähnlich dem
das durch C.W. WU et al. in Fragile imperceptible digital watermark
with privacy control, Proc. SPIE'99,
Vol. 3657 beschrieben ist, bei dem die Autoren vorschlagen, den
Authentizitätswert in
dem letzten signifikanten Bit von jedem Sample zu platzieren. Um
Orthogonalität
sicherzustellen, wird ε für alle Singulärpunkteinbettungen
und maskierte Punkteinbettungen auf 2 oder größer gesetzt.
-
Ein
kurzer Überblick über den
Algorithmus wird unten beschrieben:
- – Wähle für Verifikationsblock
Größe B und
für abhängigen Block
Größe D (z.B.
B = 128 & D =
512 Bits). Nehme an, dass das Trägersignal
ein 16-Bit-Ton ist; ein Verknüpfen
aller hohen Bits (alle Bits ausschließlich des am wenigsten signifikanten
Bits) der 512 Samples ergibt eine Nachricht Mb von 15×512=7680
Bits. Durch weiteres Verknüpfen
eines Schlüssels
von 512 Bits (oder eines Schlüssels
von kürzerer
Länge,
der auf 512 Bits aufgefüllt
ist (oder eines Schlüssels
von kürzerer
Länge,
der auf 512 Bits aufgefüllt
ist)) wird jetzt eine Nachricht MB von 8192 Bits produziert.
- – Berechne
den Einweg-Hash mit dem MD5-Algorithmus, MB'=h=H(MB), um eine 128-Bit-Nachricht
zu generieren. {Füge
Zeit hinzu oder andere Daten, falls B > 128 Bits}
- – Verwende
ein Public-Key- (oder Secret-Key-, abhängig von der Anwendung)-Verschlüsselungsverfahren
und signiere MB' mit
dem geheimen Schlüssel
K, MB" =Sgn(K, MB').
- – Setze
B-Bits-Nachricht MB" in
das letzte signifikante Bit eines jeden Samples, von 1→0, falls
Einbettung 0 oder 0→1,
falls Einbettung 1, in den Verifikationsblock ein.
-
Die
Dekodierung wird auf ähnliche
Weise mit dem Public Key und einer Entweder-Oder- ("XOR-")Operation ausgeführt, um
die Authentizität des
Signals zu überprüfen.
-
Aus
dem Vorhergehenden wird verstanden werden, dass das System das simultane
Erreichen von mehreren Daten-Versteck-Zielen erlaubt. Falls beispielsweise
sowohl Zugangskontrollbits (passiver Datenstrom) und ein aktiver
Datenstrom in das Trägersignal
eingebettet werden, können
sowohl Playback/Aufnahmekontrolle und Feedback erreicht werden.
Ebenso kann der Verschlüsselungsschlüssel auch
mit Multilagen-Daten-Verstecken
eingebettet werden, falls der aktive Datenstrom verschlüsselt wird. Ähnlich kann
im Mehrzweckfall zusätzliche
Kontrollinformation wie die Quantität von in dem Medium eingebetteten
Bits, Dekodierdaten zum Sicherstellen einer richtigen Extrahierung
der primären
versteckten Daten und auch zum Bereitstellen einer maximalen Kapazität, eingebettet
werden. Mit einer zusätzlichen Kontrolldatenlage
können
verschiedene Kapazitäten in
verschiedenen Bildern basierend auf der Analyse jedes Bildes erreicht
werden. Diese große
grobkörnige
Regionen enthaltenden Bilder können
mit mehr Daten eingebettet werden, während diejenigen mit weniger
grobkörnigen
Regionen mit weniger Daten eingebettet werden. Ähnlich kann die Datenversteckkapazität für framebasierendes
Video und andere Medien auch durch Verwendung der Prinzipien der Erfindung
kontrolliert werden. Weiterhin ist ein praktisches System zum systematischen Übermitteln
von versteckten Informationen besser strukturiert durch Verwendung
eines Multilagen-Daten-Versteckens. Zum Beispiel verdeutlicht und
separiert das Daten-Versteck-System verschiedene Elemente in Daten-Versteck-ermöglichenden
Daten-Versteck-Systemen für
bestimmte zu optimierende Applikationen. Entsprechend stellt das
Multilagen-Daten-Verstecksystem ein Daten-Versteck-System bereit,
das eine verbesserte Kontrollierbarkeit erreicht, einen flexiblen
Robustheit/Kapazitätsausgleich
erreicht, mehrere Zwecke zugleich erreicht und eine kohärente Systemlevelstruktur
bietet.
-
In
Summe hängt
es von der Applikation und dem Medientyp ab, wo und wie jede Lage
von Daten zu verstecken ist und wie viele Datenlagen benötigt werden.
Mehrere Lagen von Daten können
in einer Applikation in der gleichen Domäne versteckt sein aber in verschiedenen
Domänen
bei einer anderen.
-
Die
Erfindung ist in dem beigefügten
unabhängigen
Verfahrensanspruch 1 definiert.