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.

Description:
FIELD OF INVENTION 
     The invention is directed to a method for embedding steganographic information into signal information of a signal encoder. 
     BACKGROUND INFORMATION 
     Apart from analog sound, image and video transmissions, digital transmission is gaining more and more weight. Among other things, the reason for this is also that digital signal information is processed, i.e. copied or also compressed, in a simpler manner. Thus, the compression of digital signal information, in particular, leads to being able to transmit information with high information density by means of signal transmission channels having limited data transmission rates. 
     Apart from the compression of signal information as a type of processing, the embedding of “invisible”—steganographic—information into signal information has been successful in recent times. Such embedding of additional information makes it possible, for example, to identify copyrights—if the signal information is, for example, a piece of music—or generally speaking, providing general information of origin, that is to say a “digital watermark”. 
     Even though such embedding of steganographic information in music and/or video signals has already been largely successful, embedding steganographic information into coded signal information is still associated with problems, particularly when it has to be transmitted in “real time”. This is based on the fact that certain codings do not provide any redundancy and thus no room for steganographic information or that the steganographic information is lost during the decoding of the encoded signal information. 
     Such an initial situation in which signal information, mainly voice information in the given case, is transmitted and received via a channel and is encoded and decoded in real time and in which transmission resources are not available to an unlimited extent is found, for example, in mobile radio telephony. In this case, the GSM network allows a maximum transmission rate of 13.0 kbit/s, at best. Due to the very low transmission rate, uncoded voice information, i.e. uncompressed voice information in the present case, would scarcely be understandable any more on the receiver side. In order nevertheless to transmit comprehensible voice information, for example from one mobile radio device to another one, the so called voice codecs have become prominent as a tested means for compressed voice signal transmission. If additional information, i.e. steganographic information is to be embedded in such signal information, the special features resulting from the encoding must be taken into consideration. 
     In the field of mobile telecommunication, for example in GSM (Global System for Mobile Communications) mobile radio networks or UMTS (Universal Mobile Telecommunications Standard) mobile radio networks, the voice information to be transmitted is encoded by means of the familiar CELP (Code-book Excited Linear Predictive Coding) or ACELP (Algebraic Code Excited Linear Prediction) or in future the AMR (Adaptive Multi-Rate) coding. These voice coding methods are all based on a model of voice generation in which the formation of the voice signal is generated in an excitation stage and a filtering stage in a first approximation. A signal encoder such as, for example, a CELP encoder, an ACELP encoder or an AMR encoder, generates a code book entry, as a rule a vector from a so called code book, wherein the code elements of the code book entry—that is to say, as a rule, the vector components—contain information with respect to the (filter) excitation. Filter Coefficients, gain factors etc. are encoded as time information by means of dedicated code books. 
     As a rule, a code book for excitation coding consists of a set of vectors, for example having in each case 10 components in the case of ACELP coding according to the Enhanced Full Rate (EFR) Standard, which encode the voice information to be conveyed for a particular length, for example 5 milliseconds. From the dedicated code book which comprises a large multiplicity of vectors overall, the vectors being built up in accordance with familiar criteria, a subset of the code book, a sub-code book is used as a rule which is often sufficient for being able to transmit the normal voice information with good quality. 
     To distinguish it from the complete code book specified as part of the coding, the sub-code book used in practice is called a “practical code book”. 
     To rapidly find a suitable code book entry, the practical code book is searched only heuristically, i.e. there is no complete search for a suitable code book entry. 
     A method which takes into consideration the splitting up of a fixed code book is disclosed in the article “Watermarking Combined with CELP Speech Coding for Authentication” by Zhe-Ming Lu et al. (in IEICE TRANS. INF. &amp; SYST., Vol. E88-D, No. 2 Feb. 2005). In this method, a code book is first split up into three sub-code books from which, in turn, two code books are generated which have different characteristics. Depending on which steganographic information is to be conveyed, one code book entry is now selected from the sub-code book intended for this purpose and used for encoding the voice information to be conveyed. This voice information can be decoded on the receiver side where the actual decoder can also recognize at the same time from which splitting-up of the code book the code book entry originates. To provide a sufficiently good encoding from one of the sub-code books, the familiar analysis by synthesis method is also described in the application. In this method, the selected code word is evaluated, i.e. the quality of the encoding is checked. This is essentially done in that, after voice information has been encoded, the encoding is decoded, i.e. synthesized, and the result of the decoding which, in turn, represents voice information, is compared with the original voice information. Thus, a synthesis is carried out in advance at the transmitter side—encoder side—which, after a possible transmission, is also carried out on the receiver side—decoder side. Such an analysis by syntheses loop makes it possible to find a code word, i.e. as a rule a vector from a code book, which, on the one hand, has the desired characteristic, i.e. originating from the correspondingly split-up sub-code book, and at the same time encodes the voice information with adequate quality. 
     However, it is found that the fixed dividing of a practical code book—which, of course, is already a subset of a higher-level code book, in any case—into several sub-code books reduces the number of useable code words per sub-code book in such a manner that an audible reduction in voice quality is not impossible. 
     SUMMARY OF INVENTION 
     The present invention relates to embedding steganographic information into signal information of a signal encoder in such a manner that a reduction in voice quality is largely prevented. 
     In a method for embedding steganographic information into signal information of a signal encoder, the object is achieved, according to the invention, by providing data information, particularly voice information, selecting steganographic information from a set of steganographic information items, generating a code word from a provided code book by means of a signal encoder on the basis of code elements forming the code word, in such a manner that the data information is encoded, by using the generated code word within the scope of a transmission standard which can be associated with the code book, into signal information containing the code word and/or pointing to the code word; and that the code word generated has an additional characteristic which can be calculated on the basis of the code element forming the code word, the additional characteristic representing the steganographic information. 
     Such a method for embedding steganographic information into signal information of a signal encoder in which a code word is generated from a provided code book by means of the signal encoder on the basis of code elements forming the code word makes it possible to provide a code word which, on the one hand, has a calculable characteristic, i.e. represents steganographic information and, on the other hand, at the same time provides signal information which encodes for data information, particularly voice information. Due to the fact that the code book is not split up right from the start but, instead, a code book entry is generated on the basis of the code element forming the code word, code words can be taken into consideration which were not present in the practical code book and/or the split-up parts of the practical code book. This considerably extends the number of code elements which can be accessed so that either a splitting-up into more sub-code books in comparison with the prior art or, with the same number of sub-code books, an improved voice quality in comparison with the prior art can be provided. 
     In one embodiment of the invention, an evaluation of the generated code word is preferably carried out within the scope of a transmission standard which can be associated with the code book provided, by decoding the code word and subsequently comparing the decoded data information with the original data information. 
     This has the advantage that the quality of the generated code word can be evaluated with respect the coding/decoding fidelity, i.e. the loss of (voice) quality due to the coding and decoding. 
     Furthermore preferably, in an embodiment of the method according to the invention, the code word is generated from the provided code book by means of the signal encoder on the basis of the code elements forming the code word, taking into consideration the evaluation. 
     Taking into consideration the evaluation in the generation of the code word from the code book provided enables code words to be generated which have a high voice quality with respect to the information to be encoded. 
     In one embodiment of the invention, the use of an encoder and code book based on the GSM (Global System for Mobile Communications) and/or the UMTS (Universal Mobile Telecommunications Standard) transmission standard is provided. 
     This has the advantage that the method for embedding steganographic information can also be used in mobile radio networks. 
     For the further development of the invention, generating a code word on the basis of the CELP, ACELP (Algebraic Code Excited Linear Prediction) and/or AMR coding is provided. 
     The high distribution of the CELP or the ACELP coding enables the method according to the invention to be used in many areas of technology, particularly of mobile telecommunication. Pointing to the future, this analogously also applies to the AMR coding. 
     Furthermore, in one embodiment, the characteristic of the code word is calculated as the result of an application of at least one operation on at least one of the code elements forming the code word. 
     It is thus possible to determine on the basis of the code elements forming the code word, using at least one preferably mathematical operation, a characteristic of the code word which represents the steganographic information. 
     Furthermore, in an embodiment of the method according to the invention, the code word is provided in such a manner that the code word implicitly fulfills the characteristic. 
     This has the advantage that a code word can be generated in a such a manner that it already fulfills the characteristic represented by the steganographic information during its generation. 
     Furthermore, in one embodiment of the method according to the invention, the steganographic information is selected in such a manner that the steganographic information is used for improving the signal, particularly in the case of voice transmission, such as an artificial bandwidth extension and/or noise reduction. 
     It has been found that the additional transmittable steganographic information can be used in order to describe, for example, a characteristic of the data information actually to be transmitted so that the steganographic information can be used for improving the signal. This means that—if the code word encoding the data information is generated in accordance with the method according to the invention—the marginal loss in transmission quality is not only compensated by the additional steganographic information but can even be overcompensated. 
     Furthermore, in one embodiment, the steganographic information is selected in such a manner that the steganographic information is used as a digital watermark. 
     When the steganographic information is used as a digital watermark, it is possible to identify not only the originality and the origin of data information; instead, copyrights on data information can also be inserted in the form of a digital watermark with the aid of the steganographic information. In this context, the data information is scarcely impaired qualitatively within the scope of the method according to the invention. 
     In a further embodiment of the invention, the signal information containing the code word or pointing to the code word is transmitted to a receiver. 
     Transferring to a receiver advantageously makes it possible to transfer the data information and the steganographic information in the form of signal information over a spatial distance. 
     Furthermore, in one embodiment of the method according to the invention, data information is provided on the receiver side by decoding the code word within the scope of a transmission standard which can be associated with the code book provided. 
     Decoding the code word makes it possible to recover and use the data information, contained in the signal information, and the steganographic information. 
     Furthermore, preferably, in an embodiment of the method according to the invention, the steganographic information is provided on the receiver side by calculating the additional characteristic of the code word on the basis of the code elements forming the code word. 
     Depending on the arrangement of the receiver, it is possible to calculate the steganographic information which is contained in the signal information. This possibility can be used optionally, i.e. systems which are not capable of calculating the steganographic information in reverse will only extract the data information from the signal information without reaching the steganographic information. 
     Finally, in one embodiment of the invention, the method is also carried out in a mobile radio device. 
     The method is particularly suitable for transmitting signal information, i.e. voice or other information, by means of mobile radio devices which can be operated in a mobile radio network. 
     The aforementioned and claimed components to be used, which are described in the exemplary embodiments are not subject to any special exceptional conditions in their size, shape, arrangement, material selection and technical conceptions, and so the selection criteria known in the field of application can be applied without restriction. 
     Further details, features and advantages of the subject matter of the invention are found in the subclaims and in the subsequent description of the associated drawings in which—by way of example—a preferred exemplary embodiment of the invention is shown. 
     For the described encoding methods according to the exemplary embodiments of the invention, corresponding encoders are provided and corresponding methods for decoding and corresponding decoders. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  shows an encoder  100  according to one exemplary embodiment of the invention. 
         FIG. 2  shows an encoder/decoder system  200  according to one exemplary embodiment of the invention. 
         FIG. 3  shows an encoder  300  according to one exemplary embodiment of the invention. 
         FIG. 4  shows an encoder  400  according to one exemplary embodiment of the invention. 
         FIG. 5  shows a code book  500  according to one exemplary embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows an encoder  100  according to one exemplary embodiment of the invention. 
     The encoder  100  is supplied with a signal  101  to be encoded, for example a voice signal  100 . In addition, the encoder  100  is supplied with data  102  to be embedded. The encoder generates from the signal  101  to be encoded an encoded signal  103  into which the data  102  to be embedded are embedded, that is to say from which a corresponding decoder can determine the data  102  to be embedded. 
     The encoded signal  103  is conveyed, for example, to a receiver, for example by means of a computer network or by means of a radio network. 
     In the exemplary embodiment described in a text which follows it is assumed that the encoder  100  is used in a mobile radio network according to GSM (Global System for Mobile Communications). In other embodiments of the invention, the encoder can also be used as part of a mobile radio network according to UMTS (Universal Mobile Telecommunications Standard), CDMA2000 (Code Division Multiple Access) or according to FOMA (Freedom of Mobile Access). 
     In the exemplary embodiment described in the text which follows, it is assumed that the signal  101  to be encoded is a voice signal which is to be encoded by the encoder  100  in accordance with an ACELP (Algebraic Code Excited Linear Prediction) voice compression method, for example in accordance with an “Enhanced Full-Rate” ACELP voice compression method as is used in a GSM mobile radio network. 
     In one embodiment, the encoder  100  uses for embedding the information, that is to say for embedding the data  102  to be embedded in the encoded signal  103 , for encoding the so called residual signal, a fixed (in other words stochastic) code book which is split into N sub-code books. For the actual encoding of the residual signal, the corresponding sub-code book is used depending on the information to be embedded, in accordance with a binning scheme. 
     Since the code book in a CELP voice encoder is not searched exhaustively (but only heuristically), the sub-code books can have an extent which is quite comparable with the searched part of the fixed code book and the quality of the CELP encoding suffers only little from the information embedding. Furthermore, the information embedding can be carried out with little algorithmic complexity. 
     In the exemplary embodiment described in the text which follows, the encoder  100  uses a code book which is defined as follows: 
     The code book C used in the present exemplary embodiment is the code book of the GSM EFR (Enhanced Full Rate) codec and is given by the vectors  c  of the ACELP pulse positions (without sign in the present exemplary embodiment) for each subframe of length 5 ms:
 
 C={ c = ( c   0   , . . . , c   9 )}
 
