Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN1187716 C
Publication typeGrant
Application numberCN 02154243
Publication date2 Feb 2005
Filing date27 Nov 2002
Priority date27 Nov 2001
Also published asCN1277239C, CN1294540C, CN1428742A, CN1438613A, CN1441387A, EP1320264A2, EP1320264A3, EP1320264B1, EP2278808A1, EP2278808B1, US7446771, US20030128883
Publication number02154243.0, CN 02154243, CN 1187716 C, CN 1187716C, CN-C-1187716, CN02154243, CN02154243.0, CN1187716 C, CN1187716C
Inventors李信俊, 郑锡润, 张义善, 禹相玉, 韩万镇, 金道均, 张敬子
Applicant三星电子株式会社
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Device and method for coding and decoding keyword data
CN 1187716 C
Abstract  translated from Chinese
提供一种用于编码解码关键字数据的装置和方法。 Provide an apparatus and method for encoding and decoding key data. 用于编码关键字数据的DPCM的差分数据的装置包括:DND操作器,用于对输入的差分数据执行预定次数的DND操作,其中对输入的差分数据执行一分开操作以便平分属于正数区域的差分数据并且以便转换与另一半相比较属于上界的差分数据的一半为负值,或者在分开操作的结果上根据该分开操作结果的范围有选择地执行一上分操作或者下分操作以便缩小分别属于一负数区域或者正数区域的差分数据的范围,对DND操作的结果执行上移位操作的上移位操作器以便改变已经过DND操作的差分数据为正或者负数区域,差分数据选择器,有选择地输出或者已经过DND操作的差分数据或者已经过上移位操作的差分数据,以及熵编码器,通过差分数据选择器熵编码所选择的差分数据。 It means DPCM difference data for encoding key data comprises: DND operation, a differential data input for the execution of the DND operation a predetermined number of times, in which the input differential data so as to perform a separate operation bisects a positive number region below differential data to be converted and compared with the other half belongs to the community of half the difference data is negative, or selectively performs the sub-operation or sub-operation under the order to narrow in on a separate operating results based on the scope of the separate operating result belong to the scope of a positive or negative number region area difference data, the results of DND operation performed on the shift operation of the shift operation device for changing the DND operation has been positive or negative difference data region, the differential data selector , or selectively outputs have been DND operation on differential data or differential data shift has been operated, and an entropy coder, by the differential data selector entropy encoding the selected differential data.
Claims(54)  translated from Chinese
1.一种用于编码关键字数据的DPCM的差分数据的装置,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该装置包括:DND操作器,用于对输入的差分数据执行预定次数的DND操作,在其中对输入的差分数据执行一分开操作,以便二等分属于正数区域的差分数据并且转换属于区域上部的差分数据成为负值,或者根据分开操作结果,对分开操作的结果有选择地执行上分操作或者下分操作,以便缩小分别属于负数区域或者正数区域的差分数据的范围;上移位操作器,用于对DND操作的结果执行上移位操作以便转移已经过DND操作的差分数据到正数或者负数区域;差分数据选择器,用于有选择地输出已经过DND操作的差分数据或者已经过上移位操作的差分数据;以及熵编码器,用于通过差分数据选择器熵编码所选择的差分数据。 1. Device DPCM difference data for encoding key data, where key data is information about key frame position on the time axis, the apparatus comprising: DND operator for the input differential data to perform a predetermined number of DND operation, in which the implementation of a separate operation on the differential data input to the second differential data belonging to its positive zone and converting the differential data belonging to the upper region of a negative value, or according to separate operating results, the results of operations of the separate sub-operations are selectively performed on or under the sub-operation, in order to narrow down the area belong to the negative or positive zone difference data; the shift operator for the results of the implementation of the DND shift operation DND operation has been transferred to the operating differential data to a positive or negative number region; differential data selector for selectively outputting the differential data have been DND operation or the differential data shift operation has been on; and an entropy encoder for the differential data by entropy coding selector selected differential data.
2.如权利要求1的装置,其中,差分数据选择器度量已经过DND操作的差分数据的分散度和已经过上移位操作的差分数据的分散度,并且输出具有低分散度的那个差分数据。 2. The apparatus of claim 1, wherein the differential data selector measure has been dispersion DND operation and the differential data have been operating on the dispersion shifted difference data, and outputs the differential data having a low degree of dispersion .
3.一种用于编码关键字数据的DPCM的差分数据的装置,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该装置包括:移位器,用于获得差分数据中具有最高频率的差分数据,并且从每个差分数据中减去该模;折叠处理器,用于将该差分数据转换到正数区域或者负数区域;DND处理器,根据转换的差分数据以及它们中的最大和最小值之间的关系,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据中选择一,并且输出所选择的差分数据;以及熵编码器,用于熵编码从DND处理器输入的差分数据。 3. The differential data means for encoding key data DPCM, where key data is information about key frame position on the time axis, the apparatus comprising: a shifter for obtaining differential data differential data having the highest frequency, and subtracting the mold from each differential data; folding processor for the differential data into a positive or negative regional area; DND processor, based on the differential data conversion and their Relations between the maximum and minimum values of differential data has been executed by folding DND operation to narrow their scope, the differential data input from the shifter, differential data input from the folding processor, DND has been operated differential data, has been on the differential data shift operation and selecting a DND operation, and outputs the selected differential data; and an entropy encoder for entropy encoding the differential data input from the DND processor.
4.如权利要求3的装置,其中,如果从移位器输入的差分数据大于预定的基准值,则折叠处理器以一第一常数乘该差分数据,如果差分数据小于预定的基准值,折叠处理器以第一常数乘每个差分数据的绝对值,并且从每个乘积中减去一第二常数。 4. The apparatus of claim 3, wherein the differential data input from the shifter if greater than a predetermined reference value, the folding processor to a first constant times the difference data, if the difference data is less than a predetermined reference value, folding a first constant times the absolute value of the processor to each difference data, and subtracting a constant from each product in the second.
5.如权利要求3的装置,其中,DND处理器包括:DND操作器,用于对从折叠处理器输入的差分数据执行DND操作;第一差分数据选择器,用于在已经过移位操作的差分数据、已经过折叠操作的差分数据和已经过DND操作的差分数据中选择之一,并且输出所选择的差分数据;上移位操作器,如果已经过DND操作的差分数据从第一差分数据选择器输入,则对差分数据执行上移位操作;第二差分数据选择器,用于有选择地输出已经过DND操作的差分数据或者已经过上移位操作的差分数据。 5. The apparatus of claim 3, wherein, DND processor comprising: DND operator, DND operation for performing differential data input from the folding processor; a first differential data selector for shift operation has been differential data, has been folding operation differential data and has been operating DND differential data, choose one, and outputs the selected differential data; the shift operator, if DND has been operating in the differential data from the first differential data selector input, the differential data to perform shift operation; second differential data selector for selectively outputting the differential data has been DND operations or differential data shift operations have been on.
6.如权利要求5的装置,其中,DND操作器对从折叠处理器输入的差分数据执行DND操作以便缩小编码的差分数据的范围,具体地说,在DND操作中,对差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围。 6. The apparatus of claim 5, wherein, DND operator from the differential data input folded processor execution DND operation to narrow the scope of the encoded difference data, specifically, in the DND operation, the execution of a separate differential data operation to the second positive differential data belonging to the region and convert the differential data belonging to the upper range of a negative value, or according to separate operating results, operating results separately on the selective implementation of the operation or sub-operation in order to narrow down points respectively scope of the negative or positive zone region of the differential data.
7.如权利要求6的装置,其中,在分开操作中,如果输入的差分数据大于nKeyMax/2,则从每个输入的差分数据中减去在输入的差分数据中的最大值nKeyMax和一预定常数。 7. The apparatus of claim 6, wherein, in a separate operation, if the input differential data is greater than nKeyMax / 2, from each input of the differential data by subtracting the maximum value nKeyMax in the difference data inputted and a predetermined constant.
8.如权利要求6的装置,其中,在上分操作中,如果属于负数区域的差分数据的范围大于属于正数区域的差分数据的范围,并且输入的差分数据小于预定的基准值而不小于nKeyMin/2,则将输入的差分数据乘以第一常数,如果属于负数区域的差分数据的范围大于属于正数区域的差分数据的范围并且差分数据小于nKeyMin/2,则从最小值nKeyMin中减去每个输入的差分数据,该减法的结果乘以该第一常数,并且从乘积中减去第二常数。 8. The apparatus of claim 6, wherein, in the sub-operation, the range of negative difference data if they are larger than the area of the scope of the positive number region of the differential data, and differential data input is less than the predetermined reference value and not less than nKeyMin / 2, then the difference data multiplied by a first constant input, if the scope belongs to a negative difference data is larger than the area of the scope of the positive number region of the difference data and the difference data is less than nKeyMin / 2, is subtracted from the minimum value nKeyMin differential data to each input, the result of the subtraction is multiplied by the first constant is subtracted from the product of the second constant.
9.如权利要求6的装置,其中,在下分操作中,如果具有正值的输入的差分数据的范围大于具有负值的输入的差分数据的范围,并且输入的差分数据中的最大值nKeyMax大于nKeyMax/2,则从每个输入的差分数据中减去最大值nKeyMax,该减法的结果乘以第一常数,并且从乘积中减去第二常数,而如果输入的差分数据小于预定的基准值,则将它们中的每个乘以第一常数。 9. The apparatus of claim 6, wherein, in the next sub-operation, if the range of the differential data having positive values is larger than the range of the input differential data having a negative value of the input, and the differential data input is greater than a maximum value nKeyMax nKeyMax / 2, from each input of the differential data by subtracting the maximum value nKeyMax, the result of the subtraction is multiplied by a first constant and the second constant is subtracted from the product, and if the difference data is smaller than the predetermined reference input value , each of them will be multiplied by a first constant.
10.如权利要求5的装置,其中,DND操作器对差分数据执行预定次数的DND操作以便输出DND操作的某一周期的结果,其中编码所需要的比特数可以最小化。 10. The apparatus of claim 5, wherein, DND operator performs a predetermined number of times DND operation on differential data so as to output the result of a cycle of DND operation, wherein the number of bits required for encoding can be minimized.
11.如权利要求5的装置,其中,如果每个差分数据都小于预定的基准值,则上移位操作器从它们中的最大值nKeyMax中减去已经过DND操作的每个差分数据。 11. The apparatus of claim 5, wherein, if each of the difference data is smaller than a predetermined reference value, then the shift operation has been DND operation subtracts each of them from the difference data of the maximum value nKeyMax.
12.如权利要求5的装置,其中,第一差分数据选择器从分别由该移位器、折叠处理器、DND操作器输入的差分数据中选择具有编码需要的最少比特的差分数据,并且输出所选择的差分数据。 12. The apparatus of claim 5, wherein the first differential data selector, folding processor, DND operator input differential data selected by the shifter, respectively, from having the encoding requires the least bits of difference data, and outputs The selected differential data.
13.如权利要求5的装置,其中,如果从移位器或者折叠处理器输入的差分数据被选择,则第一差分数据选择器输出所选择的差分数据到该熵编码器。 13. The apparatus of claim 5, wherein, if the shifter is selected, or the differential data input from the folding processor, the first differential data selector outputs the selected differential data to the entropy encoder.
14.如权利要求5的装置,其中,第二差分数据选择器度量已经过DND操作的差分数据的分散度和已经过上移位操作的差分数据的分散度,并且输出具有低分散度的差分数据。 14. The apparatus of claim 5, wherein the second differential data selector measure has been dispersion DND operation and the differential data have been operating on the dispersion shifted difference data, and outputs a differential low-dispersion of data.
15.一种用于编码关键字数据的装置,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该装置包括:量化器,用于利用量化比特量化输入的差分数据;DPCM处理器,用于产生所量化的关键字数据的差分数据;移位器,用于获得差分数据中具有最高频率的差分数据(模)并且从每个差分数据减去该模;折叠处理器,用于将该差分数据转换到一正数区域或者一负数区域;DND处理器,用于在考虑到转换的差分数据以及它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据中选择之一,并且输出所选择的差分数据;以及熵编码器,用于熵编码从DND处理器输入的差分数据。 15. An apparatus for encoding key data, where key data is information about key frame position on the time axis, the apparatus comprising: a quantizer for quantization bit quantization using differential data inputs; DPCM processor for generating differential data of the quantized key data; shifter, the differential data for obtaining the differential data having the highest frequency (mold) and subtracts the mode from each of the differential data; folding processor for the differential data into a positive or a negative number region area; DND processor for consideration in relation to the case of differential data conversion and their maximum and minimum values between, to have passed DND fold difference data to perform the operation in order to narrow their scope, the differential data input from the shifter, differential data input from the folding processor, has been the difference data DND operation on differential shift operation have been and DND operations Select one of the data, and outputs the selected differential data; and an entropy encoder for entropy encoding the differential data input from the DND processor.
16.如权利要求15的装置,其中,DND处理器包括:DND操作器,用于对从输入的差分数据执行DND操作;差分数据选择器,用于选择已经过移位操作的差分数据、已经过折叠操作的差分数据和已经过DND操作的差分数据其中之一,并且输出所选择的差分数据。 16. The apparatus of claim 15, wherein, DND processor comprising: DND operator, for performing differential data input from the DND operation; differential data selector for selecting the differential data shift operation has been, it has been through the folding operation and differential data DND operation has been one of the differential data, and outputs the selected differential data.
17.如权利要求16的装置,其中,DND操作器对输入的差分数据执行预定次数的DND操作,并且在DND操作中,对输入的差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围。 17. The apparatus of claim 16, wherein, DND operator to perform a predetermined number of DND operation on differential data input, and in DND operation performed on a separate differential data input operation to belong to positive zone bisecting The differential data and converts the differential data belonging to the upper range of a negative value, or according to the results of separate operating range, the results of operations for separate selectively execute the operation or sub-operation under the sub-region in order to reduce belong negative or positive number region The differential data.
18.一种用于编码关键字数据的装置,该关键字数据是关于时间轴上的关键字帧的位置的信息,该装置包括:量化器,用于量化输入的差分数据为量化比特;DPCM处理器,用于产生所量化的关键字数据的差分数据;移位器,用于获得差分数据中具有最高频率的差分数据(模)并从每个差分数据中减去该模;DND处理器,用于在考虑到所转换的差分数据以及它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从移位器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据中选择之一,并且输出所选择的差分数据;以及熵编码器,用于熵编码从DND处理器输入的差分数据。 18. An apparatus for encoding key data, the key data is information about the location of key frames on the timeline, the apparatus comprising: a quantizer for quantizing the differential data input of quantization bits; DPCM a processor for generating differential data of the quantized key data; shifter, the differential data for obtaining the differential data having the highest frequency (mold) and subtracts the mode from each of the differential data; DND processor for when the relationship between the differential data taking into account the conversion as well as their maximum and minimum values between, on the differential data has been executed by folding DND operation to narrow their scope, from the shift differential input data, DND has been operating differential data, has been on the differential data shift operation and the DND operation, select one, and outputs the selected differential data; and an entropy encoder for entropy coding input from DND processor differential data.
19.一种用于编码关键字数据的装置,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该装置包括:线性关键字编码器,用于在输入的关键字数据中识别一区域,在该区域中关键字数据线性地增加,该线性关键字编码器还用于编码线性关键字数据区域;量化误差最小化器,用于调整输入的关键字数据中的最大和最小值以便量化误差能够被最小化,并且输出调整的最大和最小值;量化器,用于使用从量化误差最小化器输入的最大和最小值、利用预定的量化比特量化输入的关键字数据;浮点数换算器,用于将表示从线性关键字编码器输入的线性关键字数据区域的首尾关键字数据的二进制数以及表示从量化误差最小化器输入的最大和最小值的二进制数转换为十进制数;DPCM处理器,用于产生所量化的关键字数据的差分数据;移位器,用于获得一在差分数据中具有最高频率的差分数据(模)并且从每个差分数据中减去该模;折叠处理器,用于将差分数据转换为一正数区域或者一负数区域;DND处理器,用于对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据和已经过上移位操作和DND操作的差分数据中选择之一,并且输出该所选择的差分数据;熵编码器,用于熵编码从DND处理器输入的差分数据;以及关键字头编码器,用于使用编码所需数据产生关键字头数据,其中该数据从线性关键字编码器量化器、浮点数换算器、DPCM处理器、移位器、折叠处理器、DND处理器以及熵编码器中至少之一输入。 19. An apparatus for encoding key data, where key data is information about key frame position on the time axis, the apparatus comprising: a linear key encoder for data entry in the keywords identifying an area, the key data linearly increase in the area, which is also linear key encoder for encoding the linear key data region; quantization error minimizer for adjusting the input key data and maximum so that the minimum quantization error can be minimized, and outputs the maximum and minimum adjustment; quantizer for using the maximum and minimum values from the quantization error minimizer input using a predetermined quantization bit quantized key data input; Float converter for converting binary number represents a keyword from the linear encoder input linear key data region and inclusive representation of key data from the quantization error minimizer maximum and minimum input binary number to decimal number; DPCM processor for generating differential data of the quantized key data; shifter, for obtaining the differential data having the highest frequency in the difference data (mode) and is subtracted from each of the differential data die; folding processor for converting the differential data into a positive number region or a negative region; DND processor for the differential data have been through the folding operation to perform DND their narrow range, the input from the shifter differential data, differential data input from the folding processor, has been the difference data DND operation on differential data and have been shifting operations and DND operation, select one, and outputs the selected differential data; entropy coder, entropy coding for DND processor from the differential data input; and a key first encoder for encoding the data required to generate key header data, wherein the data from the linear encoder quantizer keyword, floating point converter, DPCM processor, shifter, folding processor, DND processor and at least one of an entropy encoder input.
20.如权利要求19的装置,其中,如果线性关键字数据区域中的关键字数据和任意关键字数据区域中的线性预测的关键字数据之间的最大误差不大于预定临界值,则线性关键字编码器判定线性关键字数据区域是互线性的。 20. The apparatus of claim 19, wherein, if the maximum error of the linear key data region key data and key data area in any linear prediction of key data is not greater than a predetermined threshold value, the linear key word linear encoder determines the key data region are inter-linear.
21.如权利要求19的装置,其中,量化器使用输入的关键字数据中的最大和最小值转换输入的关键字数据为预先确定范围的值,并且利用预先确决定的量化比特量化该值。 21. The apparatus of claim 19, wherein the key data using the input key data in the quantizer for converting an input maximum and minimum values of the predetermined range of values, and the use of a pre-determined decision quantization bits of the quantized value.
22.如权利要求19的装置,其中,量化误差最小化器使用任意最大和最小值转换转换输入的关键字数据为预先确定范围的值,利用预定量化比特量化该值,反向地量化该量化的关键字数据,并且获得和输出能够最小化输入的关键字数据与反向地量化的关键字数据之间误差之和的最大和最小值。 22. The apparatus of claim 19, wherein the quantization error minimizer key data using the maximum and minimum values of any entered Conversion to a predetermined range of values, using a predetermined quantization bit quantizing the value inversely quantizes the quantization The key data, and the error between the maximum and minimum values obtained key data input and output can be minimized and inversely quantized key data sum.
23.如权利要求19的装置,其中,浮点数换算器将以mantissa_binary*2exponent_binary形式表示的二进制转换到以mantissa*10exponent形式表示的十进制数。 Binary 23. The apparatus of claim 19, wherein the floating-point converter will mantissa_binary * 2exponent_binary expressed in the form of conversion to decimal numbers with mantissa * 10exponent form of representation.
24.如权利要求19的装置,其中,如果从移位器输入的差分数据大于预定基准值,则折叠处理器以一第一常数乘它们,如果它们小于预定基准值,则折叠处理器以第一常数乘它们的绝对值,然后从乘积中减去一第二常数。 24. The apparatus of claim 19, wherein, if the differential data input from the shifter is greater than a predetermined reference value, then the processor at a first constant folding multiply them, if they are less than the predetermined reference value, then the processor to the first folding a constant times their absolute values, and then subtract a constant from the product in the second.
25.如权利要求19的装置,其中,DND处理器包括:DND操作器,用于对从折叠处理器输入的差分数据执行DND操作;第一差分数据选择器,用于选择已经过移位操作的差分数据、已经过折叠操作的差分数据和已经过DND操作的差分数据其中之一,并且输出所选择的差分数据;上移位操作器,如果已经过DND操作的差分数据从第一差分数据选择器输入,则对该差分数据执行上移位操作;以及第二差分数据选择器,用于有选择地输出已经过DND操作的差分数据或者已经过上移位操作的差分数据。 25. The apparatus of claim 19, wherein, DND processor comprising: DND operator, DND operation for performing differential data input from the folding processor; a first differential data selector for selecting a shift operation has been The difference data, the difference has been folding operation data and DND operation has been one of the differential data, and outputs the selected differential data; the shift operation device, if the operation has been DND difference data from the first difference data selector input, then perform the shift operation on the differential data; and a second differential data selector for selectively outputting the differential data have been DND operation or the differential data shift operation has been on.
26.如权利要求25的装置,其中,DND操作器对从折叠处理器输入的差分数据执行DND操作以便缩小被编码的差分数据的范围,具体地说,在DND操作中,对差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围。 26. The apparatus of claim 25, wherein, DND operator from the differential data input folded processor execution DND operation to narrow the difference is the scope of the encoded data, specifically, in the DND operation, to perform a differential data separate operation to the second positive differential data belonging to the region and convert the differential data belongs to the upper range of a negative value, or according to separate operating results range, separate operating results on a selective implementation of sub-operation or sub-operation under belonging to narrow the scope of negative or positive zone area of difference data.
27.如权利要求19的装置,其中,关键字头编码器接收要编码的关键字数据的数目和关键字数据的数位,从量化器接收量化比特的大小和已经用于量化的最大和最小值,从线性关键字编码器接收已经过线性关键字编码的区域上是否存在一线性关键字的信息和线性关键字数据的数目,从浮点数换算器接收线性关键字区域的首尾关键字数据,从DPCM处理器接收DPCM特性数目,即,DPCM的阶,以及DPCM每个周期中的内部关键字数据,从移位器接收模,接收DND特性数目,即,DND的阶,以及已经用于DND操作的最大和最小值,并允许全部输入包括在一关键字头中。 27. The apparatus of claim 19, wherein the first encoder receives the key number and the number of bits of key data to be encoded key data received from the quantizer quantizing bit size and maximum and minimum values used for quantization have been whether the number of information and linear key data exists on the linear keyword keyword received from the linear encoder has been linear keyword coding region, and last key data received from the floating point linear key region converter, from DPCM DPCM processor receives the number of characteristics, i.e., DPCM in order, and each cycle of DPCM internal key data received from the shifter mode, the number of DND reception characteristics, i.e., DND the order, and have been operating for DND The maximum and minimum values, and allow all of the input keywords are included in a header.
28.一种用于编码关键字数据的DPCM的差分数据的方法,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该方法包括:对输入的差分数据执行预定次数的DND过程,其中,对输入的差分数据执行分开操作,以便二等分属于正数区域的差分数据并且转换属于区域上部的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围;对DND操作的结果执行上移位操作以便转移已经过DND操作的该差分数据到或者正数或者负数区域;选择已经过DND操作的差分数据,或者已经过上移位操作的差分数据;以及熵解码所选择的差分数据。 28. A method of differential data of key data for encoding DPCM, where key data is information about your keyword frame position on the time axis, the method comprising: an input differential data to perform a predetermined number of DND process, wherein the input differential data perform separate operation, the differential data belonging to the second region and the positive conversion difference data belonging to the upper portion of the region to become a negative value, or a range based on the results of separate operations, the operation results of the separate selectively open operations performed on or under the sub-operating in order to reduce the negative area were outside the scope or positive zone difference data; the results of operations for the DND shift operation has been performed on DND to transfer the operation of the differential data to or are or negative regions; select differential data has been DND operation, or has been a shift operation on the differential data; and a differential data entropy decoding choice.
29.如权利要求28的方法,其中,在差分数据的选择中,度量已经过DND操作的差分数据的分散度和已经过上移位操作的差分数据的分散度,并且选择具有较低分散度的那个差分数据。 29. The method of claim 28, wherein the difference in the choice of data, measure the dispersion of DND operation has been differential data and has been operating on the dispersion shifted difference data, and choose a low dispersion that differential data.
30.一种用于编码关键字数据的DPCM的差分数据的方法,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该方法包括:执行移位操作,其中从差分数据中获得具有最高频率的差分数据(模),并且从每个差分数据中减去该摸;执行折叠操作以便将已经通过该移位操作的差分数据转送到一正数区域或者一负数区域;执行一DND过程,其中在考虑到已经通过折叠操作的差分数据和它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,选择从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据其中之一,并且输出所选择的差分数据;以及熵编码所选择的差分数据。 Differential data 30. A method for encoding key data DPCM, where key data is information about key frame position on the time axis, the method comprising: performing a shift operation in which the differential data obtained in the differential data having the highest frequency (mold), and the difference is subtracted from each of the touch data; in order to perform the folding operation has been transferred to a positive number region or a negative number region by a shift operation of the differential data; Executive a DND process, which has been under consideration of the relationship between the differential data by the folding operation of them between the maximum and minimum values and the situation that has been executed by folding the differential data DND operation to narrow their scope, choose from the shift differential data bit input of the differential data input from the folding processor, has been the difference data DND operation has differential data shift operation and DND operation on one too, and outputs the selected differential data; and entropy encoding the selected differential data.
31.如权利要求30的方法,其中,在折叠操作中,如果已经过移位操作的差分数据大于预定的基准值,则该差分数据乘以一第一常数,如果该差分数据小于该预定的基准值,则每个差分数据的绝对值乘以第一常数并且从每个乘积中减去一第二常数。 31. The method of claim 30, wherein, in the folding operation, if the operation has been shifted difference data is larger than the predetermined reference value, the difference data multiplied by a first constant, if the difference data is less than the predetermined the reference value, the absolute value of each difference data multiplied by a first constant and a second constant is subtracted from each of the product.
32.如权利要求30的方法,其中,执行DND过程包括:对已经过折叠操作的差分数据执行DND操作;首先,选择已经过移位操作的差分数据、已经过折叠操作的差分数据和已经过DND操作的差分数据其中之一;如果已经过DND操作的差分数据被选择,则对已经过DND操作的差分数据执行上移位操作;以及接下来,选择已经过DND操作的差分数据或者已经过上移位操作的差分数据。 32. The method of claim 30, wherein performing DND process comprising: DND operation has been executed folding operation of the differential data; First, select the operation has been shifted difference data, difference data has been folding operation and have been One difference data DND operations; if DND has been operating differential data is selected, then the DND has been operating on the differential data to perform shift operations; and Next, select the differential data has been or DND operations have been the shift differential data operations.
33.如权利要求32的方法,其中,在DND操作中,对输入的差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围。 33. The method of claim 32, wherein, in the DND operation on differential data input perform a separate operation, the differential data belonging to the second region of the positive and converts the differential data belonging to the upper part of the range of a negative value, or According to the results of separate operating range, the results of operations for separate selectively execute the operation or sub-operation under the stars in order to narrow the scope of the region belong to the negative or positive zone difference data.
34.如权利要求33的方法,其中,在分开操作中,如果输入的差分数据大于nKeyMax/2,则从每个输入的差分数据中减去输入的差分数据和预定常数中的最大值nKeyMax。 34. The method of claim 33, wherein, in separate operations, the differential data if the input is greater than nKeyMax / 2, from the differential data for each input subtracts the differential data inputs and a predetermined constant maximum value nKeyMax.
35.如权利要求28或者32的方法,其中,在上分操作中,如果具有负值的差分数据的范围大于具有正值的差分数据的范围并且输入的差分数据小于预定的基准值而不小于nKeyMin/2,则将输入的差分数据中的最小值nKeyMin乘以第一常数,如果属于负范围的差分数据的范围大于属于正数区域的差分数据的范围并且差分数据小于nKeyMin/2,则从最小值nKeyMin中减去每个输入的差分数据,减法的结果乘以第一常数,并从乘积中减去第二常数。 35. The method of claim 28 or 32, wherein, in the sub-operation, the range of differential data having a negative value if larger than the range of the differential data having positive values and the differential data input is less than a predetermined reference value and not less than nKeyMin / 2, differential data will be entered in the minimum nKeyMin multiplied by the first constant scope if they are negative range of differential data is larger than the scope of the positive zone difference data and the difference data is less than nKeyMin / 2, from Min nKeyMin subtracting the differential data for each input, the result of the subtraction is multiplied by a first constant, and subtracting from the product in the second constant.
36.如权利要求33的方法,其中,在下分操作中,如果具有正值的输入的差分数据的范围大于具有负值的输入的差分数据的范围,并且输入的差分数据中最大值nKeyMax大于nKeyMax/2,则从每个输入的差分数据中减去最大值nKeyMax,减法的结果乘以第一常数,从乘积中减去第二常数,如果输入的差分数据小于预定的基准值,则将它们每个都乘以第一常数。 36. The method of claim 33, wherein, in the next sub-operation, if the range of the differential data having positive values is larger than the range of the input differential data having a negative value of the input, and the input differential data is greater than the maximum value nKeyMax nKeyMax / 2, the input data from each differential subtracts the maximum nKeyMax, the result of the subtraction is multiplied by a first constant, subtracting the second constant from the product, the differential data if the input is less than the predetermined reference value, then they each of which is multiplied by a first constant.
37.如权利要求32的方法,其中,DND操作执行预定的次数,当编码所需要的比特数可以最小化时,在DND预定周期中获得的差分数据作为DND操作的结果来确定。 37. The method of claim 32, wherein, DND operation performed a predetermined number of times, when the number of bits required for encoding can be minimized differential data obtained in the DND DND predetermined period as a result of the operation to determine.
38.如权利要求32的方法,其中,在上移位操作中,如果差分数据小于预定的基准值,则上移位操作器从它们中的最大值nKeyMax减去已经过DND操作的每个差分数据。 38. DND operation has been claimed by subtracting the difference from each of them maximum nKeyMax method of claim 32, wherein the shift operation, if the difference data is less than a predetermined reference value, then the shift operator data.
39.如权利要求32的方法,其中,在差分数据的第一选择中,从已经过移位操作的差分数据、已经过折叠操作的差分数据、已经过DND操作的差分数据中,选择具有编码需要的少量比特的差分数据。 39. The method of claim 32, wherein, in the first selection of the differential data, the operation has been shifted from the difference data, difference data has been folding operation, DND operation has been differential data, selecting a coding It requires a small amount of difference data bits.
40.如权利要求32的方法,其中,在差分数据的第一选择中,如果已经过移位操作或者折叠操作的差分数据被选择,则所选择的差分数据在熵编码步骤中编码。 40. The method of claim 32, wherein, in the first selection of the differential data, or if the operation has been shifted difference data folding operation is selected, the selected difference data is encoded in the entropy coding step.
41.如权利要求32的方法,其中,在差分数据的第二选择中,度量已经过DND操作的差分数据的分散度和已经过上移位操作的差分数据的分散度,并且选择具有较低分散度的那个差分数据。 41. The method of claim 32, wherein the difference data in the second selection, the measure has been dispersion of DND operation and the differential data have been operating on the dispersion shifted difference data, and choose a lower dispersion of the differential data.
42.一种用于编码关键字数据的方法,其中,关键字数据是关于关键字帧在时间轴上的位置的信息,该方法包括:以量化比特来量化要编码的关键字数据;执行DPCM过程以便产生所量化的关键字数据的差分数据;执行移位操作,其中从差分数据中获得具有最高频率的差分数据(模),并且从每个差分数据中减去该模;转换该差分数据为一正数区域或者一负数区域;执行一DND过程,其中在考虑到已经通过折叠操作的差分数据和它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,选择从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据其中之一,并且输出所选择的差分数据;以及熵编码该所选择的差分数据。 42. A method for encoding key data, wherein the data key information about the location of key frames on the time axis, the method comprising: quantizing bits for quantizing the key data to be encoded; perform DPCM process to generate the differential data of the quantized key data; perform a shift operation, wherein the obtaining the differential data having the highest frequency (mold) from the differential data and subtracts the mode from each of the differential data; converting the difference data is a positive or a negative number region area; performing a DND procedure, which has been under consideration of the relationship between the differential data by the folding operation of them between the maximum and minimum values and circumstances, to have been executed by folding the differential data DND operates to narrow their scope, choose a differential data input from the shifter, the differential data input from the folding processor, has been the difference data DND operation has differential data shift operation and DND operation on one too , and outputs the selected differential data; and entropy encoding the selected differential data.
43.如权利要求42的方法,其中,执行DND过程包括:对已经过折叠操作的差分数据执行DND操作;选择已经过移位操作的差分数据、已经过折叠操作的差分数据和已经过DND操作的差分数据其中之一。 43. The method of claim 42, wherein the execution DND process comprising: DND operation has been executed folding operation of the differential data; selecting operation has been shifted difference data, difference data has been folding operation and DND operation has been One difference data.
44.一种用于在基于图形动画的键帧中编码关键字数据的方法,该关键字数据是关于关键字帧在时间轴上的位置的信息,该方法包括:量化要编码的关键字数据为量化比特;执行DPCM过程以便产生量化的关键字数据的差分数据;执行移位操作,其中从差分数据中获得具有最高频率的差分数据(模),并且从每个差分数据中减去该模;执行一DND过程,其中在考虑到已经通过折叠操作的差分数据和它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,选择从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据其中之一;以及熵编码该所选择的差分数据。 44. A key frame-based graphics animation method for encoding key data, the key data is information about key frame position on the time axis, the method comprising: quantification of key data to be encoded quantization bits; perform DPCM process the quantized data to produce difference data key; perform a shift operation, wherein the obtaining the differential data having the highest frequency (mold) from the differential data and subtracts the mode from each of the differential data ; performing a DND process, which has been adopted in consideration of the relationship between the difference data in the folding operation of their maximum and minimum values between the case and, on the difference data has been executed by folding DND operation to narrow the scope of their select differential data input from the shifter, the differential data input from the folding processor, has been operating in the DND differential data, differential data shift operation and DND operations have been on one of them; and a differential entropy encoding the selected data.
45.如权利要求43的方法,其中,在DND操作中,对差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或下分操作以便缩小分别属于负数区域,或者正数区域的差分数据的范围。 45. The method of claim 43, wherein, in the DND operation, perform a separate operation on the differential data, the differential data belonging to the second region of the positive and converts the differential data belonging to the upper part of the range of a negative value, or separately in accordance with Operating results of the scope of the separate operations of results on a selective implementation of sub-operation or sub-operation in order to narrow down the area belong to the negative, or the range of positive zone difference data.
46.一种用于在基于图形动画的键帧中编码关键字数据的方法,该关键字数据是关于关键字帧在时间轴上的位置的信息,该方法包括:执行线性关键字编码,在其中确定并且编码关键字数据线性增加的区域;执行浮点数换算,以便表示该线性关键字数据区域的首尾关键字数据的二进制数变为十进制数;执行量化误差最小化,在其中调整要编码的关键字数据中的最大和最小值以便量化误差可以最小化,并且表示调整的最大和最小值的二进制数变为十进制数;执行量化,其中要要编码的关键字数据是以预定的量化比特、使用已调整的最大和最小值量化的;执行DPCM过程以便产生所量化的关键字数据的差分数据;执行移位操作,其中从差分数据中获得具有最高频率的差分数据(模),并且从每个差分数据中减去该模;执行折叠操作,以便已经过移位操作的差分数据转入一正数区域或者一负数区域;执行一DND过程,其中对已经过折叠操作的差分数据执行DND操作以便缩小它们的范围、并且选择已经过移位操作的差分数据、已经过折叠处理器的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据其中之一;熵编码所选择的差分数据;以及执行关键字头编码,其中在线性关键字编码、量化、浮点数换算、DPCM过程、移位操作、折叠操作、DND过程和熵编码的至少之一中产生的数据作为一关键字头产生。 46. A key frame-based graphics animation method for encoding key data, the key data is information about key frame position on the time axis, the method comprising: performing a linear keyword coding, wherein determining and coding key data linearly increasing area; execute floating point conversion to represent binary data area of the linear keyword end to key data into a decimal number; perform quantization error minimization, in which the adjustment should be encoded The key data for the maximum and minimum quantization error can be minimized, and the adjustment of the maximum and minimum values represent the binary number into a decimal number; perform quantization, wherein the key data to be encoded is predetermined quantization bits, using the adjusted maximum and minimum quantifiable; DPCM process is executed to generate the differential data of the quantized key data; perform a shift operation, wherein the obtaining the differential data having the highest frequency (mold) from the differential data, and from every differential data by subtracting the mold; perform the folding operation to the differential data has been transferred to a shift operation of a negative or positive zone area; performing a DND procedure, which has been subjected to differential data to perform the folding operation DND operations so as to reduce their range, and select the operation has been shifted differential data, has been folded difference data processor, DND operation has been the difference data, difference data has been one of the shift operation and the DND operation; entropy encoding the selected differential data; and performing at least one of the first encoding key, wherein the linear key coding, quantization, floating point conversion, DPCM process, shift operation, the folding operation, DND and entropy coding processes generated Data generated as a keyword head.
47.如权利要求46的方法,在线性关键字编码中,如果线性关键字数据区域中的关键字数据和任意关键字数据区域中的线性预测的关键字数据之间的最大误差不大于预定临界值,则线性关键字编码器决定线性关键字数据区域是互线性的。 47. The method of claim 46, the linear keyword coding, if the maximum error of the linear key data region key data and key data area in any linear prediction of key data is not greater than a predetermined threshold value, the linear key encoder determines the linear key data region are mutually linearly.
48.如权利要求46的方法,其中,在量化中,利用要被量化的关键字数据中的最大和最小值,将要被量化的关键字数据转换成为预定范围内的值,并且所转换的值以预定量化比特量化。 48. The method of 46, and the converted value claim, wherein, in the quantization, using the key data to be quantized in the maximum and minimum values, to be converted into quantized key data values within a predetermined range, a predetermined quantization bit quantization.
49.如权利要求46的方法,其中,在量化误差最小化中,利用任意最大和最小值,将要被量化的关键字数据转换成为预定的范围的值,该值以预定的量化比特量化,所量化的关键字数据被反向量化,并且获得可以最小化要量化的关键字数据和被反向量化的关键字数据之间误差之和的任意最大和最小值。 49. The method of claim 46, wherein, in the quantization error is minimized, using any of the maximum and minimum values to be quantized key value data converted into a predetermined range, the value to a predetermined quantization bit quantization, the quantized key data is reversed quantified and get any sum of the maximum and minimum errors can be minimized between the key data to be quantized and the inverse quantization of key data.
50.如权利要求46的方法,其中,在浮点数换算中,将以mantissa_binary*2exponent_binary形式表示的二进制转换到以mantissa*10exponent形式表示的十进制数。 50. The method of claim 46, wherein in floating-point conversion, will be mantissa_binary * 2exponent_binary represented as binary conversion to decimal numbers to form mantissa * 10exponent represented.
51.如权利要求46的方法,其中,在折叠操作中,如果已经过移位操作的差分数据不小于预定的基准值,则该差分数据乘以一第一常数,如果该差分数据小于该预定的基准值,则每个差分数据的绝对值乘以第一常数并且从每个乘积中减去一第二常数。 51. The method of claim 46, wherein, in the folding operation, if the operation has been shifted difference data is not smaller than the predetermined reference value, the difference data multiplied by a first constant, if the difference data is less than the predetermined the reference value, the absolute value of each difference data multiplied by a first constant and a second constant is subtracted from each of the product.
52.如权利要求46的方法,其中,执行DND过程包括:对已经过折叠操作的差分数据执行DND操作;选择已经过移位操作的差分数据、已经过折叠操作的差分数据和已经过DND操作的差分数据其中之一;如果该差分数据已经过DND操作,则选择在已经过DND操作的差分数据上执行的上移位操作;以及选择已经过DND操作的差分数据或者已经过上移位操作的差分数据。 52. The method of claim 46, wherein the execution DND process comprising: DND operation has been executed folding operation of the differential data; selecting operation has been shifted difference data, difference data has been folding operation and DND operation has been One difference data; if the difference data has been DND operation, the choice has been DND operation on differential data shift operation performed; and selecting DND operations have been or have been on the differential data shift operation differential data.
53.如权利要求52的方法,其中,执行预定次数的DND操作,并且在DND操作中,对差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围。 53. The method of claim 52, wherein execution of the DND operation a predetermined number of times, and in the DND operation, perform a separate operation on the differential data, the differential data belonging to the second region of the positive and belonging to the upper part of the range of the differential conversion data becomes negative, or based on the results of separate operating range, the results of operations for separate selectively execute the operation or under the sub-points in order to narrow the scope of the operation belong to a negative or positive zone area differential data.
54.如权利要求46的方法,其中,在关键字头编码中,要编码的关键字数据的数目、关键字数据的数位、量化比特的大小、已经用于量化的最大和最小值、已经过线性关键字编码的区域是否存在一线性关键字的信息、线性关键字数据的数目、线性关键字区域的首尾关键字数据、DPCM特性数目即DPCM的阶、DPCM每个周期中的内部关键字数据、模、DND特性数目即IDND的阶以及已经用于DND的最大和最小值中的至少之一被包括在关键字头中。 54. The method of claim 46, wherein, in the first coding key, the number of key data to be encoded, the number of bits of key data, quantization bit size, have been used to quantify the maximum and minimum values, has been linear key encoding key data area exists inclusive information, the number of key data of the linear, the linear region of the linear keyword keyword, i.e., the number of characteristic DPCM order of DPCM, DPCM each cycle internal key data , mold, at least one characteristic that is IDND number of DND and the maximum and minimum values of the order have been used in the DND is included in the key header.
Description  translated from Chinese
用于编码和解码关键字数据的装置和方法 Apparatus and method for encoding and decoding key data for

技术领域 Technical Field

本发明涉及一种编码和解码关键字数据(key data)的方法和装置,具体地说,涉及一种用于编码关键字数据的装置和方法,该装置和方法能够通过对关键字数据执行差分脉码调制(DPCM)产生差分数据以及通过执行预先确定的操作缩小要编码的差分数据的范围,来增加编码关键字数据的效率,还涉及解码所编码的关键字数据的装置和方法。 The present invention relates to an encoding and decoding key data (key data) method and apparatus, and more particularly to an apparatus and method for encoding key data, the apparatus and method capable of performing differential data by keyword Pulse Code Modulation (DPCM) and generates differential data by performing a predetermined operation to narrow the encoded difference data, to increase the efficiency of encoding key data, and also relates to an apparatus and method for decoding encoded key data.

背景技术 Background

三维(3D)表示已经广泛用于计算机系统中的三维电子游戏或者虚拟现实环境。 Three-dimensional (3D) representation has been widely used in the computer system in a three-dimensional video games or virtual reality environments. 虚拟现实模拟语言(VRML)用来表示三维动画。 Virtual Reality Simulation Language (VRML) is used to represent three-dimensional animation.

用于场景(BIFS)的VRML和MPEG-4二进制格式提供一种以关键字成帧(keyframing)为基础的生动的表示方法。 For scene (BIFS) of VRML and MPEG-4 binary format to provide a key framing (keyframing) based vivid representation. 在该动画表示方法中,预定的关键字帧安排在任意时间轴上,并且关键字帧(key frame)之间的动画数据通过线性插值填充。 In this animated representation of the method, the predetermined key frame arrangement on any timeline, and key frame animation data (key frame) by linear interpolation between the filling. 该关键字帧由内插器(interpolator)节点定义,并且每个内插器结点由预定的范围以内的一浮点数代表,例如,从-∞到+∞变动。 The key frame is defined by interpolator (interpolator) nodes, and each node interposer within the predetermined range of a floating point numbers representing, for example, changes from -∞ to + ∞. 每个内插器结点构成由关键字数据组成的每个域,关键字数据表示某一关键字帧在该时间轴上的位置,并且关键字值数据表示相应于该关键字数据在该关键字数据上的特征以及运动信息。 Each interpolator nodes that make up each domain consists of key data composed of key data indicates the location of a key frame on the timeline, and the key value data represent data corresponding to the key in the key features and motion information on word data.

为了通过使用分段线性插值的关键字成帧与实物运动一样自然流畅地表示活动性,必须通过每个内插器结点提供大量关键字帧信息,就计算费用和效率而言该事实产生严重的问题。 Order by using a piecewise linear interpolation keyword framing and physical movement as the natural flow represents activity, a large number of key frame information must be provided by each interpolator node, the purpose of calculating the costs and efficiency of the serious facts problems. 结果,关键字成帧用于一种脱机环境,需要大容量的存储器存储大量三维动画数据。 As a result, key framing for one kind of an offline environment, a large capacity memory to store a large number of three-dimensional animation data. 另外,当用于在线环境时,关键字帧也不仅要求这样的大容量存储器还要求高速数据传输线路,用于每次以高速传送大量数据以便从一服务器向一终端传送三维动画信息。 In addition, when used in an online environment, key frames are also not require such a large capacity memory also requires high speed data transmission lines, for each transmission of large amounts of data at high speed in order to transfer information from a three-dimensional animation to a terminal server. 在该情况下,因为在数据传输期间发生误差的可能性增加,数据的可靠性降低。 In this case, because of the increased likelihood of errors during data transmission, data reliability is lowered. 因此,要求一种用于压缩和解码数据以便减少内插器结点数据量的有效方法。 Therefore, the requirements for a data compression and decoding in order to reduce the amount of interpolator node data in an effective way.

