CN1206613C - Coding and decoding method and device for key value data to directed interprolator node - Google Patents

Coding and decoding method and device for key value data to directed interprolator node Download PDF

Info

Publication number
CN1206613C
CN1206613C CN02154235.XA CN02154235A CN1206613C CN 1206613 C CN1206613 C CN 1206613C CN 02154235 A CN02154235 A CN 02154235A CN 1206613 C CN1206613 C CN 1206613C
Authority
CN
China
Prior art keywords
rotation
differential data
value
difference
error
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.)
Expired - Fee Related
Application number
CN02154235.XA
Other languages
Chinese (zh)
Other versions
CN1428745A (en
Inventor
金道均
郑锡润
张义善
禹相玉
李信俊
韩万镇
张敬子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020020070496A external-priority patent/KR100537500B1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1428745A publication Critical patent/CN1428745A/en
Application granted granted Critical
Publication of CN1206613C publication Critical patent/CN1206613C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A method and an apparatus for encoding key value data of an orientation interpolator representing the rotation of an object in a keyframe image are provided. The apparatus includes a rotational differential data generator which generates, using a rotational transformation value of a current keyframe and a restored rotational transformation value of a previous keyframe, a rotational differential value used to rotate the object by as much as a difference between rotational transformation applied to the object in the current keyframe by key value data and rotational transformation applied to the object in the previous keyframe by key value data, and outputs rotational differential data by quantizing the rotational differential value, a circular DPCM operator which selectively performs a linear DPCM operation or a circular DPCM operation on rotational differential data, and an entropy encoder which entropy-encodes the rotational differential data.

Description

To the key value digital coding of directed interpolater node and the method and apparatus of decoding
Technical field
The present invention relates to method and apparatus that the key value data of animation are encoded and deciphered, be particularly related to the method and apparatus that the key value data of directed interpolater node are encoded and deciphered, by the difference between the directional transforms value of certain object in each key frame being encoded and deciphering, this key value data conversion is become hypercomplex number.
Background technology
MPEG-4 BIFS is one of international multimedia standard, supports the animation based on key frame, and described animation has adopted the interpolater node with animation key word and key value.
In order to show animation as far as possible naturally smoothly, need a large amount of key word and key value data, and fill field data between key frame by interpolation with above-mentioned cartoon technique based on key frame.Interpolation in virtual reality modeling language (VRML) comprises linearity or spherical interpolation.
Key word and key value are similar to the original animation curve on the time shaft.Fig. 1 is according to the two-dimentional track that animation data is described in the lip-deep passage of time of three-dimensional sphere, and these data are represented by directed interpolater node.As shown in Figure 1, conventional MPEG-4 BIFS supports the spherical linear interpolation between key frame, and animation path seems to be similar to one group of fragment that the above-mentioned animation data of expression changes.
In the directed interpolater node that is provided by BIFS, key data usefulness-∞ is to the predetermined instant of discontinuous numeral on the time shaft at animation place between the ∞.Object in the relevant composograph of key value data representation is at the rotation information of the predetermined instant of being represented by key data.Relevant this object is at the rotation information that is not other predetermined instant of being represented by key data, then uses and two moment correspondent keyword data of contiguous above-mentioned predetermined instant, obtains by spherical linear interpolation.
In the linear interpolation process of sphere, represent rotation information with turning axle and rotation angle.(VRML) is the same for same virtual reality modeling language, and MPEG4 BIFS adopts directed interpolater node to support the rotation information of being represented by turning axle and rotation angle.When using the key value data to generate level and smooth animation during spherical linear interpolation, the difference of the key value data between key frame is very relevant each other, and this can cause the redundancy between data.Therefore, it is effectively coming the key value data are carried out Methods for Coding with data difference.
MPEG-4 BIFS provides two kinds of distinct methods to encoding with the field data of the key word of directed interpolater node and key value data representation: a kind of employing pulse code modulation (pcm) encodes to field data; Another kind of differential pulse coding modulation (DPCM) and the entropy coding of adopting encoded to field data.
Adopting PCM that field data is carried out in the Methods for Coding, key data to be encoded and key value data are only carried out quantizing process.Owing to do not consider the feature of data to be encoded in the method, so this method is considered to invalid.Adopting PCM that field data is carried out importing the field data of directed interpolater node in the Methods for Coding, and be value in the space of quaternions the key value data conversion of field data.Then, quantized key word and key value data.The field data that quantizes is with the form output of binary data.In order to measure the degree of result's distortion visually of comparing the hypercomplex number conversion with the original word segment data, described binary data is restored the key value data of forming for by turning axle and rotation angle.Store then and the field data after the recovery of output directional interpolater node on the screen.The image visual distortion level that can cause by the hypercomplex number error with the DATA REASONING after the described recovery.Image fault can be calculated with following equation (1):
D = ( &Sigma; i = 0 i < N &epsiv; i N ) 2 = ( &Sigma; i = 0 i < N Q i - Q ^ i N ) 2 &CenterDot; &CenterDot; &CenterDot; ( 1 )
In equation (1), N represents the quantity of field data, ε iPresentation code key value data Q iWith the recovery key value data in the space of quaternions Difference.
On the other hand, adopting DPCM and entropy coding that field data is carried out in the Methods for Coding, consider the association between continuous data, therefore aspect code efficiency, this method is considered to than adopting PCM to come the method for code field data more effective.In this method, the difference between key value data of restoring before calculating before quantification and the key value data to be encoded quantize this difference then, thereby the data presented characteristic has improved code efficiency in this difference by utilizing.
The block diagram that Fig. 2 A and 2B are to use the MPEG-4 PMFC scrambler of linear DPCM and entropy coding respectively and use the MPEG-4 PMFC code translator of contrary linear DPCM and entropy coding.Linear DPCM operator shown in Fig. 2 A is in order to the differential data Q between the key value data of equation (2) current key value data of calculating and recovery in the past down i
Q i = Q i - Q i - 1 ^ = ( q i , 0 - q i - 1,0 , ^ q i , 1 - q i - 1,1 ^ , q i , 2 - q i - 1,2 ^ , q i , 3 - q i - 1,3 ^ ) &CenterDot; &CenterDot; &CenterDot; ( 2 )
In equation (2), Q iBe illustrated in the original key value data of predetermined instant (t), represent by hypercomplex number; Be illustrated in the key value data of predetermined instant (t-1), restore from error compensation circuit.
But the encode employed coding method of device of key value data of being used for shown in Fig. 2 A does not have higher code efficiency.By the analysis of key Value Data, be easy to point out the shortcoming of this coding method, wherein said key value data have been determined the rotation of object in space of quaternions.These key value data are represented by the hypercomplex number in the following equation.
Q = ( cos &theta; 2 , n x | | n | | sin &theta; 2 , n y | | n | | sin &theta; 2 , n z | | n | | sin &theta; 2 ) &CenterDot; &CenterDot; &CenterDot; ( 3 )
For example, if in space of quaternions, the absolute value of the absolute value of a quaternion components and another hypercomplex number respective component is identical and symbol is different, as in equation (3), thinks that then these two hypercomplex numbers are identical.That is to say that for the rotational transform of object in three dimensions, these two hypercomplex numbers provide identical effect, the factor that this expression influences the object rotational transform is the direction and the rotation angle of turning axle, rather than the vector of this turning axle.But, it is the same among the MPEG4 BIFS to coexist, if represent the key value data with the hypercomplex number of equation (3), and by calculating the linear calculated difference of the difference in the vector between continuous key value data, then this difference is not 0, and this expression linear difference does not reflect the redundancy in the rotational transform well.Therefore, can not use the method that is used for the estimated image distortion level shown in the equation (1) to come accurate estimated image quality.
Summary of the invention
For solving above-mentioned and other problem, one aspect of the present invention provides a kind of method and apparatus, is used for fully reflecting the rotation difference that rotational transform is redundant by calculating, and the key value data of directed interpolater are encoded.
The present invention provides a kind of method and apparatus on the other hand, is used for by coding rotation difference the key value data of having encoded being deciphered.
The present invention also will provide a kind of method and apparatus that is used to generate the rotation differential data, can be used on of the present invention being used for the key value data are carried out Methods for Coding and installed.
For realizing above-mentioned and others of the present invention, provide a kind of being used for that the key value data of directed interpolater are carried out apparatus for encoding, the rotational transform of described key value data representation object in key frame.This device comprises rotation differential data maker, circulation DPCM operator and entropy coder.Described rotation differential data maker generates the rotation difference with the rotational transform value of current key frame and the recovery rotational transform value of preceding key frame, and exports the rotation differential data by quantizing this rotation difference.Be applied in the rotational transform of object described in the current key frame and be applied to by the key value data there are differences between the rotational transform of this object in preceding key frame by the key value data, described rotation difference is used for rotating the above-mentioned object value identical with this difference.Described circulation DPCM operator optionally carries out linear DPCM or circulation DPCM operation to the rotation differential data.Described entropy coder carries out entropy coding to described rotation differential data.
Described rotation differential data maker preferably includes quantizer, quantized data regulator, inverse quantizer, rotation difference restoring device and error measure unit.Described quantizer generates the rotation differential data by three component values that quantize described rotation difference.Described quantized data regulator is regulated three component values that are input to rotation differential data wherein.Described inverse quantizer re-quantization should be regulated component value.Described rotation difference restoring device restores non-quantized component value with the component value of these three re-quantizations, thereby generates the rotation difference of restoring.Described error measure unit measurement is input to the error between rotation difference in the described quantizer and the described recovery rotation difference, and output has the rotation difference of regulating component value, thereby this error is reduced to minimum.
Perhaps, described rotation differential data maker can comprise first quaternion multiplier, quantizer, inverse quantizer and second quaternion multiplier.Described first quaternion multiplier generates described rotation difference with the rotational transform value of current key frame and the recovery rotational transform value of preceding key frame.Described quantizer generates the rotation differential data by quantizing this rotation difference.Described inverse quantizer generates by this rotation differential data of re-quantization and restores the rotation difference.Described second quaternion multiplier is carried out hypercomplex number by the rotational transform value that will restore rotation difference and preceding key frame and is multiplied each other, and generates the recovery rotation difference of current key frame.
For realizing above-mentioned and others of the present invention, provide a kind of being used for that the key value data of the directed interpolater that is illustrated in the rotation of each key frame object are carried out Methods for Coding.This method comprises: (a) generate the rotation difference with the recovery rotational transform value of preceding key frame, this rotation difference is used for rotating described object and is applied to the rotational transform of object in current key frame by the key value data and is applied to the identical value of difference between the rotational transform of object in last key frame by the key value data; Generate the rotation differential data for the treatment of entropy coding by quantizing this rotation difference, and this quantification rotation difference is carried out linear DPCM or circulation DPCM operation selectively; (c) this rotation differential data is carried out entropy coding.
Step (a) preferably includes: (a1) generate described rotation difference with the rotational transform value of current key frame and the recovery rotational transform value of preceding key frame; (a2) generate the rotation differential data by quantizing this rotation difference; (a3) generate recovery rotation difference by this rotation differential data of re-quantization; (a4) carry out hypercomplex number by the rotational transform value that will restore rotation difference and preceding key frame and multiply each other, generate the recovery rotational transform value of current key frame.
Step (a) preferably includes: (a1) generate the rotation differential data by three component values that quantize the rotation difference; (a2) regulate three component values of this rotation differential data; (a3) re-quantization should be regulated component value; (a4) restore the one-component value by component value, thereby generate the rotation difference of restoring with these three re-quantizations; (a5) measure described rotation difference and the error of restoring between the rotation difference, and determine to have the rotation differential data of adjusting component value, thereby be will be by the rotation differential data of entropy coding with this error minimize.
For realizing above-mentioned and others of the present invention, a kind of device that contraposition flows to row decoding that is used for is provided, the key value data that wherein are illustrated in the directed interpolater of object rotational transform in the key frame are encoded as this bit stream.This device comprises entropy encoder, contrary circulation DPCM operator, inverse quantizer and quaternion multiplier.Described entropy encoder generates the rotation differential data of circulation DPCM or the rotation differential data of quantification by this bit stream being carried out entropy decoding.Described contrary circulation DPCM operator carries out contrary circulation DPCM operation according to DPCM the number that goes out from this bitstream interpretation to the rotation differential data from the entropy encoder input, thus the rotation differential data of generating quantification.The rotation difference that described inverse quantizer has quantized by re-quantization generates the rotation differential data, and this rotation differential data is used for rotating described object and is applied to the rotational transform of object in current key frame by the key value data and is applied to the identical value of difference between the rotational transform of object in last key frame by the key value data.Described quaternion multiplier multiplies each other by the rotational transform value after the rotation difference of current key frame and the decoding of preceding key frame is carried out hypercomplex number, generates the rotational transform value of this current key frame.
For realizing above-mentioned and others of the present invention, a kind of method that contraposition flows to row decoding that is used for is provided, the key value data that wherein are illustrated in the directed interpolater of object rotational transform in each key frame are encoded as this bit stream.This method comprises: (a) from this bit stream the key value data are carried out entropy decoding, thereby generate the rotation differential data of circulation DPCM or the rotation differential data of quantification; (b) according to DPCM time of deciphering out is several rotation differential data after the entropy decoding is carried out contrary circulation DPCM operation from this bit stream, rotate differential data thereby generate; (c) generate the rotation difference by this rotation differential data of re-quantization, this rotation difference is used for rotating the identical value of difference between the rotational transform that described object and hypercomplex number key value data by each key frame are applied to described object; (d) multiply each other by the rotational transform value after the decoding of the rotation difference of current key frame and preceding key frame is carried out hypercomplex number, generate the rotational transform value of this current key frame.
For realizing above-mentioned and others of the present invention, a kind of method that contraposition flows to row decoding that is used for is provided, the key value data that wherein are illustrated in the directed interpolater of object rotational transform in each key frame are encoded as this bit stream.This bit stream comprises rotation differential data, entropy decoding information, contrary circulation DPCM information and re-quantization position.Described rotation differential data by entropy coding, is used for rotating the identical value of difference between the rotational transform that described object and hypercomplex number key value data by each key frame are applied to described object by quantizing the rotation difference.Described entropy decoding information comprises the entropy decoding mode of expression entropy interpretation method, and this entropy interpretation method has been used in above-mentioned rotation differential data.Described contrary circulation DPCM information comprises demonstration and whether the rotation differential data of being deciphered by entropy according to the entropy decoding mode is carried out the contrary circulation DPCM number of operations that contrary circulation DPCM operates.Described re-quantization position is the former difference of rotation differential data reflex of the contrary circulation DPCM of quilt by the contrary circulation DPCM number of operations of re-quantization basis.
For realizing above-mentioned and others of the present invention, a kind of device that is used to generate the rotation differential data is provided, generate the differential data that is illustrated in the rotational transform value of object rotation in every frame.This device comprises first quaternion multiplier, quantifying unit, inverse quantization unit and second quaternion multiplier.Described first quaternion multiplier generates the rotation difference, and this rotation difference is used for rotating described object and rotational transform value by present frame and is applied to the identical value of difference between the rotational transform that the rotational transform of object in current key frame and the recovery rotational transform value by former frame be applied to object in last key frame.Described quantifying unit generates the rotation differential data by quantizing this rotation difference.Described inverse quantization unit generates by this rotation differential data of re-quantization restores the rotation difference.Described second quaternion multiplier is carried out the recovery rotational transform value that hypercomplex number multiplies each other and generates present frame by the rotational transform value that will restore rotation difference and former frame.
For realizing above-mentioned and others of the present invention, a kind of method that is used to generate the rotation differential data is provided, generate the differential data that is illustrated in the rotational transform value of object rotation in each frame.This method comprises: (a) generate the rotation difference with the rotational transform value of present frame and the recovery rotational transform value of former frame, this rotation difference is used for rotating the identical value of difference between described object and the rotational transform that is applied to object described in every frame; (b) generate the rotation differential data by quantizing this rotation difference; (c) generate recovery rotation difference by this rotation difference of re-quantization; (d) carry out the recovery rotational transform value that hypercomplex number multiplies each other and generates present frame by restoring rotation difference and former frame rotational transform value, and to the rotational transform value repeated execution of steps (a) of the recovery rotational transform value of this present frame and next frame to (d).
Description of drawings
In conjunction with preferred embodiments of the present invention will be described in detail with reference to the annexed drawings, will be illustrated more clearly in above-mentioned and others and advantage of the present invention, wherein:
Fig. 1 is according to the two-dimentional track that animation data is described in the lip-deep passage of time of three-dimensional sphere, and these data are represented by directed interpolater node;
Fig. 2 A and 2B be respectively adopt linear DPCM and entropy coding MPEG-4 PMFC scrambler block diagram and adopt contrary linear DPCM and the block diagram of the MPEG-4 PMFC code translator of entropy decoding;
Fig. 3 A be first embodiment of the invention be used for the key value data are carried out the apparatus for encoding block diagram; Fig. 3 B is the device block diagram that the key value data are deciphered of being used for of first embodiment of the invention;
Fig. 4 A is its type example that is described in the probability distribution function (PDF) in each component of rotation difference;
Fig. 4 B is the arc tangent curve of nonlinear quantization;
Fig. 5 A is the rotation differential data example of exporting from quantizer according to the preferred embodiment of the invention; Fig. 5 B describes the differential data shown in Fig. 5 A is carried out result after the linear DPCM operation; Fig. 5 C describes circulate result after the DPCM operation of differential data to the linear DPCM shown in Fig. 5 B;
Fig. 6 A describes function S the ignedAAC () example that is used for entropy coding; Fig. 6 B describes function U the naryAAC () example that is used for entropy coding;
Fig. 7 is described in the sense of rotation error that produces in the process of hypercomplex number rotational transform value being encoded with the rotation difference;
Fig. 8 A is the block diagram of the circulation DPCM operator of second embodiment of the invention; Fig. 8 B is the block diagram of the sense of rotation Error Calculator shown in Fig. 8 A;
Fig. 9 A is the process flow diagram of the circulation DPCM operation of second embodiment of the invention; Fig. 9 B is a process flow diagram of describing the sense of rotation Error Calculator shown in Fig. 9 A, sense of rotation error detector and the operation of sense of rotation corrector;
The block representation of Figure 10 A is included in the quantizer that is used for the key value data are carried out apparatus for encoding of third embodiment of the invention; Figure 10 B is the operational flowchart of this quantizer of third embodiment of the invention;
Being used for of the block representation preferred embodiment of the present invention of Figure 11 A carried out apparatus for encoding to the key value data of directed interpolater; The method that being used for of the flowcharting preferred embodiment of the present invention among Figure 11 B deciphers the key value data;
Figure 12 describes the structure that is input to the bit stream in the entropy encoder;
Figure 13 A to 13E is a block diagram of describing SDL language program example code, has realized the device that the key value data are deciphered of being used for of the present invention by these codes;
Figure 14 describes the method example that is used to measure original animation path and restores error between the animation path;
The performance that Figure 15 will be used for the inventive method that the key value data are encoded compares with the performance of the conventional method that is used for the key value data are encoded.
Embodiment
Below with reference to the accompanying drawing that shows the preferred embodiment of the present invention the present invention is described more all sidedly.
Fig. 3 A be first embodiment of the invention be used for the key value data of directed interpolater node are carried out the apparatus for encoding block diagram.According to Fig. 3 A, being used for of first embodiment of the invention carries out apparatus for encoding to the key value data of directed interpolater node and comprises rotation DPCM operator 300, circulation DPCM operator 400, entropy coder 450 and key value header encoder device 500.Rotation difference between the rotational transform value of described rotation DPCM operator 300 calculating objects in continuous key frame, quantize this rotation difference, differential data is rotated in output then, and wherein said rotational transform value is to be applied to its object separately by the hypercomplex number key value data with described key frame obtain.Rotation differential data after 400 pairs of quantifications of described circulation DPCM operator carries out linear DPCM operation and circulation DPCM operation selectively.Rotation differential data behind described entropy coder 450 pairs of rotations DPCM or the circulation DPCM carries out entropy coding.500 pairs of described key value header encoder devices required information when the coding key value data of directed interpolater node are deciphered is encoded.
Described rotation DPCM operator 300 comprises first quaternion multiplier 310, quantizer 340, inverse quantizer 350, second quaternion multiplier 370 and delayer 390.Described first quaternion multiplier 310 is by carrying out rotational transform value and its rotational transform value in preceding key frame of object in current key frame hypercomplex number and multiply each other, calculate this object in preceding key frame the rotational transform value and the rotation difference between the rotational transform value in current key frame.Described quantizer 340 generates the rotation differential data of quantification from the rotation difference of first quaternion multiplier, 310 inputs by nonlinear quantization.Described inverse quantizer 350 generates the recovery rotation differential data of described object in current key frame by the rotation differential data that has quantized being carried out re-quantization.Described second quaternion multiplier 370 is restored the rotational transform value of described object in current key frame by the rotation difference and add up the rotational transform value that described rotation differential data calculates of this object passing through in preceding key frame of described object in current key frame carried out hypercomplex number and multiplied each other.When the rotational transform value of the described object of input in next key frame, described delayer 390 outputs to the recovery rotational transform value of this object in current key frame in first quaternion multiplier 310.
To illustrate in greater detail the circulation DPCM operation of carrying out in the rotation DPCM operator of the present invention below.
In the linear DPCM method that is adopted by the MPEG-4 PMFC of routine, calculate hypercomplex number rotational transform value Q with following equation (4) 1(Q 1=(q 1,0, q 1,1, q 1,2, q 1,3)) and hypercomplex number rotational transform value Q 2(Q 2=(q 2,0, q 2,1, q 2,2, q 2,3)) between difference, wherein said hypercomplex number rotational transform value Q 1The rotational transform (or indicated object in current key frame be rotated the degree of conversion) of indicated object in current key frame, described hypercomplex number rotational transform value Q 2Represent the rotational transform of this object in next key frame.
Q linearDPCM=(q 1,0-q 2,0,q 1,1-q 2,1,q 1,2-q 2,2,q 1,3-q 2,3) ...(4)
But above-mentioned linear DPCM method is only calculated the difference between quaternion components, and this can not reflect any significant rotation difference, i.e. Shi Ji rotation difference.Therefore, this linearity DPCM method can not reduce the redundancy between continuous key value data to be encoded effectively.In addition, in this linearity DPCM method, have the peaked component except one, encode four components of hypercomplex number.Therefore, need be with regard to the other information of coding 2 bit long of this component that is not encoded, and the information of this 2 bit long is transferred to code translator from scrambler.
In order to reach the purpose that addresses the above problem with conventional linear DPCM method by the redundancy that reduces between continuous key value data, being used for of first embodiment of the invention carried out apparatus for encoding to the key value data provides circulation DPCM operation, has wherein considered actual rotation difference.
If
Figure C0215423500251
The expression base vector, this base vector indicated object reference position in current key frame, Expression is worked as key data and is equaled k I-1The time the key value data, Obtain by this object of rotational transform in current key frame
Figure C0215423500254
Displacement vector, then the rotational transform in the space of quaternions can be represented in order to following equation.
Y i - 1 = Q i - 1 &times; X 0 &times; Q i - 1 * &CenterDot; &CenterDot; &CenterDot; ( 5 )
In equation (5), X 0, Y I-1, Q I-1And Q I-1 *Expression respectively x ^ , y i - 1 , ^ ( n i - 1 ^ , &theta; i - 1 ) And Unit quaternion.In addition, Q I-1 *Expression Q I-1The hypercomplex number complex conjugate, * expression hypercomplex number multiplication.
In this way, if key data equals k i, then the rotational transform in the space of quaternions can be represented in order to following equation.
Y i = Q i &times; X 0 &times; Q i * &CenterDot; &CenterDot; &CenterDot; ( 6 )
Available following equation (7) calculates the rotation difference between the continuous rotational transform value of continuous key value data.
Y i = Q i &times; X 0 &times; Q i * = Q i &times; Q i - 1 * &times; Y i - 1 &times; Q i - 1 &times; Q i * = Q i &times; Y i - 1 &times; Q i * &CenterDot; &CenterDot; &CenterDot; ( 7 )
Therefore, can define the rotation difference by following equation of deriving by equation (5) and (6).
Q &CenterDot; = Q i &times; Q i - 1 * &CenterDot; &CenterDot; &CenterDot; ( 8 )
In order to prevent that quantization error from influencing next rotation difference, being used for of first embodiment of the invention carries out apparatus for encoding to the key value data and is used in the rotational transform value of next key frame and the recovery rotational transform value in preceding key frame Redefine rotation difference, shown in equation (9) by equation (8) definition.
Q &CenterDot; i = Q i &times; Q ^ i - 1 * &CenterDot; &CenterDot; &CenterDot; ( 9 )
Below in conjunction with Fig. 3 B describe the preferred embodiment of the present invention be used for the key value data are carried out Methods for Coding.Fig. 3 B be the preferred embodiment of the present invention be used for the key value data are carried out the Methods for Coding process flow diagram.
Being used for of first embodiment of the invention carries out apparatus for encoding to the key value data and receives DPCM number, entropy coding pattern and key value data at step S300.
Then, in step S305, first quaternion multiplier 310 receives the key value data Q that represents with hypercomplex number i, and check the key value data Q that is imported iWhether be the first key value data Q 0If the key value data Q of input iBe the first key value data Q 0, then expression does not have the hypercomplex number transformed value of accumulation to be used for the hypercomplex number multiplication.Therefore, first quaternion multiplier 310 is with the key value data Q of input iOutput in the quantizer 340.If the key value data Q of input iNot the first key value data Q 0, in step S310, first quaternion multiplier 310 is by will be at the recovery hypercomplex number transformed value in the preceding key frame
Figure C0215423500271
Complex conjugate) with the input key value data Q that represents with the hypercomplex number transformed value iHypercomplex number multiplies each other Calculate the hypercomplex number difference It is the difference between the recovery key value data of the key value data of current key frame and preceding key frame.
In step S330, quantizer 340 receives the first key value data Q from first quaternion multiplier 310 0Or hypercomplex number rotation difference Q 1, and quantize this input with the quantization of predetermined quantity.
Because all rotation hypercomplex number differences are represented by unit quaternion that respectively therefore the hypercomplex number norm (norm) of expression rotation difference is always 1.Therefore, in four components of hypercomplex number, can decipher uncoded component with other three components.According to first embodiment of the invention be used for the key value data of directed interpolater node are carried out apparatus for encoding only three of four components of hypercomplex number are encoded, to reduce data volume to be encoded.Therefore, quantizer 340 only quantizes three components to be encoded.
According to the present invention, quantizer 340 is carried out nonlinear quantization rather than general equal interval quantizing, below in conjunction with Fig. 4 A its reason is described.
Fig. 4 A is the typical case figure that is described in the probability distribution function (PDF) in each component that rotates difference.Shown in Fig. 4 A, the component value of rotation difference generally concentrates on about 0, and this is called as energy compression (energy compaction), means the redundancy that can reduce effectively between rotation information.Therefore, be to quantize the rotation difference, reflect the less component value of each rotation difference more fully, need quantize less component value more meticulously, Here it is why quantizer of the present invention 340 to carry out the reason of nonlinear quantization.At this moment, quantizer 340 adopts the arc tangent curve, so that non-linear ratio's factor is distributed to each rotation difference.
Fig. 4 B is the arc tangent curve that is used for according to quantification of the present invention.Shown in Fig. 4 B, this arc tangent curve provides appropriate resolution to big input value, provides much higher resolution to less input value.In step S330, quantizer 340 quantizes to rotate difference in order to the non-linear ratio's function shown in the following equation.
q i ~ = floor ( q i &prime; . ( 2 nQBits - 1 - 1 ) + 0.5 ) ( q i &prime; &GreaterEqual; 0 ) &CenterDot; &CenterDot; &CenterDot; ( 10 )
= - floor ( - q i &prime; &CenterDot; ( 2 nQBits - 1 ) + 0.5 ) ( q i &prime; < 0 )
( q i &prime; = 4 &pi; &CenterDot; tan - 1 ( q i . ) , i = 1,2,3 , - 1 &le; q i . &le; 1 )
At this moment, Expression is input to each component of the rotation difference in the quantizer 340, q i' expression
Figure C0215423500278
Ratio value, nQBits represents the quantization of the predetermined quantity that is used to quantize, floor (x) expression is converted to input value x the function of the maximum integer that is not more than x.
The rotation difference of 340 pairs of inputs of quantizer quantizes, the rotation differential data that check to quantize then whether with last key value data consistent to be encoded.If the rotation differential data and last the key value data consistent that quantize, then the quantizer 340 rotation differential data that will quantize outputs in the circulation DPCM operator 400.If the rotation differential data and last the key value data that quantize are inconsistent, then the quantizer 340 rotation differential data that will quantize outputs in the inverse quantizer 350.
In step S340,350 pairs of rotation differential datas from the quantification of quantizer 340 inputs of inverse quantizer carry out re-quantization, and the rotation differential data that output is restored in step S350.
As mentioned above, according to first embodiment of the invention be used for the key value data carried out apparatus for encoding quantize by three components except that first component to the hypercomplex number of expression rotation difference, thereby only these three components are encoded.A kind of inverse quantizer 1130 that is used for device that the key value data are deciphered, shown in Figure 11 A, and the component of described three codings of above-mentioned inverse quantizer 350 usefulness restore in four components of rotation difference uncoded component other.Because all rotation differences are represented by unit quaternion that respectively therefore the hypercomplex number norm of expression rotation difference is always 1.Therefore, can be in order to first component in following four components of the former rotation difference of equation reflex.
q ^ 0 = 1 - ( q ^ 1 2 + q ^ 2 2 + q ^ 3 2 ) ( q ^ 0 &GreaterEqual; 0 ) &CenterDot; &CenterDot; &CenterDot; ( 11 )
In equation (11),
Figure C0215423500282
And
Figure C0215423500283
Three of expression rotation difference are restored component, Expression is restored component with these three And First component that restores.
In order to restore first component according to equation (11) First component Must have on the occasion of, this condition can utilize the characteristics of hypercomplex number to satisfy, these characteristics occur when hypercomplex number being applied to the rotational transform of object in three dimensions, and shown in equation (12).
Y=Q×X×Q *=(-Q)×X×(-Q) * ...(12)
When equation (12) is illustrated in rotational transform is applied to object in the three dimensions, rotational transform value Q with-Q is identical in its function aspects.Therefore, according to first embodiment of the invention be used for the key value data are carried out apparatus for encoding, if the rotation difference first component have negative value, then can multiply by by each component that will rotate difference-1 and should rotate at an easy rate difference be converted on the occasion of.But except that first component, the quadratic sum of restoring each component of rotation difference may surpass 1 owing to quantization error in this case.In this case, can not determine by equation (11) And think Be near 0 and less than the value that can be quantized the minimum value that device 340 quantizes.
Figure C0215423500293
The fact with such value is represented this object about 180 degree that have been rotated conversion.Therefore, the device that the key value data are deciphered need be determined A kind of method, and first component value that reduces simultaneously to restore
Figure C0215423500295
Component value to three recoveries And Influence, this method will be applied to the inverse quantizer 350 that is used for the key value data are carried out apparatus for encoding according to first embodiment of the invention.For example, minimum value that can be quantized by quantizer 340 and the minimum value that multiply by a predetermined integers can be defined as Can be in order to equation is definite down
Figure C0215423500299
q 0 ^ = &alpha; . 2 - m &CenterDot; &CenterDot; &CenterDot; ( 13 )
In equation (113), " α " represents arbitrary constant, and m represents the quantization of predetermined quantity.
In conventional MPEG-4 BIFS PMFC method, require the information of 2 bit long of relevant each key value data to be used for decoding, and in the present invention, therefore the information that does not need this 2 bit long when N key value data are encoded, can reduce by similar 2N position to be encoded.
In step S360, will be input to second quaternion multiplier 370 from the recovery rotation difference of inverse quantizer 350 outputs, and this second quaternion multiplier 370 checks whether the key frame of input is first key frame to be encoded.If this input key frame is first key frame to be encoded, then in step S380, second quaternion multiplier 370 adds up from the recovery rotational transform value of first key frame of this inverse quantizer 350 inputs ( Q ^ 0 = Q ~ ^ ) , And accumulated value outputed in the delayer 390.
If the key frame of this input is not first key frame to be encoded, then in step S370, second quaternion multiplier 370 is by the rotation difference with current key frame
Figure C02154235002912
Recovery rotational transform value with preceding key frame
Figure C02154235002913
Carrying out hypercomplex number multiplies each other ( Q ^ i = Q ~ ^ i &times; Q i - 1 ^ ) , Restore the rotational transform value of this current key frame
Second quaternion multiplier 370 will this current key frame recovery rotational transform value Output to delayer 390, this delayer 390 should then Remain to till the rotational transform value of next key frame of input, thereby make Can with Identical, then will Output in first quaternion multiplier 310.
At rotational transform value Q with current key frame iWhen being input in first quaternion multiplier 310, in step S310, the recovery rotational transform value of key frame before first quaternion multiplier 310 also receives from delayer 390 And pass through the recovery hypercomplex number transformed value in the preceding key frame With Q iCarrying out hypercomplex number multiplies each other Rotation difference between the rotational transform value of generation current key frame and the recovery rotational transform value of preceding key frame
In step S330, the rotation difference that generates is outputed in the quantizer 340, quantize by quantizer 340 then, as mentioned above.In step S340, if rotation difference and last key value data consistent of input, then quantizer 340 will output in the circulation DPCM operator 400 by quantizing the rotation rotation differential data that difference generated.
Circulation DPCM operator 400 checks whether from the number of times of the DPCM of the quantification rotation differential data of quantizer 340 inputs be 0.In step S400, if the number of times of DPCM is 0, the rotation differential data that the DPCM operator 400 that then circulates will quantize outputs in the entropy coder 450, and does not carry out linear DPCM operation and circulation DPCM operation.If the number of times of DPCM is not 0, then in step S410, the rotation differential data of 400 pairs of these quantifications of circulation DPCM operator carries out once linear DPCM operation and the DPCM operation that once circulates.
Fig. 5 A is the exemplary plot of describing from the differential data of quantizer 340 outputs, and Fig. 5 B describes the figure as a result that the differential data from quantizer 340 outputs is carried out linear DPCM operation.
Shown in Fig. 5 B, as the result of linear DPCM operation, the scope of differential data to be encoded can increase twice than past.The purpose of the DPCM that circulates operation is in the scope of the differential data that remains on quantification of the scope with differential data.
Circulation DPCM operation be in the supposition quantizing range maximal value with carry out under minimum value is connected each other circularly.Therefore, if as to two continuous quantized datas carry out linear DPCM the result differential data greater than in this quantizing range peaked half, then can come to represent these differential datas by from differential data, deducting this maximal value with smaller value.
If differential data is less than half of the minimum value in this quantizing range, then can by with the maximal value in the quantizing range and this differential data mutually the Calais with smaller value even represent these differential datas more.
If With
Figure C0215423500304
Be illustrated respectively in two moment t continuously iAnd t I-1The time quantification rotation differential data, then according to equation (14), to two continuous quantifications rotation differential datas With Carry out linear DPCM operation.
X i = Q i ~ - Q i - 1 ~ = ( q i , 1 ~ - q i - 1,1 ~ , q i , 2 ~ - q i - 1,2 ~ , q i , 3 ~ - q i - 1,3 ~ ) T &CenterDot; &CenterDot; &CenterDot; ( 14 )
In addition, according to equation (15), to the differential data that obtains according to equation (14) the DPCM operation that circulates.
Q &cup; i = min ( | X i | , | X i &prime; | ) &CenterDot; &CenterDot; &CenterDot; ( 15 )
X i′=X i-(2 nQBits-1) (X i≥0)
X i'=X i+ (2 NQBits-1) (other)
In equation (15), nQBits represents the quantization of predetermined quantity.Fig. 5 C is the circulate figure as a result of DPCM operation of the differential data to DPCM of explanation shown in Fig. 5 B.Shown in Fig. 5 C, the differential data scope of circulation DPCM is much smaller than the differential data scope of linear DPCM.
According to the number of times of the DPCM that rotates differential data, entropy coder 450 receives the rotation differential data of rotation differential data or circulation DPCM from circulation DPCM operator 400, and the position is redundant encodes to a differential data of importing by eliminating then.
With reference to figure 3B, in step S450, entropy coder 450 is checked the entropy coding pattern again.
If this entropy coding pattern is a scale-of-two entropy coding pattern, then in step S460, entropy coder 450 usefulness function S ignedAAC () encode to the differential data of input.If this entropy coding pattern is a monobasic entropy coding pattern, then in step S470, entropy coder 450 usefulness function U naryAAC () encode to the differential data of input.
By adaptive binary arithmetic coder, with function S ignedAAC () differential data to be encoded, this scrambler that counts is gone up at each bit plane (bit plane) sign and the size of this differential data is encoded.
Fig. 6 A is the exemplary plot of explanation function SignedAAC ().According to Fig. 6 A, when input value is 74, and the figure place that requires to be used for that this input value is encoded is 8 o'clock, and the sign of this input value is 0, and represents that the binary number of this input number is 1001010.With the following methods sign and all bit planes are encoded:
The first step: on each bit plane, by from its highest significant position (Most Significant Bit, MSB) to its least significant bit (LSB) (Last Significant Bit, order LSB) is come the coding binary number;
Second step: check whether the current position that just is being encoded is 0;
The 3rd step:, then then the sign of this binary number is encoded if the current position that just is being encoded is not 0;
The 4th step: the remaining bit to this binary data is encoded.
Function U naryAAC () is converted to predetermined number of bits with value to be encoded, by a series of 0, represent zone bit 1 that this 0 series finishes and represent forming of this value sign.At this moment, 0 quantity and this value is big or small consistent.
Below in conjunction with Fig. 6 B function UnaryAAC () is described more fully.For example, be encoded to a series of position with 256, these by 256 0, represent zone bit 1 that this 0 series finishes and represent 0 of 256 signs, just form by the positive labelled notation of function U naryAAC () conversion.Owing to adopted UnaryAAC (), represent that the redundancy of the interdigit of this symbol to be encoded increases, this has improved the code efficiency to this symbol.
Below, with describe a kind of according to second embodiment of the invention be used for the key value data are carried out apparatus for encoding.This according to second embodiment of the invention be used for the key value data carried out apparatus for encoding comprise a kind of device that is used to proofread and correct the sense of rotation error that occurs during the quantification, and according to all elements that are used for the key value data are carried out apparatus for encoding of first embodiment of the invention.
Fig. 7 is the figure that is described in rotating the sense of rotation error that produces during difference is encoded to hypercomplex number rotational transform value.Because to be used for the key value data are carried out the hypercomplex number coding method that apparatus for encoding carries out be a kind of lossy coding method of the present invention, therefore produced the sense of rotation error.
In Fig. 7, if Q i, Q I-1,
Figure C0215423500321
With Represent the current rotational transform value that just is being applied to the object in the i key frame respectively, be applied to the rotational transform value of this object in preceding key frame, from Q iThe value of restoring and from Q I-1The value of restoring is then respectively by Q i, Q I-1,
Figure C0215423500323
With Position after the rotational transform of using is rotated this object can be by four different region representations, as shown in Figure 7.
In other words, if this object along the shortest arc line from Q I-1Rotate to Q iThereby, according to Q iAnd Q I-1After the rotation, this object be arranged in the zone 1 and the zone 3, then think this object by counterclockwise from Q I-1Rotate to Q iSimultaneously, if this object along shortest path from Q I-1Rotate to Q iThereby, according to Q I-1And Q iAfter the rotation, this object is arranged in zone 2 and zone 4, thinks that then this object is in the direction of the clock from Q I-1Rotate to Q i
On the other hand, if this object according to being encoded and decoded again then rotation information is rotated, then be used for device that the key value data are deciphered with respectively with Q i, Q I-1Corresponding
Figure C0215423500325
With Rotate this object.Therefore, if this object according to The rotation with respect to this object according to
Figure C0215423500328
The relative position of the position of rotation is zone 2 or 3, and then this object is rotated counterclockwise.If this object according to The rotation with respect to this object according to The relative position of the position of rotation is zone 1 or 4, and then this object turns clockwise.In zone 1 and 2, be used for the lossy coding that hypercomplex number rotational transform value is encoded is made Q owing to having adopted iWith Difference, therefore when adopting original rotational transform value, the sense of rotation of this object may be opposite with the sense of rotation of this object when adopting the rotational transform value of decoding.For addressing this problem, it is minimum that requirement is rotated this object on the opposite way round opposite with desired orientation angle reduces to, and perhaps proofreaies and correct the sense of rotation of this object on the opposite way round when this object rotates, thereby this object is rotated on the direction of expectation.In the present invention, adopt this object sense of rotation of correction so that the method that this object rotates on the direction of expectation.
Again with reference to figure 7, will simply describe below and proofread and correct the sense of rotation error by principle according to the present invention.If detect the sense of rotation error, as the phenomenon that in zone 1 and 2, takes place, then control hypercomplex number rotation difference to be encoded, so that rotate on correct direction, in this case, inconsistent on the sense of rotation can appear still in zone 2.But in zone 2 and different in 1 in the zone, the difference between the original quaternary numerical value and the quaternary numerical value of recovery is relative less.Therefore, according to a second embodiment of the present invention, only in zone 1, sense of rotation is proofreaied and correct.
Below in conjunction with Fig. 8 A to 9B describe according to second embodiment of the invention be used for the key value data are encoded, carry out the device that sense of rotation is proofreaied and correct.According to second embodiment of the invention be used for the key value data are carried out apparatus for encoding and are used for according to first embodiment of the invention that the key value data to be carried out the structure of apparatus for encoding almost completely identical.Unique difference between them is the structure of rotation DPCM operator, therefore will only describe the structure that is used for the key value data are carried out the rotation DPCM operator of apparatus for encoding according to second embodiment of the invention below.
Fig. 8 A is the block diagram according to the rotation DPCM operator 800 of second embodiment of the invention, and Fig. 8 B is the block diagram of the sense of rotation Error Calculator 820 shown in Fig. 8 A.
According to Fig. 8 A, rotation DPCM operator 800 comprises sense of rotation Error Calculator 820, sense of rotation error detector 830, sense of rotation corrector 815 and sense of rotation selector switch 835.Described sense of rotation Error Calculator 820 receives rotational transform value and this object the recovery rotational transform value in preceding key frame of object in current key frame, and calculates the sense of rotation error.Described sense of rotation error detector 830 detects whether produced the error that is enough to change this object sense of rotation in decode procedure based on the sense of rotation error from 820 inputs of sense of rotation Error Calculator.Described sense of rotation corrector 815 proofread and correct and output from the rotation difference of first quaternion multiplier, 810 inputs, thereby make this object can also be further after according to the rotational transform value rotation of the decoding of preceding key frame on original sense of rotation rotation about 180 spend.Described sense of rotation selector switch 835 is selected from the rotation difference of sense of rotation corrector 815 inputs or the rotation difference of importing from first quaternion multiplier 810 according to the value of importing from sense of rotation error detector 830, and selected value is outputed in the quantizer 840.
According to Fig. 8 B, the sense of rotation Error Calculator 820 shown in Fig. 8 A comprises delayer 822, the 3rd quaternion multiplier 824, the 4th quaternion multiplier 826 and the 5th quaternion multiplier 828.The rotational transform value of described delayer 822 storage inputs is till the rotational transform value of next key frame of input.Described the 3rd quaternion multiplier 824 receives from this input rotational transform value of this delayer 822 outputs and the rotational transform value of preceding key frame, and calculates rotation difference between this input rotational transform value and the rotational transform value of being somebody's turn to do preceding key frame by the hypercomplex number multiplication.Described the 4th quaternion multiplier 826 is calculated from the rotation difference between the recovery rotational transform value of the rotational transform value of the preceding key frame of delayer 822 outputs and preceding key frame.Described the 5th quaternion multiplier 828 is in the input rotational transform value of preceding key frame and restore between the rotational transform value and calculate.
Below, will operate in conjunction with the rotation DPCM that Fig. 9 A describes in more detail according to second embodiment of the invention.
In step S900, with the key value data Q of directed interpolater node to be encoded iBe input in the sense of rotation Error Calculator 820 of first quaternion multiplier 810 and this rotation DPCM operator 800.
In step S910, first quaternion multiplier 810 as according to first embodiment of the invention because the key value data are carried out first quaternion multiplier in the apparatus for encoding, by with the input rotational transform value of current key frame with carry out hypercomplex number from the recovery rotational transform value of the preceding key frame of second quaternion multiplier, 870 inputs and multiply each other Generate the rotation difference
Figure C0215423500342
And the rotation difference that will generate Output in sense of rotation corrector 815 and the sense of rotation selector switch 835.
Sense of rotation corrector 815 is proofreaied and correct the rotation difference that is input to wherein according to equation (16), and the rotation difference Qs that will proofread and correct outputs in the sense of rotation selector switch 835.Sense of rotation Error Calculator 820 receives the rotational transform value Q of current key frame iAnd the recovery rotational transform value of the preceding key frame of from second quaternion multiplier 870, importing And calculating rotational transform value Q A, Q BAnd Q C, this will describe afterwards.In step S920, sense of rotation error detector 830 usefulness detect whether produced the sense of rotation error from the rotation difference of sense of rotation Error Calculator 820 inputs, and testing result is outputed in the sense of rotation selector switch 835.
Q s = | &delta; T | - 1 ( q &CenterDot; R , 1 ) 2 + ( q &CenterDot; R , 2 ) 2 + ( q &CenterDot; R , 3 ) 2 q &CenterDot; R , 1 - 1 ( q &CenterDot; R , 1 ) 2 + ( q &CenterDot; R , 2 ) 2 + ( q &CenterDot; R , 3 ) 2 q &CenterDot; R , 2 - 1 ( q &CenterDot; R , 1 ) 2 + ( q &CenterDot; R , 2 ) 2 + ( q &CenterDot; R , 3 ) 2 q &CenterDot; R , 3 &CenterDot; &CenterDot; &CenterDot; ( 16 )
In equation (16), δ TExpression is very near 0 constant, and Expression is from the rotation difference of first quaternion multiplier, 810 outputs
Figure C0215423500353
To sense of rotation Error Calculator 820, sense of rotation error detector 830 and sense of rotation corrector 815 be described in conjunction with Fig. 9 B later on.
Whether sense of rotation selector switch 835 inspection has produced the sense of rotation error, thereby using when the logical value of sense of rotation error detector 830 inputs is deciphered the key value data of coding, this object is rotated on the direction opposite with desired orientation.If do not produce the sense of rotation error, then in step S930, sense of rotation selector switch 835 will output to the quantizer 840 from the rotation difference of first quaternion multiplier, 810 inputs.If produced the sense of rotation error, then in step S930, sense of rotation selector switch 835 will be exported the correction rotation difference from 815 inputs of sense of rotation corrector.
In step S940 and 950, quantization method identical in quantizer 840 usefulness and the first embodiment of the present invention quantizes original rotation differential data Or the rotation differential data Q that proofreaies and correct s
In step S960, quantizer 840 is checked the rotation differential data that quantizes
Figure C0215423500355
Whether belong to last key value data.If the rotation differential data that quantizes Corresponding with last key value data, then in step S970, the rotation differential data that quantizer 840 will quantize
Figure C0215423500357
Output in the circulation DPCM operator 400.If the rotation differential data that quantizes Not corresponding with last key value data, the quantizer 840 rotation differential data that will quantize then Output in the inverse quantizer 850.
In step S980, the inverse quantizer 850 usefulness inverse quantization method identical with the first embodiment of the present invention is to the rotation differential data of this quantification
Figure C02154235003510
Carry out re-quantization, and the rotation differential data that will restore Output in second quaternion multiplier 870.
The rotation differential data of second quaternion multiplier 870 by restoring
Figure C02154235003512
Rotational transform value with preceding key frame
Figure C02154235003513
Carry out hypercomplex number and multiply each other, generate the recovery rotational transform value of current key frame In step S990, second quaternion multiplier 870 outputs in first quaternion multiplier 810 and the sense of rotation Error Calculator 820 by the rotational transform value of delayer 890 with current key frame.
Below, the operation of sense of rotation Error Calculator 820, sense of rotation error detector 830 and sense of rotation corrector 815 will be described in conjunction with Fig. 9 B.
Sense of rotation Error Calculator 820 is calculated and zone 2 to 4 corresponding rotation differences, and this described in conjunction with Fig. 7.
In step S922, sense of rotation Error Calculator 820 receives the corresponding rotational transform value of key value data with key frame to be encoded, receives the recovery rotational transform value of the preceding preceding key frame of current crucial Ah frame, and calculates the sense of rotation error.
To be directly inputted in the 3rd quaternion multiplier 824 and the 5th quaternion multiplier 828 with the corresponding rotational transform value of key value data of the directed interpolater of current key frame, and when the rotational transform value of next key frame of input, be input in the 4th quaternion multiplier 826 by delayer 822.In addition, will be input to the 4th quaternion multiplier 826 and the 5th quaternion multiplier 828 from the recovery rotational transform value of the preceding key frame of second quaternion multiplier 870 output.
The 3rd quaternion multiplier 824 multiplies each other by the rotational transform value of the rotational transform value of current key frame and preceding key frame is carried out hypercomplex number ( Q A = Q i &times; Q i - 1 * ) , Generate rotation difference Q A, and with Q AOutput in the sense of rotation error detector 830.Rotation difference Q ABe illustrated in the time interval [t I-1, t i] during the original sense of rotation of object.
The 4th quaternion multiplier 826 multiplies each other by the recovery rotational transform value of the rotational transform value of preceding key frame and preceding key frame is carried out hypercomplex number ( Q B = Q i - 1 &times; Q ^ i - 1 * ) , Generate rotation difference Q B, and with Q BOutput in the sense of rotation error detector 830.The rotation difference Q that the 4th quaternion multiplier 826 is calculated BBe illustrated in predetermined instant t I-1The sense of rotation sum of errors sense of rotation by the object of quantization error influence, and corresponding with zone 2 shown in Figure 7.
The 5th quaternion multiplier 828 multiplies each other by the recovery rotational transform value of the rotational transform value of current key frame and preceding key frame is carried out hypercomplex number ( Q C = Q i &times; Q ^ i - 1 * ) Generate rotation difference Q C, and with Q COutput in the sense of rotation error detector 830.Rotation difference Q by 828 calculating of the 5th quaternion multiplier CExpression will be at predetermined instant t iThe rotation difference of coding, and corresponding with zone 4 shown in Figure 7.
In step S924, sense of rotation error detector 830 usefulness are from the rotation difference Q of sense of rotation Error Calculator 820 inputs A, Q BAnd Q CCheck in the process deciphered of key value data of coding this object whether with original-party in the opposite direction on rotation.For finishing this function, sense of rotation error detector 830 is checked rotation difference Q A, Q BAnd Q CWhether satisfy inequality (17) to (21).At first, sense of rotation error detector 830 is checked rotation difference Q AAnd Q CWhether satisfy inequality (17).
Figure C0215423500371
In inequality (17), if from the rotation difference Q of sense of rotation Error Calculator 820 input ABy Q A=(q A, 0, q A, 1, q A, 2, q A, 3) TExpression, then
Figure C0215423500372
Expression trivector (q A, 1, q A, 2, q A, 3) T, by Q AFour component q A, 0, q A, 1, q A, 2, q A, 3Remove the first component q A, 0The outer composition. Expression trivector (q C, 1, q C, 2, q C, 3) T, by Q CFour component q C, 0, q C, 1, q C, 2, q C, 3Remove the first component q C, 0The outer composition.Inequality (17) has shown two trivector (q A, 1, q A, 2, q A, 3) T(q C, 1, q C, 2, q C, 3) TInner product less than 0 condition.
If the inner product in this inequality (17) then adopts Q less than 0 AThe time the object sense of rotation with adopt Q CThe time sense of rotation opposite.When this inner product less than 0 the time, the value of the logical expression shown in the inequality (17) is set to " true (very) ".When this inner product greater than 0 the time, the value of this logical expression is set to " false (vacation) ".
Figure C0215423500374
In inequality (18), if from the rotation difference Q of sense of rotation Error Calculator 820 input BBy Q B=(q B, 0, q B, 1, q B, 2, q B, 3) TExpression, then
Figure C0215423500375
Expression trivector (q B, 1, q B, 2, q B, 3) T, by Q BFour component q B, 0, q B, 1, q B, 2, q B, 3Remove the first component q B, 0The outer composition. Expression trivector (q C, 1, q C, 2, q C, 3) T, by Q CFour component q C, 0, q C, 1, q C, 2, q C, 3Remove the first component q C, 0The outer composition.Inequality (18) has shown two trivector (q B, 1, q B, 2, q B, 3) T(q C, 1, q C, 2, q C, 3) TInner product less than 0 condition.
If the inner product in this inequality (18) then adopts Q less than 0 BThe time object sense of rotation with adopt Q CThe time sense of rotation opposite.When this inner product less than 0 the time, the value of the logical expression shown in the inequality (18) is set to " true ".When this inner product greater than 0 the time, the value of this logical expression is set to " false ".
A TH<2cos -1|q A,0| ...(19)
In inequality (19), q A, 0Expression rotation difference Q AFirst component, with A THBe set to predetermined constant near 0.2cos in inequality (19) -1| q A, 0| greater than A THThe time, the value of the logical expression shown in the inequality (19) is set to " true ".Work as 2cos -1| q A, 0| be not more than A THThe time, the value of this logical expression is set at " false ".When inequality (19) is set to " false ", is illustrated in realization and can ignores less than predetermined constant A when being used for that the key value data are carried out apparatus for encoding according to of the present invention THRotation angle θ (=2cos -1| q A, 0|).Even there is the sense of rotation error that approximates rotation angle θ, this sense of rotation error can not cause the image of serious distortion concerning human eye yet, particularly when using the error measurement method of being advised by the present invention.
A TH<2cos -1|q B,0| ...(20)
In inequality (20), q B, 0Expression rotation difference Q BFirst component, A THIdentical with the appropriate section in the inequality (19).2cos in inequality (20) -1| q B, 0| greater than A THThe time, the value of the logical expression shown in the inequality (20) is set to " true ".Work as 2cos -1| q B, 0| be not more than A THThe time, the value of this logical expression is set to " false ".
A TH<2cos -1|q C,0| ...(21)
In inequality (21), q C, 0Expression rotation difference Q CFirst component, A THIdentical with the appropriate section in the inequality (19).2cos in inequality (21) -1| q C, 0| greater than A THThe time, the value of the logical expression shown in the inequality (21) is set to " true ".Work as 2cos -1| q C, 0| be not more than A THThe time, the value of this logical expression is set to " false ".
The logical value of 830 pairs of inequality of sense of rotation error detector (17) to (21) is carried out once and (AND) operation, and will be somebody's turn to do with the result who operates and output in the sense of rotation selector switch 835.
At predetermined instant t, first quaternion multiplier 810 has two input value Q iWith
Figure C0215423500381
These two input value Q of first quaternion multiplier, 810 usefulness iWith Output rotation difference.As mentioned above, in zone 1, receive being used for of rotation differential data to the device that the key value data of coding the are deciphered object that turns clockwise.But this object must be from rotating by Q I-1Residing current location rotates to supposition and is rotating by Q after the shown predetermined number of degrees with respect iResiding position after the shown predetermined number of degrees with respect, so the original sense of rotation of this object must be counterclockwise.
Therefore, sense of rotation corrector 815 is proofreaied and correct the sense of rotation of these objects, thus make this object can its based on
Figure C0215423500391
The rotation equidirectional on the rotation by
Figure C0215423500392
Shown anglec of rotation size as shown in Figure 7, that is to say, thus make this object can from based on The residing current location in rotation back be rotated counterclockwise the supposition rotation by
Figure C0215423500394
Residing position after the shown anglec of rotation.
For this reason, this sense of rotation corrector 815 is set up new rotation information, so that this object is rotating from it Predetermined angular after residing current location be rotated counterclockwise about 180 the degree.Therefore, the sense of rotation of this object is corrected as identical with its original orientation, and the sense of rotation error can be reduced to minimum.In step S926, the rotation differential data that sense of rotation corrector 815 receives from the current key frame of first quaternion multiplier 810 Generation has the rotation differential data of proofreading and correct sense of rotation, and the rotation differential data that will proofread and correct outputs in the sense of rotation selector switch 835.
According to Fig. 9 A, in step S930, sense of rotation selector switch 835 checks whether from the logical value of sense of rotation error detector 830 inputs be true.If the logical value that should import is true, then in step S940, this sense of rotation selector switch 835 has determined to occur the same phenomenon of generation in the zone shown in Figure 71, and will be by the correction rotation difference Q of equation (16) definition sOutput in the quantizer 840.
On the other hand, be false if be somebody's turn to do the logical value of input, then in step S950, sense of rotation selector switch 835 determines not appear at the same phenomenon of generation in the zone 1, and will be from the rotation difference of first quaternion multiplier, 810 inputs Output in the quantizer 840.
Below, with describe a kind of according to third embodiment of the invention be used for the key value data are carried out apparatus for encoding.
Since according to the present invention first and second embodiment be used for the key value data are carried out apparatus for encoding only three components of four components of rotation difference are encoded.They may can not restore first component value of this hypercomplex number because of quantization error with equation (11).For example, restoring first component that rotates difference may be imaginary number.
For preventing owing to three problems that component is encoded and brought to hypercomplex number, according to third embodiment of the invention be used for the key value data carried out apparatus for encoding comprise quantizer, can suitably regulate the component value of three quantifications, thereby when the key value data of coding are deciphered, it is arithmetic number that another component is restored, and image fault is reduced to minimum.
Except that the structure of quantizer, according to third embodiment of the invention be used for be used for to what the key value data were carried out apparatus for encoding and first or second embodiment according to the present invention that the key value data are carried out apparatus for encoding is identical, therefore below the structure of this quantizer will only be described.
Figure 10 A is the quantizer block diagram that is used for the key value data are carried out apparatus for encoding that is included in according to third embodiment of the invention.According to Figure 10 A, quantizer 1000 comprises quantifying unit 1010, quantized data regulator 1020, inverse quantizer 1030, rotation difference restoring device 1040 and error measure unit 1050.Described quantifying unit 1010 quantizes to be input to rotation difference wherein.Described quantized data regulator 1020 is regulated the rotation difference that quantizes.The rotation differential data of 1030 pairs of quantifications of described inverse quantizer carries out re-quantization.Described rotation difference restoring device 1040 restores all component values of the former quantification rotation of the first component reflex that quantizes rotation differential data differential data by the component with re-quantization.The error between difference is rotated in difference that 1050 measurements of described error measure unit are restored and original input, and upgrades the rotation differential data that quantizes.
Figure 10 B is the operational flowchart of quantizer 1010.According to Figure 10 B, when rotating difference from the input of first quaternion multiplier The time, in step S1005, these quantizer 1010 usefulness equatioies (10) quantize the rotation difference of input And the rotation differential data that will quantize
Figure C0215423500403
Output in the quantized data regulator 1020.
In step S1010, quantized data regulator 1020 is regulated according to equation (22) and is quantized the rotation differential data Three components.
I ijk = Q ~ + D ijk , D ijk = ( i , j , k ) T (d≤i, j, k≤d i, j, k and d are integer) ... (22)
In equation (22), i, j, k are variable, and with them and the addition of rotation differential data, to regulate this rotation differential data, d is used to define the scope of i, j, k.To quantize the rotation differential data
Figure C0215423500406
Three regulate components and output in the inverse quantizer 1030.
In step S1020,1030 pairs of inverse quantizers are regulated and are quantized rotation differential data I IjkCarry out re-quantization, and with the rotation difference of re-quantization
Figure C0215423500407
(or result of re-quantization) outputs in the rotation difference restoring device 1040.
In step S1030, receive the rotation difference of re-quantization The rotation difference restoring device 1040 of three components restore first component of rotation differential data according to equation (11), and the rotation difference that will restore outputs in the error measure unit 1050.
First component value that is input to rotation difference is wherein checked in error measure unit 1050.In step S1040, if this first component value is a real number, then error measure is carried out in error measure unit 1050.On the other hand, if this first component value is an imaginary number, then this method changes step S1060 over to.
When first component of this input rotation difference is real number, in step S1050, the error e between the rotation difference that 1050 measurements of error measure unit are original and the rotation difference of recovery Ijk, in step S1050, check e IjkWhether less than regulating error e I*j*k*To e between the rotation difference of measuring original rotation difference and recovery be described in conjunction with Figure 14 later on IjkMethod.
If measuring error e IjkLess than regulating error e I*j*k*, then in step S1055, use e IjkReplace e I*j*k*, check in step S1060 then whether variable i, j, k belong to range of adjustment [d ,+d].If variable i, j, k belong to range of adjustment [d ,+d], error measure unit 1040 repeated execution of steps S1010 to S1055 then.In step S1010,, in nested recycle design, second to the 4th component of the rotation differential data that quantizes is added 1 in each cycle period of step S1010 to S1055.
For example, quantized data regulator 1020 maintenance second and three-components, by with k value and the 4th component value mutually adduction progressively increase k value above before+the d by continuously the k value being added 1 in k value simultaneously, thereby attempt to make first component of recovery to become real number, find four to regulate component values then, this can reduce to minimum with the error between the rotation difference of the rotation difference of input and recovery.
If the k value reaches+d, usefulness-d initialization k value then, with j value and three-component value mutually adduction simultaneously by with j (d≤j≤+ d) value adds 1 increases the j value, with k value and the 4th component value mutually adduction simultaneously k value above before+the d by continuously with k (d≤k≤+ d) value adds 1 progressively increases the k value, by the way, quantized data regulator 1020 attempts to make first component of this recovery to become real number value, find four to regulate component values then, this can reduce to minimum with the error between the rotation difference of the rotation difference of input and recovery.
If the j value reaches+d, then usefulness-d initialization j and k value, with i value and second component value mutually adduction simultaneously by with i (d≤i≤+ d) value adds 1 increases the i value, with j value and the addition of three-component value, with k value and the 4th component value mutually adduction simultaneously k value above before+the d by continuously with k (d≤k≤+ d) value adds 1 progressively increases the k value, by the way, quantized data regulator 1020 attempts to make first component of this recovery to become real number value, find four to regulate component values then, this can reduce to minimum with the error between the rotation difference of the rotation difference of input and recovery.
Repeat above-mentioned processing up to i, j, k reach+d till, quantized data regulator 1020 finds four to regulate component values, this can reduce to minimum with the error between the rotation difference of the rotation difference of input and recovery.
In step S1070, regulating error e is checked in error measure unit 1050 I*j*k*Whether less than final error e Gi*gj*gk*, revise second to the 4th component value simultaneously.If e I*j*k*Less than e Gi*gi*gk*, then in step S1075, use e I*j*k*Replace e Gi*gj*gk*, proofread and correct the rotation differential data that quantizes according to equation (23) simultaneously.
Q ~ * = ( q 1 ~ , q ~ 2 , q ~ 3 ) T + ( i * , j * , k * ) T &CenterDot; &CenterDot; &CenterDot; ( 23 )
After this, the rotation differential data that will proofread and correct of error measure unit 1050 outputs in the data-conditioner 1020 of quantification.
Data-conditioner 1020 variable i, j, the k value that quantize are set to-d, and to being input to rotation differential data execution in step S1010 to S1060 once more wherein.Then, whether the rotation differential data inspection of quantized data regulator 1020 usefulness input exists its error ratio littler rotation differential data of final error of storage in the past.
If regulating error e I*j*k*Be not less than final error e Gi*gj*gk*, then in step S1080, error measure unit 1050 will with the final error e of current storage Gi*gj*gk*Corresponding quantization rotation differential data Q ~ g * = Q ~ * = ( q ~ 1 * , q ~ 2 * , q ~ 3 * ) T Output in the circulation DPCM operator.
Below, will a kind of apparatus and method of deciphering of bit stream that are used for coding be described in conjunction with Figure 11 A to 12, according to the present invention, adopt to the key value data carry out apparatus for encoding with the key value digital coding in this bit stream.
Figure 11 A is the device block diagram deciphered of bit stream that is used for according to the preferred embodiment of the invention coding.According to Figure 11 A, the device deciphered of bit stream of coding is comprised key value head code translator 1170, entropy encoder 1110, contrary circulation DPCM operator 1120, inverse quantizer 1130 and quaternion multiplier 1140 according to of the present invention being used for.Desired header was deciphered when 1170 pairs in described key value head code translator was deciphered the key value data of being represented by hypercomplex number from incoming bit stream, and the header that will decipher offers key value data decoder 1100.Described entropy encoder 1110 generates the rotation differential data of circulation DPCM or the rotation differential data of quantification by from this incoming bit stream the key value data of entropy coding being carried out entropy decoding.Described contrary circulation DPCM operator 1120 is by carrying out the rotation differential data that contrary circulation DPCM operation generates quantification to the rotation differential data that is input to circulation DPCM wherein.Described inverse quantizer 1130 generates the rotation difference by the rotation differential data that quantizes is carried out re-quantization.Described quaternion multiplier 1140 is by carrying out the rotational transform value that hypercomplex number multiplies each other and generates this current key frame with the rotation difference of current key frame and the rotational transform value of preceding key frame.
Figure 11 B is used for method flow diagram that the key value data are deciphered according to the preferred embodiment of the invention.According to Figure 11 B, with bit stream, wherein have to use according to of the present invention being used for the key value data are carried out the coded key value data of apparatus for encoding, be input in the entropy encoder 1110 of key value head code translator 1170 and key value data decoder 1100.
In step S1100, desired header was deciphered when 1170 pairs in key value head code translator was deciphered the key value data from this incoming bit stream, and the header that will decipher offer crucial when deciphering desired header decipher, and the header that will decipher offers key value data decoder 1100.
In this header, the first and second inner key value data and a plurality of being used for that are quantified as hypercomplex number based on DPCM number are encoded to the zone bit that other key value data are deciphered.
If the number of times of DPCM is 1 (for example, if the nKVDPCMOrder of one of a plurality of signs is set to 0), then the first quantized key Value Data is included in this header as inner key value data.If the quaternary numerical value of the first re-quantization key value data satisfies Q ^ 0 = ( q ^ 0,0 , q ^ 0,1 , q ^ 0,2 , q ^ 0,3 ) T , Then calculate this first re-quantization key value data according to equation (24).
q ^ 0,0 = tan ( &pi; 4 * ( | firstQKV _ S | 2 nKVQBit - 1 - 1 ) ) &CenterDot; &CenterDot; &CenterDot; ( 24 )
q ^ 0,1 = tan ( &pi; 4 * ( xSign * | firstQKV _ X | 2 nKVQBit - 1 - 1 ) )
q ^ 0,2 = tan ( &pi; 4 * ( ySign * | firstQKV _ y | 2 nKVQBit - 1 - 1 ) )
q ^ 0,3 = tan ( &pi; 4 * ( zSign * | firstQKV _ Z | 2 nKVQBit - 1 - 1 ) )
In equation (24), only when the nFirstXSign among the class OrilDPCMKeyValueHeader was 1, xSign was 1, and under other condition, xSign is-1.Ysign and zSign respectively with nFirstYSign and nFirstZSign between relation identical with the relation between xSign and nFirstXSign.
To be converted to and to be used as the angular displacement of directed interpolater by the recovery quaternion components value of equation (24) definition.Each angular displacement of restoring from the key value data all can be used four-vector Expression, wherein i represents current key data, The vector of expression turning axle, Expression is rotated counterclockwise the angle.Therefore, according to equation (25) the quaternion components value of restoring is converted to angular displacement.
x ^ 0 = q ^ 0,1 * 1 sin ( &theta; ^ 0 2 ) &CenterDot; &CenterDot; &CenterDot; ( 25 )
y ^ 0 = q ^ 0,2 * 1 sin ( &theta; ^ 0 2 )
z ^ 0 = q ^ 0,3 * 1 sin ( &theta; ^ 0 2 )
&theta; ^ 0 = arccos ( q ^ 0,0 ) * 2
If the number of times of DPCM is 2, for example,, then the first and second quantized key Value Datas are included in the header if nKVDPCMOrder is set to 1.Restore this first quantized key Value Data with mode same as described above.But restore this second key value data with diverse ways.In other words, only three components of second quantized key Value Data bit stream with coding is transmitted, and its value not inner key value data, but have the difference of the first key value data ( Q ~ 1 = ( q ~ 1,1 , q ~ 1,2 , q ~ 1,3 ) ) . The hypercomplex number of supposing the second key value data of expression re-quantization key value data satisfies Q ~ ^ 1 = ( q ~ ^ 1,0 , q ~ ^ 1,1 , q ~ ^ 1,2 , q ~ ^ 1,3 ) T , Then calculate according to equation (26)
q ~ ^ 1,0 = 1 - ( q ~ ^ 1,1 2 + q ~ ^ 1,2 2 + q ~ ^ 1,3 2 ) &CenterDot; &CenterDot; &CenterDot; ( 26 )
q ~ ^ 1,1 = tan ( &pi; 4 * ( sec ondXSign * | sec ondQKV _ X | 2 nKVQBit - 1 - 1 )
q ~ ^ 1,2 = tan ( &pi; 4 * ( sec ondYSign * | sec ondQKV _ Y | 2 nKVQBit - 1 - 1 )
q ~ ^ 1,3 = tan ( &pi; 4 * ( sec ondZSign * | sec ondQKV _ Z | 2 nKVQBit - 1 - 1 )
In equation (26), only when the nSecondXSign among the class OrilDPCMKeyValueHeader was 1, secondXSign was 1, and under other condition, secondXSign is-1.SecondYsign and secondZSign respectively with nSecondYSign and nSecondZSign between relation identical with the relation between xSign and nSecondXSign.If represent the hypercomplex number of the key value data of second re-quantization Satisfy Q ^ 1 = ( q ^ 1,0 , q ^ 1,1 , q ^ 1,2 , q ^ 1,3 ) T , Then pass through
Figure C02154235004414
Multiply by Calculate In other words, Q ^ 1 = Q ~ ^ 1 &times; Q ^ 0 .
Key value head code translator 1170 outputs to the key value data of decoding and the header of decoding in the key value code translator 1100.
In step S1120 to S1128, entropy encoder 1110 receives bit stream, wherein has the differential data of the key value data of coding, and uses by the decoding information of key value head code translator 1170 decodings incoming bit stream is carried out entropy decoding.
Fig. 2 describes the structural drawing that is input to the bit stream in the entropy encoder 1110.In Figure 12, suppose the key value data volume of N (nNumberOfKeyValue) presentation code, when the number of times of DPCM is 0, the rotation differential data amount that is included in each component in the bit stream be N-1 (0,1 ..., nNumberOfKeyValue-2).When the number of times of DPCM is 1, the rotation differential data amount that is included in each component in this bit stream be N-2 (0,1 ..., nNumberOfKeyValue-3).
In step S1120, x_keyvalue_flag, y_keyvalue_flag and z_eyvalue_flag that entropy encoder 1110 receives from key value head code translator 1170, and check whether x_keyvalue_flag, y_keyvalue_flag and z_keyvalue_flag all are set to 1.
When x_keyvalue_flag, y_keyvalue_flag and z_keyvalue_flag all are set to 0, think that all differential datas of the key value data of all quantifications or each component are identical with nAllKeyValues among the class OrilKeyValueCodingBit.Therefore, in step S1122, entropy encoder 1110 with the key value data decoding of each component is and the identical value of importing from key value head code translator 1170 of nAllKeyValues, and the key value data of decoding is outputed in the contrary circulation DPCM operator 1120.
If x_keyvalue_flag, y_keyvalue_flag and z_keyvalue_flag are set at 0, for example, if x_keyvalue_flag, y_keyvalue_flag and z_keyvalue_flag are set to 1, then in step S1124, entropy encoder 1110 checks from the entropy decoding mode of key value head code translator 1170 inputs, so that to each components of the key value data of input ( Q &OverBar; i = ( q &OverBar; i , 1 , q &OverBar; i , 2 , q &OverBar; i , 3 ) ) Decipher.
When the entropy decoding mode is the binary decoding pattern, in step S1126, entropy encoder 1110 usefulness function d ecodeSignedAAC () as shown in table 1 deciphers the bit stream of adaptive arithmetic code, and the rotation differential data that will quantize outputs in the contrary circulation DPCM operator 1120.
Table 1
void?decodeSignedAAC(int*nDecodedValue,int?qstep,Qstate* signContext,Qstate*valueContext{ int?b; b=qstep-2; int?msb=0; do { qf_decode(&msb,&valueContext[b]); msb=msb<<b; b--; }while(msb==0&&b>=0); int?sgn=0; int?rest=0; if(msb!=0){ qf_decode(&sgn,signContext); while(b>=0){ int?temp=0 qf_decode(&temp,&valueContext[b]); rest|=(temp<<b); b--; } } if(sgn) *nDecodedValue=-(msb+rest); else *nDecodedValue=(msb+rest); }
On the other hand, when the entropy decoding mode was not the binary decoding pattern, then in step S1128, entropy encoder 1110 usefulness function d ecodeUnaryAAC () deciphered the bit stream of input.By reading 0 continuously up to from this bit stream, reading till 1, quantity with continuous 0 is converted to its absolute value, read the next bit of position " 1 ", and this position is converted to sign bits, function d ecodeUnaryAAC () deciphers this incoming bit stream, and the rotation differential data that will quantize then outputs in the contrary circulation DPCM operator 1120.Table 2 shows the example of function d ecodeUnaryAAC ().
Table 2
void?decodeUnaryAAC(int*nDecodedValue,Qstate* SignContext,QState*valueContext) { int?nBits=-1; bit?bBit; do{ qf_decode(&bBit,valueContext); nBits++; }while(bBit==0); if(nBits!=0){ qf_decode(&bBit,signContext); if(bBit==0) *nDecodedValue=nBits; else *nDecodeValue=-nBits; } else *nDecodedValue=0; }
The function qf_decode () that adopts in above-mentioned function d ecodeSignedAAC () and decodeUnaryAAC () is used to read position 1 from the bit stream of adaptive arithmetic code, and the document ISO/IEC 14496-2:1999 Coding of Audio-Visual Object:Visual definition of having been authorized by International Standards Organization.
Contrary circulation DPCM operator 1120 receives the key value data of entropy decoding from entropy encoder 1110, and checks from DPCM number of key value head code translator 1170 inputs.If the number of times of DPCM is 0, then in step S1130, the rotation differential data that contrary circulation DPCM operator 1120 will be deciphered Output in the inverse quantizer 1130, because the key value data of deciphering from the entropy of entropy encoder 1110 inputs are the rotation differential datas that quantize.
On the other hand, if the number of times of DPCM is 1, then in step S1135, carry out contrary circulation DPCM operation, because the key value data of deciphering from the entropy of entropy encoder 1110 inputs are rotation differential datas of circulation DPCM against circulation DPCM operator 1120.
Suppose that nKVQBit represents the re-quantization position, then in step S1135, contrary circulation DPCM operator 1120 usefulness equatioies (27) are to the rotation differential data Carry out contrary circulation DPCM operation, and the Cycle Difference divided data of generating quantification
Figure C0215423500483
Q &cup; i - 2 &prime; = Q &cup; i - 2 - ( 2 nKVQBits - 1 ) ( Q &cup; i &GreaterEqual; 0 ) &CenterDot; &CenterDot; &CenterDot; ( 27 )
Q &cup; i - 2 &prime; = Q &cup; i - 2 + ( 2 nKVQBits - 1 ) ( Q &cup; i < 0 )
(i=2,…nNumberOfKeyValue-1)
After this, contrary circulation DPCM operator 1120 is used respectively With
Figure C0215423500487
Obtain the value A of contrary DPCM and the value B of contrary DPCM, shown in equation (28).
A = Q &cup; i - 2 + Q &OverBar; i - 1 &CenterDot; &CenterDot; &CenterDot; ( 28 )
A = Q &cup; i - 2 &prime; + Q ~ i - 1
(i=2,…,nNumberOfKeyValue-1)
If B+ (2 NKVQBit-1-1) 0 and quantizing range in maximal value between, the DPCM operator 1120 that then circulates with B as contrary circulation DPCM data
Figure C02154235004810
Output.On the other hand, if B+ (2 NKVQBit-1-1) less than 0 or greater than the maximal value in this quantizing range, then contrary circulation DPCM operator 1120 with A as
Figure C02154235004811
Output.
Table 3 shows the example of C++ program code, has wherein write out the aforesaid operations of contrary circulation DPCM operator 1120.
Table 3
ICDPCM(int*curIDPCMKeyValue,int?deltaKeyValue,int ?prevICDPCMKeyValue) { int?circularDelta; int?tempIDPCMKeyValue; prevICDPCMKeyValue+=((1<<(nKVQBit))-1); if((deltaKeyValue>=0.0) circularDelta=deltaKeyValue-((1<<nKVQBit)-1); else circularDelta=deltaKeyValue+((1<<nKVQBit)-1); tempIDPCMKeyValue=circularDelta+prevICDPCMKeyValue; if((tempIDPCMKeyValue>=0.0&& (tempIDPCMKeyValue<((1<<nKVQBit)-1))) *curIDPCMKeyValue=tempIDPCMKeyValue; else *curIDPCMKeyValue=deltaKeyValue+ prevICDPCMKeyValue; *curIDPCMKeyValue=((1<<nKVQBit))-1); }
In step S1140, inverse quantizer 1130 receives the quantification rotation differential data that is generated by the contrary circulation DPCM operator 1120 of carrying out contrary circulation DPCM operation ( Q ~ i = ( q ~ i , 1 , q ~ i , 2 , q ~ i , 3 ) ) , By The last operation with equation (29) execution one re-quantization restored a rotation difference ( Q ~ ^ = ( q ~ ^ i , 0 , q ~ ^ i , 1 , q ~ ^ i , 2 , q ~ ^ i , 3 ) T ) , And should rotate difference Output in the quaternion multiplier 1140.
q ~ ^ 1,0 = 1 - ( q ~ ^ f , 1 2 + q ~ ^ f , 2 2 + q ~ ^ f , 3 2 ) &CenterDot; &CenterDot; &CenterDot; ( 29 )
q ~ ^ i , j = tan ( &pi; 4 * ( sgn ( q &OverBar; i , j ) * | q ~ i , j | 2 nKVQBit - 1 - 1 )
(i=2,…,nNumberOfKeyValue-1,j=1,2,3)
After this, quaternion multiplier 1140 receives the rotation difference In step S1154, the rotation difference of quaternion multiplier 1140 by importing According to the rotational transform value of equation (30) with preceding key frame Carry out hypercomplex number and multiply each other, restore the rotational transform value of current key frame
Figure C0215423500506
(wherein Q ^ i = ( q ^ i , 0 , q ^ i , 1 , q ^ i , 2 , q ^ i , 3 ) T ) .
Q ^ i = Q ~ ^ i &times; Q ^ i - 1 &CenterDot; &CenterDot; &CenterDot; ( 30 )
(i=2,…nNumberOfKeyValue-1)
In step S1156, after restoring the rotational transform value, key value data decoder 1100 checks that whether the rotational transform value of this recovery is corresponding to last key value data.If the rotational transform value of this recovery does not correspond to last key value data, key value data decoder 1100 repeated execution of steps S1140 to S1154 then.On the other hand, if the rotational transform value of this recovery is the rotational transform value of last key value data, then in step S1158, key value data decoder 1100 is with the rotational transform value output of restoring.
If the number of times of DPCM is 0, the quantification rotation differential data that contrary circulation DPCM operator 1120 will be deciphered (wherein Q &cup; i = q &cup; i , 1 , q &cup; i , 2 , q &cup; i , 3 ) ) Output in the inverse quantizer 1130.Then, in step S1140, by rotation differential data to importing from contrary circulation DPCM operator 1120 Carry out re-quantization, generate the rotation difference (wherein Q ~ ^ i = ( q ~ ^ i , 0 , q ~ ^ i , 1 , q ~ ^ i , 2 , q ~ ^ i , 3 ) T ) , And will Output in the quaternion multiplier 1140.
q ~ ^ 1 , 0 = 1 - ( q ~ ^ i , 1 2 + q ~ ^ i , 2 2 + q ~ ^ i , 3 2 ) &CenterDot; &CenterDot; &CenterDot; ( 31 )
q ~ ^ i , j = tan ( &pi; 4 * ( sgn ( q &cup; i - 1 , j ) * | q &cup; i - 1 , j | 2 nKVQBit - 1 - 1 )
(i=1,…,nNumberOfKeyValue-1,j=1,2,3)
Even the number of times of DPCM is 0, quaternion multiplier 1140 will not be that 0 o'clock mode (step S1150 to S1158) is much at one restored the rotational transform value with the number of times of DPCM.When the number of times of DPCM was not 0, quaternion multiplier 1140 was carried out the hypercomplex number multiplication according to equation (32).
Q ^ i = Q ~ ^ i &times; Q ^ i - 1 &CenterDot; &CenterDot; &CenterDot; ( 32 )
(i=1,…nNumberOfKeyValue-1)
Figure 13 A to 13E is an exemplary plot of describing SDL language program code, has wherein realized according to the device that the key value data are deciphered of being used for of the present invention.Below, will be described in the implication of each variable shown in Figure 13 A to 13E.
Figure 13 A is the figure that describes class CompressedOrientationInterpolator.CompressedOrientationInterpolator is the highest class that is used to read the coding stream of directed interpolater.OrilKeyValueHeader and OrilDPCMKeyValue are the classes of information that is used for the corresponding key value data of key value field data of relevant and the directed interpolater of routine.Function qf_start () is used for initialization arithmetic decoder before the bit stream that reads the key value data with coding.
Figure 13 B is the figure that describes class OrilKeyValueHeader.The implication that is used in each variable in such is as follows.NKVQBit represents the re-quantization position size of key value data.NNumKeyValueCodingBit represents the key value data volume.NKVDPCMOrder represents to be used for the number of times of contrary DPCM operation that the key value data are deciphered.When nKVDPCMOrder=0, do not need to carry out contrary circulation DPCM operation.On the other hand, when nKVDPCMOrder=1, should carry out contrary circulation DPCM operation.
Figure 13 C is the figure that describes class OriDPCMKeyValueHeader.The implication that is used in each variable in such is as follows.FirstQKV_S, firstQKV_X, firstQKV_Y and firstQKV_Z represent first value of four component s, x, y and z respectively, constitute hypercomplex number (s, x, y, z) the key value data of expression quantification.NfirstXSign, nfirstYSign and nfirstZSign represent the sign of firstQKV_X, firstQKV_Y and firstQKV_Z respectively.SecondQKV_X, secondQKV_Y and secondQKV_Z represent second value of three component x, y and z respectively, and nsecondXSign, nsecondYSign and nsecondZSign represent the sign of secondQKV_X, secondQKV_Y and secondQKV_Z respectively.BlsMoreTwoKVs is illustrated in whether plural key value data to be decoded are arranged in the time of should carrying out against circulation DPCM.X_keyvalue_flag, y_keyvalue_flag and z_keyvalue_flag represent whether all quantized values of each component x, y and z are identical.
Figure 13 D is the figure that describes class OrilKeyValueCodingBit.The implication that is used in each variable in such is as follows.NKVCodingBit represents to be used for the figure place of each component of all the hypercomplex number key value data of storage except that inner key value data (firstQKV_S in class OrilDPCMKeyValueHeader, firstQKV_X, firstQKV_Y, firstQKV_Z, secondQKV_X, secondQKV_Y and secondQKV_Z).
NAllKeyValue represents the quantized value of each component of all key value data when the keyvalue_flag that is used for each component is set to 0.NSign represents the sign of nAllKeyValue.BlsUnaryAAC represents to be used for self-adaptation arithmetic quantization method that the quantized value of each component x, y and z is deciphered.If blsUnaryAAC is set to " true ", then use unaryAAC decoding function.On the other hand, if blsUnaryAAC is set to " false ", then use binaryAAC decoding function.
Figure 13 E is the figure that describes class OrilDPCMKeyValue.The implication that is used in each variable in such is as follows.Come to comprise the key value data of the quantification of three component x, y and z with the form storage of hypercomplex number with DeltaKeyValue.The key value data that are stored in the quantification among the DeltaKeyValue are deciphered from bit stream with function d ecodeUnaryAAC or decodeSignedAAC.
KVXSignContext, kVYSignContext, kVZSignContext are the linguistic context that is used for when using function d ecodeUnaryAAC or decodeSignedAAC that three component x, the y of DeltaKeyValue and z are deciphered.
KVXUnaryContext, kVYUnaryContext, kVZUnaryContext are used for the linguistic context deciphered at three component x, the y and the z that use function d ecodeUnaryAAC to DeltaKeyValue.
KVXContext, kVYContext, kVZContext are used for the linguistic context deciphered at three component x, the y and the z that use function d ecodeedAAC to DeltaKeyValue.
Below, with describe according to the original rotation difference of the measurement of third embodiment of the invention with by in the error measure unit 1050 that comprises at quantizer 1000 the rotation difference of quantification being carried out the method for the error between rotation difference that re-quantization restores.
According to the present invention, this method of measuring original rotation difference and restoring error between the rotation difference can also be used to measure before the coding directed interpolater key value data with by the key value data of encoding being deciphered the error between these orientation interpolater key value data that obtain.Therefore, in following description according to error measurement method of the present invention, original rotation difference and the rotation difference of recovery will be respectively with coding before original key value data with corresponding by the key value data of coding are deciphered the key value data that obtain.
In the process that the key value data of directed interpolater are encoded, can between the key value data of original key value data and recovery, produce error during the quantification.At this moment, the error between the key value data of these original key value data and this recovery is to define by the rotation angle that obtains with these original key value data and by the difference between the rotation angle of this recovery key value data acquisition.
In other words, suppose that the key value data and its recovery key value data in code translator that are included in the directed interpolater node are called
Figure C0215423500531
With Wherein The expression turning axle, θ represents rotation angle and satisfies θ ∈ [π, π], and by rotational transform, the object in three dimensions respectively based on
Figure C0215423500534
With From the optional position
Figure C0215423500536
Move to the optional position With from
Figure C0215423500538
Move to the optional position Then quantization error is
Figure C02154235005310
With
Figure C02154235005311
Between difference, and satisfy e &RightArrow; ( x &RightArrow; ) = y &RightArrow; - y &RightArrow; ^ , Represent with the hypercomplex number form
Figure C02154235005313
With Shown in equation (33).
X = ( 0 , x &RightArrow; ) , Y = ( 0 , y &RightArrow; ) , Y ^ = ( 0 , y &RightArrow; ^ ) &CenterDot; &CenterDot; &CenterDot; ( 33 )
Work as expression
Figure C02154235005316
With Hypercomplex number be called Q and The time, can derive following equation.
Y=Q×X×Q * …(34)
X=Q *×Y×Q
At this moment, A * B represents the hypercomplex number multiplication, and A *The conjugation of expression A.Based on equation (33) and (34), can derive following equation.
Y ^ = Q ^ &times; X &times; Q ^ * = Q ^ &times; Q * &times; Y &times; Q &times; Q ^ * = Q error &times; Y &times; Q error * &CenterDot; &CenterDot; &CenterDot; ( 35 )
At this moment, Q ErrorIt is expression
Figure C02154235005320
With Between relation aspect rotational transform, and by following equation definition.
Q error = Q ^ &times; Q * &CenterDot; &CenterDot; &CenterDot; ( 36 )
When With Between the difference rotation angle be called θ ErrorThe time, can obtain θ with hypercomplex number transformation for mula and equation (36) Errpr
&theta; error = 2 cos - 1 q 0 , error = 2 cos - 1 ( Q ^ &CenterDot; Q ) , &theta; error &Element; [ 0 , &pi; ] &CenterDot; &CenterDot; &CenterDot; ( 37 )
At this moment, expression inner product operation.Equation (37) is defined in predetermined instant and appears at instantaneous quantization error in all animation key frames, can be by the instantaneous quantization error of following equation definition predetermined instant (t), so that derive the formula that is used for obtaining in whole animation quantization error at interval from equation (37).
e ( t ) = 2 arccos { Q ( t ) &CenterDot; Q ^ ( t ) } &CenterDot; &CenterDot; &CenterDot; ( 38 )
By formula (38) is applied to whole key frame interval in large quantities, can derive average error E mAnd maximum error E p,, carry out animation with directed interpolater in this interim.
At this moment, in order to obtain average error E m, must at first obtain the time interval [t I-1, t i] in the part and the E of error m i, as shown in figure 14.Below, with original key value data Q I-1And Q iThe key value data of corresponding decoding will be called With
Because animation path distortion can occur in three dimensions, therefore must be with the time interval [t I-1, t i] must be divided into two sons [t at interval I-1, t i "] and [t I-1 ", t i], and this two sub calculating that must be separated from each other at interval.At this moment, suppose between two animation paths, i.e. one group of Q iBe worth and one group Distance between value is at interval [t I-1, t i] t i" reduce to minimum.Calculate at t in order to following equation I-1And t iThe time transient error.
e i - 1 = 2 arccos ( Q &prime; i - 1 &CenterDot; Q ^ i - 1 ) &CenterDot; &CenterDot; &CenterDot; ( 39 )
e i = 2 arccos ( Q &prime; i &CenterDot; Q ^ i )
In addition, [t at interval I-1, t i] in t i" with Proportional, shown in equation (40).
t i &prime; &prime; = t i - 1 + e i - 1 e i - 1 + e i ( t i - t i - 1 ) &CenterDot; &CenterDot; &CenterDot; ( 40 )
With quaternary numerical value in the middle of equation (41) calculating and at t i" time transient error.
Q i &prime; &prime; = SLERP ( Q i - 1 , Q i , t i &prime; &prime; - t i - 1 t i - t i - 1 ) &CenterDot; &CenterDot; &CenterDot; ( 41 )
Q ^ i &prime; &prime; = SLERP ( Q ^ i - 1 , Q ^ i , t i &prime; &prime; - t i - 1 t i - t i - 1 )
e i &prime; &prime; = 2 &CenterDot; arccos ( Q i &prime; &prime; &CenterDot; Q ^ i &prime; &prime; )
But, obtain a transient error of (t) at any time with following equation (42).
e ( t ) = 2 &CenterDot; arccos ( Q ( t ) &CenterDot; Q ^ ( t ) ) &CenterDot; &CenterDot; &CenterDot; ( 42 )
At this moment, Q ( t ) = SLERP ( Q i - 1 , Q i , t - t i - 1 t i - t i - 1 ) And Q ^ ( t ) = SLERP ( Q ^ i - 1 , Q ^ i , t - t i - 1 t i - t i - 1 ) . But, calculate at any time the transient error e of (t) (t) and be not easy.Therefore, use the linear-apporximation shown in the method for approximation (43) to determine e (t).
Figure C0215423500551
Also can obtain the time interval [t with method of approximation (43) and (44) I-1, t i] in the part and the E of error m iAnd the time interval [t I-1, t i] in the part and the E of maximum error p i
Method of approximation (45) can rearrange as follows.
At last, with following method of approximation (46) interval computing time [t Min, t Max] in average error E mAnd maximum error E p
E m &cong; 1 t max - t min &Sigma; i E m i &CenterDot; &CenterDot; &CenterDot; ( 46 )
E p &cong; max i E p i
Therefore, a third embodiment in accordance with the invention, error measure unit 1050 usefulness equatioies (37) in the quantizer 1000 calculate the error between original key value data and recovery key value data, and can measure the degree of the image fault that causes owing to quantization error in space of quaternions more accurately.
Figure 15 carries out Methods for Coding and the performance map that is used for the conventional method that the key value data are encoded is compared to the key value data of the present invention being used for.As shown in figure 15, the key value data are carried out Methods for Coding according to of the present invention being used for, when the required pre-determined bit quantity of given coding, compare, can reduce the degree of image fault greatly with the MPEG-4 BIFS PMFC method of routine.
The present invention can realize with the computer-readable code that writes on the computer readable recording medium storing program for performing.Here, comprise can be by the recording medium of any kind of of computer system reads for computer readable recording medium storing program for performing.For example, this computer readable recording medium storing program for performing comprises ROM, RAM, CD-ROM, tape, floppy disk, optical data storage and carrier wave (by the Internet transmission).This computer readable recording medium storing program for performing can be distributed in the computer system that connects by network, calculate function and read this recording medium with dispersing mode.
Although the present invention describes with reference to its preferred embodiment, it should be appreciated by those skilled in the art, under the situation that does not break away from the spirit and scope of the present invention that are defined by the following claims, can carry out the various changes of form and details to it.
According to the present invention, be used for the key value data of directed interpolater are encoded and the method deciphered can effectively reduce redundancy between continuous key value data to be encoded by the rotation difference of the difference between the rotational transform value of expression key frame is encoded.
In addition, according to the present invention, by the sense of rotation of direct calibration object, can prevent since quantization error and with object restore for original-party in the opposite direction on rotation.
In addition, because in the present invention, in four components of the hypercomplex number that constitutes expression key value data, only second to the 4th component with relative smaller value is encoded, and restore first component with this second to the 4th component, thereby regulate second to the 4th component recovery of first component is real number, can reduces the required size of data of coding greatly.

Claims (74)

1. one kind is used for the key value data of directed interpolater of the object rotational transform of expression key frame are carried out apparatus for encoding, comprising:
Rotation differential data maker, utilize the rotational transform value of current key frame and the recovery rotational transform value of last key frame to generate the rotation difference, this rotation difference is used for rotating described object and is applied to the rotational transform of object in the current key frame by the key value data and is applied to the identical value of difference between the rotational transform of object in the last key frame by the key value data, and exports the rotation differential data by quantizing this rotation difference;
Entropy coder carries out entropy coding to this rotation differential data.
2. device as claimed in claim 1, wherein, described rotation differential data maker by with the rotational transform value of described current key frame and described before the conjugation of recovery rotational transform value of key frame carry out hypercomplex number and multiply each other and generate described rotation difference.
3. device as claimed in claim 1, wherein, described rotation differential data maker is carried out nonlinear quantization, by this operation, can will have the area quantization of less rotation difference for to have bigger resolution than the zone with bigger rotation difference.
4. device as claimed in claim 1, wherein, described rotation differential data maker is regulated the component value of described rotation differential data, is real number thereby can restore by the not quantized components value that the quantized components value that re-quantization rotates differential data will be rotated differential data.
5. device as claimed in claim 4, wherein, described rotation differential data maker by the variable in the predetermined adjustment scope being increased to described rotation differential data each quantized components value or described rotation differential data respectively regulate component value, perhaps generate described rotation differential data from each the quantized components value of described rotation differential data or the variable that deducts the component value in the predetermined adjustment scope of respectively regulating of described rotation differential data.
6. device as claimed in claim 1, wherein, described rotation differential data maker comprises:
Quantizer generates the rotation differential data by three component values that quantize described rotation difference;
The quantized data regulator is regulated three component values that are input to rotation differential data wherein;
Inverse quantizer carries out re-quantization to this adjusting component value;
Rotation difference restoring device restores non-quantized component value with the component value of these three re-quantizations, and therefore generates the rotation difference of recovery;
The error between the rotation difference be input in the described quantizer and described recovery rotation difference is measured in the error measure unit, and output has the rotation differential data of regulating component value, thereby this error can be reduced to minimum.
7. device as claimed in claim 6, wherein, if described error current is less than described regulating error, the error current that then described error measure unit by using is input between described rotation difference in the described quantizer and described recovery rotation difference upgrades regulating error, if described regulating error is less than final error, then upgrade final error, and will output in the described quantized data regulator with the corresponding described adjusting rotation differential data of described regulating error with described regulating error.
8. device as claimed in claim 1, wherein, described rotation differential data maker comprises:
First quaternion multiplier generates described rotation difference with the rotational transform value of described current key frame and the recovery rotational transform value of described preceding key frame;
Quantizer generates the rotation differential data by quantizing this rotation difference;
Inverse quantizer generates the rotation difference of recovery by this rotation differential data of re-quantization;
Second quaternion multiplier, by the rotation difference that will restore and described before the rotational transform value of key frame carry out the recovery rotation difference that hypercomplex number multiplies each other and generates described current key frame.
9. device as claimed in claim 8, wherein, described quantizer only quantizes three component values in first to fourth component value of the described rotation difference represented by hypercomplex number.
10. device as claimed in claim 1, wherein, described rotation differential data maker generate described current key frame the rotational transform value and described before the first rotation difference between the rotational transform value of key frame, the second rotation difference before described between the recovery rotational transform value of the rotational transform value of key frame and described preceding key frame, and the 3rd rotation difference between the recovery rotational transform value of the rotational transform value of described current key frame and described preceding key frame, and detect the sense of rotation error whether to have occurred, with cause this object with original-party in the opposite direction on rotation.
11. device as claimed in claim 10, wherein, when the sense of rotation of the described object that obtains from the described first rotation difference opposite with sense of rotation from this object of described the 3rd rotation difference acquisition, the sense of rotation of this object that obtains from the second rotation difference is opposite with sense of rotation from this object of described the 3rd rotation difference acquisition, and from first to the 3rd rotation angle that obtain of rotation difference when surpassing predetermined critical rotation angle, described rotation differential data maker determines to have occurred described sense of rotation error.
12. device as claimed in claim 1, wherein, described rotation differential data maker comprises:
The sense of rotation error detector, detect the sense of rotation error whether occurred based on the rotational transform value of described current key frame and the recovery rotational transform value of described preceding key frame, opposite with the original sense of rotation that causes described object with the sense of rotation of its decoding;
The sense of rotation corrector is regulated described rotation difference, thereby makes the sense of rotation of decoding of described object identical with its original sense of rotation;
The sense of rotation selector switch according to the testing result from the input of described sense of rotation error detector, is chosen as differential data to be quantified with described rotation difference or from the rotation difference of described sense of rotation corrector input.
13. device as claimed in claim 12, wherein, described rotation differential data maker further comprises quantifying unit, quantizes the difference by described sense of rotation selector switch selection, and exports the difference of this quantification, and this quantifying unit comprises:
Quantizer, three component values that are input to rotation difference wherein by quantification generate the rotation differential data;
The quantized data regulator is regulated three component values that are input to rotation differential data wherein;
Inverse quantizer, re-quantization should be regulated component value;
Rotation difference restoring device restores non-quantized component value by the component value with these three re-quantizations, generates the rotation difference of recovery;
The error measure unit is measured the rotation difference be input in the described quantifying unit and this recovery and is rotated error between difference, and exports the rotation differential data of adjusting based on this measuring error.
14. device as claimed in claim 13, wherein, the quantized data regulator is by being increased to the variable in the predetermined adjustment scope from each quantized components value of the rotation differential data of described quantizer input or respectively regulating component value, perhaps respectively regulating component value or generate and regulate the rotation differential data from the variable that deducts the component value in the predetermined adjustment scope of respectively regulating of the rotation differential data of described error measure unit input from the rotation differential data of described error measure unit input from the rotation differential data of described error measure unit input.
15. device as claimed in claim 13, wherein, the error current that described error measure unit by using is input between the rotation difference of described rotation difference in the described quantizer and described recovery upgrades regulating error, if this current error is less than this regulating error; If this regulating error less than final error, is then upgraded this final error with this regulating error, and will output in the described quantized data regulator with the corresponding described adjusting rotation differential data of this regulating error.
16. device as claimed in claim 1, further comprise circulation DPCM operator, by described rotation differential data being carried out linear DPCM operation and then differential data and the maximal value in the quantizing range of this linearity DPCM being carried out scheduled operation, generate the differential data that its size is reduced, wherein, described entropy coder carries out entropy coding to the rotation differential data of circulation DPCM.
17. device as claimed in claim 16, wherein, described circulation DPCM operator is exported the differential data of described linear DPCM and the smaller between the peaked difference in described linear DPCM differential data and the described quantizing range.
18. device as claimed in claim 16, wherein, described rotation differential data maker comprises:
First quaternion multiplier generates described rotation difference with the rotational transform value of current key frame and the recovery rotational transform value of preceding key frame;
Quantizer generates the rotation differential data by quantizing this rotation difference;
Inverse quantizer generates the rotation difference of recovery by this rotation differential data of re-quantization;
Second quaternion multiplier, by the rotation difference that will restore and described before the rotational transform value of key frame carry out the recovery rotation difference that hypercomplex number multiplies each other and generates described current key frame.
19. device as claimed in claim 1, wherein, described entropy coder is encoded to first Serial No. with rotation differential data to be encoded, its quantity and this rotation differential data to be encoded big or small corresponding, and second numeral that is used to represent a bit of this first Serial No. end.
20. device as claimed in claim 1, wherein, described entropy coder is encoded to rotation differential data to be encoded on each bit plane.
21. one kind is used for the device that contraposition flows to row decoding, will represent that wherein the key value digital coding of the directed interpolater of the object rotational transform in the key frame is this bit stream, this device comprises:
Entropy encoder generates the rotation differential data of circulation DPCM or the rotation differential data of quantification by this bit stream being carried out entropy decoding;
Contrary circulation DPCM operator is according to DPCM number from this bitstream interpretation, by the rotation differential data from described entropy encoder input being carried out the rotation differential data that contrary circulation DPCM operation generates quantification;
Inverse quantizer, generate the rotation differential data by the rotation differential data that quantizes is carried out re-quantization, this rotation differential data is used for rotating described object and is applied to the rotational transform of object in the current key frame by the key value data and is applied to the identical value of difference between the rotational transform of object in the last key frame by the key value data; With
Quaternion multiplier is by carrying out the rotational transform value that hypercomplex number multiplies each other and generates this current key frame with the rotational transform value of the decoding of the rotation difference of current key frame and preceding key frame.
22. device as claimed in claim 21, wherein, if the key value sign of deciphering from described bit stream shows each component of all key frame differential datas and all has identical value that then described entropy encoder all is decoded as the predetermined value of deciphering with each component of described key frame key value data from described bit stream.
23. device as claimed in claim 21, wherein, described contrary circulation DPCM operator carries out the Cycle Difference divided data that scheduled operation generates contrary circulation DPCM by rotation differential data and the maximal value in this rotation differential data quantizing range to described circulation DPCM.
24. device as claimed in claim 21, wherein, described inverse quantizer by the re-quantization unit quaternion three component values and utilize the component value of these three recoveries to restore another component value, generate the rotation difference.
25. a device that is used to generate the rotation differential data, the differential data that it generates the rotational transform value of object rotation in the every frame of expression comprises:
First quaternion multiplier, generate the rotation difference, this rotation difference is used for rotating described object and rotational transform value by current key frame and is applied to the identical value of difference between rotational transform that the rotational transform of object in this current key frame and the rotational transform value by last key frame be applied to object in this last key frame;
Quantifying unit generates the rotation differential data by quantizing this rotation difference;
Inverse quantization unit generates the rotation difference of recovery by this rotation differential data of re-quantization; With
Second quaternion multiplier is carried out the rotational transform value that hypercomplex number multiplies each other and generates recovery by the rotation difference that will restore and the rotational transform value of described former frame.
26. device as claimed in claim 25, wherein, described first quaternion multiplier multiplies each other and generates the rotation difference by the conjugation of the recovery rotational transform value of the rotational transform value of described present frame and described former frame being carried out hypercomplex number.
27. device as claimed in claim 25, wherein, described quantifying unit is carried out nonlinear quantization, by this operation, can will have the area quantization of less rotation difference for to have bigger resolution than the zone with bigger rotation difference.
28. device as claimed in claim 25, wherein, described quantifying unit only quantizes three components in first to fourth component of the described rotation difference represented by hypercomplex number.
29. device as claimed in claim 25, wherein, described quantifying unit is regulated the component of described rotation differential data, thereby the also non-quantized rotation difference component value that rotates the recovery of differential data component value with this can be converted to real number, and exports the adjusting component of this rotation differential data.
30. device as claimed in claim 29, wherein, described quantifying unit by the variable in the predetermined adjustment scope being increased to described rotation differential data each quantized components or described rotation differential data respectively regulate component, perhaps generate final rotation differential data from each quantized components of described rotation differential data or from the variable that deducts the component in the predetermined adjustment scope of respectively regulating of described rotation differential data.
31. device as claimed in claim 25, wherein, described quantifying unit comprises:
Quantizer, three components that are input to rotation difference wherein by quantification generate the rotation differential data;
The quantized data regulator is regulated three component values that are input to rotation differential data wherein;
Inverse quantizer, re-quantization should be regulated component value;
Rotation difference restoring device, the component value by these three re-quantizations restores the component value that is not quantized, thereby generates the rotation difference of restoring;
The error between the rotation difference be input in the described quantifying unit and described recovery rotation difference is measured in the error measure unit, and output has the rotation differential data of regulating component, thereby this error can be reduced to minimum.
32. device as claimed in claim 31, wherein, the error current that described error measure unit rotates between difference with the described rotation difference and the described recovery that are input in the described quantifying unit upgrades regulating error, if this current error is less than this regulating error; If this regulating error less than final error, is then upgraded this final error with this regulating error, and will with this regulating error regulate accordingly the rotation differential data output in the described quantized data regulator.
33. device as claimed in claim 25, wherein, described inverse quantizer carries out re-quantization to the component value that quantizes, and restores non-quantized component value with the component value of this re-quantization.
34. device as claimed in claim 25, further comprise the sense of rotation error detector, generate the first rotation difference between the rotational transform value of the rotational transform value of described present frame and described former frame, the rotational transform value of described former frame and from the second rotation difference between the recovery rotational transform value of the described former frame of described second quaternion multiplier input, and the rotation of the 3rd between the recovery rotational transform value of the rotational transform value of described present frame and described former frame difference, and detect the sense of rotation error whether occurred.
35. device as claimed in claim 34, wherein, when the sense of rotation of the described object that obtains from the described first rotation difference opposite with sense of rotation from the described object of described the 3rd rotation difference acquisition, the sense of rotation of the described object that obtains from the second rotation difference is opposite with sense of rotation from the described object of described the 3rd rotation difference acquisition, and from first to the 3rd rotation angle that obtain of rotation difference when surpassing predetermined critical rotation angle, described sense of rotation error detector determines to have occurred described sense of rotation error.
36. device as claimed in claim 25 further comprises:
The sense of rotation error detector, receive the rotational transform value of described present frame and the recovery rotational transform value of described former frame from described second quaternion multiplier, and detect the sense of rotation error whether occurred, so that the original sense of rotation of described object is opposite with the sense of rotation of its decoding;
The sense of rotation corrector is regulated from the described rotation difference of described first quaternion multiplier input, thereby can be made the original sense of rotation of described object identical with the sense of rotation of its decoding, and exports adjusted rotation difference;
The sense of rotation selector switch, according to the testing result of in described sense of rotation error detector, carrying out, will output to the described quantifying unit from the described rotation difference of described first quaternion multiplier input or from the adjusting rotation difference that described sense of rotation corrector is imported.
37. device as claimed in claim 36, wherein, described quantifying unit comprises:
Quantizer, three component values that are input to rotation difference wherein by quantification generate the rotation differential data;
The quantized data regulator is regulated three component values that are input to rotation differential data wherein;
Inverse quantizer, re-quantization should be regulated component value;
Rotation difference restoring device, the component value by these three re-quantizations restores non-quantized component value, thereby generates the rotation difference of restoring;
The error measure unit is measured the rotation difference that is input in the described quantifying unit and is restored the error of rotating between difference, and export the rotation differential data with adjusting component value, thereby this error is reduced to minimum.
38. one kind is used for the key value data of representing the directed interpolater that each key frame object rotates are carried out Methods for Coding, comprises:
(a) generate the rotation difference of restoring, this rotation difference is used for rotating described object and is applied to the rotational transform of object in the current key frame by the key value data and is applied to the identical value of difference between the rotational transform of object in the last key frame by the key value data, generate the rotation differential data for the treatment of entropy coding by quantizing this rotation difference, and (c) this rotation differential data is carried out entropy coding.
39. method as claimed in claim 38, wherein in step (a), by with the described rotational transform value of described current key frame and described before the described recovery rotational transform value of key frame carry out hypercomplex number and multiply each other and generate described rotation difference.
40. method as claimed in claim 38 wherein in step (a), is carried out nonlinear quantization, thereby can will be had the area quantization of less rotation difference for to have bigger resolution than the zone with bigger rotation difference.
41. method as claimed in claim 38 wherein in step (a), is regulated the component value of described rotation differential data, thereby the non-quantized rotation difference component value that the quantized components of rotating differential data by re-quantization can be restored is converted to real number.
42. method as claimed in claim 41, wherein in step (a), each quantized components value by the variable in the predetermined adjustment scope being increased to described rotation differential data or described rotation differential data respectively regulate component value, perhaps generate the described rotation differential data for the treatment of entropy coding from each the quantized components value of described rotation differential data or the variable that deducts the component value in the predetermined adjustment scope of respectively regulating of described rotation differential data.
43. method as claimed in claim 38, wherein step (a) comprising:
(a1) generate the rotation differential data by three component values that quantize described rotation difference;
(a2) regulate three component values of this rotation differential data;
(a3) re-quantization should be regulated component value;
(a4) restore the rotation difference that the one-component value generates recovery by component value with these three re-quantizations;
(a5) error between described rotation difference of measurement and described recovery rotation difference, and determine to have the rotation differential data of regulating component value, thus can with this error minimize the rotation differential data for the treatment of entropy coding.
44. method as claimed in claim 43, wherein step (a5) comprising:
(a51) upgrade regulating error with the error current between described rotation difference and described recovery rotation difference, if this current error is less than this regulating error;
(a52) repeated execution of steps (a2) is to (a51), up to adding to or surpassing described predetermined adjustment scope from the variable that described rotation difference deducts;
(a53) if this regulating error less than final error, then upgrade this final error with this regulating error, rotate differential data execution in step (a2) to (a52) to regulating accordingly, and will regulate the rotation differential data that the rotation differential data is defined as treating entropy coding accordingly with described final error with described regulating error.
45. method as claimed in claim 38, wherein step (a) comprising:
(a1) generate described rotation difference with the rotational transform value of described current key frame and the recovery rotational transform value of described preceding key frame;
(a2) generate the rotation differential data by quantizing this rotation difference;
(a3) generate the rotation difference of recovery by this rotation differential data of re-quantization;
(a4) by the rotation difference that will restore and described before the rotational transform value of key frame carry out the recovery rotational transform value that hypercomplex number multiplies each other and generates described current key frame.
46. method as claimed in claim 38 wherein in step (a2), only quantizes three components in first to fourth component of the described rotation difference represented by hypercomplex number.
47. method as claimed in claim 38, wherein in step (a), generate described current key frame the rotational transform value and described before the first rotation difference between the rotational transform value of key frame, the second rotation difference before described between the recovery rotational transform value of the rotational transform value of key frame and described preceding key frame, and the 3rd rotation difference between the recovery rotational transform value of the rotational transform value of described current key frame and described preceding key frame, and detect the decoding sense of rotation sense of rotation error opposite that described object whether occurred causing with its original sense of rotation.
48. method as claimed in claim 47, wherein in step (a), when the sense of rotation of the described object that obtains from the described first rotation difference with opposite from the sense of rotation of described the 3rd rotation difference acquisition, the sense of rotation of the described object that obtains from the second rotation difference is with opposite from the sense of rotation of described the 3rd rotation difference acquisition, and from first to the 3rd rotation angle that obtain of rotation difference when surpassing predetermined critical rotation angle, determine to have occurred described sense of rotation error.
49. method as claimed in claim 38, wherein step (a) comprising:
(a1) detect the sense of rotation error whether occurred according to the rotational transform value of described current key frame and the recovery rotational transform value of described preceding key frame, opposite with the original sense of rotation that causes described object with the sense of rotation of its decoding;
(a2) regulate this rotation difference, thereby can make the original sense of rotation of described object identical with the sense of rotation of its decoding;
(a3), select the described adjusting in this rotation difference or the step (a2) to rotate difference as differential data to be quantified according to the testing result of carrying out in the step (a1).
50. method as claimed in claim 49, wherein step (a) further comprises the described rotation difference of selecting in (a4) quantization step (a3), and step (a4) comprising:
(a41) three component values by rotation difference that quantize to select generate the rotation differential data;
(a42) regulate three quantized components values of this rotation differential data;
(a43) re-quantization should be regulated component value;
(a44) restore non-quantized component value by component value, generate the rotation difference of recovery with these three re-quantizations;
(a45) error between difference is rotated in the described rotation difference of measurement and this recovery, and upgrades the rotation differential data for the treatment of entropy coding based on this error.
51. method as claimed in claim 50, wherein in step (a42), each component value of the rotation differential data that upgrades in each component value by the variable in the predetermined adjustment scope being increased to the described rotation differential data that generates in the step (a41) or the step (a45) perhaps deducts three components that the interior variable of predetermined adjustment scope is regulated described rotation differential data in each component value of the rotation differential data that upgrades in each component value of the described rotation differential data that generates or the step (a45) from step (a41).
52. method as claimed in claim 50, wherein step (a45) comprising:
(a451) upgrade regulating error with the error current between described rotation difference and described recovery rotation difference, if this current error is less than this regulating error;
(a452) repeated execution of steps (a42) is to (a451), till the variable that adds to or deduct from described rotation difference surpasses described predetermined adjustment scope;
(a453) if this regulating error less than final error, then upgrade this final error with this regulating error, rotate differential data execution in step (a42) to (a452) to regulating accordingly, and will regulate the rotation differential data that the rotation differential data is defined as treating entropy coding accordingly with this final error with this regulating error.
53. method as claimed in claim 38, comprise that further (c) is by carrying out linear DPCM operation to described rotation differential data, and to the differential data of described linear DPCM and step (a) and the maximal value in the quantizing range (c) carry out scheduled operation and generate the differential data that its size is reduced, wherein in step (c), the differential data that its size in step (b) is reduced carries out entropy coding.
54. method as claimed in claim 53 wherein in step (b), is exported differential data and the differential data of described linear DPCM and the smaller between the described peaked difference in the described quantizing range of described linear DPCM.
55. method as claimed in claim 53, wherein step (a) comprising:
(a1) utilize the rotational transform value of described current key frame and the recovery rotational transform value of described preceding key frame to generate described rotation difference;
(a2) generate the rotation differential data by quantizing this rotation difference;
(a3) generate the rotation difference of recovery by this rotation differential data of re-quantization;
(a4) by the rotation difference that will restore and described before the rotational transform value of key frame carry out the recovery rotational transform value that hypercomplex number multiplies each other and generates described current key frame.
56. method as claimed in claim 38 wherein in step (c), will be rotated differential data and be encoded to first Serial No., its quantity is big or small corresponding with the rotation differential data, and represents a bit second numeral that this first Serial No. finishes.
57. method as claimed in claim 38 wherein in step (c), is encoded to the rotation differential data on each bit plane.
58. one kind is used for the method that contraposition flows to row decoding, represents that wherein the key value data of the directed interpolater of object rotation in each key frame are encoded as this bit stream, this method comprises:
(a) by generating the rotation differential data of circulation DPCM or the rotation differential data of quantification from these bit stream entropy decoding key value data;
(b), generate the rotation differential data by the rotation differential data of entropy decoding being carried out contrary circulation DPCM operation according to DPCM number from this bitstream interpretation;
(c) generate the rotation difference by this rotation differential data of re-quantization, the rotation difference is used for rotating the identical value of difference between the rotational transform that described object and hypercomplex number key value data by each key frame are applied to described object;
(d) by the rotation difference of current key frame and the decoding rotational transform value of preceding key frame are carried out the rotational transform value that hypercomplex number multiplies each other and generates this current key frame.
59. method as claimed in claim 58, wherein in step (a), if show that from the key tag of described bitstream interpretation each component of the differential data of all key frames has identical value, then each component of the key value data of described each key frame all is interpreted as the predetermined value from described bitstream interpretation.
60. method as claimed in claim 58, wherein in step (b), generate and have extended rotation differential data by the maximal value in the quantizing range of the rotation differential data of circulation DPCM and described rotation differential data being carried out contrary circulation DPCM operation.
61. method as claimed in claim 58, wherein in step (c), restore three component values of rotation difference and restore the one-component value by the described rotation differential data of re-quantization, generate the rotation difference that this is represented by unit quaternion with the component value of these three recoveries.
62. a method that is used to generate the rotation differential data generates the differential data of representing the rotational transform value of object rotation in every frame, this method comprises:
(a) generate the rotation difference with the rotational transform value of present frame and the recovery rotational transform value of former frame, this rotation difference is used for rotating the identical value of difference between described object and the rotational transform that is applied to object described in every frame;
(b) generate the rotation differential data by quantizing this rotation difference;
(c) generate the rotation difference of recovery by this rotation difference of re-quantization;
(d) carry out the recovery rotational transform value that hypercomplex number multiplies each other and generates present frame by the rotation difference that will restore and the rotational transform value of former frame, and to the rotational transform value of the recovery rotational transform value of described present frame and next frame once more execution in step (a) to (d).
63. method as claimed in claim 62 wherein in step (a), multiplies each other and generates the rotation difference by gripping altogether of the recovery rotational transform value of the rotational transform value of described present frame and described former frame being carried out hypercomplex number.
64. method as claimed in claim 62 wherein in step (b), is carried out nonlinear quantization, thereby can will be had the area quantization of less rotation difference for to have bigger resolution than the zone with bigger rotation difference.
65. method as claimed in claim 62 wherein in step (b), only quantizes three component values in first to fourth component value of the described rotation difference represented by hypercomplex number.
66. method as claimed in claim 62 wherein in step (b), is regulated the quantized components value of described rotation differential data, thereby the not quantized components value recovery that can will rotate difference by the component value of the described rotation differential data of re-quantization is real number.
67. as the described method of claim 66, wherein in step (b), each quantized components value by the variable in the predetermined adjustment scope being increased to described rotation differential data or described rotation differential data respectively regulate component value, perhaps the variable that component value deducts in the predetermined adjustment scope of respectively regulating from each the quantized components value of described rotation differential data or described rotation differential data generates final rotation differential data.
68. method as claimed in claim 62, wherein step (b) comprising:
(b1) generate the rotation differential data by three component values that quantize described rotation difference;
(b2) regulate three component values of this rotation differential data;
(b3) re-quantization should be regulated component value;
(b4) restore non-quantized component value by component value, generate the rotation difference of recovery with these three re-quantizations;
(b5) error between the described rotation difference of measurement and this recovery rotation difference, and output has the rotation differential data of regulating component value, thereby this error can be reduced to minimum.
69. as the described method of claim 68, wherein (b5) comprising:
(b51) upgrade regulating error with the error current between described rotation difference and described recovery rotation difference, if this current error is less than this regulating error;
(b52) repeated execution of steps (b2) is to (b51), adds in step (b2) or surpasses described predetermined adjustment scope from the variable that described rotation difference deducts;
(b53) if this regulating error less than final error, then upgrade this final error with this regulating error, to with this regulating error regulate accordingly the rotation differential data execution in step (b2) to (b52), and output and this final error regulate the rotation differential data accordingly.
70. method as claimed in claim 62 wherein in step (c), is restored the component value of non-quantized rotation difference by the described rotation differential data of re-quantization.
71. method as claimed in claim 62, wherein step (a) comprises that further first between the rotational transform value of (a2) rotational transform value by generating described present frame and described former frame rotate difference, between the rotational transform value of described former frame and the rotational transform value of its recovery second rotation difference, and the rotation of the 3rd between the recovery rotational transform value of the rotational transform value of described present frame and described former frame difference detects the sense of rotation error.
72. as the described method of claim 71, wherein in step (a2), when the sense of rotation of the described object that obtains from the described first rotation difference opposite with sense of rotation from the described object of described the 3rd rotation difference acquisition, the sense of rotation of the described object that obtains from the second rotation difference is opposite with sense of rotation from the described object of described the 3rd rotation difference acquisition, and from first to the 3rd rotation angle that obtain of rotation difference when surpassing predetermined critical rotation angle, determine to have occurred described sense of rotation error.
73. a method that is used to generate the rotation differential data generates the differential data of representing the rotational transform value of object rotation in every frame, this method comprises:
(a) the recovery rotational transform value with the rotational transform value of present frame and former frame generates the rotation difference, and this rotation difference is used for rotating the identical value of difference between described object and the rotational transform that is applied to object described in every frame;
(b) according to the rotational transform value of described present frame and the recovery rotational transform value of described former frame, detect the sense of rotation error whether occurred, opposite with the original sense of rotation that causes described object with the sense of rotation of its decoding;
(c) the rotation difference that generates in the regulating step (a), thus make the original sense of rotation of described object identical with the sense of rotation of its decoding;
(d), be chosen in the maybe rotation difference of this adjusting of the middle rotation difference that generates of step (a) according to the testing result of carrying out in the step (b);
(e) generate the rotation differential data by quantizing selected rotation difference;
(f) generate the rotation difference of recovery by this rotation differential data of re-quantization;
(g) carry out the recovery rotational transform value that hypercomplex number multiplies each other and generates described present frame by the rotation difference that will restore and the rotational transform value of described former frame.
74. as the described method of claim 73, wherein step (e) comprising:
(e1) generate the rotation differential data by three component values that quantize selected rotation difference;
(e2) regulate three component values of this rotation differential data;
(e3) re-quantization should be regulated component value;
(e4) restore non-quantized component value by component value, generate the rotation difference of restoring with these three re-quantizations;
(e5) error between selected rotation difference of measurement and described recovery rotation difference, and output has the rotation differential data of regulating component value, thereby this error is reduced to minimum.
CN02154235.XA 2001-11-27 2002-11-27 Coding and decoding method and device for key value data to directed interprolator node Expired - Fee Related CN1206613C (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US33313001P 2001-11-27 2001-11-27
US60/333,130 2001-11-27
US33454101P 2001-12-03 2001-12-03
US60/334,541 2001-12-03
US34210101P 2001-12-26 2001-12-26
US60/342,101 2001-12-26
US36959702P 2002-04-04 2002-04-04
US60/369,597 2002-04-04
KR1020020070496A KR100537500B1 (en) 2001-11-27 2002-11-13 Encoding/decoding method and apparatus for key value of orientation interpolator node
KR70496/2002 2002-11-13

Publications (2)

Publication Number Publication Date
CN1428745A CN1428745A (en) 2003-07-09
CN1206613C true CN1206613C (en) 2005-06-15

Family

ID=27532388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02154235.XA Expired - Fee Related CN1206613C (en) 2001-11-27 2002-11-27 Coding and decoding method and device for key value data to directed interprolator node

Country Status (3)

Country Link
EP (1) EP1322120B1 (en)
JP (1) JP4205426B2 (en)
CN (1) CN1206613C (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101563729B1 (en) * 2008-10-10 2015-10-27 삼성전자주식회사 Apparatus and method for processing image to generate high resolution image
WO2013010315A1 (en) * 2011-07-18 2013-01-24 Technicolor (China) Technology Co., Ltd. Method and device for encoding rotational data, corresponding decoding method and device and storage medium carrying encoded rotational data
CN103823398B (en) * 2014-03-12 2017-01-04 上海沪工焊接集团股份有限公司 Rotary encoder adjustment control method and device
CN117934474B (en) * 2024-03-22 2024-06-11 自贡市第一人民医院 Gastrointestinal microscopy image enhancement processing method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075901A (en) 1998-12-04 2000-06-13 France Telecom Method and system for predictive encoding of arrays of data
US6693645B2 (en) 1999-12-01 2004-02-17 Ivast, Inc. Optimized BIFS encoder

Also Published As

Publication number Publication date
JP2004007393A (en) 2004-01-08
JP4205426B2 (en) 2009-01-07
CN1428745A (en) 2003-07-09
EP1322120B1 (en) 2011-03-30
EP1322120A3 (en) 2005-06-01
EP1322120A2 (en) 2003-06-25

Similar Documents

Publication Publication Date Title
CN1277239C (en) Method and device for coding and decoding oriented internal inserter
CN1315331C (en) Video signal converter, video signal conversion method and video service system
CN1268135C (en) Method, device and recording medium for encoding, and method, device and recording medium for decoding
CN1379366A (en) Image processing device and method
CN1145360C (en) Image coding and decoding by means of mapping coefficient corresponded to pecture element block classification information
CN1188957A (en) Vector quantization method and speech encoding method and apparatus
CN1515077A (en) Digital map shape vector encoding method and position information transfer method
CN1596547A (en) Moving picture coding apparatus, moving picture decoding apparatus, moving picture coding method, moving picture decoding method, program, and computer-readable recording medium containing the program
CN1197252C (en) Image coding and decoding by using conversion coefficient of grade information of corresponding image element block
CN1804902A (en) Data processing device
CN101059957A (en) An audio coding selective cryptographic method
CN1969559A (en) Moving image encoder and moving image decoder, and its method and program
CN1226039A (en) Exponential calculation device and decoding device
CN1198462C (en) Coding device for directional interpolator node and its method
CN1114126A (en) Device and method for encoding image
CN1206613C (en) Coding and decoding method and device for key value data to directed interprolator node
CN1158876C (en) Method and apparatus for digital image decoding
CN1741392A (en) The method and apparatus that data are encoded and deciphered
CN1163076C (en) Picture coding device, picture coding method, picture decoding device, picture decoding method, and recording medium
CN1926768A (en) Signal processing device and method, signal processing program, and recording medium where the program is recorded
CN1433164A (en) Data encoding and decoding method and device
CN1545683A (en) Data converting device and method, learning device and method, and program and recording medium
CN1838723A (en) Decoding device, distribution estimation method, decoding method and programs thereof
CN1839550A (en) Method of decoding variable length prefix codes
CN1293757C (en) Device and method for data conversion, device and method for learning, and recording medium

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: 20050615

Termination date: 20151127