with
 
 c   0   ,c   5 ε{0,5,10,15,20,25,30,35 },c   1   ,c   6 ε{1,6,11,16,21,26,31,36},
 
 c   2   ,c   7 ε{2,7,12,17,22,27,32,37}, c   3   ,c   8 ε{3,8,13,18,23,28,33,38}
 
where
 
 c   4   ,c   9 ε{4,9,14,19,24,29,34,39}
 
     A code word  c  from the code book (i.e. the set of all possible code words) C is thus a vector having ten components, each component describing a position of a pulse within a subframe. In the present exemplary embodiment, the code book C has an extent of 2^(10*log 2(8))=2^30 code words. 
     In another exemplary embodiment, the components of the vectors c have signs as intended according to EPR. Using components with signs provides for improved information embedding. In one embodiment, however, the use in EFR of components with signs is omitted for reasons of complexity. 
     In one embodiment, the code book C is split into two sub-code books C(1) and C(2) in such a manner that one bit of the data  101  to be embedded can be embedded into the encoded signal  102  per code word and correspondingly one bit of the data  101  to be embedded is conveyed per subframe which corresponds to a data rate of 200 bit/s with a subframe duration of 5 ms. 
     The code words of the sub-code books differ from one another in that the sum of the components c i  of a code word is even-numbered from one sub-code book and odd-numbered from the other sub-code book. For example, all code words from C(1) meet the condition. 
                   ∑     i   =   0     9     ⁢           ⁢     c   i       =     2   ·     trunc   (       1   2     ⁢       ∑     i   =   0     9     ⁢           ⁢     c   i         )         ,         
(i.e. the sum of the components is even-numbered) and all code words from C(2) meet the condition
 
                 ∑     i   =   0     9     ⁢           ⁢     c   i       =       2   ·     trunc   (       1   2     ⁢       ∑     i   =   0     9     ⁢           ⁢     c   i         )       +   1           
(i.e. the sum of the components is odd-numbered), where trunc designates the truncating operation, that is to say the truncating to the next smaller integral number.
 
     If a first message (consisting of one bit in the present example, for example the bit value 0) is to be conveyed, a code word from C(1) is used for encoding (the current signal values of the signal  101  to be encoded) and if a second message (consisting of one bit in the present example, for example the bit value 1) is to be conveyed, a code word from C(1) is used for the encoding. A receiver or a decoder, respectively, can determine whether the first message or the second message has been embedded on the basis of the association of a received code word with C(1) or with C(2). 
     In another embodiment, C is subdivided in accordance with even and odd parity of the sum of the components of the code words. For example, a code word belongs to C(1) if 
               ∑     i   =   0     9     ⁢           ⁢     c   i           
has an even number of ones in binary representation, and otherwise to C(2).
 
     In one embodiment, four bits per subframe are embedded and thus a data rate of 400 bit/s is achieved. This is done by subdividing the code book C into four sub-code books C(1) to C(4), the code words of the sub-code books meeting, for example, the following conditions: 
     
       
         
           
             
               
                 
                   C 
                   ⁡ 
                   
                     ( 
                     1 
                     ) 
                   
                 
                 ⁢ 
                 
                   : 
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       0 
                     
                     4 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     c 
                     
                       2 
                       ⁢ 
                       i 
                     
                   
                 
               
               = 
               
                 2 
                 · 
                 
                   trunc 
                   ( 
                   
                     
                       1 
                       2 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         4 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         c 
                         
                           2 
                           ⁢ 
                           i 
                         
                       
                     
                   
                   ) 
                 
               
             
             , 
             
               
 
             
             ⁢ 
             
               
                 
                   C 
                   ⁡ 
                   
                     ( 
                     2 
                     ) 
                   
                 
                 ⁢ 
                 
                   : 
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       0 
                     
                     4 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     c 
                     
                       
                         2 
                         ⁢ 
                         i 
                       
                       + 
                       1 
                     
                   
                 
               
               = 
               
                 2 
                 · 
                 
                   trunc 
                   ( 
                   
                     
                       1 
                       2 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         4 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         c 
                         
                           
                             2 
                             ⁢ 
                             i 
                           
                           + 
                           1 
                         
                       
                     
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               
                 C 
                 ⁡ 
                 
                   ( 
                   3 
                   ) 
                 
               
               ⁢ 
               
                 : 
               
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     0 
                   
                   4 
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   c 
                   
                     2 
                     ⁢ 
                     i 
                   
                 
               
             
             = 
             
               
                 2 
                 · 
                 
                   trunc 
                   ( 
                   
                     
                       1 
                       2 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         4 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         c 
                         
                           2 
                           ⁢ 
                           i 
                         
                       
                     
                   
                   ) 
                 
               
               + 
               1 
             
           
         
       
       
         
           
             
               
                 C 
                 ⁡ 
                 
                   ( 
                   4 
                   ) 
                 
               
               ⁢ 
               
                 : 
               
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     0 
                   
                   4 
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   c 
                   
                     
                       2 
                       ⁢ 
                       i 
                     
                     + 
                     1 
                   
                 
               
             
             = 
             
               
                 2 
                 · 
                 
                   trunc 
                   ( 
                   
                     
                       1 
                       2 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         4 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         c 
                         
                           
                             2 
                             ⁢ 
                             i 
                           
                           + 
                           1 
                         
                       
                     
                   
                   ) 
                 
               
               + 
               1. 
             
           
         
       
     
     To illustrate, the distinction is made here on the basis of the parity or imparity of the sum of the components with even-numbered or odd-numbered index, respectively. 
     Analogously to the above alternative, the subdivision of the code book C into four sub-code books can be carried out on the basis of the parity of a binary representation of the sum of components with even-numbered or odd-numbered index, respectively, and that is to say on the basis of the parity of 
                 ∑     i   =   0     4     ⁢           ⁢       c     2   ⁢   i       ⁢           ⁢   or   ⁢           ⁢       ∑     i   =   0     4     ⁢           ⁢     c       2   ⁢   i     +   1             ,         
respectively.
 
     In the above conditions for the code books C(1) and C(2) or C(1) to C(4), respectively, instead of a component c i  itself, the expression trunc(c i /5) can also be used as an alternative which unambiguously designates a pulse position within a so-called track. As an alternative, the respective Gray-encoded version or GRAY(c i ) or GRAY(trunc(c i /5)) can also be used which is provided for channel encoding with EFR. Taking into consideration the actual transmission of code words via a GSM mobile radio channel, this possibility for splitting up the code book is found to be particularly advantageous. It has the result that particularly few channel bits have an influence on the embedded data as a result of which the bit error rate of the transmitted embedded data drops when the transmission is disturbed. 
     Generally, in one embodiment, the code book C can be split up in such a manner that the code words of the sub-code book which is used for the encoding if a message bit m i  is to be transmitted meet the condition 
               m   i     =           ⊕             j   ∈     A   i             ⁢     b   j             
where A i  designates an index set, b j  designates the components of the respective code word. The summation is carried out modulo 2 in this arrangement so that it is required that the sum modulo 2 of several code word bits b j  is equal to the message bit m i  to be embedded.
 
     Reconstructing an embedded message in a received code word or one to be decoded only requires that the decoder determines the sub-code book to which the code word belongs. If the code words are transmitted undisturbed to the decoder, the embedded information can also be reconstructed without errors. 
     The procedure for embedding information, described above, can also be used with other encoders, for example with all CELP voice encoders but also with other signal encoders such as video encoders, image encoders etc. 
     The transmission of page information (embedded information) by means of steganography can also be used for improving the signal and represents a solution for the problem of backward compatibility. A receiver without knowledge of the embedded information can decode the (voice) signal into which the information has been embedded, as usual, that is to say as in the case of no embedding of information, with only slight losses. If, in contrast, the receiver knows the embedded information, the page information can be used for improving the signal. A corresponding exemplary embodiment will be described with reference to  FIG. 2  in the text which follows. 
       FIG. 2  shows an encoding/decoding system  200  according to a further exemplary embodiment of the invention. 
     The encoding/decoding system  200  has an encoder  201  as described with respect to  FIG. 1 . Correspondingly, the coder  201  is supplied with a signal  202  to be encoded and data  203  to be embedded. The data to be embedded are used for improving the signal and are correspondingly generated by a signal analysis device  204  which is supplied with the signal  202  to be encoded, in a manner suitable for improving the signal  202  to be encoded. 
     Analogously to  FIG. 1 , the encoder  201  outputs an encoded signal  205  into which the data  203  to be embedded are embedded. The encoded signal  205  can then be conveyed to a receiver, for example by means of a mobile radio communication network, as described above. 
     If the receiver has a “conventional” decoder  206 , that is to say a decoder which cannot determine the embedded data from the encoded signal  205 , the decoder  206  only decodes the encoded signal  205  to form a decoded signal  207  which corresponds to the signal  202  to be encoded (apart from transmission errors and encoder/decoder losses). 
     If the receiver has an “extended” decoder  208 , that is to say a decoder which can determine the embedded data from the encoded signal  205 , the embedded data are extracted and the extracted data  209  are used for signal improvement by a signal improving unit  210  which generates a decoded and improved signal  211  (compared with the decoded signal  207 ). 
     The signal improvement used can be e.g. artificial bandwidth extension or noise reduction. The coefficients of a post-filter determined on the transmitter side can also be transmitted by steganography. 
     The application of artificial bandwidth extension, in particular, is advantageous since the telephone network is historically limited to an acoustic bandwidth of 3.1 kHz (300 Hz-3.4 kHz), but a transmission of broadband voice (50 Hz-7 kHz) could only be managed with enormous expenditure by the network operators and the terminal manufacturers. In contrast, implementation of the embodiments described above does not require any changes in the (mobile radio) transmission network. Corresponding (efficient) bandwidth extension algorithms are described, for example, in the publication by Peter Jax, Bernd Geiser, Stefan Schandl, Hervé Taddei and Peter Vary, “An Embedded Scalable Wideband Codec Based on the GSM EFR Codec”, in Proceedings of ICASSP, Toulouse, May 2006. Furthermore, the introduction of wideband voice transmission by the detour of bandwidth extension (possibly with support by digital watermarks) is mentioned in the publication by Peter Jax and Peter Vary, “Bandwidth Extension of Speech Signals: A Catalyst for the Introduction of Wideband Speech Coding?”, IEEE Communications Magazine, vol. 44, no. 5, May 2006. 
     In the text which follows, a further possibility for splitting up the code book C (EFR ACELP code book) defined above is described. 
     To provide a better understanding, the search strategy of the EFR codec will first be explained briefly: 
     1) Firstly, the first pulse position i 0 ε{0, . . . , 39 } is determined heuristically and remains fixed during the entire search. The track belonging to i 0  is, for example, x=4 or x=9. For the x-th component c x  of the corresponding code word, c x =i 0  applies. 
     2) The position of the second pulse i 1 ε{0, . . . , 39} is also determined heuristically, a different value being assumed for each of the four iterations of the algorithm below (step 3). For example, let track y=3 or y=8 belong to the selected position i 1  for the first iteration, i.e. c y =i 1 .
 
3) For the remaining eight tracks, the pulses are progressively optimized by exhaustive search in pairs of two tracks each for each of four iterations. In each of the four iterations, the track pairs are reassembled by permutation, where c x  and c y  are not reused.
 
     For example, for the track pair c 0 /c 6 , the optimization is carried out in accordance with the following pseudocode: 
     
       
         
               
             
           
               
                   
               
             
             
               
                 for (i = 0,5,10, . . . ,35) //  iteration  over  all  permissible 
               
               
                          elements for c 0   
               
               
                   for (j = 1,6,11, . . . ,36) //  iteration  over  all  permissible 
               
               
                         elements for c 6   
               
               
                    test pulse pair (c 0 =i, c 6 =j) for optimality in accordance 
               
               
                    with the CELP criterion. 
               
               
                   
               
             
          
         
       
     
     With this search strategy according to EFR, a total of 1024 combinations (4 iterations*4 track pairs*8 pulse positions*8 pulse positions=1024 combinations) are examined and from these the optimum pulse pairs are selected. 
     To embed information, in the following example of a single (watermark) bit b, into a code word  c =(c 0 , . . . , c 9 ), the above algorithm, according to an exemplary embodiment of the invention, is modified as described in the text which follows. 
     If during a search a pulse has already been determined for a track, for example c 1 , c 6  can be embedded into the pulse position pair c 1  and c 6  by a watermark bit b during the selection of the (identically configured) track in that c 6  is selected in dependence on bit b. For this purpose, the pair-by-pair search is modified, for example, as follows: 
     
       
         
               
               
             
               
               
               
             
               
               
               
             
               
             
               
               
             
           
               
                   
               
             
             
               
                   
                 c6_offset = 5 * ((c1 + b + 1) mod 2) 
               
             
          
           
               
                   
                 for (i = 0,5,10, . . . ,35)  // 
                 iteration over all permissible elements 
               
               
                   
                   
                 for c 0   
               
             
          
           
               
                   
                  for (j = 1,11,21,31) 
                 //  iteration  over  all  permissible 
               
               
                   
                   
                 elements for c 6  (compared with half the 
               
               
                   
                   
                 number above) 
               
             
          
           
               
                     test pulse pair (c 0 =i, c 6 =j+c6_offset) for optimality in 
               
             
          
           
               
                   
                 accordance with the CELP criterion. 
               
               
                   
               
             
          
         
       
     
     The embedded bit b can be determined in the receiver or decoder by the operation
 
 b= ( c   1   +c   6 )mod 2.
 
     Instead of c 6     —   offset=5*((c1+b+1)mode 2), other combinations of previously determined pulse positions and bits to be embedded can also be used. In the above example, the search space for the pulse position c 6  was divided into two equal parts (odd/even values). Further divisions (for instance first/second value half) are also possible, the equation of c 6     —   offset having to be adapted correspondingly. 
     Due to the bit embedded in this manner, the number of pulse position combinations examined has dropped to
 
