CN102790880A - Hybrid variable length coding method and apparatus for video compression - Google Patents

Hybrid variable length coding method and apparatus for video compression Download PDF

Info

Publication number
CN102790880A
CN102790880A CN 201210244557 CN201210244557A CN102790880A CN 102790880 A CN102790880 A CN 102790880A CN 201210244557 CN201210244557 CN 201210244557 CN 201210244557 A CN201210244557 A CN 201210244557A CN 102790880 A CN102790880 A CN 102790880A
Authority
CN
China
Prior art keywords
amplitude
zero
coefficient
area
incident
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201210244557
Other languages
Chinese (zh)
Other versions
CN102790880B (en
Inventor
陈文雄
吴方
格雷戈里·D·佩尔同
约翰·A·杜贝斯
达夫·罗森费尔德
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 US10/869,229 external-priority patent/US7454076B2/en
Priority claimed from US10/910,712 external-priority patent/US7454073B2/en
Priority claimed from US10/922,508 external-priority patent/US7471840B2/en
Priority claimed from US10/922,507 external-priority patent/US7492956B2/en
Priority claimed from US11/069,621 external-priority patent/US7499595B2/en
Priority claimed from US11/069,622 external-priority patent/US7499596B2/en
Priority claimed from US11/069,620 external-priority patent/US7471841B2/en
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN102790880A publication Critical patent/CN102790880A/en
Publication of CN102790880B publication Critical patent/CN102790880B/en
Application granted granted Critical
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a hybrid variable length coding method and apparatus for video compression. The method is used for variable length coding an ordered series of digital signals, (e.g., of quantized transform coefficients of a block of image data with a most likely-to-occur amplitude, (e.g., 0), and at least one other amplitude, (e.g., 1)), to form a set of codewords. The method includes establishing a breakpoint (301) along the ordering to define a first contiguous region and a second contiguous region, such that clusters of consecutive signals of any value other than the most likely-to-occur value occur mostly in the first contiguous region. The method includes encoding the signals in the first region using a first region encoding method (303) suitable for encoding clusters; and encoding the signals in the second region using a second region encoding method (305). The first region and second region encoding methods include variable length codes such that relatively short codewords are formed to represent relatively more likely-to-occur sequences.

Description

The method and apparatus that is used for the hybrid variable length coding of video compression
The application is that the denomination of invention submitted on June 8th, 2005 is the dividing an application of patent application of 200580019457.6 (PCT/US2005/020110) for " hybrid variable length coding that is used for video compression ", application number.
Technical field
The present invention relates to be used for the method and apparatus of the hybrid variable length coding of video compression.
Background technology
Two-dimensional variable length coding (2D-VLC) comprises to be collected or the statistical information of hypothesis two-dimensional block conversion coefficient incident, and wherein each incident is then another amplitude of the distance of swimming (run) back of the amplitude that occurs of most probable (for example 0).Coding is included as each incident and distributes variable-length codes (variable length code), the for example optimum code such as Huffman code or arithmetic code.In this manual, 0 be assumed to be the amplitude that most probable occurs.Collection or as if statistics information comprise the number of the amplitude and the zero valued coefficients before the non-zero magnitude of the nonzero-value coefficient that tracking is quantized; Promptly follow the tracks of any non-zero magnitude zero run length (runlength) before along specified path, said specified path for example is the Z font scanning pattern to coefficient block (for example 8 * 8 or 16 * 16 coefficient block).Following form 1 shows the statistical information that is made into two-dimension table through example:
Form 1:2D-VLC statistical information
Figure BSA00000749427800021
In this table, S IjBe likelihood (1ikelihood), this likelihood for example be represented as the distance of swimming that appears at j 0 (j=0,1,2 ...) afterwards amplitude i (i=1,2 ...) and the relative degree that occurs.
Then, for example the variable-length codes of optimum code is assigned to and has above S IjEach incident, wherein the element that occurs of most probable (in transition coding to the situation of conversion coefficient block encoding S10 normally) have minimum figure place, and the incident of minimum appearance uses the longest figure place to encode.Following form 2 shows the example of 2D-VLC form:
Form 2:2D-VLC code
Figure BSA00000749427800022
Wherein, C IjBe to be used to being that amplitude is the code word that the incident of combination of the nonzero coefficient of i is encoded after j continuous 0 value coefficient, j=0,1 ... and i=1,2 ....
2D-VLC is used in the common transform coding method, and for example JPEG, MPEG1, MPEG2, ITU-T-261 etc. are described below.For sport video, image is divided into a plurality of, for example 8 * 8 or 16 * 16 piece.Each image is identified as interframe or I picture.Inter frame image will pass through motion compensation usually.Image block is by conversion, and conversion coefficient is quantized.Then, the conversion coefficient after quantizing is encoded along specified path according to the 2D-VLC form.Usually, interframe has different 2D-VLC forms with I picture.The DC composition normally is encoded separately.In addition, the 2D-VLC form can be deleted letter and makes the incident that the most seldom occurs use escape code heel fixed length code to represent.When all remaining coefficients all are zero, use the end of special-purpose " EOB " sign indicating number indicator collet.
Rest image is encoded similarly, for example, and according to the mode identical with the I picture of sport video.
Fig. 1 shows and how to use table lookup to realize the 2D-VLC scheme.Before table lookup, run length and this non-zero magnitude of the zero amplitude before any non-zero magnitude are determined.For those incidents that possibly occur of using variable length code to encode, table lookup uses the 2D form.For the less relatively combination of possibility that occurs, use escape code to combine fixed length code.
The advantage of 2D-VLC is all to be used as by the position of each nonzero-value coefficient of run length indication and the range value that is quantized a pair ofly utilizes a 2D-VLC form to encode simultaneously.Can obtain short code like this, promptly with to each nonzero-value coefficient and its amplitude use independent VLC form to compare, the figure place that this code uses is less.
Because being widely used of image encoding authorized the multi-form a lot of patents about VLC.The United States Patent (USP) 4,698,672 that for example licensed to Wen-hsiung Chen (one of inventor of the present invention) on October 6th, 1987 has been described a kind of form of two-dimensional variable length coding method.
Known multiple expansion and variant to common 2D-VLC method.For example, ITU H.263 compression standard has defined a this variant, and this variant is called as three-dimensional VLC (3D-VLC) sometimes.Referring to the denomination of invention of announcing on September 16th, 1993 be the PCT patent announcement WO 9318616 of " PICTURE DATA ENCODING METHOD ", also can be referring to ITU-T standard H.263.In 3D-VLC, each symbol (" incident ") all is tlv triple (LAST, RUN, LEVEL), and it comprises: LAST; Indicate whether current non-zero magnitude value is the binary marks of last nonzero coefficient in the piece; RUN, the run length of the zero valued coefficients before current non-zero magnitude, the zero number that promptly begins from a last nonzero coefficient amplitude; And LEVEL, the range value of promptly current nonzero coefficient.Therefore, do not need independent EOB code word; Whether nonzero coefficient is that last coefficient is comprised in the incident.
Fig. 2 shows and how to use table lookup to realize 3D-VLC.
The shortcoming of 2D-VLC is that each nonzero-value coefficient all need be attached the run length code and identified its position, and this run length code is taked the form at the number of preceding zero valued coefficients.
In block-based transition coding; The inventor notices zone of common existence; For example trend towards forming the low frequency region of the ordering of trooping mostly, that is, have several continuous nonzero-value coefficient usually along the low frequency region of predefined paths along nonzero-value coefficient.This phenomenon especially possibly appear in intraframe coding and the high bit rate interframe encode.Each coefficient in several so continuous nonzero-value coefficient all need be represented the code word of the similar number of position and amplitude.In other words, 2D-VLC needs independent run length code, for example C10, C20, C30... etc. for each coefficient in the continuous nonzero coefficient.
Therefore, in the art, need a kind of method of continuous nonzero coefficient value sequence being carried out high efficient coding that provides.
The invention people who submitted on January 15th, 2003 be that the denomination of invention of Chen etc. is the U.S. Patent application No.10/342 of " AN EXTENSION OF TWO-DIMENSIONAL VARIABLE LENGTH CODING FOR IMAGE COMPRESSION "; 537 have described a kind of method that is called as " expansion 2D-VLC method " here, and it comprises the coding that repeats to some zero coefficient values.A kind of variant of expansion 2D-VLC method is that all possible changes in amplitude of the continuous coefficients after one group of zero valued coefficients provides code.Run length with all situations all is kept to 1 so effectively.The where the shoe pinches of this method is that the amplitude of continuous coefficients may generate very many patterns.For example, in a lot of common video encoding standards, define 32 quantized levels, just reached the order of magnitude of 32N like this by N the continuous pattern that coefficient generated.Like this, in the implementation procedure of reality, the length (for example 3 or 4 successive values) of nonzero value that only a limited number of most probable is occurred (for example 1 and 2) and a limited number of continuous nonzero value is carried out grouping again and is mated with implementation pattern.
In addition, in coding, possibly there is the zone of trooping, also possibly has the high-frequency region of the nonzero-value coefficient that wherein possibly be scattered here and there comprising nonzero-value coefficient though the inventor notices.
Therefore, it is very low to use this so-called " expansion 2D-VLC method " to remain efficient in the reality.
Thereby, need a kind of method of the nonzero-value coefficient distance of swimming in the conversion coefficient series that possibly appear at image block being carried out high efficient coding that comprises in the art.
One or more patents of describing some existing 2D-VLC coding methods have become the theme of patent action recently.Thereby, also need to replace to have become the alternative method of the 2D-VLC method of generally using of the theme of this lawsuit in the art.
Summary of the invention
This specification is described with regard to the orderly series of digital value, and said digital value is the quantization transform coefficient of video data block.Statistics ground, these quantization parameters have the amplitude of most probable appearance and the amplitude of next most probable appearance.In the description of this specification, the quantization parameter of null value is that most probable occurs, and the quantization parameter that is worth for ± 1 is the value that next most probable occurs.Generally speaking, the present invention can be applied to the orderly series of digital signal, and the amplitude of each digital signal is taken from amplitude that is occurred by most probable and the limited amplitude that at least one other amplitude constitutes and gathers.
When the ordered sequence of the quantization transform coefficient of video data block is encoded; Possibly there is the first area; For example, also possibly there is second area, for example the nonzero-value coefficient high-frequency region that possibly disperse wherein comprising the low frequency region along ordering of trooping of nonzero-value coefficient.
The invention people that this specification and 2004 above-mentioned June 15 submit to is Chen etc.; Denomination of invention is the U.S. Patent application No.10/869 of " A HYBRID VARIABLE LENGTH CODING METHOD FOR LOW BIT RATE VIDEO CODING ", and 229 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.At first at U.S. Patent application No.10/869, the various embodiment of the coding method of describing in 229 always are called " Basic Hybrid VLC Method (elementary mixing VLC method) " here.
Elementary mixing VLC method has been utilized the distribution character of conversion coefficient in low frequency and high-frequency region.For example, elementary mixing VLC method has considered that the viewed nonzero value conversion coefficient in low frequency region that causes owing to the coding method of using different run lengths in low frequency region and the high-frequency region forms characteristic of trooping and the characteristic that conversion coefficient relatively disperses in high-frequency region.Elementary mixing VLC method one embodiment comprises two kinds independently encoding scheme come the quantization parameter in first and second zones in path is encoded.Establish the border along the path and limit two zones, for example low frequency region and high-frequency region.In a version; According to one or more factors border and video are adapted, said factor for example is intraframe coding or interframe encode, standard definition television (SDTV) or high definition TV (HDTV), complex scene or simple scenario, high bit rate coding or low rate encoding etc.In one embodiment, the runlength encoding method that the coding of the quantization parameter in the low frequency region is comprised the runlength encoding method that uses the first kind and second type is encoded to the position of continuous nonzero-value coefficient and the position of zero valued coefficients continuously.This coding also comprises the range value of nonzero-value coefficient and encoding symbols.In high-frequency region, in one embodiment, the coding of the coefficient in the high-frequency region comprised the runlength encoding method that uses the 3rd type coding to the position of the distance of swimming that do not have continuous zero valued coefficients or one or more continuous zero valued coefficients.This coding also comprises the range value of nonzero-value coefficient and encoding symbols.
In the first area, use a run length code to come to be encoded in continuous nonzero-value coefficient distance of swimming position.Can use five independently coding forms at most: to two the run length forms and the first amplitude form of low frequency coefficient, and to the run length form and the second amplitude form of high frequency coefficient.Code length and code table can be shorter than common 2D-VLC form.
In addition, when using less relatively break value, can avoid the use of escape code commonly used among the 2D-VLC.
It should be noted that use five independently form do not need overhead-bits.
Usually, the method embodiment of elementary mixing VLC method is used for the orderly series of processing digital signal, and the amplitude of each digital signal is taken from amplitude that is occurred by most probable and the limited amplitude that at least one other amplitude constitutes and gathers.This processing is the data volume that is used to represent digital signal in order to reduce; And form such code word; The sequence of the digital signal value that the possibility that promptly occurs is bigger representes with relatively short code word, and the sequence of the less digital signal value of the possibility that occurs is represented with relatively long code word.
The general type of elementary mixing VLC method comprises for appearing at each distance of swimming that value in first continuum that the ordering of series is limited breakpoint is not the continuous signal of the value that occurs of most probable; Use first runlength encoding method that the run length of continuous signal is encoded; And form such code word; This code word uses first runlength encoding method that run length is encoded and to the amplitude and the encoding symbols of each signal in the distance of swimming, said breakpoint limits second continuum after first continuum and first continuum.
The general type of elementary mixing VLC method comprises for each distance of swimming that appears at the continuous signal with value that most probable occurs in the first area that is limited breakpoint, uses second runlength encoding method that the run length of the continuous signal of the value that has most probable and occur is encoded.
The general type of elementary mixing VLC method also comprises encodes to the signal that appears in the second area that is limited breakpoint; This coding uses the second area coding method; Said second area coding method comprises: identify the incident of the distance of swimming of the continuous signal that comprises the value with most probable appearance in the second area, and use the 3rd coding method that the said incident that identifies in the second area is encoded.
First, second comprises variable-length codes with the 3rd coding method, forming the sequence of the relatively large value of possibility that relatively short code word representes to occur, and forms the sequence of the less relatively value of possibility that relatively long code word representes to occur.
In an embodiment of this method, digital signal series is the quantization parameter series of the video data block after the conversion, and the amplitude that this conversion makes most probable occur is 0.
The alternative coding method that is used for second area (for example along the high-frequency region that sorts) has utilized in high-frequency region range value characteristics seldom, especially for example for low rate encoding and interframe encode.
Consider this point; The invention people that this specification and 2004 above-mentioned July 22 submit to is Chen etc.; Denomination of invention is the U.S. Patent application No.10/869 of " AN EXTENDED HYBRID VARIABLE LENGTH CODING METHOD FOR LOW BIT RATE VIDEO CODING ", and 654 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of the coding method that comprises this alternative coding method.At first at U.S. Patent application No.10/869, the various embodiment of the coding method of describing in 654 always are called " Extended Hybrid VLC Method (extended hybrid VLC method) " here.
In an embodiment of extended hybrid VLC method, the coding method that is used in the second area considers that nearly all nonzero-value coefficient all is ± 1 in high-frequency region.Not needing amplitude coding to come ending at amplitude is that the distance of swimming of the continuous null value of 1 coefficient is encoded.Comprise that exception (escape) sign indicating number comes those values are not encoded for ± 1 considerably less nonzero-value coefficient.
Usually, extended hybrid VLC method is used for the orderly series of processing digital signal, and the amplitude of each digital signal is taken from amplitude that is occurred by most probable and the limited amplitude that at least one other amplitude constitutes and gathers.This processing is the data volume that is used to represent digital signal in order to reduce; And form such code word; The sequence of the digital signal value that the possibility that promptly occurs is bigger representes with relatively short code word, and the sequence of the less digital signal value of the possibility that occurs is represented with relatively long code word.
The general type of extended hybrid VLC method comprises for appearing at each distance of swimming that value in first continuum that is limited breakpoint of the ordering of series is not the continuous signal of the value that occurs of most probable; Use first runlength encoding method that the run length of continuous signal is encoded; And form such code word; This code word uses first runlength encoding method that run length is encoded and to the amplitude and the encoding symbols of each signal in the distance of swimming, said breakpoint limits second continuum after first continuum and first continuum.
The general type of extended hybrid VLC method comprises for each distance of swimming that appears at the continuous signal with value that most probable occurs in the first area that is limited breakpoint, uses second runlength encoding method that the run length of the continuous signal of the value that has most probable and occur is encoded.
The general type of extended hybrid VLC method also comprises encodes to the signal that appears in the second area that is limited breakpoint; This coding uses the second area coding method; Said second area coding method comprises: sign comprises the incident of the distance of swimming of the continuous signal that has the value that most probable occurs in the second area of the value that ends to be not equal to the value that most probable occurs, and uses the 3rd coding method that the said incident that identifies in the second area is encoded.
First, second comprises variable-length codes with the 3rd coding method, forming the sequence of the relatively large value of possibility that relatively short code word representes to occur, and forms the sequence of the less relatively value of possibility that relatively long code word representes to occur.
In an embodiment of this method, digital signal series is the quantization parameter series of the video data block after the conversion, and the amplitude that this conversion makes most probable occur is 0.
All use a kind of 2D-VLC technology speech that improvement possibly is provided though elementary mixing VLC method is compared with extended hybrid VLC method for quantization parameters all in the piece, these methods do not consider the dynamic characteristic of changing the piece coefficient most maybe be not with the coding techniques of being scheduled in the model supposed accurately mate.Dynamic characteristic is meant along with different pieces and pictures different and aspect one or more, changes; Said aspect comprises that the coefficient in the zone forms the still dispersion of trooping; The continuous distance of swimming that considerable nonzero-value coefficient is arranged in the zone still be major part all be the nonzero-value coefficient of separating, the amplitude of coefficient mainly is several values or even has only value or the like in the zone.
Consider this point, proposed to be applied to the variant of quantization parameter, it comprises the characteristic of confirming coefficient itself and utilizes this characteristic information of determining to select coding method.
The invention people that this specification and 2004 above-mentioned August 3 submit to is Chen etc.; Denomination of invention is the U.S. Patent application No.10/910 of " VIDEO COMPRESSION USING MULTIPLE VARIABLE LENGTH CODING PROCESSES FOR MULTIPLE-CLASSES OF TRANSFORM COEFFICIENT BLOCKS ", and 712 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.At first at U.S. Patent application No.10/910, the various embodiment of the coding method of describing in 712 always are called " Multiple-class VLC Method (multiclass VLC method) " here.
In one embodiment, multiclass VLC method is used for comprising that the amplitude that most probable occurs and the series of at least one other amplitude encodes.Multiclass VLC method is used to reduce the data volume that is used to represent digital signal; And form such code word; The digital signal value that the possibility that promptly occurs is bigger or the sequence of value represent with relatively short code word, and the less digital signal value of the possibility that occurs or the sequence of value are represented with relatively long code word.
In great majority were used, this series was the quantization transform coefficient series of image block.The value that most probable occurs is generally 0, and the non-zero magnitude that most probable occurs is generally 1.
In one embodiment, multiclass VLC method comprises that the amplitude distribution according to digital signal is categorized into series in the specific class in a plurality of types, and each type has the respective coding process that forms to the code word of series.For the series of certain kinds, this method comprises uses a set of code words that forms series with such corresponding cataloged procedure.This method also is included as formed code word and adds indication with the indication certain kinds.
In an implementation, the video data block after the conversion comprises DC (direct current), and this DC item is encoded separately, and makes that digital signal series is one group of non-DC quantization parameter of the video data block after the conversion.
In one embodiment, classification coefficient of utilization series.In a particular version, classification is bit stream type of selection which kind of respective coding process to produce maximum compression according to.
The first area method of in elementary mixing VLC method and expansion VLC method, introducing at first alternately use two kinds independently one dimension variable length decoding method (for example using two independently one dimension VLC forms) come continuous nonzero-value coefficient in the low frequency region and zero valued coefficients are continuously encoded.Thereby the position of quantization transform coefficient and amplitude are encoded respectively.
Notice through with the continuous nonzero-value coefficient in the first area and zero valued coefficients as a pair of and use a two-dimension table and come can realize the further raising of code efficiency to this a pair of coding.
The invention people that this specification and 2004 above-mentioned August 18 submit to is Toebes etc.; Denomination of invention is the U.S. Patent application No.10/922 of " TWO-DIMENSIONAL VARIABLE LENGTH CODING OF RUNS OF ZERO AND NON-ZERO TRANSFORM COEFFICIENTS FOR IMAGE COMPRESSION ", and 508 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.At first at U.S. Patent application No.10/922, the various embodiment of the coding method of describing in 508 always are called " 2-D Nonzero/zero Cluster VLC Method (2-D non-zero/zero troop VLC method) " here.
The proposition that 2-D non-zero/zero troops the VLC method is in order to improve code efficiency, for example for low frequency region, and in other embodiments not just to low frequency region.In one embodiment, 2-D non-zero/zero VLC method of trooping is included in the incident that identifies each distance of swimming that comprises one or more nonzero-value coefficient zero valued coefficients distance of swimming before in first continuum.This method comprises; For each such incident; With code word the zero valued coefficients distance of swimming of front and the run length of the distance of swimming of one or more nonzero-value coefficient of back are carried out combined coding; Make that the run length less relatively with possibility occurring compared at least for some incident, use short code word the relatively large run length of possibility occurring to encoding.This method also comprises encodes to each amplitude in the continuous nonzero-value coefficient distance of swimming, and to the encoding symbols of these coefficients.In improved variant, each incident comprises the nonzero-value coefficient distance of swimming then zero valued coefficients at the back.
In each method in 2-D non-zero/zero troops VLC method, elementary mixing VLC method and extended hybrid VLC method, all proposed various variable length decoding methods and come formation is trooped or not have the relative position of the conversion coefficient that formation troops to encode.After having carried out this coding, all comprise coding, just as to sign bit (+or-) that kind to the value of each nonzero-value coefficient at every turn.
Be also noted that in VLC that nonzero-value coefficient is trooped coding, the coding of amplitude has been occupied sizable part in the code.Notice, at least in theory, encode rather than use n independent one-dimensional code, can realize improvement the amplitude code through introducing nonzero coefficient that a multidimensional code (like n dimension code, n is the integer greater than 1) troops to n continuous formation.Consider this point, proposed the variant of another kind of hybrid coding.
The invention people that this specification and 2004 above-mentioned August 18 submit to is Chen etc.; Denomination of invention is the U.S. Patent application No.10/922 of " VIDEO CODING USING MULTI-DIMENSIONAL AMPLITUDE CODING AND 2-D NON-ZERO/ZERO CLUSTER POSITION CODING ", and 507 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.At first at U.S. Patent application No.10/922, the various embodiment of the coding method of describing in 507 always are called " Basic Multi-Dimensional Amplitude VLC Method (basic multidimensional amplitude VLC method) " here.
One embodiment comprises of basic multidimensional amplitude VLC method; In the first area, identify each and comprise the incident of the distance of swimming of one or more nonzero-value coefficient, and, utilize code word that this incident is encoded for each such incident; Make at least for some incident; The incident less relatively with possibility occurring compared, and uses short code word to encode to the relatively large incident of possibility occurring, and for each incident that identifies; A plurality of successive values in the continuous nonzero-value coefficient distance of swimming carry out combined coding, and this combined coding carries out according to the amplitude coding method.This method makes and forms the sequence that relatively short code word representes to occur relatively large value of possibility or value, and forms the sequence that relatively long code word representes to occur less relatively value of possibility or value.This method can be used for having the zone that forms the nonzero-value coefficient of trooping in the series.
Though basic multidimensional amplitude VLC method has seemed to improve total code efficiency, notices for bigger " n ", the size that is used for the n that n continuous non-zero magnitude value carried out combined coding is tieed up form may become very big.Therefore, in practice, for the realization of reality, the size of n must be restricted to relatively small number of continuous non-zero magnitude values, and for example 1,2 and 3.
Consider this point, proposed another kind of variant.The invention people that this specification and 2005 above-mentioned February 28 submit to is Chen etc.; Denomination of invention is the U.S. Patent application No.11/069 of " AMPLITUDE CODINGFOR CLUSTERED TRANSFORM COEFFICIENTS ", and 622 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.At first at U.S. Patent application No.11/069, the various embodiment of the coding method of describing in 622 always are called " Multi-Table Amplitude VLC Method (multilist amplitude VLC method) " here.
Do not use a multidimensional coding form of trooping to n continuous nonzero-value coefficient; In an embodiment of multilist amplitude VLC method, in sign is trooped each comprise continuous amplitude be 1 coefficient the distance of swimming at the back then amplitude greater than the incident of 1 coefficient.Comprise and have only an amplitude greater than 1 coefficient and the incident of having only the distance of swimming of amplitude 1.For each incident, in preceding amplitude being run length and the amplitude distribution code word of ending coefficient of the distance of swimming of 1 coefficient.It is trooping of n that two-dimensional encoded form is used to each length, has therefore replaced the multidimensional form in the basic multidimensional amplitude VLC method with a plurality of 2-D coding forms that increase gradually.The value of n can increase with the position of breakpoint.
Multilist amplitude VLC method has been utilized following characteristics, in the low frequency region of conversion coefficient sequence, mainly is that amplitude is 1 coefficient in nonzero coefficient is trooped promptly.
Invention described in elementary mixing VLC method and 2-D non-zero/zero VLC method of trooping has proposed the position that various variable length code technology consider to form the conversion coefficient of trooping or disperse.Invention described in basic multidimensional amplitude VLC method and the multilist amplitude VLC method has proposed the amplitude in trooping is carried out Methods for Coding.
Above method has been arranged, also needed a kind of variant, will be in the same place the coded combination of the amplitude of the position of conversion coefficient and conversion coefficient.
The invention people that this specification and 2005 above-mentioned February 28 submit to is Chen etc.; Denomination of invention is the U.S. Patent application No.11/069 of " JOINT AMPLITUDE AND POSITION CODING FOR PHOTOGRAPHIC IMAGE AND VIDEO CODING ", and 621 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.At first at U.S. Patent application No.11/069, the various embodiment of the coding method of describing in 621 always are called " Joint Position and Amplitude VLC Method (co-location and amplitude VLC method) " here.
In one embodiment; Co-location and amplitude VLC method comprise; For first continuum in the series; Identify trooping of each one or more continuous signal that comprise any amplitude with the amplitude that is not equal to the most probable appearance, and any intercalary continuous coefficients distance of swimming with value of most probable appearance.This method also comprises; The trooping of signal that is not equal to any amplitude of the amplitude that most probable occurs for each having of identifying identifies one or more position events and limits the trooping and any intercalary relative position and run length with continuous coefficients distance of swimming of the value that most probable occurs of signal that having of identifying is not equal to any amplitude of the amplitude that most probable occurs.This method also comprises trooping for the signal of each any amplitude with the amplitude that is not equal to the most probable appearance that identifies; Identify one or more amplitude incidents, these amplitude incident qualification amplitudes are not equal to the amplitude of the continuous coefficients of the amplitude that most probable occurs.This method also comprises carries out combined coding to position event that identifies and the amplitude incident that identifies; To produce to the code word of trooping; Make relatively short code word be used to indicate the bigger amplitude of possibility to occur and troop, and relatively long code word is used to indicate and the less relatively amplitude of possibility occurs and troop.
In a described embodiment, the orderly series of digital signal is the quantization parameter sequence of the video data block after the conversion.The amplitude that this conversion makes most probable occur is 0, and secondly the amplitude of most probable appearance is 1.
In quantization parameter; Co-location and amplitude VLC method comprise that sign has trooping of at least one nonzero-value coefficient; And for each such trooping; Identify at least one position event and identify relative position and the run length that nonzero coefficient is trooped, and identify at least one amplitude incident and limit the non-zero magnitude of nonzero coefficient in trooping.This method also comprises carries out combined coding to position event that identifies and the amplitude incident that identifies; Make to form the sequence that relatively short code word representes to occur relatively large value of possibility or value, and form the sequence that relatively long code word representes to occur relatively large value of possibility or value.This method can be applied to encoded in the zone that possibly exist nonzero-value coefficient to troop in the series.
Here described some embodiment uses the position event according to the 2-D non-zero/the zero VLC method of trooping is encoded.Some embodiment is also as using non-zero magnitude as the amplitude incident in the basic multidimensional amplitude VLC method.Some other embodiment is according to identifying the amplitude incident with the identical mode of multilist amplitude VLC method.And other embodiment uses the amplitude incident in the basic multidimensional amplitude VLC method for some length of trooping, and uses the amplitude incident in the multilist amplitude VLC method for other length of trooping.
In each method in these methods, breakpoint is restricted to the border between low frequency and the high-frequency region.Best breakpoint in the coding in the frequency spectrum of employed conversion changes with different pictures with different pieces.Come to confirm in advance typical breakpoint through the collection that experimentizes about the statistical information of one group of typical piece coefficient, thereby can utilize predetermined breakpoint.Usually, for high-resolution or high-quality still image coding and low resolution or low quality still image coding; Intraframe coding and interframe encode; High bit rate coding method and low rate encoding method; Based on the coding method of the conversion of DCT and coding method of non-dct transform etc., confirm different breakpoints.
Though predetermined breakpoint can provide gratifying coding efficiency, best anything but.Various result of experiment show and can further improve the performance of hybrid coder through using best breakpoint.This improvement effect possibly be to use 25% of improvement effect that predetermined breakpoint obtains.
Therefore; Invented a kind of method; Be used for confirming best breakpoint or near best breakpoint, being defined for according to first (low frequency) zone and second (high frequency) zone of carrying out hybrid coding someway in the described here hybrid coding method above-mentioned.
A kind of method of seeking best breakpoint (representing with N) here is in all possible breakpoint, to carry out exhaustive-search, for example carries out coding 63 times for 8 * 8 piece transfer pair picture, to attempt different breakpoints, promptly attempts N=1,2 ..., 63.Through the length of more resulting code word to piece, find best N and to the code word of this best N.This method is very consuming time, therefore unlikely practical application.
Therefore, need a kind of more high-efficiency method to confirm best or approaching best breakpoint.
Consider this point, proposed another kind of variant.The invention people that this specification and 2005 above-mentioned February 28 submit to is Wu etc.; Denomination of invention is the U.S. Patent application No.11/069 of " ADAPTIVE BREAKPOINT FOR HYBRID VARIABLE LENGTH CODING ", and 620 have described a kind of coding method, a kind of equipment that is used to encode, a kind of method that is used to decode, a kind of equipment that is used to decode and a kind ofly carried code so that processor is carried out the bearing medium of coding method.This method comprises confirms best breakpoint.At first at U.S. Patent application No.11/069, the various embodiment of the coding method of describing in 620 always are called " Adaptive Breakpoint Method (self adaptation breakpoint method) " here.
One embodiment comprises along the ordering establishment breakpoint of series of self adaptation breakpoint method limits first continuum and second continuum; The trooping of continuous signal that makes its value be not equal to the value of most probable appearance appears in first continuum mostly; The statistical information that calculates according at least one subclass in a plurality of subclass is used in said establishment, and this statistical information is that a plurality of series of signals that its value is not equal to the value that most probable occurs appear at the position along ordering in the trooping of continuous signal that its value is not equal to the value that most probable occurs.For each series in a plurality of series, use the first area coding method that the signal in the first area is encoded, and use the second area coding method that the signal in the second area is encoded.First area and second area coding method comprise variable-length codes; Make to form the sequence of the relatively large value of possibility that relatively short code word representes to occur, and form the sequence of the less relatively value of possibility that relatively long code word representes to occur.
In this manual, each digital signal series is the quantization parameter series of the video data block after the conversion of image, and the amplitude that this conversion makes most probable occur is 0.
In a kind of version; Series is divided into zone more than two by breakpoint with to each the regional extra breakpoint that comprises second area; And in this version, utilization is different from the respective coding method that is used in the coding method of using in other zone the signal that appears in each additional areas that is limited corresponding extra breakpoint is encoded.
In certain embodiments, establish breakpoint and comprise, the number of the series of coefficient in trooping at this some place is wherein counted for every bit along ordering.
In one embodiment, establish breakpoint and comprise definite threshold point, make that the most of coefficient in trooping appears at this threshold point point place before, and only before threshold point, seek near best breakpoint.For example, threshold point is the specified point along ordering, and the count value of number that has the series of coefficient at this some place drops to below the ratio of selecting in advance of series sum.
In a version, establish near best breakpoint and comprise the length of confirming to the coded data of a plurality of series from the breakpoint to the threshold point, and select to produce the breakpoint of short coded data.
In another version, establish breakpoint and comprise that the slope of count value of confirming wherein to be in the number of the nonzero coefficient in trooping up to threshold point along ordering is peaked point.
According to embodiment and claims, can clearly understand others, characteristic and variant.
Description of drawings
Fig. 1 shows how to pass through the 2-D VLC method that table lookup is realized prior art.
How Fig. 2 shows the 2-D VLC variant of realizing being called as the common prior art of 3D-VLC through table lookup.
Fig. 3 shows the simplified flow chart of an embodiment of hybrid coding method.
Fig. 4 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method; This method is included in the first area encodes to nonzero coefficient position and the length of trooping with zero valued coefficients of trooping, and comprises the troop amplitude of middle coefficient of nonzero-value coefficient is encoded.
Fig. 5 shows the simplified block diagram of an embodiment of the equipment that quantization transform coefficient series is encoded.
Fig. 6 shows the decoding device according to the embodiment of the invention.
Fig. 7 shows the simplified block diagram of an embodiment of the equipment that quantization transform coefficient series is encoded.
Fig. 8 shows the decoding device according to the embodiment of the invention.
Fig. 9 shows the encoding device that comprises treatment system and memory according to the embodiment of the invention.
Figure 10 shows the decoding device that comprises treatment system and memory according to the embodiment of the invention.
Figure 11 shows the flow chart of method embodiment of the present invention.
Figure 12 shows the flow chart of method embodiment, this method embodiment comprise classification, through each respective coding process a plurality of are encoded and comparative result to select to provide the method for optimal compression.
Figure 13 shows a kind of flow chart of implementation of the embodiment of Figure 12, wherein coefficient series is sequentially used the respective coding process.
Figure 14 shows the flow chart of alternative implementation of the embodiment of Figure 12, wherein coefficient series is used the respective coding process concurrently.
Figure 15 shows the form according to the incident statistical information of the 2-D VLC method of prior art.
Figure 16 shows the code table according to the coding incident of the 2-D VLC method of prior art.
Figure 17 A-17D shows the form that illustrates respectively according to the Event Example of the embodiment of the invention.Among the figure, " x " representes nonzero value.
Figure 18 shows according to embodiments of the invention to zero or a plurality of zero valued coefficients distance of swimming then form of the statistical information of the event collection of the nonzero-value coefficient distance of swimming at the back.
Figure 19 shows according to embodiments of the invention to zero or a plurality of zero valued coefficients distance of swimming then form of the variable-length codes of the incident of the nonzero-value coefficient distance of swimming at the back.
Figure 20 A-20F shows the form that illustrates respectively according to the Event Example of improvement embodiment of the present invention, in said improvement embodiment, the zero valued coefficients distance of swimming at the back then the incident of the nonzero-value coefficient distance of swimming comprise the zero valued coefficients of back.This incident is deleted letter and is no more than 12 continuous coefficients for covering.
Figure 21 show according to the embodiment of the invention to zero or a plurality of zero valued coefficients then distance of swimming of the nonzero-value coefficient back then form of the statistical information of the collected or hypothesis of the incident of a zero valued coefficients more at the back.
Figure 22 show according to the embodiment of the invention to zero or a plurality of zero valued coefficients then distance of swimming of the nonzero-value coefficient back then form of the variable-length codes of the incident of a zero valued coefficients more at the back.
Figure 23 shows the form of the actual count information of the visual first area of sample, and said first area has the breakpoint 12 that forms soft border.Attention incident skip is identical with incident R (12,0).
Figure 24 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method, and this embodiment does not comprise the multidimensional amplitude coding to a plurality of amplitudes in the nonzero-value coefficient distance of swimming.
Figure 25 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method, and this embodiment comprises the associating multidimensional coding to a plurality of amplitudes in the nonzero-value coefficient distance of swimming.
Figure 26 A, 26B and 26C show respectively according to an aspect of the present invention, to the one dimension amplitude code table of an amplitude, to the two-dimentional amplitude code table of the amplitude of two continuous coefficients and to the three-dimensional amplitude code table of the amplitude of three continuous coefficients.
Figure 26 D shows the similar three-dimensional amplitude code table with Figure 26 C, and Figure 26 D has used the substitution coefficient amplitude to arrange to each 2D form.
Figure 27 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method, and this embodiment comprises according to the coding of one aspect of the invention to a plurality of amplitudes in the nonzero-value coefficient distance of swimming.
Figure 28 shows in the distance of swimming of n non-zero coefficient amplitude the form of the rela-tive likelihood that 1 the distance of swimming occurs.
Figure 29 shows to the code table that ends in the continuous distance of swimming of non-zero coefficient amplitude continuously at n greater than the incident of 1 the distance of swimming of 1 amplitude.
Figure 30 shows according to the code table sequence of one aspect of the invention to the incident that in the trooping of the continuous nonzero-value coefficient of different length, identifies.
Figure 31 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method; This embodiment comprises the position of trooping and the length of trooping with zero valued coefficients of nonzero-value coefficient is encoded; Amplitude in the nonzero-value coefficient distance of swimming is encoded; And, utilize the combined coding form of position code and amplitude code to be encoded in position and amplitude according to one aspect of the invention.
Figure 32 shows the flow chart of one or more aspects establishment according to the present invention near an embodiment of the method for best breakpoint.
Embodiment
Here described is the equipment that variable length decoding method and being used for is encoded to the coefficient in transform domain that appears at video coding.Expect that this coding method is the same good with traditional 2D-VLC coding at least.This method is hopeful to be used to replace existing 2D-VLC coding method.A kind of equipment that is directed against the coding/decoding method of variable length decoding method and is used for the coefficient in transform domain behind the coding that appears at video coding is decoded has also been described here.
Generally speaking, the present invention relates to the orderly series of the digital signal that has the amplitude that is taken from the set of limited range value is separately encoded.Each signal also can have symbol (promptly just perhaps negative).The set of range value comprises the amplitude and at least one other amplitude that a most probable occurs.Here the application of being discussed is to the orderly series of signal; The orderly series of this signal is to carry out conversion through the conversion such as DCT or some other common conversion; Be quantized into a limited number of value again, the ordered set of the quantization parameter value of the video data block that after predetermined path (for example Z font path) ordering, obtains then.The order that the ordering of series normally increases progressively according to spatial frequency.In most of image applications, the value that most probable occurs (value that for example the most often occurs) is generally 0.
We notice the extra statistical information of being ignored in the variable length decoding method of prior art.Often in low frequency region, form more along the nonzero value quantization transform coefficient in path and to troop, and in high-frequency region, disperse more.In other words, compare with higher spatial frequency, the nonzero value distance of swimming more possibly appear in the lower spatial frequency.
One aspect of the present invention is to use breakpoint to limit first area (the for example zone before the breakpoint) and second area (the for example zone after the breakpoint) along the ordering of series.Therefore, for example for 8 * 8 piece, breakpoint can be located between 21 and 22, makes 21 coefficients of front in the orderly series in the first area, and in order in the series since 43 coefficients in back of the 22nd coefficient in second area.Breakpoint itself also can be in the zone.Therefore, for example for 8 * 8 piece, breakpoint can be located at 22 places, makes 21 coefficients in front in the orderly series in the first area, and in order in the series since 43 coefficients in back of the 22nd coefficient in second area.In addition, breakpoint can limit the mode that forms the zone, but maybe be not with first and second zones between actual boundary corresponding.Vide infra to the soft border that limits through identical breakpoint and the description of bounds.
Fig. 3 shows the simplified flow chart of hybrid coding method 300.In 301, provide breakpoint to limit first area and second area along the ordering of coefficient.One aspect of the present invention is the selection of breakpoint.
Another aspect of the present invention is how encoded in two zones that breakpoint limited.In 303, utilize the first area coding method that the data that appear in the first area are encoded, and in 305, utilize another method (second area coding method) that the data in the second area are encoded.
In a version, breakpoint limits the bounds between first and second zones, for example makes continuous nonzero-value coefficient sequence through breakpoint be counted as first sequence and second sequence after the breakpoint till breakpoint.In another version, breakpoint limits soft border, makes to start from before the breakpoint and be counted as the sequence that appears in the first area through any successive value (for example continuous null value or continuous nonzero value) sequence of breakpoint.For the piece of such sequence that comprises this process breakpoint, effectively the border starts from after the EOS, makes the efficiency frontier that is limited breakpoint to change along with the difference of sequence.
Elementary mixing VLC method
Nonzero-value coefficient in the first area may form troops.Thereby, the distance of swimming may appear.Encode to each nonzero-value coefficient distance of swimming (generally being each distance of swimming with coefficient of other values the value that occurs except that most probable) in an aspect according to the first area coding method of elementary mixing VLC method.An aspect to the elementary mixing VLC method of first area uses first runlength encoding method that the run length of the distance of swimming is encoded, and the sequence of the amplitude in the distance of swimming is encoded, and comprises symbol.Each zero valued coefficients distance of swimming (generally being each distance of swimming with coefficient of the value that most probable occurs) second length coding method that is used is encoded.Therefore, in the first area, be used alternatingly two types of run length codes.
Fig. 4 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method 400; This method is included in that the ordering along series provides breakpoint to limit the first area in 301; For example wherein nonzero coefficient possibly form the low frequency region of trooping; And second area, for example wherein nonzero coefficient possibly disperse and in shown version nonzero coefficient possibly mainly be that amplitude is the high-frequency region of 1 coefficient.
In 403, incident is identified, and each incident identified, and said incident comprises first kind of incident, i.e. the distance of swimming (being called as " trooping ") and second kind of incident of nonzero-value coefficient continuously, the i.e. distance of swimming of zero valued coefficients continuously.In one embodiment, in 405, provide the different coding method to come to be encoded in the position of zero valued coefficients and nonzero-value coefficient.Elementary mixing VLC method is that the run length of zero valued coefficients and run length that nonzero-value coefficient is trooped provide independent code word.These codes comprise the variable-length codes of utilizing statistical information hypothesis or actual to confirm.Therefore, step 403 has identified the run length of continuous zero valued coefficients and nonzero-value coefficient, and step 405 utilizes first and second runlength encoding methods that the continuous nonzero value and the run length of continuous null value are encoded respectively.
In 407, use the first amplitude coding method that the amplitude in each the non-zero magnitude distance of swimming in the non-zero run-length in the first area is encoded.In the embodiment of elementary mixing VLC method, use the first amplitude coding method, for example use the variable-length codes of utilizing code table to obtain, each amplitude is encoded separately.
In the first area, represent the individual distance of swimming of nonzero coefficient continuously of the n that identifies with r (n), and use r ' (z) to represent the individual distance of swimming of zero valued coefficients continuously of the z that identifies, n, z=1,2 ....Consider a incident with r (n) expression, with m (1), m (2) ... m (n) representes each non-zero magnitude among the r (n).Represent the incident r (n) that use first runlength encoding method obtains with C (n); N=1,2 ... in the variable length codeword of run length of nonzero-value coefficient; And use C ' (z) to represent to use incident r ' that second runlength encoding method obtains (z); Z=1,2 ... in the variable length codeword of run length of zero valued coefficients.With A (m) expression to the amplitude m among the nonzero-value coefficient distance of swimming r (n), m=1,2 ... amplitude coding; And with S (1), S (s) ... first, second among the expression r (n) ... the sign bit of n nonzero-value coefficient.Then according to embodiment described in elementary mixing VLC method, to being encoded to of incident and corresponding non-zero magnitude:
C(n)+A(m(1))+S(1)+A(m(2))+S(2)+...+A(m(n))+S(n)+C′(z),
Wherein+expression serial connection (concatenation).
First area coding in the elementary mixing VLC method
Say that in more detail in one embodiment, in 405, the code word of the continuous coefficients distance of swimming in the first area starts from the code word of first coding method, and between first coding method and second coding method, replace.In order to be that first distance of swimming of being run into is that the situation of zero the distance of swimming is prepared; A code word in the code word of first coding method is specific code word; First distance of swimming that is run into indication is the zero distance of swimming really, makes the code word of second method follow after this certain code word of first method.
Below form 3 and form 4 show respectively respectively to n the distance of swimming and two run length code table of the distance of swimming of zero valued coefficients continuously of nonzero-value coefficient continuously; Wherein C (n) and C ' (z) respectively expression use that first and second coding methods obtain respectively to n the distance of swimming of nonzero-value coefficient and the code of the distance of swimming of z continuous zero valued coefficients continuously; Wherein z is a run length: z=1; 2 ....
Form 3
Run length 1 2 3 4 5 6 .
Code c(1) C(2) C(3) C(4) C(5) C(6) .
Form 4
Run length 1 2 3 4 5 6 .
Code C′(1) C′(2) C′(3) c′(4) C′(5) C′(6) .
As an example, suppose in the first frequency zone to start from along the orderly series of the quantization parameter in ordering path:
2?3?2-1?0?1?2?0?0?1-1?1?0?0...
In order to confirm run length, this series can be written as:
x?x?x?x?0?x?x?0?0?x?x?x?0?0...
Wherein x representes any nonzero-value coefficient, 0 expression zero valued coefficients.
With r (n) expression n the distance of swimming of nonzero coefficient continuously, and use r ' (z) represent the distance of swimming of the individual continuous zero valued coefficients of z.Then the ordered sequence of this example starts from:
r(4)r′(1)r(2)r′(2)r(3)r′(2)...
To run length and can not be written as the amplitude of this pattern result who obtains that encodes:
C(4)C′(1)C(2)C′(2)C(3)C′(2)...
In 407; In order to accomplish the first area coding method, with having of being comprised of the code word of each nonzero-value coefficient distance of swimming to the code word of each amplitude in the distance of swimming and maybe be for just also being the extra position of the symbol of each coefficient of negative conversion (dct transform for example commonly used) to coefficient.In one embodiment, use variable-length codes that each amplitude is encoded, and use sign bit each encoding symbols.With A (i), i=1,2,3 ... expression is to amplitude i=1 respectively, 2 ... variable-length amplitude code, use S +And S -Expression is directed against the sign bit code of positive coefficient and negative coefficient respectively, and with+represent to be connected in series.Then above exemplary sequence is encoded as:
[C(4)+A(2)+S ++A(3)+S ++A(2)+S ++A(1)+S -]+C′(1)+[C(2)+A(1)+S ++A(2)+S +]+C′(2)+[C(3)+A(1)+S ++A(1)+S -+A(1)+S +]+C′(2)...
In one embodiment, suppose that series starts from the distance of swimming of one or more nonzero-value coefficient.Therefore, the code word that always obtains of first code word according to first runlength encoding method., series comprises that it is the code to the zero distance of swimming that a code is indicated employed first code when starting from the distance of swimming of one or more null values.In such embodiment, the DC composition is sent separately, makes that first coefficient in the first area is first non-DC coefficient along ordering.
Therefore, for example be illustrated in and indicate the first area to start from the code word of the distance of swimming of one or more zero valued coefficients in the first length runs coding method, suppose that the coefficient series in the first area starts from RP:
0?2?3?2-1?0?1?2?0?0?1-1?1?0?0...
In one embodiment, the code word to this first area is:
RP+C′(1)+[C(4)+A(2)+S ++A(3)+S ++A(2)+S ++A(1)+S -]+C′(1)+[C(2)+A(1)+S ++A(2)+S +]+C′(2)+[C(3)+A(1)+S ++A(1)+S -+A(1)+S +]+C′(2)...
In another embodiment, in first runlength encoding method, comprise the code word that does not have nonzero value in the indication series.In another embodiment, such code word is used to also indicate that all remaining coefficients all are zero in the first area.This code word here is called as and jumps to border (skip-to-boundary) (SKP).
Second area coding in the elementary mixing VLC method
In second area, the step 409 in the method 400 and 411 has been described the coding method that the orderly coefficient series of remainder is encoded.
In one embodiment, in second area, use the second area coding method, it has considered the appearance of the zero valued coefficients distance of swimming.The incident that one embodiment comprises the distance of swimming that in step 409, identifies the continuous signal that comprises value (the for example zero valued coefficients in the second area) of the second area coding method in the elementary mixing VLC method with most probable appearance; And in step 409, use the 3rd coding method that the incident that identifies in the second area is encoded.Specifically, step 409 comprises the distance of swimming that identifies zero valued coefficients, and step 411 comprises and use the 3rd runlength encoding method that the run length of each zero valued coefficients distance of swimming is encoded that said the 3rd run length coding, RLC provides code for each distance of swimming; The code of for example representing, wherein C through the run length form shown in the following form 5 " (z), z=0; 1,2 ... expression is used for run length code that the run length of z continuous 0 is encoded; z=0, and 1 ...
Form 5
Run length 0 1 2 3 4 5 6 .
Code c″(0) c″(1) C″(2) c″(3) c″(4) C″(5) c″(6) .1
One aspect of the present invention is to use ending code (representing with EOB) to represent that coefficient remaining in the second area all is zero here.
In addition, in 409, identified by the non-zero coefficient amplitude in the second area between the null value distance of swimming incident that identifies.In 411, use the second amplitude coding method that the amplitude of each such nonzero-value coefficient is encoded, and to the encoding symbols of such nonzero-value coefficient.
As an example, suppose to the orderly series along the quantization parameter of predefined paths of second area be:
0?0?0?1?0?0?1-1?0?0?0?0?0?1?0?0...0
This series can be written as:
0?0?0?x?0?0?x?x?0?0?0?0?0?x?0?0...0
Wherein x representes any nonzero-value coefficient, 0 expression zero valued coefficients.
Use r " (z) represent the individual distance of swimming of zero valued coefficients continuously of z in the second area, z=0,1,2 ....In one embodiment; The front of supposing each nonzero-value coefficient in the series of second area does not have zero valued coefficients or the distance of swimming of one or more zero valued coefficients is arranged; Generally speaking be exactly " distances of swimming of zero or a plurality of continuous zero valued coefficients ", thereby make that second nonzero-value coefficient in two continuous nonzero-value coefficient is the distance of swimming (i=0) that does not have zero valued coefficients before.Exemplary zero distance of swimming ordered sequence in the above-mentioned second area can be written as:
r”(3)r”(2)r”(0)r”(5)EOB
Wherein to be used to indicate remaining coefficient all be 0 to EOB, and be appreciated that wherein a nonzero-value coefficient is arranged between each distance of swimming of 0 just.The code of form 5 is used for run length, and the result that the distance of swimming in the series of second area is encoded is:
C”(3)C”(2)C”(0)C”(5)EOB
If the quantization parameter of the specified path in the second area is the value more than or equal to 1; Then in one embodiment; Cataloged procedure comprises the variable-length amplitude code that the amplitude of nonzero-value coefficient is encoded after the run length code, and comprises symbol code to the nonzero-value coefficient after zero the distance of swimming.Use A " (k), k=1,2,3 ... expression is to amplitude 1,2 respectively ... variable-length amplitude code, use S +And S -Expression is directed against the sign bit code of positive coefficient and negative coefficient respectively, and with+represent to be connected in series.Then the exemplary sequence of above-mentioned second area is encoded as:
[C″(3)+A″(1)+S +]+(C″(2)+A″(1)+S +)+[C″(0)+A″(1)+S -]+[C″(5)+A″(1)+S +]+EOB
Note in one embodiment, to the second amplitude coding method that appears at the quantization parameter amplitude in the second area (value A " (k), k=1; 2 ...) be different from first amplitude coding that is directed against the quantization parameter amplitude in the first area that appears at (value A (i), i=1; 2 ...).For example, for typical image, the amplitude in the expection second area (for example high-frequency region) mainly is than the lower value of amplitude that appears in the first area (for example low frequency region).
The alternative code of second area in the elementary mixing VLC method
Employed coding method comprises that sign comprises the incident of the zero valued coefficients distance of swimming in the second area, and uses the 3rd coding method that incident is encoded.A top embodiment uses the 3rd runlength encoding method separately the zero valued coefficients distance of swimming in the series in the second area to be encoded, and then range value is encoded.In alternate embodiment; Use traditional 2D-VLC to identify the incident that comprises the zero valued coefficients distance of swimming and a nonzero-value coefficient; And use 2D-VLC that such incident is encoded; For example use the 2D coding form, the form 2 that utilizes the amplitude in the second area more than for example and obtain in the statistical information of the distance of swimming of the leading zero form of form 1 (for example with).In another embodiment, the 2D-VLC form is deleted letter, makes the distance of swimming of the zero distance of swimming length afterwards and/or bigger amplitude use fixed length code rather than variable-length codes.In such version, use escape code at the back then to the variable-length codes that then replaces again in the fixed code back of the run length of preceding zero valued coefficients in the variable-length codes completely to the fixed code of amplitude and symbol.
Other variant also is fine.For example, can use the variant that is called as three-dimensional VLC (3D-VLC) sometimes.The PCT patent that is called PICTURE DATA ENCODING METHOD referring to the name of announcing September 16 in 1993 is announced WO 9318616.In 3D-VLC, each symbol (" incident ") is a tlv triple, comprises whether the current non-zero magnitude value of indication is the binary system input marking of last nonzero coefficient in the piece.
The sample code form of elementary mixing VLC method: run length code
Run length code to first runlength encoding method, second runlength encoding method and the 3rd runlength encoding method of run length can be arithmetic code or Huffman variable-length code (VLC).Can be through the dissimilar image of experimental check, and to the statistical information of these image collection about the different run lengths that will encode.Then can be based on these statistical information allocation of codes.
Following form 6 shows according to the embodiment of first runlength encoding method to the code of the nonzero-value coefficient distance of swimming in the first area that appears at rest image and I picture.This form hypothesis breakpoint (is got rid of the DC coefficient) at 11 places, therefore includes only 11 continuous nonzero values.Notice that this form comprises the particular code to the incident that is called as RP, its indication form starts from the distance of swimming of one or more zero valued coefficients, rather than nonzero-value coefficient.Be also noted that with much forms are the same the DC composition (first) of form 6 hypothesis series is encoded separately, this is common in a lot of VLC methods.Therefore, mean that first element is first non-DC value.
Form 6: to the code of the non-zero run-length in the first area
Cluster mode Huffman code Code length
x 0 1
xx 100 3
xxx 1010 4
xxxx 10111 5
xxxxx 110111 6
xxxxxx 1011001 7
xxxxxxx 10110000 8
xxxxxxxx 110101010 9
xxxxxxxxx 10110001 8
xxxxxxxxxx 1101010111 10
xxxxxxxxxxx 1101010110 10
skip_MB 1100 4 (pieces that do not have information)
RP 111 3 (using R ' from now on)
Can be at breakpoint greater than 11; For example breakpoint is in 22 the form; And for to breakpoint for our alleged " soft " thus breakpoint allows to exist the form of the situation of the distance of swimming that extends beyond breakpoint; In one embodiment, the unique escape code that is represented as ESC1 is here used in first coding method, and the back then is directed against the fixed length code of the length of the distance of swimming; For example be used to adapt to the most nearly 5 codes of the distance of swimming of 32 continuous nonzero values, perhaps be used to adapt to the most nearly 6 codes of the distance of swimming of 64 continuous nonzero values.Using for the ESC1 code under 6 the situation, in order the length of code to be used 5 and 6 codes respectively, it is long to be at most 11 or 12 to the code word of the length of the nonzero coefficient distance of swimming in the first area.
Following form 7 shows according to the embodiment of second runlength encoding method to the code of the distance of swimming of zero in the first area that appears at rest image and I picture.Still suppose that breakpoint is fixing breakpoint 11.
As with the corresponding form of first runlength encoding method in; Can be at breakpoint greater than 11; For example breakpoint is in 22 the form, and for being adapted to " soft " thus breakpoint allows to exist the form of the distance of swimming that extends beyond breakpoint, in one embodiment; The unique escape code that is represented as ESC2 is here used in second coding method; The back then is directed against the fixed length code of the length of the distance of swimming, for example is used to adapt to the most nearly 5 codes of the distance of swimming of 32 continuous null values, perhaps is used to adapt to the most nearly 6 codes of the distance of swimming of 64 continuous nonzero values.
Form 7: to the code of the zero distance of swimming in the first area
Cluster mode Huffman code Code length
0 0 1
00 101 3
000 1001 4
0000 10001 5
00000 100001 6
000000 1000001 7
0000000 10000001 8
00000000 100000001 9
000000000 1000000001 10
0000000000 10000000001 11
00000000000 10000000000 11
EOB 111 3
Notice that form 7 comprises that it all is zero that the EOB code is indicated the remainder of series.
Below form 8 show the embodiment according to the code table of the 3rd runlength encoding method of the zero range coefficient distance of swimming in the second area that can be applicable to appear at rest image and I picture.
Form 8: to the code of the zero distance of swimming in the second area
Run length Code Code length
0 111 3
1 101 3
2 1001 4
3 1100 4
4 0101 4
5 0100 4
6 100011 6
7 1000101 7
8 10000010 8
9 100010010 9
10 10000000 8
11 10000001 8
12 1000100110 10
13 1000001100 10
14 or more The ESC3+6 bit length 12
EOB 00 2
Wherein ESC3 is an escape code, and its indication back is to 6 codes of length greater than the run length of 13 the distance of swimming.In one embodiment, ESC3 is 6 codes, and after the ESC3 code, uses 6 to come the run length of null value is encoded.Therefore, code can be above 12.
The sample code form of elementary mixing VLC method: amplitude code
In one embodiment, two kinds of amplitude code A (i), i=1,2 ... and A " (k), k=1,2 ... be respectively to be the code that one group of typical image is confirmed through experiment through the statistical information of determining the non-zero magnitude in present first and second zones.An embodiment of each in the amplitude form in first and second zones is shown following form 9 and form 10 respectively.Each form in these forms all utilizes typical rest image to confirm.Each form comprises the code word of amplitude (as symbol), this amplitude and the length of code word.Also show the frequency of occurrences and for the total bit of typical rest image.
In form 9, utilize 6 escape codes add to amplitude and symbol 7 come to 16 or higher amplitude encode.Alternate embodiment is used the coding form with 63 clauses and subclauses that symbol and amplitude are encoded simultaneously.
In form 10, the amplitude greater than 16 possibly appear in second area hardly, therefore do not comprise code for such higher amplitude.In alternate embodiment, comprised relatively long code for the amplitude greater than 16 that possibly appear under the abnormal conditions.
Form 9: the amplitude code in the first area
Figure BSA00000749427800291
Form 10: the amplitude code in the second area
Figure BSA00000749427800301
The equipment that is used for elementary mixing VLC method
Being on the other hand of elementary mixing VLC method invention is used for equipment that digital signal series (the for example orderly series of the quantization parameter of the video data block after the conversion) is encoded.
Fig. 5 shows an embodiment of the equipment that is used for encoding according to above-mentioned VLC form.An embodiment uses three lookup table, for example is stored in above table 6, form 7 and form 8 in the memory 506.Counter 508 in the Identification of events device 502 is counted number of coefficients according to the order of series; Thereby through confirming that coefficient is before breakpoint or inform that after breakpoint Identification of events device 502 incidents are in the first area or at second area that said breakpoint also is stored in the memory 506.Identification of events device 502 is confirmed the run lengths of zero range coefficients continuously, the run length of the continuous distance of zero mark degree amplitude in the time of in the first area and the run length of zero range coefficient continuously in second area the time.For the first area, zero run length (a plurality of zero or do not have zero) is transmitted with amplitude (0 or non-zero).In one embodiment, when also transmit code is worth in second area with indication.These outputs of Identification of events device 502 are imported in the encoder 504, and in one embodiment, encoder 504 comprises that the equipment of searching is to search suitable in employed five a code table form.
Though the embodiment shown in Fig. 5 has the memory 506 of the store look-up tables lattice that are separated with the equipment of searching, in another embodiment, the equipment of searching comprises the memory that is used for the storage code form.
The alternate embodiment of Fig. 5 comprises in the code that Identification of events device 502 is generated whether about coefficient be the indication of last coefficient in the piece.This provides a kind of PCT patent of mentioning of being similar to announce the expansion to traditional 3-D VLC described in the WO 9318616 in the above.
Elementary mixing VLC method invention be a kind of equipment that is used for utilizing any new method bitstream encoded described here to decode on the other hand.Fig. 6 shows an embodiment of this equipment.Code word identifier 602 receives each position in the bit stream, and discerns the code word in one group of possible code word representing an incident separately.The code word identifier confirms code word is from which form in five coding forms.Decoder 604 is coupled to code word identifier 602, and confirms to by the data of the code word of code word identifier identification, for example the run length of non-zero, zero run length, symbol etc.In one embodiment, decoder 604 comprises the equipment of searching, and it searches the suitable decoding form that is stored in the memory 606.This form is that at least some code words in the Codeword Sets provide incident.Other code word can comprise escape code, thereby can use the method that is different from the table lookup method to decode.In one embodiment, bit stream is stored in the buffer 608, and the output of buffer is coupled to the code word identifier.
Though in the embodiment shown in Fig. 6, memory is illustrated as and searches equipment and is separated, those skilled in the art should be understood that in other alternative embodiments that the equipment of searching comprises table memory, and comprises other such embodiment here.
Attention is in Fig. 5, and the Identification of events device can be used as the one group of instruction that is stored in the memory (for example memory 506) with the equipment of searching and realizes on computers that respectively said instruction indicates one or more processors to carry out identification and search operation.
Be also noted that in Fig. 6 the code word identifier can be used as the one group of instruction that is stored in the memory (for example memory 606) with the equipment of searching and realizes on computers that respectively said instruction indicates one or more processors to carry out identification and search operation.
The memory that is a kind of memory encoding data structure on the other hand (the for example memory among Fig. 5 506) of elementary mixing VLC method invention, said data structure provides code word according to the group that is described as one or more coefficients of any new coding method described here.In one embodiment, this data structure is taked the form of one or more forms.
Elementary mixing VLC method invention be a kind of memory (the for example memory among Fig. 6 606) of storing decoding data structure on the other hand, said data structure provides the data to arbitrary set of code words of in the bit stream of compressing image data, discerning.Said bit stream is utilized any new coding method described here and encodes.In one embodiment, this data structure is taked the form of one or more forms.
Therefore, described and be suitable for variable length decoding method that the quantization transform coefficient that appears at the image block in the common method for compressing image is encoded.
An embodiment of elementary mixing VLC method uses five independently forms: two run length code table that are used for first and second runlength encoding methods; Be used in the first amplitude code table in the first area, the second amplitude code table that is used for another run length code table of the 3rd runlength encoding method and is used in second area.
The extended hybrid VLC method that is used for second area
One aspect of the present invention of in extended hybrid VLC method, describing is, in second area, uses the second area coding method, and it has considered that the amplitude that ends at is the appearance of the zero valued coefficients distance of swimming of 1 coefficient.More generally, this aspect has considered that the distance of swimming of the value of most probable appearance is followed a secondly situation of the amplitude of most probable appearance at the back in the series.The second area coding method of extended hybrid VLC method comprises that sign comprises the incident of the distance of swimming of the continuous signal (the for example zero valued coefficients in the second area) with value that most probable occurs of the amplitude that ends at next most probable and occur (for example 1), and uses the 3rd coding method that the incident that identifies in the second area is encoded.
One embodiment comprises of the second area coding method of extended hybrid VLC method, from the beginning of second area, sign ends at the distance of swimming of the zero valued coefficients of non-zero coefficient amplitude; And use the 3rd runlength encoding method that the run length of the distance of swimming that each ends at the zero valued coefficients of non-zero magnitude is encoded; Said the 3rd runlength encoding method provides code for each distance of swimming, the code of for example being represented by the run length form shown in the following form 11, wherein C " ' (i); i=0; 1,2 ... expression is used for run length code that the run length that ends at 1 i continuous 0 is encoded.
Form 11
Figure BSA00000749427800331
Form 11 has comprised that also it is not the situation (for example its amplitude is greater than 1) of the amplitude that occurs of next most probable that code is indicated the non-zero magnitude of ending, and promptly the distance of swimming is to end at the situation of the continuous coefficients with amplitude that most probable occurs (for example 0) that amplitude is not the coefficient (for example its amplitude is greater than 1) of the amplitude that occurs of next most probable.Because this incident is considered to unlikely occur, so we are referred to as " exception ".In form 11, exception is represented as Exc.An aspect according to extended hybrid VLC method utilizes code word that this exception is encoded, and just looks like to end at 10 the distance of swimming then second escape code (be represented as ESC " ') back is then the same to the coding of amplitude more at the back.
It all is 0 that another aspect of the present invention is to use ending code (being represented as EOB here) to indicate coefficient remaining in the second area.
As an example, suppose along the orderly series of the quantization parameter of the predefined paths of second area be:
0?0?0?1?0?0?2-1?0?0?0?0?0?1?0?0...0
Use r " ' (i) expression i the distance of swimming of zero valued coefficients continuously that ends at amplitude 1, and use r " ' (i)+Exc representes to end at the distance of swimming greater than i continuous zero valued coefficients of 1 non-zero magnitude, i=0,1,2 ....In one embodiment, suppose be the distance of swimming of zero valued coefficients before each nonzero-value coefficient in the series of second area that therefore second coefficient in two continuous nonzero-value coefficient is the distance of swimming (i=0) of nonzero-value coefficient before.Then the distance of swimming of the series of second area can be written as:
r″′(3)(r″′(2)+Exc)r″′(0)r″′(5)EOB
Wherein to be used to indicate remaining coefficient all be 0 to EOB, and be appreciated that wherein a nonzero-value coefficient is just arranged between each distance of swimming of 0.If the quantization parameter of the specified path in the second area is the value greater than 1; Then in one embodiment; Cataloged procedure comprises the variable-length amplitude code that the amplitude of nonzero-value coefficient is encoded after run length code and exception code, and to the symbol code of the nonzero-value coefficient after 0 the distance of swimming.Use A " ' (k), k=2,3 ... expression is to amplitude 2,3 respectively ... variable-length amplitude code, use S +And S -Expression is directed against the sign bit code of positive coefficient and negative coefficient respectively, and with+represent to be connected in series.
Utilization shows the form 11 according to the code that ends at the run length in 1 the second area of extended hybrid VLC method, then to the result that the distance of swimming in the series of second area is encoded is:
[C″′(3)+S +]+[C″′(2)+ESC″′+A″′(2)+S +]+[C″′(0)+S -]+[C″′(5)+S +]+EOB
Wherein here also to be used for representing being used to indicate remaining coefficient be the code word of 0 value to EOB, and ESC " ' be the escape code that is directed against the exception in the second area.
Above-mentioned elementary mixing VLC method has comprised to those amplitudes being the amplitude code of 1 nonzero-value coefficient.Therefore, if second area in the non-zero quantized coefficients value be mainly ± 1, this performance of this embodiment of extended hybrid VLC method just should be superior to the respective version of elementary mixing VLC method.
Note in one embodiment, to the amplitude coding method that appears at the quantization parameter amplitude in the second area (value A " ' (k), k=2; 3 ...) be different from the amplitude coding that is directed against the quantization parameter amplitude in the first area that appears at (value A (i), i=1; 2 ...).For example, for common image, the amplitude in the expection second area (for example high-frequency region) mainly is than the lower value of amplitude that appears in the first area (for example low frequency region).
Extended hybrid VLC method is the improvement to elementary mixing VLC method, and maybe be more outstanding for the low bit rate motion compensation encoding.Along with the exploitation of more advanced motion compensation technique, it also can be used for the interframe encode of higher bit rate.
Be defined for the breakpoint in two zones of elementary mixing VLC method and extended hybrid VLC method
A version uses fixedly breakpoint between first (for example low frequency) zone and second (for example high frequency) zone.In one embodiment, come to confirm fixing breakpoint in advance about the statistical information of one group of typical sample of this image through the collection that experimentizes to every type of image and every type of compression method.Usually, confirm different breakpoints for scenario:
● the interior and still image coding Vs. interframe encode of frame;
● standard definition television image (SDTV) vs.HDTV image;
● high bit rate coding method vs. low rate encoding method;
● the non-dct transform of DCT vs.;
Or the like.
When using fixing (for example selecting in advance) breakpoint, indication has been delivered to the type (for example be interframe or frame in) of decoder with indicating image, the perhaps type (high bit rate or low bit rate) of coding.Therefore, do not need usually to indicate to the decoder transmission of breakpoint again.In one embodiment; First breakpoint is used to the interframe data to first kind of interframe encode; The relative interframe encode of higher bit rate for example, and second breakpoint is used to the interframe data to second kind of interframe encode, the for example interframe encode of relatively low bit rate.
The inventor carries out variable length code through fundamental sum extended hybrid VLC method embodiment according to the present invention and draws the size of compressed image for the situation of using DCT to be quantized into 8 * 8 piece of 127 non-zero magnitude to different break values; Typical rest image has been carried out testing (this experiment also can be applicable to the I picture in the dynamic coding); Though and observe some image and be suitable for and be approximately 10 breakpoint, breakpoint 22 is applicable to most of images.Therefore, being used for carrying out the I picture of dct transform coding and an embodiment of rest image, use the fixedly breakpoint of selecting in advance 22.
In first kind of variant, breakpoint depends on image, and chooses from finite aggregate according to the Cut Selection standard.For example, according to above-mentioned experiment, the compression of using first breakpoint 22 and the compression of using second breakpoint 10 are compared, and use the breakpoint of realizing bigger compression.Other Cut Selection standard also is fine, and for example passes through the statistical information of the distance of swimming of observation zero valued coefficients and nonzero-value coefficient.
When having used this breakpoint that depends on image, the indication of breakpoint also is sent out with each coefficient sets.In one embodiment, 2 indication is sent out.A breakpoint that makes each piece can be utilized in 4 predetermined breakpoints is like this encoded.In alternate embodiment, the indication of predetermined breakpoint is sent out as variable-length codes, makes to utilize short code to come more common breakpoint is encoded.
Though set that usually maybe breakpoint is a very little subclass in the position possible in the series; But in another kind of variant; The breakpoint that depends on image can be selected from the series Anywhere, perhaps in alternative variations, can be selected from along subrange Anywhere.
When breakpoint defined the fixed boundary between first area and the second area, this border was called as " firmly " border here.Similarly, one group of breakpoint can limit one group of bounds.Utilize bounds, through the continuous nonzero value sequence of breakpoint or continuously the zero valued coefficients sequence be counted as until first sequence in the first area till the breakpoint and in second sequence from breakpoint second area backward.
In alternate embodiment, breakpoint limits alleged " soft " border here, because any continuous null value or the nonzero value sequence that start from the first area will encode in the first area, even its is through breakpoint.Therefore, the actual boundary to the particular factor piece may surpass breakpoint.For example, consider the orderly series of the digital signal of following coefficient:
2?3?2-1-1?1?1?1-1?1?0?1?2?0?0?1-1?1?0?0...
Suppose to use until 7 and comprise 7 breakpoint.
In one embodiment, breakpoint forms bounds.In this case, the first area is:
2?3?2-1-1?1?1
Second area is:
1-1?0?1?2?0?0?1-1?1?0?0...
Therefore use basic or extended hybrid VLC method being encoded to the first area:
C(7)+A(2)+S ++A(3)+S ++A(2)+S ++A(1)+S -+A(1)+S -+
A(1)+S ++A(1)+S +
Use elementary mixing VLC method being encoded to second area:
C″(0)+[A″(1)+S +]+C″(0)+[A″(1)+S]+C″(1)+[A″(1)+S +]+C″(0)+[A″(2)+S +]+C″(2)+[A″(1)+S +]+C″(0)+[A″(1)+S -]+C″(0)+[A″(1)+S +]+...
And use extended hybrid VLC method being encoded to second area:
[C″′(0)+S +]+[C″′(0)+S -]+[C″′(1)+S +]+[C″′(0)+ESC″′+A″′(2)+S +]+[C″′(2)+S +]+[C″′(0)+S -]+[C″′(0)+S +]+...
In another embodiment, breakpoint defines soft border.In this case, for this specific piece, the first area is:
2?3?2-1-1?1?1?1-1
Second area is:
0?1?2?0?0?1-1?1?0?0...
Therefore use basic or extended hybrid VLC method being encoded to the first area:
C(9)+A(2)+S ++A(3)+S ++A(2)+S ++A(1)+S -+A(1)+S -+A(1)+S ++A(1)+S ++A(1)+S ++A(1)+S -
Use elementary mixing VLC method being encoded to second area:
C″(1)+[A″(1)+S +]+C″(0)+[A″(2)+S +]+C″(2)+[A″(1)+S +]+C″(0)+[A″(1)+S -]+C″(0)+[A″(1)+S +]++C″(2)+...
And use extended hybrid VLC method being encoded to second area:
[C″′(1)+S +]+[C″′(0)+ESC″′+A″′(2)+S +]+[C″′(2)+S +]+[C″′(0)+S -]+[C″′(0)+S +]+...
For second embodiment, for this particular block, breakpoint 7 corresponding borders are 9 in other words.
Sample code form: run length code and amplitude code
The run length code that is used for first runlength encoding method, second runlength encoding method and the 3rd runlength encoding method can be arithmetic code or Huffman variable-length code (VLC).Can be through the dissimilar image of experimental check, and to the statistical information of these image collection about the different run lengths that will encode.Then can be based on this statistical information allocation of codes.
Similarly, according to two kinds of amplitude codes of the first and second amplitude coding methods (a kind of to the non-zero magnitude in the first area, and another kind of in the second area greater than 1 amplitude) for example be configured to arithmetic code or Huffman variable-length code (VLC).
Thereby, three kinds of run length codes are arranged, and can represent with the form of three run length coding, RLC forms.Also have two amplitude coding forms.Therefore, an embodiment uses five forms.
A plurality of breakpoints and regional more than two
The form that a breakpoint and two zones are arranged during above embodiment takes to sort.This thought can extend to plural zone, promptly a plurality of breakpoints.For example; One embodiment comprises first low frequency region, second intermediate frequency zone and the 3rd high-frequency region, in said first low frequency region, possibly have the zero valued coefficients distance of swimming and value is 1 or the nonzero-value coefficient distance of swimming of bigger value; In the said second intermediate frequency zone; Possibly have the zero valued coefficients distance of swimming and value is 1 the coefficient distance of swimming, but can not existence greater than the distance of swimming of 1 coefficient, in said the 3rd high-frequency region; Possibly there is the zero valued coefficients distance of swimming, but can not has a lot of nonzero-value coefficient distances of swimming.Therefore, a kind of alternative runlength encoding method comprises that two breakpoints of use limit first, second and the 3rd zone.In the first area, the sign nonzero-value coefficient distance of swimming and the zero valued coefficients distance of swimming, and use first runlength encoding method and second runlength encoding method that the non-zero magnitude and the run length of zero range coefficient are encoded.In second area, the sign amplitude is 1 the coefficient distance of swimming and the zero valued coefficients distance of swimming, and to use the 3rd runlength encoding method and the 4th runlength encoding method respectively be that 1 coefficient is encoded with the run length of zero range coefficient to amplitude.In the 3rd zone, the sign zero valued coefficients distance of swimming, and use the 5th runlength encoding method that the run length of this null value distance of swimming is encoded.
In some zones, also can use other scheme, for example the 2D-VLC of 2D-VLC and expansion.
The equipment that is used for extended hybrid VLC method
Extended hybrid VLC method invention be to be used for equipment that digital signal series (the for example orderly series of the quantization parameter of the video data block of conversion) is encoded on the other hand.
Fig. 7 shows an embodiment of the equipment that is used for encoding according to VLC form described here.An embodiment uses three lookup table, for example to the form of the code of the distance of swimming of the non-zero in the first area, to the form of the code of the distance of swimming of zero in the first area and to the form of the code of zero the distance of swimming of the amplitude that ends at 1 in the second area.These forms (for example to the form of the code of first area with to the form of the code in the second area) are stored in the memory 706.Counter 708 in the Identification of events device 702 is counted number of coefficients by the order of series; And through confirming that coefficient is before breakpoint or inform that after breakpoint Identification of events device 702 incidents are in the first area or in second area that said breakpoint also is stored in the memory 706.Identification of events device 702 is confirmed the run length of zero range coefficient continuously, the run length of the continuous distance of zero mark degree amplitude in the first area and the run length of zero range coefficient continuously that in second area, ends at amplitude 1 or other amplitude.For the first area, zero run length (a plurality of zero or do not have zero) is transmitted with amplitude (0 or non-zero).In one embodiment, when also transmit code is worth in second area with indication.These outputs of Identification of events device 702 are imported in the encoder 704, and in one embodiment, encoder 704 comprises that the equipment of searching suitable in employed five a code table form.
Though the embodiment shown in Fig. 7 has the memory 706 of the store look-up tables lattice that are separated with the equipment of searching, in another embodiment, the equipment of searching comprises the memory that is used for the storage code form.
The alternate embodiment of Fig. 7 comprises in the code that Identification of events device 702 is generated whether about coefficient be the indication of last coefficient in the piece.This provides a kind of PCT patent of mentioning of being similar to announce the expansion to traditional 3-D VLC described in the WO 9318616 in the above.
Extended hybrid VLC method invention be a kind of equipment that is used for utilizing any new method bitstream encoded described here to decode on the other hand.Fig. 8 shows an embodiment of this equipment.Code word identifier 802 receives each position in the bit stream, and discerns the code word in one group of possible code word representing an incident separately.The code word identifier confirms code word is from which form in five code table.Decoder 804 is coupled to code word identifier 802, and confirms to by the data of the code word of code word identifier identification, for example the run length of non-zero, zero run length, symbol etc.In one embodiment, decoder 804 comprises the equipment of searching, and it searches the suitable decoding form that is stored in the memory 806.This form provides the incident at least some code words in the Codeword Sets.Other code word can comprise escape code, therefore can use the method that is different from the table lookup method to decode.In one embodiment, bit stream is stored in the buffer 808, and the output of buffer is coupled to the code word identifier.
Though in the embodiment shown in Fig. 8, memory is illustrated as and searches equipment and is separated, those skilled in the art should be understood that in other alternative embodiments that the equipment of searching comprises table memory, and comprises other such embodiment here.
Attention is in Fig. 7, and the Identification of events device can be used as the one group of instruction that is stored in the memory (for example memory 706) with the equipment of searching and realizes on computers respectively that said instruction indicates one or more processors to carry out identification and search operation.
Be also noted that in Fig. 7 the code word identifier can be used as the one group of instruction that is stored in the memory (for example memory 706) with the equipment of searching and realizes on computers respectively that said instruction indicates one or more processors to carry out identification and search operation.
Another apparatus embodiments that realizes the equipment of extended hybrid VLC method is shown as the equipment 900 among Fig. 9, and it comprises treatment system 902, and treatment system 902 comprises one or more processors 904 and memory 906.A processor has been shown among Fig. 9, can have represented several processors but those skilled in the art are to be understood that this.Similarly, only show a memory sub-system 906, can comprise different elements such as RAM, ROM etc. but those skilled in the art are to be understood that memory sub-system.In addition, the memory sub-system intention comprises any non-volatile memory device such as magnetic or optical storage assembly.Computer program 908 is comprised and is written in the memory 906.Note whenever it will be appreciated by those skilled in the art that some part in the program can be in the different piece of memory sub-system.Program 908 comprises instruction, and instruction processorunit is realized different coding method described here, for example extended hybrid VLC method with different versions.Can illustrate in greater detail Fig. 9 in the part that is entitled as " the Code And Decode equipment that comprises processor " below.
Another apparatus embodiments is shown as the decoding device 1000 among Figure 10, and it comprises treatment system 1002, and treatment system 1002 comprises one or more processors 1004 and memory 1006.A processor has been shown among Figure 10, and those skilled in the art are to be understood that it and can represent several processors.Similarly, only show a memory sub-system 1006, can comprise different elements such as RAM, ROM etc. but those skilled in the art are to be understood that memory sub-system.In addition, the memory sub-system intention comprises any non-volatile memory device such as magnetic or optical storage assembly.Computer program 1008 is comprised and is written in the memory 1006.Note whenever it will be appreciated by those skilled in the art that some part in the program can be in the different piece of memory sub-system.Program 1008 comprises instruction, and instruction processorunit is realized different coding method described here, for example extended hybrid VLC method with different versions.Can illustrate in greater detail Figure 10 in the part that is entitled as " the Code And Decode equipment that comprises processor " below.
Another aspect of the present invention is a kind of memory (the for example memory 906 among the memory among Fig. 7 706 or Fig. 9) of memory encoding data structure, and said data structure provides code word according to the group that is described as one or more coefficients of any new coding method described here.In one embodiment, this data structure is taked the form of one or more forms.
Another aspect of the present invention is a kind of memory (the for example memory 1006 among the memory among Fig. 8 806 or Figure 10) of storing decoding data structure, and said data structure provides the data of arbitrary set of code words of discerning in the bit stream to compressing image data.Said bit stream is utilized any new coding method described here and encodes.In one embodiment, this data structure is taked the form of one or more forms.
An embodiment of extended hybrid VLC method invention uses five independently forms: two run length code table that are used for first and second kinds of coding methods; Be used in the first amplitude code table in the first area, the second amplitude code table that is used for another run length code table of the third coding method and is used in second area.
Multiclass VLC method
The multiple cataloged procedure to the orderly series of the quantization parameter of changing image data block is used in an aspect of multiclass VLC method.The combination of cataloged procedure presentation code method or coding method.With the same in elementary mixing VLC method and the extended hybrid VLC method, obtain series through selected path scanning quantization transform coefficient on transform domain usually.Quantization parameter series is divided into a plurality of types according to the distribution form of coefficient in the series.For each type, use corresponding one group of one or more cataloged procedure that provide to come series is encoded.Therefore, the distribution of determined quantization transform coefficient is depended in the coding method that is applied to data block.
In an embodiment of multiclass VLC method, above-mentioned elementary mixing VLC method and extended hybrid VLC method provide the multiclass coding method.
Through quantization parameter series being divided into four types of classification that quantization parameter series is described.But the present invention is not limited to this classification number.
Above-mentioned elementary mixing VLC method and extended hybrid VLC method have been described series and how to be divided into a plurality of zones.For illustrative purposes, mainly with regard to two zones, said two zones can be called as low frequency region and high-frequency region in following description.For the class that comprises such two zones, established along the breakpoint in the path of the ordering of coefficient, to identify first (for example low frequency) zone and second (for example high frequency) zone.
The video data block of form of ordered sequence of taking quantization transform coefficient earlier by scanning (" prescan "), and is divided into following four types before coding, here type of being expressed 1, types 2, types 3 and class 4.
Type 1 (the big value zone that formation is trooped): a lot of nonzero-value coefficient along the ordering of coefficient have nonzero value, comprise not being ± 1 nonzero value in a large number.Nonzero-value coefficient forms in whole ordering troops, and makes that not have breakpoint clearly identify nonzero-value coefficient wherein along the path of the ordering of coefficient forms the first area (for example low frequency region) of trooping and the second area (for example high-frequency region) of nonzero-value coefficient dispersion wherein.
Types 2 (formation big value zone of trooping and the zones that disperse): a large amount of (for example more than the 4) nonzero-value coefficient along the ordering of coefficient have nonzero value, comprise that (for example more than 2) in a large number are not ± 1 nonzero value.Exist breakpoint to identify nonzero-value coefficient wherein along the path of the ordering of coefficient and form second (for example high frequency) zone that first (for example low frequency) zone of trooping and nonzero-value coefficient are wherein disperseed basically.
Types 3 (formation troop little value zone regional with the little value of disperseing): the nonzero-value coefficient along the ordering of coefficient in fact mainly is coefficient ± 1.Exist breakpoint to identify nonzero-value coefficient wherein along the path of the ordering of coefficient and form second (for example high frequency) zone that first (for example low frequency) zone of trooping and nonzero-value coefficient are wherein disperseed basically.
Types 4 (the little value of dispersion is regional): the nonzero-value coefficient along the ordering of coefficient in fact mainly is coefficient ± 1.Nonzero-value coefficient is all disperseed in whole ordering, makes that not have breakpoint clearly identify nonzero-value coefficient wherein along the path of the ordering of coefficient forms the first area (for example low frequency region) of trooping and the second area (for example high-frequency region) of nonzero-value coefficient dispersion wherein.
For each type, use the respective coding process, this cataloged procedure can comprise the combination of using coding method.Be employed coding method below.
The big value region method that exemplary formation is trooped
In the combination that is called as " the big value region method that formation is trooped "; The combination of following coding method is used in such zone; Said zone can be whole; Wherein nonzero-value coefficient (in general being the coefficient with the value that is not that most probable occurs) comprises amplitude greater than 1 number (in general being that amplitude is not the value that next most probable occurs), and wherein nonzero-value coefficient (in general being the coefficient with the value that is not that most probable occurs) forms and troops.This method comprises the distance of swimming that identifies nonzero-value coefficient and the distance of swimming of zero valued coefficients.Use first runlength encoding method that the length of the nonzero-value coefficient distance of swimming is encoded.Use the first amplitude coding method that the amplitude in the nonzero-value coefficient distance of swimming is encoded.Use the encoding symbols of sign bit to nonzero-value coefficient.Use second runlength encoding method that the length of the zero valued coefficients distance of swimming is encoded.Referring to the more detailed description of above-mentioned elementary mixing VLC method to first and second runlength encoding methods and the first amplitude coding method.
In one embodiment; Use the run length coding, RLC form to realize first and second runlength encoding methods respectively; Search first coding form thereby the coding that for example make to use first runlength encoding method comprises, use the coding of second runlength encoding method to comprise and search second coding form.
Above form 3 and form 4 be respectively to be used for exemplary run length code table that the distance of swimming of continuous nonzero-value coefficient and the distance of swimming of zero valued coefficients are continuously carried out variable length code.(z) expression is to the distance of swimming and the individual code of the distance of swimming of zero valued coefficients continuously of z of n continuous nonzero-value coefficient respectively for C (n) and C ', and wherein n and z are run lengths, n, and z=1,2 ....
As an example, the orderly series of supposing the quantization parameter in the ordering path in the first frequency zone starts from:
2?3?2-1?0?1?2?0?0?1-1?1?0?0...
In order to confirm run length, this series can be written as:
x?x?x?x?0?x?x?0?0?x?x?x?0?0...
Wherein x representes arbitrary nonzero-value coefficient, 0 expression zero valued coefficients.
With r (n) expression n the distance of swimming of nonzero coefficient continuously, and use r ' (z) represent the distance of swimming of the individual continuous zero valued coefficients of z.Then the ordered sequence of this example starts from:
r(4)r’(1)r(2)r’(2)r(3)r’(2)...
To run length and can not be written as the amplitude of this pattern result who obtains that encodes:
C(4)C’(1)C(2)C’(2)C(3)C’(2)...
In order to accomplish this coding method, with having of being comprised of the code word of each nonzero-value coefficient distance of swimming to the code word of each amplitude in the distance of swimming and maybe be for just also being the extra position of the symbol of each coefficient of negative conversion (dct transform for example commonly used) to coefficient.In one embodiment, use variable-length codes that each amplitude is encoded, and use sign bit each encoding symbols.With A (k), k=1,2,3 ... represent respectively according to the first amplitude coding method to amplitude i=1,2 ... the amplitude code, use S +And S -The sign bit code of representing positive coefficient and negative coefficient respectively, and with+represent to be connected in series.Then above exemplary sequence is encoded as:
[c(4)+A(2)+S ++A(3)+S ++A(2)+S ++A(1)+S -]+c′(1)+[c(2)+A(1)+S ++A(2)+S +]+c′(2)+[c(3)+A(1)+S ++A(1)+S -+A(1)+S +]+c′(2)...
In one embodiment, A (k), k=1,2 ... be variable-length codes, make the non-zero magnitude that most probable occurs (normally 1) have the shorter code word A (1) of code word that occurs the less amplitude of possibility than other.
In one embodiment, suppose that series (if this method is to the serial zone of coefficient then is the zone) starts from the distance of swimming of one or more nonzero-value coefficient.Therefore, first code word is the code word that obtains according to first kind of runlength encoding method all the time.Situation when starting from one or more zero the distance of swimming to series (or zone) comprises that code word is the code to zero the distance of swimming to indicate employed first code.Use therein to form among the first area embodiment that perhaps whole series is encoded of big value region method to series that troops, the DC composition is sent separately, so first coefficient is first non-DC coefficient along ordering.
Therefore, for example be illustrated in the code word of indicating the distance of swimming that starts from one or more zero valued coefficients in first kind of coding method, suppose that coefficient series (subfamily) starts from RP:
0?2?3?2-1?0?1?2?0?0?1-1?1?0?0...
In one embodiment, the code word to this series or subfamily part is:
RP+C′(1)+[C(4)+A(2)+S ++A(3)+S ++A(2)+S ++A(1)+S -]+C′(1)+[C(2)+A(1)+S ++A(2)+S +]+C′(2)+[C(3)+A(1)+S ++A(1)+S -+A(1)+S +]+C′(2)...
In another embodiment, comprise that in coding method indication series does not have the code word of nonzero value.Form the big value region method troop therein and be used among another embodiment of first area, such code word is used to also indicate that all remaining coefficients all are 0 in the first area.This code word here is called as and jumps to border (SKP).If note not having in next zone nonzero coefficient or do not have second area, then the SKP code just is equal to ending (EOB) code of piece.
Exemplary discrete areas method
In the combination that is called as " discrete areas method "; The combination of following method is used in such zone; Said zone can be whole; Wherein nonzero-value coefficient (in general being the coefficient with the value that is not that most probable occurs) comprises in a large number the amplitude (in general amplitude is not the value that next most probable occurs) greater than 1, and wherein the nonzero-value coefficient major part is disperseed.This method comprises the distance of swimming of sign zero or a plurality of zero valued coefficients, in general is the distance of swimming that zero or a plurality of has the coefficient of the value that most probable occurs.Use the 3rd runlength encoding method that the length of the zero valued coefficients distance of swimming is encoded.The zero that each is such or the distance of swimming of a plurality of zero valued coefficients end at a nonzero-value coefficient.Use the second amplitude coding method that the amplitude of these nonzero-value coefficient is encoded.Use the encoding symbols of sign bit to nonzero-value coefficient.Referring in following and the above-mentioned elementary mixing VLC method to the more detailed description of the 3rd runlength encoding method and the second amplitude coding method.
In one embodiment, use the 3rd runlength encoding method to encode to comprise and search the 3rd run length coding, RLC form.
Above form 5 are the exemplary coding forms that are used for the zero valued coefficients distance of swimming of zone or series is carried out variable length code, in said zone or series, nonzero value disperses and possibly comprise that some amplitudes are greater than 1 coefficient.Form 5 has been described the 3rd runlength encoding method that code is provided for each zero valued coefficients distance of swimming.C " (z), z=0,1,2 ... expression is used for run length code that the run length of z continuous 0 is encoded, z=0 wherein, and 1,2 ...
In a variant of the present invention that can be applicable to final area (when series is divided into a plurality of zone) or single zone, using the ending code that is represented as EOB here to indicate coefficient remaining in final area or the series all is zero.
As an example, suppose that the zone that disperses is second in two zones, and following along the orderly series of the quantization parameter of the predefined paths of discrete areas:
0?0?0?1?0?0?1?-2?0?0?0?0?0?1?0?0...0
This series can be written as:
0?0?0?x?0?0?x?x?0?0?0?0?0?x?0?0...0
Wherein x representes arbitrary nonzero-value coefficient, and 0 expression zero valued coefficients.
Use r " (z) represent z the distance of swimming of zero valued coefficients continuously, z=0,1,2 ....In one embodiment, supposing that the front of each nonzero-value coefficient in the series of second area is the distance of swimming of zero valued coefficients, is the distance of swimming (z=0) that does not have zero valued coefficients before second nonzero-value coefficient in two continuous nonzero-value coefficient therefore.The ordered sequence of the distance of swimming of the above-mentioned exemplary zero in the second area can be written as:
r”(3)r”(2)r”(0)r”(5)EOB
Wherein to be used to indicate remaining coefficient all be 0 to EOB, and be appreciated that wherein that between each distance of swimming of zero nonzero-value coefficient is just arranged.Utilize the code of form 5 that run length is encoded, the result the who then distance of swimming in the series of second area is encoded is:
C”(3)C”(2)C”(0)C”(5)EOB
If the quantization parameter of the specified path in the second area is the value greater than 1; Then in one embodiment; Cataloged procedure comprises the variable-length amplitude code that the amplitude of nonzero-value coefficient is encoded after the run length code, and to the symbol code of the nonzero-value coefficient after 0 the distance of swimming.Use A " (k), k=1,2,3 ... represent respectively according to the second amplitude coding method to amplitude 1,2 ... variable-length amplitude code, represent the sign bit code of positive coefficient and negative coefficient respectively with S+ and S-, and with+represent to be connected in series.Then the exemplary sequence of above-mentioned second area is encoded as:
[C″(3)+A″(1)+S]+[C″(2)+A″(1)+S +]+[C″(0)+A″(2)+S -]+[C″(5)+A″(1)+S +]+EOB
In one embodiment, A " (k), k=1,2 ... be variable-length codes, make the non-zero magnitude that most probable occurs (normally 1) have the shorter code word A of code word that occurs the less amplitude of possibility than other " (1).
Note in one embodiment; Be used for appearing at the quantization parameter amplitude of second area the second amplitude coding method (value A " (k), k=1,2; ...) be different from the first amplitude coding method that is used for appearing at the quantization parameter amplitude that forms the big value zone of trooping (value A (k); k=1,2 ...).In alternate embodiment, identical amplitude coding is used separately as first and second amplitude code A (k) and the A " (k).
In another embodiment, traditional 2D-VLC method is used to nonzero-value coefficient wherein and comprises in a large number the amplitude greater than 1, and the most of zone that disperses of nonzero-value coefficient wherein.
The little value region method of exemplary dispersion
In the combination that is called as " the little value region method of dispersion "; The combination of following method is used in such zone; Said zone can be whole, and wherein nonzero-value coefficient mainly is that amplitude is 1 coefficient, and wherein the nonzero-value coefficient major part is disperseed.This method comprises that sign ends at the zero of a nonzero-value coefficient or the distance of swimming of a plurality of zero valued coefficients.Four runlength encoding method that high-frequency region encoded of use described in above-mentioned extended hybrid VLC method encoded to the length of the zero valued coefficients distance of swimming that ends at nonzero-value coefficient.The amplitude of the nonzero-value coefficient of this coding hypothesis ending is 1, and no longer comprises amplitude coding for this incident.Amplitude is not that 1 ending coefficient is assumed to be exception.Identify this exception, and use exception code (being also referred to as escape code) to indicate this exception.Use the 3rd amplitude coding method that these amplitudes are encoded greater than the amplitude of 1 nonzero-value coefficient.Use the encoding symbols of sign bit to nonzero-value coefficient.Referring in the coding in following and above-mentioned extended hybrid VLC method medium-high frequency zone to the detailed description of the 4th runlength encoding method and the 3rd amplitude coding method.
Code according to the 4th runlength encoding method can be represented with form.Top form 11 shows the form that is used for this code.C " ' (z), z=0,1,2 ... expression is used for this zone or whole series are ended at the run length code that the run length of the z continuous 0 of nonzero-value coefficient is encoded.Form 11 comprises that also being used to indicate the non-zero magnitude of ending is not the code of the situation of modal non-zero magnitude (being that amplitude is greater than 1).Because this incident is considered to unlikely, so we are referred to as " exception ".In form 11, exception is represented as Exc.According to an aspect of the present invention, utilizing code word that this exception is encoded, just looks like to end at 10 the distance of swimming then second escape code (be represented as ESC " ') back is then the same to the coding of amplitude according to the 3rd amplitude coding method more at the back.
It all is 0 that another aspect of the present invention is to use the ending code that is represented as EOB here to indicate coefficient remaining in the second area.
As an example, suppose along the orderly series of the quantization parameter of the regional predefined paths of the little value of disperseing be:
0?0?0?1?0?0?2?-1?0?0?0?0?0?1?0?0...0
Use r " ' (z) expression z the distance of swimming of zero valued coefficients continuously that ends at non-zero magnitude 1, and use r " ' (z)+Esc representes to end at the distance of swimming greater than i continuous zero valued coefficients of 1 non-zero magnitude, wherein z; I=0; 1,2 ... in one embodiment; Supposing to be the zero valued coefficients distance of swimming before each nonzero-value coefficient in the series of second area, is the distance of swimming (z=0) that does not have zero valued coefficients before second nonzero-value coefficient in two continuous nonzero-value coefficient therefore.The distance of swimming of the series in the little value zone that disperses can be written as:
r”’(3)[r”’(2)+Exc”’]r”’(0)r”’(5)EOB
Wherein to be used to indicate remaining coefficient all be 0 to EOB, and be appreciated that wherein a nonzero-value coefficient is just arranged between each distance of swimming of 0.If the value of the quantization parameter of the specified path in the little value zone that disperses is greater than 1; Then in one embodiment; Cataloged procedure comprises the amplitude code that the amplitude to nonzero-value coefficient of using the 3rd amplitude coding method is encoded after run length code and exception code, and to the symbol code of the nonzero-value coefficient after 0 the distance of swimming.Use A " ' (k), k=2,3 ... respectively expression use the 3rd amplitude coding method to amplitude 2,3 ... the amplitude code, use S +And S -The sign bit code of representing positive coefficient and negative coefficient respectively, and with+represent to be connected in series.Use code, then be the result that the distance of swimming in the series in the second area is encoded to the form 11 of run length:
[C″′(3)+S +]+[C″′(2)+ESC″′+A″′(2)+S +]+[C″′(0)+S -]+[C″′(5)+S +]+EOB
Wherein EOB is zero code word at this coefficient that also is used to indicate the indication remainder, and ESC " ' be escape code to the exception in the second area.
In one embodiment, to the 3rd amplitude coding method of quantization parameter amplitude (value A " ' (k), k=2; 3; ...) use variable-length codes, so hypothesis amplitude 2 is bigger than the appearance possibility of bigger amplitude, then amplitude code A " ' (k) than short to code greater than 2 amplitude.
Be also noted that in one embodiment, to the 3rd amplitude coding method of quantization parameter amplitude (value A " ' (k), k=1; 2 ...) be different from the second amplitude coding method to the quantization parameter amplitude (value A (k), k=1; 2 ...) and the second amplitude coding method (be worth A " (k), k=1; 2 ...).
The little value region method that exemplary formation is trooped
In the combination that is called as " the little value region method that formation is trooped "; The combination of following method is used in such zone; Said zone can be whole, and wherein nonzero-value coefficient mainly is that amplitude is 1 coefficient, and wherein nonzero-value coefficient comprises sizable trooping.This method comprises that the sign amplitude is the distance of swimming of 1 coefficient and the distance of swimming of zero valued coefficients.Using the 5th runlength encoding method is that the length of the distance of swimming of 1 coefficient is encoded to amplitude; In one embodiment, in said the 5th runlength encoding method and the superincumbent specification and being used for described in the above-mentioned fundamental sum extended hybrid VLC method first runlength encoding method that the nonzero-value coefficient of low frequency region is encoded identical.In another embodiment, the 5th runlength encoding method is different from first runlength encoding method.Using sign bit is the encoding symbols of 1 coefficient to amplitude.This method comprises that also each amplitude of sign is not 1 nonzero-value coefficient.Use the 4th amplitude coding method that amplitude is encoded greater than the amplitude of these nonzero-value coefficient of 1; In one embodiment; Said the 4th amplitude coding method is identical with the 3rd amplitude coding method in the little value region method that is used in dispersion, and is a kind of different amplitude coding method in another embodiment.Using sign bit is not the encoding symbols of 1 nonzero-value coefficient to amplitude.Use the 6th runlength encoding method that the length of the zero valued coefficients distance of swimming is encoded; In one embodiment; Said the 6th runlength encoding method is identical with above-mentioned second runlength encoding method that is used for the zero valued coefficients distance of swimming of low frequency region is encoded, and this second runlength encoding method is also described in above-mentioned fundamental sum extended hybrid VLC method to some extent.In another embodiment, the 6th runlength encoding method is different from second runlength encoding method.
In the alternate embodiment of the little value region method that formation is trooped, this method comprises the sign nonzero-value coefficient distance of swimming and the zero valued coefficients distance of swimming.Use the 5th runlength encoding method that the nonzero-value coefficient run length is encoded.The amplitude of this coding hypothesis nonzero-value coefficient is 1, and for this incident, no longer comprises amplitude coding.Use the encoding symbols of sign bit to nonzero-value coefficient.This method comprises that also each amplitude of sign is not 1 nonzero-value coefficient.Suppose this spline coefficient seldom (" exception ").This exception is identified, and uses exception code (also being called as escape code) to indicate this exception.Use the 4th amplitude coding method that amplitude is encoded greater than the amplitude of these nonzero-value coefficient of 1.Use the 6th runlength encoding method that the zero valued coefficients run length is encoded.
Then, the combination of said method or method is used to be described below in the appropriate area in each type piece.
The code of noting how confirming coding form is directly according to the Distribution Statistics of coefficient in the image block.In one embodiment, statistics collection information from typical image, and according to statistical information structure run length code table.For example referring to more detailed description in above-mentioned elementary mixing VLC method and the extended hybrid VLC method.
For the 1st type piece, respective coding process (combination of method or method) is to form the big value region method of trooping.
For the 2nd type piece, the combination of respective coding method or method comprises along the path of the ordering of coefficient establishes breakpoint to identify first (for example low frequency) zone and second (for example high frequency) zone.Coding use to low frequency coefficient forms the big value region method of trooping, and the coding in second (for example high frequency) zone is comprised the discrete areas method of using.
For the 3rd type piece, the combination of respective coding method or method comprises along the path of the ordering of coefficient establishes breakpoint to identify first (for example low frequency) zone and second (for example high frequency) zone.Coding use to low frequency coefficient forms the little value region method of trooping, and the coding in second (for example high frequency) zone is comprised the little value region method that uses dispersion.
For the 4th type piece, the combination of respective coding method or method is the little value region method that disperses.
Figure 11 shows the flow chart of method embodiment of the present invention.For the ordered sequence of the quantization transform coefficient of video data block, the orderly series of this quantization parameter of step 1101 scanning is to confirm which type be this coefficient block belong to.According to determined type, following step is among step 1105-1,1105-2,1105-3 and the 1105-4, and above-mentioned steps is carried out the cataloged procedure corresponding to class 1, class 2, class 3 and class 4 respectively.The result who obtains is the bit stream coded to the coefficient of piece.According to determined type, following step is among step 1107-1,1107-2,1107-3 and the 1107-4, these steps respectively to the prefix of the determined corresponding determined bit stream application 2 of class position.
Though in one embodiment, use two fixing code types of indication, in another embodiment, under the bigger situation of the possibility of certain or some other type of analogy appearance, the use average length is less than 2 variable-length codes type of sign.Be also noted that the indication added type can be before the cataloged procedure of reality, afterwards or even carry out as the part of this process.In addition, if the piece that joins the each other piece of the specific region in the zone (for example corresponding to) possibly have identical class, then only add and indicate from a kind of class, rather than interpolation is used for the indication of each piece to alternative variation at interblock.
In alternate embodiment, not before each set of code words of piece, to use code to come representation class, and be to use the difference of differential code word type of indication.This differential coding possibly need less position, because the piece that joins each other possibly be a height correlation.
In addition, in the encoded data stream (for example MPEG) that is used in some type, each video sequence can be by grouping.For example, in MPEG-1, each video sequence is made up of a series of pictures group (GOP).GOP is made up of picture (frame) sequence.Frame is made up of a series of SLICE.SLICE is made up of a series of macro blocks, and macro block is made up of a spot of (for example 4 pieces are represented brightness, and 2 pieces are represented colourity) and (possibility) motion vector.For this embodiment, can on higher rank, classify, for example macro block is perhaps classified on the rank of SLICE or the rank at GOP.This makes that the expense of indication class is less.
In another embodiment, category code is sent separately.Be first and select the first kind.Run length code to changing the number of the piece that will skip up to next type is sent out with the indication about next code.This class that always lasts till all codes all is sent out.
Classification in the multiclass VLC method
According to the type of image block, the classification to quantization parameter series comprises different mode classifications in one embodiment.In this embodiment, a plurality of class depends on that whether image block is in the following situation one or more:
● still image coding vs. moving image encoding;
● infraframe image coder vs. interframe encode;
● standard definition television image (SDTV) vs. high definition TV (HDTV) image;
● high bit rate coding method vs. low rate encoding method;
● the non-dct transform of DCT vs.;
Or the like.
Therefore, according to the one or more image blocks in above various types of image blocks, there are different class groups, mode classification and respective coding process.
Assorting process itself is utilized the data of the coefficient series in the piece, makes to have different classification usually in the same picture frame.This classification is called as and depends on classification of Data.
A version that depends on the classification of Data process in the step 1101 comprises the Distribution Statistics of coefficient in the inspection piece.One or more in one group of statistical measures below this assorting process is used: continuously the run length of nonzero-value coefficient, continuously run length, the nonzero-value coefficient of zero valued coefficients amplitude and series is divided into the separability of the subfamily of two adjacency, said subsystem is classified as has first subfamily that forms the coefficient of trooping and second subfamily with nonzero-value coefficient of dispersion.
Preferable methods is classified through the result of computing application corresponding to inhomogeneous cataloged procedure, and relatively uses the respective coding process and the compression effectiveness that obtains.Figure 12 shows the flow chart of method embodiment; This embodiment comprises that as the part of step 1101, the orderly series of scanning quantization parameter is to confirm which type be coefficient block belong to; And the step 1103 of selecting class; And utilize each respective coding process piece is encoded and comparative result with the step of the method for selecting to provide optimal compression (figure place that promptly is used for encoding block is minimum) (step 1105-1 ..., 1105-4).In step 1206, select optimum kind to piece through selecting to make the minimum code of figure place in the coded data.After the selection, because carried out coding step, so step 1207 is used indication, for example with the form of prefix code.In certain embodiments, adding prefix code can more early carry out.
Figure 13 shows the flow chart of an execution mode, wherein coefficient series is sequentially carried out the respective coding process.After each the such processing that utilizes respective process, compare, and keep to produce a set of code words of the process (being optimal compression) of minimum coding figure place, and about selected type indication.Certainly, utilizing the respective process of each type to encode can be according to any order, and in Figure 13, is illustrated as before this type 1 method, is the method to types 2,3 and 4 afterwards.As shown in Figure 12; At step 1205-1 ..., among the 1205-4; Utilize in the corresponding four kinds of cataloged procedures of different with four classes each that quantization parameter series is encoded; And in step 1307-1, preserve first result, then in step 1307-2,1307-3 and 1307-4, with before the result that preserves respectively with step 1205-2,1205-3 and 1205-4 in new result calculated compare; And if new result is better than the result who preserves before, then preserves better result.Therefore, after step 1205-4, best result is preserved.In step 1309, add the code (for example 2 codes) of indication class, for example as prefix.In another embodiment, whenever first result in step 1307-1,1307-2,1307-3 and 1307-4 or when better the result is preserved, all add prefix.In such embodiment, execution in step 1309 not at last.
Figure 14 shows the flow chart of another execution mode, wherein coefficient series is carried out cataloged procedure 1205-1,1205-2,1205-3 and the 1205-4 that corresponds respectively to each respective class concurrently.Last in applied method in step 1407, compares the result, and which respective coding process to have produced minimum coding figure place type of selection according to.In step 1409, add the code (for example 2 codes) of indication class, for example as prefix.
The breakpoint of localized area in the multiclass VLC method
Some above-mentioned class is included as the breakpoint that quantization transform coefficient series limits first (for example low frequency) zone and second (for example high frequency) zone.Following discussion is applicable to such class and comprises the respective coding process of selecting breakpoint to come the localized area.
For such class, a version uses the fixedly breakpoint between first and second zones.How to select this zone to describe to mixing VLC method and extended hybrid VLC method in advance in the above.
Above-mentioned discussion hypothesis to breakpoint has a breakpoint and two zones in the ordering of the class that comprises two zones to those.
Can use more or less class, and some type can comprise plural zone, promptly a plurality of breakpoints.
As another example, consider to comprise the method that is divided into following two types mode classification:
Class A: the orderly series of coefficient comprises the coefficient with bigger value; Though wherein amplitude 1 is most probable non-zero magnitude; Amplitude 2 is next most probable amplitude, and the rest may be inferred, can limit breakpoint series is divided into low frequency region and high-frequency region; Make nonzero-value coefficient in low frequency region, form and troop, in high-frequency region, disperse.
Class B: the nonzero-value coefficient in the orderly series of coefficient mainly is that amplitude is 1 coefficient, wherein can limit breakpoint series is divided into low frequency region and high-frequency region, makes nonzero-value coefficient in low frequency region, form and troops, and in high-frequency region, disperses.
In the embodiment of type of comprising A and B, following method makes up corresponding to each type:
Piece for class A: the combination of respective coding method or method comprises along the path of the ordering of coefficient establishes breakpoint to identify first (for example low frequency) zone and second (for example high frequency) zone.Coding use to low frequency coefficient forms the big value region method of trooping, and the coding in second (for example high frequency) zone is comprised the discrete areas method of using.
Piece for class B: the combination of respective coding method or method comprises along the path of the ordering of coefficient establishes breakpoint to identify first (for example low frequency) zone and second (for example high frequency) zone.Coding use to low frequency coefficient forms the little value region method of trooping, and the coding in second (for example high frequency) zone is comprised the little value region method that uses dispersion.
In addition, use of the class indication of an overhead digit as each piece.In one embodiment, an indication is used as bits of coded prefix before.
As another embodiment, in one or more types, can limit plural zone, a class can comprise first low frequency region, second intermediate frequency zone and the 3rd high-frequency region; In said first low frequency region; Possibly have the zero valued coefficients distance of swimming and value is 1 or the bigger nonzero-value coefficient distance of swimming, and in the said second intermediate frequency zone, possibly have the zero valued coefficients distance of swimming and value is 1 the coefficient distance of swimming; But can not there be the distance of swimming greater than 1 coefficient; In said the 3rd high-frequency region, possibly there is the zero valued coefficients distance of swimming, but can not has a lot of nonzero-value coefficient distances of swimming.The respective coding process (combination of method or method) that is used for such class comprises uses two breakpoints to limit first, second and the 3rd zone.In the first area, the sign nonzero-value coefficient distance of swimming and the zero valued coefficients distance of swimming, and use first runlength encoding method and second runlength encoding method that the non-zero magnitude and the run length of zero range coefficient are encoded.In second area, the sign amplitude is 1 the coefficient distance of swimming and the zero valued coefficients distance of swimming, and to use the 3rd runlength encoding method and the 4th runlength encoding method respectively be 1 to encode with the run length of zero range coefficient to amplitude.In the 3rd zone, the sign zero valued coefficients distance of swimming, and use the 5th runlength encoding method that the run length of this null value distance of swimming is encoded.
The present invention is not limited to any specific group categories or any specific respective coding process to class.Some examples of class and respective coding process have only been described.Expection in the future can be invented other new cataloged procedure, and has had other cataloged procedure, and these other cataloged procedure can be used in different embodiments of the invention.
Co-location and amplitude VLC method
In elementary mixing VLC method and extended hybrid VLC method, alternately use two kinds independently the one dimension variable length decoding method continuous nonzero-value coefficient in the low frequency region and continuous zero valued coefficients are encoded.Hope continuous nonzero-value coefficient and zero valued coefficients are paired into an incident, and to this to using a variable-length.
One aspect of the present invention use distance of swimming back that variable-length codes follows continuous nonzero-value coefficient at the back to the distance of swimming of continuous zero valued coefficients more then the incident of a null value encode.The inventor believe this be in coefficient series or this zone wherein nonzero-value coefficient possibly form the zone of trooping code efficiently is provided.
Consider first kind of traditional 2D-VLC.Form 1 above Figure 15 has provided, as an example, this form has provided the statistical information (being made into two-dimentional form) to the incident of traditional 2D-VLC.This version of form 1 has used the mark different slightly with top form 1.In the form of Figure 15, S 2D(z m) is likelihood, for example be represented as the back for amplitude m (m=1,2 ...) and i (z=0,1,2 ...) and the relative degree that occurs of the distance of swimming of individual continuous zero valued coefficients.
In 2D-VLC, the variable-length codes such as optimum code is assigned to has above-mentioned S 2D(wherein the element of most probable appearance has minimum figure place, and uses maximum figure places that minimum event is encoded for z, each incident in incident m) or at least some incidents.Figure 16 shows the form identical with the top form that has provided the 2D-VLC form as an example 2, and just mark is different slightly.In Figure 16, C 2D(z, m) be used for to z continuous 0 value coefficient at the back then value or amplitude be that the incident of combination of the nonzero coefficient of m is encoded, z=0,1 ... and m=1,2 ....
Suppose that quantization transform coefficient series is:
5100342000201030000000000000000000001000000000000010000000000000
With traditional 2D-VLC this series is encoded to:
C 2D(0,5)+C 2D(0,1)+C 2D(2,3)+C 2D(0,4)+C 2D(0,2)+C 2D(3,2)+C 2D(1,1)+C 2D(1,3)+C 2D(21,1)+C 2D(13,1)+EOB
Wherein+expression serial connection, and C wherein 2D(z; M) expression 2D-VLC code, z representes the number of the zero valued coefficients before the non-zero magnitude value, and the m amplitude of indicating to be encoded (ignore under the situation of symbol and be also referred to as value) value; And wherein EOB representes the code of the ending of indicator collet, and promptly all remaining coefficients all are null value.Do not comprise coding more than the attention to the symbol of coefficient.Therefore those skilled in the art are to be understood that coefficient can be positive number or negative, also will encode with designated symbol to each zero coefficient values with sign bit, perhaps in alternate embodiment, the integral body of each nonzero coefficient of comprising symbol are encoded.In order to make summary of the invention clear, do not comprise symbol under discussion.
Usually use independent amplitude code that DC item (first conversion coefficient) is encoded separately.Code word with DC (m) indication DC amplitude.In this method, can top coefficient sets be encoded to traditional 2D-VLC:
DC(5)+C 2D(0,1)+C 2D(2,3)+C 2D(0,4)+C 2D(0,2)+C 2D(3,2)+C 2D(1,1)+C 2D(1,3)+C 2D(21,1)+C 2D(13,1)+EOB
Wherein EOB is that the remainder of indication series is the code of the zero valued coefficients distance of swimming ,+expression serial connection.In practice, utilize escape code at the back then the regular length code word come that some the less incident of possibility occurred and encode.
Elementary mixing and extended hybrid VLC method have been utilized following characteristics; Promptly, exist to limit the breakpoint that wherein existence forms the first area of the nonzero-value coefficient of trooping and second (for example high frequency) zone that wherein most of nonzero-value coefficient is disperseed for a lot of quantization transform coefficient series.In the first area, the distance of swimming of sign zero valued coefficients and the distance of swimming of nonzero-value coefficient.First variable-length codes is used to the distance of swimming of zero valued coefficients, and second variable-length codes is used to the distance of swimming of nonzero-value coefficient.Therefore, two one dimension run length codes are used alternatingly.DC is encoded separately.Suppose that series starts from the distance of swimming of nonzero-value coefficient, and specific code word indicates that it is the sky distance of swimming, promptly series starts from zero valued coefficients.
Consider above-mentioned series (getting rid of the DC item):
100342000201030000000000000000000001000000000000010000000000000
At first consider the elementary mixing method.For simply, suppose not comprise sign bit in the coding.Suppose that breakpoint is set as 15, define nonzero coefficient wherein often form troop until 15 first area and the second area that often disperses of nonzero-value coefficient wherein.In this case, represent nonzero-value coefficient with x, the first area of series (not having the DC item) can be write:
x00xxx000x0x0x
And second area is:
00000000000000000000x0000000000000x0000000000000
In the first area, with the distance of swimming of n continuous nonzero coefficient of r (n) expression, and use r ' (z) to represent z the distance of swimming of zero valued coefficients continuously, n, z=1,2 ....Then the ordered sequence of example starts from:
r(1)r′(2)r(3)r′(3)r(1)r′(1)r(1)r′(1)r(1)SKIP
For second area, use r " (z), z=0,1 ... represent the distance of swimming of continuous zero valued coefficients.Then according to the elementary mixing method, second area has following incident:
r″(20)r″(13)End
Wherein, SKIP representes that to the remaining part of the coefficient of breakpoint be zero, and End representes that the remaining part of coefficient is zero.
Be used for variable-length codes that the run length of nonzero-value coefficient is encoded according to first variable length decoding method with c (n) expression.Similarly, use c ' (z) to represent to be used for variable-length codes that the run length of the zero valued coefficients of first area is encoded according to second variable length decoding method.Use A (m) expression to be used for again according to the amplitude m of the first amplitude coding method to the nonzero-value coefficient of first area; M=1,2 ... the code word of encoding; And use A " (m) represent to be used for according to the amplitude m of the second amplitude coding method to the nonzero-value coefficient of second area; m=1,2 ... the code word of encoding.
Do not consider sign bit, then the first area is encoded as:
c(1)+A(1)+c′(2)+c(3)+A(3)+A4+A(2)+c′(3)+c(1)+A(2)+c′(1)+c(1)+A(1)+c′(1)+c(1)+A(3)+Skip
And second area is encoded as:
c″(20)+A″(1)+r″(13)+A″(1)+EOB
Wherein the remaining part of SKIP and EOB representative indication series has only the code word of zero valued coefficients, and+the expression serial connection.Attention is according to extended hybrid VLC method, and coefficient amplitude is assumed to be 1, makes that end at an amplitude is that the zero valued coefficients distance of swimming of 1 coefficient no longer needs amplitude coding.Utilize exception code then the amplitude greater than 1 to be encoded at the back to amplitude code greater than 1 amplitude.Therefore, second area will not comprise the amplitude code, because they are to amplitude 1.
In the actual realization of traditional 2D-VLC, in order to reduce the size of coding form, utilizing the front is that the regular length code word of so-called escape code the less incident of possibility occurs to some and encodes.
One aspect of the present invention is to avoid the use of escape code.
Another aspect of the present invention is a kind of method, and the first area that it comprises for series identifies each and comprises the zero valued coefficients distance of swimming then one or more incidents of the nonzero-value coefficient distance of swimming at the back.This method also comprises utilizes a variable-length codes (for example coming from a form) that each this incident that identifies is encoded.Utilize fundamental sum extended hybrid method, utilize two code words that so a pair of incident is encoded according to the first and second one dimension runlength encoding methods.
In one embodiment, the first area is whole quantization transform coefficient series.For simply, at first consider this situation.
Can utilize the run length of null value and nonzero-value coefficient to limit each incident that identifies.Use R ' (z, n) expression z the distance of swimming then n nonzero-value coefficient at the back of zero valued coefficients continuously, z=0,1,2 ... and n=1,2,3 ..., therefore comprise " distance of swimming " that does not have in preceding zero valued coefficients.
Figure 17 A-17D shows the form 12A-12D of the example that incident is shown respectively.In pattern, " x " indicates nonzero value.
Consider series once more:
5100342000201030000000000000000000001000000000000010000000000000
Get rid of DC item (amplitude 5) and do not comprise any symbol data, this serial incident is:
R′(0,1),R′(2,3),R′(3,1),R′(1,1),R′(1,1),R′(21,1),R′(13,1),End
Wherein the remaining part of End indication series is made up of zero valued coefficients.
In one implementation, for each incident, for example collect or as if statistics information, wherein S ' (z in the form the form shown in Figure 18 13; N) expression institute suppose or measures is directed against incident R ' (z, rela-tive likelihood n), z=0,1; 2 ... and n=1,2 ....Form 14 shown in Figure 19 is based in the form 13 institute's statistical information of supposing or collecting and the variable-length codes form that forms.In form 14, C ' (z, n) expression to incident R ' (z, variable-length codes n), z=0,1,2 ... and n=1,2 ....Notice that this form only is used for being encoded in a zone in one implementation, for example first low frequency region of coefficient series.For this situation, also need indicate all coefficients all is zero code, to jump to next zone.
In addition, utilize the amplitude code that any nonzero-value coefficient is encoded, in one embodiment, this is that the variable-length codes of utilizing the statistical information of supposing or collecting according to institute to be represented as coding form realizes.With A (m), m=1,2 ... expression is according to the code of the quantized value m of amplitude coding form.
Therefore, for top series, get rid of the symbol of DC item and coefficient, this series is encoded as:
C′(0,1)+A(1)+C′(2,3)+A(3)+A(4)+A(2)+C′(3,1)+A(2)+C′(1,1)+A(1)+C′(1,1)+A(3)+C′(21,1)+A(1)+C′(13,1)+A(1)+EOB
Wherein, EOB is to be the code word of 0 ending to all remaining code words of indication, and wherein+the expression serial connection.
Because the nonzero-value coefficient distance of swimming is followed at least one zero valued coefficients at the back; Perhaps in improved implementation the nonzero-value coefficient distance of swimming as the end of series, so utilize the incident of this method sign and coding to comprise the zero valued coefficients distance of swimming then nonzero-value coefficient distance of swimming back then zero valued coefficients more at the back.Utilize this incident, each incident can be encoded to more coefficient.Expect that this coding can provide bigger compression.
Therefore the number of this incident may be quite big, causes the code table maybe be quite big.In the 2D-VLC of traditional prior art, through following the size that fixed length code comes limit table at the back for the less incident increase escape code of possibility occurring.In one embodiment of the invention; The size of code table also is limited; Only make the incident of the coefficient that is at most certain maximum number is encoded, and extra code is provided for the full null event of maximum length and the maximum length incident that ends at nonzero coefficient.These special maximum length incidents guarantee to avoid the use of escape code.
Therefore, with R (z, n) expression z continuously zero valued coefficients at the back then n nonzero-value coefficient back follow the distance of swimming of a zero valued coefficients again, z=0,1,2 ... and n=1,2,3 ....Suppose incident deleted the letter for being no more than 12 coefficients.Then for those length less than 12 incident, z+n=11.The incident of 12 coefficients of some z+n=12 is to end at the incident of nonzero-value coefficient, and can be considered to " being deleted letter ", if because what follow is the incident that starts from nonzero-value coefficient the back, then this incident has been avoided the use escape code.A full null event R (12,0) is also deleted the incident of letter.
As an example, Figure 20 A-20F shows form 15A-15F respectively, and each form shows the example of incident.In pattern, " x " indicates nonzero value.It is to comprise being no more than 12 continuous coefficients that these incidents are deleted letter.In Figure 20 F, the length of z+n=12 is that 12 incident is by " ending does not have zero; Avoid escape " indication.And incident R (12,0) is illustrated and is marked as " being zero entirely ".
Figure 21 shows form 16; Comprising collected or hypothesis to the distance of swimming of zero or a plurality of zero valued coefficients then distance of swimming of several nonzero-value coefficient back then rela-tive likelihood of the incident of a zero valued coefficients more at the back, be that 12 incident is not to finish so only according to some length of the embodiment of the invention.Those length that are able to distinguish owing to z+n=12 are that 12 incident is shown as runic, and can be used to avoid ending or escape code.
Figure 22 shows according to the form 17 of the statistical information among Figure 21 to the variable-length codes of incident shown in Figure 21.According to embodiments of the invention, these codes are to the distance of swimming of zero or a plurality of zero valued coefficients then distance of swimming of the nonzero-value coefficient then incident of a zero valued coefficients more at the back.
According to the amplitude code amplitude is encoded, in one embodiment, the amplitude code is the variable-length codes by one dimension amplitude form description.With the code of A (m) expression to amplitude m, m=1,2 ....
Consider following series once more:
5100342000201030000000000000000000001000000000000010000000000000
Wherein first value is the DC value.Get rid of the DC item and do not comprise any symbol data, the incident of this series is:
R(0,1),R(1,3),R(2,1),R(0,1),R(0,1),R(12,0),R(8,1),R(12,0),R(0,1),End,
Wherein the remaining coefficient of End indication all is a null value.Utilize the form 17 of Figure 22 that this series is encoded to:
C(0,1)+A(1)+C(1,3)+A(3)+A4+A(2)+C(2,1)+A(2)+C(0,1)+A(1)+C(0,1)+A(3)+C(12,0)+C(8,1)+A(1)+C(12,0)+C(0,1)+A(1)+EOB,
Wherein EOB representes the ending of piece, and promptly the remaining part of series all is a zero valued coefficients.Suppose not have symbolic information once more more than the explanation and got rid of the DC item.
Zone in 2-D non-zero/zero VLC method of trooping
The inventor notices in the quantization transform coefficient series of the image block of reality to have a breakpoint usually at least, and this breakpoint limits two zones at least, make that nonzero coefficient forms in the zone to troop, and nonzero coefficient disperses often in second area.The basis of fundamental sum extended hybrid VLC method that Here it is.
Two zones and the 2-D non-zero/zero VLC method of trooping
Here described variable length decoding method is applicable to encodes to whole zone or any zone.For example, described variable length decoding method can be applicable to any zone that wherein nonzero-value coefficient formation is trooped.According to above-mentioned elementary mixing and extended hybrid VLC method, (z n) encodes to incident R ' to utilize two run length coding, RLC forms and an amplitude coding form.Utilize some aspects in 2-D non-zero/zero VLC method of trooping, can utilize a run length coding, RLC form and an amplitude coding form that this incident is encoded.In addition, possibly there is the very different zone of statistical information that wherein is directed against this incident.For example, the inventor notices the place that begins at piece, and first of quantization parameter is trooped and compared trooping of back and have bigger amplitude.
In first embodiment, coding method comprises along the path of the ordering of coefficient establishes breakpoint, to identify first (for example low frequency) zone and second (for example high frequency) zone.The coding of the coefficient in the first area is comprised the joint event that sign is following, and this incident comprises second distance of swimming that first distance of swimming with a plurality of continuous zero valued coefficients follows continuous zero or a plurality of nonzero-value coefficient at the back then zero valued coefficients at the back.Utilize each such incident of number sign of zero valued coefficients in number and second distance of swimming of zero valued coefficients in first distance of swimming.
In a version, each incident that identifies only comprises the coefficient that is at most predetermined number, is called as maximum length here.In this case, maybe to continuous zero valued coefficients at the back then the sequence of the nonzero coefficient distance of swimming encode, wherein two run lengths are greater than maximum length.For example, if maximum length is 12, then need encode to following series:
000xxxxxxxxxxxxx0
If allow the incident of any length, then this incident is corresponding to R (3,13).But if maximum length is 12, then an embodiment just is divided into first incident with this incident:
000xxxxxxxxxx
With second incident:
xxxx0。
Therefore, define therein among the embodiment of maximum length, possible incident comprises having maximum length and end at one or more nonzero-value coefficient and do not have the sequence of sequence of the zero valued coefficients of ending.In the zone, follow this incident usually.This makes the incident will have greater than the coefficient of predetermined number encode as a plurality of incidents that have maximum length at the most, and does not use escape code.Two or more incidents that common qualification is followed the nonzero-value coefficient distance of swimming of any length at the back less than the distance of swimming of the zero valued coefficients of maximum length are called as " broad sense incident " here; Because for some purpose; It is counted as an incident, and said purpose for example comprises utilizes so-called soft border to establish first and second zones.Referring to following more detailed description.
In addition; When defining the maximum length id of incident; The incident that all is zero valued coefficients also is defined to realize the coding to " broad sense incident ", and this incident comprises that following one or more nonzero-value coefficient at the back greater than the zero valued coefficients of maximum length follows a zero valued coefficients again.
How establishing breakpoint is described with reference to elementary mixing VLC method and extended hybrid VLC method in the above.
Figure 23 shows form 18, and this form is the form to the actual count information of the incident in the first area of the sample image with the breakpoint 12 that forms soft border.Notice that this form comprises that " skip " code representes to jump to breakpoint, and this form is 12 incident R (12,0) corresponding to breakpoint.In an alternate embodiment; Apart from the border less than any incident R (12 in the scope of 12 coefficients; 0) also be the redirect incident (skip event) that jumps to the beginning of second area, this situation is applicable to bounds, and in second alternate embodiment applicable to soft border; This incident is included in next zone, and the border is moved to the place that begins of this incident.
In the superincumbent description, suppose to use the encoding symbols of individual sign bit to the nonzero-value coefficient in each incident.
Also can utilize similar method that the coefficient in second (for example high frequency) zone is encoded, but to use with the institute second area supposing or measure in the second different coding form that is directed against incident that is complementary of the likelihood of incident.For example, this second coding form will be considered the characteristic that the nonzero-value coefficient in the second area is relatively disperseed.For the image of the interframe encode of relatively low bit rate, this code table will consider that also nonzero-value coefficient possibly mainly be that amplitude is 1.
In an alternate embodiment, traditional 2D-VLC is used to second area.
In another alternate embodiment, be utilized in the second area method of describing in the elementary mixing method coefficient in the second area is encoded.Each distance of swimming that promptly is identified at zero or a plurality of zero valued coefficients in the second area is then nonzero-value coefficient at the back; And the run length code through utilizing the variable length code form is encoded to it, and utilizes the amplitude coding method of the amplitude coding method that is different from the coefficient that is used for the first area usually that the amplitude of nonzero-value coefficient is encoded.It all is null value that the EOB code is used to indicate all remaining coefficients.Use the encoding symbols of sign bit to nonzero-value coefficient.
In another alternate embodiment; Being utilized in the second area method of describing in the extended hybrid method encodes to the coefficient in the second area; This method hypothesis nonzero-value coefficient mainly is that amplitude is 1 coefficient; Therefore be not that 1 coefficient carries out amplitude coding, and to use exception code and code word thereafter be not that 1 coefficient is encoded to amplitude to amplitude.Each distance of swimming that promptly is identified at zero or a plurality of zero valued coefficients in the second area is then nonzero-value coefficient at the back, and through the run length code that utilizes the variable length code form it is encoded.Utilizing exception code to discern any amplitude is not 1 nonzero-value coefficient; And for example utilize escape code that it is encoded, and to utilize the amplitude coding method of the amplitude coding method be different from the coefficient that is used for the first area usually be not that the amplitude of 1 nonzero-value coefficient is encoded to this amplitude.It all is null value that the EOB code is used to indicate all remaining coefficients.Use the encoding symbols of sign bit to nonzero-value coefficient.
Plural zone and 2-D non-zero/zero VLC method of trooping
Alternate embodiment comprises plural zone, and promptly a plurality of breakpoints defines plural zone.For example, the inventor notices that first of nonzero-value coefficient troops and have the bigger amplitude of trooping than the back of nonzero-value coefficient usually.Therefore, in one embodiment, limit the first area with first incident, the distance of swimming that said first incident is zero or a plurality of zero valued coefficients is followed the distance of swimming back of continuous nonzero-value coefficient at the back and is followed a zero valued coefficients again.Utilize first variable-length codes (the for example first variable length code form) that such incident is encoded.Utilize the first amplitude coding method (the for example first variable-length amplitude code) that the amplitude of nonzero-value coefficient is encoded.Utilize the encoding symbols of sign bit again to each nonzero coefficient.Construct the first variable-length event code and the first amplitude coding method based on the statistical information to first incident in the series (ignoring the DC item) reality or hypothesis.
Select breakpoint to limit the second and the 3rd zone.Coding to the coefficient of second area comprises the following incident of sign, first distance of swimming that this incident comprises one or more continuous nonzero-value coefficient at the back then zero valued coefficients back follow second distance of swimming of continuous zero or a plurality of zero valued coefficients again.Utilize each such incident of number sign of zero valued coefficients in number and second distance of swimming of nonzero-value coefficient in first distance of swimming.Each incident that identifies only comprises the coefficient that is at most maximum length.Utilize second variable-length codes (for example using the second variable length code form) that each incident that identifies is encoded.In addition, utilize the second amplitude coding method (the for example second variable-length amplitude code) that the amplitude of nonzero-value coefficient is encoded.Utilize the encoding symbols of corresponding sign bit to nonzero-value coefficient.Utilize the method for describing to high-frequency region in the extended hybrid method to be encoded in the 3rd zone; Said extended hybrid method hypothesis nonzero-value coefficient mainly is that amplitude is 1 coefficient; Therefore be not that 1 coefficient carries out amplitude coding to amplitude, and use exception code at the back then code word to come any amplitude be not that 1 coefficient is encoded.
Other alternative method that comprises zone more than two also is included in the scope of the present invention.A kind of coding method comprise utilize two breakpoints limit first, second with the 3rd zone.In the first area, the sign nonzero-value coefficient distance of swimming and the zero valued coefficients distance of swimming, and use first runlength encoding method and second runlength encoding method that the non-zero magnitude and the run length of zero range coefficient are encoded.In second area, the sign amplitude is 1 the coefficient distance of swimming and the zero valued coefficients distance of swimming, and to use the 3rd runlength encoding method and the 4th runlength encoding method respectively be that 1 the coefficient and the run length of zero valued coefficients are encoded to amplitude.In the 3rd zone, the sign zero valued coefficients distance of swimming, and use the 5th runlength encoding method that the run length of this null value distance of swimming is encoded.
To be directed against two region methods said as above, and alternative coding method also can be used to the 3rd (for example high frequency) zone.For example; Traditional 2D-VLC can be used in the 3rd zone; Perhaps in another embodiment; The high-frequency coding method of elementary mixing method can be used in the 3rd zone, can suppose therein that perhaps nonzero-value coefficient in the 3rd zone mainly is that amplitude is that the high-frequency coding method of extended hybrid method can be used in the 3rd zone among another embodiment of 1 coefficient.
As an example, consider following quantization parameter series:
50000342000000030000000|000000000000001000000000000010000000000000
Suppose that this coding makes the incident of winning limit the first area, and limit the second and the 3rd zone along the breakpoint of ordering.Suppose that again first coefficient is the DC value, and establish DC (a) and be code word to the DC amplitude of quantized value a.The hypothesis use is above-mentioned to the then variable length code of the nonzero value distance of swimming at the back of the null value distance of swimming again, and defines maximum length for any incident.With C0 (z, n), C1 (z, n) and C2 (z; N), z=0,1; ..., n=1,2; ... expression is to the variable length codeword of the incident in incident, the incident in the second area and the 3rd zone of first area respectively, each incident all be z zero valued coefficients at the back then n nonzero-value coefficient follow a zero valued coefficients at the back again, only if the z+n=maximum length.For this example, suppose to limit the second and the 3rd regional breakpoint at 22 places, and limit soft border.With A0 (a), A1 (a) and A2 (a) represent respectively to utilize first, second and the 3rd amplitude coding method confirm first, second with the 3rd zone in the code word of amplitude.In one embodiment, these amplitude coding methods are different variable length decoding methods.For example, in the first area, compare second area and more bigger amplitude possibly occur.The possibility that this relatively large amplitude occurs in the 3rd zone even littler.
The symbol of ignoring amplitude, above-mentioned series is encoded as:
DC(5)+C0(4,3)+A0(3)+A0(4)+A0(2)+C1(6,1)+A1(3)+C1(12,0)+C2(8,1)+A2(1)+C2(12,0)+C2(0,1)+A2(1)+EOB
Wherein EOB is the code word of indication form ending, and+the expression serial connection.The distance of swimming of noting six zero valued coefficients that breakpoint is preceding is in next zone, because soft border has moved on to before these six zero valued coefficients.
Attention in this implementation, C0 (12,0), C1 (12,0) and C2 (12; 0) be the code word that is directed against the incident of 12 zero valued coefficients, if perhaps in 12 coefficients of breakpoint, then under the situation of bounds; C0 (12,0), C1 (12,0) and C2 (12; 0) be that the code word of breakpoint is jumped in indication, perhaps under the situation on soft border, soft border move on to incident zero valued coefficients begin the place.
In the implementation procedure of reality, each amplitude also has symbol, and coding also will comprise sign bit.Use S +And S -Expression is to the code bit of positive amplitude and negative amplitude respectively.Suppose that the quantization parameter series that will encode is:
50000+3-4-2+10000000+30000000|000000?00000000-10000000000000+10000000000000
Then under the situation of sign bit, according to same embodiment, this series is encoded as:
DC(5)+C0(4,4)+A0(3)+S ++A0(4)+S -+A0(2)+S+A0(1)+S ++C1(6,1)+A1(3)+S ++C1(12,0)++C2(8,1)+A2(1)+S -+C2(12,0)+C2(0,1)+A2(1)+S ++EOB
In another version, the coding of nonzero value is comprised symbol.
Basic multidimensional amplitude VLC method
In each method in 2-D non-zero/zero troops VLC method, elementary mixing VLC method and extended hybrid VLC method, proposed various variable length decoding methods and come formation is trooped or the relative position that forms the conversion coefficient of trooping is encoded.After having carried out this coding at every turn, comprise coding, and comprised sign bit (+or-) the value of each nonzero-value coefficient.
The inventor notices in VLC that nonzero-value coefficient is trooped coding, and the coding of amplitude has been occupied sizable part in the code.
Therefore, even utilize 2-D non-zero/zero troop VLC method, elementary mixing VLC method and extended hybrid VLC method, still need improve the code efficiency of the coefficient amplitude that nonzero-value coefficient is trooped.
An aspect of basic multidimensional amplitude VLC method invention has proposed a kind of multidimensional VLC; In the process that the orderly series of the quantization parameter of view data conversion is encoded, a plurality of continuous nonzero-value coefficient that appears in the nonzero-value coefficient distance of swimming (trooping) is encoded, just as that kind that occurs in a lot of method for compressing image.Replace to use " m " individual one dimension VLC form to come the amplitude of " m " individual continuous nonzero-value coefficient is encoded, the present invention utilizes one " m " dimension form to come the amplitude of whole " m " individual coefficients is encoded.
Figure 24 shows the flow chart of an embodiment of hybrid variable length coding (VLC) method 2400; This method is included in 2401, provides breakpoint to limit first (for example low frequency) zone and second (for example high frequency) zone along the ordering of series, and nonzero coefficient possibly form and troop in said first area; In said second area; Nonzero coefficient possibly disperse, and in shown version, possibly mainly be that amplitude is 1 coefficient.In 2403, be identified at the distance of swimming of the distance of swimming each zero valued coefficients before of one or more nonzero-value coefficient.Carrying out under the situation of first area coding in the VLC method of trooping according to 2-D non-zero/zero, incident comprises the nonzero-value coefficient distance of swimming then zero valued coefficients at the back, and in addition, also is included in the incident that does not have nonzero-value coefficient before the nonzero coefficient.In 2405, utilization is directed against at the combined coding of each incident of the run length of the run length of preceding zero valued coefficients and one or more nonzero-value coefficient the incident that identifies is encoded.In one embodiment, 2405 comprise the codelookup form that utilizes two dimension.In 2407, utilize the amplitude code that each amplitude in each the non-zero magnitude distance of swimming in the incident that identifies is encoded, in one embodiment, said amplitude code is a variable-length codes of utilizing code table to obtain.
Attention is in a kind of variant, with the first area coding method replacement 2403 and 2405 described in elementary mixing VLC method and the extended hybrid VLC method.
In shown version, encoded in second (for example high frequency) zone according to the mode described in the extended hybrid VLC method.In 2409, limit following incident, each incident is that the distance of swimming of zero or a plurality of zero valued coefficients is followed a nonzero-value coefficient at the back.The amplitude of supposing any such nonzero coefficient all is 24, therefore need not carry out amplitude coding to such coefficient.Amplitude is not that 1 nonzero coefficient is marked as exception.In addition, the remaining part in the piece is that zero situation is also identified.In 2411,, utilize variable-length runlength encoding method (for example being embodied as coding form) that the run length of the zero valued coefficients before a nonzero-value coefficient is encoded for each incident that identifies in the second area.Utilize the encoding symbols of nonzero-value coefficient of sign bit, and be that amplitude is not under the situation of 24 exception, comprise exception code then amplitude code at the back in nonzero-value coefficient to ending.For example utilize the amplitude coding form be different from the amplitude coding form that is used for the non-zero magnitude of first area is encoded usually to obtain this amplitude code, because the amplitude of second area more possibly have the value lower than the amplitude of first area.
In a kind of variant; Setting up the mode of code word form describes in 2-D non-zero/zero troops the VLC method; And comprise that hypothesis perhaps obtains the statistical information to typical case's series of system's image block, perhaps in Adaptable System, sets up the code word form through the relative frequency of measuring the appearance of incident and amplitude; This depends on coding method, for example code table.In another variant, the mode of setting up code is described in elementary mixing VLC method and extended hybrid VLC method.
Figure 25 shows the flow chart of another embodiment that mixes VLC method 2500; This method comprises some aspect of basic multidimensional amplitude VLC method; Especially comprise the frame 2507 that replaces frame 2407; The method of frame 2507 utilizes code word (for example using the combined coding form) that a plurality of non-zero magnitude in the nonzero-value coefficient distance of swimming are carried out combined coding for to each incident that identifies in the first area.Symbol also is encoded.
Notice that 2503 and 2505 correspond respectively to 2403 among Figure 24 and 2405, only used different labels to indicate these not need identical step.For example, Figure 24 can comprise according to the form of the variant of describing in elementary mixing VLC method and extended hybrid VLC method identification incident, and 2503 and 2505 can be according to the mode of describing in 2-D non-zero/zero VLC method of trooping.
As an example, suppose to utilize the coding invention of describing in 2-D non-zero/zero VLC method of trooping the back to be followed a pair of coding of " z " individual continuous zero valued coefficients with " n " individual continuous nonzero-value coefficient of a nonzero value.With R (z, the n) position of expression null value/nonzero-value coefficient, and with m (1), m (2) ..., m (n) representes each amplitude.With C (z, n) expression to incident R (z, variable length codeword n), z=0,1 ..., n=1,2 ...; With A (a) expression R (z, the amplitude a in the nonzero-value coefficient distance of swimming in n), a=1,2 ... amplitude coding; With S (1), S (2) ... expression to R (z, first, second in n) ... the sign bit of n nonzero-value coefficient.Then according to an embodiment who describes in 2-D non-zero/zero VLC method of trooping, incident is encoded to corresponding non-zero magnitude:
C(z,n)+A(m(1))+S(1)+A(m(2))+S(2)+...+A(m(n))+S(n)
Wherein+the expression serial connection.
Similarly, consider elementary mixing VLC method and extended hybrid VLC method.In the first area, with the distance of swimming of n continuous nonzero coefficient of r (n) expression, and use r ' (z) to represent z the distance of swimming of zero valued coefficients continuously, n, z=1,2 ....Consider a incident with r (n) expression, with m (1), m (2) ... m (n) representes each non-zero magnitude among the r (n).With C (n) presentation of events r (n), n=1,2 ... in the variable length codeword of run length of nonzero-value coefficient, and use C ' (z) presentation of events r ' (z), z=1,2 ... in the variable length codeword of run length of zero valued coefficients.With A (a) expression to the amplitude a among the nonzero-value coefficient distance of swimming r (n), a=1,2 ... amplitude coding; And with S (1), S (s) ... first, second among the expression r (n) ... the sign bit of n nonzero-value coefficient.Then according to embodiment described in elementary mixing VLC method and extended hybrid VLC method, to incident and being encoded to of non-zero magnitude accordingly:
C(n)+A(m(1))+S(1)+A(m(2))+S(2)+...+A(m(n))+S(n)+C’(z),
An aspect of basic multidimensional amplitude VLC method is to use a code word utilizing multidimensional amplitude coding method to obtain that following amplitude sequence is encoded:
A(m(1)),A(m(2)),...,A(m(n))
Use A n(m (1), m (2) ..., m (n)) expression is to n quantization amplitude m (1), m (2) ..., m (n), n=1,2 ... the code word of sequence.According to an embodiment of basic multidimensional amplitude VLC method, when using 2-D non-zero/zero to troop the VLC method, incident R (z n) with relevant amplitude and symbol is:
C(z,n)+A n(m(1),m(2),...,m(n))+S(1)+S(2)+...+S(n)
And in one embodiment, when using elementary mixing VLC method and extended hybrid VLC method, for:
C(n)+A n(m(1),m(2),...,m(n))+S(1)+S(2)+...+S(n)
In one embodiment, utilize the code table of n dimension to obtain the code word to the sequence of n amplitude, in one embodiment, the code table of said n dimension is a n dimension variable-length codes form.
In alternate embodiment, symbol is included in the multidimensional amplitude coding method, and then this method should be called the coding method of multidimensional quantization parameter definitely.Therefore, sign bit can be represented real amplitude with value is integrated, also can be used as independent bit and encodes, shown in this example.
Consider and to be managed for the angle that the size that makes the multidimensional form realizes from reality, be restricted to less relatively number, for example 2 or 3 by the maximum length of the distance of swimming of the non-zero magnitude of combined coding.Suppose at the most three coefficients to be carried out combined coding, and hypothesis is used the multidimensional form.An embodiment is used for the incident that run length is a nonzero coefficient with one dimension amplitude coding form; The amplitude coding form of two dimension is used for the incident that run length is two nonzero coefficients, the amplitude coding form of three-dimensional is used for the incident that run length is three nonzero coefficients.
The bigger amplitude combination of possibility occurs and use variable-length codes.Through hypothesis or measure the statistical information of combination, and utilize code distributing method well known in the art (for example the arithmetic code of Huffman code, non-Huffman etc.) distribution variable length codeword, thereby obtain these codes according to the statistical information that institute suppose or measures.In addition, in one embodiment, occurring that less some amplitudes combination of possibility is assigned with the front is the fixed length code of escape code.
When at the most three continuous non-zero magnitude being carried out combined coding; In one embodiment; For the longer distance of swimming, utilize as 2-D non-zero/zero VLC method of trooping described in the one dimension form amplitude of the 4th, the 5th nonzero coefficient of remainder etc. is encoded.
In substituting implementation, use more multidimensional form for these coefficients at the back.In a version, the multidimensional form of back is identical with the initial form that uses, and in another kind of implementation, for the different form of coefficient group use of back, to consider that in the ordering of series coefficient leans on its amplitude of back usually with regard to more little likelihood more.
Figure 26 A, 26B and 26C show one dimension amplitude code table 2601, two-dimentional amplitude code table 2603 and three-dimensional amplitude code table 2605 respectively.In one embodiment, three-dimensional amplitude code table 2605 be stored as one group of two dimension amplitude code table 2607-1,2607-2,2607-3 ... 2607-m, wherein m represent first, second with tertiary system number in each maximum.Each 2D form stores is counted the form of amplitude to the different tertiary systems, is that the different amplitudes of first and second coefficients provide code.When three-dimensional code table was stored as one group of 2 d code form, the amplitude of the coefficient in each two-dimension table can be different.Figure 26 D shows not on the same group alternative form 2609 of use: each 2D form stores is to the form of the first different coefficient amplitude, and being second provides code with the different amplitudes of tertiary system number.In this form, the value of each coefficient is restricted to m.
For combined coding according to the 2-D non-zero/the zero VLC method of trooping is carried out the incident that identifies; In a version; Each incident that identifies includes only the coefficient (being called as maximum length here) that is at most predetermined number; Make first distance of swimming that some incidents with maximum length comprise one or more continuous nonzero-value coefficient then second distance of swimming of zero or a plurality of zero valued coefficients at the back, rather than then zero valued coefficients of back.This makes it possible to the incident that has greater than the coefficient of predetermined number is encoded as a plurality of incidents that have maximum length at the most, and does not use escape code.The common two or more incidents of the distance of swimming of following the nonzero-value coefficient of any length at the back less than the distance of swimming of the zero valued coefficients of maximum length that limit are called as " broad sense incident " here; Because for some purpose; It is counted as an incident, and said purpose for example comprises utilizes so-called soft border to establish first and second zones.The example of basic multidimensional amplitude VLC method
As an example, consider following series:
50000+3-4-20000000+30000000|00000000000000-10000000000000+10000000000000
Suppose breakpoint at some place, and consider that an embodiment who utilizes 2-D non-zero/zero to troop the VLC method encodes to the coefficient in the first area, wherein code is provided for complete zero with " | " indication.The first area is:
50000+3-4-20000000+30000000
Represent code word with DC (m), and (z representes to incident R (z, variable length codeword n) n) with C to the DC amplitude; Z=0,1 ..., n=1; 2 ..., incident R (z, n) be z zero valued coefficients at the back then n nonzero-value coefficient back follow a zero valued coefficients again.With the code word of C (skip) expression to " jumping to the border ".Consider wherein to utilize a group code position separately to the embodiment of encoding symbols.Use S +And S -Expression is to the code bit of positive amplitude and negative amplitude respectively.Use A again n(m (1), m (2) ..., m (n)) represent to n quantization amplitude m (1), m (2) ..., the code word of the sequence of m (n), n=1,2 ....
Then according to comprising the embodiments of the invention of basic multidimensional amplitude VLC method, be to the code word of first area:
DC(5)+C(4,3)+A 3(3,4,2)+S ++S -+S -+C(6,1)+A 1(3)+S ++C(skip)
Wherein+the expression serial connection.
The mode of establishing breakpoint is to describe in the context of elementary mixing VLC method and extended hybrid VLC method in the above.
Another aspect of the present invention is to be used for equipment that digital signal series (the for example orderly series of the quantization parameter of view data transform block) is encoded, comprises the basic multidimensional amplitude VLC method of using.Referring to Fig. 9, in the part of " the Code And Decode equipment that comprises processor " it has been carried out more detailed explanation at exercise question below.
Therefore, in the art, still need a kind of relative high-efficiency method that amplitude is trooped and encoded applicable to variable length code.
Multilist amplitude VLC method
Though as if basic multidimensional amplitude VLC method invention has improved total code efficiency, notices for bigger " n ", the size that is used for the n dimension form of combined coding may become quite big.As a result, in fact, the size of n must be restricted to a small amount of continuous non-zero magnitude value, for example is embodied as 1,2 and 3 for actual.
Therefore, even utilize basic multidimensional amplitude VLC method, in the art, also still need a kind of relative high-efficiency method of amplitude being trooped and encoding applicable to (especially applicable to hybrid variable length coding) of variable length code.
The one side of multilist amplitude VLC method invention has proposed one group of VLC method; With in the process that the orderly series of the quantization parameter of view data conversion is encoded; A plurality of continuous nonzero coefficient to appearing in the nonzero-value coefficient distance of swimming (" trooping ") is encoded, in a lot of method for compressing image, occurring.
Figure 27 shows the flow chart of another embodiment that mixes VLC method 2700; This method comprises one aspect of the present invention; And comprise frame 2707; It replaces the frame 2407 among Figure 24 of flow chart of an above-mentioned embodiment who shows hybrid variable length coding (VLC) method 2400, and for each the non-zero magnitude distance of swimming that identifies in the first area, said frame 2707 is confirmed the incident (these incidents comprise that amplitude is the distance of swimming of 1 coefficient) in each distance of swimming; And to each event code, for example use 2-D coding form to the particular run length of non-zero magnitude with code word.Symbol also is encoded.
Notice that 2703 and 2705 correspond respectively to 2403 and 2405 among above-mentioned Figure 24, but 2703 and 2705 have used different labels to need not to be identical to indicate these steps.For example, Figure 24 can comprise according to the mode described in elementary mixing VLC method and the extended hybrid VLC method and discern incident, and 2703 and 2705 can be according to 2-D non-zero/zero mode described in the VLC method of trooping.
As in basic multidimensional amplitude VLC method; The inventor notices for the two-dimensional block conversion; Distribution Statistics along the conversion coefficient of specified path (for example zigzag scanning pattern) is similar to exponential distribution; Wherein the coefficient of amplitude peak is arranged in the lowest frequency spectrum, and the coefficient of minimum radius is arranged in maximum spectrum.When coefficient was quantized, coefficient by a relatively large margin often forms at lower frequency place more trooped, and coefficient more by a small margin often is dispersed in the higher frequency more.When the path was divided into low frequency region and high-frequency region, the inventor noticed that along the amplitude of most of quantization parameter of high-frequency region mainly be 0 and 1, and mainly was less value along the amplitude of most of quantization parameter of low frequency region; For example 0,1,2; 3 ... etc., amplitude 1 is bigger than the possibility that amplitude 2 occurs; Amplitude 2 is bigger than the possibility that amplitude 3 occurs, and the rest may be inferred.It should be noted that the interframe encode for relatively low bit rate, the possibility that amplitude 0 occurs is bigger than amplitude 1, and for the interframe encode of intraframe coding and higher bit rate, the possibility of amplitude 0 appearance is littler than amplitude 1.
With reference to Figure 27, as an example, suppose to utilize the coding invention back of describing in 2-D non-zero/zero VLC method of trooping to follow a pair of coding of " z " individual continuous zero valued coefficients with " n " individual continuous nonzero-value coefficient of a nonzero value.With R (z, the n) position of expression null value/nonzero-value coefficient, and with m (1), m (2) ..., m (n) representes each amplitude.With C (z, n) expression to incident R (z, variable length codeword n), z=0,1 ..., n=1,2 ...; With A (a) expression R (z, the amplitude a in the nonzero-value coefficient distance of swimming in n), a=1,2 ... amplitude coding; With S (1), S (2) ... expression to R (z, first, second in n) ... the sign bit of n nonzero-value coefficient.Then according to an embodiment who describes in 2-D non-zero/zero VLC method of trooping, incident is encoded to corresponding non-zero magnitude:
C(z,n)+A(m(1))+S(1)+A(m(2))+S(2)+...+A(m(n))+S(n)
Wherein+the expression serial connection.
Similarly, according to the embodiment described in elementary mixing VLC method and the extended hybrid VLC method, to being encoded to of incident and corresponding non-zero magnitude:
C(n)+A(m(1))+S(1)+A(m(2))+S(2)+...+A(m(n))+S(n)+C′(z)
An aspect of basic multidimensional amplitude VLC method is to use a code word utilizing multidimensional amplitude coding method to obtain, utilize to n quantization amplitude m (1), m (2) ..., m (n), n=1,2 ... the code word A of sequence n(m (1), m (2) ..., m (n)) to amplitude sequence A (m (1)), A (m (2)) ..., A (m (n)) encodes.According to an embodiment of basic multidimensional amplitude VLC method, when using 2-D non-zero/zero to troop the VLC method when combining embodiment of basic multidimensional amplitude VLC method, incident R (z n) is encoded as with relevant amplitude and symbol:
C(z,n)+A n(m(1),m(2),...,m(n))+S(1)+S(2)+...+S(n)
And in one embodiment, when using elementary mixing VLC method or extended hybrid VLC method to combine basic multidimensional amplitude VLC method, for:
C(n)+A n(m(1),m(2),...,m(n))+S(1)+S(2)+...+S(n)+C′(z)
An embodiment of multilist amplitude VLC method uses a kind of replacement scheme of multidimensional form is come trooping of the non-zero coefficient amplitude of the n in the first area encoded.
The inventor notices that when the distance of swimming that is identified to continuous non-zero coefficient amplitude (being trooping of non-zero magnitude), the histogram of coefficient amplitude often mainly is a value 1, is 2 then ... or the like.Consider these observed results, described a kind of coding method efficiently here, be mainly 1 characteristics to utilize coefficient value.
An aspect of multilist amplitude VLC method comprises; In the first area; Sign troop (distance of swimming that is continuous non-zero coefficient amplitude); And in each such trooping, further sign comprises that separately the amplitude of ending at is one or more incidents of the distance of swimming of 1 coefficient greater than the continuous amplitude of 1 coefficient.
Each has the amplitude that ends at greater than 1 value like this is that the incident of the distance of swimming of 1 coefficient has the possibility (likelihood) of appearance.Can obtain histogram and estimate to occur likelihood through processing a relative frequency that occurs form, perhaps likelihood appears in histogram or the alternate manner hypothesis according to typical image.
Figure 28 shows in the distance of swimming of n non-zero coefficient amplitude the form of the rela-tive likelihood that 1 the distance of swimming occurs.In Figure 28, P n(j, k) expression ends at the rela-tive likelihood that amplitude is the distance of swimming of 1 coefficient greater than j amplitude of the coefficient of 1 (such amplitude is represented with k, k>1), j=0,1 ... n-1.
Because the distance of swimming of nonzero value possibly all be an amplitude is 1 value, so this incident is called as exception, the rela-tive likelihood that is represented as " Exc " and this incident is used P n(Exc) expression.
The form of Figure 28 is used for the distance of swimming the n of first area amplitude 1 that identifies in the trooping of non-zero coefficient amplitude continuously.The distance of swimming for the continuous non-zero coefficient amplitude of all lengths all has such likelihood form.Therefore, n such form arranged.
One embodiment comprises to each each such incident that identifies in trooping of multilist amplitude VLC method invention provides code word.For example, in one embodiment, according to rela-tive likelihood P n(j, k) and P n(Exc) distribute best variable-length codes for each incident that identifies, wherein the incident of most probable appearance is assigned with the code with least bits, the minimum incident of possibility occurs and is assigned with the longest code word.Figure 29 shows the code table to the incident that in the continuous distance of swimming of n non-zero coefficient amplitude, identifies.In Figure 29, C n(j, k) expression has the code word that j amplitude greater than the coefficient of 1 amplitude k is the distance of swimming of 1 coefficient to ending at of identifying, and C n(Exc) expression is to the code word of the incident in the trooping of n nonzero coefficient of ending at amplitude 1.
Therefore, the bigger incident of possibility occurs and use variable-length codes.Through hypothesis or measure the statistical information of combination, and according to the statistical information that institute suppose or measures, utilize code distributing method as known in the art (for example the arithmetic code of Huffman code, non-Huffman etc.) distribution variable length codeword, obtain these codes.In addition, in one embodiment, some the less amplitude combination of possibility occurs and are assigned with the fixed length code that escape code is arranged with the front.
According to an aspect of the present invention, Figure 30 shows the code table sequence to the incident that in the continuous nonzero-value coefficient of different length is trooped, identifies.Therefore, Figure 30 show to the form of trooping of 1 nonzero-value coefficient, to the form of trooping of 2 nonzero-value coefficient ... until to the form of trooping of n nonzero-value coefficient.Each form comprises the ending amplitude that is at most m.In a version, in each such form, can the minimum incident of possibility occur to those and use fixed length code.
As an example, suppose that following length is that 10 troop (distance of swimming of non-zero magnitude continuously) identified:
1-1?1?1?2?1-3-1?1-1
Three incidents in trooping, this are arranged:
1-1?1?1?2
1-3
-1?1-1
According to an embodiment of multilist amplitude VLC method invention, trooping of identifying is encoded as:
(C 10(4,2)+S ++S -+S ++S ++S +)+(C 10(1,3)+S ++S -)+(C 10(Exc)+S -+S ++S -)
Wherein+the expression serial connection, and S +And S -Expression is to the code of plus sign and minus symbol respectively.
Therefore, compare with basic multidimensional amplitude VLC method, a code word that obtains replaced by several code words of utilizing simple 2-D coding form to obtain respectively via being used for sizable multidimensional coding form that the non-zero magnitude sequence is encoded.
As an example, consider the ordered sequence of the quantization transform coefficient in the following low frequency region, get rid of the dc coefficient, soft breakpoint is at the N=18 place:
3-1?1?1-2?1?1?0?0-1?2?1?1-1?0?0?0?1|0
Breakpoint is used | indication.Consider to utilize 2-D non-zero/zero troop VLC method or the top U.S. Patent application No.10/922 that comprises by reference that mentions, the similar approach that is proposed in 508 is encoded to the coefficient in the first area.
Suppose not have the DC coefficient, back then first position R (0,7) that is clustered in that identifies of a zero valued coefficients is located, and this troop for:
3-1?1?1-2?1?1?0
And this is trooped and comprises following incident:
3
-11 1-2 with
1?1
Therefore, this first is trooped and is encoded as:
C(0,7)+C 7(0,3)+S ++C 7(3,2)+S -+S ++S ++S -+C 7(Exc)+S ++S -
Wherein, C (0,7) is according to the troop code word of the position that the VLC method troops to the null value distance of swimming and non-zero of 2-D non-zero/zero.
Next non-zero is trooped at the back then, and a zero valued coefficients is:
-1?2?1?1-10
And this is clustered in position R (1,5) and locates.The non-zero of this length is trooped and is comprised following incident:
-12 draw
1?1?-1
Therefore this second is trooped and is encoded as:
C(1,5)+C 5(1,2)+S -+S ++C 5(Exc)+S ++S ++S -
The next one in the first area (also being last) non-zero is trooped and is in position code R (2,1) and locates, and this to troop be 10.This is trooped and is encoded as:
C(2,1)+C 1(Exc)+S +
Therefore, whole first area is encoded as:
C(0,7)+C 7(0,3)+S ++C 7(3,2)+S -+S ++S ++S -+C 7(Exc)+S ++S -+C(1,5)+C 5(1,2)+S -+S ++C 5(Exc)+S ++S ++S -+C(2,1)+C 1(Exc)+S +
For the VLC method of trooping according to 2-D non-zero/zero incident that identifies is carried out combined coding; In a version; Each incident that identifies includes only the coefficient (being called as maximum length here) that is at most predetermined number; Therefore first distance of swimming that some incidents that have a maximum length comprise one or more continuous nonzero-value coefficient is then second distance of swimming of zero or a plurality of zero valued coefficients or one or more continuous zero valued coefficients at the back, rather than then zero valued coefficients of back.This makes it possible to the incident that has greater than the coefficient of predetermined number is encoded as a plurality of incidents that have maximum length at the most, and does not use escape code.Two or more incidents that common qualification is followed the nonzero-value coefficient distance of swimming of any length at the back less than the distance of swimming of the zero valued coefficients of maximum length are called as " broad sense incident " here; Because for some purpose; It is counted as an incident, and said purpose for example comprises utilizes so-called soft border to establish first and second zones.
Notice that the inventor has been noted that for short trooping, n=2 or 3 for example, basic multidimensional amplitude VLC method can well be worked, and for long trooping, n>3 for example, then preferred above-mentioned multilist VLC method.Therefore, one embodiment of the present of invention length of trooping according to nonzero-value coefficient is used basic multidimensional amplitude VLC method and multilist VLC method.
For example; Using basic multidimensional amplitude VLC method for trooping of length n≤3; Use multilist amplitude VLC method for trooping of length n>3; And under the situation that use 2-D non-zero/zero to troop relative position that the VLC method troops as the nonzero-value coefficient of n to length is encoded, can be expressed as to the code of trooping with its position:
If n≤3 then
Figure BSA00000749427800751
N>3 item
Figure BSA00000749427800752
else if
The another kind of mode of representing this coding function is:
α V R ( z , n ) , A n { R ( z , n ) , m ( 1 ) , . . . , m ( n ) } +
( 1 - α ) V R ( z , n ) , C n { R ( z , n ) , ( j 1 , k 1 ) , ( j 2 , k 2 ) , . . . }
Wherein for the trooping of short nonzero-value coefficient (for example n=1,2 or 3 value), α=1, and for n>3, α=0.
Use the troop code of VLC method and to the code of short multidimensional amplitude VLC method of trooping or to the code of long multilist VLC method of trooping the nonzero-value coefficient of first (low frequency) regional value is encoded and to comprise the then distance of swimming of the zero valued coefficients of the distance of swimming (trooping) front of the nonzero coefficient of a zero valued coefficients of sign back of 2-D non-zero/zero.This method comprises that also utilization is directed against the multidimensional code of trooping that is at most three nonzero coefficients non-zero magnitude is encoded; And for the distance of swimming of any n>3 a continuous nonzero coefficient, the distance of swimming that identifies continuous amplitude and be 1 coefficient at the back then amplitude greater than the incident of 1 coefficient.
As an example, consider the sequence of the quantization transform coefficient in the following low frequency region is encoded, get rid of the dc coefficient, and hypothesis breakpoint N=19:
3-1?1?1-2?1?1?0?0-1?2?1?0?1-1?0?0?0?1|0
Wherein | the expression breakpoint.
Use | will the back then the troop this zero run-length of front of one zero non-zero separate, be assumed to be soft border, then low frequency region is by constituting with lower area:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0
Use the code of combinations thereof method to be:
C(0,7)+C 7(0,3)+S ++C 7(3,2)+S -+S ++S ++S -+C 7(Exc)+S ++S ++C(1,3),A 3(1,2,1)+S -+S ++S ++C(0,2)+A 2(1,1)+S ++S -+C(2,1)+A 1(1)+S +
Attention first is trooped for what have 7 nonzero coefficients; Use multilist VLC method that nonzero-value coefficient is encoded; And troop for other nonzero-value coefficient, because the run length of trooping is less than or equal to 3, so use basic multidimensional amplitude VLC method that the amplitude in trooping is encoded.
When perhaps combining basic multidimensional amplitude VLC method to use multilist amplitude VLC method separately, how to establish breakpoint and be described with reference to elementary mixing VLC method and extended hybrid VLC method in the above.
Therefore; A method embodiment according to multilist amplitude VLC method; The zero-sum that the formation of using a 2-D position code form to represent to end at a zero valued coefficients is trooped forms the distance of swimming of the nonzero-value coefficient of trooping; Troop described in the VLC method like 2-D non-zero/zero; And it is that the incident of the distance of swimming of 1 coefficient is encoded that several relatively short 2-D amplitude code table (number of form is with " n " expression, and the length of form changes from 1 to n) are used to ending at each amplitude greater than 1 amplitude in the trooping of n nonzero-value coefficient.
The inventor finds to make the good equally or more performance of method that provides in this way and in elementary mixing VLC method and 2-D non-zero/zero VLC method of trooping, proposed.It also can be compared with basic multidimensional amplitude VLC method, and has the advantage of easy realization.
Co-location and amplitude VLC method
Invention described in elementary mixing VLC method and 2-D non-zero/zero VLC method of trooping has proposed the position that various variable length code technology only consider to form the conversion coefficient of trooping or disperse.Invention described in basic multidimensional amplitude VLC method and the multilist amplitude VLC method has proposed the amplitude of trooping is carried out Methods for Coding.These methods have been arranged, also needed a kind of variant, will be in the same place the coded combination of the amplitude of the position of conversion coefficient and conversion coefficient.
The coding method that an aspect of co-location and amplitude VLC method invention will be used for being encoded in the position of the continuous nonzero-value coefficient that appears at the nonzero-value coefficient distance of swimming (trooping) combines with the coding method that is used for the amplitude of the nonzero-value coefficient of trooping is encoded, and is used for the combined code that the orderly series of quantization parameter of the view data conversion of the first area (low frequency region) to series is encoded with generation.Such series appears in a variety of method for compressing image.
The same with the description of other coding method here; This part is also described with regard to the orderly series of digital value; Said digital value is the quantization transform coefficient of video data block, and wherein the null value quantization parameter is that most probable occurs, and value is the value of next most probable appearance for ± 1 quantization parameter; The present invention is applicable to the orderly series of digital signal generally speaking, and the amplitude of each digital signal is taken from the limited amplitude collection that is made up of the amplitude of most probable appearance and at least one other amplitude.
Figure 31 shows the flow chart of an embodiment 3100 of hybrid variable length coding (VLC) method, and this method comprises nonzero-value coefficient troop relative position and length with the zero valued coefficients distance of swimming, and the amplitude in the nonzero-value coefficient distance of swimming is carried out combined coding.
In 2401, as shown in Figure 24, provide breakpoint to limit first (low frequency) zone and second (high frequency) zone with ordering along quantization transform coefficient series.
In 3103, identify the position event in the first area.Position event is used to provide nonzero-value coefficient troop relative position and run length with the intercalary zero valued coefficients distance of swimming.In a version, identify these position events and comprise according to the mode described in elementary mixing VLC method and the extended hybrid VLC method and discern incident.When using the thought of 2-D non-zero/zero VLC method of trooping, the run length of any distance of swimming of the continuous zero valued coefficients before the nonzero-value coefficient of utilizing the back to follow a zero valued coefficients is trooped and the run length that nonzero-value coefficient is trooped limit these incidents.
In 3105, the amplitude incident in the sign first area.When combined coding comprised the thought of basic multidimensional amplitude VLC method, the amplitude incident was the amplitude during nonzero-value coefficient is trooped.An embodiment also comprises the symbol of the middle nonzero coefficient of trooping.When combined coding comprised the thought of multilist amplitude VLC method, incident was run length and the value of ending amplitude of the distance of swimming of 1 coefficient greater than the continuous amplitude before 1 the coefficient for any amplitude in each is trooped.In one embodiment, the amplitude incident comprise nonzero-value coefficient troop in the symbol of nonzero coefficient.
In 3107, to carrying out combined coding to the nonzero-value coefficient in the first area and each position event that identifies of trooping and the amplitude incident of the zero valued coefficients of centre.The assumed position incident is used the thought described in 2-D non-zero/zero VLC method of trooping, and (z n) representes the position event that each identifies with R; This position event representes that the front of trooping of n continuous nonzero-value coefficient is the distance of swimming of z zero valued coefficients, and the back then is a zero valued coefficients, z=0; 1 ..., n=1; 2 ....In addition, suppose to carry out the joint amplitude coding according to the mode in the basic multidimensional amplitude VLC method, with m (1) ..., n non-zero magnitude during m (n) expression is trooped.Then according to an embodiment, replace independently to the position with amplitude is encoded and with result's serial connection be C (z, n)+A n(m (1) ..., m (n)), wherein (z is to R (z, position code n), and A n) to C n(m (1) ..., m (n)) be the joint amplitude code to non-zero magnitude, an aspect of co-location and the invention of amplitude VLC method is that step 3109 utilizes the associating integrated coding function execution of position event and amplitude incident to encode.That is, in the position R (z, that n) locates troops,
V R ( z , n ) , A n { R ( z , n ) , m ( 1 ) , . . . , m ( n ) }
Wherein,
Figure BSA00000749427800782
is to R (z; N) and amplitude m (1); ..., the code of the combination of m (n).The function of the code bit of the encoding symbols of the nonzero-value coefficient that in one embodiment,
Figure BSA00000749427800783
also is connected in series is used for nonzero coefficient is trooped.
Therefore; In order to be encoded in this zone; The front that non-zero coefficient amplitude is trooped is the position event R (z that a zero valued coefficients is followed in the zero valued coefficients distance of swimming and back; N) be identified according to the mode in 2-D non-zero/zero VLC method of trooping, and the amplitude incident of trooping is identified according to the mode in the basic multidimensional amplitude VLC method.Position that obtains and amplitude incident are used to utilize multidimensional coding form
Figure BSA00000749427800784
to search code word.Use the statistical information of hypothesis or in adaptive approach, use the statistical information of measuring to set up form
Figure BSA00000749427800785
certain, the dimension of form is quite big: many bidimensional than the dimension of the basic multidimensional amplitude VLC method of use.
In another embodiment of 3107, the position event that the amplitude incident of multilist amplitude VLC method and 2-D non-zero/zero troops the VLC method is made the position and the amplitude that are used for to trooping carry out combined coding together.The integrated code of step 3107 can be expressed as in this embodiment:
V R ( z , n ) , C n { R ( z , n ) , ( j 1 , k 1 ) , ( j 2 , k 2 ) , . . . }
Wherein
Figure BSA00000749427800787
Be position event R (z, unified code n), the each (j that is limited in 2-D non-zero/zero VLC method of trooping i, k i) be i the amplitude incident that identifies in trooping, i is at least 1, and this i incident has a non-zero magnitude and (is represented as k i, k iGreater than 1), there is j its front iIndividual continuous amplitude is the distance of swimming of 1 coefficient, j i>=0, such as in the multilist amplitude VLC method qualification.In one embodiment, amplitude incident { (j i, k i) combined with the symbol code to each this incident, therefore
Figure BSA00000749427800791
It also is the function of code bit of encoding symbols of the nonzero-value coefficient of the amplitude incident that is used for nonzero-value coefficient is trooped.
In another embodiment, utilize a combined coding integrated position and amplitude incident in step 3107 to be expanded to use position event according at least a position encoded method in combined coding, to comprise position encoded and use amplitude incident in combined coding, to comprise position encoded according at least a amplitude coding method.
In one embodiment; As an example; Mode according in 2-D non-zero/zero VLC method of trooping identifies the position event that nonzero coefficient is trooped, and for some length of trooping, uses used amplitude incident in the basic multidimensional amplitude VLC method; And, use used amplitude incident in the multilist amplitude VLC method for other length of trooping.The unified code to trooping that obtains can limit with the coding function of position event of trooping about nonzero-value coefficient and amplitude incident:
If n≤3 then
N>3, then else if
The another kind of mode of representing this coding function is:
α V R ( z , n ) , A n { R ( z , n ) , m ( 1 ) , . . . , m ( n ) } +
( 1 - α ) V R ( z , n ) , C n { R ( z , n ) , ( j 1 , k 1 ) , ( j 2 , k 2 ) , . . . }
Wherein for the trooping of short nonzero-value coefficient, for example n=1,2 or 3 value, α=1, and for n>3, α=0.Use this combined code to be based on the observed phenomenon of inventor; Promptly in less dimension/troop (for example n=3) afterwards; Use the performance of basic multidimensional amplitude VLC method to begin variation gradually, and for bigger trooping, the performance of multilist amplitude VLC method can be improved.
Certainly, this combined coding to each relative position of trooping, run length and amplitude may cause very complicated and huge coding form.In practice, the inventor has been found that because relatively low non-zero magnitude value possibility that (for example 1 and 2) occur is more much bigger than the possibility of higher relatively range value (for example 3,4,5 etc.) appearance.Therefore, in reality realized, the range value of trooping to nonzero coefficient that is used in the combined coding function was restricted to relatively low range value, and for example 1 and 2.Utilize separate location and amplitude code to comprising high value (for example 3; 4; 5 ...) troop and encode, for example in the troop combination of VLC method and basic multidimensional amplitude VLC method of 2-D non-zero/zero; Or the combination of 2-D non-zero/zero troop VLC method and multilist amplitude VLC method, or described in the combination of two kinds of methods.Because non-zero magnitude value 1 and 2 is more much bigger than the possibility that higher amplitude occurs, so limit the essence performance that the amplitude of utilizing the combined coding function to encode should be unable to too much influence these methods like this.
Should be noted that under various situation the combined coding function is different for the nonzero-value coefficient of various run lengths.
The example of the described here various VLC codes of contrast
Contrast now uses traditional 2D-VLC, elementary mixing VLC method, the 2-D non-zero/zero VLC method of trooping to combine traditional amplitude coding, the 2-D non-zero/zero VLC method of trooping to combine multidimensional amplitude VLC method, 2-D non-zero/zero situation that the VLC method combines the amplitude VLC method of multilist amplitude VLC method and co-location to encode of trooping.
Suppose that the quantization transform coefficient sequence in the low frequency region is following, get rid of the DC coefficient, and hypothesis breakpoint N=19:
3-1?1?1-2?1?1?0?0-1?2?1?0?1-1?0?0?0?1|0
Wherein | the expression breakpoint.
Use traditional 2D-VLC to encode
Use traditional 2D-VLC to encode and comprise the incident that the preceding zero valued coefficients distance of swimming is followed a nonzero coefficient at the back that is identified at.Use | separate such incident, being constructed as follows of low frequency region:
|3|-1|1|1|-2|1|1|0?0-1|2|1|0?1|-1|0?0?0?1|
(C03+S +)+(C01+S -)+(C01+S +)+(C01+S +)+(C02+S -)+(C01+S +)+(C01+S +)+(C21+S -)+(C02+S +)+(C01+S +)+(C11+S +)+(C01+S -)+(C31+S +)
Wherein Czj represent to z the run length of preceding zero valued coefficients (z=0,1 ...) the then 2D-VLC code of the incident of amplitude nonzero coefficient that is j of back, and S wherein +And S -Expression is used for code that plus sign and minus symbol are encoded respectively.
Use elementary mixing VLC method to encode
In first (low frequency) zone, use elementary mixing VLC method to encode and comprise the incident that identifies the zero valued coefficients distance of swimming and the nonzero coefficient distance of swimming (trooping) that replaces.Use | separate such incident, being constructed as follows of low frequency region:
|3-1?1?1-2?1?1|0?0|-1?2?1|0|1-1|0?0?0|1|
|C(7)+(A(3)+S +)+(A(1)+S -)+(A(1)+S +)+(A(1)+S +)+
(A(2)+S -)+(A(1)+S +)+(A(1)+S +)|+|C′(2)|+|C(3)+(A(1)+S -)+(A(2)+S +)+(A(1)+S +)|+|C′(1)|+|C(2)+(A(1)+S +)+(A(1)+S -)|+|C′(3)|+|(C1)+(A(1)+S +)|
Wherein C (n) and C ' (z) represent code word, the run length of for example trooping to the nonzero coefficient that is represented as n respectively and the run length code of the run length of the continuous zero valued coefficients that is represented as z, and Ai representes the size of non-zero magnitude.
Use 2-D non-zero/zero VLC method of trooping to combine traditional amplitude coding to encode
Use 2-D non-zero/zero troop the VLC method combine to the coding that the nonzero-value coefficient in first (low frequency) zone is carried out amplitude coding separately comprise the sign back then the nonzero coefficient distance of swimming (trooping) of a zero valued coefficients be the incident of the zero valued coefficients distance of swimming before.Use | separate such incident, being constructed as follows of low frequency region is assumed to be soft border:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0|
Code is:
|C(0,7)+(A(3)+S +)+(A(1)+S -)+(A(1)+S +)+(A(1)+S +)+(A(2)+S -)+(A(1)+S +)+(A(1)+S +)|+|C(1,3)+(A(1)+S -)+(A(2)+S +)+(A(1)+S +)|+|C(0,2)+(A(1)+S +)+(A(1)+S -)|+|C(2,1)+(A(1)+S +)|
Wherein (z, n) expression is to 2D non-zero/zero position code of trooping for C.
Use 2-D non-zero/zero VLC method of trooping to combine multidimensional amplitude VLC method to encode
Use the 2-D non-zero/zero VLC method of trooping to combine position that multidimensional amplitude VLC method troops to the nonzero-value coefficient in first (low frequency) zone and amplitude to encode to comprise the nonzero coefficient distance of swimming (trooping) that the sign back follows a zero valued coefficients to be the incident of the zero valued coefficients distance of swimming before.Use | separate such incident, being constructed as follows of low frequency region is assumed to be soft border, and this sequence can be write:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0|
Code is:
|C(0,7)+A 7(3,1,1,1,2,1,1)+S ++S -+S ++S ++S -+S ++S +)|+|C(1,3)+A 3(1,2,1)+S -+S ++S +|+|C(0,2)+A 2(1,1)+S ++S -)|+|C(2,1)+A 1(1)+S +)|
A wherein n() is the n dimension function of the amplitude of n continuous non-zero magnitude in trooping.Note in practice, can not use 7 degree of freedom code A 7, provide such code here just for illustrative purposes.
Use 2-D non-zero/zero VLC method of trooping to combine multilist amplitude VLC method to encode
Use the 2-D non-zero/zero VLC method of trooping to combine position that multilist amplitude VLC method troops to the nonzero-value coefficient in first (low frequency) zone and amplitude to encode to comprise the nonzero coefficient distance of swimming (trooping) that the sign back follows a zero valued coefficients to be the incident of the zero valued coefficients distance of swimming before; Then at n continuously in the trooping of nonzero coefficient, the distance of swimming that identify continuous amplitude and be 1 coefficient is followed the incident of an amplitude greater than 1 coefficient at the back.Use | zero before separating this back then one zero non-zero being trooped troops, and being constructed as follows of low frequency region is assumed to be soft border, and this zone is:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0|
Code is:
|C(0,7)+C 7(0,3)+S ++C 7(3,2)+S -+S ++S ++S -+C 7(Exc)+S ++S +)|+|C(1,3)+C 3(1,2)+S -+S ++C 3(Exc)+S +|+|C(0,2)+C 2(Exc)+S ++S -|+|C(2,1)+C 1(Exc)+S +)|
Wherein, use C n(j, k) being illustrated in the trooping of n nonzero-value coefficient to value is the variable length codeword of the distance of swimming of 1 coefficient for coefficient j the amplitude before of k>1, and C n(Esc) be the code word of the distance of swimming of 1 coefficient to there not being amplitude at the back greater than the amplitude of having only of 1 coefficient in expression the trooping of n nonzero-value coefficient.
Use the troop code of VLC method and encode of 2-D non-zero/zero to the code of short multidimensional amplitude VLC method of trooping or to the code of long multilist amplitude VLC method of trooping
Use the troop code of VLC method and to the code of short multidimensional amplitude VLC method of trooping of 2-D non-zero/zero, perhaps to the code of long multilist amplitude VLC method of trooping the nonzero-value coefficient in first (low frequency) zone being encoded comprises the then nonzero coefficient distance of swimming (trooping) the zero valued coefficients distance of swimming before of a zero valued coefficients of sign back.This method comprises that also utilization is directed against the multidimensional code of trooping that is at most three nonzero coefficients non-zero magnitude is encoded; And for trooping of any n>3 a continuous nonzero coefficient, the distance of swimming that identifies continuous amplitude and be 1 coefficient at the back then amplitude greater than the incident of 1 coefficient.Use | the zero run-length before separating this back then one zero non-zero being trooped, being constructed as follows of low frequency region is assumed to be soft border, and this zone is:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0|
This code is:
C(0,7)+C 7(0,3)+S ++C 7(3,2)+S -+S ++S ++S -+C 7(Exc)+S ++S +)+
C(1,3),A 3(1,2,1)+S -+S ++S +}+C(0,2)+A 2(1,1)+S ++S -+C(2,1)+A 1(1)+S +
Attention is trooped for first of 7 nonzero coefficients; Use multilist VLC method that nonzero-value coefficient is encoded; And troop for other nonzero-value coefficient, because the length of trooping is less than or equal to 3, so use basic multidimensional amplitude VLC method that the amplitude in trooping is encoded.
The troop code of VLC method and the code combination combined code together of multidimensional amplitude VLC method of 2-D non-zero/zero encoded in use
Use is encoded to the nonzero-value coefficient in first (low frequency) zone and is comprised that the sign back follows nonzero coefficient flow process (trooping) the zero valued coefficients distance of swimming before of a zero valued coefficients troop combined code that the amplitude incident of position event and multidimensional amplitude VLC method of VLC method carries out combined coding of 2-D non-zero/zero, for example utilizes the multidimensional code that position event and non-zero magnitude are carried out combined coding then.Use | the zero run-length before separating this back then one zero non-zero being trooped, being constructed as follows of low frequency region is assumed to be soft border, and this zone is:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0|
This code is:
V R ( z , n ) , A 7 { R ( 0,7 ) , 3,1,1,1,2,1,1 } + S + + S - + S + + S + + S - + S + + S + +
V R ( z , n ) , A 3 { R ( 1,3 ) , 1,2,1 } + S - + S + + S + +
V R ( z , n ) , A 2 { R ( 0,2 ) , 1,1 } + S + + S - + V R ( z , n ) , A 2 { R ( 2,1 ) , 1 } + S +
Wherein unified code does not comprise the symbol of each coefficient, so symbol code is comprised separately.Notice that in practice it is very long to carry out such combined coding-run length to trooping of 7 degree of freedom, and provides such code here just for illustrative purposes.
The troop code of VLC method and the code combination combined code together of multilist amplitude VLC method of 2-D non-zero/zero encoded in use
Use is carried out troop position that the amplitude composition of matter combined code together of position event and multilist amplitude VLC method of VLC method troops to the nonzero-value coefficient in first (low frequency) zone and amplitude of 2-D non-zero/zero combined coding and is comprised that sign follows the nonzero coefficient distance of swimming (trooping) the zero valued coefficients distance of swimming before of a zero valued coefficients at the back; Then at n continuously in the trooping of nonzero coefficient, the distance of swimming that identify continuous amplitude and be 1 coefficient is followed the incident of an amplitude greater than 1 coefficient at the back.Use | the zero run-length before separating this back then one zero non-zero being trooped, being constructed as follows of low frequency region is assumed to be soft border, and this zone is:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0|
Code is:
V R ( z , n ) , C 7 { R ( 0,7 ) , ( 0,3 ) , ( 3,2 ) , Exc } + S + + S - + S + + S + + S - + S + + S + +
V R ( z , n ) , C 3 { R ( 1,3 ) , ( 1,2 ) , Exc } + S - + S + + S + +
V R ( z , n ) , C 2 { R ( 0,2 ) , Exc } + S + + S - + V R ( z , n ) , C 1 { R ( 2,1 ) , Exc } + S +
Wherein symbol still is encoded separately.
The example that it should be noted that the basic multidimensional amplitude of above use VLC method is for illustrative purposes.In practice, for the realization of reality, the number of dimensions that forms the amplitude troop must be restricted to less number, and for example 1,2 and 3.
Use with 2-D non-zero/zero troop the VLC method code with encode to the code of short multidimensional amplitude VLC method of trooping with to the code combination combined code together of long multilist amplitude VLC method of trooping
Use is carried out troop position event sign and the relative position of the nonzero-value coefficient in first (low frequency) zone being trooped to the amplitude incident of short multidimensional amplitude VLC method of trooping with to the amplitude composition of matter combined code together of long multilist amplitude VLC method of trooping and the non-zero magnitude of VLC method of 2-D non-zero/zero combined coding and is comprised that the sign back follows the nonzero coefficient distance of swimming (trooping) the zero valued coefficients distance of swimming before of a zero valued coefficients.This method also comprises utilizing to having the multidimensional code of trooping that is no more than three nonzero coefficients at most encodes to relative position and non-zero magnitude; And for trooping of each n>3 a continuous nonzero coefficient; The distance of swimming that identifies continuous amplitude and be 1 coefficient at the back then amplitude then position event and the amplitude incident that identifies are carried out combined coding greater than the incident of 1 coefficient.Use | the zero run-length before separating this back then one zero non-zero being trooped, being constructed as follows of low frequency region is assumed to be soft border, and this zone is:
|3-1?1?1-2?1?1?0|0-1?2?1?0|1-1?0|0?0?1?0
This code is:
V R ( z , n ) , C 7 { R ( 0,7 ) , ( 0,3 ) , ( 3,2 ) , Exc } + S + + S - + S + + S + + S - + S + + S + +
V R ( z , n ) , A 3 { R ( 1,3 ) , 1,2,1 } + S - + S + + S + +
V R ( z , n ) , A 2 { R ( 0,2 ) , 1,1 } + S + + S - + V R ( z , n ) , A 2 { R ( 2,1 ) , 1 } + S +
Wherein symbol still is encoded separately.
Attention is trooped for first of 7 nonzero coefficients; Use the amplitude event identifier of multilist amplitude VLC method; Use combined coding function then about position event and amplitude incident, and for the trooping of other nonzero-value coefficient, because the run length of trooping is less than or equal to 3; So use the event identifier of basic multidimensional amplitude VLC method to trooping, and use combined coding function to obtain complete code word about position and amplitude incident.
In reality realized, the inventor notices can be to the qualification maximum length of trooping of non-zero magnitude.This 2-D non-zero/zero that is utilized in to maximum length troops and limits in the VLC method.
In addition; In practice; It is more much bigger than the possibility of higher range value (for example 3,4 and 5 etc.) appearance that the inventor finds because relatively low non-zero magnitude value (for example 1 and 2); And,, the implementation of reality is restricted to relatively low range value (for example 1 and 2) so will being used in range value that the nonzero coefficient that uses in the combined coding function troops because when having a lot of possible range value, it is very complicated that the combined coding form can become.Then, utilize separate location and amplitude code to higher value (for example 3,4; 5; ...) encode, for example in 2-D non-zero/zero troop VLC method and combination of multidimensional amplitude VLC method basically, or described in the combination of 2-D non-zero/zero troop VLC method and multilist amplitude VLC method.Because non-zero magnitude value 1 and 2 is more much bigger than the possibility that higher amplitude occurs, so limit the essence performance that the amplitude of utilizing the combined coding function to encode should be unable to too much influence these methods like this.
How establishing breakpoint is described with reference to elementary mixing VLC method and extended hybrid VLC method in the above.
The self adaptation breakpoint method that is used for hybrid variable length coding
In above-mentioned each hybrid coding method, under the situation of two zones (for example low frequency region and high-frequency region), breakpoint is restricted to the border between low frequency and the high-frequency region.Best breakpoint in the coding in the frequency spectrum of employed conversion changes according to different pieces and pictures different.As stated, come to confirm in advance typical breakpoint, can use predetermined breakpoint through the experiment of collecting about the statistical information of one group of canonical blocks coefficient.Usually, for high-resolution or high-quality still image coding and low resolution or low quality still image coding; Intraframe coding and interframe encode; High bit rate coding method and low rate encoding method; Based on the transform coding method of DCT and non-dct transform coding method etc., confirm different breakpoints.
Though predetermined breakpoint can provide gratifying coding efficiency, it is best anything but.Various result of experiment show and can further improve the performance of hybrid coder through using best breakpoint.This improvement effect possibly be to use 25% of improvement effect that predetermined breakpoint obtains.
Thereby, also need a kind of definite the best in this area or, come to limit first (low frequency) zone and second (high frequency) zone for hybrid coding according to a kind of method in the hybrid coding above-mentioned near the method for best breakpoint.
Here provided a kind of method, equipment and bearing medium, used N in order to find along the path of the ordering of the orderly series of the quantization parameter of video data block 0The breakpoint of expression identifies first (for example low frequency) zone and second (for example high frequency) zone.
With reference to the flow chart of the mixed method shown in Figure 24 2400, the frame 2401 of establishing breakpoint is handled in the invention of self adaptation breakpoint method.The same with the process of describing all methods here; In the description of this part; Describe self adaptation breakpoint method with regard to conversion coefficient, the present invention generally relates to the orderly series of digital signal is encoded, and the amplitude of said each digital signal is taken from limited range value set.Each signal also can have symbol, promptly can be just perhaps negative.The range value set comprises the amplitude and at least one other amplitude that a most probable occurs.Here the application of being discussed is to the orderly series of signal; This orderly series is through after the conversion such as DCT or some other common conversion, is quantized into limited value again and the ordered set of the quantization parameter value of the video data block that after predefined paths (for example zigzag path) sorts, obtains.The order that the ordering of this series normally increases progressively according to spatial frequency.The value that most probable occurs (value that for example the most frequently occurs) is generally 0, and is 1 in some cases.
Here will describe embodiment to following situation: each image is divided into 8 * 8 piece, and each piece is carried out conversion at (for the situation of frame or frozen frozen mass independently) quilt through (for the situation through the inter motion compensation coding) after motion compensation and the interframe subtraction or directly through DCT then.Here described method, bearing medium and equipment are not limited to the piece or the DCT of this size.Also can use other big or small piece or other conversion.
Here described method is described the breakpoint of confirming to depend on image.When use depended on the breakpoint of image, as stated, coefficient or the image of code behind each group coding of indication breakpoint was sent to decoder.For each frame of video in the video sequence, can use identical method.
The best breakpoint N of a kind of searching 0Method be to carry out coding 63 times for 8 * 8 piece transfer pair image, to attempt different breakpoints, promptly attempt N 0=1,2 ..., 63.Through the more resulting length that is directed against the code word of piece best N is provided 0, and to this optimum N 0Code word.This method possibly be very consuming time, thereby maybe be always unpractical.N 0=63 situation means that second area is a dummy section, therefore have only a non-dummy section (first area) to want Application V LC coding method, and this coding method is the first area coding method.Similarly, N 0=0 situation means that second area is a dummy section, therefore have only a non-dummy section (first area) to want Application V LC coding method, and this coding method is the second area coding method.
The invention of self adaptation breakpoint method provides a kind of more practical method, is used to utilize the statistical information of a set of image data piece coefficient to seek near best breakpoint.Said breakpoint near the best is used to the hybrid coding method.
To as breakpoint N 0Carried out after the inspection completely with the performance of the hybrid coder of the function of the statistical information of the coefficient of trooping in the transform block, describe here and a kind ofly confirm near best breakpoint N fast 0Method.This fast method comprises and at first finds the border that limit to form the many zones of the isolated coefficient of dispersion of the coefficient ratio of trooping.In case confirmed such zone, the next part of this method comprises definite best breakpoint N that confirms in the zone 0We find just to have confirmed like this breakpoint N of approaching the best 0Value.
Find to limit the border that forms the zone of trooping, will be limited in the search of best breakpoint then in this zone and can reduce the time of search in quite big degree ground near best breakpoint.For the inter-frame video image that has been carried out effective motion compensation or the rest image of high compression, this border that forms the zone of trooping can be low to moderate 0 to 2.In this case, seek near best breakpoint and can be reduced to the coding that maybe situation comes relatively the series of 3 or 4 coefficients to more a spot of relatively, rather than to a large amount of possible N 0Value is encoded to 63 all coefficients.Breakpoint is that 0 situation means that the first area is a dummy section, and non-NULL area applications VLC coding method is arranged, and is " second area " coding method in this case.
A series of experiments show in the error 0.2% of the performance of property retention when using real best breakpoint (obtaining through exhaustive-search) of utilizing the definite breakpoint near best of embodiments of the invention can make hybrid coder.
Figure 32 shows the flow chart of confirming near a method embodiment 3200 of best breakpoint.3203 start from the series of the orderly quantization transform coefficient of each image block (for example each 8 * 8 image block), obtain ordering through the quantized image piece that passes through along the path of predetermined for example zigzag after the conversion.For example, for the coloured image of 704 * 480 pixels, there is 5280 * 3=15840 series of 64 orderly quantization transform coefficient arrays with brightness composition and two kinds of colour components.Ignore the DC coefficient, each series has 63 coefficients.
For the group of all 63 coefficients, the statistical information of each frequency whether acquisition is present in CF about trooping.For this reason, in 3205, one group of 63 counter is set, a counter is to a frequency, and for example array length is 63, and each array position (location) is corresponding to the count value at CF place.For example, the said setting can be used C code writing: int counter [63], and wherein counter [5] is illustrated in the counter of number of clusters at 6 places, position in zigzag path, and wherein position 0 is an AC composition.
In 3207, the number of the nonzero-value coefficient in the trooping of each frequency location place in the coefficient series group is counted.For this reason, each nonzero-value coefficient is treated equally.For each position, if run into the nonzero coefficient in trooping, then the count value of this position adds 1.In one embodiment, according to the coefficient of its back location whether non-zero confirm that specific nonzero coefficient position is whether in trooping.Thereby the next coefficient in its same coefficient series is that a nonzero coefficient of zero valued coefficients is not in trooping.For example suppose that position 4 and 5 all comprises nonzero coefficient for specific coefficient series, and position 6 is a null value.Then the coefficient of position 4 is considered in trooping, and position 4 hereto, the count value at 4 places, position adds 1, and the coefficient of position 5 is not considered to be at and troops.And for example, suppose that position 4,5 and 6 all comprises nonzero coefficient, and position 7 has zero valued coefficients for particular series.Then the coefficient of position 4 is considered in trooping, because coefficient thereafter is a non-zero, and to this position 4, the count value at 4 places, position adds 1.Similarly, during the coefficient of position 5 is determined to be in and troops, and the count value at 5 places, position adds 1.But, during the nonzero value of position 6 is not considered to be in and troops, because the next coefficient at 7 places, position is zero valued coefficients.
In this manner; For the whole series group that constitutes entire image; Repeated execution of steps 3207 is for example for 15840 serial repeated execution of steps 3207 with 63 non-DC quantization transform coefficients of the coloured image of 704 * 480 pixels with brightness composition and two kinds of colour components.
Step 3209 is chosen in threshold value the position of first count value with the ratio selected in advance that is lower than maximum count value.In one embodiment, the ratio of selecting in advance is 1/ frequency number.The particular version of the embodiment of the piece for 8 * 8, this ratio are 1/63.So the coloured image of three kinds of colour components for 704 * 480 starts from being lower than first count value of the count value of 15840/63 low-limit frequency position, the position that promptly is less than or equal to 251 first count value is used as the peaked threshold value of breakpoint.
This just is equivalent to each count value multiply by the number (being 63 for this number of piece of 8 * 8 for example) of nonzero frequency in the series again divided by the sum of series, compares with 1 again.The position of first counter less than 1 is set to seek the threshold value near best breakpoint.
In 3211, for the frequency location of determined threshold value from 2 to 3209, the position with maximum count value slope is set near best breakpoint.Counters table is shown counter [i], and for i=1 to 63, slope is confirmed as:
slope[i]=-(counter[i]-counter[i-1])/counter[i],i=2,...,63
Position i with greatest gradient amplitude is set to the value N near best breakpoint 0
Attention can have variant.In a kind of variant, threshold position is determined, this threshold value be in the wherein image of series, have the piece that is in the coefficient in trooping relative number for the first time less than the position of the ratio of selecting in advance of total block data.Then, in the search of in the subclass of threshold value, carrying out best breakpoint.In a version, search for through the actual code length that relatively is used for the color of image or image is encoded.In another version, as stated, the slope of number that wherein has the piece of greatest coefficient has peaked position.In another version, the position that amplitude peak descends appears in the relative number of confirming to have the piece that is in the coefficient in trooping.Promptly be confirmed as position i, make and confirm that (counter [i]-counter [i-1])/maxcount is a maximum near best breakpoint.
In another variant, the scope of carrying out search reaches the ratio of selecting in advance of the maximum number of non-DC coefficient.In a kind of such version, threshold value is defined as max_location/3 in advance, and wherein max_location representes the number of non-DC coefficient, and for example for 8 * 8 piece, this number is 63.In another such version, threshold value is defined as max_location/2 in advance.Then only at the approaching best breakpoint of search in the scope of threshold value.
In another embodiment, under the situation of color framing,, then be that color information is established different breakpoints with monochrome information if color information is different with the resolution that intensity (brightness) information is encoded.For example, for the coloured image of 704 * 480 pixels with brightness composition, the image that two kinds of colour components can be used as 352 * 480 pixels is encoded.In this case, there are 5280 luminance block in the piece for 8 * 8, and establishes the breakpoint of luminance picture based on these pieces.Establish and to come each chromatic diagram is looked like to encode as breakpoint by different chromatic diagrams based on 2 * 2640=5280 chrominance block.
Though being also noted that the description of self adaptation breakpoint method is to define according to breakpoint the first area that nonzero value troops and the form of the nonzero coefficient second area that possibly disperse wherein wherein to occur; But in case established first and second zones; Each such zone can be divided into a plurality of zones again, and therefore whole ordering possibly finally be divided into plural zone.
Decoding
Another aspect of the present invention is that a kind of bit stream is decoded with the method for the quantization parameter series of the conversion that forms video data block, and said conversion makes 0 to be most probable coefficient amplitude, and 1 is next most probable coefficient amplitude.This bit stream is utilized the hybrid coding method and encodes, and said hybrid coding method for example comprises any in the above-mentioned version.A kind of such coding method for example comprises, for first continuum in the series, identifies each and comprises one or more distances of swimming with continuous coefficients of any non-zero magnitude.For each distance of swimming that identifies; Coding method comprises encodes to the relative position of the said distance of swimming and any intercalary continuous zero valued coefficients; And for the distance of swimming that each identifies, identify the incident of at least one continuous coefficients, the incident that identifies comprises that the amplitude of ending at is the sequence of 1 coefficient greater than at least one continuous amplitude of 1 coefficient; The amplitude that perhaps includes only is greater than 1 coefficient, perhaps includes only continuous amplitude and be the sequence of 1 coefficient.Each incident to the run length of the distance of swimming that identifies that identifies is that length and the amplitude of ending coefficient of the sequence of 1 coefficient limits at least one continuous amplitude.This coding method also comprises and utilizes at least one code word that the incident that each identifies is encoded; Make at least some incidents that identifies; Compare and the less relatively incident of possibility occurs, utilize short code word to encode the relatively large incident of possibility occurring.
Coding/decoding method comprises the identification code word, the incident of the code word representative of confirming to identify; And confirm the coefficient subfamily of each incident of determining, till all coefficients all are determined in series.
Another aspect of the present invention is the equipment that is used for utilizing described any method bitstream encoded to decode here.As an example, Fig. 8 shows an embodiment of the equipment that is used for a set of code words of utilizing extended hybrid VLC method (as stated, this method has been utilized five coding forms) coding is decoded.The bit that code word identifier 802 receives in the bit stream, and discern the code word in one group of possible code word representing an incident separately.The code word identifier confirms that which in five coding forms be code word come from.Decoder 804 is coupled to code word identifier 802, and the data of the code word of confirming to be discerned to the code word identifier, for example the run length of non-zero, zero run length, symbol etc.In one embodiment, decoder 804 comprises the equipment of searching that is stored in the suitable decoding form in the memory 806 of searching.Said form provides the incident at least some code words in the Codeword Sets.Other code word can comprise escape code, therefore utilizes the method that is different from the table lookup method to decode.In one embodiment, bit stream is stored in the buffer 808, and the output of buffer 808 is coupled to the code word identifier.
Though in the embodiment shown in Fig. 8; Memory is illustrated as and searches equipment and is separated; But those skilled in the art should be understood that in other alternative embodiments that the equipment of searching can comprise the memory of table, and comprises this other embodiment here.
Be also noted that in Fig. 8 the code word identifier can be used as the one group of instruction that is stored in the memory (for example memory 806) with the equipment of searching and realizes on computers respectively that said instruction indicates one or more processors to carry out identification and search operation.
Another aspect of the present invention is a kind of memory (the for example memory among Fig. 8 806) of storing decoding data structure, and said data structure provides the data to any set of code words that in the bit stream of compressing image data, identifies.Come bit stream to encode through any in the new coding method described herein.In one embodiment, this data structure is taked the form of one or more forms.
The Code And Decode equipment that comprises processor
Another aspect of the present invention is a kind of equipment that is used to utilize the equipment that comprises treatment system that digital signal series is encoded, and said digital signal series for example is the orderly series of the quantization parameter of the video data block after the conversion.Fig. 9 shows the equipment 900 that comprises treatment system 902, and treatment system 902 comprises one or more processors 904 and memory 906.A processor has been shown among Fig. 9, and those skilled in the art is to be understood that this can represent several processors.Similarly, show a memory sub-system 906, those skilled in the art is to be understood that this memory sub-system can comprise different elements, for example RAM, ROM etc.In addition, the memory sub-system intention comprises any non-volatile memory device, for example magnetic or optical storage assembly.Computer program 908 is comprised and is written in the memory 906.Notice that at any time the some parts of program can be positioned at the different piece of memory sub-system, those skilled in the art are to be understood that this point.Program 908 comprises the instruction of instruction processorunit according to the different hybrid coding method of different version realizations; Said hybrid coding method comprises that processor receives the orderly coefficient as data; Confirm that along the ordering of coefficient breakpoint limits first and second zones, and confirm according to first area coding method and second area coding method respectively and generate code word to the coefficient of the first and second regional photographs.Confirm that breakpoint for example can be according to one or more aspects of self adaptation breakpoint method invention.Equipment 900 also comprises the encoded data structure 910 in the memory sub-system 906, and its group for the one or more coefficients described in any method in first and second region based numbering schemes described in any mixing VLC method described here provides code word.In one embodiment, this data structure is taked the form of one or more forms, for example takes the form to the coding form of the combined coding function of position code, amplitude code and position code and amplitude code.
Another aspect of the present invention is a kind of memory (the for example memory among Fig. 9 906) of memory encoding data structure, and said data structure provides code word according to the group that is described as one or more coefficients of any new coding method described here.In one embodiment, this data structure is the form of one or more forms.
Another apparatus embodiments is shown as the decoding device 1000 that comprises treatment system 1002 among Figure 10, and treatment system 1002 comprises one or more processors 1004 and memory 1006.A processor has been shown among Figure 10, and those skilled in the art is to be understood that this can represent several processors.Similarly, show a memory sub-system 1006, those skilled in the art is to be understood that this memory sub-system can comprise different elements, for example RAM, ROM etc.In addition, the memory sub-system intention comprises any non-volatile memory device, for example magnetic or optical storage assembly.Computer program 1008 is comprised and is written in the memory 1006.Notice that at any time the some parts of program can be positioned at the different piece of memory sub-system, those skilled in the art are to be understood that this point.Program 1008 comprises that instruction processorunit realizes the instruction of above-mentioned different hybrid coding method according to different versions.Thereby processor receives the code word that produces through above-mentioned any coding method as data, and the generating quantification conversion coefficient is serial.Equipment 1000 also comprises the encoded data structure 1010 in the memory sub-system 1006, and it provides the incident of one or more coefficients for the different code words described in any new coding method described here.In one embodiment, this data structure is taked the form of one or more forms.
Those skilled in the art notice that Fig. 9 and Figure 10 do not illustrate the details such as bus structures, I/O structure etc. that can be comprised, because should know the structure that needs are such and comprise that above-mentioned details only can blur the originality aspect of equipment.In addition, can utilize one or more general microprocessors, the one or more microcontrollers that comprise some memories and other element, one or more DSP equipment or any other programmable processor to realize treatment system.In addition, processor can be a stand-alone device, perhaps can be implemented as " kernel " that be included in ASIC, gate array or the miscellaneous equipment.
Another aspect of the present invention is a kind of memory (the for example memory 906 among the memory among Fig. 7 706 or Fig. 9) of memory encoding data structure, and said data structure provides code word according to the group that is described as one or more coefficients of any new coding method described here.In one embodiment, this data structure is the form of one or more forms.
Another aspect of the present invention is a kind of memory (the for example memory 1006 among the memory among Fig. 8 806 or Figure 10) of storing decoding data structure, and said data structure provides data for any set of code words that in the bit stream of compressing image data, identifies.Said bit stream is utilized any new coding method described here and encodes.In one embodiment, this data structure is the form of one or more forms.
Like this, described and be suitable for hybrid variable length coding method, the equipment of realizing this coding that the quantization transform coefficient that appears at the image block in the common method for compressing image is encoded and carry the bearing medium that the one or more processors of indication are carried out the instruction of hybrid variable length coding method.Different versions uses the different coding method that is suitable for zones of different.
In addition, the bearing medium that is suitable for coding/decoding method, the equipment of realizing this decoding that the code word of utilizing the hybrid coding method to obtain is decoded and carries the instruction of the one or more processors execution of indication coding/decoding method has been described.
In addition; Described be suitable for confirming breakpoint with first and second zones in the orderly series of the quantization transform coefficient that limits the image block in the now common method for compressing image so that can utilize the first area coding method that the coefficient in the first area is encoded and the breakpoint that can utilize the second area coding method that the coefficient in the second area is encoded is confirmed the equipment of method and definite breakpoint, and carry the bearing medium that the one or more processors of indication are carried out the instruction of said method.
An embodiment of elementary mixing VLC method and extended hybrid VLC method uses five independently forms: two run length code table that are used for first and second runlength encoding methods; Be used in the first amplitude coding form in the first area, the second amplitude code table that is used for another run length code table of the 3rd runlength encoding method and is used in second area.
Here described method can use treatment system (machine) to realize in one embodiment, and said treatment system comprises the one or more processors that receive the code segment that comprises instruction.For any method described here, when said machine executed instruction, this machine was carried out said method.Comprise any machine that to carry out one group of instruction (perhaps other form of order) of specifying the action that said machine will carry out.Therefore, a typical machine is exemplified as the typical treatment system that comprises one or more processors.Each processor can comprise one or more in CPU, GPU and the Programmable DSPs unit.Treatment system can also comprise the memory sub-system that comprises main RAM and/or static RAM (SRAM) and/or ROM.Can comprise that bus sub is used for communication between components.If treatment system needs display, can also comprise display, for example LCD (LCD) or cathode ray tube (CRT) display.Manual data input if desired, then treatment system can also comprise input equipment, for example one or more alphanumeric input units (for example keyboard), fixed point control appliance (for example mouse) etc.Here employed term memory cell also comprises the storage system such as disk drive unit.Treatment system in some configuration can comprise audio output device and Network Interface Unit.Thereby memory sub-system comprises the bearing medium that carries machine-readable code segment (for example software), and said code segment comprises the instruction that is used for when being carried out by treatment system, realizing one or more methods described here.Software can place hard disk, perhaps also can the term of execution of computer system, place in RAM and/or the processor fully or at least in part.Thereby memory and processor also comprise the bearing medium that carries machine readable code.
In alternate embodiment; Machine can be used as stand-alone device work or can be connected (for example networking) to other machine; In networked deployment; Machine can serve as server or the client machine in the client-server network environment, perhaps the peer machines in equity or the distributed network environment.This machine can be that any machine of (order or other form) specified one group of action that said machine will carry out and refer to by personal computer (PC), dull and stereotyped PC, STB (STB), PDA(Personal Digital Assistant), cell phone, web equipment, network router, switch or bridge or can carry out.
Only show a processor and memory that carries code though note some figure, those skilled in the art are to be understood that above-mentioned a lot of assembly can be comprised, are for fuzzy theme of the present invention but significantly do not illustrate or describe.For example, though only show a machine, term " machine " should be believed to comprise separately or unite the set of the machine of carrying out any or several different methods that one group of (or many groups) instruction realizes here being discussed.
Here the form of described the whole bag of tricks embodiment computer program of taking on treatment system, to carry out, said treatment system for example is the one or more processors as the part of image encoder or decoder in due course.Therefore, it will be appreciated by those skilled in the art that embodiments of the invention may be implemented as a kind of method, the equipment such as special equipment, the equipment such as data handling system or bearing medium (for example computer program).Bearing medium carries the one or more computer-readable code sections that are used for control (indication) treatment system implementation method.Therefore, aspect of the present invention can take method, all be the embodiment of hardware, all be the embodiment of software or made up the form of the embodiment of software and hardware aspect.In addition, the present invention can take to carry the form of the bearing medium (the for example computer program on the computer-readable recording medium) of the computer readable program code section that is included in the medium.Operable suitable computer-readable medium comprises the magnetic storage apparatus such as disk or hard disk, perhaps the light storage device such as CD-ROM.
Software can also send on network or receive via Network Interface Unit.Though bearing medium is shown as a bearing medium in the exemplary embodiment; But term " bearing medium " should be believed to comprise a medium or a plurality of medium (for example centralized or distributed data base, and/or relevant buffer memory and server) of one or more groups instruction of storage.Term " bearing medium " also should be believed to comprise can store, encodes or carry one group of any medium of being carried out and made the instruction of machine realization one or more methods of the present invention by machine.Bearing medium can be taked various ways, includes but not limited to non-volatile media, Volatile media and transmission medium.Non-volatile media comprises for example CD, disk and magneto optical disk.Volatile media comprises dynamic memory, for example main storage.Transmission medium comprises coaxial cable, copper cash and optical fiber, comprises the line that comprises bus sub.Transmission medium can also be taked the form of sound wave or light wave, for example those media that in radio wave and infrared data communication, produce.For example, term " bearing medium " should correspondingly be believed to comprise but be not limited to solid-state memory, light medium and magnetizing mediums, and carrier signal.
Be to be understood that and utilize suitable one or more processors of carrying out processing (the being computer) system that is stored in the instruction (code segment) in the memory device to realize the method step of being discussed in one embodiment.It should also be understood that the present invention is not limited to any specific implementation or programming technique, and can utilize and be used to realize that any suitable technique of described function realizes the present invention here.The present invention is not limited to any specific programming language or operating system.
Mention " embodiment " or " embodiment " in this manual and mean that the described special characteristic of combination embodiment, structure or characteristic comprise at least one embodiment of the present invention.Therefore, each local appearance " in one embodiment " or " in an embodiment " not necessarily all refers to identical embodiment in this manual.In addition, it will be clear to one skilled in the art that these special characteristics, structure or characteristic can make up in one or more embodiments in any suitable manner.
Similarly; Be to be understood that in the description to exemplary embodiment of the present invention in the above; Various characteristic of the present invention usually by grouping at the figure of an embodiment, embodiment and in describing, of the present invention open and help to understand the purpose of each creative aspect to realize simplifying.But this publicity pattern can not be interpreted as invention required for protection need be than knowing the more characteristic of describing of characteristic in each claim.On the contrary, shown in the claim of liking enclosed, the characteristic of creative aspect can be less than all characteristics among the disclosed embodiment in single front.Thereby, being attached to this detail specifications claim afterwards and also clearly being included in this detail specifications, each claim self can be used as one embodiment of the present of invention.
In addition; Those skilled in the art are to be understood that; Though more described here embodiment have comprised the characteristic that in other embodiments some are identical, the combination of features of different embodiment and forms various embodiment also within the scope of the invention.For example, in appended claim, can use the embodiment of any requirement protection according to any combination.
In addition, here be described to can be by the processor of computer system or carry out the combination of the key element of a kind of method that other devices of function realize or a kind of method for some embodiment.Therefore, the processor that has a necessary instruction of key element of carrying out such method or such method has constituted the device of the key element that is used to carry out said method or method.In addition, the key element of described apparatus embodiments is the example that is used to carry out the device of the function that is used to realize that key element of the present invention is performed here.
Describe in the context to the transition coding of image though it is also understood that the present invention, the present invention is not limited to such context, and can be used in various other compression applications and the system.In addition, the present invention is not limited to the structure of any kind or the transition coding of any kind.For example, DCT above-mentioned is a kind of conversion.Can use other conversion, for example new H.264/MEG-4 AVC video encoding standard/draft standard defines 4 * 4 piece and 4 * 4 integer transforms of similar DCT.The present invention does not rely on the interframe encode (if you are using) of any particular type, perhaps motion compensation (if being used for interframe encode), perhaps any interior estimate (if being used to use the pixel of estimating piece from the information of adjacent block).
Notice that variable length code is called as entropy coding or statistical coding sometimes.
Attention term coding (coding) and coding (encoding) here can exchange and use.
Comprise the independent sign bit to symbol though be also noted that above embodiment, is-symbol can merge in any amplitude coding method.
Note being used for some examples of amplitude coding in the above, suppose that coefficient has 63 or 127 possible nonzero values, but the present invention is not limited to the possible quantized value of any number.
Be also noted that term amplitude and symbol are irrelevant.Therefore, for example value for+1 with the amplitude of-1 coefficient all be 1.
In some above-mentioned embodiment, do not comprise symbol data.Most of conversion produces positive coefficient and negative coefficient, and the formation of code word comprises the indication to the symbol of nonzero-value coefficient.In a version, the symbolic information quilt of any non-zero magnitude distance of swimming in any zone is added to the information of each amplitude.In alternate embodiment, can be comprised according to different forms to the symbolic information of any non-zero magnitude distance of swimming in any zone, for example as the code of series of symbols.Also can utilize other alternate embodiments to encoding symbols.
In the above-described embodiments, the formation of code word comprises the indication to the symbol of nonzero-value coefficient.In a version, the symbolic information quilt of any non-zero magnitude distance of swimming in the first area adds together with the information of each amplitude.In alternate embodiment, can be comprised according to different forms to the symbolic information of any non-zero magnitude distance of swimming of first area, for example as the code of series of symbols.Also can utilize other alternate embodiments to encoding symbols.
Though the described here memory that one embodiment comprises the memory encoding form, other embodiment are with the stored in form coded message of the data structure (structure that for example comprises tree) that is different from form.Also can use other data structures.Similarly, though described one embodiment comprises the memory that storage comprises storage decoding form here, other embodiment are with the stored in form coded message of the data structure that is different from the form that is used to decode.
Be also noted that the present invention does not rely on the VLC of any particular type that is used for any coding method, coding form for example, and for example utilize Huffman encoding and arithmetic coding method to work.In addition; Though described the embodiment that incident is used regular coding based on appearance likelihood hypothesis or the incident (also being called as symbol) of priori (be likelihood appears in incident constant); But other embodiment have used adaptive coding, and promptly coding can change according to the statistics such as the histogram of from actual coefficients, collecting.
All publications, patent and the patent application of quoting here all is incorporated into this by reference.
In claims below and the specification here; Term " comprises (comprising) " or " comprising (comprised of) " or " it comprises (which comprises) " is the open to the outside world term; Its meaning is the elements/features that comprises the back at least, but does not get rid of other elements/features.Terminology used here " comprises (including) " or " it comprises (which includes) " or " it comprises (that includes) " also is the open to the outside world term; Its meaning also is the elements/features that comprises this term back at least, but does not get rid of other elements/features.Therefore, comprise (including) and comprise (comprising) synonym.
Therefore; Though described the embodiment that is considered to the preferred embodiments of the present invention; But it will be appreciated by those skilled in the art that under the situation that does not break away from spirit of the present invention and can carry out other modification, and intention requires to protect all such changes and modification within the scope of the invention.For example, the formula that provides is above only represented the step that possibly use.Can from block diagram, add or delete some functions, and between functional block, can exchange operation.Within the scope of the invention, can or delete step for described method interpolation.
Related application
The present invention requires the priority of following U.S. Patent application:
The U.S. Patent application No.10/869 that on June 15th, 2004 submitted to; 229; The invention people is Chen etc., and denomination of invention is " A HYBRID VARIABLE LENGTH CODING METHOD FOR LOW BIT RATE VIDEO CODING ", and proxy number is No.CISCO-8783.Here disclosed content is collectively referred to as " Basic Hybrid VLC Method (elementary mixing VLC method) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.10/898 that on July 22nd, 2004 submitted to; 654; The invention people is Chen etc., and denomination of invention is " AN EXTENDED HYBRID VARIABLE LENGTH CODING METHOD FOR LOW BIT RATE VIDEO CODING ", and proxy number is No.CISCO-8795.Here disclosed content is collectively referred to as " Extended Hybrid VLC Method (extended hybrid VLC method) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.10/910 that on August 3rd, 2004 submitted to; 712; The invention people is Chen etc.; Denomination of invention is " VIDEO COMPRESSION USING MULTIPLE VARIABLE LENGTH CODING PROCESSES FOR MULTIPLE CLASSES OF TRANSFORM COEFFICIENT BLOCKS ", and proxy number is No.CISCO-8819.Here disclosed content is collectively referred to as " Multiple-Class VLC Method (multiclass VLC method) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.10/922 that on August 18th, 2004 submitted to; 508; The invention people is Toebes etc.; Denomination of invention is " TWO-DIMENSIONAL VARIABLE LENGTH CODING OF RUNS OF ZERO AND NON-ZERO TRANSFORM COEFFICIENTS FOR IMAGE COMPRESSION ", and proxy number is No.CISCO-8985.Here disclosed content is collectively referred to as " 2-DNonzero/Zero Cluster VLC Method (the 2-D non-zero/zero VLC method of trooping) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.10/922 that on August 18th, 2004 submitted to; 507; The invention people is Chen etc.; Denomination of invention is " VIDEO CODING USING MULTI-DIMENSIONAL AMPLITUDE CODING AND 2-D NON-ZERO/ZERO CLUSTER POSITION CODING ", and proxy number is No.CISCO-9180.Here disclosed content is collectively referred to as " Basic Multi-Dimensional Amplitude VLC Method (basic multidimensional amplitude VLC method) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.11/069 that on February 28th, 2005 submitted to, 622, the invention people is Chen etc., and denomination of invention is " AMPLITUDE CODING FOR CLUSTERED TRANSFORM COEFFICIENTS ", and proxy number is No.CISCO-9741.Here disclosed content is collectively referred to as " Multi-Table Amplitude VLC Method (multilist amplitude VLC method) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.11/069 that on February 28th, 2005 submitted to; 621; The invention people is Chen etc., and denomination of invention is " JOINT AMPLITUDE AND POSITION CODING FOR PHOTOGRAPHIC IMAGE AND VIDEO CODING ", and proxy number is No.CISCO-9748.Here disclosed content is collectively referred to as " Joint Position and Amplitude VLC Method (co-location and amplitude VLC method) " here in the above-mentioned patent application of being introduced.
The U.S. Patent application No.11/069 that on February 28th, 2005 submitted to, 620, the invention people is Wu etc., and denomination of invention is " ADAPTIVE BREAKPOINT FOR HYBRID VARIABLE LENGTH CODING ", and proxy number is No.CISCO-9831.Here disclosed content is collectively referred to as " Adaptive Breakpoint Method (self adaptation breakpoint method) " here in the above-mentioned patent application of being introduced.
More than the content of each patent application all be incorporated into this by reference.

Claims (22)

1. equipment that the orderly series of quantization parameter is encoded comprises:
The Identification of events device; Be used for being identified in the distance of swimming and the distance of swimming of non-zero coefficient amplitude continuously of zero range coefficient continuously of the first area of the said series that limits breakpoint along the ordering of said series; Said breakpoint limits first area and the said first area second area afterwards in the said series; Wherein each in first area and the second area is the continuum; Said Identification of events device also is used for discerning the distance of swimming of zero range coefficient continuously of said second area, and said identifier forms zero amplitude and run length, the non-zero magnitude in the non-zero run-length in the said first area, the run length of the zero amplitude in the said second area and the non-zero magnitude in the said second area of non-zero magnitude in the said first area; And
Be coupled to the encoder of said Identification of events device; Said encoder receives each run length of the non-zero magnitude in the said first area, each run length and each non-zero magnitude in the said first area of the zero amplitude in the said first area also forms the code word to above-mentioned these data; And said encoder is also encoded to the run length of the zero amplitude in the said second area and the non-zero magnitude in the said second area
Make said equipment form relatively short codeword table the relatively large combination of existing possibility is shown, and the relatively long codeword table of formation illustrates the less relatively combination of existing possibility.
2. the equipment described in claim 1; Wherein said encoder is to search equipment; The said device coupled of searching is confirmed the code word at least some said incidents to said Identification of events device and through the form of searching the code word that is directed against the incident that identifies, and said form is stored in the memory.
3. the equipment described in claim 1, wherein said encoder are the code word that at least some incidents form regular lengths.
4. the equipment described in claim 3, wherein the code word of each regular length comprises escape code.
5. it all is 0 indication that the equipment described in claim 1, wherein said Identification of events device also form about when the amplitude of all remaining coefficients in the said series.
6. equipment to decoding with the bit stream of encoded, said equipment comprises:
The code word identifier, the code word that is used for receiving the bit of said bit stream and discerns one group of possible code word, each code word is represented an incident, and
Be coupled to the decoder of said code word identifier, be used for confirming incident to the code word that identifies by said code word identifier,
Wherein each the coded incident of a set of code words in the bit stream in the first area that is limited breakpoint is the distance of swimming with the nonzero-value coefficient of first runlength encoding method and first amplitude coding method coding; Perhaps with the distance of swimming of the nonzero-value coefficient of second runlength encoding method coding; And each incident of wherein in the second area that is limited said breakpoint, encoding is with the zero of the 3rd runlength encoding method coding or the distance of swimming of more a plurality of zero valued coefficients; Perhaps with the non-zero magnitude of second amplitude coding method coding; Said breakpoint limits the first area of continuous coefficients and the second area after the said first area
Said first runlength encoding method, the first amplitude coding method, second runlength encoding method, the 3rd runlength encoding method and the second amplitude coding method make that relatively short codeword table illustrates the relatively large incident of existing possibility in the said bit stream, and relatively long codeword table illustrates the less relatively incident of existing possibility.
7. the equipment described in claim 6, wherein said decoder is the equipment of searching of searching the form that is stored in the memory, said form provides the incident at least some code words in the said set of code words.
8. the equipment described in claim 6 wherein utilizes the code word of regular length to represent the subclass of the incident that code word in the said bit stream is represented.
9. the equipment described in claim 8, wherein each regular length code word comprises escape code.
10. equipment that the orderly series of quantization parameter is encoded comprises:
The Identification of events device; Be used for being identified in the distance of swimming and the distance of swimming of non-zero coefficient amplitude continuously of zero range coefficient continuously of the first area of the said series that limits breakpoint along the ordering of said series; Said breakpoint limits first area and the said first area second area afterwards in the said series; Wherein each in first area and the second area is the continuum; Said Identification of events device also is used for discerning the distance of swimming of zero range coefficient continuously that said second area ends at non-zero coefficient amplitude, and said identifier forms the run length of the zero amplitude that ends at non-zero magnitude in the run length, the non-zero magnitude in the non-zero run-length in the said first area, said second area of zero amplitude and non-zero magnitude in the said first area and the non-zero magnitude in the said second area; And
Be coupled to the encoder of said event recognition device; Said encoder receives each run length of the non-zero magnitude in the said first area, each run length and each non-zero magnitude in the said first area of the zero amplitude in the said first area also forms the code word to above-mentioned these data; And said encoder is also encoded to the run length that ends at the zero amplitude of non-zero coefficient amplitude in the said second area; Comprise that this non-zero magnitude of indication is greater than 1 code word; And said encoder is also encoded to the non-zero magnitude greater than 1 in the said second area
Make said equipment form relatively short codeword table the relatively large combination of existing possibility is shown, and the relatively long codeword table of formation illustrates the less relatively combination of existing possibility.
11. the equipment described in claim 10; Wherein said encoder is to search equipment; The said device coupled of searching is confirmed the code word at least some said incidents to said Identification of events device and through the form of searching the code word that is directed against the incident that identifies, and said form is stored in the memory.
12. the equipment described in claim 10, wherein said encoder form the code word of regular length at least some incidents.
13. the equipment described in claim 12, wherein the code word of each regular length comprises escape code.
14. it all is 0 indication that the equipment described in claim 10, wherein said Identification of events device also form about when the amplitude of all remaining coefficients in the said series.
15. the equipment to decoding with the bit stream of encoded, said equipment comprises:
The code word identifier, the code word that is used for receiving the bit of said bit stream and discerns one group of possible code word, each code word is represented an incident, and
Be coupled to the decoder of said code word identifier, be used for confirming incident to the code word that identifies by said code word identifier,
Wherein each the coded incident of a set of code words in the bit stream in the first area that is limited breakpoint is the distance of swimming with the nonzero-value coefficient of first runlength encoding method and first amplitude coding method coding; Perhaps with the distance of swimming of the nonzero-value coefficient of second runlength encoding method coding; And each incident of wherein in the second area that is limited said breakpoint, encoding is with the zero that ends at nonzero-value coefficient of the 3rd runlength encoding method coding or the distance of swimming of more a plurality of zero valued coefficients; The amplitude of non-zero coefficient amplitude that comprises indication ending is greater than 1 code word with to this code word greater than 1 non-zero magnitude; Should encode with the second amplitude coding method greater than 1 amplitude; Said breakpoint limits the first area of continuous coefficients and the second area after the said first area
Said first runlength encoding method, the first amplitude coding method, second runlength encoding method, the 3rd runlength encoding method, the second amplitude coding method make that relatively short codeword table illustrates the relatively large incident of existing possibility in the said bit stream, and relatively long codeword table illustrates the less relatively incident of existing possibility.
16. the equipment described in claim 15, wherein said decoder are the equipment of searching of searching the form that is stored in the memory, said form provides the incident at least some code words in the said set of code words.
17. the equipment described in claim 15 wherein utilizes the code word of regular length to represent the subclass of the incident that code word in the said bit stream is represented.
18. the equipment described in claim 17, wherein each regular length code word comprises escape code.
19. the memory of a store data structure, said data structure provide the code word of the one group of incident that forms to the orderly series by the quantization transform coefficient of the video data block that obtains through partitioned image,
First kind of distance of swimming that incident is a nonzero-value coefficient in the first area that wherein limits breakpoint; Second kind of distance of swimming that incident is a zero valued coefficients in the first area that limits said breakpoint; And the third incident in the second area that is limited said breakpoint is the distance of swimming of the zero valued coefficients in the said second area, and
Wherein said breakpoint limits first area and the second area of back to back continuous coefficients of the continuous coefficients of said series,
Make the relatively short codeword table that is stored in the said data structure in memory that the relatively large incident of existing possibility is shown, and relatively long codeword table illustrate the less relatively incident of existing possibility.
20. the memory described in claim 19; Wherein said data structure is taked the form of at least three forms; Comprise the first run length form that provides to the code word of the run length of said first kind of incident, the second run length form to the code word of the run length of said second kind of incident is provided, and the 3rd run length form.
21. the memory of a store data structure, said data structure provide the code word of the one group of incident that forms to the orderly series by the quantization transform coefficient of the video data block that obtains through partitioned image,
First kind of distance of swimming that incident is a nonzero-value coefficient in the first area that wherein limits breakpoint; Second kind of distance of swimming that incident is a zero valued coefficients in the first area that limits said breakpoint; And the third incident in the second area that is limited said breakpoint is to end at the distance of swimming of the zero valued coefficients of nonzero-value coefficient in the said second area; Comprise about this nonzero-value coefficient not being 1 indication, and
Wherein said breakpoint limits first area and the second area of back to back continuous coefficients of the continuous coefficients of said series,
Make the relatively short codeword table that is stored in the said data structure in memory that the relatively large incident of existing possibility is shown, and relatively long codeword table illustrate the less relatively incident of existing possibility.
22. the memory described in claim 21; Wherein said data structure is taked the form of at least three forms, comprises the first run length form that provides to the code word of the run length of said first kind of incident, provides to the second run length form of the code word of the run length of said second kind of incident and the 3rd run length form to the code word of the run length of said the third incident is provided.
CN201210244557.0A 2004-06-15 2005-06-08 Hybrid variable length coding method and apparatus for video compression Expired - Fee Related CN102790880B (en)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US10/869,229 US7454076B2 (en) 2004-06-15 2004-06-15 Hybrid variable length coding method for low bit rate video coding
US10/869,229 2004-06-15
US10/898,654 US7483584B2 (en) 2004-06-15 2004-07-22 Extended hybrid variable length coding of transform coefficients for video compression
US10/898,654 2004-07-22
US10/910,712 2004-08-03
US10/910,712 US7454073B2 (en) 2004-06-15 2004-08-03 Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US10/922,507 US7492956B2 (en) 2004-08-18 2004-08-18 Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US10/922,508 2004-08-18
US10/922,508 US7471840B2 (en) 2004-08-18 2004-08-18 Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US10/922,507 2004-08-18
US11/069,622 2005-02-28
US11/069,622 US7499596B2 (en) 2004-08-18 2005-02-28 Amplitude coding for clustered transform coefficients
US11/069,621 2005-02-28
US11/069,620 2005-02-28
US11/069,621 US7499595B2 (en) 2004-08-18 2005-02-28 Joint amplitude and position coding for photographic image and video coding
US11/069,620 US7471841B2 (en) 2004-06-15 2005-02-28 Adaptive breakpoint for hybrid variable length coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200580019457.6A Division CN101185083B (en) 2004-06-15 2005-06-08 Hybrid variable length coding method and device for video compression

Publications (2)

Publication Number Publication Date
CN102790880A true CN102790880A (en) 2012-11-21
CN102790880B CN102790880B (en) 2015-04-08

Family

ID=47156169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210244557.0A Expired - Fee Related CN102790880B (en) 2004-06-15 2005-06-08 Hybrid variable length coding method and apparatus for video compression

Country Status (1)

Country Link
CN (1) CN102790880B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106664428A (en) * 2014-07-02 2017-05-10 高通股份有限公司 Method for palette mode coding
CN112187369A (en) * 2020-09-30 2021-01-05 深圳市灵明光子科技有限公司 Sensor data encoding method and apparatus, electronic device, and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0379182A (en) * 1989-08-23 1991-04-04 Fujitsu Ltd Image encoding control system
KR0167367B1 (en) * 1991-06-04 1999-03-20 하비 피. 화이트 Adaptive block size image compression method and system
NO175080B (en) * 1992-03-11 1994-05-16 Teledirektoratets Forskningsav Procedure for encoding image data
EP1062625A4 (en) * 1998-03-20 2005-08-31 Mitsubishi Electric Corp Lossy/lossless region-of-interest image coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106664428A (en) * 2014-07-02 2017-05-10 高通股份有限公司 Method for palette mode coding
CN106664428B (en) * 2014-07-02 2019-07-26 高通股份有限公司 Method and apparatus for pallet mode decoding
CN112187369A (en) * 2020-09-30 2021-01-05 深圳市灵明光子科技有限公司 Sensor data encoding method and apparatus, electronic device, and storage medium

Also Published As

Publication number Publication date
CN102790880B (en) 2015-04-08

Similar Documents

Publication Publication Date Title
CN101185083B (en) Hybrid variable length coding method and device for video compression
US8121427B2 (en) Breakpoint determining for hybrid variable length coding and encoding the determined breakpoint
CN1547724A (en) Lossless intraframe encoding using GOLOMB-RICE
CN1550104A (en) DCT compression using Golomb-Rice coding
US5854857A (en) Using encoding cost data for segmentation and background suppression in JPEG-compressed images
US7471841B2 (en) Adaptive breakpoint for hybrid variable length coding
CN1593064A (en) Configurable pattern optimizer
CN1684495A (en) Predictive lossless coding of images and video
US7499595B2 (en) Joint amplitude and position coding for photographic image and video coding
CN1951120A (en) Video coding system providing separate coding chains for dynamically selected small-size or full-size playback
JPH10126775A (en) Coding method for image signal
US7499596B2 (en) Amplitude coding for clustered transform coefficients
CN108881913B (en) Method and apparatus for image encoding
CN104780379A (en) Compression method for screen image set
CN1665303A (en) Method of entropy coding of transformation coefficient in image/video coding
CN1539239A (en) Interface encoding method and apparatus
CA2579718C (en) Hybrid variable length coding for video compression
CN1166203C (en) Method and apparatus for encoding video signal
CN102790880B (en) Hybrid variable length coding method and apparatus for video compression
JP4215269B2 (en) Region-based scalable image coding
US7492956B2 (en) Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
KR100359813B1 (en) Alternative Double Scan For Video Coding And Decoding
Pradhan et al. A modified framework for Image compression using Burrows-Wheeler Transform
WO2021197158A1 (en) Image processing method and image processing device
Lan et al. Compress compound images in H. 264/MPEG-4 AVC by fully exploiting spatial correlation

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

Granted publication date: 20150408

Termination date: 20210608

CF01 Termination of patent right due to non-payment of annual fee