CN1878312A - Method and apparatus for decoding bit stream - Google Patents
Method and apparatus for decoding bit stream Download PDFInfo
- Publication number
- CN1878312A CN1878312A CN 200610094359 CN200610094359A CN1878312A CN 1878312 A CN1878312 A CN 1878312A CN 200610094359 CN200610094359 CN 200610094359 CN 200610094359 A CN200610094359 A CN 200610094359A CN 1878312 A CN1878312 A CN 1878312A
- Authority
- CN
- China
- Prior art keywords
- differential data
- dnd
- data
- reverse
- oppositely
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Abstract
A mean and method for coding and decoding keywords data is provided. The mean comprises: linear keywords coder for identifying the keywords data input and coding linear keywords data area in the area of the keywords data increased linearly; floating point numbers scale unit, converting the binary digit expressing the beginning and the end keywords data in the corresponding linear keywords data area from linear keywords coder and the binary digit expressing the maximum and the minimum from quantization error to decimal digit; quantizer, receiving the keywords data except from linear keywords area, and quantizing the keywords data with predefined quantization bit; entropy coder, the keywords data that the quantization of predefined operation is performed to difference data by entropy coding; and the head of keywords coder, receiving the keywords data number in linear keywords data area and the beginning and the end keywords data, and coding all the input as the head of keywords.
Description
The application is that application number is 200410055815.6, the applying date be November 27 in 2002 day, be called the dividing an application of application for a patent for invention division of " apparatus and method that are used for the Code And Decode key data ".
Technical field
The present invention relates to the method and apparatus of a kind of Code And Decode key data (key data), specifically, relate to a kind of apparatus and method that are used for encoding keyword data, these apparatus and method can produce differential data and dwindle the scope of the differential data that will encode by carrying out predetermined operation by key data being carried out differential pulse code modulation (DPCM), increase the efficient of encoding keyword data, also relate to the apparatus and method of the coded key data of decoding.
Background technology
Three-dimensional (3D) expression has been widely used in three-dimensional electronic recreation or the reality environment in the computer system.Virtual reality simulation language (VRML) is used for representing three-dimensional animation.
The VRML and the MPEG-4 binary format that are used for scene (BIFS) provide a kind of lively method for expressing based on keyword framing (keyframing).In this animation method for expressing, predetermined keyword frame arrangement is at any time on the axle, and the animation data between the keyword frame (key frame) is filled by linear interpolation.This keyword frame is by interpolater (interpolator) node definition, and each interpolater node by predetermined scope with interior floating number representative, for example, from-∞ to+∞ change.Each interpolater node constitutes each territory of being made up of key data, key data is represented the position of a certain keyword frame on this time shaft, and the key value data representation is corresponding to feature and the movable information of this key data on this key data.
Keyword framing and the same activity of representing of motion in kind for by using piecewise linear interpolation must provide a large amount of keyword frame informations by each interpolater node natural and trippingly, and this fact produces serious problem with regard to computational costs and efficient.As a result, the keyword framing is used for a kind of off line environment, needs a large amount of three-dimensional animation data of jumbo memory stores.In addition, when being used for online environment, the keyword frame also not only requires such mass storage also to require the high speed data transmission line road, is used at every turn to transmit mass data at a high speed so that transmit three-dimensional animation information from a server to a terminal.In this case, increase because the possibility of error takes place during transfer of data, the reliability of data reduces.Therefore, require a kind of being used to compress with decoded data so that reduce the effective ways of interpolater node data volume.
MPEG-4 BIFS be provided for encoding two kinds of diverse ways of animation data.A kind of is to be used to encode the BIFS-Q of animation data, and another is the differential pulse code modulation (DPCM) that is used for the difference between the coded data.DPCM also is called prediction MF coding (PMFC).BIFS-Q only uses quantification, therefore is not considered to effective.It is more effective than BIFS-Q that PMFC is considered to, because in PMFC, carries out entropy coding so that the cancellation redundant data after carrying out DPCM.The PMFC encoder and the PMFC decoder that are used for key data are shown in Fig. 1.As mentioned above, when the coding animation data, PMFC is not too effective, because it only carried out DPCM in the past at entropy coding, and does not consider the feature of keyword and the correlation between the keyword.
With reference to figure 1, the key data 105 of input is imported within the encoder 100.Quantizer 110 receives the key data 105 of input, and it is quantified as integer.DPCM processor 115 receives the key data that is quantized and produces differential data.Entropy coder 120 receives this differential data, eliminates the redundancy that is present between the bit (bits) according to the probability that symbol takes place, and produces the bit stream 125 of compression.The bit stream 125 that is produced by the encoder shown in Fig. 1 100 is input in the entropy decoder 155 of decoder 150 and carries out entropy decoding (entropy-decode).Entropy decoding differential data is input in the reverse DPCM processor 160 as the differential data that quantizes, and 165 pairs of key datas execution inverse quantization from the quantification of reverse DPCM processor 160 inputs of inverse quantizer, and exports the key data of being decoded.
Yet encoder 100 was only carried out DPCM and is not considered the feature of key before entropy coding, so its is difficult to realize showing efficient coding of high compression ratio.
Summary of the invention
For solving problems such as above-mentioned, a first aspect of the present invention provides a kind of apparatus and method that are used for coded data, when redundant between the bit of eliminating key data, be used for can the taking into account critical digital data feature with the key data of high efficiency of compression animation.
A second aspect of the present invention provides a kind of apparatus and method that are used for decoding bit stream, and this bit stream is by the apparatus and method coding of above-described coded data.
In order to realize above-mentioned and other aspects of the present invention, a kind of device that is used for encoding keyword data is provided, wherein, key data is the information about the keyword frame position on the time shaft.This device that is used for encoding keyword data comprises: linear keyword encoder, be used for being identified in the zone that key data wherein increases linearly at the key data of input, and the linear keyword data region of encoding; The floating number converter, being used to change expression is decimal number from the binary number and the expression of the head and the tail key data of the linear keyword data region of linear keyword encoder input from the minimum and maximum value that quantization error minimizes the device input; Quantizer is used for receiving and removes the key data that linear keyword (key) is extra-regional, import, and quantizes them with predetermined quantization bit; Entropy coder is used for by the key data that quantized is carried out predetermined operation, entropy coding they; And keyword header encoder device, be used for receiving the number of the key data the linear keyword data region from linear keyword encoder, from the floating number converter, receive the head and the tail key data in linear keyword zone, and coding is imported as a crucial prefix all.
In order to realize above-mentioned and other aspects of the present invention, provide a kind of key data that is used to decode DPCM differential data bitstream encoded and carry out the device of DND operation, wherein, key data is the information about the position of keyword frame on time shaft, this device comprises: entropy decoder is used for the bit stream that the entropy decoding is imported; Reverse shift-up operation device, if the differential data of decoding is through the shift-up operation coding, be the differential data of operating through DND then, and export the result, otherwise shunt the differential data of this decoding by the differential data of the differential data of decoding being carried out shift-down oepration recovery decoding; And reverse DND operator, be used for rank reverse DND operation equally repeatedly to differential data execution of importing from reverse shift-up operation device and the DND that reads from bit stream.
In order to realize above-mentioned and other aspects of the present invention, a kind of device that is used for operating by the DPCM that key data is carried out quantization operation and predetermined period number the coded bit stream of decoding is provided, wherein, key data is the information about the position of keyword frame on the time shaft, and the DND operation of carrying out the shifting function (shifting operation) be used to reduce the differential data scope, folding operation and predetermined periodicity then wherein one of at least.The device of coded bit stream of being used to decode comprises: entropy decoder is used for the differential data that bit stream that the entropy decoding imported and output are decoded; Oppositely the DND operator is used for the rank according to the DND that reads from bit stream, perhaps entropy decoding differential data is carried out reverse DND and operates or they are shunted; Folded inverted processor is used for the rank according to DND, perhaps to carrying out folded inverted operation so that this differential data can be divided into positive number and negative or shunt this differential data from the differential data of reverse DND operator input; The shift reverse device changes from the scope of the differential data of reverse DND operator or the input of folded inverted processor to this differential data by adding pre-cover half; Oppositely the DPCM processor is used to recover by the differential data of this shift reverse operation and the key data of output quantification; And inverse quantizer, be used for oppositely quantizing the key data of the quantification that recovered and the key data that output is decoded.
In order to realize above-mentioned and other aspects of the present invention, a kind of device of bitstream encoded that is used to decode by the DPCM operation of key data being carried out quantization operation and predetermined period number is provided, wherein, key data is the information about the position of keyword frame on the time shaft, carries out the DND operation of shifting function, predetermined period number and about the shifting function of the DPCM of quantized result and predetermined period number wherein one of at least then.The device of coded bit stream of being used to decode comprises: entropy decoder is used for the differential data that bit stream that the entropy decoding imported and output are decoded; Oppositely the DND operator is used for the rank according to the DND that reads from bit stream, perhaps entropy decoding differential data is carried out reverse DND and operates or they are shunted; The shift reverse device changes from the scope of the differential data of reverse DND operator input to this differential data by adding pre-cover half; Oppositely the DPCM processor is used to recover by the differential data of this shift reverse operation and the key data of output quantification; And inverse quantizer, be used for oppositely quantizing the key data of the quantification that recovered and the key data that output is decoded.
In order to realize above-mentioned and other aspects of the present invention, a kind of device of bitstream encoded that is used to decode by the DPCM operation of key data being carried out quantization operation and predetermined period number is provided, wherein, key data is the information about the position of keyword frame on the time shaft, and the DND operation of carrying out shifting function, folding operation and predetermined period (cycle) number then wherein one of at least.The device of coded bit stream of being used to decode comprises: entropy decoder is used for the differential data that bit stream that the entropy decoding imported and output are decoded; Oppositely the DND operator is used for the rank (order) according to the DND that reads from bit stream, perhaps entropy decoding differential data is carried out reverse DND and operates or they are shunted; Folded inverted processor is used for the rank according to DND, perhaps to carrying out folded inverted operation so that this differential data can be divided into positive number and negative or this differential data of shunting (bypass) from the differential data of reverse DND operator input; The shift reverse device changes from the scope of the differential data of reverse DND operator or the input of folded inverted processor to this differential data by adding pre-cover half; Oppositely the DPCM processor is used to recover by the differential data of this shift reverse operation and the key data of output quantification; Inverse quantizer is used for oppositely quantizing the key data of the quantification that recovered and the key data that output is decoded; The contrary converter of floating number, be used for extracting the decimal number and the decimal number of representing to be used in the minimum and maximum value the inverse quantizer of the head and the tail key data of the linear keyword data region of expression from bit stream, these decimal numbers are scaled binary number, and the output binary number; With linear keyword decoder, be used to use the head and the tail key data decoding linear packet key data of linear keyword data region, this key data is from the contrary converter input of floating number, and this linearity keyword decoder also is used for adding decoded results to the key data from inverse quantizer output.
In order to realize above-mentioned and other aspects of the present invention, a kind of device that is used for decoding bit stream is provided, this data flow is by the key data coding, and this key data is the information about the position of keyword frame on the time shaft.The device that is used for decoding bit stream comprises: keyword header decode device is used to decode from the keyword header of the encoding keyword data decoding needs of the bit stream of being imported; Entropy decoder is used for the key data that entropy decoding bit stream and output quantize; The contrary converter of floating number, be used for receiving the decimal number of minimum and maximum value that the decimal number of head and the tail key data of the linear keyword data region of expression and expression are used for oppositely quantizing the key data of this quantification from keyword header decode device, changing these decimal numbers is binary number, and the output binary number; Inverse quantizer is used to use minimum and maximum value oppositely to quantize the key data that is quantized, and exports the key data of being decoded; And linear keyword decoder, be used to use linear keyword zone head and the tail key data decoding linear packet key data, this key data is from the contrary converter input of floating number, and linear keyword decoder also is used to add the linear key data of decoding to the key data from inverse quantizer output.
In order to realize above-mentioned and other aspects of the present invention, a kind of device of the key data that is used to encode and decode is provided, wherein, key data is the information about the position of keyword frame on time shaft, this device comprises: encoder comprises the quantizer that quantizes the key data of input with predetermined quantization bit; Produce the DPCM processor of the differential data of the key data that is quantized; The scope reducer is used for by this differential data is carried out the scope that differential data is dwindled in predetermined operation; Entropy coder is used for producing a bit stream by the differential data that coding is imported from the scope reducer; And decoder, comprise entropy decoder, be used for the bit stream of entropy decoding input and the differential data that output is decoded; The expanded range device is used for by differential data being carried out the scope that predetermined operation enlarges the differential data of entropy decoding; Oppositely the DPCM processor is used to recover from the differential data of expanded range device input and the key data of output quantification; And inverse quantizer, be used for oppositely quantizing the key data that the key data that quantized and output are decoded.
In order to realize above-mentioned and other aspects of the present invention, a kind of method that is used for encoding keyword data is provided, wherein, key data is the information about keyword frame position on the time shaft.This method comprises: carry out linear keyword coding, wherein be encoded then in the key data that the zone that increases linearly of key data really is set to encode; Carry out the floating number conversion and become decimal number so that will represent the binary number of the head and the tail key data of this linearity keyword data region; Quantize whole key datas of except that linear keyword zone, being encoded with predetermined quantization bit; Key data that entropy coding quantizes and the operation that its execution one is scheduled to; And carry out the keyword header encoder, therein, the head and the tail key data of the number of key data and linear keyword zone conversion is encoded as crucial prefix in the linear keyword data region.
In order to realize above-mentioned and other aspects of the present invention, the method for the differential data coded bit stream of a kind of key data DPCM that is used to decode is provided, carry out DND operation, wherein key data is the information about the position of keyword frame on time shaft.This method comprises: the entropy decoded bit stream of decoding; Entropy decoding differential data is carried out an anti-shift-up operation, therein, if this entropy decoding differential data has passed through shift-up operation coding, then differential data is carried out a kind of operation downwards that is shifted so that they are reverted to the differential data of having operated by DND; And if the as many number of times in rank of the DND that read from bit stream by shift-up operation of this entropy decoding differential data, then to carrying out reverse DND operation by the differential data of the operation downwards that is shifted, if they not by with the shift-up operation of number of times as many of DND rank, then entropy decoding differential data is carried out and should be operated by reverse DND.
In order to realize above-mentioned and other aspects of the present invention, provide a kind of be used for decoding by the DPCM operation of key data being carried out quantization operation and predetermined period number bitstream encoded then carry out shifting function, folding operation based on the keyword frame of graphic animations and to the DPCM of the DND operation of the predetermined period number of quantized result and this predetermined period number in one of method, wherein, key data is the information about the position of keyword frame on the time shaft.This method comprises: (a) decode a kind of bit stream and produce the differential data of decoding thus of entropy; (b) differential data of decoding is carried out a reverse DND operation; (c) carrying out a folded inverted operation so that they are divided into negative and positive number on the differential data by reverse DND operation; (d) carry out shift reverse operation, wherein the scope of this differential data by folded inverted operation changes by adding predetermined mould to their; (e) carry out a reverse DPCM processing so that the differential data of operating by this shift reverse has been resumed and has produced thus the key data that is quantized; And the key data that (f) produces decoding by the key data that oppositely quantizes this quantification.Here, differential data is not operated by DND if the rank of the DND that reads from bit stream show the entropy decoding, in step (a) execution in step (c) immediately afterwards, if the differential data that the rank of DND show entropy decoding by the DND operation also by folding operation, in step (a) execution in step (d) immediately afterwards.
In order to realize above-mentioned and other aspects of the present invention, provide DND operation that a kind of by the DPCM operation of key data being carried out quantization operation and predetermined period number bitstream encoded of being used for decoding carries out shifting function, predetermined period number then and quantize and the result of DPCM predetermined period number on the device one of at least of shift-up operation operation, wherein, key data is the information about the position of keyword frame on the time shaft.This method comprises: (a) decode this bit stream and produce the differential data of decoding thus of entropy; (b) differential data of decoding being carried out a reverse DND handles; (c) on by the differential data of reverse DND operation, carry out shift reverse operation for this differential data, so that change their scope by adding predetermined mould; (d) carry out a reverse DPCM processing so that the differential data of operating by shift reverse has been resumed and has produced thus the key data that is quantized; And (e) oppositely quantize the key data quantized so that produce the key data of decoding.Here, if the rank of the DND that reads from bit stream show entropy decoding differential data by the DND operation, in step (a) execution in step (c) immediately afterwards.
In order to realize above-mentioned and other aspects of the present invention, a kind of method that is used for decoding bit stream is provided, this bit stream by carry out to quantize and on key data the DPCM of predetermined period number encode, count DND and operate one of them at execution shifting function, the predetermined period of folding operation and on quantized result and DPCM predetermined period number then, wherein key data is the information about the position of keyword frame on the time shaft.This method comprises: (a) decode a kind of bit stream and produce the differential data of decoding thus of entropy; (b) differential data of decoding being carried out a reverse DND handles; (c) differential data of handling by reverse DND is carried out a folded inverted processing so that they are divided into negative and positive number; (d) carry out shift reverse operation, wherein the scope of this differential data by folded inverted operation changes by adding predetermined mould to their; (e) carry out a reverse DPCM processing so that the differential data of operating by this shift reverse has been resumed and has produced thus the key data that is quantized; (f) carry out the floating number inverse conversion, wherein expression is used for oppositely quantizing becoming binary number from the decimal number that bit stream obtains the head and the tail key data of the decimal number of minimum and maximum value of the key data that quantizes and the linear keyword data region of expression; (g) key data that uses minimum and maximum value oppositely to quantize this quantification also produces the key data of decoding thus; (h) carry out linear keyword decoding, its neutral line key data uses the head and the tail key data decoding in linear keyword zone and the linear key data of decoding to be added to the key data that oppositely quantizes.Here, differential data is not operated by DND if the rank of the DND that reads from bit stream show the entropy decoding, in step (a) execution in step (c) immediately afterwards, if the differential data that the rank of DND show entropy decoding by the DND operation also by folding operation, in step (a) execution in step (d) immediately afterwards.
In order to realize above-mentioned and other aspects of the present invention, a kind of method that is used for decoding bit stream is provided, wherein, the key data that encode is the information about the position of keyword frame on time shaft.This method comprises: carry out the keyword header decode so that from the coded needed keyword header of key data of this bit stream decoding decoding; Entropy decode this bit stream and key data that generation quantized; Carry out the floating number inverse conversion so that represent the decimal number of head and the tail key data of linear keyword data region and minimum and maximum value that expression is used for oppositely quantizing the key data of this quantification becomes binary number; Oppositely use minimum and maximum value to quantize key data that is quantized and the key data that produces decoding thus; And carry out linear keyword decoding so that use the head and the tail key data decoding key data in linear keyword zone and the linear key data that will decode to be added to the key data that this oppositely quantizes.
In the present invention, in order to utilize the feature of key data well, at first during encoding keyword data, calculate the decentralization (degree of dispersion) of key data.As mentioned above, the position of the keyword frame on the key data express time axle, and the key data value increases to the rank of representing final key word frame monotonously from the key data of representing the first keyword frame in order thus.Correspondingly, the differential data that obtains by DPCM operation should have on the occasion of, if the 2nd DPCM operation that differential data is carried out, the result of the 2nd DPCM operation should have or on the occasion of or negative value.
Usually, the difference in the key data between the minimum and maximum value is more little, and the redundancy value of existence is many more, and the redundancy value of existence is many more, and entropy coder has high more compression ratio.Correspondingly, in the present invention, entropy coding is carried out after the key data scope is dwindled.The rank of DPCM and the rank of DND can obtain by a minimum decentralization, and the result in each cycle of DPCM and DND is used for dwindling the scope of key data.When the closeness of key data reduced, the redundancy of key data increased.
Description of drawings
Above-mentioned and other aspects and advantage of the present invention, with reference to the accompanying drawings by write up most preferred embodiment will become more obvious, wherein:
Fig. 1 is a traditional key data encoder and the block diagram of key data decoder;
Fig. 2 A is the block diagram according to the encoder of the present invention's one most preferred embodiment;
Fig. 2 B is (divide-and-divide, DND) block diagram of processor of separating repeatedly shown in Fig. 2 A;
Fig. 2 C is a block diagram according to encoder example of the present invention to 2G;
Fig. 3 A and 3B are the flow charts that is used for the method for encoding keyword data according to one of most preferred embodiment of the present invention;
Fig. 4 A and 4B are the flow charts according to the floating number conversion process of most preferred embodiment of the present invention;
Fig. 5 is the flow chart according to the quantification treatment of most preferred embodiment of the present invention;
Fig. 6 is a flow chart of handling according to most preferred embodiment DPCM of the present invention;
Fig. 7 is the flow chart according to most preferred embodiment DND operational processes of the present invention;
Fig. 8 is the chart according to the explanation entropy coding of most preferred embodiment of the present invention;
Fig. 9 A is the key data of different operating has been passed through in expression according to a most preferred embodiment of the present invention chart to 9J;
Figure 10 A and 10B are the charts that the processing of key data and key value digital coding animation data is used in explanation;
Figure 11 A is the block diagram according to a key data decoder of most preferred embodiment of the present invention;
Figure 11 B-11E is the block diagram according to the example of key data decoder of the present invention;
Figure 12 is according to the present invention's one most preferred embodiment be used to decode flow chart of method of key data;
Figure 13 is the flow chart according to the reverse DND operational processes of most preferred embodiment of the present invention;
Figure 14 A is the chart that shows the example of bitstream syntax that decoding needs and variable to 14E; And
Figure 15 A is the chart of the example of Display Realization program code to 15C, has wherein enumerated the operation that the decoding key data needs.
Embodiment
Fig. 2 A is the block diagram according to the encoder of the present invention's one most preferred embodiment.
A kind of method that is used for encoding keyword data according to most preferred embodiment of the present invention will be described with reference to figure 3A and 3B.Fig. 3 A and 3B are the flow charts that is used for the method for encoding keyword data.With reference to figure 3A and 3B, if key data is transfused to an encoder, then the message about the number of the numeral of the number of for example key data and each key data will be transfused to keyword header encoder device 270, and decoded.Linear keyword encoder 200 search in the key data of input is present in the zone of keyword frame on some time interval, key data has identical difference, and this key data changes linearly, at first encodes at step S3000 in the range of linearity that searches.
Famous 3D application software, for example 3Dmax Maya uses the key with scheduled time crack to produce the keyword frame based on animation in concrete zone.In this case, the number that might easily use the head and the tail key data of linear keyword data region and be present in the keyword frame between them comes encoding keyword data.Correspondingly, linear prediction is to using interpolater coding keyword very useful in a certain zone.
Following equation is used for linear prediction.
T here
sThe data of the keyword that the zone of expression partial linear begins, t
EThe data of the keyword that finish in the zone of expression partial linear, S represents t
sIndex, E represents t
EIndex.Sum of errors between the real number key data from S key data to the concrete zone E the key data indicates that linearly the key data of following equation (1) can use following equation to calculate.
If the maximum in the error that use equation (2) is calculated is not more than predetermined critical value, then a t
jCan be considered at zone [t
s, t
E] in mutually linear or in a certain error range the inside.Limiting error value t
iWhether determine by following equation (3) with concrete zone is linear mutually.
If
With zone [t
s, t
E] linear mutually.Here, nBits represents the number of the bit that is used to encode.
If linear keyword encoder 200 search part ground wire zones, then this head and the tail key data of the keyword data region of head and the tail partial linear outputs to this floating number converter 205.The number that is included in the keyword in the linear keyword data region outputs to keyword header encoder device 270 and is encoded.It might use uniform enconding to reduce the numerical value of coded data significantly.
Beginning key data and end key data are used the floating number of describing later to convert and are encoded.For beginning key data and the end key data of encoding, these floating number converter 205 conversion tables are shown binary key data and become decimal data.
This floating number of Computer Storage is 32 bits.If it is given being expressed as binary floating number, then these floating number converter 205 these floating numbers of conversion become metric mantissa and index, and this process is represented by following equation.
For example, floating number 12.34 can become binary number by computer, as shown in following.
0
10001010111000010100011
10000010
1 2 3
1: symbol
2: binary mantissa
3: binary index
This binary number can become the decimal number of following equation (4), shown in following.
0
1234
2
1 2 3
1: symbol
2: metric mantissa
3: metric index
In order in bit stream, to comprise metric mantissa and index, must calculation requirement be used to represent the number of the bit of mantissa and index.Therefore this index has the value between-38 and 38, can use 7 bits to represent it and symbol thereof.Requirement is used to represent that the number of the bit of mantissa depends on the number of numeral.The value of this mantissa and requirement are used to represent that the bit number of this mantissa is shown in the following chart.
Table 1
The value of mantissa | The numeral of mantissa | Needed |
0 | 0 | 0 |
1-9 | 1 | 4 |
10-99 | 2 | 7 |
100-999 | 3 | 10 |
1000-9999 | 4 | 14 |
10000-99999 | 5 | 17 |
100000-999999 | 6 | 20 |
1000000-9999999 | 7 | 24 |
Those have been searched for and have used the head and the tail key data of the linear keyword data region of above-mentioned process conversion to encode according to the cataloged procedure shown in Fig. 4 A and the 4B, output to keyword header encoder device 270 then, and are kept in this bit stream.
Fig. 4 A and 4B show two inputs of floating number converter 205 codings floating number.The method of floating number converter 205 coding floating numbers will be described with reference to figure 4A and 4B.
Floating number converter 205 receives numerical digit Kd, the beginning key data S of original key data and finishes key data E, and changes them at step S3040 with following equation (4).
Floating number converter 205 S that at first encodes.Specifically, floating number converter 205 checks whether the numerical digit of S is different from Kd.If the numerical digit of S is different from Kd, then obtains the numerical digit of S and output to keyword header encoder device 270 at step S3042.Floating number converter 205 uses function Digit () to obtain the numerical digit of S.
If the numerical digit of S is greater than 7, then use predetermined figure place (in the present invention in step 3043, follow the floating number mode of ieee standard 754 and use following 32 bits) S is outputed to keyword header encoder device 270, so that the numerical digit of S can be included in this bit stream.
If the numerical digit of S is not 0 and less than 7, then in step 3044, the symbol of floating number converter 205 output S is given keyword header encoder device 270.The bit number that coding S mantissa absolute value requires uses chart 1 to obtain.Next, in step 3045, the bit number that the absolute value of S mantissa uses chart 1 to obtain outputs to keyword header encoder device 270.At step S3046, floating number converter 205 calculates the index of S, and the symbol of output S is given keyword header encoder device 270, and as predetermined figure place, for example, 6 bits are exported this index and given keyword header encoder device 270.The bit number that such key data conversion is included in the bit stream minimizing significantly becomes possibility.
If the numerical digit of S is 0, then begin the end-of-encode of key data, and this method forwards the step of conversion ending key data E to, reason is when the numerical digit of S is 0, floating number also is not require 0 of coding accordingly.
After conversion and coding beginning key data S, floating number converter 205 conversion ending key data E.The conversion of E is almost identical with the conversion of S.Specifically, at step S3047, check whether the index of E is identical with the index of S.If the index of E is identical with the index of S, only point out that then the index flag bit identical with the index of S of E outputs to keyword header encoder device 270.At step S3048, if the index of the index of E and S is inequality, then the index of E as flag bit to output to keyword header encoder device 270 with the same mode of the S index that outputs to keyword header encoder device 270.
Do not belong to that key data in the key data of input of the range of linearity is input to quantizer 210 and according to predetermined quantization bit length, promptly nKeyQBit quantizes.
Yet, under the situation of the key data that uses decoder decode to quantize, because the error between the original key data and the key data of quantification can not intactly recover original key data.Therefore, maximum and minimum value in the key data that quantizer 210 of the present invention obtains to import, and use maximum and minimum value to quantize the key data of input.In addition, the present invention comprises that a quantization error minimizes device 215 so that the key data of their quantification of the sum of errors between the original key data can use maximum and minimum value in the key data of input to minimize.
At step S3100, quantization error minimizes device 215 and uses one to be used to control the method quantification of quantizing range or oppositely quantize the key data of this input so that quantization error can minimize in advance.
Specifically, if the mixing maximum that is used to quantize is represented that by Max the controlled minimum value that is used to quantize is represented by Min, input value is by X
iRepresentative, the bit number that is used to quantize is represented by nQuantBit, then the input value of Liang Huaing
Quantized value oppositely
And error e
iUtilize following equation to obtain.
Two that be used to reduce error and Σ e are arranged
iMethod.The one, by controlling Min continuously up to error and method minimum.Other method is as follows.
At first, suppose X
i=(i+n) Δ x+ ε
i, X wherein
iThe key data sequence of expression one input, Δ x represents the basic step-length of input data, n is an arbitrary integer, ε
iExpression zero-mean random noise.
Next, work as d
i≡ X
i-X
I-1=Δ x+ (ε
i-ε
I-1), Δ ' x=E[d
i] and Min=Max-Δ ' x* (2
NQuantBit-1).
Min can make and minimize a quantization error and become possibility, and Max is input to quantizer 210 and is used for the quantification of key data.Quantizer 210 receives minimum and maximum value Max and Min, Min can minimum quantization error and in step S3200 according to following equation (6) quantized key digital data fKeyi.
Here, i represents the index of a key data that quantizes, nQKey
iThe integer array of the key data that expression quantizes, fKey
iThe floating number array of the key data that expression quantizes, fKeyMax represents to minimize from quantization error the maximum of device (minimizer) 215 inputs, fKeyMin represents to minimize from quantization error the minimum value of device 215 inputs, and nKeyQBit represents the quantization bit size.In equation (6), function f loor (v) is the function that output one is not more than the maximum integer of a certain floating point values v.
Quantizing process of the present invention will be described more completely with reference to figure 5.
If input MAX and MIN, quantizer 210 is provided with minimum and maximum value fKeyMax respectively and fKeyMin quantizes as MAX and MIN in step 3230, and the minimum and maximum value fKeyMax that is provided with recently of output and fKeyMin are to floating number converter 205.Minimum and maximum value fKeyMax and fKeyMin change and coding by above-mentioned floating number conversion process, and output to keyword header encoder device 270 so that they can be included in a crucial prefix that is used for decoding.
If void value minimizes device 215 input from quantization error, then quantizer 210 is provided with the first key data fKey0 and final key data fKeyN-1 respectively as minimum value fKeyMin and maximum fKeyMax at step S3240.
Next, in step S3250 quantizer 210, check maximum fKeyMax whether less than 1 but greater than 0 and minimum value fKeyMin whether greater than 0.If maximum fKeyMax is not less than 1 or non-greater than 0, then minimum and maximum value fKeyMax and fKeyMin output to floating number converter 205, and by above-mentioned floating number conversion conversion and coding.Next, changed and the minimum and maximum value fKeyMax that encodes and fKeyMin are included in the crucial prefix so that they can be used to decoding at step S3260.
On the other hand, if maximum fKeyMax less than 1 and minimum value fKeyMin greater than 0, then check at step S3270 whether minimum and maximum value fKeyMax of expression and fKeyMin will be included in the sign in the crucial prefix that is used to decode.If this sign is set up so that minimum and maximum value fKeyMax and fKeyMin can be included in this key prefix, then execution in step S3260 is so that output to this keyword header encoder device 270 with minimum and maximum value fKeyMax and fKeyMin.If should not set up by sign, then quantizer 210 mustn't minimum and maximum value fKeyMax and fKeyMin be included in this key prefix.
Under minimum and maximum value fKeyMax and fKeyMin are not included in situation in this key prefix, suggestion key data encoder and key data decoder are carried out Code And Decode respectively, minimum and maximum value fKeyMax and fKeyMin are set respectively on 1 and 0.In this case, in step S3280, divide quantizer 210 minimum and maximum value fKeyMax and fKeyMin not to be set on 1 and 0.Minimum and maximum value fkeymax and fKeyMin are known to the key data decoder, so that they do not need to be included in this key prefix.
With reference to figure 6, at step S3310, the key data of 220 pairs of inputs of DPCM processor is carried out predetermined times, and the periodicity of storage DPCM is as the rank of DPCM.In the present invention's one most preferred embodiment, DPCM can carry out three times.
After this, at step S3320, DPCM processor 220 calculates the result's in each cycle of DPCM decentralization, and this decentralization can be represented by closeness, standard deviation or quartile deviation, and in most preferred embodiment of the present invention, can use quartile deviation.
Next, DPCM processor 220 is selected a DPCM cycle, wherein can obtain a minimum value in decentralization, and the result on the rank of the DPCM of output selection gives this shift unit 230.Cycle, the inside key data in each DPCM cycle and other information units that DPCM needs of the DPCM that selects at step S3330 output to keyword header encoder device 270.Yet, in a most preferred embodiment of the present invention, if number of keys less than 5, DPCM only carries out once.For example, the period 1 of DPCM is pressed following equation (7) execution.
Δ
i=nQKey
i+1-nQKey
i…(7)
Here i represents the index of the key data that quantizes, nQKey
iThe expression integer array, Δ
iThe expression differential data.At step S3340, the bit number in the DPCM cycle that DPCM processor 220 calculation requirements codings is selected and by the differential data of DPCM key data of generation in predetermined memory (nQStep_DPCM).The calculating of needed bit number of encoding can be subsequently carried out in the selection key data step subsequently that is encoded simultaneously, and this fact is tangible to one skilled in the art.
Carry out such shifting function and deduct mould, represent by following equation from the key data of whole quantifications.
shift(nQKey
i)=nQKey
i-nKeyShift…(8)
Here, i represents the index of the key data that quantizes, and nQKeyi represents integer array, and nKeyShift represents a mould value.As the result of shifting function, the differential data with highest frequency becomes 0 so that the needed bit number of encoding can reduce significantly.
The key data by shifting function outputs to a folding processor 240 and a DND processor 250, and mould value nKeyShift outputs to keyword header encoder device 270 so that be included in this key prefix.
At step S3500, a folding operation is carried out in the output of folding 240 pairs of shift units 230 of processor, and the result of output folding operation gives DND processor 250.
Folding operation is by concentrating them in positive number or negative zone, dwindle the scope of the differential data that is scattered in positive number zone and negative zone widely.In the present embodiment, folding operation carry out according to following equation (9) in case the poor concentration divided data in this positive number zone.
fold(nQKey
i)=2·nQKey
i(if nQKey
i≥0)…(9)
=2|nQKey
i|-1(if nQKey
i<0)
Here, i represents the index of the key data that quantizes, and nQKeyi represents integer array.As the result of folding operation, the positive differential data become even number, and the minus tolerance divided data becomes odd number.
In order to improve the efficient of entropy coding, DND processor 250 is carried out pre-determined number on the differential data of the input of key data, therefore the scope of dwindling differential data in S3600.
With reference to figure 2B, DND processor 250 comprises: the DND operator 252 of differential data being carried out the DND operation; The first differential data selector 254, being used for the bit number that is used to encode is the differential data of basic selective entropy coding; Displacement is operator 256 upwards, is used for carrying out shift-up operation on the differential data by the DND operation; And the second differential data selector 258, be used for from the differential data by DND operation and selected differential data between the differential data by shift-up operation only, and export selected differential data to entropy coder 260 with low decentralization.
The DND operation of carrying out in DND operator 252 will be described hereinafter.
When the differential data by the folding operation in the folding processor 240 was input to DND operator 252, they were divided into two groups, had to open function than one group of big differential data of another group differential data scope by one minute and move on to the positive number zone.Separately function is defined by following equation.
Here, j represents the index of the differential data imported, nQKey
jThe expression integer array, nKeyMax represents by the maximum in the differential data of folding operation.Especially, under the situation that most of differential datas provide along the Zone Full border that is occupied by whole differential datas thick and fast, utilize this separate operation might dwindle zones whole in all differential datas significantly.
After separate operation, be used as the tolerance of this decentralization so that can be chosen under the situation of minimum value of the bit length that is used for encoding at the needed bit length of coding, calculate this decentralization.
After the DND operation, further carry out dissimilar DND operations, that is, operate or operation in following minute last the branch.Whether last branch operation or operation in following minute will further be carried out will be determined by the positive scope length of differential data and the negative scope length of differential data.
If have on the occasion of the scope of differential data greater than the scope of differential data with negative value, then the following branch operation by following equation definition being performed.
On the other hand, if having on the occasion of the scope of differential data greater than the scope of differential data with negative value, divide operation to be performed by going up of following equation definition.
In equation (11) and (12), j represents the index of the key data that quantizes, nQKey
jThe expression integer array, nKeyMax represents nQKey
jMaximum, nKeyMin represents nQKey
jMinimum value.
The operation of DND operator 252 will be described hereinafter with reference to figure 7.
When the differential data of the key data of input during from these folding processor 240 inputs, acquisition maximum nKeyMax and the minimum value nKeyMin of DND operator 252 in the differential data of step S3610 input.Then, DND operator 252 compares the absolute value of nKeyMin and nKeyMax at step S3620.If nKeyMax is not less than the absolute value of nKeyMin, in step S3622 kind then, DND operator 252 is provided with nKeyMax as a maximum in the current period of DND operation.
At step S3624, whether the rank that DND operator 252 detects the DND operation are 1, in other words, whether the rank of DND operation are 1, if DND operator 252 is carried out a separate operation to the differential data of input in step S3630, substitute the maximum nKeyMax in the equation (10).
After this, at step S3640, DND operator 252 utilizes function getQBit () to measure the bit length that this differential data scope of coding needs, and this differential data scope has utilized separate operation to dwindle.If at step S3650, the rank of DND operation are 1, and the needed bit length of then will encode is stored as the value nQBitDND of the bit minimum length that an expression is used to encode, and in step S3655 with the exponent number increase by 1 of DND operation.
Next, DND processor 252 is once more by S3622 execution in step S3610.At step S3624, if the rank of DND operation are not 1, then DND operator 252 divides the maximum nKeyMax in the alternative equation (11) of operation under step S3634 carries out.At step S3640, DND operator 252 calculation codes have passed through the needed bit number of differential data of operation in following minute.If this number is less than the minimum value nQBitDND that is stored in the operation cycle at a last DND, then it replaces the minimum length of the needed bit of encoding after the DND operation at step S3658.
At step S3620, if the absolute value of minimum value nKeyMin is greater than the absolute value of maximum nKeyMax, then the maximum in the current period of DND operation is upgraded at step S3623 as a minimum value, carry out at step S3628 then and divide operation on one, substitute the minimum value that is used for nKeyMin in the equation (12).After this, at step S3640, DND operator 252 calculates the bit number of the differential data by last branch operation that is used to encode.At step S3652, if result calculated is less than being kept at the last nQBitDND of DND in the operation cycle, then it replaces the minimum number nQBitDND of the needed bit of encoding after the DND operation in step S3658.
DND processor 252 is carried out the DND operation of pre-determined number, and the performance number of DND operation can change.For example, in current embodiment, the DND operation is carried out 7 times.DND operator 252 is exported nQBitDND and is given the first differential data selector 254 corresponding to the differential data of nQBitDND.252 outputs of DND operator produce the DND rank of corresponding differential data and give keyword header encoder device 270, and allow they are included in this bit stream.
The first differential data selector 254 receives the differential data by shifting function, by the differential data of this folding operation and the differential data by the DND operation, and will be by the differential data of entropy coding in definite three.
With reference to figure 3A and 3B, if at step S3700, the needed bit minimum number nQBitDND that encodes after the DND operation is not less than the bit length nQStep-DPCM of coding after the DPCM operation, then at step S3710, the first differential data selector 254 is selected the result of DPCM and differential data is carried out a shifting function.Next, the result of the first differential data selector 254 output shifting functions gives this entropy coder 260, and allow they at step S3710 by entropy coding.In this case, the rank of DND operation are set to-1, are output to keyword header encoder device 270, and are included in this key prefix.
Yet, if at step S3720, the result is that nQBitDND is less than nQStep-DPCM, and be not less than the bit length that is used for coding after folding operation, then at step S3730,254 outputs of the first differential data selector are given entropy coder 260 by the differential data of this folding operation, and allow they entropy codings, and the rank of DND operation in such cases are arranged on 0, are output to this keyword header encoder device 270, and are included in thus in this key prefix.
Count minimum if after the DND operation, be used for the code differential data bit, then at step S3740,254 outputs of the first differential data selector are arrived shift-up operation device 256 by the differential data of DND operation, and this shift-up operation device 256 calculates from first decentralization of the differential data of the first differential data selector, 254 inputs then.Next, carried out the shift-up operation that defines by following equation 256 pairs of step S3800 shift-up operation devices, and calculated shift-up operation result's second decentralization at step S3810 by the differential data of DND operation.
shift-up(nQKey
j,nKeyMax) …(13)
=nQKey
j (if nQKey
j≥0)
=nKeyMax-nQKey
j (if nQKey
j<0)
Here, j represents the index of the differential data of the key data that quantizes, nQKey
jThe expression integer array, and nKeyMax represents the maximum in the differential data.
When by the differential data of DND operation with when the differential data by shift-up operation has been transfused to, at the step S3900 second differential data selector 258 comparison first decentralization and second decentralization.If second decentralization is less than first decentralization, 258 outputs of the second differential data selector the differential data by shift-up operation to this entropy coder 260, and allow they at step S3910 by entropy coding.258 outputs of the second differential data selector are used for the minimum and maximum value of DND operation, and the maximum nKeyMax that is used for shift-up operation gives this keyword header encoder device 270, and allows they are included in this key prefix.
Yet, if first decentralization less than second decentralization, the output of the second differential data selector 258 is given this entropy coder 260 by the differential data of DND operation, and allow they at step S3920 by entropy coding.Then, the second differential data selector 258 is only exported the minimum and maximum value nKeyMax and the nKeyMin that are used for the DND operation and is given this keyword header encoder device 270.In a most preferred embodiment of the present invention, standard deviation can be as the tolerance of first and second decentralization.
260 pairs of differential datas according to the feature of differential data of entropy coder are carried out two different functions.For example, by the differential data of DPCM operation and the differential data of the separate operation of the value by having both positive and negative, it is necessary therefore carrying out the encode symbol of each differential data and the process of differential data self.On the other hand because the differential data by folding operation only have on the occasion of, therefore carry out the only process of code differential data.
In a most preferred embodiment of the present invention, Function e ncodeSignedAAC be used to encode this differential data and their symbol, and Function e ncodeUnsignedAAC is used for only code differential data.
Fig. 8 is a chart of Function e ncodeSignedAAC example.With reference to figure 8, when input value is 74 and the bit number of this input value that is used to encode when being 8, its symbol is 0, and is identical with binary number 1001010.Symbol and whole bit plane are encoded with following manner:
The first step: binary number is encoded at each bit plane to the order of its lowest order (LSB) according to the highest significant position (MSB) from it;
Whether second step: detecting the current bit that is encoded is 0;
The 3rd step: if the current bit that is encoded is not 0, next the symbol of this binary number is encoded;
The 4th step: the remaining bits of binary number is encoded.
Function e ncodeUnsignedAAC utilizes the scope coding about this value not have the value of symbol as an adaptive arithmetic coding bit stream.This function and function encodeSignedAAC is except existing a symbolic range much at one.
Fig. 9 A is to show the chart that has stood the key data operated according to a most preferred embodiment of the present invention to 9J.In 9J, X-axis is represented the index of each key data at Fig. 9 A, and Y-axis is represented the value of key data.
Fig. 9 A is the chart that a demonstration is input to the original key data in the encoder of the present invention.Key data shown in Fig. 9 A outputs to quantizer 210, utilizes 9 quantization bits to quantize then so that obtain the key data of the quantification shown in Fig. 9 B.If DPCM carries out, then obtain the differential data shown in Fig. 9 C on the key data of the quantification shown in Fig. 9 B.
Next, the differential data of the key data of quantification utilizes one about 7 mould value displacement, so that obtain the differential data shown in Fig. 9 D.After this, if on the differential data of displacement, carry out a folding operation, can obtain as shown in Fig. 9 E only have on the occasion of data.
The results are shown in Fig. 9 F in 9H to what the execution of the folded data shown in Fig. 9 E DND operated.Specifically, folded data is carried out the result of a separate operation shown in Fig. 9 F.As shown in Fig. 9 F, positive key data value from 0 to 28 change, negative key data value from-29 to 0 changes, wherein the scope of negative key data value is greater than the scope of positive key data value.Correspondingly, be used to require carrying out branch operation on the data shown in Fig. 9 F, and should go up and divide the result who operates shown in Fig. 9 G.
As the result of last branch operation, the scope of negative key data value is dwindled significantly so that it is much smaller than the scope of positive key data value.In the cycle that DND subsequently operates, under carrying out on the result of last branch operation, divide and operate.Fig. 9 H shows the chart of the differential data shown in Fig. 9 G being carried out the result of operation in following minute.Key data shown in Fig. 9 H is carried out the results are shown among Fig. 9 I of shift-up operation.
To as shown in the 9G, the scope of key data and differential data little by little reduces as Fig. 9 A.Yet, as shown in Fig. 9 H and 9I, the scope of differential data after shift-up operation with compared significant increase in the past, show that this differential data has been a last coded data as shown in Fig. 9 J by the operation of the following branch shown in Fig. 9 H.
Information encoded will be described hereinafter with the information that is kept at crucial prefix in keyword header encoder device 270.
When importing the key data that will encode, the numerical digit of keyword header encoder device 270 encoding keyword data and the number of keys that is encoded.Next, keyword header encoder device 270 receives the relevant information that whether exists on the linear keyword data region, this information is by the key data neutral line keyword coding in input, be received in the linear keyword data region number from the key data of linear keyword encoder 200, and the head and the tail key data that receives the linear keyword data region that converts by the floating number from floating number converter 205.
Receive at floating number converter 205 and can cause the minimum and maximum value of minimum value quantization error and change under the situation that they become floating number, the minimum and maximum value of conversion is input to the keyword header encoder device 270 from floating number converter 205, so that they can be used again in inverse quantization.In addition, the length of quantization bit is also imported keyword header encoder device 270, and is included in this key prefix.
Keyword header encoder device 270 receives the rank of DPCM and from the inside key data of DPCM in each cycle of DPCM processor 220, and receives a mould value that has been used for from the shifting function of shift unit 230.In addition, the information of whether having carried out about shift-up operation that keyword header encoder device 270 obtains from DND processor 250, the decentralization of the jump divided data by DND can be minimized, and the value of minimum and maximumization in each cycle of DND operation.
At last, keyword header encoder device 270 receives the bit number that is used to encode from entropy coder 260, and as a keyword header encoder it.
According to most preferred embodiment of the present invention, an example of key data encoder has been described in the above.Clearly, for those of ordinary skill in the art, the present invention can be summarised in the different modes.Hereinafter, will describe more fully to 2G with reference to figure 2C according to other example of the key data encoder that can increase encoding keyword data efficient of other most preferred embodiment of the present invention.At Fig. 2 A in 2G, same numeral numeral similar elements.
With reference to figure 2C, comprise a quantizer 210, a DPCM processor 220, a shift unit 230, one folding processor 240, a DND processor 250 and an entropy coder 260 according to the key data encoder of another most preferred embodiment of the present invention.
The key data that is input in the key data encoder at first is input in the quantizer 210, is quantized into predetermined quantization bit then.The key data that quantizes is input in the DPCM processor 220.Then, DPCM processor 220 is carried out the DPCM operation about the key data that quantizes, and the result of output DPCM operation is that differential data arrives this shift unit 230.Shift unit 230 obtains one to have the differential data (mould) of highest frequency in the differential data and carries out the shifting function that deducts this mould from each differential data.Next, the result of shift unit 230 output shifting functions is to folding processor 240.Should folding processor 240 conversions from the differential data of shift unit 230 inputs to just or the negative zone, and the result who exports this conversion is to DND processor 250.250 pairs of differential datas from folding processor 240 inputs of DND processor are carried out the DND operation.Next, DND processor 250 from by the differential data of shifting function, by the differential data of folding operation with selected the differential data that can minimize the bit number that is used to encode the differential data by DND operation, and export selected differential data to entropy coder 260, so that key data can be a coding.Here, DND processor 250 needn't be carried out shift-up operation to the differential data of operating by DND, and this key data encoder shows a code efficiency more much higher than traditional key data encoder.
With reference to figure 2D, comprise a quantizer 210, a DPCM processor 220, a shift unit 230, one folding processor 240, a DND processor 250 and an entropy coder 260 according to the key data encoder of another most preferred embodiment of the present invention.
Key data at first is input in the quantizer 210, and utilizes predetermined quantization bit to quantize.The key data that quantizes is input in the DPCM processor 220.Then, the key data of 220 pairs of quantifications of DPCM processor is carried out DPCM operation, and the result of output DPCM operation is that differential data arrives this shift unit 230.Shift unit 230 obtains to have in the differential data differential data (mould) of highest frequency and carries out the shifting function that deducts this mould from each differential data.Next, the result of shift unit 230 output shifting functions is to DND processor 250.DND processor 250 is carried out the DND operation at the differential data of the displacement of importing from shift unit 230.Next, DND processor 250 is calculated by the differential data of shifting function with the differential data of a small amount of bit number that coding needs between by the differential data of DND operation.If the differential data by the DND operation becomes the smallest number with coding needs, DND processor 250 is carried out shift-up operation thereon.Next, DND processor 250 is from by the differential data of shift-up operation with elected the differential data with smallest number bit that coding needs the differential data by DND operation.Then the selected differential data of DND processor 250 outputs is to this entropy coder 260.Entropy coder produces a bit stream thus carrying out entropy coding from the differential data of DND processor 250 inputs.Even the key data encoder in current embodiment shows that it does not carry out a folding operation than the higher code efficiency of traditional key data encoder.
With reference to figure 2E, when the input of the differential data of key data, according to the key data encoder encodes differential data of another most preferred embodiment of the present invention and export them.
The key data encoder comprises a shift unit 230, one folding processor 240, a DND processor 250 and an entropy coder 260.
Have in the differential data of the input of differential data from shift unit 230 of highest frequency in the differential data of input and deduct, and the result who subtracts outputs to folding processor 240.Folding processor 240 conversions become the result of positive number or negative zone and output conversion to DND processor 250 from the differential data of folding processor 240 outputs.DND processor 250 is being carried out the DND operation from the differential data of folding processor 240 inputs, and calculates and can be minimized in by the differential data of this shifting function, by the differential data of folding operation and the differential data by the needed bit number of coding in the differential data of DND operation.If thought to minimize the needed bit number of coding by the differential data of shifting function or folding operation, DND processor 250 output they to entropy coder 260 so that key data can be encoded.On the other hand, under situation about selecting by the differential data of DND operation, 250 pairs of differential datas of DND processor are carried out shift-up operation.Next, DND processor 250 is from by DND operation with elected the differential data with smallest number bit that coding needs the differential data by shift-up operation.Next, selected differential data outputs to entropy coder 260.Therefore the output of entropy coder 260 encoding D ND operation 250 produce a bit stream.Key data encoder in current embodiment also shows a traditional higher code efficiency of key data encoder.
Fig. 2 F is the block diagram according to the key data encoder of another most preferred embodiment of the present invention.With reference to figure 2F, the key data encoder comprises DND operator 252, shift-up operation device 256, a differential data selector 258b and an entropy coder 260.
The DND operator is carried out above-described DND operation on the differential data of input key data wherein, and the differential data of output DND is to shift-up operation device 256 and differential data selector 258b.Shift-up operation device 256 is being carried out an above-described shift-up operation from the differential data of DND operator 252 inputs, and the result who exports shift-up operation then is to this differential data selector 258b.Differential data selector 258b relatively encode the differential data of the smallest number bit that needed bit number of differential data and output encoder from the needed bit number of differential data of the DND of DND operator 252 input and coding from 256 inputs of shift-up operation device need to this entropy coder 260 so that make the output of key data bit stream.Key data encoder in current embodiment also shows a code efficiency higher than traditional key data encoder.
In Fig. 2 G, show key data encoder according to another most preferred embodiment of the present invention, increase the efficient of encoding keyword data by the linear keyword data region in the differential data that really is set to import.The key data encoder comprises linear keyword encoder 200, floating number converter 205, quantizer 210, entropy coder 280 and keyword header encoder device 270.
When key data is input in the key data encoder shown in Fig. 2 G, linear keyword encoder 200 zone that the search key data increase linearly in the key data of input, promptly, linear keyword data region, and this head and the tail key data of exporting linear keyword data region arrives floating number converter 205.The key data of input is input to quantizer 210 except that linear keyword data region.The predetermined quantization bit of key data utilization that is input in the quantizer 210 quantizes, and outputs to this entropy coder 280.Entropy coder 280 predetermined operate in their and goes up the key data of coding from the quantification of quantizer 210 inputs by carrying out, and exports the result of this operation thus as bit stream.
The head and the tail key data by binary number representation of floating number converter 205 transfer linearity keyword data region becomes the result of the decimal system and output conversion to this keyword header encoder device 270, so that they can be included in this bit stream.Key data encoder in current embodiment can further comprise a quantization error and minimize device 215.
Utilize the process of key data and key value digital coding animation data will describe more fully with reference to figure 10A and 10B.
In the key value animation path, the key value encoder searches is represented one group of almost identical with the animation path of key value point, and can dwindle a large amount of key values in such cases and all the other are represented by the key selection marker.For example, suppose the curve shown in the given key value presentation graphs 10A and select four points that the key selection marker has some values as shown in Figure 10 B.Such key selection marker by entropy coder 260 coding so that only be encoded corresponding to the key value data of key selection marker.
One example of SDL program code and the variable that has been used for above-mentioned cataloged procedure will be described to 14E more fully with reference to figure 14A.
The program code of the crucial prefix of class (class) is illustrated among Figure 14 A.The variable that is used for program code is at first described.
Crucial prefix data are the needed information units of decoding key data.The main information of crucial prefix comprises number, quantization bit, inner keyword (intra key) data, DND head and the needed bit number of decoding of keyword.NKeyQBit represents to be used for the quantization bit of inverse quantization, be used to recover the floating number key value, nNumKeyCodingBit represents to represent the bit quantity of the nNumberOfKey of key data number, and nKeyDigit represents the maximum number of the significant digits of original key data, and is used to the value that rounds off and decoded.Information on linear keyword data region is included under the situation in this key prefix, sign blsLinearKeySubRegion is set to 1, in such cases, some the interior keywords of predetermined sub-region that are included in the gamut inside of keyword can utilize the heading message of the decoding of following sign blsLinearKeySubRegion to calculate.Whether BRangeFlag represents the scope of key data between 0 and 1.If key data is not between 0 to 1, then from class KeyMinMax decoding minimum value and maximum.In the minimum and maximum value each can be divided into mantissa and index.NBitSize represents the bit size of bQIntraKey, and nKeyShift represents the bit size that nKeyMax is original.NQIntraKey represents the size of the internal data that at first quantizes, with the nQIntraKeySign associating of expression nQIntraKey symbol, and is used as the basis of the key data that recovers other quantification.Be used among the sign bit of interpolater compression, 0 expression is on the occasion of, 1 expression negative value.NKDPCMOrder with deduct 1 come to the same thing from the rank of DPCM.The rank of DPCM change between 1 to 3, and identical with the number of internal data.
NkeyShift is an integer of representing the displacement total amount in the key data decoder with sign bit nKeyShiftSign.When bShiftFlag is set to 1, decoding nKeyShift and nKeyShiftSign.NDNDOrder is the rank of DND.DND will describe in detail according to the key data decoder of the present invention's one most preferred embodiment subsequently.If nDNDOrder is 7, bNoDND then decodes.Boolean nDNDOrder represents the information whether reverse DND is performed.NKeyMax and nKeyMin represent to be used in the minimum and maximum value in the adjacent periods of DND operation respectively.NKeyCodingBit is the bit that is used for encoding keyword data.BSignedAACFlag shows that this coding/decoding method will be used for the AAC decoding.If bSignedAACFlag is 0, carries out the unsignedAAC decoding, otherwise carries out the signedAAC decoding.BKeyInvertDownFlag is the Boolean of the information that whether will use of expression nKeyInvertDown.NKeyInvertDown is an integer, and based on the key data that this integer conversion quantizes, is not more than-1 nature (native) value so that the key data that quantizes becomes.If nKeyInvertDown is-1, then do not carry out shift-down oepration.
Figure 14 B is the chart that shows the program code of class LinearKey.In Figure 14 B, nNumLinearKeyCodingBit is the needed bit number of the keyword of presentation code predetermined number, and wherein the keyword of predetermined number can linear prediction.
Figure 14 C is the chart that shows the program code of class KeySelectionFlag.In Figure 14 C, keyFlag is boolean's array, represents the information whether i key value has decoded.NNumOfKeyValue is the integer of the number of the key value of indicating to decode.
Figure 14 D is the chart that shows class KeyMinMax program code.In Figure 14 D, whether the number that bMinKeyDigitSame is illustrated in highest significant position in all keywords is identical with peaked highest significant position number in these keywords.NMinKeyDigit represents the number of the maximum most significant bit in these keywords.NMinKeyMantissaSign represents the symbol of nMinKeyMantissa.NMinKeyMantissa represents the mantissa of the minimum value in these keywords.
NMinKeyExponentSign refers to the symbol of nMinKeyExponent.NMinKeyExponent represents the index of the minimum value in these keywords.
FKeyMin represents the minimum value in these keywords.NMaxKeyDigitSame represents that the number nKeyDigit of highest significant position of whole keywords is whether identical with the number of peaked highest significant position in these keywords.NMaxKeyDigit represents the peaked highest significant position number in these keywords.NMaxKeyMantissaSign represents the symbol of nMaxKeyMantissa.NMaxKeyMantissa represents the peaked mantissa in these keywords.
BSameExponent represents whether the peaked index in these keywords is identical with nMinKeyExponent.NMaxKeyExponentSign represents the symbol of nMaxKeyExponent.NMaxKeyExponent represents the peaked index in these keywords.FKeyMax represents the maximum in these keywords.
Figure 14 E is the chart that shows class Key program code.In Figure 14 E, nQKey represents the key data array from the quantification of bit stream decoding.KeyContext represents to be used to read a certain scope of nQKey size.KeySignContext represents to be used to read a scope of nQKey symbol.
DecodeUnsignedAAC is used to utilize a given range to carry out the function of signless decoding, will describe more fully hereinafter, and decodeSignedAAC is the function that utilizes another given range DO symbol decoding, will be described subsequently.
Hereinafter, will describe according to an apparatus and method most preferred embodiment of the present invention, that be used to decode key data with reference to Figure 11 and 12.
Figure 11 A is the device according to the decoding key data of a most preferred embodiment of the present invention.This device of key data of being used to decode receives a bitstream encoded, and is reconstructed into key data by decoding.
The device of key data of being used to decode comprises: keyword header decode device 370 and key data decoder.This key data decoder comprises entropy decoder 360, reverse DND processor 350, folded inverted processor 340, shift reverse device 330, reverse DPCM processor 320, inverse quantizer 310, linear keyword decoder 300 and the contrary converter 305 of floating number.
Figure 12 according to a most preferred embodiment of the present invention, the flow chart of the method for the key data that is used to decode.With reference to figure 11A and 12, the bit stream that is compressed into by key data is imported in keyword header decode device 370 and the entropy decoder 360.
At step S4000, keyword header decode device 370 decoding decoding needed information units of per step, and they are provided to their corresponding decoding step.Information by 370 decodings of keyword header decode device will be described with each decoding step.
The bit number that entropy decoder 360 receives the number of the differential data of decoding and has been used to encode from keyword header decode device 370, that is, and the bit number that is used to decode, and at step S4100, the bit stream of decoding input.The number of differential data equals to deduct from the number of key data the result of the number of the inside key data that obtains by execution DPCM.
Example according to a program code most preferred embodiment of the present invention, that be used to realize such function that is used for decoding bit stream is described subsequently.
If the rank of DND are-1, this means that decoded code differential data are operated by DPCM rather than the entropy decoding has been carried out in the shifting function of experience DND, and this method is transferred to directly on the step of carrying out the shift reverse operation.If the rank of DND are 0, this means that decoded code differential data have experienced a folding operation rather than experience DND has carried out the entropy decoding, so this method is transferred to directly on the step of carrying out folded inverted operation.
If the code differential data of decoding are not passed through shift-up operation, this method is transferred on the step of carrying out reverse DND.On the other hand, if decoded code differential data have been passed through shift-up operation,, will be moved back into this negative zone by carrying out the differential data of shift-up operation from the positive number zone-transfer to a negative zone then at step S4200.In a most preferred embodiment of the present invention, the differential data through shift-up operation recovers by carrying out a shift-down oepration (being inverted (invert-down) operation downwards), and this operation is represented by following equation.
invert-down(v) …(14)
=v (if v≤nKeyInvertDown)
=nKeyInvertDown-v (if v>nKeyInvertDown)
Here, nKeyInvertDown has the value the same with the maximum nKeyMax that is used for shift-up operation.As the result of shift-down oepration, have differential data based on the value of nKeyInvertDown and become negative value below-1.
Operated or upward divided operation in anti-following minute to carrying out through the differential data of shift-down oepration selectively according to the maximum in each cycle of DND.
With reference to Figure 13, oppositely DND processor 350 is carried out and the differential data reverse DND operation of having operated through DND during encoding equally repeatedly.In other words, oppositely DND processor 350 is provided with the initial value on rank of reverse DND that equals the rank of DND.Next, whenever reverse DND processor 350 is carried out a reverse DND operation, oppositely DND processor 350 just deducts 1 from the initial value on the rank of reverse DND, and oppositely DND processor 350 keeps the reverse DND of execution to operate becoming 1 up to the rank of reverse DND.At step S4310, oppositely DND processor 350 is searched for nKeyMax and is checked whether each nKeyMax is not less than 0 at DND in each cycle.
Operation has been carried out in cataloged procedure if nKeyMax, this means branch less than 0, and thus at step S4320, oppositely DND processor 350 passes through to divide in the execution one scope of the decoded differential data of operation expansion to arrive the negative zone.In a most preferred embodiment of the present invention, can use by anti-the going up of equation (15) definition and divide operation.
Yet if nKeyMax is not less than 0, oppositely whether the rank of the reverse DND of DND processor 350 detections are 1.If oppositely the rank of DND are not 1, this means in cataloged procedure and decoded differential data has been carried out time branch operation, and thus at step S4340, oppositely DND processor 350 was operated the scope of expansion differential data in anti-following minute to a positive number zone by carrying out one.
If nKeyMax is not less than 0, and oppositely the rank of DND are 1, and then at step S4350, oppositely DND processor 350 finishes whole reverse DND operation after carrying out a reverse separate operation.In a most preferred embodiment of the present invention, can use reverse separate operation according to equation (17) definition.
inverse-divide(v) …(17)
=v (if v≥0)
=v+(nKeyMax
0+1) (if v<0)
The differential data of the key data of the reverse DND operation of process is input in the folded inverted processor 340, and at step S4400,340 pairs of differential datas of folded inverted processor are carried out a folded inverted operation, so as once to be only be used in differential data in the positive number zone be divided on the occasion of and negative value.In a most preferred embodiment of the present invention, can use a folded inverted operation according to equation (18) definition.
Differential data through folded inverted operation outputs to this shift reverse device 330, this shift reverse device 330 add one be used to cataloged procedure and from the mould nKeyShift of keyword header decode device 370 inputs to this differential data, at step S4500 from folded inverted processor 340 inputs.This operation is represented by following equation.
inverse-shift(v)=v+nKeyShift …(19)
At step S4600, oppositely DPCM processor 320 utilizes from the rank of the DPCM of keyword header encoder device 370 inputs, recovers to become from the differential data of shift reverse device 330 inputs the key data of quantification.Shift reverse device 330 is carried out the rank reverse DPCM operation equally repeatedly with following equation (20) DPCM.
v(i+1)=v(i)+delta(i) …(20)
Here, i represents the index of differential data and key data, and v represents integer array, and delta (i) represents differential data.
The key data of the quantification of the reverse DPCM operation of process is input in the inverse quantizer 310.Then, whether inverse quantizer 310 passes through floating number converter 205 information encoded from the big or small nKeyQBit that keyword header decode device 370 receives about quantization bit with the minimum and maximum value that is used for inverse quantization, and at step S4700, the key data that utilizes following equation conversion to quantize becomes the key data that oppositely quantizes.
If not by 205 conversions of floating number converter, then fKeyMin shown in the equation (21) and fKeyMax are set to 0 and 1 respectively to the minimum and maximum value that is used for quantizing in the encoding keyword data process.Yet, if the minimum and maximum value that is used to quantize by floating number converter 205 conversion, the minimum and maximum value of oppositely changing by the contrary converter 305 of this floating number is used as the minimum and maximum value of inverse quantization respectively.
The example of realization at the program code of the reverse DND operation of inverse quantization described subsequently.
Be added to the key data of decoding linear keyword decoder 300, the therefore key data of structure decoding from the key data of the decoding of inverse quantizer 310 output.
Hereinafter, a linear keyword decode procedure will be described.
Keyword header decode device 370 is from a bit stream decoding keyword header.If the information on the linear keyword data region is present in this bit stream, then the needed information of head and the tail keyword of the linear keyword data region of keyword header decode device 370 output decoders is to floating number converter 305, and output is arrived this linearity keyword decoder 300 as the keyword number of linear keyword coding.
The head and the tail keyword that the contrary converter 305 of floating number is oppositely changed the linear keyword data region of representing by decimal number becomes binary number, and the output binary number is to linear keyword decoder 300.
Suppose that two decoded floating numbers are considered to fKeyMin and fKeyMax, the process of the fKeyMin that then decodes is as follows.
Keyword header decode device 370 is read the fKeyMin numerical digit from bit stream.If the numerical digit of fKeyMin is 0, fKeyMin is provided with 0, and for the fKeyMax that decodes, reads fKeyMax from the numerical digit of this bit stream.If the numerical digit of fKeyMax (digit number) is not less than 8, this means that fKeyMax is according to ieee standard 754 codings.Therefore, floating number fKeyMax is decoded after its 32 bits are read.
Yet, if the fKeyMax numerical digit between 1 and 7, keyword header decode device 370 is read a sign bit from this bit stream.In a most preferred embodiment of the present invention, if this sign bit is 1, then MinKeyMantissaSign is set to-1.On the other hand, if this sign bit is 0, then MinKeyMantissaSign is set to 1.After this, the needed bit number reference chart 1 of decoding obtains, and chart 1 shows the numerical digit of mantissa and the relation between the needed bit number of encoding.Next, be read out with the bit of bit stream of the needed bit number as much of coding, and be kept among the nMinKeyMantissa.Then, the next bit of bit stream is read out, and is kept at mode same among the MinKeyMantissaSign with the symbol with mantissa, and it is kept at MinKeyExponentSign.6 bits subsequently corresponding to this bit stream of exponential quantity are read out, and are kept among the nMinKeyExponent.
The contrary converter 305 of floating number becomes equation (22) by alternative value from 370 inputs of keyword header decode device and recovers fKeyMax.
The process of recovering fKeyMax is identical with the process of recovering fKeyMin.Specifically, reading from this bit stream before the index of fKeyMax, it determines whether that the value the same with the index of fKeyMin is used as the index of fKeyMax.If do not have will be the same with the index of fKeyMin value as the index of fKeyMin, then with the same method of index of the fKeyMin that reads from bit stream, read the index of fKeyMax from this bit stream.
The head and the tail keyword of linear keyword decoder 300 linear keyword data region of 305 receptions from floating number against converter, and according to following equation (23) decoding linear packet keyword data region.
(i=0,…,nNumberOfLinearKey-1)
Here, fKeyMin and fKeyMax represent this head and the tail key data of linear keyword data region respectively.
Use above-mentioned method, the key data of decoding in linear keyword data region is added to from the key data of inverse quantizer 310 outputs, then the result after adding is exported as final key data.
Example according to device the present invention's one most preferred embodiment, that be used to decode key data has been described in the above.Clearly, for the person of ordinary skill of the art, the present invention can realize by different way.Hereinafter, the different embodiment of this device of key data that is used to decode will be described with reference to figure 11B to 11E.Figure 11 A same numeral numeral similar elements in the 11E.
With reference to figure 11B, be used for comprising: entropy decoder 360, reverse DND operator 352, folded inverted processor 340, shift reverse device 330, reverse DPCM processor 320 and inverse quantizer 310 according to device another most preferred embodiment of the present invention, the decoding key data.
When the bit stream that is encoded into by key data is input to the device of the key data that is used for decoding, the bit stream of entropy decoder 360 entropys decoding input, and output entropy decoded results, that is, the differential data of decoding is to reverse DND operator 352.Oppositely DND operator 352 determine input differential datas whether through based on DND operation about the rank of the DND of the differential data of this input.If differential data is through the DND operation, then oppositely 352 pairs of differential datas of DND operator are carried out a reverse DND operation, and export the result of reverse DND operation.If differential data is not through the DND operation, then reverse DND operator 352 is with its shunting.
Folded inverted processor 340 detects from the differential data of reverse DND operator 352 inputs whether passed through the folding operation that uses the rank of DND, if this differential data has passed through folding operation, then differential data is carried out a folded inverted operation.If this differential data does not pass through folding operation, then this reverse DND operator 352 is diverted to this shift reverse device 330 with them.
330 pairs of differential datas from folded inverted processor 340 inputs of shift reverse device are carried out shift reverse operation, and the result of output shift reverse operation is to reverse DPCM processor 320.Oppositely to the key data that quantizes, and the key data that output quantizes is to inverse quantizer 310 from the differential data of shift reverse device 330 inputs for 320 conversions of DPCM processor.Inverse quantizer 310 oppositely quantizes the key data that the key data that quantized and output are decoded.
With reference to figure 11C, comprise: entropy decoder 360, oppositely DND processor 350, shift reverse device 330, oppositely DPCM processor 320 and inverse quantizer 310 according to device another most preferred embodiment of the present invention, that be used to decode key data.
When the bit stream that is formed by key data coding is input to the device of the key data that is used for decoding, the bit stream of entropy decoder 360 entropys decoding input, and the differential data that output is decoded is to reverse DND processor 350.Oppositely DND processor 350 detects from the differential data of entropy decoder 360 inputs whether passed through shift-up operation the process of encoding keyword data.If the differential data of input has passed through shift-up operation, then oppositely DND processor 350 is sequentially carried out a shift-down oepration and a reverse DND operation on this differential data, and exports the result of reverse DND operation.If the differential data of this input does not pass through shift-up operation, then oppositely 350 pairs of differential datas of DND processor are carried out a reverse DND operation, and the result who exports reverse DND operation arrives this shift reverse device 330.
330 pairs of differential datas from reverse DND processor 350 inputs of shift reverse device are carried out shift reverse operation, and the result of output shift reverse operation is to reverse DPCM processor 320.Oppositely DPCM processor 320 is changed the key data that becomes to quantize from the differential data of shift reverse device 330 inputs, and the key data of output quantification is to inverse quantizer 310.Inverse quantizer 310 oppositely quantizes the key data that quantized, and the output key data of being decoded.
With reference to figure 11D, comprise: entropy decoder 360, oppositely shift-up operation device 356 and reverse DND operator 352 according to device another most preferred embodiment of the present invention, that be used to decode key data.
The bit stream of being imported is decoded in entropy decoder 360, changes in differential data and is input in the reverse shift-up operation device 356.The differential data of 356 pairs of inputs of this reverse shift-up operation device is carried out a shift-down oepration, and the result of output shift-down oepration is to reverse DND operator 352.Oppositely 352 pairs of differential datas from 356 inputs of shift-up operation device of DND operator are carried out a reverse DND operation, and export the differential data of the key data of being decoded.The differential data of the key data of decoding can use a general decoder output.
With reference to figure 11E, according to device another most preferred embodiment of the present invention, that be used to the to decode key data bit stream of decoding, this bit stream has used in the linear keyword encoder at the device that is used for encoding keyword data and has encoded.The device of key data of being used to decode comprises: the contrary converter 305 of entropy decoder 380, keyword header decode device 370, inverse quantizer 310 and floating number.
The bit stream of being imported is input in entropy decoder 380 and the keyword header decode device 370.The decoding of entropy decoder 380 entropys is carried out predetermined operation thereon corresponding to a part of bit stream of key data, and the result of output scheduled operation is to inverse quantizer 310.370 decodings of keyword header decode device are corresponding to another part bit stream of crucial prefix, and output comprises the linear keyword decoder of key data number in the online property keyword data region.In addition, the information on the head and the tail key data of the linear keyword data region of keyword header decode device 370 outputs is to the contrary converter 305 of this floating number.
Hereinafter will be with reference to figure 15A to 15C describe to realize being used to the decoding example of program code of operation of key data.
Figure 15 A is graphic to be the example of realizing the program code of function d ecodeSignedAAC (), this function is used for by the scope (context) relevant for value and their symbol, and decoding does not have the value from the symbol of the bit stream that passes through adaptive arithmetic coding.
Figure 15 B is the chart of a read-me code example, this program code is realized function d ecodeUnsignedAAC (), this function is by means of the scope (context) relevant for value and their symbol, and coding does not have the value from the sign of the bit stream that passes through adaptive arithmetic coding.In Figure 15 B, qf_decode () expression is used to read out one function from bit stream.
Figure 15 C is the chart of read-me code one example, and that this program code is realized is described above, at the reverse DND operation of inverse quantization.
The present invention can be used as the computer-readable code that is recorded on the computer readable recording medium storing program for performing and realizes.Here, computer-readable recording medium comprises the recording medium of any kind of that can read by computer system.For example, computer-readable recording medium comprises ROM, RAM, CD-ROM, tape, floppy disk, optical data storage, carrier wave (transmitting through Internet).Computer-readable recording medium can be distributed to the computer system of connection Network Based, and computer can be visited this recording medium in the mode of disperseing.
Be different from the conventional apparatus that is used for the coding and decoding key data, the method and apparatus that is used for the coding and decoding key data according to the present invention can pass through execution shifting function, folding operation, operate at the DND that operates the differential data of acquisition by execution DPCM, improve the efficient of encoding keyword data significantly, and coding can minimize in the operation of the needed bit number of coding result one of at least.Therefore, according to the present invention, can reduce significantly and be used to store the space of three-dimensional animation and with the high-speed transfer animation data.
Though the present invention specifically shows with reference to its most preferred embodiment and describes, but it will be appreciated by those skilled in the art that, can make the different variations on form and the details therein, as long as the spirit and scope of the invention that they do not deviate from the appended claims and are limited.
Claims (22)
1, the bitstream encoded of the differential data of a kind of DPCM of the key data that is used to decode and carry out the device of DND operation, wherein, key data is the information about the position of keyword frame on time shaft, this device comprises:
Entropy decoder is used for the bit stream that the entropy decoding is imported;
Reverse shift-up operation device, if the differential data of decoding is through the shift-up operation coding, be the differential data of operating through DND then, and export the result, otherwise shunt the differential data of this decoding by the differential data of the differential data of decoding being carried out shift-down oepration recovery decoding; And
Oppositely the DND operator is used for the rank reverse DND operation equally repeatedly to differential data execution of importing from reverse shift-up operation device and the DND that reads from bit stream.
2, device as claimed in claim 1, wherein, in shift-down oepration, if the entropy of reading from bit stream decoding differential data greater than through the maximum the differential data of DND operation, then from maximum, deduct each entropy decoding differential data.
3, device as claimed in claim 1, wherein, if oppositely the maximum in the differential data in the current period of DND operation is less than pre-determined reference value, then oppositely the rank of execution of DND operator and DND reverse DND equally repeatedly operates and the differential data of input is carried out instead upward branch operation, so that expand their scope, and
Anti-going up divided being characterized as of operation: if the differential data in the current period of reverse DND operation has negative odd number value, then deduct the result that one first constant and one second constant remove this differential data among the maximum nKeyMax from differential data, if oppositely the differential data in the current period of DND operation has negative even number value, then they are divided by first constant.
4, device as claimed in claim 1, wherein, if being not less than the current rank of predetermined first reference value and oppositely DND operation, the maximum in the differential data in the current period of reverse DND operation is not equal to 1, then reverse DND operator is carried out rank reverse DND operation and the differential data execution operation in anti-following minute to importing equally repeatedly with DND, so that expand their scope, and
Anti-following minute operating characteristics is: if the differential data in the current period of reverse DND operation is less than the second predetermined fiducial value, then one first constant and second constant remove the result of this differential data with the maximum in the differential data that adds in the current period of giving reverse DND operation, if oppositely the differential data in the current period of DND operation has the even number value less than second fiducial value, then they are divided by first constant.
5, device as claimed in claim 1, wherein, if the maximum nKeyMax in the differential data in the current period of reverse DND operation is not less than the rank that the current rank of predetermined first reference value and oppositely DND operation equal DND, then reverse DND operator is carried out rank reverse DND operation and the differential data execution operation in anti-following minute to importing equally repeatedly with DND, so that expand their scope, and
Oppositely separate operation is characterized as: if the differential data in the current period of reverse DND operation then adds them to a nKeyMax and a predetermined constant less than one second fiducial value.
6, a kind of device, it is by carrying out the DPCM operation of a quantization operation and predetermined period number to key data, the DND operation of carrying out shifting function, folding operation and the predetermined period number of the scope be used for dwindling differential data then wherein comes one of at least the bit stream of decoding and coding, wherein, key data is the information about the position of keyword frame on time shaft, and this device comprises:
Entropy decoder is used for the differential data that bit stream that entropy decoding imported and output are decoded;
Oppositely the DND operator is used for the rank according to the DND that reads from bit stream, and the differential data of entropy decoding is carried out reverse DND operation, perhaps with they shuntings;
Folded inverted processor is used for according to the rank of DND the differential data of importing from reverse DND operator being carried out folded inverted operation so that this differential data can be divided into positive number and negative, perhaps shunts this differential data;
The shift reverse device is used for changing from the scope of the differential data of reverse DND operator or the input of folded inverted processor to this differential data by adding pre-cover half;
Oppositely the DPCM processor is used to recover the differential data of process shift reverse operation, and the key data of output quantification; And
Inverse quantizer is used for the oppositely key data of the quantification of quantization restorer, and exports the key data of being decoded.
7, device as claimed in claim 6, wherein, if the differential data of input is an even number, then folded inverted processor removes the differential data of input with one first constant, if the differential data of input is an odd number, then the opposite number with first constant removes the result of interpolation one second constant to the differential data of input.
8, device as claimed in claim 6, wherein, if oppositely the maximum in the differential data in the current period of DND operation is less than pre-determined reference value, then be performed with the as many reverse DND operation of the order number of DND in, and to the differential data of input carry out anti-go up divide operation in case expand they scope and
Anti-going up divided being characterized as of operation: if the differential data in the current period of reverse DND operation has negative odd number value, then deduct the result that one first constant and one second constant remove this differential data among the maximum nKeyMax from differential data, if oppositely the differential data in the current period of DND operation has negative even number value, then with them divided by first constant.
9, device as claimed in claim 6, wherein, if oppositely the maximum nKeyMax in the differential data in the current period of DND operation is not less than predetermined first reference value, and oppositely the current rank of DND operation are not equal to 1, the then oppositely rank of execution of DND operator and DND reverse DND operation equally repeatedly, and to the differential data of input carry out one operated in anti-following minute in case expand they scope and
Being characterized as of operation in anti-following minute: if the differential data in the current period of reverse DND operation has the odd number value less than one second fiducial value, then add one first constant and one second constant and remove the result of this differential data to nKeyMax, if oppositely the differential data in the current period of DND operation has the even number value less than second fiducial value, then with them divided by first constant.
10, device as claimed in claim 6, wherein, if oppositely the maximum nKeyMax in the differential data in the current period of DND operation is not less than predetermined first reference value, and oppositely the current rank of DND operation equal 1, the then oppositely rank of execution of DND operator and DND reverse DND operation equally repeatedly, and to the differential data of input carry out one operated in anti-following minute in case expand they scope and
Oppositely separate operation is characterized as: if the differential data in the current period of reverse DND operation then adds them to nKeyMax and predetermined constant less than second fiducial value.
11, a kind of device of the bit stream that is used to decode, wherein, bit stream is by carrying out the DPCM of quantification and predetermined period number to key data, carry out then shifting function, predetermined period number DND operation, the DPCM of the shift-up operation of quantized result and predetermined period number is wherein encoded one of at least, wherein key data is the information about the position of keyword frame on time shaft, and this device comprises:
Entropy decoder is used for the differential data that bit stream that entropy decoding imported and output are decoded;
Oppositely the DND operator is used for the rank according to the DND that reads from bit stream, and the differential data of entropy decoding is carried out reverse DND operation, perhaps with they shuntings;
The shift reverse device is used for changing from the scope of the differential data of reverse DND processor input to the differential data of importing by adding pre-cover half;
Oppositely the DPCM processor is used to recover through the differential data of shift reverse operation and the key data of output quantification; And
Inverse quantizer, the oppositely key data of the quantification of quantization restorer and the output key data of decoding.
12, the method for the bitstream encoded of the differential data of a kind of DPCM of the key data that is used to decode, wherein, key data is the information about the position of keyword frame on time shaft, carries out the DND operation, this method comprises:
The bit stream that the entropy decoding is decoded;
To the differential data execution one reverse shift-up operation of entropy decoding, if wherein the differential data of entropy decoding is then carried out a shift-down oepration to differential data so that they are reverted to the differential data of having operated through DND through the shift-up operation coding; And
If the differential data of entropy decoding has passed through the rank shift-up operation equally repeatedly with the DND that reads from bit stream, then to carrying out a reverse DND operation through the differential data of shift-down oepration, if they do not have through with the rank shift-up operation equally repeatedly of DND, then the differential data of entropy decoding is carried out and should be operated by reverse DND.
13, as the method for claim 12, wherein, in shift-down oepration, if the entropy decoding differential data of reading from bit stream greater than through the maximum the differential data of DND operation, then from maximum, deduct each entropy decoding differential data.
14, as the method for claim 12, wherein, if oppositely the maximum nKeyMax in the differential data in the current period of DND operation is less than pre-determined reference value, then be performed with the as many reverse DND operation of the order number of DND in, and the differential data of input is carried out anti-going up divide operation so that expand their scope, and
Anti-going up divided being characterized as of operation: if the differential data in the current period of reverse DND operation has negative odd number value, then deduct the result who removes this differential data by one first constant and one second constant among the maximum nKeyMax from differential data, if oppositely the differential data in the current period of DND operation has negative even number value, then with them divided by first constant.
15, as the method for claim 12, wherein, if oppositely the maximum nKeyMax in the differential data in the current period of DND operation is not less than pre-determined reference value, and oppositely the current rank of DND operation are not equal to 1, then be performed with the as many reverse DND operation of the order number of DND in, the differential data of input is carried out an operation in anti-following minute so that expand their scope, and
Being characterized as of operation in anti-following minute: if the differential data in the current period of reverse DND operation has the odd number value less than one second fiducial value, then add the result who removes this differential data by one first constant and one second constant to nKeyMax, if oppositely the differential data in the current period of DND operation has the even number value less than second fiducial value, then with them divided by first constant.
16, as the method for claim 12, wherein, if being not less than the current rank of pre-determined reference value and oppositely DND operation, the maximum nKeyMax in the differential data in the current period of reverse DND operation equals 1, then be performed with the as many reverse DND operation of the order number of DND in, the differential data of input is carried out anti-going up divide operation so that expand their scope, and
Oppositely separate operation is characterized as: if the differential data in the current period of reverse DND operation then adds them to a nKeyMax and a predetermined constant less than one second fiducial value.
17, a kind of method that is used for decoding bit stream, this bit stream is by carrying out the DPCM operation of quantification and predetermined period number to key data, and by in keyword frame based on graphic animations, carry out shifting function, folding operation and to encoding one of at least among the DPCM of the DND operation of the predetermined period number of quantized result and this predetermined period number, wherein this key data is the information about the position of keyword frame on time shaft, and this method comprises:
(a) the entropy decoding bit stream and the differential data of generation decoding thus;
(b) differential data of decoding is carried out a reverse DND operation;
(c) to carrying out a folded inverted operation so that they are divided into negative and positive number through the differential data of reverse DND operation;
(d) carry out shift reverse operation, wherein the scope of the differential data of the folded inverted operation of process changes by adding predetermined mould to their;
(e) carry out a reverse DPCM process so that the differential data of shift reverse operation is resumed and produces thus the key data that is quantized; And
(f) by oppositely quantize to be quantized key data produce the key data of decoding, if wherein the rank of the DND that reads from bit stream show that entropy decoding differential data do not operate by DND, in step (a) execution in step (c) immediately afterwards, if the differential data that the rank of DND show entropy decoding by the DND operation also by folding operation, then in step (a) execution in step (d) immediately afterwards.
18, as the method for claim 17, wherein, in folding operation, if the differential data of input is an even number, then with them divided by one first constant, if they are odd numbers, then add one second constant to the result of the differential data of input divided by the opposite number of first constant.
19, as the method for claim 17, wherein, if oppositely the maximum nKeyMax in the differential data in the current period of DND operation is less than pre-determined reference value, then be performed with the as many reverse DND operation of the order number of DND in, the differential data of input is carried out anti-going up divide operation so that expand their scope, and
Anti-going up divided being characterized as of operation: if the differential data in the current period of reverse DND operation has negative odd number value, then deduct the result who removes this differential data by one first constant and one second constant among the maximum nKeyMax from differential data, if oppositely the differential data in the current period of DND operation has negative even number value, then with them divided by first constant.
20, as the method for claim 17, wherein, if being not less than the current rank of pre-determined reference value and oppositely DND operation, the maximum nKeyMax in the differential data in the current period of reverse DND operation is not equal to 1, then be performed with the as many reverse DND operation of the order number of DND in, the differential data of input is carried out an operation in anti-following minute so that expand their scope, and
Being characterized as of operation in anti-following minute: if the differential data in the current period of reverse DND operation has the odd number value less than one second fiducial value, then add the result who removes this differential data by one first constant and one second constant to nKeyMax, if oppositely the differential data in the current period of DND operation has the even number value less than second fiducial value, then with them divided by first constant.
21, as the method for claim 17, wherein, if being not less than the current rank of pre-determined reference value and oppositely DND operation, the maximum nKeyMax in the differential data in the current period of reverse DND operation equals 1, then be performed with the as many reverse DND operation of the order number of DND in, the differential data of input is carried out anti-going up divide operation so that expand their scope, and
Oppositely separate operation is characterized as: if the differential data in the current period of reverse DND operation then adds them to a nKeyMax and a predetermined constant less than second fiducial value.
22, a kind of method that is used for decoding bit stream, this bit stream is by carrying out the DPCM operation of quantification and predetermined period number to key data, carry out the DND operation of shifting function, predetermined period number then, about encoding one of at least among the DPCM of the shift-up operation of quantized result and this predetermined period number, wherein this key data is the information about the position of keyword frame on time shaft, and this method comprises:
(a) decode this bit stream and produce the differential data of decoding thus of entropy;
(b) differential data of decoding being carried out a reverse DND handles;
(c) carry out shift reverse operation for this differential data to the differential data of operating by adding predetermined mould, so that change their scope by reverse DND;
(d) carry out a reverse DPCM processing so that the differential data of operating by shift reverse has been resumed and has produced thus the key data that is quantized; And
(e) oppositely quantize the key data quantized so that produce the key data of decoding, if wherein the rank of the DND that reads from bit stream show entropy decoding differential data by the DND operation, in step (a) execution in step (c) immediately afterwards.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33313001P | 2001-11-27 | 2001-11-27 | |
US60/333,130 | 2001-11-27 | ||
US60/334,541 | 2001-12-03 | ||
US60/342,101 | 2001-12-26 | ||
US60/369,597 | 2002-04-04 | ||
KR64007/02 | 2002-10-19 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100558156A Division CN100414996C (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding key value data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1878312A true CN1878312A (en) | 2006-12-13 |
CN100581253C CN100581253C (en) | 2010-01-13 |
Family
ID=36076905
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610094358 Expired - Fee Related CN1878311B (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding bit stream and orientation interpolator |
CN 200610075350 Expired - Fee Related CN1856105B (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding directional interpolator |
CN 200510092099 Expired - Fee Related CN100530977C (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding data |
CN 200710084973 Expired - Fee Related CN101009837B (en) | 2001-11-27 | 2002-11-27 | Method for encoding bit stream of orientation interpolator |
CN 200610168615 Expired - Fee Related CN100546386C (en) | 2001-11-27 | 2002-11-27 | The method and apparatus of the key value data of Code And Decode coordinate built in symbol |
CN200610110089.2A Expired - Fee Related CN1941910B (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding coordinate built in symbol and decoding bit data flow |
CNB2005100916428A Expired - Fee Related CN100350433C (en) | 2001-11-27 | 2002-11-27 | Method for computing path error and extracting path break point |
CN 200610094359 Expired - Fee Related CN100581253C (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for decoding bit stream |
Family Applications Before (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610094358 Expired - Fee Related CN1878311B (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding bit stream and orientation interpolator |
CN 200610075350 Expired - Fee Related CN1856105B (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding directional interpolator |
CN 200510092099 Expired - Fee Related CN100530977C (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding and decoding data |
CN 200710084973 Expired - Fee Related CN101009837B (en) | 2001-11-27 | 2002-11-27 | Method for encoding bit stream of orientation interpolator |
CN 200610168615 Expired - Fee Related CN100546386C (en) | 2001-11-27 | 2002-11-27 | The method and apparatus of the key value data of Code And Decode coordinate built in symbol |
CN200610110089.2A Expired - Fee Related CN1941910B (en) | 2001-11-27 | 2002-11-27 | Method and apparatus for encoding coordinate built in symbol and decoding bit data flow |
CNB2005100916428A Expired - Fee Related CN100350433C (en) | 2001-11-27 | 2002-11-27 | Method for computing path error and extracting path break point |
Country Status (2)
Country | Link |
---|---|
CN (8) | CN1878311B (en) |
ES (1) | ES2360786T3 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103517022A (en) * | 2012-06-29 | 2014-01-15 | 华为技术有限公司 | Image data compression and decompression method and device |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4835554B2 (en) * | 2007-09-06 | 2011-12-14 | ソニー株式会社 | Encoding apparatus and method, decoding apparatus and method, and program |
KR20120052739A (en) | 2010-11-16 | 2012-05-24 | 삼성전자주식회사 | Display driving device and method for compressing and decompressing image data in the same |
KR20130049523A (en) * | 2011-11-04 | 2013-05-14 | 오수미 | Apparatus for generating intra prediction block |
FR2982446A1 (en) | 2011-11-07 | 2013-05-10 | France Telecom | METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS |
FR2982447A1 (en) | 2011-11-07 | 2013-05-10 | France Telecom | METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS |
CN111434110B (en) * | 2018-11-06 | 2023-06-20 | 北京字节跳动网络技术有限公司 | Method, apparatus and storage medium for video processing |
JP7440544B2 (en) * | 2019-06-18 | 2024-02-28 | エルジー エレクトロニクス インコーポレイティド | Image decoding method and device |
CN111272280B (en) * | 2020-02-25 | 2020-12-15 | 电子科技大学 | Method for improving resolution of spectrometer system by using inverse convolution |
CN112965462B (en) * | 2021-02-07 | 2022-08-16 | 深圳市千与诺科技有限责任公司 | Signal generation method, system, medium and apparatus for process system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4230728A1 (en) * | 1992-09-14 | 1994-03-17 | Philips Patentverwaltung | Adaptive DPCM encoder |
CN1052608C (en) * | 1993-07-24 | 2000-05-17 | 电子科技大学 | Digital transmission method for high-definition television and transmitter-receiver |
JP3649469B2 (en) * | 1995-05-12 | 2005-05-18 | 株式会社ソニー・コンピュータエンタテインメント | Animation data creation method and creation apparatus |
KR100212552B1 (en) * | 1996-12-23 | 1999-08-02 | 전주범 | Method and apparatus for coding counter image |
FR2765984B1 (en) * | 1997-07-11 | 1999-10-22 | France Telecom | SIGNAL OF ANIMATION DATA OF A QUANTIFYING GRAPHIC SCENE, CORRESPONDING METHOD AND DEVICE |
US6075901A (en) * | 1998-12-04 | 2000-06-13 | France Telecom | Method and system for predictive encoding of arrays of data |
CN1181690C (en) * | 1999-07-20 | 2004-12-22 | 皇家菲利浦电子有限公司 | Encoding method for compression of video sequence |
KR100608454B1 (en) * | 1999-10-19 | 2006-08-02 | 삼성전자주식회사 | A moving picture recording and/or reproduction apparatus using key frame |
US6693645B2 (en) * | 1999-12-01 | 2004-02-17 | Ivast, Inc. | Optimized BIFS encoder |
US6898320B2 (en) * | 2000-03-14 | 2005-05-24 | Samsung Electronics Co., Ltd. | Method for processing nodes in 3D scene and apparatus thereof |
-
2002
- 2002-11-27 CN CN 200610094358 patent/CN1878311B/en not_active Expired - Fee Related
- 2002-11-27 ES ES02258174T patent/ES2360786T3/en not_active Expired - Lifetime
- 2002-11-27 CN CN 200610075350 patent/CN1856105B/en not_active Expired - Fee Related
- 2002-11-27 CN CN 200510092099 patent/CN100530977C/en not_active Expired - Fee Related
- 2002-11-27 CN CN 200710084973 patent/CN101009837B/en not_active Expired - Fee Related
- 2002-11-27 CN CN 200610168615 patent/CN100546386C/en not_active Expired - Fee Related
- 2002-11-27 CN CN200610110089.2A patent/CN1941910B/en not_active Expired - Fee Related
- 2002-11-27 CN CNB2005100916428A patent/CN100350433C/en not_active Expired - Fee Related
- 2002-11-27 CN CN 200610094359 patent/CN100581253C/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103517022A (en) * | 2012-06-29 | 2014-01-15 | 华为技术有限公司 | Image data compression and decompression method and device |
CN103517022B (en) * | 2012-06-29 | 2017-06-20 | 华为技术有限公司 | A kind of Image Data Compression and decompression method, device |
Also Published As
Publication number | Publication date |
---|---|
CN100530977C (en) | 2009-08-19 |
CN101009837A (en) | 2007-08-01 |
CN100546386C (en) | 2009-09-30 |
CN1741392A (en) | 2006-03-01 |
ES2360786T3 (en) | 2011-06-09 |
CN1734502A (en) | 2006-02-15 |
CN1856105A (en) | 2006-11-01 |
CN100581253C (en) | 2010-01-13 |
CN1976473A (en) | 2007-06-06 |
CN1878311A (en) | 2006-12-13 |
CN1941910A (en) | 2007-04-04 |
CN100350433C (en) | 2007-11-21 |
CN1856105B (en) | 2011-08-24 |
CN101009837B (en) | 2011-04-27 |
CN1878311B (en) | 2013-04-03 |
CN1941910B (en) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1187716C (en) | Device and method for coding and decoding keyword data | |
CN1272967C (en) | Video coding method and apparatus and decoding method and apparatus | |
CN1265649C (en) | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus | |
CN1638484A (en) | Image encoding apparatus, image encoding method, image encoding program, image decoding apparatus, image decoding method, and image decoding program | |
CN1799200A (en) | Floating point signal reversible encoding method, decoding method, device thereof, program, and recording medium thereof | |
CN1339922A (en) | Separating and merging device, method for coding signal and computer program product | |
CN101039422A (en) | Image encoding apparatus, image decoding apparatus and control method therefor | |
CN1639984A (en) | Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program | |
CN1379366A (en) | Image processing device and method | |
CN101069354A (en) | Information compression-coding device, its decoding device, method thereof, program thereof and recording medium storing the program | |
CN101052127A (en) | Information-processing apparatus, information-processing method, recording medium and program | |
CN1650561A (en) | Audio data code conversion transmission method and code conversion reception method, device, system, and program | |
CN1898723A (en) | Signal decoding apparatus and signal decoding method | |
CN1878312A (en) | Method and apparatus for decoding bit stream | |
CN101061638A (en) | Signal encoder, signal decoder, signal encoding method, signal decoding method, program, recording medium and signal codec method | |
CN1314208C (en) | Extensible Markup Language (XML) data stream compressor and compression method thereof | |
CN1568012A (en) | Method and apparatus for encoding and decoding key value data | |
CN100343879C (en) | Method and apparatus for encoding and decoding key value data of orientation interpolator node | |
CN1882096A (en) | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus | |
CN1848962A (en) | Program, information processing device, information processing method and recording medium | |
CN1310192C (en) | Position interpolator encoding and decoding method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100113 Termination date: 20151127 |