Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
STEGANOGRAPHY IN DIGITAL SIGNAL ENCODERS
Document Type and Number:
WIPO Patent Application WO/2008/031498
Kind Code:
A1
Abstract:
In a method for embedding steganographic information into the signal information of a signal encoder, a solution is to be created, which enables steganographic information being embedded into the signal information of a signal encoder such that a reduction of the voice quality is largely avoided. This is achieved by means of providing data information, particularly voice information, selecting steganographic information from a quantity of steganographic information, generating a code word from a code book provided by means of the signal encoder on the basis of the code elements forming the code book such that with the use of the code word generated within the scope of a transmission standard associated with the code book the data information is encoded into signal information containing the code word and/or making reference to the code word; and by the code word generated having an additional feature that can be calculated on the basis of the code elements forming the code word, wherein the additional feature represents the steganographic information.

Inventors:
GEISER BERND (DE)
VARY PETER
Application Number:
PCT/EP2007/007548
Publication Date:
March 20, 2008
Filing Date:
August 29, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
RWTH AACHEN (DE)
GEISER BERND (DE)
VARY PETER
International Classes:
G10L19/00; G10L19/018; G10L19/12
Foreign References:
EP1049259A12000-11-02
JPH11272299A1999-10-08
Other References:
BERND GEISER AND PETER VARY: "Backwards Compatible Wideband Telephony in Mobile Networks: CELP Watermarking and Bandwidth Extension", 2007 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 15 April 2007 (2007-04-15) - 20 April 2007 (2007-04-20), HONOLULU, HI, USA, pages IV-533 - IV-536, XP002460946, ISBN: 1-4244-0727-3
NICOLAS CHÉTRY AND MIKE DAVIES: "Embedding side information into a speech codec residual", EUROPEAN SIGNAL PROCESSING CONFERENCE, 4 September 2006 (2006-09-04) - 8 September 2006 (2006-09-08), Florence, Italy, XP002460947
ZHE-MING LU ET AL: "Watermarking combined with CELP speech coding for authentication", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS INST. ELECTRON. INF. & COMMUN. ENG, vol. 1E88-D, no. 2, February 2005 (2005-02-01), JAPAN, pages 330 - 334, XP002460948, ISSN: 0916-8532
NICOLAS CHETRY, MIKE DAVIES: "Embedding side information into a speech codec residual", EUROPEAN SIGNAL PROCESSING CONFERENCE, 4 September 2006 (2006-09-04)
Attorney, Agent or Firm:
BERGMANN, Michael (Jentschura & PartnerCentroallee 263, Oberhausen, DE)
Download PDF:
Claims:

Patentansprüche

1. Verfahren zur Einbettung einer steganographischen Information in eine Signalinformation eines Signal-Codierers, gekennzeichnet durch

Bereitstellen einer Dateninformation, insbesondere einer Sprachinformation,

Auswählen einer steganographischen Information aus einer Menge von steganographischen Informationen, - Erzeugen eines Codewortes aus einem bereitgestellten Codebuch mittels des Signal-Codierers auf Basis von das Codewort bildenden Codeelementen, derart, dass

• unter Verwendung des erzeugten Codeworts im Rahmen eines mit dem Codebuch assoziierbaren

übertragungsstandards die Dateninformation in eine das Codewort beinhaltende und/oder auf das Codewort verweisende Signalinformation codiert wird; und, dass • das erzeugte Codewort eine zusätzliche, auf

Basis der das Codewort bildenden Codeelemente berechenbare Eigenschaft aufweist, wobei die zusätzliche Eigenschaft die steganographische Information darstellt.

2. Verfahren nach Anspruch 1, gekennzeichnet durch eine Bewertung des erzeugten Codewortes im Rahmen eines mit dem bereitgestellten Codebuch assoziierbaren übertragungsstandards mittels Decodierens des Codewortes und an- schließenden Vergleichens der decodierten Dateninformation mit der ursprünglichen Dateninformation.

3. Verfahren nach Anspruch 2, gekennzeichnet durch das Erzeugen des Codewortes aus dem bereitgestellten Codebuch mittels des Signal-Codierers auf Basis der das Codewort

bildenden Codeelemente unter Berücksichtigung der Bewertung.

4. Verfahren nach einem der vorhergehenden Ansprüche, ge- kennzeichnet durch die Verwendung eines auf Basis des

GSM- und/oder des UMTS-übertragungsstandards basierenden Codierers und Codebuches.

5. Verfahren nach einem der vorhergehenden Ansprüche, ge- kennzeichnet durch das Erzeugen eines Codewortes auf Basis der CELP-, der ACELP- oder der AMR-Codierung.

6. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Berechnung der Eigenschaft des Codewortes als Ergebnis einer Anwendung mindestens einer Operation auf mindestens eines der das Codewort bildenden Codeelemente.

7. Verfahren nach einem der vorhergehenden Ansprüche, ge- kennzeichnet durch die Bereitstellung des Codewortes derart, dass das Codewort die Eigenschaft implizit erfüllt.

8. Verfahren nach einem der vorhergehenden Ansprüche, ge- kennzeichnet durch die Auswahl der steganographischen

Information derart, dass die steganographische Information empfangsseitig zur Signalverbesserung, insbesondere bei Sprachübertragung, wie eine künstliche Bandbreitenerweiterung und/oder Störreduktion, verwendet wird.

9. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Auswahl der steganographischen Information derart, dass die steganographische Information als digitales Wasserzeichen verwendet wird.

10. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch ein übertragen der das Codewort beinhaltenden oder auf das Codewort verweisenden Signalinformation an einen Empfänger.

11. Verfahren nach Anspruch 10, gekennzeichnet durch ein empfangsseitiges Bereitstellen einer Dateninformation mittels Decodierens des Codewortes im Rahmen eines mit dem bereitgestellten Codebuch assoziierbaren übertra- gungsstandards .

12. Verfahren nach Anspruch 10 oder 11, gekennzeichnet durch ein empfangsseitiges Bereitstellen der steganographi- schen Information mittels Berechnens der zusätzlichen Eigenschaft des Codewortes auf Basis der das Codewort bildenden Codeelemente.

13. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch ein Ausführen des Verfahrens in einer Mobilfunkvorrichtung.

Description:

Steganographie in digitalen Signal-Codierern

Die Erfindung richtet sich auf ein Verfahren zur Einbettung einer steganographischen Information in eine Signalinformati- on eines Signal-Codierers.

Neben den analogen Ton-, Bild- und Videoübertragungen gewinnt die digitale übertragung immer mehr Gewicht. Dies liegt unter anderem auch daran, dass digitale Signalinformationen einfa- eher bearbeitet, d.h. kopiert oder auch komprimiert werden können. So führt insbesondere die Komprimierung von digitalen Signalinformationen dazu, dass mittels Signalübertragungskanälen mit begrenzten Datenübertragungsraten mit hoher Informationsdichte Informationen übertragen werden können.

Neben der Komprimierung von Signalinformationen als eine Art der Bearbeitung hat sich in jüngster Zeit auch das Einbetten von "unsichtbaren" - steganographischen - Informationen in Signalinformationen durchgesetzt. Eine solche Einbettung von Zusatzinformationen ermöglicht beispielsweise eine Kennzeichnung von Urheberrechten - wenn es sich bei der Signalinformation beispielsweise um ein Musikstück handelt - oder allgemein gesprochen um eine allgemeine Herkunftsangabe, also ein "digitales Wasserzeichen" .

Auch wenn sich eine derartige Einbettung von steganographischen Informationen in Musik- und/oder Videosignalen bereits weitgehend durchgesetzt hat, so ist eine Einbettung von steganographischen Informationen in eine codierte Signalinforma- tion, insbesondere wenn sie in "Echtzeit" zu übertragen ist, weiterhin mit Schwierigkeiten verbunden. Dies ist in der Tatsache begründet, dass gewisse Codierungen keine Redundanz und damit keinen Raum für steganographische Informationen bieten, oder dass die steganographische Information beim Decodieren der codierten Signalinformation verloren geht.

Eine derartige Ausgangssituation, bei der Signalinformationen, im gegebenen Fall vornehmlich Sprachinformationen, über einen Kanal gesendet und empfangen werden, und in Echtzeit codiert und decodiert werden, und bei der nicht unbeschränkt übertragungsressourcen zur Verfügung stehen, findet man beispielsweise in der Mobilfunktelefonie . Hier erlaubt das GSM- Netz bestenfalls eine übertragungsrate von maximal 13,0 kbit/s. Eine uncodierte Sprachinformation, d.h. hier eine nicht komprimierte Sprachinformation, wäre aufgrund der sehr geringen übertragungsrate auf Empfängerseite kaum mehr zu verstehen. Um trotzdem verständliche Sprachinformationen beispielsweise von einem Mobilfunkgerät auf ein anderes zu übertragen, haben sich die sogenannten Sprach-Codecs als ein pro- bates Mittel zur komprimierten Sprachsignalübertragung herauskristallisiert. Sollen zusätzliche Informationen, d.h. steganographische Informationen, in eine solche Signalinformation eingebettet werden, so sind die sich aus der Codierung ergebenden Besonderheiten zu berücksichtigen.

Im Bereich der mobilen Telekommunikation werden beispielsweise in GSM (Global System for Mobile Communications) - Mobilfunknetzwerken oder UMTS (Universal Mobile Telecommunications Standard ) - Mobilfunknetzwerken die zu übertragenden Sprach- Informationen mittels des bekannten CELP (Code-book Excited Linear Predictive Coding) bzw. ACELP (Algebraic Code Excited Linear Prediction) oder zukünftig der AMR (Adaptive MultiRate) - Codierung codiert. Diese Sprachcodierungen basieren allesamt auf einem Modell der Spracherzeugung, bei dem in ei- ner ersten Nährung die Bildung des Sprachsignals in einer Anregungsstufe und einer Filterungsstufe erzeugt wird. Ein Signalcodierer, wie beispielsweise ein CELP-Codierer , ein ACELP-Codierer oder ein AMR-Codierer, erzeugt einen Codebucheintrag, in der Regel einen Vektor aus einem sogenannten Codebuch, wobei die Codeelemente des Codebucheintrages - also

in der Regel die Vektorkomponenten - Informationen bezüglich der (Filter-) Anregung enthalten. Filterkoeffizienten, Verstärkungsfaktoren etc. werden als Zeitinformation mittels de- dizierter Codebücher codiert.

Ein Codebuch zur Anregungscodierung besteht in der Regel aus einer Menge von Vektoren, beispielsweise mit jeweils 10 Komponenten bei der ACELP-Codierung nach den Enhanced Füll Rate (EFR) Standard, die die zu übermittelnde Sprachinformation für eine bestimmte Länge, beispielsweise 5 Millisekunden, codieren. Aus dem fest vorgegebenen Codebuch, welches insgesamt eine große Vielzahl von Vektoren umfasst, wobei die Vektoren nach bekannten Kriterien aufgebaut sind, wird in der Regel eine Teilmenge des Codebuches, ein Sub-Codebuch, verwendet, die oftmals ausreichend ist, um die gewöhnlichen Sprachinformationen mit einer guten Qualität übertragen zu können.

Zur Unterscheidung zwischen dem im Rahmen der Codierung vorgegebenen vollständigen Codebuch, wird das in der Praxis ver- wendete Sub-Codebuch als "praktisches Codebuch" bezeichnet.

Zum schnellen Auffinden eines geeigneten Codebucheintrages wird das praktische Codebuch nur heuristisch durchsucht, d.h. es wird keine vollständige Suche nach einem geeigneten Code- bucheintrag durchgeführt.

Ein Verfahren, welches die Zerlegung eines festen Codebuches berücksichtigt, wird in dem Artikel „Watermarking Combined with CELP Speech Coding for Authentication" von Zhe-Ming Lu et al. (in IEICE TRANS. INF. & SYST., Vol. E88-D, No. 2 Feb- ruary 2005) offenbart. Dabei wird zunächst ein Codebuch in drei Sub-Codebücher zerlegt, aus denen wiederum zwei Codebücher generiert werden, welche unterschiedliche Eigenschaften aufweisen. Je nachdem, welche steganographische Information übermittelt werden soll, wird nun ein Codebucheintrag aus dem

dafür bestimmten Sub-Codebuch ausgewählt und zur Codierung der zu übermittelnden Sprachinformation verwendet. Diese Sprachinformation kann auf Empfängerseite decodiert werden, wobei der eigentliche Decodierer auch gleichzeitig erkennen kann, aus welcher Zerlegung des Codebuches der Codebucheintrag stammt. Um eine hinreichend gute Codierung aus einem der Sub-Codebücher bereitzustellen, wird in der Veröffentlichung auch das bekannte Analysis-by-Synthesis Verfahren beschrieben. Bei diesem Verfahren wird das ausgewählte Codewort be- wertet, d.h. die Güte der Codierung wird überprüft. Dies gescheht im Wesentlichen dadurch, dass, nachdem eine Sprachinformation codiert wurde, die Codierung decodiert, d.h. synthetisiert, wird und das Ergebnis der Decodierung, welches wiederum eine Sprachinformation darstellt, mit der ursprüng- liehen Sprachinformation verglichen wird. Somit wird vorab auf Senderseite - Codiererseite - eine Synthese durchgeführt, die, nach einer etwaigen übertragung, ebenfalls auf Empfängerseite -Decodiererseite - durchgeführt wird. Mit einer solchen Analysis-by-Synthesis Schleife ist es möglich, ein Code- wort, d.h. in der Regel einen Vektor aus einem Codebuch, aufzufinden, welches zum einen die gewünschte Eigenschaft, d.h. aus dem entsprechend zerlegten Sub-Codebuch stammend, aufweist und dabei die Sprachinformation mit einer ausreichenden Qualität codiert.

