WO2004114527A1 - 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム - Google Patents

浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム Download PDF

Info

Publication number
WO2004114527A1
WO2004114527A1 PCT/JP2004/008726 JP2004008726W WO2004114527A1 WO 2004114527 A1 WO2004114527 A1 WO 2004114527A1 JP 2004008726 W JP2004008726 W JP 2004008726W WO 2004114527 A1 WO2004114527 A1 WO 2004114527A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
sample
bits
bit
integer
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2004/008726
Other languages
English (en)
French (fr)
Inventor
Takehiro Moriya
Dai Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to EP04746195.9A priority Critical patent/EP1638209B8/en
Priority to CN2004800116958A priority patent/CN1781253B/zh
Priority to JP2005507254A priority patent/JP4049792B2/ja
Priority to US10/554,739 priority patent/US7230551B2/en
Publication of WO2004114527A1 publication Critical patent/WO2004114527A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

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/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4087Encoding of a tuple of symbols

Definitions

  • the present invention relates to an encoding method for converting digital signals such as speech, music, and images into codes compressed to lower information content, a decoding method, an encoding apparatus, a decoding apparatus, and a program thereof. . Background art
  • Patent Document 1 proposes this combined compression method. This method is described in detail in the above-mentioned document, but will be briefly described below.
  • a digital input signal (hereinafter also referred to as an input signal sample sequence) is sequentially divided, for example, into frame units consisting of 1024 input signal samples in a frame division unit, and digital processing is performed for each frame unit.
  • the signal is lossless compression encoded.
  • This encoding may be any method suitable for the input signal as long as the original digital input signal can be reproduced to some extent at the time of decoding.
  • the digital input signal is voice
  • audio coding recommended as ITU-T G. 729 standard can be used, and if it is music, Twin VQ (Transform-Domain) adopted in MPEG-4.
  • Interleaved Vector Quantization coding etc. can be used.
  • the lossy compression code is locally decoded to generate an error signal between the local signal and the original digital signal. Note that, in practice, it is necessary to determine the error between the quantized signal and the original digital signal obtained when generating a non-reversible compression code that requires local decoding. The amplitude of this error signal is usually much smaller than the amplitude of the original digital signal. Therefore, lossless compression encoding of the error signal is smaller in information amount than lossless compression encoding of the original digital signal. Can.
  • each bit position of all samples in a frame of a sample sequence in which a sign absolute value (a polar number and a binary number of the absolute value) of this error signal is represented. , i.e. MSB, the MSB, ⁇ ⁇ ⁇ , each LSB, to generate a bit string that is the concatenation of bit sample sequence direction (time direction). That is, conversion of bit array is performed.
  • bit string consisting of 1024 bits at the same bit position connected in each link will be referred to as “equal bit ⁇ IJ” for convenience.
  • amplitude bit string a bit string of one word representing an amplitude value including the polarity of each sample. Since the error signal has a small amplitude, one or more of the most significant bits of each sample are all "(more than T, so that they are generated by concatenating at those bit positions, etc. Since all of the order bit strings are “0 ⁇ bit strings,” they can be represented by a predetermined short code, which can increase the lossless compression coding efficiency of the error signal.
  • These coordinate bit sequences are lossless compression encoded.
  • lossless compression coding for example, entropy coding such as Huffman coding or arithmetic coding ⁇ ⁇ using the case where there is a sequence in which the same code (1 or 0) is continuous, or the case where a sequence appears frequently Etc. can be used.
  • the lossless compression code is decoded, and the inverse conversion of the bit array is performed on the decoded signal, that is, the equidistant bit string is converted to the amplitude bit string for each frame, and the obtained error signal is sequentially obtained. Be regenerated. Also, the irreversible compression code is decoded, this decoded signal and the reproduced error signal are added, and finally, each added signal for each frame is sequentially connected to reproduce the original digital signal sequence.
  • Non-Patent Document 1 Various other methods are known as reversible coding methods that do not allow distortion of information such as voice and image.
  • the music information is shown, for example, in Non-Patent Document 1.
  • the conventional methods have all been compression code methods in which the waveform is directly converted to a PCM signal.
  • Floating-point values are separated into polarity, exponent, and significand.
  • the floating point format standardized as IEEE-754 shown in Figure 1 is 32 bits and It consists of 1 bit of polarity, 8 bits of exponent part, and 23 bits of mantissa part.
  • the polarity is S
  • the value represented by the 8 bits of the exponent is E in decimal
  • the binary number in the mantissa is M
  • the value in this floating-point format can be expressed as an absolute value in binary.
  • the bit sequence which is also "0" t "l" power is often random because of the nature of the floating point format. Even if bit sequence conversion is performed, a high compression ratio can not be expected due to entropy compression coding and the like. In addition, the sampling point sequence of the floating point format is significantly different from the original analog waveform, and the redundancy due to the correlation between samples disappears. Even if the lossless prediction encoding method shown in the above-mentioned Non-Patent Document 1 is applied, it is high. The compression rate can not be expected.
  • Patent Document 1 Japanese Patent Application Publication No. 2001-44847
  • An object of the present invention is to provide a lossless encoding / decoding method, devices thereof and programs thereof in which distortion with high compression ratio does not occur with respect to a digital signal of floating point format.
  • the first signal sample in the floating point format is truncated to reduce its absolute value and converted into the second signal sample in the integer format. Losslessly compress two signal samples to generate and output a first code string; Generating a difference signal of the floating point format corresponding to the difference between the second signal sample of the integer format and the first signal sample of the floating format, and generating the second signal sample of the integer format of the difference signal of the floating format It generates and outputs a second code string corresponding to a bit area that can be non-zero determined by the number of bits lower than the most significant 1 of.
  • the difference signal is efficient because it is output as difference information only for the digit that can be non-zero.
  • the first code ⁇ 1J is decoded and expanded to generate the first signal sample of integer form, and the number of bits lower than the most significant 1 bit of the first signal sample is calculated.
  • the present invention it is possible to efficiently compress a digital signal sequence in the floating point format.
  • FIG. 1 A diagram showing the format of 32-bit floating point number of ⁇ -754.
  • FIG. 2 is a diagram showing a functional configuration of the coding device according to the first embodiment of the present invention.
  • FIG. 3 A diagram for explaining the operation of the integer unit 12 in FIG.
  • FIG. 4 is a view showing an example of the processing procedure in the integer unit 12 in FIG. 2;
  • FIG. 5 A diagram showing the correspondence between the absolute value of an integer value and the bits of the floating-point significand indicating the value.
  • FIG. 6 is a diagram showing the relationship between the absolute value of an integer and the polarity, exponent and mantissa of a differential digital signal.
  • FIG. 7 is a diagram showing an example of a portion to be compression-coded in a differential digital signal sequence.
  • FIG. 8 is a diagram showing a functional configuration of a decoding device according to a first embodiment of the present invention.
  • FIG. 9 A diagram showing a functional configuration of a coding device according to a second embodiment of the present invention.
  • FIG. 10 A flowchart showing the digit adjustment processing procedure.
  • FIG. 11 is a diagram showing a functional configuration of a decoding apparatus according to a second embodiment of the present invention.
  • FIG. 12 is a diagram showing a modified functional configuration of the coding device of the second embodiment of the present invention.
  • FIG. 13 shows a modified functional configuration of the decoding apparatus according to the second embodiment of the present invention.
  • FIG. 14A A diagram for illustrating 16-bit integer conversion for the input floating-point signal X, which was originally a floating-point signal.
  • FIG. 14B A diagram for illustrating 16-bit integer conversion of floating point format signal X generated from 24-bit integer value signal.
  • FIG. 14C is a diagram for explaining 16-bit integerization of floating-point signal X generated from 16-bit integer value signal.
  • FIG. 15A is a diagram showing an area which can be nonzero of the mantissa of FIG. 9A.
  • FIG. 15B is a diagram showing an area that can be nonzero of the mantissa of FIG. 9B.
  • FIG. 16 is a diagram showing a functional configuration of a coding device according to a third embodiment of the present invention.
  • FIG. 17 is a diagram showing a functional configuration of a decoding device according to a third embodiment of the present invention.
  • FIG. 18 is a view for explaining an operation of bit scanning a coding of a mantissa part in a frame direction and encoding
  • FIG. 19 is a diagram showing an example of the configuration of the non-compression unit 17 that executes the code in FIG.
  • FIG. 20 is a view showing an example of the arrangement of an expansion unit 23 in the decoding apparatus corresponding to the code ⁇ in FIG. 19;
  • FIG. 21 is a diagram showing another example of bit scanning in the frame direction.
  • FIG. 22 shows another example of bit scanning in the frame direction.
  • FIG. 23 shows still another example of bit scanning in the frame direction.
  • FIG. 24 is a view showing an example of the arrangement of a code device according to the fifth embodiment.
  • FIG. 25 is a diagram showing an exemplary configuration of a decoding device according to a fifth embodiment.
  • FIG. 26 is a diagram showing the configuration when the present invention is implemented by a computer.
  • FIG. 2 shows a functional configuration of the embodiment of the coding device according to the present invention.
  • the encoding apparatus 100 includes an integer unit 12, a compression unit 13, a difference generation unit 14, and a compression unit 17. Further, the integer unit 12 has a number-of-digits calculation unit 12 A, and the difference generation unit 14 comprises a code-point unit 15 and a subtraction unit 16.
  • a sample sequence of a music signal is output from the signal source 11 as a sequence of 32-bit floating point format input digital signal samples (hereinafter simply referred to as input signal sample) X.
  • Each digital signal sample X is processed by processing the signal recorded in a 24-bit integer format, such as amplitude adjustment, adding effects, mixing, etc. It is a signal converted into the decimal point format, or a signal obtained by converting the signal originally recorded in the 24-bit integer format into the 32-bit floating point format and then processing the signal.
  • the input samples X in the floating point format are input to the integer unit 12 and converted into integer digital signal samples (hereinafter also referred to as integer value signal samples) Y for each sample.
  • integer value signal samples integer digital signal samples
  • the number of digits in the integer format may be 16 bits or 20 bits, but 24 bits will be used in the following description.
  • the upper 20 bits in the middle (M) is an absolute value binary representation, it is lower than the highest T 'of the integer part
  • the integer value obtained in this way is converted into a two's complement expression. That is, the polarity bit S of each digital signal sample X in the floating point format is used as it is as the most significant bit, and the remaining 23 bits are the 23 bits obtained in FIG. 3C.
  • the polarity S is "0" (positive).
  • the 23 bits are left unchanged, and if S is "'(negative), all 23 bits are logically inverted as shown in Fig.
  • the mantissa ⁇ includes 0 or more bits corresponding to the fraction part after the decimal point, and one sampling point 32-bit digital signal of one sampling point is divided by one sampling 24 Converted to a digital signal in integer format of bits.
  • the amplitude value of one sample may be considerably larger than the maximum value represented by 24 bits.
  • the upper 23 bits of “1M” with “1” added to the upper side are converted as they are into 2's complement representation as the signal sample Y of the 24-bit integer format.
  • the exponent part of the code decimal point value is normalized by adjusting it with ⁇ E so that it falls within the range of an appropriate integer for each frame, and the adjustment value ⁇ You may sign E as auxiliary information.
  • the bit inversion is performed on bits 23 to 23, and is added to the least significant bit to obtain a complement value. If the exponent part E is 150 or more in step S1, the exponent part E is set to 150 in step S4, and a signal sample Y in integer form is generated from the upper 23 bits of 1M ⁇ in step S5.
  • the series of integer value signal samples Y converted by the integer conversion unit 12 as described above is compressed by the efficient lossless compression method using correlation of waveform values as integer values in the compression unit 13 and the code is encoded. Output as column Ca.
  • the lossless compression in the compression unit 13 is, for example, shown in the non-patent document 1, and for each sample, the difference from the predicted value (integer value) is determined, and the series of the difference is After the bit array conversion is performed as described above, in other words, entropy coding may be performed for the coordinate bit sequence. That is, the series of integer-valued signal samples Y is close to the original analog signal waveform of the series of input digital signal samples X in the floating point format of the signal source 11. Therefore, this series of input samples X can be subjected to high efficiency and lossless compression coding by using prediction and transformation to remove redundancy due to correlation between signal samples.
  • the difference generation unit 14 generates a difference signal (error) Z between the integer value signal sample Y and the input signal sample X of the corresponding floating-point format from the signal source 11.
  • the integer-valued signal sample Y is reconverted to the floating-point signal sample Y ′ by the floating-point unit 15, and the reconverted floating-point signal sample Y ′ is the original floating-point input signal.
  • Sample X Force Subtractor 16 is subtracted and the difference signal Z in the floating point format is It is generated.
  • the conversion in the floating-point unit 15 can be converted into a 32-bit floating-point input signal without any exception or when there is a 24-bit integer format digital signal of one sampling.
  • the exponent E of the digital signal sample X in the original floating-point format is often less than 149.
  • the difference signal Z between the signal sample Y 'and the input signal sample X in the original floating-point format is Equal to the fractional value of the input signal sample X.
  • the polarity is the polarity S of the input sample
  • the exponent is E-150
  • the mantissa is the difference between the mantissa of the input sample X and the signal sample Y '.
  • the compression unit 17 reverses the difference signal Z for each corresponding sample between the integer value signal sample Y and the input sample X in the floating point format, that is, the difference signal Z in the floating point format from the difference generation unit 14. Compress and encode, and output code string Cb.
  • the compression unit 17 uses only the number n of the integer part digits of the mantissa output from the integer conversion unit 12 and inverts only the possible digits other than ⁇ 0 for each sample in the difference signal Z in the floating point format. Compress and encode each input sample X in floating-point format
  • the bit corresponding to the integer part M in the mantissa part M and the bit corresponding to the fraction part (fractional value) M are in the relation shown in FIG.
  • the mantissa part M is
  • E-E ⁇ _1 There is a case of E-E ⁇ _1.
  • Section 23 bit is ain.
  • the fraction whose mantissa is not alHT is not alHT
  • ⁇ lx ⁇ ⁇ ⁇ represents an integer X
  • X represents an integer part ⁇ in the mantissa ⁇ , 2 X ' ⁇ ⁇ 2 of 2
  • the 2 bits indicate the decimal value ⁇ .
  • the 1st bit represents the fractional value ⁇ ⁇ .
  • the fractional value M is represented by (23-k) bits.
  • differential signal Z is the input sample X of 32-bit floating point format minus the sample Y 'in which the integer value signal sample Y is converted to the 32-bit floating point format, differential signal Z is shown in FIG. It will be shown.
  • absolute value of integer value X power SO the above-mentioned E-E
  • the upper (k-1) digits (bits) of the ⁇ ⁇ are always "( ⁇ and the remaining ⁇ ' ⁇ 23-(k-1) bits of ⁇ are
  • the compression unit 17 uses the number n of digits of the integer part of the significand portion input from the integer conversion unit 12 to generate the corresponding difference signal Z
  • the coding of the differential signal Z by the compression unit 17 is performed by E-E of the input signal sample X as described above.
  • the differential signal Z is identical to the input signal sample X, and hence all 32 bits of the input signal sample X are encoded as the differential signal Z.
  • the differential signal ⁇ may have a large number of digits after the decimal point, in which case the efficiency of encoding may be low. Therefore, the non-zero digit of the differential signal ⁇ may be output as the code string Cb without being encoded. Alternatively, the amount of information may be compared between when the difference signal Z is encoded and when it is not encoded, and the smaller amount of information may be selected.
  • the exception signal y indicates that the exponent E is fixed to 150 in the integer unit 12
  • the difference generation unit 14 uses the difference (E-150) between the value 150 of the exponent part E and the exponent part E of the digital signal sample X as the exponent part, and the difference of the mantissa part M as the mantissa part Generate a difference signal Z in floating point format.
  • the compression unit 17 losslessly compresses and encodes the difference signal Z, and outputs the result as a code sequence Cb.
  • FIG. 8 shows an embodiment of a decoding apparatus 200 according to the present invention corresponding to the encoding apparatus 100 shown in FIG.
  • the input code string Ca is losslessly expanded and decoded by the expansion unit 21.
  • This lossless decompression decoding method corresponds to the lossless compression coding method performed by the compression unit 13 in FIG. 2 and performs processing reverse to that processing. Therefore, this lossless decompression decoding generates a digital signal sample Y in the form of a single integer of 24 bits. Further, in the number-of-digits output unit 21A in the decompression unit 21, the number n of digits lower than the highest digit "1" of each decompressed and sampled sample is obtained as the number of digits of the integer part in the mantissa part of the floating point format Give to part 23.
  • the expander 23 losslessly decodes the input code string Cb.
  • This lossless decompression decoding method corresponds to the lossless compression method performed by the compression unit 17 in FIG. Therefore, in the extension unit 23, a differential (error) signal Z of 32-bit floating point format for each sampling is assembled and output from the expanded and decoded bit string by the assembling unit 23A based on the digit number n.
  • the differential signal Z is output as it is without being compressed by the compression unit 17 in the encoding device 100 of FIG. 2
  • the code string Cb received by the decompression unit 23 of the decoding device 200 is used as it is as the differential signal Z Do.
  • the digital signal sample Y ' is added to the floating point differential signal Z from the decompression unit 23 and added for each corresponding sample in the combining unit 24 to reproduce the digital signal sample X in the floating point format.
  • PCM signals of 24-bit and 46-bit integer values that are not ordinary floating-point signals may be converted to floating-point numbers to create a sequence of code objects.
  • FIG. 9 An example of a functional configuration of the encoding device 100 of the second embodiment is shown in FIG. 9 with the same reference numerals assigned to portions corresponding to those in FIG.
  • a series of digital signal samples X in the floating point format is divided by the sampling phase dividing unit 31 for each of a plurality of fixed number of samples or for each frame, and the digit adjustment unit for each division unit. Adjust the digit part of exponent part E as follows so that the number of digits of signal format Y in integer format can be within a suitable size, that is, at least 24 bits when converted to integer format in 32. .
  • (B) Floating point format digital signal sample X The amplitude of a small integer is converted to a smaller amplitude
  • the polarity of the most significant bit in the 24 bits of the digital signal sample Y except for the polarity S of MSB power 21 23 bits always In the case of all 0's, the amplitude is represented by only a bit, so the waveform of the series of digital signal samples Y in integer format is an analog waveform. It is impossible to obtain the effect of converting into the digital signal sample Y in integer form, that is, the lossless compression code at a high compression rate.
  • the mantissa M is all bits '0' or M As for SB only ⁇ 'and all others "0 ⁇ , most of the bits become" 0 ".
  • the significand part ⁇ of the input digital signal sample X in the sign-point format can take a large value even when the amplitude of the signal sample is small, it corresponds to the error (difference) from the digital signal sample X in the floating point format.
  • the mantissa part ⁇ of the difference signal ⁇ X in the floating point format has a large amplitude, that is, the number of bits that become 0 for all samples decreases, and the compression efficiency can not be improved.
  • digit adjustment unit 32 adds only adjustment information ⁇ to each exponent part for each division unit, and a lot of information in mantissa part is a digital signal sun of integer format. Pull to be included in the bag. In this case, make sure that the number of bits per sample is greater than 24 when converted to integer format.
  • the adjustment information ⁇ (integer of arbitrary polarity) in the digit adjustment unit 32 can be changed in division units.
  • the digit adjustment unit 32 checks the maximum of the exponent part ⁇ for each division unit, and determines the adjustment information ⁇ so that the information of the mantissa part ⁇ can be used within a range in which one sample does not exceed 24 bits when converted to integers.
  • FIG. 10 shows the procedure for digit adjustment performed by the digit adjustment unit 32 for each frame. Here, a case is shown where digit adjustment is performed for each of the sample points divided by the sample line division section 31.
  • step S3 150 is subtracted from the exponent part E of the ith sample to obtain the difference ⁇ E.
  • step S4 it is judged whether or not the ⁇ repulsive force S one previous ⁇ ⁇ is larger, and if not larger, the step S6 i i-l
  • is temporarily stored as ⁇ .
  • step S10 If it is 1 or more, it will move to step S10.
  • step S8 If not more than ⁇ ⁇ in step S8, ⁇ ⁇ is predetermined in step S9-K (K max max
  • step S10 Is determined to be an integer of 1 or more) or less, and if so, the process proceeds to step S10.
  • the row adjustment is performed by ⁇ , the obtained E ′ is used as a corrected ⁇ , the integer conversion unit 12 is provided with ⁇ samples after the digit adjustment, and the process is ended. Less than ⁇ ⁇ S-K at step S9
  • step S9 ⁇ being equal to or less than ⁇ K is a case where the approximation of the waveform in which the amplitude of X is smaller is bad, and max
  • K may be set to a value of about 20-22.
  • the conversion to the digital signal sample Y in integer format at 12 and the series of the signal sample Y is losslessly compressed and encoded by the compression unit 13 to generate the code string Ca, as in the first embodiment.
  • the area of the bit that can be nonzero of the mantissa part M is coded by the compression coding unit 17 and the code string Cb is output.
  • the adjustment information ⁇ has its polarity, that is, addition or subtraction, in the auxiliary coding unit 33 so that the digital signal sample X in floating point format in the coding can be reversibly obtained during decoding.
  • An auxiliary code string Cc is generated.
  • the reverse digit adjustment unit 34 in the difference generation unit 14 performs digit adjustment on the digital signal sequence Y in integer format in reverse by adjustment information ⁇ E for each corresponding division unit. That is, when the negative adjustment information ⁇ E is added in the digit adjustment unit 32 (in the case where ⁇ E is negative in step S10), it is sent to the reverse digit adjustment unit 34 and the most significant bit of the digital signal of the corresponding sample is removed. If the 23 bits are shifted downward by ⁇ bit, each bit freed by the shift is padded with 0, and the positive adjustment information ⁇ E is subtracted (if ⁇ E is positive in step S10), the corresponding sample is obtained. Shift the 23 bits of the digital signal except for the most significant bit of the digital signal by ⁇ bit, that is, ⁇ Overflow the bits and fill the lower ⁇ bits with 1s to make 23 + ⁇ bits.
  • a digital signal sample Y of integer format obtained by reverse-adjusting this digit is converted to a digital signal sample Y 'of floating point format by floating point unit 15, and digital signal sample ⁇ ' of this floating point format and original floating
  • a subtraction unit 16 obtains the difference between the digital signal sample X in the decimal point format and the difference signal ⁇ , and the compression unit 17 performs lossless compression coding on the difference signal ⁇ in the floating point format to output a code string Cb.
  • the code sequences Ca and Cb of the division unit and the auxiliary code Cc are output.
  • the differential signal Z may not be compressed and encoded, and only the fraction part may be output as differential information as it is.
  • the sample sequence dividing unit 31 may be provided so that the signal sample X in the floating point format, which is divided into sample series as shown by a broken line in FIG. 9, is supplied to the digit adjusting unit 32 and the subtracting unit 16.
  • FIG. 11 shows an example of the functional configuration of the decoding apparatus 200 corresponding to the encoding apparatus 100 shown in FIG. 9, with parts corresponding to the decoding apparatus 200 in FIG. 8 being assigned the same reference numerals.
  • the code string Ca is subjected to lossless expansion decoding in a division unit in the expansion unit 21 to generate a sequence of digital signal samples Y in integer format.
  • the auxiliary code Cc is decoded by the auxiliary decoding unit 41 to generate adjustment information ⁇ E.
  • the digit correction unit 42 performs digit correction E + ⁇ E on the digital signal sample Y in the integer format according to the adjustment information ⁇ E.
  • the digit correction unit 42 converts integer digital signal samples into floating point digital signal samples in the floating point unit 22, and this difference information Cb is losslessly expanded and decoded in the extension unit 23.
  • the resulting floating point difference signal Z and the synthesis unit 24 carry out the color calculation.
  • the added and synthesized digital signal is, if necessary, connected to a continuous sample sequence by a connecting unit 43 to obtain a sequence of digital signal samples X of the reproduction floating point format.
  • the floating-point unit 15 does not perform reverse digit adjustment on the digital signal sample Y in integer format.
  • the difference between the converted digital signal sample of the floating point format and the digital signal sample of the floating point format adjusted by the digit adjustment unit 32 is calculated by the subtraction unit 16 by converting it into a digital signal sample of several point format. Also, it can calculate the difference signal Z in floating point format. That is, any one of the configurations shown in FIGS. 2, 9 and 12 can be obtained by obtaining the difference signal between the digital signal sample X of the original floating point format and the digital signal sample Y of the integer format in the floating point format. It is also good.
  • the digital signal sample Y in the integer format reversibly expanded and decoded by the expansion unit 21 is first converted by the floating point unit 22 to the floating point format
  • the digital signal sample signal is converted into a digital signal sample, and this and the differential signal Z in the floating-point format reversibly expanded and decoded in the expander 23 are added and synthesized in the synthesizer 24 and then the exponent portion of the synthesized digital signal
  • the E may be stored in the digit correction unit 42 with adjustment information ⁇ decoded by the auxiliary decoding unit 41, and may be subjected to digit correction to obtain a digital signal sample signal X in the reproduction floating point format.
  • the difference signal is converted into integers by rounding off the fractional part of the input signal sample X in the floating point format, and using the fact that the integer part in the mantissa part of the difference signal Z becomes ai 'O'.
  • the case of increasing the compression efficiency of Z is shown in the third embodiment.
  • the integer part also cuts off a predetermined number of bits to generate an integer value signal sample Y.
  • it can be applied to any integer digitization of 1 to 23 bits, which indicates the case of further truncating 8 bits in 16-bit integer digitization by rounding off after the decimal point.
  • the input signal sample X in the floating point format originally a sign-point signal or a 24-bit integer-value signal or a force 16-bit integer-value signal?
  • the input signal sample in floating point format X power S 24 bits including 1 bit of polarity if originally in floating point format
  • the case of an integer value signal and the case of a 16 bit integer value signal including one bit of polarity will be sequentially described.
  • decimal point position indicating the boundary is indicated by ⁇ .
  • a 16-bit integer-valued signal sample ⁇ ⁇ ⁇ is shifted upward by 8 bits, ie, the least significant 8-bit ⁇ 0 is added and converted to a floating-point signal sample Y '.
  • the exponent part ⁇ of the floating-point signal sample Y ' is +8, which is the same value as the exponent part ⁇ of the input signal sample X.
  • the mantissa part ⁇ of the signal sample Y' is the upper 8 bits.
  • the significand portion ⁇ of the difference signal ⁇ is the difference between the significand portion ⁇ and ⁇ , and the high order significand portion ⁇ of ⁇
  • the nonzero area of the mantissa M decreases as the number of bits (n-8) in the integer part increases, as shown in FIG. 15A.
  • Fig. 14B shows the case where the input signal sample X in the floating point format is generated from the 24-bit integer value signal. Therefore, the mantissa part of the sample X is represented by the decimal point P as shown in Fig. 14B.
  • the range of bits that can be zero, and the lower side of all bits is “( ⁇ .
  • the range of bits that can be nonzero becomes lower as shown in FIG. 15B as the number of bits in the integer part increases. I'm going to shift.
  • Figure 14C shows the case where a floating-point-type input signal sample is created from a 16-bit integer-valued signal sample containing one polarity bit. Therefore, the 23-bit mantissa
  • the integer part of the most significant ( ⁇ -8) digit becomes “0” as in the case of FIG. 14B.
  • the lower 8 bits that follow are in a range that can take non-zero, and all further lower bits become "0". Also in this case, as the number of digits in the integer part ( ⁇ -8) increases, as shown in FIG. 15B, the number of lower-order “0” digits that can become nonzero also decreases, but becomes smaller than eight. There is no.
  • the original signal of the input signal sample X in code-point format is either a 24-bit integer signal, a 16-bit integer signal, or a floating-point signal.
  • a 16-bit integer signal sample ⁇ ⁇ ⁇ ⁇ by 8-bit truncation shift the decimal point to the upper side with the exponent part ⁇ of the input signal sample X as ⁇ -8 and shift the integer part of the mantissa ⁇
  • ⁇ _8 bit which is “ ⁇ ” in the example shown
  • the 16-bit integer value signal sample Y obtained in this manner may be compressed and encoded as in the embodiment of FIG.
  • the differential signal Z its mantissa M
  • compression encoding of the significand part of the differential signal Z does not encode the most significant (nm) bit “0”, and the lower m bits of non-zero area and the remaining lower bits (23 It is possible to achieve more efficient coding by separately dividing the area into -n) bit areas.
  • FIG. 16 shows an example of the coding apparatus with the same reference numerals as in FIG.
  • the decimal point position is shifted to the upper side by 8 bits by setting the exponent E to E-8 as described in FIGS. 14A, 14B, and 14C in the digit adjustment unit 31.
  • the signal sample ⁇ is losslessly compressed by the compression unit 13 and the code Ca is output.
  • this 16-bit integer format signal sample Y has the same number of bits 8 as the digit adjustment unit 31 in the reverse digit adjustment unit 32 but in the reverse direction, that is, by inserting an 8-bit "0 ⁇ "
  • the upper 8-bit shift is performed to obtain a 24-bit integer format signal sample, which is converted to a floating-point format signal sample by the floating-point unit 15.
  • the difference between the floating point format signal sample and the input signal sample X is taken by the subtractor 16 to generate a floating point differential signal Z.
  • the compression unit 17 is composed of a distribution unit 33 and two compression units 17 h and 17 c.
  • the 8 bits of the exponent part E and the lower 23-8 bits of the mantissa part are distributed as the digit part Zh, and the upper 8 bits are distributed as the digit part Zc.
  • the digit part Zh is losslessly compressed and encoded by entropy coding or the like in the compression part 17h and the digit part Zc in the compression part 17c, respectively, and is output as code strings Cbl and Cb2.
  • the compression section 17c when the input signal sample X is only general floating point, when it is a 24-bit integer value, it is non-zero regardless of when it is a 16-bit integer value.
  • the lower eight bits of (h + 1) -th (h + 8) bits that can be lossless compression coding are performed. In this way, the compression section 17 in FIG. 2 makes it possible to achieve more efficient compression as a whole than in the case where all the non-zero bits in the differential signal Z can be put together and compressed.
  • FIG. 17 An embodiment of a decoding device corresponding to the coding device shown in FIG. 16 is shown in FIG. 17 by attaching the same reference numerals to portions corresponding to the decoding device in FIG.
  • the code string Ca is subjected to lossless expansion decoding by the expansion unit 21 to decode a signal sample Y of one sample 16-bit integer format.
  • the decompressing unit 23 is composed of two decompressing units 23h and 23c and a combining unit 41.
  • the code sequences Cbl and Cb2 are subjected to lossless decompression decoding by the decompressing units 23h and 23c, respectively, and these decoded bit sequences Bh and Be are input to the synthesis unit 41.
  • n of the integer value of each sample decoded by the expansion unit 21 is also input to the synthesis unit 41.
  • n ⁇ 0 H 15-n bits are taken out from the output bit string Bh of the decompression unit 23h
  • 8 bits are taken out from the output bit ⁇ IJBC of the decompression unit 23c, these are the lower h bits in the 23 bits of the mantissa M and Composed as 8 bits of order.
  • h bits and 8 bits are taken out of bit string Bh and Be respectively and synthesized.
  • the decoded 16-bit integer format signal sample Y is shifted to the high order by the digit adjustment unit 42 by inserting the lower 8-bit "0 ⁇ ⁇ " to obtain the 24-bit integer format signal sample.
  • the floating point unit 15 converts the signal sample into a 32-bit floating point signal sample, and this signal sample ⁇ ′ and the difference signal ⁇ are synthesized by the combining unit 24 to obtain the signal sample X in the floating point format. Be regenerated.
  • integer format signal sample ⁇ is one sample 16-bit, 24 bit power
  • An arbitrary number m of 24 bits or less can be used as the number m depending on the number m of integer format signal sample Y per sample The number of digits that can be non-zero can be determined based on the number change.
  • the input floating point format signal sample X may be divided into, for example, a frame of every 1024 samples, or a plurality of consecutive samples, and compression coding may be performed for each divided unit. As described above, when compression encoding is performed for each division unit, the number of bits to be integerized is determined as convenient for each division unit, and the number of bits may be specified.
  • the upper n bits corresponding to the integer part of the mantissa part M of each sample of the difference signal Z are all “0”
  • the bit string E obtained by sequentially extracting the bits at each bit position j in the amplitude direction of each sample in the array in the frame direction is encoded into j.
  • Arithmetic coding and Golomb coding as entropy coding are convenient because they can be layered lower.
  • each difference in the frame is known.
  • the bit length h 23_n of the fraction part in the mantissa part of the signal Z can be known. Therefore, for each decoded bit string E,
  • the sample position number i in the frame is sequentially scanned, and the bit position j in the amplitude direction is compared with h for each sample number, and if j ⁇ h, the bit value in the bit string Ej is assigned to the bit position (i, j)
  • the fractional part of the 18 mantissa can be reconstructed.
  • the 23 bits of the mantissa part M of the differential signal can be reconstructed by inserting the n bits “0 ⁇ ⁇ ” corresponding to the sampling into the upper part thereof.
  • FIG. 19 shows a functional configuration when the coding method of FIG. 18 is applied to the compression code unit 17 of FIG.
  • One frame of the difference signal Z from the difference generation unit 14 (see FIG. 2) Z Z is input
  • Control unit 1 the corresponding integer part digit number n n is stored in the storage unit 17B.
  • 7C is the top n i l of the significand of the input differential signal Z based on the number n of integer partial digits of each sample i
  • the fractional part of h 23_n bits excluding bits is taken into buffer 17A. As a result, the arrangement of the fractional part in the mantissa shown in FIG. 18 is obtained.
  • the bit string E is extracted to obtain a bit string E, which is given to the compression unit 17D.
  • the buffer 17A, the storage unit 17B j, and the control unit 17C constitute a bit string generation unit.
  • the compression unit 17D losslessly compresses the bit string E
  • FIG. 20 shows a functional configuration of the decompression unit 23 as differential signal decoding means in FIG. 7 corresponding to the compression coding unit 17 in FIG.
  • the received code Cb is decoded by the decoding unit 23D to obtain a bit string E.
  • one frame worth n1 n of integer digit number n from digit calculation unit 21A (FIG. 7) is stored in storage unit 23B, and control unit 23C corresponds to the end corresponding to sample number i in the order
  • the control unit 23C inserts an n bit "0" into the upper part of the fraction corresponding to each sample i in the buffer 23A, and the difference signal The mantissa part is generated and given to the combining part 24 (FIG. 7) as the difference signal Z.
  • the browser 23A, the storage unit 23B, and the control unit 23C constitute a reconstruction unit.
  • the sign of the significand portion of the differential signal in FIG. 18 shows a case where bits are collected in the frame direction at each bit position j to form a bit string E, and the sign is processed.
  • Other ways of chewing are possible.
  • bits are continuously scanned from the bit of the last sample in bit position j to the bit position of the first sample in bit position j + 1 to collect bits over a plurality of predetermined bit widths in the amplitude direction of the sampling.
  • a plurality of bit strings E, E, ... are generated.
  • Arrays can be rearranged.
  • FIG. 22 shows yet another example of bit scanning.
  • the end of the frame at bit position j is repeated by repeating multiple bit widths continuously at the beginning of the frame at bit position j + 1, but in this case, the multiple bits width from the MSB side in the amplitude direction Scan and repeat from the end of the bit width of each sample i to the beginning of the bit width of the next sample i + 1 until the last sample of the frame.
  • bit positions for which the condition h ⁇ j is skipped.
  • FIG. 23 is for explaining the exception operation in the bit scan of FIG. If truncation causes the integer part to be zero, ie if E-E becomes negative, the exponent part is also
  • the 24-bit integer signal sample number is multiplied by 1.5, then converted to a floating-point signal, and then truncated to a 16-bit integer for sign encoding.
  • the 24-bit integer value signal sample is multiplied by 1.5, it becomes a bit that can be at least 1 decimal place and 1 non-zero. That is, the first digit after the decimal point P of the mantissa part M of the sample X shown in FIG. 14B can be nonzero. Therefore, the mantissa part M of the difference signal
  • the area that can be non-zero increases by one bit to the lower side to become 9 bits, but even in this case, all the lower side than the 9 bits become “0”, so the method of FIGS. Enables efficient coding. Also, since the frequency of non-zero (that is, ' ⁇ ') may be shifted by digit even if not all zero, it is possible to apply lossless code adaptively according to the bias.
  • the sign method of the mantissa in FIGS. 18-23 described above has been described as an example applied to the first embodiment based on FIG. 2, the truncation process is performed on the 16-bit integer value described in FIG. 14A-17. Is also applicable.
  • the compression unit 17 of FIG. 16 may be configured as shown in FIG. 19, and the extension unit 23 of FIG. 17 may be configured as the extension unit of FIG.
  • the samplings may be rearranged and scanned so that the number of digits in the fractional part is the same. For example, collect only samples with 23 digits, then sample the sample with 22 digits, and collect the sample with successively smaller digits. The reverse of this reordering is uniquely determined without additional information, making it easier to manage the number of samples to scan.
  • the MSB of the fractional part of the mantissa part M of the difference signal Z is aligned at the same position for each frame, and the bit string is extracted in the sampling column direction, and an example of coding is shown.
  • the LSBs of non-zero fractional parts are aligned at the same bit positions to form a sample string of integer values, and compression coding is performed excluding redundancy in the sample string direction, as shown in FIG.
  • An example of the configuration of the code device when applied to the device 100 is shown in FIG.
  • the compression encoding unit 17 encodes a fractional part extraction unit 17E, an intraframe averaging unit 17F, and a subtractor 17G. It consists of parts 17D1 and 17D2.
  • the intraframe averaging unit 17F calculates the average F of the extracted integer value samples in the frame for each frame, and encodes the average value F by the encoding unit 17D1.
  • the error sample A F is subjected to a prediction code ⁇ by a code 17 portion 17D2, and the prediction error is losslessly compressed and a code string Cb2 is output.
  • the prediction parameters may be sent separately as auxiliary information, or may be adaptively updated commonly between the coding device and the decoding device.
  • FIG. 25 shows an example of the decoding device corresponding to FIG.
  • This configuration is a modification of the configuration of the decompression unit 23 in the decoding apparatus of FIG.
  • the extension 23 is composed of extensions 23B and 23C, an adder 23D and an assembly 23A.
  • the decompressing unit 23B decompress-decodes the received code sequence Cbl and outputs an average value F for each frame. Shin ave
  • the extension unit 23 C performs expansion decoding on the received code sequence Cb 2 to obtain a prediction error, and further performs prediction decoding to output an error sample ⁇ F.
  • the error sample ⁇ F is the average value F and the adder 23 ave
  • the assembling unit 23A assembles the difference signal Z using the integer value sample F and the digit number n of the digit number calculating unit 21A of the extension unit 21.
  • the signal sample X is synthesized from the obtained difference signal Z and the floating-point-form signal sample Y 'of the integer value signal sample Y in the same manner as in FIG.
  • This fourth embodiment can also be applied to the third embodiment, in which case the compression encoding unit 17 and the decompression unit 23 in FIGS. 16 and 17 are the compression encoding unit in FIGS. 24 and 25, respectively. And extension section 23 may be substituted.
  • the encoding device 100 shown in FIGS. 2, 9, 12, 16, and 24 has a RAM 61, a CPU 62, a hard disk 63, an R M 64, a transmitting and receiving unit 65 connected to one another by a bus 68 as shown in FIG. It may be made to function by a computer 600 having an input / output unit 66, an audio / video input / output unit 67 and the like.
  • a program for starting the computer is stored in the ROM 64.
  • a screen 63 stores an operating system program of the computer.
  • the program for executing the functional configuration of the encoding apparatus 100 according to the present invention may be read in advance from the recording medium 71 such as a CD-ROM or DVD into the hard disk 63 by the CD / DVD drive 66 or through the communication line Download it and load it on the hard disk 63.
  • a sequence of digital signal samples X in the floating point format to be encoded is externally fetched, for example, by the audio-video input / output unit 67, and temporarily stored in the hard disk 63 operated as a buffer.
  • a program for executing encoding is read from the hard disk 63 into the RAM 61, and the execution program is executed by the CPU 62.
  • the encoded result Ca, Cb (or Z), Cc, etc. may be transmitted through the communication line by the transmission / reception unit 65, or may be recorded and stored in the CD or DVD recording medium by the CD / DVD drive 66. .
  • the decoding apparatus 200 shown in FIGS. 8, 11, 13, 17, and 26 is implemented by the computer shown in FIG. 24, a program for executing the functional configuration of the decoding apparatus is similarly stored in the hard disk 63.
  • the transmitter / receiver 65 executes the decoding program on the codes Ca, Cb (or Z) and Cc received from the communication line.
  • the decoded result is reproduced and output to the display 73 and the speaker 74.
  • the present invention can be applied not only to music signals but also to audio signals, image signals and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 各サンプルが極性S、8ビットの指数部E、23ビットの仮数部Mよりなる浮動小数点形式信号サンプルXを、整数化部12で切り捨てにより24ビット整数形式信号サンプルYに変換し、整数信号サンプルYを圧縮部13で符号化して符号列Caを出力する。差分生成部14で整数信号サンプルYの最上位の1より下位の桁数nに対応し、入力信号サンプルXの仮数部Mの下位23-nビットを取出し差分信号Zを生成し、差分信号Zを圧縮部17でエントロピィ符号化して符号列Cbを出力する。あるいは差分信号Zを圧縮せず、そのまま出力する。

Description

明 細 書
浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、そ の各装置、その各プログラム
技術分野
[0001] この発明は音声、音楽、画像などのディジタル信号をより低い情報量に圧縮された 符号に変換する符号化方法、その復号化方法、符号化装置、複号化装置、これらの プログラムに関する。 背景技術
[0002] 音声、画像などの情報を圧縮する方法として、歪を許さなレ、可逆な符号化方法があ る。
圧縮率の高レ、非可逆の符号化を行い、その再生信号と原信号の誤差を可逆に圧 縮することを組み合わせることで高い圧縮率で可逆な圧縮が可能となる。この組み合 わせ圧縮方法が特許文献 1に提案されている。この方法は前記文献に詳細に示され ているが、以下に簡単に説明する。
符号器では、ディジタル入力信号 (以下、入力信号サンプル系列とも呼ぶ)が、フレ ーム分割部で、例えば 1024個の入力信号サンプルからなるフレーム単位に、順次分 割され、このフレーム単位ごとにディジタル信号が非可逆圧縮符号化される。この符 号化は、復号化時に元のディジタル入力信号をある程度再現できる方式であれば、 入力信号に適した如何なる方式でもよい。例えば、上記ディジタル入力信号が音声 であれば ITU-Tの G.729標準として勧告されている音声符号化などが利用でき、音楽 であれば MPEG-4で採用されている Twin VQ (Transform-Domain Weighted
Interleaved Vector Quantization)符号化などが利用できる。この非可逆圧縮符号は 局部復号され、この局部信号と元のディジタル信号との誤差信号が生成される。なお 、実際的には、局部復号はする必要なぐ非可逆圧縮符号を生成する際に得られる 量子化信号と元のディジタル信号との誤差を求めればょレ、。この誤差信号の振幅は 通常は元のディジタル信号の振幅よりもかなり小さい。よって、元のディジタル信号を 可逆圧縮符号化するよりも、誤差信号を可逆圧縮符号化する方が情報量を小さくで きる。
[0003] この可逆圧縮符号化の効率を上げるために、この誤差信号の符号絶対値表現 (極 性と絶対値の 2進数)されたサンプル列のフレーム内の全サンプルに対しそれらの各 ビット位置、つまり MSB,第 2MSB, ·■·, LSB毎に、サンプル系列方向(時間方向) にビットを連結したビット列を生成する。即ち、ビット配列の変換が行われる。この各連 結した同じビット位置の 1024個のビットからなるビット列をここでは便宜上「等位ビット 歹 IJ」と呼ぶことにする。これに対し、各サンプルの極性も含む振幅値を表す 1ワードの ビット列を便宜上「振幅ビット列」と呼ぶことにする。誤差信号は振幅が小さいので、各 サンプノレの最上位から 1つ又は連続する複数のビットは全て" (Tとなることが多レ、。そ こで、それらのビット位置で連結して生成した等位ビット列は全て" 0〃のビット列となる ので、予め決めた短い符号で表すことができ、誤差信号の可逆圧縮符号化効率を上 げ'ること力 Sできる。
[0004] これら等位ビット列が可逆圧縮符号化される。可逆圧縮符号化としては、例えば、 同一符号(1又は 0)が連続する系列がある場合や頻繁に出表する系列がある場合を 利用した、ハフマン符号化や算術符号ィ匕などのエントロピィ符号化などを用いること ができる。
復号化側では、可逆圧縮符号が復号化され、その復号信号に対し、ビット配列の 逆変換が行われ、即ち、フレーム毎に等位ビット列を振幅ビット列に変換し、得られた 誤差信号が順次再生される。また、非可逆圧縮符号が復号化され、この復号信号と 再生された誤差信号とが加算され、最後に、フレームごとの各加算信号が順次連結 されて、元のディジタル信号系列が再生される。
[0005] 音声、画像などの情報の歪を許さない可逆な符号ィヒ方法としてはその他にも各種 のものが知られている。音楽情報については例えば非特許文献 1に示されている。従 来の方法は何れも波形をそのまま PCM信号としたものについての圧縮符号ィヒ方法 であった。
し力、し音楽の収録スタジオでは浮動小数点形式で波形が記録されて保存されるこ と力 Sある。浮動小数点形式の値は極性、指数部、仮数部に分離されている。例えば 図 1に示す IEEE-754として標準化されている浮動小数点形式は 32ビットであり、上位 ビットから極性 1ビット、指数部 8ビット、仮数部 23ビットで構成されている。極性を S、 指数部の 8ビットで表す値を 10進数で E、仮数部の 2進数を Mとすると、この浮動小 数点形式の数値は絶対値表現 2進数で表わすと
[数 1]
(-l)s x l .M x 2E"E° (1)
[0007] IEEE-754によれば、 E =27_1 = 127と決められており、これにより、式 (1)中の E-Eは
0 0
-127≤E-E≤128
0
の範囲の任意の値を取ることができる。ただし、 E-E =-127の場合は all"0"、 E-E =128
o o の場合は all"l"と定義されてレ、る。
音声、音楽、画像の情報が浮動小数点形式のディジタル信号系列とされている場 合は、浮動小数点形式の性質上" 0" t"l"力もなるビット列が乱雑な場合が多くなる ため、前述したビット配列変換を行っても、エントロピィ圧縮符号化などによって高い 圧縮率は期待できない。また浮動小数点形式のサンプノレ列は原アナログ波形と著し く異なったものとなりサンプル間の相関による冗長性がなぐ前述の非特許文献 1に 示されている可逆予測符号化方法を適用しても高い圧縮率は期待できない。
特許文献 1 :日本国特許出願公開 2001-44847号
特午文献 1: Mat Hans, Ronald W.Schafer, Lossless Compression of Digital Audio", IEEE SIGNAL PROCESSING MAGAZINE, July 2001, p.21-32
発明の開示
発明が解決しょうとする課題
[0008] この発明の目的は浮動小数点形式のディジタル信号に対して圧縮率が高ぐ歪が 生じない可逆符号化、復号化方法、それらの装置及びそれらのプログラムを提供す ることにある。
この発明の符号ィヒ方法及び装置によれば、浮動小数点形式の第 1信号サンプノレを 絶対値が小さくなるように切捨てを行って整数形式の第 2信号サンプルに変換し、上 記整数形式の第 2信号サンプルを可逆圧縮して第 1符号列を生成して出力し、上記 整数形式の第 2信号サンプルと上記浮動小数点形式の第 1信号サンプルとの差分に 対応する浮動小数点形式の差分信号を生成し、上記浮動小数点形式の差分信号の 、上記整数形式の第 2信号サンプルの最上位の 1より下位のビット数により決まる非 ゼロになり得るビット領域に対応する第 2符号列を生成して出力する。
[0009] このように整数形式の第 1信号サンプノレに変換することにより、原アナログ波形信号 に近レ、ものとなり、信号サンプノレ間の相関による冗長性を除く圧縮方法により効率よ く圧縮することができ、差分信号は非ゼロになり得る桁についてのみ差分情報として 出力するので効率が良い。
この発明の復号ィ匕方法及び装置によれば、第 1符号歹 1Jを復号伸張して整数形式の 第 1信号サンプノレを生成し、上記第 1信号サンプノレの最上位の 1より下位のビット数 に応じて決まる非ゼロになり得る桁数に基いて、第 2符号列から浮動小数点形式の 差分信号を生成し、上記整数形式の第 1信号サンプルを浮動小数点形式の第 2信 号サンプルに変換し、上記浮動小数点形式の第 2信号サンプルと上記浮動小数点 形式の差分信号を合成して浮動小数点形式の第 3信号サンプルを生成する。
発明の効果
[0010] この発明によれば、浮動小数点形式のディジタル信号系列を能率よく圧縮すること が可能となる。また通常の整数形式の系列の圧縮符号化モジュールを利用すること ができ、整数形式と浮動小数点形式の両方に対応しても処理の装置規模、プロダラ ム規模はあまり大きくならない。
図面の簡単な説明
[0011] [図 1]ΙΕΕΕ-754の 32ビット浮動小数点のフォーマットを示す図。
[図 2]この発明の第 1実施形態の符号化装置の機能構成を示す図。
[図 3]図 2中の整数化部 12の動作を説明するための図。
[図 4]図 2中の整数化部 12における処理手順の例を示す図。
[図 5]整数値の絶対値と、その値を示す浮動小数点の仮数部のビットとの対応を示す 図。
[図 6]整数値の絶対値と、差分ディジタル信号の極性、指数部および仮数部との関係 を示す図。 [図 7]差分ディジタル信号系列中の圧縮符号化される部分の例を示す図。
[図 8]この発明の第 1実施形態の復号化装置の機能構成を示す図。
[図 9]この発明の第 2実施形態の符号化装置の機能構成を示す図。
[図 10]桁調整処理手順を示すフローチャート。
[図 11]この発明の第 2実施形態の複号化装置の機能構成を示す図。
[図 12]この発明の第 2実施形態の符号化装置の変形機能構成を示す図。
[図 13]この発明の第 2実施形態の複号化装置の変形機能構成を示す図。
[図 14A]もともと浮動小数点信号であった入力浮動小数点形式信号 Xに対する 16ビ ット整数化を説明するための図。
[図 14B] 24ビット整数値信号から生成された浮動小数点形式信号 Xに対する 16ビット 整数化を説明するための図。
[図 14C] 16ビット整数値信号から生成された浮動小数点信号 Xに対する 16ビット整 数化を説明するための図。
[図 15A]図 9Aの場合の仮数部の非ゼロとなり得る領域を示す図。
[図 15B]図 9Bの場合の仮数部の非ゼロとなり得る領域を示す図。
[図 16]この発明の第 3実施形態の符号化装置の機能構成を示す図。
[図 17]この発明の第 3実施形態の復号化装置の機能構成を示す図。
[図 18]仮数部をフレーム方向にビット走査して符号化する動作を説明するための図。
[図 19]図 18の符号ィ匕を実行する不圧縮部 17の構成例を示す図。
[図 20]図 19の符号ィ匕に対応した復号化装置における伸張部 23の構成例を示す図。
[図 21]フレーム方向のビット走査の他の例を示す図。
[図 22]フレーム方向のビット走査の他の例を示す図。
[図 23]フレーム方向のビット走査の更に他の例を示す図。
[図 24]第 5実施形態の符号ィ匕装置の構成例を示す図。
[図 25]第 5実施形態の復号化装置の構成例を示す図。
[図 26]この発明をコンピュータで実施する場合の構成を示す図。
発明を実施するための最良の形態
m 図 2にこの発明による符号化装置の実施形態の機能構成を示す。この実施形態の 符号化装置 100は、整数化部 12と、圧縮部 13と、差分生成部 14と、圧縮部 17とか ら構成されている。また、整数化部 12は桁数計算部 12Aを有しており、差分生成部 1 4は符号小数点化部 15と、減算部 16とから構成されている。信号源 11から例えば音 楽信号のサンプル列が 32ビットの浮動小数点形式の入力ディジタル信号サンプル( 以下簡略して入力信号サンプノレとも呼ぶ) Xの系列として出力される。この各ディジタ ル信号サンプル Xは 24ビットの整数形式で録音された信号の素材を変形、振幅調整 、効果付加、混合などの加工をした結果、小数点以下の端数を含むようになつたもの を浮動小数点形式に変換したもの、あるいは、もともと 24ビットの整数形式で録音さ れた信号を 32ビット浮動小数点形式に変換後、前記加工をした信号である。
[0013] この浮動小数点形式の入力サンプル Xは整数化部 12に入力され、各サンプルごと に整数形式のディジタル信号サンプル (以下簡略して整数値信号サンプルとも呼ぶ) Yに変換される。先に述べたように前記例ではもともと 24ビットの整数形式の信号の 素材を変形、振幅調整、効果付加などの加工をした場合が多ぐ振幅が大きく変化 することがないのが一般的である。従って整数化部 12においては小数点以下の端数 を切捨てる場合について図 3を参照して説明する。整数形式の桁数は 16ビットあるい は 20ビットなどでもよいが、以降の説明では 24ビットを使用する。
[0014] 浮動小数点による波形の表現法として整数値の 32768(=215)を 1.0と正規化して表わ す場合、あるいは整数値 223を 1.0と正規化して表す場合などもあるが、指数部の値が 異なるだけで以下の説明と本質的な差異はない。
小数点の次の上位側ビットは、指数部の値 Eが例えば E=147であれば仮数部 Mの MSB側から 147-127=20番目であり、図 3Aに示すように 23ビットの仮数部 M中の上 位側 20ビット (M )が絶対値 2進表現をした場合の整数部分の最上位の T'より下位の
1
部分であって、仮数部 M中の下位側 3ビット (M )が絶対値 2進表現をした場合の小数
2
点以下の端数部分である。以下では Mの部分を仮数部 Mにおける整数部分と呼ぶ
1
。従って、図 3Bに示すように仮数部における整数部分 (M冲の最下位ビットが仮数
1
部 23ビット中の最下位ビットとなるように、仮数部 Mを 3ビット下位方向にシフトするこ とによりこの小数点以下 3ビット (M )が溢れて切り捨てられる。このシフトにより仮数部 Mの空き(この例では" 000")となった最上位 3ビット中の最下位ビット(即ち、 23ビット の最下位から 21ビット目)に式 (1)における" 1·Μ〃の〃 'に対応する を設定すること により、切り捨てによる整数化された値が得られる(図 3C参照)。あるいは、シフト前の 23ビットの MSBの上位側に〃 1"を付加した 24ビットを 3ビットシフトしてもよレ、。
[0015] 更に、このようにして得られた整数値を 2の補数表現に変換する。つまり、浮動小数 点形式の各ディジタル信号サンプル Xの極性ビット Sはそのまま最上位ビットとし、残 りの 23ビットについては図 3Cに得られた 23ビットを、極性 Sが" 0" (正)の場合は図 3 Cの 23ビットをそのまま用レ、、 Sが" ' (負)であれば、図 3Dに示すように 23ビットを全 て論理反転、即ち" (Τと〃 'を交換した後に最下位ビットに を加算する。最上位ビッ トは極性 Sをそのまま用レ、、図 3Εに示す 24ビットの補数表現された整数形式の信号 サンプル Υが得られる。
[0016] 上述においては、主として、仮数部 Μに小数点以下の端数部分と対応するビットが 0ビット以上含まれている場合を想定し、 1サンプノレの浮動小数点形式の 32ビットディ ジタル信号を 1サンプノレ 24ビットの整数形式のディジタル信号に変換した。しかし、 例えば前記 24ビット整数形式の信号の素材の複数を混合などして加工する場合に は 1サンプルの振幅値が 24ビットで表わされる最大値より可成り大きくなつている場 合もある。このような Ε≥ 150の場合は例外処理として、指数部 Εの値を前記例では Ε=127+23=150に固定し、例外信号 yを差分生成部 14に与えると共に、仮数部 Mの 隣接上位側に〃 1"を付加した" 1M〃の上位 23ビットをそのまま 2の補数表現に変換し て 24ビット整数形式の信号サンプル Yとする。また、後述の他の実施形態で説明す るように、フレーム毎に適正な整数の範囲に収まるように、符号小数点値の指数部を Δ Eで調整することで正規化して、その調整値 Δ Eを補助情報として符号ィ匕してもよ レ、。
[0017] 整数化部 12では例えば図 4に示す処理を行うことになる。まず指数部 Eが 150以上 、つまり整数部が 23ビット以上であるかを調べ(Sl)、 23ビットより少なければ、桁 数計算部 12Aで仮数部における整数部分の桁数 E-E =nを求めて出力し(S2)、また 仮数部 Mを下位に (23_n)ビットだけシフトして端数部分を溢れ出し、得られた整数部 分 nビットの最下位から (n+1)ビット目に" 1〃を付加し (S3)、更にその上位側に全体で 23ビットとなるように" 0"を補充したものを、極性 Sをカ卩味して 2の補数表現の 24ビット 整数形式に変換して整数形式信号サンプル Yを得る(S5)。つまり、最上位ビットに 極性 Sをそのまま用レ、、残りの 23ビットは、極性 Sが "0" (正)であればステップ S3でシ フトして下位から (n+1)ビット目に〃1"をカ卩えた整数部分の最下位ビットから 23ビットま でをそのまま用レ、、 Sが" 1" (負)であれば前記シフトして〃 1"を加えた整数部の最下位 ビットから 23ビットまでを、ビット反転して最下位ビットに を加算して補数値を得る。 ステップ S1で指数部 Eが 150以上であれば、ステップ S4でその指数部 Eを 150にし てステップ S5で" 1M〃の上位 23ビットから整数形式の信号サンプル Yを生成する。
[0018] なお、上述では仮数部 Mに対し (23_n)ビットシフトして 1サンプル 24ビットの絶対値 表現 2進数の整数値を求めたが、仮数部 Mの図 3Aに Mで示す上位から n=E-Eビッ
1 0 トを取り出し、その上位側に図 3Cに示すように を付加して n+1ビットとし、その上位 側に (22- n)ビットの〃0 "を付加して 23ビットとし、更にその上位側に極性ビット Sを付カロ して全体で 24ビットにしてもよい。
以上のようにして整数化部 12で変換された整数値信号サンプル Yの系列は圧縮部 13で整数値として波形値の相関などを利用した効率のよい可逆圧縮法により圧縮符 号化されて符号列 Caとして出力される。圧縮部 13における可逆圧縮は例えば前記 非特許文献 1に示されてレ、るように各サンプノレごとに予測値 (整数値)との差分を求 め、その差分の系列を、従来の技術の項で述べたようにビット配列変換を行った後、 つまり等位ビット列についてエントロピィ符号ィ匕すればよい。つまり整数値信号サンプ ノレ Yの系列は信号源 11の浮動小数点形式の入力ディジタル信号サンプル Xの系列 の原アナログ信号波形と近似したものとなっている。従ってこの入力サンプル Xの系 列は予測や変換を使って信号サンプノレ間の相関による冗長性を除くことにより効率 の高レ、可逆圧縮符号化が可能となる。
[0019] 差分生成部 14では整数値信号サンプル Yと信号源 11よりの対応する浮動小数点 形式の入力信号サンプル Xとの差分信号 (誤差) Zが生成される。この例では整数値 信号サンプル Yは浮動小数点化部 15で浮動小数点形式の信号サンプル Y'に再変 換され、その再変換された浮動小数点形式の信号サンプル Y'が原浮動小数点形式 の入力信号サンプル X力 減算部 16で減算されて浮動小数点形式の差分信号 Zが 生成される。
浮動小数点化部 15での変換は 1サンプノレの整数形式ディジタル信号が 24ビットの 場合、まったくぁレ、まレ、性や例外なく 32ビットの浮動小数点形式の入力信号に変換 可能である。前述したように原浮動小数点形式のディジタル信号サンプル Xの指数 部 Eは 149以下の場合が多ぐこの場合は信号サンプル Y'と原浮動小数点形式の 入力信号サンプル Xとの差分信号 Zは、原入力信号サンプル Xの小数点以下の端数 値と等しい。
[0020] 上述の差分生成部 14の説明は理解のためのものであって、現実には、整数値信 号サンプル Yを浮動小数点化する必要はなぐ差分生成部 14に入力サンプル Xとそ の仮数部の整数部分桁数 nを入力し、例外信号 yが与えられないときは、浮動小数点 形式の各入力サンプル Xの極性 Sと指数部 E、仮数部 Mの下位 (23_n)ビットをそれぞ れ差分 Zの各サンプルの極性、指数部、仮数部の下位 (23-n)ビットとし、仮数部中の 上位 nビットをすベて" 0"とする。なお、仮数部の整数部分の桁数 n=E-Eは、整数値
0
信号サンプル Yの最上位の" 1"より下位の桁数と等しい。例外信号 yが与えられた場 合は、極性は入力サンプノレの極性 S、指数部は E-150、仮数部は入力サンプル Xと 信号サンプル Y'の仮数部の差分とする。
[0021] 圧縮部 17は、整数値信号サンプル Yと浮動小数点形式の入力サンプル Xとの、対 応サンプルごとの差分信号 Z、つまり差分生成部 14からの浮動小数点形式の差分信 号 Zを可逆圧縮符号化し、符号列 Cbを出力する。この圧縮部 17では整数化部 12か ら出力された仮数部の整数部分桁数 nを用いて、浮動小数点形式の差分信号 Z中の 各サンプノレについて、〃0"以外になり得る桁についてのみ可逆圧縮符号化を行う。浮 動小数点形式の各入力サンプル Xは、
X=l.M X 2n=X .X
W F
ただし X =1M (Mより隣接上位側に 1が付加された値)は 2進整数部分、 X =Mは端
W I I F F
数部分、とおくと、その仮数部 Mにおける整数部分 Mに対応するビットと、端数部分( 小数値) Mに対応するビットは図 5に示す関係にある。ただし、仮数部 Mは式 (1)に
F
おける Mの上位側隣接 1ビットを合わせて 24ビットの値として示し、絶対値表現 2進 数とした場合の小数点 Pの位置を便宜的に示してある。 [0022] 整数値の絶対値 X 力 ¾の場合は、前式 (1)において E-E =-127の場合と、 -126≤
w 0
E-E≤_1の場合がある。前者の場合は E=0の特殊な場合であり、仮数部 Mの全 23ビ
0
ッド 'x - - -x〃の全てが端数部分 Mで、かつ、定義により入力信号サンプル Xの仮数
23 1 F
部 23ビットが ain である。 -126≤E-E≤-1の場合は仮数部が alHTではない端数
0
部分であり、いずれにしても E-Eが負の場合は整数値信号サンプル Yの全ビットは
0
all"(Tとなり、差分信号は Zは入力サンプル Xと同じになるので、浮動小数点形式の信 号サンプル Xの全 32ビットを全て符号化する。
[0023] 整数値の絶対値 X 力 S1の場合は、仮数部 Mの 23ビット目より 1ビット上位のビット(
W
以下 24ビット目という ΓΤ'により整数値 X を表し、仮数部 Μの 23ビッド X · ' · χ〃は端
W 23 1 数値 Μを表わす。
F
整数値の絶対値 X 力 ¾
W 一 3の場合は 24ビット目の" 1"と 23ビット目の X との 2ビット
23
〃lx 〃により整数値 X を表わし、 X は仮数部 Μ中の整数部分 Μを表し、〃 X ' · · χ〃の 2
23 W 23 I 22 1
2ビットで端数値 Μを表わす。
F
X カ 4一 7の場合は 24ビット目の" と 23ビット目 X、22ビット目 χ との 3ビット" lx
W 23 22 23
X 〃により整数値 X を表わし、 " X X 〃は仮数部 M中の整数部分 Mを表し、〃 X · ' · χ
22 W 23 22 I 21 1〃 の 21ビットにより端数値 Μを表わしている。
F
[0024] X 力 1一 (2k -l)の場合は、 24ビット目の" と、 " X · ' · χ "との kビットで整数値
W 23 23-(k-2)
X を表わし、" X X · ' · χ 〃は仮数部 Μ中の整数部分 Μを表し X · ' · χ〃の
W 23 22 23-(k-2) I 23- (k- 1) 1
(23-k)ビットで端数値 Mを表わす。
F
所で差分信号 Zは 32ビット浮動小数点形式の入力サンプル Xから、整数値信号サ ンプル Yを 32ビット浮動小数点形式にしたサンプル Y' を差し引いたものであるから 、差分信号 Zは、図 6に示すようになる。整数値の絶対値 X 力 SOの場合は前述の E-E
W
が負の場合であり、差分信号 Zの極性 S、指数部 E、仮数部 Mは全て入力サンプノレ
0
Xと同一になる。
[0025] 整数値の絶対値 X 力 S1の場合は、サンプル の S
w , Eはそれぞれサンプル Xのそ れらと同一となり Mは 0となる。ここでは指数部の差分もとる。従って差分信号 Zの S, Eはそれぞれ必ず Xと同じ 0, 0となり、 Mはサンプル Xの仮数部 Mと同一となる。 整数値 X 力 ¾一 3の場合は、サンプル Y' の S, Eはそれぞれ、サンプル Xのそれと 同一となり、 Mは 23ビット目 x がサンプル Xの Mのそれと同一となり、端数部分" X · · ·
23 22
X〃は全て "0 "である。従って差分信号 Zの S, Eは必ず 0となり、仮数部 Mは上位 1桁(
1
23ビット目)は必ず 0となり、残りの端数部分" X · ' · χ〃がサンプル Xの対応する部分の
22 1
値と同じであり、サンプル Xにより変化する。
[0026] 以下同様に、サンプル Xの整数値 X 力 ¾
W 1一 (2k-l)の場合、差分信号 Zの S, Eは 必ず 0となり、仮数部 Mは、サンプル Xの仮数部 Mの整数部分と対応する "X ' · · χ
23
〃の上位 (k-1)桁(ビット)は必ず" (Τとなり、残りの · ' · χ〃の 23- (k- 1)ビットは
23-(k-2) 23-tk-l) 1
サンプル Xの仮数部 Mのそれと同一値となり、サンプル Xにより変化する。整数形式 ディジタル信号サンプル Yの整数値の範囲、つまり整数値の桁数 nに応じて差分信 号 Zの非ゼロになり得る桁数 h=23_nが決まる。
このような関係があるから、浮動小数点形式差分信号 Zについては、圧縮部 17にお いて、整数化部 12から入力された仮数部の整数部分の桁数 nを用い、対応差分信 号 Z中の非ゼロになり得る下位 h=(23-n)桁についてのみ可逆圧縮符号化する。つまり 仮数部の整数部分の桁数 nが 0であれば指数部 E、仮数部 Mの全てを可逆圧縮符 号化し、 n≠0であれば、仮数部 M中の下位 h=(23-n)ビットのみを可逆圧縮符号化す る。以上から入力信号サンプル Xと仮数部の整数部分の桁数 nとを差分生成部 14に 入力して、差分信号 Zを生成できることが理解されよう。
[0027] 圧縮部 17による差分信号 Zの符号化は、前述のように入力信号サンプル Xの E-E
0 カ 127— 0の場合は、差分信号 Zは入力信号サンプル Xと同一になり、従って入力信 号サンプル Xの全 32ビットを差分信号 Zとして符号ィ匕する。 E-E力
0 — 22の場合は、 例えば差分信号サンプノレ系列 Z = Z 7に示す状態の場合、 n≠0の場
1, z , z …が図
2 3
合以外は非ゼロになり得る桁部分 M のみを符号化する。この非ゼロになり得る桁に
D
ついての符号化はその非ゼロになり得る桁数 hごとに例えばハフマン符号化などのェ ントロピィ符号化を行うか、まとめて例えばユニバーサル符号化を行う。つまり図 7中 に斜線を施した部分のみをサンプルごとにあるいはフレーム単位など適当にまとめて エントロピィ符号化などの可逆圧縮符号化を行えばよい。なお極性 Sは整数形式ディ ジタル信号サンプル Yの符号ィ匕により、符号 Caに含まれているため、差分信号 Zの符 号化の際に極性 Sを符号化して送信する必要はない。また、より出力されており、受 信側では整数値信号サンプル Yの極性を除く最上位の" 1 "より下位のビット数 ηから η=Ε-Εを求めることができるので、桁数 ηを送信する必要はない。
0
[0028] 差分信号 Ζは小数点以下の桁数が多いこともあり、その場合、符号化の効率が悪い 場合がある。従って、差分信号 Ζの非ゼロとなり得る桁を符号化せずそのまま符号列 Cbとして出力してもよい。あるいは、この差分信号 Zを符号化した場合としない場合の 情報量を比較し、情報量が小さくなるほうを選択してもよレ、。
なお前述したように浮動小数点形式のディジタル信号サンプル X自体の仮数部が E≥ 150の例外的な場合は、整数化部 12で指数部 Eが 150に固定されたことを示す 例外信号 yが差分生成部 14に与えられ、差分生成部 14はその指数部 Eの値 150と ディジタル信号サンプル Xの指数部 Eとの差分 (E-150)を指数部とし、仮数部 Mの差 分を仮数部とする浮動小数点形式の差分信号 Zを生成する。圧縮部 17は差分信号 Zを可逆圧縮符号化し、その符号列 Cbとして出力する。
[0029] 図 8に図 2に示した符号化装置 100と対応するこの発明による復号ィ匕装置 200の実 施形態を示す。
入力された符号列 Caは伸張部 21で可逆伸張復号化される。この可逆伸張復号化 方法は、図 2中の圧縮部 13で行った可逆圧縮符号化方法と対応し、その処理と逆の 処理を行う。よってこの可逆伸張復号化により 1サンプル 24ビットの整数形式のディ ジタル信号サンプル Yが生成される。また伸張部 21中の桁数出力部 21Aにおいて、 伸張復号された各サンプノレごとの最上位の" 1"より下位の桁数 nを浮動小数点形式 の仮数部における整数部分の桁数として求め、伸張部 23に与える。
[0030] 伸張部 23では、入力された符号列 Cbを可逆伸張復号ィ匕する。この可逆伸張復号 化方法は図 2中の圧縮部 17で行う可逆圧縮方法と対応したものとする。よってこの伸 張部 23において、伸張復号されたビット列から、組立部 23Aにより桁数 nに基づいて 、サンプノレごとの 32ビット浮動小数点形式の差分 (誤差)信号 Zが組立てられ、出力 される。図 2の符号化装置 100における圧縮部 17で差分信号 Zを圧縮しないでその まま出力する場合は、復号ィ匕装置 200の伸張部 23において受信した符号列 Cbをそ のまま差分信号 Zとして使用する。
[0031] 組立て部 23Aでは、伸張部 21からの最初のサンプルに対する桁数 nと、伸張部 23 で伸張復号されたビット列から、最初のサンプノレと対応する部分として n=0でなけれ ば、 23ビットの仮数部 Mの下位 23-n=hビットとして hビットが取り出されて、図 7中の最 初のサンプル zにおける斜線を施した部分よりなる 1サンプル 32ビットの浮動小数点
1
形式の差分信号 zとして組立てられる。極性 Sの 1ビット、指数部 Eの 8ビットはすべて
1
0とし、また図 7中の仮数部 M中の整数値と対応する部分 Mは全て 0とされる。次の
I
サンプノレに対して対応桁数 n≠ 0に応じて仮数部の下位 23-n=hビットとして伸張復号 ビット列から hビットを取り出して 32ビットの浮動小数点形式差分信号 Zとし、以下同 様にして図 7に示したようなサンプノレ歹 IJz , z …が順次組立てられて出力される。 n =
2 3
0の場合は指数部 Eの 8ビットと仮数部 Mの 23ビットが伸張復号ビット列から取り出さ れて浮動小数点形式ディジタル信号とする。この復号した差分信号 Zは極性 Sは常 に 0、指数部 Eは n = 0以外は常に 0、仮数部 Mは下位の 23_n=hビットのみが非ゼロ になり得るビットであり、その他は常に 0であり、従って厳密な意味では浮動小数点表 現ではないが、ここでは浮動小数点形式差分信号と云っていることに注意されたレ、。 伸張部 21よりの 24ビット整数形式のディジタル信号サンプル Yは浮動小数点化部 22で 1サンプノレ 32ビットの浮動小数点形式のディジタル信号サンプル に変換さ れる。このディジタル信号サンプル Y' は伸張部 23よりの浮動小数点形式の差分信 号 Zとが合成部 24で対応サンプルごとに加算合成され、浮動小数点形式のディジタ ル信号サンプル Xが再生される。各再生ディジタルサンプル Xの極性はディジタル信 号サンプル のそれ、つまり復号された整数形式のディジタル信号サンプル Yの極 性となり、サンプル Xの指数部 Eは n = 0以外は、信号サンプル の指数部となり、 仮数部 Mは上位 n=23-hビットが信号サンプル Y' の仮数部の上位 nビットとなり、下 位 23-n=hビットが差分信号 Zの下位 hビットとなる。
m m
一般の浮動小数点ではなぐもともと 24ビットと力 46ビットの整数値の PCM信号を 便宜上、浮動小数点に変換して符号ィ匕対象の系列を作成する場合がある。このよう な特殊な浮動小数点系列の場合には、前述した第 1実施形態において 0以外になり 得る桁はなくなり、差分生成部 14よりの浮動小数点形式の差分 (誤差)信号 Zの極性 S、指数部 E、仮数部 Mはすべてゼロとなり、送信する必要はなレ、。この場合は、例え ば補助情報として 2ビットを用い、その 2ビットが" 00"であればもともとのディジタル信 号が 1サンプル 16ビットの整数値のみ、 "01 "であれば 1サンプル 24ビットの整数値の み、 "10"であればそれ以外の信号であることを表わし、この 2ビット補助情報を圧縮部 13の出力符号列 Caの先頭に追加し、前 2者の場合は符号列 Cbを出力せず、後者の 場合に符号列 Cbを出力することにより効率的な圧縮が可能となる。 前述の図 2の実施形態では E≥ 150のサンプノレに対し例外処理を行う場合を示し た力 先に簡単にふれたように、フレーム毎の桁調整を行って E≥ 150とならないよう にしてもよレ、。ここではフレーム内で指数部 Eの最大値が 150 >E≥150_Kとなるように 桁調整を行う場合の実施形態を図 9を参照して説明する。
[0033] この第 2実施形態の符号化装置 100の機能構成例を図 9に図 2と対応する部分に 同一参照番号を付けて示す。この第 2実施形態では浮動小数点形式のディジタル信 号サンプル Xの系列を、サンプノレ列分割部 31で複数の一定サンプル数ごとに、ある いはフレーム毎に分割し、この分割単位ごとに桁調整部 32で、整数形式の信号サン プル Yの桁数が適当な大きさ、つまり少なくとも整数形式に変換した際に 24ビット以 内に納まるように指数部 Eに対して以下のように桁調整を行う。
(a)浮動小数点形式のディジタル信号サンプル Xの振幅が大きぐ各指数部 Eがもと もと 150を超えている場合は、 24ビットの整数形式のディジタル信号サンプル Yに変 換すると仮数部 Mの LSB側 1又は複数ビットの情報が失われる。あるいは浮動小数 点形式のディジタル信号サンプル Xの振幅が大きぐ各指数部 Eが 150に近い値の 場合は整数形式のディジタル信号サンプル Yに変換した際に、そのサンプルごとの ディジタル値が頻繁に 24ビット整数値を超えることがある。これらのことが生じなレ、よう に、ディジタル信号サンプル Xの指数部 Eを、桁調整部 32において、前記分割単位 ごとに、調整情報 Δ Εだけ差し引いて 150以下の値とする。
[0034] (b)浮動小数点形式のディジタル信号サンプル Xの振幅が小さぐ変換された整数 形式のディジタル信号サンプル Yの 24ビット中の最上位ビットの極性 Sを除き、 MSB 力 21 23ビットが常に全て 0となるような場合、振幅がわずカ ビット程度で表され ることになるので整数形式のディジタル信号サンプル Yの系列の波形がアナログ波形 に近いものとならず、整数形式のディジタル信号サンプル Yに変換する効果、つまり 高い圧縮率で可逆圧縮符号ィヒすることが得られなくなる。また整数形式のディジタル 信号サンプル Yの振幅値力 SLSB側 2ビット程度で表される場合、信号サンプル Yを浮 動小数点形式のディジタル信号に変換すると、その仮数部 Mは全ビッド '0"または M SBのみ〃 'で他は全て" 0〃のように、ほとんどの桁のビットが" 0"となってしまう。一方、 符号小数点形式の入力ディジタル信号サンプル Xの仮数部 Μは、信号サンプル の 振幅が小さいときでも、大きな値をとり得るので、浮動小数点形式のディジタル信号 サンプル Xとの誤差 (差分)と対応した浮動小数点形式の差分信号 Δ Xの仮数部 Μ は大きな振幅をとり、つまり全てのサンプルについて 0となるビットの数が少なくなり、 圧縮効率を上げることができない。
[0035] このような問題が生じないように桁調整部 32では分割単位ごとに各指数部 Εに調整 情報 Δ Εだけ加算して、仮数部 Μ中の多くの情報が整数形式のディジタル信号サン プル Υに含まれるようにする。この場合、整数形式に変換した際に 1サンプノレのビット 数が 24を超えなレ、ようにする。
桁調整部 32における調整情報 Δ Ε (任意の極性の整数)は分割単位で変更が可 能である。桁調整部 32において分割単位ごとに指数部 Εの最大を調べ、整数化した 時に 1サンプルが 24ビットを超えない範囲で仮数部 Μの情報をなるベく利用できるよ うに調整情報 Δ Εを決めればょレ、。
[0036] 図 10は桁調整部 32がフレーム毎に実行する桁調整の処理手順を示す。ここでは サンプノレ列分割部 31により分割された Ν個のサンプノレ毎に桁調整を行う場合を示
F
す。
ステップ S1で Ν個の入力サンプルを取り込み、ステップ S2で i=lとし, Δ Εとしては
F 0
、取り得ない十分小さい任意の値、例えば Δ Ε =-150に初期設定する。
0
ステップ S3で i番目のサンプルの指数部 Eから 150を減算して差 Δ Eを得る。
ステップ S4で Δ Ε力 S1つ前の Δ Ε より大きいか判定し、大きくなければステップ S6 i i-l
に移動する。
[0037] ステップ S5で Δ Εが Δ Ε より大きい場合は、 Δ Εを Δ Ε として一時保存する。
i i-l i max
ステップ S6で i=Nとなったか判定し、なっていなければステップ S7で iを 1歩進し、ス テツプ S3に戻る。
ステップ S6で i=Nとなっていれば、ステップ S8で Δ Ε を読み出し、 1以上か判定
r1 max
する。 1以上であればステップ S 10に移る。
ステップ S8で Δ Ε 力 以上でなければ、ステップ S9で Δ Ε が予め決めた- K (K max max
は 1以上の整数)以下であるが判定し、そうであればステップ S10に移る。
[0038] ステップ S10では、 Δ Ε を補正情報 Δ Εとし、 N個の各サンプルについて E '=E- max F l ι
Δ Εにより桁調整を行レ、、得られた E 'を補正された Εとして使用し、整数化部 12に桁 調整された Ν個のサンプルを与え、終了する。ステップ S9で Δ Ε 力 S-Kより小でなレヽ
F max
場合も終了する。
このようにステップ S8において Δ Ε 力 S1以上となることはディジタル信号サンプル
max
Xの振幅が大きく指数部 Eが 150を超えている場合を検出している。ステップ S9にお いて Δ Ε が -K以下となることは、 Xの振幅が小さぐ波形の近似が悪い場合であり、 max
例えば Kは 20— 22程度の値に決めてもよい。
[0039] このようにして桁調整された浮動小数点形式のディジタル信号サンプノレを整数化部
12で整数形式のディジタル信号サンプル Yに変換しこの信号サンプル Yの系列を圧 縮部 13で可逆圧縮符号化して符号列 Caを生成することは第 1実施形態と同様であ る。また、差分信号 Zについても第 1実施形態と同様に仮数部 Mの非ゼロとなり得るビ ットの領域を圧縮符号化部 17で符号ィ匕して符号列 Cbを出力する。
復号化の際に、符号化の際の浮動小数点形式のディジタル信号サンプル Xを可逆 に得られるように調整情報 Δ Εは補助符号化部 33でその極性、つまり加算か減算か を含めて符号ィ匕して補助符号列 Ccを生成する。
[0040] 図 9に示した実施形態では、差分生成部 14において逆桁調整部 34で、整数形式 のディジタル信号系列 Yを、対応分割単位ごとの調整情報 Δ Eだけ逆に桁調整する 。つまり桁調整部 32で負の調整情報 Δ Eを加算した場合 (ステップ S10で Δ Eが負の 場合)は逆桁調整部 34におレ、て対応サンプルのディジタル信号の最上位ビットを除 く 23ビットを Δ Εビットだけ下位にシフトし、シフトで空いた各ビットに 0を詰め、正の調 整情報 Δ Eを減算した場合 (ステップ S 10で Δ Eが正の場合)は、対応サンプルのデ イジタル信号の最上位ビットを除く 23ビットを Δ Εビットだけ上位にシフトし、つまり Δ Ε ビットだけあふれさせ、下位 Δ Εビットに 1を詰めて 23 + Δ Εビットとする。
[0041] この桁を逆調整した整数形式のディジタル信号サンプル Yを浮動小数点化部 15で 浮動小数点形式のディジタル信号サンプル Y'に変換し、この浮動小数点形式のデ イジタル信号サンプル Υ' と原浮動小数点形式のディジタル信号サンプル Xとの差 分 Ζを減算部 16で求め、この浮動小数点形式の差分信号 Ζを圧縮部 17で可逆圧縮 符号化して符号列 Cbを出力する。この場合は分割単位の符号列 Caと Cbと補助符号 Ccが出力されることになる。この実施形態においても差分信号 Zは圧縮符号化せず、 端数部だけをそのまま差分情報として出力してもよい。サンプル列分割部 31は図 9 中に破線で示すようにサンプノレ列分割した浮動小数点形式の信号サンプル Xが桁 調整部 32と減算部 16に供給されるように設けてもよい。
[0042] 図 11は図 9に示した符号化装置 100と対応する複号化装置 200の機能構成例を、 図 8の復号ィ匕装置 200と対応する部分に同一参照番号を付けて示す。符号列 Caは 伸張部 21で分割単位で可逆伸張復号化され、整数形式のディジタル信号サンプノレ Yの系列が生成される。この実施形態では補助復号部 41で補助符号 Ccが復号され て調整情報 Δ Eが生成される。この調整情報 Δ Eにより整数形式のディジタル信号サ ンプル Yに対する桁補正 E + Δ Eが桁補正部 42で行われる。調整情報 Δ Eが正であ れば各ディジタル信号サンプル Yのビットを上位へ Δ Eビットシフトし、 Δ Eが負であれ ばディジタル信号サンプル Yのビットを下位へ Δ Εビットシフトする。この際、図 9中の 逆桁調整部 34と同様に 1又は 0詰めを行う。
[0043] この桁補正部 42より整数形式のディジタル信号サンプルを浮動小数点化部 22で 浮動小数点形式のディジタル信号サンプル に変換し、これと、差分情報 Cbを伸 張部 23で可逆伸張復号化して得た浮動小数点形式の差分信号 Zと合成部 24でカロ 算合成する。この加算合成したディジタル信号を必要に応じて連結部 43により連続 するサンプル列に連結して再生浮動小数点形式のディジタル信号サンプル Xの系列 を得る。
図 12に図 9と対応する部分に同一参照番号を付けて示すように、整数形式のディ ジタル信号サンプル Yに対し、逆桁調整を行うことなぐ浮動小数点化部 15で浮動小 数点形式のディジタル信号サンプノレに変換し、この変換された浮動小数点形式のデ イジタル信号サンプルと桁調整部 32で桁調整された浮動小数点形式のディジタル信 号サンプルとの差分を減算部 16で求め、浮動小数点形式の差分信号 Zを求めてもよ レ、。つまり差分生成部 14は原浮動小数点形式のディジタル信号サンプル Xと整数形 式のディジタル信号サンプル Yとの差分信号を浮動小数点形式で求めればよぐ図 2 、図 9、図 12に示す何れの構成によってもよい。
[0044] 図 12と対応して復号化装置 200では図 13に示すように伸張部 21で可逆伸張復号 化した整数形式のディジタル信号サンプル Yを、まず浮動小数点化部 22で浮動小 数点形式のディジタル信号サンプノレに変換し、これと、伸張部 23で可逆伸張複号化 した浮動小数点形式の差分信号 Zを合成部 24で加算合成し、その後、その合成ディ ジタル信号に対し、その指数部 Eを、補助復号部 41により復号された調整情報 Δ Ε で桁補正部 42におレ、て桁補正して、再生浮動小数点形式のディジタル信号サンプ ノレ Xを得るようにしてもよい。 上述の実施形態では、浮動小数点形式の入力信号サンプル Xの小数点以下の端 数を切り捨てることにより整数化し、差分信号 Zの仮数部における整数部分が ai 'O"と なることを利用して差分信号 Zの圧縮効率を高める場合を示した。第 3実施形態では
、上記小数点以下の切捨てに加えて、更に整数部分も予め決めたビット数を切り捨 てて整数値信号サンプル Yを生成する例を示す。以下の例では、小数点以下の切捨 てによる 16ビットの整数値化において、更に 8ビットの切捨てを行う場合を示す力 1 7— 23ビットの任意の整数値化にも適用できる。
[0045] この第 3実施形態によれば浮動小数点形式の入力信号サンプル Xが、もともと符号 小数点信号であつたのカ 24ビット整数値信号であつたの力 \ 16ビット整数値信号 であったのか区別する必要がなぐ同じ処理によって符号ィ匕を行うことができる力 動 作原理の説明上、浮動小数点形式の入力信号サンプル X力 Sもともと浮動小数点形式 であった場合、極性 1ビットを含む 24ビット整数値信号であった場合、極性 1ビットを 含む 16ビット整数値信号であった場合について順に説明する。
図 14Aを参照して、もともと浮動小数点形式であった入力信号サンプル Xの 16ビッ ト整数値化と、差分信号 Zの生成を説明する。図において "χΊま "0 "又は のいずれ 力をとり得る(非ゼロとなり得る)。 Μは浮動小数点形式の入力信号サンプル Xの仮
X
数部 23ビットを示し、上位 η(=Ε-Ε )ビットの整数部分と小数点以下の端数部分の境
0
界を示す小数点位置を Ρで示してある。サンプル Xの指数部 Εを Ε-8に削減すること
D
により仮数部 Μの小数点位置 Ρは 8ビット上位にシフトする。その結果、図 14Aの例
X D
では仮数部 Μの上位 η-8=2ビット" XX"がシフト後の仮数部内の整数部分となってい
X
る。その整数部分 2ビットの隣接上位側に〃 1"をカ卩えてた" lxx〃を 16ビット整数値信号 サンプル Υの最下位ビットとする。
[0046] 16ビット整数値信号サンプル Υを 8ビット上位にシフトし、即ち、最下位に 8ビットの 〃0"を付加してから浮動小数点形式の信号サンプル Y'に変換する。従って、得られ た浮動小数点形式の信号サンプル Y'の指数部 Εは +8されたことになり、入力信号サ ンプル Xの指数部 Εと同じ値になる。信号サンプル Y'の仮数部 Μ は、 8ビット上位
Υ,
にシフトされた整数値信号サンプル Υの最上位の T'より下位の整数部分、ここでは 2 ビットの" XX"を最上位ビットとし、それより下位は全て ' とすることにより得られる。図 1 4Αでは便宜上 8ビットシフトする前のサンプル Υの最上位の より下位の整数部 〃χχ"と浮動小数点形式の信号サンプル Y'に変換後の仮数部 Μ の関係を示してい
Υ,
る。差分信号 Ζの仮数部 Μは仮数部 Μと Μ の差分であり、 Ζの仮数部 Μの上位
Ζ X Υ' Ζ
(n-8)ビット、ここでは最上位 2ビット、は" 00"となり、それより下位 (端数部分)は仮数部 Mの対応するビット位置の値と同じである。即ち、仮数部 Mの最上位の整数部分
X Z
"00"に続く下位の全ビットは非ゼロとなり得る。
[0047] 差分信号 Zについては仮数部 Mのこの非ゼロとなり得る下位 23-(n-8)ビットのみを 符号化すればよい。仮数部 Mの必ず 0となる上位 (n-8)ビットは、受信側で復号した
Z
整数値信号サンプル Yの最上位の より下位の全ビット数と同じである。この仮数部 Mの非ゼロとなり得る領域は図 15Aに示すように、整数部分のビット数 (n-8)が増加す ると共に減少する。
図 14Bは 24ビット整数値信号から浮動小数点形式の入力信号サンプル Xが生成さ れた場合であり、従って、サンプル Xの仮数部 Mは図 14Bに示すように小数点 Pより
X D
下位で全ての桁が" 0"となっている点が図 14Aの仮数部 Mと異なる。図 14Bにおい ても入力信号サンプル Xの指数部 Eを E-8にすることにより小数点 Pの位置が 8ビット
D
上位側にシフトする力 その結果から生成される 16ビット整数値信号サンプル Yは図 14Aの場合と同じになる。従って、整数値信号サンプル Yを浮動小数点形式に変換 したときの仮数部 M も図 14Aの場合と同様である。
Y,
[0048] し力、しながら、差分信号の仮数部 Μは仮数部 Μと Μ の差分であり、図 14Bに示
Ζ X Y'
すように差分信号 Ζの仮数部 Μの整数部分は "00 "となり、それより下位 8ビットが非
Ζ
ゼロとなり得るビット範囲であり、更にその下位側は全てのビットが" (Τとなる。この非 ゼロとなり得るビットの範囲は整数部分のビット数が増加するにつれ図 15Bに示すよ うに下位側にずれていく。
図 14Cは極性 1ビットを含む 16ビット整数値信号サンプルから浮動小数点形式の 入力信号サンプノレが作られている場合である。従って、 23ビットの仮数部 Μにおい
X
て、小数点 Ρと隣接する下位側 8ビットは全て" 0〃であり、それより更に下位の桁も全
D
て" 0"である。小数点以下の桁数 hは h=23-nと ηにより変化する力 8より小さくはなら ない点が図 14Bの場合と異なる。
[0049] 図 14Cにおいても入力信号サンプル Xの指数部 Εを Ε-8にすることにより小数点 PD の位置が 8ビット上位側にシフトし、シフト後の整数部分" XX"から 16ビット整数値信号 サンプル Υが図 14A, 14Bと同様に生成される。従って、サンプル Υを浮動小数点形 式に変換したときの仮数部 Μ も図 14A, 14Bの場合と同じである。また、差分信号 Ζ
Y'
の仮数部 Μは図 14Bの場合と同様にその最上位 (η-8)桁の整数部分が "0 "となり、そ
Ζ
れに続く下位 8ビットは非ゼロを取りえる範囲であり、その更に下位ビットは全て" 0"と なる。この場合も整数部分の桁数 (η-8)が増加すると図 15Bに示すように非ゼロとなり 得る 8ビットの下位側の" 0"の桁数も減っていくが、 8桁より小さくなることはない。
[0050] 以上の説明力 明らかなように、符号小数点形式の入力信号サンプル Xのもとの信 号が 24ビット整数値信号、 16ビット整数値信号、浮動小数点形式信号のいずれの場 合であっても、 8ビット切り捨てによる 16ビット整数値信号サンプル Υを生成するには 、入力信号サンプル Xの指数部 Εを Ε-8として小数点位置を 8ビット上位側にシフトし 、仮数部 Μの整数部分である上位 (η_8)ビット、図の例では" χχ"、に対しその上位側
X
に〃 1〃を加えた整数値〃 lxx〃を最下位ビットとする 16ビット整数値信号サンプル Υを構 成すればよい。また、差分信号 Zの仮数部 Mは、入力信号サンプル Xの仮数部 M
Z X
の最上位 (n-8)ビットを" 0"とすることにより得られる。
[0051] このようにして得られた 16ビット整数値信号サンプル Yに対しては、図 2の実施形態 と同様に圧縮符号化すればよい。一方、差分信号 Zについては、その仮数部 Mを、
Z
常に" 0〃である最上位 (n_8)ビットについては符号ィ匕せず、それより下位の非ゼロとなり 得る 8ビットの領域と、更にそれより下位の残りの (23-n)ビットの領域を別々に圧縮符 号化する。
上述の例では 16ビット整数値とするため、 23ビットの仮数部の小数点の位置を 8ビ ット上位にシフトして、そのシフトした小数点以下を切り捨てる場合を示したが、一般 に、 22≥m≥8の任意の整数 mビットの切捨てを行うには、入力信号サンプルの指数 部 Eを E_mとして仮数部 Mの上位 (n_m)ビットを整数部分とするように切捨てを行えば
X
よい。また、差分信号 Zの仮数部の圧縮符号化は、最上位 (n-m)ビットの" 0〃は符号化 せず、その下位の mビットの非ゼロとなり得る領域と、更に下位の残りの (23-n)ビットの 領域に分けて別々に符号ィ匕することにより効率のより符号ィ匕が可能となる。
[0052] 図 16に符号化装置の例を図 2と対応する部分に同一参照符号を付けて示す。浮 動小数点形式の入力信号サンプル Xは桁調整部 31で図 14A, 14B, 14Cで説明し たように指数部 Eを E-8とすることにより小数点位置は上位側に 8ビットシフトされる。 整数化部 12では 8ビットシフトされた小数点以下の端数部分を切り捨てて、整数部分 の上位側に〃 'を付カ卩して 16 ( = 24—8)ビットの整数形式の信号サンプル Υとする。 この信号サンプル Υが圧縮部 13で可逆圧縮され、符号 Caが出力される。
またこの 16ビット整数形式の信号サンプル Yは逆桁調整部 32で桁調整部 31と同 一ビット数 8であるが逆方向に、つまり最下位に 8ビットの" 0〃を揷入することにより上 位に 8ビットシフトして、 24ビットの整数形式信号サンプルとされる。この 24ビット整数 形式に変換された信号サンプルは浮動小数点化部 15で浮動小数点形式の信号サ ンプル に変換される。この浮動小数点形式信号サンプル と入力信号サンプ ノレ Xとの差分が減算部 16でとられ、浮動小数点形式の差分信号 Zが生成される。現 実的にはこのような逆桁調整部 32、浮動小数点化部 15及び減算部 16の処理を行う ことなく、差分生成部 14で整数化部 12よりの仮数部の整数部分の桁数 nを用いて、 n≠0で各入力信号サンプル Xの仮数部 Mの下位 8+h(=15-n)ビットを取出し、 n=0
X
では指数部 Eと仮数部 Mとを取出して差分信号 Zとすればょレ、。
X
[0053] 圧縮部 17は分配部 33と 2つの圧縮部 17h、 17cとから構成されている。この差分信 号 Zは分配部 33に入力され、分配部 33には整数化部 12よりシフト後の各サンプル X の仮数部の整数部分の桁数 nが入力され、差分信号 Zの各サンプルは、 n≠0の場 合、桁数 nに基づく非ゼロになり得る桁部分 Zh、つまり下位の h=15_nビットと、整数形 式信号サンプル Yを 1サンプル 24ビットから 1サンプル 16ビットに変更したことに基づ ぐつまり整数形式信号サンプル Yのビット数に基づぐ非ゼロになり得る桁部分 Zc、 つまり下位第 (h+1)ビット一第 (h+8)ビットとに分配する。 n = 0の場合、指数部 Eの 8ビッ トと仮数部の下位 23-8ビットを桁部分 Zhとして、上位 8ビットを桁部分 Zcとして分配す る。桁部分 Zhは圧縮部 17hで、桁部分 Zcは圧縮部 17cでそれぞれエントロピィ符号 化などにより可逆圧縮符号化され、符号列 Cbl, Cb2として出力される。
[0054] 従って圧縮部 17hには、主として仮数部 Mにおける下位の非ゼロになり得るビット が入力され、これが可逆圧縮符号化される。もともとのディジタル信号が 24ビット又は 16ビットの整数値であれば図 14B, 14Cに示したように n = 0以外は圧縮部 17hに入 力される下位 h桁部分 Zhは全て" 0〃になるから、効率よく圧縮される。
圧縮部 17cでは、図 14A, 14B, 14Cに示したように、入力信号サンプル Xがもとも と一般浮動小数点の場合、 24ビット整数値の場合、 16ビット整数値の場合に関係な ぐ非ゼロになり得る下位第 (h+1)—第 (h+8)ビットの 8ビットが可逆圧縮符号化される。 このようにすることにより、図 2中の圧縮部 17で差分信号 Z中の非ゼロになりうるビット のすベてをまとめて圧縮符号ィヒする場合より全体として効率よい圧縮が可能となる。
[0055] この図 16に示した符号化装置と対応する復号化装置の実施形態を図 17に図 8の 復号装置と対応する部分に同一参照番号を付けて示す。符号列 Caは伸張部 21で 可逆伸張復号されて 1サンプル 16ビット整数形式の信号サンプル Yが復号される。 伸張部 23は 2つの伸張部 23h、 23cと合成部 41とにより構成されており、符号列 Cbl と Cb2はそれぞれ伸張部 23h, 23cで可逆伸張復号ィ匕され、これらの復号されたビッ ト列 Bh, Beは合成部 41に入力される。合成部 41には伸張部 21で復号された各サン プノレごとの整数値の最上位の より下位のビット数 nも入力される。 n≠0の場合は 伸張部 23hの出力ビット列 Bhから、 h=15-nビットが取出され、伸張部 23cの出力ビット 歹 IJBCから 8ビットが取出されこれらが仮数部 Mの 23ビット中の下位 hビットと、その上 位の 8ビットとして合成される。以下同様に桁数 nに応じ、ビット列 Bhと Beからそれぞれ hビットと 8ビットが取出されて合成される。 n= 0の場合は指数部 Eとしての 8ビットと 23-8=15ビットがビット列 Bhから取り出され、ビット列 Beから 8ビットが取り出され、この 8 ビットは前記 15ビットの上位側に挿入され、 23ビットの仮数部が生成される。
[0056] 復号された 16ビット整数形式信号サンプル Yは桁調整部 42で下位に 8ビットの" 0〃 を揷入することで上位へ 8ビットシフトされ、 24ビット整数形式信号サンプルが得られ る。その後、浮動小数点化部 15で 32ビット浮動小数点形式信号サンプル に変 換される。この信号サンプル Υ' と差分信号 Ζとが合成部 24で合成されて、浮動小数 点形式の信号サンプル Xが再生される。
上述において、整数形式信号サンプル Υを 1サンプル 16ビット、 24ビットの場合とし た力 24ビット以下の任意の数 mとしてもよぐその数 mに応じて整数形式信号サン プル Yのサンプル当りのビット数変更に基づぐ非ゼロになり得る桁数を決定すれば よい。更に上述において、入力浮動小数点形式信号サンプル Xを、例えば 1024サ ンプルごとのフレーム、または連続する複数のサンプルごと分割し、その分割単位ご とに圧縮符号化処理してもよい。このように分割単位ごとに圧縮符号化する場合は、 整数化するビット数を分割単位ごとに都合のよいように決め、そのビット数を指定する 補助符号も出力するようにしてもょレ、。
[0057] 図 16に示す符号化装置の圧縮部 17として図 2で示した第 1実施形態による圧縮部 17を使用し、図 17の復号ィ匕装置の伸張部 23として図 8における伸張部 23を使用し てもよレ、。即ち、その場合は符号化装置において第 2実施形態で説明した 16ビットの 整数値化を行うが、差分信号 Zは非ゼロとなり得る 2つの領域に分けず、図 7で説明し たように、仮数部の下位 h=23_nビットの符号ィ匕を行う。従って複号化装置の伸張部 2 3においては、符号 Cbから hビットを復号化し、その上位に nビットの〃 0"を揷入して仮 数部を生成する。 前述の第 1実施形態では、差分信号 zの各サンプルの非ゼロとなり得る下位 h(=23-n)ビットを可逆圧縮符号ィ匕する例を示したが、差分信号 Zを例えば 1フレームご とにフレーム方向に抽出したビット列を可逆圧縮符号ィ匕してもよい。その符号化方法 を図 18を参照して以下に説明する。
[0058] 図 18では 1フレームが 1024サンプルにより構成された場合を示し、また各サンプル i (i=0— 1023)に対応して入力信号サンプル Xの仮数部の n(=E-E )ビット整数部分の整
0
数値と、 h(=23- n)ビットの端数部分のビット列を示してある。第 1実施形態で図 7を参 照して説明したように、差分信号 Zの各サンプルの仮数部 Mの整数部分に対応する 上位 nビットは全て" 0〃であり、端数部分である下位 h=23-nビットが非ゼロとなり得るビ ットである。図 18の符号化方法では、差分信号の仮数部の下位 hビットのみを、それ ら hビットの最上位ビット MSBをそろえて配列し、その配列における各サンプノレの振 幅方向の各ビット位置 jのビットをフレーム方向に順次抽出して得たビット列 Eを符号 j 化を行う。
[0059] サンプルによっては数部のビット長 h=23-nは異なるので、振幅方向における同一ビ ット位置 j(j=0— h -1; h はフレーム内のサンプルの最大端数部分ビット長)のフレ max max
ーム方向のスキャンにおいて、ビットが存在しないサンプルはスキップする。スキップ するか否かの判定は、サンプル iの振幅方向のビット位置 jで、そのサンプルの端数部 分ビット長 hと jを比較し、 h jであればそのビット位置のビットを抽出し、 h<jであれば スキップして次のサンプル i+1を判定すればよい。
例えば MSB側力ら j=17のビット位置におけるフレーム方向のスキャンにおいて、端 数部分のビット長 h=23-6=17のサンプル番号 i=0のサンプルは最下位にビットを有す る力 端数部分のビット長 23-8=15のサンプル番号 i=lのサンプルは MSB側から第 1 5番目以降 (j=14以降)にビットを持たないのでスキップされる。これら第 15番目の抽 出されたビットを 1フレーム分まとめてビット列 E としてエントロピー符号化する。他の
16
ビット位置 jについても同様である。エントロピー符号化として算術符号ゃゴロム符号 を行うと下位層化ができるので便利である。
[0060] 復号側にぉレ、ては、復号した各整数値信号サンプル Yの最上位の T'より下位のビ ット数 n力 整数部分の桁数 nがわかるので、フレーム内の各差分信号 Zの仮数部に おける端数部分のビット長 h=23_nがわかる。従って、復号した各ビット列 Eに対し、フ
J レーム内のサンプノレ番号 iを順次走査してサンプル番号毎に振幅方向のビット位置 j を hと比較し、 j≤hならビット列 Ej中のビット値をビット位置 (i,j)に割り当てることで図 18 の仮数部における端数部分を再構成することができる。この再構成された各サンプル の端数部分に対し、その上位側にサンプノレに対応する nビットの" 0〃を揷入することで 差分信号の 23ビットの仮数部 Mを再構成することができる。
[0061] 図 19は図 18の符号化方法を図 2の圧縮符号ィ匕部 17に適用した場合の機能構成 を示す。差分生成部 14 (図 2参照)からの差分信号 Zの 1フレーム分 Z Z が入力
0 1023 されると共に、対応する整数部分桁数 n n が記憶部 17Bに記憶される。制御部 1
0 1023
7Cは各サンプル iの整数部分桁数 nに基づいて、入力差分信号 Zの仮数部の上位 n i l
ビットを除く h=23_nビットの端数部分をバッファ 17Aに取り込む。これにより図 18に示 した仮数部における端数部分の配列が得られる。次に、制御部 17Cは振幅方向のビ ット位置 j(=0— h -1)においてフレーム方向にサンプルを走査し、 h ¾を満足するビ
max
ットを抽出してビット列 Eを得て、圧縮部 17Dに与える。バッファ 17A、記憶部 17B j 、 制御部 17Cはビット列生成手段を構成している。圧縮部 17Dはビット列 Eを可逆圧縮
J
符号化して符号 Cbを出力する。
[0062] 図 20は図 19の圧縮符号化部 17に対応する図 7における差分信号復号化手段とし ての伸張部 23の機能構成を示す。受信された符号 Cbは復号ィ匕部 23Dで復号され てビット列 Eが得られる。一方、桁計算部 21A (図 7)からの整数桁数 nの 1フレーム分 n一 n が記憶部 23Bに記憶され、制御部 23Cはサンプノレ番号 iの順に対応する端
0 1023
数桁数 h =23-nから h≥jを満足するビット位置 (i, j)に対し、ビット列 Eから順に 1つず
1 i 1 j つビットを分配してバッファ 23A内に配列記憶することを繰り返すことにより、図 18の 端数部分のビット配列が得られる。 1フレームについての全ビット列 E
」, j=0 h _1の max ビット配列が終了すると、制御部 23Cはバッファ 23A内の各サンプル iに対応した端 数部分の上位側に nビットの "0 "を揷入して差分信号の仮数部を生成し、差分信号 Z として合成部 24 (図 7)に与える。ノ ッファ 23A、記憶部 23B、制御部 23Cは再構成 手段を構成している。
[0063] 図 18の差分信号の仮数部の符号ィ匕においては、各ビット位置 jでフレーム方向にビ ットを集めてビット列 Eとし、符号ィ匕する場合を示したが、ビット位置の走查方法の他
J の例を以下に説明する。図 21ではサンプノレの振幅方向の予め決めた複数ビット幅に 渡って、ビット位置 jの最後のサンプルのビットからビット位置 j+1の最初のサンプルの ビット位置に続けて走査してビットを集め、複数のビット列 E , E ,…を生成している。
2 18
従って、得られるビット列 Eの数は端数部分の最大ビット数 h より少なくなる。このビ j max
ット走查においても、各サンプル iの hく jとなるビット位置はスキップする。このようなビ ット走查を行っても、各サンプル iの端数部分桁数は h=23-nからわかるので、復号側 においてはビット列 Eのビットを前述と同様に分配してレ、くことにより端数部分のビット j
配列を再構成することができる。
[0064] 図 22は更に他のビット走査の例を示す。図 21ではビット位置 jのフレームの終わり 力 ビット位置 j+1のフレームの始めに連続させることを複数ビット幅繰り返して走査し たのに対し、ここではその複数ビット幅を振幅方向に MSB側から走査し、各サンプル iのそのビット幅の終わりから次のサンプル i+1のビット幅の始めに続けて操作すること をフレームの最後のサンプルまで繰り返す。この例においても、条件 h <jとなるビット 位置はスキップされる。
図 23は図 18のビット走査における例外動作を説明するためのものである。切捨て によって整数部分がゼロになってしまう場合、即ち E-Eが負になる場合には指数部も
0
含めて全 32ビットを符号化して送る必要がある。そこで、図 23に示すように、サンプ ノレ i=3の整数部分がゼロであった場合 (従って n=0)は、図 2の圧縮部 17においてこの サンプノレ i=3を仮数部のビット走査から除外して別途符号ィ匕する。
[0065] 入力信号サンプル Xが整数から変換された浮動小数点形式の信号サンプノレであつ た場合の、元の整数の桁数と切り捨てた整数値の桁数が異なる場合、例えば図 9B, 10Bで説明したように、 24ビット整数をそのまま浮動小数点とした信号サンプルを入 力とし、 16ビットの整数に切り捨てて符号化した場合、差分信号の仮数部の端数部 分の桁のうち、上位 8桁は非ゼロとなり得る力 それ以外はゼロとなる。このような入力 信号サンプル Xを符号化する場合に、例えば図 13の手法を使えば、ビット列 E— E
0 7 は非ゼロとなり得る力 それより下位のビット列 E— E は全て" (Tとなるので、効率的
8 21
な符号化が可能である。同様に、図 21、 22の手法を使っても効率的な符号化が可 能なことは容易に理解される。 [0066] 例えばオーディを信号の加工などで必要に応じて行われるように、 24ビットの整数 値信号サンプノレを 1.5倍してから浮動小数点形式の信号に変換し、 16ビットの整数に 切り捨てて符号化する場合、 24ビット整数値信号サンプルを 1.5倍すれば少なくと小 数点以下第 1位が非ゼロとなり得るビットになる。即ち、図 14Bに示すサンプル Xの仮 数部 Mの小数点 P以下第 1位が非ゼロとなりえる。そのため、差分信号の仮数部 M
X D Z
の非ゼロとなり得る領域は下位側に 1ビット増加して 9ビットになるが、この場合でも、 その 9ビットより下位側は全て" 0"となるので、図 18、 21、 22、 23の手法を使って効率 的な符号化が可能となる。また、全てゼロでなくても非ゼロ(即ち' Τ')の頻度が桁ごと に偏る場合があるので、偏りに合わせて適応的に可逆符号ィ匕を適用することもできる
[0067] いずれの場合にも、差分信号の仮数部における端数部分の MSB側からの非ゼロ となり得る桁数がそろうので、効率的に圧縮符号ィ匕できる。
上述の図 18— 23の仮数部の符号ィ匕方法は図 2に基づく第 1実施形態に適用する 例として説明したが、図 14A— 17で説明した 16ビット整数値に切り捨て処理を行う 場合にも適用できる。その場合は、図 16の圧縮部 17を図 19のように構成し、図 17の 伸張部 23を図 20の伸張部のように構成すればよい。
また、端数部分の桁数が同じになるようにサンプノレを並び替えてスキャンしてもよい 。例えば桁数が 23となるサンプルだけを集め、次に桁数が 22となるサンプノレを集め 、順次桁数が小さくなるサンプノレを集める。この並び替えの逆は追加情報がなくても 一意に決まり、スキャンするサンプルの数の管理が容易になる。 前述の第 4実施例ではフレーム毎に差分信号 Zの仮数部 Mの端数部分の MSBを 同一位置にそろえて、サンプノレ列方向にビット列を抽出し、符号ィ匕する例を示した。 第 5実施例では、非ゼロとなり得る端数部分の LSBを同一ビット位置にそろえて整数 値のサンプル列とし、サンプル列方向の冗長性を除いて圧縮符号ィ匕を行うもので、 図 2の符号ィ匕装置 100に適用した場合の符号ィ匕装置の構成例を図 24に示す。
[0068] 図 2と異なる点は圧縮符号ィ匕部 17の構成である。図 24に示すように、圧縮符号化 部 17は、端数部分抽出部 17Eと、フレーム内平均部 17Fと、減算器 17Gと、符号化 部 17D1、 17D2とから構成されている。差分生成部 14からの差分信号 Zは端数部 分抽出部 17Eで各サンプノレの仮数部 Mから下位 h=23-nビットの端数部分を 1つの整 数値サンプル Fとして抽出する。フレーム内平均部 17Fは各フレーム毎にフレーム内 の抽出された整数値サンプルの平均値 F を計算し、符号化部 17D1で符号化して ave
符号歹 iJCblを出力する。平均値 F と各整数値サンプル Fとの差を誤差サンプル A F ave
として減算器 17Gで求め、その誤差サンプル A Fを符号ィ匕部 17D2で予測符号ィ匕を 行い、予測誤差を可逆圧縮符号ィ匕して符号列 Cb2を出力する。予測パラメータは別 途補助情報として送ってもよいし、符号ィ匕装置と復号ィ匕装置で共通に適応的に更新 してもよい。
[0069] 図 25は図 24に対応する復号化装置の例を示す。この構成は、図 8の複号化装置 における伸張部 23の構成を変更したものである。この実施形態では、伸張部 23は伸 張部 23B, 23Cと、加算部 23Dと組立て部 23Aとから構成されている。伸張部 23B は、受信した符号列 Cblを伸張復号ィ匕してフレームごとの平均値 F を出力する。伸 ave
張部 23Cは受信した符号列 Cb2を伸張復号化して予測誤差を求め、更に予測復号 化を経て誤差サンプル Δ Fを出力する。誤差サンプル Δ Fは平均値 F と加算部 23 ave
Dで加算され、整数値サンプル Fが得られる。組立て部 23Aはこの整数値サンプル F と、伸張部 21の桁数計算部 21A力 の桁数 nとを使って差分信号 Zを組み立てる。 得られた差分信号 Zと、整数値信号サンプル Yの浮動小数点形式信号サンプル Y'と から、図 8の場合と同様にして信号サンプル Xが合成される。
[0070] この第 4実施形態は第 3実施形態にも適用でき、その場合は、図 16及び 17におけ る圧縮符号化部 17と伸張部 23をそれぞれ図 24及び 25における圧縮符号化部 17と 伸張部 23で置き換えればよい。
コンピュータによる実施形熊
図 2、図 9、図 12、図 16、図 24に示した符号化装置 100は図 26に示すような、バス 68で互いに接続された RAM61 , CPU62,ハードディスク 63、 R〇M64、送受信部 65、入出力部 66、オーディオ ·ビデオ入出力部 67などを有するコンピュータ 600によ り機能させてもよい。
[0071] ROM64にはコンピュータの起動に関するプログラムが格納されており、ハードディ スク 63にはコンピュータの動作システムプログラムが格納されている。この発明の符 号化装置 100の機能構成を実行するプログラムは予め CD— ROM又は D VDなどの 記録媒体 71から CD/DVDドライブ 66によりハードディスク 63に読み込んでおくか 、通信回線を通して送受信部 65によりダウンロードしてハードディスク 63に読み込ん でおく。
符号化する浮動小数点形式のディジタル信号サンプル Xの系列は例えばオーディ ォ-ビデオ入出力部 67により外部から取り込んで、バッファとして動作させるハードデ イスク 63に一時記憶する。符号化を開始するには、符号化を実行するプログラムをハ ードディスク 63から RAM61に読み込んで、その実行プログラムを CPU62により実 行する。符号化結果である符号 Ca, Cb (又は Z), Cc等は送受信部 65により通信回線 を通して送信してもよいし、 CD/DVDドライブ 66により CD又は DVDの記録媒体に 記録保存してもよい。
図 8、図 11、図 13、図 17、図 26に示した復号化装置 200を図 24のコンピュータで 実施する場合も同様に、復号化装置の機能構成を実行するプログラムをハードディ スク 63に格納しておき、送受信部 65で通信回線から受信した符号 Ca, Cb (又は Z), Ccに対し復号プログラムを実行する。復号結果は表示器 73及びスピーカ 74に再生 出力する。
この発明は音楽信号のみならず、音声信号、画像信号などに対しても適用すること ができる。

Claims

請求の範囲 [1] (a)浮動小数点形式の第 1信号サンプノレを絶対値が小さくなるように切捨てを行つ て整数形式の第 2信号サンプルに変換する過程と、 (b)上記整数形式の第 2信号サンプルを可逆圧縮して第 1符号列を生成して出力 する過程と、 (c)上記整数形式の第 2信号サンプルと上記浮動小数点形式の第 1信号サンプノレ との差分に対応する浮動小数点形式の差分信号を生成する過程と、 (d)上記浮動小数点形式の差分信号の、上記整数形式の第 2信号サンプルの最上 位の 1より下位のビット数により決まる非ゼロになり得るビット領域に対応する第 2符号 歹 IJを生成して出力する過程、 とを含む浮動小数点形式ディジタル信号可逆符号化方法。 [2] 請求項 1記載の符号化方法において、上記過程 (d)は、上記差分信号の、上記非 ゼロになり得るビット領域を可逆圧縮して上記第 2符号列を生成する過程を含む。 [3] 請求項 2記載の符号化方法において、上記非ゼロになり得るビット領域は、上記第1信号サンプノレの仮数部における小数点以下の端数部分である。 [4] 請求項 2記載の符号化方法において、上記過程 (a)は、
(a-1)上記第 1信号サンプルの複数サンプノレ区間毎にその区間内の上記浮動小数 点形式の第 1信号サンプルの指数部の最大値を検出する過程と、
(a-2)上記区間内の上記第 1信号サンプルの整数値に変換後の最大桁数が予め 決めた値と成るように上記区間内の第 1信号サンプルの上記指数部の値をそれぞれ 上記検出した最大値に基いて決めた調整値だけ調整する過程と、
(a-3)上記指数部が調整された浮動小数点形式の上記区間内の第 1信号サンプル を、上記整数形式に変換する過程と、
(a-4)上記調整値と対応した調整情報を符号化して補助符号を生成する過程、 とを含み、上記過程 (d)は上記補助符号も出力する。
[5] 請求項 2記載の符号化方法において、上記整数形式の第 2信号サンプルのビット 数 bは上記浮動小数点形式の第 1信号サンプノレの仮数部のビット数 b 以下であり、
I
上記第 2符号列の生成過程は、上記整数形式の第 2信号サンプルの最上位の 1よ り下位のビット数に対応して決まる上記第 1信号サンプルの仮数部における非ゼロに なり得る多数部分の領域を、上記仮数部のビット数 b と上記第 2信号サンプノレのビッ ト数 bとの差のビット数の上位側ビット領域と、残りの下位側ビット領域とに分けてそれ ぞれ可逆圧縮し、それらの符号を上記第 2符号列として出力する過程を含む。
[6] 請求項 2記載の符号化方法において、上記過程 (d)は、フレーム毎にフレーム内の 上記差分信号のサンプルの仮数部における非ゼロとなり得るビット領域である端数部 分をそれらの最上位ビットをそろえて配置し、少なくともサンプル方向にビットを選択 して複数のビット列を生成し、それぞれの上記ビット列を可逆圧縮して上記第 2符号 列を生成する過程を含む。
[7] 請求項 1記載の符号化方法において、上記ステップ (c)は、フレーム毎にフレーム 内の上記差分信号の端数部分を整数値サンプルとするサンプル列の平均値を求め 、それぞれの整数値サンプノレの値から上記平均値を減算した信号に対し、サンプル 方向に予測を行い、その予測誤差を可逆圧縮符号化するとともに、上記平均値を符 号化して上記第 2符号列とする過程である。
[8] (a)第 1符号列を復号伸張して整数形式の第 1信号サンプルを生成する過程と、
(b)上記第 1信号サンプノレの最上位の 1より下位のビット数に応じて決まる非ゼロに なり得る桁数に基いて、第 2符号列から浮動小数点形式の差分信号を生成する過程 と、
(c)上記整数形式の第 1信号サンプルを浮動小数点形式の第 2信号サンプルに変 換する過程と、
(d)上記浮動小数点形式の第 2信号サンプルと上記浮動小数点形式の差分信号を 合成して浮動小数点形式の第 3信号サンプルを生成する過程、
とを含む浮動小数点形式ディジタル信号復号化方法。
[9] 請求項 8記載の復号化方法において、上記差分信号を生成する過程 (b)は、上記 第 2符号歹 IJを復号伸張して上記非ゼロになり得る桁の端数部分を生成し、上記端数 部分を使って上記浮動小数点形式の差分信号を生成する過程である。
[10] 請求項 9記載の復号化方法において、補助符号を復号して調整情報を生成する過 程と、上記整数形式の第 1信号サンプル又は上記合成信号に対し、上記調整情報 により桁調整する過程とを含む。
[11] 請求項 9記載の復号方法において、上記第 2符号列は第 1符号系列と第 2符号系 歹 IJとを含み、
上記差分信号の生成過程 (b)は、
(b-1)上記整数形式の第 1信号サンプルのビット数と上記浮動小数点形式の第 3信 号サンプノレの仮数部のビット数との差のビット数の上位側ビット領域に上記第 1符号 系列を復号伸張する過程と、
(b-2)上記第 2符号系列を下位側ビット領域に復号伸張する過程と、
(b-3)上記上位側ビット領域の下位側に上記下位側ビット領域を付加して仮数部の 端数部分として上記差分信号を生成する過程、
とを含む。
[12] 請求項 9記載の復号化方法において、上記過程 (b)は、
(b-1)フレーム毎に上記第 2符号列を復号伸張して複数のビット列を得る過程と、 (b-2)フレーム内のサンプル方向におけるサンプル位置とサンプル内の振幅方向 における位置で規定されるビット位置を少なくともサンプノレ方向に走査して各ビット位 置が対応する上記整数形式の第 1信号サンプルの最上位の 1より下位のビット数によ り決まる端数部分のビット長内にあるビット位置に各上記ビット列のビットを分配してフ レーム内の差分信号の端数部分を再構成する過程と、
(b-3)各上記端数部分の上位側に上記対応する第 1信号サンプルの上記最上位 の 1より下位のビット数だけゼロを挿入して各差分信号の仮数部を再構成することに より、上記差分信号を生成する過程、
とを含む。
[13] 請求項 8記載の復号化方法において、上記過程 (b)は、上記第 2符号列を伸張復 号してフレームごとのサンプルの平均値とフレーム内の各サンプルに対応する予測 誤差から平均値が除かれた信号を得る過程と、上記平均値と平均値が除かれた信 号を加算して端数部分を生成する過程と、上記端数部分の上位側に、上記整数値 の最上位の 1より下位のビット数だけ 0を揷入して差分信号の仮数部を生成する過程 とを含む。
[14] 入力された浮動小数点形式の第 1信号サンプルを絶対値が小さくなるように切捨て を行って整数形式の第 2信号サンプルに変換する整数化部と、
上記整数形式の第 2信号サンプルが入力され、これを可逆圧縮して第 1符号列を 生成する第 1圧縮部と、
上記整数形式の第 2信号サンプルと上記浮動小数点形式の第 1信号サンプルとの 差分に対応する浮動小数点形式の差分信号を生成する差分生成部と、
上記浮動小数点形式の差分信号の、上記整数形式の第 2信号サンプルの最上位 の 1より下位のビット数に応じて決まる非ゼロになり得るビット領域に対応する第 2符号 列を生成して出力する第 2符号列生成手段、
とを含む浮動小数点形式ディジタル信号可逆符号化装置。
[15] 請求項 14に記載の符号化装置において、上記第 2符号列生成手段は、上記差分 信号を可逆圧縮し、圧縮結果を上記第 2符号列として出力する第 2圧縮部を含む。
[16] 請求項 15記載の符号化装置において、
上記第 1ディジタル信号サンプノレの複数サンプル区間毎にその区間内の上記浮動 小数点形式の第 1ディジタル信号サンプノレの指数部の最大値を検出し、上記区間内 の上記第 1ディジタル信号サンプノレの整数値に変換後の最大桁数が予め決めた値と なるように上記区間内の第 1ディジタル信号サンプルの上記指数部の値をそれぞれ 上記検出した最大値に基いて決めた調整値だけ調整する桁調整部と、
上記調整値と対応した調整情報を符号化して補助符号を生成出力する補助符号 化部、
とを含む。
[17] 請求項 15記載の符号ィ匕装置において、上記整数形式の第 2信号サンプルのビット 数 は上記浮動小数点形式の第 1信号サンプノレの仮数部のビット数 b 以下であり、
I
上記第 2圧縮部は、上記整数形式の第 2信号サンプルの最上位の 1より下位のビッ ト数に対応して決まる上記第 1信号サンプルの仮数部における非ゼロになり得る端数 部分の領域中の、上記仮数部のビット数 b と上記第 2信号サンプノレのビット数 bとの
I
差のビット数の上位側ビット領域を可逆圧縮符号化して第 1符号系列を生成する第 1 圧縮符号化部と、上記端数部分の上記上位側ビット領域の下位側のビット領域を可 逆圧縮符号化して第 2符号系列を生成する第 2圧縮符号化部とを含み、それら第 1 及び第 2符号系列は上記第 2符号列として出力される。
[18] 請求項 15記載の符号ィ匕装置において、上記差分生成部は、フレーム毎にフレー ム内の上記差分信号のサンプノレの仮数部における非ゼロとなり得るビット領域である 端数部分をそれらの最上位ビットをそろえて配置し、少なくともサンプル方向にビット を選択して複数のビット列を生成するビット列生成主段を含み、上記第 2圧縮部は上 記ビット列を可逆圧縮して上記第 2符号列を生成する。
[19] 請求項 15記載の符号ィ匕装置において、上記差分生成部は、フレーム毎にフレー ム内の上記差分信号の端数部分を整数値サンプルとするサンプル列の平均値を求 める平均値算出部と、それぞれの整数値サンプルと上記平均値との誤差を求める減 算器と、上記誤差をサンプル方向に予測を行い、予測誤差を可逆圧縮符号化すると ともに、上記平均値を符号化して上記第 2符号列とする符号化部とを含む。
[20] 第 1符号列が入力され、これを復号伸張して整数形式の第 1信号サンプルを生成 する第 1伸張部と、
上記第 1信号サンプノレの最上位の 1より下位のビット数に応じて決まる非ゼロになり 得る桁数に基いて、第 2符号列から浮動小数点形式の差分信号を生成する差分信 号復号手段と、
上記整数形式の第 1信号サンプルが入力され、これを浮動小数点形式の第 2信号 サンプノレに変換する浮動小数点化部と、
上記浮動小数点形式の第 2信号サンプルと上記浮動小数点形式の差分信号が入 力され、これらを合成して浮動小数点形式の第 3信号サンプノレを生成する合成部と を有する浮動小数点形式ディジタル信号複号化装置。
[21] 請求項 20記載の復号化装置において、上記差分信号復号手段は、上記第 2符号 歹 IJを復号伸張して上記非ゼロになり得る桁の端数部分を生成し、上記端数部分を使 つて上記浮動小数点形式の差分信号を生成する手段である。
[22] 請求項 21記載の復号化装置において、補助符合を復号して調整情報を生成する 補助復号部と、上記整数形式の第 1信号サンプル又は上記合成信号に対し、上記 調整情報により桁調整する桁補正部とを含む。
[23] 請求項 20記載の復号化装置において、上記第 2符号列は第 1符号系列と第 2符号 系列とを含み、
上記第 2伸張部は、上記整数形式の第 1信号サンプルのビット数と上記浮動小数 点形式の第 3信号サンプルの仮数部のビット数との差のビット数の上位側ビット領域 に上記第 2符号系列を復号伸張する第 3伸張部と、上記第 2符号系列を下位側ビット 領域に復号伸張する第 4伸張部と、上記上位側ビット領域の下位側に上記下位側ビ ット領域を付加して仮数部の端数部分として上記差分信号を生成する合成部、とを 含む。
[24] 請求項 20記載の復号ィ匕装置において、上記第 2伸張部は、フレーム毎に上記第 2 符号列を復号伸張復号して複数のビット列を得る複号化部と、フレーム内のサンプル 方向におけるサンプル位置とサンプノレ内の振幅方向における位置で規定されるビッ ト位置を少なくともサンプル方向に走査して各ビット位置が対応する上記整数形式の 第 1信号サンプノレの最上位の 1より下位のビット数により決まる端数部分のビット長内 にあるビット位置に各上記ビット列のビットを分配してフレーム内の差分信号の端数 部分を再構成し、各上記端数部分の上位側に上記対応するサンプルの最上位の 1 より下位のビット数だけゼロを挿入して各差分信号の仮数部を再構成し、上記差分信 号を生成する再構成手段とを含む。
[25] 請求項 20記載の復号化装置において、上記差分信号復号手段は、上記第 2符号 列を伸張復号してフレームごとのサンプルの平均値とフレーム内の各サンプルに対 応する誤差を得る伸張復号部と、上記平均値と各誤差を加算して端数部分を生成す る加算部と、上記端数部分の上位側に、上記第 1サンプノレの最上位の 1より下位のビ ット数だけ 0を挿入して差分信号の仮数部を生成する手段とを含む。
[26] 請求項 1乃至 7のいずれかに記載した浮動小数点形式ディジタル信号可逆符号ィ匕 方法の各過程をコンピュータに実行させるための符号化プログラム。
[27] 請求項 8乃至 13のいずれかに記載した浮動小数点形式ディジタル信号複号化方法 の各過程をコンピュータに実行させるための複号化プログラム。
[28] 請求項 26又は 27に記載したプログラムを記録したコンピュータ読み取り可能な記録 媒体。
PCT/JP2004/008726 2003-06-20 2004-06-21 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム Ceased WO2004114527A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP04746195.9A EP1638209B8 (en) 2003-06-20 2004-06-21 Lossless coding method for digital signal in floating-point format, decoding method, apparatus therefor and programs therefor
CN2004800116958A CN1781253B (zh) 2003-06-20 2004-06-21 浮点格式的数字信号的无损编码方法、解码方法及其装置
JP2005507254A JP4049792B2 (ja) 2003-06-20 2004-06-21 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
US10/554,739 US7230551B2 (en) 2003-06-20 2004-06-21 Floating-point type digital signal reversible encoding method, decoding method, apparatuses therefor, and programs therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003176224 2003-06-20
JP2003-176224 2003-06-20

Publications (1)

Publication Number Publication Date
WO2004114527A1 true WO2004114527A1 (ja) 2004-12-29

Family

ID=33534889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/008726 Ceased WO2004114527A1 (ja) 2003-06-20 2004-06-21 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム

Country Status (5)

Country Link
US (1) US7230551B2 (ja)
EP (1) EP1638209B8 (ja)
JP (1) JP4049792B2 (ja)
CN (1) CN1781253B (ja)
WO (1) WO2004114527A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013642A (ja) * 2005-06-30 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> 信号の符号化装置、方法、プログラム、記録媒体、および信号のコーデック方法
WO2007007672A1 (ja) 2005-07-07 2007-01-18 Nippon Telegraph And Telephone Corporation 信号の符号化装置、復号化装置、方法、プログラム、記録媒体、及び信号のコーデック方法
JP2009225466A (ja) * 2009-06-12 2009-10-01 Nippon Telegr & Teleph Corp <Ntt> 信号の符号化装置、復号化装置、方法、プログラム、および記録媒体
JP2011238236A (ja) * 2010-05-11 2011-11-24 Dassault Systemes 数値データの圧縮及び伸張

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4324200B2 (ja) * 2004-10-15 2009-09-02 日本電信電話株式会社 情報符号化方法、復号化方法、共通乗数推定方法、これらの方法を利用した装置、プログラム及び記録媒体
GB2420952B (en) * 2004-12-06 2007-03-14 Autoliv Dev A data compression method
US8674855B2 (en) * 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) * 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
US7770091B2 (en) * 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US7689049B2 (en) * 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7974488B2 (en) * 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
KR100889750B1 (ko) * 2007-05-17 2009-03-24 한국전자통신연구원 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법
JP4825916B2 (ja) * 2007-12-11 2011-11-30 日本電信電話株式会社 符号化方法、復号化方法、これらの方法を用いた装置、プログラム、記録媒体
US7786903B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7864086B2 (en) * 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US8558724B2 (en) * 2009-05-20 2013-10-15 Nippon Telegraph And Telephone Corporation Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium
KR101703207B1 (ko) * 2009-09-30 2017-02-06 알테라 코포레이션 압축 및 압축해제를 이용한 향상된 멀티 프로세서 파형 데이터 교환
GB2488322B (en) * 2011-02-22 2017-09-20 Advanced Risc Mach Ltd Number format pre-conversion instructions
TWI524265B (zh) 2011-06-30 2016-03-01 艾特拉股份有限公司 浮點資料之壓縮
US8990217B2 (en) 2011-07-13 2015-03-24 International Business Machines Corporation Lossless compression of high nominal-range data
US20130019029A1 (en) * 2011-07-13 2013-01-17 International Business Machines Corporation Lossless compression of a predictive data stream having mixed data types
US9104473B2 (en) 2012-03-30 2015-08-11 Altera Corporation Conversion and compression of floating-point and integer data
CN102628948A (zh) * 2012-04-10 2012-08-08 中国航空无线电电子研究所 用于批量发送通用航空器经纬位置数据的压缩方法
US9754384B2 (en) * 2012-04-18 2017-09-05 Suzhou Superengine Graphics Software Technology Development Co., Ltd. Relevant method and device for compression, decompression and progressive transmission of spatial data
JP6145965B2 (ja) * 2012-04-19 2017-06-14 富士ゼロックス株式会社 画像符号化装置及び画像復号化装置並びにプログラム
EP3298695B1 (en) * 2015-05-21 2022-01-05 Zeropoint Technologies AB Methods, devices and systems for semantic-value data compression and decompression
CN106990937B (zh) * 2016-01-20 2020-10-20 中科寒武纪科技股份有限公司 一种浮点数处理装置和处理方法
KR102733012B1 (ko) * 2019-09-20 2024-11-21 삼성전자주식회사 데이터 압축기를 포함하는 무선 통신 장치 및 이의 동작 방법
CN111142676B (zh) * 2019-12-30 2023-08-08 歌尔科技有限公司 数据传输方法、装置、头戴显示设备和可读存储介质
TWI774233B (zh) * 2020-09-23 2022-08-11 瑞昱半導體股份有限公司 訊號傳輸系統與發射端編碼裝置
CN112665886B (zh) * 2020-12-11 2023-06-27 浙江中控技术股份有限公司 一种大型旋转机械振动测量高频原始数据的数据转换方法
TWI785546B (zh) * 2021-03-23 2022-12-01 創鑫智慧股份有限公司 浮點數的編碼與解碼的方法與裝置
CN113791756B (zh) * 2021-09-18 2022-12-23 中科寒武纪科技股份有限公司 转数方法、存储介质、装置及板卡
US11742875B1 (en) * 2022-04-20 2023-08-29 Mediatek Inc. Compression of floating-point numbers for neural networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001044847A (ja) * 1999-05-21 2001-02-16 Nippon Telegr & Teleph Corp <Ntt> 可逆符号化方法、可逆復号化方法、これらの装置及びその各プログラム記録媒体
WO2003077425A1 (en) * 2002-03-08 2003-09-18 Nippon Telegraph And Telephone Corporation Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program
JP2003332914A (ja) * 2001-08-23 2003-11-21 Nippon Telegr & Teleph Corp <Ntt> ディジタル信号符号化方法、復号化方法、これらの装置及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535898B1 (en) * 2000-01-24 2003-03-18 Microsoft Corporation Fast floating-point truncation to integer form
US6879992B2 (en) * 2000-12-27 2005-04-12 Intel Corporation System and method to efficiently round real numbers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001044847A (ja) * 1999-05-21 2001-02-16 Nippon Telegr & Teleph Corp <Ntt> 可逆符号化方法、可逆復号化方法、これらの装置及びその各プログラム記録媒体
JP2003332914A (ja) * 2001-08-23 2003-11-21 Nippon Telegr & Teleph Corp <Ntt> ディジタル信号符号化方法、復号化方法、これらの装置及びプログラム
WO2003077425A1 (en) * 2002-03-08 2003-09-18 Nippon Telegraph And Telephone Corporation Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MORIYA T. ET AL.: "Onkyo shingo no ampling rate scalable lossless fugoka", JOHO KAGAKU GIJUTSU FORUM IPPAN KOEN RONBUNSHU, vol. 2, 13 September 2002 (2002-09-13), pages 227 - 228, XP002983565 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013642A (ja) * 2005-06-30 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> 信号の符号化装置、方法、プログラム、記録媒体、および信号のコーデック方法
WO2007007672A1 (ja) 2005-07-07 2007-01-18 Nippon Telegraph And Telephone Corporation 信号の符号化装置、復号化装置、方法、プログラム、記録媒体、及び信号のコーデック方法
EP1901432A4 (en) * 2005-07-07 2010-04-07 Nippon Telegraph & Telephone Signal decoder, signal decoder, signal encoding method, signal decoding method, program, recording medium, and signal encoding / decoding method
CN101061638B (zh) * 2005-07-07 2010-05-19 日本电信电话株式会社 信号编码器、信号解码器、信号编码方法、信号解码方法和信号编解码方法
EP2343700A1 (en) 2005-07-07 2011-07-13 Nippon Telegraph And Telephone Corporation Signal decoder, signal decoding method, program, and recording medium
US8050334B2 (en) 2005-07-07 2011-11-01 Nippon Telegraph And Telephone Corporation Signal encoder, signal decoder, signal encoding method, signal decoding method, program, recording medium and signal codec method
JP2009225466A (ja) * 2009-06-12 2009-10-01 Nippon Telegr & Teleph Corp <Ntt> 信号の符号化装置、復号化装置、方法、プログラム、および記録媒体
JP2011238236A (ja) * 2010-05-11 2011-11-24 Dassault Systemes 数値データの圧縮及び伸張
KR101808027B1 (ko) 2010-05-11 2017-12-12 다솔 시스템므 수치 데이터의 압축 및 압축해제

Also Published As

Publication number Publication date
JP4049792B2 (ja) 2008-02-20
EP1638209A4 (en) 2006-08-16
EP1638209B1 (en) 2019-08-07
CN1781253B (zh) 2012-01-25
CN1781253A (zh) 2006-05-31
US20060284747A1 (en) 2006-12-21
EP1638209A1 (en) 2006-03-22
EP1638209B8 (en) 2019-09-11
JPWO2004114527A1 (ja) 2006-07-27
US7230551B2 (en) 2007-06-12

Similar Documents

Publication Publication Date Title
WO2004114527A1 (ja) 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
JP4049793B2 (ja) 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体
JP4049791B2 (ja) 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
KR100518640B1 (ko) 라이스인코더/디코더를사용한데이터압축/복원장치및방법
EP2053749B1 (en) Encoding method and apparatus, and program
KR100307596B1 (ko) 디지털 오디오 데이터의 무손실 부호화 및 복호화장치
US7408481B2 (en) Information encoding method, decoding method, common multiplier estimating method, and apparatus, program, and recording medium using these methods
JPH10285048A (ja) デジタルデータの符号化/復号化方法及び装置
JP3406275B2 (ja) ディジタル信号符号化方法、ディジタル信号復号化方法、これらの装置及びその各プログラム記録媒体
JP4195598B2 (ja) 符号化方法、復号化方法、符号化装置、復号化装置、符号化プログラム、復号化プログラム
KR100490638B1 (ko) 디지털오디오신호의무손실부호화를위한부호화및복호화시스템
KR20000064612A (ko) 복수의 디지탈 정보신호를 데이터 압축 및 복원하는 장치 및 방법
JP2004247909A (ja) ディジタル信号符号化方法、復号化方法、符号器、復号器、符号化プログラム、及び復号化プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005507254

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004746195

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006284747

Country of ref document: US

Ref document number: 10554739

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20048116958

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004746195

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10554739

Country of ref document: US