Patent Publication Number: US-9905234-B2

Title: Apparatus and method for hiding and extracting data using pilot code sequence

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit of Korean Patent Application No. 10-2015-0046817, filed on Apr. 2, 2015, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference. 
     BACKGROUND 
     1. Field of the Invention 
     Embodiments relate to an apparatus and method for hiding data in an audio signal and extracting the data from the audio signal, and more particularly, to an apparatus and method for hiding data in an audio signal and extracting the data from the audio signal based on a pilot code sequence. 
     2. Description of the Related Art 
     An audio watermark technology includes a technology of carrying required additional information in an audio signal by adding arbitrary distortion or a arbitrary signal and of extracting the additional information. The additional information carried on the audio signal may be used to guarantee a quality of the audio signal at a minimum loss and to discriminate a copyright of the original audio signal. 
     Recently, due to a wide use of portable smart terminal equipment, the audio watermark technology is showing a possibility to be used as a scheme of transmitting additional information utilized in a portable terminal in addition to copyright discrimination. In addition to existing constraints, additional information may need to be extracted robustly against acoustic channel distortion until the audio signal is spread in the air and received to a microphone. Also, to perform an additional service desired by a user, a high quantity of data associated with transmitted additional information may be required. For example, the additional information may include, for example, channel information, time information or uniform resource locator (URL) information. A portable terminal may extract text information from a received signal only when tens of bytes of text information is transmitted within a set period of time. 
     However, in most cases, a large number of bit errors may occur in data associated with extracted additional information due to reverberation or noise occurring in an acoustic channel, in comparison to the original data. 
     SUMMARY 
     Embodiments provide a method and apparatus for hiding data associated with additional information in an audio signal based on a pilot code sequence, and extracting the data from the audio signal based on the pilot code sequence so that the data may be robust against distortion in an acoustic channel. 
     According to an aspect, there is provided a data hiding method including converting an input audio signal to a frequency domain, distorting phase information of the audio signal converted to the frequency domain based on a pilot code sequence representing data to be hidden, and converting the audio signal with the distorted phase information to a time domain and transmitting the audio signal converted to the time domain, wherein the pilot code sequence is a set of phase values corresponding to a bit value “0” or “1” of data. 
     The converting of the input audio signal to the frequency domain may include dividing the input audio signal into frames and converting each of the frames to the frequency domain. 
     A pilot code sequence representing the bit value “0” and a pilot code sequence representing the bit value “1” may be orthogonal to each other. 
     An inner product of the pilot code sequence representing the bit value “0” and the pilot code sequence representing the bit value “1” may be zero. 
     According to another aspect, there is provided a data extracting method including receiving an audio signal with distorted phase information, converting the received audio signal to a frequency domain, determining a phase sequence of the audio signal converted to the frequency domain, and extracting data hidden in the audio signal based on a pilot code sequence and the determined phase sequence, wherein the pilot code sequence is a set of phase values corresponding to a bit value “0” or “1” of data. 
     The converting of the received audio signal may include dividing the received audio signal into frames and converting each of the frames to the frequency domain. 
     The determining of the phase sequence may include mapping the distorted phase information to a value of an angle close to either 0 radians or π radians. 
     The determining of the phase sequence may include mapping a phase value between −90 degrees and +90 degrees in the distorted phase information to 0 radians, and mapping the other phase values to π radians. 
     The extracting of the data may include changing phase values of each of the pilot code sequence and the phase sequence to real numbers. 
     The extracting of the data may include extracting the data hidden in the audio signal based on a similarity between the changed phase values. 
     According to another aspect, there is provided a data hiding apparatus including a converter configured to convert an input audio signal to a frequency domain, a distorter configured to distort phase information of the audio signal converted to the frequency domain based on a pilot code sequence representing data to be hidden, and a transmitter configured to convert the audio signal with the distorted phase information to a time domain and to transmit the audio signal converted to the time domain, wherein the pilot code sequence is a set of phase values corresponding to a bit value “0” or “1” of data. 
     The converter may be configured to divide the input audio signal into frames and convert each of the frames to the frequency domain. 
     A pilot code sequence representing the bit value “0” and a pilot code sequence representing the bit value “1” may be orthogonal to each other. 
     An inner product of the pilot code sequence representing the bit value “0” and the pilot code sequence representing the bit value “1” may be zero. 
     According to another aspect, there is provided a data extracting apparatus including a receiver configured to receive an audio signal with distorted phase information, a converter configured to convert the received audio signal to a frequency domain, a determiner configured to determine a phase sequence of the audio signal converted to the frequency domain, and an extractor configured to extract data hidden in the audio signal based on a pilot code sequence and the determined phase sequence, wherein the pilot code sequence is a set of phase values corresponding to a bit value “0” or “1” of data. 
     The converter may be configured to divide the received audio signal into frames and convert each of the frames to the frequency domain. 
     The determiner may be configured to map the distorted phase information to a value of an angle close to either 0 radians or π radians. 
     The determiner may be configured to map a phase value between −90 degrees and +90 degrees in the distorted phase information to 0 radians, and to map the other phase values to π radians. 
     The extractor may be configured to change phase values of each of the pilot code sequence and the phase sequence to real numbers. 
     The extractor may be configured to extract the data hidden in the audio signal based on a similarity between the changed phase values. 
     Effect 
     According to embodiments, a pilot code sequence may be used to hide data associated with additional information in an audio signal and to extract the data from the audio signal, and thus it is possible to hide and extract the data so that the data may be robust against distortion in an acoustic channel. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which: 
         FIG. 1  illustrates a data transmission method based on a data hiding and extracting method according to an embodiment; 
         FIG. 2  illustrates a configuration of a data hiding apparatus of  FIG. 1 ; 
         FIGS. 3A and 3B  illustrate an example of converting an audio signal to a frequency domain according to an embodiment; 
         FIG. 4  illustrates an example of a pilot code sequence according to an embodiment; 
         FIG. 5  illustrates a method of hiding data based on a pilot code sequence according to an embodiment; 
         FIG. 6  illustrates a configuration of a data extracting apparatus of  FIG. 1 ; and 
         FIG. 7  illustrates a method of extracting data based on a pilot code sequence according to an embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Embodiments are described below to explain the present invention by referring to the figures. 
       FIG. 1  illustrates a data transmission method based on a data hiding and extracting method according to an embodiment. 
     A data hiding apparatus  100  of  FIG. 1  may hide desired data in an audio signal based on a pilot code sequence. The data hiding apparatus  100  may convert the audio signal to a frequency domain. The data hiding apparatus  100  may divide the audio signal into frames and may convert the frames, and the audio signal converted to the frequency domain may include magnitude information and phase information. A single frame of a signal may be generally represented as shown in Equation 1 below.
 
 x ( b )=[ x ( n−N+ 1), . . . , x ( n )] T   [Equation 1]
 
     In Equation 1, b denotes an index of a frame in an audio signal, and N denotes a number of frequency bins modulated in the frame. 
     To convert an audio signal to a frequency domain, an amplitude-shift keying (ASK) scheme, a frequency-shift keying (FSK) scheme, or a phase-shift keying (PSK) scheme may be used. According to embodiments, the PSK scheme may be used to convert an audio signal to a frequency domain. For example, an audio signal may be converted to a frequency domain using the PSK scheme as shown in Equation 2 below.
 
 X ( b )=DFT( x ( b ))=[ X   b (0), . . . , X (( N )/2)] T   [Equation 2]
 
     An audio signal X(b) may be a mixture of signals having different frequencies, and may have N frequency conversion coefficients. Because the N frequency conversion coefficients are symmetrical to each other, “N/2+1” pieces of information may be valid. 
     The data hiding apparatus  100  may hide desired data in an arbitrary frame of the audio signal converted to the frequency domain. For example, the data hiding apparatus  100  may hide the data in a frame b among frames of the audio signal using the PSK scheme.
 
 X   sub ( b )=[ X   b ( k−M+ 1), . . . , X ( k )] T , 0≦ M≦N/ 2,  M− 1≦ k≦N/ 2  [Equation 3]
 
     In Equation 3, b denotes an index of a frame in an audio signal, and M denotes a number of frequency bins modulated in the frame. In addition, k denotes an index of a frequency bin. In other words, the data hiding apparatus  100  may distort information on the number M of frequency bins in the frame b, and may transmit the data. 
     For example, when M and k are set to “4” and “3,” respectively, a result of conversion of the audio signal to the frequency domain may be represented based on magnitude information and phase information of the audio signal as shown in Equation 4 below.
 
 X   sub ( b )=[ X   b (0), X   b (1), X   b (2), X   b (3)] T =[ |X   b (0)|∠ X   b (0),| X   b (1)|∠ X   b (1),| X   b (2)|∠ X   b (2),| X   b (3)|∠ X   b (3)] T   [Equation 4]
 
     The data hiding apparatus  100  may distort the phase information while maintaining the magnitude information and may hide the data in the audio signal converted to the frequency domain, which may be represented as shown in Equation 5 below.
 
 {circumflex over (X)}   sub ( b )=[| X   b (0)|∠θ 0   ,|X   b (1)|∠θ 1   ,|X   b (2)|∠θ 2   ,|X   b (3)|∠θ 3 ] T   [Equation 5]
 
     In Equation 5, data c(b)=[θ 0 ,θ 1 ,θ 2 ,θ 3 ] T  to be hidden may be represented by four bits, and may be hidden by distorting phase information of an audio signal. For example, when data [1,0,1,1] is assumed to be transmitted using a binary PSK (BPSK) scheme, the data [1,0,1,1] may be represented as c(b)=[π,0π,π] T , and may be transmitted by distorting phase information of an audio signal. 
     However, when a general PSK scheme is used to hide data as described above, a bit error ratio (BER) may increase as a quantity of data to be hidden increases. Thus, according to embodiments, desired data may be hidden in an audio signal based on a pilot code sequence so that the data may be more robust against acoustic channel distortion. 
     The pilot code sequence may be, for example, a set of phase values corresponding to a bit value “0” or a set of phase values corresponding to a bit value “1.” The data hiding apparatus  100  may distort phase information of an audio signal based on the set of the phase values corresponding to the bit value “0” or the set of the phase values corresponding to the bit value “1,” and may hide desired data in the audio signal. 
     A pilot code sequence including the phase values corresponding to the bit value “0” and a pilot code sequence including the phase values corresponding to the bit value “1” may be orthogonal to each other. In other words, an inner product of the pilot code sequence including the phase values corresponding to the bit value “0” and the pilot code sequence including the phase values corresponding to the bit value “1” may need to be zero, which may be represented as shown in Equation 6 below. 
     
       
         
           
             
               
                 
                   
                     〈 
                     
                       
                         c 
                         0 
                       
                       , 
                       
                         c 
                         1 
                       
                     
                     〉 
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         
                           M 
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ∠ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             c 
                             0 
                           
                           ⁡ 
                           
                             ( 
                             i 
                             ) 
                           
                         
                         ⁢ 
                         ∠ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             c 
                             1 
                           
                           ⁡ 
                           
                             ( 
                             i 
                             ) 
                           
                         
                       
                     
                     = 
                     0 
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     6 
                   
                   ] 
                 
               
             
           
         
       
     
     In Equation 6, the pilot code sequence including the phase values corresponding to the bit value “0” and the pilot code sequence including the phase values corresponding to the bit value “1” may be represented as c 0 =[∠c 0 (0), . . . ,∠c 0 (i), . . . ,∠c 0 (M−1)] T  and c 1 =[∠c 1 (0), . . . ,∠c 1 (i), . . . ,∠c 1  (M−1)] T  respectively. 
     In other words, values obtained by multiplying phase values for each frequency bin in the pilot code sequence representing the bit value “0” and the pilot code sequence representing the bit value “1” may need to be added up to zero. 
     For example, a pilot code sequence c 0  representing the bit value “0” and a pilot code sequence c 1  representing the bit value “1” may be [∠π,∠0,∠π,∠0, . . . ] T  and [∠π,∠π,∠0,∠0, . . . ] T , respectively. In this example, an inner product of the pilot code sequences c 0  and c 1  may be zero. 
     The data hiding apparatus  100  may distort phase information of an audio signal based on phase values included in a pilot code sequence, to hide desired data in the audio signal. 
     For example, a single bit may be assumed to be inserted into a frame of a real audio signal, and k and M may be set to “3” and “4,” respectively. In this example, a process of hiding data [0,1,1,0] in the audio signal may be represented as shown in Equation 7 below.
 
 {circumflex over (X)}   sub (0)=[| X   0 (0)|∠0,| X   0 (1)|∠π,| X   0 (2)|∠0,| X   0 (3)|∠π] T  
 
 {circumflex over (X)}   sub (1)=[| X   1 (0)|∠0,| X   1 (1)|∠0,| X   1 (2)|∠π,| X   1 (3)|∠π] T  
 
 {circumflex over (X)}   sub (2)=[| X   2 (0)|∠0,| X   2 (1)|∠0,| X   2 (2)|∠π,| X   2 (3)|∠π] T  
 
 {circumflex over (X)}   sub (3)=[| X   3 (0)|∠0,| X   3 (1)|∠π,| X   3 (2)|∠0,| X   3 (3)|∠π] T   [Equation 7]
 
     The data hiding apparatus  100  may convert the audio signal to a frequency domain. Equation 7 shows an example of converting an audio signal including four frames, for example, a zeroth frame through a third frame to a frequency domain, and of distorting phase information of the audio signal based on pilot code sequences for each of the frames. Phase information corresponding to the zeroth frame may be distorted based on a pilot code sequence representing a bit value “0.” Also, phase information corresponding to a first frame may be distorted based on a pilot code sequence representing a bit value “1.” Similarly, phase information corresponding to a second frame and phase information corresponding to the third frame may be distorted based on a pilot code sequence representing a bit value “1” and a pilot code sequence representing a bit value “0,” respectively. 
     The data hiding apparatus  100  may convert the audio signal with the distorted phase information from the frequency domain to a time domain using the PSK scheme. The audio signal converted to the time domain may be output through an acoustic channel using an output device, for example, speakers. When the audio signal output through the acoustic channel is received by a receiver, for example, a microphone, a larger number of bit errors may occur in the received audio signal due to reverberation or noise, in comparison to the output audio signal. 
     A data extracting apparatus  110  may receive the audio signal affected by the reverberation or noise, and may extract the hidden data. The data extracting apparatus  110  may convert the received audio signal to the frequency domain. The data extracting apparatus  110  may divide the received audio signal into frames, and may convert each of the frames to the frequency domain. The audio signal converted to the frequency domain may include magnitude information and phase information, which may be represented as shown in Equation 8 below.
 
 Ŷ   sub (0)=[| Y   0 (0)|∠ Y   0 (0),| Y   0 (1)|∠ Y   0 (1),| Y   0 (2)|∠ Y   0 (2),| Y   0 (3)|∠ Y   0 (3)] T  
 
 Ŷ   sub (1)=[| Y   1 (0)|∠ Y   1 (0),| Y   1 (1)|∠ Y   1 (1),| Y   1 (2)|∠ Y   1 (2),| Y   1 (3)|∠ Y   1 (3)] T  
 
 Ŷ   sub (2)=[| Y   2 (0)|∠ Y   2 (0),| Y   2 (1)|∠ Y   2 (1),| Y   2 (2)|∠ Y   2 (2),| Y   2 (3)|∠ Y   2 (3)] T  
 
 Ŷ   sub (3)=[| Y   3 (0)|∠ Y   3 (0),| Y   3 (1)|∠ Y   3 (1),| Y   3 (2)|∠ Y   3 (2),| Y   3 (3)|∠ Y   3 (3)] T  
 
     In Equation 8, an absolute value of each of frequency bins may be “1,” and phase values may be represented as shown in Equation 9 below.
 
 Ŷ   sub (0)=[∠ Y   0 (0),∠ Y   0 (1),∠ Y   0 (2),∠ Y   0 (3)] T  
 
 Ŷ   sub (1)=[∠ Y   1 (0),∠ Y   1 (1),∠ Y   1 (2),∠ Y   1 (3)] T  
 
 Ŷ   sub (2)=[∠ Y   2 (0),∠ Y   2 (1),∠ Y   2 (2),∠ Y   2 (3)] T  
 
 Ŷ   sub (3)=[∠ Y   3 (0),∠ Y   3 (1),∠ Y   3 (2),∠ Y   3 (3)] T   [Equation 9]
 
     Phase information of each of the frames in the audio signal converted to the frequency domain by the data extracting apparatus  110  may be affected by reverberation or noise in an acoustic channel, and accordingly may be different from phase information of a pilot code sequence distorted by the data hiding apparatus  100 . 
     The data extracting apparatus  110  may need to map the phase information of each of the frames in the audio signal converted to the frequency domain to a value of an angle close to either 0 radians or π radians. For example, a phase value between −90 degrees and +90 degrees may be mapped to 0 radians, and the other phase values may be mapped to π radians. 
     The data extracting apparatus  110  may extract the data hidden in the audio signal by comparing the mapped phase information to the phase information of the pilot code sequence. To this end, the data extracting apparatus  110  may express the mapped phase information as a real number. For example, the data extracting apparatus  110  may express a phase value of 0 radians and a phase value of π radians in the mapped phase information as “1” and “−1,” respectively, which may be represented as shown in Equation 10 below.
 
 Ŷ   sub (0)=[1,−1,1,−1] T  
 
 Ŷ   sub (1)=[−1,−1,1,1] T  
 
 Ŷ   sub (2)=[−1,−1,1,1] T  
 
 Ŷ   sub (3)=[1,−1,1,−1] T   [Equation 10]
 
     To compare the phase information expressed as the real number to the phase information of the pilot code sequence, the data extracting apparatus  110  may also express the phase information of the pilot code sequence as a real number. For example, pilot code sequences may be expressed as c 0 [1,−1,1,−1] and [−1,−1,1,1] T . 
     The data extracting apparatus  110  may measure a correlation between the real number representing the mapped phase information and the real number representing the phase information of the pilot code sequence, and may extract the data hidden in the audio signal. To measure the correlation, various schemes may be used, and for example, a circular convolution may be used in accordance with embodiments as shown in Equation 11 below. 
     
       
         
           
             
               
                 
                   
                     c 
                     ⁡ 
                     
                       ( 
                       b 
                       ) 
                     
                   
                   = 
                   
                     
                       arg 
                       i 
                     
                     ⁢ 
                     
                       { 
                       
                         count 
                         ⁡ 
                         
                           ( 
                           
                             max 
                             ⁡ 
                             
                               ( 
                               
                                 
                                   
                                     
                                       Y 
                                       ^ 
                                     
                                     sub 
                                   
                                   ⁡ 
                                   
                                     ( 
                                     b 
                                     ) 
                                   
                                 
                                 ⊗ 
                                 
                                   c 
                                   i 
                                 
                               
                               ) 
                             
                           
                           ) 
                         
                       
                       } 
                     
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     11 
                   
                   ] 
                 
               
             
           
         
       
     
     The data extracting apparatus  110  may perform circular convolution between Ŷ sub (b) and c i  in which i has a value of “0” and “1,” as shown in Equation 11. As a result of the circular convolution, a plurality of identical maximum values may be generated, and may be acquired using a max operator. The data extracting apparatus  110  may measure a number of times the maximum values are acquired, using a count operator. A value of c i  having a maximum number of times maximum values are acquired for each sequence may be assigned to the data hidden in the audio signal. 
       FIG. 2  illustrates a configuration of the data hiding apparatus  100  of  FIG. 1 . 
     Referring to  FIG. 2 , the data hiding apparatus  100  may include a converter  210 , a distorted  220  and a transmitter  230 . The converter  210  may convert an audio signal to a frequency domain. The data hiding apparatus  100  may divide the audio signal into frames and may convert the frames, and the audio signal converted to the frequency domain may include magnitude information and phase information. To convert the audio signal to the frequency domain, an ASK scheme, an FSK scheme or a PSK scheme may be used. According to embodiments, the PSK scheme may be used to convert an audio signal to a frequency domain. 
     The distorter  220  may hide desired data in the audio signal converted to the frequency domain. For example, the distorter  220  may distort the phase information while maintaining the magnitude information and may hide the data in the audio signal converted to the frequency domain. In this example, the distorter  220  may hide the data in the audio signal based on a pilot code sequence so that the data may be more robust against acoustic channel distortion. 
     The pilot code sequence may be, for example, a set of phase values corresponding to a bit value “0” or a set of phase values corresponding to a bit value “1.” The distorter  220  may distort phase information of an audio signal based on the set of the phase values corresponding to the bit value “0” or the set of the phase values corresponding to the bit value “1,” and may hide desired data in the audio signal. 
     A pilot code sequence including the phase values corresponding to the bit value “0” and a pilot code sequence including the phase values corresponding to the bit value “1” may be orthogonal to each other. An inner product of the pilot code sequence including the phase values corresponding to the bit value “0” and the pilot code sequence including the phase values corresponding to the bit value “1” may need to be zero. In other words, values obtained by multiplying phase values for each frequency bin in the pilot code sequence representing the bit value “0” and the pilot code sequence representing the bit value “1” may need to be added up to zero. 
     The distorter  220  may distort the phase information of the audio signal based on phase values included in a pilot code sequence, to hide desired data in the audio signal. 
     The transmitter  230  may transmit the audio signal in which the data is hidden by distorting the phase information to an output device, for example, speakers. The transmitted audio signal may be output through an acoustic channel. 
       FIGS. 3A and 3B  are graphs provided to explain an example of converting an audio signal to a frequency domain according to an embodiment. 
     To convert the audio signal to the frequency domain, an ASK scheme, an FSK scheme or a PSK scheme may be used. According to embodiments, the PSK scheme may be used to convert an audio signal to a frequency domain. 
     An audio signal shown in the graph of  FIG. 3A  may be a mixture of signals having different frequencies. The audio signal may be, for example, a signal generated by combining sine waves having various amplitudes and periods. The audio signal of  FIG. 3A  may be converted to a frequency domain as shown in  FIG. 3B . In other words, the audio signal of  FIG. 3A  changing over time may be a sum of signals having various frequencies. 
     The data hiding apparatus  100  may distort a frequency of the audio signal based on phase information of a pilot code sequence as shown in  FIG. 3B , and may hide data. Accordingly, the hidden data may be more robust against acoustic channel distortion. 
       FIG. 4  illustrates an example of a pilot code sequence according to an embodiment. 
     The data hiding apparatus  100  may hide desired data in an audio signal based on a pilot code sequence. The pilot code sequence may be, for example, a set of phase values corresponding to a bit value “0” or a set of phase values corresponding to a bit value “1.” The data hiding apparatus  100  may distort phase information of the audio signal based on the set of the phase values corresponding to the bit value “0” or the set of the phase values corresponding to the bit value “1,” and may hide the desired data in the audio signal. 
     A pilot code sequence including the phase values corresponding to the bit value “0” and a pilot code sequence including the phase values corresponding to the bit value “1” may be orthogonal to each other. An inner product of the pilot code sequence including the phase values corresponding to the bit value “0” and the pilot code sequence including the phase values corresponding to the bit value “1” may need to be zero. In other words, values obtained by multiplying phase values for each frequency bin in the pilot code sequence representing the bit value “0” and the pilot code sequence representing the bit value “1” may need to be added up to zero. 
     For example, phase information of the pilot code sequence representing the bit value “0” may have a value of [∠π,∠0,∠π,∠0, . . . ] T , and phase information of the pilot code sequence representing the bit value “1” may have a value of [∠π,∠π,∠0,∠0, . . . ] T . In this example, an inner product of the pilot code sequences may be zero. 
       FIG. 5  illustrates a method of hiding data based on a pilot code sequence according to an embodiment. 
     Referring to  FIG. 5 , in operation  510 , the data hiding apparatus  100  may convert an input audio signal to a frequency domain. The data hiding apparatus  100  may divide the audio signal into frames and may convert the frames, and the audio signal converted to the frequency domain may include magnitude information and phase information. 
     To convert the audio signal to the frequency domain, an ASK scheme, an FSK scheme or a PSK scheme may be used. According to embodiments, the PSK scheme may be used to convert an audio signal to a frequency domain. 
     In operation  520 , the data hiding apparatus  100  may distort the phase information of the audio signal based on a pilot code sequence, to hide data. The pilot code sequence may be, for example, a set of phase values corresponding to a bit value “0” or a set of phase values corresponding to a bit value “1.” The data hiding apparatus  100  may distort the phase information of the audio signal based on the set of the phase values corresponding to the bit value “0” or the set of the phase values corresponding to the bit value “1,” and may hide desired data in the audio signal. 
     A pilot code sequence including the phase values corresponding to the bit value “0” and a pilot code sequence including the phase values corresponding to the bit value “1” may be orthogonal to each other. An inner product of the pilot code sequence including the phase values corresponding to the bit value “0” and the pilot code sequence including the phase values corresponding to the bit value “1” may need to be zero. In other words, values obtained by multiplying phase values for each frequency bin in the pilot code sequence representing the bit value “0” and the pilot code sequence representing the bit value “1” may need to be added up to zero. 
     In operation  530 , the data hiding apparatus  100  may transmit the audio signal with the distorted phase information. The transmitted audio signal may be output through an acoustic channel using an output device, for example, speakers. 
       FIG. 6  illustrates a configuration of the data extracting apparatus  110  of  FIG. 1 . 
     Referring to  FIG. 6 , the data extracting apparatus  110  may include a receiver  610 , a converter  620 , a determiner  630  and an extractor  640 . The receiver  610  may receive an audio signal with distorted phase information. A larger number of bit errors may occur in the received audio signal due to reverberation or noise, in comparison to the original audio signal. 
     The converter  620  may convert the received audio signal to a frequency domain. The data extracting apparatus  110  may divide the received audio signal into frames and may convert the frames, and the audio signal converted to the frequency domain may include magnitude information and phase information. 
     To convert the audio signal to the frequency domain, an ASK scheme, an FSK scheme or a PSK scheme may be used. According to embodiments, the PSK scheme may be used to convert an audio signal to a frequency domain. 
     The determiner  630  may map phase information of each of the frames in the received audio signal to a value of an angle close to either 0 radians or π radians. The phase information of the audio signal distorted by the data hiding apparatus  100  may be affected by reverberation or noise in an acoustic channel. Accordingly, the determiner  630  may need to determine the phase information of each of the frames in the received audio signal as 0 radians and π radians that are phase information of a pilot code sequence. For example, the determiner  630  may map a phase value between −90 degrees and +90 degrees to 0 radians, and may map the other phase values to π radians. 
     The extractor  640  may extract data hidden in the received audio signal. The extractor  640  may compare the mapped phase information to the phase information of the pilot code sequence, and may extract the data hidden in the received audio signal. To this end, the extractor  640  may express the mapped phase information and the phase information of the pilot code sequence as real numbers. For example, the extractor  640  may express a phase value of 0 radians and a phase value of π radians in the mapped phase information as “1” and “−1,” respectively. Similarly, the extractor  640  may express a phase value of 0 radians and a phase value of π radians in the phase information of the pilot code sequence as “1” and “−1,” respectively. 
     The extractor  640  may measure a correlation between the real number representing the mapped phase information and the real number representing the phase information of the pilot code sequence, and may extract the data hidden in the received audio signal. Various schemes may be used to measure the correlation, and for example, a circular convolution may be used to measure the correlation in accordance with embodiments. Because a similarity is measured by performing the circular convolution during measuring of the correlation, a repetitive sequence may have a plurality of maximum values. A number of times the maximum values are acquired may be measured, and an index value of a pilot code sequence having a maximum number of times the maximum values are acquired for each sequence may be assigned to the data hidden in the audio signal. 
       FIG. 7  illustrates a method of extracting data based on a pilot code sequence according to an embodiment. 
     Referring to  FIG. 7 , in operation  710 , the data extracting apparatus  110  may receive an audio signal with distorted phase information. A larger number of bit errors may occur in the received audio signal due to reverberation or noise, in comparison to the original audio signal. 
     In operation  720 , the data extracting apparatus  110  may convert the received audio signal to a frequency domain. The data extracting apparatus  110  may divide the received audio signal into frames and may convert the frames, and the audio signal converted to the frequency domain may include magnitude information and phase information. 
     To convert the audio signal to the frequency domain, an ASK scheme, an FSK scheme or a PSK scheme may be used. According to embodiments, the PSK scheme may be used to convert an audio signal to a frequency domain. 
     In operation  730 , the data extracting apparatus  110  may map phase information of each of the frames in the received audio signal to a value of an angle close to either 0 radians or π radians. The phase information of the audio signal distorted by the data hiding apparatus  100  may be affected by reverberation or noise in an acoustic channel. Accordingly, the data extracting apparatus  110  may need to determine the phase information of each of the frames in the received audio signal as 0 radians and π radians that are phase information of a pilot code sequence. For example, the data extracting apparatus  110  may map a phase value between −90 degrees and +90 degrees to 0 radians, and may map the other phase values to π radians. 
     In operation  740 , the data extracting apparatus  110  may extract data hidden in the received audio signal. The data extracting apparatus  110  may compare the mapped phase information to the phase information of the pilot code sequence, and may extract the data hidden in the received audio signal. To this end, the data extracting apparatus  110  may express the mapped phase information and the phase information of the pilot code sequence as real numbers. For example, the data extracting apparatus  110  may express a phase value of 0 radians and a phase value of π radians in the mapped phase information as “1” and “−1,” respectively. Similarly, the data extracting apparatus  110  may express a phase value of 0 radians and a phase value of π radians in the phase information of the pilot code sequence as “1” and “−1,” respectively. 
     The data extracting apparatus  110  may measure a correlation between the real number representing the mapped phase information and the real number representing the phase information of the pilot code sequence, and may extract the data hidden in the received audio signal. Various schemes may be used to measure the correlation, and for example, a circular convolution may be used to measure the correlation in accordance with embodiments. Because a similarity is measured by performing the circular convolution during measuring of the correlation, a repetitive sequence may have a plurality of maximum values. A number of times the maximum values are acquired may be measured, and an index value of a pilot code sequence having a maximum number of times the maximum values are acquired for each sequence may be assigned to the data hidden in the audio signal. 
     The units described herein may be implemented using hardware components, software components, or a combination thereof. For example, the hardware components may include microphones, amplifiers, band-pass filters, audio to digital convertors, and processing devices. A processing device may be implemented using one or more general-purpose or special purpose computers, such as, for example, a processor, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such a parallel processors. 
     The software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct or configure the processing device to operate as desired. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. The software and data may be stored by one or more non-transitory computer readable recording mediums. 
     The method according to the above-described embodiments may be recorded in non-transitory computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments, or vice versa. 
     Although a few embodiments have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.