Abstract:
An adaptive differential pulse-code modulation-demodulation system and method thereof is provided. The method includes steps of modulating an analog audio input signal into a data packet, including a plurality of digital data through adaptive differential pulse-code modulation, an initial value and a scale factor associated with the digital data, to be sent to the communication network, and demodulating the data packet according to the digital data, the initial value and the scale factor, thereby reconstructing the data packet to an analog audio output signal.

Description:
CROSS REFERENCE TO RELATED PATENT APPLICATION 
       [0001]    This patent application is based on Taiwan, R.O.C. patent application No. 098102292 filed on Jan. 21, 2009. 
       TECHNICAL FIELD 
       [0002]    The present disclosure relates to an adaptive differential pulse-code modulation-demodulation system and method thereof, and more particularly, to an adaptive differential pulse-code modulation-demodulation system applied to a communication network and method thereof. 
       BACKGROUND OF THE DISCLOSURE 
       [0003]    Generally, two parameters are mentioned when pulse-code modulation (PCM) is used for generating a digital audio data. The first parameter is the sample rate. As the sample rate gets higher, audio quality becomes better. Good audio quality is achieved when the sample rate is 8000 Hz. However, a sample rate of at least 44100 Hz is needed to generate CD-like audio quality. The second parameter is the sample size, which is a number of a unit of bits for representing an audio data. Data stored in the PCM represents amplitude of the audio waveform. When the sample size is 8 bits, the difference between the minimum and maximum values of the amplitude is 255. When the sample size is two bytes of 16 bits, the difference between the minimum and maximum values of the amplitude is 65535, which certainly yields a much better audio quality. However, when more bits are used for representing the data of the audio, the system not only requires more memory, but also needs a better digital signal processor (DSP). Furthermore, when the audio digital data is transmitted via a network, a rather wide bandwidth is occupied and serious overload of the network resource is incurred. 
         [0004]    Therefore, a concept of differential pulse-code modulation (DPCM) is introduced. The DPCM records a difference between a current value and a previous value. Compared with the single pulse-code modulation, a data volume generated by using the DPCM method is averagely reduced to 25% of an original data volume. Adaptive differential pulse-code modulation (ADPCM) is a variant of the DPCM. The ADPCM can further reduce the data volume, thereby increasing transmission efficiency. The technology is described in detail in the ITU-T G.726 standard, which shall not be described for brevity. However, in the ITU-T G.726 standard, an audio data having been compressed can only be successfully decompressed and reconstructed by implementing highly sophisticated hardware design to a receiving end applying the ADPCM. Thus, cost of the hardware is rather high to result in a loss of competitiveness. Therefore, one object of the present disclosure is to develop a new technology to solve the foregoing problem effectively. 
       SUMMARY OF THE DISCLOSURE 
       [0005]    An adaptive differential pulse-code modulation-demodulation system is provided according to the present disclosure. The adaptive differential pulse-code modulation-demodulation system comprises a modulation module and a decoding modulation module. The modulation module, coupled to a communication network, receives and converts a raw analog audio input signal into a data packet to be transmitted to the communication network. The data packet comprises a plurality of ADPCM digital data, and an initial value and a scale factor associated with the digital data. The demodulation module, coupled to the communication network, receives and processes the data packet according to the digital data, the initial value and the scale factor, thereby reconstructing an analog audio output signal. 
         [0006]    According to the adaptive differential pulse-code modulation-demodulation system described above, the modulation module comprises a quantizer, a differential calculation unit, a scale factor generator, a modulator, a packet generator, and a transmitter. The quantizer samples the raw analog input signal with a fixed sample frequency and encodes the sampled signal into a plurality of uncompressed digital sampled values. The differential calculation unit, coupled to the quantizer, respectively subtracts an initial value from the digital sampled values to generate a plurality of digital differences. The scale factor generator, coupled to the differential calculation unit, estimates a scale factor associated with the data packed according to a difference between the initial value and a greatest digital sampled value from the digital sampled values within a predetermined period. The modulator, coupled to the differential calculation unit, modulates the digital differences into the ADPCM digital data. The packet generator, coupled to the modulator and the scale factor generator, packs the ADPCM digital data within the predetermined period, the initial value and the scale factor into the data packet. The transmitter, coupled to the packed generator, transmits the data packet to the communication network. 
         [0007]    According to the adaptive differential pulse-code modulation-demodulation system described above, the demodulation module comprises a receiver, a packet parser, a demodulator, a scale factor adjuster, a differential calculation unit, and a de-quantizer. The receiver receives the data packet. The packet parser, coupled to the receiver, parses the ADPCM digital data, the initial value and the scale factor of the data packet. The demodulator, coupled to the packet parser, demodulates the ADPCM digital data parsed the packet parser. The scale factor adjuster, coupled to the packet parser, retrieves the initial value and the scale factor. The differential calculation unit, coupled to the demodulator and the scale factor adjuster, generate a plurality of demodulated digital sampled values according to the ADPCM digital data, the initial value and the scale factor. The de-quantizer, coupled to the differential calculation unit, de-quantizes the digital sampled values to reconstruct the analog audio output signal. 
         [0008]    The communication network of the adaptive differential pulse-code modulation-demodulation system according to the present disclosure may be the Internet, a local area network (LAN) or a mobile phone network. 
         [0009]    According to another aspect of the present disclosure, an adaptive differential pulse-code modulation-demodulation method is provided. The method comprises steps of modulating a raw analog audio input signal into a data packet comprising a plurality of ADPCM digital data, an initial value and a scale factor; transmitting the data packet to a communication network; and receiving the data packet via the communication network and reconstructing a raw analog audio output signal according to the ADPCM digital data, the initial value and the scale factor of the data packet. 
         [0010]    According to the adaptive differential pulse-code modulation-demodulation method described above, the step of receiving the raw analog audio input signal comprises sampling the raw analog audio input signal with a fixed sampling frequency and encoding the sampled signal into a plurality of uncompressed digital sampled values, respectively subtracting an initial value from the digital sampled values to generate a plurality of digital differences, estimating a scale factor associated with the data packet according to a difference between the initial value and a greatest sampled value from the digital sampled values within a predetermined period, adjusting the digital differences to the ADPCM digital data, and packing the ADPCM digital data within the predetermined period, the initial value and the scale factor into the data packet. 
         [0011]    According to the adaptive differential pulse-code modulation-demodulation method described above, the step of reconstructing the analog audio output comprises parsing the ADPCM digital data, the initial value and the scale factor of the data packet, retrieving the ADPCM digital data parsed by the packet parser, retrieving the initial value and the scale factor parsed by the packet parser, generating a plurality of uncompressed digital sampled values according to the ADPCM digital data, the initial value and the scale factor, and de-quantizing the digital sampled values to reconstruct the analog audio output signal. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    Following description and figures are disclosed to gain a better understanding of the advantages of the present disclosure. 
           [0013]      FIG. 1(   a ) is a schematic diagram of a sampling calculation developed from an ADPCM method in accordance with the present disclosure. 
           [0014]      FIG. 1(   b ) is a flow chart of an adaptive differential pulse-code modulation-demodulation method in accordance with the present disclosure. 
           [0015]      FIG. 2  is a functional block diagram of an adaptive differential pulse-code modulation-demodulation system in accordance with the present disclosure. 
           [0016]      FIG. 3  is a schematic diagram of a format of a data packet in accordance with a preferred embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0017]      FIG. 1(   a ) is a schematic diagram of a sampling calculation developed from an ADPCM method in accordance with the present disclosure. Referring to  FIG. 1(   a ), p(n) represents an uncompressed digital sampled value by sampling an audio signal waveform S with a fixed sampling frequency, and x(n) represents a digital sampled value processed by differential calculation and data compression, where x(0)=p 0 , x(1)=(p 1 −p 0 )/sf, x(2)=(p 2 −p 1 )/sf, and so on; wherein, p 0  is called a base PCM value, and sf is called a scale factor. 
         [0018]    In order to reduce hardware cost of a data receiving end, an adaptive differential pulse-code modulation-demodulation method is provided according to one embodiment of the present disclosure. In Step S 11 , a raw analog audio input signal is received and converted into a data packet, which comprises a plurality of ADPCM digital data, and a field for storing an initial value and a scale factor associated with the plurality of ADPCM digital data. In Step S 12 , the data packet is transmitted to a communication network. In Step S 13 , the data packet is received via the communication network, and an analog audio output signal is reconstructed according to the ADPCM digital data, the initial value and the scale factor of the data packet. 
         [0019]      FIG. 2  is a functional block diagram of an adaptive differential pulse-code modulation-demodulation system comprising two main portions. The first portion is a modulation module  91  and the second portion is a demodulation module  92 . The modulation module  91 , connected to a communication network  2 , receives and converts a raw analog audio input signal S into a plurality of data packets to be transmitted to the communication network  2 . One of the data packets comprises a plurality of ADPCM digital data, and an initial value and a scale factor associated with the ADPCM digital data. The demodulation module  92 , connected to the communication network  2 , receives the data packets transmitted via the communication network  2  and further reconstructs the received data packets into an analog audio output signal S′ according to the ADPCM digital data, the initial value and the scale factor of the data packets. 
         [0020]    The modulation module  91  comprises a scale factor generator  20 , a quantizer  21 , a differential calculation unit  22 , a modulator  23 , a packet generator  24  and a transmitter  25 . After receiving the raw analog audio input signal S, the quantizer  21  quantizes the raw analog audio input signal by sampling the raw analog audio input signal with a fixed sampling frequency to produce a plurality of uncompressed digital sampled values, e.g., the digital sampled values p(n) in  FIG. 1(   a ). The differential calculation unit  22  respectively subtracts an initial value from the digital sampled values to correspondingly generate a plurality of digital differences, e.g., the initial value is p( 0 ) in  FIG. 1(   a ). The scale factor generator  20 , coupled to the differential calculation unit  22 , estimates a scale factor corresponding to the data packet according to a difference between the initial value and a greatest digital sampled value from the uncompressed digital sampled values within a predetermined period. The modulator  23 , coupled to the differential calculation unit  22 , modulates the plurality of digital differences into the ADPCM digital data to be transmitted to the packet generator  24 . The packet generator  24 , coupled to the modulator  23  and the scale factor generator  20 , packs the ADPCM digital data within the predetermined period or of a predetermined samples, the initial value and the scale factor into the data packets to be transmitted to the communication network  2  via the transmitter  25 . 
         [0021]    As mentioned above, the scale factor generator  20  is designed to reduce the hardware cost of a remote end of the communication network  2 . Preferably, a scale factor corresponding to a data packet is estimated according to a digital difference between the initial value and a greatest digital sampled value from the digital sampled values within the predetermined period. For example, when the ADPCM digital data is represented by 4 bits but the difference between the initial value and the greatest digital sampled value of the packet needs to be represented by 6 bits, the scale factor is then defined as 4 to reduce the length of the digital data within the data packet to 4 bits. Since the scale factor is needed during demodulation at a remote end of the communication network  2 , the scale factor of each of the data packets is identified by the scale factor generator  20  and placed along with the initial value in the data packet to be transmitted. 
         [0022]    Referring to  FIG. 3  showing a format of a data packet in accordance with a preferred embodiment of the present disclosure. Take the Real-time Transport Protocol (RTP) as an example, i.e., the format of the data packet follows rules of the RTP. The RTP is a transmission protocol, which provides a point-to-point transmission service for supporting data transmission of a unicast and multicast network service, such as audio on demand, video on demand, Internet telephone, and video conferencing services. Note that the RTP packet specifications do not define standards with respect to compression formats of audio and video files. Therefore, the RTP is used for transmitting common formats of audio and video files as well as audio and video files stored in special formats. Audio and video files generated by multimedia application programs are packed in RTP packets, each of which is then packed in a User Datagram Protocol (UDP) message segment to be packed in an IP packet. A predetermined bit in a header of the RTP packet is defined to represent whether an extension field is appended to the header of the RTP packet. In this embodiment, the predetermined bit of “1” is defined in the header of the RTP packet to represent that the header of the RTP packet has the extension field. Take an extension field of 32 bits as an example. The first 16 bits record an initial value of the packet, and the remaining 16 bits record a scale factor. Therefore, in addition to a fixed number of digital data, a packet generated by a packet generator  24  according to the present disclosure further records the initial value and the scale factor corresponding to digital data. 
         [0023]    Referring to  FIG. 2 , after the RTP packet comprising the fixed number of digital data and the initial value and the scale factor corresponding to the plurality of digital data is received by a receiver  26  of the demodulation module  92  at the remote end, the RTP packet is transmitted to a packet parser  27  to parse the ADPCM digital data, the initial value and the scale factor of the data packet. In this embodiment, the predetermined bit of the header of the RTP packet is parsed to be “1”. Therefore, the packet parser  27  parses and transmits the ADPCM digital data (e.g., x(n) illustrated in  FIG. 1(   a )) of the packet, and further reads content of the extension field illustrated in  FIG. 3 , in response to the predetermined bit “ 1 ” of the header, so as to retrieve the initial value and the scale factor. A scale factor adjuster  29  retrieves the initial value and the scale factor parsed by the packet parser  27 , and a demodulator  28  retrieves the ADPCM digital data parsed by the packet parser  27 . A differential calculation unit  30 , coupled to the scale factor adjuster  29  and the demodulator  28 , then demodulates the ADPCM digital data according to the initial value and the scale factor to obtain a plurality of decompressed digital sampled values (e.g., p(n) illustrated in  FIG. 1(   a )). The digital sampled values are de-quantized by a de-quantizer  31  to reconstruct a raw analog audio output signal S′ similar to the raw analog audio input signal S. 
         [0024]    As mentioned in the foregoing description, an initial value and a scale factor of a packet according to the present disclosure are transmitted to a receiving end while complying with RTP protocol to effectively overcome disadvantages of the prior art. Therefore, a main object of simplifying hardware complexity of the decoding end and improving network transmission quantity and audio quality is achieved. 
         [0025]    To sum up, hardware complexity and cost of an ADPCM communication system are effectively reduced according to the present disclosure. The ADPCM communication system can be widely used for real-time audio transmission over TCP/IP networks, Voice over Internet Protocol (VoIP) on the Internet, LAN, or mobile phone networks. Further, the RTP can be replaced by other network packet communication protocols. 
         [0026]    While the disclosure has been described in terms of what is presently considered to be the most practical and preferred embodiments, it is to be understood that the disclosure needs not to be limited to the above embodiments. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims which are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures.