WO2010041680A1 - 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 - Google Patents

符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 Download PDF

Info

Publication number
WO2010041680A1
WO2010041680A1 PCT/JP2009/067482 JP2009067482W WO2010041680A1 WO 2010041680 A1 WO2010041680 A1 WO 2010041680A1 JP 2009067482 W JP2009067482 W JP 2009067482W WO 2010041680 A1 WO2010041680 A1 WO 2010041680A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
code
codewords
encoding method
decoding
Prior art date
Application number
PCT/JP2009/067482
Other languages
English (en)
French (fr)
Inventor
登 原田
優 鎌本
守谷 健弘
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2010532937A priority Critical patent/JP5236005B2/ja
Priority to CN2009801386158A priority patent/CN102171752B/zh
Priority to US13/061,971 priority patent/US8576927B2/en
Publication of WO2010041680A1 publication Critical patent/WO2010041680A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/50Conversion to or from non-linear codes, e.g. companding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error

Definitions

  • the present invention relates to a signal encoding technique, and more particularly to a lossless encoding technique for an encoded signal.
  • ITU-T International Telecommunication Union-Telecommunication Standardization Sector
  • G. is an international standard for encoding voice-frequency signals. 711 exists (Non-Patent Document 1). ITU-T G. 711 adopts nonlinear PCM (Non-uniform Pulse Code Modulation) as an encoding method, and defines two types of ⁇ -law and A-law as nonlinear quantization methods. Yes.
  • the “voice frequency signal” is referred to as a voice signal.
  • Non-Patent Document 2 there is MPEG-4 established by ISO / IEC JTC 1 / SC 29 / WG 11 as an international standard for video (Visual) and audio (Audio) coding, and the third part is acoustic lossless coding technology, etc. (Non-Patent Document 2).
  • PCM Pulse Code Modulation
  • ITU-T GG unless otherwise specified. 701 (reference document 1). However, this is not intended to limit the scope of the present invention to the technical field to which the ITU-T G series recommendation applies.
  • a technical field related to Non-Patent Document 2 the term used in this specification is changed to a corresponding term in this technical field (if any). You can replace it.
  • ITU-T Recommendation G.701 "Vocabulary of Digital Transmission and Multiplexing, and Pulse Code Modulation (PCM) Terms," ITU-T, 1993.
  • VoIP Voice over Internet Protocol system
  • the transmission capacity required for voice transmission increases.
  • the ITU-T G.G. In the case of complying with H.711, a transmission capacity of 64 kbit / s ⁇ 2 is required per line, and as the number of lines increases, the transmission capacity necessary for voice transmission increases in proportion to the number of lines. Therefore, considering the reduction of transmission capacity while maintaining high sound quality as much as possible, a compression coding technique for further lossless coding of a signal coded by nonlinear PCM is required.
  • the audio signal may include a silent period.
  • silent sections often appear. Even in the non-voice section, background noise and the like exist.
  • the signal amplitude in the non-speech section is not necessarily only the signal amplitude 0 (zero), but is often the signal amplitude in the range corresponding to the quantized value closest to the signal amplitude 0.
  • a range corresponding to the quantized value is called a quantization interval (quantizationquantintervals). That is, a range that is quantized to each quantized value is called a quantization interval corresponding to the quantized value.
  • the “quantization interval closest to the quantization value of the signal amplitude 0 among the quantization intervals” is referred to as a minimum quantization interval.
  • the minimum quantization interval means “the quantization interval corresponding to the quantization value closest to the signal amplitude 0 (zero) among the quantization intervals”.
  • G. which is the nonlinear PCM.
  • an 8-bit codeword is assigned to each quantization interval (for example, “TABLE 2a / G.711 ( ⁇ -law, positive input values)”, “ TABLE 2b / G.711 ( ⁇ -law, negative input values), “TABLE 2a / G.711 (A-law, positive input values)”, “TABLE 2b / G.711 (A-law, negative input values) "Corresponding to each 6 columns of”.)
  • the signal amplitude 0 zero
  • the boundary value a boundary value in consideration of the sign representing the sign of the signal amplitude.
  • the two minimum quantization intervals are adjacent quantization intervals with different polarity bits.
  • the quantized values corresponding to the two are both signal amplitude 0 (zero), and different codewords (character signal; code word) are defined for each of these two minimum quantization intervals. More specifically, a unique codeword is defined for each of these two minimum quantization intervals, and an 8-bit codeword 11111111 is assigned to the positive minimum quantization interval.
  • An 8-bit codeword 01111111 is assigned to the quantization interval (for example, “TABLE 2a / G.711 ( ⁇ -law, positive input values)”, “TABLE 2b / G.711 ( ⁇ -law, negative input values) ”))
  • the 8-bit codeword 11111111 is written as +0
  • the 8-bit codeword 01111111 is written as ⁇ 0.
  • An 8-bit codeword 10000000 is assigned to the minimum quantization interval, and an 8-bit codeword 00000000 is assigned to the negative minimum quantization interval (for example, “TABLE 2a / G.711 (A ⁇ law, positive input values ") and" TABLE 2b / G.711 (A-law, negative input values) ")
  • the 8-bit codeword 10000000 is represented as +1
  • the 8-bit codeword 00000000 is represented as -1.
  • codewords 11010101 and 01010101 obtained by inverting even-numbered bits of codewords 10000000 and 00000000 described in Non-Patent Document 1 may be assigned (for example, “Non-Patent Document 1” TABLE 2a / G.711 (A-law, positive input values) "," TABLE 2b / G.711 (A-law, negative input values) "" See Note 2 ").
  • the 8-bit code word 11010101 is represented as +8, and the 8-bit code word 01010101 is represented as -8.
  • the quantized values corresponding to these code words are +1 and ⁇ 1 in 13-bit signed integer representation.
  • the lower 3 bits of the input PCM signal in a 16-bit signed integer representation are used.
  • the A-rule encoding process is performed. In other words in decimal notation, a signal obtained by dividing the input PCM signal by 8 is set as an A-law encoding processing target. For this reason, the quantization values +1 and ⁇ 1 of the A rule correspond to +8 and ⁇ 8 of the input PCM signal in 16-bit signed integer representation.
  • Non-Patent Document 2 As a compression encoding method for an encoded signal in a non-voice section, for example, a method of reducing the code amount using the method shown in Non-Patent Document 2 can be considered. In other words, when one type of codeword or one type of value is assigned to all samples included in one frame having a plurality of samples, the frame is expressed using a predetermined code. Reduce the amount of code.
  • Non-Patent Document 2 In general PCM encoded signals, compression performance can be improved by specially processing signal amplitude values that statistically increase the probability of occurrence in special cases such as when there is no speech. is there.
  • a code word of +0, ⁇ 0, or +8, ⁇ 8 is assigned to the minimum quantization interval.
  • the words are two types of +0 and ⁇ 0 or two types of +8 and ⁇ 8, and a sufficient compression effect cannot be obtained only by the method disclosed in Non-Patent Document 2.
  • the present invention provides a technique related to lossless encoding of a signal encoded by an encoding method in which two minimum quantization intervals exist and different codewords are given to each. With the goal.
  • a codeword encoded by an encoding method in which two minimum quantization intervals exist and two different types of codewords are provided for each is input, and a plurality of codewords are input. It is determined whether or not only two types of codewords given in the two minimum quantization intervals are included in the configured frame, and lossless encoding is performed on a frame including only two types of codewords. At least for such a frame, the input codeword can be reversibly compressed.
  • the code obtained by this lossless coding is decoded by a decoding method corresponding to the lossless coding.
  • a table showing the relationship between the total number of consecutive times v, the Golomb parameter m, and the degenerate Golomb parameter m ′ when the number of samples in one frame is 160.
  • 5 is a table showing each value of the total number v of consecutive times and the degenerate Golomb parameters m ′ and c represented by each code of 4 bits on the assumption of the relationship shown in FIG. 4.
  • the figure which shows the processing flow of the modification of the encoding process which concerns on embodiment The block diagram which showed the modification of the function structural example of the encoding apparatus which concerns on embodiment.
  • the figure which shows the processing flow of the encoding process by the encoding apparatus which has a function structure shown in FIG. The block diagram which shows the function structural example of the decoding apparatus which concerns on embodiment.
  • the figure which shows the processing flow of the decoding process which concerns on embodiment The block diagram which showed an example of the function structure of the 2nd decoding part in the function structure example of the decoding apparatus which concerns on embodiment.
  • the figure which shows the processing flow of the modification of the decoding process which concerns on embodiment The block diagram which shows the modification of the function structural example of the decoding apparatus which concerns on embodiment.
  • FIG. 1 is a configuration block diagram illustrating a hardware configuration of the encoding device 1.
  • the encoding device 1 includes an input unit 11 to which a keyboard or the like can be connected, an output unit 12 to which a liquid crystal display or the like can be connected, a communication device (for example, a communication cable) that can communicate with the outside of the encoding device 1. ) To which the communication unit 13 can be connected, and a CPU 14 (Central Processing Unit) [may include a cache memory or a register.
  • a CPU 14 Central Processing Unit
  • RAM 15 and ROM 16 that are memories, external storage device 17 that is a hard disk, and these input unit 11, output unit 12, communication unit 13, CPU 14, RAM 15, ROM 16, and external storage device 17 so that data can be exchanged.
  • the encoding device 1 may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.
  • a physical entity having such hardware resources includes a general-purpose computer.
  • the external storage device of the encoding device 1 stores a program for encoding and data necessary for processing of the program (not limited to the external storage device, for example, the program is read by a read-only storage device). It may be stored in a certain ROM.) Further, data (for example, compression-encoded signals) obtained by the processing of these programs are appropriately stored in a RAM or an external storage device.
  • storage devices that store programs, data, addresses of storage areas, and the like are simply referred to as storage units.
  • the signal handled in each embodiment is a signal obtained by encoding an audio signal according to some encoding method.
  • this encoding method is an encoding method in which two minimum quantization intervals exist, and different codewords (character signal; code word) are given to each.
  • Non-linear PCM is an example.
  • ITU-T G Since 711 adopts nonlinear PCM as an encoding method, “encoded signal” means a signal encoded by nonlinear PCM.
  • the nonlinear quantization method may be ⁇ -law or A-law.
  • the encoding method is assumed to be nonlinear PCM, and the nonlinear quantization method is assumed to be ⁇ -law.
  • a program for determining whether or not there are only two types of codewords included in a frame, and first, run-length encoding is performed on a frame including only two types of codewords.
  • a first lossless coding program for performing integer coding on a sequence of consecutive numbers of codewords obtained by this run-length coding, and a second coding for coding different from the first coding A program for lossless encoding is stored.
  • each program stored in the storage unit and data necessary for processing each program are read into the RAM as necessary, and are interpreted and executed by the CPU. As a result, the CPU realizes a predetermined function (determination unit, first encoding unit, second encoding unit), thereby realizing desired encoding.
  • Step Sc0 The buffer unit 30 of the encoding device 1 buffers a signal encoded by nonlinear PCM and outputs a signal encoded by nonlinear PCM in units of frames. That is, the buffer unit 30 outputs a frame made up of a plurality of codewords encoded by nonlinear PCM.
  • Step Sc1 The determination unit 100 of the encoding device 1 determines whether or not there are only two types of codewords +0 and ⁇ 0 for each frame of a signal encoded by nonlinear PCM.
  • the determination unit 100 determines whether or not only two types of codewords of +0 and ⁇ 0 are included in a frame composed of a plurality of codewords encoded by nonlinear PCM. In other words, the determination unit 100 determines whether or not all codewords constituting the frame are the same and each codeword is +0 or ⁇ 0.
  • the determination unit 100 When there are only two types of codewords +0 and ⁇ 0 included in the frame, the determination unit 100 performs control to send the frame to the first encoding unit 110. In other cases, the determination unit 100 transmits the frame to the second code. Control to send to the conversion unit 120 is performed. Note that the determination unit 100 outputs an encoding specific code representing the type of encoding. That is, when the determination unit 100 performs control to be sent to the first encoding unit 110, the determination unit 100 outputs a code indicating that the first encoding is selected and performs control to send to the second encoding unit 120. If it is, a code indicating that the second encoding is selected is output.
  • the first encoding unit 110 of the encoding device 1 performs the following lossless encoding on a frame of a signal encoded by nonlinear PCM, and outputs a code obtained by the lossless encoding. Note that this frame includes only two types of codewords, +0 and ⁇ 0.
  • the first encoding unit 110 first performs run length encoding (Run Length Encoding) on the codeword included in the frame.
  • Run-length coding is a method of lossless coding.
  • the code word “+0” can be adopted as a reference for encoding.
  • the sequence of codewords in the frame is +0, +0, +0, +0, +0, ⁇ 0, the number of consecutive times is 5.
  • the code word “ ⁇ 0” can be adopted as a reference for encoding. In this case, if the sequence of codewords in the frame is ⁇ 0, ⁇ 0, ⁇ 0, +0, the number of consecutive times is 4.
  • the present invention is not limited to this operation, and preferably, the first encoding unit 110 selectively adopts one of the above criteria for each frame based on the ratio of codewords included in the frame.
  • Run-length encoding is performed by applying the reference to the frame.
  • a codeword having a large number of appearances in a frame is adopted as a reference among two kinds of codewords. That is, when the two types of codewords are “first codeword” and “second codeword”, the “encoding” in the case where the total number of first codewords included in the frame is larger than the total number of second codewords.
  • the “standard of” is the first code word, and the “standard of code word” when the total number of second code words is larger than the total number of first code words is the second code word.
  • the first encoding unit 110 detects the number of consecutive codewords (consecutive number) in order from the beginning of the frame using the run-length coding standard, and obtains a sequence of the continuous number of times. At this time, if the codeword at the head of the frame is a codeword that has not been adopted as a reference, the first encoding unit 110 performs processing with the number of consecutive times being zero until the reference codeword appears. For example, when the code word “+0” is used as a reference and the sequence of code words at the start of the frame is ⁇ 0, ⁇ 0, ⁇ 0, ⁇ 0, +0, +0, ⁇ 0,. Is a series of 0, 0, 0, 2,.
  • the first encoding unit 110 processes the last codeword included in the frame, assuming that the next codeword is a codeword that has not been adopted as a reference. For example, when the code word “+0” is used as a reference and the sequence of code words at the end of the frame is ⁇ 0, +0, +0, the code word next to the last code word “+0” is “ ⁇ Considering it to be 0 ", the number of consecutive times is 2. In addition, when code words that are not adopted as a reference in a frame continue, the number of consecutive code words that are the reference is set to zero.
  • the number of consecutive codewords that are a reference is set to 1. For example, when the code word “+0” is adopted as a reference and the code word sequence is..., ⁇ 0, +0, ⁇ 0, ⁇ 0, ⁇ 0,. .., 1, 0, 0,...
  • the first encoding unit 110 performs integer encoding on a sequence of the number of consecutive codewords obtained by run-length encoding.
  • integer coding examples include Unary coding, Golomb coding, and Rice coding. This integer coding is preferably lossless coding.
  • Rice encoding or Golomb encoding which is variable-length encoding, will be described.
  • the sequence of codewords included in a certain frame is +0, -0, +0, +0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0
  • Non-Patent Document 2 1: 10 0110 0110 110 0110 01111110 01110 (30bit)
  • S 2: 010 0010 0010 110 0010 001110 1010 (28bit)
  • S 3: 0010 1000 1000 0110 1000 10010 1100 (29bit)
  • a series of Rice codes may be obtained according to the Rice encoding disclosed in Non-Patent Document 2, for example.
  • the code amount of the sequence of codewords (Rice code) obtained according to the Rice parameter S is different, the code amount is the smallest as the Rice code of the continuous number of sequences obtained by run-length encoding.
  • a sequence of codewords may be selected. This sequence of codewords is a code output from the first encoding unit 110.
  • the first encoding unit 110 may employ an encoding method in which two types of non-linear PCM codewords are distinguished and expressed by 1 bit.
  • the code word “+0” is represented by binary 0
  • the code word “ ⁇ 0” is represented by binary 1
  • a code word of a certain frame encoded by the nonlinear PCM as exemplified above. Will be 0100001000010001000010000000000001000000.
  • the code amount of this code word sequence is 40 bits (5 bytes).
  • the code amount of the code output from the first encoding unit 110 is at most about 40 bits regardless of the encoding method, compared with the code amount of 320 bits of the codeword obtained by nonlinear PCM. It is fully compressed.
  • the sequence of codewords (Rice code) obtained by Rice encoding a sequence of consecutive times is not uniquely determined. Therefore, at the time of decoding, the specific encoding method used at the time of encoding must be known. For this reason, a method of determining a specific encoding method in advance or transmitting a code for specifying the encoding method used by the encoder (encoding device 1) to a decoder (decoding device 2 described later) is considered. It is done. Therefore, the code amount of this code will also be described.
  • the code amount of the code for expressing the Rice parameter S is 3 bits. Furthermore, it is sufficient that the code amount of the code for expressing which is the standard of run-length encoding is 1 bit. Further, even when binary coding that distinguishes and expresses two types of codewords of nonlinear PCM by 1 bit is permitted, it is sufficient that the code amount of the code representing the coding method is 2 bits as follows. Note that these codes are output together with the Rice code by the first encoding unit 110.
  • Examples of codes representing encoding methods (1) 0: Binary encoding that expresses two types of codewords of non-linear PCM by distinguishing them by 1 bit (2) 10: Run-length code based on codeword “+0” (3) 11: Run-length coding based on the codeword “ ⁇ 0” After all, the Rice coding for the sequence of the number of consecutive times obtained by the run-length coding results in the code amount of the Rice code and the Rice parameter S
  • the amount of code for expressing the code the amount of code for expressing that it is a coding that distinguishes and expresses two types of codewords of run length coding and nonlinear PCM by 1 bit, and May require a code amount that is the sum of the code amount for specifying the specific specifications of Rice encoding, but even in such a case, in the above example, at most several tens of bits Just enough, non-linear It will have been sufficiently compressed as compared with the code amount 320bit code words obtained by the CM.
  • the total number of consecutive times is v
  • the number of samples included in the frame is n
  • the Golomb parameters m and c are obtained according to the equations (1) and (2).
  • the symbols ⁇ and ⁇ represent the ceiling function. Further, v ⁇ n always holds.
  • a sequence of codewords (Golomb code) obtained by Golomb encoding with respect to a sequence of continuous times obtained by run-length encoding is obtained by sequentially expressing the values of continuous times appearing in the sequence of continuous times by Golomb codes.
  • This sequence of codewords is a code output from the first encoding unit 110.
  • the first encoding unit 110 also outputs a code for performing, and further a code for specifying a specific specification of Golomb encoding.
  • FIG. 4 shows the relationship among the total number of consecutive times v, the Golomb parameter m, and the degenerate Golomb parameter m ′ when the number of samples (frame length) in one frame is 160.
  • m represents the value of the Golomb parameter corresponding to the sum v of all consecutive times that may appear in the range of the number of samples in one frame (in this example, 1 ⁇ v ⁇ 159).
  • the degenerated Golomb parameter m ′ is compressed so that the code amount of the value of the degenerated Golomb parameter m ′ selected in the frame falls within a predetermined code amount at the time of transmission, constraining the Golomb parameter to 16 ways, for example. Value.
  • the original Golomb parameter m obtained by Expression (1) Is a compressed Golomb parameter m ′.
  • FIG. 4 illustrates non-linear compression in which the compression rate increases as the original Golomb parameter m increases. Specifically, it corresponds to each value of v in a predetermined range. The smallest value among the Golomb parameters m is the degenerate Golomb parameter m ′ corresponding to the predetermined range v.
  • FIG. 5 shows values of the total number v of consecutive times and the degenerate Golomb parameters m ′ and c represented by each 4-bit code based on FIG. 4.
  • the second encoding unit 120 of the encoding device 1 performs lossless encoding different from the encoding by the first encoding unit 110 on the frame of the signal encoded by nonlinear PCM. Note that this frame is a frame other than a frame including only two types of code words, +0 and ⁇ 0.
  • the encoding by the second encoding unit 120 is not particularly limited as long as the condition of encoding different from the encoding by the first encoding unit 110 is satisfied. For example, encoding without encoding (encoding in the broadest sense) is allowed. That is, the second encoding unit 120 may output a signal encoded by nonlinear PCM as it is. This means that the first encoding unit 110 performs lossless compression encoding only for a frame corresponding to a non-speech period in a signal encoded by nonlinear PCM.
  • the second encoding unit 120 may perform linear predictive encoding on a frame of a signal encoded by nonlinear PCM.
  • a logarithmic companded signal (logarithmic companding code) is converted into a linear PCM code, rather than performing linear predictive coding on a logarithmic companded signal such as the ⁇ -law or A-law. Then, linear predictive coding is performed on the linear PCM code, and a prediction value obtained using the obtained prediction coefficient is converted into a logarithmic companding code. It is known that the compression rate is improved by encoding the residual with the logarithmic companding code (reference document 3). (Reference 3) Ghido, F. & Tabus, I., "Accounting for companding nonlinearities in lossless audio compression", Proc. ICASSP, Vol.1, pp.261-264, 2007.
  • the second encoding unit 120 converts a signal (nonlinear PCM code) composed of a codeword encoded by nonlinear PCM into a linear PCM code, performs linear prediction analysis on the linear PCM code, and obtains the result. Even if linear predictive coding is performed in which a prediction value obtained using the obtained prediction coefficient is converted into a nonlinear PCM code and a residual between the original nonlinear PCM code and the nonlinear PCM code of the predicted value is encoded. Good. A functional block diagram in this case is shown in FIG.
  • the linear PCM conversion unit 121 converts a signal composed of a code word encoded by nonlinear PCM into a linear PCM code.
  • the prediction analysis unit 122 predicts and analyzes the obtained linear PCM code to obtain a linear prediction coefficient.
  • the prediction coefficient quantization unit 123 quantizes the linear prediction coefficient and outputs a quantized prediction coefficient.
  • the linear prediction unit 124 obtains a prediction value from the quantized prediction coefficient and the linear PCM code.
  • the nonlinear PCM conversion unit 125 converts the predicted value into a nonlinear PCM code.
  • the residual calculation unit 126 obtains a residual between the original nonlinear PCM code and the predicted value nonlinear PCM code.
  • the residual encoding unit 127 encodes the obtained residual and outputs a residual code.
  • the coefficient encoding unit 128 encodes and outputs the quantized prediction coefficient.
  • the encoding method applied to the residual and the encoding applied to the quantized prediction coefficient are respectively predetermined encoding methods.
  • the first encoding unit 110 includes a code obtained by executing encoding that distinguishes and expresses two types of codewords of nonlinear PCM by 1 bit, and a number of consecutive codewords obtained by run-length encoding.
  • a code having a smaller code amount is output (step Sc2a in FIG. 7).
  • the code obtained by the two-stage coding method that performs integer coding on the sequence of the continuous number of codewords obtained by the run-length coding is the code obtained by one kind of two-stage coding method.
  • the code is not limited and may be a code having the minimum code amount among the codes obtained by executing a plurality of types of two-stage encoding.
  • the first encoding unit 110 is a code representing an encoding method corresponding to the output code, that is, an encoding method that expresses two types of code words of nonlinear PCM by distinguishing them with one bit or obtained by run length encoding
  • a code representing an encoding method for performing integer encoding on a sequence of consecutive codewords is also output.
  • FIG. 8 a configuration as shown in FIG. 8 can be adopted.
  • the third encoding unit 130 is added, and the function of the third encoding unit 130 is realized by interpreting and executing the program stored in the storage unit by the CPU.
  • the determination unit 100 of the encoding device 1 includes only two types of codewords (1) +0 and ⁇ 0 for each frame of a signal encoded by nonlinear PCM, and (2) only one type. (3) Which of the above cases does not apply (step Sc1b in FIG. 9).
  • the determination unit 100 When the codeword included in the frame corresponds to (1), the determination unit 100 performs control to send the frame to the first encoding unit 110. When the codeword corresponds to (3), the determination unit 100 performs the second encoding of the frame. Control to send to the unit 120 is performed. When the condition corresponds to (2), control to send the frame to the third encoding unit 130 is performed.
  • the third encoding unit 130 of the encoding device 1 performs lossless encoding that outputs a code indicating that the frame includes only one type of codeword (step Sc4 in FIG. 9). For example, if only the code word “+0” is included in the frame, a code indicating that only the code word “+0” is included in the frame is output. However, since it is useless to predefine a code indicating that only the codeword is included for all codewords, the codeword is not applicable to some codewords (for example, “+0” and “ ⁇ 0”). A code indicating that only a code word is included may be defined in advance, and for other code words, a code word may be output together with a code indicating that only one type of code word is included.
  • the synthesizing unit 50 multiplexes the code output from the encoding device 1 or the encoding specific code. That is, the synthesizing unit 50 collects the code output from the encoding device 1 and the encoding specific code for each frame, and further outputs a bit stream obtained by concatenating them according to the frame order.
  • the first encoding unit 110 encodes a certain frame
  • the code output from the first encoding unit 110, the code for expressing the Rice parameter (Golomb parameter), and encoding in this frame A code representing the method and the encoded specific code output from the determination unit 100 are collected.
  • the determination unit 100 When the second encoding unit 120 encodes a certain frame, the determination unit 100 outputs a code output by the second encoding unit 120, such as a prediction coefficient code or a residual code, in this frame.
  • the encoded specific codes are collected.
  • the third encoding unit 130 encodes a certain frame, the code output from the third encoding unit 130 and the encoding specific code output from the determination unit 100 are collected in this frame.
  • the bit stream is input to the separation unit 40 shown in FIG.
  • the demultiplexing unit 40 demultiplexes the bit stream to obtain a code for each frame and an encoded specific code output from the encoding device 1. These codes are input to the decoding device 2.
  • the hardware configuration of the decoding device 2 is the same as the hardware configuration of the encoding device 1 illustrated in FIG.
  • the external storage device of the decryption device 2 stores a program for decryption processing and data necessary for the processing of this program (not limited to the external storage device, for example, a read-only storage device) It may be stored in ROM.) Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
  • storage devices that store programs, data, addresses of storage areas, and the like are simply referred to as storage units.
  • the storage unit of the decoding device 1 is obtained by applying lossless coding to a frame in which the code included in the input frame includes only two types of codewords given in the two minimum quantization intervals.
  • a program for determining whether or not the received code is a code, a first decoding program for decoding the code obtained by the lossless encoding, and a code included in the input frame has two minimum It is obtained by applying a coding different from the lossless coding applied to a frame including only two types of codewords to a frame including codewords other than the two types of codewords given in the quantization interval.
  • a second decoding program for decoding the code is stored.
  • each program stored in the storage unit and data necessary for processing each program are read into the RAM as necessary, and are interpreted and executed by the CPU.
  • the CPU realizes a predetermined function (determination unit, first decoding unit, second decoding unit), thereby realizing a desired decoding process.
  • Step Sd1 the determination unit 200 of the decoding device 2 determines that the code included in the input frame is a frame including only two types of codewords “+0” and “ ⁇ 0” given to the two minimum quantization intervals. On the other hand, it is determined whether or not the code is obtained by applying lossless coding. This determination is made based on the input encoded specific code.
  • the code included in the input frame is a code obtained by applying lossless coding to a frame including only two types of codewords “+0” and “ ⁇ 0” That is, when the encoding specific code is a code indicating that the first encoding is selected, control is performed to send the frame to the first decoding unit 210. In other cases, that is, the encoding specific code is the second encoding If the code represents that encoding has been selected, control is performed to send the frame to the second decoding unit 220.
  • Step Sd2 The first decoding unit 210 of the decoding device 2 decodes the code obtained by the lossless coding which is the first coding for the frame sent from the determination unit 200, and the nonlinear PCM code obtained by this decoding process Is output.
  • the decoding of the code obtained by the lossless coding which is the first coding is achieved as follows.
  • Lossless coding which is the first coding is, for example, run-length coding, and integer coding (Rice coding or Golomb coding) for a sequence of the number of consecutive codewords obtained by this run-length coding.
  • the first step is to decode the code included in the input frame using the Rice parameter (Golomb parameter), and the number of consecutive times obtained by this decoding.
  • the code stream that is the standard of the Rice parameter (Golomb parameter) and run-length encoding is the bit stream transmitted from the encoding device 1 when these are not defined in advance by the encoding device 1 and the decoding device 2
  • Each decoding process corresponding to Rice coding, Golomb coding, and run-length coding is detailed in, for example, the above-described Reference Document 2, and will not be described in detail.
  • the sequence of binary bits corresponds directly to the sequence of codewords.
  • Decoding can be performed by replacing a bit with a corresponding codeword.
  • Lossless coding which is the first coding is a code obtained by performing coding that distinguishes two types of codewords by 1 bit, and a code obtained by performing run-length coding and run-length coding.
  • the bit stream transmitted from the encoding device 1 is obtained by demultiplexing.
  • the above-described decoding process may be performed according to a code indicating which code is selected.
  • the second decoding unit 220 of the decoding device 2 decodes the code obtained by the lossless coding that is the second coding, and outputs the nonlinear PCM code obtained by this decoding processing.
  • the details of the decoding process are determined by the type of lossless encoding that is the second encoding.
  • the lossless coding that is the second coding is performed by, for example, converting a nonlinear PCM code into a linear PCM code, performing a linear prediction analysis on the linear PCM code, and obtaining a prediction obtained using the obtained prediction coefficient.
  • the decoding process of the second decoding unit 220 will be described for the case where the value is converted into a nonlinear PCM code and the residual between the original nonlinear PCM code and the predicted nonlinear PCM code is encoded (FIG. 12). reference).
  • the separation unit 60 applies demultiplexing to the frame transmitted from the determination unit 200, and obtains a residual code and a prediction coefficient code included in the frame.
  • the coefficient decoding unit 70 decodes the prediction coefficient code output from the separation unit 60 and outputs a prediction coefficient.
  • the residual decoding unit 221 of the second decoding unit 220 decodes the residual code output from the separation unit 60 and outputs a residual.
  • the adder 223 adds the prediction value output from the linear predictor 222 to the residual and outputs a nonlinear PCM code.
  • the linear prediction unit 222 outputs a prediction value by linear prediction from the prediction coefficient output from the coefficient decoding unit 70 and the nonlinear PCM code output from the addition unit 223.
  • Step Sd4 The combining unit 80 of the decoding device 2 concatenates the nonlinear PCM code output from the first decoding unit 210 and the nonlinear PCM code output from the second decoding unit 220 according to the frame order, and outputs a decoded signal.
  • This decoded signal corresponds to a signal encoded by nonlinear PCM which is an input of the buffer unit 30 of the encoding device 1.
  • a decoding process as shown in FIG. 13 can be adopted.
  • This decoding process is performed by a code obtained by executing coding in which the first coding unit 110 of the coding device 1 distinguishes and expresses two types of codewords of nonlinear PCM by 1 bit, and run-length coding.
  • the first coding unit 110 of the coding device 1 distinguishes and expresses two types of codewords of nonlinear PCM by 1 bit, and run-length coding.
  • the first decoding unit 210 converts the two types of non-linear PCM codewords into one bit to represent the continuous number of codewords obtained by a binary encoding method or run-length encoding.
  • the code is decoded by a decoding method corresponding to the code representing the two-stage encoding method for performing integer encoding, and the nonlinear PCM code obtained by this decoding process is output. (Step Sd2a in FIG. 13).
  • FIG. 14 a configuration as shown in FIG. 14 can be adopted.
  • This configuration corresponds to a case where the encoding device 1 also includes the third encoding unit 130, and a third decoding unit 230 is added to the decoding device 2.
  • the function of the third decoding unit 230 is realized by the program stored in the storage unit being interpreted and executed by the CPU.
  • the determination unit 200 of the decoding device 2 uses (1) a frame including only two types of codewords “+0” and “ ⁇ 0” given to two minimum quantization intervals. (2) is a code obtained by applying lossless coding to a frame including only one kind of codeword, (3) It is determined which of the above cases does not correspond (step Sd1b in FIG. 15). This determination is made based on the input encoded specific code.
  • the determination unit 200 When the code included in the input frame corresponds to (1), the determination unit 200 performs control to send the frame to the first decoding unit 210. When the code corresponds to (3), the determination unit 200 performs second decoding on the frame. Control to send to the unit 220 is performed. When the condition corresponds to (2), control to send the frame to the third decoding unit 230 is performed.
  • the third decoding unit 230 uses the lossless encoding for the frame output by the determination unit 200 according to the encoding specific code (lossless encoding for a frame including only one type of codeword).
  • a code obtained by applying encoding is decoded, and a nonlinear PCM code obtained by this decoding process is output (step Sd2b in FIG. 15).
  • the combining unit 80 of the decoding device 2 converts the nonlinear PCM code output from the first decoding unit 210, the nonlinear PCM code output from the second decoding unit 220, and the nonlinear PCM code output from the third decoding unit 230 into a frame.
  • the decoded signals are output by concatenating according to the order (step Sd4b in FIG. 15).
  • the encoding apparatus / method and decoding apparatus / method according to the present invention are not limited to the above-described embodiments, and can be appropriately changed without departing from the spirit of the present invention.
  • the non-linear quantization method may be an A-law.
  • the code words “+0” and “ ⁇ 0” in the above embodiment may be read as “+8” and “ ⁇ 8”.
  • the technical features appearing in the above description can be freely combined and implemented within a range that does not contradict each other.
  • the processing functions in the encoding device and decoding device are realized by a computer
  • the processing contents of the functions that the encoding device and decoding device should have are described by a program.
  • the processing functions of the encoding device and the decoding device are realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • a magnetic recording device a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
  • this program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from the portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the encoding device and the decoding device are configured by executing a predetermined program on the computer.
  • at least a part of the processing contents may be realized by hardware. Good.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された複数個の符号語によって構成されるフレームに、二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるか否かを判定し、二種類のみの符号語が含まれるフレームについて、ロスレス符号化を行う。このロスレス符号化で得られた符号は、ロスレス符号化に対応する復号方法で復号される。