MPEG-4 BIFS提供用于编码动画数据的两种不同的方法。 MPEG-4 BIFS provides two different methods for encoding data of the animation. 一种是用于编码动画数据的BIFS-Q,另一是用于编码数据之间的差值的差分脉码调制(DPCM)。 A BIFS-Q is used to encode the moving image data, the other is used for differential pulse code modulation difference between the encoded data (DPCM). DPCM也叫做预测MF编码(PMFC)。 Also known as predictive coding DPCM MF (PMFC). BIFS-Q仅使用量化,因此不被认为有效。 BIFS-Q is only used to quantify, and therefore is not considered valid. PMFC被认为比BIFS-Q更有效,因为在PMFC中,在执行DPCM之后执行熵编码以便取消冗余数据。 PMFC is considered more effective than BIFS-Q, as in PMFC, after execution DPCM perform entropy encoding in order to eliminate redundant data. 用于关键字数据的PMFC编码器和PMFC解码器图示在图1中。 PMFC PMFC encoder and decoder for key data shown in Figure 1. 如上所述,在编码动画数据时,PMFC不太有效,因为它仅在熵编码以前执行DPCM,而没有考虑到关键字的特征和关键字之间的相关性。 As described above, when the coded moving picture data, PMFC is not effective, because it performs entropy encoding DPCM only before, without taking into account the correlation between the characteristics of the keywords and keyword.

参考图1,输入的关键字数据105被输入到编码器100之内。 Referring to Figure 1, key input data 105 is input to the encoder 100 of. 量化器110接收输入的关键字数据105,并且将其量化为整数。 Key data quantizer 110 receives input 105, and be quantified as an integer. DPCM处理器115接收所量化的关键字数据并且产生差分数据。 DPCM processor 115 receives quantized key data and generates differential data. 熵编码器120接收该差分数据,根据发生符号的概率消除存在于比特(bits)之间的冗余,并且产生压缩的比特流125。 Entropy encoder 120 receives the difference data between bits elimination (bits) according to the probability of occurrence of redundant symbols, and generates a compressed bit stream 125. 由图1中所示的编码器100产生的比特流125输入到解码器150的熵解码器155中并进行熵解码(entropy-decode)。 By the encoder shown in Figure 1 generates a 100 bit stream input to the decoder 125 entropy decoder 155 and 150 of entropy decoding (entropy-decode). 熵解码差分数据作为量化的差分数据输入到反向DPCM处理器160中,并且反向量化器165对从反向DPCM处理器160输入的量化的关键字数据执行反向量化,并输出所解码的关键字数据。 Entropy decoded quantized difference data as the difference data input to the inverse DPCM processor 160, and the inverse quantizer 165 perform the quantized key data input from the inverse DPCM inverse quantization processor 160, and outputs the decoded key data.

然而,编码器100仅在熵编码之前执行DPCM而不考虑键的特征,因此它很难实现显示高压缩比率的有效编码。 However, the encoder 100 performs entropy encoding DPCM just before the key regardless of the characteristics, and therefore it is difficult to achieve efficient encoding exhibits a high compression ratio.

发明内容 DISCLOSURE

为解决上述等问题,本发明的第一方面提供一种用于编码数据的装置和方法,当消除关键字数据的比特之间的冗余时,用于能够考虑关键字数据的特征以高效率压缩动画的关键字数据。 To solve the above problems, there is provided an apparatus and method for encoding data of a first aspect of the present invention, when the elimination of redundant bits between key data for key data can be considered characteristic of a high efficiency key data compression animation.

本发明的第二方面是提供一种用于解码比特流的装置和方法,该比特流由上面描述的编码数据的装置和方法编码。 The second aspect of the present invention is to provide an apparatus and method for decoding the bit stream, the bit stream encoded by the apparatus and method described above encoded data.

为了实现本发明的上述和其他方面,提供一种用于编码关键字数据的DPCM的差分数据的装置。 To achieve the above and other aspects of the present invention, there is provided an apparatus for encoding key data is DPCM difference data. 用于编码关键字数据的DPCM的差分数据的装置包括:DND(divide-and-divide,反复分开)操作器,用于对输入的差分数据执行预定次数的DND操作,在其中对输入的差分数据执行分开操作(divideoperation)以便二等分属于正数区域的差分数据,并转换属于区域上部的差分数据成为负值,或者根据该分开操作结果的范围,对分开操作的结果有选择地执行上分(divide up)操作或者下分(divide-down)操作,以便缩小分别属于负数区域或者正数区域的差分数据的范围;上移位操作器(shift-upoperator),用于对DND操作的结果执行上移位(shift up)操作以便转移已经通过DND操作的差分数据到正数或者负数区域;差分数据选择器,用于有选择地输出已经通过DND操作的差分数据或者已经通过上移位操作的差分数据;以及熵编码器,用于熵编码(entropy-encode)被差分数据选择器所选择的差分数据。 Means DPCM difference data for encoding key data comprises: DND (divide-and-divide, repeatedly separated) operation, a differential input data for executing the DND operation a predetermined number of times, in which the differential data input perform separate operations (divideoperation) belonging to the second positive differential data area and convert the differential data belonging to the upper region of a negative value, or separately based on the results of the operation range, the results of operations to separate selectively execute on points (divide up) operation or under points (divide-down) operation to reduce the negative area were outside the scope or positive zone difference data; the shift operator (shift-upoperator), for the implementation of the outcome of the DND operation the shift (shift up) operation to transfer has been operated by DND differential data to positive or negative area; differential data selector for selectively outputting the differential data DND operation has passed or been through the shifting operation differential data; and an entropy encoder for entropy encoding (entropy-encode) the difference data by the selected differential data selector.

为了实现本发明的上述和其他方面,提供一种用于编码关键字数据的DPCM的差分数据的装置。 To achieve the above and other aspects of the present invention, there is provided an apparatus for encoding key data is DPCM difference data. 用于编码关键字数据的DPCM的差分数据的装置包括:移位器,用于获得在这些差分数据中具有最高频率的差分数据(模),并且从每个差分数据中减去该模;折叠(fold)处理器,用于转换差分数据为正数区域或者负数区域;DND处理器,用于在考虑到所转换的差分数据以及它们中间的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从移位器输入的差分数据、从该折叠处理器输入的差分数据、已经通过DND操作的差分数据、已经通过上移位操作以及DND操作的差分数据中选择之一,并且输出所选择的差分数据;以及熵编码器,用于熵编码从DND处理器输入的差分数据。 Means for encoding differential data of key data DPCM comprises: a shifter for obtaining difference data having the highest frequency (mode) in which differential data and subtracts the mode from each of the differential data; folding (fold) processor for converting the difference data is positive or negative number region area; DND processor used in the case of considering the relationship between the maximum and minimum values of the converted differential data and intermediate between them, for differential data has been executed by folding DND operation to narrow their scope, the differential data input from the shifter, differential data input from the fold processor, has differential data by DND operation has been through shift operations and DND differential data selected one of the operation, and outputs the selected differential data; and an entropy encoder for entropy encoding the differential data input from the DND processor.

为了实现本发明上述和其他方面,提供一种用于编码关键字数据的装置,该关键字数据是关于时间轴上的关键字帧的位置的信息。 To achieve the above and other aspects of the present invention, there is provided an apparatus for encoding key data, the key data is information about the location of key frames on the timeline. 用于编码关键字数据的该装置包括:量化器,用于以量化比特量化输入的差分数据;DPCM处理器,用于产生所量化的关键字数据的差分数据;移位器,用于获得在差分数据中间具有最高频率的差分数据(模),并且从每个差分数据中减去该模;折叠处理器,用于转换差分数据为正数区域或者负数区域;DND处理器,用于在考虑到转换的差分数据以及它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从量化器输入的差分数据、从该折叠处理器输入的差分数据、已经通过DND操作的差分数据和已经通过上移位操作以及DND操作的差分数据中选择之一,并输出所选择的差分数据;以及熵编码器,用于熵编码从DND处理器输入的差分数据。 The apparatus for encoding key data comprises: a quantizer for quantizing the differential data input to the quantization bits; DPCM processor for generating differential data of the quantized key data; shifter, for obtaining intermediate differential data having the highest frequency difference data (mode), and subtracts the mode from each of the differential data; aliasing processor, for converting the differential data is positive or negative number region area; DND processor for consideration to the differential data conversion and when the relationship between them is between the maximum and minimum values of differential data has been executed by folding DND operation to narrow their scope, the differential data input from the quantizer from the folding processor differential data input, it has been operated by DND and the differential data have been displaced by the DND operation and the differential data operations, choose one, and outputs the selected differential data; and an entropy encoder for entropy coding process from DND differential data inputs.

为了实现本发明上述和其他方面,提供一种用于编码关键字数据的装置,该关键字数据是关于时间轴上的关键字帧的位置的信息。 To achieve the above and other aspects of the present invention, there is provided an apparatus for encoding key data, the key data is information about the location of key frames on the timeline. 用于编码关键字数据的该装置包括:量化器,用于以量化比特量化输入的差分数据;DPCM处理器,用于产生所量化的关键字数据的差分数据;移位器,用于获得差分数据中具有最高频率的差分数据(模)并从每个差分数据中减去该模;DND处理器,用于在考虑到所转换的差分数据以及它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从量化器输入的差分数据、从该折叠处理器输入的差分数据、已经通过DND操作的差分数据和已经通过上移位操作以及DND操作的差分数据中选择之一,并输出所选择的差分数据;以及熵编码器,用于熵编码从DND处理器输入的差分数据。 The apparatus for encoding key data comprises: a quantizer for quantizing the differential data input to the quantization bits; DPCM processor for generating differential data of the quantized key data; shifter, for obtaining differential data with the highest frequency of the differential data (mold) and subtracted from each of the differential-mode data; DND processor for data taking into account the difference between the converted and their maximum and minimum values of relationship case, which has been executed by folding the differential data DND operation to narrow their scope, the differential data input from the quantizer, the differential data input from the fold processor, has passed the differential data and DND operations have been displaced by the DND operation and the differential data operations, choose one, and outputs the selected differential data; and an entropy encoder for entropy encoding the differential data input from the DND processor.

为了实现本发明上述和其他方面,提供一种用于编码关键字数据的装置,所述关键字数据是关于时间轴上的关键字帧位置的信息。 To achieve the above and other aspects of the present invention, there is provided an apparatus for encoding key data, the key data is the information about the location of key frames on the timeline. 用于编码关键字数据的装置包括:线性关键字编码器,用于在输入的关键字数据中识别在其中关键字数据线性地增加的区域,并且编码该线性关键字数据区域;量化误差最小化器;用于调整输入的关键字数据中的最大和最小值以便量化误差能够被最小化,并且输出调整的最大和最小值;量化器,用于利用从量化误差最小化器输入的最大和最小值,以预定的量化比特量化输入的关键字数据;浮点数换算器,用于转换表示从线性关键字编码器输入的线性关键字数据区域的首尾关键字数据的二进制数和表示从量化误差最小化器输入的最大和最小值为十进制数;DPCM处理器,用于产生所量化的关键字数据的差分数据;移位器,用于获得在差分数据中具有最高频率的差分数据(模)以及从每个差分数据减去该模;折叠处理器,用于转换该差分数据为正数区域或者负数区域;DND处理器,用于对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,从移位器输入的差分数据、从折叠处理器输入的差分数据、已经通过DND操作的差分数据和已经通过上移位操作以及DND操作的差分数据中选择之一,并且输出所选择的差分数据;熵编码器,用于熵编码从DND处理器输入的差分数据;以及关键字头编码器,用于使用编码所需数据产生关键字头数据,其中该数据是从线性关键字编码器、量化器(数字转换器)、浮点数换算器、DPCM处理器、移位器、折叠处理器、DND处理器以及熵编码器中至少之一输入的。 Means for encoding key data comprising: a linear encoder is a keyword, the keyword for identifying the data inputted key data linearly increase among areas, and encodes the linear key data region; quantization error minimizing The maximum and minimum values for the key input data to adjust the maximum and minimum values for the quantization error can be minimized, and output adjustment;; quantizer for using the input from the quantization error minimizer maximum and minimum value to a predetermined quantization bit quantized key data input; float converter for converting the first and last key data indicate a keyword from the linear encoder input linear key data region and the number of binary representation from the quantization error is minimized The maximum and minimum values of the input of a decimal number; DPCM processor for generating differential data of the quantized key data; shifter, the differential data having the highest frequency in the difference data (mode) for obtaining and Each difference data is subtracted from the die; folding processor for converting the difference data is positive or negative number region area; DND processor for DND operation has been performed by folding the differential data so as to reduce their range, differential data input from the shifter, differential data input from the folding processor has DND operation and the differential data have been displaced by the DND operation and the differential data operations, choose one, and outputs the selected differential data ; entropy coder, the differential data input from the DND processor for entropy coding; key head and encoder for encoding the desired data is generated using the first key data, wherein the data is a keyword from a linear encoder, a quantization (digital converter), floating point converter, DPCM processor, shifter, folding processor, DND processor and at least one of an entropy encoder inputs.

为了实现本发明的上述和其他方面,提供一种用于编码关键字数据的DPCM的差分数据的方法,其中,关键字数据是关于时间轴上关键字帧的位置的信息。 To achieve the above and other aspects of the present invention, there is provided a method for encoding differential data of key data DPCM a method in which information about the location of key data is key frames on the timeline. 该方法包括:对输入的差分数据执行预定次数的DND处理,在其中对输入的差分数据执行一分开操作,以便二等分属于正数区域的差分数据并转换属于上部范围的差分数据成为负值,或者根据分开操作结果的范围,对分开操作的结果有选择地执行上分操作或者下分操作以便缩小分别属于负数区域或者正数区域的差分数据的范围,对DND操作的结果执行上移位操作以便转移已经通过DND操作的差分数据到正数或者负数区域,选择已经通过DND操作的差分数据或者已经通过上移位操作的差分数据,并且熵编码该所选择的差分数据。 The method comprises: the input differential data a predetermined number of times of processing executed DND, in which the input differential data perform a separate operation, the differential data belonging to the second region and positive differential data belonging to the upper part of the range of conversion becomes negative or operating results based on separate range, the results of operations separate selectively execute the operation or under the sub-points in order to narrow the scope of the operation belong to a negative or positive zone area difference data, the results of the implementation of the DND shift operation operation to transfer has been operated by DND differential data to positive or negative area, choose has been operated by the differential data DND or differential data shift operation has passed on, and entropy encoding the selected differential data.

为了实现本发明的上述和其他方面,提供一种用于编码关键字数据的DPCM的差分数据的方法,其中,关键字数据是关于关键字帧在时间轴上的位置的信息。 To achieve the above and other aspects of the present invention, there is provided a method for encoding differential data DPCM of key data, wherein, the key data is information about key frame position on the time axis. 该方法包括:执行移位操作,其中具有最高频率的差分数据(模)从差分数据中处获得并且被从每个差分数据中减去,在已经通过移位操作的差分数据上执行折叠操作以便该差分数据转换成一正数区域或者一负数区域,执行一DND处理,其中,在考虑到已经通过该折叠操作的差分数据和它们中的最大和最小值之间的关系的情况下,对已经通过折叠操作的差分数据执行DND操作以便缩小它们的范围,并且选择已经通过该移位操作的差分数据、已经通过折叠操作的差分数据、已经通过DND操作的差分数据以及已经通过上移位操作以及DND操作的差分数据之一,并且熵编码该所选择的差分数据。 The method comprising: performing a shift operation, wherein the differential data having the highest frequency (mode) obtained from the difference data and is subtracted from each of the differential data, on the folding operation has been executed by the shift operation of the differential data for The differential data is converted into a positive or a negative area region, DND execute a process in which, taking into account the relationship between the differential data have been through the folding operation of them between the maximum and minimum values and circumstances, to have passed DND operation to perform differential data to narrow the scope thereof, and selects the difference data has been through the shift operation, the differential data have been through the folding operation, it has been through the DND operation and the differential data have been through the shift operation and the folding operation of the DND One difference data manipulation, and entropy encoding the selected differential data.

为了实现本发明的上述和其他方面,提供一种用于编码关键字数据的方法,该关键字数据是关于关键字帧在时间轴上的位置的信息。 To achieve the above and other aspects of the present invention, there is provided a method for encoding key data, the key data is information about key frame position on the time axis. 该方法包括:以量化比特来量化要编码的关键字数据,执行DPCM处理以便产生所量化的关键字数据的差分数据,执行移位操作,其中具有最高频率的差异数据(模)从差分数据中获得并且从每个差分数据中减去,转换该差分数据为一正数区域或者一负数区域,执行一DND处理,其中,在考虑到已经通过折叠操作的差分数据和它们中的最大和最小值之间的关系的情况下,对已经通过该折叠操作的差分数据执行DND操作以便缩小它们的范围,并且从已经通过该移位操作的差分数据、已经通过折叠操作的差分数据和已经通过DND操作的差分数据中选择之一,并且熵编码该所选择的差分数据。 The method comprising: quantizing bits for quantizing the key data to be encoded, perform DPCM quantization processing to generate the differential data of key data, perform shift operation, wherein the difference data having the highest frequency (analog) from the difference data and the difference obtained by subtracting from each of the data, and converts the difference data is a positive number region or a negative region, performs a DND processing, wherein, taking into account the differential data have been through the folding operation and the maximum of the minimum value of them and the case where the relationship between, on the DND operation has been performed by the folding operation of the differential data so as to reduce their range, and the difference data has passed from the shift operation, the differential data have been through the folding operation and has operation through DND Select one of the differential data, and entropy encoding the selected differential data.

为了实现本发明的上述和其他方面,提供一种用于在基于图形动画的键帧中编码关键字数据的方法,该关键字数据是关于关键字帧在时间轴上的位置的信息。 To achieve the above and other aspects of the invention, there is provided a key frame-based graphics animation method for encoding key data, the key data is information about key frame position on the time axis. 该方法包括:量化要编码的关键字数据为量化比特;执行DPCM过程以便产生量化的关键字数据的差分数据;执行移位操作,其中从差分数据中获得具有最高频率的差分数据(模),并且从每个差分数据中减去该模;执行一DND过程,其中在考虑到已经通过折叠操作的差分数据和它们中的最大和最小值之间的关系的情况下,对已经通过折叠的差分数据执行DND操作以便缩小它们的范围,选择从移位器输入的差分数据、从折叠处理器输入的差分数据、已经过DND操作的差分数据、已经过上移位操作和DND操作的差分数据其中之一;以及熵编码该所选择的差分数据。 The method comprising: quantizing the key data to be encoded quantization bits; the implementation of the process in order to generate the quantized DPCM difference data key data; perform a shift operation, wherein the obtaining the differential data having the highest frequency (mold) from the differential data, and subtracted from each of the differential-mode data; performing a DND procedure, which has been under consideration of the relationship between the differential data by the folding operation of them between the maximum and minimum and the case already by folding the difference Data Execution DND operation to narrow their scope, select differential data input from the shifter, differential data input from the folding processor, has been the difference data DND operation on differential data have been shifting operations and DND operations which one; and entropy encoding the selected differential data.

为了实现本发明的上述和其他方面,提供一种在基于图形动画的关键字帧中用于编码关键字数据的方法,该关键字数据是关于时间轴上的关键字帧的位置的信息。 To achieve the above and other aspects of the present invention, there is provided a method for encoding key data in the key frame in the graphics-based animation, the key data is information about the location of key frames on the timeline. 该方法包括:执行线性关键字编码,在其中,关键字数据线性地增加的区域被确定并且被编码,执行浮点数换算以便将表示该线性关键字数据区域的首尾关键字数据的二进制数变为十进制数;执行量化误差最小化,在其中,调整要编码的关键字数据中的最大和最小值以便量化误差可以最小化并且表示调整最大和最小值的二进制数变为十进制数;执行量化,在其中,要编码的关键字数据以预定的量化比特使用已调整的最大和最小值量化;执行DPCM处理以便产生所量化的关键字数据的差分数据;执行移位操作,其中具有最高频率的差分数据(模)从差分数据中获得,并且被从每个差分数据中减去,执行折叠操作以便已经通过该移位操作的差分数据转送到一正数区域或者一负数区域;执行一DND处理,在其中,对已经通过折叠操作的差分数据执行DND操作以便缩小它们的范围,并且选择已经通过该移位操作的差分数据、已经通过折叠处理器的差分数据和已经通过上移位操作以及DND操作的差分数据之一,熵编码该所选择的差分数据;执行关键字头编码,在其中,量化、浮点数换算、DPCM处理、移位操作、折叠操作、DND处理和熵编码之一所产生的解码所需要的数据,作为关键字头产生。 The method comprising: performing a linear key encoder, in which the key data linearly increase in an area is determined and encoded, perform floating-point conversion to a binary number representing the beginning and end of the linear key data region becomes key data decimal; perform quantization error minimization, in which the adjustment should be coded key data in order to quantify the maximum and minimum errors can be minimized and adjust the maximum and minimum values represent binary numbers into decimal numbers; the implementation of quantization, in wherein the key data to be encoded with a predetermined quantization bit using the adjusted maximum and minimum quantization; DPCM processing executed in order to generate the differential data of the quantized key data; perform shift operation, differential data having the highest frequency (mode) obtained from the differential data, and the difference is subtracted from each data in order to perform the folding operation by the differential data has been transferred to the shift operation of a positive or a negative region area; performing a DND treatment, wherein, DND operation has been performed on the differential data by the folding operation so as to reduce their range, and selects the difference data has been through the shift operation, the differential data have been through the folding processor, and has been through the shift operation and the operation of the DND decoding perform keyword header encoding, in which quantization, floating point conversion, DPCM processing, shift operation, the folding operation, DND processing and entropy coding produced one; one of the differential data entropy encoding the selected differential data data required, as a key first generation.

在本发明中,为了很好地利用关键字数据的特征,首先在编码关键字数据期间计算关键字数据的分散度(degree of dispersion)。 In the present invention, in order to make good use of the characteristics of key data, the key data is first calculated during encoding key data dispersion (degree of dispersion). 如上所述,关键字数据表示时间轴上的关键字帧的位置,并由此关键字数据值按照顺序从表示第一关键字帧的关键字数据到表示最后关键字帧的阶单调地增加。 As mentioned above, the key data indicates the position of the keywords frames on a timeline, and thus the value of the order key data from the key data represent the first key frame to key frame represents the order last increase monotonically. 相应地,由第一DPCM操作获得的差分数据应该具有正值,如果对差分数据执行的第二DPCM操作,第二DPCM操作的结果应该具有或者正值或者负值。 Accordingly, the differential data obtained by the first DPCM operation should have a positive value, the second DPCM you perform an operation on the differential data, the results of the second DPCM operation should have either positive or negative.

通常,关键字数据中最大和最小值之间的差值越小,存在的冗余值越多,存在的冗余值越多,熵编码器具有越高的压缩率。 Often, key data in the difference between the maximum and minimum values of the smaller, more redundancy value exists, the more redundancy value exists, the entropy encoder has a higher compression ratio. 相应地,在本发明中,熵编码在关键字数据范围缩小之后执行。 Accordingly, in the present invention, the entropy coding is performed after the key data is narrowed. DPCM的阶和DND的阶可以通过一最小分散度获得,并且DPCM和DND的每个周期的结果用来缩小关键字数据的范围。 DND DPCM order of the order and a minimum degree of dispersion can be obtained, and the results of each cycle DPCM and DND used to narrow the keyword data. 当关键字数据的密集度降低时,关键字数据的冗余增加。 When the intensity of the key data to reduce redundant key data increases.