Es zeigt sich jedoch, dass die feste Aufteilung eines praktischen Codebuchs - welches ja ohnehin schon eine Untermenge eines übergeordneten Codebuchs ist - in mehrere Sub- Codebücher die Anzahl der verwendbaren Codeworte pro Sub- Codebuch derart reduziert, dass eine hörbare Reduktion der Sprachqualität nicht ausgeschlossen ist.

Der Erfindung liegt daher die Aufgabe zugrunde, eine Lösung zu schaffen, die es ermöglicht, eine steganographische Infor- mation in eine Signalinformation eines Signalcodierers derart

einzubetten, dass eine Reduktion der Sprachqualität weitest- gehend vermieden wird.

Bei einem Verfahren zur Einbettung einer steganographischen Information in eine Signalinformation eines Signal-Codierers wird die Aufgabe erfindungsgemäß gelöst durch Bereitstellen einer Dateninformation, insbesondere einer Sprachinformation, Auswählen einer steganographischen Information aus einer Menge von steganographischen Informationen, Erzeugen eines Code- wortes aus einem bereitgestellten Codebuch mittels eines Signal-Codierers auf Basis von das Codewort bildenden Codeelementen, derart, dass unter Verwendung des erzeugten Codewortes im Rahmen eines mit dem Codebuch assoziierbaren übertragungsstandards die Dateninformation in eine das Codewort beinhaltende und/oder auf das Codewort verweisende Signalinformation codiert wird; und, dass das erzeugte Codewort eine zusätzliche, auf Basis der das Codewort bildenden Codeelemente berechenbare Eigenschaft aufweist, wobei die zusätzliche Eigenschaft die steganographische Information darstellt.

Ein solches Verfahren zur Einbettung einer steganographischen Information in eine Signalinformation eines Signalcodierers, bei dem ein Codewort aus einem bereitgestellten Codebuch mittels des Signalcodierers auf Basis von das Codewort bildenden Codeelementen erzeugt wird, ermöglicht es, ein Codewort bereitzustellen, welches zum einen eine berechenbare Eigenschaft aufweist, d.h. eine steganographische Information darstellt, und zum anderen gleichzeitig eine Signalinformation bereitstellt, welche für eine Dateninformation, insbesondere eine Sprachinformation, codiert. Dadurch, dass nicht von vor- neherein eine Zerlegung des Codebuches durchgeführt wird, sondern statt dessen ein Codebucheintrag erzeugt wird, und zwar auf Basis der das Codewort bildenden Codeelemente, können Codeworte berücksichtigt werden, die nicht in dem prakti- sehen Codebuch und/oder den Zerlegungen des praktischen Code-

buches vorhanden waren. Dies erweitert die Anzahl der Codeelemente auf die zurückgegriffen werden kann erheblich, so dass entweder eine Zerlegung in mehr Sub-Codebϋchern im Vergleich zum Stand der Technik oder aber bei einer gleichen An- zahl von Sub-Codebüchern eine verbesserte Sprachqualität im Vergleich zum Stand der Technik bereitgestellt werden kann.

Bevorzugt wird in einer Ausgestaltung der Erfindung eine Bewertung des erzeugten Codewortes im Rahmen eines mit dem be- reitgestellten Codebuch assoziierbaren übertragungsstandards mittels Decodierens des Codewortes und anschließenden Ver- gleichens der decodierten Dateninformation mit der ursprünglichen Dateninformation durchgeführt.

Dies hat den Vorteil, dass die Qualität des erzeugten Codewortes bezüglich der Codierungs-Decodierungstreue, d.h. dem Verlust der (Sprach-) Qualität aufgrund der Codierung und De- codierung, bewertet werden kann.

Weiterhin bevorzugt wird in Ausgestaltung des erfindungsgemäßen Verfahrens das Erzeugen des Codewortes aus dem bereitgestellten Codebuch mittels des Signal-Codierers auf Basis der das Codewort bildenden Codeelemente unter Berücksichtigung der Bewertung durchgeführt.

Die Berücksichtigung der Bewertung bei der Erzeugung des Codewortes aus dem bereitgestellten Codebuch ermöglicht das Erzeugen von Codeworten, welche eine hohe Sprachqualität bezüglich der zu codierenden Information aufweisen.

In einer Ausgestaltung der Erfindung wird die Verwendung eines auf Basis des GSM (Global System for Mobile Communications)- und/oder des UMTS (Universal Mobile Telecommunications Standard) -übertragungsstandards basierenden Codierers und Co- debuches vorgesehen.

Dies hat den Vorteil, dass das Verfahren zur Einbettung einer steganographischen Information auch in Mobilfunknetzen verwendet werden kann.

Zur weiteren Ausgestaltung der Erfindung ist das Erzeugen eines Codewortes auf Basis der CELP-, der ACELP (Algebraic Code Exited Linear Prediction) - und /oder der AMR-Codierung vorgesehen .

Die hohe Verbreitung der CELP oder der ACELP Codierung ermöglicht die Verwendung des erfindungsgemäßen Verfahrens in vielen Bereichen der Technik, insbesondere der mobilen Telekommunikation. Dies gilt zukunftsweisend analog auch für die AMR-Codierung.

Weiterhin wird in einer Ausgestaltung die Berechnung der Eigenschaft des Codewortes als Ergebnis einer Anwendung mindestens einer Operation auf mindestens eines der das Codewort bildenden Codeelemente durchgeführt.

So ist es möglich, auf Basis der das Codewort bildenden Codeelemente unter Anwendung mindestens einer, vorzugsweise mathematischen, Operation eine Eigenschaft des Codewortes zu bestimmen, welche die steganographische Information darstellt.

Weiterhin wird in Ausgestaltung des erfindungsgemäßen Verfahrens die Bereitstellung des Codewortes derart ausgeführt, dass das Codewort die Eigenschaft implizit erfüllt.

Dies hat den Vorteil, dass ein Codewort derartig erzeugt werden kann, dass es die Eigenschaft, welche die steganographische Information darstellt, bereits während seiner Erzeugung erfüllt.