Description

符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
 本発明は、信号の符号化技術に関し、より詳しくは、符号化された信号のロスレス符号化技術に関する。
 音声周波数信号(voice-frequency signals)に対する符号化(encoding)の国際標準として、ITU-T(International Telecommunication Union - Telecommunication Standardization Sector) G.711が存在する(非特許文献1)。ITU-T G.711は、符号化方式として非線形PCM(Non-uniform Pulse Code Modulation)を採用しており、非線形量子化方式としてμ則(μ-law)とA則(A-law)の二種類を規定している。以下、「音声周波数信号」を音声信号と呼称する。
 また、動画(Visual)と音響(Audio)の符号化の国際標準としてISO/IEC JTC 1/SC 29/WG 11が策定したMPEG-4が存在し、その第3部が音響ロスレス符号化技術などを規定している(非特許文献2)。
ITU-T Recommendation G.711, "Pulse Code Modulation (PCM) of voice frequencies," ITU-T, 1993. ISO/IEC 14496-3 AMENDMENT 2: Audio Lossless Coding (ALS), new audio profiles and BSAC extensions, 2005.
 この明細書に用いる用語は、特に断りの無い限り、ITU-T G.701(参考文献1)に準拠する。しかし、これは本発明の適用範囲をITU-TのGシリーズ勧告が適用される技術分野に限定する意図ではない。この技術分野以外の技術分野、例えば上記非特許文献2に関わる技術分野に本発明を適用する場合には、この明細書に用いる用語を、(もし在れば)当該技術分野の対応する用語に読み替えればよい。