4 iterations*(3 pairs*8 positions*8 positions+1 pair*8 positions*4 positions)=896 combinations.
 
     To embed several bits in one code word  c  the search space for c 6  can be halved again or an identical method can be used for a second pulse pair. It is advantageous to couple especially those pulses which are located in one track by c 6     —   offset (or bit b), respectively) during the embedding of information. Otherwise, it is no longer possible to perform an unambiguous allocation of the pulses in the receiver due to the sign encoding of the EFR. This restriction can be canceled by a corresponding additional expenditure in the transmitter. In the receiver, c 1  and c 6  cannot be distinguished from one another. The data extraction via b=(c 1 +c 6 )mod 2 does not present any problems, therefore, but it is difficult to calculate, for example, b=(c 1 +c 5 )mod 2 since (depending on the sign) b=(c 6 +c 5 )mod 2 could be “accidently” calculated. The “additional expenditure” at the transmitter end consists in taking into consideration the sign encoding in the optimization loops and virtually anticipating it for each optimization step. 
     Due to the reduced number of combinations examined (896 instead of 1024 in the above example), a lower encoding quality by watermark embedding is obtained. This can be compensated for by an extended search, that is to say an extension of the search space. For this purpose, the tracks are no longer searched jointly in pairs but in groups of 3 or 4 (or even more) tracks. The joint search (without watermark embedding) for 3 tracks (e.g. c 0 , c 6  and c 7 ) is implemented, for example, as follows: 
     
       
         
               
               
               
             
               
               
               
             
               
               
             
           
               
                   
               
             
             
               
                   
                 for (i 2  = 0,5,10, . . . ,35)  // 
                 iteration over all permissible values 
               
               
                   
                   
                 for c 0   
               
             
          
           
               
                   
                  for (i 3  = 1,6,11, . . . ,36)  // 
                  iteration over the permissible 
               
               
                   
                   
                 values for c 6   
               
               
                   
                   for (i 4  = 2,7,12, . . . ,37) 
                 // iteration over the permissible 
               
               
                   
                   
                   values for c 7   
               
             
          
           
               
                   
                   search optimum triple (c 0 =i 2 , c 6 =i 3 , c 7 =i 4 ) 
               
               
                   
               
             
          
         
       
     
     For each triple, this means that 8*8*8=512 combinations are searched. If the entire search for the 8 variable pulse positions (according to steps 1 and 2, two pulse positions are fixed, of course) is divided in such a manner that 2 triples and 1 pair are optimized jointly, the result is that
 
4 iterations*(2 triples*8 positions*8 positions*8 positions+1 pair*8 positions*8 positions)=4352 combinations
 
are examined which means a considerable additional expenditure compared with the 1024 combinations according to EFR.
 
     If, however, e.g., 3 watermark bits are embedded during the optimization of the first triple and 2 watermark bits are embedded during the optimization of the second triple, as described above, whilst there is no embedding for the pulse position pair, the resultant number of combinations to be examined is now
 
4 iterations*(1 triple*4 positions*4 positions*4 positions+1 triple*8 positions*4 positions*4 positions+1 pair*8 positions*8 positions)=1024 combinations,
 
i.e. exactly the number of combinations examined in the standard EFR codec. In this case, the watermark data rate is (2+3)bits/5 ms=1 kbit/s.
 
     Finally, a further possibility for extending the search space is increasing the number of iterations, i.e. the examination of further track permutations. 
     The concept forming the basis of one exemplary embodiment can be seen in that the embedding of information is known to the signal encoder which is achieved by joint data embedding and signal encoding, that is to say, for example, the watermark embedding is integrated in the encoder. This can be carried out within an analysis-by-synthesis loop (“closed loop”) as shown in  FIG. 3 . 
       FIG. 3  shows an encoder  300  according to a further exemplary embodiment of the invention. 
     The encoder is supplied with a signal to be encoded and data  302  to be embedded. 
     From the signal  301  to be encoded, an encoded signal  303  is generated by means of a loop which has a code book  304 , a synthesis device  305  and a comparator  306 . In this arrangement, a possible encoding of the signal  301  to be encoded is generated from the code book  304  and by means of the synthesis device  305  and the comparator  306  a check is made as to how well it reflects the signal  301  to be encoded and, if necessary, it has changed on the basis of the output of the comparator  306 . 
     The data  302  to be embedded are embedded into the encoded signal  303  in the course of the encoding process, for example in accordance with one of the procedures described above. 
     For example, a sub-code book of the code book  304  is selected on the basis of the data  302  to be embedded, as is shown in  FIG. 4 . 
       FIG. 4  shows an encoder  400  in accordance with a further exemplary embodiment of the invention. 
     Analogously to the encoder  300  shown in  FIG. 3 , the encoder is supplied with data  402  to be embedded and a signal  401  to be encoded and it generates an encoded signal  403  in which the data  402  to be embedded are embedded. Apart from a synthesis device  405  and a comparator  406  analogously to the encoder  300  in  FIG. 3 , the encoder  400  has a multiplicity of sub-code books  404 , that is to say a code book subdivided into several sub-code books  404 . The sub-code books are selected on the basis of the data to be embedded during the encoding of the signal  401  to be encoded. For example, a code word from a first sub-code book is allocated to a data word of the signal  401  to be encoded, if a first page information from the data  402  to be embedded, for example a bit having the value 0, is to be embedded and a code word from a second sub-code book is allocated if a second page information from the data  402  to be embedded, for example a bit having the value 1, is to be embedded. 
     The division of a code book into several sub-code books is illustrated in  FIG. 5 . 
       FIG. 5  shows a code book  500  according to a further exemplary embodiment of the invention. 
     The code book  500  is designated by C. For reasons of efficiency, the code book  500  is searched only partially during the encoding if the volume of code words of the code book  500  is very large, i.e. code words are selected for encoding only from a code book subset  501  which is designated by C′ (practical code book). 
     In the above exemplary embodiments, the code book  500 , for the purpose of embedding data, is split into code books as explained above, for example into four sub-code books  502  which are designated by C(1) to C(4). 
     Since a sub-code book  502  has a lesser volume of code words than the code book subset  501  and thus the quality of the signal encoding would drop (depending on the number of sub-code books  502 ) compared with a use of the entire code book subset  501 , the code volume of the sub-code books  502  is extended in one exemplary embodiment so that an extended code book subset  503  is used overall for encoding. In this arrangement, the algorithmic complexity increases only slightly, the quality of the encoding does not drop and it is even possible to achieve an increase in quality in special cases. 
     In one embodiment, an algebraic code book is used. In contrast to a normal code book in table form, an algebraic code book only exists in the sense of an algebraic construction rule. This means that the individual code book entries (code words) are generated by a code word generator in the course of the signal encoding. The “binning scheme” for embedding information, that is to say the splitting up of the code book into sub-code books and selection of the sub-code book used for the encoding in dependence on the information to be embedded, in the case of an encoder with algebraic code book, now no longer consist only in dividing the code book into a number of sub-code books but in addition also in modifying the code word generator to the extent that in each case only code words belonging to the sub-code book C(i) selected by the message i currently to be embedded are output.