附图说明 Brief Description

本发明的上述和其他方面和优点,参考附图通过详细描写最佳实施例将要变成更明显,其中:图1是一传统的关键字数据编码器和关键字数据解码器的方框图;图2A是按照本发明一最佳实施例的编码器的方框图;图2B是图2A中所示的反复分开(divide-and-divide,DND)处理器的方框图;图2C到2G是按照本发明的编码器例子的方框图;图3A和3B是按照本发明最佳实施例的一用于编码关键字数据的方法的流程图;图4A和4B是按照本发明最佳实施例的浮点数转化过程的流程图;图5是按照本发明最佳实施例的量化处理的一流程图;图6是按照本发明最佳实施例DPCM处理的一流程图;图7是按照本发明的最佳实施例DND操作处理的一流程图;图8是按照本发明最佳实施例的说明熵编码的一图表;图9A到9J是表示按照本发明的最佳实施例已经通过不同操作的关键字数据的图表;图10A和10B是说明使用关键字数据和关键字值数据编码动画数据的处理的图表;图11A是按照本发明最佳实施例的一关键字数据解码器的方框图;图11B 11E是按照本发明的关键字数据解码器的例子的方框图; The above and other aspects and advantages of the present invention, described in detail with reference to the accompanying drawings a preferred embodiment will become more apparent, wherein: Figure 1 is a block diagram of a conventional key data encoder and the key data decoder; Fig. 2A The encoder is a block diagram of a preferred embodiment of the present invention according to; Fig. 2B is repeated in separate block diagram shown in Figure 2A (divide-and-divide, DND) processor; Fig. 2C to 2G is coded in accordance with the present invention, is an example of a block diagram; FIG. 3A and 3B is a flow diagram of a method for encoding key data of the preferred embodiment of the present invention; Figures 4A and 4B are a preferred embodiment of the process according to the present invention, floating point conversion process ; Figure 5 is a flowchart of processing according to the present invention, the quantization preferred embodiment; FIG. 6 is a flow chart according to the preferred embodiment of the present invention, DPCM processing; FIG. 7 is a preferred embodiment of the present invention, the operation of the DND a flowchart of processing; FIG. 8 is a graph of entropy encoding described the present preferred embodiment of the invention; Figs. 9A to 9J is a diagram showing a preferred embodiment of the present invention have been graphically the key data of different operations; FIG. 10A and 10B is a diagram illustrating the processing of data using keywords and key value data encoded animation data; Fig. 11A is a block diagram of a key data decoder preferred embodiment of the present invention; Figure 11B 11E is in accordance with the present invention. key block diagram of an example of the data decoder;

图12是按照本发明一最佳实施例用于解码关键字数据的方法的流程图;图13是按照本发明最佳实施例反向DND操作处理的一流程图;图14A到14E是显示解码需要的比特流语法和变量的例子的图表;以及图15A到15C是显示实现程序代码的例子的图表,其中列举了解码关键字数据需要的操作。 12 is a flowchart according to a preferred embodiment of the present invention is a method for decoding key data; Figure 13 is a flow chart according to the preferred embodiment of the present invention, the inverse DND operation process; FIG. 14A to 14E is a graph showing the decoding Examples of syntax and variable bit-stream of the chart needs; and 15A to 15C is a graph showing an example of realization of the program code, which lists the decipher key operating data needed.

具体实施方式 DETAILED DESCRIPTION

图2A是按照本发明一最佳实施例的编码器的一方框图。 2A is a block diagram of the encoder of the present invention a preferred embodiment.

按照本发明最佳实施例的一种用于编码关键字数据的方法将要参考图3A和3B进行描述。 A method in accordance with the preferred embodiment of the present invention for encoding key data will be with reference to Figures 3A and 3B will be described. 图3A和3B是用于编码关键字数据的方法的流程图。 3A and 3B are a method for encoding key data of a flowchart. 参考图3A和3B,如果关键字数据被输入一编码器,则关于例如关键字数据的数目和每个关键字数据的数字的数目的消息将被输入关键字头编码器270,并且被解码。 Reference to FIGS. 3A and 3B, if the key data is input an encoder, the number of key data on, for example, and the digital data for each key message will be the number of keywords first encoder 270, and is decoded. 线性关键字编码器200在输入的关键字数据中搜索存在于某些时间区间上关键字帧的区域,关键字数据具有相同差值,并且该关键字数据线性地变化,搜索到的线性区域首先在步骤S3000编码。 Linear encoder 200 keywords in the keyword search data input area exists in some time interval key frames, key data having the same difference, and that key data linearly changes to the linear region of the first search coding in step S3000.

著名的3D应用软件,例如3Dmax Maya,在具体区域中基于动画使用具有预定时间隙的键产生关键字帧。 The famous 3D applications, such as 3Dmax Maya, in the specific area-based animation using a gap of a predetermined time frame key generate keyword. 在该情况下,有可能容易地使用线性关键字数据区域的首尾关键字数据以及存在于它们之间的关键字帧的数目,来编码关键字数据。 In this case, it is possible to easily use the first and last key data and the linear key data region exists in the number of key frames between them, to coding key data. 相应地,线性预测对在某一区域中使用内插器编码关键字非常有用。 Accordingly, the use of linear predictive coding key interposer in an area very useful.

下列等式用于线性预测。 The following equation for linear prediction.

t(i)=tE-tSE-S+tS(0≤i≤ES,S<E)...(1)]]>在这里ts表示部分线性的区域开始的关键字的数据,tE表示部分线性的区域结束的关键字的数据,S表示ts的索引,E表示tE的索引。 t (i) = tE-tSE-S + tS (0 & le; i & le; ES, S & lt; E) ... (1)]]> here ts a partial linear area starting keyword data, tE represents part the end of the linear region of the keyword data, S denotes an index of ts, E represents an index of tE. 从第S个关键字数据到第E个关键字数据之间的具体区域中的实数关键字数据之间的误差和线性地预示下列方程式(1)的关键字数据可以使用下列等式计算。 The following equation indicates the S-th key data from a specific region to the first E key data between the real number key data errors and linearly between (1) the key data can be calculated using the following equation.

ei=t(i)-ti+S=tE-tsE-Si+ts-ti+s...(2)]]>如果使用等式(2)所计算的误差中的最大值不大于一预定的临界值,则tj可以被认为在区域[ts,tE]中互线性或者在某一误差范围里面。 ei = t (i) -ti + S = tE-tsE-Si + ts-ti + s ... (2)]]> If you are using equation (2) errors in the calculation of the maximum value is not greater than a predetermined The critical value, the tj can be considered linear interaction in the area [ts, tE] or in which a margin of error. 极限误差值ti是否与具体区域互线性由下列等式(3)确定。 Limit error value ti whether specific mutual linear region by the following equation (3) is determined.

Ep=MAXi=0,···(ES)|ei|=MAXi=0,···(ES)|tE-tSE-Si+tS-ti+S|...(3)]]>如果Ep≤12nBits+1]]>与区域[ts、tE]互线性。 Ep = MAXi = 0, & CenterDot; & CenterDot; & CenterDot; (ES) | ei | = MAXi = 0, & CenterDot; & CenterDot; & CenterDot; (ES) | tE-tSE-Si + tS-ti + S | ... (3 )]]> If Ep & le; 12nBits + 1]]> with the region [ts, tE] mutual linear. 在这里,nBits表示用于编码的比特的数目。 Here, nBits denotes the number of bits for encoding.

如果线性关键字编码器200搜索部分地线性区域,则首尾部分线性的关键字数据区域的该首尾关键字数据输出到该浮点数换算器205。 If the head and tail keyword search data 200 partially linear key encoder linear region, the first and last parts of the linear key data region is output to the floating-point converter 205. 包括在线性关键字数据区域内的关键字的数目输出到关键字头编码器270并且被编码。 The number of keywords including keywords in the linear region of the output data to the keywords in the encoder 270 and is encoded. 它有可能使用线性编码显著地减少编码的数据的数值。 It is possible to significantly reduce the use of linear encoding of a data value.

开始关键字数据和结尾关键字数据使用后面描述的浮点数换算编码。 Start and end of key data using key data described later float conversion encoding. 为了编码开始关键字数据和结尾关键字数据,该浮点数换算器205转换表示为二进制的关键字数据成十进制数据。 To encode key data beginning and end of key data, the floating-point number converter 205 converts key data represented as binary data into decimal.

计算机存储该浮点数为32位二进制数。 Computer stores the 32-bit binary floating-point number. 如果表示为二进制的浮点数是给定的,则该浮点数换算器205转换该浮点数成十进制的尾数和指数,并且该过程通过下列等式表示。 If represented as a binary floating-point number is given, then the floating-point number converter 205 converts the decimal floating-point mantissa and exponent, and the process is represented by the following equation.

例如,浮点数12.34可以通过计算机变为二进制数,如下列所示的。 For example, floating-point number 12.34 by computer into a binary number, as shown below.

01100010101110000101000112100000103]]>1:符号2:二进制的尾数3:二进制的指数该二进制数可以变为下列方程式(4)的十进位数,如下列所示。 01100010101110000101000112100000103]]> 1: Symbol 2: binary mantissa 3: binary exponent of the binary number can be changed to the following equation (4) of the decimal digit, as shown below.

011234223]]>1:符号2:十进制的尾数3:十进制的指数为了在比特流中包含十进制的尾数和指数,必须计算要求用于表示尾数和指数的比特的数目。 011 234 223]]> 1: Symbol 2: decimal mantissa 3: Decimal index to contain a decimal mantissa and exponent in the bit stream, must calculate the required number of bits of mantissa and exponent to represent. 该指数具有-38和38之间的值,因此可以使用7比特表示它及其符号。 The index has a value between -38 and 38, so that it can use 7-bit representation of its symbols. 要求用于表示尾数的比特的数目依赖于数字的数目。 Requirements for the number indicates the number of bits of the mantissa is dependent on the number. 该尾数的值和要求用于表示该尾数的比特数在下列图表中所示。 The mantissa values and requirements of the number of bits used to represent the mantissa shown in the following chart.

表1 Table 1

那些已经搜索并且使用上述的过程转换的线性关键字数据区域的首尾关键字数据按照图4A和4B中所示的编码过程编码,然后输出到关键字头编码器270,并且保存在该比特流中。 Inclusive of those key data has been searched and the above-described process converts linear key data region as shown in Figure 4A and encoded in the encoding process shown in 4B, and then outputs the key header encoder 270 and stored in the bit stream, .

图4A和4B表明浮点数换算器205编码两个输入浮点数。 4A and 4B show floating-point converter 205 encodes two input float. 浮点数换算器205编码浮点数的方法将要参考图4A和4B进行描述。 Float float conversion encoding method 205 will be 4A and 4B will be described.

浮点数换算器205接收原始的关键字数据的数位Kd、开始关键字数据S和结束关键字数据E,并且在步骤S3040以下列方程式(4)转换它们。 Floating-point number converter 205 receives the raw digital data key Kd, beginning key data S, and ending key data E, and the following equation (4) are converted in step S3040.

浮点数换算器205首先编码S。 Float conversion encoding 205 S. First 具体地说,浮点数换算器205检查S的数位是否不同于Kd。 Specifically, the floating-point converter 205 checks whether or not different from the S digit Kd. 如果S的数位不同于Kd,则在步骤S3042获得S的数位并且输出到关键字头编码器270。 If the S digit different from the Kd, the S3042 digital obtained in step S and output to the header encoder 270 keywords. 浮点数换算器205使用函数Digit()获得S的数位。 205 floating-point conversion using function Digit () to obtain S digital.

如果S的数位大于7,则在步骤3043使用预定的位数(在本发明中,遵循IEEE标准754的浮点数方式使用下列32比特)将S输出到关键字头编码器270,以便S的数位可以被包括在该比特流中。 If S is the number of bits is greater than 7, the 3043 uses a predetermined number of bits in step (in the present invention, an IEEE 754 floating-point standard way using the following 32-bit) is output to the S key first encoder 270 to S digit It may be included in the bitstream.

如果S的数位不是0并且小于7,则在步骤3044中,浮点数换算器205输出S的符号给关键字头编码器270。 If the number of S bits is not 0 and less than 7, in step 3044, the floating-point number converter 205 outputs the symbol S to the header encoder 270 keywords. 编码S尾数绝对值要求的比特数使用图表1获得。 The number of bits required for coding the absolute value of S mantissa obtained using the Chart 1. 接下来,在步骤3045,S尾数的绝对值使用图表1获得的比特数输出到关键字头编码器270。 Next, in step 3045, the absolute value of S using a number of bits the mantissa obtained chart is output to the header encoder 270 keywords. 在步骤S3046,浮点数换算器205计算S的指数,输出S的符号给关键字头编码器270,并且作为预定的位数,例如,6比特,输出该指数给关键字头编码器270。 In step S3046, 205 floating-point number converter symbol S index, output S to the keywords in the encoder 270, and a predetermined number of bits, for example, 6-bit output of the index to the key head encoder 270. 这样的关键字数据转换使显著地减少包括在比特流内的比特数成为可能。 Such key data conversion enables to significantly reduce the number of bits included in the bit stream possible.

如果S的数位是0,则开始关键字数据的编码结束,并且该方法转到转换结尾关键字数据E的步骤,原因是当S的数位是0时,相应的浮点数也是不要求编码的0。 If S is the number of bits are 0, then start coding end key data, and the method proceeds to the end of key data E conversion step, because when the S digit is zero, the corresponding float also does not require coding 0 .

在转换并编码开始关键字数据S之后,浮点数换算器205转换结尾关键字数据E。 After the conversion and encoding start key data S, floating point converter 205 converts the end of the key data E. E的转换几乎与S的转换相同。 E converting almost identical with the conversion of S. 具体地说,在步骤S3047,检查E的指数是否与S的指数相同。 More specifically, in step S3047, to check whether the index S E of the same index. 如果E的指数与S的指数相同,则只有指出E的指数与S的指数相同的标志位输出到关键字头编码器270。 If the E index and S index the same, only the noted exponent E of the same index and S flag is output to the header encoder 270 keywords. 在步骤S3048,如果E的指数与S的指数不相同,则E的指数像标志位一样以与已经输出到关键字头编码器270的S指数同样的方式输出到关键字头编码器270。 In step S3048, the index if the index E and S are not identical, the E flag is the same as the index with the already output to the keywords in the index encoder S 270 in the same manner to the keywords in the encoder output 270.

不属于线性区域的输入的关键字数据中的关键字数据输入到量化器210并按照预定的量化比特长度,即nKeyQBit,进行量化。 Keyword data is not part of the input linear region of the key data input to the quantizer 210 and in accordance with a predetermined quantization bit length, ie nKeyQBit, quantified.

然而,在使用解码器解码量化的关键字数据的情况下,由于原始的关键字数据之间的误差以及量化的关键字数据不可能完整地恢复原始的关键字数据。 However, in the case of using the decoder decodes the quantized key data, the key data due to an error between the original and the quantized key data can not fully recover the original key data. 因此,本发明的量化器210获得输入的关键字数据中的最大值和最小值,并使用最大值和最小值量化输入的关键字数据。 Therefore, the quantization of the present invention to obtain the maximum and minimum 210 keywords in the data input, and the maximum value and the minimum value of the quantized key data input. 另外,本发明包含一量化误差最小化器215以便原始的关键字数据之间的误差和它们的量化的关键字数据可以使用输入的关键字数据中的最大值和最小值进行最小化。 Further, the present invention includes a quantization error minimizer 215 so that the original data error between the keywords and their key data can be used to quantify the maximum and minimum values of key data inputted will be minimized.

在步骤S3100,量化误差最小化器215预先使用一用于控制量化范围的方法量化或者反向地量化该输入的关键字数据以便量化误差可以最小化。 In step S3100, the quantization error minimizer 215 in advance using a method for controlling a quantization range for quantizing or inversely quantizing the key data input to the quantization error can be minimized.

具体地说,如果用于量化的混合最大值由Max表示,用于量化的被控制的最小值由Min代表,输入值由Xi代表,用于量化的比特数由nQuantBit代表,则量化的输入值 Specifically, if the maximum value for quantization is represented by a mixture of Max, for quantization is controlled by the Min Min represented by the input value Xi represented the number of bits used for the input values quantized by nQuantBit representative, the quantized 反向地量化值 Inversely quantized value 和误差ei利用下列等式获得。 And error ei obtained using the following equation.

X~i=floor(Xi-MinMax-Min)*(2nQuantBit-1)+0.5...(5)]]>X^i=X~i*(Max-Min)2nQuantBit-1+Min]]>ei=Xi-X^i]]>有两个用于减少误差的和∑ei的方法。 X ~ i = floor (Xi-MinMax-Min) * (2nQuantBit-1) +0.5 ... (5)]]> X ^ i = X ~ i * (Max-Min) 2nQuantBit-1 + Min]]> ei = Xi-X ^ i]]> There are two methods for reducing errors and Σei of. 一是通过连续地控制Min直到误差的和最小的方法。 The first and smallest of the method by continuously controlling Min until errors. 另一方法如下。 Another method is as follows.

首先,假定Xi=(i+n)Δx+εi,其中Xi表示一输入的关键字数据序列,Δx表示一输入数据基本步长,n是一任意整数,εi表示零均值随机噪声。 First, suppose that Xi = (i + n) Δx + εi, where Xi represents a key data input sequence, Δx represents a fundamental step input data, n is an arbitrary integer, εi represents zero-mean random noise.

接下来,当di=Xi-Xi-1=Δx+(εi-εi-1),Δ'x=E[di]并且Min=Max-Δ'x*(2nQuantBit-1)。 Next, when di = Xi-Xi-1 = Δx + (εi-εi-1), Δ'x = E [di] and Min = Max-Δ'x * (2nQuantBit-1).

Min可以使最小化一量化误差成为可能,Max输入到量化器210并且用于关键字数据的量化。 Min can minimize a quantization error is possible, Max and the input to the quantizer 210 for quantizing the key data. 量化器210接收最大和最小值Max和Min,Min可以最小化量化误差并且在步骤S3200中按照下列方程式(6)量化关键字数据fKeyi。 Quantizer 210 receives the maximum and minimum values Max and Min, Min you can minimize the quantization error and in accordance with the following equation (6) quantized key data in step S3200 in fKeyi.

nQKeyi=floor(fKeyi-fKeyMinfKeyMax-fKeyMin(2nKeyQBit-1)+0.5)...(6)]]>这里,i表示一量化的关键字数据的索引,nQKeyi表示量化的关键字数据的整数阵列,fKeyi表示量化的关键字数据的浮点数阵列,fKeyMax表示从量化误差最小化器(minimizer)215输入的最大值,fKeyMin表示从量化误差最小化器215输入的最小值,以及nKeyQBit表示量化比特大小。 nQKeyi = floor (fKeyi-fKeyMinfKeyMax-fKeyMin (2nKeyQBit-1) +0.5) ... (6)]]> Here, i indicates an index of quantized key data, nQKeyi represents an integer of quantized key data array, fKeyi represent the quantized key data of floating-point array, fKeyMax represents the maximum value from the quantization error minimizer (minimizer) 215 input, fKeyMin represents the minimum value from the quantization error minimizer 215 input and nKeyQBit represents quantization bit size. 在等式(6)中,函数floor(v)是输出一不大于某一浮点值v的最大整数的函数。 In equation (6), a function floor (v) is the output of a floating-point value v is not greater than a greatest integer function.

本发明的量化器210可以不使用这样的算法来减少量化误差,在这样情况下仅仅利用输入的关键字数据中的最大和最小值fKeyMax和fKeyMin执行量化。 Quantizer 210 of the present invention may not use such algorithms to reduce quantization error, in which case only the use of key data input maximum and minimum fKeyMax and fKeyMin perform quantization.

本发明的量化过程将参考图5更完全地描述。 Quantization process of the present invention will be more fully described with reference to FIG.

量化器210在步骤S3210接收关键字数据并且在步骤3220中检测最大和最小值MAX和MIN是否从量化误差最小化器215输入。 210 data quantizer step S3210 received keywords and detect the maximum and minimum values MAX and MIN from the quantization error minimizer 215 entered in step 3220.

如果输入MAX和MIN,量化器210在步骤3230分别设置最大和最小值fKeyMax和fKeyMin作为MAX和MIN量化,并且输出最近设置的最大和最小值fKeyMax和fKeyMin给浮点数换算器205。 If you enter MAX and MIN, the quantizer 210 are set in step 3230 maximum and minimum fKeyMax and fKeyMin as MAX and MIN quantization, and outputs the maximum and minimum fKeyMax and fKeyMin recently set up to float converter 205. 最大和最小值fKeyMax和fKeyMin通过上述的浮点数转化过程转换并编码,并且输出到关键字头编码器270以便它们可以被包括在一用于解码的关键字头中。 The maximum and minimum values fKeyMax and fKeyMin by the above conversion process to convert the floating-point number, and encoding, and output to the header encoder 270 keywords so that they may be included in the key for decoding the first one.

如果没有值从量化误差最小化器215输入,则量化器210在步骤S3240分别设置第一关键字数据fKey0和最终密钥数据fKeyN-1作为最小值fKeyMin和最大值fKeyMax。 If no value from the quantization error minimizer 215 input, the quantization unit 210 sets the first key data fKey0 and final key data fKeyN-1 as a minimum and maximum fKeyMax fKeyMin respectively in step S3240.

接下来,在步骤S3250量化器210中检查最大值fKeyMax是否小于1但是大于0以及最小值fKeyMin是否大于0。 Next, at step S3250 the maximum value of the quantizer 210 checks fKeyMax is smaller than 1 but greater than 0, and the minimum value fKeyMin is greater than 0. 如果最大值fKeyMax不小于1或非大于0,则最大和最小值fKeyMax和fKeyMin输出到浮点数换算器205,并且通过上述的浮点数换算转换并编码。 If the maximum value fKeyMax is not less than 1 or greater than 0, the maximum and minimum values fKeyMax and fKeyMin to the floating-point number converter 205 outputs, and the floating-point number conversion by the above conversion and encoding. 接下来,在步骤S3260已经转换并编码的最大和最小值fKeyMax和fKeyMin被包括在关键字头中以便它们可被用于解码。 Next, it has been converted and encoded in step S3260 and the maximum and minimum fKeyMax fKeyMin be included in the keyword head so that they can be used for decoding.

另一方面,如果最大值fKeyMax小于1并且最小值fKeyMin大于0,则在步骤S3270检查表示最大和最小值fKeyMax和fKeyMin是否将包括在用于解码的关键字头内的标志。 On the other hand, if the maximum value fKeyMax is smaller than 1 and the minimum value fKeyMin is greater than 0, then in step S3270 to check whether the maximum and minimum values fKeyMax represented and fKeyMin will be included in the flag for decoding the first key. 如果该标志建立以便最大和最小值fKeyMax和fKeyMin可以被包括在该关键字头中,则执行步骤S3260以便将最大和最小值fKeyMax和fKeyMin输出到该关键字头编码器270。 If this flag is set up so that the maximum and minimum fKeyMax and fKeyMin may be included in the key header, step S3260 so that the maximum and minimum fKeyMax and fKeyMin output to the header encoder 270 keywords. 如果该标志没有建立,则量化器210不许最大和最小值fKeyMax和fKeyMin包括在该关键字头中。 If the flag is not set up, the quantization 210 allowed maximum and minimum fKeyMax and fKeyMin included in the key header.

