DE60110086T2 - Stegotextkodierer und -dekodierer - Google Patents

Stegotextkodierer und -dekodierer Download PDF

Info

Publication number
DE60110086T2
DE60110086T2 DE60110086T DE60110086T DE60110086T2 DE 60110086 T2 DE60110086 T2 DE 60110086T2 DE 60110086 T DE60110086 T DE 60110086T DE 60110086 T DE60110086 T DE 60110086T DE 60110086 T2 DE60110086 T2 DE 60110086T2
Authority
DE
Germany
Prior art keywords
key
logarithmic
matrix
spectrogram
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60110086T
Other languages
English (en)
Other versions
DE60110086D1 (de
Inventor
Roger Fane Sewell
St. John Mark OWEN
Stephen John Conington BARLOW
Simon Paul Long
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Activated Content Corp
Original Assignee
Activated Content Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB0018491A external-priority patent/GB2365296A/en
Priority claimed from GB0018487A external-priority patent/GB2365285A/en
Priority claimed from GB0018489A external-priority patent/GB2365295A/en
Application filed by Activated Content Corp filed Critical Activated Content Corp
Application granted granted Critical
Publication of DE60110086D1 publication Critical patent/DE60110086D1/de
Publication of DE60110086T2 publication Critical patent/DE60110086T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • H04H20/31Arrangements for simultaneous broadcast of plural pieces of information by a single channel using in-band signals, e.g. subsonic or cue signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Error Detection And Correction (AREA)
  • Television Systems (AREA)
  • Vending Machines For Individual Products (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

  • Die vorliegende Erfindung betrifft das Versehen von analogen oder digitalen Signalen mit Wasserzeichen. Die Signale können Video- und Datensignale sein, wobei die vorliegende Erfindung insbesondere, aber nicht ausschließlich das Versehen von Audiosignalen mit Wasserzeichen betrifft.
  • Die Bezeichnung "mit Wasserzeichen versehen" soll den Vorgang des Hinzufügens von Daten zu einem Hauptsignal derart umfassen, daß die hinzugefügten Daten den Hauptzweck des Hauptsignals nicht beeinflussen. Das Hauptsignal wird oft als "Covertext" bezeichnet und das Signal mit den hinzugefügten Wasserzeichendaten als "Stegotext". Im Falle eines Audiosignals soll das Vorhandensein der hinzugefügten Daten im Stegotext für einen Hörer bei der Wiedergabe des Stegotextes praktisch nicht wahrnehmbar sein. Das Vorhandensein der hinzugefügten Daten im Stegotext ermöglicht jedoch die Identifikation des Ursprungs des Covertextes, wenn der Nutzer die richtige Dekodierausrüstung hat. Wenn die Ausrüstung des Nutzers mit einer geeigneten Schaltung versehen ist, kann verhindert werden, daß die im ursprünglichen Covertextsignal enthaltenen Hauptdaten wiedergegeben werden, wenn die wiedergegebenen Wasserzeichendaten nicht zu der Ausrüstung passen. Außerdem muß der Nutzer in der Lage sein, den Covertext wiederzugeben.
  • Hinsichtlich von Musikaufzeichnungen weisen solche Techniken offensichtlich ein großes Potential auf. Im Ergebnis wurde sehr viel Mühe darauf verwendet, das Problem des Versehens von Audiosignalen mit Wasserzeichen derart zu lösen, daß das Vergnügen desjenigen oder derjenigen, der oder die berechtigt ist, sich den Stegotext anzuhören, nicht durch störende Töne beeinträchtigt wird, die von den hinzugefügten Codedaten verursacht werden.
  • Außerdem ist es wichtig, daß die Wasserzeichen ausreichend robust sind, um sowohl nach den verschiedenen Arten der herkömmlichen Signalbearbeitung, der aufgezeichnetes und übertragenes Audiomaterial unterworfen werden kann, effektiv zu bleiben, als auch direkten Versuchen zu widerstehen, die hinzugefügten Codedaten zu löschen oder unwirksam zu machen.
  • Ein Verfahren zum Versehen von Signalen mit Wasserzeichen ist in der EP 0905967 A1 beschrieben. Ein weiteres Verfahren und eine Vorrichtung zum Versehen von analogen Signalen mit Wasserzeichen ist in der internationalen Patentschrift WO 98/53565 beschrieben, wobei diese Schrift eine Anzahl der Techniken darstellt, die für Wasserzeichensignale verwendet wurden.
  • Eines der in dieser vorveröffentlichten Druckschrift vorgeschlagenen Wasserzeichenverfahren umfaßt das Messen der Kurzzeit-Autokorrelationsfunktion des Audiosignals und das Hinzufügen eines Zusatzsignals, das nur schwer zu hören ist und das den Wert der Kurzzeit-Autokorrelationsfunktion bei einer bestimmten Verzögerungen oder bei bestimmten Verzögerungen ändert, um eine bestimmte Wellenform zu erzeugen, die Daten mit einer niedrigen Rate trägt. Die tatsächliche Modulation der Daten auf diese Wellenform kann durch eine Anzahl von geeigneten Modulationstechniken erfolgen. Am Empfangsende der Vorrichtung mißt ein Wasserzeichenleser (oder Dekoder) die Kurzzeit-Autokorrelationsfunktion des Stegotextes und wendet die für die verwendete Modulationstechnik geeignete Demodulationstechnik an. Wenn der Leser die Daten verwenden kann, die anfänglich zum Modulieren der Autokorrelationsfunktion verwendet wurden, können die hinzugefügten Codedaten aus dem Stegotext entfernt werden.
  • Die Kurzzeit-Autokorrelationsfunktion vieler Audiosignale läßt sich jedoch bei beliebig langen Verzögerungen leicht so ändern, daß sie beliebig nahe bei Null liegt, ohne daß sich der Ton des Grund-Audiosignals verändert. Es ist demnach möglich, das Wasserzeichensignal auf eine relativ einfache Weise so anzugreifen, daß der Effekt des Versehens mit einem Wasserzeichen aufgehoben wird.
  • Die vorliegende Erfindung betrifft die Schaffung eines Wasserzeichensystems, das diesen Nachteil nicht aufweist, und auch die Schaffung eines Dekoders zum Dekodieren von Wasserzeichensignalen.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Kodierer zum Kodieren eines Covertextsignals zum Erzeugen eines Stegotextes nach Patentanspruch 1 geschaffen.
  • Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Kodieren eines Covertextsignals zum Erzeugen eines Stegotextes nach Patentanspruch 7 geschaffen.
  • Gemäß einem dritten Aspekt der Erfindung wird ein Dekoder zum Dekodieren eines Stegotextes nach Patentanspruch 13 geschaffen.
  • Gemäß einem vierten Aspekt der Erfindung wird ein Verfahren zum Dekodieren eines Stegotextes nach Patentanspruch 28 geschaffen.
  • Gemäß einem fünften Aspekt der Erfindung wird ein Wasserzeichen-Schlüsselgenerator nach Patentanspruch 45 geschaffen. Es wird auch Verfahren zum Erzeugen eines Schlüssels für Wasserzeichen-Covertexte nach Patentanspruch 50, ein Speichermedium oder ein elektrisches Signal nach Patentanspruch 51 und ein Kodierer nach Patentanspruch 52 geschaffen.
  • Zum besseren Verständnis der vorliegenden Erfindung werden nun beispielhaft anhand der beiliegenden Zeichnungen Ausführungsformen davon beschrieben. Es zeigen:
  • 1 eine Blockdarstellung eines Systems zum Kodieren und Dekodieren eines Covertextsignals mit Zusatzdaten, um einen Stegotext zu erzeugen;
  • 2 eine Blockdarstellung eines Kodierers und eines Dekoders, die bei der Ausführungsform der 1 zum Erzeugen und Dekodieren eines Stegotextes verwendet werden können;
  • 3 eine Darstellung des Energiespektrums eines Musiksegments;
  • 4 eine Darstellung des Überlappens von Modulationsmustern, wenn das Energiespektrogramm modifiziert wird;
  • 5 eine Blockdarstellung eines Konvolutionskodierers;
  • 6 eine Blockdarstellung eines Kodierers/Dekoders mit mehr Einzelheiten als bei der Ausführungsform der 2;
  • 7 eine Darstellung eines Zeitdehnungsangriffs auf einen Stegotext;
  • 8 ein Diagramm zur Darstellung der Filterparameter, die bei einer Ausführungsform der vorliegenden Erfindung bei dem System der 1 verwendet werden;
  • 9 ein Diagramm für die Filtereigenschaften von aufeinanderfolgenden Schlüsseln;
  • 10 ein Diagramm für das eindimensionale weiße Rauschsignal mit einem Bandpaß-Durchlauffilter;
  • 11 eine Darstellung für das Ergebnis von zweidimensionalem weißen Rauschen mit Durchlauffiltern in jeder Richtung;
  • 12 ein Diagramm für die Auswirkungen einer Dehnung auf die Korrelation;
  • 13 eine Blockdarstellung einer Ausführungsform eines erfindungsgemäßen Kodierers;
  • 14 und 15 Diagramme für verschiedene Arten von Rauschen;
  • 16 eine Blockdarstellung einer Ausführungsform des Dekoders für das System der 1;
  • 17 eine Darstellung des Inhalts eines Puffers des Dekoders der 16;
  • 18 eine Darstellung des Ergebnisses der Verarbeitung der Werte der 17;
  • 19 eine Darstellung der Arbeitsweise eines Maximum-Wahrscheinlichkeits-Konvolutionscode-Dekoders, der einen Teil des Dekoders der 16 und 20 bildet;
  • 20 eine zweite Ausführungsform eines Dekoders;
  • 21 ein Diagramm für Projektionsabbildungen in Vektorräumen;
  • 22 die Erzeugung von Parametern für Musik zur Verwendung bei den Dekodern der 16 und 20; und
  • 23 eine Darstellung zur Erzeugung eines Schlüssels.
  • Wie in der 1 gezeigt umfaßt das Grundsystem einen Schlüsselgenerator (1), einen Kodierer (2) und einen Dekoder (3). Der Schlüsselgenerator (1) erzeugt auf der Basis einer ganzzahligen Ausgangswerteingabe bei (1') einen pseudozufälligen Schlüssel. Der Kodierer (2) markiert eine bei (4) als Covertext eingegebene Musikdatei mit Daten unter Verwendung des Schlüssels, um einen Stegotext zu erzeugen. Die Daten werden bei (2') in den Kodierer (2) eingegeben. Der Dekoder (3) nimmt den Stegotext über eine Übertragungsstrecke (5) auf, liest die Daten aus einer markierten Datei wieder unter Verwendung des Schlüssels aus und gibt die aufgezeichneten Daten bei (6) aus. Bei den Kodier- und Dekodieroperationen muß der gleiche Schlüssel verwendet werden, um sicherzustellen, daß die Daten richtig ausgelesen werden. Der Schlüssel kann natürlich gegebenenfalls aus dem Ausgangswert wieder erzeugt werden, so daß alles, was erforderlich ist, um eine markierte Datei zu dekodieren, der Ausgangswert ist. Die Übertragungsstrecke (5) kann eine große Anzahl von Formen umfassen. Der Stegotext kann daher auf jedem geeigneten Medium aufgezeichnet werden oder über Radio, Faserkabel und dergleichen übertragen werden. Im folgenden wird jede nicht markierte Datei als Covertext bezeichnet und eine mit einem Wasserzeichen markierte Datei als Stegotext. Die vorstehende Ausführungsform wird zwar mit Bezug zur Verwendung auf Musik beschrieben, die beschriebenen Techniken und Vorrichtungen können jedoch auch in nicht musikalischen Situationen wie bei Sprach- oder Videodaten verwendet werden.
  • Die 2 der beiliegenden Zeichnungen zeigen eine Blockdarstellung einer erfindungsgemäßen Ausführungsform genauer. In dieser Darstellung ist der Covertext eine nicht markierte Audiodatei, die bei (10) gezeigt ist. Die Quelle für die Audiodatei ist mit 10' bezeichnet. Es kann dies ein Mikrophon für die Aufnahme eines Live-Ereignisses, eine Aufzeichnung wie ein Band oder eine Diskette oder ein Signal sein, das über Radio oder Internet übertragen wird. Diese Audiodatei wird in den Kodierer (2) eingegeben und in der Schaltung (11) in ein Energiespektrogramm umgewandelt. Der Grund für diese Umwandlung ist folgender: Es ist nicht gut möglich, Informationen in den Phasenkomponenten des Stegotextes zu übertragen. Das menschliche Ohr ist gegenüber der Phase im wesentlichen unempfindlich, eine Tatsache, die manche Kompressionsalgorithmen ausnutzen. Entsprechend ist eine Wasserzeichentechnik, die von der Phase abhängt, wahrscheinlich gegenüber einer Kompression nicht widerstandsfähig genug. Außerdem ist es möglich, eine Audiodatei unter Vermischen der Phasen ihrer Frequenzkomponenten durch Anwenden einer zufälligen "Gruppenverzögerung" auf die Datei zu bearbeiten. Eine solche Bearbeitung, die nicht besonders rechenintensiv ist, zerstört im allgemeinen jede besondere Wellenform in der Audiodatei. Wasserzeichen, die von der Wellenform abhängen, das heißt von der Zeitbereichsform des Signals, können daher durch diese Bearbeitung unlesbar werden.
  • Erfindungsgemäß wird daher vorgeschlagen, das Versehen eines Covertextes mit einem Wasserzeichen unter Verwendung des Energiespektrums des Covertextes auszuführen. Nur die Größe der einzelnen Frequenzkomponenten im Covertext wird daher modifiziert, und die Phase der einzelnen Frequenzkomponenten wird durch den ganzen Markierungsprozeß beibehalten. Die Phaseninformation wird im Dekoder entfernt. Dieser Vorgang wird nun genauer beschrieben.
  • Zum Berechnen des Energiespektrogramms wird der Covertext in Blöcke mit einer Länge von 2Y Abtastwerten aufgeteilt, die sich um die Hälfte ihrer Länge überlappen. Alle Y Abtastwerte beginnt daher ein neuer Block. Bei der vorliegenden Ausführungsform, die wie erwähnt für Audiodateien mit einer Abtastrate fs = 44100 Hz vorgesehen ist, wird Y auf 1024 gesetzt.
  • Jeder Block wird mit einer als Analysefenster bekannten Fensterfunktion multipliziert und die Fourier-Transformierte des gefensterten Blocks berechnet. Der Zweck der Fensterfunktion ist es sicherzustellen, daß an jedem Ende des Blocks die Abtastwerte auf Null zurückgehen, um eine Diskontinuität zu vermeiden. Die Fourier-Transformation behandelt den Block als die sich wiederholende Einheit einer periodischen Funktion. Da der gefensterte Block aus realen Abtastwerten besteht, ist seine Fourier-Transformierte bezüglich der positiven und negativen Frequenzen konjugiert-symmetrisch. Die negativen Frequenzkomponenten enthalten keine zusätzlichen Informationen und können daher weggelassen werden.
  • Jeder Fourierkoeffizient ist eine komplexe Zahl, deren Betrag die Amplitude der entsprechenden Frequenzkomponente angibt und deren Argument dessen Phase bezeichnet. Wenn die Phaseninformationen weggelassen werden, ist das, was bleibt, das Energiespektrum des Signals. Im engeren Sinne wird das Energiespektrum durch Quadrieren des Betrags jedes Fourierkoeffizienten erhalten.
  • Wenn eine Anzahl von aufeinanderfolgenden Energiespektren nebeneinandergestellt wird, wird ein Gitter von Werten erhalten: Die eine Achse, herkömmlich die vertikale, stellt die Frequenzen dar, während die andere Achse, herkömmlich die horizontale, die Zeit darstellt. Dieses Gitter ist das Energiespektrogramm der Audioprobe. Die 3 der Zeichnung zeigt ein Beispiel für das Energiespektrogramm eines Musiksegments. In dieser Darstellung sind die Werte des Gitters als verschiedene Grauschattierungen gezeigt. Der Balken auf der rechten Seite mit den von –8 bis 3 laufenden Werten ist ein Maßstab, mit dem der Helligkeitspegel des Spektrogramms verglichen werden kann, so daß das Spektrogramm bewertet werden kann.
  • Die Wahl von Y bestimmt die Auflösung des Spektrogramms. In der Frequenzrichtung ist die Auflösung gleich fs/2Y und in der Zeitrichtung gleich Y/fs. Bei der vorliegenden Ausführungsform sind diese Werte 21,5 Hertz bzw. 23,2 ms. Die Achsen der 3 werden mit diesen Einheiten gemessen.
  • Es mag schwierig erscheinen, eine Audio-Wellenform aus seinem Energiespektrogramm zufriedenstellend zu rekonstruieren, es ist aber möglich, wenn die Phaseninformation erhalten bleibt. Die Spektrogrammdaten können mit einer inversen Fourier-Transformation in den Zeitbereich zurückgebracht werden und auf die gleiche Weise wie vorher überlappt und zusammenaddiert werden.
  • Im Zusammenhang mit dem Versehen des Covertextes, aus dem das Spektrogramm erhalten wurde, mit einem Wasserzeichen wurde festgestellt, daß, solange Modifikationen am Spektrogramm klein bleiben und solange die ursprüngliche Phaseninformation erhalten bleibt, das oben beschriebene Verfahren wieder eine zufriedenstellende Audio-Wellenform erzeugt. Es ist zu bemerken, daß die wiederhergestellten Zeitbereichsegmente nicht mehr sicher an jedem Ende auf Null gehen; die subjektive Qualität der sich ergebenden Wellenform wird daher besser, wenn die zusammenaddierten Segmente wie oben beschrieben mit den Synthesefenstern gefenstert werden. Die Analyse- und Synthesefenster müssen so gewählt werden, daß sichergestellt ist, daß sich im System keine Gesamt-Amplitudenmodulation ergibt. Bei der vorliegenden Ausführungsform ist jedes dieser Fenster die Quadratwurzel einer potenzierten Kosinusfunktion.
  • In der 2 erfolgt die Modulation des Spektrogramms in der allgemein mit (12) bezeichneten Schaltung in Reaktion auf den zu kodierenden Bitstrom.
  • Schließlich führt im Block (2) die Schaltung (13) die modulierten Energiespektrogramme wieder in den Zeitbereich zurück und synthetisiert sie so, daß sie in den Stegotext umgewandelt werden. In der 2 ist der Stegotext mit 15 bezeichnet.
  • Der Dekoder (3) umfaßt eine Schaltung (16) zum Umwandeln des Stegotextes in ein logarithmisches Spektrogramm, eine Schaltung (17), die den Schlüssel verwendet, um das logarithmische Spektrogramm so zu korrelieren, daß in der Schaltung (18) der Bitstrom extrahiert werden kann, der den Wasserzeichencode wiedergibt und der bei (19) ausgegeben wird.
  • Es wurde festgestellt, daß das Ausmaß, bis zu dem ein Element des Energiespektrogramms eines Audiosignals ohne hörbare Auswirkungen moduliert werden kann, in etwa proportional zum ursprünglichen Pegel ist. In Dezibel können daher am Energiespektrogramm Additionen und Subtraktionen bis zu einer bestimmten Größe erfolgen. Das Ausmaß der Modulation, die wahrnehmbar ist, hängt von der Hörumgebung ab, es liegt typisch um 1 dB. Entsprechend wird bei der vorliegenden Ausführungsform der Vorgang des Versehens mit einem Wasserzeichen im "logarithmischen Energiespektrogrammbereich" ausgeführt und besteht aus Additionen und Subtraktionen zu und vom Energiespektrogramm entsprechend dem von Schlüsselgenerator 1 erzeugten Schlüssel und den als Wasserzeichen zu kodierenden Daten. Die Daten werden bei 12' eingegeben.
  • Da auf größere Spektrogrammelemente ein größeres Ausmaß an Modulation angewendet werden kann, sind die in diesen Elementen enthaltenen Informationen weniger gegen Rauschen empfindlich als in Elementen mit kleinerer Amplitude. Es ist jedoch unmöglich, vorher zu wissen, welches diese Elemente sein werden. Das beschriebene Wasserzeichenschema ist daher so angelegt, daß jedes Element zur Aufnahme von Informationen verwendet wird, das der Covertext zur Verfügung stellt. Bei der vorliegenden Ausführungsform wird daher jedes Spektrogrammelement in der Schaltung 12 moduliert, damit die Informationsaufnahmekapazität des Wasserzeichens maximal wird. Jedes Datenbit im Wasserzeichen induziert daher in einem Bereich des Spektrogramms ein Modulationsmuster. Die Modulationsmuster werden in einem Sinne angewendet, um ein "Eins"-Bit zu kodieren, und im entgegengesetzten Sinn, um ein "Null"-Bit zu kodieren. Die Bits werden in regelmäßigen Zeitintervallen einkodiert, das heißt mit einem regelmäßigen horizontalen Abstand T im Spektrogramm.
  • Es ist möglich, daß es kurze Segmente des Covertextes gibt, in denen es unmöglich ist, ein Wasserzeichen zu verbergen, etwa in den stillen Abschnitten einer Audiodatei. Es ist daher wichtig, daß jedes Datenbit einen Abschnitt des Stegotextes beeinflußt, der so lange ist wie möglich. Bei der vorliegenden Ausführungsform wird dieses Problem von zwei Seiten angegangen.
  • Die 4 der beiliegenden Zeichnungen zeigt schematisch eine dieser Vorgehensweisen. Bei dieser Vorgehensweise überlappen sich die Spektrogramm-Modulationsmuster für benachbarte Bits. In der 4 stellt jedes Rechteck K eine Ausgabe des Modulationsmusters dar. Jedes Spektrogramm-Modulationsmuster K ist x Zeiteinheiten breit und y Frequenzeinheiten hoch, wobei y die volle Höhe des Spektrogramms ist. Bei der vorliegenden Ausführungsform ist x gleich 32 und T = 5. Wenn der erste, 32 Spalten breite Block des Energiespektrogramms der Covertextes durch einen Schlüssel der gleichen Grö ße moduliert wird und der Schlüssel dann um T (5 Spalten) weitergezählt wird, bleiben nur die ersten fünf Spalten des Covertextes, die nur von den entsprechenden fünf Spalten des Schlüssels moduliert sind. Im nächsten Iterationsschritt der Modulation werden die Spalten 6 bis 37 des Covertextes mit dem Schlüssel moduliert, so daß die Spalten 6 bis 32 zweimal moduliert wurden. Im dritten Iterationsschritt bleiben die Spalten 6 bis 10 des ersten Blocks mit der doppelten Modulation zurück, und die Spalten 11 bis 32 werden zum dritten Mal moduliert, während die Spalten 33 bis 37 ihre zweite Modulation erfahren und die Spalten 38 bis 42 ihre erste Modulation. Diese Abfolge wird für die ganze Länge des Covertextes wiederholt. Die Werte von x und T können natürlich über einen großen Bereich variieren. Zum Beispiel kann x gleich 256 sein und T gleich 10.
  • Die zweite Vorgehensweise ist das Anwenden eines Fehlerkorrekturcodes auf die Nachrichtenbits, um die Auswirkungen jedes Bits noch weiter über die Zeit zu verteilen.
  • Es wird der Konvolutionskodierer der 5 dazu verwendet, die Auswirkungen jedes eingegebenen Bits auf eine Weise über einen längeren Abschnitt der Musik zu verteilen, die die Speichererfordernisse im Dekoder im Vergleich zu einem längeren Schlüssel verringert. Der zu kodierende Datenstrom wird auf einer Leitung (30) in ein Schieberegister eingegeben, das bei dieser Ausführungsform aus drei D-Typ-Flip-Flips (31, 32 und 33) besteht. Der Takt (clk/2) wird auf einer Leitung (34) zugeführt. An die Ausgänge eines Paars von Exklusiv-Oder-Gattern (36, 37) ist ein Ausgangsschalter (35) angeschlossen, der mit der Taktrate (clk) geschaltet wird, um eine der beiden Exklusiv-Oder-Kombinationen der Bits in dem Schieberegister aus den drei Flip-Flops auszuwählen. Bei der vorliegenden Ausführungsform ist das obere Exklusiv-Oder-Gatter (36) mit allen drei Bits des Schieberegisters verbunden und das untere Gatter (37) mit den Bits 0 und 2. Dieser Kodierer wird durch die zweidimensionale Matrix [111; 101] bestimmt, wobei die erste Zeile der Matrix den Schieberegisterverbindungen mit dem oberen Exklusiv-Oder-Gatter entspricht und die zweite Zeile der Matrix den Verbindungen mit dem unteren Exklusiv-Oder-Gatter (37). Die Verbindungsmuster können in Polynomform ausgedrückt werden mit Koeffizienten aus dem Satz {0, 1}. im vorliegenden Fall sind die Polynome X2 + X + 1 (Gatter 36) und X2 + 1 (Gatter 37).
  • Bei diesem Kodierer beeinflußt jedes eingegebene Bit sechs aufeinanderfolgende Ausgangsbit (die Gesamtzahl der Einträge in der Matrix), und die Ausgangsbitrate ist doppelt so groß wie die Eingangsbitrate (die Anzahl von Zeilen in der Matrix). Ein solcher Code wird "Halbratencode" genannt. Die Einträge in jeder Zeile der Matrix, die "Generatorpolynome", müssen sehr sorgfältig gewählt werden. Bei der vorliegenden Ausführungsform können nur Codes verwendet werden, deren Rate das Reziproke einer ganzen Zahl ist. Diese Einschränkung wird von der Art des bei der vorliegenden Ausführungsform verwendeten Kodierers bestimmt und hat keine andere Relevanz. Bei der Verwendung einer anderen Form der Fehlerkorrekturkodierung braucht diese Einschränkung daher nicht zu bestehen. Der Identitätscode, der unverändert zu seinem Ausgang gelangt, wird durch die Matrix [1] angegeben.
  • Der Code wird "konvolutionell" genannt, da er wie folgt unter Verwendung einer Konvolutenfunktion ausgeführt werden kann. Die Eingangsdatenbits werden zuerst entsprechend der Coderate mit Nullen aufgefüllt. Die Originaldaten seien zum Beispiel (1011). Zwischen die Daten werden Nullen eingeschoben, um (1000101) zu erhalten, so daß die Daten nun bei der Hälfte der ursprünglichen Rate liegen. Das Falten dieser Daten mit (111011), das die obige Kodiermatrix ist, geschrieben in einer einzigen Zeile, ergibt (111022212111). Modulo-2 davon ist (111000010111). Die Modulo-2-Operation führt die Funktion der Exklusiv-Oder-Gatter (36 und 37) im Kodierer aus. Eine Vier-Bit-Folge wurde daher in ein Zwölf-Bit-Codewort kodiert. Im allgemeinen wird eine n-Bit-Folge in ein (2n + 4)-Bit-Codewort kodiert.
  • Es wurde zwar ein Konvolutencode beschrieben, es können aber auch viele andere Arten von Fehlerkorrekturcodes verwendet werden. Diese Codes umfassen den Reed-Solomon-Code, die BCH-Codes, Golay-Codes, Fire-Codes, Turbo-Codes, Gallagher-Codes und Mackay-Neal-Codes.
  • Vor der Konvolutionskodierung erfolgt eine Synchronisationskodierung. Dabei werden Synchronisationsflags in den kodierten Strom von Datenbits eingefügt. Die Synchronisation des kodierten Bitstroms wird durch Einfügen eines Startflags erreicht. Das Flagmuster ist eine "Null", gefolgt von fünf "Einsen". Um sicherzustellen, daß dieses Muster im Datenstrom nicht an anderer Stelle auftritt, wird nach jeder Folge von vier "Einsen" ein Extra-Null-Bit eingefügt. Dies ist als "Auffüllen mit Nullen" bekannt. Die Auffüll-Nullen werden vom Dekoder wieder entfernt. Dieser Vorgang ergibt einen Nachteil von sechs Bit pro Startflag plus eine Gesamtreduktion in der Datenrate von knapp über drei Prozent. Der Fachmann erkennt, daß viele alternative Verfahren dafür möglich sind.
  • Die 6 der Zeichnungen zeigt, wie die gerade beschriebenen beiden Prozesse in den Kodierer eingebracht werden. Dabei bezeichnet (10) wieder den zu kodierenden Covertext und K das gerade verarbeitete Fenster sowie K-1 das vorherige Fenster. Im Multiplikator (41) wird das extrahierte Fenster K mit einer Analysefensterfunktion (42) multipliziert, so daß das extrahierte Fenster an jedem seiner Enden abnimmt. In der Schaltung (43) wird an dem extrahierten Fenster, das mit der Analysefensterfunktion modifiziert wurde, eine schnelle Fourier-Transformation ausgeführt. In der Schaltung (44) wird eine Rechtwinklig-Polar-Konversion ausgeführt, um das erforderliche Energiespektrogramm zu erzeugen. Dieses Energiespektrogramm wird in der Schaltung (45), die der Schaltung 12 in der 2 entspricht, wie bereits beschrieben modifiziert, wobei die Phasenkomponente des Spektrogramms unverändert bleibt.
  • Um die Erzeugung des Stegotextes zu vervollständigen, wird in der Schaltung (46) eine Polar-Rechwinklig-Konversion ausgeführt, in der Schaltung (47) erfolgt eine inverse schnelle Fourier-Transformation, und die Synthese-Fensterfunktion (48) wird dazu verwendet, um das Ausgangssignal der inversen schnellen Fourier-Transformationsschaltung (47) bei (49) damit zu multiplizieren. Schließlich werden bei (50) die sich überlappenden Fenster addiert, um den bei (15) angezeigten Stegotext zu erzeugen.
  • Es ist wünschenswert, wenn eine Anzahl von verschiedenen Wasserzeichen zur Verfügung steht. Die Möglichkeit der Verwendung einer Anzahl von verschiedenen Wasserzeichen macht es für einen Angreifer erheblich schwerer, eine verborgene Nachricht ohne Kenntnis des verwendeten Zeichens zu dekodieren, zu entfernen oder zu fälschen.
  • Bei der vorliegenden Ausführungsform wird das Wort "Schlüssel" für die Bezeichnung eines bestimmten Elements einer Familie von Wasserzeichen verwendet. Bei der vorliegenden Ausführungsform werden die Schlüssel pseudo-zufällig erzeugt, und jeder Schlüssel wird durch eine einzige ganze Zahl bestimmt, die als Ausgangswert verwendet wird. Es ist dies der Ausgangswert, der in der 1 der Zeichnungen gezeigt ist.
  • Bei der vorliegenden Ausführungsform ist der Schlüssel ein Array K(t, f) von Spektrogramm-Modulationswerten, wobei t und f ganzzahlige Indizes sind und –1 ≤ K(t, f) ≤ +1 ist. K(t, f) ist so definiert, daß es außerhalb des Bereichs –X/2 ≤ t < X/2 und 0 ≤ f < Y Null ist. Das Spektrogramm des Covertextes sei G(t, f) und das Spektrogramm des Stegotextes H(t, f). Mit di seien die zu kodierenden Datenbits bezeichnet, wobei di = ±1 (statt 0 oder 1) ist. Der Einfachkeit halber werden Fehlerkorrekturcodes ignoriert. Der Kodieralgorithmus ist dann gegeben durch
    Figure 00090001
    womit, mit geeigneten Wahlen für Abschneidungen, logH(t, f) = logG(t, f) + sΣ idiK(t – iT, f) (2)ist, wobei s eine reale Konstante ist, die die Kodierstärke bezeichnet. In den Gleichungen (1) und (2) sind G und H komplex, K ist jedoch real. Durch die Gleichung (1) wird daher argH = argG. Das Wasserzeichen ist damit im Energiespektrum einkodiert, und die Phasen der ursprünglichen Spektralkomponenten bleiben erhalten.
  • Der Aufbau des Schlüssels ist eminent wichtig bei der Erzeugung eines Stegotextes, der gegen Angriffe widerstandsfähig ist. Es werden deshalb nun Designbetrachtungen für den Schlüssel näher erläutert.
  • Ein Schlüssel, der einfach aus einem weißen Rauschmuster besteht, bei dem jede Zelle im Schlüssel unabhängig und identisch verteilt ist, ist aus vielen Gründen attraktiv. Er ist rechnerisch leicht zu erzeugen und weist die maximal mögliche Informationsübertragungskapazität auf. Im allgemeinen besitzt er eine niedrige Korrelation mit dem Covertext und weist eine einzige schmale Autokorrelationsspitze auf. Experimente haben gezeigt, daß er gegen eine große Anzahl von Manipulationen an der Audiodatei widerstandsfähig ist, wobei er immer noch mit ausreichend geringer Stärke einkodiert ist, um nicht hörbar zu sein. Durch eine Manipulation des Stegotextes unter Verwendung eines Gruppenverzögerungsangriffs auf das Spektrogramm, bei dem einzelne Zeilen zufällig nach links oder rechts verschoben werden, ist es mit der bereits erwähnten Spektrogrammauflösung jedoch möglich, die Gruppenverzögerungsparameter so anzuordnen, daß die Zeilen um mehr als eine Spalte verschoben werden. Dadurch wird jede Korrelation zwischen dem Stegotext und dem Schlüssel zerstört. Es erscheint unmöglich, eine Spektrogrammauflösung zu wählen, die gleichzeitig einen von der Wahrnehmung her zufriedenstellenden Aufbau des Stegotextes und eine Widerstandsfähigkeit gegen alle Formen einer solchen Gruppenverzögerungsattacke erlaubt.
  • Darüberhinaus kann der Stegotext so abgetastet werden, daß alle Frequenzen um zum Beispiel 5% (weniger als ein Halbton) ansteigen und sich der Text in der Zeit um den gleichen Faktor verkürzt. Dies wirkt sich auf das Spektrogramm so aus, daß es vertikal gedehnt wird und horizontal schrumpft. Dieser Vorgang ist schematisch in der 7 gezeigt, in der der ursprüngliche Stegotext mit 15A bezeichnet ist und der geänderte Stegotext mit 15B. Es ist zu sehen, daß nur mehr wenige der Zellen zusammenfallen; längs der Frequenzachse überlappen Zellen mit f ≥ 20 ihre vorherigen Positionen überhaupt nicht mehr. Die Korrelationsfunktion ist daher wieder zerstört.
  • Das erste dieser beiden Probleme, nämlich die Dehnung in einer Dimension, kann durch Modifizieren des Schlüssels so, daß er sich wiederholende Spalten enthält, überwunden werden. Das Experiment zeigt, daß das zwölfmalige Wiederholen jeder Spektrogrammspalte ausreicht, um sicherzustellen, daß die zum Zerstören der Korrelationsfunktion erforderliche Gruppenverzögerung eine von der Wahrnehmung her nicht mehr akzeptatable Auswirkung auf den Stegotext hat. Dafür verringert sich die Informationsübertragungskapazität. Die Autokorrelationsspitze des Schlüssels ist breiter und niedriger, so daß für eine gegebene Widerstandsfähigkeit eine größere Kodierstärke erforderlich ist.
  • Das zweite Problem kann durch eine ausgiebige Suche überwunden werden. Die Korrelationsfunktion kann in einem Bereich von verschiedenen Resamplingraten bewertet werden, und es kann durch Herausfinden derjenigen Korrelationsfunktion, die die stärkste Korrelation ergibt, festgestellt werden, mit welchem Faktor die Datei erneut abgetastet wurde. Unglücklicherweise ist es möglich, einen Stegotext derart erneut abzutasten, daß sich die Tonhöhe verändert, die Gesamtzeit jedoch konstant bleibt, oder daß die Tonhöhe konstant bleibt, sich jedoch die Gesamtzeit verändert. Letzteres ist bei Rundfunkanwendungen üblich, bei denen es zum Beispiel gewünscht wird, daß ein Musikstück exakt in einen gegebenen Zeitschlitz paßt. Es gibt daher einen zweidimensionalen Raum von Suchmöglichkeiten: Der Stegotext kann in der Frequenz und/oder in der Zeit beliebig gedehnt worden sein. Wenn der Schlüssel so modifiziert wurde, daß er wie oben sich wiederholende Spalten enthält, ist die Autokorrelationsfunktion breit, weshalb der Bereich an möglichen Zeitdehnungen nur selten abgetastet zu werden braucht; nichtsdestotrotz ist die Rechenlast dafür groß.
  • Die vorliegende Erfindung schafft jedoch eine Lösung für dieses Problem. Bei einer sorgfältigen Betrachtung der Auswirkungen einer Dehnung relativ zu einem festen Ursprung auf den Schlüssel ist zu sehen, daß die relativen Auswirkungen der Dehnung über den Schlüssel konstant sind; es sind die absoluten Auswirkungen, die sich verändern und die zu dem obigen Problem führen. Bei der vorliegenden Ausführungsform wird das Schlüsselmuster so modifiziert, daß mehr höhere Raumfrequenzen aus dem Ursprung herausgefiltert werden.
  • Für die Zwecke der folgenden Diskussion werden der Covertext, der Stegotext und der Schlüssel als Abbildungen im logarithmischen Spektrogrammbereich betrachtet. Mit "Frequenzen" sind Raumfrequenzen in diesen Abbildungen und nicht Frequenzen im darunterliegenden Audio gemeint.
  • Zuerst wird das Problem in einer Dimension betrachtet. f(t) sei eine Sinuswelle, f(t) = sin ωt. Das Zusammendrücken um einen Faktor α ergibt g(t) = sin αωt. Der Phasenwinkel ϕ zwischen diesen Sinuswellen ist gegeben durch ϕ = αωt – ωt = ωt(α – 1). Das Bestehen darauf, daß die Korrelation zwischen f(t) und g(t), berechnet in einen geeignet gewählten Intervall um t, einen Schwellenwert übersteigt, ist gleichwertig mit einer Begrenzung des Phasenwinkels ϕ auf |ϕ| < ϕ0. Es gibt daher eine Einschränkung für ω hinsichtlich von t: |ω| < ϕ0/(α – 1)t, oder, wenn α als die größte Dehnung gewählt wird, gegen die ein Widerstand erforderlich ist, 1/ω > C|t| mit einer positiven Konstanten C. Angesichts dieser Beziehung ist es einfacher, sich auf die Zeitskala τ einer Sinuswelle zu beziehen, wobei τ = 1/ω ist.
  • Es ist nun möglich, den Frequenzgehalt einer Funktion anzugeben, die bei einer Dehnung gut mit sich selbst korreliert. Sie darf keine Frequenzkomponenten enthalten, deren Zeitskala kürzer ist als eine Schwellen-Zeitskala τ = C|t|, wobei die Konstante C den Grad der erwünschten Dehnungsfestigkeit angibt. Eine solche Funktion kann durch geeignetes Filtern eines weißen Rauschsignals erhalten werden. Es ist ein Tiefpaßfilter erforderlich, dessen Grenzfrequenz invers mit t variiert. Ein solcher Filter wird im folgenden als ein "Durchlauf"-Filter bezeichnet.
  • Wie bereits beschrieben überlappen sich bei der vorliegenden Ausführungsform die Schlüssel für aufeinanderfolgende Datenbits. Um den Überlapp zwischen den Frequenzkomponenten für einen bestimmten Zeitpunkt aufgrund einer Ausgabe des Schlüssels und der vorhergehenden oder folgenden Ausgabe zu minimieren, wird auch ein Hochpaßfilter an den Schlüssel angelegt. Der Gesamteffekt ist der eines Bandpaßfilters. Die Grenzfrequenz der Hochpaßfilters wird so durchlaufen, daß sie zu den Tiefpaßeigenschaften der benachbarten Schlüssel paßt. Dies ist im Diagramm der 8 dargestellt. Die "Bandbreite" Δ, die hinsichtlich der Zeitskala konstant ist, ist durch Δ = CT gegeben, wobei T das Intervall zwischen aufeinanderfolgenden Anwendungen des Schlüssels auf den Covertext ist. Die 9 zeigt, wie sich die Ausgaben des Schlüssels für vier aufeinanderfolgende Bits d0, d1, d2 und d3 überlappen.
  • Ein Beispiel für das Ergebnis der Anwendung eines solchen Durchlauf-Bandpaßfilters der gerade beschriebenen Art auf ein weißes Rauschsignal ist in der 10 gezeigt.
  • Gleichermaßen kann aus einem zweidimensionalen weißen Rauschmuster ein zweidimensionaler Schlüssel erzeugt werden. Dabei wird separat in jeder Dimension ein Filter mit Eigenschaften angelegt, die sich wie oben beschrieben verändern. Nach dem Filtern durchlaufen die Datenwerte eine nichtlineare Funktion, um die Bedingung –1 ≤ K(t, f) ≤ +1 in Kraft zu setzen; in dieser Ausführungsform wird der Sinus verwendet.
  • Ein Beispiel für das sich ergebende Muster erscheint im Energiespektrogramm der 11. Hier sind die Achsen die 'Zeit' und die 'Frequenz' (es ist nun die Audiofrequenz gemeint): Diese passen zu den Achsen der Spektrogramms der 3, auf das der Schlüssel angelegt wird. Der Ursprung in der Zeitrichtung liegt in der Mitte des Schlüssels, während er in der Frequenzrichtung an der Oberseite liegt. Die rechte Spalte in der 11 hat eine ähnliche Funktion wie die Skalierspalte in der 3.
  • Bei der vorliegenden Ausführungsform wird eine Bandpaßfilterung nicht nur längs der x-Achse, sondern auch längs der y-Achse ausgeführt, obwohl, da in dieser Richtung keine Ausgaben des Schlüssels überlappt werden, hier auch eine Tiefpaßfilterung ausreichen würde. Es ist möglich, die Informationsübertragungsfähigkeit des Schlüssels durch die Verwendung eines Tiefpasses statt eines Bandpaßfilters zu erhöhen.
  • Wenn der Wert der Konstanten C in der obigen Gleichung vergrößert wird, wird der damit erzeugte Schlüssel widerstandsfähiger gegenüber größere Dehnungen. Die Hochpaß- und Tiefpaßfiltereigenschaften rücken näher zusammen, so daß das Durchlaßband des Filters enger wird. Dadurch verringert sich die Informationsübertragungsfähigkeit des Schlüssels. Zwischen der Dehnungsfestigkeit und der Informationsübertragungsfähigkeit ist daher ein Kompromiß zu schließen. Bei der vorliegenden Ausführung ist C = 0,15 (Pixel pro Zyklus) pro Pixel, und der so erzeugte Schlüssel arbeitet unter Dehnungen von bis zu ±6% in entweder der Zeit- oder der Frequenzrichtung zufriedenstellend. Es ist ersichtlich, daß die obige Definition von C sich auf Pixel bezieht. Im vorliegenden Zusammenhang hat die Bezeichnung Pixel verschiedene Bedeutungen, wenn das Filtern in der horizontalen Richtung des Spektrogramms und das Filtern in der vertikalen Richtung betrachtet wird.
  • In der horizontalen Richtung wird die Bezeichnung Pixel dazu verwendet, das Zeitintervall zwischen Spalten des Spektrogramms zu bezeichnen. Wenn das Filtern in der vertikalen Richtung betrachtet wird, wird die Bezeichnung Pixel dazu verwendet, den Frequenzunterschied zwischen zwei benachbarten Zeilen des Spektrogramms zu bezeichnen.
  • In der 11 ist somit ein horizontales Pixel etwa 23 Millisekunden groß, während es in der vertikalen Richtung etwa 22 Hz groß ist.
  • Durch die Verwendung der Formel τ > C|t| für das Durchlaßband des Tiefpaßfilters wird τ in Pixel pro Zyklus gemessen, und t stellt die x- oder y-Koordinate des betrachteten Punktes des Spektrogramms dar, gemessen in Pixel wie oben definiert, von einem Bezugspunkt oder dem Ursprung. In der 11 liegt der Bezugspunkt in der Mitte des oberen Randes des Bildes. Dieser Bezugspunkt wird so gewählt, daß er der Frequenz Null entspricht. Es ist möglich, andere Bezugspunkte zu wählen, die Frequenzbedingung Null ist jedoch vorzuziehen.
  • Die Spitzenkorrelation eines typischen Schlüssels mit sich selbst nach einem Bereich von Dehnungen sowohl in der Frequenz als auch in der Zeit ist in der 12 gezeigt. Die Werte wurden so normalisiert, daß die Spitzen-Autokorrelation des Schlüssels gleich 1 ist.
  • Wenn die zweidimensionale Korrelation zwischen dem Schlüssel und dem Stegotext berechnet wird, wird festgestellt, daß die Korrelationsspitze sich etwas von der Linie y = 0 weg bewegen kann, wenn der Stegotext in der Frequenz gedehnt wurde. Aus diesem Grund wird bei der vorliegenden Ausführungsform eine zweidimensionale Korrelation verwendet; die Werte der Funktion bei kleinen Verschiebungen in der y-Richtung werden zusammenaddiert, um eine eindimensionale Funktion zu bilden, die zum Bit-Synchronisierer weitergegeben wird.
  • Die 23 zeigt ein Flußdiagramm für die Erzeugung eines Schlüssels K.
  • Im Schritt K1 wird eine ganze Ausgangszahl eingegeben und im Schritt K2 diese Zahl zu einem Tausworthe-Generator geführt, der gleichmäßig verteilte Zufallzahlen erzeugt. Das Ausgangssignal des Tausworthe-Generators wird im Schritt K3 dann durch das Box-Cox-Verfahren in eine Gauß-Verteilung von 1-d verteilten Zufallszahlen umgewandelt. In einem Schlüssel mit x = 32 und y = 1024 gibt es 32768 solche Zufallszahlen. Der vom Tausworthe-Generator und dem Box-Cox-Verfahren ausgeführte Prozeß ist in "Principle of Random Variate Generation" vollständig beschrieben, einem Buch von John Dagpunar, das in der Reihe Oxford Science Publication der Clarendon Press 1988 erschienen ist.
  • Im Schritt K4 werden die 32768 Zufallszahlen in einem 2-d-Array von 32 × 1024 Zufallszahlen angeordnet.
  • Im Schritt K5 wird die oben beschriebene 2-d-Durchlauffilterung ausgeführt.
  • Im Schritt K6 durchlaufen die Datenwerte eine nichtlineare Sinusfunktion, um die Bedingung –1 ≤ K(t, f) ≤ +1 in Kraft zu setzen.
  • Schließlich kann im Schritt K9 der Schlüssel entweder unmittelbar in einem Kodierer oder Dekoder angewendet oder in einem geeigneten, auslesbaren Speicher gespeichert werden.
  • Alle diese Prozesse können in einem geeignet programmierten Computer wie bei 300 gezeigt ausgeführt werden und in einem Speichermedium 301 gespeichert werden, das eine CD, ein ROM, eine DVD, ein Band oder jedes andere geeignete Speichermedium sein kann.
  • Nach dieser Beschreibung der grundlegenden Schritte und der Prinzipien des Kodierens eines Covertextes gemäß der vorliegenden Erfindung zeigt die 13 eine Blockdarstellung eines Kodierers.
  • Wie in den vorherigen Figuren bezeichnet (10) einen Covertext, bei der vorliegenden Ausführungsform Musik, der zu kodieren ist, und (15) den entstehenden Stegotext.
  • In der Schaltung (51) wird der Covertext in ein logarithmisches abs-Spektrogramm umgewandelt.
  • Das so erzeugte Spektrogramm wird zu einer FFT-Schaltung (51) geführt, in der das aufgenommene Spektrogramm von einem Taktgeber (52) in einen Spektrogrammpuffer eingetaktet wird. Die FFT-Schaltung (51) führt die überlappende Segmentierung des eingegebenen Spektrogramms und die in der 6 beschriebene Fensterfunktion aus. Der Taktgeber (52) stellt sicher, daß der Inhalt des Spektrogrammpuffers (53) in Spektrogrammform eine Menge an Musik darstellt, die gleich der Länge des Schlüssels ist, bei der vorliegenden Ausführungsform 256 oder 32 Spalten.
  • Die einzukodierenden Daten werden bei (55) einer Schaltung (54) zugeführt, um wie bereits beschrieben Synchronisationsflags hinzuzufügen und ein Auffüllen mit Nullen auszuführen.
  • Das Ausgangssignal der Schaltung (54) wird dem Konvolutionskodierer (56) zugeführt, der dem mit Bezug zu der 5 beschriebenen Kodierer entspricht und dem bei (57) die erforderlichen Polynome zugeführt werden.
  • Die Schlüsselmatrix wird dem Kodierer bei (58) in eine Schaltung (59) zugeführt, in der die Schlüsselmatrix in einen Satz von Werten umgewandelt wird, der direkt in das im Spektrogrammpuffer (53) festgehaltene Spektrogramm multipliziert werden kann. Diese Werte haben die Form von zwei Matrizen, eine zum Einkodieren eines Null-Bits und eine andere zum Enkodieren eines Eins-Bits. Diese Matrizen sind die Antilogarithmen des Schlüssels und das Reziproke des Antilogarithmusses des Schlüssels. Die Operation des Multiplizierens dieser Matrizen in das festgehaltene Spektrogramm ist gleichwertig dem Addieren oder Subtrahieren im logarithmischen Spektrogrammbereich.
  • Das Ausmaß der Stärke, mit der der Schlüssel den Inhalt des Puffers (53) moduliert, wird durch ein Eingangssignal (60) bestimmt. Dieses Eingangssignal entspricht der realen Konstanten s in der Gleichung 2.
  • Die beiden Matrizen werden selektiv mit dem Inhalt des Spektrogrammpuffers (53) gemultiplext, wie es bei (61) gezeigt ist, wobei die Auswahl entsprechend dem Ausgangssignal des Konvolutenkodierers (56) erfolgt, so daß die im Puffer (53) gespeicherte Musik mit einem einzigen Bit an Daten kodiert wird. Der Inhalt des Puffers (53) wird für jedes in die IFFT-Schaltung (62) eingeschriebene Bit um eine Taktperiode verschoben, so daß die Hauptkodierschleife für jedes eingeschriebene Bit einmal ausgeführt wird.
  • Das Ausgangssignal der IFFT-Schaltung (62) wird zu einem Anti-Clip-Puffer (63) geführt. Dadurch wird sichergestellt, daß die aus der Schaltung (62) ausgelesenen Daten nicht abgeschnitten werden, wenn die Daten als Musikdatei ausgeschrieben werden. Wenn ein Abschneiden vorliegt, wird eine Amplitudenmodulationskurve erzeugt, um die Lautstärke des Ausgangssignals allmählich so zu verringern, daß das Abschneiden gerade vermieden wird. Wenn es wieder sicher möglich ist, wird die Lautstärke wieder allmählich auf Normal erhöht.
  • Schließlich wird das Ausgangssignal aus der Anticlipschaltung (63) als der Stegotext (15) ausgegeben.
  • Die 13 zeigt auch einen Scrambler 65. Es können viele mögliche Scrambler verwendet werden, ein typischer Scrambler ist im Standard V32 der CCITT beschrieben. Das Vorsehen eines Scramblers ist optional, wie beim Konvolutenkodierer.
  • Die vorstehende Beschreibung umfaßt aus Gründen der Vereinfachung die Verwendung eines einzigen Schlüssels. Natürlich kann auch mehr als ein Schlüssel verwendet werden, wobei jeder Schlüssel durch eine andere ganze Ausgangszahl erzeugt wird. Außerdem können Vielfache des Schlüssels oder der Schlüssel zum Versehen eines Stegotextes mit einem Wasserzeichen verwendet werden. Bei der oben beschriebenen Ausführungsform ist das Vielfache gleich "1", so daß, wenn immer ein Vielfaches von einem Schlüssel erwähnt wird, impliziert wird, daß das Vielfache gleich "1" sein kann, d.h. der Schlüssel abgesehen von seinem Vorzeichen unverändert bleibt.
  • Die Weise, in der zwei oder mehr verschiedene Schlüssel zum Versehen eines Stegotextes mit einem Wasserzeichen oder zum Auslesen des Wasserzeichencodes verwendet werden, verläuft vollständig analog zu den in dieser Beschreibung beschriebenen Ausführungsformen. Wenn es mehr als einen Schlüssel gibt, erfolgt die Feststellung, welcher Schlüssel zu einem gegebenen Zeitpunkt in das Spektrogramm bei (61) einmultipliziert wird, anhand der einzukodierenden Daten. Wenn andere Vielfache als ±1 zum Modulieren des Spektrogramms verwendet werden, können jedesmal mehr als 1 Bit einkodiert werden. Beim Dekodieren wird natürlich der gleiche Satz von Vielfachen verwendet.
  • Nach dieser Beschreibung einer Ausführungsform eines erfindungsgemäßen Kodierers wenden wir uns nun dem Problem des Dekodierens und des Wiedergewinnens der einkodierten Daten aus einem Stegotext zu, der einer Kompression oder Dehnung ausgesetzt wurde.
  • Nach der Beschreibung der Eigenschaften des Schlüssels, der im Kodierer der 13 zum Modulieren des Energiespektrums des Covertextes verwendet wird, ist ersichtlich, daß beim Dekodieren eines Stegotextes zum Extrahieren der Wasserzeichendaten die Datenbits durch eine Korrelation des Schlüssels mit dem Energiespektrogramm des Stegotextes identifiziert werden können. Wenn kein Angriff auf den Stegotext erfolgt ist und der Stegotext nicht anderweitig gedehnt oder komprimiert wurde, gibt es eine klare Korrelation zwischen dem Stegotext und dem Schlüssel bei denjenigen logarithmischen Elementen, die entsprechend den Daten modifiziert wurden.
  • Der oben beschriebene Schlüssel ist in der Lage, mit Verzerrungen des Stegotextes fertig zu werden, die Dehnungen des Stegotextes von ±6% in sowohl die vertikale als auch die horizontale Richtung umfassen.
  • Um solche Fälle zu behandeln, bei denen der Stegotext eine größere Dehnung als die ±6% erfahren hat, die der Schlüssel erlaubt, sind eine Anzahl von Vorgehensweisen möglich.
  • Bei der vorliegenden Ausführungsform wird eine Vorgehensweise angewendet, die keine direkte Korrelation umfaßt, was nun genauer beschrieben wird. Vor einer Beschrei bung der Schaltungen eines Dekoders dafür erfolgt zuerst eine allgemeine Darstellung der zugrundeliegenden Prinzipien.
  • Die meisten Demodulatoren und Dekoder in der Welt sind so konstruiert, daß sie unter der Annahme optimal sind, daß das gewünschte Signal durch Rauschen verschlechtert ist, das additiv, weiß, stationär und ein Gauß'sches Rauschen ist. Die meisten sind auch in dem Sinn eindimensional, daß zu jedem einzelnen Zeitpunkt nur ein realer Wert aufgenommen wird; einige sind zweidimensional. Bei der vorliegenden Ausführungsform werden Signale angetroffen, bei denen zu jedem Zeitpunkt viele reale Werte in der Form einer ganzen Spektrogrammspalte aufgenommen werden.
  • Rauschen ist dann ein Gauß-Rauschen, wenn für jede individuelle Probe die marginale Wahrscheinlichkeitsverteilung für den Wert des Rauschens in der Probe (das ist die Verteilung, die beobachtet wird, wenn die Werte der anderen Proben nicht beachtet werden) eine Gauß- oder Normal-Verteilung mit dem Mittelwert Null ist.
  • Rauschen ist dann weiß, wenn im Fourierspektrum des Rauschens die marginale Wahrscheinlichkeitsverteilung jedes individuellen Elements dieses Spektrums die gleiche ist wie die marginale Wahrscheinlichkeitsverteilung für jedes andere Element.
  • Es ist dann stationär, wenn die marginale Wahrscheinlichkeitsverteilung jeder Zeitbereichsprobe die gleiche ist wie die für jede andere Probe und die gemeinsame Wahrscheinlichkeitsverteilung für jeden Auszug aus dem Rauschen mit einer gegebenen Länge die gleiche ist wie die für jeden anderen solchen Auszug.
  • In nahezu allen Fällen gelten diese Annahmen nur bis zu einem gewissen Grad. Im allgemeinen ist dies nicht so wichtig. Bei der vorliegenden Erfindung sind die Ausnahmen von diesen Annahmen jedoch von sehr großer Bedeutung und werden dementsprechend genauer erläutert.
  • Zum Beispiel kann Student-Rauschen als Beispiel für ein nicht-Gauß'sches eindimensionales Rauschen betrachtet werden. Die Student-Verteilung ist wie eine Gauß-Verteilung, mit der Ausnahme, daß die Standardabweichung für jede Probe anders ist; insbesondere wird die inverse Varianz für jede Probe wieder neu aus einer Gammaverteilung gezogen.
  • Die 14 und 15 zeigen einen Auszug aus einem eindimensionalen weißen Gauß-Rauschen der Varianz 1 bzw. einem eindimensionalen weißen Student-Rauschen (mit einem Formparameter m für die zugehörige Gammaverteilung gleich 1 und so skaliert, daß die Varianz ebenfalls 1 ist). Beide weisen die gleiche Varianz auf – und sie sehen doch ganz unterschiedlich aus. Das Rauschen mit der Student-Verteilung weist etliche große Spitzen auf, die in einem Rauschen mit Gauß-Verteilung nur äußerst selten auftreten.
  • In Situationen, in denen das Rauschen impulsiv ist und in denen Außenstehende (unter der Annahme einer Gauß-Verteilung) zu Schlüssen kommen können, die alles andere als richtig sind, ist dies von Bedeutung.
  • Ein anderes Beispiel für nicht-Gauß'sches Rauschen, das nicht so häufig angetroffen wird, ist das Rauschen, das wie der Logarithmus des Verhältnisses von zwei Größen verteilt ist, die jeweils eine Gammaverteilung aufweisen. Ein solches Rauschen kann viele nach unten gerichtete Spitzen aufweisen, jedoch keine nach oben zeigende (oder andersherum). Es zeigt sich, daß ein solches Rauschen für das Audio-Wasserzeichen-Problem relevant ist.
  • Nicht-weißes Rauschen kann in mehr Fällen auftreten, als unmittelbar offensichtlich erscheint. Ein Beispiel dafür ist gefärbtes Rauschen. Es ist dies Rauschen, in denen einige Frequenzen mehr vorhanden sind als andere, wobei das Rauschen jedoch stationär ist. Typisch sind ein "rosa" Rauschen, in dem niedrige Frequenzen vorherrschen; ein bandbegrenztes Rauschen, aus dem andere Frequenzen herausgefiltert wurden; und ein "1/f"-Rauschen, in dem die spektrale Energiedichte bis herunter zu einem Grenzwert größer Null proportional zur Frequenz ist.
  • Im allgemeinen gibt es noch andere Arten von nicht-weißem Rauschen.
  • Ein Beispiel ist nichtstationäres 1-d-Rauschen. Wenn nur eine Dimension betrachtet wird, kann das Rauschen nichtstationär sein; zum Beispiel das Rauschen eines Widerstands, der zu nahe an einer intermittierend Wärme abgebenden Quelle liegt; oder das Rauschen nach einem Filter mit einer sich ändernden Kapazität (wodurch sowohl eine Änderung der "Farbe" als auch eine Änderung der Amplitude mit der Zeit verursacht werden).
  • Wenn alternativ das Signal multidimensional ist, kann das Rauschen in verschiedenen Dimensionen korreliert werden, auch wenn das/die Signale) in der Zeit stationär ist/sind. Alternativ kann das Rauschen in einigen Kanälen/Dimensionen eine größere Amplitude haben als in anderen. Und natürlich gibt es nichts, was multidimensionales Rauschen davon abhalten könnte, auch in der Zeit nicht-stationär zu sein – wie es nicht unvernünftig ist, es bei einem logarithmischen abs-Spektrogramm von Musik zu erwarten.
  • Im allgemeinen kann eine Verletzung dieser Annahmen wichtig sein bei dem Versuch, ein Wasserzeichen in einem Stegotext zu dekodieren. Experimente haben jedoch deutlich gezeigt, daß, wenn der interessierende Punkt beim Dekodieren von Wasserzeichen der Art, die die vorliegende Erfindung betrifft, und insbesondere bei Musik, die Widerstandsfähigkeit ist, dann ein nicht-Gauß'sches Verhalten von geringer Bedeutung ist, während allgemein ein nicht-weißes Verhalten in der Form von sowohl Korrelationen zwischen Signalen zwischen Komponenten von verschiedenen Frequenzen als auch von Variationen in der Amplitude bei verschiedenen Frequenzen sehr von Bedeutung ist. Ein Dekoder, der ein nicht-Gauß'sches Verhalten berücksichtigt, ist vorteilhaft bei der Erzeugung von empfindlicheren Werten für verschiedene Zwischenvariable in den Berechnungen; während ein Dekoder, der ein nicht-weißes Verhalten nicht berücksichtigt, in der Leistungsfähigkeit abfällt und Speicher vergeudet und Flops.
  • Grundlage des folgenden ist das Konzept einer multidimensionalen Gauß-Verteilung. Es sei x ein N-Vektor aus realen Zahlen (d.h. es ist ein Spaltenvektor mit N Elementen). μ sei der Mittelwert der Verteilung von x (auch ein N-Vektor).
  • Wie im eindimensionalen Fall gibt es eine Variable σ, die die Standardabweichung angibt (oder alternativ bezeichnet s 1/σ2), im N-dimensionalen Fall gibt eine N × N-Matrix S von realen Zahlen, die eine ähnliche Rolle spielt wie s im eindimensionalen Fall, jedoch mit größerer Komplexität.
  • Es werde zunächst ein zweidimensionaler Fall betrachtet, bei dem die Verteilung von x sphärisch (d.h. kreisförmig) symmetrisch um μ ist. In diesem Fall sieht jeder Schnitt durch die Verteilung, der durch μ verläuft, wie eine eindimensionale Gauß-Verteilung mit zum Beispiel der Standardabweichung σ aus. In diesem Fall ist S gleich I/σ2, wobei I die Einheitsmatrix bezeichnet. Wenn die Verteilung nicht zirkular ist, sondern eine elliptische Symmetrie aufweist, wobei die lange Achse der Ellipse zu einer der Koordinatenachsen ausgerichtet ist, ist S eine Diagonalmatrix, bei der die beiden diagonalen Elemente verschieden und positiv sind. Wenn die Ellipse nicht zu den Koordinatenachsen ausgerichtet ist, ist S eine symmetrische 2 × 2-Matrix, deren Elemente alle von Null verschieden sind und deren diagonale Elemente positiv sind. Die Inverse V von S ist als Kovarianzmatrix der Verteilung bekannt, und S wird als Ikov-Matrix bezeichnet (Abkürzung für inverse Kovarianz).
  • S besitzt eine weitere wichtige Eigenschaft: Sie ist positiv definit, was heißt, daß für jeden von Null verschiedenen Vektor y y'Sy ein positiver Skalar ist (mit ' ist hier die Transposition bezeichnet; y'Sy ist immer ein Skalar, es kann jedoch nur dann garantiert werden, daß er immer positiv ist, wenn S ist positiv definit ist und y ungleich von Null).
  • Im N-dimensionalen Raum gilt das gleiche, mit der Ausnahme, daß "Kreis" durch "N-dimensionale Kugel" und "Ellipse" durch "N-dimensionales Ellipsoid" ersetzt wird.
  • In diesem Fall ist die Formel für die Wahrscheinlichkeitsdichte einer solchen Verteilung:
  • Figure 00180001
  • Es sei nun erforderlich, eine "zufällige" n-dimensionale Gauß-Verteilung mit dem Mittelwert Null zu betrachten. "Zufällig" hat natürlich keine richtige Bedeutung, bis angegeben wird, aus welcher Verteilung es genommen wird; was erforderlich ist, ist eine Verteilung von N-dimensionalen Gauß-Verteilungen mit dem Mittelwert Null. Dies führt zu einem Erfordernis nach einer Verteilung von Ikov-Matrizen; oder eine von positiv definiten symmetrischen N × N-Matrizen S.
  • Eine Verteilung, die diese Anforderungen erfüllt, ist die Wishart-Verteilung.
  • Die Wishart-Verteilung weist zwei Parameter auf (außer N), das heißt k, den "Dichte"- oder "Form"-Parameter, und V, die "Skalenmatrix". k muß größer sein als N – 1; um so größer es ist, um so dichter ist die Verteilung um ihren Mittelwert. V muß positiv definit und symmetrisch sein. Der Mittelwert ist kV–1. Die Dichte ist
  • Figure 00180002
  • Wenn N 1 ist, degeneriert dies zu einer Gamma-Verteilung. Wenn m und r der Form- bzw. Skalenparameter der Gamma-Verteilung ist, dann ist V gleich 2r und k gleich 2m.
  • Bei der obigen Diskussion des eindimensionalen Student-Rauschens wurde bemerkt, daß für jede Probe ein neuer Wert s = 1/σ2 aus einer Gamma-Verteilung entnommen wurde, wobei die tatsächliche Probe dann aus einer 1-d-Gauß-Verteilung mit dem Mittelwert Null und der inversen Varianz s entnommen wurde.
  • Ein Weg zur Erzeugung von multidimensionalem Student-Rauschen ist dann, für jede Probe eine neue Ikov-Matrix S zu entnehmen und dann die Probe selbst aus einer multidimensionalen Gauß-Verteilung mit dem Mittelwert Null und der Ikov-Matrix S zu entnehmen. Jede neue Ikov-Matrix sollte einer Wishart-Verteilung mit geeigneten Parametern k und V entnommen werden.
  • In dem speziellen Fall, daß die Skalenmatrix V der Wishart-Verteilung von der Form rI mit einer positiven realen Zahl r ist, ist die Student-Verteilung sphärisch symmetrisch und gegeben durch:
  • Figure 00190001
  • Die Wahrscheinlichkeitsverteilung der Distanz R von x vom Ursprung kann dann geschrieben werden
  • Figure 00190002
  • Es ist nun möglich zu erkennen, wie das logarithmische abs-Spektrogramm von Musik tatsächlich aussieht. Es kann als multidimensionales Student-Rauschen nachgebildet werden, eine viel bessere Anpassung wird jedoch erhalten, wenn es etwas anders modelliert wird. Anstelle des Entnehmens einer neuen Ikov-Matrix für jede Probe wird entweder für jede Bitperiode einmal eine neue Ikov-Matrix entnommen oder weniger häufig. Dann wird jede Probe aus der sich ergebenden quasi-Student-Verteilung als eine Spalte des Spektrogramms betrachtet. Aus Gründen, die später offensichtlich werden, wird dies die "detV"-Verteilung genannt.
  • Die Frage nach den Parametern der zugehörigen Wishart-Verteilung wird später in dieser Beschreibung noch angesprochen. Idealerweise werden diese Parameter für einen breiten Musikkörper bestimmt, in der Praxis macht es wahrscheinlich jedoch keinen gro ßen Unterschied, wenn nur eine kleine Anzahl von Stücken verwendet wird, vorausgesetzt diese enthalten Repräsentationen der Art von Musik, die vermutlich angetroffen wird. Die "verbleibende Unsicherheit" kann von einer Wishart-Verteilung aufgenommen werden, deren k nicht wesentlich größer ist als N.
  • Der spezielle Fall, daß die Wishart-Skalenmatrix V eine sehr kleine Vielfache der Einheitsmatrix ist (in der Praxis als e–12I angenommen), wird als "detZ"-Verteilung bezeichnet. "Z" steht hier für Null.
  • Nach dieser Beschreibung des Hintergrundes ist es nun möglich, die Eigenschaften von Dekodern festzulegen, die dazu verwendet werden können, um Stegotexte zu dekodieren, die gemäß der vorliegenden Erfindung erzeugt wurden. Jeder Dekoder ist so aufgebaut, daß er für ein bestimmtes Modell des Rauschens (d.h. des Covertextes oder der Musik) ein optimaler, speicherloser Bit-für-Bit-Dekoder ist. Als solches berechnet jeder Dekoder die Bayes-Nachverteilung des interessierenden Datenbits im Lichte dessen, was erhalten wurde, und wählt dann den Wert (0 oder 1) mit der höchsten Posterior-Wahrscheinlichkeit aus. Es ist anzumerken, daß das Wort "optimal" hier eine sehr eigene Bedeutung hat – der Dekoder ist derjenige, der das beste Ausgangssignal erzeugt, ohne Rücksicht darauf, ob er bei der Ausführung der billigste oder der teuerste Dekoder ist.
  • Es ist klar, daß ein Dekoder nur dann wirklich optimal ist, wenn das verwendete Modell exakt ist. Wenn nicht, verringert sich die effektive Kapazität des Kanals.
  • Es ist somit möglich, den Dekoder unter Verwendung einer Korrelationsfunktion auszuführen, wobei schnelle Fourier-Transformationen dazu verwendet werden, um einen speicherlosen Bit-für-Bit-Dekoder zu erstellen, wobei angenommen wird, daß das "Rauschen" stationär, weiß und ein Gauß-Rauschen ist. Die Tatsache, daß diese Annahme nicht zutrifft, führt zu einem sehr großen Kapazitätsverlust, wenn die Signalstärke auf 0,005 verringert wird. Dieser Verlust läßt sich dadurch etwas ausgleichen, daß alle Niederfrequenzkomponenten des Schlüssels weggeworfen werden, der Verlust ist jedoch auch dann noch groß.
  • Entsprechend umfassen die zu beschreibenden Ausführungsformen eines Dekoders ein geändertes Rauschmodell, bei dem das Rauschen als ein nicht-weißes, multidimensionales Gauß-Rauschen definiert wird, das darauf beschränkt ist, in der Zeit stationär zu sein und eine bekannte Ikov-Matrix zu besitzen.
  • Für dieses Rauschmodell läßt sich ein Dekoder extrem einfach aufbauen: Es wird die bekannte Ikov-Matrix S genommen, deren Cholesky-Zersetzung ausgebildet (d.h. ihre dreieckige positiv-definite Quadrat-Transposition-Wurzel C wie C'C = S), und sowohl das logarithmische abs-Spektrogramm des erhaltenen Signals als auch der Schlüssel werden vorab mit C multipliziert. Da der Prozeß der Vorab-Multiplikation mit C das angenommene nicht-weiße Rauschen in weißes Rauschen umwandelt, kann dieser Dekoder ein "Geweißter Gauß-Dekoder" genannt werden.
  • Dieser Dekoder arbeitet gut, wenn die Ikov-Matrix S tatsächlich das Rauschen (d.h. das logarithmische abs-Spektrogramm der Musik) nachbildet. Um zu sehen warum, kann das Rauschen als eine sehr langgestreckte Ellipse im N-Raum betrachtet werden. Bei diesem Dekoder wird das Ellipsiod zu einer Kugel gedehnt, während gleichzeitig das übertragene Signal im gleichen Ausmaß in jede Richtung gestreckt wird. Das Ergebnis ist, daß der Teil des Signals, der parallel zur kürzesten Achse des Ellipsoids ist, enorm gestreckt wird, weit über das Rauschen hinaus, und daher leicht zurückzugewinnen ist.
  • Dieser Dekoder bekommt jedoch Probleme, wenn das S, das er verwendet, nicht das der Musik ist, dessen Wasserzeichen dekodiert wird. Intuitiv passiert dies, weil, statt das Rauschen in eine Kugel zu strecken, es zu einem anderen langgestreckten Ellipsoid gestreckt wird – weshalb die absolute Größe des Rauschens im Vergleich zu der des gestreckten Signals groß bleiben kann. So verlangt dieses Verfahren zumindest die Verfügbarkeit der richtigen Ikov-Matrix für jedes Musikstück zum Zeitpunkt des Auslesens des Wasserzeichens, was bereits einen erheblichen Nachteil darstellt.
  • Die Situation ist jedoch wegen der Tatsache, daß die Operationen im logarithmischen abs-Spektrogramm-Bereich erfolgen, noch viel schlimmer. Bei der Verzerrung, die aus dem Addieren von weißem Gauß-Rauschen zum Musiksignal im Zeitbereich besteht, würde dies einfach alle die kleinen Dimensionen des Ellipsoids etwas aufweiten, wenn die Operationen im Zeitbereich erfolgen. Damit dies im logarithmischen abs-Spektrogramm-Bereich gilt, muß jedoch das hinzugefügte Verzerrungsrauschen sich im Spektralgehalt auf eine Weise dauernd ändern, die genau proportional zum Spektralgehalt der Musik ist. Da dies nicht der Fall ist, ist ein komplizierteres Verhalten zu erwarten. Es stellt sich heraus, daß dieses Verhalten das Drehen des Ellipsoids derart umfaßt, daß es in eine oder mehrere verschiedene Richtungen zeigt, und der Dekoder versagt auf exakt die gleiche Weise wie wenn die Ikov-Matrix eines anderen Musikstücks verwendet wird.
  • Um diese Probleme zu überwinden, nutzt der zu beschreibende Dekoder die "detV"-Verteilung – d.h. eine multidimensionale Gauß'sche Rauschverteilung mit einer unbekannten Ikov-Matrix aus einer Wishart-Verteilung, die über die Periode von 1 Bit lokal konstant ist. Dadurch wird die Tatsache berücksichtigt, daß weder die ursprüngliche Ikov-Matrix der Musik, von der dekodiert wird, noch die exakten Auswirkungen davon auf die Verzerrungen bekannt sind, die in der Verteilung aufgetreten sind – es ist jedoch bekannt, daß eine solche Matrix existiert.
  • Der zu beschreibende Dekoder ist daher so aufgebaut, daß er für dieses Rauschmodell der optimale Dekoder ist. Entsprechend wird bei den im folgenden beschriebenen Ausführungsformen der Dekoder zum Berechnen anhand des erhaltenen Signals eine Wahrscheinlichkeitsannäherung genutzt, die Nachverteilung für jedes Datenbit. Dazu nutzen die zu beschreibenden Dekoder das Bayes-Theorem.
  • Es werde dazu das Signal betrachtet, das während einer 1-Bit-Periode erhalten wird, das aus M Spalten des logarithmischen abs-Spektrogramms besteht, die jeweils ein Vektor aus N Elementen sind.
  • Es wird angenommen, daß der Mittelwert der Rauschverteilung Null ist. Wenn der tatsächlich beobachtete Mittelwert des gesamten Spektrogramms subtrahiert wird, ist dies nahezu äquivalent zu der Aussage, daß der Mittelwert unbekannt ist, und daß a priori angenommen wurde, daß er genausogut jeden beliebigen Wert annehmen kann.
  • Es sei nun K der Wert des Schlüssels im logarithmischen abs-Spektrogramm-Bereich, der tatsächlich benutzt wurde – d.h. er wurde bereits mit der Stärke multipliziert mit der er verwendet wurde (und jede Verwendung von 10 anstelle von e als Basis für den Logarithmus erlaubt wurde). Wenn der Schlüssel aus M Spalten mit jeweils der Höhe N besteht, dann ist K eine N × M-Matrix. Es sei b der Wert des fraglichen Bits; es wird angenommen, daß es kein überlappendes Bit gibt, da sich herausstellt, daß es für den Dekoder so wenig Unterschied macht, ob es überlappende Bits gibt oder nicht, daß zur Vereinfachung angenommen werden kann, daß es keine gibt. Es sei einfach b gleich +1 oder –1 statt 1 oder 0. X sei die Matrix, die aus den M Spalten des logarithmischen abs-Spektrogramms der Musik besteht, auf die b als Wasserzeichen aufgebracht wurde. Y seien die erhaltenen logarithmischen abs-Spektrogramm-Spalten, die im Stegotext X entsprechen. Es wird an dieser Stelle angenommen, daß die Zeitgebung bekannt ist.
  • P(b|Y) ist nun zu bestimmen. Außerdem wäre es natürlich gut,
    Figure 00220001
    (oder dessen Logarithmus) zu kennen, und wenn dies größer als 1 (beziehungsweise positiv) ist, b = 1 zu dekodieren und anderenfalls b = –1.
  • Was ist die Ausgangsinformation? Dies läßt sich in den folgenden Gleichungen zusammenfassen:
    Figure 00220002
    (unabhängig davon, ob b = +1 oder –1 ist)
    Figure 00220003
    wobei xm die m-te Spalte von X bezeichnet und k und V die Parameter der relevanten Wishart-Verteilung sind.
  • Der Dekoder wendet dann wie in den folgenden Gleichungen gezeigt das Bayes-Theorem an, und die erforderlichen Posterior-Wahrscheinlichkeiten für die aufeinanderfolgend erhaltenen Datenbits zu finden.
  • Figure 00230001
  • Die obige Gleichung 13 folgt durch Einsetzen der Gleichung 7 aus der Gleichung 12. Die Gleichung 14 folgt durch Einsetzen der Gleichung 8.
  • Die Gleichung 15 wird unter Verwendung der grundlegenden Wahrscheinlichkeitstheorie, die angibt, daß P(A) = ∫P(A, B)dB ist, d.h. daß die Wahrscheinlichkeit einer Verbindung von nicht zusammenhängenden Ereignissen die Summe oder das Integral der einzelnen Wahrscheinlichkeiten ist, aus den obigen Gleichungen abgeleitet, und durch die Definition der bedingten Wahrscheinlichkeit, die angibt:
  • Figure 00240001
  • Die Gleichung 16 folgt aus der Gleichung 15 durch die Verwendung der Gleichung 9. Die Gleichung 17 folgt unter Verwendung der Gleichung 10 aus der Gleichung 16. Schließlich wird die Gleichung 18 durch Vereinfachen unter Zusammenfassen von Faktoren erhalten.
  • Die Integration der Gleichung 18 ist ausgesprochen kompliziert, sie ergibt die Gleichung 19, aus der die Gleichung 20 folgt. Die Gleichung 20 wird aus der Gleichung 19 durch Teilen der Version der Gleichung 19 mit b = 1 durch die Version mit b = –1 erhalten.
  • Figure 00240002
  • Da das Dekodieren von detV zentral für den besten Algorithmus ist, wird nun die beste Art zum Bewerten der rechten Seite dieser letzten Gleichung erläutert.
  • Es sei W die Cholesky-Zerlegung von V derart, daß W'W = V ist. Es sei U = W–1. Dann ist U'VU = I. Damit ist
  • Figure 00240003
  • Figure 00250001
  • Dann wird die Einzelwertzerlegung (SVD) am Inhalt der innersten Klammern angewendet. Die SVD ermöglicht es, jede Matrix als das Produkt einer orthogonalen Matrix, einer diagonalen Matrix und einer weiteren orthogonalen Matrix zuschreiben. Die SVD ist zweimal anzuwenden, einmal für die Klammern im Zähler und einmal für die Klammern im Nenner. Der Vorgang wird anhand des Zählers dargestellt.
  • U'Y – U'K ist daher eine Matrix, und die SVD erlaubt die Berechnung von L, D und R derart, daß LDR = U'Y – U'K (Gleichung 24) ist, wobei L und R orthogonale Matrizen sind und D eine diagonale Matrix ist. Die nächsten sieben Gleichungen folgen nacheinander aus der Gleichung (24). LDR' = U'Y – U'K ∴ det(I + (U'Y – U'K)(U'Y – U'K')') = det(I + LDR'(LDR')') = det(I + LDD'L') = det(LL' + LDD'L) = det(L(I + DD')L') = det(I + DD') (24)
  • In diesen Gleichungen sorgt die Orthogonalität von R für R'R = I (und gleichermaßen bei L), wobei die letzte Zeile aus der Tatsache folgt, daß det(L) = det(L') = ±1, da L orthogonal und real ist.
  • I + DD' ist jedoch eine diagonale Matrix, die aus diagonalen Matrizen berechnet wird, ihre Determinante ist daher das Produkt der Elemente in ihrer Diagonalen, von denen jedes einfach zu bewerten ist. Es ist damit überhaupt nicht erforderlich, L oder R zu kennen, nur D.
  • Nach dieser Diskussion der grundlegenden Prinzipien des Dekodierprozesses wird nun anhand der 16 eine Ausführungsform eines Dekoders beschrieben.
  • Vor der Beschreibung des realen Dekoders der 16 ist es wichtig, die verschiedenen Stufen im Dekoder mit der vorherigen theoretischen Diskussion in Beziehung zu setzen.
  • Es ist ersichtlich, daß Y einen Spektrogrammblock darstellt, wie er vom Dekoder aufgenommen wird, und gleich X + bK ist, wobei b der Code und K der Schlüssel ist. Wenn die Werte von b und K bekannt sind, ist damit die Wahrscheinlichkeit, daß ein bestimmter Wert von Y aufgenommen wurde, exakt die gleiche Wahrscheinlichkeit wie dafür, daß Y – bK den ursprünglichen Covertext darstellt. Dies ist, was die Gleichung (8) ausdrückt.
  • Die Gleichung (9) drückt die Wahrscheinlichkeit dafür aus, daß X ein Spektrogramm einer nicht markierten Musik ist. In dieser Gleichung ist Seine unbekannte Ikov-Matrix. Wenn die Musik in der Gleichung (9) als weißes Gauß'sches Rauschen S ausgedrückt wird, ist die Gleichung (9) immer ein Vielfaches der Einheitsmatrix. Wie erwähnt ist dies jedoch keine genaue Darstellung von realer Musik. Dies ist der Grund für die Verwendung der Ikov-Matrix bei der vorliegenden Erfindung.
  • Es wird daher angenommen, daß jede Spalte von X, obwohl es nicht das ganze Musikstück ist, unabhängig von der gleichen multidimensionalen Gauß-Verteilung kommt, die durch diese bis jetzt unbekannte Ikov-Matrix S definiert wird. Der Dekoder arbeitet daher auf der Annahme, daß S in verschiedenen Teilen der Musik unterschiedlich ist. Die Gleichung 9 drückt diesen Absatz mathematisch aus.
  • Um das markierte Spektrogramm zu dekodieren, ist es jedoch wichtig zu wissen, welche Werte von X wahrscheinlich sind. Die Gleichung 9 kann nur dann diese Informationen abgeben, wenn der Wert von S bekannt ist.
  • Die Gleichung 10 dient deshalb der Bestimmung, welche Werte von S wahrscheinlich sind. In dieser Gleichung wird angenommen, daß S entsprechend einer Wishart-Verteilung mit den Parametern V und k verteilt ist. Das Verfahren zur Wahl dieser Parameter wird in dieser Beschreibung später noch erläutert.
  • Nach dieser Diskussion der zugrundeliegenden Prinzipien wird nun anhand der 16 der beiliegenden Zeichnungen eine erste Ausführungsform eines Dekoders beschrieben.
  • In der 16 wird ein auf Musik basierender Stegotext wieder durch (15) dargestellt. Die folgende Beschreibung bezieht sich aus Gründen der Vereinfachung nur auf Musik, es lassen sich natürlich aber auch andere Formen von Covertext auf die gleiche Weise handhaben.
  • Bei (100) wird der Covertext punktweise mit einer Fensterfunktion multipliziert, die mit der Fensterfunktion vergleichbar ist, die bei (51, 52) der 6 beschrieben ist, und bei (101) wird eine schnelle Fourier-Transformation des gefensterten Stegotextes erzeugt, die bei (102) in den logarithmischen Bereich umgewandelt wird.
  • Bei (103) wird der Ausgang von (102) mit einer Matrix U' vor-multipliziert, die bereits erzeugt wurde und die die Matrix U' in den Gleichungen 22 bis 25 darstellt. Die Erzeugung von U' wird später noch beschrieben. Wenn der Ausgang von (102) als F definiert wird, ist der Ausgang von (103) U'·F, der an einen Hochpaßfilter (104) angelegt wird, um jede Gleichspannungsverschiebung zu beseitigen. Der Ausgang von U'·F in (104) ist ein logarithmisches abs-Spektrogramm von einer Länge, die vom anfänglichen Stegotext abhängt.
  • Um dieses Spektrogramm zu verarbeiten, wird es in Blöcke aufgeteilt, von denen jeder eine Breite hat, die K entspricht. Bei der vorliegenden und bei der zweiten Ausführungsform ist jeder Block in der Zeitrichtung 32 Spalten breit und in der Frequenzdimension 1024 Zeilen, diese Werte können natürlich variieren. Jeder aufgeteilte Block stellt U'Y wie in dem Satz von Gleichungen 23, 24 und 25 dar.
  • Diese Aufteilung erfolgt bei (105) derart, daß jeder Blockabschnitt den vorherigen Block um eine Spalte weniger als die Breite des Blocks überlappt, entsprechend der Situation, die in der 4 der beiliegenden Zeichnungen gezeigt ist.
  • Jeder der so erhaltenen Blöcke wird bei (106) zu U'K addiert, und bei (107) wird U'K davon subtrahiert, um bei (108) und (109) zwei verschiedene Ergebnisse zu erhalten, nämlich: (1) Links X–1 = U'Y + U'K und (2) Rechts X+1 = U'Y – U'K.
  • Es ist nun ersichtlich, daß diese Werte den Werten entsprechen, die in den Gleichungen 23 und 24 gefunden werden.
  • Die nächste Stufe des Dekoders umfaßt das Berechnen des Logarithmusses des Nenners und des Zählers der Gleichung 23. Dies wird unter Verwendung der Gleichung 24 erreicht. In den Stufen (110, 111) werden die logarithmischen Determinanten des Nenners und des Zählers der Gleichung 23 bestimmt und in den Stufen (112, 113) die logarithmischen Ausgangs-Determinanten jeweils mit –(k + M)/2 skaliert, wobei dieser Faktor natürlich auch in den obigen Gleichungen erscheint. Die Ableitung dieses Faktors wird später noch beschrieben.
  • In der Stufe (114) wird der Logarithmus der Größe der Gleichung 23 durch Subtraktion des Logarithmusses des Nenners vom Logarithmus des Zählers berechnet, wie es die skalierten Werte darstellen, die bei (112) und (113) erhalten wurden.
  • Die so erhaltenen Werte werden in einem Puffer (115) als logarithmisches Verhältnis der Wahrscheinlichkeit dafür gespeichert, daß das interessierende Datenbit, falls vorhanden, eine 1 oder eine –1 ist. Der Puffer (115) kann daher so betrachtet werden, daß er die Posterior-Wahrscheinlichkeiten für eine Folge von Codebit festhält, wobei die Länge der Folge von der Größe des Puffers abhängt.
  • Bei der Betrachtung einer Folge von einzelnen Einträgen in den Puffer (115) bestehen diese aus Werten, die um die Nullachse verteilt sind, wobei jeder Wert das Ergebnis der gerade beschriebenen Verarbeitung einer Matrix ist. Der Puffer (115) kann 256 diskrete Werte festhalten, obwohl diese Zahl natürlich auch variabel ist. Die 17 ist ein Diagramm für eine Folge von Werten, wie sie im Puffer (115) gespeichert werden.
  • Die Werte im Puffer (115) werden durch die dunkle Kurve (150) dargestellt. Die ausgezogenen vertikalen Linien 151 stellen die Zeiten dar, zu denen die Bits kodiert wurden. Diese Zeitpunkte werden durch die Taktextraktionsschaltung (116) auf die im folgenden beschriebene Art bestimmt.
  • Es ist nun erforderlich, aus dem Puffer (115) diejenigen Werte zu extrahieren, die den ursprünglichen Code darstellen. Es ist nochmals darauf hinzuweisen, daß der ursprüngliche Stegotext entweder eine Streckung oder eine Kompression erfahren haben kann, so daß die Extraktion einer Bitrate für den Code dies berücksichtigen muß.
  • Dieser Vorgang wird an der Taktextraktionsschaltung (116) ausgeführt. Hier werden alle möglichen Folgen von Schnittpunkten betrachtet und es wird diejenige Folge von Punkten als Takt für den eingebetteten Code ausgewählt, die eine maximale Gesamtabweichung von Null ergibt.
  • Effektiv iteriert ein Paar von verschachtelten Schleifen über den möglichen Bittakt frequenzen und Phasenverschiebungen. Bei jeder Iteration wird die Summe der Quadrate der Schnittwerte berechnet. Die Werte der Frequenz und der Phase, bei denen diese Summe maximal ist, wird als Satz von Angaben zum Takt zu der Stufe (117) zurückgeführt.
  • In der Stufe (117) werden zwei Zeiger verwendet, die dorthin zeigen, wo der erste und der letzte Wert im Puffer (115) zu erwarten sind. Diese werden so manipuliert, daß die von Block zu Block abgeschnittenen Daten die extrahierten Bits ohne Lücken und Wiederholungen zusammenfügen. Der Posterior-Wahrscheinlichkeitsvektor wird mit der gleichen Rate wie die Daten im Spektrogrammpuffer (105) verschoben.
  • Der von der Taktextraktionsschaltung (116) erzeugte Takt wird bei (117) dazu verwendet, die Daten abzutrennen, die aus den Daten im Puffer (115) in eine Pufferstufe (118) eingelesen werden. Es ist anzumerken, daß der ursprüngliche Schlüssel mit 5-Spalten-Intervallen zu den 32 Spalten des logarithmischen abs-Spektrogramms des Covertextes hinzugefügt wurde. Auch wenn der Stegotext vor dem Dekodieren komprimiert oder gestreckt wurde, ist daher etwa jede fünfte Spalte in der Abfolge der im Puffer gespeicherten Werte ein Codebit zu erwarten. Das Ergebnis des Abtrennens der gepufferten Daten in Reaktion auf den extrahierten Takt ist jedoch immer noch keine ausreichend genaue Darstellung des ursprünglichen Codes, da insoweit der Dekoder angenommen hat, daß die Musik eine detV-Verteilung aufweist. Dies trifft wie bereits erwähnt nicht ganz zu. Einige der Punkte in den 5-Spalten-Intervallen können daher falsch sein. Entsprechend sind Maßnahmen dafür zu treffen, daß die ursprüngliche Musik keine detV-Verteilung aufweist.
  • Es werde zuerst der Ausgang der Stufe (118) betrachtet. Dieser besteht aus einer Folge von Werten, die vorgeben,
    Figure 00280001
    zu sein. Es wäre dies die erforderliche Sequenz, wenn die Musik tatsächliche eine detV-Verteilung hat. Wie bereits erwähnt hat sie dies jedoch nicht.
  • Wenn C1, C2 ... Cn als die Abfolge von Werten definiert wird, die von der Stufe (117) ausgegeben werden, gilt, wenn die Musik eine detV-Verteilung hat:
  • Figure 00290001
  • Da die Musik keine detV-Verteilung aufweist, ist es erforderlich, eine Funktion f zu finden, bei der f(Cn) eine bessere Annäherung an diesen Logarithmus ist als Cn, so daß in die fehlerkorrigierende Dekodierstufe (120) des Dekoders eine richtigere Abfolge eingegeben werden kann, wobei anzumerken ist, daß im Kodierer der Wasserzeichencode zusätzlich mit einem Fehlerkorrekturcode einkodiert wurde.
  • Der Ausgang der Datenabtrennstufe (117) ist eine Folge von Werten auf beiden Seiten von Null, wobei die positiven Werte potentiell "+1" darstellen und die negativen Werte potentiell "–1".
  • Jeder der "+1"-Werte wird um etwa einen Wert abweichen, der als α bezeichnet wird. Gleichermaßen wird jeder der "–1"-Werte um -α abweichen, und α kann so bestimmt werden, daß es gleich dem Mittelwert der Absolutwerte von Cn ist, d.h. α-Mittelwert |Cn|.
  • Das Ausmaß, um das das positive Cn um α variiert und das negative Cn um -α, ist ebenfalls zu bestimmen, Dieser Wert ist definiert als σ derart, daß σ = std(|Cn| – α).
  • Nachdem so σ erhalten wurde, werden die ursprünglichen Werte C1, C2 ... Cn in der Stufe (118) so skaliert, daß sie eine Standardabweichung von 1 um + oder – α/σ aufweisen. Dies läßt sich in den Gleichungen an = Cn/σ und β = α/σ zusammenfassen.
  • Wenn hn = |an| – β ist, hat hn den Mittelwert Null und eine Standardabweichung von 1, weist aber nicht notwendig eine Gauß-Verteilung auf.
  • Bei der vorliegenden Ausführungsform wird angenommen, daß hn eine eindimensionale Student-Verteilung der bereits beschriebenen Art ist. Es ist daher
  • Figure 00290002
  • Entsprechend ist
  • Figure 00290003
  • Aus der Gleichung 26 folgt, daß das erforderliche
  • Figure 00300001
  • Es wird nun die Ableitung der Werte r und m beschrieben. Dies erfolgt durch Aufnehmen einer großen Probe der Werte von hn, wie es für die Praxis typisch ist, und eine MAP-Ableitung unter Verwendung der Gleichung (25) als Wahrscheinlichkeit für die einzelnen Werte von hn und uneigentlich gleichförmigen Vorverteilungen an m und log(r).
  • Entsprechend wird in der Stufe (118) die Gleichung 28 dazu verwendet, die richtige Folge zu berechnen, zu der schließlich die dekodierte Fehlerkorrekturkodierung hinzugefügt wird, um das zu erhalten, was als "Wahrscheinlichkeitsabbildung" bezeichnet wird, die die Vektoren der berechneten logarithmischen Wahrscheinlichkeitsverhältnisse enthält.
  • Die 18 zeigt die logarithmische Wahrscheinlichkeitsabbildung, die mit der gerade beschriebenen Prozedur aus dem Inhalt des Puffers (115) abgeleitet wird. Die Bezugszeichen 150, 151 werden in der 18 in dem gleichen Sinne verwendet wie in der 17.
  • Die abschließenden Stufen des Dekoders der 16 sind herkömmlich aufgebaut.
  • Der in der 5 gezeigte Konvolutenkodierer erzeugt für jedes eingegebene Codebit zwei Ausgangsbits.
  • Daher ist im Ausgang der Schaltung (118) alle zwei Bit eine Entscheidung zu treffen, welches Bit Teil des gewünschten Codes ist.
  • Um diese Funktion auszuführen, sieht der Konvolutendekoder (120) in seiner einfachsten Form bei jedem potentiellen Ausgangsbit nach und betrachtet für jedes solche Bit alle möglichen Werte der umgebenden Bits in einem festen Fenster. Dieser Vorgang wird in der Phasensuchschaltung (119) ausgeführt. Die Größe des Fensters stellt einen Kompromiß zwischen der Leistungsfähigkeit und der Menge an Berechnungen dar. Zum Beispiel müssen bei einem Fenster, das zehn Werte im Puffer umfaßt, insgesamt 1024 Folgen bewertet werden.
  • Für jede der 1024 Folgen wird der kodierte Wert berechnet, und es wird in Abhängigkeit davon, ob das relevante Bit gleich +1 oder –1 ist, durch Addieren oder Subtrahieren der relevanten Werte im Puffer die Wahrscheinlichkeit dafür berechnet, daß diese Werte im Puffer über dem Fenster liegen.
  • Die Wahrscheinlichkeiten für alle der 512 Folgen, die in der betrachteten Position ein +1 aufweisen, werden addiert, und die anderen 512 Folgen, die eine Null in der rele vanten Position haben, werden ebenfalls addiert. Dies ergibt die Wahrscheinlichkeit dafür, daß das betrachtete Bit eine 1 oder 0 ist.
  • Dieser Vorgang wird in der 19 gezeigt. In dieser Zeichnung ist (250) eine schematische Darstellung der Werte, die von der Schaltung (118) abgetrennt wurden. Wini stellt ein Zehn-Werte-Fenster und 7 die interessierenden Pixel dar. Wini+2 stellt das nächste Fenster in dieser Folge und 8 den Wert des nächsten interessierenden Pixels dar. Vi schließlich stellt das Ergebnis der Bewertung dar, die gerade für das interessierende Pixel 7 ausgeführt wird, und Vi+2 das Ergebnis der nächsten Bewertung.
  • Wie in der 19 gezeigt, ist, da der Ausgang des Konvolutenkodierers der 5 für jedes Codebit 2 Ausgangsbit erzeugt, das Fenster in Zweibit-Intervallen längs des Inhalts des Puffers abgestuft. Dieser Vorgang muß zweimal über die ungeraden bzw. geraden Werte im Puffer ausgeführt werden. Es werden somit zwei Folgen erzeugt, die jeweils eine damit verbundene Wahrscheinlichkeit aufweisen, und schließt erfolgt eine Auswahl auf der Basis der Folge mit der größeren Wahrscheinlichkeit.
  • Was gerade beschrieben wurde, ist die einfachste Form eines Kodierers/Dekodierers.
  • Es kann jedoch vorteilhaft sein, andere Verhältnisse als 2 zu 1 zuzulassen.
  • Wenn zum Beispiel das Verhältnis 4 zu 1 ist, ist es erforderlich, vier Folgen zu verwenden, in denen für die Werte im Puffer ein Fenster gleichmäßig abgestuft ist, und das wahrscheinlichste Ausgangsbit aus diesen vier Folgen auszuwählen.
  • Gleichermaßen gibt es andere Wege, auf denen der Code dekodiert werden kann, was für den Fachmann offensichtlich ist, etwa einen Viterbi-Dekoder.
  • Bei 120' werden die den in der Kodierstufe verwendeten Polynomen entsprechenden Dekodierpolynome dem Dekoder 120 für die maximale Wahrscheinlichkeit zugeführt, und schließlich werden die hinzugefügten Synchronisationsbits und die beim Auffüllen mit Nullen hinzugefügten Nullen bei (121) entfernt, damit nur die dekodierten Daten übrigbleiben. Der Descrambler (122) ist nur erforderlich, wenn im Kodierprozeß in der 13 der optionale Scrambler (65) verwendet wurde.
  • Die 20 der beiliegenden Zeichnungen zeigt eine andere Ausführungsform eines Dekoders. Es ist ersichtlich, daß bei dem Dekoder der 20 die meisten ganzen Zahlen mit denen des Dekoders der 16 identisch sind. Wo diese gemeinsamen ganze Zahlen auftreten, wurden daher die gleichen Bezugszeichen verwendet.
  • Für die Operation des Dekoders der 21 von grundlegender Bedeutung ist das Konzept von Projektionsabbildungen in Vektorräumen.
  • Die 21 der Zeichnungen zeigt eine orthogonale Projektionsabbildung f von einem zweidimensionalen Vektorraum in einen eindimensionalen Unterraum.
  • In dieser Zeichnung wurde ein zufälliger Satz von Punkten v1, v2, v3, v4, und v5 durch eine Funktion f auf eine einzige Linie, das heißt die mit L markierte diagonale Linie, abgebildet.
  • Allgemein sei v ein realer N-dimensionaler Vektorraum mit einem Skalarprodukt v1·v2. Die Projektionsabbildung auf V ist eine Funktion f·V→V, die für jedes v1, v2, v3 ∊ v und für jede reale Zahl r die folgenden Gleichungen erfüllt: rf(v) = f(rv) f(v1 + v2) = f(v1) + f(v2) f(f(v)) = f(v)
  • Es ist eine orthogonale Projektionsabbildung, wenn zusätzlich für jedes v1, v2 ∊ V f(v1) = 0 ⇒ v1·f(v2) = 0gilt.
  • Ein Unterraum W von V ist ein Subsatz von V derart, daß für jedes w1, w2 ∊ W und jede reale Zahl r rw1 + w2 ∊ W ist. Für jeden Unterraum W von V gibt es genau eine orthogonale Projektionsabbildung fw auf W.
  • Zum Beispiel kann N gleich 2 sein, v der Satz von allen realen 2-Vektoren und w der Satz von allen 2-Vektoren, deren erstes Element das Doppelte des zweiten Elements ist. In der 19 ist W durch die Linie L dargestellt, und die zufälligen Punkte sind über gestrichelte Linien mit ihren Abbildern in W unter fw verbunden.
  • Es ist ersichtlich, daß die beschriebenen Ausführungsformen der vorliegenden Erfindung, wie der Kodierer der 13 und der Dekoder der 16, jeweils auf der Basis arbeiten, daß Matrizen von Werten im logarithmischen abs-Spektrogramm manipuliert werden, so daß jede Manipulation der Matrizen, die die Rechenanforderungen verringert, jedoch die insbesondere für die Extraktion des Codes aus dem Stegotext erforderlichen Informationen beibehält, von beträchtlichem Wert sind. Das oben beschriebene Konzept der Projektionsabbildungen in Vektorräumen ist ein solches Werkzeug. Wenn A eine Matrix ist, deren Spalten W überspannen, gibt es daher eine Matrix B derart, daß fw(v) = Bv ist.
  • Es folgt ein Beispiel, wie die erforderliche Projektionsmatrix unter Verwendung der Programmiersprache Matlab (RTM) berechnet werden kann.
  • Wenn A eine Matrix ist, deren Spalten W überspannen, dann gibt es eine Matrix B, die mit den folgenden Matlab-Statements derart berechnet werden kann, daß fw(v) = Bv ist.
    [L, D, R] = svd(A); % Erstelle eine orthonormale Basis L für V, deren erste paar
    % Spalten eine orthonormale Basis für W sind.
    % Ersetze dann die Elemente ungleich Null auf der Diagonalen von D durch 1
    % und fülle D mit Nullen auf die gleiche Größe wie L auf.
    d = diagfrom(D);
    dnnz = sum(dkey > 1e-10·dkey(1));
    D1 = diagsz(Einsen(dnnz, 1), Größe (L));
    % B berechnet die Komponenten jedes v in V in der Basis L, bringt die
    % Komponenten orthogonal zu V auf Null und kehrt dann zum
    % ursprünglichen Koordinatensystem zurück.
    B = L·D1·L';
  • Wenn die letzte Zeile dieses Statments durch B0 ersetzt wird = L(:, 1: dnnz)';
  • B0 führt daher nicht nur die Projektionsabbildung fw aus, sondern schaltet auch auf ein orthonormales Koordinatensystem für W das weniger Dimensionen hat als das ursprüngliche Koordinatensystem für V, ausgenommen natürlich der unwichtige Sonderfall W = V.
  • Bei der Beschreibung des Dekoders der 16 und der zu der Operation dieses Dekoders gehörenden Gleichungen stellt U'Y ein logarithisches abs-Spektrogramm eines Segments des Stegotextes dar, modifiziert durch die Statistik von vorher berechneten Statistiken von Proben, die dem Covertext ähnlich sind. Wenn W den Unterraum bezeichnet, der von den Spalten von U'Y aufgespannt wird, und die aufgenommenen Daten orthogonal auf W projiziert werden, wie es bei dem einfachen Beispiel der 21 erläutert wurde, können die erforderlichen Berechnungen zum Extrahieren des Wasserzeichencodes wesentlich vereinfacht werden, wenn die Projektion von Y in den neuen Unterraum nicht einen Verlust von zu vielen Informationen ergibt.
  • Es wurde festgestellt, daß das Ausführen einer solchen Projektion die Widerstandsfähigkeit des Stegotextes gegen Angriffe nur wenig schädigt.
  • Aus der Gleichung 25 ist daher ersichtlich, daß durch Ausführen der Projektion B0 es nun erforderlich ist, det(I + (B0U'Y – B0U'K)(B0U'Y – B0U'K)') zu bewerten, wobei B0 die auf fw bezogene Matrix ist, wie es bereits anhand der 20 erläutert wurde.
  • Um diese Bewertung auszuführen, kann B0U' zusammen mit B0U'K vorab berechnet und in einem ROM gespeichert werden.
  • Die nächsten Schritte umfassen die Bewertung von T = (B0U')Y – (B0U'K), von I + TT' und die Cholesky-Zerlegung derart, daß C'C = I + TT' ist, wobei anzumerken ist, daß det(I + (B0U'Y – B0U'K)(B0U'Y – B0U'K)') = det(C)2 ist. det(C)2 ist leicht zu bewerten, da C dreieckig ist.
  • Nach dieser Erläuterung ist es nun möglich, die Unterschiede zwischen dem Kodierer der 20 und dem Kodierer der 16 zu beschreiben.
  • In der 20 stellt der gestrichelte Kasten (124) eine steuerbare Resampler-Schaltung dar, die nur bei der Variante der Ausführungsform vorhanden ist, die im folgenden beschrieben wird. Außerdem ist die gestrichelte Verbindungslinie zwischen dem Kasten (124) und der Schaltung (116) nur bei der beschriebenen Variante vorhanden. K bezeichnet nach wie vor den Schlüssel, der ursprünglich zum Kodieren des Covertextes verwendet wurde. Wie beschrieben wurde dieser Schlüssel unter Verwendung von zufälligem weißem Rauschen erzeugt, das wiederum durch eine zufällige ganze Ausgangszahl erzeugt und durch einen 2D-Durchlaufbandpaßfilter gefiltert wurde.
  • Ein Matrixmultiplikator (201) matrixmultipliziert den Schlüssel K, der in einem ROM (202) festgehalten wird, mit den bereits erwähnten vordefinierten statistischen Daten U', um U'K zu erzeugen. Die Daten U' sind in einem ROM (203) gespeichert. Das Ausgangssignal des Multiplikators (201) wird zu dem Kasten (204) geführt, der die Projektionsmatrix B0 erzeugt, und diese Projektionsmatrix wird vom Multiplikator (205) mit dem Ausgangssignal des Multiplikators (201) multipliziert, um B0U'K zu erzeugen. Außerdem wird B0, so wie es von (204) ausgegeben wird, auch zu einem Eingang eines Matrixmultiplikators (206) geführt, dessen anderer Eingang U' zugeführt wird, so daß das Ausgangssignal des Multiplikators (206) B0U' ist.
  • Der Dekoder der 20 arbeitet so auf eine Weise, die analog zu der des Dekoders der 16 ist, und diejenigen Elemente des Kodierers der 20, die auf die gleiche Weise wie die Elemente des Kodierers der 16 arbeiten, sind mit den gleichen Bezugszeichen bezeichnet.
  • Am Multiplikator (103) wird daher jeder Block von Y wie bereits definiert mit B0U' multipliziert. Gleichermaßen wird bei (106, 107) statt U'K der Wert B0U'K addiert bzw. subtrahiert.
  • Die übrigen Elemente der zweiten Ausführungsform des Dekoders arbeiten auf exakt die gleiche Weise wie die der ersten Ausführungsform.
  • Es ist nun erforderlich, den Vorgang zu beschreiben, durch den die vorherigen statistischen Werte, die durch die Bayes-Prozesse der beiden Ausführungsformen des Kodierers benötigt werden, die gerade beschrieben wurden, bestimmt werden. Die Beschreibung erfolgt anhand des Flußdiagramms der 22.
  • Im Schritt S1 dieser Zeichnung wird eine Anzahl von Musikbeispielen verbunden. Die Musikproben können aus einem weiten Bereich der Musik ausgewählt werden, und sie können zum Beispiel durch das Abspielen von Ausschnitten aus einer geeigneten Anzahl von CDs erzeugt werden. Die CD-Ausschnitte können mit auf Band aufgenommener, live gespielter oder über Rundfunk verbreiteter Musik vermischt oder dadurch ersetzt werden.
  • Das Endergebnis dieser Verbindung ist ein Stück von Musikausschnitten, das einen breiten Musikbereich abdecken kann. Natürlich ist es auch möglich, die gewählten Musikausschnitte so zu versetzen, daß die statistischen Daten auf verschiedenen Musikarten beruhen, so daß ein Nutzer zu Dekodierzwecken den geeigneten Datensatz auswählen kann. Es können so mehrere verschiedene Sätze von statistischen Daten im ROM (103) gespeichert werden, und vom Nutzer wird die geeignete Auswahl getroffen.
  • Im Schritt S2 wird das logarithmische Energiespektrogramm der verbundenen Musikbeispiele erzeugt. Im Schritt S3 wird der Mittelwert der Spalten des so erhaltenen Energiespektrogramms berechnet und im Schritt S4 dieser Mittelwert von den einzelnen Spalten abgezogen, wodurch A erhalten wird.
  • Die letzten beiden Schritte können dadurch näherungsweise ausgeführt werden, daß die Zeilen des Spektrogramms durch einen Hochpaßfilter mit geeigneten Eigenschaften geleitet werden.
  • Im Schritt S5 wird die Kovarianzmatrix E für die im Schritt S4 erhaltenen Werte erzeugt: E = AA'/N.
  • Im Schritt S6 wird angenommen, daß jede Spalte unabhängig von der detV-Verteilung der beschriebenen Art mit Wishart-Parametern mit r·E für die Skalenmatrix und k für den Formparameter erzeugt wurde. Es wird auch angenommen, daß log r eine uneigentliche gleichmäßige Vorverteilung und k eine ureigentliche gleichmäßige Vorverteilung aufweist. Im Schritt S6 werden die MAP-Werte (Maximum A Posteriori) von γ und k anhand des Bayes-Theorems berechnet.
  • Im Schritt S7 wird V auf gleich rE und k = k gesetzt und diese Werte dazu verwendet, U' zu berechnen. U' ist entsprechend eine Matrix, die die mittlere lokale Kovarianzmatrix des logarithmischen Energiespektrogramms der Proben in die Einheitsmatrix überführt. Im Schritt S8 wird U' schließlich gespeichert.
  • Es werden nun einige Varianten des Kodierers der 20 beschrieben.
  • Es ist möglich, daß das Extrahieren der MAP-Werte für die zeitgebende Frequenz und die Phase vom Puffer (115) nicht das genaueste Ergebnis ergibt. Entsprechend werden in einer Variante der beiden beschriebenen Dekoder alle möglichen Bereiche von zeitgebenden Frequenzen ω und der Phase ϕ in Betracht gezogen. Für jedes ω und ϕ wird die Posterior-Wahrscheinlichkeit P(ω, ϕ|D) von ω und ϕ der Daten D durch Addieren der Absolutwerte der vom Puffer (115) abgetrennten Werte abgeschätzt, wobei die Abtrennung gemäß ω und ϕ erfolgt, und das Ergebnis potenziert.
  • Bei den vorher beschriebenen Dekodern wurden dann die Werte von ω und ϕ, für die P(ω, ϕ|D) maximal ist, dazu verwendet, die Werte im Puffer (115) abzutrennen.
  • Bei der beschriebenen Variante wird statt dessen der Audioeingang anfänglich von der Resamplerschaltung (123) so abgetastet, daß der Stegotext entweder gedehnt oder komprimiert wird. Dann wird durch einen Zufallssampler, der die Tatktextraktionsschaltung (116) ersetzt, aus P(ω, ϕ|D) ein zufälliger Abtastwert entnommen und dieser Zufallswert dazu verwendet, die Daten im Puffer (115) zu trennen. Bei diesem Vorgang wird die Tatsache berücksichtigt, daß die MAP als ein schmaler hoher Dorn in der Verteilung erscheinen kann, wenn der tatsächliche Wert zu einer breiteren Spitze gehört, die, obwohl niedriger, mehr Wahrscheinlichkeit enthält.
  • Es wird daher die Art betrachtet, in der der Zufallssampler des Puffers (115) in der Schaltung (116) wie gerade beschrieben in Verbindung mit dem Resampler (123) arbeitet.
  • Wenn der Stegotext um weniger als 6% gedehnt (komprimiert) wurde, wird wahrscheinlich aufgrund der Art des Schlüssels (K) die Schaltung (116) unmittelbar eine geeignete Zeitgebung für die Datenabtrennschaltung (117) wählen, und auch einen richtigen Korrekturwert an die Schaltung (123) ausgeben, damit die festgestellte Dehnung (Kompression) aufgehoben wird.
  • Wenn andererseits die Dehnung (Kompression) größer als 6% war, sind die Werte im Puffer (115) und damit die berechneten Werte von P(ω, ϕ|D) falsch und alle von einer ähnlichen Größe. Dies ergibt einen Zufallswert, der der Resamplerschaltung zugeführt wird. Es müssen nun zwei Fälle betrachtet werden. Zum einen kann der zurückgeführte Wert zufällig innerhalb 6% des richtigen Werts liegen. Wenn der Gesamtbereich der möglichen Dehnung ±10% beträgt, ist die Wahrscheinlichkeit dafür wenigstens 1/2. Wenn der neu abgetastete Stegotext den Puffer (115) erreicht, ist die Schaltung (116) in der Lage, die nun erforderliche, richtige Korrektur zu bestimmen. Von da an wird der richtige Wert zu der Schaltung (123) und zu der Schaltung (117) zurückgeführt.
  • Zum anderen kann der zu der Schaltung (123) zurückgeführte Wert außerhalb von ±6% des richtigen Werts liegen. Wenn dies wieder falsch ist, wird der nächste zurückgeführte Wert zufällig gewählt, und die beschriebene Prozedur läuft weiter. Bei jeder Iteration ist die Wahrscheinlichkeit für das Aufnehmen des richtigen Werts gleich 1/2, so daß nur einige wenige Iterationen erforderlich sind, bis die richtige Zeitgebung und Phase erhalten werden. Natürlich kann die Resamplerschaltung damit beginnen, daß der eingegebene Stegotext unverändert bleibt.
  • Ein gemeinsames Problem aller Dekoder, die mit präzise wiederzugebenden Eingangssignalen arbeiten, ist, daß unter bestimmten Umständen ein bestimmtes Eingangssignal nicht richtig dekodiert wird, und beim Fehlen jeder Zufälligkeit im Eingang tritt dieses Problem immer wieder dann auf, wenn das Eingangssignal wiederholt wird. Es wird entsprechend vorgeschlagen, einen Dekoder wie die gerade anhand der 16 und 21 beschriebenen Dekoder und deren Varianten mit Einrichtungen zum Vermeiden dieses Problem zu schaffen.
  • Es sind verschiedene Lösungen möglich. Eine besteht darin, lediglich dem Eingangssignal für den Dekoder echt zufälliges Rauschen hinzuzufügen. Der Nachteil dabei ist, daß die Leistungsfähigkeit des Dekoders dabei sinkt.
  • Eine Alternative ist, dem tatsächlichen Eingangssignal, das zu dekodieren ist, eine Periode eines Nullsignals oder zufälliges Rauschen vorangehen zu lassen, wobei die Periode innerhalb eines vorgegebenen Bereichs eine echt zufällige Länge aufweist.
  • In der vorstehenden Beschreibung wurden die verschiedenen Ausführungsformen von Kodierern und Dekodern durch Schaltungselemente wie "Filter", "Multiplikator", "Puffer" und "Schaltung" undsoweiter definiert. Abgesehen von der tatsächlichen Aufzeichnung oder Wiedergabe eines Signals können alle diese Schaltungselemente jedoch durch eine geeignete Softwaremanipulation ersetzt werden. Insbesondere der anhand der 13 beschriebene Kodierer kann in all seinen funktionalen Aspekten durch einen Allzweckcomputer mit einem geeigneten Code ersetzt werden. Ein Beispiel für einen solchen Code wurde bezüglich des Generators der Matrix B0 für den Dekoder der 20 gegeben. Die Funktionen aller Schritte und Blöcke der 13, 16 und 20 können daher als Softwareschritte ausgeführt werden.
  • Wenn die Dekoder-Ausführungsformen in individuellen Systemen verwendet werden, die sowohl den Stegotext dekodieren als auch den Stegotext als Ausgang erzeugen, zum Beispiel als Musik, können die Dekoder gut die Form von integrierten Mikroprozessoren) haben, die möglicherweise höchstintegrierte Schaltungen enthalten.

Claims (52)

  1. Kodierer zum Kodieren eines Covertextsignals zur Erzeugung eines Stegotextes, wobei der Kodierer aufweist eine erste Transformiereinrichtung zur Ausführung einer Fast-Fourier-Transformation und einer Rechtwinklig/Polar-Konvertierung des Covertextsignals derart, daß dieses in ein logarithmisches Energiespektrogramm transformiert wird; eine Einrichtung zum Erzeugen mindestens eines Schlüssels, der bzw. deren jeder in Form eines zweidimensionalen Musters gegebener Größe vorliegt; einen Multiplizierer zum Addieren oder Subtrahieren von Vielfachen des Schlüssels oder, falls mehrere Schlüssel vorhanden sind, Vielfachen eines oder mehrerer der Schlüssel zu bzw. von Blöcken des transformierten Covertextsignals im logarithmischen Energiespektrogrammbereich; und eine zweite Transformiereinrichtung zum Ausführen einer Polar/Rechtwinklig-Konvertierung und einer inversen Fast-Fourier-Transformation des modulierten Covertextsignals zur Erzeugung eines Stegotextes, gekennzeichnet durch eine Einrichtung zur Steuerung der Addition oder Subtraktion des bzw. der Schlüssel mittels des Multiplizierers gemäß Daten, die einen gewünschten Code darstellen.
  2. Kodierer nach Anspruch 1, wobei die erste Transformiereinrichtung so ausgelegt ist, daß sie den Covertext vor Ausführung der Fast-Fourier-Transformation und der Rechtwinklig/Polar-Konvertierung in überlappende Segmente aufteilt, und wobei ein Multiplizierer zum Multiplizieren jedes Segmentes des Covertextes mit einer Funktion derart vorgesehen ist, daß sich jedes Segment an seinen Enden verjüngt.
  3. Kodierer nach Anspruch 1 oder 2, wobei die erste Transformiereinrichtung so ausgelegt ist, daß sie jedes Segment in den logarithmischen Energiespektrogrammbereich konvertiert, um als Schlüssel Blöcke zu erzeugen, die die gleiche Länge haben und die gleiche Anzahl von Spalten aufweisen.
  4. Kodierer nach Anspruch 3, wobei jeder Block des logarithmischen Energiespektrogramms des Covertextsignals x Spalten breit ist und der Multiplizierer so ausgelegt ist, daß er den Schlüssel auf die Blöcke in Schritten von T anwendet, wobei T eine ganze Zahl von Spalten des Schlüssels ist, so daß der Schlüssel mindestens zum Teil näherungsweise 2x/T mal auf jeden Spektrogrammblock angewendet wird.
  5. Kodierer nach einem der vorhergehenden Ansprüche, wobei die zweite Transformiereinrichtung so ausgelegt ist, daß sie die Polar/Rechtwinklig-Konvertierung und die inverse Fast-Fourier-Transformation auf jeden modulierten Block des Covertextsignals anwendet und die resultierenden Segmente zur Erzeugung des Stegotextes synthetisiert.
  6. Kodierer nach einem der vorhergehenden Ansprüche mit einem Fehlerkorrektur-Konvolutenkodierer, der die Wasserzeichen-Codedaten zur Fehlerkorrektur kodiert, bevor sie zur Steuerung der Wasserzeichenbehandlung des Covertextes verwendet werden.
  7. Verfahren zum Kodieren eines Covertexsignals zur Erzeugung eines Stegotextes, wobei eine Fast-Fourier-Transformation und eine Rechtwinklig/Polar-Konvertierung des Covertextsignals durchgeführt werden, um dieses in den Energiespektrogrammbereich zu transformieren; mindestens ein Schlüssel bereitgestellt wird, der bzw. deren jeder in Form eines zweidimensionalen Musters vorgegebener Größe vorliegt; im logarithmischen Energiespektrogrammbereich Vielfache des Schlüssels oder, falls mehrere Schlüssel vorhanden sind, Vielfache eines oder mehrerer der Schlüssel zu bzw. von Segmenten des transformierten Covertextsignals addiert oder subtrahiert werden; die Addition oder Subtraktion von Vielfachen des bzw. der Schlüssel im Additions/Multiplikationsschritt entsprechend Daten gesteuert wird, die einen gewünschten Code darstellen; und eine Polar/Rechtwinklig-Konvertierung und eine inverse Fast-Fourier-Transformation des modulierten Covertextsignals ausgeführt werden, um einen Stegotext zu erzeugen.
  8. Verfahren nach Anspruch 7, wobei der Covertext vor Ausführung der Fast-Fourier-Transformation und der Rechtwinklig/Polar-Konvertierung in überlappende Segmente aufgeteilt und jedes Segmentes des Covertextes mit einer Funktion derart multipliziert wird, daß sich jedes Segment an seinen Enden verjüngt.
  9. Verfahren nach Anspruch 7 oder 8, wobei jedes Segment des Covertextes in den logarithmischen Energiebereich konvertiert wird, um als Schlüssel Blöcke zu erzeugen, die die gleiche Länge haben und die gleiche Anzahl von Spalten aufweisen, wobei jeder Block des logarithmischen Energiespektrogramms des Covertextsignals x Spalten breit ist, und wobei die Multiplikation so erfolgt, daß sie den Schlüssel auf die Blöcke in Schritten von T anwendet, wobei T eine ganze Zahl von Spalten des Schlüssels ist, so daß der Schlüssel mindestens zum Teil näherungsweise 2x/T mal auf jeden Spektrogrammblock angewendet wird.
  10. Verfahren nach einem der Ansprüche 7 bis 9, wobei die Transformation des modulierten Covertextsignals in den Stegotext durch Ausführung einer Polar/Rechtwinklig-Konvertierung und einer inversen Fast-Fourier-Transformation an jedem modulierten Block des Covertextsignals und Synthetisierung der resultierenden Segmente erfolgt, und wobei jedes aus der Polar/Rechtwinklig-Konvertierung resultierende Segment vor der Synthese zur Erzeugung des Stegotextes mit einer Funktion derart multipliziert wird, daß es sich an jedem Ende verjüngt.
  11. Speichermedium zum Speichern von prozessorimplementierbaren Befehlen zum Steuern eines Prozessors derart, daß dieser das Verfahren nach einem der Ansprüche 7 bis 9 ausführt, oder eines elektrischen Signals, das prozessorimplementierbare Befehle enthält, um einen Prozessor so zu steuern, daß er das Verfahren nach einem der Ansprüche 7 bis 9 ausführt.
  12. Speichermedium, in dem ein nach dem Verfahren nach einem der Ansprüche 7 bis 9 kodierter Stegotext oder ein Signal, das einen nach dem Verfahren nach einem der Ansprüche 7 bis 9 kodierten Stegotext enthält, in lesbarer Form gespeichert ist.
  13. Dekodierer zum Dekodieren eines Stegotextes, der dadurch erzeugt worden ist, daß das logarithmische Energiespektrogramm eines Covertextsignals mit mindestens einem Schlüssel (K) moduliert wird, wobei Vielfache des bzw. jedes Schlüssels im logarithmischen Bereich zu bzw. von dem Covertext-Energiespektrogramm entsprechend den Daten des Wasserzeichencodes, mit dem der Stegotext erzeugt wurde, addiert oder subtrahiert werden und das modulierte Energiespektrogramm in den Originalbereich des Covertextes zurückgeführt wird, wobei der Dekodierer aufweist eine Transformiereinrichtung zum Ausführen einer Fast-Fourier-Transformation und einer Rechtwinklig/Polar-Konvertierung des Stegotextsignals, um dieses in den logarithmischen Energiespektrogrammbereich zu transformieren; eine Einrichtung zum Bereitstellen des oder der Schlüssel, mit dem bzw. denen das ursprüngliche logarithmische Energiespektrogramm des Covertextsignals kodiert wurde; und eine Recheneinrichtung zum Subtrahieren von positiven und negativen Vielfachen des bzw. der Schlüssel von Blöcken des logarithmischen Energiespektrogramms im logarithmischen Energiebereich und zum Bewerten der Wahrscheinlichkeit, daß die Ergebnisse dieser Subtraktionen einen unmodifizierten Block des Covertextes gemäß einem vorgegebenen statistischen Modell darstellen; gekennzeichnet durch eine Extrahiereinrichtung zum Wiedergewinnen der kodierten Daten aus dem Ausgangssignal der Recheneinrichtung.
  14. Dekodierer nach Anspruch 13 mit einer Einrichtung zum Speichern der bewerteten Wahrscheinlichkeiten als logarithmische Verhältniswerte und einer Einrichtung zum Extrahieren individueller Zeitschlitze aus den gespeicherten Werten, wobei das vorgegebene statistische Modell annimmt, daß die individuellen Zeitschlitze des Spektrogramms ent sprechend einer mehrdimensionalen Gauß-Verteilung verteilt sind, deren Mittelwert- und Kovarianz-Matrixparameter von einem Zeitschlitz zum nächsten variieren können oder nicht.
  15. Dekodierer nach Anspruch 14; wobei das vorgegebene statistische Modell annimmt, daß entweder der Mittelwert konstant und vorgegeben ist, oder daß der Mittelwertparameter von einem Zeitschlitz zum nächsten konstant aber nicht vorgegeben ist, jedoch aus einer weiteren Verteilung stammt, oder daß der Mitelwert sich zwischen Zeitschlitzen, die um nicht mehr als die Breite des Schlüssels voneinander getrennt sind, nicht ändert und aus einer weiteren Verteilung stammt.
  16. Dekodierer nach Anspruch 14 oder 15, wobei das vorgegebene statistische Modell annimmt, daß die Kovarianz-Matrixparameter konstant und vorgegeben sind, oder daß die Kovarianz-Matrixparameter von einem Zeitschlitz zum nächsten konstant aber nicht vorgegeben sind, jedoch aus einer weiteren Verteilung stammen, oder daß die Kovarianz-Matrixparameter sich zwischen Zeitschlitzen, die um nicht mehr als die Breite des Schlüssels voneinander getrennt sind, nicht ändern und aus einer weiteren Verteilung stammen.
  17. Dekodierer nach einem der Ansprüche 14 bis 16, wobei die weitere Verteilung eine uneigentliche gleichförmige Verteilung ist.
  18. Dekodierer nach Anspruch 16, wobei die weitere Verteilung eine Wishart-Verteilung mit den Parametern k, V ist.
  19. Dekodierer nach Anspruch 13, wobei das erste statistische Modell dadurch erzeugt worden ist, daß mehrere Stichprobenabschnitte des Covertextes aneinandergehängt werden, das logarithmische Energiespektrogramm der aneinandergehängten Stichproben erzeugt und aus dem logarithmischen Energiespektrogramm eine Kovarianzmatrix (U') erzeugt wird, die die mittlere örtliche Kovarianzmatrix des logarithmischen Energiespektrogramms der Stichproben in die Einheitsmatrix transformiert.
  20. Dekodierer nach Anspruch 19, mit einer Einrichtung zum Bereitstellen der ersten Abtastwertmatrix (U'); einer Einrichtung zum Bereitstellen des Ergebnisses der Matrixmultiplikation des bzw. der Schlüssel (K), mit dem bzw. denen das Energiespektrogramm des Covertextes kodiert wurde, mit der ersten Stichprobenmatrix (U') zur Erzeugung mindestens einer Matrix (U'K); einer Einrichtung zum Bereitstellen aufeinanderfolgender Segmente (Y) des Energiespektrogramms des Covertextes; einer Einrichtung zum Multiplizieren jedes Segments (Y) mit der Matrix (U') zur Erzeugung von Matrizen (U'Y); und mit einer nach dem Bayes-Theorem arbeitenden Einrichtung, die aus den jeweiligen Matrizen (U'Y) und (U'K) eine Folge von Werten ableitet, deren jeder das logarithmische Verhältnis der Wahrscheinlichkeit angibt, daß ein gegebenenfalls vorhandenes Datenbit eine "+1" oder eine "–1" ist.
  21. Dekodierer nach Anspruch 20, mit einer ersten Matrixmultipliziereinrichtung zum Multiplizieren des Energiespektrogramms des Stegotextes mit der ersten Stichprobenmatrix (U') im logarithmischen Bereich zur Erzeugung einer Matrix (U'F); einer Einrichtung zum Segmentieren der Matrix (U'F) in Blöcke (Y), die nach Länge und Höhe dem bzw. den Schlüsseln K entsprechen; einer Einrichtung zum Addieren bzw. Subtrahieren der Matrix (U'K) zu bzw. von jedem Block (Y) zur Erzeugung von (U'Y + U'K) und (U'Y – U'K); einer Einrichtung zum Erzeugen der skalierten logarithmischen Determinante jeder der Matrizen (U'Y + U'K) und (U'Y – U'K); und mit einer Einrichtung zum Subtrahieren der skalierten logarithmischen Determinante von (U'Y + U'K) von (U'Y – U'K) zur Erzeugung der Folge von Werten, die das logarithmische Verhältnis der Wahrscheinlichkeit angeben, daß die einzelnen interessierenden Datenbits entweder eine "–1" oder eine "+1" sind.
  22. Dekodierer nach Anspruch 18 und einem der Ansprüche 19 bis 21, soweit diese auf Anspruch 18 rückbezogen sind, wobei die Einrichtung zum Erzeugen der skalierten logarithmischen Determinanten eine Einrichtung zum Erzeugen der logarithmischen Determinanten von (U'Y + U'K) und (U'Y – U'K) und eine Einrichtung zum Skalieren der jeweiligen logarithmischen Determinanten mit –(k + M)/2 aufweist, wobei k den Formparameter der Wishart-Verteilung und M die Anzahl von Spalten in dem Schlüssel angibt und der bzw. jeder Schlüssel (K) x Spalten breit und y Bits hoch ist, und wobei der Stegotext dadurch erzeugt worden ist, daß der bzw. jeder Schlüssel (K) zu bzw. von Blöcken (Y) des Stegotextes in Schritten von T addiert oder subtrahiert wird, wobei T eine ganze Zahl von Spalten des Schlüssels ist, so daß jeder Schlüssel auf jeden Spektrogrammblock mehrmals angewendet werden kann.
  23. Dekodierer nach Anspruch 13 und einem der Ansprüche 14 bis 22, soweit diese auf Anspruch 13 rückbezogen sind, mit einem Puffer, in dem die logarithmischen Verhältniswerte gespeichert sind, und einer Taktextrahiereinrichtung zum Extrahieren eines Taktes aus den Werten im Puffer, wobei die Taktextrahiereinrichtung den nominellen Takt des Eingangs-Stegotextes verwendet, um Folgen von Unterteilungspunkten der Werte in dem Puffer zu erzeugen und als Takt für den in den Daten im Puffer eingebetteten Code diejenige Punktfolge auszuwählen, die eine maximale Gesamtabweichung von Null ergibt.
  24. Dekodierer nach Anspruch 23, wobei die Taktextrahiereinrichtung aufweist einen steuerbaren Resampler, der so ausgelegt ist, daß er den Stegotext einem derartigen Resample-Vorgang unterwirft, daß der Covertext gestreckt oder komprimiert wird; eine Einrichtung zum Entnehmen einer zufälligen Stichprobe aus dem Speicherinhalt; und eine Einrichtung zum Steuern des Resamplers entsprechend den zufällig aus dem Puffer entnommenen Stichproben, bis das Ausgangssignal des Resamplers auf einer Frequenz liegt, die die Extraktion des Codes gestattet.
  25. Dekodierer nach Anspruch 23 oder 24 mit einer Einrichtung zum Skalieren der von dem Puffer ausgegebenen Wertefolge entsprechend, der Arbeitsweise der Taktextrahiereinrichtung derart, daß die Werte eine Standardabweichung von 1 um + oder – α/σ haben, wobei α das Mittel der Absolutwerte der Folge (Cn) von aus dem Puffer entnommenen Werten und σ = std(|'Cn| – α) ist.
  26. Dekodierer nach Anspruch 25 mit einer Einrichtung zum Korrigieren der skalierten Werte Cn entsprechend den statistischen Daten, die aus dem vorgegebenen statistischen Modell stammen, wobei die Korrektur durch Anwenden der Funktion
    Figure 00420001
    durchgeführt wird wobei
    Figure 00420002
    und r und m vorher berechnete Parameter einer Student-Verteilung sind.
  27. Dekodierer nach Anspruch 19 oder einem der Ansprüche 20 bis 26, soweit diese auf Anspruch 19 rückbezogen sind, wobei die Matrix (U') eine Matrix (B0U') angibt, in der (B0) eine Matrix ist, die die Matrix (U') in ein orthogonales Koordinatensystem mit weniger Dimensionen als das ursprüngliche Koordinatensystem von (U') konvertiert.
  28. Verfahren zum Dekodieren eines Stegotextes, der dadurch erzeugt worden ist, daß das logarithmische Energiespektrogramm eines Covertextsignals mit mindestens einem Schlüssel (K) moduliert wird, wobei Vielfache des bzw. jedes Schlüssels im logarithmischen Bereich zu bzw. von dem Covertext-Energiespektrogramm entsprechend Daten des Wasserzeichencodes, mit dem der Stegotext erzeugt wurde, addiert oder subtrahiert werden und das modulierte Energiespektrogramm in den Originalbereich des Covertextes zurückgeführt wird, wobei eine Fast-Fourier-Transformation und eine Rechtwinklig/Polar-Konvertierung des Stegotextsignals durchgeführt werden, um dieses in den logarithmischen Energiespektrogrammbereich zu transformieren; der oder die Schlüssel bereitgestellt werden, mit dem bzw. denen das logarithmische Energiespektrogramm des ursprünglichen Covertextsignals codiert wurde; im logarithmischen Energiebereich positive und negative Vielfache des bzw. der Schlüssel von Blöcken des logarithmischen Energiespektrogramms subtrahiert werden und anhand eines vorgegebenen statistischen Modells die Wahrscheinlichkeit bewertet wird, daß die Ergebnisse dieser Subtraktionen einen unmodifizierten Block des Covertextes darstellen; und die kodierten Daten aus dem Ergebnis der Berechnung wiedergewonnen werden.
  29. Verfahren nach Anspruch 28, wobei die bewerteten Wahrscheinlichkeiten als logarithmische Verhältniswerte gespeichert und aus den gespeicherten Werten individuelle Zeitschlitze extrahiert werden, wobei das vorgegebene statistische Modell annimmt, daß die individuellen Zeitschlitze des Spektrogramms entsprechend einer mehrdimensionalen Gauß-Verteilung verteilt sind.
  30. Verfahren nach Anspruch 29, wobei das vorgegebene statistische Modell annimmt, daß die Kovarianz-Matrixparameter von einem Zeitschlitz zum nächsten konstant aber nicht vorgegeben sind, jedoch aus einer weiteren Verteilung stammen, oder sich zwischen Zeitschlitzen; die um nicht mehr als die Breite des Schlüssels voneinander getrennt sind, nicht ändern und aus einer weiteren Verteilung stammen.
  31. Verfahren nach Anspruch 30, wobei die weitere Verteilung eine Wishart-Verteilung mit den Parametern k, V ist.
  32. Verfahren nach einem der Ansprüche 28 bis 31, wobei das vorgegebene statistische Modell Parameter hat, die aus mehreren Covertext-Stichproben dadurch erzeugt worden sind, daß mehrere Covertext-Stichprobenabschnitte aneinandergehängt werden, das logarithmische Energiespektrogramm der aneinandergehängten Stichproben erzeugt und aus dem logarithmischen Energiespektrogramm eine Kovarianzmatrix (U') erzeugt wird, die die mittlere örtliche Kovarianzmatrix des logarithmischen Energiespektrogramms der Stichproben in die Einheitsmatrix transformiert.
  33. Verfahren nach Anspruch 28, wobei die erste Stichprobenmatrix (U') bereitgestellt wird; das Ergebnis der Matrixmultiplikation des bzw. der Schlüssel (K), mit dem bzw. denen das Energiespektrogramm des Covertextes kodiert wurde, mit der ersten Stichprobenmatrix (U') zur Erzeugung mindestens einer Matrix (U'K) bereitgestellt wird; aufeinanderfolgende Segmente (Y) des Energiespektrogramms des Covertextes bereitgestellt werden; jedes Segment (Y) mit der Matrix (U') multipliziert wird, um Matrizen (U'Y) zu erzeugen; und unter Anwendung des Bayes-Theorems aus den jeweiligen Matrizen (U'Y) und (U'K) eine Folge von Werten ableitet wird, deren jeder das logarithmische Verhältnis der Wahrscheinlichkeit angibt, daß ein gegebenenfalls vorhandenes Datenbit eine "+1" oder eine "–1" ist.
  34. Verfahren nach Anspruch 33, wobei eine erste Matrixmultipliziereinrichtung verwendet wird, um das Energiespektrogramm des Stegotextes mit der ersten Stichprobenmatrix (U') im logarithmischen Bereich zur Erzeugung einer Matrix (U'F) zu multiplizieren; die Matrix (U'F) in Blöcke (Y) segmentiert wird, die nach Länge und Höhe dem bzw. den Schlüsseln (K) entsprechen; die Matrix (U'K) zu bzw. von jedem Block (Y) addiert bzw. subtrahiert wird, um (U'Y + U'K) und (U'Y – U'K) zu erzeugen; die skalierte logarithmische Determinante jeder der Matrizen (U'Y + U'K) und (U'Y – U'K) erzeugt wird; und die skalierte logarithmische Determinante von (U'Y + U'K) von (U'Y – U'K) subtrahiert wird, um eine Folge von Werten zu erzeugen, die das logarithmische Verhältnis der Wahrscheinlichkeit angeben, daß die einzelnen interessierenden Datenbits entweder eine "–1" oder eine "+1" sind.
  35. Verfahren nach Anspruch 31 und einem der Ansprüche 32 bis 34, soweit diese auf Anspruch 31 rückbezogen sind, wobei die logarithmischen Determinanten von (U'Y + U'K) und (U'Y – U'K) erzeugt und dann die jeweiligen logarithmischen Determinanten mit – (k + M/2 skaliert werden, wobei k den Formparameter der Wishart-Verteilung und M die Anzahl von Spalten in dem Schlüssel angibt.
  36. Verfahren nach einem der Ansprüche 28 bis 35, wobei der bzw. jeder Schlüssel (K) x Spalten breit und y Bits hoch ist, und wobei der Stegotext dadurch erzeugt worden ist, daß der bzw. jeder Schlüssel (K) zu bzw. von Blöcken (Y) des Stegotextes in Schritten von T addiert oder subtrahiert wird, wobei T eine ganze Zahl von Spalten des Schlüssels ist, so daß jeder Schlüssel auf jeden Spektrogrammblock mehrmals angewendet werden kann.
  37. Verfahren nach Anspruch 29 und einem der Ansprüche 30 bis 36, soweit diese auf Anspruch 29 rückbezogen sind, wobei die logarithmischen Verhältniswerte in einem Puffer gespeichert werden und aus den Werten im Puffer ein Takt extrahiert wird, der zum Extrahieren der individuellen Zeitschlitze dient, wobei der nominelle Takt des Eingangs-Stegotextes dazu dient, Folgen von Unterteilungspunkten der Werte in dem Puffer zu erzeugen und als Takt für den in den Daten im Puffer eingebetteten Code diejenige Punktfolge auszuwählen, die die maximale Gesamtabweichung von Null ergibt.
  38. Verfahren nach Anspruch 37, wobei der Stegotext steuerbar einem derartigen Resample-Vorgang unterworfen wird, daß der Covertext gestreckt oder komprimiert wird; aus dem Speicherinhalt eine zufällige Stichprobe entnommen; und der Resample-Vorgang entsprechend den zufällig aus dem Puffer entnommenen Stichproben gesteuert wird, bis das Resample-Ergebnis auf einer Frequenz liegt, die die Extraktion des Codes gestattet.
  39. Verfahren nach Anspruch 37 oder 38, wobei die von dem Puffer ausgegebene Sequenz von Werten (Cn) entsprechend der Arbeitsweise der Taktextrahiereinrichtung derart skaliert wird, daß die Werte eine Standardabweichung von 1 um + oder – α/σ haben, wobei α das Mittel der Absolutwerte der Folge (Cn) von aus dem Puffer entnommenen Werten und σ = std(|Cn| – α) ist.
  40. Verfahren nach Anspruch 39, wobei die skalierten Werte entsprechend statistischen Daten korrigiert werden, die aus dem vorgegebenen statistischen Modell stammen.
  41. Verfahren nach Anspruch 40, wobei die Korrektur durch Anwenden der Funktion
    Figure 00450001
    auf die Folge (Cn) der extrahierten Wert durchgeführt wird, wobei
    Figure 00450002
    und r und m vorher berechnete Parameter einer Student-Verteilung sind.
  42. Verfahren nach Anspruch 32 oder einem der Ansprüche 33 bis 41, soweit diese auf Anspruch 32 rückbezogen sind, wobei die Matrix (U') eine Matrix (B0U') angibt, in der (B0) eine Matrix ist, die die Matrix (U') in ein orthogonales Koordinatensystem mit weniger Dimensionen als das ursprüngliche Koordinatensystem von (U') konvertiert.
  43. Speichermedium, in dem prozessorimplementierbare Befehle gespeichert sind, um einen Prozessor so zu steuern, daß er das Verfahren nach einem der Ansprüche 28 bis 42 ausführt.
  44. Elektrisches Signal mit prozessorimplementierbaren Befehlen, die einen Prozessor derart steuern, daß er das Verfahren nach einem der Ansprüche 28 bis 42 ausführt.
  45. Wasserzeichen-Schlüsselgenerator zum Erzeugen eines Schlüssels zur Wasserzeichenbehandlung von Covertexten, wobei der Generator eine Einrichtung zum Erzeugen eines zweidimensionalen Rauschmusters vorgegebener Höhe und Breite aufweist, gekennzeichnet durch eine Einrichtung zum Filtern des Rauschsignals in einer Dimension mit einer sich mit der Position im Muster ändernden Grenzfrequenz.
  46. Schlüsselgenerator nach Anspruch 45, wobei die Änderung mit der Position im wesentlichen invers zum Modulus der Koordinate in der Dimension der Position relativ zu einem Bezugspunkt in dem Muster erfolgt.
  47. Schlüsselgenerator nach Anspruch 46, wobei der Bezugspunkt entweder in der Mitte der besagten Dimension oder an einem Ende der anderen Dimension liegt.
  48. Schlüsselgenerator nach einem der Ansprüche 45 bis 47, wobei die Filtereinrichtung als Tiefpaßfilter wirkt und das Rauschmuster derart filtert, daß es keine Frequenzkomponenten mit Zeitmaßen kürzer als ein Schwellenzeitmaß τ enthält, wobei τ = C|t|, wobei C eine positive Konstante im Bereich von 0,05 bis 0,4 Pixeln pro Zyklus pro Pixel und t die Koordinate in der besagten Dimension relativ zu dem Bezugspunkt ist, und wobei eine zweite Einrichtung zum Filtern des weißen Rauschsignals quer zu der besagten einen Dimension vorgesehen ist.
  49. Schlüsselgenerator nach Anspruch 48, wobei die zweite Filtereinrichtung eine Grenzfrequenz aufweist, die sich invers zum Modulus der Koordinate in der zweiten Dimension derart ändert, daß das Rauschmuster keine Frequenzkomponenten mit Zeitmaßen kürzer als τ = C|t| enthält, wobei t die Koordinate in der zweiten Dimension relativ zu dem Bezugspunkt ist, und wobei ferner vorgesehen sind ein Zufallszahlengenerator, der entsprechend einer numerischen Auslöseeingabe gleichmäßig verteilte Zufallszahlen erzeugt; eine Konvertiereinrichtung zum Konvertieren der so erzeugten Zufallszahlen in Zufallszahlen einer 1-d-Gauß-Verteilung; und eine Einrichtung zum Umordnen der Gauß-verteilten Zufallszahlen in ein zweidimensionales Rauschmuster, wobei der Zufallszahlengenerator ein Tausworthe-Generator ist und die Konvertiereinrichtung nach der Box-Cox-Methode arbeitet.
  50. Verfahren zum Erzeugen eines Schlüssels zur Wasserzeichenbehandlung von Covertexten, wobei ein zweidimensionales Rauschmuster vorgegebener Höhe und Breite erzeugt wird, dadurch gekennzeichnet, daß das Rauschsignal in einer Dimension mit einer sich mit der Position im Muster ändernden Grenzfrequenz gefiltert wird, wobei die Änderung mit der Position im wesentlichen invers zum Modulus der Koordinate in der Dimension der Position relativ zu einem Bezugspunkt in dem Muster erfolgt und die Filterung als Tiefpaßfilter wirkt, um das Rauschmuster derart zu filtern, daß es keine Frequenzkomponenten mit Zeitmaßen kürzer als ein Schwellenzeitmaß τ enthält, wobei τ = C|t|, wobei C eine positive Konstante im Bereich von 0,05 bis 0,4 Pixeln pro Zyklus pro Pixel und t die Koordinate in der besagten Dimension relativ zu dem Bezugspunkt ist.
  51. Speichermedium, in dem ein nach dem Verfahren nach Anspruch 50 erzeugter Schlüssel oder ein elektrisches Signal, das einen nach dem Verfahren nach Anspruch 50 erzeugten Schlüssel enthält, gespeichert ist.
  52. Kodierer zum Codieren eines Covertextsignals zur Erzeugung eines Stegotextes, wobei der Kodierer aufweist eine Transformiereinrichtung zur Durchführung einer Fast-Fourier-Transformation und einer Rechtwinklig/Polar-Konvertierung des Covertextsignals, um dieses in ein logarithmisches Energiespektrogramm zu transformieren; gekennzeichnet durch eine Einrichtung zum Bereitstellen eines nach dem Verfahren nach Anspruch 50 erzeugten Schlüssels in Form eines zweidimensionalen Rauschmusters; und eine Einrichtung zum Modulieren des logarithmischen Energiespektrogramms mit dem Schlüssel entsprechend einem Wasserzeichencode.
DE60110086T 2000-07-27 2001-07-27 Stegotextkodierer und -dekodierer Expired - Fee Related DE60110086T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB0018489 2000-07-27
GB0018491 2000-07-27
GB0018491A GB2365296A (en) 2000-07-27 2000-07-27 Encoder/decoder for watermarking a covertext signal
GB0018487 2000-07-27
GB0018487A GB2365285A (en) 2000-07-27 2000-07-27 Decoding watermarked data using keys and FFT
GB0018489A GB2365295A (en) 2000-07-27 2000-07-27 Watermarking key
PCT/GB2001/003391 WO2002011326A2 (en) 2000-07-27 2001-07-27 Stegotext encoder and decoder

Publications (2)

Publication Number Publication Date
DE60110086D1 DE60110086D1 (de) 2005-05-19
DE60110086T2 true DE60110086T2 (de) 2006-04-06

Family

ID=27255820

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60110086T Expired - Fee Related DE60110086T2 (de) 2000-07-27 2001-07-27 Stegotextkodierer und -dekodierer

Country Status (8)

Country Link
US (3) US7298841B2 (de)
EP (1) EP1305901B1 (de)
JP (1) JP5105686B2 (de)
AT (1) ATE293316T1 (de)
AU (1) AU2001275712A1 (de)
CA (1) CA2417499A1 (de)
DE (1) DE60110086T2 (de)
WO (1) WO2002011326A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020206723A1 (de) 2020-05-28 2021-12-02 Andreas Schubert Zufallszahlengenerator

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7362775B1 (en) * 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US5613004A (en) * 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US9630443B2 (en) 1995-07-27 2017-04-25 Digimarc Corporation Printer driver separately applying watermark and information
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
US6205249B1 (en) 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7457962B2 (en) * 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7346472B1 (en) * 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US7730317B2 (en) 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US7664264B2 (en) * 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
DE60110086T2 (de) 2000-07-27 2006-04-06 Activated Content Corp., Inc., Burlingame Stegotextkodierer und -dekodierer
US6674876B1 (en) 2000-09-14 2004-01-06 Digimarc Corporation Watermarking in the time-frequency domain
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US7131007B1 (en) 2001-06-04 2006-10-31 At & T Corp. System and method of retrieving a watermark within a signal
US6899475B2 (en) 2002-01-30 2005-05-31 Digimarc Corporation Watermarking a page description language file
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US7152021B2 (en) 2002-08-15 2006-12-19 Digimarc Corporation Computing distortion of media signals embedded data with repetitive structure and log-polar mapping
US8014557B2 (en) 2003-06-23 2011-09-06 Digimarc Corporation Watermarking electronic text documents
DE102004021404B4 (de) * 2004-04-30 2007-05-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Wasserzeicheneinbettung
US8156548B2 (en) * 2004-05-20 2012-04-10 Future Internet Security Ip Pty Ltd. Identification and authentication system and method
US8140848B2 (en) * 2004-07-01 2012-03-20 Digimarc Corporation Digital watermark key generation
ES2310773T3 (es) * 2005-01-21 2009-01-16 Unlimited Media Gmbh Metodo de incrustacion de una marca de agua digital en una señal util.
CA2508428A1 (fr) * 2005-05-20 2006-11-20 Hydro-Quebec Detection, localisation et interpretation de decharge partielle
US7549111B2 (en) * 2005-09-21 2009-06-16 International Business Machines Corporation Apparatus, system, and method for converting between serial data and encoded holographic data
WO2008012739A2 (en) * 2006-07-28 2008-01-31 Nxp B.V. Media playback decoder tracing
EP2082527B1 (de) 2006-10-18 2014-09-24 Destiny Software Productions Inc. Verfahren für wasserzeichen an medien-daten
US8494903B2 (en) * 2007-03-16 2013-07-23 Activated Content Corporation Universal advertising model utilizing digital linkage technology “U AD”
WO2008122918A2 (en) * 2007-04-06 2008-10-16 Koninklijke Philips Electronics N.V. Secure client-side embedding using multiple one-time-pads
US9466307B1 (en) * 2007-05-22 2016-10-11 Digimarc Corporation Robust spectral encoding and decoding methods
US8700410B2 (en) * 2009-06-18 2014-04-15 Texas Instruments Incorporated Method and system for lossless value-location encoding
AU2010312302B2 (en) * 2009-10-29 2014-04-24 Optimark, L.L.C. Digital watermarking
BR112013033900B1 (pt) * 2011-06-30 2022-03-15 Samsung Electronics Co., Ltd Método para gerar um sinal estendido de largura de banda para decodificação de áudio
CN102750956B (zh) * 2012-06-18 2014-07-16 歌尔声学股份有限公司 一种单通道语音去混响的方法和装置
US9197360B2 (en) * 2014-04-25 2015-11-24 The Aerospace Corporation Systems and methods for reducing a relatively high power, approximately constant envelope interference signal that spectrally overlaps a relatively low power desired signal
US9391654B2 (en) * 2014-04-25 2016-07-12 The Aerospace Corporation Systems and methods for reducing a relatively high power, approximately constant envelope interference signal that spectrally overlaps a relatively low power desired signal
KR102189730B1 (ko) * 2015-09-03 2020-12-14 주식회사 쏠리드 디지털 데이터 압축 및 복원 장치
US9654158B2 (en) 2015-10-20 2017-05-16 The Aerospace Corporation Circuits and methods for reducing an interference signal that spectrally overlaps a desired signal
US10340962B2 (en) 2016-05-06 2019-07-02 The Aerospace Corporation Amplitude domain circuits and methods for reducing an interference signal that spectrally overlaps a desired signal
US10206080B2 (en) * 2016-09-08 2019-02-12 Lg Electronics Inc. Method for transmitting or receiving signal in wireless communication system and apparatus therefor
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN108256807B (zh) * 2018-02-10 2023-10-03 西安科技大学 基于二维码识别的快递员收发件***及方法
US10965315B2 (en) * 2018-08-09 2021-03-30 Andrew Kamal Data compression method
US11212015B2 (en) 2020-05-19 2021-12-28 The Aerospace Corporation Interference suppression using machine learning
CN115103080B (zh) * 2022-05-07 2023-04-21 华南理工大学 一种基于dna三倍体变异的图像加密方法和***
CN115048682B (zh) * 2022-08-15 2022-11-01 河北省农林科学院农业信息与经济研究所 一种土地流转信息的安全存储方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57147695A (en) * 1981-03-06 1982-09-11 Fujitsu Ltd Voice analysis system
JPS57185090A (en) * 1981-05-08 1982-11-15 Kyosan Electric Mfg Recognition pattern checking system
JP3004023B2 (ja) * 1989-11-28 2000-01-31 株式会社東芝 音声認識装置
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
DE69636084T2 (de) * 1995-09-28 2006-09-14 Nec Corp. Verfahren und Vorrichtung zum Einfügen eines Spreizspektrumwasserzeichens in Multimediadaten
US6584138B1 (en) * 1996-03-07 2003-06-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding process for inserting an inaudible data signal into an audio signal, decoding process, coder and decoder
US5848155A (en) 1996-09-04 1998-12-08 Nec Research Institute, Inc. Spread spectrum watermark for embedded signalling
JP3649537B2 (ja) * 1996-11-27 2005-05-18 日本アイ・ビー・エム株式会社 データハイディング方法及びデータ抽出方法
EP1002388B1 (de) 1997-05-19 2006-08-09 Verance Corporation Vorrichtung und verfahren für die einbettung und wiedergewinnung von informationen in analogen signalen mit verwendung der verteilten signalmerkmale
JPH1132200A (ja) 1997-07-09 1999-02-02 Matsushita Electric Ind Co Ltd 透かしデータ挿入方法及び透かしデータ検出方法
EP0905967A1 (de) * 1997-09-26 1999-03-31 Digital Copyright Technologies AG Verfahren zur Erzeugung von digitalen Wasserzeichen und zum Austausch von digitale Wasserzeichen enthaltenden Daten
GB9801131D0 (en) 1998-01-20 1998-03-18 Nds Ltd Improvements in or relating to watermarks
JP3986150B2 (ja) * 1998-01-27 2007-10-03 興和株式会社 一次元データへの電子透かし
US6145081A (en) * 1998-02-02 2000-11-07 Verance Corporation Method and apparatus for preventing removal of embedded information in cover signals
JP3570213B2 (ja) * 1998-03-27 2004-09-29 株式会社日立製作所 電子透かし画像処理方法
US6272176B1 (en) * 1998-07-16 2001-08-07 Nielsen Media Research, Inc. Broadcast encoding system and method
KR100341197B1 (ko) 1998-09-29 2002-06-20 포만 제프리 엘 오디오 데이터로 부가 정보를 매립하는 방법 및 시스템
US6373970B1 (en) * 1998-12-29 2002-04-16 General Electric Company Image registration using fourier phase matching
JP2000269919A (ja) * 1999-03-16 2000-09-29 Matsushita Electric Ind Co Ltd Ofdm通信装置
FR2794600B1 (fr) * 1999-06-01 2001-08-17 Thomson Multimedia Sa Systeme de tatouage de donnees utilisant de nouvelles methodes d'insertion et de detection de tatouage
US6766062B1 (en) * 2000-02-16 2004-07-20 The Board Of Trustees Of The Leland Stanford Junior University - Office Of Technology Digital ridgelet transform via digital polar coordinate transform
US6529927B1 (en) * 2000-03-31 2003-03-04 The Regents Of The University Of California Logarithmic compression methods for spectral data
DE60110086T2 (de) 2000-07-27 2006-04-06 Activated Content Corp., Inc., Burlingame Stegotextkodierer und -dekodierer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020206723A1 (de) 2020-05-28 2021-12-02 Andreas Schubert Zufallszahlengenerator

Also Published As

Publication number Publication date
ATE293316T1 (de) 2005-04-15
US7298841B2 (en) 2007-11-20
AU2001275712A1 (en) 2002-02-13
US20040028222A1 (en) 2004-02-12
JP2004515799A (ja) 2004-05-27
JP5105686B2 (ja) 2012-12-26
US20080152128A1 (en) 2008-06-26
WO2002011326A2 (en) 2002-02-07
US7916862B2 (en) 2011-03-29
US7917766B2 (en) 2011-03-29
WO2002011326A3 (en) 2003-01-23
EP1305901A2 (de) 2003-05-02
DE60110086D1 (de) 2005-05-19
EP1305901B1 (de) 2005-04-13
CA2417499A1 (en) 2002-02-07
US20090190755A1 (en) 2009-07-30

Similar Documents

Publication Publication Date Title
DE60110086T2 (de) Stegotextkodierer und -dekodierer
DE69834841T2 (de) Wasserzeichen angewendet auf eindimensionalen daten
DE69835521T2 (de) Vorrichtung und verfahren für die einbettung und wiedergewinnung von informationen in analogen signalen mit verwendung der verteilten signalmerkmale
DE10195850B4 (de) Verfahren zum Integrieren eines Wasserzeichens in ein komprimiertes Bild
DE69823587T2 (de) Angepasste zeichenkodierte Kompression zur Kodierung und Erzeugung von Wasserzeichen auf einem Medieninhalt
EP2266114B1 (de) Einbetter und detektor eines wasserzeichens mit zusatzinformation
EP2372634B1 (de) Einbetter zum Einbetten eines Wasserzeichens in eine Informationsdarstellung, Detektor zum Detektieren eines Wasserzeichens in einer Informationsdarstellung, Verfahren und Computerprogramm
DE60031906T2 (de) Verfahren zum Einfügen eines Wasserzeichens und dazugehöriges Dekodierverfahren
DE60303214T2 (de) Verfahren zur reduzierung von aliasing-störungen, die durch die anpassung der spektralen hüllkurve in realwertfilterbanken verursacht werden
DE69332057T2 (de) Digitalsignaldekodierungsvorrichtung
DE69232904T2 (de) Sprachkodierer/-dekodierer und Kodierungs-/Dekodierungsverfahren
DE60107308T2 (de) Verfahren zur Erzeugung eines Wasserzeichens für Audiosignale
EP1741039B1 (de) Informationssignalverarbeitung durch modifikation in der spektral-/modulationsspektralbereichsdarstellung
EP2867894B1 (de) Vorrichtung, verfahren und computerprogramm für frei wählbare frequenzverschiebungen in der subband-domäne
EP2124485A2 (de) Erweiterte Verarbeitung auf der Basis einer mit komplexer Exponentialfunktion modulierten Filterbank und adaptive Zeitsignalisierungsverfahren
DE602004005784T2 (de) Verbesserte Anregung für Höherband-Kodierung in einem Codec basierend auf Frequenzbandtrennungs-Kodierungsverfahren
DE2524497A1 (de) Phasenvocoder-sprachsynthesesystem
EP2891334B1 (de) Erzeugung von mehrkanalton aus stereo-audiosignalen
DE60308667T2 (de) Wasserzeichenzeitskalensuchen
DE60320546T2 (de) Kennzeichnung von zeitbereichen mit wasserzeichen bei multimediasignalen
DE60036189T2 (de) Informationeinbettungsgerät und -verfahren für Erfassung von Verfälschungen
DE60210668T2 (de) Quantisierungs-index-moduliertes (qim) einbetten eines digitalen wasserzeichens in ein multimedia-signal
EP1604527B1 (de) Vorrichtung und verfahren zum einbetten einer binären nutzinformation in ein trägersignal
DE69711102T2 (de) Verfahren und gerät zur schätzung von koppelparametern in einem transformationskodierer für hochwertige tonsignale
DE60213405T2 (de) Wasserzeichen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee