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 numberCN1294540 C
Publication typeGrant
Application numberCN 02140026
Publication date10 Jan 2007
Filing date27 Nov 2002
Priority date27 Nov 2001
Also published asCN1187716C, CN1277239C, CN1428742A, CN1438613A, CN1441387A, EP1320264A2, EP1320264A3, EP1320264B1, EP2278808A1, EP2278808B1, US7446771, US20030128883
Publication number02140026.1, CN 02140026, CN 1294540 C, CN 1294540C, CN-C-1294540, CN02140026, CN02140026.1, CN1294540 C, CN1294540C
Inventors李信俊, 郑锡润, 张义善, 禹相玉, 韩万镇, 金道均, 张敬子
Applicant三星电子株式会社
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Coding-decoding coordinate interpolating symbol key-work data and key-value data apparatus and medium thereof
CN 1294540 C
Abstract  translated from Chinese
本发明提供一种用于编码和解码坐标内插符的关键字数据和关键值数据的装置以及一种其上写入编码有坐标内插符的比特数据流的记录介质。 The present invention provides an apparatus and a method for encoding and decoding on the coordinates of the interpolation operator keyword data and key value data is written within the recording medium encoded with coordinates interpolated bit data symbol stream. 该比特数据流包括:关键字数据编码/解码信息,其中编码有关键字数据和为了解码该关键字数据所需要的信息;和关键值数据编码/解码信息,其中编码有关键值数据和为了解码该关键值数据所需要的信息。 The bit stream comprising: key data encoding / decoding information, wherein the encoding key data and key information to decode the desired data; and key value data encoding / decoding information, wherein the coded data and for decoding the relevant key The key value data information needs. 所述关键字数据信息包括:反向DND操作信息、第一反向DPCM操作信息和第一反向量化信息。 The key information includes: Reverse DND operational information, the first reverse DPCM first reverse operation information and quantitative information. 所述关键值数据编码/解码信息包括:从该比特数据流熵解码的字典解码信息、第一位置索引、字典解码模式、第二反向DPCM操作信息以及使用在反向量化中的第二反向量化信息。 The key value data encoding / decoding information comprises: the bit stream from entropy decoding dictionary decoding information, the first position index, dictionary decoding mode, and second inverse DPCM operation information used in inverse quantization of a second anti- the quantitative information.
Claims(21)  translated from Chinese
1.一种用于编码坐标内插符的装置,所述坐标内插符包括:关键字数据,指示在一个时间轴上的每一关键帧的位置;以及关键值数据,使用每一个都由x、y和z成分组成的顶点的坐标表示在每一关键帧中的目标的每一顶点的位置,所述装置包括:一个关键字数据编码器,其包括:一个第一量化器,使用预定的量化比特量化坐标内插符的关键字数据;一个第一差分脉冲编码调制处理器,产生所述量化的关键字数据的差分数据;一个分割-与-分割处理器,根据在差分数据与该差分数据当中的最大值和最小值之间的一种关系对所述差分数据执行一个分割-与-分割操作,和一个第一熵编码器,熵编码从所述分割-与-分割处理器输入的该差分数据,一个关键值数据编码器,其包括:一个第二量化器,使用预定的量化比特量化坐标内插符的关键值数据;一个第二差分脉冲编码调制处理器,通过对量化关键值数据的每一顶点的成分执行一个预定的差分脉冲编码调制操作,产生基于量化关键值数据的每一顶点坐标的时间变化的差分数据和基于量化关键值数据的每一顶点坐标的空间变化的差分数据;一个字典编码器,产生一些符号以及指示这些符号的位置的索引,所述符号表示每一顶点的差分脉冲编码调制的差分数据和已经对于该差分数据执行的一个差分脉冲编码调制操作模式;和一个第二熵编码器,熵编码所述符号和所述索引,以及一个标题编码器,对为了解码由所述关键字数据编码器和所述关键值数据编码器所编码的一个比特数据流所需要的信息进行编码。 A break in the coding coordinate interpolation means for interpolating within the coordinate operators include: key data, indicating the location of each of the key frames on a timeline; and key value data, by using each x, y and z coordinates of the vertices of the component composition indicates the position of each vertex in each keyframe of the target, the apparatus comprising: a key data encoder, comprising: a first quantizer using a predetermined quantizing the quantization bits of key data coordinate interpolation symbol; a first differential pulse code modulation processor, generates differential data of the quantized key data; a split - and - segmentation processor in accordance with the difference data A relationship between the maximum and minimum values among differential data to the differential data between the execution of a split - and - dividing operation, and a first entropy encoder entropy encoding from the split - and - Segmentation processor inputs the difference data, a key value data encoder comprises: a second quantizer, quantized using a predetermined quantization bit key data in the coordinate values interpolated symbols; and a second differential pulse code modulation processor, by quantizing the key The component values of each vertex data to perform a predetermined differential pulse code modulation operations, to produce each of the quantized key value data based on the vertex coordinates of the time variation of the difference data based on the quantized key value data of each spatial coordinates of the vertices of change differential data; a dictionary encoder generates an index indicating a number of symbols and the position of these symbols, the symbols represent the differential data of each vertex of differential pulse code modulation and has a differential pulse code modulation for the operation mode of the differential data performed ; and a second entropy coder, the entropy coding and the symbol index, and a header encoder for key data for decoding by the encoder and the key value data encoder the encoded data bits a information flow required for encoding.
2.根据权利要求1所述的装置,其中,所述关键字数据编码器还包括一个线性关键字编码器,所述线性关键字编码器在输入其中的关键字数据当中识别一个关键字数据线性增加的区域,并且编码该区域。 2. The apparatus according to claim 1, wherein the key data encoder further comprises a linear key encoder, said linear encoder to identify a keyword the keyword data in the linear key data inputted thereto among increase the area, and the region encoding.
3.根据权利要求1所述的装置,其中,所述关键字数据编码器还包括:一个移位器,从第一差分脉冲编码调制处理器输入的差分数据当中获得具有最高频率的一个差分数据(模式)并且从所述差分数据中减去该模式;和一个折叠处理器,把移位的差分数据转换成正数或负数,并且该分割-与-分割处理器根据进行编码所需的比特数量从所述移位器输入的差分数据和从所述折叠处理器输入的差分数据中选择之一,分割-与-分割该差分数据并输出该选择的差分数据。 3. The apparatus according to claim 1, wherein the key data encoder further comprises: a shifter to obtain a differential data having the highest frequency from the difference data of the first differential pulse code modulation input of the processor which (mode) and subtracts the mode from the differential data; and a folding processor, converts the shifted differential data into positive or negative, and the split - and - segmentation processor according to the number of bits required to encode performed differential data input from the shifter, the differential data and select one from the folding processor inputted, split - and - dividing the difference data and outputs the selected differential data.
4.根据权利要求1所述的装置,其中,所述第二差分脉冲编码调制处理器包括:一个差分脉冲编码调制操作器,对于量化的坐标内插符的每一顶点的每一成分执行一个时间差分脉冲编码调制操作,以便产生在一个关键帧中的顶点和另一关键帧中的顶点之间的第一差分数据;对于该量化的坐标内插符的每一顶点的每一成分执行一个空间差分脉冲编码调制操作,以便产生在同一个关键帧中的顶点之间的第二差分数据;并且对于该量化的坐标内插符的每一顶点的每一成分执行一个时空差分脉冲编码调制操作,以便产生在顶点和关键帧之间的第三差分数据;一个循环量化器,对于从所述差分脉冲编码调制操作器输入的所述第一至第三差分数据执行一个循环量化操作,以便降低其范围;和一个差分脉冲编码调制模式选择器,根据为了进行编码所需要的比特数目选择已经循环量化的所述第一至第三差分数据之一,并且输出所选择的差分数据。 4. The apparatus according to claim 1, wherein said second differential pulse code modulation processor comprising: a differential pulse code modulation operator, each component of each vertex coordinates for the quantized interpolation operator performs a time differential pulse code modulation operation, in order to produce a keyframe at the apex and another keyframe first differential data between the vertices; each component within the coordinates for each vertex of the quantitative character of the implementation of a plug space differential pulse code modulation operation, in order to produce the same keyframe second differential data between the vertices; and perform a temporal differential pulse code modulation operation for each component within the coordinates of each vertex of the quantized insert breaks , in order to produce a third vertex and differential data between keyframes; a loop quantizer, for the input from the DPCM operator of the first to third differential quantization operation data executes a loop, in order to reduce their scope; and a differential pulse code modulation mode selector, based on the difference of the one of the first to third data in order to perform the number of bits needed to encode the quantized choice has cycled, and outputs the selected differential data.
5.根据权利要求1所述的装置,其中,所述字典编码器包括:一个差分脉冲编码调制模式编码器,产生一些符号以及指示这些符号的位置的索引,所述符号表示已经对于每一顶点的每一成分的数据执行的差分脉冲编码调制模式的组合;和一个出现模式编码器,产生一些对应于每一顶点的每一成分的输入差分数据的符号以及指示这些符号的位置的索引;一个增量模式编码器,产生指示在每一顶点的每一成分的输入差分数据中是否存在预定的符号的一个符号标志以及指示这些符号的位置的位置索引;和一个表格大小计算器,计算由对应于所述输入差分数据的符号构成的第一符号表的大小以及所述符号标志的大小,并且根据该第一符号表和该符号标志的大小,把从所述差分脉冲编码调制模式编码器输入的每一顶点的每一成分的输入差分数据输出到所述出现模式编码器或所述增量模式编码器。 5. The apparatus according to claim 1, wherein said dictionary encoder comprising: a differential pulse code modulation pattern encoder generates an index indicating a number of symbols and the position of these symbols, the symbols for each vertex has and an index pattern appears encoder, generating position some symbols for each part corresponding to each vertex of the input differential data and indicative of the symbols;; a combination of each component data performed by differential pulse code modulation mode incremental mode encoder generates position index indicates whether there is a predetermined symbol symbols sign indicating the location of these symbols in the input differential data for each component of each vertex; and a table size calculator to calculate the corresponding size and the size of the sign flag in the differential data of the input symbols of a first symbol table, and depending on the size of the symbol table and the first symbol mark, from said differential pulse code modulation pattern encoder input Each input differential data of each component of the vertex is output to the occurrence pattern of the incremental encoder or encoder mode. .
6.一种用于解码一个比特数据流的装置,所述比特数据流中编码有坐标内插符,该坐标内插符包括指示在一个时间轴上每一关键帧的位置的关键字数据和使用每一个都由x、y和z成分组成的顶点坐标表示在每一关键帧中的一个目标的每一顶点的位置的关键值数据,该装置包括:一个标题解码器,其对解码来自一个输入比特数据流的关键字数据和关键值数据所需的标题信息执行解码,并且输出该解码的标题信息;一个关键字数据解码器,其包括:一个第一熵解码器,熵解码所述输入的比特数据流并且输出解码的关键字数据的差分数据;一个反向分割-与-分割处理器,根据由所述标题解码器从所述输入比特数据流读出的分割-与-分割阶数,通过对于所述差分数据执行一个反向分割-与-分割操作而扩展该熵解码的关键字数据的差分数据的范围;一个第一反向差分脉冲编码调制处理器,对于从所述反向分割-与-分割处理器输入的差分数据,执行与从所述标题解码器输入的差分脉冲编码调制的阶数一样多次的反向差分脉冲编码调制操作,并且输出量化的关键字数据;和一个第一反向量化器,反向量化所述量化的关键字数据并且输出解码的关键字数据,以及一个关键值数据解码器,其包括:一个第二熵解码器,通过熵解码输入的比特数据流产生将要被字典解码的数据,包括关键值数据的差分数据的符号、指示该符号的位置的索引和一个差分脉冲编码调制操作模式;一个字典解码器,根据从所述标题解码器输入的一个字典解码模式信息,通过执行一个字典解码操作产生关键值数据的差分数据;一个第二反向差分脉冲编码调制处理器,根据所述差分脉冲编码调制操作模式,通过恢复从所述字典解码器输入的关键帧之间的差分数据和顶点之间的差分数据产生量化数据;和一个第二反向量化器,通过反向量化所述量化的数据产生恢复的关键值数据。 6. An apparatus for decoding a bit stream, the bit stream is encoded with the coordinates of the interpolated symbol, the symbol comprises interpolating the coordinate data on a time axis keyword indicating the location of each key frame and Use each consisting of x, y and z coordinates of the vertex component composition indicates a key value data of each vertex position of each keyframe in a target, the apparatus comprising: a caption decoder for decoding from a required input bit stream key data and key value data to perform decoding of the header information, and outputs the decoded header information; a key data decoder, comprising: a first entropy decoder, the entropy decoding input The bit stream and outputting the decoded data of the difference data key; a reverse split - and - segmentation processor, according to the caption decoder by reading out from the input bit stream divider - and - Segmentation order , for the differential data by executing a reverse split - and - dividing operation and extend the range of the key data of the entropy decoded difference data; a first inverse differential pulse code modulation processor for from the reverse Segmentation - and - reverse differential pulse code modulation input differential data dividing processor, performs differential pulse code from the title decoder input modulated as many as the number of order of operation, and outputs the quantized key data; and a first inverse quantizer, inverse quantizing the quantized key data and outputs the decoded key data, and a key value data decoder, comprising: a second entropy decoder entropy decodes the input by The bit stream to be generated decoded data dictionary, including the value of the data symbol key difference data, indication index and a differential pulse code modulation mode of operation the position of the symbol; a dictionary decoder, based on the input from the caption decoder A dictionary decoding mode information, generating differential data of key value data by performing a decoding operation dictionary; a second inverse differential pulse code modulation processor, according to the differential pulse code modulation operating mode, by restoring the decoded from the dictionary difference data and differential data input of the vertex between the key frame is generated between the quantized data; and a second inverse quantizer by inverse quantizing the quantized key value data generated data recovery.
7.根据权利要求6所述的装置,其中,所述关键字数据解码器还包括:一个反向折叠处理器,根据从所述标题解码器输入的分割-与-分割的阶数,对于从所述反向分割-与-分割处理器输入的差分数据执行一个反向折叠操作,以便把该差分数据分割成正数和负数,或者旁路该差分数据;和一个反向移位器,通过把从所述标题解码器输入的一个预定的模式相加到所述差分数据而变换从所述反向分割-与-分割处理器或所述反向折叠处理器输入的差分数据的范围,并且所述第一反向差分脉冲编码调制处理器恢复从所述反向移位器输入的差分数据并且输出量化的关键字数据。 7. The apparatus according to claim 6, wherein the key data decoder further comprises: an inverse folding processor, based on input from the caption decoder split - and - order of segmentation, for from The reverse split - and - dividing the input differential data processor executes a reverse folding operation, so that the difference data is divided into positive and negative, or bypass the differential data; and a reverse shifter, by a predetermined pattern from said header decoder input to said phase difference data is transformed from the reverse split - and - Segmentation processor or the inverse folding processor input range of the differential data, and the said first inverse DPCM processor recovery from the reverse shifter input differential data and outputs quantized key data.
8.根据权利要求6所述的装置,其中所述第二反向差分脉冲编码调制处理器包括:一个反向时间差分脉冲编码调制操作器,对于根据时间的推移而改变的每一顶点的差分数据执行一个反向差分脉冲编码调制操作;一个反向空间差分脉冲编码调制操作器,对于在每一个顶点和对应于一个预定时间瞬时的顶点的一个参考顶点之间的差分数据执行一个反向差分脉冲编码调制操作;以及一个反向差分脉冲编码调制模式选择器,根据所述差分脉冲编码调制操作模式把输入其中的差分数据输出到所述反向时间差分脉冲编码调制操作器或所述反向空间差分脉冲编码调制操作器。 8. The apparatus according to claim 6, wherein said second inverse DPCM processor comprises: an inverse time differential pulse code modulation operator, for each vertex in accordance with the passage of time and change of the difference perform an inverse data differential pulse code modulation operation; a backward space differential pulse code modulation operator, for each vertex and at a predetermined time corresponding to the vertices of a reference instantaneous differential data between the vertices perform a reverse differential Pulse code modulation operation; and a reverse DPCM mode selector, according to the differential pulse code modulation mode of operation wherein the output of the input differential data to the inverse DPCM operation time or the reverse Spatial DPCM operator.
9.一种用于在基于关键帧的图形动画中编码坐标内插符的方法,所述坐标内插符包括指示在一个时间轴上每一关键帧的位置的关键字数据和使用每一个都由x、y和z成分组成的顶点坐标表示在每一关键帧中的一个目标的每一顶点的位置的关键值数据,所述方法包括:产生关键字数据编码/解码信息,其中编码有关键字数据;和产生关键值数据编码/解码信息,其中编码有关键值数据,其中,所述关键字数据编码/解码信息包括:反向分割-与-分割操作信息,包括反向分割-与-分割的阶数,该阶数指示将要对于由熵解码所述比特数据流产生的差分数据执行的反向分割-与-分割的预定周期数,所述反向分割-与-分割的目的是扩展该差分数据以及使用在反向分割-与-分割操作的每一周期中的差分数据当中的最大和最小值的范围;第一反向差分脉冲编码调制操作信息,包括将要对于该反向分割-与-分割的差分数据执行的反向差分脉冲编码调制操作的阶数,所述反向差分脉冲编码调制的目的是把该反向分割-与-分割的差分数据转换成被用于反向差分脉冲编码调制操作的每一周期的量化关键字数据和帧内关键字数据;和第一反向量化信息,以便通过反向量化该量化的关键字数据而产生恢复的关键字数据,以及所述关键值数据编码/解码信息包括:字典解码信息,包括关于表示被字典编码并从所述比特数据流熵解码的关键值数据的差分数据的符号的信息,指示所述符号的位置第一位置索引,和指定将要对于该第一位置索引执行的一个字典解码方法的字典解码模式;第二反向差分脉冲编码调制操作信息,包括指示符号位置的第二位置索引,其被使用在把每一顶点的成分的字典解码的差分数据转换成量化关键值数据的一个反向差分脉冲编码调制操作中并且对应于反向差分脉冲编码调制操作模式的组合;以及第二反向量化信息,以便通过反向量化该量化的关键值数据而产生恢复的关键值数据。 9. A method for the graphic animation keyframes encoded symbol interpolation method based on the coordinates, the coordinates of the interpolation operator and use key data includes information indicating the location of each key frame on a time axis are each vertex coordinates by x, y and z component composition indicates the location of each vertex in each keyframe of a target value of the key data, the method comprising: generating the key data encoding / decoding information, wherein the encoding key word data; and generating the key value data encoding / decoding information, wherein the coded data about the key, wherein the key data encoding / decoding information comprises: inverse split - and - split operation information, including reverse split - and - split the order, the order indicates that the reverse split will be for differential data by entropy decoding the bit stream generated by the implementation of - and - a predetermined number of cycles division, said the reverse split - and - Segmentation aims to expand The difference data and the use of the reverse split - and - dividing the maximum and minimum values of the range of each cycle of the operation in which the difference data; a first inverse differential pulse code modulation operation information, including for the reverse to be split - and - inverse differential pulse code modulation order of operations performed by dividing the differential data, the inverse differential pulse code modulation purpose is to split the reverse - and - division of differential data are converted into a differential for the reverse quantized key data and intra key data of each cycle of operation of the pulse code modulation; and a first inverse quantization information, in order to reverse quantizing the key data and generates quantized key data recovery, and the The key value data encoding / decoding information comprises: a dictionary decoding information, including information on the position denotes information indicating the symbol dictionary encoding and bit stream from the entropy decoding key value data of the difference data symbols of the first position index , and is specific to the dictionary for a decoding method performed by the first position index dictionary decoding mode; second inverse differential pulse code modulation operation information, including the location of a second position indicator index, which is used in the each of the vertex decoded differential data dictionary components quantized key value data is converted into a reverse DPCM operation and corresponds to the inverse differential pulse code modulation operating mode combinations thereof; and a second inverse quantization information, in order to reverse the amount The key value of the quantized data generated by the recovery of the key value data.
10.根据权利要求9所述的方法,其中,所述反向分割-与-分割操作信息还包括一个标志,表示是否将对于受到一个反向分割-与-分割操作的差分数据执行一个下移位操作。 10. The method of claim 9, wherein said reverse split - and - dividing operation information further comprises a flag indicating whether or not to be a reverse split - split down the operation of a differential data execution - and bit operations.
11.根据权利要求9所述的方法,其中,所述第一反向量化信息包括,当反向量化该量化的关键字数据时使用的一个反向量化比特大小以及在量化关键字数据中的最大和最小值。 11. The method according to claim 9, wherein the first inverse quantization information comprises an inverse quantization bit size used when inverse quantization of the quantized key data and the quantized key data The maximum and minimum values.
12.根据权利要求11所述的方法,其中,在所述量化关键字数据中的最大和最小值最小化该量化关键字数据的量化误差。 12. The method of claim 11, wherein, the maximum and minimum values of the quantized key data to minimize the quantization error of the quantized key data.
13.根据权利要求9所述的方法,其中,所述关键字数据编码/解码信息还包括,用于解码包括在该比特数据流中的一个线性关键字区域的线性关键字解码信息,其中,所述线性关键字解码信息包括一个指示在该关键字数据中是否存在其中关键字数据线性增加的线性关键字区域标志、在该线性关键字区域中包括的关键字数据的数目以及对应于该线性关键字区域的开始和结束关键字数据。 13. The method of claim 9, wherein the key data encoding / decoding information further comprises linear key decoding means for decoding the information comprising the bit stream in a linear key region, wherein, The linear key decoding information includes a keyword indicating whether there is data in which the linear increase of the linear region of the keywords in the keyword data flag, the number of the linear key region included in the key data and corresponding to the linear Start and End key data key areas.
14.根据权利要求13所述的方法,其中,所述对应于线性关键字区域的开始和结束的关键字数据的每一个被编码成十进制的一个尾数和一个指数。 14. The method of claim 13, wherein, the keyword corresponding to the start and end of the linear key data region of each of a mantissa is encoded as a decimal and index.
15.根据权利要求9所述的方法,其中,当该字典解码模式是一个出现模式时,所述字典解码信息包括对应于包括在该差分数据中的差分值的符号和指示这些符号的位置的位置索引;并且当该字典解码模式是一个增量模式时,所述字典解码信息包括指示包括在该差分数据中的该差分值是否存在于一个预定的符号表中的一个符号标志以及指示对应于该符号标志的符号位置的位置索引。 15. The method of claim 9, wherein, when the decoding mode is a dictionary pattern appears, the dictionary decoding information includes the location of these symbols are included in the difference data indicating the difference value corresponding to a symbol and Location Index; and when the dictionary decoding mode is an incremental mode, the dictionary includes instruction decode information included in the differential value of the differential data exists in a predetermined symbol table as well as a symbolic sign indication corresponds to Location Index Symbols position the symbol logo.
16.根据权利要求9所述的方法,其中,所述第二反向差分脉冲编码调制操作信息还包括一个反向差分脉冲编码调制模式标志,指示对应于将要对于每一顶点的差分数据执行的一个反向差分脉冲编码调制操作的一个符号是否存在于存储将要对于该顶点的每一成分执行的反向差分脉冲编码调制操作模式的多种组合的一个表格中的所有的符号当中。 16. The method of claim 9, wherein said second inverse DPCM operation information further comprises an inverse differential pulse code modulation mode flag, indicating to be executed corresponding to the difference data for each of the vertices an inverse differential pulse code modulation operation of a symbol to be stored exists in a variety of combinations to form a reverse DPCM mode of operation of each component of the vertex in the execution of all the symbols which.
17.根据权利要求16所述的方法,其中,所述反向差分脉冲编码调制操作模式的组合是将对于差分数据的每一个成份执行的一个反向时间差分脉冲编码调制操作、一个反向空间差分脉冲编码调制操作和一个反向时空差分脉冲编码调制操作的任意组合。 17. The method of claim 16, wherein said reverse differential pulse code modulation operating mode combination is performed for each component of differential data of a reverse time differential pulse code modulation operation, an inverse spatial and any combination of differential pulse code modulation operating a reverse temporal differential pulse code modulation operation.
18.根据权利要求17所述的方法,其中,所述第二反向差分脉冲编码调制操作信息还包括一个参考顶点标志,当将要对于差分数据执行的该反向差分脉冲编码调制操作由该反向差分脉冲编码调制模式标志确定为是一个反向空间差分脉冲编码调制操作或一个反向时空差分脉冲编码调制操作时,该参考顶点标志表示对应于受到一个反向空间差分脉冲编码调制操作或一个反向时空差分脉冲编码调制操作的顶点的一个参考顶点。 18. The method according to claim 17, wherein said second inverse DPCM operation information further comprises a reference vertex flag, when the inverse differential pulse code modulation operation for the differential data to be performed by the anti- determined as the differential pulse code modulation mode flag is a backward space differential pulse code modulation operation or a reverse temporal differential pulse code modulation operation, the reference vertex flag indicates by a corresponding inverse spatial differential pulse code modulation operation or a vertex reverse temporal differential pulse code modulation operation of a reference vertex.
19.根据权利要求9所述的方法,其中,所述第二反向量化信息包括:表示受到一个反向量化操作的关键值数据的顶点的一个顶点选择标志,由该顶点选择标志选择的该顶点的每一成分的关键值数据当中的最小值和该顶点的每一成分的关键值数据的数据范围中的最大范围;以及用于反向量化该选择的顶点的关键值数据的一个反向量化比特大小。 19. The method of claim 9, wherein said second inverse quantization information comprises: selecting a vertex by vertex represents a sign of the value of an inverse quantization operation of key data, selected by the sign of the vertex selection A key value is used to reverse the amount and inverse quantization of the selected vertex data; data range minimum key value data for each component and each vertex among the vertices of the key components of the maximum value of the data range of the bit size.
20.根据权利要求19所述的方法,其中,所述第二反向量化信息还包括:将要反向量化的关键值数据中包括的顶点数目;该关键值数据的有效位数的最大数目;在每一顶点的每一成分的数据当中的最大值中的一个最大值和一个最小值,以及在每一顶点的每一成分的数据里最小值中的一个最大值和一个最小值。 The maximum number of significant digits of the key value data; to be inversely quantized key value data are included in the number of vertices;: 20. The method according to claim 19, wherein said second inverse quantization information further comprises In each part of the data of each vertex of a maximum value among the maximum value and a minimum value, and the data for each component of each vertex in a maximum and a minimum value of a minimum value.
21.根据权利要求9所述的方法,其中,所述关键值数据编码/解码信息还包括一个标志,指示所述关键值数据的编码模式是否为一个转置模式或一个顶点模式。 21. The method of claim 9, wherein the key value data encoding / decoding information further includes a coding mode flag, indicating whether the key value data into a permutation pattern or a vertex pattern.
Description  translated from Chinese
编解码坐标内插符关键字数据和关键值数据的装置 Insert symbol within codec coordinate key data and key value data devices

技术领域 FIELD

本发明涉及用于编码和解码合成图像的装置和方法,尤其涉及用于编码和解码一种坐标内插符的装置和方法,该坐标内插符使用每个都包括x、y、z成分的顶点坐标表示在一个基于关键帧的图形动画中的目标的每个顶点的位置。 The present invention relates to a device and method for encoding and decoding a composite image, and more particularly to apparatus and method for encoding and decoding the symbols for a coordinate interpolation, the interpolation using the coordinates of each symbol includes x, y, z components of Vertex coordinates represent the position of each vertex in a keyframe-based graphic animation target.

背景技术 BACKGROUND

三维(3D)动画技术已经广泛地采用在3D计算机游戏或虚拟现实计算机应用中。 Three-dimensional (3D) animation technology has been widely used in 3D computer games or virtual reality computer applications. 虚拟现实模型语言(VRML)是这种3D动画技术的一个典型实例。 Virtual Reality Modeling Language (VRML) is a typical example of such a 3D animation technology.

国际多媒体标准,例如用于场景(BIFS)的MPEG-4和虚拟现实模型语言(VRML),使用一个内插符节点支持基于关键帧的3D动画。 International multimedia standards, such as for the scene (BIFS) of MPEG-4 and Virtual Reality Modeling Language (VRML), using an interpolation operator node supports 3D keyframe animation. 在MPEG-4BIFS和VRML中,有各种类型的内插符,包括标量内插符、位置内插符、坐标内插符、定向内插符、法线内插符和色彩内插符,这些内插符以及其功能和特性在表1中示出。 In MPEG-4BIFS and VRML, there are various types of interpolation operators, including plug within a scalar operator, plug in the position operator, plug in the coordinates of the symbol, insert symbol interior orientation, insert symbols and characters within the normal internal color interpolation, these interpolating (1623) and their functions and characteristics are shown in Table 1.

表1 Table 1

在表1所示的内插符中,坐标内插符被用于表示在基于关键帧的动画中构成3D目标的每一顶点位置上的信息,并且包括关键字字段和关键值字段。 In Table 1, the interpolated character shown, within the coordinates of the interpolation operator is used to represent each vertex configuration information on the location of the target in 3D animation keyframe-based, and include the keyword field and key value field. 关键字字段使用范围在-∞和∞之间的不连续数字,表示在时间轴上每一关键帧的位置。 Keywords field range in discrete digital -∞ and ∞, that represents the position of each keyframe on the timeline. 关键值字段规定了在由每一关键字表示的确定瞬时的构成3D目标的每一个顶点位置上的信息,并且包括三个成分x、y和z。 The key value is determined by the field has been specified in each keyword indicates the instantaneous position of each vertex constituting the 3D information on the target, and comprises three components x, y and z. 每一个关键值字段包括与关键字字段一样多的关键字值。 Each key value field includes the keyword field as many key values. 在这种基于关键帧的动画中,预定的关键帧定位在一个时间轴的任意位置,并且由线性内插填充在关键帧之间的动画数据。 In this keyframe-based animation, the predetermined position keyframes anywhere in a timeline, and the animation is filled by linear interpolation between the keyframes data.

由于MPEG-4BIFS和VRML中采用线性内插,所以要求相当量的关键字数据和关键值数据来使用线性内插符把一个动画表现得尽可能地自然和平滑。 Because MPEG-4BIFS and VRML in linear interpolation, it requires a considerable amount of key data and key value data using linear interpolation to an animated character to behave as natural and smooth. 此外,为了存储和发送这种自然和平滑的动画,需要相当大容量的存储器和可观的时间。 In addition, in order to store and transmit this natural and smooth animation, requires a large memory and a considerable amount of time. 因此,最好是选择压缩内插符,以便使得更容易存储和发送该内插符。 Therefore, it is best to select internal compression insert character, in order to make it easier to store and transmit the interpolation operator.

在已经采用在MPEG-4BIFS中用于编解码内插符节点的方法之一的预测MF字段编码(PMFC)中,使用量化器、差分脉码调制(DPCM)操作器和熵编码器编码坐标内插符的关键值数据,如图1所示。 Has been used in one of the interpolation nodes codec symbol method for MPEG-4BIFS prediction MF field coding (PMFC) using the quantizer, a differential pulse code modulation (DPCM) operator, and an entropy encoder coding coordinates within insert the key value data symbol, shown in Figure 1. 参考图1,量化器和DPCM操作器消除该关键值数据的冗余,该DPCM操作器把其操作的结果输出到熵编码器。 Referring to Figure 1, the quantizer and the DPCM operator to eliminate redundant data of the key value, the DPCM operator outputs the results of its operation to the entropy encoder. 然而,PMFC在对关键值数据进行编码中不是充分有效,因为其只熵编码从一般DPCM操作获得的差分数据,并且仅考虑在一个动画中构成3D目标顶点之间的空间相关性而不考虑在这种顶点之间的时间相关性,在一个基于关键帧的动画中,这种时间相关性是很重要的。 However, PMFC the key value data are encoded in not fully effective, since it is only the entropy encoded difference data obtained from a general DPCM operation, and only consider 3D space constituting the correlation between the target vertex in an animation without regard to the Time correlation between the vertices of this, based on a key frame animation, this time dependence is very important.

发明内容 SUMMARY

为了解决上述和其它问题,本发明的一个方面是提供一个用于编码坐标内插符的装置,包括:一个关键字数据编码器,其以高效率压缩动画关键字数据,同时缩减在数据当中的冗余度;和一个关键值数据编码器,其考虑在关键值数据之间的时间相关性以及在关键值数据之间的空间相关而编码关键值数据。 To solve the above and other problems, an aspect of the present invention is to provide an apparatus for intra-coded coordinate interpolation operator, comprising: a key data encoder, which with high efficiency compressed animation key data, while reducing the data among redundancy; and a key value data encoder, which consider the time between a key-value data and the spatial correlation between the associated key value data encoded key value data.

本发明的另一方面是提供一种用于解码的装置,解码由根据本发明的用于编码坐标内插符的装置编码的一个比特数据流。 Another aspect of the present invention is to provide a decoding apparatus for decoding the data stream by one bit according to the present invention for encoding character coordinate interpolation apparatus encoded.

本发明的另一方面是提供一种记录介质,能够以高压缩比率提供一个高质量的动画,其上记录有由根据本发明的用于编码坐标内插符的方法和装置所编码并且由根据本发明的用于解码坐标内插符的方法和装置待解码的一个比特数据流。 Another aspect of the invention is to provide a recording medium capable of high compression ratios provide a high quality movie, which is recorded by the encoding method and apparatus of the present invention is used for encoding according to the coordinates of the interpolation operator and by according Method and apparatus for the decoding of the coordinates of the interpolation operator of the present invention to be a decoded bit stream.

因此,为了实现本发明的上述和其它方面,提供一个用于编码坐标内插符的装置,该坐标内插符包括:指示在时间轴上的每一关键帧的位置的关键字数据;以及使用每一个都包括x、y和z成分的顶点的坐标表示在每一关键帧中的一个目标的每一顶点的位置的关键字数据。 Therefore, in order to achieve the above and other aspects of the invention, there is provided an apparatus for intra-coded symbol of coordinate interpolation, the interpolation of the coordinates of the symbol comprising: key data indicating the location of each key frame on the time axis; and using each comprising x, y and z coordinates of the vertices of the keyword data for each component indicates a vertex in each keyframe of a target position. 该装置包括一个关键字数据编码器、一个关键值数据编码器和一个标题编码器。 The apparatus includes a key data encoder, a key value data encoder and a header encoder. 该关键字数据编码器包括一个第一量化器,其使用预定的量化比特量化坐标内插符的关键字数据,一个第一DPCM处理器,其产生该量化的关键字数据的差分数据,一个DND处理器,其根据在差分数据和在该差分数据当中的一个最大值和一个最小值之间的一个关系对于该差分数据执行一个DND操作,以及一个第一熵编码器,其熵编码从该DND处理器输入的该差分数据。 The key data encoder includes a first quantizer which uses a predetermined quantization bit quantization of the coordinates of the interpolated symbol key data, a first DPCM processor which generates differential data of the quantized key data, a DND processor, based on the differential data, and a relationship between a maximum value and a minimum value of the difference data among the difference data to perform a DND operation, and a first entropy encoder which entropy encoding from the DND The differential data input processor. 该关键值数据编码器包括一个第二量化器,其使用预定的量化比特量化坐标内插符的关键值数据;一个第二DPCM处理器,其通过对于该量化关键值数据的每一顶点的成分执行一个预定的DPCM操作而产生基于量化关键值数据的每一顶点坐标的时间变化的差分数据和基于量化关键值数据的每一顶点坐标的空间变化的差分数据;一个字典编码器,其产生表示每一顶点的DPCM的差分数据和已经对于该差分数据执行的一个DPCM操作模式的符号以及指示该符号的位置的索引;和一个第二熵编码器,其熵编码该符号和该索引。 The key value data encoder comprises a second quantizer which uses a predetermined quantization bit quantized key value data of the coordinates of the interpolated symbols; a second DPCM processor, through which the quantized key value data for each vertex component performing a predetermined DPCM operation generates vertex coordinates of each of the quantized key value data based on the time variation of the difference data based on spatial coordinates of each vertex of the quantized key value data of the change difference data; a dictionary encoder, which generates represents DPCM difference data for each vertex and the index of the symbol has a position for a symbol a DPCM mode of operation performed by the differential data and instructions; and a second entropy encoder entropy encoding the symbols and the index. 该标题编码器,编码为了解码由该关键字数据编码器和该关键值数据编码器编码的一个比特数据流所需要的信息。 The header encoder, for decoding information encoded by the key data encoder and the key value data encoder encodes a bit stream required.

为了实现本发明的上述以及其它方面,提供有一个用于解码一个比特数据流的装置,其中编码有坐标内插符,该坐标内插符包括指示在一个时间轴上每一关键帧的位置的关键字数据和使用每一个都包括x、y和z成分的顶点坐标表示在每一关键帧中的一个目标的每一顶点的位置的关键值数据。 To achieve the above and other aspects of the present invention, there is provided an apparatus for decoding a bit stream, wherein the encoding symbol coordinate interpolation, the interpolation of the coordinates of each character in the key frame comprises an indication of a position on the timeline key data and using each comprise x, y and z components of the vertex coordinates of each vertex represents key value data of each keyframe in a target position. 该装置包括一个关键字数据解码器和一个关键值数据解码器。 The apparatus includes a key data decoder and a key value data decoder. 该关键字数据解码器包括一个标题解码器,其解码为了解码来自输入比特数据流的关键字数据和关键值数据所需要的标题信息并且输出该解码的标题信息;一个第一熵解码器,其熵解码该输入的比特数据流并且输出解码的关键字数据的差分数据;一个反向DND处理器,其根据由该标题解码器从该输入比特数据流读出的DND阶数,通过对于该差分数据执行一个反向DND操作而扩展该熵解码的关键字数据的差分数据的范围;一个第一反向DPCM处理器,其对于从该反向DND处理器输入的差分数据执行与从该标题解码器输入的DPCM的阶数一样多次的反向DPCM操作,并且输出量化的关键字数据;以及一个第一反向量化器,其反向量化该量化的关键字数据并且输出解码的关键字数据。 The key data decoder includes a header decoder for decoding the header information which decodes key data and key value data from the input bit stream and outputting the required decoded header information; a first entropy decoder entropy decoding the bit stream of the input and output of the decoded differential data of key data; an inverse DND processor, which according to the order of DND is read from the input bit stream from the title decoder out, for the difference by perform an inverse DND operation data and expand the range of the key data of the entropy decoded difference data; a first inverse DPCM processor which performs differential data to the inverse DND processor input from the decoding from the title the order of DPCM input as many as a reverse DPCM operation, and outputs the quantized key data; and a first inverse quantizer which inverse quantizes the quantized key data and outputs the decoded key data. 该关键值数据解码器包括:一个第二熵解码器,其通过熵解码该输入的比特数据流而产生将要被字典解码的数据,包括关键值数据的差分数据的符号、指示该符号的位置的索引和一个DPCM操作模式;一个字典解码器,其根据从该标题解码器输入的一个字典解码模式信息,通过执行一个字典解码操作而产生关键值数据的差分数据;一个第二反向DPCM处理器,其根据该DPCM操作模式,通过恢复从该字典解码器输入的关键帧之间的差分数据和顶点之间的差分数据而产生量化数据;以及一个第二反向量化器,其通过反向量化该量化的数据而产生恢复的关键值数据。 The key value data decoder comprises: a second entropy decoder, which will be generated by the dictionary data decoded by entropy decoding the input bit stream, the key value of the data symbol including difference data, indicative of the position of the symbol index and a DPCM operation mode; a dictionary decoder differential data from a key value data dictionary information for the title decoding mode decoder input, through the implementation of a dictionary decoding operation to produce according to; a second reverse DPCM processor , based on the DPCM mode of operation, the difference data by the difference data and vertex keyframe input from the recovery of the decoder dictionary and between the generated quantized data; and a second inverse quantizer which inverse quantization by The quantitative data generated key value data recovery.

为了实现本发明的上述以及其它方面,提供有一个比特数据流,其中编码有坐标内插符,该坐标内插符包括指示在一个时间轴上每一关键帧的位置的关键字数据和使用每一个都包括x、y和z成分的顶点坐标表示在每一关键帧中的一个目标的每一顶点的位置的关键值数据。 To achieve the above and other aspects of the present invention, there is provided a bit stream, wherein the encoded character coordinate interpolation, the interpolation operators include the coordinate data indicating the keyword and used on a time axis for each position of each keyframe includes an x, y and z coordinates of the vertices represent key components of the value of data for each vertex in each keyframe a target location. 该比特数据流包括:关键字数据编码/解码信息,其中编码有关键字数据和为了解码该关键字数据所需要的信息;和关键值数据编码/解码信息,其中编码有关键值数据和为了解码该关键值数据所需要的信息。 The bit stream comprising: key data encoding / decoding information, wherein the encoding key data and key information to decode the desired data; and key value data encoding / decoding information, wherein the coded data and for decoding the relevant key The key value data information needs. 该关键字数据信息包括:反向DND操作信息,包括表示将要对于由熵解码该比特数据流产生的差分数据执行的反向DND的预定的周期数的反向DND的阶数,以便扩展该差分数据的范围以及使用在反向DND操作的每一周期中的差分数据当中的最大和最小值;第一反向DPCM操作信息,包括将要对于该反向DND的差分数据执行的反向DPCM操作的阶数,以便把该反向DND的差分数据转换成被用于反向DPCM操作的每一周期的关键字数据和帧内关键字数据;和使用在反向量化中的第一反向量化信息,以便通过反向量化该量化的关键字数据而产生恢复的关键字数据。 The key data message comprises: a reverse DND operation information, including a representation will be to reverse DND by entropy decoding the bit stream generated by the difference data of the order of execution of a predetermined number of cycles of inverse DND to expand the difference range and the maximum and minimum values of the data used in each cycle of inverse DND operation among the differential data; a first inverse DPCM operation information, including for the reverse to be difference data reverse DPCM DND operation performed order, so as to convert the inverse DND difference data into key data and intra key data in each cycle is used to reverse DPCM operation; and a use in inverse quantization of the first inverse quantization information to reverse quantizing the key data and generates quantized key data recovery. 该关键值数据编码/解码信息包括:从该比特数据流熵解码的字典解码信息,包括关于表示被字典编码的关键值数据的差分数据的符号的信息;第一位置索引,指示该符号的位置;和字典解码模式,指示将要对于该第一位置索引执行的一个字典解码方法;第二反向DPCM操作信息,包括指示符号位置的第二位置索引,其被使用在把每一顶点的成分的字典解码的差分数据转换成量化关键值数据的一个反向DPCM操作中,并且对应于反向DPCM操作模式的组合;以及使用在反向量化中的第二反向量化信息,以便通过反向量化该量化的关键值数据而产生恢复的关键值数据。 The key value data encoding / decoding information comprises: from entropy decoding the bit stream decoding dictionary information, including information about the key value represents the dictionary data encoded difference data symbols; position of the first position index, indicating the symbol ; and dictionary decoding mode indicating that going to a dictionary for decoding method performed by the first position index; second reverse DPCM operational information, including the location of the second position indicator index, which is used in the composition of each vertex dictionary decoded differential data into quantized key value data of an inverse DPCM operation, and corresponds to a combination of the reverse DPCM operation mode; and in the inverse quantization using the second inverse quantization information, in order to reverse quantizing The key value of the data generated by the quantized key value data recovery.

附图说明 Brief Description

通过参照附图对优选实施例的详细描述,本发明的上述目的和优点将变得更为显见:图1是传统坐标内插符编码器和传统坐标内插符解码器的框图;图2是一个根据本发明一个优选实施例的用于编码坐标内插符装置的框图;图3A是一个根据本发明一个优选实施例的关键字数据编码器的框图;图3B是一个图3A所示的DND处理器的框图;图4A至4G是一个按照本发明一个优选实施例用于编码关键字数据方法的流程图;图5是一个表示函数encodeSignedAAC的一个实例的示意图;图6A至6J是表示关键字数据的示意图,该关键字数据已经经过了一个按照本发明优选实施例的关键字数据编码操作;图7A是一个根据本发明优选实施例的关键值数据编码器的框图,而图7B是一个根据本发明优选实施例的用于编码坐标内插符的关键值数据的一种方法的流程图;图8A是一个在根据本发明优选实施例的关键值数据编码器中的DPCM处理器的框图,而图8B是一个根据本发明优选实施例的字典编码器的框图;图9A是一个根据本发明优选实施例的量化操作的流程图,图9B是一个根据本发明优选实施例的DPCM操作的流程图,图9C是一个根据本发明优选实施例的字典编码操作的流程图,而图9D是一个根据本发明优选实施例的熵编码操作的流程图;图10A至10C分别是说明量化的关键值数据、DPCM的关键值数据和循环量化的关键值数据的示意图; By reference to the drawings the detailed description of the preferred embodiments, the above objects and advantages of the present invention will become more apparent: Figure 1 is a block diagram of the interpolating symbol traditional coordinate interpolation symbol encoder and the decoder of the conventional coordinate; FIG. 2 is According to the present invention, a block diagram of an embodiment for encoding the character coordinate interpolation apparatus according to a preferred embodiment; Fig. 3A is a block diagram of a preferred embodiment according to the present invention, an example of the key data encoder; Figure 3B is shown in Figure 3A a DND block diagram of the processor; 4A to 4G according to the present invention is a preferred embodiment of a flowchart of a method for encoding key data; FIG. 5 is a diagram showing an example of a function encodeSignedAAC representation; 6A to 6J is a keyword a schematic view of data, the key data has been a key data encoding in accordance with a preferred embodiment example of the operation of the present invention; Figure 7A is a block diagram of the key value data encoder according to a preferred embodiment of the present invention and are in accordance with FIG. 7B is a A flowchart of the encoding method for character coordinate interpolation key value data of the preferred embodiment of the present invention; FIG. 8A is a block diagram showing the key value data encoder preferred embodiment of the invention in the DPCM processor according to, and Fig 8B is a block diagram of an embodiment of the present invention according to a preferred embodiment of the encoder dictionary; Figure 9A is a flowchart of a quantization operation according to a preferred embodiment of the present invention, FIG. 9B is a flowchart of a DPCM operation according to a preferred embodiment of the present invention and Fig. 9C is a flowchart of a dictionary encoding operation according to a preferred embodiment of the present invention, and FIG. 9D is a flowchart showing the operation of entropy coding according to a preferred embodiment of the present invention; Figs. 10A to 10C respectively illustrate quantized key value The key value of the data key value data and circulation data, DPCM quantization schematic diagram;

图11A是一个说明根据本发明优选实施例的DPCM模式编码方法的示意图,图11B是一个说明根据本发明优选实施例的出现模式编码方法的示意图,而图11C是一个说明根据本发明优选实施例的增量模式编码方法的示意图;图12是一个根据本发明一个优选实施例的用于解码坐标内插符的装置的框图;图13是一个根据本发明一个优选实施例的关键字数据解码器的框图;图14A是一个根据本发明优选实施例的用于解码关键字数据的一种方法的流程图,而图14B是图14A所示步骤S14500的详细流程图;图15A是一个根据本发明优选实施例的用于解码关键值数据的装置的框图,而图15B是根据本发明优选实施例的用于解码关键值数据的一种方法的流程图;图16A是一个根据本发明优选实施例的字典解码器的框图,而图16B是一个在根据本发明的一个用于解码关键值数据的装置中的反向DPCM处理器的框图;图17A是一个根据本发明优选实施例的字典解码方法的流程图,而图17B是一个反向DPCM操作的流程图;图18A是一个表示比特数据流的结构的示意图,该比特数据流包括坐标内插符的顶点和其成份数据;图18B是一个表示程序代码的实例的示意图,通过该程序代码实现使用在根据本发明的一个熵解码器中的一个函数decodeSignedQuasiAAC();图19A是一个说明根据本发明优选实施例的一种DPCM模式解码方法的示意图,图19B是一个说明根据本发明优选实施例的出现模式解码方法的示意图,而图19C是一个说明根据本发明优选实施例的增量模式解码方法的示意图;以及图20A至20L是示出SDL程序代码的实例的示出,通过该SDL程序代码,实现根据本发明优选实施例的用于对坐标内插符的关键字数据和关键值数据进行解码的装置。 11A is a schematic diagram illustrating the DPCM mode encoding method according to a preferred embodiment of the present invention, FIG. 11B is a schematic diagram illustrating the appearance pattern encoding method according to a preferred embodiment of the present invention, and FIG. 11C is a description of a preferred embodiment of the present invention A block diagram of the decoding apparatus for character coordinate interpolation Figure 12 is an embodiment of the present invention, a preferred;; schematic incremental mode coding method of FIG. 13 according to the present invention is a key data decoder with a preferred embodiment a block diagram; Figure 14A is a flow diagram of a method for decoding key data according to a preferred embodiment of the present invention, and FIG 14B is a detailed flowchart shown in step S14500 in FIG. 14A; Fig. 15A according to the present invention is an a block diagram of the preferred embodiment of the apparatus for decoding key value data, and FIG 15B is a flowchart of a method for decoding key value data according to a preferred embodiment of the present invention; FIG. 16A is an embodiment of the present invention according to a preferred dictionary decoder block diagram, and FIG 16B in accordance with the present invention is a block diagram of an apparatus for decoding key value data of inverse DPCM processor is used; FIG. 17A is a dictionary decoding method according to a preferred embodiment of the present invention flow chart, while Figure 17B is a flowchart of a reverse DPCM operation; FIG. 18A is a schematic view of the structure of the bit stream representation of the bit stream and its components including vertex coordinate data in the interpolated symbols; Figure 18B is a shows a schematic view of an example of program code, the program code by using an entropy decoder according to the present invention, a function decodeSignedQuasiAAC (); Fig. 19A is a drawing illustrating a DPCM mode decoding method according to a preferred embodiment of the present invention schematic view, FIG. 19B is a schematic diagram illustrating the appearance pattern decoding method according to a preferred embodiment of the present invention, and FIG. 19C is a schematic diagram illustrating the incremental mode of embodiment of the decoding method according to a preferred embodiment of the present invention; and Figs. 20A to 20L are diagrams showing shows an example of SDL program code, through the SDL program code, for the implementation example of the coordinates of the interpolated symbol key data and key value data decoding apparatus according to a preferred embodiment of the present invention.

具体实施方式 DETAILED DESCRIPTION

下面,将参照表示本发明优选实施例的附图更详细地描述根据本发明优选实施例的用于编码坐标内插符的装置。 Next, with reference to the encoding means for showing symbols of coordinate interpolation according to a preferred embodiment of the present invention is described in more detail with reference to a preferred embodiment of the present invention.

图2是根据本发明一个优选实施例的用于编码坐标内插符的装置的框图。 Figure 2 is a block diagram of the present invention, a preferred encoding for the character coordinate interpolation apparatus according to an embodiment. 参考图2,用于编码坐标内插符的装置包括:关键字数据编码器300,编码输入其中的坐标内插符的关键字数据;关键值数据编码器700,编码输入其中的坐标内插符的关键值数据;和标题编码器500,编码为了解码由关键字数据编码器300编码的关键字数据和由关键值数据编码器700编码的关键值数据所需要的信息。 2. A device for intra-coded coordinates interpolated character reference chart include: keyword data encoder 300 encodes the input coordinates within which the key is inserted character data; the key value data encoder 700 encodes the input coordinates within which the insert character 500, in order to decode the information encoded by the encoding key data encoder 300 and the key data by the key value data encoder 700 encodes key value data needed and header encoder; key value data.

下面参照图3A至6J对关键字数据编码器300进行描述。 300 will be described below with reference to FIG. 3A to 6J keyword data encoder.

图3A是关键字数据编码器300的一个框图。 Figure 3A is a block diagram of a key data encoder 300. 参考图3A,关键字数据编码器300包括一个线性关键字编码器310、一个量化器320、一个DPCM处理器330、一个移位器340、一个折叠处理器350、一个DND处理器360和一个熵编码器370。 3A, the key data encoder 300 includes 310, a quantizer 320, a DPCM processor 330, a shifter 340, a folding processor 350, a DND processor 360, and an entropy encoder is a linear keyword The encoder 370.

线性关键字编码器310识别一个区域,其中该关键字数据在一个完整的关键字数据范围中线性地增加,并且编码该区域。 A linear encoder 310 to identify a key area, wherein the key data linearly increase in an entire key data range and encodes the region. 量化器320使用能够最小化一个量化误差的量化方法量化输入其中的关键字数据。 Quantizer 320 can be minimized using a quantitative method to quantify the input quantization error among the key data. DPCM处理器330接收量化的关键字数据并且产生该量化的关键字数据的差分数据。 DPCM processor 330 receives quantized key data and generates differential data of the quantized key data. 移位器340从所有的差分数据减去具有最高频率的一个差分数据。 Shifter 340 subtracts a differential data having the highest frequency of all of the differential data. 折叠处理器350把所有的的差分数据变换到一个正数区域或一个负数区域。 Folding processor 350 converts all of the differential data to a positive number region or a negative region. DND处理器360通过执行一个分割操作,然后有选择地对于该差分数据执行一个上分割操作或一个下分割操作,来减小关键字数据的差分数据的范围。 DND processor 360 by performing a segmentation operation, then the differential for selectively executing one of the data dividing operation or a lower split operation, to reduce the range of differential data of key data. 熵编码器370使用函数SignedAAC或UnsignedAAC编码差分数据,由此在每个比特平面上编码该差分数据。 The entropy coder 370 using a function SignedAAC or UnsignedAAC encoded difference data, thereby encoding the differential data on each bit plane.

下面,参照图4A和4B描述关键字数据编码器300的操作。 Next, referring to FIG. 4A and 4B describe the operation of the key data encoder 300. 图4A和4B是根据本发明的用于编码关键字数据的方法的流程图。 4A and 4B are a flowchart of method according to the present invention for encoding the key data.

当关键字数据被输入到关键字数据编码器300时,例如关键字数据的数量和关键字数据位数的信息被输入到标题编码器500并且随后被编码。 When key data is input to the key data encoder 300, e.g., the number of bits of key data and key data information is input to the header encoder 500 and is then encoded. 在步骤S4000中,线性关键字编码器310首先在该输入的关键字数据中寻找一个线性关键字区域,即其中以确定的时间间隔出现关键帧、关键字数据具有相同的差值并且该关键字数据线性地关键字数据的一个区域,并且编码该搜索的线性关键字区域。 In step S4000, the linear key encoder 310 first looks at the inputted key data of a linear key region, i.e., to determine the time interval in which the key frame appears, key data have the same difference between the keyword and Data linearly an area of key data, and the linear region encoding the keyword search.

例如3DMax或Maya的著名应用软件使用在具体的区域之间具有预定的时间间隔的关键字来产生基于关键字帧的动画。 E.g. 3DMax or Maya famous application software between a region having a specific time interval of a predetermined key to generate key frame-based animation. 在此情况中,有可能使用一个线性关键字数据区域的开始和结束关键字数据以及存在于它们之间的关键帧的数目来容易地编码关键字数据。 In this case, it is possible to use the start and end key data of a linear key data region and the number of key frames present in between them to be easily coded key data. 因此,线性预测对于使用一个内插器在一个确定的区域中对关键字进行编码是非常有用的。 Therefore, using a linear prediction in an interpolator determines the coding region of keywords is very useful.

下面方程式被用于线性预测。 The following equation was used 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) & CenterDot; & CenterDot; & CenterDot; (1)]]> where, tS represents keywords beginning of a local linear region of the data, tE represents the end of a local linear region of the keyword data, S represents an index tS, and E represents an index of tE. 在从第S关键字数据到第E关键字数据的一个具体区域中的实际关键字数据之间的误差以及遵循方程式(1)线性预测的关键字数据能够使用下面的方程式计算。 Error between the actual key data in a specific region of the key data from S to the first key data in the E and between the follow equation (1) Linear Prediction keyword data can be calculated using the following equation.

ei=t(i)-ti+S=tE-tSE-Si+tS-ti+S···(2)]]>如果使用方程式(2)计算的误差当中的最大值不大于一个预定的临界值,则ti能够被认为是在区域[tS,tE]中或在一个确定误差范围之内的共线性的。 ei = t (i) -ti + S = tE-tSE-Si + tS-ti + S & CenterDot; & CenterDot; & CenterDot; (2)]]> If you are using equation (2) the maximum error calculation of which is not greater than a predetermined The critical value, ti can be considered in the region [tS, tE] or in a co-linear within the error of determining the range of. 使用下面方程式(3)确定该最大误差值ti是否具有具体的区域共线性。 Use the following equation (3) to determine whether the maximum error value ti have specific regional co-linearity.

Ep=MAXi=0,...(ES)|ei|=MAXi=0,...(ES)|tE-tSE-Si+tS-ti+S|···(3)]]>如果Ep≤12nBits+1,]]>ti则与区域[tS,tE]共线性。 Ep = MAXi = 0, ... (ES) | ei | = MAXi = 0, ... (ES) | tE-tSE-Si + tS-ti + S | & CenterDot; & CenterDot; & CenterDot; (3)]] > If Ep & le; 12nBits + 1,]]> ti the regional [tS, tE] collinearity. 其中,nBits表示用于编码的比特的数量。 Wherein, nBits represents the number of bits for encoding.

如果线性关键字编码器310寻找该局部线性区域,则该局部线性关键字数据区域的开始和结束关键字数据被输出到一个浮点数转换器315。 If the linear key encoder 310 to find the local linear region, the beginning and ending key data of the partially linear key data region is output to a floating-point number converter 315. 包括在该线性关键字数据区域中的关键字的数目被输出到标题编码器500并且被编码。 The number of keywords that include the linear key data region is output to the header encoder 500 and is encoded. 使用线性编码有可能显著地降低需编码的数据量。 Using a linear coding it is possible to significantly reduce the amount of data to be encoded.

在稍后描述的浮点数转换器315中,使用浮点数转换执行对于开始关键字数据和结束关键字数据的编码。 In the floating-point converter 315 described later, the use of floating-point execution data for the beginning and end of the keyword keyword data encoding.

浮点数转换器315把二进制表示的关键字数据转换成十进制关键字数据,以便编码该开始关键字数据和结束关键字数据。 Float key data converter 315 converts the binary representation of the decimal key data for key data encoding the beginning and end of key data.

计算机以32比特的二进制数字存储浮点数字。 Computer with 32-bit binary floating-point number of digital storage. 如果给出二进制表示的一个浮点数,浮点数转换器315将把该浮点数转换成十进制的一个尾数和一个指数,此过程由随后方程式表示。 A float, float converter 315 will convert if given a binary representation of the decimal floating point number into a mantissa and an exponent, then this process is represented by the equation.

例如,一个浮点数12.34能够通过计算机转换成一个下面所示的二进制数。 For example, a float 12.34 through computer into a binary number shown below.

010001010111000010100011100000101 2 31:符号2:二进制尾数3:二进制指数该二进制数能够遵循方程式(4)转换成下列所示的十进制数。 010001010111000010100011100000101 2 31: 2 Symbols: binary mantissa 3: binary exponent of the binary number to follow the equation (4) is converted into a decimal number as shown below.

0123421 2 31:符号2:十进制尾数3:十进制指数为了把十进制中的尾数和指数包括在一个比特数据流中,必须计算为了表示该尾数和该指数所要求的比特数目。 0123421231: Symbol 2: Decimal mantissa 3: In order to decimal decimal exponent mantissa and exponent included in a bit stream, the number of bits to be calculated in order to represent the mantissa and the exponent required. 具有在-38和38之间的一个值的指数因此能够连同符号一起使用7比特表示。 Index having a value between -38 and 38 can be used with symbols together with 7 bits. 为了表示该尾数而需要的比特的数量取决于数字的位数。 The number of bits required to represent the mantissa is dependent on the number of digits. 尾数的值和为了表示该尾数而需要的比特的数量以下表示出。 Mantissa and the number of values to represent the mantissa bits required is shown below.

表2 Table 2

已经寻找并且使用上述处理而转换的该线性关键字数据区域的开始和结束关键字数据被遵循图4C和4D所示的编码处理编码,输出到标题编码器500,并且存储在该比特数据流中。 Start and end key data have been sought, and using the processing and conversion of the linear key data region encoding process is followed in Fig. 4C and Fig. 4D, is output to the header encoder 500, and stores the data in the bit stream .

图4C和4D示出对输入到浮点数转换器315的两个浮点数字进行编码的一个处理。 A process of FIG. 4C and 4D show the input to the floating-point number converter 315 encodes the two floating-point numbers. 将参考图4C和4D描述浮点数转换器205编码一个浮点数的方法。 Will be described in reference to FIG. 4C and 4D float converter 205 floating-point encoding method.

浮点数转换器315接收原始关键字数据的位数Kd、开始关键字数据S和结束E,并且在步骤S4040中遵循方程式(4)对它们转换。 Floating-point number converter 315 receives the original number of bits of key data Kd, beginning key data S and the end E, and follows the step S4040 in the equation (4) to convert them.

浮点数转换器315首先编码S。 Float encoding converter 315 S. First 具体地说,浮点数转换器315检验S的位数是否不同于Kd。 Specifically, the median float converter 315 test whether S is different from Kd. 如果位数S不同于Kd,则获得S的位数并且在步骤S4042中输出到标题编码器500。 If the number of S is different from Kd, the number of bits S and is obtained in step S4042 are output to the header encoder 500. 浮点数转换器315使用函数Digit()获得S的位数。 Float converter 315 using the function Digit () to get the number of bits of S.

如果S的位数大于7,则在步骤4043中使用一个预定的比特数量把S输出到标题编码器500(在本发明中,按照IEEE标准754的浮点数方式使用32比特),以便在该比特数据流中能够包括该S的位数。 If the number of S is greater than 7, is used in step 4043 a predetermined number of bits to S 500 is output to the header encoder (in the present invention, in accordance with the IEEE Standard 754 floating-point number manner of use of 32 bits), so that the bit the data stream can include the number of bits of the S.

如果该S的位数不是0并且小于7,则浮点数转换器315在步骤4044中把S的符号输出到标题编码器。 If the number is not in the S 0 and less than 7, the floating-point converter 315 in step S 4044 in the sign of the output to the header encoder. 使用表格2获得为了编码S的尾数的绝对值需要的比特数目。 Use Table 2 the number of bits in order to obtain the absolute value of S mantissa coding required. 随后,使用在步骤4045中用表格2获得的比特数目,把S的尾数的绝对值输出到标题编码器500。 Subsequently, in step 4045 by using the number of bits obtained in Table 2, the absolute value of the mantissa of S is output to the header encoder 500. 在步骤S4046中,浮点数转换器315计算S的指数,输出S的符号到标题编码器500,并且输出该指数到标题编码器500,作为例如6比特的一个预定的数量。 In step S4046, the floating-point number converter 315 calculate the symbol index S, S is output to the header encoder 500, and outputs the exponent to the header encoder 500, for example, six bits as a predetermined number. 这种关键字数据转换使得有可能显著地降低包括在比特数据流中比特的数量。 Such key data conversion makes it possible to significantly reduce the bit stream comprising the number of bits.

如果S的位数是0,则对于该开始关键字数据的编码结束,并且该方法转到对该结束关键字数据E进行转换的步骤,因为当该S的位数是0时,该对应浮点数也是0,不需要进行编码。 If the number of S is 0, then for encoding the beginning key data is completed, and the method proceeds to the end step of converting the key data E because when the S bit is 0, the corresponding floating points is 0, do not need to be encoded.

在对开始关键字数据S进行转换和编码之后,浮点数转换器315转换结束关键字数据E。 After the start of the S key data conversion and encoding, float converter 315 converts the end of the keyword data E. E的转换几乎与S的转换相同。 E converting almost identical with the conversion of S. 具体地说,在步骤S4047中验证E的指数是否与S的指数相同。 Specifically, Verify E in step S4047 in the same index and S index. 如果E的指数与S的指数相同,则只有表示E的指数与S的指数是相同的一个标记位被输出到标题编码器500。 If the exponent E and S of the same index, only the index and S E represents the exponent a is the same flag bit is output to the header encoder 500. 如果E的指数与S的指数不相同,则在步骤S4048中以与S的指数输出到标题编码器500的同样方式把E的指数以及该标记位输出到标题编码器500。 If the exponent E and S index is not the same, then in step S4048 to the index S is output to the header encoder 500 in the same manner as the exponent E and the flag bit is output to the header encoder 500.

在不属于该线性关键字区域的输入关键字数据当中的关键字数据被输入到量化器320中,然后根据一个预定的量化比特大小nKeyQBit被量化。 Key data in the input key data does not belong to the linear key region which is input to the quantizer 320, and then according to a predetermined quantization bit size nKeyQBit be quantized.

但是,在用一个解码器解码该量化的关键字数据的情况下,由于在原始关键字数据和该量化关键字数据之间的误差的原因,不可能的完全地恢复原始关键字数据。 However, in the case of using one decoder decodes the quantized key data, due to reasons between the original key data and the key data of the quantization error, it is impossible to completely restore the original key data. 因此,本发明的量化器320获得在输入关键字数据当中的最大值和最小值,并且使用该最大和最小值量化该输入关键字数据。 Therefore, the quantizer 320 of the present invention to obtain maximum and minimum values among the input key data, and using the maximum and minimum values of the input key data is quantized. 此外本发明的量化器320包括一个量化误差最小化器325,使得在原始关键字数据和其量化的关键字数据之间的误差能够使用在输入关键字数据当中的该最大和最小值被最小化。 Further the present invention quantizer 320 includes a quantization error minimizer 325, such that the error between the original key data and their quantized key data can be used in the input key data among the maximum and minimum values are minimized .

在步骤S4100,量化误差最小化器325预先使用控制量化范围的一种方法量化或反向量化该输入的关键字数据,使得能够最小化该量化误差。 In step S4100, the quantization error minimizer 325 in advance using a method for controlling the quantization range of the quantization or inverse quantization of the input key data, making it possible to minimize the quantization error.

具体地说,如果用于量化的混合最大值是由Max表示,被控制用于量化的最小值由Min表示,输入值由Xi表示,用于量化的比特数目由nQuantBit,则使用下面方程式获得量化输入值 Specifically, if a mixed maximum value used for quantization is represented by Max, a minimum value to be controlled for quantization is represented by Min, an input value is represented by Xi, the number of bits for quantization by nQuantBit, quantization is obtained using the following equation Enter a value 反向量化值 Inverse quantization values 和误差ei。 And error 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]]>有两种减小误差取和∑ei的方法。 X ~ i = floor (Xi-MinMax-Min * (2nQuantBit-1) +0.5) & CenterDot; & CenterDot; & CenterDot; (5)]]> X ^ i = X ^ i * (Max-Min) 2nQuantBit-1 + Min ]]> ei = Xi-X ^ i]]> There are two methods to reduce the error of taking and Σei. 一种降低误差的取和的方法是通过连续控制器Min直到错误的取和被最小化。 The method of extraction and a method for reducing errors by continuously controller Min until the error is taken and is minimized. 另外一种方法如下。 Another method is as follows.

首先假定Xi=(i+n)Δx+εi,其中Xi表示一个输入关键字数据序列,Δx表示输入数据的一个基本步骤规模,n是一个任意的整数,而εi表示零平均随机噪声。 First, assume that Xi = (i + n) Δx + εi, where Xi indicates an input key data sequence, Δx represents a basic step size of input data, n is an arbitrary integer, and εi represents zero mean random noise.

随后,当di≡Xi-Xi-1=Δx+(εi-εi-1)时,Δ'x=E[di]并且Min=Max-Δ'x*(2nQuantBit-1)。 Subsequently, when di≡Xi-Xi-1 = Δx + (εi-εi-1) when, Δ'x = E [di] and Min = Max-Δ'x * (2nQuantBit-1).

有可能最小化一个量化误差的Min同Max被输入到量化器320,并且被用于关键字数据的量化。 There is possible to minimize a quantization error with Min Max are input to the quantizer 320, and is used to quantify the keyword data.

量化器320接收最大值Max和能够最小化量化误差和的最小值Min,并且在步骤S4200中遵循方程式(6)量化关键字数据fKeyi。 The quantizer 320 receives the maximum value Max and the quantization error can be minimized and the minimum value Min, and in step S4200 the follow equation (6) quantizing the key data fKeyi.

nQKeyi=floor(fKeyi-fKeyMinfKeyMax-fKeyMin(2nKeyQBit-1)+0.5)···(6)]]>其中,i表示量化后关键字数据的一个索引,nQKeyi表示量化关键字数据的整数的一个数组,fKeyi表示量化关键字数据的浮点数字数组,fKeyMax表示从量化误差最小化器325输入的最大值,fKeyMin表示从量化误差最小化器325输入的最小值,nKeyQBit表示量化比特的大小。 Integer (6)]]> where, i represents an index key quantized data, nQKeyi representing the quantized key data; nQKeyi = floor (fKeyi-fKeyMinfKeyMax-fKeyMin (2nKeyQBit-1) +0.5) & CenterDot; & CenterDot; & CenterDot an array, fKeyi words represent floating-point set of quantized key data, fKeyMax represents the maximum quantization error is minimized from 325 input, fKeyMin representation from the minimum quantization error minimizer 325 inputs, nKeyQBit represents the size of quantized bits . 在方程式(6)中,函数floor(v)是一个输出不大于一个确定的浮点值v的最大整数的函数。 Equation (6), the function floor (v) is an output function of the maximum integer not greater than a certain floating-point value v.

本发明的量化器320可以不使用降低一个量化误差的算法,这时仅使用输入关键字数据中的最大和最小值fKeyMax和fKeyMin进行量化。 Quantizer 320 of the present invention may not use an algorithm to reduce the quantization error, then only the input key data using the maximum and minimum values fKeyMax and fKeyMin to quantify.

参照图4E更详细地描述本发明的量化操作。 Quantizing operation of the present invention is described in more detail with reference to FIG. 4E.

量化器320在步骤S4210中接收关键字数据,并且在步骤4220中检测是否从量化误差最小化器325输入了最大和最小值MAX和MIN。 The quantizer 320 receives key data in step S4210, and detects whether the quantization error minimizer 325 inputs the maximum and minimum values MAX and MIN in the step 4220.

如果输入了MAX和MIN,量化器320在步骤4230中分别把用于量化的最大和最小值fKeyMax和fKeyMin设置为MAX和MIN,并且把这新的最大和最小值fKeyMax和fKeyMin输出到浮点数转换器315。 If you enter the MAX and MIN, 320, respectively, to quantify in step 4230 to quantify the maximum and minimum fKeyMax and fKeyMin set to MAX and MIN, and this new maximum and minimum fKeyMax and output to the floating-point conversion fKeyMin 315. 该最大和最小值fKeyMax和fKeyMin经过上述浮点数转换处理而被转换并且编码,并且被输出到标题编码器500,使得它们能够被包括在进行解码中使用的一个关键字标题中。 The maximum and minimum values fKeyMax and fKeyMin through said floating point conversion process is converted and encoded and is output to the header encoder 500, such that they can be used in the decoding comprises performing a keyword in the title.

如果没有从该量化误差最小化器325输入的值,则在步骤S4240中,量化器320分别把第一关键字数据fKey0和最终关键字数据fKeyN-1设置为最小值fKeyMin和最大值fKeyMax。 If no value from the quantization error minimizer 325 input, then in step S4240, the quantizer 320, respectively, the first and final key data fKey0 keyword data fKeyN-1 is set to the minimum value fKeyMin and the maximum value fKeyMax.

随后,量化器320在步骤S4250中检验最大值fKeyMax是否小于1但大于0,以及最小值fKeyMin是否大于0。 Subsequently, the maximum value fKeyMax test quantizer 320 is less than 1 but greater than 0, and the minimum value fKeyMin is greater than 0 in step S4250 in. 如果最大值fKeyMax不小于1或不大于0,则该最大和最小值fKeyMax和fKeyMin被输出到浮点数转换器315,并且经过上述浮点数转换过程被转换和编码。 If the maximum value fKeyMax not less than 1 or greater than 0, the maximum and minimum fKeyMax and fKeyMin is output to the floating-point converter 315, and after the above process is to convert floating-point conversion and encoding. 随后,在步骤S4260中,已经转换和编码的最大和最小值fKeyMax和fKeyMin被包括在关键字标题中,使得它们可被用于进行解码。 Subsequently, in step S4260, the conversion and encoding have maximum and minimum values fKeyMax and fKeyMin to be included in the key header, so that they can be used for decoding.

另一方面,如果最大值fKeyMax小于1并且最小值fKeyMin大于0,则在步骤S4270中检验的一个标志,该标志表示最大和最小值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 S4270 the inspection of a flag that indicates whether the maximum and minimum values fKeyMax and fKeyMin will be included in a key for use during the decoding word in the title. 如果该标志被设置而使得最大和最小值fKeyMax和fKeyMin能够被包括在该关键字标题中,则执行步骤S4260,以使最大和最小值fKeyMax和fKeyMin被输出到标题编码器500。 If this flag is set and that the maximum and minimum fKeyMin fKeyMax and can be included in the keyword in the title, then step S4260, so that the maximum and minimum fKeyMax and fKeyMin is output to the header encoder 500. 如果没有设置该标志,则量化器320将不允许该最大和最小值fKeyMax和fKeyMin包含在该关键字标题中。 If this flag is not set, then the 320 will not allow quantification of the maximum and minimum fKeyMax and fKeyMin included in the keyword in the title.

在该最大和最小值fKeyMax和fKeyMin不被包括在该关键字标题中的一个情况中,关键字数据编码器300和一个关键字数据解码器被分别来执行编码和解码处理,分别以1和0建立该最大和最小值fKeyMax和fKeyMin。 In the maximum and minimum values fKeyMax and fKeyMin are not included in the key header a case, the key data encoder 300 and is a key data decoder to respectively perform encoding and decoding processing, respectively 1 and 0 The establishment of the maximum and minimum fKeyMax and fKeyMin. 在此情况中,量化器320在步骤S4280中分别以1和0设置该最大和最小值fKeyMax和fKeyMin。 In this case, the quantizer 320 1 and 0 set the maximum and minimum values fKeyMax and fKeyMin at step S4280, respectively. 对于该关键字数据解码器来说,该最大和最小值fKeyMax和fKeyMin是已经知道的,使得fKeyMax和fKeyMin不需要包括在该关键字标题中。 For the keyword data decoder for the maximum and minimum fKeyMax and fKeyMin is already known, so fKeyMax and fKeyMin not need to include the keywords in the title.

通过将上述处理已经设置的最大和最小值fKeyMax和fKeyMin替代到方程式(6)中,量化器320在步骤S4290中量化该输入的关键字数据,并且把该量化的关键字数据输出到一个DPCM处理器330。 By the above-described processing has been set the maximum and minimum values fKeyMax and fKeyMin alternative to equation (6), a quantizer 320 quantizing the key data inputted in the step S4290, and outputs the quantized key data to a DPCM processing 330.

DPCM处理器330接收该量化的关键字数据,并且对于该量化的关键字数据执行预定的次数的DPCM。 The DPCM processor 330 receives quantized key data and performs DPCM for a predetermined number of times of the quantized key data. 随后,DPCM处理器330输出DPCM的阶数以及每一个周期中获得的DPCM的帧内关键字数据到标题编码器500,通过该DPCM的阶数获得分散程度中的最小值。 Subsequently, the number and order of each cycle of DPCM DPCM processor 330 outputs the obtained data to the DPCM of key frame header encoder 500, the degree of dispersion of the minimum value is obtained by the order of DPCM. 在步骤S4300中,DPCM处理器330把由DPCM产生的差分数据输出到移位器340。 In the step S4300, DPCM from the DPCM processor 330 outputs differential data generated to the shifter 340.

参考图4F,在步骤S4310中,DPCM处理器330对于输入的关键字数据执行预定次数的DPCM,并且按照DPCM的阶数存储DPCM的周期数目。 With reference to Figure 4F, in the step S4310, DPCM processor 330 for key input data performed a predetermined number of DPCM, DPCM and the number according to the order of DPCM storage period. 在本发明的一个优选实施例中,DPCM可以被执行三次。 In a preferred embodiment of the present invention, DPCM may be performed three times.

然后,在步骤S4320中,DPCM处理器330计算DPCM的每一周期的结果的分散程度。 Then, in the step S4320, DPCM processor 330 calculate the degree of dispersion of the results of each cycle of DPCM. 这里,分散程度可以由分散角、标准偏差或四分位偏移表示,而在本发明的一个优选实施例中,可以使用四分位偏移。 Here, the degree of dispersion can be an angle formed by dispersion, standard deviation, or quartile deviation indicated, in a preferred embodiment of the present invention, quartile deviation may be used.

随后,DPCM处理器330选择DPCM的一个周期,通过该DPCM周期能够获得在该分散程度中的最小值,并且把该选择的DPCM阶数的结果输出到移位器340。 Subsequently, DPCM processor 330 selects a cycle of DPCM, DPCM cycle can be obtained by the minimum value of the degree of dispersion, and the results of the DPCM order the selected output to shifter 340. 在步骤S4330中,DPCM的选择周期、DPCM的每一周期的帧内关键字数据以及用于DPCM所需要的信息的其它部分被输出到标题编码器500。 In the step S4330, DPCM selection period, intra key data of each cycle of DPCM and other parts of the required information for DPCM are output to the header encoder 500. 然而在本发明的一个优选实施例中,如果关键字的数目小于5,则DPCM仅执行一次。 However, in a preferred embodiment of the present invention, if the number of the keyword is less than 5, the DPCM is performed only once. 例如,DPCM的第一周期的执行遵循方程式(7)。 For example, a first cycle of DPCM is performed following the equation (7).

Δi=nQKeyi+1-nQKeyi…(7)其中,i表示量化后关键字数据的索引,nQKeyi表示整数数组,而Δi表示差分数据。 Δi = nQKeyi + 1-nQKeyi ... (7) where, i represents the quantized data of the index keys, nQKeyi represents an array of integers, and Δi indicates differential data.

在步骤S4340中,DPCM处理器330计算为了对DPCM选择的周期的结果进行编码所要求的比特数目以及已经由DPCM在一个预定的存储器中产生的该关键字数据的差分数据(nQStep DPCM)。 In the step S4340, DPCM processor 330 in order to calculate the results of the selected cycle of DPCM is performed the number of bits required for encoding, and that has been generated by DPCM in a predetermined memory of the key data of the difference data (nQStep DPCM). 为了进行编码所要求的比特数量的计算也可以稍后在选择将要被编码的关键字数据的随后步骤中执行,这对本专业技术人员来说是显然的。 For calculation of the number of bits required for encoding may also be encoded to be the subsequent step in the execution of key data later in the selection, which is skilled in the art is apparent.

移位器340从来自DPCM处理器330的输入差分数据当中选择具有最高频率的一个差分数据(在下文称作一个模式)。 Shifter 340 to select a differential data having the highest frequency (hereinafter referred to as a pattern) from the differential data input from the DPCM processor 330 of them. 随后,在步骤S4400中,移位器340从所有的差分数据减去该模式,以使大部分将要被编码的数据围绕0排列并且用于编码所需要的比特数目能够被减少。 Subsequently, in step S4400, the shifter 340 subtracts the mode from all the differential data, so that the majority will be arranged around 0 and the encoded data for the number of bits required for encoding can be reduced.

这种移位操作通过从量化关键字数据减去模式nKeyShift进行,由下面方程式表示。 Such a shift operation performed by nKeyShift is subtracted from the quantized key data pattern, represented by the following equation.

shift(nQKeyi)=nQKeyi-nKeyShift …(8)其中,i表示量化后关键字数据的一个索引,nQKeyi表示整数数组,而nKeyShift表示一个模式值。 shift (nQKeyi) = nQKeyi-nKeyShift ... (8) where, i represents an index of quantized key data, nQKeyi represents an array of integers, and nKeyShift indicates a mode 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 is used to be able to be significantly reduced.

已经通过该移位操作的关键字数据被输出到折叠处理器350和DND处理器360,并且模式值nKeyShift被输出到标题编码器500,以使其被包括在该关键字标题中。 Key data has been output by the shift operation to the folding processor 350 and the DND processor 360, and the mode value nKeyShift is output to the header encoder 500, so as to be included in the key header.

在步骤S4500中,折叠处理器350对于移位器340的输出执行一个折叠操作,并且该折叠操作的结果输出到DND处理器360。 In step S4500, the processor 350 for folding the output of the shifter 340 perform a folding operation, and outputs the result of the folding operation to the DND processor 360.

该折叠操作被用于降低差分数据的范围,通过把它们集中在正或负数区域中,该差分数据广泛地散布在一个正数区域和一个负数区域之上。 The folding operation is used to reduce the range of differential data, by which are centered in the positive or negative area, the difference data is widely dispersed over a positive number region and a negative region. 在本实施例中,折叠操作遵循方程式(9)执行,以便把差分数据集中在该正数区域中。 In the present embodiment, the folding operation follows the equation (9) to do, in order to concentrate the differential data in the positive number region.

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) where, i denotes an index of quantized key data, and nQKeyi represents an array of integers. 作为折叠操作的结果,正差分数据被转换成偶数,而负差分数据被转换成奇数。 As a result of the folding operation, positive differential data are converted into an even number, while the negative differential data are converted into odd.

折叠处理器350计算为了编码已经通过该折叠操作的差分数据所需的比特数量并且将其存储在预定的存储器nQStep_fold中。 Folding processor 350 calculates the number of bits for encoding the differential data have been required by the folding operation and stores it in a predetermined memory nQStep_fold in. 在此步骤中,用于编码的所需比特数量的计算可以稍后在选择将要被熵编码的差分数据的一个随后步骤中执行,像步骤S9300那样,这对本专业人员来说是显然的。 In this step, the calculation of the number of bits required for encoding can be selected to be performed later in a subsequent step in the entropy encoded difference data, like the step S9300, as it is evident for the skilled in the art. 由折叠处理器350中的折叠操作产生的数据被输出到DND处理器360。 Data processor 350 by folding the folding operation is generated to the DND processor 360 output.

为了提高熵编码的效率,在步骤S4600中DND处理器360对于该关键字数据执行预定次数的DND操作,因此降低差分数据的范围。 In order to improve the efficiency of entropy encoding, the DND processor 360 in step S4600 to the key data for executing a predetermined number of times in the DND operation, thus reducing the range of the differential data.

参考图3B,DND处理器360包括:DND操作器362,对于差分数据执行DND操作;第一差分数据选择器364,根据用于进行编码的比特数目选择将要被熵编码的差分数据;上移操作器366:对于已经通过DND操作的差分数据执行一个上移操作;和第二差分数据选择器368,在仅通过DND操作的差分数据和已经通过上移位操作的差分数据之间选择具有较低分散程度的差分数据,并且把所选择的差分数据输出到熵编码器370。 With reference to FIG. 3B, DND processor 360 includes: DND operator 362, DND operation performed for the differential data; a first differential data selector 364, based on the number of bits used for encoding selection to be entropy-encoded difference data; shifting operations on 366: DND operation has passed for the differential data to execute a move operation; and a second differential data selector 368, only by DND operation between the differential data have been through the shift operation and differential data having a lower selection the degree of dispersion of the difference data, and outputs the selected differential data to the entropy encoder 370.

在下面段落中将描述DND操作器362中执行的DND操作。 In the following paragraphs describe DND DND operation performed 362 operations.

当该差分数据已经通过在该折叠处理器362中的折叠操作被输入到DND操作器362中时,它们被分为两组,具有比另一组差分数据更高范围的一组差分数据通过一个分割函数被移到该正数区域。 When the differential data have been through the folding operation of the folding processor 362 are input to the DND operator 362, they are divided into two groups, the other group of differential data having a higher range than that of a set of difference data by a partition function is moved to the positive zone. 该分割函数由下面方程式定义。 The partition function is defined by the following equation.

divide(nQKeyj,nKeyMax)&CenterDot;&CenterDot;&CenterDot;(10)]]>=nQKeyj-(nKeyMax+1),(ifnQKeyj>nKeyMax2)]]>=nQKeyj,(ifnQKeyi&le;nKeyMax2)]]>其中,j表示输入差分数据的一个索引,nQKeyj表示整数的一个数组,而nKeyMax表示在已经通过该折叠操作的差分数据当中的一个最大值。 divide (nQKeyj, nKeyMax) & CenterDot; & CenterDot; & CenterDot; (10)]]> = nQKeyj- (nKeyMax + 1), (ifnQKeyj> nKeyMax2)]]> = nQKeyj, (ifnQKeyi & le; nKeyMax2)]]>, j denotes an index of input differential data, nQKeyj represents an array of integers, and nKeyMax indicates has passed the folding operation of a maximum value among differential data. 特别地,在大部分差分数据沿着考虑所有的差分数据的整个区域的边界密集填充情况下,则有可能使用该分割操作显著地降低所有的差分数据的整个区域。 In particular, most of the difference data in the entire area along the border to consider all of the difference data intensive underfill situation, it is possible to use the dividing operation significantly reduces the entire region of all differential data.

在该分割操作之后,计算该分散程度,其中用于进行编码而需要的比特的大小被用作分散的度量,因此能够选择用于进行编码的比特大小的最小值。 After the dividing operation, the calculation of the degree of dispersion, wherein the size of bits required for coding a measure to be used as a dispersion, it is possible to select a minimum value for the encoding bit size.

DND操作之后,进一步执行不同种类的DND操作,即上分割操作或下分割操作。 After the DND operation, the further implementation of different types of DND operation, which operated on a split or split operation. 根据差分数据的一个正范围的大小和差分数据的一个负范围的大小确定是否将进一步执行一个上分割操作或一个下分割操作。 A negative range of the size and the size of a positive range of differential data of the difference data to determine whether to further perform a segmentation operation on a lower or split operation according to.

如果具有正值的该差分数据范围大于具有负值的该差分数据的范围,则执行通过下面方程式定义的一个下分割操作。 Having a positive value if the range is larger than the range of the differential data having a negative value of the difference data is performed by a following equation defined under split operation.

divide-down(nQKeyj,nKeyMax)&CenterDot;&CenterDot;&CenterDot;(11)]]>=-2(nKeyMax-nQKeyj+1)+1,(ifnQKeyj>nKeyMax2)]]>=nQKeyj,(if0&le;nQKeyj&le;nKeyMax2)]]>=2&CenterDot;nQKeyj,(ifnQKeyj&lt;0)]]>另一方面,如果具有正值的差分数据的范围大于具有负值的差分数据的范围,则执行由如下方程式定义的一个上分割操作。 divide-down (nQKeyj, nKeyMax) & CenterDot; & CenterDot; & CenterDot; (11)]]> = - 2 (nKeyMax-nQKeyj + 1) +1, (ifnQKeyj> nKeyMax2)]]> = nQKeyj, (if0 & le; nQKeyj & le; nKeyMax2 )]]> = 2 & CenterDot; nQKeyj, (ifnQKeyj & 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 a negative value is executed by a following equation defined on the split operation.

divide-up(uQKeyj,nKeyMin)&CenterDot;&CenterDot;&CenterDot;(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 (uQKeyj, nKeyMin) & CenterDot; & CenterDot; & CenterDot; (12)]]> = nQKeyj, (nQKeyj & GreaterEqual; 0)]]> = 2 & CenterDot; nQKeyj, (nKeyMin2 & le; nQKeyj & le; 0)]]> = 2 (nKeyMin -nQKeyj-1) +1, (nQKeyj & lt; nKeyMin2)]]> in the equation (11) (12) and, j represents an index of quantized key data, nQKeyj represents an array of integers, nKeyMax indicates a nQKeyj of maximum, and represents the minimum nQKeyj of nKeyMin.

在下面将参照图4G描述DND操作器362的操作。 In the following the operation will be described with reference to FIG. 4G DND operator 362.

当输入的关键字数据的差分数据是来自折叠处理器350的输入,则DND操作器362在步骤S4610中获得在输入差分数据当中的最大值nKeyMax和最小值nKeyMin。 When the differential data input key data is input from the folding processor 350, the DND operator 362 to get the maximum and minimum nKeyMin nKeyMax differential data input in step S4610 in which. 随后,在步骤S4620中DND操作器362比较该nKeyMax的绝对值与nKeyMin的绝对值。 Subsequently, in step S4620 the DND operator 362 compares the absolute value of nKeyMax and nKeyMin absolute value. 如果nKeyMax不小于nKeyMin的绝对值,则在步骤S4622中DND操作器362把nKeyMax设置为在当前DND操作周期中的一个最大值。 If nKeyMax is not smaller than the absolute value of nKeyMin, the DND operation in step S4622 is 362 nKeyMax as a maximum value set in the current cycle of DND operation.

DND操作器362检测该DND操作的阶数是否为1,换句话说,在步骤S4624中检测DND操作的阶数是否为1,并且如果其是1,则在步骤S4630中DND操作器362执行对于该输入差分数据的一个分割操作,替代方程式(10)中最大值nKeyMax。 The order of DND operation 362 detects whether the DND operation is 1, in other words, the order of DND operation is detected in step S4624 whether to 1, and if it is one, step S4630 is executed in the DND operator 362 for The input differential data of a split operation, substitute equation (10) the maximum value nKeyMax.

然后,DND操作器362在步骤S4640中使用函数getQBit()测量为了编码已经使用该分割操作被减小的该差分数据范围所需要的比特的大小。 Then, DND operator 362 in step S4640 using the function getQBit () coding has been used in order to measure the size of the division operation is reduced to the desired range difference data bits. 如果在步骤S4650中该DND操作的阶数出现是1,则用于进行编码所需要的比特大小被存为表示为了进行编码的比特的最小大小的一个值nQBitDND,并且DND操作的阶数在步骤S4655中被增加1。 If step S4650 in order in the DND operation is 1, is used to encode the required bit-size is stored as a value nQBitDND that in order to carry out the minimum size of coded bits, and the order of DND operation in step S4655 is incremented by one.

随后,该DND处理器362再一次执行步骤S4610至S4622。 Subsequently, the DND processor 362 to again perform steps S4610 S4622. 如果在步骤S4624中的DND操作的阶数不是1,则该DND操作器252在步骤S4634中执行一个下分割操作,代替方程式(11)中的最大值nKeyMax。 In step S4624, if the order of DND operation is not 1, the DND operator 252 performs a dividing operation in the next step S4634, instead of equation (11) the maximum value nKeyMax. 在步骤S4640中,DND操作器362计算用于编码已经通过该下分割操作的该差分数据所需要的比特的数量。 In the step S4640, DND operator 362 calculates a differential encoding of the data has been divided by the number of bits required for the operation of the lower. 如果该数目小于在先前DND操作周期中存储的该最小值nQBitDND,则在步骤S4658的DND操作之后替代用于编码所需的比特的最小量。 If the number is less than in the previous cycle of DND operation is stored in the minimum value nQBitDND, then after the DND operation in step S4658 to substitute the minimum amount of bits required to code.

如果在步骤S4620中该最小值nKeyMin的绝对值出现为大于最大值nKeyMax,则在步骤S4623中把DND操作的当前周期中的最大值更新为一个最小值,然后在步骤S4638中执行上分割操作,替代方程式12中的最小值nKeyMin。 In step S4620, if the absolute value of the minimum value nKeyMin appears in the current cycle is greater than the maximum value nKeyMax, then in step S4623 in the DND operation a maximum value is updated to a minimum, and then dividing operation is performed at step S4638, Alternatively Equation 12 minimum nKeyMin. 然后,DND操作器362在步骤S4640中计算用于编码已经通过该上分割操作的差分数据的比特的数量。 Then, DND operator 362 calculated in step S4640 has passed the number of bits used to encode the segmentation operation on the differential data. 如果该计算的结果是小于已经在步骤S4652中的DND操作的预先周期中存储的nQBitDND,则在步骤S4658中替代用于DND操作之后进行编码所需的该最小比特数nQBitDND。 If the result of this calculation is less than a predetermined period has DND operation in step S4652 of the stored nQBitDND, then in step S4658 to encode the Substitution DND for the required minimum number nQBitDND of bits after the operation.

DND处理器362执行预定次数的DND操作,并且该DND操作的执行的数量可以改变。 DND processor 362 performs a predetermined number of times of DND operation, and the number of executions of the DND operation may vary. 例如在本实施例中,该DND操作被执行7次。 For example, in the present embodiment, the DND operation is performed 7 times. DND操作器362输出nQBitDND和对应于nQBitDND的差分数据到第一差分数据选择器364。 DND operator 362 outputs nQBitDND and the differential data corresponding to nQBitDND to the first differential data selector 364. DND操作器362把对应已经产生的差分数据的DND的阶数输出到标题编码器500,并且使得它们被包括在该比特数据流中。 The order of DND DND operator 362 that has been generated corresponding to the difference data is output to the header encoder 500, and such that they are included in the bit stream.

第一差分数据选择器364接收已经通过该移位操作的差分数据、已经通过折叠操作的差分数据和已经通过DND操作的差分数据,并且在这三个差分数据当中确定将被熵编码的差分数据。 The first differential data selector 364 receives the differential data have been through the shifting operation, differential data have been through the folding operation of the DND operation and the differential data, and determines to be entropy encoded difference data among the difference data in the three .

参考图3A,第一差分数据选择器364选择该DPCM的结果,并且如果在该DND操作以后的用于进行编码所需的最小比特数目nQBitDND不小于在步骤S4700中的该DPCM操作之后的用于进行编码的比特大小nQStep-DPCM,在步骤S4710中对于该DPCM的结果执行一个移位操作。 Is used with reference to Figure 3A, a first differential data selector 364 to select the result of the DPCM, and if used after the DND operation is required for encoding is not less than the minimum number nQBitDND of bits in the step S4700 after the DPCM operation encoding the bit-size nQStep-DPCM, in step S4710 perform a shift operation to the result of the DPCM. 随后,在步骤S4710中,第一差分数据选择器364把该移位操作的结果输出到熵编码器370,并且使得它们被熵编码。 Results Subsequently, in step S4710, the first differential data selector 364 outputs the shift operation to the entropy encoder 370, and so that they are entropy coded. 在此情况下,DND操作的阶数被设置在-1,被输出到标题编码器500,并且被包括在该关键字标题中。 In this case, the order of DND operation is set at -1, is output to the header encoder 500 and is included in the key header.

但是,如果在步骤S3720中结果变为该nQBitDND小于nQStep-DPCM并且不小于折叠操作之后的用于进行编码的比特的大小,则第一差分数据选择器364把已经通过该折叠操作的该差分数据输出到熵编码器370,并且使得它们在步骤S4730中被熵编码,其中DND操作的阶数被设置在0,输出到标题编码器500,并且因此被包括在该关键字标题中。 However, if the result becomes a bit size for encoding the nQBitDND is smaller than nQStep-DPCM and is not smaller than after the folding operation at step S3720, then the first differential data selector 364 has been through the folding operation of the differential data output to the entropy encoder 370, and entropy encoded so that they are in step S4730 in which the order of DND operation is set at 0, is output to the header encoder 500, and thus is included in the key header.

如果在DND操作之后用于编码该差分数据的比特数目是最小的,则第一差分数据选择器364把已经通过该DND操作的差分数据输出到该上移位操作器366,然后该上移位操作器366在步骤S4740中计算从第一差分数据选择器364输入的差分数据的第一分散程度。 If after the DND operation is used to encode the number of bits of the difference data is the smallest, the first differential data selector 364 has been output by the differential data of the DND operation to the shift operation of the device 366, and then the upper shift operator 366 calculates a first dispersion degree from the first differential data selector 364 in the input differential data in step S4740. 随后,该上移位操作器366在步骤S4800中对于已经通过该DND操作的该差分数据执行由下面方程式定义的一个上移位操作,并且在步骤S4810中计算该上移位结果的一个第二分散程度。 Subsequently, the upper shift operation in a shift operation unit 366 in step S4800 that the difference data has passed for the DND operation is performed by the following equation defined on, and is calculated on the result of the shift in step S4810 in a second the degree of dispersion.

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) wherein, j represents an index of the quantized differential data of key data, nQKeyj represents an integer of an array, nKeyMax represents the differential data among a maximum.

当已经通过DND操作的差分数据和已经通过上移位操作的差分数据被输入时,第二差分数据选择器368在步骤S4900中把该第一分散程度与该第二分散程度相比较。 When DND operation has passed already through the differential data and the difference data when the shift operation is input, the second differential data selector 368 in the step S4900 in the first dispersion degree with the second dispersion degree is compared. 如果该第二分散程度小于该第一分散度,则在步骤S4910中第二差分数据选择器368把已经通过该上移位操作的差分数据输出到熵编码器370并且使得它们被熵编码。 If the second dispersion degree is smaller than the first dispersion degree in step S4910 the second differential data selector 368 has passed the shift operation on the differential data is output to the entropy encoder 370 and allows them to be entropy-encoded. 该第二差分数据选择器468把使用在该DND操作的最大和最小值nKeyMax和nKeyMin、以及使用在上移位操作中的最大值nKeyMax输出到标题编码器500,并且使得它们被包括在关键字标题中。 The second differential data selector 468 used in the DND operation the maximum and minimum values nKeyMax and nKeyMin, and the use of the shift operation is output to the maximum value nKeyMax header encoder 500, and such that they are included in the keyword header.

但是,如果该第一分散程度小于该第二分散程度,则第二差分数据选择器368把已经通过该DND操作的差分数据输出到熵编码器370,并且使得它们在步骤S4920中被熵编码。 However, if the first dispersion degree is smaller than the second dispersion degree, the second differential data selector 368 has been output by the differential data of the DND operation to the entropy encoder 370, and so that they are in the entropy encoding in step S4920. 然后,第二差分数据选择器368仅把使用在该DND操作中的该最大和最小值nKeyMax和nKeyMin输出到标题编码器500。 Then, the second differential data selector 368 to use only the DND operation in the maximum and minimum values nKeyMax and nKeyMin output to the header encoder 500. 在本发明的一个优选实施例中,标准偏差可以被用作该第一和第二分散程度的一个度量。 In a preferred embodiment of the present invention, the standard deviation can be used as a measure of the degree of dispersion of the first and second.

根据差分数据的特性,熵编码器370对于差分数据执行两个不同的操作。 According to the characteristics of the differential data, an entropy encoder 370 performs two different operations for differential data. 例如,已经通过DPCM操作和一个移位操作的差分数据,以及只通过一个分割操作的差分数据既有正值又有负值,并且因此要求执行每一差分数据的符号的编码处理以及该差分数据本身的编码处理。 For example, the differential data have been through a DPCM operation and the shift operation, and only a split operation by both positive differential data have negative values, and therefore require performing encoding processing difference data for each symbol and the difference data encoding process itself. 另一方面,由于已经通过折叠操作的差分数据仅有正值,所以执行仅编码该差分数据的处理。 On the other hand, since the differential data have been through a folding operation only a positive value, so the coding process performs only the difference data.

在本发明的一个优选实施例中,函数encodeSignedAAC被用于编码该差分数据和其符号,而函数encodeUnsignedAAC被用于仅编码差分数据。 The function encodeUnsignedAAC encoding only the differential data is used in a preferred embodiment of the present invention, the function encodeSignedAAC is used for the differential data and their symbol encoding.

图5是表示一个函数encodeSignedAAC的一个实例的示意图。 FIG 5 is a diagram showing one example of a function of the encodeSignedAAC. 参考图5,当一个输入值是74而用于编码该输入值的比特数目是8时,其符号是0,并且其与二进制数字1001010相同。 Referring to Figure 5, when an input value is 74 and the number of bits for encoding the input value is 8, its sign is 0, and which is the same binary number 1,001,010. 符号以及整个比特平面以下列方式编码:第一步骤:一个二进制数以从其最高有效比特(MSB)到其最低有效比特(LSB)的次序在每一比特平面上编码一个二进制数;第二步骤:检验当前正被编码的比特是否为0;第三步骤:如果当前被编码的比特不是0,则该二进制数的符号被随后编码;和第四步骤:该二进制数的其余比特被编码。 Symbols and the entire bit-plane encoding in the following manner: a first step: a binary number with the most significant bit therefrom (MSB) to its least significant order bits (LSB) encoding a binary number on each bit plane; a second step : Test currently being coded bit is zero; third step: if the bit currently being encoded is not 0, the sign of the binary number is then encoded; and a fourth step: the remaining bits of the binary number are encoded.

使用关于该值的一个上下文,函数encodeUnsignedAAC把没有符号的值编码为一个自适应算法编码比特数据流。 Use a context about the value of the function encodeUnsignedAAC no sign of the value encoded as an adaptive algorithm encoded bit stream. 除了存在一个符号上下文之外,此函数与函数encodeSignedAAC几乎相同。 In addition to the presence of a symbol outside the context, this function is almost the same function encodeSignedAAC.

图6A至6J是表示关键字数据的曲线示意图,其关键字数据已经经过了按照本发明一个优选实施例的操作。 6A to 6J is a graphical representation of key data, the key data has elapsed operation of the embodiment according to the present invention, a preferred. 在图6A至6J中,该X轴表示每一个关键字数据的索引,而Y轴表示该关键字数据的值。 In Figures 6A to 6J, the X axis represents the index data of each keyword, and the Y axis represents the value of the key data.

图6A是表示输入到该本发明的编码器的原始关键字数据的一个曲线图。 6A is a graph showing the input to the encoder of the present invention is the original key data. 图6A所示的关键字数据被输出到量化器320,然后以九个量化比特量化,以便获得图6B所示的量化的关键字数据。 Keyword data shown in Figure 6A is output to the quantizer 320, and then quantify the nine-bit quantization, in order to obtain quantitative data shown in Fig. 6B keywords. 如果对于图6B所示的量化关键字数据执行DPCM,则获得图6C所示的差分数据。 If the quantized key data shown in FIG. 6B for execution DPCM, the difference data is obtained as shown in FIG. 6C.

随后,使用大约7的一个模式值移位该量化关键字数据的差分数据,以便获得图6D所示的差分数据。 Subsequently, using a mode value of about 7 shifted differential data of the quantized key data, to obtain difference data shown in Fig. 6D. 随后,如果对于该移位的差分数据执行一个折叠操作,则可以获得如图6E所示的仅有正值的数据。 Then, if you perform a folding operation for the shift differential data, you can get only positive data shown in Figure 6E.

图6F至6H示出对于图6E示出的折叠数据执行一个DND操作的结果。 Figure 6F to 6H show the results shown in Figure 6E for folding performs a DND operation data. 具体地说,对于图6F示出的折叠数据执行一个分割操作的结果。 Specifically, the results shown in FIG. 6F for folding performs a segmentation operation data. 如图6F所示,正关键字数据值范围从0到28,而负关键字数据值范围从29到0,其意味着负关键字数据值的范围大于正关键字数据值的范围。 6F, positive key data values range from 0 to 28, and a negative key data values range from 29 to 0, which means that the range of negative key data values is greater than the range of positive key data values. 因此,要求对于图6F中所示数据执行一个上分割操作,而该上分割操作的结果在图6G中示出。 Therefore, the requirements for the data shown in Fig. 6F performed on a split operation, while the result of the division operation is shown in Fig. 6G.

作为该上分割操作的结果,负关键字数据值的范围被大大降低,使得其比正关键字数据值的范围小得多。 As a result of the segmentation operation on the negative key data values range is greatly reduced, so that it is much smaller than the range of positive key data values. 在DND操作的一个随后周期中,对于该上分割操作的结果执行一个下分割操作。 DND operation in a subsequent period, the results of the operations performed on a lower division split operation. 图6H是表示对于图6G所示差分数据执行一个下分割操作的结果。 Figure 6H 6G is shown for the differential map data to perform an operation under the segmentation result. 对于图6H所示的关键字数据执行一个上移位操作的结果在图6I中示出。 For key data shown in FIG. 6H performs a shift operation on the result shown in FIG. 6I.

如图6A至6G所示,关键字数据和差分数据的范围逐步减小。 6A through 6G, the range of key data and differential data gradually decreases. 然而,如图6H和6I所示,上移位操作以后的差分数据的范围比该操作之前的范围增加得更大,这表明如图6H所示该已经通过下分割操作的差分数据是最后唯一被编码的差分数据,如图6J所示。 However, as shown in Figure 6H and 6I, the range of the differential data after shift operation is increased to be larger than the range of the previous operation, which indicate dividing operation shown in FIG. 6H has passed under the final difference data is only encoded difference data, as shown in FIG 6J.

下面段落将描述在标题编码器500编码并且存储在关键字标题中的信息。 The following paragraphs will describe the header encoder 500 and the encoding information stored in the key header.

当输入将要被编码的关键字数据时,标题编码器500编码将要被编码的关键字数据的数字数目和关键字数目。 When the input key data to be encoded, the header encoder 500 encodes the digital number and the number of key data of the encoded key to be. 随后,标题编码器500从线性关键字编码器310接收有关于输入的关键字数据中是否存在已经通过该线性关键字编码的一个线性关键字区域以及在该线性关键字数据区域中的关键字数据的数量的信息,并且从浮点数转换器315接收该已经通过浮点数转换的线性关键字数据区域的开始和结束关键字数据。 Subsequently, the header encoder 310 receives 500 whether there has been through the linear key encoding a linear key region, and the keyword data in the linear key data region on the key data inputted from the linear key encoder The amount of information, and has passed the 315 receives the beginning and end of key data floating point linear conversion from floating-point data area key converter.

在浮点数转换器315接收能够实现一个最小量化误差的最大和最小值并且把它们转换成浮点数字的情况下,该转换的最大和最小值被从浮点数转换器315输入到标题编码器500,以使它们能被再一次用于进行反向量化。 In floating-point number converter 315 receives the quantization error can be achieved with a minimum of the maximum and minimum values and converts them into floating-point numbers, the maximum and minimum values of the conversion is input from floating point converter 315 to the header encoder 500 , so that they can once again be used for inverse quantization. 此外,量化比特的大小也被输入到标题编码器500并且被包括在该关键字标题中。 In addition, the size of quantization bits is also input into the header encoder 500 and is included in the key header.

标题编码器500从DPCM处理器330接收DPCM的阶数以及在DPCM的每一周期中的内关键字数据,并且从移位器340接收已经用于一个移位操作的一个模式值。 Header encoder 500 receives the order of DPCM from the DPCM 330 processor and the key data in each cycle of DPCM, and 340 for receiving a mode value has a shift operation from the shifter. 此外,标题编码器500从DND处理器360接收有关是否已经执行一个上移动操作的信息,能够最小化差分数据的分散程度的DND的阶数的信息以及在DND操作的每一周期中的最大和最小值信息。 In addition, 500 header encoder 360 receives from the DND processor about whether a move operation has been performed on the information, the order information can minimize the degree of dispersion of the differential data and maximum and DND in each cycle of DND operation minimum information.

最终,标题编码器500从熵编码器370接收用于进行编码的比特数目并且将其编码作为一个关键字标题。 Eventually, the header encoder 500 receives 370 the number of bits used for encoding from the entropy encoder and encodes it as a key header.

下面,参考图7A至11C更详细地描述根据本发明一个优选实施例的用于对坐标内插符的关键值数据进行编码的一个装置和方法。 Hereinafter, an example of the key value for the coordinates of the interpolated data symbols for encoding an apparatus and method according to a preferred embodiment of the present invention is described in more detail with reference to FIG. 7A to 11C.

图7A是根据本发明优选实施例的关键值数据编码器的框图,而图7B是根据本发明优选实施例的用于对坐标内插符的关键值数据进行编码的一种方法的流程图。 7A is a block diagram of a key value data encoder according to a preferred embodiment of the present invention, and FIG 7B is an example of a flowchart of a method for encoding key value data of the character coordinate interpolation performed according to a preferred embodiment of the present invention.

参考图7A,关键值数据编码器700包括量化器710,使用预定的量化比特量化输入其中的坐标内插符的关键值数据每一顶点的成份的数据;DPCM处理器720,对于每一顶点的量化成分数据执行一个预定的DPCM操作;字典编码器750,将差分数据转换成符号和指示该符号的位置的索引,以及熵编码器760,熵编码输入其中的符号和差分数据的索引。 7A, a key value data encoder 700 includes a quantizer 710, using a predetermined quantization bit quantized key value data input of the coordinates within which the interpolation data for each component symbol of the vertices; DPCM processor 720, for each vertex quantized component data performs a predetermined DPCM operation; dictionary encoder 750, converts the differential data into symbols and the symbols indicating the location of index, and an entropy coder 760, wherein the entropy encoding an input symbol index and differential data.

在下面的段落中,参照图7B描述用于编码坐标内插符的关键值数据的方法。 In the following paragraphs, described with reference to FIG. 7B the encoding key value data for the character coordinate interpolation method. 参考图7B,在步骤S9000中以NXM矩阵的形式把坐标内插符的关键值数据输入到量化器710。 With reference to FIG. 7B, the key value data in step S9000 in the form of a matrix of NXM interpolation breaks within the coordinate input to the quantizer 710. 一个输入的坐标内插符的关键值数据的实例在下列表中示出。 Examples below lists the key value of the data within the coordinates of an input plug breaks are shown.

表3 Table 3

在表3中,N表示关键字数据(关键帧)的数目,M表示每一关键帧中的顶点的数量。 In Table 3, N represents the number of key data (key frame), M is the number of vertices of each keyframe.

根据本发明的关键值数据编码器700以两种不同模式操作来编码坐标内插符的关键值数据。 According to the key value data encoder 700 of the present invention operating within key value data to encode the coordinates insert breaks in two different modes. 模式之一是顶点模式,而另外一个模式是转置模式。 One model is the vertex mode, while the other mode is the transpose mode. 表3中,示出以顶点模式在量化器710中量化的关键值数据的结构。 Table 3, shows the structure of the vertex mode quantizer 710 quantized key value data. 在量化表3所示的输入关键值数据之前,关键值数据编码器700把输入的关键值数据转置成一个MHN矩阵。 The key value data before quantization table input key value data shown in Figure 3, the key value data encoder 700 entered into a MHN transpose matrix. 在解码关键值数据过程中反向量化该转置矩阵,并且把解码的关键值数据转换成NHM矩阵,使得能够恢复与输入关键值数据一样的关键值数据。 In the process of decoding key value data of the inverse quantization transposed matrix, and converting the decoded key value data into NHM matrix, making it possible to recover the input key value data with the same key value data.

参考图7B,在步骤S9100中,量化器710检查从外部输入的关键值数据的编码方式是否为转置模式。 Encoding key value data with reference to Figure 7B, in step S9100, the quantizer 710 checks whether the input from the outside transpose mode. 如果输入的关键值数据的编码模式是一个转置模式,则在步骤S9200中,输入关键值数据的NHM矩阵被转置成一个MHN矩阵。 If the coding mode of the input key value data is a permutation pattern, then in step S9200 in, NHM matrix input key value data to be transposed into a MHN matrix.

然后,在步骤S9300中,量化器710以预定的量化比特量化输入其中的该关键值数据矩阵中的每一个成分的数据,并且在步骤S9300把每一个成分的量化的关键值数据输出到DPCM处理器720。 Then, in step S9300, the quantizer 710 to a predetermined quantization bit quantization of the input data which the key value data of each component of the matrix, and in step S9300 to output quantized key value data of each component to the DPCM processing 720. 在同一个步骤中,量化器710把在每一个成份的输入的关键值数据当中的最小值和在该成份的数据范围当中的最大范围转换成十进制数字,并且把该十进制数字输出到标题编码器500。 In the same step, the quantizer 710 in the minimum value data of each component of the key input and the maximum range among the data ranges in which the component is converted into a decimal number and the decimal number is output to the header encoder 500.

在步骤S9400中,DPCM处理器720对于输入其中的量化的关键值数据执行一个时间DPCM操作、一个空间DPCM操作和一个时空DPCM操作,对于该三个不同的DPCM操作的结果,即对于从该三个DPCM操作获得的每一差分数据执行一个循环量化操作,并且把在它们当中的具有最低熵值的差分数据输出到字典编码器750。 In the step S9400, DPCM processor 720 in which the input data is quantized key values are DPCM operation execution time, a spatial and a temporal DPCM operation DPCM operation, the results of the three different DPCM operation, i.e., from the three for Each difference data obtained by executing an operation of a DPCM loop quantization operation, and outputs the differential data having the lowest entropy value among them to the dictionary encoder 750.

在步骤S9600中,字典编码器750产生和输出对应于从DPCM处理器720输入的差分数据的字典符号Si,j和位置索引Ii,j。 In step S9600, the dictionary encoder 750 generates and outputs the symbol corresponding to the dictionary Si DPCM processor 720 of the input differential data, j and the position index Ii, j. 具体地说,字典编码器750产生的该字典符号和该位置索引,表明已经对于该输入差分数据执行的DPCM操作的模式,把该输入的差分数据转换成对应于该输入差分数据值的符号或一个符号标志,和表示该符号的位置的位置索引,并且把该符号和位置索引输出到熵编码器760。 Specifically, the symbol dictionary and the location index dictionary generated by the encoder 750, indicates that the operation has been DPCM mode for the execution of the input differential data, converts the input difference data to the corresponding values in the input differential data or symbols a sign flag, and indicates the position index of the symbol positions, and the location index and the symbol output to the entropy encoder 760.

在步骤S9800中,熵编码器760通过对从该字典编码器750输入的该符号和位置索引进行熵编码而产生一个比特数据流。 In step S9800, the entropy coder 760 for entropy coding and symbols from the position index of the dictionary encoder input and produces a 750-bit data stream through.

下面,参照图8A至11C更详细地描述步骤S9300至S9800。 Next, steps S9300 to S9800 described in more detail with reference to FIG. 8A to 11C.

参考图9A,在步骤S9320中,量化器710选择在每一个成份数据当中的最大值和最小值。 With reference to FIG. 9A, in step S9320, the quantizer 710 selects the maximum value and the minimum value in each component data among.

在步骤S9340中,量化器710使用选择的该最大和最小值计算该成分的数据范围,并且确定在该成份的数据范围当中的一个最大范围。 In step S9340, the quantizer 710 using the maximum and minimum values of the selected data range calculation component, and determines a maximum range among the data ranges of the components.

在步骤S9360中,量化器710使用下面方程式所示的每一成份数据当中的最小值和各成份的整个数据范围当中的最大范围量化每一成分的关键值数据。 The minimum and maximum range of the entire range of data among the various components in step S9360, the quantizer 710 using the equation shown below each component data among the quantized key value data of each component.

V~i,j,x=floor(Vi,j,x-fMin_XfMax(2nKVQBit-1)+0.5)&CenterDot;&CenterDot;&CenterDot;(14)]]>V~i,j,y=floor(Vi,j,y-fMin_YfMax(2nKVQBit-1)+0.5)]]>V~i,j,z=floor(Vi,j,z-fMin_ZfMax(2nKVQBit-1)+0.5)]]>方程式(14)中,i表示关键数据,j表示一个顶点,而nKVQBit表示量化比特大小。 V ~ i, j, x = floor (Vi, j, x-fMin_XfMax (2nKVQBit-1) +0.5) & CenterDot; & CenterDot; & CenterDot; (14)]]> V ~ i, j, y = floor (Vi, j , y-fMin_YfMax (2nKVQBit-1) +0.5)]]> V ~ i, j, z = floor (Vi, j, z-fMin_ZfMax (2nKVQBit-1) +0.5)]]> Equation (14), i indicates key data, j represents a vertex, and nKVQBit represents quantization bits size. 此外,fMin_X、fMin_Y、fMin_Z表示在每一个成份的数据中的最小值,而fMax表示在该成份数据范围中的最大范围。 In addition, fMin_X, fMin_Y, fMin_Z represents the minimum data for each component of, and fMax represents the maximum range of the ingredients in the data range.

量化器710把每一成分的量化关键值数据输出到DPCM处理器720,并遵循方程式(4)和表2,把fMin_X、fMin_Y、fMin_Z和fMax变换成十进制数字,并且把该十进制数字输出到标题编码器500。 The quantizer 710 outputs the quantized key value data of each component to a DPCM processor 720, and follow the equations (4) and Table 2, the fMin_X, fMin_Y, fMin_Z and fMax converted into decimal digits, and the decimal number is output to the title encoder 500.

下面将参照图8A和9B更详细地描述该DPCM处理器720的结构和操作。 Will now be described in FIG. 8A and 9B in more detail the structure and operation of the DPCM processor 720 of reference.

图8A是根据本发明的DPCM处理器720的一个框图。 8A is a block diagram of a DPCM processor 720 in accordance with the present invention. 参考图8A,DPCM处理器720包括一个DPCM操作器730,对于从量化器710输入的每一成份的数据执行一个时间DPCM操作、空间DPCM操作和一个时空DPCM操作,一个循环量化器740,降低从该DPCM操作器730输入的差分数据的范围,以及一个DPCM模式选择器745,选择从循环量化器740输入的差分数据之一。 With reference to FIG. 8A, DPCM processor 720 includes a DPCM operator 730, for each component from the quantization unit 710 performs a data input operation time DPCM, DPCM operation and a spatial temporal DPCM operation, a cycle of quantizer 740, reduced from The DPCM operation range of the differential data input 730, and a DPCM mode selector 745, to select one of the differential data input from the circulation of the quantizer 740. DPCM操作器730包括一个时间DPCM操作器731,对于每一个成份的量化数据执行一个时间DPCM操作,一个空间DPCM操作器733,对于每一个成份的量化数据执行一个空间DPCM操作,以及一个时空DPCM操作器735,对于每一个成份的量化数据执行一个时空DPCM操作。 DPCM operator 730 includes a time DPCM operator 731, a quantized data for each component performs a DPCM operation time, a spatial DPCM operator 733, a quantized data for each component performs a DPCM operation space, and a temporal DPCM operation 735, a quantized data for each component performs a temporal DPCM operation.

图9B是根据本发明优选实施例的一个DPCM操作的流程图。 9B is a flowchart of a DPCM operation according to a preferred embodiment of the present invention. 参考图9B,在步骤S9420中,每一个成分的量化数据从量化器710输入到时间DPCM操作器731、空间DPCM操作器733、和时空DPCM操作器735,然后在分别的操作器731、733以及735中对于每一个成分的量化数据执行时间DPCM操作、空间DPCM操作以及时空DPCM操作。 With reference to Figure 9B, in step S9420, the quantized data from the quantization of each component 710 is input to the time DPCM operator 731, spatial DPCM operator 733, and a temporal DPCM operator 735, then the operator 731,733, respectively, and 735. For each component of the quantized data DPCM operation execution time, space and temporal DPCM operation DPCM operation.

时间DPCM操作器731计算在一个当前关键帧中的顶点的成分数据和在一个先前关键帧中的顶点的成分数据之间的差值。 Time DPCM operator 731 calculates the difference between the components of a data keyframe component data and vertices in a previous keyframe between the current vertex. 一个时间DPCM操作由下面方程式表示。 DPCM operation time is represented by the following equation.

Di,j=V~i,jV~i-1,j&CenterDot;&CenterDot;&CenterDot;(15)]]>方程式(15)中,i表示关键字数据,j表示一个顶点的位置索引。 Di, j = V ~ i, jV ~ i-1, j & CenterDot; & CenterDot; & CenterDot; (15)]]> Equation (15), i denotes key data, j represents a position index vertex.

空间DPCM操作器733计算在同一个关键帧中的顶点之间的差值。 Space DPCM operator 733 calculates the difference between the vertices in the same keyframe. 具体地说,空间DPCM操作器733使用下面方程式计算前个顶点的熵,在当前顶点受到空间DPCM操作之前已经对于该前个顶点执行了空间DPCM操作。 Specifically, the spatial DPCM operator 733 vertices before using entropy equation and below the current vertex DPCM operation has been before the space for the front vertex space DPCM operation is performed.

Entropy(P)=-&Sigma;i=0N-1Pilog2Pi&CenterDot;&CenterDot;&CenterDot;(16)]]>在方程式(16)中,Pi表示某符号在一个顶点产生的概率,并且等于Fi/N,其中Fi表示该符号被产生了多少次,而N表示关键字数据的数量。 Entropy (P) = - & Sigma; i = 0N-1Pilog2Pi & CenterDot; & CenterDot; & CenterDot; (16)]]> Equation (16) in, Pi is the probability of a symbol in a vertex generated, and is equal to Fi / N, where Fi indicates that the symbol is produced how many times, and N represents the number of key data.

空间DPCM操作器733把在该顶点中的具有该最低熵的一个顶点确定为一个参考顶点,并且计算在当前受到空间DPCM操作的一个顶点的数据和该参考顶点的数据之间差分数据。 Spatial DPCM operator 733 having the lowest entropy in the vertex of a vertex is determined as a reference vertex, and calculates the current vertex by a space DPCM operation data and the differential data between the reference vertex data. 一个空间操作由下面方程式表示。 A space operation is represented by the following equation.

Di,j=V~i,jV~i,Ref&CenterDot;&CenterDot;&CenterDot;(17)]]> Di, j = V ~ i, jV ~ i, Ref & CenterDot; & CenterDot; & CenterDot; (17)]]>

该时空DPCM操作器735对于该当前关键帧的顶点执行一个空间DPCM操作,使用在该先前关键帧的顶点中的一个对应于该当前关键帧的参考顶点、并作为参考顶点的顶点,对于该先前关键帧的顶点执行空间DPCM操作,并且计算在对应于该当前关键帧的顶点的差分数据和对应于该先前关键帧的顶点的差分数据之间的差分数据。 The temporal DPCM operator 735 performs a spatial DPCM operation for the vertex of the current key frame, use the previous key frame in the vertex of a vertex corresponding to the reference of the current key frame, and as a reference vertex of the vertices, for which the previous Vertex perform spatial DPCM operation key frame, and calculates the current key frame corresponding to the difference data corresponding to the vertices and the vertices of the difference data of the differential data between the previous key frame. 换句话说,该时空DPCM操作器735对于该空间DPCM操作的结果执行一个时间DPCM操作。 In other words, the temporal DPCM operator 735 performs a DPCM operation result corresponding to the time space DPCM operation. 该时空DPCM操作由下面方程式表示。 The temporal DPCM operation is represented by the following equation.

Di,j=V~i,j-{V~i-1,j+(V~i,Ref-V~i-1,Ref)}&CenterDot;&CenterDot;&CenterDot;(18)]]>在该空间DPCM操作和该时空DPCM操作过程中,如果 Di, j = V ~ i, j- {V ~ i-1, j + (V ~ i, Ref-V ~ i-1, Ref)} & CenterDot; & CenterDot; & CenterDot; (18)]]> in the space DPCM operating procedures and the temporal DPCM operation, if Or 小于在每一成分的量化数据中的最小值,则该最小值被用于空间DPCM操作和时空DPCM操作。 Is smaller than the minimum value of the quantized data in each part, the minimum value is used for spatial and temporal DPCM operation DPCM operation. 另一方面,如果 On the other hand, if the Or 大于在每一成分的量化数据中的最大值,则该最大值被用于该空间DPCM操作和该时空DPCM操作。 The quantized data is larger than the maximum value of each ingredient, then the maximum value is used for the spatial and the temporal DPCM operation DPCM operation.

在步骤S9440中,DPCM操作器730把计算的差分数据输出到循环量化器740,而循环量化器740对于该时间DPCM的差分数据、空间DPCM差分数据和时空DPCM差分数据执行循环量化操作,并且把该循环量化的结果输出到DPCM模式选择器745。 In the step S9440, DPCM operator 730 outputs the calculated difference data to the loop quantizer 740, the quantizer 740 and the cycle for the time difference data of DPCM, DPCM spatial difference data and difference data perform temporal DPCM loop quantization operation, and the The result is output to loop quantized DPCM mode selector 745.

图10A是量化器710的一个输出实例的曲线图,而图10B是对于图10A中所示的量化数据执行DPCM操作的结果的曲线图。 10A is a graph illustrating a quantizer output example 710, and Fig. 10B is a graph for the quantized data shown in FIG. 10A DPCM operation execution result. 如图10B所示,通过执行对于量化数据的一个DPCM操作,将要被编码的数据范围能够增加为其原数据范围的两倍。 10B, for the quantized data by performing a DPCM operation, the range of data to be encoded can be increased to be twice the range of the original data. 循环量化的目的是在保持量化值的数据范围的同时执行一个DPCM操作。 Loop quantization is aimed at maintaining the value of the quantized data is performed while the range of a DPCM operation.

在本发明中,假设在DPCM的差分数据中的一个最大值被循环连接到在DPCM的差分数据中的一个最小值而执行该循环量化。 In the present invention, it is assumed in the DPCM difference data is the maximum value in a loop connected to a minimum value in the DPCM difference data is performed in the loop quantization. 如果对于两个连续量化数据执行的线性DPCM操作的结果大于在DPCM的差分数据中的最大值的一半,则从该线性DPCM的结果中减去从该DPCM的差分数据的一个最大范围值,以便产生具有较小绝对值的一个差分数据。 If the result of successive quantized linear DPCM operation is performed for the two data greater than half of the maximum in DPCM difference data, from the result of the linear DPCM subtracting the maximum value from a range of the DPCM difference data to generating differential data having a smaller absolute value. 另一方面,如果该线性DPCM的结果小于该最大范围中的一个最小值的一半,则把该最大范围值加到该线性DPCM的结果,以便产生具有较小绝对值的一个值。 On the other hand, if the result of the linear DPCM is less than half a minimum value of the maximum range, the maximum range value to put the result of a linear DPCM to generate a value having a smaller absolute value.

通过下面的方程式表示循环量化器740的操作。 Is the cyclic operation of the quantizer 740 by the following equation.

CircularQuanti zation(Xi):…(19)X′i=Xi-(nQMax-nQMin+1)(if Xi≥0)X′i=Xi+(nQMax-nQMin+1)(otherwise)X~i=min(|Xi|,|X&prime;i|)]]>在方程式(19)中,nQMax表示在DPCM的差分数据中的一个最大值,而nQMin表示在DPCM的差分数据中的一个最小值。 CircularQuanti zation (Xi): ... (19) X'i = Xi- (nQMax-nQMin + 1) (if Xi≥0) X'i = Xi + (nQMax-nQMin + 1) (otherwise) X ~ i = min ( | Xi |, | X & prime; i |)]]> Equation (19) in, nQMax represents a maximum difference in the DPCM data, which represents a minimum value in the DPCM nQMin differential data. 图10C示出对于图10B所示的DPCM的差分数据执行循环量化的结果。 10C shows DPCM shown in FIG. 10B for differential data execution cycle quantifiable results.

循环量化器740把该循环量化的差分数据输出到DPCM模式选择器745。 Loop the loop quantizer 740 outputs the quantized differential data to the DPCM mode selector 745.

在步骤S9460中,DPCM模式选择器745遵循方程式(16)计算从时间DPCM操作、空间DPCM操作和时空DPCM操作获得的每一DPCM差分数据的熵。 In the step S9460, DPCM mode selector 745 follows the equation (16) calculated from the operating time DPCM, DPCM operation and entropy spatial temporal DPCM operation to obtain difference data for each DPCM.

下面,DPCM模式选择器745在步骤S9480中选择在时间DPCM操作、空间DPCM操作、时空DPCM操作的结果中具有最低熵的DPCM差分数据作为每一顶点的DPCM操作模式,并且把对应于该选择的DPCM模式的该DPCM差分数据和关于该DPCM模式的信息输出到字典编码器750。 Here, DPCM mode selector 745 to select the time DPCM operation, space DPCM operation, the results of temporal DPCM operation DPCM having the lowest entropy difference data in step S9480 as each vertex DPCM mode of operation and corresponding to the selected The DPCM mode and DPCM difference data information about the DPCM mode encoder 750 is output to the dictionary.

下面,参照图8B和9C描述字典编码器750及其操作。 Next, referring to FIG. 8B and 9C describe dictionary encoder 750 and its operation.

图8B是根据本发明的字典编码器750的一个框图。 8B is a block diagram of an encoder 750 according to the present invention dictionary. 参考图8B,字典编码器750包括一个DPCM模式编码器752,编码已经对于输入其中的每一个顶点的每一成分的数据执行的DPCM的模式,一个出现模式编码器756,产生表示每一顶点的每一成分的差分数据的值的符号和表示该符号的位置的位置索引,一个增量模式编码器758,产生对应于该符号和表示该符号位置的位置索引的一个符号标志,以及一个表格大小计算器754,计算用于表示每一顶点的每一成份的差分数据的符号表格以及一个符号标志表格的大小,并且把从DPCM模式编码器752输入的该差分数据输出到该出现模式编码器756或增量模式编码器758之一。 8B, the dictionary 750 includes an encoder DPCM mode encoder 752 encodes the input data for each part has vertices each of which the execution of DPCM mode, an occurrence pattern encoder 756, to generate each of the vertices represents symbol values for each part of the difference data and indicates the position index of the symbol positions, an incremental mode encoder 758, and generates the symbol corresponding to the symbol position indicating the location index of a symbol mark, and a table size calculator 754 calculates the symbol table is used to represent each component of each vertex of the differential data and the size of a symbol mark table, and outputs the difference data from the DPCM mode encoder 752 to the input of the mode encoder 756 appears or one of 758 incremental mode encoder.

字典编码器750检测每一顶点的每一成份的差分数据的一个量化选择标志是否为1,如果是,则执行将在下面描述的后续处理。 A quantization selects each ingredient dictionary encoder 750 detects difference data of each vertex flag is 1, if it is, subsequent processing will be performed as described below. 另一方面,如果某顶点的差分数据的量化选择标志是0,即意味着该顶点整个关键帧中具有相同的量化值,则该字典编码器750将省略字典编码处理,并且把该量化值QMin编码到一个关键字值标题。 On the other hand, if the quantization selection flag of a vertex of the difference data is 0, it means that the entire keyframe vertex having the same quantization value, the dictionary encoder 750 will be omitted processing dictionary coding, and sends the quantized value QMin encoded into a key value of the title.

图9C是根据本发明的一个字典编码处理的流程图。 9C is a flowchart of a dictionary in accordance with the present invention, the coding process. 参考图9C,在步骤S9620中,在DPCM处理器720中已经产生的每一顶点的每一成份的差分数据被输入到DPCM模式编码器752中,然后DPCM模式编码器752产生表示已经对于每一顶点的每一成份的数据执行的DPCM操作模式的符号,以及指示该符号的位置的位置索引。 With reference to FIG. 9C, in step S9620, the differential data of each component of each vertex in the DPCM processor 720 has generated is input to the DPCM mode encoder 752, and the mode encoder 752 generates DPCM has been represented for each Symbol DPCM operation mode data for each component of the vertex of the execution, and the position index of the symbol indicating the location.

图11A是说明根据本发明的DPCM模式编码器752中执行的编码DPCM模式的一种方法的示意图。 11A is a schematic view of a method according to DPCM mode encoder 752 of the present invention perform encoding DPCM mode instructions. 参考图11A,DPCM模式编码器752预先制备一个表格,其中示出每一顶点的每一成份的DPCM模式和其分别的符号,如图表4所示。 With reference to FIG. 11A, DPCM mode encoder 752 prepared in advance a table in which each component is shown for each vertex of the DPCM mode and symbols respectively, as shown in Chart 4. 表4示出DPCM操作的组合以及其对应符号。 Table 4 shows the combination of DPCM operation and its corresponding symbol. 表4中,时间DPCM操作、空间DPCM操作和时空DPCM操作分别表示为T、S和T+S。 In Table 4, the time DPCM operation, space DPCM operation and the temporal DPCM operation are represented by T, S, and T + S.

表4 Table 4

每一顶点包括三个成分x、y和z,并且相应的DPCM操作的组合的数量是27。 Each vertex consists of three components x, y and z, and the number of the corresponding combination of DPCM operation is 27.

如图11A所示,根据该差分数据已经通过的DPCM操作,每一个顶点的差分数据对应于表4示出的符号之一。 11A, according to the operation of the DPCM difference data has passed, each vertex corresponding to one of the differential data shown in Table 4 in symbols. DPCM模式编码器752使得该顶点的DPCM模式对应于表4中示出的分别的符号,并且设置标志,指示该符号存在于分别的顶点差分数据中。 DPCM mode encoder 752 such that the vertex corresponding to the DPCM mode, respectively of Table 4 shows the symbol, and sets a flag indicating that the symbol exists in the difference data in each vertex.

DPCM模式编码器752把对应于该顶点的DPCM模式的符号排列在一个列中,并且以从用于具有较小幅值的一个符号的位置索引到用于具有最大幅值的一个符号的位置索引的次序产生用于该符号的位置索引。 DPCM mode encoder 752 corresponding to the vertex of the DPCM mode symbols are arranged in a column, and with the index for a symbol from the location having a small amplitude into a symbol having the maximum amplitude for the location index The order position index is used to generate the symbol.

如图11A所示,对应于该顶点差分数据的DPCM模式的符号的一个数组是(4,1,5,1,4,5)。 11A, the vertex corresponding to the DPCM mode of an array of difference data symbol is (4,1,5,1,4,5). 在该符号当中,1是最小的符号,并且对应于(T,T,S)。 In which the symbol, the symbol 1 is the smallest, and corresponds to (T, T, S). DPCM模式编码器752产生用于该符号1的一个位置索引,使得符号的数组中出现1的位置由1表示。 DPCM mode encoder 752 generates the symbol for a location index 1, so that symbol appearing in the array is represented by 1 bit. 因此,该位置索引是(0,1,0,1,0,0)。 Thus, the position index is (0,1,0,1,0,0).

随后,DPCM模式编码器752产生用于次最小符号4的位置索引,其对应于DPCM模式(T,S,S),使得其中4所在的位置由1表示。 Subsequently, DPCM mode encoder 752 generates the symbol position for the second smallest index of 4, which corresponds to the DPCM mode (T, S, S), wherein the position 4 is located such that represented by 1. 在用于符号4的位置索引的产生中,不计算符号1的位置。 4 position in the index for the symbol generation, it is not a position to calculate the symbol. 因此,针对该符号4的位置索引是(1,0,1,0)。 Thus, for the index symbol position 4 is (1,0,1,0). 以同样方式,DPCM模式编码器752产生用于符号5的位置索引,其对应于(T,S,T+S)。 In the same manner, DPCM mode encoder 752 generates an index for the symbol position 5, which corresponds to (T, S, T + S). 用于该符号5的位置索引是(1,1)。 5 position index for the symbol is (1,1).

随后,DPCM模式编码器752把该标志和该位置索引输出到该表格大小计算器754。 Subsequently, DPCM mode encoder 752 and the position of the flag to the table index output size calculator 754.

再一次参考图8B和9C,表格大小计算器754计算用于编码在一个出现模式中的输入的差分数据的一个符号表的大小(A),以及用于编码在一个递增模式中的输入的差分数据的一个符号标志的大小(B),其对应于步骤S9640中在预先设置的符号表中的符号。 Referring again to FIG. 8B and 9C, the size of a table calculator 754 calculates a size of a symbol encoded in a table mode input differential data of (A) occurs, and for differential encoding in an incremental mode input a symbol mark of the size of data (B), which corresponds to the step S9640 in the symbols in the symbol table set in advance in.

在步骤S9660中,表格大小计算器754把使用在该出现模式编码器756中的符号表的大小(A=S*(AQP+1),其中S表示差分数据中包括的符号的数量而AQP表示用于表示一个符号的比特的大小)与对应分别符号的符号标志的大小(B=2AQP+1-1,其中AQP表示用于表示一个符号的比特的大小)相比较。 In step S9660, the table size calculator 754 using a modal size in the encoder 756 in the symbol table (A = S * (AQP + 1), where S is the number of data included in the differential symbols and representation AQP the size of a symbol is used to represent the size of bits) corresponding to each symbol with a symbol mark (B = 2AQP + 1-1, wherein AQP represents a symbol used to represent the size of the bit) is compared.

如果A小于B,则表格大小计算器754把每一个顶点的差分数据输出到出现模式编码器756,如果B小于A,则把该差分数据输出到增量模式编码器758。 If A is less than B, then table size calculator 754 each vertex of a differential data output mode encoder 756 to appear, if B is less than A, put the differential data output mode to incremental encoder 758.

下面参照图11B描述出现模式编码器756的操作。 Referring to Figure 11B operating mode of the encoder 756 described appears.

在步骤S9680中,出现模式编码器756产生对应于每一顶点的输入差分数据的值的符号,以及表示其各自符号的位置的位置索引。 In step S9680, the emergence of the mode encoder 756 generates the vertex corresponding to each of the input differential data symbol values, an index indicating the position of their respective symbol positions.

参考图11B,当一个顶点的输入差分数据是(3,7,3,7,-4,7,3,-4,3,7,-4,-4),时,该出现模式编码器756制备一个表格,其中对应于每一顶点的差分数据的差分值的符号3,7,和-4被顺序地写入一行。 With reference to FIG. 11B, when the input differential data of a vertex is (3,7,3,7, -4,7,3, -4,3,7, -4, -4), when the mode encoder 756 which appears Preparation of a table, which corresponds to the difference between the value of symbols for each vertex of the difference data 3,7, and -4 are written to sequentially row.

出现模式编码器756编码该符号数组中的第一个符号3并且产生针对该符号3的位置索引,以使3处在而位置由1表示而其它位置由0表示。 Appears the mode encoder 756 encodes the symbol array 3 and generates the first symbol for the symbol position index 3, and so in the 3 position and the other represented by a position denoted by 0. 针对该符号3的位置索引是(01000101000)。 3 position index for the symbol is (01000101000).

随后,出现模式编码器756产生用于下一个符号7的位置索引。 Subsequently, the encoder 756 generates occurrence pattern for the next symbol position index 7. 如图11B所示,在用于下一个符号的位置索引的产生中,前个符号的位置不被再次计算。 11B, in the position for the next symbol index generation, the position before the symbols are not calculated again. 因此,针对该符号7的位置索引是(1010100)。 Thus, for the index symbol position 7 is (1010100).

在出现模式编码器756中,仅考虑尚未编码的符号位置产生用于符号的全部位置索引,因此用于一个符号-4的位置索引是(111)。 In the event of the mode encoder 756, and consider only the position has not been generated encoded symbol index position for all symbols, so a symbol for the location index is -4 (111).

在图11B中,标志bSoleKV被设置为0。 In Figure 11B, bSoleKV flag is set to 0. 标志bSoleKV表示在差分数据的符号数组中一个符号是否仅出现一次。 Sign bSoleKV symbol indicates an array of differential data symbol appears only once. 如果一个符号仅出现一次并且因此其位置索引仅包括0,则用于该对应符号的bSoleKV被设置为1,并且该对应符号的位置索引不被编码。 If a symbol appears only once and therefore the position index comprises only 0, then for the corresponding symbol bSoleKV is set to 1, and the position index of the corresponding symbol is not coded. 出现模式编码器756把该输入差分数据的符号、该符号的位置索引以及bSoleKV输出到用于熵编码差分数据的熵编码器760。 Appears the mode encoder 756 to the input difference data symbol, the symbol and the location index bSoleKV output to the entropy encoder for entropy encoded difference data 760.

下面参照图11C描述根据本发明的增量模式编码器758的操作。 Mode of operation is described based on the incremental encoder 758 of the present invention below with reference to FIG 11C.

在步骤S9690,增量模式编码器758产生指示包括在一个预定符号表中的符号是否存在于输入的差分数据中的一个符号标志以及用于该符号的位置索引。 In step S9690, the incremental mode encoder 758 generates an indication includes a predetermined symbol in the symbol table if there is differential data input of a sign and symbol position index for the symbol.

增量模式编码器758预先产生用于被期望存在于输入差分数据中的符号的一个表格。 Incremental mode encoder 758 is used to generate a desired pre-exist in the input differential data in a symbol table. 在该表格中,以从具有最低绝对值的一个符号到具有最低大对值的一个符号的次序把符号排列在列中,并且在具有相同的绝对值的两个符号之间,具有正值的一个符号被放置在比另一符号更高的行中。 In the table, in the order from a symbol having a minimum absolute value to a large one having the lowest value of the symbol of the symbol is arranged in columns, and having the same absolute value between the two symbols, a positive value of A symbol is placed higher than the other symbol row. 因此,符号写入该表格中的次序是0,1,-1,2,-2,3,-3,....。 Thus, the symbol written in the table is the order of 0,1, 1,2, 2,3, -3, ..... 对应于一个符号表中的符号的一个符号标志的大小为2AQP+1-1。 Size corresponding to one symbol in the symbol table of a symbol flag is 2AQP + 1-1. 例如,如果AQP是2,则能够由一个符号标志表示的符号的数量是7。 For example, if the AQP is 2, the number can be represented by a symbol mark symbol is 7. 如果一个值对应于存在差分数据中的一个符号,则该符号标志设置为1。 If a value corresponding to the difference data in the presence of a symbol, the symbol flag is set to 1. 仅针对其符号标志被设置为1的符号产生位置索引。 Only for its symbolic flag is set to sign a generation position index.

参考图11C,如果输入到增量模式编码器758的差分数据是(-1,-3,-1,-3,2,-3,-1,2,-1,-3,2,2),则存在于该差分数据中的符号是(-1,2,-3),因此确定该符号标志为(0,0,1,1,0,0,1)。 With reference to Figure 11C, if the input to the incremental mode encoder 758 is difference data (-1, -3, -1, 3,2, -3, -1,2, -1, -3,2,2) , is present in the difference data in the symbol is (1,2, -3), thus determining the sign flag (0,0,1,1,0,0,1).

增量模式编码器758产生用于一个符号的位置索引,该符号在符号表中的定位首先在比其它符号高的行中。 Incremental mode encoder 758 generates an index for the position of a symbol, the symbol positioned at the symbol table is higher than the other symbols in the first row. 如图11C所示,增量模式编码器758设置一个符号-1所在的位置,在该符号表中排列该差分数据中存在的符号中的第一个以1出现的符号,并且以0设置其它放置,使得用于该符号-1的位置索引是(101000101000)。 11C, the incremental encoder pattern 758 disposed position where a symbol -1, the differential arrangement present in the data symbols in a first symbol appears in the symbol table in order, and the other set to 0 place, so that the position index for the symbol -1 is (101,000,101,000).

随后,增量模式编码器758产生用于一个符号2的位置索引(00101011)而不考虑该已经编码的符号-1的位置。 Subsequently, incremental mode encoder 758 generates a symbol index position 2 (00101011) without considering the already encoded symbol -1 position. 最后,增量模式编码器758产生用于符号3的位置索引(1111),而不考虑该已经编码的符号-1和2的位置。 Finally, the mode encoder 758 generates incremental position index (1111) for symbol 3, regardless of the position of the already encoded symbol 1 and 2. 增量模式编码器758把用于其各自符号的符号标志和位置索引输出到熵编码器760。 Signs and symbols incremental mode encoder position index 758 symbols for their respective outputs to the entropy encoder 760.

由出现模式编码器756和增量模式编码器758产生的全部位置索引具有称为nTrueOne的一个标志,其指示原来的位置索引是否已经反向。 All locations by the presence of the mode encoder 756 and the mode encoder 758 generates incremental index called nTrueOne having a flag, which indicates whether the position of the original index has been reversed. 具体地说,如果nTrueOne被设置为0,则认为位置索引是通过反向其原来位置索引而获得的。 Specifically, if nTrueOne is set to 0, the location is considered indexed to its original position by the reverse index obtained. 在位置索引包括许多1的情况中,有可能通过反向该位置索引而增强该算法编码效率,以便增加0的数量。 In the case of the position index comprises a number of 1, it is possible to reverse the location index and enhance coding efficiency of the algorithm, in order to increase the number of 0's.

下面参照图9D描述熵编码器760的操作。 Entropy encoder 760 is described below with reference to the operation of FIG. 9D.

根据本发明的熵编码器760,使用函数enodeSignedQuasiAAC()熵编码从增量模式编码器758输入的表示该差分数据的符号的符号标志和用于该符号的位置索引,并且熵编码从出现模式编码器756输入的该差分数据的符号和其各自的位置索引。 760, using the function enodeSignedQuasiAAC () entropy coding mode from an incremental encoder indicates that the differential data symbols sign flag and the position index for the symbol, and the entropy coding mode encoding 758 input from the resulting entropy encoder according to the present invention. symbol 756 the input differential data and their respective position index.

在encodeSignedQuasiAAC中,使用涉及输入值和其符号的一个上下文产生一种自适应算法编码的比特数据流。 In encodeSignedQuasiAAC using the input value and its sign relates to a context adaptive arithmetic coding to produce a bit stream. 具体地,在encodeSignedQuasiAAC()中,不为0的一个第一比特被编码,随后编码其符号,并且使用一个零上下文编码其它比特。 Specifically, encodeSignedQuasiAAC () in, not for a first bit of 0 is encoded, and then encode symbols, and coded using a context other bits zero.

图9D是使用encodeSignedQuasiAAC()编码一个符号的一个处理的流程图。 9D is a flowchart showing a process of encoding a symbol using encodeSignedQuasiAAC ().

在步骤S9810中,熵编码器760接收将要被编码的差分数据的符号nValue和其比特大小QBit。 In step S9810, the entropy encoder 760 receives the symbol to be encoded nValue difference data and its bit-size QBit.

在步骤S9820中,熵编码器760从nQBit减去2,并且存储该相减的结果作为可变i。 In step S9820, the entropy coder 760 is subtracted from nQBit 2, and stores the result of the subtraction as a variable i.

在步骤S9830中,熵编码器760把该符号nVa1ue的绝对值存储作为变量val,并且对于val执行次数为i的右移位(SR)操作。 In step S9830, the entropy encoder 760 of the absolute value symbol nVa1ue stored as the variable val, and val for the number of executions of i right shift (SR) operation. 在同一个步骤中,熵编码器760对于1和该SR操作的结果执行一个逻辑″与″操作,并且把该逻辑″与″操作的结果存储为一个变量比特。 In the same step, the entropy encoder 760 and the outcome of an operation of the SR performs a logical "and" operation, and stores the result of the logical "AND" operation is a variable bit.

在使用encodeSignedQuasiAAC()编码一个符号的处理的第一周期中,检测除了符号位以外的将要被熵编码的输入值中的第一比特,并且在随后的周期中逐个读出其它比特。 In the first cycle using encodeSignedQuasiAAC () encodes a symbol processing, in addition to the sign bit is detected to be entropy coding of the input value in the first bit, and reads out one by one in the subsequent cycles of other bits.

在步骤S9840中,熵编码器760检测val是否大于1。 In step S9840, the entropy encoder 760 detects val is greater than 1. 如果val大于1,则在步骤S9850中,在一个零上下文下使用函数qf_encode()编码该′比特′的值。 If val is greater than 1, then in step S9850, the function qf_encode used in the context of a zero () encodes the 'bits' values. 另一方面,如果val不大于1,则在步骤S9860中,在一个第i上下文之下使用函数qf_encode()编码该′比特′的值。 On the other hand, if val is not greater than 1, then in step S9860, the i-th context under a use function qf_encode () encodes the 'bits' values.

当val不大于1时,在步骤S9870中,熵编码器760再一次检验val是否为1。 When val not more than 1, in step S9870, the entropy encoder 760 again tests whether val 1. 如果val是1,则在步骤S9880设置nValue的符号,并且在步骤S9890中根据其符号和一个符号上下文编码nValue。 If val is 1, S9880 nValue symbols set in step, and in accordance with its symbol and a symbol in the context of encoding nValue in step S9890.

当完成针对一个比特的编码处理时,熵编码器760在步骤S9900中把i减1,随后在步骤S9910中检测i的当前值是否小于0。 Upon completion of the encoding process for one bit, entropy encoder 760 in step S9900 in the i is decremented by 1, and then detect the current value of i is smaller than 0 in step S9910 in. 通过重复地执行S9830至S9900,熵编码器760熵编码该输入值,直到i小于0为止。 S9830 to S9900 is repeatedly executed by the entropy encoder 760 entropy encodes the input value until i is less than zero.

因此,随着分配到该第一比特的一个上下文,熵编码器760编码输入值不是0的第一比特,并且编码跟随该零上下文的其它比特。 Thus, as the first bit assigned to a context, entropy encoder 760 encodes the input value is not the first bit 0, and following the coding context of other bits zero.

下面参照图7A描述在标题编码器500中的将要被编码成一个关键字值标题的信息。 Be described below with reference to FIG. 7A to be encoded into a key value header information in the header encoder 500.

标题编码器500接收一个输入的坐标协调程序并且编码一个数据模式、每一关键帧中的顶点的数目、用于该顶点数目的所需要的比特数、以及每一浮点数的有效位的最大数目。 Title encoder 500 receives an input coordinate coordinator and a data coding mode, the number of vertices of each keyframe for the maximum number of significant digits of the number of bits required number of vertices, and each floating-point .

标题编码器500编码一个量化比特数、每一顶点的每一成份的关键值数据中的最小值和每一顶点的每一成份的数据范围中的最大数据范围、以及每一顶点的每一成分的量化数据中的最大和最小值。 Header encoder 500 encodes a number of quantization bits, the data range of each component of the key value data of each component of each vertex and each vertex of the minimum value of the maximum data range, and each part of each vertex The quantized data maximum and minimum values.

标题编码器500从DPCM处理器720接收已经对于每一顶点的每一成份的数据执行的一个DPCM操作的模式,从该字典编码器750接收一个字典编码模式,并且编码该DPCM操作模式和该字典编码方式。 500 header encoder 720 receives an operation mode of DPCM data for each component has each vertex executed from DPCM processor 750 receives a dictionary coding mode from the dictionary encoder, and encoding the DPCM operation mode and the dictionary encoding.

下面参照附图更详细地描述根据本发明优选实施例的一个用于解码一个比特数据流的方法和装置,其比特数据流中编码有坐标内插符的关键字数据和关键值数据。 The following description with reference to the drawings in greater detail according to a preferred embodiment of the present invention for a method and apparatus for decoding a bit stream, the bit stream is encoded with the coordinates of the interpolated symbol values of the key data and key data.

图12是根据本发明一个优选实施例的用于解码坐标内插符的装置的框图。 Figure 12 is a block diagram for the symbol decoding coordinate interpolation apparatus according to the present invention, a preferred embodiment. 参考图12,用于解码坐标内插符的装置包括:关键字数据解码器1300,从一个输入比特数据流中解码关键字数据;关键值数据解码器1500,从该输入比特数据流中解码关键值数据;以及标题解码器1800,解码标题信息并且把该解码的标题信息提供到关键字数据1300以及关键值数据解码器1500,该标题信息是用于解码来自输入比特数据流的关键字数据和关键值数据的必需的信息。 Referring to Figure 12, the decoding coordinates for interpolating symbol means comprising: a key data decoder 1300, data from an input bit stream decoding key data; key value data decoder 1500, data from the input bit stream decoding key value data; and a title decoder 1800, decodes the header information and to provide the decoded header information to the key data 1300 and the key value data decoder 1500, the header information is used to decode the bit stream from the input key data and critical value of the information necessary for the data.

下面参照图13至14B更详细地描述关键字数据解码器1300的结构和操作。 Describe the key data decoder 1300. The structure and operation in greater detail below with reference to FIGS. 13 to 14B.

图13是根据本发明的一个优选实施例的关键字数据解码器1300的一个框图。 Figure 13 is a block diagram of a preferred embodiment of the present invention, key data decoder 1300. 关键字数据解码器1300接收一个编码的比特数据流并且通过解码而将其重新构成关键字数据。 Key data decoder 1300 receives an encoded bit stream by decoding and re-constitute the key data.

关键字数据解码器1300包括一个熵解码器1310、一个反向DND处理器1320、一个反向折叠处理器1330、一个反向移位器1340、一个反向DPCM处理器1350、一个反向量化器1360、一个线性关键字解码器1380和一个浮点数反向转换器1370。 Key data decoder 1300 includes an entropy decoder 1310, an inverse DND processor 1320, an inverse folding processor 1330, an inverse shifter 1340, an inverse DPCM processor 1350, an inverse quantizer 1360, a linear key decoder 1380 and a floating-point reverse converter 1370.

图14A是根据本发明优选实施例的用于解码关键字数据的一种方法的流程图。 14A is a flowchart of a preferred method of the present invention for decoding key data according to an embodiment. 参考图14A,其上压缩有关键字数据的一个比特数据流被输入到标题解码器1800和熵解码器1310。 With reference to FIG. 14A, on which compressed data stream has a bit key data is input to the header decoder 1800 and the entropy decoder 1310.

在步骤S14000中,标题解码器1800解码为了进行解码的每一步骤所需的信息段并且将它们提供到对应解码步骤。 In step S14000, the header decoder 1800 for decoding information required for decoding each step section and supplies them to the corresponding decoding step. 下面按每一解码步骤描述由标题解码器1800解码的信息。 The following description according to each decoding step from the title decoder 1800 decodes the information.

在步骤S 14100中,熵解码器1310从标题解码器1800接收将要被解码的差分数据的数目以及已经用于编码的比特数量,即将要被用于进行解码的比特数目,并且解码该输入的比特数据流。 Step S 14100, the entropy decoder 1310 receives from the header decoder 1800 will be the number of decoded difference data and the number of bits already used for encoding, i.e. the number of bits used for decoding to be performed, and decoded in the input bit data stream. 差分数据的数目等于从关键字数据的数量减去通过执行DPCM获得的帧内关键字数据数目的结果。 The number of differential data is equal to the number of key data by performing data by subtracting the number of intra key DPCM results obtained.

在本实施例中,熵解码器1310根据包括在该比特数据流中的预定的信息,例如bSignedAACFlag,标识将要被解码的差分数据是否具有负值或正值。 In the present embodiment, the entropy decoder 1310 according to the predetermined information included in the bit stream, e.g. bSignedAACFlag, identifies the differential data to be decoded whether negative or positive. 如果该编码的差分数据具有负值,则熵解码器1310使用函数decodeSignedAAC()解码该差分数据。 If the encoded differential data have negative values, the entropy decoder 1310 using the function decodeSignedAAC () decodes the differential data. 另一方面,如果该编码的差分数据仅具有正值,则熵解码器1310使用函数decodeUnsignedAAC()解码该差分数据。 On the other hand, if the encoded differential data have only positive values, the entropy decoder 1310 using the function decodeUnsignedAAC () decodes the differential data. 随后,该解码的差分数据被发送到反向DND处理器1320。 Subsequently, the decoded differential data are transmitted to the inverse DND processor 1320.

反向DND处理器1320在每一DND的周期中从标题解码器1800接收DND的阶数以及最大值nKeyMax。 The order of the inverse DND processor 1320 in each cycle DND DND 1800 received from the header decoder and a maximum value nKeyMax.

如果DND的阶数是-1,这意味着正解码的该编码的差分数据已经经历一个DPCM操作和一个移位操作而不经历DND被熵解码,并且本方法直接进入执行一个反向移位操作的步骤。 If the order of DND is -1, this means is decoding the encoded differential data have been through a DPCM operation and a shift operation without experiencing DND is entropy decoded, and the present method of direct access to perform a reverse shift operation steps. 如果DND的阶数是0,这意味着正解码的该编码的差分数据已经经历一个折叠操作而不经历DND被熵解码,并且因此本方法直接进入执行一个反向折叠操作的步骤。 If the order of DND is 0, this means is decoding the encoded differential data have been through a folding operation without undergoing step DND is entropy decoded, and thus the method directly to the implementation of an inverse folding operation. 如果DND的阶数大于0,则在步骤S14200中执行一个反向DND操作。 If the order of DND is greater than 0, an inverse DND operation is performed in step S14200 in.

反向DND处理器1320在步骤S14300中确定正被解码的编码的差分数据是否已经经历一个上移动操作而被编码。 Inverse DND processor 1320 determines in step S14300 whether being decoded have been encoded going through a differential data is encoded on the move operation. 在本发明的一个优选实施例中,通过查验在一个比特数据流中包含的nKeyInvertDown是否大于0而确定该正解码的该编码差分数据已经经历一个上移位操作而被编码。 In a preferred embodiment of the present invention, nKeyInvertDown by checking one bit included in the data stream is greater than 0 is determined that decoding the encoded differential data have been through a shift operation is encoded on.

如果正被解码的该编码差分数据尚未通过上移位操作,则该方法进入执行一个反向DND的步骤。 If being the encoded difference data is decoded by the shift operation has not been, then the method proceeds to a step of executing an inverse DND. 另一方面,如果正被解码的该编码差分数据已经通过一个上移位操作,在步骤S14400中,通过执行一个上移位,已经从一个正数区域转移到一个负数区域的差分数据被移回到该负数区域。 On the other hand, if the coding being decoded differential data have been shifted by a previous operation, in step S14400 by performing one of the shift has been transferred from a positive number region to a negative region of the differential data is moved back into the negative zone. 在本发明的一个优选实施例中,通过执行由下面方程式表示的一个下移位操作(一个反向下操作)恢复已经通过上移动操作的差分数据。 In a preferred embodiment of the present invention, by executing a represented by the following equation under the shift operation (a reverse operating) has been restored by the difference data movement operations.

invert-down(v) …(20)=v (if v≤nKeyInvertDown)=nKeyInvertDown-v (if v>nKeyInvertDown)这里,nKeyInvertDown具有与使用在上移位操作中的最大值nKeyMax相同的值。 invert-down (v) ... (20) = v (if v≤nKeyInvertDown) = nKeyInvertDown-v (if v> nKeyInvertDown) Here, nKeyInvertDown having a shift operation using the same value as the maximum value nKeyMax. 作为下移位操作的结果,具有超过nKeyInvertDown值的差分数据被转换成低于-1的负值。 As a result of the next shift operation, having a value exceeding nKeyInvertDown differential data are converted into negative values below -1.

根据每一个DND周期中的最大值nKeyMax,对于已经通过下移位操作的差分数据有选择地执行一个反向下分割操作或反向上分割操作。 According to each cycle of DND maximum value nKeyMax, for the differential data have been through the shift operation at the reverse selectively perform a dividing operation or reverse direction at the split operation.

参考图14B,反向DND处理器1320执行一个次数与该差分数据在编码过程中已经通过的DND操作的次数一样多的反向DND操作。 With reference to FIG. 14B, inverse DND processor 1320 performs a DND operation and the number of times the difference data in the encoding process has been adopted as many reverse DND operation. 换句话说,反向DND处理器1320设置一个反向DND阶数的初始值等于DND的阶数。 In other words, inverse DND processor 1320 sets a reverse order of the initial value is equal to the order of DND DND's. 随后,反向DND处理器1320每次执行一个反向DND操作就从该反向DND的阶数的初始值减去1,并且保持执行该反向DND操作,直到该反向DND的阶数变成1为止。 Subsequently, the reverse DND processor 1320 to perform a reverse DND each operation is subtracted from an initial value of the reverse order of DND, and keep the implementation of the reverse DND operations until the order becomes the reverse DND into one so far. 在步骤S14510中,反向DND处理器1320在DND的每一周期中搜索nKeyMax并且检验每一nKeyMax是否不小于0。 In step S14510, the inverse DND processor 1320 in each cycle of DND and checks search nKeyMax each nKeyMax is not smaller than 0.

如果nKeyMax小于0,则意味着该编码处理中已经执行了上分割操作,并且因此反向DND处理器1320在步骤S14530中通过执行一个反向上分割操作而把正在解码的差分数据的范围延伸到一个负数区域。 If nKeyMax is smaller than 0, it means that the coding process has been performed on the split operation, and thus the inverse DND processor 1320 by performing a reverse operation on the segmentation of the range of the differential data being decoded to extend in one step S14530 negative zone. 在本发明的一个优选实施例中,可以使用由方程式(21)定义的一个反向上分割操作。 In a preferred embodiment of the present invention, can be used a reverse (21) defined by the equation of the split operation.

inverse-divide-up(v)&CenterDot;&CenterDot;&CenterDot;(21)]]>=v,(ifv&GreaterEqual;0)]]>=(nKeyMaxi-1)-v-12,(ifv&lt;0,vmod2&NotEqual;0)]]>=v2,(ifv&lt;0,vmod2=0)]]>但是,如果nKeyMax不小于0,则反向DND处理器1320检测该反向DND的阶数是否为1。 inverse-divide-up (v) & CenterDot; & CenterDot; & CenterDot; (21)]]> = v, (ifv & GreaterEqual; 0)]]> = (nKeyMaxi-1) -v-12, (ifv & lt; 0, vmod2 & NotEqual; 0 )]]> = v2, (ifv & lt; 0, vmod2 = 0)]]> However, if nKeyMax is not smaller than 0, then the reverse order of the inverse DND processor 1320 detects whether the DND 1. 如果反向DND的阶数不是1,则意味着在编码处理中该正解码的差分数据已经被执行了下分割操作,因此反向DND处理器1320在步骤S14570中通过执行一个反向下分割操作把该差分数据的范围延伸到一个正数区域。 If the reverse order of DND is not 1, it means that in the encoding process of the differential data being decoded have been performed under the dividing operation, so by performing inverse DND processor 1320 under a reverse of the split operation in step S14570 The range of the differential data is extended to a positive number region.

在本发明的一个优选实施例中,可以使用下面方程式定义的一个反向下分割操作。 In a preferred embodiment of the present invention, may be defined using the following equation under a reverse split operation.

inverse-divide-down(v)&CenterDot;&CenterDot;&CenterDot;(22)]]>=v,(ifv&GreaterEqual;0)]]>=(nKeyMaxi+1)+v-12,(ifv&lt;0,vmod2&NotEqual;0)]]>=v2,(ifv&lt;0,vmod2=0)]]>如果nKeyMax不小于0而反向DND的阶数是1,则反向DND处理器1320在步骤S14590中执行一个反向分割操作之后完成整个反向DND操作。 inverse-divide-down (v) & CenterDot; & CenterDot; & CenterDot; (22)]]> = v, (ifv & GreaterEqual; 0)]]> = (nKeyMaxi + 1) + v-12, (ifv & lt; 0, vmod2 & NotEqual; 0 )]]> = v2, (ifv & lt; 0, vmod2 = 0)]]> If nKeyMax is not smaller than 0 and the order of inverse DND is 1, the inverse DND processor 1320 in step S14590 performed in a reverse split DND operations after the completion of the entire reverse operation. 在本发明的一个优选实施例中,可以使用由方程式(23)定义的一个反向分割操作。 In a preferred embodiment of the present invention, can use a reverse split operation by equation (23) as defined.

inverse-divide(v) …(23)=v (if v≥0)=v+(nKeyMax0+1) (if v<0)已经通过相反DND操作的关键字数据的差分数据被输入到反向折叠处理器1330,并且反向折叠处理器1330在步骤S14600中对于该差分数据执行一个反向折叠操作,使得该只被用于一个正数区域中的差分数据被分成正值和负值。 inverse-divide (v) ... (23) = v (if v≥0) = v + (nKeyMax0 + 1) (if v <0) has been input to the inverting folding processing by the differential data of key data opposite DND operation 1330, and the inverse folding processor 1330 in step S14600 in the differential data for executing an inverse folding operation, so that the number is only used for a positive differential data area is divided into positive and negative values. 在本发明的一个优选实施例中,可以使用由方程式(24)定义的一个反向折叠操作。 In a preferred embodiment of the present invention, may be used by Equation (24) defines a reverse folding operation.

inverse-fold(v)=-(v+1)2,(ifvmod2&NotEqual;0)&CenterDot;&CenterDot;&CenterDot;(24)]]>=v2,(ifvmod2=0)]]>=0,(ifv=0)]]>已经通过反向折叠操作的差分数据被输出到反向移位器1340,在步骤S14700中,反向移位器1340把从标题解码器1800输入的、在编码处理中使用的一个模式nKeyShift加到从反向折叠处理器1340输入的差分数据。 inverse-fold (v) = - (v + 1) 2, (ifvmod2 & NotEqual; 0) & CenterDot; & CenterDot; & CenterDot; (24)]]> = v2, (ifvmod2 = 0)]]> = 0, (ifv = 0 )]]> has been output by the differential data to the inverse folding operation of the reverse shifter 1340, in step S14700, the inverse shifter 1340 input from the header decoder 1800, the encoding process used in a mode nKeyShift is applied to the differential data input from the inverse folding processor 1340. 此操作由下面方程式表示。 This operation is represented by the following equation.

inverse-shift(v)=v+nKeyShift …(25)在步骤S14800中,反向DPCM处理器1350使用从标题解码器1800输入的DPCM的阶数把从反向移位器1340输入的差分数据恢复成量化关键字数据。 inverse-shift (v) = v + nKeyShift ... (25) in step S14800, the inverse DPCM processor 1350 using the input from the header decoder 1800 in the order of DPCM of the differential data input from the inverse shifter 1340 Recovery to quantify the keyword data. 反向移位器1340遵循方程式(26)执行与DPCM的阶数一样多次的反向DPCM操作。 Reverse shifter 1340 follow equation (26) performs the DPCM order as many as a reverse DPCM operation.

v(i+1)=v(i)+delta(i) …(26)其中,i表示差分数据和关键字数据的一个索引,v表示整数的一个数组,而delta(i)表示差分数据。 v (i + 1) = v (i) + delta (i) ... (26) where, i represents an index of differential data and key data, v indicates an array of integers, and delta (i) indicates differential data.

已经通过该反向DPCM操作的量化关键字数据被输入到反向量化器1360。 The inverse DPCM operation has passed quantized key data is input to the inverse quantizer 1360. 随后,反向量化器1360从标题解码器1800接收有关量化比特的大小nKeyQBit和用于反向量化的最大和最小值是否由浮点数转换器315编码的信息,并且在步骤S14900中使用下面方程式把该量化的关键字数据转换成反向量化的关键字数据。 Subsequently, the maximum and minimum values from the header 1360 decoder 1800 receives information about the size of quantization bits for the inverse quantization nKeyQBit and inverse quantizer 315 whether the information encoded by the floating-point number converter, and in step S14900 using the following equation in the The quantized key data into inverse quantized key data.

inverse-quantize(v)=fKeyMin+v2nKeyQBit-1&times;(fKeyMax-fKeyMin)&CenterDot;&CenterDot;&CenterDot;(27)]]> inverse-quantize (v) = fKeyMin + v2nKeyQBit-1 & times; (fKeyMax-fKeyMin) & CenterDot; & CenterDot; & CenterDot; (27)]]>

如果用于量化的最大和最小值在编码关键字数据的处理中尚未由浮点数转换器315转换,则方程式(27)所示的fKeyMin和fKeyMax被分别设置为0和1。 If the maximum and minimum values used for quantization coding key data in the processing is not yet converted by the floating-point number converter 315, the equation (27) fKeyMin and fKeyMax shown in are set to 0 and 1. 但是,如果用于量化的最大和最小值已经由浮点数转换器315所转换,则由浮点数反向转换器1370反向转换的最大和最小值分别被用作该最大和最小值,以便反向量化。 However, if the maximum and minimum values used for quantization have been converted by the floating-point number converter 315 by the maximum and minimum values from floating-point inverse converter 1370 are used as the reverse conversion of the maximum and minimum values, so that the anti- to quantify.

稍后描述实现反向量化的反向DND操作的程序代码的一个实例。 One example describes the implementation of the inverse quantization inverse DND later operation program code.

从反向量化器1360输出的解码的关键字数据加到在线性关键字解码器1380中解码的关键字数据,因此构成解码的关键字数据。 Inverse quantization decoding key data from the 1360 output is added to the online keyword decoder decodes the key data in 1380, and thus constitute a key to decode the data.

下面,在下列段落中描述一个线性关键字解码过程S15000。 Here, in the following paragraphs describe a linear key decoding process S15000.

标题解码器1800解码来自一个比特数据流的关键字标题信息。 Title decoder 1800 decodes key header information from a bit stream. 如果在该比特数据流中存在关于一个线性关键字区域的信息,则标题解码器1800把用于解码该线性关键字数据区域的开始和结束关键字数据所需的信息输出到浮点数反向转换器1370,并且把编码为线性关键字的关键字数目输出到线性关键字解码器1380。 If there is information on a linear key region in the bit stream, the caption decoder 1800 for decoding the beginning and ending key data of the linear key data region is output to the floating-point required for the reverse conversion information 1370, the number of keywords and the keyword is encoded as a linear output to the linear key decoder 1380.

浮点数反向转换器1370把由十进制数表示的该线性关键字数据区域的开始和结束关键字反向地转换成二进制数字,并且把该二进制数字输出到线性关键字解码器1380。 Floating-point number inverse converter 1370 are represented by a decimal number of the linear key data region start and end keywords reversely converted into a binary number, and sends the binary digital output to the linear key decoder 1380.

假定将要被解码的两个浮点数称为fKeyMin和fKeyMax,则解码fKeyMin的一个处理如下。 Assumed that the two floating-point numbers to be decoded called fKeyMin and fKeyMax, a processing of the decoding fKeyMin is as follows.

标题解码器1800从比特数据流读出fKeyMin的位数。 Caption decoder 1800 fKeyMin digit readout from the bit stream. 如果fKeyMin的位数是0,则fKeyMin被设置为0,并且从该比特数据流读出fKeyMax的位数以便解码fKeyMax。 If the number of fKeyMin is 0, fKeyMin is set to 0, and the bit stream read out from the data bits in order to decode fKeyMax fKeyMax. 如果fKeyMax的位数不小于8,则意味着fKeyMax已经遵循IEEE标准754被编码。 If the number is not less than 8 fKeyMax, it means that conform to the IEEE Standard 754 fKeyMax has been encoded. 因此,在读出32比特的fKeyMax之后,解码该浮点数fKeyMax。 Thus, shortly after the read 32-bit fKeyMax, decode the floating point number fKeyMax.

但是,如果fKeyMax的位数在1和7之间,标题解码器1800从该比特数据流读出一个符号位。 However, if the number of bits fKeyMax is between 1 and 7, the caption decoder 1800 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 is set to -1. 另一方面,如果符号位是0,则MinKeyMantissaSign被设置为1。 On the other hand, if the sign bit is 0, then MinKeyMantissaSign is set to 1. 然后,参考表格1获得用于进行解码所需的比特的数量,表格1示出一个尾数的位数和用于进行编码所需的比特数目之间的关系。 Then, referring to Table 1 to obtain the number of bits required for decoding, tables relation between the number of bits required to code the 1 shows the number of bits and a mantissa for performing. 随后,与用于进行编码所需的比特数一样多的比特数据流的比特被读出并且存储在nMinKeyMantissa中。 Subsequently, the number of bits used for as many bits required to code the bit stream is read out and stored in nMinKeyMantissa in. 随后,读出该比特数据流的下一个比特,并且存储在MinKeyExponentSign中,与作为尾数的符号存储在MinKeyMantissaSign中的方式相同。 Subsequently, the next bit is read out of the bit stream, and MinKeyExponentSign in, and as a sign of the mantissa is stored in the same storage in MinKeyMantissaSign manner. 对应于一个指数值的该比特数据流的随后六个比特被读出并且存储在nMinKeyExponent中。 Index value corresponding to a subsequent six bits are read out of the bit stream and stored in nMinKeyExponent in.

通过把从标题解码器1800输入的值替代到方程式(28)中,浮点数反向转换器1370恢复fKeyMin。 By substitution value 1800 input from the header decoder to the equation (28), the floating-point number inverse converter 1370 Recovery fKeyMin.

fKeyMin=MinKeyMantissaSign*nMinKeyMantissa10MinKeyExponentSign*nMinKeyExponent&CenterDot;&CenterDot;&CenterDot;(28)]]>恢复fKeyMax的处理与恢复fKeyMin的处理相同。 fKeyMin = MinKeyMantissaSign * nMinKeyMantissa10MinKeyExponentSign * nMinKeyExponent & CenterDot; & CenterDot; & CenterDot; (28)]]> recovery fKeyMax same treatment and recovery fKeyMin treatment. 具体地说,在从该比特数据流读出fKeyMax的指数之前,确定是否fKeyMin指数的相同值被用作fKeyMax的指数。 Specifically, before the stream reading fKeyMax index data from the bit to determine whether the same value is used as fKeyMax fKeyMin index index. 如果fKeyMin的指数相同的值不被用作fKeyMin的指数,则以从比特数据流读出fKeyMin的指数的同样方式从该比特数据流读出fKeyMax的指数。 If the same value of the exponent of fKeyMin is not used as fKeyMin index, places the bit stream read out from the same manner as the flow index of fKeyMin fKeyMax is read out from the index of the bit data.

线性关键字解码器1380从浮点数反向转换器1370接收该线性关键字数据区域的开始和结束关键字,并且遵循方程式(29)解码该线性关键字数据区域。 Linear key decoder 1380 from the floating-point number inverse converter 1370 receives the beginning and ending key data of the linear key region, and follows the equation (29) decodes the linear key data region.

Keyi=fKeyMin+(fKeyMax-fKeyMin)*i(nNumberOfLinearKey-1)&CenterDot;&CenterDot;&CenterDot;(29)]]>(i=0,...,nNumberOfLinearKey-1)]]>其中,fKeyMin和fKeyMax分别表示该线性关键字数据区域的开始和结束关键字数据。 Keyi = fKeyMin + (fKeyMax-fKeyMin) * i (nNumberOfLinearKey-1) & CenterDot; & CenterDot; & CenterDot; (29)]]> (i = 0, ..., nNumberOfLinearKey-1)]]> where, fKeyMin and fKeyMax, respectively, beginning and end of the key data of the linear key data region.

使用上述方法解码的该线性关键字数据区域中的关键字数据被加到从相反量化器1360输出的关键字数据,然后该相加的结果被输出作为最终关键字数据。 Using the above method for decoding a linear key data region of the key data is added to the key data output from the contrast quantizer 1360, and then the added result is output as final key data.

下面将参照图15A和15B描述根据本发明的解码坐标内插符已编码的关键值数据的一个关键值数据解码器和根据本发明的用于解码坐标内插符的关键值数据的一种方法。 Will now be described with reference to FIG. 15A and 15B A method a key value data decoder according to the encoded symbol is inserted within the coordinates of the present invention, the decoding key value data, and in accordance with the present invention for decoding the key values of the coordinates of the interpolation data symbol .

图15A是根据本发明优选实施例的关键值数据解码器的框图,而图15B是根据本发明优选实施例的用于解码已编码的关键值数据的一种方法的流程图。 15A is a block diagram of a key value data decoder according to a preferred embodiment of the present invention, and FIG. 15B is a flow chart of a method according to a preferred embodiment of the present invention for decoding the encoded key value data.

参考图15A,关键值数据解码器1500包括:熵解码器1505,熵解码一个输入的比特数据流并且因此产生将要被字典解码的数据,包括DPCM的差分数据、符号标志、用于该符号的位置索引和一个DPCM操作模式;字典解码器1510,根据将要被字典编码的数据的符号和其位置索引产生差分数据;反向DPCM处理器1530,根据一个DPCM操作模式,通过对于差分数据执行一个预定的反向DPCM操作而产生量化数据;反向量化器1550,通过反向量化已经量化的数据而产生恢复的关键值数据;以及标题解码器1800,其解码用于从该输入比特数据流解码坐标内插符需要的信息,并且把该信息输出到字典解码器1510、反向DPCM处理器1530和反向量化器1550。 With reference to Figure 15A, the key value data decoder 1500 includes: an entropy decoder 1505, an entropy decoding the bit stream input and thus produces the dictionary to be decoded data, including difference data of DPCM sign flag, a location of the symbol index and a DPCM operation mode; Dictionary decoder 1510, according to the dictionary to be encoded data symbols and its position index difference data is generated; inverse DPCM processor 1530, according to a DPCM mode of operation for the differential data by performing a predetermined reverse DPCM operation generates quantized data; 1550, inverse quantization already quantized by inverse quantizer generates data recovery key value data; and a title decoder 1800, which decodes the data for the input bit stream from the decoded coordinates within interpolation information symbols needed, and outputs the information to the dictionary decoder 1510, inverse DPCM processor 1530 and the inverse quantizer 1550.

在下面将参照图15B描述根据本发明的用于解码坐标内插符的已编码的关键值数据的方法。 The key value of the data in the following method will be described with reference to FIG. 15B the decoding coordinates for interpolating character coded according to the present invention.

在步骤S1710中,其上被编码有坐标内插符的一个比特数据流被输入到熵解码器1505,然后熵解码器1505解码该输入的比特数据流。 In step S1710, which is encoded on a bit stream within a coordinate interpolation operator is input into the entropy decoder 1505 and the entropy decoder 1505 decodes the input bit stream. 如果该输入的比特数据流已经以一个出现模式编码,则熵解码器1505在步骤S1720中把每一顶点的符号和其位置索引输出到字典解码器1510。 If the input bit stream has been encoded with a pattern appears, the entropy decoder 1505 in step S1720 in the apex of each symbol and its location index decoder 1510 outputs to the dictionary. 另一方面,如果该输入的比特数据流已经以一个增量模式编码,则熵解码器1505在步骤S1720中把指示符号存在的符号标志和用于该符号的位置索引输出到字典解码器1510。 On the other hand, if the input bit stream has been encoded in an incremental mode, the entropy decoder 1505 in step S1720 in the presence of the indicator flag and the location index of the symbol for that symbol decoder 1510 outputs to the dictionary.

在步骤S1730中,根据该输入的字典编码模式,字典解码器1510通过解码从该熵解码器1510以出现模式输入的该符号和位置索引或通过解码从熵解码器1510以增量模式输入的符号标志和位置索引而产生差分数据,并把该产生的差分数据输出到反向DPCM处理器1530。 In step S1730, depending on the input dictionary coding mode, Dictionary decoder decodes from 1510 through 1510 to the entropy decoder and location appear in the index mode input symbol or by decoding the symbols from the entropy decoder 1510 in incremental mode input signs and location index differential data generated and the output of the differential data generated by the inverse DPCM processor 1530.

在步骤S1740中,反向DPCM处理器1530根据该输入差分数据的解码的DPCM工作模式,通过对于从字典解码器1510输入的该差分数据执行反向时间DPCM操作、反向空间DPCM操作以及反向时空DPCM操作之一而产生量化的关键值数据,并且把该量化的关键值数据输出到反向量化器1550。 In step S1740, the reverse DPCM processor 1530 according to DPCM decoding operation mode of the input differential data by performing a reverse time for the differential data dictionary DPCM decoder 1510 input from the operation, a reverse DPCM space operations and reverse temporal DPCM operation of critical value to yield quantitative data, and the output value of the key quantitative data to inverse quantizer 1550.

在步骤S1750中,反向量化器1550使用从该关键字值标题解码器1800输入的每一个成份的数据中的最小值和该最大数据范围,反向量化从反向DPCM处理器1530输入的已量化的关键值数据。 In step S1750, the inverse quantizer 1550 each component using input data 1800 from the key value decoder title minimum and the maximum data range, inverse quantization inputted from the inverse DPCM processor 1530 has quantized key value data.

在步骤S1760中,反向量化器1550检查该反向量化的关键值数据的矩阵是否已经在该编码处理过程中转换成一个转置矩阵,并且如果该反向量化的关键值数据的矩阵已经转置,则在步骤S1765中反向地转换该转置矩阵。 Whether matrix key value data in step S1760, the inspection of the inverse quantizer 1550 inversely quantized been converted to the coding process in a transposed matrix, and if the key value of the inverse quantized matrix data has been transferred is set, then in step S1765 reversely converting the transposed matrix.

在步骤S1770中,反向量化器1550输出一个恢复的坐标内插符的关键值数据。 In step S1770, the internal coordinate inverse quantizer 1550 outputs a recovery key value data interpolation operator.

下面参照图16A至17B更详细描述该关键值数据解码器1500的结构和操作。 16A to 17B is described in more detail on the key value data decoder 1500. The structure and operation with reference to the following.

熵解码器1505首先从一个输入比特数据流中解码一个指示一个DPCM模式的比特数据流,然后解码包括bSelFlag、nKVACodingBit、nQMin和nQMax的数列。 The entropy decoder 1505 from a first input bit stream decoding a bit stream indicating a DPCM mode, then decoding includes bSelFlag, nKVACodingBit, nQMin and nQMax number of columns.

在该编码处理中,首先把bSelFlag和nKVACodingBit分别设置为1和0。 In the encoding process, first bSelFlag and nKVACodingBit set to 1 and 0 respectively. 如果bSelFlag被解码成1,则熵解码器1505解码nKVACodingBit、nQMin和nQMax。 If bSelFlag decoded into 1, the entropy decoder 1505 decodes nKVACodingBit, nQMin and nQMax. 另一方面,如果bSelFlag被解码成0,则熵解码器1505只解码nQMin。 On the other hand, if bSelFlag be decoded into 0, the entropy decoder 1505 decodes nQMin.

在解码bSelFlag、nKVACodingBit、nQMin和nQMax的数列以后,熵解码器1505解码指示字典编码模式的nDicModeSelect。 After decoding bSelFlag, nKVACodingBit, nQMin and nQMax number of columns, the entropy decoder 1505 decodes the dictionary indicating the coding mode nDicModeSelect. 根据nDicModeSelect的值,将要被解码的比特数据流被分成下面段落将被描述的两个不同种类。 Depending on the value of nDicModeSelect, to be decoded bit stream is divided into two different types will be described in the following paragraphs.

图18A是一个说明坐标内插符的每一顶点和每一个顶点的成分数据的比特数据流的结构的示意图。 18A is a schematic view of data bits within each character coordinates interpolated vertex and each vertex component data stream structure description. 如图18A所示,如果nDicModeSelect是0,一个比特数据流包括已经在出现模式编码器中编码的符号和位置索引。 18A, if nDicModeSelect is 0, the bit stream includes a mode encoder has encoded symbol and position index occurs. 另一方面,如果nDicModeSelect是1,则一个比特数据流包括已经在增加模式编码器中编码的符号标志和位置索引。 On the other hand, if nDicModeSelect is 1, a bit stream includes increasing mode has been encoded in the encoder and symbol mark position index.

上面已经描述的根据本发明的熵解码器使用以图18B所示的程序代码实现的一个函数decodeSignedQuasiAAC()。 Has been described above according to the present invention, the entropy decoder function decodeSignedQuasiAAC using a program code shown in Fig. 18B implemented (). 在函数encodeSignedQuasiAA()中,使用涉及输入值及其符号的一个上下文对一种自适应算法编码的比特数据流进行编码。 Function encodeSignedQuasiAA () using a context involving the input values and symbols of an adaptive algorithm coded bit stream is encoded. 具体地说,在函数decodeSignedQuasiAAC()中,使用一个零上下文对跟随一个符号位后的比特解码。 Specifically, in the function decodeSignedQuasiAAC () in the context of using a zero followed by a sign bit after the bit decoding. 熵解码器1505把该解码的数据输出到字典解码器1510。 The entropy decoder 1505 outputs the decoded data to the decoder 1510 dictionary.

图16A是根据本发明的字典解码器1510的一个框图,而图17A是字典编码方法的流程图。 16A is a block diagram of a decoder 1510 according to the dictionary of the present invention, and FIG. 17A is a flowchart of a dictionary coding method.

如图16A所示,字典解码器1510包括:DPCM模式解码器1512,恢复输入其中的每一顶点的一个DPCM模式;字典模式选择器1514,选择输入每一顶点的字典解码模式;出现模式解码器1516,从字典模式选择器1514接收每一顶点的每一成分的符号和针对该符号的位置索引,并且恢复差分数据;以及增量模式解码器1518,其从字典模式选择器1514接收一个符号标志和用于该符号的位置索引,并且恢复差分数据。 16A, the dictionary decoder 1510 includes: DPCM mode decoder 1512, recover the input of each one of the vertices of DPCM mode; dictionary mode selector 1514 selects the input of each vertex dictionary decoding mode; appears mode decoder 1516, 1514 receives from the mode selector symbol dictionary for each part of each vertex and the position index for the symbol, and restore the difference data; and the incremental mode decoder 1518, 1514 which receives a flag from the symbol dictionary mode selector and position index for the symbol, and the differential data recovery.

参考图17A,在步骤S1731中,包括该符号、符号标志和位置索引的每一顶点的熵解码的成分数据被输入到DPCM模式解码器1512。 With reference to FIG. 17A, in step S1731, the component data of each vertex entropy decoding including the symbol, and the symbol mark position index is input to the DPCM mode decoder 1512.

在字典解码的差分数据被输出到反向DPCM处理器1530之前,在步骤S1732中,DPCM模式解码器1512解码一个反向DPCM操作的模式,该反向DPCM操作是在反向DPCM处理器1530中将对于每一顶点的每一成份的差分数据执行的操作。 Before dictionary decoded difference data is output to the inverse DPCM processor 1530 in step S1732 in, DPCM mode decoder 1512 decodes an inverse DPCM operation mode, the reverse operation is the reverse DPCM DPCM processor 1530 For each component of the difference data of each vertex of the operations performed.

下面参考图19A描述DPCM模式解码。 19A is described below with reference to FIG DPCM mode decoding.

除了表示每一顶点的每一成分的DPCM模式的组合的符号数目被固定在27、因此符号表的大小也被固定在27之外,DPCM模式解码与稍后将被描述的增量模式解码相同。 In addition to showing the number of symbols for each combination of DPCM mode vertices for each part is fixed to 27, so the size of the symbol table is also fixed to the outside 27, DPCM mode decoding will be described later with the same pattern of incremental decoding .

DPCM模式解码器1512接收一个DPCM模式标志并且跟随输入的位置索引把对应于该DPCM模式标志的符号记录在一个数据组中。 Symbol recording position DPCM mode decoder 1512 receives a DPCM mode flag and follows the input of the index corresponding to the DPCM mode flag in a data set.

例如,如图19A所示,对应于该输入DMCM模式标志的符号是1(TTS),4(TSS),和5(TST+S),而其各自的索引是(010100)、(1010)和(11)。 For example, as shown in Figure 19A, corresponding to the input symbol DMCM mode flag is 1 (TTS), 4 (TSS), and 5 (TST + S), and their respective index is (010 100), (1010) and (11). 因此,使用符号1和其位置索引(010100)恢复一个数据组(X1X1XX),使用符号4和其位置索引(1010)恢复一个数据组(41X14X),以及使用符号5和其位置索引(11)恢复一个数据组(415145)。 Thus, using the symbol index 1 and its location (010,100) to restore a data group (X1X1XX), using 4 and its position index symbol (1010) to restore a data group (41X14X), and the use of symbols 5 and its position index (11) Recovery a data set (415,145).

该恢复的数据组(415145)被转换成DPCM模式(TSS)(TTS)(TST+S)(TTS)(TSS)(TST+S)的组合的一个数组。 The recovered data set (415 145) is converted into a DPCM mode (TSS) (TTS) (TST + S) (TTS) (TSS) (TST + S) of an array of combinations. 因此,有可能根据恢复的数据组识别已经对于每一顶点的每一成分执行了哪一种DPCM。 Therefore, it is possible to have for each vertex of each part which is executed based on the data group identification DPCM recovery.

DPCM模式解码器1512把每一顶点的每一成分的差分数据连同该解码的DPCM模式信息一起输出到字典模式选择器1514。 DPCM mode decoder 1512 for each vertex of the difference data for each part together with the decoded mode information is output together with the DPCM mode selector 1514 to the dictionary.

在步骤S1734中,字典模式选择器1514根据每一顶点的每一成分的nDicModeSelect的值,把从DPCM模式解码器1512输入的每一顶点的成份数据输出到出现模式解码器1516或增量模式解码器1518。 In step S1734, the dictionary mode selector nDicModeSelect 1514 based on the value of each component of each vertex, the output data for each vertex ingredients from DPCM mode decoder 1512 input mode to appear or incremental mode decoder decodes 1516 1518.

如果nDicModeSelect是0,则字典模式选择器1514把顶点的成份数据输出到出现模式解码器1516,而如果nDicModeSelect是1,则字典模式选择器1514把顶点的成份数据输出到增量模式解码器1518。 If nDicModeSelect is 0, then the component data dictionary mode selector 1514 is output to appear vertex mode decoder 1516, and if nDicModeSelect is 1, then the dictionary mode selector 1514 outputs data to the vertex ingredients incremental mode decoder 1518.

在步骤S1736中,出现模式解码器1516把每一个成分的该符号数据和位置索引恢复成差分数据。 In step S1736, the occurrence pattern decoder 1516 and position of the symbol data for each component index restored to the difference data.

图19B是说明出现模式解码的一个实例的示意图。 19B is a schematic diagram illustrating an example of a mode decoding occurs. 参考图19B,出现模式解码器1516从字典模式选择器1514接收符号数据并且检验bSoleKV和nTrueOne。 With reference to FIG. 19B, 1514 occurrence pattern decoder 1516 receives the data symbols from the dictionary mode selector and inspection bSoleKV and nTrueOne.

如果bSoleKV表示在差分数据中有多个输入符号并且nTrueOne表示位置索引尚未反向,则出现模式解码器1516通过在一个数据组中在由其各自位置索引指示的各自位置上插入输入符号而恢复差分数据。 If you have multiple input symbols represent bSoleKV differential data and indicates the position of the index yet nTrueOne reverse, then there pattern decoder 1516 by the insertion of a data set of input symbols by their respective positions in their respective positions on the index indicates restored difference data.

例如,出现模式解码器1516顺序地接收符号3、7和-4以及其各自的位置索引(01000101000)、(1010100)和(111)。 For example, the occurrence pattern decoder 1516 sequentially received symbols 3,7 and -4 and their respective position index (01,000,101,000), (1010100) and (111).

出现模式解码器1516在跟随位置索引(01000101000)的一个差分数据组中记录第一符号3。 1516 is recorded in a data set following the position index difference (01000101000) of the first symbol 3 appears mode decoder. 因此,通过把符号3插入在该差分数据组中的对应于该位置索引(01000101000)中1所处在的位置而获得(3X3XXX3X3XXX)。 Thus, by the symbol 3 is inserted in the corresponding difference data set in the location index (01,000,101,000) in a position which is obtained in (3X3XXX3X3XXX).

出现模式解码器1516恢复该随后的符号7。 Mode decoder 1516 appears to restore the subsequent symbol 7. 在恢复该符号7的过程中,不考虑该差分数据组中的符号3的位置,使得用于该符号7的位置索引不是(0101000100),而是(1010100)。 In the process of restoration of the symbol 7, without considering the difference data symbols in three positions, so that the position index for the symbol 7 is not (0101000100), but (1,010,100).

出现模式解码器1516在该差分数据组中的没被符号3占用的位置中的第一位置记录该符号7,然后在该差分数据组中对应于位置索引(1010100)中的1处在的位置记录该符号7。 Appears at the location of a mode decoder 1516 has not been recorded in the reference numeral 7 in the difference data series of the position occupied by the symbol 3 in a first position, then the position corresponding to the index (1,010,100) in the difference data group Record the symbol 7. 因此,在恢复符号7之后,该差分数据组是(3737X73X37XX)。 Thus, after the restoration of the symbol 7, the difference data is (3737X73X37XX).

出现模式解码器1516按照该索引(111)恢复该符号-4,并且因此产生差分数据组是(3737-473-4374-4)。 Appears mode decoder 1516 according to the index (111) to recover the symbol -4, and thus generates difference data is (3737-473-4374-4).

如果bSoleKV被设置为1,则意味着在差分数据中仅存在一个输入符号,并且没有用于该输入符号的位置索引。 If bSoleKV is set to 1, it means that there is only one input symbol, and not for the input symbol at position index in the differential data. 因此,出现模式解码器1516把该输入符号记录在一个空白差分数据组中的第一位置,并且执行用于恢复该下一个符号的处理。 Thus, the occurrence pattern of the input decoder 1516 is recorded in a blank symbol differential data set a first position, and carries out the restoration of the next symbol processing.

在步骤S1736中,增量模式解码器1518把每一个成分的符号标志和位置索引恢复成差分数据。 In step S1736, the incremental mode decoder 1518 logo and symbol index position of each ingredient into a differential data recovery. 下面参考图19C描述增量模式解码。 Figure 19C is described below with reference to the incremental mode decoding.

增量模式解码器1518从字典模式选择器1514接收指示在差分数据中是否存在符号的符号标志、指示位置索引是否已经反向的nTrueOne以及该位置索引。 Incremental mode decoder 1518 1514 receiving an indication whether there is a symbol of the sign flag in the differential data from the dictionary mode selector, indicating whether the position has been reversed nTrueOne index and the location index.

增量模式解码器1518根据该输入符号标志解码在该差分数据中包括的符号。 Incremental mode decoder 1518 decodes the difference data included in the symbol based on the input symbol flag. 像用于增量模式编码的符号表一样,在用于增量模式解码的一个符号表中,按照从具有最低绝对值的符号到具有最大绝对值的符号的次序把符号排列为一列,并且在具有相同绝对值的两个符号之间,具有正值的符号排列在比另外一个符号高的一行中。 Like for the incremental mode as encoded symbol table, the symbol table is used in an incremental mode decoding in accordance with the lowest absolute value from the symbol sequence having the maximum absolute value of the symbol to the symbol arranged in one row, and between two symbols having the same absolute value, having a positive value higher than the other symbols are arranged in one symbol row. 符号标志的大小是2nKVCodingBit+1-1,其中nKVCodingBit表示在熵解码器1505中解码的量化比特的数量。 Size of the symbol mark is 2nKVCodingBit + 1-1, wherein nKVCodingBit represents the number of the entropy decoder 1505 decodes the quantization bits. 因此,如果一个符号标志是(0011001),则增量模式解码器1518解码存在于该差分数据中作为符号存在的-1,2,和-3。 Thus, if a symbol flag is (0011001), then the incremental mode decoder 1518 decodes the data present in the differential symbol as the presence of 1, 2, and -3.

符号标志之后输入的位置索引分别是(101000101000),(00101011),和(1111)并且分别对应于符号-1、2和3。 After input symbols mark the location of the index, respectively (101,000,101,000), (00101011), and (1111) and correspond to the symbols 1, 2 and 3.

增量模式解码器1518在差分数据组中对应于该位置索引(101000101000)中1处在的位置的位置记录符号-1,使得产生的数据组是(-1X-1XXX-1X-1XXX)。 Incremental mode decoder 1518 in the differential data set corresponding to the position index (101,000,101,000) in a position in the position recording symbol -1, such that the resulting data set is (-1X-1XXX-1X-1XXX).

随后,增量模式解码器1518通过在该差分数据组中的对应于在该位置索引(00101011)中1处在的位置的位置中记录2而恢复该符号2。 Subsequently, incremental mode decoder 1518 by the difference data group corresponding to the location index (00,101,011) in position 1 in the 2 position of the recording and recovery of the symbol 2. 在恢复该符号2的过程中,不考虑该差分数据组中的第一个符号-1的位置,使得该产生的差分数据组是(-1X-1X2X-12-1X22)。 In the recovery process the symbol 2, irrespective of the difference data in the group 1 in the first symbol position, such that the resulting difference data is (-1X-1X2X-12-1X22).

增量模式解码器1518通过在该差分数据组中的对应于在位置索引(1111)中的1处在的位置的位置记录-3而恢复该符号-3,使得产生的差分数据组是(-1-3-1-32-3-1-322)。 Incremental mode decoder 1518 corresponds to the difference data in the group 1 is in a position to record the position index (1111) in position -3 and recover the symbols -3, such that the resulting difference data is set by (- 1-3-1-32-3-1-322).

在步骤S1739中,出现模式解码器1516和增量模式解码器1518恢复每一顶点的每一成分的差分数据,并且把恢复的差分数据输出到反向DPCM处理器1530。 In step S1739, the occurrence pattern decoder 1516 and incremental mode decoder 1518 to restore the difference data for each part of each vertex, and outputs the difference data recovered DPCM processor 1530 to reverse.

图16B是根据本发明的反向DPCM处理器1530的一个框图,而图17B是一个反向DPCM操作的流程图。 16B is a block diagram of inverse DPCM processor 1530 according to the present invention, and FIG 17B is a flowchart showing the operation of the reverse DPCM.

参考图16B,根据本发明的反向DPCM处理器1530包括:反向时间DPCM操作器1542,对于输入的差分数据执行一个反向时间DPCM操作和一个反向循环量化操作,然后输出坐标内插符的量化的关键值数据;反向空间DPCM操作器1544,对于输入的差分数据执行一个反向空间DPCM操作和一个反向循环量化操作,随后输出该量化的关键值数据;反向时空DPCM操作器1546,对于输入的差分数据执行一个反向时空DPCM操作和一个反向循环量化操作,随后输出该量化的关键值数据;以及反向DPCM模式选择器1535,把输入其中的差分数据输出到反向时间DPCM操作器1542、反向空间DPCM操作器1544和反向时空DPCM操作器1546之一。 Referring to FIG. 16B, according to the present invention reverse DPCM processor 1530 include: reverse chronological DPCM operator 1542, for the differential data input time to execute a reverse DPCM operation and an inverse quantization operation cycle, then output within the coordinates of the interpolation operator quantification of key value data; reverse space DPCM operator 1544, for the differential input data space to execute a reverse DPCM operation and an inverse quantization operation cycle, then the output of the key values of the quantized data; inverse temporal DPCM operator 1546, for the differential data input time and space to perform a reverse DPCM operation and an inverse quantization operation cycle, then the output of the quantized key value data; and a reverse DPCM mode selector 1535, in which the output of the input differential data to reverse One time DPCM operator 1546 1542, a reverse DPCM operator 1544 and the spatial inverse temporal DPCM operator.

参考图17B,在步骤S1742中,反向DPCM模式选择器1535将根据在DPCM模式解码器1512中恢复的每一顶点的每一成分的DPCM操作模式而确定将对于输入其中的差分数据执行的一个反向DPCM操作,并且按照该反向DPCM操作模式而输出每一顶点的每一成分的该输入的差分数据。 With reference to Figure 17B, in step S1742, the reverse DPCM mode selector 1535 according to the operating mode in the DPCM mode DPCM decoder 1512 to recover each component of each vertex of the input which determines the execution of a difference data inverse DPCM operation, and a reverse DPCM according to the operation mode and the output of the input differential data of each component of each vertex.

DPCM操作器1542、1542和1546的每一个同时对于输入其中的差分数据执行一个反向DPCM操作和一个反向循环量化操作。 DPCM operator 1542,1542 and 1546 at the same time for every one of the differential input data to perform a reverse DPCM operation and an inverse quantization operation cycle.

在步骤S1744中,反向时间DPCM操作器1542遵循方程式(30)对于该输入的差分数据执行一个反向时间DPCM操作,在步骤S1746中,反向空间DPCM操作器1544遵循方程式(31)对于输入的差分数据执行一个反向空间DPCM操作,在步骤S1748中,反向时空DPCM操作器1546遵循方程式(32)对于该输入的差分数据执行一个反向时空DPCM操作。 In step S1744, the reverse time DPCM operator 1542 follow equation (30) performs an inverse DPCM operation time for the input differential data, in step S1746, the inverse spatial DPCM operator 1544 follow equation (31) to the input The spatial difference data to execute a reverse DPCM operation in step S1748, the inverse temporal DPCM operator 1546 follows the equation (32) for the differential data input performs a reverse temporal DPCM operation.