Weiterhin wird in einer Ausgestaltung des erfindungsgemäßen Verfahrens die Auswahl der steganographischen Information derart durchgeführt, dass die steganographische Information zur Signalverbesserung, insbesondere bei Sprachübertragung, wie eine künstliche Bandbreitenerweiterung und/oder Störreduktion, verwendet wird.

Es wurde festgestellt, dass die zusätzliche übertragbare ste- ganographische Information genutzt werden kann, um beispielsweise eine Eigenschaft der eigentlich zu übertragenden Dateninformation zu beschreiben, so dass die steganographische Information zur Signalverbesserung benutzt werden kann. Das bedeutet, dass - sofern das für die Dateninformation codierende Codewort nach dem erfindungsgemäßen Verfahren erzeugt wird - der marginale Verlust in der übertragungsqualität durch die steganographische Zusatzinformation nicht nur kompensiert, sondern sogar überkompensiert werden kann.

Weiterhin wird in einer Ausgestaltung die Auswahl der steganographischen Information derart durchgeführt, dass die steganographische Information als digitales Wasserzeichen verwendet wird.

Bei der Verwendung der steganographischen Information als digitales Wasserzeichen können nicht nur die Originalität und die Herkunft von Dateninformationen gekennzeichnet werden, vielmehr können auch Urheberrechte an Dateninformationen mit Hilfe der steganographischen Information in Form eines digi- talen Wasserzeichens eingebracht werden. Dabei wird die Dateninformation im Rahmen des erfindungsgemäßen Verfahrens qualitativ kaum beeinträchtigt.

In weiterer Ausgestaltung der Erfindung wird ein übertragen der das Codewort beinhaltenden oder auf das Codewort verweisenden Signalinformationen an einen Empfänger durchgeführt.

Vorteilhafterweise ist es durch ein übertragen an einen Empfänger möglich, die Dateninformation und die steganographi- sche Information in Form einer Signalinformation über eine räumliche Distanz zu übertragen.

Weiterhin wird in einer Ausgestaltung des erfindungsgemäßen Verfahrens ein empfangsseitiges Bereitstellen einer Dateninformation mittels Decodierens des Codewortes im Rahmen eines mit dem bereitgestellten Codebuch assoziierbaren übertragungsstandards durchgeführt.

Durch die Decodierung des Codewortes können die in der Signalinformation beinhalteten Dateninformationen sowie die ste- ganographische Information zurückgewonnen und verwendet werden.

Weiterhin bevorzugt wird in Ausgestaltung des erfindungsgemäßen Verfahrens ein empfangsseitiges Bereitstellen der stega- nographischen Information mittels Berechnens der zusätzlichen Eigenschaft des Codewortes auf Basis der das Codewort bilden- den Codeelemente durchgeführt.

Je nach Ausgestaltung des Empfängers ist es möglich, die ste- ganographische Information, welche sich in der Signalinformation beinhaltet, zu berechnen. Diese Möglichkeit kann optio- nal genutzt werden, d.h. Systeme, welche nicht in der Lage sind, die steganographische Information zurück zu berechnen, werden lediglich die Dateninformation aus der Signalinformation extrahieren, ohne an die steganographische Information zu gelangen.

Schließlich wird in einer Ausgestaltung des Verfahrens weiterhin ein Ausführen des Verfahrens in einer Mobilfunkvorrichtung ausgeführt.

Das Verfahren eignet sich insbesondere für die Signalinformationsübertragung, d.h. Sprach- oder sonstige Information, mittels Mobilfunkvorrichtungen, welche in einem Mobilfunknetz betreibbar sind.

Die vorgenannten sowie beanspruchten und in den Ausführungsbeispielen beschriebenen zu verwendenden Bauteile unterliegen in ihrer Größe, Form, Gestaltung, Materialauswahl und technischen Konzeptionen keinen besonderen Ausnahmebedingungen, so dass die in dem Anwendungsgebiet bekannten Auswahlkriterien uneingeschränkt Anwendung finden können.

Weitere Einzelheiten, Merkmale und Vorteile des Gegenstandes der Erfindung ergeben sich aus den Unteransprüchen sowie aus der nachfolgenden Beschreibung der zugehörigen Zeichnungen, in der - beispielhaft - ein bevorzugtes Ausführungsbeispiel der Erfindung dargestellt ist.

Zu den beschriebenen Codierungsverfahren gemäß Ausführungsbeispielen der Erfindung werden entsprechende Codierer be- reitgestellt sowie entsprechende Verfahren zum Dekodieren und entsprechende Dekodierer.

Figur 1 zeigt einen Codierer 100 gemäß einem Ausführungsbeispiel der Erfindung.

Figur 2 zeigt ein Codier/Decodiersystem 200 gemäß einem Ausführungsbeispiel der Erfindung.

Figur 3 zeigt einen Codierer 300 gemäß einem Ausführungsbei- spiel der Erfindung.

Figur 4 zeigt einen Codierer 400 gemäß einem Ausführungsbeispiel der Erfindung.

Figur 5 zeigt ein Codebuch 500 gemäß einem Ausführungsbeispiel der Erfindung.

Fig.l zeigt einen Codierer 100 gemäß einem Ausführungsbeispiel der Erfindung.

Dem Codierer 100 wird ein zu codierende Signal 101, beispielsweise ein Sprachsignal 100, zugeführt. Außerdem werden dem Codierer 100 einzubettende Daten 102 zugeführt. Der Codierer erzeugt aus dem zu codierenden Signal 101 ein codier- tes Signal 103, in das die einzubettenden Daten 102 eingebettet sind, das heißt, aus dem ein entsprechender Decodierer die einzubettenden Daten 102 ermitteln kann.

Das codierte Signal 103 wird beispielsweise an einen Empfän- ger übermittelt, beispielsweise mittels eines Computernetzwerks oder mittels eines Funknetzwerks.

Bei dem im Folgenden beschriebenen Ausführungsbeispiel wird angenommen, dass der Codierer 100 in einem Mobilfunknetzwerk gemäß GSM (Global System for Mobile Communications) eingesetzt wird. Bei anderen Ausgestaltungen der Erfindung kann der Codierer auch im Rahmen eines Mobilfunknetzwerks gemäß UMTS (Universal Mobile Telecommunications Standard) , CDMA2000 (CDMA: Code Division Multiple Access) oder gemäß FOMA (Free- dorn of Mobile Access) eingesetzt werden.

In dem im Folgenden beschriebenen Ausführungsbeispiel wird angenommen, dass das zu codierende Signal 101 ein Sprachsignal ist, das von dem Codierer 100 gemäß einem ACELP (Al- gebraic Code Excited Linear Prediction) - Sprachkompressions-

verfahren, beispielsweise gemäß einem "Enhanced Full-Rate"- ACELP-Sprachkompressionsverfahren codiert werden soll, wie es in einem GSM-Mobilfunknetz eingesetzt wird.

Der Codierer 100 verwendet zur Informationseinbettung, das heißt zur Einbettung der einzubettenden Daten 102 in das codierte Signal 103 in einer Ausfϋhrungsform zur Codierung des sogenannten Restsignals ein festes (anders ausgedrückt sto- chastisches) Codebuch, welches in N Sub-Codebücher zerlegt wird. Zur eigentlichen Restsignal-Codierung wird je nach einzubettender Information gemäß einem Binning-Schema (binning scheme) das entsprechende Sub-Codebuch herangezogen.

Da das Codebuch bei einem CELP-Sprach-Codierer nicht erschöp- fend (sondern lediglich heuristisch) durchsucht wird, können die Sub-Codebücher einen zum durchsuchten Teil des festen Codebuches durchaus vergleichbaren Umfang haben und die Qualität der CELP-Codierung leidet nur wenig unter der Informationseinbettung. Ferner kann die die Informationseinbettung mit geringer algorithmischer Komplexität durchgeführt werden.

Bei dem im Folgenden beschriebenen Ausführungsbeispiel verwendet der Codierer 100 ein Codebuch, das wie folgt definiert ist :

Das in diesem Ausführungsbeispiel verwendete Codebuch C ist das Codebuch des GSM EFR (Enhanced Füll Rate) Codecs und ist gegeben durch die Vektoren c der ACELP-Pulspositionen, (in diesem Ausführungsbeispiel ohne Vorzeichen) für jeden Subrah- men der Länge 5ms:

C = {c = (c 0 , • • -, c 9 )} mit

C 0 , C 5 e {0,5,10,15,20,25,30,35} , C 1 , C 6 ε {1,6,11,16,21,26,31,36}

C 2 , C 7 e {2, 7, 12, 17, 22, 27, 32, 37}, C 3 , C 8 e {3,8,13,18,23,28,33,38}

und

C^ 1 Co 1 ε {4,9,14,19,24,29,34,39}

Ein Codewort c aus dem Codebuch (d.h. der Menge aller möglichen Codeworte) C ist somit ein Vektor mit zehn Komponenten, wobei jede Komponente eine Position eines Pulses innerhalb eines Subrahmens beschreibt. Das Codebuch C hat in diesem Ausführungsbeispiel einen Umfang von 2 λ ( 10*log_2 (8 ) ) = 2 λ 30 Codewörtern.

In einem anderen Ausführungsbeispiel sind die Komponenten der Vektoren c, wie gemäß EFR vorgesehen, vorzeichenbehaftet. Die Verwendung von vorzeichenbehafteten Komponenten ermöglicht eine verbesserte Informationseinbettung. In einer Ausführungsform wird bei EFR jedoch aus Komplexitätsgründen auf die Verwendung von vorzeichenbehafteten Komponenten verzichtet.

Das Codebuch C wird in einer Ausführungsform derart in zwei Sub-Codebücher C(I) und C (2) zerlegt, dass pro Codewort in das codierte Signal 102 ein Bit der einzubettenden Daten 101 eingebettet werden kann und dementsprechend ein Bit der einzubettenden Daten 101 pro Subrahmen übermittelt wird, was bei einer Subrahmendauer von 5ms einer Datenrate von 200bit/s entspricht .

Die Codewörter der Sub-Codebücher unterscheiden sich darin, dass die Summe der Komponenten c-j_ eines Codewortes aus dem einen Sub-Codebuch gerade und aus dem anderen Sub-Codebuch ungerade ist. Beispielsweise erfüllen alle Codeworte aus C(I) die Bedingung

Ci

(d.h. Summe der Komponenten ist gerade) und alle Codeworte aus C (2) die Bedingung

(d.h. Summe der Komponenten ist ungerade) wobei trunc die Ab- rundungsoperation, das heißt das Abrunden auf die nächstkleinere ganze Zahl, bezeichnet.

Soll eine erste Nachricht (in diesem Beispiel bestehend aus einem Bit, beispielsweise dem Bitwert 0) übermittelt werden, so wird ein Codewort aus C(I) zur Codierung (der aktuellen Signalwerte des zu codierenden Signals 101) verwendet, und soll eine zweite Nachricht (in diesem Beispiel bestehend aus einem Bit, beispielsweise dem Bitwert 1) übermittelt werden, so wird ein Codewort aus C(I) zur Codierung verwendet. Ein Empfänger bzw. ein Decodierer kann basierend auf der Zugehörigkeit eines empfangenen Codeworts zu C(I) oder zu C (2) ermitteln, ob die erste Nachricht oder die zweite Nachricht eingebettet worden ist.

In einer anderen Ausführungsform wird die Unterteilung von C nach gerader und ungerader Parität der Summe der Komponenten der Codeworte durchgeführt. Beispielsweise gehört ein Code-

9 wort zu C(I) wenn ^T c^ in Binärdarstellung eine gerade An- i=0 zahl von Einsen aufweist und zu C (2) andernfalls.

In einer Ausführungsform werden vier Bits pro Subrahmen eingebettet und damit eine Datenrate von 400bit/s erreicht. Dies geschieht durch eine Unterteilung des Codebuchs C in vier Sub-Codebücher C(I) bis C (4), wobei die Codeworte der Sub- Codebücher beispielsweise die folgenden Bedingungen erfüllen:

C ( I ) :

C ( 2 ) : ^ C2i + i = 2 trunc 1 ^ ö 2 . ∑ C 2i + 1 i = 0 i = 0

' 3 ) :