在最大和最小值fKeyMax和fKeyMin没有包括在该关键字头内的情况下,建议关键字数据编码器和关键字数据解码器分别执行编码和解码,分别设置最大和最小值fKeyMax和fKeyMin在1和0上。 At the maximum and minimum fKeyMax and fKeyMin not included in the key head, it is recommended key data encoder and decoder performs the key data encoding and decoding, respectively, were set maximum and minimum fKeyMax and fKeyMin 1 and 0 on. 在这种情况下,在步骤S3280中,分量化器210别设置最大和最小值fKeyMax和fKeyMin在1和0上。 In this case, in step S3280, the components of the 210 are provided at 1 and 0, and the maximum and minimum fKeyMax fKeyMin. 最大和最小值fkeymax和fKeyMin对关键字数据解码器来说是已知的,以便它们不需要被包括在该关键字头中。 The maximum and minimum fkeymax and fKeyMin of key data decoder is known so that they need not be included in the key header.

量化器210通过替代那些已经通过上述的过程建立的最大和最小值fKeyMax和fKeyMin,量化该输入的关键字数据成等式(6),并且在步骤S3290输出量化的关键字数据给DPCM处理器220。 The quantizer 210 by replacing those maximum and minimum values fKeyMax and fKeyMin established by the above procedure, the quantized key data inputted into equation (6), and the output of the quantization step S3290 to the key data in the DPCM processor 220 .

DPCM处理器220接收量化的关键字数据,并且对量化的关键字数据执行预定的次数的DPCM。 DPCM processor 220 receives quantized key data and performs DPCM on the predetermined number of quantized key data. 接下来,DPCM处理器220输出DPCM的阶和在每个DPCM周期中的内部关键字数据给关键字头编码器270,其中通过DPCM的阶可以获得在分散度中的最小值和。 Next, DPCM processor 220 outputs the order of DPCM and internal key data in each cycle of DPCM encoder to key head 270, which can be obtained by order of DPCM in dispersion minimum and. 在步骤S3300,DPCM处理器220输出由DPCM产生的差分数据给移位器230。 In step S3300, DPCM processor 220 outputs differential data generated by the DPCM to the shifter 230.

参考图6,在步骤S3310,DPCM处理器220对输入的关键字数据执行预定的次数,并且存储DPCM的周期数作为DPCM的阶。 6, in step S3310, DPCM processor 220 keywords entered data performs predetermined number of times, and the number of cycles stored DPCM as the order of DPCM. 在本发明一最佳实施例中,DPCM可以执行三个次。 In a preferred embodiment of the present invention, DPCM may be performed three times.

这以后,在步骤S3320,DPCM处理器220计算DPCM每个周期的结果的分散度,该分散度可以由密集度、标准偏差或者四分位偏差表示,并且在本发明的最佳实施例中,可以使用四分位偏差。 Thereafter, in step S3320, DPCM DPCM processor 220 calculates the results for each cycle of dispersion, the dispersion may be made of intensity, standard deviation, or quartile deviation represented, and in the preferred embodiment of the present invention, You can use the quartile deviation.

接下来,DPCM处理器220选择一DPCM周期,其中在分散度中可以获得一最小值,并且输出选择的DPCM的阶的结果给该移位器230。 Next, DPCM DPCM processor 220 selects a cycle, which can be obtained in a minimum degree of dispersion, the result of order and outputs the selected DPCM to the shifter 230. 在步骤S3330选择的DPCM的周期、每个DPCM周期的内部关键字数据及DPCM需要的其他信息单元输出到关键字头编码器270。 In step S3330 selected DPCM cycle internal key data and other information required for each unit DPCM DPCM cycle output to the header encoder 270 keywords. 然而,在本发明的一最佳实施例中,如果键数目小于5,则DPCM只执行一次。 However, in a preferred embodiment of the present invention, if the number of bonds is less than 5, the DPCM is performed only once. 例如,DPCM的第一周期按下列方程式(7)执行。 For example, a first cycle of DPCM in accordance with the following equation (7) execute.

4=nQKeyi+1-nQKeyi…(7)这里i表示量化的关键字数据的索引,nQKeyi表示整数阵列,Δi表示差分数据。 4 = nQKeyi + 1-nQKeyi ... (7) where i represents an index of quantized key data, nQKeyi represents an integer array, Δi represents the differential data. 在步骤S3340,DPCM处理器220计算要求编码选择的DPCM周期的比特数和已经由DPCM在预定的存储器(nQStep_DPCM)中产生的关键字数据的差分数据。 In step S3340, DPCM processor 220 calculates the difference between the number of bits of data requires coding options DPCM period and that has been generated by the DPCM in a predetermined memory (nQStep_DPCM) keyword data. 编码所需要的比特数的计算可以随后在被编码的选择关键字数据随后的步骤中同时执行,该事实对本领域的技术人员来说是明显的。 Calculate the number of bits needed to encode can then be executed simultaneously in the choice of key data to be encoded subsequent step, the facts of this skill is evident.

移位器230选择一差分数据(在下文中,称为一模),用于具有从DPCM处理器220输入的差分数据之中的最高频率。 Shifter 230 selects a differential data (hereinafter, referred to as a mold) for having the highest frequency from the differential data input DPCM processor 220 among. 则在步骤S3400移位器230从全部差分数据减去该模以便大多数被编码的数据安排0,并且编码所需要的比特数可以减少。 In step S3400 shifter 230 is subtracted from all differential data to be encoded such that most of the mold arrangement data 0, and the number of bits required for encoding can be reduced.

执行这样的移位操作从全部量化的关键字数据减去模,由下列等式表示。 Such a shift operation executed all quantized key data from minus mode, represented by the following equation.

shift(nQKeyi)=nQKeyi-nKeyShift…(8)这里,i表示量化的关键字数据的索引,nQKeyi表示整数阵列,nKeyShift表示一模值。 shift (nQKeyi) = nQKeyi-nKeyShift ... (8) Here, i represents an index key quantitative data, nQKeyi represents an integer array, nKeyShift represents a modulus value. 作为移位操作的结果,具有最高频率的差分数据变成0以便编码所需要的比特数可以显著地减少。 As a result of the shift operation, the differential data having the highest frequency become 0 so that the number of bits required for encoding can be significantly reduced.

已经通过移位操作的关键字数据输出到一折叠处理器240和DND处理器250,并且模值nKeyShift输出到关键字头编码器270以便被包括在该关键字头中。 Has passed the key data shift operation is output to a folding processor 240 and DND processor 250, and modulus nKeyShift keyword head encoder output to 270 in order to be included in the key header.

在步骤S3500,折叠处理器240对移位器230的输出执行一折叠操作,并且输出折叠操作的结果给DND处理器250。 In step S3500, output processor 240 pairs of folding shifter 230 to perform a folding operation, and outputs the result of the folding operation to the DND processor 250.

折叠操作通过集中它们在正数或者负数区域中,来缩小广泛的分散于正数区域和负数区域的差分数据的范围。 Folding operation by focusing on their positive or negative zone, to narrow the wide dispersion in the range of positive and negative regions of the differential region data. 在本实施例中,折叠操作按照下列方程式(9)执行以便集中差分数据在该正数区域中。 In this embodiment, the folding operation according to the following equation (9) to do in order to focus on the positive difference data area.

fold(nQKeyi)=2·nQKeyi(if nQKeyi≥0)…(9)=2|nQKeyi|-1(if nQKeyi<0)这里,i表示量化的关键字数据的索引,nQKeyi表示整数阵列。 fold (nQKeyi) = 2 · nQKeyi (if nQKeyi≥0) ... (9) = 2 | nQKeyi | -1 (if nQKeyi <0) Here, i denotes the index of quantized key data, nQKeyi represents an integer arrays. 作为折叠操作的结果,正差分数据变为偶数,负差分数据变为奇数。 As a result of the folding operation, positive differential data becomes even negative differential data becomes odd.

折叠处理器240计算编码已经通过折叠操作的差分数据所需要的比特数,并且存储它在预定的存储器nQStep_fold中。 Folding processor 240 calculates the encoded differential data have been through a number of bits required for the folding operation and stores it in a predetermined memory nQStep_fold. 在这步骤中,编码所需要的比特数的计算可以在选择被熵编码的差分数据的随后的步骤中执行,该事实对于本领域技术人员来说是明显的。 In this step, the calculated number of bits required for encoding can be a subsequent step in the selection of the differential data entropy coding is performed, the fact that the skilled artisan is apparent. 在折叠处理器240中由折叠操作产生的数据输出到DND处理器250。 Folding processor 240 output data generated by the folding operation to the DND processor 250.

为了提高熵编码的效率,DND处理器250在关键字数据的输入的差分数据上执行预定次数,因此缩小在S3600中差分数据的范围。 To improve the efficiency of entropy coding, DND processor 250 performs a predetermined number of times on the differential data input of key data, and therefore reduce the scope of the difference data in S3600.

参考图2B,DND处理器250包含:对差分数据执行DND操作的DND操作器252;第一差分数据选择器254,用于以用于编码的比特数为基础选择熵编码的差分数据;移位向上操作器256,用于在已经通过DND操作的差分数据上执行上移位操作;以及第二差分数据选择器258,用于从已经仅仅通过DND操作的差分数据和已经通过上移位操作的差分数据之间选出具有一较低分散度的差分数据,并且输出所选择的差分数据到熵编码器260。 With reference to FIG. 2B, DND processor 250 comprises: DND operator perform DND operation on differential data 252; a first differential data selector 254 for selecting the number of bits used in the entropy coding based on differential encoding of data; shift up operation of the 256, it has been used by DND operation on differential data shift operation is performed; and a second differential data selector 258, has been used only by the DND operation on differential data and has been through the shift operation selected differential data having a low degree of dispersion of the difference between the data, and outputs the selected differential data to the entropy encoder 260.

在DND操作器252中执行的DND操作将要在下文中描述。 DND operations performed in DND operator 252 will be described below.

当已经通过折叠处理器240中的折叠操作的差分数据输入到DND操作器252时,它们分成两个组,具有比另一组差分数据范围大的一组差分数据由一分开函数移到正数区域。 When the differential data has been folded by the folding operation processor 240 is input to the 252 operator when DND, they split into two groups, with a large range of data than the other set of differential difference data set consists of a separate function into a positive number area. 该分开函数由下列等式定义。 The separate function is defined by the following equation.

divide(nQKeyj,nKeyMax)...(10)]]>=nQKeyj-(nKeyMax+1)(if nQKeyj>nKeyMax2)]]>=nQKeyj(if nQKeyj&le;nKeyMax2)]]>这里,j表示输入的差分数据的索引,nQKeyj表示整数阵列,nKeyMax表示已经通过折叠操作的差分数据中的最大值。 divide (nQKeyj, nKeyMax) ... (10)]]> = nQKeyj- (nKeyMax + 1) (if nQKeyj> nKeyMax2)]]> = nQKeyj (if nQKeyj & le; nKeyMax2)]]> Here, j represents the differential input index data, nQKeyj represents an integer array, nKeyMax represents the differential data by folding operation has a maximum value. 尤其,在大多数差分数据密集地沿着由全部差分数据占据的全部区域边界提供的情况下,利用该分开操作有可能显著地缩小在所有差分数据中全部的区域。 In particular, most of the difference data in the case of densely along the entire border area occupied by the entire difference data provided by the separate operations may be significantly reduced in the entire region of all differential data.

在分开操作之后,在编码所需要的比特长度被用作该分散度的度量以便可以选择在用于编码的比特长度中的最小值的情况下,计算该分散度。 After the separate operation, the desired bit length encoding is used as a measure of the dispersity of the case in order to be able to select the bit length for encoding of the minimum value, the calculation of the dispersion.

在DND操作之后,进一步执行不同类型的DND操作,即,上分操作或者下分操作。 After the DND operation, the further implementation of the different types of DND operation, namely, the sub-operating or under the sub-operation. 上分操作或者下分操作是否将要进一步执行将由差分数据的正范围长度和差分数据的负范围长度确定。 Under the sub-operation or sub-operation is going to further the implementation of the positive range and negative range the length of the difference data is determined by the difference data.

如果具有正值的差分数据的范围大于具有负值的差分数据的范围,则由下列等式定义的下分操作被执行。 If the range of differential data has a positive value greater than the range of differential data having a negative value, as defined by the following equation points down operation is performed.

divide-down(nQKeyj,nKeyMax)...(11)]]> divide-down (nQKeyj, nKeyMax) ... (11)]]>

=-2(nKeyMax-nQKeyj+1)+1---(if nQKeyj>nKeyMax2>]]>=nQKeyj---(if0&le;nQKeyj&le;nKeyMax2)]]>=2&CenterDot;nQKeyj---(if nQKeyj&lt;0)]]>另一方面,如果具有正值的差分数据的范围大于具有负值的差分数据的范围,由下列等式定义的上分操作被执行。 = -2 (NKeyMax-nQKeyj + 1) +1 --- (if nQKeyj> nKeyMax2>]]> = nQKeyj --- (if0 & le; nQKeyj & le; nKeyMax2)]]> = 2 & CenterDot; nQKeyj --- (if nQKeyj & lt; 0)]]> On the other hand, if the range of the differential data having positive values is larger than the range of the differential data having negative values, defined by the following equation division operation is performed.