(参考文献1)ITU-T Recommendation G.701, "Vocabulary of Digital Transmission and Multiplexing, and Pulse Code Modulation (PCM) Terms," ITU-T, 1993.
 現在普及している一般電話に代わってVoIPシステム(Voice over Internet Protocol system)が普及すると、音声伝送のために必要な伝送容量が増大する。例えば、上記非特許文献1に規定されるITU-T G.711に準拠する場合であれば、1回線につき64kbit/s×2の伝送容量が必要であり、回線数が増えると、音声伝送のために必要な伝送容量も回線数に比例して増大する。従って、高音質をできるだけ維持しつつ伝送容量の削減を考えると、非線形PCMで符号化された信号を更にロスレス符号化する圧縮符号化技術が必要である。
 ところで、時間尺度の観点から、音声信号は無音声区間を含むことがある。電話などの用途では無音声区間がしばしば出現する。無音声区間であっても、背景雑音などは存在する。そのため、無音声区間での信号振幅は、必ずしも信号振幅0(ゼロ)のみではなく、信号振幅0に最も近い量子化値に該当する範囲の信号振幅となることが多い。なお、量子化値に対応する範囲を量子化インターバル(quantization intervals)と呼ぶ。すなわち、各量子化値にそれぞれ量子化される範囲をその量子化値に対応する量子化インターバルと呼ぶ。以下、「量子化インターバルのうち信号振幅0の量子化値に最も近い量子化インターバル」を最小量子化インターバルと呼称する。言い換えると、最小量子化インターバルとは、「量子化インターバルのうち信号振幅0(ゼロ)に最も近い量子化値に対応する量子化インターバル」を意味する。上記非線形PCMであるG.711を例にとると、各量子化インターバルには、8ビットの符号語が割り当てられる(例えば、上記非特許文献1の"TABLE 2a/G.711 (μ-law, positive input values)","TABLE 2b/G.711 (μ-law, negative input values),"TABLE 2a/G.711 (A-law, positive input values)","TABLE 2b/G.711 (A-law, negative input values)"の各6列に相当)。μ則の場合には、信号振幅の正負を表す符号(sign)を考慮して、信号振幅0(ゼロ)を境界値(decision value)とする隣接する二つの最小量子化インターバルが存在する。なお、二つの最小量子化インターバルは、異なる極性ビット(polarity bit)を持つ、隣り合う量子化インターバルであると言ってもよい。これら二つの最小量子化インターバルは、それぞれ、信号振幅が正である最小量子化インターバルと信号振幅が負である最小量子化インターバルとに対応するが、共に対応する量子化値は信号振幅0(ゼロ)である。これら二つの最小量子化インターバルのそれぞれに対して互いに異なる符号語(character signal; code word)が定義されている。より具体的には、これら二つの最小量子化インターバルにはそれぞれに対して一意の符号語が定義されており、正の最小量子化インターバルには8ビットの符号語11111111が、負の最小量子化インターバルには8ビットの符号語01111111が割り当てられる(例えば、上記非特許文献1の"TABLE 2a/G.711 (μ-law, positive input values)","TABLE 2b/G.711 (μ-law, negative input values)"の各6列参照)。以下、8ビットの符号語11111111を+0、8ビットの符号語01111111を-0と表記する。また、A則の場合には、信号振幅の正負を表す符号(sign)を考慮して二つの最小量子化インターバルが存在し、それぞれに対して異なる符号語(character signal; code word)が定義されている。A則の場合、正の最小量子化インターバルには8ビットの符号語10000000が、負の最小量子化インターバルには8ビットの符号語00000000が割り当てられる(例えば、上記非特許文献1の"TABLE 2a/G.711 (A-law, positive input values)","TABLE 2b/G.711 (A-law, negative input values)"の各6列参照)参照)。この場合、8ビットの符号語10000000を+1、8ビットの符号語00000000を-1と表記する。なお、実際の応用では、上記非特許文献1に記載の符号語10000000及び00000000の偶数番目のビットを反転させた符号語11010101及び01010101が割り当てられる場合もある(例えば、上記非特許文献1の"TABLE 2a/G.711 (A-law, positive input values)","TABLE 2b/G.711 (A-law, negative input values)"の"Note 2"参照)。この場合には、8ビットの符号語11010101を+8、8ビットの符号語01010101を-8と表記する。なお、A則では、これらの符号語に対応する量子化値は13ビット符号付き整数表現で+1と-1である。しかし、実際の用途では、通常、16ビット符号付き整数表現の入力PCM信号についてオーバーフローが生じないように符号化する必要があるため、16ビット符号付き整数表現の入力PCM信号の下位3ビットを用いずにA則の符号化処理を行う。10進表現で言い換えると、入力PCM信号を8で除した信号をA則の符号化処理対象とする。このため、A則の量子化値+1と-1は16ビット符号付き整数表現の入力PCM信号の+8、-8に相当する。
 無音声区間の符号化された信号に対する圧縮符号化方法として、例えば上記非特許文献2に示される方法を用いて符号量を低減する方法が考えられる。つまり、複数のサンプルを持つ一つのフレームに含まれる全てのサンプルに対して一種類の符号語や一種類の値が割り当てられている場合に、所定の符号を用いて当該フレームを表現することで符号量を低減する。
 一般的なPCMで符号化された信号では、無音声時のような特別な場合に統計的に出現確率が高くなる信号振幅の値を特別に処理することで圧縮性能を改善することが可能である。しかし、μ則やA則による非線形PCMの場合には、最小量子化インターバルに+0、-0、もしくは+8、-8の符号語が割り当てられるので、無音時において統計的に出現確率が高くなる符号語は、+0、-0の二種類もしくは+8、-8の二種類であり、上記非特許文献2に開示された方法のみでは、十分な圧縮効果を得られない。
 本発明は、上記に鑑み、二つの最小量子化インターバルが存在し、それぞれに対して異なる符号語が与えられている符号化方式で符号化された信号のロスレス符号化に係る技術を提供することを目的とする。
 本発明では、二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された符号語が入力され、複数個の符号語によって構成されるフレームに、二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるか否かを判定し、二種類のみの符号語が含まれるフレームについて、ロスレス符号化を行う。少なくともこのようなフレームについては、入力された符号語の可逆的な圧縮が可能となる。また、このロスレス符号化で得られた符号は、ロスレス符号化に対応する復号方法で復号される。
 本発明によれば、二つの最小量子化インターバルが存在しそれぞれに対して異なる符号語が与えられている符号化方式で符号化された信号に対して、効率的なロスレス符号化が可能となる。
実施形態に係る符号化装置のハードウェア構成例を示す図。 実施形態に係る符号化装置の機能構成例を示すブロック図。 実施形態に係る符号化処理の処理フローを示す図。 1フレームのサンプル数を160とした場合に、連続回数の総和vとGolombパラメータmと縮退Golombパラメータm’との関係を示した表。 図4に示される関係を前提として、4ビットの各符号が表す、連続回数の総和vと縮退Golombパラメータm’とcの各値を示した表。 実施形態に係る符号化装置の機能構成例において、第2符号化部の機能構成の一例を示したブロック図。 実施形態に係る符号化処理の変形例の処理フローを示す図。 実施形態に係る符号化装置の機能構成例の変形例を示したブロック図。 図8に示す機能構成を持つ符号化装置による符号化処理の処理フローを示す図。 実施形態に係る復号装置の機能構成例を示すブロック図。 実施形態に係る復号処理の処理フローを示す図。 実施形態に係る復号装置の機能構成例において、第2復号部の機能構成の一例を示したブロック図。 実施形態に係る復号処理の変形例の処理フローを示す図。 実施形態に係る復号装置の機能構成例の変形例を示すブロック図。 図14に示す機能構成を持つ復号装置による復号処理の処理フローを示す図。
<符号化装置のハードウェア構成例>
 図1は、符号化装置1のハードウェア構成を例示した構成ブロック図である。図1に例示するように、符号化装置1は、キーボードなどが接続可能な入力部11、液晶ディスプレイなどが接続可能な出力部12、符号化装置1外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部13、CPU14(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAM15やROM16、ハードディスクである外部記憶装置17並びにこれらの入力部11、出力部12、通信部13、CPU14、RAM15、ROM16、外部記憶装置17間のデータのやり取りが可能なように接続するバス18を有している。また必要に応じて、符号化装置1に、CD-ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
 例えば符号化装置1の外部記憶装置には、符号化のためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータ(例えば、圧縮符号化された信号)などは、RAMや外部記憶装置などに適宜に記憶される。以下、プログラム、データ、その格納領域のアドレスなどを記憶する記憶装置を単に記憶部と総称することにする。
 各実施形態で扱う信号は、音声信号が何らかの符号化方式に従って符号化された信号とする。但し、この符号化方式は、二つの最小量子化インターバルが存在し、それぞれに対して異なる符号語(character signal; code word)が与えられている符号化方式とする。非線形PCMなどがその例である。例えばITU-T G.711は符号化方式として非線形PCMを採用しているので、「符号化された信号」は、非線形PCMで符号化された信号を意味する。この場合、非線形量子化方式はμ則でもA則でもよい。以下、説明を具体的なものとするため、符号化方式を非線形PCMとし、非線形量子化方式をμ則として説明する。
 符号化装置1の記憶部には、フレームに含まれる符号語が二種類のみであるか否かを判定するためのプログラム、二種類のみの符号語が含まれるフレームについて、まずランレングス符号化を行い、このランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化を行う第1のロスレス符号化のためのプログラム、第1の符号化と異なる符号化を行う第2のロスレス符号化のためのプログラムが記憶されている。
 符号化装置1では、記憶部に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAMに読み込まれて、CPUで解釈実行・処理される。この結果、CPUが所定の機能(判定部、第1符号化部、第2符号化部)を実現することで所望の符号化が実現される。
<符号化処理>
 次に、図2から図9を参照して、符号化装置1における符号化処理の流れを叙述的に説明する。
[ステップSc0]
 符号化装置1のバッファ部30は、非線形PCMで符号化された信号をバッファして、非線形PCMで符号化された信号をフレーム単位で出力する。すなわち、バッファ部30は、非線形PCMで符号化された複数個の符号語からなるフレームを出力する。
[ステップSc1]
 符号化装置1の判定部100は、非線形PCMで符号化された信号のフレーム毎に、フレームに含まれる符号語が+0、-0の二種類のみであるか否かを判定する。すなわち、判定部100は、非線形PCMで符号化された複数個の符号語によって構成されるフレームに、+0、-0の二種類の符号語のみが含まれるか否かを判定する。言い換えると、判定部100は、フレームを構成するすべての符号語が同一ではなく、かつ、各符号語がそれぞれ+0又は-0であるか否かを判定する。
 判定部100は、フレームに含まれる符号語が+0、-0の二種類のみである場合、当該フレームを第1符号化部110に送る制御を行い、それ以外の場合、当該フレームを第2符号化部120に送る制御を行う。なお、判定部100は、符号化の種類を表す符号化特定符号を出力する。つまり、判定部100は、第1符号化部110に送る制御を行った場合には、第1符号化が選択されたことを表す符号を出力し、第2符号化部120に送る制御を行った場合には、第2符号化が選択されたことを表す符号を出力する。
[ステップSc2]
 符号化装置1の第1符号化部110は、非線形PCMで符号化された信号のフレームに対して次のようなロスレス符号化を行い、このロスレス符号化で得られた符号を出力する。なお、このフレームには、+0、-0の二種類の符号語のみが含まれる。
 第1符号化部110は、まず、フレームに含まれる符号語に対してランレングス符号化(Run Length Encoding)を行う。ランレングス符号化はロスレス符号化の一方法である。このランレングス符号化では、例えば符号語“+0”を符号化の基準として採用することができる。この場合、フレーム中の符号語の並びが+0,+0,+0,+0,+0,-0とすると、連続回数は5である。また、符号語“-0”を符号化の基準として採用することもできる。この場合、フレーム中の符号語の並びが-0,-0,-0,-0,+0とすると、連続回数は4である。
 この実施形態では、予め設定された符号化基準が第1符号化部110に入力される全てのフレームに対して適用される運用が許容される。しかし、この運用に限定されるものではなく、好ましくは、第1符号化部110は、フレームに含まれる符号語の比率から上記のいずれか一方の基準をフレーム毎に選択的に採用し、この基準を当該フレームに適用してランレングス符号化を行う。通常は、二種類の符号語のうちフレーム中で出現回数が多い符号語が基準として採用される。すなわち、二種類の符号語を「第一符号語」と「第二符号語」とした場合、フレームに含まれる第一符号語の総数が第二符号語の総数よりも多い場合の「符号化の基準」は第一符号語であり、第二符号語の総数が第一符号語の総数よりも多い場合の「符号語の基準」は第二符号語である。
 第1符号化部110は、ランレングス符号化の基準を用いて、フレームの先頭から順に基準である符号語が連続する個数(連続回数)を検出し、連続回数の系列を得る。このとき、フレームの先頭の符号語が基準として採用されなかった符号語である場合、第1符号化部110は、基準である符号語が出現するまで連続回数を0として処理をする。例えば符号語“+0”を基準に採用し、フレームの開始部の符号語の並びが-0,-0,-0,-0,+0,+0,-0,・・・である場合、連続回数の系列は、0、0、0、0、2、・・・となる。また、第1符号化部110は、フレームに含まれる最後の符号語については、その次の符号語が基準に採用されなかった符号語であると看做して処理をする。例えば符号語“+0”を基準に採用し、フレームの末端部の符号語の並びが・・・-0,+0,+0である場合、最後の符号語“+0”の次の符号語が“-0”であると看做して、連続回数は2となる。また、フレーム中で基準に採用されなかった符号語が連続する場合には、基準である符号語の連続回数を0とする。基準に採用されなかった符号語が出現するまでに基準である符号語が出現する回数が1である場合には、基準である符号語の連続回数を1とする。例えば、符号語“+0”を基準に採用し、符号語の並びが・・・,-0,+0,-0,-0,-0,・・・である場合、連続回数の系列は、・・・、1、0、0、・・・となる。
 さらに、第1符号化部110は、ランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化を行う。整数符号化として、Unary符号化、Golomb符号化、Rice符号化などが例示される。この整数符号化はロスレス符号化であることが好ましい。ここでは、可変長符号化であるRice符号化またはGolomb符号化を用いた例を説明する。
 まず、Rice符号化を用いて連続回数の系列を符号化する例を説明する。
 音声信号を1フレーム当たり40サンプルとして非線形PCMで符号化した場合を例に採り、或るフレームに含まれる符号語の並びが+0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0であるとする。このフレームの符号量は、1サンプルにつき8ビットの符号語が与えられていることに留意すると(上記非特許文献1参照)、8bit×40個=320bit(40byte)である。
 符号語“+0”を基準としてランレングス符号化を行い、更にRice符号化を用いて連続回数の系列を符号化した場合の符号量を示す。
 符号語“+0”を基準としてランレングス符号化を行うと、上記の例では連続回数の系列として1,4,4,3,4,12,6が得られる。従って、この連続回数の系列をRice符号化すると、一例として下記の符号語の並び(Rice符号)が得られる。なお、SはRiceパラメータである。
S=1 : 11 0010 0010 011 0010 00000010 00010 (30bit)
S=2 : 101 0100 0100 111 0100 000100 0110  (28bit)
S=3 : 1001 1100 1100 1011 1100 01100 1110 (29bit)
 この例では、連続回数の値に対してRice符号化の際に求められる商、余りに対応した符号を商、余りの順で連結して符号語とした。従って、この例に限らず、余り、商の順で連結して符号語を得ることもできる。この場合、連続回数の系列をRice符号化して得られる符号語の並び(Rice符号)は下記のとおりである。
S=1 : 11 0001 0001 101 0001 00000001 00001 (30bit)
S=2 : 011 0001 0001 111 0001 000001 1001  (28bit)
S=3 : 0011 1001 1001 0111 1001 10001 1101 (29bit)
 また、商の符号はUnary符号化で得られるから、商を表す符号の0と1を反転させてもよい。この場合、連続回数の系列をRice符号化して得られる符号語の並び(Rice符号)は下記のとおりである。
S=1 : 10 0110 0110 110 0110 01111110 01110 (30bit)
S=2 : 010 0010 0010 110 0010 001110 1010  (28bit)
S=3 : 0010 1000 1000 0110 1000 10010 1100 (29bit)
 これらの例の他、例えば上記非特許文献2に開示されるRice符号化に従って連続回数の系列のRice符号を得てもよい。
 一般的に、RiceパラメータSに応じて得られる符号語の並び(Rice符号)の符号量は異なるから、ランレングス符号化で得られた連続回数の系列のRice符号として、符号量が最小である符号語の並びを選択すればよい。この符号語の並びが第1符号化部110が出力する符号である。
 RiceパラメータSは、フレームに含まれるサンプル数をnとしたとき、n<2を満たす最小の整数Rに対して、1≦S≦Rを満たす整数とする。例えば、上記の例のように1フレームに40サンプルが含まれる場合には、40<2を満たす最小整数Rは6であるから、S=1,2,3,4,5,6である。但し、1≦S≦Rを満たす全ての整数についてRice符号を求めるのではなく、その一部についてのみRice符号を求めるとしてもよい。
 なお、RiceパラメータSを仮に0とした場合は、例えば符号語“+0”を二進数の0、符号語“-0”を二進数の1としてフレームに含まれる符号語を1ビットで表現する符号化に等価である。つまり、第1符号化部110は、非線形PCMの二種類の符号語を1ビットで区別して表現する符号化方法を採用することもできる。この場合、例えば符号語“+0”を二進数の0、符号語“-0”を二進数の1で表すことにすると、上記例示したような非線形PCMで符号化された或るフレームの符号語の並びは0100001000010001000010000000000001000000となる。この符号語の並びの符号量は、40bit(5byte)である。
 上述の例では、第1符号化部110が出力する符号の符号量は、いずれの符号化方法であっても高々40bit程度であり、非線形PCMで得られた符号語の符号量320bitに比べて十分に圧縮されたことになる。
 これまでの説明から明らかなように、連続回数の系列をRice符号化して得られる符号語の並び(Rice符号)は唯一に決定されるものではない。従って、復号化の際には、符号化の際に用いられた具体的な符号化方法が判明していなければならない。このため、特定の符号化方法を予め決めておくか、エンコーダ(符号化装置1)が使用した符号化方法を特定するための符号をデコーダ(後述する復号装置2)に送信する方法などが考えられる。そこで、この符号の符号量についても説明を加える。
 上記の例でRiceパラメータSの値が1,2,3,4,5,6のいずれかである場合、RiceパラメータSを表現するための符号の符号量は3ビットあれば十分である。さらに、ランレングス符号化の基準がいずれであるかを表現するための符号の符号量は1ビットあれば十分である。また、非線形PCMの二種類の符号語を1ビットで区別して表現する二進符号化を許容した場合でも、符号化方法を表す符号の符号量として下記のように2ビットあれば十分である。なお、これらの符号は第1符号化部110が、Rice符号と共に出力する。
符号化方法を表す符号の例
(1)0:非線形PCMの二種類の符号語を1ビットで区別して表現する二進符号化
(2)10:符号語“+0”を基準としたランレングス符号化
(3)11:符号語“-0”を基準としたランレングス符号化
 結局、ランレングス符号化で得られた連続回数の系列に対するRice符号化によって、Rice符号の符号量と、RiceパラメータSを表現するための符号の符号量と、ランレングス符号化の基準や非線形PCMの二種類の符号語を1ビットで区別して表現する符号化であることを表現するための符号の符号量、さらには、Rice符号化の具体的な仕様を特定するための符号の符号量などを合計した符号量が必要となる場合があるが、このような場合であっても上記の例では高々数十ビット程度あれば十分であり、非線形PCMで得られた符号語の符号量320bitに比べて十分に圧縮されたことになる。
 次に、Golomb符号化を用いて連続回数の系列を符号化する例を説明する。
 Rice符号化の場合と同様に、音声信号を1フレーム当たり40サンプルとして非線形PCMで符号化した場合を例に採り、或るフレームに含まれる符号語の並びが+0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0であるとする。符号語“+0”を基準としてランレングス符号化を行うと、この例では連続回数の系列として1,4,4,3,4,12,6が得られる。
 ここで連続回数の総和をv、フレームに含まれるサンプル数をnとして、式(1)と式(2)に従って、Golombパラメータmとcを求める。記号┌・┐は天井関数を表す。また、常にv≦nが成立する。
Figure JPOXMLDOC01-appb-M000001
 連続回数の系列に表れる連続回数の値(上記の例では、1,4,4,3,4,12,6の各値である。)をtとすると、tのGolomb符号は、式(3)で求まる商qをUnary符号化し、式(4)で求まる余りrについて、rが0から2-m-1までの値であればrをc-1ビットのバイナリ符号で符号化し、rが2-m以上の値であればr+2-mをcビットのバイナリ符号で符号化して、さらに商qのUnary符号と余りrのバイナリ符号を連結することで得られる。但し、cが2の冪である場合には、rをcビットのバイナリ符号で符号化すればよく、これはRice符号化に相当する。記号└・┘は床関数を表す。
Figure JPOXMLDOC01-appb-M000002
 連続回数の系列に表れる連続回数の値を順にGolomb符号で表すことで、ランレングス符号化で得られた連続回数の系列に対するGolomb符号化による符号語の並び(Golomb符号)が得られる。この符号語の並びが第1符号化部110が出力する符号である。勿論、Rice符号化の場合と同様に、Golombパラメータを表現するための符号、ランレングス符号化の基準や非線形PCMの二種類の符号語を1ビットで区別して表現する符号化であることを表現するための符号、さらには、Golomb符号化の具体的な仕様を特定するための符号なども、必要に応じて第1符号化部110が出力する。
 Rice符号化やGolomb符号化については、参考文献2に詳しい。
(参考文献2)David Salomon, "Data Compression : The Complete Reference," 3rd edition, Springer-Verlag, ISBN-10: 0-387-40697-2, 2004.
 Golomb符号化の場合、Golombパラメータmもデコーダ(後述する復号装置2)に伝える必要がある。式(1)から明らかなように、連続回数の総和vが大きくなるとGolombパラメータmの値も大きくなるため、mを表すバイナリ符号の符号量も大きくなってしまう。そこで、Golombパラメータmの縮退化を考える。このことを図4を参照して説明する。
 図4は、1フレームのサンプル数(フレーム長)を160とした場合に、連続回数の総和vとGolombパラメータmと縮退Golombパラメータm’との関係を示したものである。ここでmは、1フレームのサンプル数の範囲で出現する可能性のある全ての連続回数の総和v(この例では1≦v≦159)に対応するGolombパラメータの値を示している。縮退Golombパラメータm’は、Golombパラメータを例えば16通りに制約して、当該フレームで選択された縮退Golombパラメータm’の値の符号量が伝送の際に所定の符号量に収まるように圧縮された値である。つまり、当該フレームで選択されたGolombパラメータをデコーダへ伝送するために通信路で使用できる最大符号量を例えば4ビット(16通り)に設定した場合に、式(1)で求まる本来のGolombパラメータmを4ビット(16通り)に収まるように圧縮した結果が縮退Golombパラメータm’である。この圧縮方法は種々考えられるが、図4では、本来のGolombパラメータmが大きくなる程に圧縮率を大きくする非線形圧縮を例示していて、具体的には、所定範囲のvの各値に対応した各Golombパラメータmのうち最小の値を、当該所定範囲のvに対応した縮退Golombパラメータm’としている。図5は、図4に基づいて、4ビットの各符号が表す、連続回数の総和vと縮退Golombパラメータm’とcの各値を示している。
[ステップSc3]
 符号化装置1の第2符号化部120は、非線形PCMで符号化された信号のフレームに対して第1符号化部110による符号化と異なるロスレス符号化を行う。なお、このフレームは、+0、-0の二種類のみの符号語を含むフレーム以外のフレームである。
 第2符号化部120による符号化は、第1符号化部110による符号化と異なる符号化という条件を満たす限り、特別の限定はない。例えば、何ら符号化をしない符号化(最広義の符号化)も許容される。つまり、第2符号化部120は非線形PCMで符号化された信号をそのまま出力してもよい。これは、非線形PCMで符号化された信号のうち無音声区間に相当するフレームについてのみ第1符号化部110がロスレス圧縮符号化を行うことを意味する。
 また、第2符号化部120は、非線形PCMで符号化された信号のフレームに対して線形予測符号化を行ってもよい。
 なお、μ則やA則のように対数圧伸符号化された信号に対して線形予測符号化を行うよりも、対数圧伸符号化された信号(対数圧伸符号)を線形PCM符号に変換してからこの線形PCM符号に対して線形予測符号化を行い、得られた予測係数を使って求められた予測値を対数圧伸符号に変換して、元の対数圧伸符号と予測値の対数圧伸符号との残差を符号化する方が圧縮率が向上することが知られている(参考文献3)。
(参考文献3)Ghido, F. & Tabus, I., "Accounting for companding nonlinearities in lossless audio compression", Proc. ICASSP, Vol.1, pp.261-264, 2007.
 そこで、第2符号化部120は、非線形PCMで符号化された符号語からなる信号(非線形PCM符号)を線形PCM符号に変換してからこの線形PCM符号に対して線形予測分析を行い、得られた予測係数を使って求められた予測値を非線形PCM符号に変換して、元の非線形PCM符号と予測値の非線形PCM符号との残差を符号化するという線形予測符号化を行ってもよい。この場合の機能ブロック図を図6に示す。
 線形PCM変換部121は、非線形PCMで符号化された符号語からなる信号を線形PCM符号に変換する。予測分析部122は、得られた線形PCM符号を予測分析して、線形予測係数を求める。予測係数量子化部123は、線形予測係数を量子化して量子化予測係数を出力する。線形予測部124は、量子化予測係数と線形PCM符号から予測値を求める。非線形PCM変換部125は、予測値を非線形PCM符号に変換する。残差算出部126は、元の非線形PCM符号と予測値の非線形PCM符号との残差を求める。残差符号化部127は、求められた残差を符号化して残差符号を出力する。係数符号化部128は、量子化予測係数を符号化して出力する。残差に適用する符号化方法と、量子化予測係数に適用する符号化はそれぞれ予め定められている符号化方法である。
 上述の実施形態の変形例として、図7に示すような処理を採用することもできる。
 Rice符号化やGolomb符号化は可変長符号化であるから、ランレングス符号化で得られた連続回数の系列次第で、Rice符号やGolomb符号の符号量が、非線形PCMの二種類の符号語を1ビットで区別して表現する符号化で得られる符号の符号量よりも多くなる可能性が否定できない。そこで第1符号化部110は、非線形PCMの二種類の符号語を1ビットで区別して表現する符号化を実行して得られる符号と、ランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化(Rice符号化やGolomb符号化など)を行って得られる符号のうち、より少ない符号量を持つ符号を出力する(図7のステップSc2a)。なお、ランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化を行う二段階符号化方法で得られる符号は、一種類の二段階符号化方法で得られた符号に限らず、複数種類の二段階符号化を実行して得られた各符号のうち最小の符号量を持つ符号であってもよい。ここで複数種類の二段階符号化として、基準となる符号語の違いに応じた二種類のランレングス符号化とRice符号化やGolomb符号化などの複数種類の整数符号化との組合せで得られる二段階符号化が例示される。第1符号化部110は、出力した符号に対応する符号化方法を表す符号、つまり非線形PCMの二種類の符号語を1ビットで区別して表現する符号化方法またはランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化を行う符号化方法を表す符号も出力する。
 また、上述の実施形態の変形例として、図8に示すような構成を採用することもできる。この構成では、第3符号化部130が追加されており、記憶部に記憶されたプログラムがCPUで解釈実行・処理されることで第3符号化部130の機能が実現される。
 符号化装置1の判定部100は、非線形PCMで符号化された信号のフレーム毎に、フレームに含まれる符号語が(1)+0、-0の二種類のみである、(2)一種類のみである、(3)前記いずれのケースにも該当しない、のいずれであるかを判定する(図9のステップSc1b)。
 判定部100は、フレームに含まれる符号語が(1)に該当する場合、当該フレームを第1符号化部110に送る制御を行い、(3)に該当する場合、当該フレームを第2符号化部120に送る制御を行い、(2)に該当する場合、当該フレームを第3符号化部130に送る制御を行う。
 第1符号化部110の処理内容、第2符号化部120の処理内容は既述のとおりであるから説明を略する。
 符号化装置1の第3符号化部130は、フレームが一種類のみの符号語を含むことを表す符号を出力するロスレス符号化を行う(図9のステップSc4)。例えば、フレームに符号語“+0”のみが含まれるならば、フレームに符号語“+0”のみが含まれることを表す符号を出力する。ただし、すべての符号語について当該符号語のみが含まれることを表す符号を予め規定しておくことは無駄であるから、一部の符号語(例えば、“+0”と“-0”)について当該符号語のみが含まれることを表す符号を予め規定しておき、それ以外の符号語については、一種類のみの符号語を含むことを表す符号と共に符号語を出力するようにしてもよい。例えばフレームに符号語“00011001”のみが含まれるとして、フレームに符号語“00011001”のみが含まれることを表す符号が予め規定されていない場合には、一種類のみの符号語を含むことを表す符号と共に符号語“00011001”を出力する。
 合成部50は、符号化装置1から出力された符号や符号化特定符号などを多重化する。つまり、合成部50は、符号化装置1から出力された符号や符号化特定符号などをフレームごとにまとめて更にフレームの順番に従ってこれらを連結したビットストリームを出力する。或るフレームに対して第1符号化部110が符号化した場合には、このフレームでは、第1符号化部110が出力した符号、Riceパラメータ(Golombパラメータ)を表現するための符号、符号化方法を表す符号などと判定部100が出力した符号化特定符号がまとめられる。或るフレームに対して第2符号化部120が符号化した場合には、このフレームでは、第2符号化部120が出力した符号、例えば予測係数符号、残差符号などと判定部100が出力した符号化特定符号がまとめられる。或るフレームに対して第3符号化部130が符号化した場合には、このフレームでは、第3符号化部130が出力した符号と判定部100が出力した符号化特定符号がまとめられる。ビットストリームは、図10に示す分離部40に入力される。分離部40は、ビットストリームを逆多重化して、符号化装置1から出力されたフレームごとの符号や符号化特定符号を得る。これらの符号は復号装置2に入力される。
<復号装置のハードウェア構成例>
 復号装置2のハードウェア構成は、図1に例示する符号化装置1のハードウェア構成と同じであるからその説明を略する。
 例えば復号装置2の外部記憶装置には、復号処理のためのプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。以下、プログラム、データ、その格納領域のアドレスなどを記憶する記憶装置を単に記憶部と総称することにする。
 復号装置1の記憶部には、入力されたフレームに含まれる符号が、二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるフレームに対してロスレス符号化が適用されて得られた符号であるか否かを判定するためのプログラム、上記ロスレス符号化で得られた符号の復号を行う第1の復号のためのプログラム、入力されたフレームに含まれる符号が、二つの最小量子化インターバルに与えられた二種類の符号語以外の符号語が含まれるフレームに対して二種類のみの符号語が含まれるフレームに適用されたロスレス符号化とは異なる符号化が適用されて得られた符号である場合に、この符号の復号を行う第2の復号のためのプログラムが記憶されている。
 復号装置2では、記憶部に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAMに読み込まれて、CPUで解釈実行・処理される。この結果、CPUが所定の機能(判定部、第1復号部、第2復号部)を実現することで所望の復号処理が実現される。
<復号処理>
 次に、図10から図12を参照して、復号装置2における復号処理の流れを叙述的に説明する。
[ステップSd1]
 まず、復号装置2の判定部200は、入力されたフレームに含まれる符号が、二つの最小量子化インターバルに与えられた二種類の符号語“+0”、“-0”のみが含まれるフレームに対してロスレス符号化が適用されて得られた符号であるか否かを判定する。この判定は、入力された符号化特定符号によって判別される。
 判定部200は、入力されたフレームに含まれる符号が、二種類の符号語“+0”、“-0”のみが含まれるフレームに対してロスレス符号化が適用されて得られた符号である場合、つまり符号化特定符号が第1符号化が選択されたことを表す符号である場合、当該フレームを第1復号部210に送る制御を行い、それ以外の場合、つまり符号化特定符号が第2符号化が選択されたことを表す符号である場合、当該フレームを第2復号部220に送る制御を行う。
[ステップSd2]
 復号装置2の第1復号部210は、判定部200から送られたフレームについて、第1符号化であるロスレス符号化で得られた符号の復号を行い、この復号処理で得られた非線形PCM符号を出力する。
 第1符号化であるロスレス符号化で得られた符号の復号は、次のようにして達成される。第1符号化であるロスレス符号化が、例えば、ランレングス符号化を行い、このランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化(Rice符号化やGolomb符号化など)を行う二段階符号化である場合には、まず、入力されたフレームに含まれる符号に対して、Riceパラメータ(Golombパラメータ)を用いて復号を行い、この復号で得られた連続回数の系列に対して基準となった符号語によるランレングス符号化に対応する復号処理を適用することで、符号化装置1で符号化される前の非線形PCM符号を得ることができる。Riceパラメータ(Golombパラメータ)やランレングス符号化の基準である符号語などは、これらが符号化装置1および復号装置2で予め規定されていない場合には、符号化装置1から送信されたビットストリームを逆多重化して得られる、Riceパラメータ(Golombパラメータ)を表す符号や符号化方法を表す符号に従えばよい。Rice符号化、Golomb符号化、ランレングス符号化に対応する各復号処理は、例えば上記参考文献2に詳しいので、詳細な説明を略する。
 第1符号化であるロスレス符号化が、二種類の符号語を1ビットで区別して表す符号化である場合には、二進数のビットの並びがそのまま符号語の並びに対応するので、二進数のビットを対応する符号語に置換することで復号できる。
 第1符号化であるロスレス符号化が、二種類の符号語を1ビットで区別して表す符号化を行って得られる符号と、ランレングス符号化を行い、このランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化を行って得られる符号のうち、より少ない符号量を持つ符号である場合には、符号化装置1から送信されたビットストリームを逆多重化して得られる、いずれの符号を選択したかを表す符号に従い、上述した復号処理を行えばよい。
[ステップSd3]
 復号装置2の第2復号部220は、第2符号化であるロスレス符号化で得られた符号の復号を行い、この復号処理で得られた非線形PCM符号を出力する。復号処理の詳細は、第2符号化であるロスレス符号化の種類によって決まる。
 第2符号化であるロスレス符号化が、例えば、非線形PCM符号を線形PCM符号に変換してからこの線形PCM符号に対して線形予測分析を行い、得られた予測係数を使って求められた予測値を非線形PCM符号に変換して、元の非線形PCM符号と予測値の非線形PCM符号との残差を符号化するものである場合について、第2復号部220の復号処理を説明する(図12参照)。
 分離部60は、判定部200から送られたフレームに対して逆多重化を適用し、このフレームに含まれる残差符号と予測係数符号を得る。係数復号部70は、分離部60が出力した予測係数符号を復号して予測係数を出力する。第2復号部220の残差復号部221は、分離部60が出力した残差符号を復号して残差を出力する。加算部223は、この残差に線形予測部222が出力した予測値を加算して非線形PCM符号を出力する。線形予測部222は、係数復号部70が出力した予測係数と加算部223が出力した非線形PCM符号から線形予測による予測値を出力する。なお、分離部60を第2復号部220の必須の構成要素としない構成も許される。この場合、分離部60は、判定部200と第2復号部220との間に介在する、復号装置2の構成要素となる。
[ステップSd4]
 復号装置2の結合部80は、第1復号部210が出力した非線形PCM符号と第2復号部220が出力した非線形PCM符号をフレームの順番に従って連結して復号信号を出力する。この復号信号は、符号化装置1のバッファ部30の入力である非線形PCMで符号化された信号に対応する。
 上述の実施形態の変形例として、図13に示すような復号処理を採用することもできる。この復号処理は、符号化装置1の第1符号化部110が、非線形PCMの二種類の符号語を1ビットで区別して表現する符号化を実行して得られる符号と、ランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化(Rice符号化やGolomb符号化など)を行って得られる符号のうち、より少ない符号量を持つ符号を出力する構成である場合に対応する復号処理である。
 この復号処理では、第1復号部210が、非線形PCMの二種類の符号語を1ビットで区別して表現する二進符号化方法またはランレングス符号化で得られた符号語の連続回数の系列に対して整数符号化を行う二段階符号化方法を表す符号に対応した復号方法によって、判定部200から送られたフレームについて符号の復号を行い、この復号処理で得られた非線形PCM符号を出力する(図13のステップSd2a)。
 また、上述の実施形態の変形例として、図14に示すような構成を採用することもできる。この構成は、符号化装置1が第3符号化部130も備える場合に対応した構成であり、復号装置2に第3復号部230が追加されている。第3復号部230の機能は、記憶部に記憶されたプログラムがCPUで解釈実行・処理されることで実現される。
 復号装置2の判定部200は、入力されたフレームに含まれる符号が、(1)二つの最小量子化インターバルに与えられた二種類の符号語“+0”、“-0”のみが含まれるフレームに対してロスレス符号化が適用されて得られた符号である、(2)一種類の符号語のみが含まれるフレームに対してロスレス符号化が適用されて得られた符号である、(3)前記いずれのケースにも該当しない、のいずれであるかを判定する(図15のステップSd1b)。この判定は、入力された符号化特定符号によって判別される。
 判定部200は、入力されたフレームに含まれる符号が(1)に該当する場合、当該フレームを第1復号部210に送る制御を行い、(3)に該当する場合、当該フレームを第2復号部220に送る制御を行い、(2)に該当する場合、当該フレームを第3復号部230に送る制御を行う。
 第1復号部210の処理内容、第2復号部220の処理内容は既述のとおりであるから説明を略する。
 第3復号部230は、判定部200が符号化特定符号に従って出力したフレームについて、第3符号化であるロスレス符号化で得られた符号(一種類の符号語のみが含まれるフレームに対してロスレス符号化が適用されて得られた符号)の復号を行い、この復号処理で得られた非線形PCM符号を出力する(図15のステップSd2b)。この場合、復号装置2の結合部80は、第1復号部210が出力した非線形PCM符号、第2復号部220が出力した非線形PCM符号並びに第3復号部230が出力した非線形PCM符号をフレームの順番に従って連結して復号信号を出力する(図15のステップSd4b)。
 以上の各実施形態の他、本発明である符号化装置・方法、復号装置・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、非線形量子化方式はA則であってもよく、この場合は、上記実施形態の符号語“+0”と“-0”を“+8”と“-8”に読み替えればよい。また、上述の説明に現れる技術的特徴を互いに矛盾しない範囲で自由に組み合わせて実施できる。
 また、上記符号化装置、復号装置における処理機能をコンピュータによって実現する場合、符号化装置、復号装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記符号化装置、復号装置における処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、符号化装置、復号装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1    符号化装置
2    復号装置
100  判定部
110  第1符号化部
120  第2符号化部
130  第3符号化部
200  判定部
210  第1復号部
220  第2復号部
230  第3復号部

Claims (18)

  1.   二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された符号語が入力され、複数個の符号語によって構成されるフレームに、上記二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるか否かを判定する判定ステップと、
      上記フレームに上記二種類の符号語のみが含まれると判定された場合に、上記二種類の符号語のみが含まれるフレームについて、ロスレス符号化を行って得られる符号を出力する第1符号化ステップと、
    を含む符号化方法。
  2.   請求項1の符号化方法であって、
      上記第1符号化ステップは、
      上記フレームに含まれる上記二種類の符号語のいずれか一方の符号語の連続回数の系列に対してロスレス符号化を行うステップを含む、符号化方法。
  3.   請求項2の符号化方法であって、
      上記フレームに含まれる何れか一方の符号語の総数がもう一方の符号語の総数よりも多い場合、前記符号語の連続回数の系列は、上記総数が多いほうの符号語の連続回数の系列である、符号化方法。
  4.   請求項1の符号化方法であって、
      上記第1符号化ステップのロスレス符号化は、
      上記二種類の符号語を1ビットで区別して表す符号化である、符号化方法。
  5.   請求項2の符号化方法であって、
      上記第1符号化ステップは、
      上記二種類の符号語を1ビットで区別して表す符号化を行って得られる符号と、上記二種類の符号語のいずれか一方の符号語の連続回数の系列に対してロスレス符号化を行って得られる符号とのうち、より少ない符号量を持つ符号を出力するステップを含む、符号化方法。
  6.   請求項1から5のいずれかの符号化方法であって、
      さらに、上記二種類の符号語以外の符号語が含まれるフレームについて、上記第1符号化ステップにおける符号化とは異なる符号化を行う第2符号化ステップを含む、符号化方法。
  7.   請求項6の符号化方法であって、
      上記符号化方式は、非線形PCMであり、
      上記第2符号化ステップは、
      上記非線形PCMによって符号化された符号語からなる信号である第1非線形PCM符号を線形PCM符号に変換し、当該線形PCM符号に対して線形予測分析を行い、当該予測係数を使って求めた予測値を第2非線形PCM符号に変換し、上記第1非線形PCM符号と上記第2非線形PCM符号との残差を符号化するステップを含む、符号化方法。
  8.   請求項2又は5の符号化方法であって、
      上記ロスレス符号化は、Rice符号化あるいはGolomb符号化である、符号化方法。
  9.   請求項1又は2の符号化方法であって、
      上記符号化方式は、国際標準規格G.711に規定された非線形PCMであり、
      上記二つの最小量子化インターバルに与えられた上記二種類の符号語は、上記国際標準規格G.711に規定されたμ則またはA則の最小量子化インターバルに与えられた符号語である、符号化方法。
  10.   二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された符号語が入力され、複数個の符号語によって構成されるフレームに、上記二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるか否かを判定する判定部と、
      上記フレームに上記二種類の符号語のみが含まれると判定された場合に、上記二種類の符号語のみが含まれるフレームについて、ロスレス符号化を行って得られる符号を出力する第1符号化部と
    を含む符号化装置。
  11.   二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された複数個の符号語によって構成されるフレームのうち、上記二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるフレームがロスレス符号化された符号が入力され、当該符号の復号によって得られた信号を出力するステップを含み、
      上記ロスレス符号化は、上記フレームに含まれる上記二種類の符号語のいずれか一方の符号語の連続回数の系列に対してロスレス符号化を行うものである、復号方法。
  12.   二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された複数個の符号語によって構成されるフレームのうち、上記二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるフレームが第1符号化方式でロスレス符号化されており、上記二つの最小量子化インターバルに与えられた二種類の符号語以外の符号語が含まれるフレームが上記第1符号化方式とは異なる第2符号化方式で符号化されている、符号が入力され、当該入力された符号が上記第1符号化方式でロスレス符号化されたものであるか上記第2符号化方式で符号化されたものであるかを判定する判定ステップと、
      上記入力された符号が上記第1符号化方式でロスレス符号化されたものであると判定された場合に、上記符号の復号を行う第1復号ステップと、
      上記入力された符号が上記第2符号化方式で符号化されたものであると判定された場合に、上記第1復号ステップとは異なる方式で上記符号の復号を行う第2復号ステップを含む、復号方法。
  13.   二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された複数個の符号語によって構成されるフレームのうち、上記二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるフレームがロスレス符号化された符号が入力され、当該符号の復号によって得られた信号を出力する復号部を含む復号装置。
  14.  二つの最小量子化インターバルが存在しそれぞれに対して異なる二種類の符号語のそれぞれが与えられている符号化方法によって符号化された複数個の符号語によって構成されるフレームのうち、上記二つの最小量子化インターバルに与えられた二種類の符号語のみが含まれるフレームが第1符号化方式でロスレス符号化されており、上記二つの最小量子化インターバルに与えられた二種類の符号語以外の符号語が含まれるフレームが上記第1符号化方式とは異なる第2符号化方式で符号化されている、符号が入力され、当該入力された符号が上記第1符号化方式でロスレス符号化されたものであるか上記第2符号化方式で符号化されたものであるかを判定する判定部と、
      上記入力された符号が上記第1符号化方式でロスレス符号化されたものであると判定された場合に、上記符号の復号を行う第1復号部と、
      上記入力された符号が上記第2符号化方式で符号化されたものであると判定された場合に、上記第1復号部とは異なる方式で上記符号の復号を行う第2復号部を含む、復号装置。
  15.   請求項1の符号化方法の各ステップをコンピュータに実行させるための符号化プログラム。
  16.   請求項11又は12の復号方法の各ステップをコンピュータに実行させるための復号プログラム。
  17.   請求項1の符号化方法の各ステップをコンピュータに実行させるための符号化プログラムを記録した、コンピュータに読み取り可能な記録媒体。
  18.   請求項11又は12の復号方法の各ステップをコンピュータに実行させるための復号プログラムを記録した、コンピュータに読み取り可能な記録媒体。
PCT/JP2009/067482 2008-10-10 2009-10-07 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 WO2010041680A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010532937A JP5236005B2 (ja) 2008-10-10 2009-10-07 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
CN2009801386158A CN102171752B (zh) 2008-10-10 2009-10-07 编码方法、编码装置、解码方法、解码装置
US13/061,971 US8576927B2 (en) 2008-10-10 2009-10-07 Encoding method, encoding device, decoding method, decoding device, program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-264075 2008-10-10
JP2008264075 2008-10-10

Publications (1)

Publication Number Publication Date
WO2010041680A1 true WO2010041680A1 (ja) 2010-04-15

Family

ID=42100629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/067482 WO2010041680A1 (ja) 2008-10-10 2009-10-07 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体

Country Status (4)

Country Link
US (1) US8576927B2 (ja)
JP (1) JP5236005B2 (ja)
CN (1) CN102171752B (ja)
WO (1) WO2010041680A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010252146A (ja) * 2009-04-17 2010-11-04 Nippon Telegr & Teleph Corp <Ntt> 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106269A1 (en) * 2008-09-26 2010-04-29 Qualcomm Incorporated Method and apparatus for signal processing using transform-domain log-companding
KR101870962B1 (ko) * 2014-05-01 2018-06-25 니폰 덴신 덴와 가부시끼가이샤 부호화 장치, 복호 장치 및 그 방법, 프로그램, 기록 매체
JP7183776B2 (ja) * 2018-12-21 2022-12-06 日本電信電話株式会社 符号化装置、復号装置、これらの方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08289304A (ja) * 1995-04-17 1996-11-01 Mitsubishi Electric Corp データ圧縮回路
JP2004258603A (ja) * 2002-09-04 2004-09-16 Microsoft Corp レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
JP2004531995A (ja) * 2001-06-29 2004-10-14 クゥアルコム・インコーポレイテッド Golomb−riceコーディングを使用するdct圧縮

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0234038A (ja) * 1988-07-23 1990-02-05 Hitachi Ltd データ圧縮装置
US5999109A (en) * 1997-06-09 1999-12-07 3Com Corporation Frame-based spectral shaping method and apparatus
US6584154B1 (en) * 1998-11-26 2003-06-24 Oki Electric Industry Co., Ltd. Moving-picture coding and decoding method and apparatus with reduced computational cost
JP2000310992A (ja) * 1999-02-25 2000-11-07 Victor Co Of Japan Ltd コンテンツデータのスクランブル、デスクランブル方法、エンコード装置、記録媒体、配信方法及びユーザ端末
AU2003213439A1 (en) * 2002-03-08 2003-09-22 Nippon Telegraph And Telephone Corporation Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program
US7299190B2 (en) 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
US7433824B2 (en) 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
ES2297083T3 (es) 2002-09-04 2008-05-01 Microsoft Corporation Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel.
US7015837B1 (en) * 2004-10-29 2006-03-21 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
WO2006056100A1 (fr) * 2004-11-24 2006-06-01 Beijing E-World Technology Co., Ltd Procede et dispositif de codage/decodage utilisant la redondance des signaux intra-canal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08289304A (ja) * 1995-04-17 1996-11-01 Mitsubishi Electric Corp データ圧縮回路
JP2004531995A (ja) * 2001-06-29 2004-10-14 クゥアルコム・インコーポレイテッド Golomb−riceコーディングを使用するdct圧縮
JP2004258603A (ja) * 2002-09-04 2004-09-16 Microsoft Corp レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HORI ET AL.: "Taisu Asshin Fugoka sareta Onsei Shingo no Lossless Fugoka no Tameno Senkei Yosoku Bunseki", REPORT OF THE 2008 SPRING MEETING, THE ACOUSTICAL SOCIETY OF JAPAN, THE ACOUSTICAL SOCIETY OF JAPAN (ASJ),, - March 2008 (2008-03-01), pages 379 - 380 *
TAKEZAWA ET AL.: "Kinbo Heikinchi no Zodai ni Chakumoku shita Jikeiretsu Data Kagyaku Asshuku", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRICAL ENGINEERS OF JAPAN C, vol. 128, no. 2, February 2008 (2008-02-01), pages 318 - 325 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010252146A (ja) * 2009-04-17 2010-11-04 Nippon Telegr & Teleph Corp <Ntt> 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体

Also Published As

Publication number Publication date
US8576927B2 (en) 2013-11-05
CN102171752B (zh) 2013-05-08
JP5236005B2 (ja) 2013-07-17
US20110158328A1 (en) 2011-06-30
JPWO2010041680A1 (ja) 2012-03-08
CN102171752A (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
US8068042B2 (en) Coding method, decoding method, and apparatuses, programs and recording media therefor
US8558724B2 (en) Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium
JP5337235B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
WO2010139257A1 (zh) 压缩编码和解码的方法、编码器和解码器以及编码装置
JP5236005B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
JP2011528807A (ja) デジタル信号の圧縮または解凍のための方法、システムおよび装置
JP4598877B2 (ja) 符号化方法、この方法を用いた装置、プログラム、記録媒体
JP5253518B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP4871420B2 (ja) 符号化方法、符号化装置、復号方法、復号装置及びプログラム
JP4834179B2 (ja) 符号化方法、その装置、プログラム及び記録媒体
JP4918108B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
JP4918103B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP5013293B2 (ja) 符号化装置、復号化装置、符号化方法、復号化方法、プログラム、記録媒体
JP4787889B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
JP4848049B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP6885466B2 (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム
JP5006773B2 (ja) 符号化方法、復号化方法、これらの方法を用いた装置、プログラム、記録媒体
JPS59188250A (ja) 可変長符号化方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980138615.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09819214

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010532937

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13061971

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09819214

Country of ref document: EP

Kind code of ref document: A1