c ( 4 : ∑ C 2i+1 = 2 • trunc - 1 V ∑ c 2 i+l + 1 i = 0 2 i = 0

anschaulich wird hierbei die Unterscheidung basierend auf Geradzahligkeit bzw. Ungeradzahligkeit der Summe der Komponenten mit geradem bzw. ungeraden Index durchgeführt.

Analog zu der obigen Alternative kann auch bei der Unterteilung des Codebuchs C in vier Sub-Codebücher dies basierend auf der Parität einer Binärdarstellung der Summe von Komponenten mit geradem bzw. ungeradem Index durchgeführt werden,

4 4 also basierend auf der Parität von ∑ c 2 i bzw . ∑ C2i + χ . i=0 i=0

In den obigen Bedingungen für die Codebücher C(I) und C (2) bzw. C(I) bis C (4) kann alternativ statt einer Komponente CJ_ selbst auch der Ausdruck trunc (CJ_/5) verwendet werden, der eine Pulsposition innerhalb eines sogenannten Tracks eindeutig bezeichnet. Alternativ kann auch die jeweils Gray- codierte Version GRAY(CjJ bzw. GRAY (trunc (ci/5) ) verwendet

werden, wie sie zur Kanalcodierung bei EFR vorgesehen ist. Unter Berücksichtigung der tatsächlichen übertragung der Codeworte über einen GSM-Mobilfunkkanal erweist sich diese Möglichkeit zur Codebuchzerlegung als besonders vorteilhaft. Da- mit wird erreicht, dass besonders wenige Kanalbits einen Ein- fluss auf die eingebetteten Daten haben, wodurch die Bitfehlerrate der übertragenen eingebetteten Daten bei gestörter übertragung sinkt.

Allgemein kann das Codebuch C in einer Ausführungsform derart zerlegt werden, dass die Codeworte des Sub-Codebuchs, das zur Codierung verwendet wird, wenn ein Nachrichtenbit mj_ übermittelt werden soll, die Bedingung mj_ = θ bj erfüllen, wobei

JeA 1

A^ eine Indexmenge, bj die Komponenten des jeweiligen Code- worts bezeichnen. Die Summation wird dabei modulo 2 durchgeführt, so dass gefordert wird, dass die Summe modulo 2 mehrerer Codewortbits bj gleich dem einzubettenden Nachrichtenbit mj_ ist.

Zur Rekonstruktion einer eingebetteten Nachricht in einem empfangenen bzw. zu decodierenden Codewort ist es lediglich erforderlich, dass der Decodierer ermittelt, zu welchem Sub- Codebuch das Codewort gehört. Werden die Codeworte ungestört an den Decodierer übermittelt, so können auch die eingebette- ten Informationen fehlerlos rekonstruiert werden.

Die oben beschriebene Vorgehensweise zur Einbettung von Informationen kann auch bei anderen Codierern eingesetzt werden, beispielsweise bei allen CELP Sprach-Codierern aber auch bei anderen Signal-Codierern wie Video-Codierern, Bild- Codierern etc.

Die übertragung von Seiteninformationen (eingebetteten Informationen) mittels Steganographie kann auch zur Signalverbes-

serung eingesetzt werden und stellt eine Lösung für das Problem der Rückwärtskompatibilität dar. Ein Empfänger ohne Kenntnis der eingebetteten Informationen kann das (Sprach- ) Signal, in das die Informationen eingebettet wurden, wie ge- wohnt, das heißt wie im Falle keiner Einbettung von Informationen mit nur geringen Verlusten decodieren. Kennt der Empfänger hingegen die eingebetteten Informationen, so können die Seiteninformationen zur Signalverbesserung verwendet werden. Ein entsprechendes Ausführungsbeispiel wird im Folgenden mit Bezug auf Fig.2 beschrieben.

Fig.2 zeigt ein Codier/Decodiersystem 200 gemäß einem weiteren Ausführungsbeispiel der Erfindung.

Das Codier/Decodiersystem 200 weist einen Codierer 201 wie mit Bezug auf Fig.l beschrieben auf. Entsprechend werden dem Codierer 201 ein zu codierendes Signal 202 und einzubettende Daten 203 zugeführt. Die einzubettenden Daten werden zur Signalverbesserung verwendet und werden dementsprechend von ei- ner Signal-Analyse-Einrichtung 204, dem das zu codierende

Signal 202 zugeführt wird, in für eine Signalverbesserung codierenden Signals 202 geeigneter Weise erzeugt.

Analog zu Fig.l gibt der Codierer 201 ein codiertes Signal 205 aus, in das die einzubettenden Daten 203 eingebettet sind. Das codierte Signal 205 kann nun an einen Empfänger ü- bermittelt werden, beispielsweise, wie oben beschrieben, mittels eines Mobilfunk-Kommunikationsnetzwerks.

Weist der Empfänger einen "konventionellen" Decodierer 206 auf, das heißt einen Decodierer, der die eingebetteten Daten nicht aus dem codierten Signal 205 ermitteln kann, so decodiert der Decodierer 206 lediglich das codierte Signal 205 zu einem decodierten Signal 207, welches (bis auf übertragungs-

fehler und Codier/Decodierverluste) dem zu codierenden Signal 202 entspricht.

Weist der Empfänger einen "erweiterten" Decodierer 208 auf, das heißt einen Decodierer, der die eingebetteten Daten aus dem codierten Signal 205 ermitteln kann, so werden die eingebetteten Daten extrahiert und die extrahierten Daten 209 von einer Signalverbesserungseinheit 210 zur Signalverbesserung verwendet, welche ein decodiertes und (gegenüber dem deco- dierten Signal 207) verbessertes Signal 211 erzeugt.

Als Signalverbesserung kann z.B. künstliche Bandbreitenerweiterung, oder Störreduktion eingesetzt werden. Auch die Koeffizienten eines sendeseitig bestimmten Postfilters können per Steganographie übertragen werden.

Insbesondere die Anwendung der künstlichen Bandbreitenerweiterung ist vorteilhaft, da das Telefonnetz historisch bedingt auf eine akustische Bandbreite von 3.IkHz (300Hz-3.4kHz) be- grenzt ist, eine übertragung von Breitbandsprache (50Hz-7kHz) jedoch nur mit enormem Aufwand seitens der Netzbetreiber und der Endgerätehersteller zu bewerkstelligen wäre. änderungen im (Mobilfunk-) übertragungsnetz sind zur Realisierung der o- ben beschriebenen Ausführungsformen hingegen nicht erforder- lieh. Entsprechende (leistungsfähige) Bandbreitenerweiterungsalgorithmen sind beispielsweise in der Veröffentlichung von Peter Jax, Bernd Geiser, Stefan Schandl, Herve Taddei, und Peter Vary, "An Embedded Scalable Wideband Codec Based on the GSM EFR Codec", in Proceedings of ICASSP, Toulouse, Mai 2006 beschrieben. Weiterhin wird in der Veröffentlichung von Peter Jax und Peter Vary, "Bandwidth Extension of Speech Signals: A Catalyst for the Introduction of Wideband Speech Coding?", IEEE Communications Magazine, vol. 44, no. 5, Mai 2006 die Einführung breitbandiger Sprachübertragung über den

Umweg der Bandbreitenerweiterung (ggf. mit Unterstützung von digitalen Wasserzeichen) erwähnt.

Im Folgenden wird eine weitere Möglichkeit für eine Zerlegung des oben definierten Codebuchs C (EFR ACELP Codebuch) beschrieben .

Zunächst wird zum besseren Verständnis kurz die Suchstrategie des EFR-Codecs erläutert:

1) Zunächst wird die erste Pulsposition ig e {0, ... , 39} heuristisch ermittelt und bleibt während der gesamten Suche fest. Der zu ig gehörige "Track" ist beispielsweise x = 4 oder x = 9. Für die x-te Komponente C x des entsprechenden Codeworts gilt C x = in .

2) Die Position des zweiten Pulses i ] _ e {0, ... , 39} wird ebenfalls heuristisch ermittelt, wobei für jede der vier Iterationen des unten stehenden Algorithmus (Schritt 3) ein anderer Wert angenommen wird. Beispielsweise gehöre für die erste Iteration zur gewählten Position i]_ der Track y=3 oder y=8, d.h. Cy = ±ι .

3) Für die verbleibenden acht Tracks werden für jede von vier Iterationen die Pulse sukzessive in Paaren zu je zwei Tracks durch erschöpfende Suche optimiert. In jeder der vier Iterationen werden die Track-Paare durch Permutation neu zusammengestellt, wobei C x und Cy nicht wiederverwendet werden

Beispielsweise wird für das Track-Paar cg / cg die Optimierung entsprechend dem folgenden Pseudocode durchgeführt:

for(i = 0, 5, 10, ..., 35) // Iteration über alle zulässigen Elemente für CQ for(j = 1, 6, 11, ..., 36) // Iteration über alle zulässigen Elemente für cg Teste Puls-Paar (C Q =I, cg=j ) entsprechend CELP-Kriterium auf Optimalität

Bei dieser Suchstrategie gemäß EFR werden insgesamt 1024 Kombinationen (4 Iterationen * 4 Track-Paare * 8 PuIs- Positionen * 8 Puls-Positionen = 1024 Kombinationen) untersucht und daraus die optimalen Puls-Paare ausgewählt.

Zur Einbettung von Informationen, im Folgenden Beispiel eines einzelnen (Wasserzeichen-) bits b, in ein Codewort c = (CQ, - - -, C9) wird gemäß einem Ausführungsbeispiel der Erfindung der obige Algorithmus wie im Folgenden beschrieben abgeändert .

Wenn bei einer Suche bereits ein Puls für einen Track , bei- spielsweise c\ , ermittelt wurde, kann bei der Wahl des (i- dentisch aufgebauten) Tracks cg durch ein Wasserzeichenbit b in das Puls-Positionenpaar c ] _ und cg eingebettet werden, indem cg in Abhängigkeit des Bits b gewählt wird. Die paarweise Suche wird dazu beispielsweise wie folgt modifiziert:

cβ_offset = 5 * ((cl + b + 1) mod 2) for(i = 0, 5, 10, ..., 35) // Iteration über alle zulässigen Elemente für Cg for(j = 1,11,21,31) // Iteration über alle zulässigen EIe- mente für cg (gegenüber oben halbe

Anzahl)

Teste Puls-Paar (cg=i, cg=j+cβ_offset ) entsprechend CELP- Kriterium auf Optimalität

Das eingebettete Bit b kann im Empfänger bzw. Decodierer durch die Operation

b = (ci + cg) mod 2

ermittelt werden.

Statt c6_offset = 5 * ( (cl + b + 1) mod 2) können auch andere Kombinationen von bereits ermittelten Pulspositionen und einzubettenden Bis verwendet werden. In dem obigen Beispiel wurde der Suchraum für die Pulsposition cg in zwei gleiche Teile (ungerade/gerade Werte) aufgeteilt. Weitere Aufteilungen (etwa erste/zweite Wertehälfte) sind auch möglich, wobei die Gleichung für c6_offset entsprechend anzupassen ist.

Die Anzahl der untersuchten Pulsposition-Kombinationen ist durch das auf diese Weise eingebettete Bit auf

4 Iterationen * (3 Paare * 8 Pos. * 8 Pos. + 1 Paar * 8 Pos. * 4 Pos.) = 896 Kombinationen

gesunken.

Zur Einbettung mehrerer Bits in ein Codewort c_ kann der Suchraum für cg noch einmal halbiert werden, oder ein identisches Verfahren für ein zweites Pulspaar angewendet werden. Es ist günstig, gerade solche Pulse im Rahmen der Informationseinbettung durch cβ_offset (bzw. das Bit b) zu koppeln, die in einem Track liegen. Anderenfalls kann, aufgrund der Vorzeichencodierung des EFR, im Empfänger keine eindeutige Zuordnung der Pulse mehr vorgenommen werden. Durch entsprechenden Zusatzaufwand im Sender kann diese Beschränkung aufgehoben werden. Im Empfänger sind cl und cβ nicht voneinander

zu unterscheiden. Die Datenextraktion via b=(cl+c6) mod 2 macht daher keine Probleme, allerdings ist es schwierig, beispielsweise b=(cl+c5) mod 2 zu berechnen, da (je nach Vorzeichen) „versehentlich" b=(c6+c5) mod 2 berechnet werden könn- te. Der sendeseitige „Zusatzaufwand" besteht darin, die Vorzeichencodierung in den Optimierungsschleifen zu berücksichtigen und quasi pro Optimierungsschritt vorwegzunehmen.

Durch die der reduzierte Anzahl von untersuchten Kombinatio- nen (896 statt 1024 in dem obigen Beispiel) ergibt sich eine geringere Codierqualität durch Wasserzeicheneinbettung. Dies kann durch eine erweiterte Suche, das heißt eine Erweiterung des Suchraums, kompensiert werden. Dazu werden die Tracks nicht mehr in Paaren sondern in Gruppen zu 3 oder 4 (oder auch mehr) Tracks gemeinsam durchsucht. Die gemeinsame Suche (ohne Wasserzeicheneinbettung) für 3 Tracks (z.B. C Q , cς und cη ) wird beispielsweise wie folgt realisiert:

for(i2 = 0, 5, 10, ..., 35) // Iteration über die zulässigen Werte von cθ for(i3 = 1, 6, 11, ..., 36) // Iteration über die zulässigen Werte von c6 for(i4 = 2, 7, 12,..., 37) // Iteration über die zulässigen

Werte von c7 Suche optimales Tripel (cθ=i2, c6=i3, c7=i4)

Für jedes Tripel bedeutet dies, dass 8*8*8 = 512 Kombinationen durchsucht werden. Wird die gesamte Suche für die 8 variablen Pulspositionen (gemäß den Schritten 1 und 2 sind ja zwei Pulspositionen fest) so aufgeteilt, dass 2 Tripel und 1 Paar gemeinsam optimiert werden, so ergibt sich, dass

4 Iterationen * (2 Tripel * 8 Pos. *8 Pos. *8 Pos. + 1 Paar * 8 Pos. * 8 Pos.) = 4352 Kombinationen

untersucht werden, was gegenüber den 1024 Kombinationen gemäß EFR einen erheblichen Mehraufwand bedeutet.

Werden jedoch z.B. im Zuge der Optimierung des ersten Tripels 3 Wasserzeichenbits, im Zuge der Optimierung des zweiten Tripels 2 Wasserzeichenbits wie oben beschrieben eingebettet, während für das Pulspositionen-Paar keine Einbettung vorgenommen wird, so ergibt sich die Zahl der zu untersuchenden Kombinationen zu

4 Iterationen * (1 Tripel * 4 Pos. * 4 Pos. * 4 Pos. +1 Tripel * 8 Pos. * 4 Pos. * 4 Pos + 1 Paar * 8 Pos. * 8 Pos.) = 1024 Kombinationen,

d.h. exakt die Anzahl der untersuchten Kombinationen im Stan- dard-EFR-Codec. Die Wasserzeichendatenrate liegt in diesem Fall bei (2+3)bit/5ms = lkbit/s.

Schließlich ist eine weitere Möglichkeit zur Erweiterung des Suchraumes die Erhöhung der Iterationszahl, d.h. die Untersuchung weiterer Track-Permutationen.

Die einem Ausführungsbeispiel zu Grunde liegende Idee kann darin gesehen werden, dass die Informationseinbettung dem Signal-Codierer bekannt ist, was durch eine gemeinsame Dateneinbettung und Signalcodierung erreicht wird, das heißt es wird beispielsweise die Wasserzeichen-Einbettung in den Codierer integriert. Dies kann innerhalb einer Analyse-durch- Synthese Schleife durchgeführt werden ( "closed-loop" ) , wie es in Fig.3 dargestellt ist.

Fig.3 zeigt einen Codierer 300 gemäß einem weiteren Ausführungsbeispiel der Erfindung.

Dem Codierer werden ein zu codierendes Signal und einzubettende Daten 302 zugeführt.

Ein codiertes Signal 303 wird aus dem zu codierenden Signal 301 mittels einer Schleife erzeugt, die ein Codebuch 304, eine Syntheseeinrichtung 305 und einen Vergleicher 306 aufweist. Dabei wird eine mögliche Codierung des zu codierenden Signals 301 von dem Codebuch 304 erzeugt und es wird mittels der Syntheseeinrichtung 305 und dem Vergleicher 306 über- prüft, wie gut es das zu codierende Signal 301 widerspiegelt und gegebenenfalls, basierend auf der Ausgabe des Vergleichers 306, abgeändert.

Die einzubettenden Daten 302 werden im Laufe das Codierungs- prozesses in das codierte Signal 303 eingebettet, beispielsweise gemäß einer der oben beschriebenen Vorgehensweisen.

Beispielsweise wird basierend auf den einzubettenden Daten 302 ein Sub-Codebuch des Codebuchs 304 ausgewählt, wie es in Fig.4 dargestellt ist.

Fig.4 zeigt einen Codierer 400 gemäß einem weiteren Ausführungsbeispiel der Erfindung.

Analog zu dem in Fig.3 dargestellten Codierer 300 werden dem Codierer einzubettende Daten 402 und ein zu codierendes Signal 401 zugeführt und er erzeugt ein codiertes Signal 403, in das die einzubettenden Daten 402 eingebettet sind. Neben einer Syntheseeinrichtung 405 und einem Vergleicher 406 analog zu dem Codierer 300 in Fig.3 weist der Codierer 400 ein Mehrzahl von Sub-Codebüchern 404 also ein in mehrere Sub- Codebücher 404 unterteiltes Codebuch auf. Basierend auf den einzubettenden Daten werden die Sub-Codebücher bei der Codierung des zu codierenden Signals 401 ausgewählt. Beispielswei- se wird einem Datenwort des zu codierenden Signals 401 ein

Codewort aus einem ersten Sub-Codebuch zugeordnet, wenn eine erste Seiteninformation aus den einzubettenden Daten 402, beispielsweise ein Bit mit dem Wert 0, eingebettet werden soll und es wird ein Codewort aus einem zweiten Sub-Codebuch zugeordnet, wenn eine zweite Seiteninformation aus den einzubettenden Daten 402, beispielsweise ein Bit mit dem Wert 1, eingebettet werden soll.

Die Aufteilung eines Codebuchs in mehrere Sub-Codebücher ist in Fig.5 illustriert.

Fig.5 zeigt ein Codebuch 500 gemäß einem weiteren Ausführungsbeispiel der Erfindung.

Das Codebuch 500 ist mit C bezeichnet. Aus Effizienzgründen wird, wenn der Codewortumfang des Codebuchs 500 sehr groß ist, das Codebuch 500 beim Codieren nur teilweise durchsucht, d.h. es werden Codeworte zur Codierung nur aus einer Codebuch-Teilmenge 501, welche mit C (praktisches Codebuch) be- zeichnet ist, ausgewählt.

Bei den obigen Ausführungsbeispielen wird das Codebuch 500 zur Dateneinbettung wie oben erläutert in Codebücher zerlegt, beispielsweise in vier Sub-Codebücher 502, welche mit C(I) bis C (4) bezeichnet sind.

Da ein Sub-Codebuch 502 einen geringeren Codewortumfang hat als die Codebuch-Teilmenge 501 und damit die Qualität der Signalcodierung (abhängig von der Anzahl der Sub-Codebücher 502) gegenüber einer Verwendung der gesamten Codebuch- Teilmenge 501 sinken würde, wird in einem Ausführungsbeispiel der Codeumfang der Sub-Codebücher 502 erweitert, so dass insgesamt eine erweiterte Codebuch-Teilmenge 503 zur Codierung verwendet wird. Dabei steigt die algorithmische Komplexität nur geringfügig an, die Qualität der Codierung sinkt nicht

und es kann in Sonderfällen sogar eine Qualitätssteigerung erzielt werden.

In einer Ausführungsform wird ein algebraisches Codebuch ver- wendet. Im Gegensatz zu einem gewöhnlichen Codebuch in Tabellenform existiert ein algebraisches Codebuch nur im Sinne einer algebraischen Konstruktionsvorschrift. Dies bedeutet, dass die einzelnen Codebuch-Einträge (Codewörter) im Zuge der Signalcodierung durch einen Codewortgenerator erzeugt werden. Das "Binning Scheine" zur Informationseinbettung, das heißt die Zerlegung des Codebuchs in Sub-Codebücher und Auswahl des zur Codierung verwendeten Sub-Codebuchs in Abhängigkeit der einzubettenden Information, bei einem Codierer mit algebraischem Codebuch besteht nun nicht mehr lediglich in der Auf- teilung des Codebuches in eine Anzahl von Sub-Codebüchern, sondern darüber hinaus auch in der Modifikation des Codewortgenerators dahingehend, dass jeweils nur zu dem durch die aktuell einzubettende Nachricht i ausgewählten Sub-Codebuch C(i) gehörige Codewörter ausgegeben werden.