divide-up(nQKeyj,nKeyMin)...(12)]]>=nQKeyj---(nQKeyj&GreaterEqual;0)]]>=2&CenterDot;nQKeyj---(nKeyMin2&le;nQKeyj&le;0)]]>=2(nKeyMin-nQKeyj-1)+1---(nQKeyj&lt;nKeyMin2)]]>等式(11)和(12)中,j表示量化的关键字数据的索引,nQKeyj表示整数阵列,nKeyMax表示nQKeyj的最大值,nKeyMin表示nQKeyj的最小值。 divide-up (nQKeyj, nKeyMin) ... (12)]]> = nQKeyj --- (nQKeyj & GreaterEqual; 0)]]> = 2 & CenterDot; nQKeyj --- (nKeyMin2 & le; nQKeyj & le; 0)]]> = 2 ( Maximum nKeyMin2)]]> Equation (11) (12) and, j denotes the index of quantized key data, nQKeyj represents an integer array, nKeyMax indicates a nQKeyj; nKeyMin-nQKeyj-1) +1 --- (nQKeyj & lt value, nKeyMin represents the minimum nQKeyj of.

DND操作器252的操作将要参考图7在下文中进行描述。 Operation DND operator 252 will be described with reference to FIG. 7 hereinafter.

当输入的关键字数据的差分数据从该折叠处理器240输入时,DND操作器252在步骤S3610输入的差分数据中的获得最大值nKeyMax和最小值nKeyMin。 When the differential data input of key data input from the folding processor 240, DND operator 252 to get the maximum and minimum nKeyMin nKeyMax differential data input in step S3610. 然后,DND操作器252在步骤S3620比较nKeyMin和nKeyMax的绝对值。 Then, DND operator 252 compares the absolute value of nKeyMax nKeyMin and in step S3620. 如果nKeyMax不小于nKeyMin的绝对值,在则步骤S3622种,DND操作器252在DND操作的当前周期中设置nKeyMax作为一最大值。 If nKeyMax not less than the absolute value of nKeyMin in the step S3622 species, DND operator 252 is set in the current cycle of DND operation nKeyMax as a maximum.

在步骤S3624,DND操作器252检测DND操作的阶是否是1,换言之,DND操作的阶是否为1,如果是,DND操作器252在步骤S3630中对输入的差分数据执行一分开操作,替代等式(10)中的最大值nKeyMax。 In step S3624, DND operator 252 detects whether the order of DND operation is 1, in other words, the order of DND operation is 1, if it is, DND operator 252 in step S3630 is performed on the differential data input of a separate operation, substitution, etc. (10) The maximum nKeyMax style.

此后,在步骤S3640,DND操作器252利用函数getQBit()测量编码该差分数据范围需要的比特长度,该差分数据范围已经利用分开操作缩小了。 Thereafter, in step 252 using the function getQBit S3640, DND operator () measuring range encoding the differential data bits required length, the difference data have been used to separate the operating range reduced. 如果在步骤S3650,DND操作的阶是1,则将编码所需要的比特长度存储为一表示用于编码的比特最小长度的值nQBitDND,并且在步骤S3655中将DND操作的阶数增加1。 If, at step S3650, the order of DND operation is 1, then the bit length required for encoding is stored as a value nQBitDND of bits represents the minimum length for encoding, and increases in the order of DND operation in step S3655 1.

接下来,DND处理器252再次通过S3622执行步骤S3610。 Next, DND processor 252 again through the S3622 to step S3610. 在步骤S3624,如果DND操作的阶不是1,则DND操作器252在步骤S3634执行下分操作替代等式(11)中的最大值nKeyMax。 In step S3624, if the order of DND operation is not 1, the DND operator 252 points operate replace the equation in the next step S3634 (11) in the maximum nKeyMax. 在步骤S3640,DND操作器252计算编码已经通过下分操作的差分数据所需要的比特数。 In step S3640, DND operator 252 to calculate the number of bits that code has been operating under the differential data needs. 如果该数小于在上一DND操作周期中所存储的最小值nQBitDND,则在步骤S3658它替换在DND操作之后编码所需要的比特的最小长度。 If the number is less than the minimum nQBitDND on a DND operation cycle stored in step S3658 replacing it with a minimum length of the bit after the DND operation coding required.

在步骤S3620,如果最小值nKeyMin的绝对值大于最大值nKeyMax的绝对值,则将DND操作的当前周期中的最大值作为一最小值在步骤S3623更新,然后在步骤S3628执行一上分操作,替代等式(12)中的用于nKeyMin的最小值。 In step S3620, the current cycle if the absolute value greater than the maximum absolute value of the minimum nKeyMin nKeyMax, and then the DND operation a maximum value as a minimum value in step S3623 update, and then perform an operation on a sub-step S3628, replacement Equation (12) for a minimum of nKeyMin. 此后,在步骤S3640,DND操作器252计算用于编码已经通过上分操作的差分数据的比特数。 Thereafter, in step S3640, DND operator 252 calculates a code has been operated by the number of bits of difference data points. 在步骤S3652,如果计算的结果小于已经保存在上一DND操作周期中的nQBitDND,则在步骤S3658中它替换在DND操作之后编码所需要的比特的最小数nQBitDND。 In step S3652, the results have been saved if the calculation is less than in the previous cycle of DND operation nQBitDND, then in step S3658 it replaces DND operation after the minimum number required for encoding nQBitDND bits.

DND处理器252执行预定次数的DND操作,并且DND操作的性能数目可以变化。 DND processor 252 performs a predetermined number of DND operation, and the number of performance DND operation may vary. 例如,在当前实施例中,DND操作执行7次。 For example, in the present embodiment, DND operation is performed 7 times. DND操作器252输出nQBitDND和相应于nQBitDND的差分数据给第一差分数据选择器254。 DND operator 252 and corresponding output nQBitDND nQBitDND differential data to the first differential data selector 254. DND操作器252输出产生相应的差分数据的DND阶给关键字头编码器270,并且允许将它们包括在该比特流中。 DND operator 252 generates a corresponding differential output data of DND order to key a header encoder 270 and allows them to be included in the bitstream.

第一差分数据选择器254接收已经通过移位操作的差分数据,已经通过该折叠操作的差分数据和已经通过DND操作的差分数据,并且确定三个中将要被熵编码的差分数据。 A first differential data selector 254 receives shift operation has been through differential data, differential data has DND operation and the differential data by folding operation has passed, and will determine three differential data to be entropy coding.

参考图3A和3B,如果在步骤S3700,在DND操作之后编码所需要的比特最小数nQBitDND不小于在DPCM操作之后编码的比特长度nQStep-DPCM,则在步骤S3710,第一差分数据选择器254选择DPCM的结果并且对差分数据执行一移位操作。 3A and 3B, if at step S3700, after the DND operation required encoding bits is not less than the minimum number nQBitDND operation after DPCM coded bit length nQStep-DPCM, then in step S3710, a first differential data selector 254 to select DPCM results and perform a shift operation on the differential data. 接下来,第一差分数据选择器254输出移位操作的结果给该熵编码器260,并且允许它们在步骤S3710被熵编码。 Next, the results of the first differential data selector 254 outputs the shift operation to the entropy encoder 260 and allows them to be entropy coded in step S3710. 在该情况下,DND操作的阶设置为-1,被输出到关键字头编码器270,并且被包括在该关键字头中。 In this case, DND operation stage is set to -1, is output to the keywords in the encoder 270, and is included in the key header.

然而,如果在步骤S3720,结果是nQBitDND小于nQStep-DPCM,并且不小于用于在折叠操作之后编码的比特长度,则在步骤S3730,第一差分数据选择器254输出已经通过该折叠操作的差分数据给熵编码器260,并且允许将它们熵编码,而在这样情况下DND操作的阶设置在0上,被输出到该关键字头编码器270,并由此被包括在该关键字头中。 However, if in step S3720, the result is less than nQBitDND nQStep-DPCM, and not less than the bit length used for encoding after the folding operation, then in step S3730, a first differential data selector 254 outputs the differential has been through the folding operation of the data to the entropy encoder 260 and allows them to be entropy coding, in which case the order of DND operation is set at 0, is output to the keywords in the encoder 270, and thus is included in the key header.

如果在DND操作之后用于编码差分数据比特数最小,则在步骤S3740,第一差分数据选择器254输出已经通过DND操作的差分数据到上移位操作器256,然后该上移位操作器256计算从第一差分数据选择器254输入的差分数据的第一分散度。 If after the DND operation coded difference data for the minimum number of bits, in step S3740, a first differential data selector 254 outputs the differential data have been through the DND operation to the shift operator 256, and 256 that the shift operation calculating a first dispersion from the first differential data selector 254 inputs the difference data. 接下来,在步骤S3800上移位操作器256对已经通过DND操作的差分数据执行由下列等式定义的上移位操作,并且在步骤S3810计算上移位操作结果的第二分散度。 Next, the shift operator at step S3800 256 pair has been operated by DND differential data execution is defined by the following equation shift operation and shift operation results in the second dispersion step S3810 computing.

shift-up(nQKeyj,nKeyMax) …(13)=nQKeyj(if nQKeyj≥0)=nKeyMax-nQKeyj(if nQKeyj<0)这里,j表示量化的关键字数据的差分数据的索引,nQKeyj表示整数阵列,并且nKeyMax表示差分数据中的最大值。 shift-up (nQKeyj, nKeyMax) ... (13) = nQKeyj (if nQKeyj≥0) = nKeyMax-nQKeyj (if nQKeyj <0) Here, j indicates an index of quantized key data of the difference data, nQKeyj represents an integer array, and nKeyMax represents the maximum differential data.

当已经通过DND操作的差分数据和已经通过上移位操作的差分数据被输入时,在步骤S3900第二差分数据选择器258比较第一分散度和第二分散度。 When the operation has been through DND differential data and has been through the shift operation differential data is input, in step S3900 second differential data selector 258 compares the first dispersion and the second dispersion. 如果第二分散度小于第一分散度,第二差分数据选择器258输出已经通过上移位操作的差分数据给该熵编码器260,并且允许它们在步骤S3910被熵编码。 If the second dispersion dispersity smaller than the first and second differential data selector 258 output is already on the shift operation by the differential data to the entropy encoder 260 and allows them to be entropy coded in step S3910. 第二差分数据选择器258输出用于DND操作的最大和最小值,用于上移位操作的最大值nKeyMax给该关键字头编码器270,并且允许将它们包括在该关键字头中。 The maximum and minimum second differential data selector 258 outputs DND operations for the shift operation to the maximum nKeyMax keyword head encoder 270 and allows them to be included in the key header.

然而,如果第一分散度小于第二分散度,第二差分数据选择器258输出已经通过DND操作的差分数据给该熵编码器260,并且允许它们在步骤S3920被熵编码。 However, if the first dispersion less than the second dispersion, a second differential data selector 258 outputs the differential data has passed DND operation to the entropy encoder 260 and allows them to be entropy coded in step S3920. 然后,第二差分数据选择器258仅输出用于DND操作的最大和最小值nKeyMax和nKeyMin给该关键字头编码器270。 Then, a second differential data selector 258 outputs only the maximum and minimum values for nKeyMax and nKeyMin DND operations to the keywords in the encoder 270. 在本发明的一最佳实施例中,标准偏差可以用作第一和第二分散度的度量。 In a preferred embodiment of the present invention, the standard deviation may be used as the first and second dispersion measure.

熵编码器260对根据差分数据的特征的差分数据执行两个不同函数。 The entropy encoder 260 pairs perform two different functions characteristic difference data based on difference data. 例如,已经通过DPCM操作的差分数据和已经通过兼备正和负的值的分开操作的差分数据,因此执行编码每个差分数据的符号以及差分数据自身的过程是必要的。 For example, it has been operated by the DPCM and differential data have been through both positive and negative values of the difference data operated separately, so the differential encoding is performed for each data symbol, and the difference data is necessary for the process itself. 另一方面,因为已经通过折叠操作的差分数据仅具有正值,因此执行仅编码差分数据的过程。 On the other hand, as it has been through the folding operation of the differential data having positive values only, and therefore the execution of only the encoded difference data.

在本发明的一最佳实施例中,函数encodeSignedAAC用于编码该差分数据和它们的符号,而函数encodeUnsignedAAC用于仅仅编码差分数据。 In a preferred embodiment of the present invention, a function encodeSignedAAC for encoding the differential data and their symbols, and the function encodeUnsignedAAC for only the encoded difference data.

图8是函数encodeSignedAAC例子的一图表。 Figure 8 is a graph of an example of a function encodeSignedAAC. 参考图8,当输入值是74并且用于编码该输入值的比特数是8时,它的符号是0,与二进制数1001010相同。 Referring to Figure 8, when the input value is 74 and the number of bits used to encode the input value is 8:00, its sign is 0, and the same binary number 1001010. 符号和全部位平面用下列方式编码: Symbols and all bit-plane coded the following way:

第一步:二进制数按照从它的最高有效位(MSB)到它的最低位(LSB)的次序在每个位平面上编码;第二步:检测当前被编码的比特是否是0;第三步:如果当前被编码的比特不是0,该二进制数的符号接下来被编码;第四步:二进制数的剩余比特被编码。 The first step: a binary number in order from its most significant bit (MSB) to its lowest order bit (LSB) is encoded on each bit plane; the second step: to detect whether the currently coded bit is 0; third Step: If the bit currently being encoded is not 0, the sign of the binary number is encoded next; fourth step: the remaining bits of the binary number are encoded.

函数encodeUnsignedAAC利用关于该值的范围编码不具有符号的值作为一自适应的算术编码比特流。 EncodeUnsignedAAC use range encoding function on the value does not have value as a symbol of the adaptive arithmetic coding bitstream. 该函数与函数encodeSignedAAC除了存在一符号范围几乎相同。 This function is in addition to the existence of a symbolic function encodeSignedAAC almost the same range.

图9A到9J是显示按照本发明的一最佳实施例已经经受操作的关键字数据的图表。 9A to 9J are diagrams according to a preferred embodiment of the present invention have been subjected to the operation key display data. 在图9A到9J中,X轴表示每个关键字数据的索引,Y轴表示关键字数据的值。 In FIGS. 9A to 9J, X is-axis represents the index data for each keyword, Y axis represents the value of key data.

图9A是一显示输入到本发明的编码器中的原始的关键字数据的图表。 Figure 9A is a graph displaying the input key data to the original encoder of the present invention. 图9A中所示的关键字数据输出到量化器210,然后利用9量化比特量化以便获得图9B中所示的量化的关键字数据。 Key data shown in Fig. 9A is output to the quantizer 210, and then use the 9-bit quantization to obtain quantized FIG quantized key data shown in 9B. 如果DPCM在图9B中所示的量化的关键字数据上执行,则获得图9C中所示的差分数据。 If DPCM performed on the quantized key data shown in 9B, the differential data is obtained as shown in FIG. 9C.

接下来,量化的关键字数据的差分数据利用一大约7的模值移位,以便获得图9D中所示的差分数据。 Next, the differential data of the quantized key value data using a die shift of about 7, so as to obtain the differential data shown in FIG. 9D. 此后,如果在移位的差分数据上执行一折叠操作,可以获得如图9E中所示的仅仅具有正值的数据。 After that, if you perform a folding operation on the shift differential data can be obtained as shown in Fig. 9E having only positive data.

对图9E中所示的折叠数据执行DND操作的结果示出在图9F到9H中。 The results of the implementation of DND operations on the data shown in Fig. 9E folding shown in FIG. 9F to 9H in. 具体地说,对折叠数据执行一分开操作的结果在图9F中所示。 Specifically, the result of performing a separate operation to fold the data shown in Fig. 9F. 如图9F中所示,正关键字数据值从0到28变动,负关键字数据值从-29到0变动,其中负关键字数据值的范围大于正关键字数据值的范围。 As shown in Figure 9F, positive key data values change from 0 to 28, the negative key data values change from 0 to -29, the range in which the negative key data values is greater than the range of positive key data values. 相应地,用于要求在图9F中所示的数据上执行一上分操作,并且该上分操作的结果在图9G中所示。 Accordingly, the requirements for the implementation of an operation on the data points shown in FIG. 9F, and the results of the sub-operation shown in Fig. 9G.

作为上分操作的结果,负关键字数据值的范围显著地缩小以致它远小于正关键字数据值的范围。 As a result of the sub-operation, the negative key data values range is significantly narrowed so that it is much smaller than the range of positive key data values. 在随后的DND操作的周期中,在上分操作的结果上执行下分操作。 In a subsequent operation cycle DND, on the results of operations to be performed on the points under the sub-operation. 图9H是显示对图9G中所示的差分数据执行下分操作的结果的图表。 Figure 9H is a graph showing the results of the partial operation of the lower differential data shown in Fig. 9G execution. 对图9H中所示的关键字数据执行上移位操作的结果示出在图9I中。 The result of the shift operation performed on key data shown in Figure 9H is shown in FIG. 9I in.

如图9A到9G中所示,关键字数据和差分数据的范围逐渐地减小。 As shown in FIG. 9A to 9G, the range of key data and differential data gradually decreases. 然而,如图9H和9I中所示,差分数据的范围在上移位操作之后和以前相比显著的增加,表明该差分数据已经通过图9H中所示的下分操作是如图9J中所示最后编码的数据。 However, as shown in FIG. 9H and 9I range differential data after the shift operation, and a significant increase compared to the previous, indicating that the differential data has passed under the sub-operating diagram as shown in FIG. 9H is 9J as It illustrates the final coded data.

在关键字头编码器270中编码的信息和保存在关键字头的信息将要在下文中描述。 Will be described below in keywords first encoder 270 encodes the information and the information stored in the key head.

当输入要编码的关键字数据时,关键字头编码器270编码关键字数据的数位和被编码的键数目。 When the input key data to be encoded, digital and number keys are coded key head encoder 270 encoded key data. 接下来,关键字头编码器270接收有关是否存在在线性关键字数据区域上的信息,该信息已经通过在输入的关键字数据中线性关键字编码,接收在线性关键字数据区域中来自线性关键字编码器200的关键字数据的数目,以及接收已经通过来自浮点数换算器205的浮点数换算的线性关键字数据区域的首尾关键字数据。 Next, the key first encoder 270 receives information concerning the existence of a linear key data region, which information has been encoded by the linear keyword in the keyword input data, the receiving line of the key data from the linear key region The number of key data encoder 200 words, as well as key data received from beginning to end has been converted from a float floating-point conversion pass 205 linear key data region.

在浮点数换算器205接收可以导致最小值量化误差的最大和最小值并且转换它们成为浮点数的情况下,转换的最大和最小值从浮点数换算器205输入到关键字头编码器270中,以便它们能被再次使用于反向量化。 In the floating-point number converter 205 receives the maximum and minimum values can lead to the minimum quantization error and convert them to the maximum and minimum values from the floating-point converter 205 is input to the encoder 270 keywords in the case of floating-point conversion, and so that they can be used again in the inverse quantization. 另外,量化比特的长度也输入关键字头编码器270,并且被包括在该关键字头中。 Further, the quantization bit length header encoder 270 inputs a keyword, and the keyword is included in the header.

关键字头编码器270接收DPCM的阶以及来自DPCM处理器220的DPCM每个周期中的内部关键字数据,并且接收已经用于来自移位器230的移位操作的一模值。 Keyword header encoder 270 receives the order of DPCM DPCM from the DPCM processor 220 and each cycle internal key data, and has been used to receive a value from the shift module 230 of the shift operation. 另外,关键字头编码器270从DND处理器250得到的关于上移位操作是否已经执行的信息,通过DND的阶差分数据的分散度可以被最小化,并且最大和最小化在DND操作的每个周期中的值。 In addition, the first key 270 obtained from the encoder DND processor 250 information on whether or not the shift operation has been performed on, dispersion by DND-order differential data can be minimized, and the maximum and minimum of DND operation in each a cycle value.

最后,关键字头编码器270从熵编码器260接收用于编码的比特数,并且作为一关键字头编码它。 Finally, the key first encoder 270 entropy coder 260 receives from the number of bits for encoding, and as a key header encoding it.

按照本发明的最佳实施例,关键字数据编码器的一例子已经在上面描述了。 According to a preferred embodiment of the present invention, a key data encoder in the examples have been described above. 很明显,对于本领域的普通技术人员,本发明可以概括在不同方式中。 It is obvious to one of ordinary skill in the art, the present invention can be summarized in different ways. 在下文中,按照本发明的其它最佳实施例的能够增加编码关键字数据效率的关键字数据编码器的其它例子将要参考图2C到2G更充分地描述。 Hereinafter, preferred embodiments according to the other embodiment of the present invention can be increased further examples of key data encoder encoding key data efficiency will be more fully described with reference to FIG. 2C to 2G. 在图2A到2G中,相同标号数字表示相同元件。 In Figures 2A to 2G, the same reference numerals denote the same element numbers.

参考图2C,按照本发明的另一最佳实施例的关键字数据编码器包含一量化器210、一DPCM处理器220、一移位器230、一折叠处理器240、一DND处理器250以及一熵编码器260。 With reference to Figure 2C, according to another preferred embodiment of the present invention, the key data encoder comprises a quantizer 210, a DPCM processor 220, a shifter 230, a folding processor 240, a DND processor 250, and an entropy encoder 260.

输入到关键字数据编码器中的关键字数据首先输入到量化器210中,然后量化成预定的量化比特。 Key data is input to the encoder first key data input to the quantizer 210 and quantized into a predetermined quantization bits. 量化的关键字数据输入到DPCM处理器220中。 Quantized key data is input to the DPCM processor 220. 然后,DPCM处理器220执行关于量化的关键字数据的DPCM操作,并且输出DPCM操作的结果即差分数据到该移位器230。 Then, DPCM processor 220 performs DPCM operation on quantized key data, and outputs the result of operation, i.e. DPCM difference data to the shifter 230. 移位器230获得一具有差分数据中最高频率的差分数据(一模)并且执行从每个差分数据中减去该模的移位操作。 Shifter 230 to obtain a difference data in the difference data having the highest frequency (a mold) and performs the mold minus differential data from each shift operation. 接下来,移位器230输出移位操作的结果到该折叠处理器240。 Next, the result shifter 230 outputs the shift operation to the folding processor 240. 该折叠处理器240转换从移位器230输入的差分数据到正或者负数区域中,并且输出该转换的结果到DND处理器250。 The folding processor 240 converts the differential data input from the shifter 230 to the positive or negative region, and outputs the result of the conversion to the DND processor 250. DND处理器250对从折叠处理器240输入的差分数据执行DND操作。 DND DND processor 250 to perform operations on the differential data input from the folding processor 240. 接下来,DND处理器250从已经通过移位操作的差分数据、已经通过折叠操作的差分数据和已经通过DND操作的差分数据中选出可以最小化用于编码的比特数的差分数据,并且输出所选择的差分数据到熵编码器260,以便关键字数据可以是编码。 Next, DND processor 250 has passed the differential data from the shift operation, the differential data has been through the folding operation and has been operated by DND difference data selected differential data can minimize the number of bits used to encode and output The selected differential data to the entropy encoder 260, so that the key data may be encoded. 这里,DND处理器250不必对已经通过DND操作的差分数据执行上移位操作,并且该关键字数据编码器显示一比传统的关键字数据编码器高得多的编码效率。 Here, DND processor 250 does not have to have been through the DND operation on differential data shift operation executed, and the display of a key data encoder than conventional key data encoder higher coding efficiency.

参考图2D,按照本发明另一最佳实施例的关键字数据编码器包含一量化器210、一DPCM处理器220、一移位器230、一折叠处理器240、一DND处理器250以及一熵编码器260。 With reference to FIG. 2D, according to another preferred embodiment of the present invention, the key data encoder comprises a quantizer 210, a DPCM processor 220, a shifter 230, a folding processor 240, a processor 250 and a DND entropy encoder 260.

关键字数据首先输入到量化器210中,并利用预定的量化比特量化。 Keyword data is first input to the quantizer 210, and using a predetermined quantization bit quantization. 量化的关键字数据输入到DPCM处理器220中。 Quantized key data is input to the DPCM processor 220. 然后,DPCM处理器220对量化的关键字数据执行一DPCM操作,并且输出DPCM操作的结果即差分数据到该移位器230。 The results then, DPCM processor 220 on the quantized key data performs a DPCM operation, and outputs DPCM operation that is the differential data to the shifter 230. 移位器230获得一差分数据中具有最高频率的差分数据(一模)并且执行从每个差分数据中减去该模的移位操作。 Shifter 230 to obtain a difference data in the difference data having the highest frequency (a mold) and performs the mode is subtracted from each of the differential data shift operation. 接下来,移位器230输出移位操作的结果到DND处理器250。 Next, the result shifter 230 outputs the shift operation to DND processor 250. DND处理器250在从移位器230输入的移位的差分数据上执行DND操作。 DND DND processor 250 to perform operations on the shift differential data input from the shifter 230. 接下来,DND处理器250算出在已经通过移位操作的差分数据和已经通过DND操作的差分数据之间编码需要的少量比特数的差分数据。 Next, DND processor 250 has been calculated by the shift operation between the differential data and has been operated by DND difference differential data encoding requires a few bits of data. 如果已经通过DND操作的差分数据变为具有编码需要的小数量,DND处理器250在其上执行上移位操作。 If you have a small number operated by DND differential data encoding needs have changed, DND processor 250 shift operations on which to perform. 接下来,DND处理器250从已经通过上移位操作的差分数据和已经通过DND操作的差分数据中选出来具有编码需要的小数量比特的差分数据。 Next, DND processor 250 has the shift operation by the differential data and has been operated by DND differential data from selected out with a small number of bits needed to encode differential data. 则DND处理器250输出所选择的差分数据到该熵编码器260。 DND 250 then outputs the selected differential data processor to the entropy encoder 260. 熵编码器在从DND处理器250输入的差分数据上执行熵编码,由此产生一比特流。 Entropy encoder performs entropy coding on the differential data input from the DND processor 250, thereby generating a bitstream. 在当前实施例中的关键字数据编码器显示比传统的关键字数据编码器更高的编码效率即使它不执行一折叠操作。 In this embodiment, the key data encoder is higher than the conventional display key data encoder encoding efficiency even if it does not perform a folding operation.

参考图2E,当关键字数据的差分数据输入时,按照本发明另一最佳实施例的关键字数据编码器编码差分数据并且输出它们。 With reference to FIG. 2E, when the differential data input key data, in accordance with the present invention, another key data encoder encodes a preferred embodiment of the differential data and outputs them.

关键字数据编码器包含一移位器230、一折叠处理器240、一DND处理器250、以及一熵编码器260。 Key data encoder comprises a shifter 230, a folding processor 240, a DND processor 250, and an entropy encoder 260.

具有输入的差分数据中最高频率的差分数据从移位器230中的输入的差分数据中减去,并且减的结果输出到折叠处理器240。 Differential data having the highest differential data input frequency is subtracted from the differential data shifter 230 inputs, and outputs the result of subtraction to folding processor 240. 折叠处理器240转换从折叠处理器240输出的差分数据成为正数或者负数区域并且输出转换的结果到DND处理器250。 Folding processor 240 converts the differential data output from the folding processor 240 becomes positive or negative area and outputs the result of the conversion to the DND processor 250. DND处理器250在从折叠处理器240输入的差分数据上执行DND操作,并且算出可以最小化在已经通过该移位操作的差分数据、已经通过折叠操作的差分数据和已经通过DND操作的差分数据中编码所需要的比特数的差分数据。 DND DND processor 250 to perform the operation on the differential data input from the folding processor 240, and calculates the difference data can be minimized by the shift operation has been folding operation and differential data has passed through the DND operation differential data encoding the desired number of bits of the difference data. 如果已经通过移位操作或者折叠操作的差分数据认为能够最小化编码所需要的比特数,DND处理器250输出它们到熵编码器260以便关键字数据可以被编码。 If the shift operation has been through the folding operation or the differential data that can minimize the number of bits required for encoding, DND processor 250 outputs them to the entropy encoder 260 so that the key data may be encoded. 另一方面,在已经通过DND操作的差分数据选择的情况下,DND处理器250对差分数据执行上移位操作。 On the other hand, in the case of differential data has been selected by DND operations, DND processor 250 differential shift operation performed on the data. 接下来,DND处理器250从已经通过DND操作和已经通过上移位操作的差分数据中选出来具有编码需要的小数量比特的差分数据。 Next, DND processor 250 from DND operations and has been adopted by the differential data shift operation has selected from the small number of bits needed to encode differential data. 接下来,所选择的差分数据输出到熵编码器260。 Next, the selected difference data is output to the entropy encoder 260. 熵编码器260编码DND操作250的输出,因此产生一比特流。 Entropy encoder 260 encodes DND operational output 250, thus generating a bit stream. 在当前实施例中的关键字数据编码器也显示一传统的关键字数据编码器更高的编码效率。 Examples of the key data encoder in this embodiment also shows a conventional higher key data encoder encoding efficiency.

图2F是按照本发明另一最佳实施例的关键字数据编码器的方框图。 Figure 2F is a block diagram of the present invention according to another key data encoder preferred embodiment. 参考图2F,关键字数据编码器包含DND操作器252、上移位操作器256、一差分数据选择器258b、和一熵编码器260。 With reference to Figure 2F, the key data encoder comprises DND operator 252, the shift operation device 256, a differential data selector 258b, and an entropy encoder 260.

DND操作器在输入其中的关键字数据的差分数据上执行上面描述的DND操作,并且输出DND的差分数据到上移位操作器256和差分数据选择器258b。 DND performs operations described above in which the differential data input key data of DND operation and the differential output data to the DND shift operation 256 and the differential data selector 258b. 上移位操作器256在从DND操作器252输入的差分数据上执行一上面描述的上移位操作,然后输出上移位操作的结果到该差分数据选择器258b。 256 in the shift operation performed on the differential data from DND operator 252 inputs the above description of a shift operation, and then outputs the result of the shift operation to the differential data selector 258b. 差分数据选择器258b比较编码从DND操作器252输入的DND的差分数据所需要的比特数和编码从上移位操作器256输入的差分数据所需要的比特数并且输出编码需要的小数量比特的差分数据到该熵编码器260以便使关键字数据比特流输出。 Differential data selector 258b from comparison encoded bits and encoding differential data DND DND operator 252 inputs the desired number of bits from the shift operation differential data 256 input and output required for encoding requires a small number of bits differential data to the entropy encoder 260 so that key data bit stream output. 在当前实施例中的关键字数据编码器也显示一比传统的关键字数据编码器更高的编码效率。 Examples of the key data encoder in this embodiment also shows a higher than conventional key data encoder encoding efficiency.

在图2G中,显示按照本发明另一最佳实施例的关键字数据编码器,通过确设置为输入的差分数据中的线性关键字数据区域增加编码关键字数据的效率。 In FIG. 2G, the display key data encoder according to another preferred embodiment of the present invention, by determining the difference data set as input linear key data region to increase the efficiency of encoding key data. 关键字数据编码器包含线性关键字编码器200、浮点数换算器205、量化器210、熵编码器280和关键字头编码器270。 Key data encoder comprises a linear key encoder 200, floating point converter 205, quantizer 210, entropy encoder 280 and a header encoder 270 keywords.

当关键字数据输入到图2G中所示的关键字数据编码器中时,线性关键字编码器200在输入的关键字数据中搜索关键字数据线性地增加的区域,即,线性关键字数据区域,并且输出线性关键字数据区域的该首尾关键字数据到浮点数换算器205。 When the key data input to the key data encoder shown in 2G, the search key data encoder 200 linear keyword in the input of key data linearly increase the region, namely, the linear key data region and the output of the linear key data region and last key data to floating point converter 205. 输入的关键字数据除线性关键字数据区域外输入到量化器210。 Key data input area in addition to the linear key data input to the quantizer 210. 输入到量化器210中的关键字数据利用预定的量化比特量化,并且输出到该熵编码器280。 Input to the quantizer 210 key data using a predetermined quantization bit quantization, and outputs to the entropy coder 280. 熵编码器280通过执行预定的操作在它们上编码从量化器210输入的量化的关键字数据,并由此作为比特流输出该操作的结果。 Entropy coder 280 by performing a predetermined operation in their coding quantized key data input from the quantizer 210, and thus as a bit stream output of this operation.

浮点数换算器205转换线性关键字数据区域的由二进制数表示的首尾关键字数据成为十进制并且输出转换的结果到该关键字头编码器270,以便它们可以被包括在该比特流中。 Floating-point number converter 205 converts the linear key data region and last key data from the binary representation of the decimal and the result output become converted to the keyword header encoder 270 so that they can be included in the bitstream. 在当前实施例中的关键字数据编码器可以进一步包含一量化误差最小化器215。 In this embodiment, the key data encoder may further comprise a quantization error minimizer 215.

利用关键字数据和关键字值数据编码动画数据的过程参考图10A和10B将要更充分地描述。 Use key data and key value data coding process with reference to FIG animation data and 10B will be described more fully 10A.

关键字值动画路径中,关键字值编码器搜索表示几乎与关键字值的动画路径相同的一组点,而在这样情况下可以缩小大量关键字值并且其余通过键选择标志表示。 Keyword Value animation path, the key value encoder also search for key values are almost the same as the animation path a set of points, and in this case can be reduced by a large number of key values and the remaining keys to select the flag represents. 例如,假定给定关键字值表示图10A中所示的一曲线并且选择四个点,键选择标志具有如图10B中所示的一些值。 For example, assume that a given key value represents a graph in FIG. 10A and selects four points, key to select flag has some value as shown in Figure 10B. 这样的键选择标志通过熵编码器260编码以便只有相应于键选择标志的关键字值数据被编码。 Such keys to select the symbol coding by the entropy encoder 260 so that only the corresponding button to select the logo of key value data to be encoded.

SDL程序代码的一例子和已经用于上述的编码过程的变量将要参考图14A到14E更充分地描述。 And an example of the above-mentioned variables have been used in the encoding process of the SDL code will be more fully described with reference to FIG. 14A to 14E.

类(class)关键字头的程序代码示出在图14A中。 Category (class) Keyword head of the program code shown in FIG. 14A. 首先描述用于程序代码的变量。 First, variables used to describe the program code.

关键字头数据是解码关键字数据所需要的信息单元。 Key information header data unit decoding key data is needed. 关键字头的主要信息包含关键字的数目、量化比特、内部关键字(intra key)数据、DND头和解码所需要的比特数。 The main message header contains the number of keywords keywords, quantization bits, the number of bits internal keyword (intra key) data, DND head and required for decoding. nKeyQBit表示用于反向量化的量化比特,用于恢复浮点数关键字值,nNumKeyCodingBit表示代表关键字数据数目的nNumberOfKey的比特量,而nKeyDigit表示原始关键字数据的有效数字的最大数,并且用于舍入所解码的值。 nKeyQBit represents quantization bits used in inverse quantization for recovering floating-point key values, nNumKeyCodingBit represents the number of bits of data representative of the amount of the keyword nNumberOfKey, and nKeyDigit represents the maximum number of significant digits of original key data, and for Rounding the decoded values. 在线性关键字数据区域上的信息包括在该关键字头中的情况下,标志blsLinearKeySubRegion设置为1,在这样情况下,包括在关键字的整个范围内部的预定子区域内的一些关键字可以利用跟随标志blsLinearKeySubRegion的解码的标题信息进行计算。 When the information on the linear key data region included in the key header, blsLinearKeySubRegion flag is set to 1, and in this case, includes a predetermined number of key sub-regions in the entire range of the internal keyword can be used within follow the signs blsLinearKeySubRegion decoded header information to calculate. BRangeFlag代表关键字数据的范围是否在0和1之间。 BRangeFlag range represents the key data is between 0 and 1. 如果关键字数据不在0到1之间,则从类KeyMinMax解码最小值和最大值。 If the key data is not between 0-1, from the class KeyMinMax decoding minimum and maximum. 最大和最小值中的每个可以被分成尾数和指数。 The maximum and minimum values for each can be divided into mantissa and exponent. nBitSize表示bQIntraKey的比特大小,nKeyShift表示nKeyMax原始的比特大小。 nBitSize represents bQIntraKey bit size, nKeyShift represents nKeyMax original bit size. nQIntraKey表示首先量化的内部数据的大小,与表示nQIntraKey符号的nQIntraKeySign联合,并被用作恢复其它量化的关键字数据的基础。 Size indicates the first quantized nQIntraKey internal data, and the symbol represents nQIntraKey nQIntraKeySign combined and used as the recovery of other quantized key data base. 在用于内插器压缩的符号比特之中,0表示正值,1表示负值。 In compressed for interpolating among the sign bit, 0 for positive, 1 negative. nKDPCMOrder与从DPCM的阶减去1的结果相同。 nKDPCMOrder and subtract 1 from the result of the same order of DPCM. DPCM的阶在1到3之间变动,并且与内部数据的数目相同。 Between 1-3 changes the order of DPCM, and the same number of internal data.

nkeyShift与符号位nKeyShiftSign一起是代表关键字数据解码器中的移位总量的整数。 nkeyShift nKeyShiftSign together with the sign bit is an integer of key data decoder representative of the total amount of the shift. 当bShiftFlag设置为1时,解码nKeyShift和nKeyShiftSign。 When bShiftFlag set to 1, the decoder nKeyShift and nKeyShiftSign. nDNDOrder是DND的阶。 nDNDOrder is the order of DND. DND将在随后按照本发明一最佳实施例的关键字数据解码器详细描述。 DND will be subsequently described in detail in accordance with the key data decoder according to a preferred embodiment of the invention. 如果nDNDOrder是7,则解码bNoDND。 If nDNDOrder 7, the decoding bNoDND. 布尔值nDNDOrder表示反向DND是否被执行的信息。 Boolean value indicates reverse DND nDNDOrder information is to be executed. nKeyMax和nKeyMin分别表示用在DND操作的相邻周期中的最大和最小值。 nKeyMax and nKeyMin represent the maximum and minimum values with adjacent cycle of DND operation. nKeyCodingBit是用于编码关键字数据的比特。 nKeyCodingBit key is used to encode the data bits. bSignedAACFlag显示该解码方法将要用于AAC解码。 bSignedAACFlag show the decoding method to be used for AAC decoding. If bSignedAACFlag是0,执行unsignedAAC解码,否则执行signedAAC解码。 If bSignedAACFlag is 0, execution unsignedAAC decoding, else signedAAC decoding. bKeylnvertDownFlag是表示nKeylnvertDown是否要使用的信息的布尔值。 bKeylnvertDownFlag is a Boolean value information nKeylnvertDown whether you want to use. nKeylnvertDown是一整数,并且基于该整数转换量化的关键字数据,以便量化的关键字数据变为不大于-1的自然(native)值。 nKeylnvertDown is an integer, and based on the integer conversion quantized key data in order to quantify the key data becomes no more than a natural-1 (native) values. 如果nKeylnvertDown是-1,则不执行下移位操作。 If nKeylnvertDown is -1, the next shift operation is not performed.

图14B是显示类LinearKey的程序代码的图表。 14B is a graph displaying the class LinearKey program code. 在图14B中,nNumLinearKeyCodingBit是表示编码预定数目的关键字所需要的比特数,其中预定数目的关键字可以线性预测。 In FIG. 14B, nNumLinearKeyCodingBit is the number of bits coding a predetermined number of keywords required, wherein the predetermined number of keywords can be linear prediction.

图14C是显示类KeySelectionFlag的程序代码的图表。 14C is a diagram shows the class KeySelectionFlag program code. 在图14C中,keyFlag是一布尔阵列,表示第i个关键字值是否已经解码的信息。 In FIG. 14C, keyFlag array is a Boolean that indicates whether the i-th key value already decoded information. nNumOfKeyValue是表示要解码的关键字值的数目的整数。 nNumOfKeyValue is a key to decode the number of integer values.

图14D是显示类KeyMinMax程序代码的图表。 14D is a graph displaying the class KeyMinMax code. 在图14D中,bMinKeyDigitSame表示在所有关键字中最高有效位的数目是否与这些关键字中的最大值的最高有效位数目相同。 In FIG. 14D, bMinKeyDigitSame indicates whether all of the keywords most significant bit of the number of most significant bits of these keywords in the maximum number of the same. nMinKeyDigit表示这些关键字中的最大值最高位比特的数目。 nMinKeyDigit represents the maximum number of these keywords in the most significant bit of. nMinKeyMantissaSign表示nMinKeyMantissa的符号。 nMinKeyMantissaSign represents nMinKeyMantissa symbols. NMinKeyMantissa表示这些关键字中的最小值的尾数。 NMinKeyMantissa represents the minimum value of these keywords mantissa.

nMinKeyExponentSign指的是nMinKeyExponent的符号。 nMinKeyExponentSign refers nMinKeyExponent symbols. nMinKeyExponent表示这些关键字中的最小值的指数。 nMinKeyExponent represents the minimum value of these keywords in the index.

fKeyMin表示这些关键字中的最小值。 fKeyMin represents the minimum value of these keywords. nMaxKeyDigitSame表示全部关键字的最高有效位的数目nKeyDigit是否与这些关键字中的最大值的最高有效位的数目相同。 nMaxKeyDigitSame indicates whether the most significant bit of number nKeyDigit all keywords and those keywords in the maximum number of the most significant bit of the same. nMaxKeyDigit表示这些关键字中的最大值的最高有效位数目。 nMaxKeyDigit representing the most significant bit of the maximum number of these keywords. nMaxKeyMantissaSign表示nMaxKeyMantissa的符号。 nMaxKeyMantissaSign represents nMaxKeyMantissa symbols. nMaxKeyMantissa表示这些关键字中的最大值的尾数。 nMaxKeyMantissa represents the maximum value in these keywords mantissa.

bSameExponent表示这些关键字中的最大值的指数是否与nMinKeyExponent相同。 bSameExponent indicate whether these keywords in the maximum index nMinKeyExponent same. nMaxKeyExponentSign表示nMaxKeyExponent的符号。 nMaxKeyExponentSign represents nMaxKeyExponent symbols. nMaxKeyExponent表示这些关键字中的最大值的指数。 nMaxKeyExponent index represents the maximum value of these keywords. fKeyMax表示这些关键字中的最大值。 fKeyMax represent these keywords maximum.

图14E是显示类Key程序代码的图表。 14E is a chart display type Key code. 在图14E中,nQKey表示从比特流解码的量化的关键字数据阵列。 In FIG. 14E, nQKey represents the bit stream decoding quantized key data array. KeyContext表示用于读出nQKey大小的某一范围。 KeyContext represents for reading out a range nQKey size. KeySignContext表示用于读出nQKey符号的一范围。 KeySignContext representation for a range Read nQKey symbol.

decodeUnsignedAAC是用于利用一给定范围执行无符号的解码的函数,将要在下文中更充分地描述,而decodeSignedAAC是一利用另一给定范围执行符号解码的函数,将在随后进行描述。 decodeUnsignedAAC for a given range by the function execution unsigned decoding, will be more fully described hereinafter, and decodeSignedAAC a given range with another perform symbol decoding functions will be described subsequently.

在下文中,将要参考图11和12描述按照本发明的一最佳实施例的、用于解码关键字数据的装置和方法。 In the following, the 11 and 12. According to a preferred embodiment of the invention, an apparatus and method for decoding key data to refer to FIG.

图11A是按照本发明的一最佳实施例的解码关键字数据的装置。 11A is a decoding key according to a preferred embodiment of the present invention, the data means. 用于解码关键字数据的该装置接收一编码的比特流,并且通过解码将其重建成关键字数据。 The apparatus for decoding a coded key data of the received bit stream, and its reconstruction by decoding the data as the keyword.

用于解码关键字数据的装置包括:关键字头解码器370和关键字数据解码器。 Means for decoding key data include: Keyword header decoder 370, and keyword data decoder. 该关键字数据解码器包含熵解码器360、反向DND处理器350、反向折叠处理器340、反向移位器330、反向DPCM处理器320、反向量化器310、线性关键字解码器300和浮点数逆换算器305。 The key data decoder comprises an entropy decoder 360, inverse DND processor 350, inverse folding processor 340, a reverse shifter 330, inverse DPCM processor 320, inverse quantizer 310, a linear key decoding 300 and the floating-point inverse converter 305.

图12是按照本发明的一最佳实施例的、用于解码关键字数据的方法的流程图。 FIG 12 is a flowchart of a method for decoding key data according to a preferred embodiment of the present invention. 参考图11A和12,由关键字数据压缩成的比特流被输入到关键字头解码器370和熵解码器360中。 Reference to FIGS. 11A and 12, is compressed by the key data into a bit stream is input into the keyword header decoder 370, and the entropy decoder 360.

在步骤S4000,关键字头解码器370解码解码每步所需要的信息单元,并且将他们提供到它们的相应的解码步骤。 In the information unit step S4000, the decoder 370 decodes the first key decoding needed at each step, and provide them to their respective decoding step. 由关键字头解码器370解码的信息将随每个解码步骤进行描述。 By the keyword header decoder 370 decodes the information will be described with each decoding step.

熵解码器360从关键字头解码器370接收解码的差分数据的数目和已经用于编码的比特数,即,用于解码的比特数,并且在步骤S4100,解码输入的比特流。 The entropy decoder 360 from 370 the number of keywords in the decoder decodes the received differential data have been used and the number of coded bits, namely, the number of bits used for decoding, and in step S4100, decodes the input bit stream. 差分数据的数目等于从关键字数据的数目减去通过执行DPCM获得的内部关键字数据的数目的结果。 The number of data is equal to minus differential internal key data by performing DPCM number of results obtained from the number of key data.

熵解码器360以包括在该比特流内预定的信息为基础确定被解码的差分数据是否具有负值或者正值,例如,在当前实施例中的bSignedAACFlag。 The entropy decoder 360 to be included in the bitstream is determined based on the predetermined information decoded difference data whether negative or positive, for example, in the current embodiment of bSignedAACFlag embodiment. 如果编码的差分数据具有负值,则熵解码器360利用函数decodeSignedAAC()解码它们。 If the encoded differential data having negative values, the entropy decoder 360 using the function decodeSignedAAC () to decode them. 另一方面,如果编码差分数据只具有正值,则熵解码器360利用函数decodeUnsignedAAC()解码它们。 On the other hand, if coded differential data only has a positive value, the entropy decoder 360 using the function decodeUnsignedAAC () to decode them. 此后,解码的差分数据被传输到反向DND处理器350。 Thereafter, the decoded differential data are transmitted to the inverse DND processor 350.

随后描述按照本发明的一最佳实施例的、用于实现这样的用于解码比特流的函数的程序代码的例子。 Subsequently described according to a preferred embodiment of the present invention, for example of the realization of such a function for decoding a bit stream of the program code.

反向DND处理器350从解码器370接收DND的阶和DND每个周期中的最大值nKeyMax。 Reverse DND processor 350 from the decoder 370 receives the order and DND DND each cycle maximum nKeyMax.

如果DND的阶是-1,这意味着被解码的编码差分数据已经通过DPCM操作而不是经历DND的移位操作进行了熵解码,并且该方法直接转移到执行反向移位操作的步骤上。 If the order of DND is -1, this means that the encoded differential data being decoded have been through a DPCM operation instead of the shift operation through DND entropy decoding performed, and the method step directly transferred to the reverse shift operation executed. 如果DND的阶是0,这意味着被解码的编码差分数据已经经历一折叠操作而不是经历DND进行了熵解码,因此该方法直接转移到执行反向折叠操作的步骤上。 If the order of DND is 0, this means that the encoded differential data being decoded have been through a folding operation instead of through DND entropy decoding performed, so that the method steps directly transferred to the reverse folding operation.

反向DND处理器350确定被解码的编码差分数据是否已经通过上移位操作在步骤S4170被编码。 Reverse DND processor 350 determines whether the decoding of encoded difference data has been through the shift operation is coded in step S4170. 在本发明的一最佳实施例中,通过检查包括在一比特流内的nKeylnvertDown是否大于0来确定被解码的编码差分数据是否已经经历上移位操作进行了编码。 In a preferred embodiment of the present invention, by checking including nKeylnvertDown in a bitstream is greater than 0 to determine whether the encoded differential data being decoded have been through a shift operation performed on the encoding.

如果解码的编码差分数据没有经过上移位操作,该方法转移到执行反向DND的步骤上。 If the decoding of encoded difference data without the shift operation, the process is transferred to the step of performing a reverse DND. 另一方面,如果被解码的编码差分数据已经过上移位操作,则在步骤S4200,将通过执行上移位操作从正数区域转移到一负数区域的差分数据移回到该负数区域。 On the other hand, if the encoded differential data being decoded have been a shift operation, in step S4200, by executing the shift operation is transferred from a positive number region to a negative region of the differential data is moved back to the negative number region. 在本发明的一最佳实施例中,已经过上移位操作的差分数据通过执行一下移位操作(向下倒置(invert-down)操作)进行恢复,该操作由下列等式表示。 In a preferred embodiment of the present invention, the difference has been the shift operation to recover the data by performing a bit shift operation (upside down (invert-down) operation), the operation represented by the following equation.

invert-down(v) …(14)=v (if v≤nKeyInvertDown)=nKeyInvertDown-v (if v>nKeyInvertDown)这里,nKeylnvertDown具有与用于上移位操作的最大值nKeyMax一样的值。 invert-down (v) ... (14) = v (if v≤nKeyInvertDown) = nKeyInvertDown-v (if v> nKeyInvertDown) here, nKeylnvertDown has a maximum nKeyMax for the shift operation of the same value. 作为下移位操作的结果,具有基于nKeylnvertDown的值的差分数据变为-1以下的负值。 As a result of the shift operation under, it has a value based on the differential data nKeylnvertDown becomes negative -1 or less.

根据DND的每个周期中的最大值有选择地对已经过下移位操作的差分数据执行反下分操作或者上分操作。 DND according to each cycle of the maximum under the selective implementation of the anti-minute differential data has been operating under the sub-shift operation or operations.

参考图13,反向DND处理器350执行与在编码期间已经过DND操作的差分数据同样多次的反向DND操作。 Referring to Figure 13, inverse DND processor 350 performs the DND operation has been differential encoding the same data multiple times during reverse DND operation. 换句话说,反向DND处理器350设置一等于DND的阶的反向DND的阶的初始值。 The initial value of the order of the words, inverse DND processor 350 is set equal to a reverse order of DND DND's. 接下来,每当反向DND处理器350执行一反向DND操作,反向DND处理器350就从反向DND的阶的初始值中减去1,并且反向DND处理器350保持执行反向DND操作直到反向DND的阶变成1。 Then, whenever reverse DND DND processor 350 performs a reverse operation, a reverse DND processor 350 is subtracted from the initial value of the reverse order of 1 DND, and the reverse DND processor 350 performs reverse maintained DND operation until the order becomes a reverse DND. 在步骤S4310,反向DND处理器350在DND每个周期中搜索nKeyMax并且检查每个nKeyMax是否不小于0。 In step S4310, inverse DND processor 350 in each cycle search nKeyMax DND and check every nKeyMax is not less than zero.

如果nKeyMax小于0,这意味着上分操作已经在编码过程中执行了,并由此在步骤S4320,反向DND处理器350通过执行一上分操作扩展被解码的差分数据的范围到负数区域。 If nKeyMax less than 0, which means that the operation has been performed on the points in the encoding process, and thus in step S4320, inverse DND processor 350 by performing an operation on the sub-range extension is decoded difference data to the negative zone. 在本发明的一最佳实施例中,可以使用由等式(15)定义的反上分操作。 In a preferred embodiment of the present invention may be used on anti-minute operation by equation (15) definition.

inverse-divide-up(v)...(15)]]>=v---(if v&GreaterEqual;0)]]>=(nKeyMaxi-1)-v-12---(if v&lt;0,vmod2&NotEqual;0)]]>=v2---(if v&lt;0,vmod2&NotEqual;0)]]>然而,如果nKeyMax不小于0,则反向DND处理器350检测反向DND的阶是否是1。 inverse-divide-up (v) ... (15)]]> = v --- (if v & GreaterEqual; 0)]]> = (nKeyMaxi-1) -v-12 --- (if v & lt; 0, vmod2 & NotEqual; 0)]]> = v2 --- (if v & lt; 0, vmod2 & NotEqual; 0)]]> However, if nKeyMax is not smaller than 0, the inverse DND processor 350 detects the reverse DND the order if it is 1. 如果反向DND的阶不是1,这意味着在编码过程中已经对被解码的差分数据执行了下分操作,并由此在步骤S4340,反向DND处理器350通过执行一反下分操作扩展差分数据的范围到一正数区域。 If the reverse order of DND is not, which means that in the encoding process has been performed on the differential data is decoded under the sub-operations, and thus in step S4340, inverse DND processor 350 by performing an anti-minute operation under extended The differential data into a positive zone.