V~i,j=Di,j+V~i-1,j&CenterDot;&CenterDot;&CenterDot;(30)]]>V~i,j=Di,j+V~i,Ref&CenterDot;&CenterDot;&CenterDot;(31)]]>V~i,j=Di,j+{V~i-1,j+(V~i,Ref-V~i-1,Ref)}&CenterDot;&CenterDot;&CenterDot;(32)]]>在方程式(30)至(32)中, V ~ i, j = Di, j + V ~ i-1, j & CenterDot; & CenterDot; & CenterDot; (30)]]> V ~ i, j = Di, j + V ~ i, Ref & CenterDot; & CenterDot; & CenterDot; (31 )]]> V ~ i, j = Di, j + {V ~ i-1, j + (V ~ i, Ref-V ~ i-1, Ref)} & CenterDot; & CenterDot; & CenterDot; (32)]]> in Equation (30) to (32), 表示在第i关键帧中的第j个顶点的量化关键值数据,Di,j表示在该第i关键帧中的该第j个顶点的差分数据,而Ref表示一个参考顶点。 J denotes the quantized key value data in the i-th vertex keyframe, Di, j represents the j-th differential data in the i-th vertex keyframe, and Ref represents a reference vertex.

在方程式(31)和(32)中,如果 Equation (31) and (32) in, if Or 小于每一个成份的量化关键值数据中的最小值,则使用该最小值而不使用 Each component is less than the minimum quantized key value data is used instead of using the minimum Or 如果 In case Or 大于在每一成分的量化关键值数据当中的最大值,则使用该最大值而不使用 Greater than the maximum value of each quantized key data among components, use that instead of the maximum Or

DPCM操作器1542、1544和1546的每一个都使用方程式(33)执行一个反向DPCM操作并且同时执行一个反向循环量化操作,以便扩展已经在该编码处理过程中降低的差分数据的范围。 DPCM operator 1542,1544 and 1546 are each used equation (33) performs an inverse DPCM operation and simultaneously perform an inverse quantization operation cycle, which has been reduced in order to extend the range of the encoding process in the difference data.

InverseCircularQuantization(Xi): …(33)X&prime;i=X~i-(nQMax-nQMin+1),(ifX~i&GreaterEqual;0)]]>X&prime;i=X~i-(nQMax-nQMin+1),(otherwise)]]>X^i=X^i-1+X~i,(ifnQMin&le;X^i-1+X~i&le;nQMax)]]>X^i=X^i-1+X&prime;i,(ifnQMin&le;X^i-1+X&prime;i&le;nQMax)]]>在方程式(33)中, InverseCircularQuantization (Xi): ... (33) X & prime; i = X ~ i- (nQMax-nQMin + 1), (ifX ~ i & GreaterEqual; 0)]]> X & prime; i = X ~ i- (nQMax-nQMin + 1) , (otherwise)]]> X ^ i = X ^ i-1 + X ~ i, (ifnQMin & le; X ^ i-1 + X ~ i & le; nQMax)]]> X ^ i = X ^ i-1 + X & prime ; i, (ifnQMin & le; X ^ i-1 + X & prime; i & le; nQMax)]]> in the equation (33), 是与Di,j相同的输入值, Is the same input value Di, j, 是与 With Or 一样的一个在前反向循环量化值。 A reverse-cycle preceding the same quantized value. nQMax和nQMin分别表示在DPCMed差分数据中的最大值和最小值。 nQMax and nQMin represent maximum and minimum values in the DPCMed differential data.

在步骤SS1749中,反向DPCM处理器1530把已经反向DPCM的和反向循环量化的每一顶点的每一成分的关键值数据输出到反向量化器1550。 In step SS1749, the reverse has been the reverse DPCM DPCM processor 1530 and each component of each vertex of the reverse-cycle quantification of key value data is output to the inverse quantizer 1550.

参考图15B,反向量化器1550遵循方程式(4),把在从该关键字值标题解码器1800输入的在输入成份数据中的最小值fMin_X、fMin_Y和fMin_Z以及最大范围值fMax转换成二进制数,并且通过把fMin_X、fMin_Y、fMin_Z和fMax替代到方程式(34)中而反向量化从反向DPCM处理器1530输入的量化关键值数据。 With reference to FIG. 15B, inverse quantizer 1550 follows the equation (4), the key value from the title decoder 1800 input data in the input component of the minimum fMin_X, fMin_Y and fMin_Z and the maximum range value fMax converted into a binary number , and by the fMin_X, fMin_Y, fMin_Z and fMax alternative to equation (34) and the reverse quantizing quantized key value data input from the inverse DPCM processor 1530.

V^i,j,x=fMin_X+V~i,j,x2nKVQBits-1&times;fMax&CenterDot;&CenterDot;&CenterDot;(34)]]>V^i,j,y=fMin_Y+V~i,j,y2nKVQBits-1&times;fMax]]>V^i,j,z=fMin_Z+V~i,j,z2nKVQBits-1&times;fMax]]>方程式(34)中,nKVQBits表示用于反向量化的一个量化比特的大小。 V ^ i, j, x = fMin_X + V ~ i, j, x2nKVQBits-1 & times; fMax & CenterDot; & CenterDot; & CenterDot; (34)]]> V ^ i, j, y = fMin_Y + V ~ i, j, y2nKVQBits- 1 & times; fMax]]> V ^ i, j, z = fMin_Z + V ~ i, j, z2nKVQBits-1 & times; fMax]]> Equation (34), nKVQBits represents for inverse quantization of a quantization size bits.

反向量化器1550必须以表2示出的矩阵的形式输出每一顶点的每一成分的反向量化的关键值数据。 Inverse quantizer 1550 to be shown in Table 2 in the form of output of the inverse quantization matrix for each component of each vertex of the key value data. 为了实现此目的,在步骤S1760中,反向量化器1550在输出该反向量化的关键值数据之前检验该反向量化的关键值数据的模式是否为一个转置模式。 Prior To achieve this, in step S1760, the inverse quantizer 1550 outputs the inversely quantized key value data of the test pattern inversely quantized key value data of whether a transposed mode. 如果该反向量化的关键值数据的模式是一个转置模式,则在步骤S1765中,反向量化器1550通过反向转换该转置矩阵而产生并且输出坐标内插符的解码的关键值数据。 If the inverse quantization of key-value data model is a transpose mode, the step S1765, the inverse quantizer 1550 and the transposed matrix produced by the reverse conversion and output within the coordinates of the interpolation operator decoded key value data .

图20A至20L是示出SDL程序代码的实例的图表,通过该SDL程序代码,实现根据本发明优选实施例的用于解码坐标内插符的关键字数据和关键值数据的装置。 20A to 20L are diagrams showing examples of SDL program codes chart SDL program codes by which, for the realization of the decoding apparatus according to the coordinates of the interpolation operator keyword data and key value data according to a preferred embodiment of the present invention.

图20A是说明一个类CompressedCoordinateInterpolator的示意图,它是用于读出坐标内插符的压缩比特数据流的最高类。 Figure 20A is a diagram illustrating a class CompressedCoordinateInterpolator, which is used for reading out the coordinates of the highest class of the interpolation operator compressed bit stream. 在图20A中,KeyHeader和Key是用于从比特数据流读出关键信息的类,对应于常规CoordinateInterpolator节点中的关键字字段数据。 In Fig. 20A, KeyHeader and Key is a class of data from the bit stream read out critical information, corresponding to the conventional CoordinateInterpolator node key field data. CoordIKeyValueHeader和CoordIKeyValue是用于读出对应于在常规CoordinateInterpolator结点中的keyValue字段数据的keyValue信息的类。 CoordIKeyValueHeader and CoordIKeyValue is used to read out the class corresponding to the nodes in conventional CoordinateInterpolator keyValue information keyValue field data. 函数qf_start()被用于在读出该比特数据流的AAC-编码的部分以前初始化一个算法解码器。 Function qf_start () is used to read out part of the bit stream encoded AAC- previously initialize a decoder algorithm.

图20B是说明用于解码一个关键字标题的类的示意图,它是用于一个解码处理所需要的信息。 FIG 20B is a diagram illustrating a key for decoding the header class, which is a decoding process for the information required.

该关键字标题中的主信息是关键字的数目、量化比特、帧内关键字数据、用于进行解码的DND标题和实际比特。 The title key information is the number of primary keyword, quantization bits, intra key data, for performing DND header and the actual bit decoding. nKeyQBit是用于该反向量化以便恢复该浮点关键字值的量化比特。 nKeyQBit is used to quantify the reverse order to recover the quantization bit floating point value of the keyword. nNumKeyCodingBit表示关键字数据数的nNumberOfKey的比特大小,它表示关键字数据的数目。 nNumKeyCodingBit bits indicating the size of the key data number nNumberOfKey, which represents the number of key data. nKeyDigit表示在该原始关键字数据中的最大有效位,并且能被用于舍入该解码的值。 nKeyDigit represents the most significant bit in the original key data, and can be used for rounding the decoded values. 当在该标题中包括有关线性关键字子区域的信息时,bIsLinearKeySubRegion标志设置为1。 When included information about the linear key sub-regions in the title when, bIsLinearKeySubRegion flag is set to 1. 在此情况中,能够使用跟随该bIsLinearKeySubRegion标志的解码的标题信息计算在整个关键字范围之内的某一子区域中包括的关键字。 Keywords included in this case, can be used to follow the bIsLinearKeySubRegion decoded header information flag included in the scope of a keyword entire sub-region. bRangeFlag指示关键字数据的范围是否从0到1。 bRangeFlag keyword data indicating whether the 0-1 range. 如果该范围不是0到1,则从KeyMinMax类解码最小值和最大值。 If the range is not 0-1, from KeyMinMax class decoding minimum and maximum. KeyMinMax类重建用于反向量化的最小值和最大值。 KeyMinMax type reconstruction for minimum and maximum reverse quantify. 每一个值能够被分成尾数和指数。 Each value can be divided into mantissa and exponent. nBitSize是若干关键字标题信息数据的比特量,它们是nQIntraKey、nKeyShift和nKeyMax。 nBitSize keyword is a certain amount of header information bits of data, which are nQIntraKey, nKeyShift and nKeyMax. nQIntraKey是第一量化的帧内数据的幅值。 nQIntraKey is the amplitude of the first quantized intra data. 它连同表示nQIntraKey的符号的nQIntraKeySign结合在一起。 Which together represent nQIntraKey symbol nQIntraKeySign together. 它被用作对该量化的关键字数据的剩余部分进行恢复的一个基础。 It is used as a remaining portion of the quantized key data will be a basis for recovery. 对于在该内插符压缩中的所有的符号位,值0表示一个正号而1表示一个负号。 For the interpolation in the symbol of all symbols in the compressed bit value of 0 indicates a positive sign and a negative sign indicates a. nKDPCMOrder是DPCM的阶数减1。 nKDPCMOrder is the order of DPCM minus 1. 该阶数的范围可以从1到3。 The order can range from 1-3. 量化帧内数据的数目与DPCM的阶数相同。 The number of quantized intra data is the same as the order of DPCM.

nKeyShift,连同符号位nKeyShiftSign一起,是表明在该关键字数据解码器中移位的量的整数。 nKeyShift, together with the sign bit nKeyShiftSign together, is an integer in the keyword indicates that the data decoder shift amount. 如果该bShiftFlag被设置为真,则解码这两个值。 If the bShiftFlag is set to true, the decoding of these two values. nDNDOrder是DND(分割-与-分割)的阶数。 nDNDOrder is DND (split - and - split) of the order. DND在该关键字数据解码器中描述。 DND described in the keyword data decoder. 如果nDNDOrder的值是7,则bNoDND被解码。 If the value nDNDOrder is 7, then bNoDND decoded. 此布尔值表示是否将进行反向DND处理。 This Boolean value that indicates whether the reverse DND treatment. nKeyMax是在连续反向DND处理每一个过程中使用的最大值或最小值。 nKeyMax is processed in a continuous inverse DND maximum or minimum value during each use. nKeyCodingBit是用于编码关键字数据的比特。 nKeyCodingBit are bits for coding key data. bSignedAACFlag表示哪个解码方法被用于AAC解码。 bSignedAACFlag decoding method is used for indicating which AAC decoder. 如果该值是0,则执行无符号AAC解码。 If the value is 0, an unsigned AAC decoding is performed. 否则,执行有符号的AAC解码。 Otherwise, the execution signed AAC decoding. bKeyInvertDownFlag是表示是否使用nKeyInvertDown的布尔值。 bKeyInvertDownFlag is whether nKeyInvertDown Boolean value. nKeyInvertDown是整数值,使得所有的量化的高于该整数值的关键字数据被反向到从-1和低于-1开始的负值。 nKeyInvertDown is an integer value, such that all the quantized integer value is higher than the keyword data is inverted to a negative value -1 and less than -1 from the beginning. 如果nKeyInvertDown是-1,则不执行反向。 If nKeyInvertDown is -1, the reverse is not executed. 图20C是说明一个类LinearKey的示意图。 FIG 20C is a diagram illustrating a class LinearKey of. 图20C中,nNumLinearKeyCodingBit是表示为了编码线性可预测关键字的一个预定的数量的所需比特数目的一个值。 FIG. 20C, nNumLinearKeyCodingBit is a value that represents a keyword in order to encode the linear prediction can be a predetermined number of bits required number. nNumberOfLinearKey是表示线性可预测关键字数目的一个值。 nNumberOfLinearKey is a linear predictable a number of key values.

图20D是说明一个类KeyMinMax的示意图。 20D is a schematic diagram illustrating a class KeyMinMax of. 图20D中,bMinKeyDigitSame是一个标志,表示全部关键字的最高有效位的数目(nKeyDigit)和在关键字当中的一个最小值的最高有效位的数量是否相同。 Fig. 20D, bMinKeyDigitSame is a sign that the most significant bit of the number of all the keywords (nKeyDigit) and highest number of effective bits at a minimum which keywords are the same. nMinKeyDigit是表示在该关键字当中的该最小值的最高有效位数目的一个值。 nMinKeyDigit is an object representing the most significant digits of the minimum value among the keywords. nMinKeyMantissaSign是表示nMinKeyMantissa的符号的一个值。 nMinKeyMantissaSign is a value nMinKeyMantissa symbols.

nMinKeyMantissa是表示在关键字当中的最小值的尾数的一个值。 nMinKeyMantissa shows a minimum value among the keywords mantissa. nMinKeyExponentSign是表示nMinKeyExponent的一个符号的一个值。 nMinKeyExponentSign is a value of a symbol nMinKeyExponent.

nMinKeyExponent是表示在关键字当中的最小值的指数的一个值。 nMinKeyExponent is a minimum value of the index among keywords. fKeyMin是表示在关键字当中的最小值的一个值。 fKeyMin is a minimum value among keywords. bMaxKeyDigitSame是一个标志,指示全部关键字的最高有效位的数目nKeyDigit和在关键字当中的一个最大值的最高有效位的数目是否相同。 bMaxKeyDigitSame is a flag indicating that all the keywords most significant bit of the number nKeyDigit and number among the most significant bit of a maximum of keywords are the same. nMaxkeyDigit是表示在该关键字当中的该最大值的最高有效位数目的一个值。 nMaxkeyDigit is an object representing the most significant digit of the maximum value among the keywords. nMinKeyMantissaSign是表示nMaxKeyMantissa的符号的一个值。 nMinKeyMantissaSign is a value nMaxKeyMantissa symbols. nMaxKeyMantissa是表示在该关键字当中最大值的尾数的一个值。 nMaxKeyMantissa is a value at which the maximum value of the keyword mantissa.

bSameExponent是一个标志,指示在关键字当中的最大值的指数是否nMinKeyExponent相同。 bSameExponent is a flag that indicates the maximum value among the keyword index is nMinKeyExponent same. nMaxKeyExponentSign是表示nMaxKeyExponent的符号的一个值。 nMaxKeyExponentSign is a value nMaxKeyExponent symbols. nMaxKeyExponent是表示在关键字当中的最大值的指数的一个值。 nMaxKeyExponent is a maximum value of the index among keywords. FKeyMax是表示在关键字当中的最大值的一个值。 FKeyMax is a maximum value among keywords.

图20E是说明一个类Key的示意图。 Figure 20E is a diagram illustrating a class Key's. 在图20E中,nQKey是从一个比特数据流解码的量化关键字数据的一个数组。 In the FIG. 20E, nQKey is an array of a bit stream from the decoded quantized key data. KeyContext是用于读取nQKey的一个幅值的一个上下文。 KeyContext is a context for an amplitude of nQKey read. KeySignContext是用于读取nQKey的一个符号的一个上下文。 KeySignContext is a context for reading the nQKey a symbol of.

DecodeUnsignedAAC是一个函数,利用下面将描述的一个给出上下文执行自适应算术编码的一个无符号解码过程。 DecodeUnsignedAAC is a function that will be described below utilizing a context of a given implementation of adaptive arithmetic coding unsigned decoding process. DecodeSignedAAC是一个函数,利用下面将描述的一个给出上下文执行自适应算术编码的一个有符号解码过程。 DecodeSignedAAC is a function, use will be described below one by one to perform adaptive arithmetic coding context given a signed decoding process.

图20F是说明一个类CoordIKeyValueHeader的示意图。 Figure 20F is a diagram illustrating a class CoordIKeyValueHeader of. 图20F中,在解码关键字标题数据之后,解码关键字值标题数据。 FIG. 20F, the title data after decoding key, a decoding key value header data. 一个关键字值标题包括:顶点的数量、用于关键值数据的量化参数以及在将被用于量化的关键值数据当中的最小值和最大值。 A key value header includes: the number of vertices for the quantization parameter and the key value of the data value in the key data to be used for quantization among the minimum and maximum. bTranspose是指示当前模式是否为一个转置模式或一个顶点模式的标志。 bTranspose indicating whether the current mode is a mode or a vertex transpose mode flag. 如果bTranspose是1,则选择一个转置模式。 If bTranspose is 1, selecting a permutation pattern. 否则,选择一个顶点模式。 Otherwise, select a vertex mode. nKVQBit表示为了用于恢复浮点数字的反向量化所需的量化比特。 nKVQBit that in order to recover the desired floating-point number inverse quantization of quantization bits. nCoordQBit表示nNumberOfCoord的比特大小,nNumberOfCoord表示顶点数目。 nCoordQBit represents the bit size nNumberOfCoord, nNumberOfCoord represents the number of vertices. nKVDigit在一个反向量化之后使用,表示关键值数据的有效位的最大数目。 nKVDigit an inverse quantization after use, the maximum number of significant bits of the key value of the data representation. 一个类KeyValueMinMax恢复在关键值数据的每一成份的量化值和一个将用于反向量化最大关键值数据范围中的最小值。 Quantify the value of a class KeyValueMinMax restore critical data values for each component, and a minimum value will be used to quantify the maximum reverse key value data range. 上述的值的每一个能够被分成各自的尾数和指数。 Each can be divided into respective mantissa and exponent above values. 标题信息的其它部分包括在该关键值数据的每一成分的量化值中的最大和最小值中的一个最大值和一个最小值。 The other part of the title information comprises a maximum value and a minimum value of the maximum and minimum values of each component of the quantized key value data of the. 具体地说,nXQMinOfMax表示在每一个顶点的x成份的量化值中的最大值当中的一个最小值。 Specifically, nXQMinOfMax represents a minimum value of the maximum value in the quantization of each vertex in the x component among.

图20G和20H是表示程序代码的实例的示意图,借助该程序代码实现根据本发明优选实施例的一个DPCM模式解码器。 Figure 20G and 20H is a diagram showing an example of program code, by means of the program code implements a DPCM mode decoder according to a preferred embodiment of the present invention. 参考图20G和20H,nDPCMMode是表示每一顶点的每一个成份x、y和z的一个DPCM模式的一个整数数组。 With reference to Figure 20G and 20H, nDPCMMode shows an array of integers for each vertex of each of the components x, y and z a DPCM mode. nDPCMMode可以具有值:1(一个时间DPCM操作)、2(一个空间DPCM操作)或3(一个时空操作)。 nDPCMMode can have a value: 1 (a DPCM operation time), 2 (a space DPCM operation) or 3 (a space-time operation).

bSelFlag是用于每一顶点的每一成分的选择标志。 bSelFlag is a selectable marker for each part of each vertex. 只有针对bSelFlag被设置为'真′的具有成分的顶点才使用字典编码器340编码。 Only for bSelFlag is set to 'true' vertex has only component encoder 340 encodes using the dictionary. selectionFlagContext是用于读出bSelFlag的一个上下文。 bSelFlag selectionFlagContext is a context for reading.

nKVACodingBit是一个整数数组,表示为了编码每一顶点的每一成分所需的比特。 nKVACodingBit is an array of integers, that in order to encode each vertex of each component of the required bit. aqpXContext是用于读出nKVACodingBit的一个上下文。 aqpXContext is used to read out of context nKVACodingBit.

nRefVertexis是表示用于全部顶点的一个参考顶点的索引的整数数组。 nRefVertexis is an array of integers for all the vertices of a reference vertex index. refContext是用于读出nRefVertex的一个上下文。 refContext is used to read out of context nRefVertex. nQMin是一个整数数组,表示在每一顶点的每一成分的量化值中的最小值。 nQMin is an array of integers, represents the minimum quantized value of each component of each vertex. qMinContext是用于读出nQMin的一个上下文。 qMinContext is used to read out of context nQMin. qMinSignContext是用于读取nQMin的符号的一个上下文。 qMinSignContext is a context for reading nQMin symbols.

nQMax是一个整数数组,表示在每一顶点的每一成分的量化值中的最大值。 nQMax is an array of integers representing the maximum value of the quantized value of each component of each vertex. qMaxContext是用于读出nQMax的一个上下文。 qMaxContext is used to read out of context nQMax. qMaxSignContext是用于读取nQMax的符号的一个上下文。 qMaxSignContext is a context for reading nQMax symbols.

图20I是一个类CoordIDPCMMode的示意图,用于根据本发明优选实施例而解码一个DPCM模式。 Figure 20I is a schematic diagram of a class CoordIDPCMMode for while decoding a DPCM mode according to a preferred embodiment of the invention. bAddressOfDPCMMode表示在DPCM字典表格中的DPCM字典符号的用法,其中每一个包括用于每一成份的DPCM模式。 bAddressOfDPCMMode represents symbols in the dictionary usage DPCM DPCM dictionary table, wherein each comprises a component for each of the DPCM mode. 存在DPCM模式的三个类型:T、S和T+S,并且一个顶点包括三个成分。 The presence of three types of DPCM mode: T, S, and T + S, and a vertex comprises three components. 因此如上面表3所示,存在27个字典符号指示所有可能的DPCM模式的组合。 Therefore, as shown in Table 3 above, the symbol indicates the presence of 27 dictionary of all possible combinations of DPCM mode. dpcmModeDicAddressContext是用于读出bAddressOfDPCMMode的一个上下文。 dpcmModeDicAddressContext is used to read out of context bAddressOfDPCMMode.

bDPCMIndex指示已经用于每一个顶点的一个DPCM符号。 bDPCMIndex indicate a DPCM sign has been used for each vertex. dpcmModeDIcIndexContext是用于读出dpcmModeDicIndexContext的一个上下文。 dpcmModeDIcIndexContext is used in a context readout dpcmModeDicIndexContext.

图20J是一个类CoordIKeyValueDic的示意图,该类用于根据本发明优选实施例而解码一个字典编码模式。 Figure 20J is a schematic diagram of a class CoordIKeyValueDic, a dictionary class is used to decode the coding mode according to a preferred embodiment of the invention. 图20J中,nDicModeSelect指示在一个字典编码处理过程中已经使用了哪个编码模式。 In Figure 20J, nDicModeSelect dictionary indicating a coding process which has been used in encoding mode. 当nDicModeSelect设置为1时,意味着该编码模式是一个增量模式。 When nDicModeSelect set to 1, which means that the encoding scheme is an incremental mode. 另一方面,当nDicModeSelect是0,则意味着该字典编码模式是一个出现模式。 On the other hand, when the nDicModeSelect is 0, it means that the dictionary coding mode is a mode appears.

图20K是表示一个类CoordIIncrementalMode的示意图,通过该类实现根据本发明优选实施例的一个增量模式解码方法。 20K is a schematic diagram of a class CoordIIncrementalMode and an incremental mode decoding method according to a preferred embodiment of the invention by the class implements. 图20K中,bAddress表示量化关键值数据的递增字典符号的用法。 Figure 20K in, bAddress symbol represents incremental dictionary quantized key value data usage. 增量字典表格中的符号数目是2(nKVCodingBit+1)-1。 Increment the number of symbols in the dictionary table is 2 (nKVCodingBit + 1) -1. dicAddressContext是用于读出bAddress的一个上下文。 dicAddressContext is used in a context readout bAddress.

nTrueOne是指示索引数据是否已经反向的一个值。 nTrueOne a value that indicates whether the index data has been reversed. 如果nTrueOne设置为1,则在一个位置索引中的'1'值被编译为指示一个符号的位置的真值。 If nTrueOne set to 1, then in a position index '1' value is compiled as a symbol indicating the position of the true value. 如果nTrueOne设置为0,则在该位置索引中的'0'值被编译为指示该符号的位置的真值。 If nTrueOne set to 0, then in the position index '0' value is compiled to indicate the true value of the symbol position.

bAddrIndex指示哪个增量字典符号已经被用于每一顶点的每一成分。 bAddrIndex indicates which incremental dictionary symbol has been used for each component of each vertex. dicIndexContext是用于读出bAddrIndex的一个上下文。 dicIndexContext is used to read out of context bAddrIndex.

图20L是表示一个类CoordIOccurrenceMode的示意图,通过该类实现根据本发明优选实施例的一个出现模式解码方法。 Figure 20L is a schematic diagram of a class CoordIOccurrenceMode, a pattern appears by class implements the decoding method according to a preferred embodiment of the present invention. 图20L中,nQKV是包括对应于量化关键值数据的发生字典符号的一个整数数组。 In Figure 20L, nQKV includes an array of integers corresponding critical value of the data to quantify the occurrence of a dictionary of symbols. kvXContext、kvYContext和kvZContext是用于读出nQKV的上下文。 kvXContext, kvYContext and kvZContext is used in the context of reading out nQKV. kvSignContext是用于读取nQKV的一个符号的一个上下文。 kvSignContext is a context for reading the nQKV a symbol of.

bSoleKV表示一个符号是否仅出现一次。 bSoleKV represents a symbol appears only once. 当一个预定符号仅出现一次时,bSoleKV设置为1。 When a predetermined symbol appears only once, bSoleKV is set to 1. dicSoleKVContext是用于读出bSoleKV的一个上下文。 dicSoleKVContext is used in a context readout bSoleKV. bDicIndex指示哪个发生字典符号已经被用于每一顶点的每一成分。 bDicIndex dictionary symbol indicates which occur every ingredient has been used for each vertex. dicIndexContext是用于读出bDicIndex的一个上下文。 dicIndexContext is used to read out of context bDicIndex.

本发明能够实现为写在计算机可读取记录介质上的计算机可读代码。 The present invention can be implemented as written on a computer-readable computer readable code on a recording medium. 其中,计算机可读记录介质包括能够由计算机系统读出的任何种类的记录介质。 Wherein the computer-readable recording medium includes any kind can be read by a computer system of the recording medium. 例如,该计算机可读记录介质可以包括ROM、RAM、CD-ROM、磁带、软盘、光数据存储器、载波(通过互联网络发送)等。 For example, the computer-readable recording medium may include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage, carrier wave (transmission through the Internet) and the like. 该计算机可读记录介质能够经过网络连接与计算机系统分散配置,并且一个计算机能够以分散的方法读出该记录介质。 The computer-readable recording medium can be connected over a network to a computer system are distributed, and a method of dispersing the computer can read out the recording medium.

由于根据本发明的用于编码坐标内插符的装置包括一个关键字数据编码器,该关键字数据编码器利用关键字数据单调增加的事实对关键字数据进行编码,所以该装置能够以高效率编码动画关键字数据。 Since the present invention is used in the encoding apparatus according to the coordinates of the interpolation operator includes a key data encoder, the key data encoder key data monotonously increasing use of the fact that key data is encoded, so that the apparatus can be efficiently animation key data coding. 此外,由于根据本发明的用于编码坐标内插符的装置包括一个关键值数据编码器,其考虑了在关键值数据之间的时间相关性以及在关键值数据之间的空间相关而编码关键值数据,所以该装置能够以少量的数据来恢复高品质的动画。 Further, since the present invention is used within the coding apparatus according to the coordinates of the interpolation operator includes a key value data encoder, which takes into account the value of the time-critical data and the correlation between the value of the space between the key and the encryption key-related data value data, so that the apparatus can be a small amount of data to recover high-quality animation.

虽然已经参照几个优选实施例具体地展示和描述了本发明,但是本领域技术人员将理解,在不背离由所附的权利要求书定义的本发明的精神和范围的条件下可以进行各种形式和细节上的改变。 Although reference to a few preferred embodiments have been particularly shown and described the present invention, those skilled in the art will appreciate that the spirit and scope not departing from the defined by the appended claims the invention may be made of various changes in form and details.

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