inverse-divide-down(v)...(16)]]>=v---(if v&GreaterEqual;0)]]>=(nKeyMaxi+1)+v-12---(if v&lt;0,vmod2&NotEqual;0)]]>=v2---(if v&lt;0,vmod2=0)]]>如果nKeyMax不小于0,并且反向DND的阶是1,则在步骤S4350,反向DND处理器350在执行一反向分开操作之后结束整个反向DND操作。 inverse-divide-down (v) ... (16)]]> = v --- (if v & GreaterEqual; 0)]]> = (nKeyMaxi + 1) + v-12 --- (if v & lt; 0, vmod2 & NotEqual; 0)]]> = v2 --- (if v & lt; 0, vmod2 = 0)]]> If nKeyMax is not smaller than 0, and the order of inverse DND is 1, then in step S4350, inverse DND processor After you perform a reverse 350 separate operating end of the whole reverse DND operations. 在本发明的一最佳实施例中,可以使用根据方程式(17)定义的反向分开操作。 In a preferred embodiment of the present invention may be used to separate the operation according to equation (17) defined by the reverse.

inverse-divide(v) …(17)=v (if v≥0)=v+(nKeyMax0+1) (if v<0)已经过反向DND操作的关键字数据的差分数据输入到反向折叠处理器340中,并且在步骤S4400,反向折叠处理器340对差分数据执行一反向折叠操作,以便曾经是仅用在正数区域中的差分数据被分成正值和负值。 differential data input inverse-divide (v) ... (17) = v (if v≥0) = v + (nKeyMax0 + 1) (if v <0) has been reverse DND operation to the inverse folding key data processing 340, and in step S4400, inverse folding processor 340 performs a differential data inverse folding operation, so only once in the positive differential data area is divided into positive and negative values. 在本发明的一最佳实施例中,可以使用根据方程式(18)定义的一反向折叠操作。 In a preferred embodiment of the present invention may be used in accordance with equation (18) defined by an inverse folding operation.

inverse-fold(v)=(v+1)2---(if vmod2&NotEqual;0)...(18)]]>=v2---(if vmod2=0)]]>=0---(if v=0)]]>已经过反向折叠操作的差分数据输出到该反向移位器330,该反向移位器330添加一已经被用于编码过程并且从关键字头解码器370输入的模nKeyShift到该从反向折叠处理器340输入的差分数据,在步骤S4500。 inverse-fold (v) = (v + 1) 2 --- (if vmod2 & NotEqual; 0) ... (18)]]> = v2 --- (if vmod2 = 0)]]> = 0 --- (if v = 0)]]> has been the reverse folding operation differential data output to the reverse shifter 330, the reverse shifter 330 adds a process has been used for encoding and header decoder keywords 370 to the differential input mode nKeyShift data input from the inverse folding processor 340, at step S4500. 这操作通过下列等式表示。 This action represents by the following equation.

inverse-shift(v)=v+nKeyShift …(19)在步骤S4600,反向DPCM处理器320利用从关键字头编码器370输入的DPCM的阶,恢复从反向移位器330输入的差分数据成为量化的关键字数据。 inverse-shift (v) = v + nKeyShift ... (19) at step S4600, the reverse DPCM DPCM processor 320 use the order from the first encoder 370 input keywords restore the difference data from the reverse shifter 330 inputs become quantized key data. 反向移位器330执行与下列方程式(20)DPCM的阶同样多次的反向DPCM操作。 Reverse shifter 330 performs the following equation (20) DPCM reverse order of the same multiple DPCM operation.

v(i+1)=v(i)+delta(i) …(20)这里,i表示差分数据和关键字数据的索引,v表示整数阵列,delta(i)表示差分数据。 v (i + 1) = v (i) + delta (i) ... (20) Here, i indicates an index of differential data and key data, v represents an integer array, delta (i) indicates differential data.

已经过反向DPCM操作的量化的关键字数据输入到反向量化器310中。 Inverse DPCM operation has been quantized key data is input to the inverse quantizer 310. 然后,反向量化器310从关键字头解码器370接收关于量化比特的大小nKeyQBit和用于反向量化的最大和最小值是否通过浮点数换算器205编码的信息,并且在步骤S4700,利用下列等式转换量化的关键字数据成为反向地量化的关键字数据。 Then, quantizer 310 inverse quantizer 370 receives information about the size of bits from the key head nKeyQBit decoder and by whether the maximum and minimum values for the floating-point converter 205 inversely quantized encoded information, and in step S4700, using the following Equation conversion quantized key data becomes inversely quantized key data.

inverse-quantize(v)=fKeyMin+v2nKeyQBit-1&times;(fKeyMax-fKeyMin)...(21)]]>如果用于量化的最大和最小值在编码关键字数据过程中没有通过浮点数换算器205转换,则等式(21)中所示的fKeyMin和fKeyMax分别设置为0和1。 inverse-quantize (v) = fKeyMin + v2nKeyQBit-1 & times; (fKeyMax-fKeyMin) ... (21)]]> If the maximum and minimum values used for quantization of key data in the encoding process by the floating-point number converter 205 without conversion, the equation fKeyMin and fKeyMax (21) shown are set to 0 and 1. 然而,如果用于量化的最大和最小值已经通过浮点数换算器205转换,则通过该浮点数逆换算器305反向地转换的最大和最小值分别被用作反向量化的最大和最小值。 However, if the maximum and minimum values for quantization has been converted by the floating-point number converter 205, is being used as the maximum and minimum values are inverse quantization by the maximum and minimum values of the inverse converter 305 floating-point conversion in reverse .

随后描述实现针对反向量化的反向DND操作的程序代码的例子。 Then describe the implementation examples for inverse quantization of inverse DND operation code.

从反向量化器310输出的解码的关键字数据被添加到在线性关键字解码器300中解码的关键字数据,因此构造解码的关键字数据。 Added decoded inverse quantizer 310 key data output from the linear key decoder 300 decodes the key data, thus decoded key data structure.

在下文中,将描述一线性关键字译码过程。 Hereinafter will be described a linear key decoding process.

关键字头解码器370从一比特流解码关键字头信息。 Keyword header decoder 370 decodes the bit stream from a keyword head. 如果线性关键字数据区域上的信息存在于该比特流中,则关键字头解码器370输出解码线性关键字数据区域的首尾关键字所需要的信息到浮点数换算器305,并且输出作为线性关键字编码的关键字数目到该线性关键字解码器300。 If the information on the linear key data region is present in the bit stream, the head and tail keyword Keyword header decoder 370 outputs the decoded linear key data region needed to float converter 305, and output as a linear key The number of key words coded to the linear key decoder 300.

浮点数逆换算器305反向地转换通过十进制数表示的线性关键字数据区域的首尾关键字成为二进制数,并且输出二进制数到线性关键字解码器300。 Float inverse converter 305 converts the reverse head and tail keyword linear key data region by a decimal number becomes a binary number, and outputs the binary number to the linear key decoder 300.

假定两个被解码的浮点数被认为是fKeyMin和fKeyMax,则解码fKeyMin的过程如下。 Assume two decoded float is considered fKeyMin and fKeyMax, the decoding process is as follows fKeyMin.

关键字头解码器370从比特流读出fKeyMin数位。 Keyword header decoder 370 reads fKeyMin digital bit stream. 如果fKeyMin的数位是0,fKeyMin设置0,并且为了解码fKeyMax,从该比特流的数位中读出fKeyMax。 If fKeyMin digit is 0, fKeyMin set to 0, and in order to decode fKeyMax, fKeyMax read out from the digital bitstream. 如果fKeyMax的数位(digit number)不小于8,这意味着fKeyMax已经按照IEEE标准754编码。 If fKeyMax digit (digit number) is not less than 8, which means fKeyMax has 754 coded according to IEEE standard. 因此,浮点数fKeyMax在它的32比特读出之后被解码。 Therefore, floating point fKeyMax after its 32-bit readout is decoded.

然而,如果fKeyMax数位在1和7之间,则关键字头解码器370从该比特流读出一符号位。 However, if fKeyMax digit between 1 and 7, the keyword header decoder 370 reads out the bit stream from a sign bit. 在本发明的一最佳实施例中,如果该符号位是1,则将MinKeyMantissaSign设置为-1。 In a preferred embodiment of the present invention, if the sign bit is 1, then MinKeyMantissaSign set to -1. 另一方面,如果该符号位是0,则将MinKeyMantissaSign设置为1。 On the other hand, if the sign bit is 0, the MinKeyMantissaSign set to 1. 此后,解码所需要的比特数参考图表1获得,图表1显示尾数的数位和编码所需要的比特数之间的关系。 Since then, the number of bits required for decoding reference Figure 1 to get, Table 1 shows the relationship between the number of bits mantissa digits and the coding needed between. 接下来,与编码所需要的比特数同样多的比特流的比特被读出,并且保存在nMinKeyMantissa中。 Next, the number of bits required to encode the same number of bits of the bit stream is read and stored in the nMinKeyMantissa. 然后,比特流的下一位被读出,并且以与尾数的符号保存在MinKeyMantissaSign中同样的方式,将其保存在MinKeyExponentSign。 Then, the next one bit stream is read out, and as the symbol of the mantissa is stored in MinKeyMantissaSign in the same manner, save in MinKeyExponentSign. 相应于指数值的该比特流的随后6比特被读出,并且保存在nMinKeyExponent中。 Then 6 bits are read out corresponding to the index value of the bit stream and stored in nMinKeyExponent in.

浮点数逆换算器305通过替代从关键字头解码器370输入的值成为等式(22)来恢复fKeyMax。 Float inverse converter 305 from the value of the equation by substituting become key header decoder 370 inputs (22) to restore fKeyMax.

fKeyMin=MinKeyMantissaSign*nMinKeyMantissa10MinKeyExponentSign*nMinKeyExponent...(22)]]>恢复fKeyMax的过程与恢复fKeyMin的过程相同。 fKeyMin = MinKeyMantissaSign * nMinKeyMantissa10MinKeyExponentSign * nMinKeyExponent ... (22)]]> recovery fKeyMax the process and the process of recovery fKeyMin same. 具体地说,在从该比特流读出fKeyMax的指数以前,它确定是否与fKeyMin的指数一样的值被用作fKeyMax的指数。 Specifically, in the read index fKeyMax from the bitstream before, it is determined whether fKeyMin index value is used as an index fKeyMax. 如果没有将与fKeyMin的指数一样的值用作fKeyMin的指数,则以从比特流读出的fKeyMin的指数同样的方法,从该比特流读出fKeyMax的指数。 If you do not like and fKeyMin index values as fKeyMin index, places fKeyMin flow index read out the same way from the bit, read out fKeyMax index from the bitstream.

线性关键字解码器300从浮点数逆换算器305接收线性关键字数据区域的首尾关键字,并且按照下列方程式(23)解码线性关键字数据区域。 Linear key decoder 300 receives first and last key area of key data from the linear inverse floating-point number converter 305, and (23) decodes the linear key data region according to the following equation.

Keyi=fKeyMin+(fKeyMax-fKeyMin)*i(nNumberOfLinearKey-1)...(23)]]>(i=0,&CenterDot;&CenterDot;&CenterDot;,nNumberOfLinearKey-1)]]>这里,fKeyMin和fKeyMax分别表示线性关键字数据区域的该首尾关键字数据。 Keyi = fKeyMin + (fKeyMax-fKeyMin) * i (nNumberOfLinearKey-1) ... (23)]]> (i = 0, & CenterDot; & CenterDot; & CenterDot;, nNumberOfLinearKey-1)]]> here, fKeyMin and fKeyMax respectively The head and tail keyword data linear key data region.

使用上述的方法,将在线性关键字数据区域中解码的关键字数据添加到从反向量化器310输出的关键字数据上,然后将添加后的结果作为最终的关键字数据输出。 Using the above method, add the line of key data region decoded key data to key data output from the inverse quantization unit 310, and then add the results after the key data as the final output.

已经在上面描述了按照本发明一最佳实施例的、用于解码关键字数据的装置的一例子。 It has been described above in accordance with an example of a preferred embodiment of the present invention, an apparatus for decoding key data for. 很明显,对于本领域的普通技术人员来说,本发明可以以不同方式实现。 It is obvious to one of ordinary skill in the art, the present invention can be implemented in different ways. 在下文中,将参考图11B到11E描述用于解码关键字数据本装置的不同实施例。 Hereinafter, will be described with reference to FIG. 11B to 11E for decoding key data different embodiments of the present apparatus. 图11A到11E中相同标号数字表示相同元件。 11A to 11E are figures the same reference numerals denote the same elements.

参考图11B,用于按照本发明另一最佳实施例的、解码关键字数据的装置包括:熵解码器360、反向DND操作器352、反向折叠处理器340、反向移位器330、反向DPCM处理器320和反向量化器310。 With reference to FIG. 11B, according to another for the present invention, the apparatus for decoding key data in the preferred embodiment comprises: an entropy decoder 360, inverse DND operator 352, inverse folding processor 340, a reverse shifter 330 , inverse DPCM processor 320 and inverse quantizer 310.

当由关键字数据编码成的比特流输入到用于解码关键字数据的装置中时,熵解码器360熵解码输入的比特流,并且输出熵解码的结果,即,解码的差分数据到反向DND操作器352。 When the key data is encoded into a bit stream is input to the means for decoding the key data of the time, the entropy decoder 360 entropy decodes the input bit stream, and outputs the entropy decoded result, namely, the decoded differential data to reverse DND operator 352. 反向DND操作器352确定输入的差分数据是否已经过基于关于该输入的差分数据的DND的阶的DND操作。 Reverse DND operator 352 determines whether the differential data input operation has been order DND DND based on the input differential data of. 如果差分数据已经过DND操作,则反向DND操作器352对差分数据执行一反向DND操作,并且输出反向DND操作的结果。 If the differential data has been DND operation, the reverse DND operator 352 pairs of differential data to perform an inverse DND operation, and outputs the result DND reverse operation. 如果差分数据没有经过DND操作,则反向DND操作器352将其分流。 If the differential data without DND operation, the DND operator 352 will reverse its diversion.

反向折叠处理器340检测从反向DND操作器352输入的差分数据是否已经经过了使用DND的阶的折叠操作,如果该差分数据已经过折叠操作,则对差分数据执行一反向折叠操作。 Inverse folding processor 340 detects the differential data input reverse DND operator 352 has elapsed from the use of DND folding operation order, if the differential data has been folding operation is performed on the differential data an inverse folding operation. 如果该差分数据没有经过折叠操作,则该反向DND操作器352将它们分流到该反向移位器330。 If the differential data without folding operation, the inverse DND operator 352 will be diverted them to the reverse shifter 330.

反向移位器330对从反向折叠处理器340输入的差分数据执行一反向移位操作,并且输出反向移位操作的结果到反向DPCM处理器320。 330 on the implementation of the reverse shift a reverse shift operation differential data inverse folding processor 340 input from the reverse shift operation and output the results to the inverse DPCM processor 320. 反向DPCM处理器320转换从反向移位器330输入的差分数据到量化的关键字数据中,并且输出量化的关键字数据到反向量化器310。 Reverse DPCM processor 320 converts the differential data input reverse shifter 330 from the quantized key data, and outputs quantized key data to inverse quantizer 310. 反向量化器310反向地量化所量化的关键字数据并且输出所解码的关键字数据。 Inverse quantizer 310 inversely quantizing the quantized key data and outputs the decoded key data.

参考图11C,按照本发明另一最佳实施例的、用于解码关键字数据的装置包括:熵解码器360、反向DND处理器350、反向移位器330、反向DPCM处理器320和反向量化器310。 It means with reference to FIG. 11C, according to another preferred embodiment of the present invention, for decoding key data comprising: an entropy decoder 360, inverse DND processor 350, a reverse shifter 330, inverse DPCM processor 320 and inverse quantizer 310.

当由关键字数据编码而成的比特流输入到用于解码关键字数据的装置中时,熵解码器360熵解码输入的比特流,并且输出所解码的差分数据到反向DND处理器350。 When coding the key data from the bit stream is input to the means for decoding the key data of the time, the entropy decoder 360 entropy decodes the input bit stream, and outputs the decoded differential data to reverse DND processor 350. 反向DND处理器350检测从熵解码器360输入的差分数据在编码关键字数据的过程中是否已经过上移位操作。 Reverse DND differential data processor 350 detects input from the entropy decoder 360 in the encoded key data in the process has been on whether the shift operation. 如果输入的差分数据已经过上移位操作,则反向DND处理器350在该差分数据上顺序地执行一下移位操作和一反向DND操作,并且输出反向DND操作的结果。 If the differential data has been entered on the shift operation, the inverse DND processor 350 about the implementation on the differential data sequentially shift operation and an inverse DND operation, and outputs the result DND reverse operation. 如果该输入的差分数据没有经过上移位操作,则反向DND处理器350对差分数据执行一反向DND操作,并且输出反向DND操作的结果到该反向移位器330。 If the differential data that has not been entered on the shift operation, the inverse DND processor 350 performs a reverse differential data DND operation and output of the inverse DND operation result to the inverse shifter 330.

反向移位器330对从反向DND处理器350输入的差分数据执行一反向移位操作,并且输出反向移位操作的结果到反向DPCM处理器320。 330 on the implementation of the reverse shift a reverse shift operation inverse DND processor 350 differential data input from the reverse shift operation and outputs the result to the inverse DPCM processor 320. 反向DPCM处理器320转换从反向移位器330输入的差分数据成量化的关键字数据,并且输出量化的关键字数据到反向量化器310。 Reverse DPCM processor 320 converts the differential data from the reverse shifter 330 to the input of quantized key data, and outputs the quantized key data to the inverse quantizer 310. 反向量化器310反向地量化所量化的关键字数据,并且输出所解码的关键字数据。 Inverse quantizer 310 inversely quantizing the quantized key data, and outputs the decoded key data.

参考图11D,按照本发明另一最佳实施例的、用于解码关键字数据的装置包括:熵解码器360、反向上移位操作器356和反向DND操作器352。 It means with reference to FIG. 11D, according to another preferred embodiment of the present invention, for decoding key data comprising: an entropy decoder 360, the reverse shift operation and the inverse DND operator 356 352.

所输入的比特流在熵解码器360中解码,在差分数据中转换并且输入到反向上移位操作器356中。 The input bit stream in entropy decoder 360 decodes the data and converts the differential input to reverse the shift operator 356. 该反向上移位操作器356对输入的差分数据执行一下移位操作,并且输出下移位操作的结果到反向DND操作器352。 The reverse shift operator on 356 pairs of differential input data about the implementation of the shift operation, and outputs the result to the reverse shift operation under DND operator 352. 反向DND操作器352对从上移位操作器356输入的差分数据执行一反向DND操作,并且输出所解码的关键字数据的差分数据。 Reverse DND operations 352 DND operation on the implementation of a reverse shift operation on the differential data input from the controller 356, and outputs the decoded key data of differential data. 解码的关键字数据的差分数据可以使用一通用的解码器输出。 Differential data decoding key data can use a common decoder output.

参考图11E,按照本发明另一最佳实施例的、用于解码关键字数据的装置解码一比特流,该比特流已经在用于编码关键字数据的装置中使用线性关键字编码器中进行了编码。 With reference to FIG. 11E, according to another preferred embodiment of the present invention, the decoding means for decoding a bit stream key data, the bit stream is already used in the apparatus for encoding key data in the linear key encoder is performed coding. 用于解码关键字数据的装置包括:熵解码器380、关键字头解码器370、反向量化器310和浮点数逆换算器305。 Means for decoding key data include: entropy decoder 380, the keyword header decoder 370, inverse quantizer 310 and inverse floating-point number converter 305.

所输入的比特流输入到熵解码器380和关键字头解码器370中。 The input bit stream is input to the entropy decoder 380 and keyword header decoder 370. 熵解码器380熵解码相应于关键字数据的一部分比特流,在其上执行预定的操作,并且输出预定操作的结果到反向量化器310。 Entropy decoder 380 entropy decodes a bitstream corresponding to a portion of the key data, the results of a predetermined operation performed thereon, and outputs a predetermined operation to the inverse quantizer 310. 关键字头解码器370解码相应于关键字头的另一部分比特流,并且输出包括在线性关键字数据区域内的关键字数据数目到一线性关键字解码器。 Keyword header decoder 370 decodes the bit stream corresponding to another part of the head of the key, and outputs key data including the number of the linear key data region to the linear key decoder. 另外,关键字头解码器370输出线性关键字数据区域的首尾关键字数据上的信息到该浮点数逆换算器305。 In addition, information and last key data key header decoder 370 outputs a linear key data on the region to the floating-point inverse converter 305.

反向量化器310反向地量化所量化的关键字数据,并且输出反向量化的结果。 Inverse quantizer 310 inversely quantizing the quantized key data, and outputs the result of inverse quantization. 线性关键字解码器使用线性关键字数据区域的该首尾关键字数据解码线性关键字数据区域,该首尾关键字数据是从该浮点数逆换算器305输入的。 Linear keywords decoder uses the linear key data region and last key data decoding linear key data region, the first and last key data from the floating-point inverse converter 305 inputs. 接下来,线性关键字解码器添加解码的线性关键字数据到从反向量化器310输出的关键字数据并且输出所解码的关键字数据。 Next, add the linear key decoder decodes the linear key data to key data output from the inverse quantizer 310 and outputs the decoded from the key data.

下文将参考图15A到15C描述实现用于解码关键字数据的操作的程序代码的例子。 Will hereinafter be described with reference to Examples 15A to 15C to achieve program code for operation of the decoding key data of FIG.

图15A图解的是实现函数decodeSignedAAC()的程序代码的例子,该函数用于借助有关于值和它们的符号的范围(context),解码没有来自已经过自适应的算术编码的比特流的符号的值。 15A is a diagram illustrating a function realized decodeSignedAAC () examples of program code, by means of the function is used about the symbol values and their range (context), not from the decode adaptive arithmetic coding has been bit symbol stream value.

图15B是一说明程序代码例子的图表,该程序代码实现函数decodeUnsignedAAC(),该函数借助于有关于值和它们的符号的范围(context),编码不具有来自已经过自适应的算术编码的比特流的标志的值。 15B is a graph illustrating an example of the program code, the program code to achieve the function decodeUnsignedAAC (), by means of the function about values and their symbols range (context), coded bits from not having already been adaptive arithmetic coding value stream flags. 在图15B中,qf_decode()表示用于读出来自比特流的一位的函数。 In FIG. 15B, qf_decode () represents a function for reading out from the bit stream.

图15C是说明程序代码一例子的图表,该程序代码实现上面已经描述的、针对反向量化的反向DND操作。 FIG 15C illustrates an example of a program code chart, the program code has been described above, the operation for inverse quantization of inverse DND.

本发明可以作为记录在计算机可读记录介质上的计算机可读代码实现。 The present invention can be used as recorded in a computer-readable computer-readable recording medium to achieve. 这里,计算机可读记录媒体包含可以通过计算机系统阅读的任何种类的记录媒体。 Here, the computer-readable recording medium can contain any kind of reading the recording medium by a computer system. 例如,计算机可读记录媒体包含ROM、RAM、CD-ROM、磁带、软盘、光数据存储器、载波(经过国际互联网络传输的)。 For example, a computer-readable recording medium includes ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage, carrier wave (transmission through the Internet). 计算机可读记录媒体可以分散到基于网络连接的计算机系统,并且计算机可以以分散的方式访问该记录媒体。 The computer-readable recording medium can be distributed to a computer system based on a network connection, and the computer can be accessed in a decentralized manner the recording medium.

不同于用于编码解码关键字数据的传统装置,按照本发明用于编码解码关键字数据的方法和装置可以通过执行移位操作、折叠操作、针对通过执行DPCM操作获得的差分数据的DND操作,显著地提高编码关键字数据的效率,并且编码可以最小化编码所需要的比特数的操作中至少之一的结果。 Unlike the conventional apparatus for encoding and decoding key data according to the present invention, the key data encoding and decoding method and apparatus can be used to perform the shift operation, the folding operation, by performing DPCM DND operation for the obtained difference data operation, significantly improve the efficiency of encoding key data, and encoding can be minimized at least one of the results of operations required for encoding the number of bits. 因此,按照本发明,可以显著地减少用于存储三维动画的空间并且以高速传输动画数据。 Thus, according to the present invention can significantly reduce the space used to store three-dimensional animation and animation to high-speed transmission of data.

虽然本发明是参考其最佳实施例进行具体显示和描述的,但本领域的技术人员可以理解,可以在其中作出形式和细节上的不同变化,只要它们不背离附属的权利要求书所限定的发明的精神和范围。 While the present invention with reference to specific preferred embodiments shown and described, those skilled in the art will appreciate, may be made in the form of various changes in detail and in which the rights defined in the book as long as they do not depart from the subsidiary requirements the spirit and scope of the invention.

Classifications
International ClassificationH03M7/36, H04N7/26, H03M7/30, H03M7/40, G06T13/20, G06F17/22, G06F7/38, H03M7/48, H04N7/32, G06T9/00, H04N7/36, H04N7/24
Cooperative ClassificationH04N19/136, H04N19/14, H04N19/25, H04N19/70, H04N19/103, H04N19/46, H04N19/12, H04N19/126, H04N19/13, H03M7/40, H03M7/30
European ClassificationH04N7/26A4Q2, H04N7/26A10S, H04N7/26Y, H04N7/26A6C2, H04N7/26A4K, H04N7/26A4V, H04N7/26A6C, H04N7/26A4C, H04N7/26J8
Legal Events
DateCodeEventDescription
9 Jul 2003C06Publication
24 Sep 2003C10Entry into substantive examination
2 Feb 2005C14Grant of patent or utility model
11 Jan 2017CF01