Nothing Special   »   [go: up one dir, main page]

CN1874509A - Method and system for context-based adaptive binary arithmetic coding - Google Patents

Method and system for context-based adaptive binary arithmetic coding Download PDF

Info

Publication number
CN1874509A
CN1874509A CN200610088710.XA CN200610088710A CN1874509A CN 1874509 A CN1874509 A CN 1874509A CN 200610088710 A CN200610088710 A CN 200610088710A CN 1874509 A CN1874509 A CN 1874509A
Authority
CN
China
Prior art keywords
numeral
value
assigned
context
piece
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
CN200610088710.XA
Other languages
Chinese (zh)
Other versions
CN1874509B (en
Inventor
M·卡策维茨
R·库尔切伦
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 US09/995,240 external-priority patent/US6856701B2/en
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN1874509A publication Critical patent/CN1874509A/en
Application granted granted Critical
Publication of CN1874509B publication Critical patent/CN1874509B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method of image coding wherein an image is divided into blocks having a plurality of pixels. A transform coding operation is performed on a block of pixels to produce a corresponding block of transform coefficient values, which is scanned to produce a scanned array of coefficient values represented by a plurality of number pairs having a first and a second number. The first and second numbers are assigned to one of a plurality of contexts (14) representative of the number pairs. The first number of a number pair is assigned to a context based on a first number of another number pair. Alternatively, the second number of a number pair is assigned to a context based on the first number of the number pair (16). Furthermore, a number indicative of the number of non-zero coefficient values in the block of transform coefficient values is determined and assigned to a context.

Description

Method and system based on contextual adaptive binary arithmetic coding
The application is that application number is dividing an application of 02822672.0 patent application.
Technical field
Relate generally to rest image of the present invention and video sequence compression relate in particular to a kind of based on contextual adaptive binary arithmetic coding method and system.
Background technology
The digital picture of compressed format has not comprised the array of an image pixel or pel.For example, in a kind of commonly used digital image format celebrated with 1/4th CLV Common Intermediate Formats (QCIF), image or frame have comprised 25,344 pixels in the array that is arranged in one 176 * 144 pixel.Each pixel represented by the bit of some successively, and their transmit is information about pixel lightness (brightness) and/or color (colourity).There are the brightness in the expression digital picture and/or the different schemes of colourity in addition.Normally used then is so-called YUV color model.Wherein brightness or Y representation in components pixel intensity, and pixel color is represented by two colourity or the color difference components of U and V mark.Usually use those other color model in addition, for example RGB (red, green, indigo plant) color model based on the trichromatic component of expression light.Yet, to compare with color model based on primary colors, the color model of representing based on brightness/chroma has more advantage.These advantages stem from the characteristic that the human visual system is easier to experience light variation rather than change color.(U V) has used a spatial resolution that is lower than luminance component (Y), has utilized this specific character thus and the YUV color model is generally chromatic component.So just can under the situation of picture quality that not significantly reduction be discovered, reduce the needed amount of information of presentation video color information.
Normally realizing of chromatic component by means of double sampling than low spatial resolution.Usually, the piece of one 16 * 16 image pixel is represented by four pieces that comprised 8 * 8 pixels of monochrome information, corresponding chromatic component represented by the piece of one 8 * 8 pixel respectively, the image-region of the piece equivalence of 16 * 16 pixels in one of wherein said expression and the luminance component.Therefore chromatic component is that 2 factor carries out the space double sampling by a size in the x and y direction.The luminance block of four 8 * 8 pixels that finally obtain and 2 spatially with it the combination of the chrominance block of 8 * 8 corresponding pixels be commonly referred to a YUV macro block, perhaps abbreviate macro block as.And the QCIF image comprises 11 * 9 macro blocks.If represent luminance block and chrominance block, so, be used to represent that the brightness and the needed total bit number of chrominance information that are associated with each macro block are 6 * (8 * 8 * 8)=3072 bits with 8 (numeral in 0 to 255 this scope just) resolution.Therefore, be used to represent that the needed bit number of QCIF format-pattern is 99 * 3072=304,128 bits.
Will be appreciated that, even using a size as mentioned above is that 2 factor comes two chromatic components of digital picture are carried out under the situation of double sampling, it is used that the not compressed image of median size (for example 174 * 144 pixels) also can need a large amount of bits to come for showing.This means will be excessive with the needed amount of memory of uncompressed form preservation digital picture.In addition, for instance, if having medium or transmit rest image via one than the data communication network of low available bandwidth, so the transmission time will be very long or network might block.If wish to send in real time a series of images as digital video sequences, bandwidth demand even can be more strict so.For example, transmitting one with the speed of per second 30 frames has used the YUV color model to represent and has comprised that the Serial No. of a series of QCIF of compression format-patterns need use the above bandwidth of 9Mb/s (million bits per second).Because need very big memory span, transport channel capacities and hardware performance, therefore, when being used to videograph, transmission and demonstration, this high data rate is normally unpractical.If transmit video sequence in real time on ISDN (integrated services digital network) or this class fixed line of PSTN (public switch telephone network), the data available transmission bandwidth is about 64k/s usually so.In mobile video telephone, have at least part transmission on Radio Communications Link, to carry out, available bandwidth might hang down 20kb/s so.This means and significantly to reduce the amount of information that is used to represent video data, so that can be at the transmitted over communications networks digital picture or the video sequence of low bandwidth.Yet desirable is that this minimizing should realize under the situation that does not significantly reduce the image/video sequence quality.
Carried out number of research projects in several years in the past, developed multiple different schemes and international standard thus and come digital still and digital video are compressed at reducing expression digital picture and video sequence desired data amount.In existing nearly all rest image and video encoder, employed basic method for compressing image has all comprised block-based transition coding.Usually, transition coding is that the illustrated view data that will comprise pixel value from converts a kind of form that comprises one group of coefficient value to, and wherein each coefficient value all is a weighting factor (multiplier) of the basic function of the conversion of discussing.Can show in addition, at the inner spatial redundancy that has quite big degree of typical digital picture.In fact, this means the inner any pixel value of image actual with other pixel values of its next-door neighbour usually be identical, that is to say, between pixel value, have being correlated with to a great extent.In addition it is further known, image is being carried out some mathematic(al) manipulation, for example two-dimension discrete cosine transform (DCT) time, this spatial redundancies will significantly reduce, and produces a more succinct view data thus and shows.
The block-based transition coding of in the JPEG still image coding, using
For example, in the rest image compression performed according to the reference mode of widely used Joint Photographic Experts Group, the image encoded of at first is divided into the square block array of non-overlapping copies, and wherein for instance, each piece all comprises one 8 * 8 image pixel array.Then, then be that two-dimension discrete cosine transform (DCT) is applied independently in each image block with regard to the JPEG benchmark.Do like this and have being transformed into spatial frequency domain from the view data of pixel codomain and producing the effect of one group of corresponding coefficient value, wherein each coefficient value all is a weighting factor about the two-dimensional dct basic function.Consequent coefficient value is through quantizing, and uses entropy coding then and with a kind of lossless manner it encoded, and shows needed data volume (bit number just) thereby further reduce for it.According to the JPEG benchmark, entropy coder has only used huffman coding to produce a compression bit stream, but also can use arithmetic coding in other patterns.Finally, the data that are used for describing image and coding parameter (for example compression type, quantification and coding schedule, image size or the like) are embedded into the bit stream that entropy coder produces.And owing to Joint Photographic Experts Group comprises four kinds of alternative coding modes and only a small amount of constraints assigned in available quantification and coding schedule, thereby be necessary to carry out aforesaid operations, so that can exchange the JPEG compression bit stream between the different platform and have no reconstructed image under the situation of ambiguity.
The such digital video sequences of conventional film that is write down on the similar film comprises a series of rest images (being referred to as " frame " usually), and illusion of movement then is by showing in succession that to be generally the so comparatively faster speed of per second 15 to 30 frames described frame produces.The same with any rest image, a digital video sequences inside, the pixel value of individual frames will demonstrate sizable spatial redundancy.Therefore, the same with independent rest image, the frame of digital video sequences also can be handled by block-based transition coding.
Equally, the image of video sequence consecutive frame is similar often, and therefore, between certain frame of video and next frame of video, variation on the whole is very little.This means in Typical Digital video sequence inside and have sizable time redundancy.For example, in a scene, can comprise some the static element such as background scenery, also can comprise some moving region, for example newscaster's face.In the consecutive frame of sequence, background may remain unchanged, and the unique motion in the scene is then produced by the variation of newscaster's facial expression.Therefore, when forming the compression expression of video sequence, except the method that reduces spatial redundancy, also can use those to reduce the technology of view data time redundancy in the sequence, realize further data compression thus.
Hybrid video coders/decoder
A kind of technology that is celebrated with motion compensated prediction of having used the video coding system of prior art reduces the time redundancy in the video sequence.With regard to this motion compensation technique, in digital video sequences, the picture material of some (usually a lot) frame is one or more other frames " prediction " from sequence, and wherein said other frames are usually said " reference frame ".The prediction of picture material is to realize by the object or the zone of using " motion vector " to follow the trail of between the frame that will encode and one or more reference frame in the image.In general, in video sequence, one or more reference frames can or be followed after described frame prior to the frame that will encode.Yet, from the follow-up argumentation of this paper, can obviously find out, motion compensated prediction is applied to all frames of video sequence and uses at least two types coding thus in the video coding system of prior art, do like this and inappropriate (perhaps possibility).
Use motion compensated prediction and compressed video sequence frame is commonly referred to interframe encode or P frame.Only motion compensated prediction then is difficult to provide the video frame images content representation of sufficiently clear, and the frame that therefore is necessary for each intraframe coding usually provides one so-called " predicated error " (PE) frame.As this paper more described in detail after a while, what predication error frame was represented was the decoded version of inter-frame encoding frame and the difference between the coded frame picture material.More particularly, the predication error frame pixel value that comprised the frame that expression will encode and the corresponding difference of rebuilding between the pixel value that forms based on prediction (interframe encode) version of argumentation frame.Therefore, predication error frame has the feature similar to rest image, and can reduce the expression needed data volume of this frame (bit number) by using block-based transition coding.
Do not use the video sequence frame of motion compensated prediction compression to be called as (in the frame) coding or I frame in the frame.Usually, intracoded frame by block-based transition coding is applied to the coded frame of wanting pixel value produce.Under possible situation, the piece of intracoded frame is to predict the interior previous coding piece from same frame in addition.This technology is usually said inter prediction, and it has further minimizing and represents in the frame-effect of the needed data volume of coded frame.
In order to describe the principle of block-based transition coding and motion compensated prediction in more detail, now will be to Fig. 1 reference in addition, this figure is the schematic diagram of conventional hybrid video coders, has wherein used the interior combination with interframe encode of frame to produce a compression (coding) video bit stream.In Fig. 2, described corresponding decoder and will be described in the text after a while.
Video encoder 300 comprises that one is used for from the input 301 of camera or other video source (not shown) receiving digital video signals.It can also comprise that is adjusted into a converter unit 304 of carrying out block-based discrete cosine transform (DCT), a quantizer 306, an inverse quantizer 308, one is adjusted to inverse transformation block 310, combiner 312 and 316 and frame memories 320 of carrying out block-based anti-discrete conversion in advance (IDCT).Encoder also comprises exercise estimator 330, sports ground encoder (motion field encoder) 340 and motion compensated predictor 350.Switch 302 and 314 are switched encoder and are operated with cooperative mode by control manager 360 between the inter-frame mode of the frame mode of video coding and video coding.Encoder 300 also comprises video multiplex encoder 370, it constitutes individual bit stream 335 from the various types of information that encoder 300 generates, so that further be transferred to long-range receiving terminal, perhaps for instance, it also can be kept at described bit stream in the large-capacity storage media, for example hard disc of computer (not showing).
Encoder 300 is following runnings.Each uncompressed video frames that video source offers input 301 all is to receive and handle in the mode of macro block one by one, wherein preferably comes it is handled with raster scan order.When beginning the video sequence of encoding new, first frame in the described sequence is encoded as an intracoded frame.Next, unless satisfy one of following condition, otherwise will come by encoder is programmed: judge that 1) reference frame that uses in the present frame that just is being encoded and the prediction is very different, and produced too much prediction error information thus with interframe encode form each frame of encoding; 2) recurrence interval of frame stops in the predefined frame; Perhaps 3) receive a feedback from a receiving terminal, this feedback expression be a requirement provides frame with the intraframe coding form request.
Condition 1) appearance is to detect by the output that monitors combiner 316.Combiner 316 forms a difference between the current macro of the frame that just is encoded and its prediction that produces in motion compensated prediction parts 350.If measure (for example absolute difference summation of pixel value) about this difference exceeds a predetermined threshold, combiner 316 will be given notice to control manager 360 via control line 319 so, and control manager 360 will be come console switch 302 and 314 via control line 313, so that encoder 300 is switched to intra-frame encoding mode.Condition 2) appearance is by means of the timer in the control manager 360 or frame counter and monitor as follows, if timer termination or frame counter reach the frame of predetermined quantity, then control manager 360 is via control line 313 console switchs 302 and 314, so that encoder is switched to intra-frame encoding mode.If control manager 360 receives the feedback signal that an expression receiving terminal need refresh intracoded frame via control line 321 from a receiving terminal, then trigger condition 3).For example,, and then can not on receiver, it be decoded, then this situation might occur if the previous frame that sends is subjected to heavy damage because disturb in its transport process.Under this condition, Rcv decoder sends a requirement and comes request that next frame is encoded with the intraframe coding form, reinitializes described coded sequence thus.
Operation to the encoder in the intra-frame encoding mode 300 now is described.In intra-frame encoding mode, 360 pairs of switches 302 of control manager are operated, so that import from incoming line 318 receiver, videos.Vision signal then is to receive from input 301 in the mode of macro block one by one and via incoming line 318.When it was received, the brightness and the blocks of chrominance values that constitute macro block were delivered to dct transform unit 304, and a two-dimension discrete cosine transform is carried out to each piece value in described unit, produced a two dimensional DCT coefficients array for each piece thus.For instance, in afore-mentioned, each macro block all comprises 48 * 8 blocks of luminance values and two blocks of chrominance values of 8 * 8 corresponding pixels with it spatially, and dct transform parts 304 then are the coefficient value array of one 8 * 8 of each piece generation.
DCT coefficient about each piece is delivered to quantizer 306, uses quantization parameter QP that it is quantized in described quantizer 306.Selection about quantization parameter QP is controlled via control line 315 and by control manager 360.Because the numerical precision of the coefficient that process quantizes is lower than the numerical precision of the DCT change unit 304 initial coefficients that generate, therefore described quantification can be introduced an information loss.So just provide another so as to reducing the mechanism of each image desired data amount in the expression video sequence.Yet, different with the dct transform institute that essence is harmless, can cause the irreversible degradation of picture quality by the information loss that quantizes to introduce.The quantization degree that is applied to the DCT coefficient is high more, and the loss of picture quality is also just big more.
Shown in the circuit 325 of Fig. 1, concerning each piece, it will be delivered to video multiplex encoder 370 from quantizer 306 through the DCT coefficient that quantizes.Video multiplex encoder 370 uses a zigzag scanning process to come the conversion coefficient of each piece is sorted.This operation is that the two-dimensional array through quantized transform coefficients is transformed in the one-dimensional array.Typical zigzag scanning as shown in Figure 3 roughly is to come coefficient is sorted with the order that spatial frequency increases progressively.In addition, described operation comes it is sorted according to coefficient value toward contact, so that position coefficient early more likely has bigger absolute value than the coefficient after the position is leaned in the array in the one-dimensional array.This is that lower spatial frequency often has higher amplitude because in image block inside.Therefore, in the process one-dimensional array of quantized transform coefficients, those values at end are generally zero.
The distance of swimming-the grade of dct transform coefficient (run-level) coding
Usually, video multiplex encoder 370 has used two values of the grade by name (level) and the distance of swimming (run) to represent each nonzero coefficient through quantizing in the one-dimensional array.Grade is the value through the coefficient that quantizes, and the distance of swimming then is institute's coefficient of discussing continuous zero valued coefficients number before.Make that through ordering the value of grade is before relevant distance of swimming value about the distance of swimming of given coefficient and the value of grade.Then be used for representing described with zero grade point that equates and do not have nonzero coefficient.This size is that 0 grade point is called EOB (block end) symbol.
Entropy coding
By using entropy coding, in video multiplexer 370, further the value of the distance of swimming and grade is encoded.Described entropy coding is a lossless operation, and what it utilized is that coded data set internal symbol has this fact of different probabilities of occurrence usually.So, by assigning a variable number, can represent the symbol that more likely occurs with having the code word of bit still less, rather than use the bit of fixed qty to represent each symbol.Therefore, entropy coding is commonly referred to variable length code (VLC).Because some grade and the distance of swimming more likely occur than other values, therefore can effectively use entropy coding to reduce the needed bit number of value of the expression distance of swimming and grade.Can use multiple distinct methods to implement entropy coding here.For example, the entropy coding of the distance of swimming and class parameter can be implemented by means of the look-up table that shines upon between each possibility symbol of the coded data centralization of definition and the corresponding variable-length code (VLC).Normally statistical analysis is defined this look-up table by the training data is carried out, and wherein said training data comprises same-sign and has similar statistical property to coded symbol.The replacement technology that also has a kind of arithmetic coding by name in addition, it can be used for converting the distance of swimming and grade point to variable length codeword.For example, when a group code was carried out arithmetic coding, the distance of swimming and the grade point that are used for the conversion coefficient piece is quantized were to encode as the decimal number of a floating type.
In case having used appropriate method comes the distance of swimming and grade point are carried out entropy coding, then the video multiplex encoder further combines it with control information, use a kind of variable length decoding method that is suitable for the information type of discussing to carry out entropy coding in addition, thereby formed the independent compression bit stream of coded image information 335.
The local decode version of macro block also forms in encoder 300.This operation is to finish by the quantization transform coefficient about each piece of quantizer 306 outputs is used a kind of reverse dct transform via inverse quantizer 308 and in inverse transformation block 310.So, the pel array of reconstruction is for each block structure in the described macro block.The view data that finally obtains is input to combiner 312.In intra-frame encoding mode, switch 314 is set, so that it is zero to arrive being input as of combiner 312 via switch 314.So, the operation of combiner 312 execution is equivalent to and transmits those decode image data that do not change.
Carried out in the aforementioned Code And Decode step in the unit 304,306,308,310 and 312 decoded version of structure intracoded frame in frame memory 320 at the macro block that receives present frame and to macro block.After last macro block of present frame has been carried out intraframe coding and subsequent decoding, frame memory 320 will comprise the frame of a complete decoding, in the process of the frame of video of the follow-up reception of encoding with the interframe encode form, the frame of described complete decoding can be used as a prediction reference frame.
Operation to the encoder in the interframe encoding mode 300 now is described.In interframe encoding mode, control manager 360 comes to receive its input from circuit 317 by console switch 302, has wherein comprised the output of combiner 316.Combiner 316 is with macro block mode receiver, video input signal from input 301.When combiner 316 received the piece of the brightness that constitutes macro block and chromatic value, it can form corresponding prediction error information piece.Described prediction error information is represented is difference between its predicted value that produces in the piece discussed and the motion compensated prediction unit 350.More particularly, comprise the two-dimensional array of described value about the prediction error information of each piece in the macro block, wherein each value representation all is pixel value and be difference between the decoded pixel value that motion compensated prediction obtained of described formation according to following process in coded brightness or the chrominance information piece.Therefore, comprise all that at each macro block the blocks of luminance values of 8 * 8 pixels and two are spatially with it under the situation of the blocks of chrominance values of 8 * 8 corresponding pixels, also comprise four 8 * 8 luminance prediction error value piece about the prediction error information of macro block, and two spatially corresponding with it 8 * 8 chrominance prediction error value piece.
Prediction error information about each piece in the macro block is passed to dct transform unit 304, and a two-dimension discrete cosine transform is carried out to each predicted value piece in described unit, so that all produce the two-dimensional array of a dct transform coefficient for each piece.Therefore, comprise in the prediction error information about each macro block under the situation of 8 * 8 spatially corresponding with it chrominance prediction error value piece of four 8 * 8 luminance prediction error value piece and two, DCT converting unit 304 is the conversion coefficient value array of one 8 * 8 of each blocks of prediction generation.Conversion coefficient about each blocks of prediction then is passed to quantizer 306, wherein uses a quantization parameter QP and comes it is quantized in the similar mode of a kind of and the described mode of encoder operation in the frame mode of above combining.Equally, control by control line 315 by control manager 360 about the selection of quantization parameter QP.
What the DCT coefficient that process quantizes was represented is the prediction error information of each piece in the macro block, and shown in the circuit among Fig. 1 325, these coefficients are delivered to video multiplexer 370 from quantizer 306.The same with intra-frame encoding mode, video multiplex encoder 370 has used aforementioned zigzag scanning process (referring to Fig. 3) to come the conversion coefficient of each blocks of prediction is sorted, and then each non-zero quantized coefficients is expressed as a grade and a distance of swimming value then.It has also used entropy coding and has come the distance of swimming and grade point are compressed in a kind of mode similar with above combining the described mode of intra-frame encoding mode in addition.Video multiplex encoder 370 also receives motion vector information via circuit 326 from sports ground coding unit 340, and from control manager 360 receiving control information.This encoder carries out entropy coding to motion vector information, and forms an independent coded image information bit stream 335, has comprised motion vector, predicated error and control information through entropy coding in the described bit stream.
What the DCT coefficient that process quantizes was represented is the prediction error information of each piece in the macro block, and these coefficients also are to be delivered to inverse quantizer 308 from quantizer 306.The inverse quantization DCT coefficient that it is carried out inverse quantization here and will finally obtain is applied to reverse dct transform unit 310, wherein in described unit it is carried out dct transform, so that produce the prediction error value piece of local decoding.Then, the prediction error value piece through local decoding is input in the combiner 312.In interframe encoding mode, will be provided with, so that combiner 312 also receives the predicted pixel values of each piece in the macro block that produces about motion compensation units 350 switch 314.Combiner 312 combines each local solution code block of prediction error value with corresponding predicted pixel values piece, so that produce the reconstructed image piece and deposit it in frame memory 320.
Because the macro block of vision signal is from the video source reception and through the Code And Decode step the previous described unit 304,306,308,310 and 312, so the decoded version of intracoded frame is constructed in frame memory 320.After last macro block of vision signal has been carried out intraframe coding and subsequent decoding, frame memory 320 comprises the frame of a complete decoding, and described frame can serve as a prediction reference frame in the process with the frame of video of the follow-up reception of interframe encode formats.
What describe now is to predict for a macro block generation of present frame.Any one frame with interframe encode form coding all needs a reference frame that is used for motion compensated prediction.This means that in the process that video sequence is encoded first frame that no matter will encode is first frame or other frame in the sequence, all be necessary to adopt the interframe encode form to come it is encoded.And this then mean that when control manager 36 switches to interframe encoding mode with video encoder 300 decode by the coded frame to previous formation, the complete reference frame of Xing Chenging can use thus in the frame memory 320 of encoder.Usually, reference frame forms by intracoded frame or inter-frame encoding frame being carried out the part decoding.
In the process of a macro block generation forecast that is present frame, first step is carried out by motion estimation unit 330.Motion estimation unit 330 receives brightness and the blocks of chrominance values that those constitute coded frame via circuit 328.Then, it carries out a piece matching operation, so that essence is corresponding to a zone of current macro in the identification reference frame.In order to carry out described matching operation, the on-the-spot estimation unit that moves visits the reference frame data of preserving in the frame memory 320 via circuit 327.More particularly, motion estimation unit 330 is by being checked that to expression other different numerical value of margin of image element (for example absolute difference sum) calculate the execution block coupling between macro block and candidate's best pixel matching area, and wherein said best pixel matching area derives from the reference frame of preserving in the frame memory 320.In the predetermined search ranges of reference frame, at the skew that might be offset and calculated a difference, and motion estimation unit 330 has been determined minimum calculated difference.Skew between the candidate pixel value piece of the reference frame of the macro block of present frame and generation minimal difference has then defined the motion vector about the macro block of being discussed.
In case motion estimation unit 330 is for macro block has produced motion vector, then it outputs to sports ground coding unit 340 with motion vector.Described sports ground coding unit 340 uses a motion model that comprises one group of basic function and kinematic coefficient to come the motion vector that receives from motion estimation unit 330 is carried out approximate evaluation.More particularly, sports ground coding unit 340 is expressed as one group of kinetic system numerical value with motion vector, has wherein then formed an approximation of motion vector when these values and basic function are multiplied each other.Usually, a translational motion model only has two kinematic coefficients and has used basic function here.
Kinematic coefficient is delivered to motion compensated prediction unit 350 from sports ground coding unit 340.Motion compensated prediction unit 350 also receives the best match candidate zone of the pixel value of motion estimation unit 330 identifications from frame memory 320.Approximate representation by using the motion vector that sports ground coding unit 340 produces and from the pixel value in the pixel best match candidate zone of reference frame, motion-compensated prediction block 350 all produces the array of a predicted pixel values for each piece in the macro block.Each predicted pixel values piece all is delivered to combiner 316, then will subtract each other corresponding to (input) pixel value of the reality in the piece of current macro and predicted pixel values in described combiner.So just obtained one group of blocks of prediction about macro block.
Operation to Video Decoder shown in Figure 2 400 now is described.Decoder 400 comprises that one demultiplexes into the video multiplex decoder 470 of its part from encoder 300 received code bit streams and with it, an inverse quantizer 410, a reverse dct transform device 420, a motion compensated prediction unit 440, a frame memory 450,430, one control manager 460 of a combiner and an output 480.
What 460 pairs of control manager were decoded is that intracoded frame or inter-frame encoding frame are made response, thereby the operation of decoder 400 is controlled.In the frame/and interframe triggers control signal and will cause decoder to switch in decoding schema, and wherein for instance, described signal is to derive the image type information that provides of the header branch at each compressed video frame that receives from encoder.In the frame/interframe triggers control signal and extracted from coded video bit stream by video multiplex decoder 470 and be delivered to control manager 460 via control line 422.
The decoding of intracoded frame is to be that carry out on the basis with one by one macro block, and wherein in fact each macro block all is decoded in coded message associated in identifying receiver, video bit stream 335.Video multiplex decoder 470 is at first discussed from relating to and is separated those coded messages about the piece in the macro block the possible control information of macro block.And comprise variable length codeword about the coded message of each piece in the inter-coded macroblocks.What these code words were represented is grade and the distance of swimming value that is used for the entropy coding of piece non-zero quantization DCT coefficient.Video multiplex decoder 410 uses a kind of variable length decoding method to come variable length codeword is decoded, restoration grade and distance of swimming value thus, and wherein said method is corresponding with the coding method of use in the encoder 300.Then, described decoder is that each piece in the macro block is rebuild quantization transform coefficient array and it is delivered to inverse quantizer 410.In the video demodulation multiplexer, used a kind of appropriate variable length decoding method to come any control information that relates to macro block is decoded in addition, and it has been delivered to control manager 460.Especially, the information relevant with the quantification gradation that is applied to conversion coefficient is extracted from coded bit stream by video multiplex decoder 470 and is provided to control manager 460 via control line 424.Control manager transfers via control line 415 this information to be delivered to inverse quantizer 420.Inverse quantizer 410 comes to be those DCT coefficients that quantized of each piece inverse quantization in the macro block according to control information, and the DCT coefficient that will carry out inverse quantization now offers reverse dct transform device 420.
The inverse quantization DCT coefficient that reverse 420 pairs of dct transform devices are used for each piece of macro block is carried out reverse dct transform, comprises the image information piece of rebuilding pixel value and process decoding so that form one.Owing in the coding/decoding of inter-coded macroblocks, do not use motion compensated prediction, so control manager 460 prevents to use the mode of any reference information to come control combination device 430 with a kind of in the decoding of inter-coded macroblocks.Then be delivered to the video output terminals 480 of decoder about the reconstruction pixel value of each piece in the macro block, wherein for instance, described value can be offered a display device (not showing).In addition, the reconstruction pixel value about each piece of macro block also is kept in the frame memory 450.Owing to the follow-up macro block of intracoded frame being decoded and preserving, thereby in frame memory 450, converge out a decoded frame gradually, and described frame can be served as a reference frame thus, so as with motion compensated prediction that the decoding of the inter-frame encoding frame of follow-up reception is associated in use.
Inter-frame encoding frame also is to decode in the mode of macro block one by one, and in fact, each inter-coded macroblocks all is just decoded recognizing associated coded message from receive bit stream when.Video multiplex decoder 470 is from encoding motion vector information and relate to the coded prediction control information of isolating the possible control information of the macro block of discussing about each piece of inter-coded macroblocks.As mentioned above, the coded prediction control information that is used for each piece of macro block comprises variable length codewords, and what its was represented is grade and the distance of swimming value that is used for the non-zero quantization transform coefficient entropy coding of described blocks of prediction.Video multiplex decoder 470 uses a kind of variable length decoding method to come variable length codeword is decoded, restoration grade and distance of swimming value thus, and wherein said method is corresponding with the coding method of use in the encoder 300.One of described then decoder reconstructs is delivered to inverse quantizer 410 about the quantization transform coefficient array of each piece in the macro block and with it.In addition, in the video multiplex decoder, also used a kind of appropriate variable length decoding method to come the control information that relates to inter-coded macroblocks is decoded, and described information then is delivered to control manager 460.Then from coded bit stream, extract with the information that the quantification gradation of the conversion coefficient that is applied to blocks of prediction is associated, and described information is provided to control manager 460 via control line 424.Control manager 460 transfers via control line 415 this information to be delivered to inverse quantizer 420.Inverse quantizer 420 comes the quantization DCT coefficient of each piece in these expression macro blocks is carried out inverse quantization according to control information, and the DCT coefficient of present inverse quantization is offered inverse quantizer 420.Then then in reverse dct transform device 420 the inverse quantization DCT coefficient to the prediction error information of representing each piece carry out inverse transformation so that generate the array of a prediction error value that rebulids for each piece in the macro block.
Relate to that the macroblock encoding motion vector information extracts and be to use a kind of appropriate variable length decoding method by video multiplex decoder 470 from coded video bit stream 335 and decoded.The decoding motion vectors that obtains thus is delivered to motion compensated prediction unit 440 via data wire 426, and wherein said unit has used a motion model identical with the used motion model of the described inter-coded macroblocks of coding in the encoder 300 to rebuild a motion vector as macro block.The motion vector of rebuilding is similar to the motion estimation unit of the encoder 330 initial motion vectors of determining.440 of the motion compensated prediction unit of decoder use the motion vector of rebuilding and discern the position that rebuilds pixel region in the prediction reference frames that frame memory 450 is preserved.For example, reference frame can be the intracoded frame of an early decoding, also can be the inter-frame encoding frame of an early decoding.But though which kind of situation appears, the pixel region of reconstructed motion vector indication all is used to form the prediction of the macro block of discussing.More particularly, motion compensated prediction unit 440 copies corresponding pixel value by the pixel region of discerning and forms an array of pixel values about each piece in the macro block from reference frame.Described prediction then is the pixel value piece of deriving from reference frame, and it is delivered to combiner 430 from motion compensated prediction unit 440, and it combines with the prediction error information of process decoding there.In practice, the pixel value of each prediction piece all is added in the corresponding reconstructed prediction error value of reverse dct transform device 420 outputs.Can obtain reconstruction array of pixel values thus about each piece in the macro block.The pixel value of rebuilding then is delivered to the video output terminals 480 of decoder and is kept in the frame memory 450.Owing to decoding and having preserved the macro block of inter-frame encoding frame, therefore in frame memory 450, pool a decoded frame gradually, described thus decoded frame uses in the motion compensated prediction of other inter-frame encoding frame as a reference frame.
H.26L video encoding standard
H.26L, ITU-T suggestion is the newest standards in the video encoding standard family of International Telecommunication Association's exploitation.Especially, this standard is intended to carry out video coding with common low bit rate less than 64kb/s, and therefore described standard is particularly suitable for how the best uses the wireless communication networks of available bandwidth or the digital video that any fixed line communication net is transmitted to encode to paying the utmost attention to via those.H.26L, the video coding system that ITU-T defines is a hybrid video coding system, and it is to operate according to the rule that combines with described generic video encoder 300 of Fig. 1 and 2 and decoder 400 as mentioned above.Especially, what use according to the video coding system of H.26L realizing is that block-based transition coding is combined with motion compensated prediction, thus the room and time redundancy in the minimizing video sequence.
H.26L Jian Yi latest edition is usually said Test Model 8 (TML8), in " H.26L Test Model Long Term Number 8 (TML-8) draft 0 " (ITU-T telecommunication standardization part, seminar 16, video coding panel of expert) in it is described, two kinds of alternative entropy coding patterns have been stipulated in the suggestion of this version.In first kind of (default) pattern, used so-called general variable length coding (UVLC) method to come all syntactic elements are encoded.The UVLC coding mode is a kind of look-up table method, wherein represents all different kinds of information that video encoder produce with same group of variable length codeword not considering under the situation of the information type of discussing.And the alternative entropy coding method that specify to use in so-called " high complexity class (profile) " is a kind of with based on contextual adaptive binary arithmetic coding (CABAC) and the technology that is celebrated.This method is a kind of binary arithmetic coding form that continues to be adapted to the coded message statistical property, and in the prior art as a kind of and well-known (be published in Commun.ACM 30th with J.G.Cleary in June, 1987 referring to H.Witten, R.M.Neal and roll up " Arithmetic coding for data compression " literary composition of the 520th~540 page) in the most effective entropy coding form.
Because the UVLC entropy coding has used same group of variable length codeword to represent all types of information that video encoder generates, therefore do not match best usually will the information encoded feature for the statistical property of described code word.For example, the appearance situation with the value of the control information that relates to quantization parameter value is different probably for the frequency of occurrences that is used for being expressed as the particular run of quantization DCT coefficient of in-frame encoding picture piece and grade point.In H.26L, introduced the CABAC entropy coding method, so as to overcome the UVLC entropy coding method intrinsic suboptimum characteristic.As previously described herein, arithmetic coding is represented is a symbol group that will encode with independent variable-length code (VLC) (floating number).Compare with the entropy coding method of each symbol of absolute coding, this method provides distinctive advantage.Specifically, the entropy coding method of each symbol of absolute coding needs to use a bit to represent each symbol at least.Because that arithmetic coding is represented is the symbol group with single code word, thereby might realize the data compression speed less than 1 bps.Therefore, the CABAC method that provides in H.26L also might improve data compression.In addition, because described method is a kind of adaptive approach, so it can consider that the statistical nature of coded information changes, even guarantee coded data character thus variation to a certain degree takes place, and also can keep the data compression performance.
Based on contextual arithmetic coding
As mentioned above, the CABAC arithmetic coding is a kind of entropy coding method, and it can be adapted to coded change in information statistics.So, with the hypothesis fixedly the entropy coding of statistical property compare, described method can provide the compression efficiency of improvement.Fig. 4 describes is a kind of exemplary based on contextual binary arithmetic coder 700.CABAC is a kind of binary arithmetic coding method, and therefore, the data symbol with nonbinary sequence that encode at first converts binary value (" binarization ") in binary map unit 710.Described binarization is handled and is comprised sign map to a binary sequence (bin) that will will encode, and wherein each binary sequence all has a binary sequence corresponding numbering and can give a value 0 or 1.Below in table 1, provided an example of this mapping.But also it is contemplated that other binarization scheme of use in principle.
In the CABAC method, each binary sequence all is assigned to so-called " context " (gaining the name thus based on contextual arithmetic coding).It is the binary sequence that concentrates in together and have similar statistical nature that a context can be considered as.In other words, suppose here concerning being assigned to contextual each binary sequence that its probability that comprises numerical value 1 or 0 is to belong to described contextual other binary sequences similar.So, be used for the probability Estimation that arithmetic encoder produces code word be for each context rather than will encode each
Numerical value Binary sequence
0 1
1 0 1
2 0 0 1
3 0 0 0 1
4 0 0 0 0 1
5 0 0 0 0 0 1
6 0 0 0 0 0 0 1
... . . . . . . . .
Bin_nr 1 2 3 4 5 6 7 .
Table 1
Possible binary sequence definition.Each context is all according to one " context model " definition, and described context be based on will coded data symbol (being binary sequence thus) statistical nature information set up in advance.Usually, if the difference between the probability of occurrence of 0 probability of occurrence and 1 is increased to maximum, then can improve the data compression ratio that binary arithmetic coder can be realized.Equally, also depend on the selection of context model based on contextual arithmetic coding performance.Usually, this means and select those can make the difference between 0 and 1 the probability of occurrence that is assigned to each contextual binary sequence reach maximum context model.
Fig. 4 described exemplary based on contextual arithmetic encoder in, in case the symbol that will encode in 710 binarizations of binary map unit then is assigned to it corresponding context in context assignment unit 720.The value that then will be assigned to corresponding binary sequence (just 1 or 0) then is delivered to arithmetic encoder 730.Subsequently, coding engine 750 one of the use of arithmetic encoder 730 have assigned the contextual probability Estimation of binary sequence to come the numerical value of binary sequence is encoded.Here, the performance of the data compression ratio of realizing as arithmetic encoder depends on the precision of probability Estimation.Say that in principle described estimation can be fixing or adaptive.If use fixation probability to estimate, then will be assigned to predetermined value and in encoding process, remain unchanged about contextual probability Estimation.Fixation probability is estimated normally by being obtained in advance analyzing to the training data that the real data that will encode has a similar statistical nature.If used the adaptive probability estimation, then use fixed value to come to estimate, and hereto pass through the actual count feature of coded data (binary sequence) and in whole encoding process, upgrade described probability according to those for each context initialization probability.Carry out adaptive coding and estimate that meeting is better usually, because they can adapt to the data that will encode.
Exemplary used the adaptive probability estimation and comprised a probability Estimation unit 740 shown in Figure 4 to calculating through the probability Estimation of upgrading based on contextual arithmetic encoder.Each contextual probability Estimation then is to be assigned in each contextual each binary sequence 1 and 0 occurrence number by record to upgrade.For example, concerning the binary sequence that is assigned to any context k, if assigned m sub-value 0 and assigned n sub-value 1 for it for it, so, in context k 1, its probability Estimation is n/ (n (m+1)), for 0, its probability Estimation then is (m+1)/(n (m+1)).
What Fig. 5 described is corresponding based on contextual arithmetic decoder 800 with encoder described in conjunction with Figure 4.At input 810, receive the bit stream of an expression through the data symbol of arithmetic coding based on contextual arithmetic decoder.At the beginning, according to the decoding symbols of previous reception, in context assignment unit 850, calculate the probability Estimation of a context and renewal binary sequence value.Here, the context of context assignment unit 850 execution assigns the calculating of carrying out with probability Estimation unit 830 about probability Estimation all to be to use the method identical with encoder to finish.Then, the bit that receives is fed in the arithmetic coding engine 840 of arithmetic encoder 820, uses the current probability Estimation of the context calculate and binary sequence value to convert thereof into the binary sequence value of decoding there.In binary sequence-numerical value map unit 860, be mapped to the value of the distance of swimming and grade through the binary sequence of decoding.
The CABAC method of in H.26L, using
To be described in detail the selected details that is used for the CABAC arithmetic coding method of high complexity class in the ITU-T suggestion H.26L now.According to TML 8 H.26L, the context of the distance of swimming and grade point depends on the binary sequence number of the grade or the distance of swimming value of coded block type and binarization.Different block types be according to the scan mode that coefficient value is sorted (single/pair), component type (brightness/chroma, AC/DC) or coding mode (in interframe/frame) defines.Yet concerning specified type, context only depends on the binary sequence number.More particularly, according to TML 8 H.26L, four contexts have been defined for the grade coding here.First context is used for first binary sequence, and second context is used for second binary sequence, and the 3rd context is used for the residue binary sequence of those expression rank amplitudes.The residue context then is used for the symbol of grade.Used similar methods that distance of swimming value is assigned to context in addition.Concerning the distance of swimming, there are three contexts, first context is used for first binary sequence, and second context is used for second binary sequence, and the 3rd context then is used for all remaining binary sequences.Because distance of swimming value is equal to or greater than zero all the time, therefore hereinafter, there is no need to be its expression symbolic information to affix.So, concerning the piece of a given type, can followingly summarize at the contextual processing that binary sequence is assigned to that the binary sequence (grade and Run-Length Coding) of conversion coefficient is carried out:
If(bin_nr>MAX_BIN_VAL)
bin_nr=MAX_BIN_VAL; (1)
end
context=bin_nr
Wherein bin_nr is the binary sequence number, and context is a context numbers.According to TML 8 H.26L, the value of MAX_BIN_VAL is set at 3, but also can use different MAX_BIN_VAL to be used as replacing in principle.
The distance of swimming-grade is to being following coding: at first come the distance of swimming and grade are classified according to piece/coefficient type, wherein said type comprises: scan pattern, coefficient type (DC/AC) and coding mode (in interframe/frame or in 16 * 16 frames).Come it is carried out binarization by grade and the distance of swimming are mapped to a binary sequence then, and it is assigned to a context according to the numbering of each binary sequence.
Fig. 6 a~6d is by describing in detail this processing with reference to 4 * 4 exemplary quantization DCT coefficient arrays.It has also described the method for the statistical property of the distance of swimming that is used to follow the trail of quantization DCT coefficient and grade point in addition, thereby has proved the self-adaptive features of CABAC method.At first the two-dimensional array that passes through the DCT coefficient value that quantizes is carried out zigzag scanning, so that produce the one-dimensional array of a value shown in Fig. 6 a here.Then with the zero coefficient values in the one-dimensional array as the distance of swimming and grade point to being represented.As discussed previously, each grade point is all represented the quantization DCT coefficient value of a non-zero, and the relevant distance of swimming is then corresponding to the number of argumentation coefficient zero valued coefficients before.It is right to have provided the distance of swimming-grade that derives from exemplary quantization DCT coefficient array in Fig. 6 b.Each centering, grade point is in before the distance of swimming value and with null grade point and is used as a block end symbol, does not have zero coefficient values so that indicate in described.
Then, each distance of swimming and grade point all convert a binary value to.According to H.26LTML 8, the binarization scheme that is used to change the distance of swimming that quantizes the dct transform coefficient value and grade is with above scheme shown in Figure 1 is identical.Fig. 6 c shows is that the binarization scheme that table 1 provides is applied to the distance of swimming in the exemplary array and the result of grade point.In addition, Fig. 6 c has also shown according to H.26L binary sequence being assigned to context.As mentioned above, wherein only used three contexts to describe the size of the distance of swimming and grade point.First context has then comprised all remaining binary sequences corresponding to 1, the second context of binary sequence corresponding to 2, the three contexts of binary sequence.In Fig. 6 c, context is described by the runic horizontal line.By controlling chart 6c as can be seen, most of grade points all are mapped to the binary sequence that is assigned to context 3, and most of distance of swimming values then are mapped to the binary sequence that is assigned to context 1.
Each just upgrades after the binary sequence of having encoded through the contextual probability Estimation of assigning.The probability Estimation of the distance of swimming and grade then is independently updated.As discussed previously, what given contextual probability Estimation was represented is the statistical nature that is assigned to the contextual binary sequence of being discussed.What more particularly, described probability Estimation was described is to be assigned to comprise 0 or 1 probability in the contextual binary sequence.It is the method that the distance of swimming and grade are upgraded probability Estimation that Fig. 6 d has described with a kind of demonstration mode.What describe among this figure is the distance of swimming and grade at 4 * 4 quantization DCT coefficient pieces shown in those representative graphs of binarization 6a, and it is assigned to context, and then the front and back of in arithmetic encoder, encoding, in being assigned to the contextual binary sequence of specifying the distance of swimming or grade, comprise 0 or 1 probability.Fig. 6 d has adopted form, has wherein write down 1 and 0 appearance situation in being assigned to each contextual binary sequence.Therefore, the contextual probability Estimation of appointment is following providing:
The number of 0 probability=0/(number of 0 number+1)
The number of 1 probability=1/(number of 0 number+1)
In this drawing, suppose that 4 * 4 of the quantization DCT coefficient shown in Fig. 6 a are the pieces of handling the earliest.This means and in table, do not write down 1 and 0 the situation that before occurs.In order to overcome this problem, supposed here that before handling described each context all has equal 1 or 0 the probability that comprises.And this hypothesis is to represent by the identical value of input in the row of record 0 and 1 appearance situation.In Fig. 6 d, 1 is used to initialization probability estimates.As selection, also can use a probability Estimation that derives from the training data analysis to estimate for each context initialization probability.Then be assigned to 1 and 0 the number that each is occurred in contextual binary sequence contextual the time about the distance of swimming that quantizes dct transform coefficient and grade point and with it then and count, upgrade probability Estimation thus in binarization.The right-hand column of Fig. 6 d has shown the situation after handling the quantification of 4 * 4 shown in Fig. 6 a DCT piece.
Although compare with the UVLC entropy coding method, advise that at ITU-T the CABAC arithmetic coding method that adopts in the high complexity class of TML 8 H.26L provides improvement aspect the data compression, with regard to code efficiency, described method still is not best.Therefore, an object of the present invention is to provide a kind of can further improve code efficiency based on contextual arithmetic coding method and system.
Summary of the invention
The present invention is based on a kind of like this understanding, that be exactly use come based on contextual arithmetic coding specified data symbols encoded in, by using those context models that context of having assigned other data symbols is taken in, can aspect code efficiency, be improved.Especially, by the CABAC method of using in the high complexity class with reference to TML 8 H.26L, the present inventor determines, between the distance of swimming and the grade that is associated with dct transform coefficient existence some get in touch.The inventor has also determined to use these to concern to construct improved context model in addition, and wherein said model can make it when the CABAC method is applied to the distance of swimming and grade point to operate through the code efficiency that improves.Especially, the inventor determines that the successive value will demonstrate very big similitude.More particularly, in the transformation coefficient block inside of appointment, the grade of coded coefficient has the amplitude that is similar to the previous coding coefficient level in fact usually.The inventor has also determined an inverse relation between grade and the distance of swimming value in addition.Especially, big more grade point is possible more before less distance of swimming value.Equally set up conversely, that is to say, less grade point is likely after the bigger distance of swimming.Therefore, the present invention proposes to create new context model for the coding of DCT variation coefficient, and wherein said model has been taken these relations between grade and the distance of swimming value into account.
In order to carry out in first context model that designs based on contextual encoder, concerning the binary sequence of the coefficient level value that is assigned to a binarization, its context depends on the coefficient level of previous coding.In order to carry out in second context model that designs based on contextual decoder, concerning the binary sequence of the coefficient level value that is assigned to binarization, its context depends on the coefficient level of early decoding.For in implementing based on contextual decoder or the 3rd context model that designs based on contextual arithmetic decoder, concerning the binary sequence of the coefficient distance of swimming value that is assigned to binarization, its context depends on the coefficient level value of early decoding.
The inventor also further determines, with transform coefficient values that the different images piece is associated between have certain similitude.These similitudes can become bigger between close mutually image block, and often the strongest between the image block that is close to mutually.More particularly, be used for representing specific image block the non-zero transform coefficient value quantity Nc often with near or be identical in abutting connection with the number of the non-zero transform coefficient value of the image block of discussing.Therefore, the present invention has also introduced such notion, and that is exactly that image block for transition coding provides the indication of a non-zero transform coefficient number and uses entropy coding to come this value is encoded.In addition, if will be used for the Nc value is encoded based on contextual arithmetic coding, the inventor has determined so, beneficially by to being assigned to that the context that is used at least one other transition coding image block takes in the Nc value of piece being assigned to a context.So, between close mutually image block, the similitude between the Nc value can utilize this based on contextual arithmetic coding process.Advise H.26L TML 8 according to I TU-T, the number of non-zero transform coefficient in the image block is not encoded.As an alternative and as indicated previously, provide a block end (EOB) indication here.EOB indication expression to corresponding to last distance of swimming-grade of nonzero coefficient to encoding.The inventor determines, compare with the current method that the EOB indication is provided used in TML 8 H.26L, here the method for Ti Chuing will cause the raising on the code efficiency, the clearly indication of nonzero coefficient number in the piece wherein is provided in the present invention, and has used based on contextual arithmetic coding to come it is encoded.
Although the present invention's motivation and basic conception thereof behind provides in encoding and decoding of video, especially just H.26L TML 8 provides, and should be appreciated that the present invention also goes for other video coding systems and still image coding.Say in principle, the present invention can be applied to any one used block-based transition coding with based on the image encoding system of contextual arithmetic coding.
According to a first aspect of the invention, a kind of method for encoding images is provided, wherein image has been divided into a plurality of with a plurality of pixels, each pixel has a pixel value, and described pixel value piece is carried out a transition coding operation, so that produce corresponding transform coefficient values piece.The described transform coefficient values piece of scanning in a given scanning sequency, so that produce a coefficient value array through overscanning, and use a plurality of numerals to representing the coefficient value in the array of overscanning, described numeral is to having one first numeral and one second numeral.First numeral and second numeral are assigned to one that represents in the right a plurality of contexts of described numeral.According to a first aspect of the invention, first right value of numeral be based on first numeral of another digital centering and be assigned to one contextual.
Preferably, based on first numeral of a digital centering first numeral of another digital centering is assigned to the context that a contextual step is taken first numeral of having assigned other digital centerings into account.
Beneficially, first numeral of digital centering is a zero coefficient values.Preferably, first numeral that numeral is right equates with the size of zero coefficient values.
Preferably, second numeral of digital centering is a plurality of continuous zero coefficient value before zero coefficient values.
Preferably, described context is a context based on contextual arithmetic encoder.
More preferably, described context is based on the context of contextual binary arithmetic operation encoder.
Beneficially, first and second numerals are mapped to one group of binary sequence, and wherein each binary sequence all has a binary sequence numbering that is associated, and each binary sequence can both adopt one in first value or second value.
Preferably, each first and second numeral all is mapped in described one group of binary sequence, and it then is to be assigned to first value by the value with binary sequence to indicate that numeral is mapped to given in described one group of binary sequence one.
Preferably, first value is that 1 and second value is 0.
Preferably, each group binary sequence all is assigned to a context.
Very advantageously be, under the situation that the context of having assigned other digital centering first numerals is taken in, based on first numeral of another digital centering first numeral of a digital centering being assigned to a contextual step is to number by the binary sequence of checking the binary sequence that first right numerals of described other numerals are shone upon to carry out.
Beneficially, described method also comprises and keeps a probability Estimation that is used to describe each contextual statistical property.
Preferably, concerning each context, what described probability Estimation was represented is the statistical likelihood with the numeral that is assigned to contextual predetermined value.
Preferably, concerning each context, described probability Estimation be by record be assigned to discuss first value in the contextual binary sequence and the appearance situation of second value keeps.
According to a second aspect of the invention, a kind of method for encoding images is provided, wherein image has been divided into a plurality of with a plurality of pixels, each pixel all has a pixel value, and described pixel value piece is carried out a transition coding operation, so that produce corresponding transform coefficient values piece.Scan conversion coefficient value piece in a kind of given scanning sequency, so that produce a coefficient value array through overscanning, and use a plurality of numerals to representing the coefficient value in the array of overscanning, wherein said numeral is to having one first numeral and one second numeral.First numeral and second numeral are assigned to one that represents in the right a plurality of contexts of described numeral.According to a second aspect of the invention, the numeral the second right numeral be based on digital centering first the numeral and be assigned to one contextual.
Preferably, based on first numeral of a digital centering first numeral of another digital centering being assigned to a contextual step takes in the context of having assigned other digital centering first numerals.
Beneficially, first numeral of digital centering is a zero coefficient values.Preferably, first numeral that numeral is right equates with the size of zero coefficient values.
Preferably, second numeral of digital centering is a plurality of continuous zero coefficient value before zero coefficient values.
Preferably, described context is a context based on contextual arithmetic encoder.
More preferably, described context is based on the context of contextual binary arithmetic operation encoder.
Beneficially, first and second numerals are mapped to one group of binary sequence, and wherein each binary sequence all has a binary sequence numbering that is associated, and each binary sequence can both adopt one in first value or second value.
Preferably, each first and second numeral all is mapped in described one group of binary sequence, and it then is to be assigned to first value by the value with binary sequence to indicate that numeral is mapped to given in described one group of binary sequence one.
Preferably, first value is that 1 and second value is 0.
Preferably, each group binary sequence all is assigned to a context.
Very advantageously be, under the situation that the context of having assigned the second right numeral of one of them numeral is taken in, based on digital centering first numeral digital centering second numeral being assigned to a contextual step is to number by the binary sequence of checking the binary sequence that second numeral is shone upon to carry out.
Beneficially, described method also comprises and keeps a probability Estimation that is used to describe each contextual statistical property.
Preferably, concerning each context, what described probability Estimation was represented is the statistical likelihood with the numeral that is assigned to contextual predetermined value.
Preferably, concerning each context, described probability Estimation be by record be assigned to discuss first value in the contextual binary sequence and the appearance situation of second value keeps.
Preferably, the method for first and second aspects all is applicable to the transform coefficient values piece according to the present invention.
According to a third aspect of the present invention, a kind of encoder is provided, comprise and be used for image is divided into a plurality of device with a plurality of pixels, wherein each pixel all has a pixel value, comprise in addition being used for the pixel value piece is carried out a transition coding operation, so that produce the device of a corresponding transform coefficient values piece.Described encoder also comprises and is used for coming scan conversion coefficient value piece with a given scanning sequency, so that produce device through the coefficient value array of overscanning, be used for representing the device through the coefficient value of the array of overscanning of a plurality of numerals to representative, described numeral is to having one first numeral and one second numeral, and is used for first numeral and second numeral are assigned to the device of representing one of digital right a plurality of contexts.According to a third aspect of the present invention, described encoder comprises and being used for according to the first right numeral of another numeral and first numeral that numeral is right is assigned to a contextual device.
According to a fourth aspect of the present invention, a kind of encoder is provided, comprise and be used for image is divided into a plurality of device with a plurality of pixels, wherein each pixel all has a pixel value, comprise in addition the pixel value piece is carried out a transition coding operation, so that produce the device of corresponding transform coefficient values piece.Described encoder also comprises and being used for a given scanning sequency scan conversion coefficient value piece, so that produce device through the coefficient value array of overscanning, be used for representing the device through the coefficient value of the array of overscanning of a plurality of numerals to representative, wherein said numeral is to having one first numeral and one second numeral, and is used for first numeral and second numeral are assigned to the device of representing one of digital right a plurality of contexts.According to a fourth aspect of the present invention, described encoder comprises and being used for according to first numeral of digital centering and second numeral that numeral is right is assigned to a contextual device.
According to a fifth aspect of the present invention, a kind of method for encoding images is provided, wherein image has been divided into a plurality of with a plurality of pixels, each pixel all has a pixel value, and the pixel value piece is carried out a transition coding operation, so that produce corresponding transform coefficient values piece.According to a fifth aspect of the present invention, described method comprises the steps: to provide the numeral of zero coefficient values number in the expression transform coefficient values piece, and the context that this numeral is assigned to a described numeral of expression.
Very advantageously be, the numeral of non-zero transform coefficient value number in the expression transform coefficient values piece is assigned to a contextual step takes in having assigned another digital context, wherein said another numeral be zero coefficient values number in another transformation coefficient block.
Very advantageously be, the transformed value piece scans in given scanning sequency, produced a coefficient value array thus through overscanning, and described in the array of overscanning, to representing, wherein said numeral is to having one first numeral and one second numeral by a plurality of numerals for coefficient value.
Beneficially, first numeral of digital centering is a zero coefficient values.
Preferably, first numeral that numeral is right equates with the size of zero coefficient values.
More preferably, right first numeral of numeral and zero coefficient values subtract 1 size and equate.
Preferably, second numeral of digital centering is a plurality of continuous zero coefficient value before zero coefficient values.
Preferably, the block end indication that does not provide an indication to be in last zero coefficient values in the coefficient value array of overscanning here.
Preferably, according to the present invention the method for first, second and the 5th aspect each all be applicable to the transform coefficient values piece.
According to a sixth aspect of the invention, a kind of encoder is provided, comprising being used for image is divided into a plurality of device with a plurality of pixels, wherein each pixel all has a pixel value, comprise in addition being used for the pixel value piece is carried out a transition coding operation, so that produce the device of corresponding transform coefficient values piece.The device that provides one to be used for indicating the numeral of transform coefficient values piece zero coefficient values number is provided described encoder, and the contextual device that is used for described numeral is assigned to a described numeral of expression.
Very advantageously be, described encoder also comprises and being used for to having assigned the device of assigning the numeral of described indication transform coefficient values piece non-zero transform coefficient value number under the situation that another digital context takes in, wherein said another numeral indication be the number of non-zero transform coefficient in another transformation coefficient block.
According to a seventh aspect of the present invention, a kind of computer program is provided, comprising being used for image is divided into a plurality of code with a plurality of pixel values, wherein each pixel value all has a pixel value, comprise in addition being used for the pixel value piece is carried out a transition coding operation, so that produce the code of corresponding transform coefficient values piece.Described computer program also comprises and being used for given scanning sequency scan conversion coefficient value piece, so that produce code through the coefficient value array of overscanning, be used for using a plurality of numerals to represent code through the coefficient value of the array of overscanning, wherein said numeral is to having one first numeral and one second numeral, and is used for first numeral and second numeral are assigned to the code of representing one of digital right a plurality of contexts.According to a seventh aspect of the present invention, described computer program also comprises and is used for according to first numeral of another digital centering first right numeral of one of them numeral being assigned to a contextual code.
Beneficially, first numeral of digital centering is a zero coefficient values.
Preferably, first numeral that numeral is right equates with the size of zero coefficient values.
Preferably, second numeral of digital centering is a plurality of continuous zero coefficient value before zero coefficient values.
According to an eighth aspect of the present invention, a kind of computer program is provided, comprising being used for image is divided into a plurality of code with a plurality of pixel values, wherein each pixel value all has a pixel value, comprise in addition being used for the pixel value piece is carried out a transition coding operation, so that produce the code of corresponding transform coefficient values piece.Described computer program also comprises and is used for coming scan conversion coefficient value piece with given scanning sequency, so that produce code through the coefficient value array of overscanning, be used for using a plurality of numerals to represent code through the coefficient value of the array of overscanning, wherein said numeral is to having one first numeral and one second numeral, and is used for first numeral and second numeral are assigned to the code of representing one of a plurality of contexts that described numeral is right.According to an eighth aspect of the present invention, described computer program also comprises and is used for according to digital centering first numeral second right numeral of described numeral being assigned to a contextual code.
Beneficially, zero coefficient values of first numeral of digital centering.
Preferably, first numeral that numeral is right equates with the size of zero coefficient values.
Preferably, second numeral of digital centering is nonzero coefficient value a plurality of continuous zero coefficient value before.
According to a ninth aspect of the present invention, a kind of computer program is provided, comprising being used for image is divided into a plurality of code with a plurality of pixel values, wherein each pixel value all has a pixel value, comprise in addition being used for the pixel value piece is carried out a transition coding operation, so that produce the code of corresponding transform coefficient values piece.According to a ninth aspect of the present invention, described computer program also comprises the code that is used for providing the numeral of representing transform coefficient values piece zero coefficient values number, comprises the contextual code that is used for this numeral is assigned to a described numeral of expression in addition.
Very advantageously be, described computer program also comprises and being used for to having assigned under the situation that another digital context takes in, the numeral of non-zero transform coefficient value number in the indication transform coefficient values piece is assigned a contextual code, and what wherein said another numeral was indicated is the number of the zero coefficient values in another transformation coefficient block.
According to a tenth aspect of the present invention, provide a kind of computer program according to the present invention the 7th, the 8th and the 9th aspect.
According to an eleventh aspect of the present invention, provide a kind of based on contextual arithmetic coding method, wherein the data symbol array is represented with a code word.Data symbol in the described array is comprised one first numeral and one second numeral digital right.First numeral of described digital centering is assigned to a context of selecting from a plurality of contexts of representing first numeral, second numeral of digital centering then is assigned to a context of selecting from a plurality of contexts of representing second numeral.According to an eleventh aspect of the present invention, the first right numeral of numeral is based on the first right numeral of another numeral of digital centering and is assigned to contextual.
According to a twelfth aspect of the present invention, provide a kind of based on contextual arithmetic decoding method, wherein the data symbol array is to decode from the code word of an expression array.Data symbol in the described array is comprised one first numeral and one second numeral digital right.First numeral that described numeral is right is assigned to a context of selecting from a plurality of contexts of representing first numeral, the second right numeral of numeral then is assigned to a context of selecting from a plurality of contexts of representing second numeral.According to a twelfth aspect of the present invention, the first right numeral of numeral is based on the first right numeral of another numeral of digital centering and is assigned to contextual.
According to the 13 aspect of the present invention, provide a kind of based on contextual arithmetic coding method, wherein the data symbol array is represented with a code word.Data symbol in the described array is comprise one first numeral and one second numeral digital right.First numeral that described numeral is right is assigned to a context of selecting from a plurality of contexts of representing first numeral, second numeral that described numeral is right then is assigned to a context of selecting from a plurality of contexts of representing second numeral.According to the 13 aspect of the present invention, the numeral the second right numeral be based on digital centering first the numeral and be assigned to one contextual.
According to the 14 aspect of the present invention, provide a kind of based on contextual arithmetic decoding method, wherein the data symbol array is to decode from the code word of an expression array.Data symbol in the described array is comprise one first numeral and one second numeral digital right.First numeral that described numeral is right is assigned to a context of selecting from a plurality of contexts of representing first numeral, second numeral that described numeral is right then is assigned to a context of selecting from a plurality of contexts of representing second numeral.According to the 14 aspect of the present invention, the numeral the second right numeral be based on the first digit of digital centering and be assigned to one contextual.
According to the 15 aspect of the present invention, provide a kind of based on contextual arithmetic coding method, wherein the data symbol array is represented with a code word, the numeral of non-zero number of symbols in the expression array is provided in addition and it is assigned to the context of a described numeral of expression.
According to the 16 aspect of the present invention, provide a kind of based on contextual arithmetic encoder, use code word to represent the device of a data character array comprising being used to.Data symbol in the described array is comprise first numeral and second numeral digital right, described encoder comprises that also being used for first numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing first numeral, and second numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing second numeral.According to the 16 aspect of the present invention, described encoder comprise according to numeral of described digital centering right first the numeral and with another the numeral first right numeral be assigned to a contextual device.
According to the 17 aspect of the present invention, provide a kind of, comprising the device that is used for decoding the data symbol array from the code word of expression data symbol array based on contextual arithmetic decoder.Data symbol in the described array is comprise first numeral and second numeral digital right, described decoder also comprises: be used for first numeral that numeral is right and be assigned to a contextual device of selecting from a plurality of contexts of representing first numeral, and second numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing second numeral.According to the 17 aspect of the present invention, described decoder comprise according to numeral of described digital centering right first the numeral and with another the numeral first right numeral be assigned to a contextual device.
According to the 18 aspect of the present invention, provide a kind of, comprising using code word to represent the device of a data character array based on contextual arithmetic encoder.Data symbol in the described array is comprise first numeral and second numeral digital right, described encoder comprises that also being used for first numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing first numeral, and second numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing second numeral.According to the 18 aspect of the present invention, described encoder comprises and being used for according to digital centering first numeral and second numeral that numeral is right is assigned to a contextual device.
According to nineteen of the present invention aspect, provide a kind of, comprising the device that is used for decoding described array from the code word of expression data symbol array based on contextual arithmetic decoder.Data symbol in the described array is comprise first numeral and second numeral digital right, described decoder comprises that also being used for first numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing first numeral, and second numeral that numeral is right is assigned to a contextual device of selecting from a plurality of contexts of representing second numeral.According to nineteen of the present invention aspect, described decoder comprises and being used for according to digital centering first numeral and second numeral that numeral is right is assigned to a contextual device.
According to the 20 aspect of the present invention, provide a kind of based on contextual encoder, represent the device of a data character array comprising using a code word, comprise the device that the numeral of non-zero number of symbols in the expression array is provided in addition, and the contextual device that described numeral is assigned to a described numeral of expression.
By reading this specification in conjunction with Fig. 7 a to 12, it is clear that the present invention will become.
Description of drawings
Fig. 1 is a block diagram that the exemplary video encoder structure of having used block-based transition coding and motion compensated prediction is described.
Fig. 2 is the block diagram with the corresponding exemplary Video Decoder of Fig. 1 encoder.
Fig. 3 is a diagram that shows exemplary zigzag scanning.
Fig. 4 is the block diagram that shows in the prior art based on the encoder of contextual arithmetic coding scheme.
Fig. 5 is the block diagram that shows in the prior art based on the decoder of contextual arithmetic coding scheme.
Fig. 6 a is the diagram that shows the exemplary two-dimensional array of the quantization DCT coefficient value that scans in the zigzag mode.
Fig. 6 b is one and shows that those are by the grade of the array derivation of Fig. 6 a and the form of distance of swimming value.
Fig. 6 c is the grade of the binarization scheme of display list 1 binarization that value caused that is applied to the grade of Fig. 6 b and the distance of swimming and the form of distance of swimming value.
Fig. 6 d is one and has shown in order to upgrade the form of the method for probability Estimation from the distance of swimming and grade.
Fig. 7 a is one and has shown the form that context is assigned to the method for binary sequence according to grade point.
Fig. 7 b is one and has shown the form that context is assigned to the method for grade point according to first embodiment of the invention.
Fig. 8 a is one and has shown the form that context is assigned to the method for binary sequence based on distance of swimming value.
Fig. 8 b is one and has shown the form that context is assigned to the method for distance of swimming value according to second embodiment of the invention.
Fig. 9 is a block diagram of having described according to the encoder based on contextual arithmetic coding scheme of the present invention.
Figure 10 is a block diagram according to decoder of the present invention.
Figure 11 is one and has described the flow chart of method for encoding images according to the preferred embodiment of the invention.
Figure 12 is one and has described the flow chart of method for encoding images in accordance with another embodiment of the present invention.
Embodiment
To discuss in detail embodiments of the invention now.As mentioned above, the invention provides multiple related mechanism, can be improved code efficiency (data compression) based on contextual arithmetic encoder by this mechanism.This improvement is by using those that context model that context of having assigned other data symbols takes in is realized.
The 1.1st joint is described the first embodiment of the present invention in detail hereinafter, and this embodiment relates to a kind of based on contextual binary arithmetic coder, and described encoder is suitable for using in the image encoding system that for example H.26L the ITU-T suggestion defines.In this embodiment, by the quantization encoding coefficient to the transition coding piece of image pixel carry out grade point that the distance of swimming-grade coding produces be under the situation of having considered another transform coefficient levels that belongs to same, be assigned to contextual.
Describe the second embodiment of the present invention in detail at the 1.2nd joint, this embodiment also relate to a kind of be used for image encoding system based on contextual binary arithmetic coder, wherein said system can be the image encoding system of definition in for example ITU-T suggestion H.26L.In a second embodiment, by the dct transform coefficient to the quantification of the transition coding piece of image pixel carry out distance of swimming value that the distance of swimming-grade coding produces be under the situation of having considered the grade point that the distance of swimming-grade under the distance of swimming value is right, be assigned to contextual.
At the 1.3rd joint third embodiment of the invention described, this embodiment relate to equally a kind of be used for image encoding system based on contextual arithmetic encoder, wherein said system can be the image encoding system of definition in for example ITU-T suggestion H.26L.According to the 3rd embodiment, the number N c of the non-zero transform coefficient of transition coding image block is determined, and under the contextual situation that is assigned to the Nc value that is used at least one other transition coding image block it is assigned to a context considering.
The preferred embodiments of the present invention have made up the function of above-mentioned these three embodiment.
As described earlier in this article, ITU-T advise the high complexity class of TML 8 H.26L used a kind of with CABAC be celebrated based on contextual arithmetic coding form.In the video encoder that H.26L a basis is implemented, the CABAC method is used to the various different kinds of information that produced by encoder are encoded, the conversion coefficient (intra-frame encoding mode) or the predicated error (interframe encoding mode) that are produced comprising image pixel transition coding piece.Thereby scan according to a kind of specific scan pattern by the two-dimensional array that block of image pixels is carried out the conversion coefficient that transition coding produces and to produce one-dimensional array.These two kinds of scan patterns define in H.26L.First kind of pattern is called " single sweep pattern ", and another kind of pattern then is called " two scan pattern ".No matter use any scan pattern, the scan conversion coefficient all can convert the two-dimensional array of coefficient value to one and come one-dimensional array that coefficient is sorted in a predefined manner.In described one-dimensional array, orderly transform coefficient values is converted into the distance of swimming and grade point.In one-dimensional array through ordering, last clauses and subclauses be one according to the block end symbol of TML 8 H.26L, these clauses and subclauses are taked is a form with the zero grade point that equates.Show thus: in oldered array, it is right that last zero coefficient values has converted a distance of swimming-grade to.
The distance of swimming and grade point are to be converted into binary digital (binarization) by it being mapped to a series of binary sequences, wherein can for each binary digit all can value of being endowed 0 or 1 (referring to table 1).Then, the distance of swimming and the grade point of process binarization are assigned to context, and just one is the independent set of context of the distance of swimming and tier definition.According to H.26LTML 8, concerning a given block type, only depend on the numbering of the binary sequence of having assigned grade for the set of context of tier definition.More particularly, be that the grade coding has defined four contexts according to TML 8 H.26L.First context is used for first binary sequence, and second context is to be used for second binary sequence, the binary sequence of the expression rank amplitude that the 3rd context is used to be left.The residue context then is used for the symbol of grade.With regard to the distance of swimming, there are three contexts, wherein first context is used for first binary sequence, and second context is used for second binary sequence, and the 3rd context then is used for remaining all binary sequences.Because distance of swimming value always is equal to or greater than zero, therefore do not need to use an affix hereinafter to represent symbolic information.
1.1 be used for the context model of grade
According to the first embodiment of the present invention, when the grade point with a binarization is assigned to a context, except the binary sequence that consideration grade self is mapped to, also to consider the grade point of the previous distance of swimming-grade centering.Aspect this, term " previous the distance of swimming-grade to " means that the previous coefficient in the one-dimensional array of the described distance of swimming-grade pair and orderly coefficient value is corresponding.Following false code has provided an example procedure that is used for context is assigned to the right grade point of the distance of swimming-grade, has wherein considered binary sequence that grade itself is mapped to and the grade point of the previous distance of swimming-grade centering:
If(bin_nr>MAX_BIN_LEVEL);
bin_nr=MAX_BIN_LEVEL;
end
if(prev_level>MAX_LEVEL) (2)
prev_level=MAX_LEVEL;
end
context=(bin_nr-1)*MAX_LEVEL+prev_level
In expression formula (2), prev_level is the size of the right grade point of the previous distance of swimming-grade.At the beginning of each piece, prev_level can be initialized to zero.In two scan patterns, at each scanning beginning initialization prev_level, promptly every twice.Parameter MAX_BIN_LEVEL provides a kind of being used for that the binary sequence that is mapped to by grade point numbering influence the means that the mode of context appointment is controlled.More particularly, assign similar mode with a kind of to the current context that carries out according to TML 8 H.26L, MAX_BIN_LEVEL has effectively defined all context that is assigned to more than or equal to the binary sequence numbering of MAX_BIN_LEVEL.In a kind of similar mode, the means that the mode that parameter MAX_LEVEL provides a kind of grade point to the previous distance of swimming-grade centering to influence the context appointment is controlled.Fig. 7 a and Fig. 7 b have described the method that also by the false code of using expression formula (2) context is assigned to grade point according to first embodiment of the invention, wherein MAX_BIN_LEVEL=3 and MAX_LEVEL=5.Can use any combination of MAX_BIN_LEVEL and MAX_LEVEL to define one group of context that is suitable for the grade point statistical nature that to encode in principle.
1.2 be used for the context model of the distance of swimming
According to a second embodiment of the present invention, used method a kind of and that the described method of the 1.1st joint is similar that distance of swimming value is assigned to context here.More particularly, be assigned to one contextual the time, except considering binary sequence that the distance of swimming itself is mapped to, also will the right grade of the distance of swimming-grade of distance of swimming value ownership be taken in distance of swimming value with a binarization.False code hereinafter provided an example procedure that is used for context is assigned to the distance of swimming value of the distance of swimming-grade centering, taken the right grade point of the distance of swimming-grade that binary sequence that the distance of swimming itself is mapped to and described distance of swimming value are belonged in this process into account:
If(bin_nr>MAX_BIN_RUN);
bin_nr=MAX_BIN_RUN;
end
if(level>MAX_RUNL) (3)
level=MAX_RUNL;
end
context=(bin_nr-1)*MAX_RUNL+level
In expression formula (3), level is the size of the grade point of the distance of swimming-grade centering.The means that the mode that parameter MAX_BIN_RUN provides a binary sequence numbering that distance of swimming value is mapped to influence the context appointment is controlled.More particularly, with a kind of with assign similar modes according to 8 current contexts that carry out H.26LTML, MAX_BIN_RUN has effectively defined a context of having assigned more than or equal to all binary sequences numberings of MAX_BIN_RUN.In a kind of similar mode, the means that the mode that parameter MAX_RUNL provides a kind of grade point to the distance of swimming-grade centering to influence the context appointment is controlled.Fig. 8 a and Fig. 8 b have described the method that also by the false code of using expression formula (3) context is assigned to grade point according to second embodiment of the invention, wherein MAX_BIN_RUN=3 and MAX_RUNL=4.Can use any combination of MAX_BIN_RUN and MAX_RUNL to define one group of context that is suitable for the distance of swimming primary system meter feature that to encode in principle.
1.3 be used for the context of nonzero coefficient number
Especially, the third embodiment of the present invention refers more particularly to the method that the oldered array of transform coefficient values is converted to the distance of swimming and grade point, and signals those and the corresponding distance of swimming of the array-grade logarithm purpose method that quantizes the variation coefficient value.More particularly, to a block of image pixels or prediction error value carries out transition coding, thereby after forming the two-dimensional array of a transform coefficient values and each coefficient value being quantized, the non-zero quantized coefficients value number in the array will be determined.Value that is called Nc will be assigned to described numeral and be used to signal clearly the number of zero coefficient values in the array.Therefore, according to this embodiment of the present invention, no longer need one here such as the such EOB symbol of grade point that equates with zero.
Further be scanned through quantized transform coefficients, so that produce an orderly one-dimensional array according to predetermined scanning sequency.Replacedly, also can after being sorted, the quantization parameter value determine Nc again.Then, all to convert the distance of swimming-grade to right for each non-zero quantized coefficients in the oldered array.According to this embodiment of the invention, what the grade point that the distance of swimming-grade is right was represented is the size that subtracts 1 value that obtains through the coefficient that quantizes, and distance of swimming value is then corresponding with the number of argumentation coefficient continuous null value quantization parameter before.Because no longer the grade point that will equate with zero is as the block end designator, therefore be that described grade point has been given the size that quantization parameter subtracts 1 resulting value.Can save thus and be used to represent the needed data volume of class information (for example bit number).
Then, the same with the Nc value, used entropy coding to come grade and distance of swimming value are encoded here.Under the situation of having used such as the CABAC technology that in TML 8 H.26L, realizes, as mentioned above, can come the distance of swimming and grade point are encoded according to of the present invention first and/or second embodiment based on contextual arithmetic coding method.Replacedly, also can the context model that any other is suitable be used for the distance of swimming and grade point.Can define an independent context model for Nc in addition.According to this embodiment of the invention, the Nc value that at first will represent given middle non-zero quantization transform coefficient number is mapped to a series of binary sequence comes it is carried out binarization, and wherein each binary sequence all has a binary sequence corresponding numbering.Then then based on binary sequence that Nc was mapped to numbering and assigned at least one other image block of a Nc value or the Nc of macro block is identified for the context of described Nc.Following false code has provided the example procedure that is used for a context is assigned to a Nc value, has considered binary sequence that Nc itself is mapped to and previous Nc value in this process:
If(bin_nr>MAX_BIN_Nc);
bin_nr=MAX_BIN_Nc;
end
if(prev_nc>MAX_Nc) (4)
prev_nc=MAX_Nc;
end
context=(bin_nr-1)*MAX_nc+prev_nc
In expression formula (4), prev_nc is previous Nc value.
When encoder will send to a decoder through the grade of given quantification transformation coefficient block of coding and distance of swimming value, through the transmission before the distance of swimming and grade point are encoded of the Nc value of entropy coding.On decoder described Nc value is decoded, it is right then to follow thereafter with the corresponding distance of swimming-grade of quantization transform coefficient value of argumentation piece.When grade point was decoded, the corresponding subtraction of doing in order to compensate in encoder will be added to numerical value+1 in each grade size.
Use method for encoding images and improvement on code efficiency in order to show, according to the present invention, the mean bit rate difference is to calculate by using about QP=28,24,20,16 result.Table 2 has shown that the bit rate of the percentage form of comparing with TML 8 reduces, wherein MAX_LEVEL=5 and MAX_RUN=4.All frames are all encoded as the I frame in the CABAC pattern.As shown in table 2, the minimizing scope of bit rate is from 0.95 to 4.74%.When the QP value was very little, described improvement will be more remarkable.
In table 2, the title that appears at form first row is at Gisle Bjontegaard " Recommended Simulation Conditions for H.26L " (VCG-M75, ITU-T Video Coding Experts Group, Austin, Texas, USA, 2-4April, 2001) the middle picture that uses.
QP Container Foreman News Silent Tempete Mobile Paris
5 3.19 3.92 3.11 4.74 4.01 3.63 3.34
10 3.10 3.39 2.85 4.32 3.88 3.73 3.04
16 2.64 2.67 2.26 3.17 3.37 3.37 2.55
20 2.20 2.14 1.76 2.38 2.79 2.90 2.20
24 1.30 1.51 1.35 2.28 1.89 2.01 1.54
28 1.16 0.95 0.99 1.76 1.55 1.57 1.18
Mean bit rate difference (%) 1.79 1.83 1.58 2.37 2.49 2.40 1.87
Table 2
With reference now to Fig. 9,, according to the present invention, the encoder 10 of transmitting terminal comprises a unit 16 that is used to preserve the previous grade and the distance of swimming.As shown in Figure 9, the distance of swimming-grade that is used for given is provided to map unit 12 to 102, and to being mapped to a series of binary sequence, each binary sequence all has value 0 or 1 to described map unit 12 with described.In the right sequence of the expression distance of swimming-grade, the position of binary sequence is called the binary sequence numbering.The binary sequence numbering is by signal 104 expressions.The grade point 108 of the previous coding that provides based on signal 104 and unit 16, assignment unit 14 is assigned to a binary sequence numbering with a context.The context of signal 106 expressions is provided to an adaptive arithmetic code device 20.1 probability of occurrence and 0 probability of occurrence are then estimated by a probability Estimation unit 22.Based on described probability Estimation 120,24 pairs of binary sequences of arithmetic coding unit are encoded.124 of feedback signals are provided to probability Estimation module 22 from encoder 24, thereby upgrade probability Estimation.Be transformed into a bit stream 122 through information encoded.So that be delivered to a decoder or be kept in the memory device for using after a while.
Preferably, encoder 10 also comprise an energy with the distance of swimming-grade to before offering arithmetic encoder 20 with piece in nonzero coefficient number N c offer the unit 18 of arithmetic encoder 20, therefore also Nc is encoded and it is included in the bit stream 122.Described Nc is then represented by signal 110.Under the situation of using Nc, there is no need to send a block end (EOB) symbol to decoder.In the prior art, size is that 0 grade point will be used to the EOB symbol.More particularly, Nc is just found and be to use entropy coding to come it is encoded after transform and quantization.It is pointed out that under the known situation of nonzero coefficient number, no longer include necessary use 0 grade point and signal block end.Therefore, by the quantization parameter value is subtracted 1, can make amendment to grade point.
As shown in figure 10, the bit stream 122 that uses decoder 50 to come received code device 10 to provide at receiving terminal.What the bit stream that receives was represented is the data symbol of process arithmetic coding, and it is represented by reference number 202.At the beginning,, in context assignment unit 66, calculate a context, and in probability Estimation unit 62, upgrade the probability Estimation of binary sequence value according to the symbol of early decoding.The early decoding symbol that upgrades probability Estimation institute foundation is shown by reference number 205.That carries out in probability Estimation calculating that the context of carrying out in the context assignment blocks 66 is assigned and probability Estimation piece 62 is carried out and the encoder 10 is similar.Then, the bit 202 that receives is fed to the arithmetic decoding engine 64 of arithmetic encoder 60, uses the current probability Estimation of the context calculate and binary sequence value 204 to convert thereof into binary sequence value 206 through decoding there.In piece 68, be mapped to the distance of swimming and grade point through the binary sequence 208 of decoding.If in encoder 10 to piece in nonzero coefficient number N c encode and the bit stream 202 that receiving in described number is provided, then signal 214 is offered binary sequence-numerical value mapping block 68, thus by grade point being added 1 coefficient that recovers through quantizing.
Figure 11 describes the flow chart of method for encoding images according to the preferred embodiment of the invention.As shown in the figure, method 500 starts from the step 510 that encoder receives an image.In step 520, the image that receives is divided into a plurality of.In step 530 each piece is scanned, and obtain the grade and the distance of swimming of passing through the coefficient that quantizes in the piece in step 540.Compare with the encoding scheme of prior art, in step 550, the present invention has also used previous grade in contextual appointment process.Especially, as described in the 1.1st joint, the processing that context is assigned to the binary sequence of representing the quantization parameter grade point takes in the grade point of previous coding.Equally, as described in 1.2 joints, grade point has also been considered in the processing that context is assigned to the binary sequence of representing quantization parameter distance of swimming value.The context of having assigned is sent to an arithmetic encoder, so that encode in step 560.In addition, as described in the 1.3rd joint, the number of Nc or non-zero quantized coefficients is to have scanned among the described process in step 530 or just obtain afterwards determining, and in step 560 Nc is encoded before Nc and context are provided to a decoder.
Replacedly, as shown in figure 11, when assigning context and reckon without the grade or the distance of swimming of previous coding, in this case, be delivered to receiving terminal, can improve described method for encoding images by the signal that will indicate Nc.As shown in figure 12, Nc obtains in step 542 and provides, rather than obtains the grade and the distance of swimming of previous coding in step 540 in order to assign context in step 550.In order to carry out coding in step 560, Nc sent to arithmetic encoder assign context in step 550 before.By means of sending Nc, here no longer include and necessary the EOB symbol is sent to decoder.
Although here it is described at the preferred embodiments of the present invention, but it will be understood to those of skill in the art that, without departing from the present invention, can to its carry out form and details aspect aforementioned and multiple other changes, omit and deviate from.

Claims (11)

1. method for encoding images, wherein, image is divided into a plurality of pieces with a plurality of pixels, and each pixel all has a pixel value, and block of pixels is carried out the transition coding operation so that produce corresponding transform coefficient values piece, and described method is characterised in that:
The numeral of the number of the zero coefficient values in the indication transform coefficient values piece is provided; And
Described numeral is assigned to the context of a described numeral of expression.
2. according to the method for claim 1, it is characterized in that: considering under the contextual situation that another numeral is assigned to, the numeral of the zero coefficient values number in the described transform coefficient values piece of indication is assigned to a context, the number of zero coefficient values in wherein said another another transformation coefficient block of numeral indication.
3. according to the method for claim 1, it is characterized in that:
Scan described transform coefficient values piece with a kind of given scanning sequency, so that produce the coefficient value array of a scanning, and
Has the numeral of first numeral and second numeral to the coefficient value in the array of representing to scan by a plurality of.
4. according to the method for claim 3, it is characterized in that:
The described first numeral indication zero coefficient values; And
The number of the continuous zero coefficient value before the described zero coefficient values of the described second numeral indication.
5. according to the method for claim 3 or 4, it is characterized in that: first numeral subtracts 1 equal and opposite in direction with zero coefficient values.
6. encoder, comprise and be used for image is divided into a plurality of devices with piece of a plurality of pixels, wherein each pixel all has a pixel value, and comprise that being used for that block of pixels is carried out transition coding operates so that produce the device of corresponding transform coefficient values piece, it is characterized in that described encoder comprises:
Be used for providing the device of numeral of the zero coefficient values number of an indication transform coefficient values piece; And
Be used for described numeral is assigned to the contextual device of a described numeral of expression.
7. according to the encoder of claim 6, it is characterized in that: describedly be used for that the numeral of non-zero transform coefficient value number of the described transform coefficient values piece of indication is assigned to a contextual device and be arranged to another such context that numeral was assigned to is taken in, wherein said another such numeral is indicated the non-zero transform coefficient value number in another transformation coefficient block.
8. according to the encoder of claim 6 or 7, it is characterized in that: it also comprises and being used for given scanning sequency scan conversion coefficient value piece so that produce the device of the coefficient value array of a scanning, and is used for by the device of a plurality of numerals with first numeral and second numeral to the coefficient value of the array representing to scan.
9. method according to Claim 8 is characterized in that:
The described first numeral indication zero coefficient values; And
The number of the continuous zero coefficient value before the described zero coefficient values of the described second numeral indication.
10. one kind based on contextual arithmetic coding method, and wherein the data symbol array is represented with code word, it is characterized in that:
The numeral of non-zero number of symbols in the described array of indication is provided, and
Described numeral is assigned to the context of a described numeral of expression.
11. one kind based on contextual arithmetic encoder, comprises the device that uses code word to represent the data symbol array, it is characterized in that: described encoder comprises
Be used for providing the device of the numeral of a described array non-zero number of symbols of indication, and
Be used for described numeral is assigned to the contextual device of this numeral of expression.
CN200610088710.XA 2001-09-14 2002-09-12 Method and system for context-based adaptive binary arithmetic coding Expired - Lifetime CN1874509B (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US32211201P 2001-09-14 2001-09-14
US60/322112 2001-09-14
US60/322,112 2001-09-14
US09/995,240 2001-11-27
US09/995,240 US6856701B2 (en) 2001-09-14 2001-11-27 Method and system for context-based adaptive binary arithmetic coding
US09/995240 2001-11-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB028226720A Division CN1327395C (en) 2001-09-14 2002-09-12 Method and system for context-based adaptive binary arithmetic coding

Publications (2)

Publication Number Publication Date
CN1874509A true CN1874509A (en) 2006-12-06
CN1874509B CN1874509B (en) 2014-01-15

Family

ID=37425312

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200610088710.XA Expired - Lifetime CN1874509B (en) 2001-09-14 2002-09-12 Method and system for context-based adaptive binary arithmetic coding
CNB2006100887097A Expired - Lifetime CN100454339C (en) 2001-09-14 2002-09-12 Method and system for context-based adaptive binary arithmetic coding

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB2006100887097A Expired - Lifetime CN100454339C (en) 2001-09-14 2002-09-12 Method and system for context-based adaptive binary arithmetic coding

Country Status (1)

Country Link
CN (2) CN1874509B (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722881A (en) * 2010-11-16 2012-10-10 手持产品公司 Method and system operative to process monochrome image data
CN102124740B (en) * 2008-08-15 2013-01-30 汤姆森特许公司 Video coding with coding of the locations of significant coefficients in a block of coefficients
CN103024370A (en) * 2011-09-23 2013-04-03 中兴通讯股份有限公司 Secondary compression encoding and decoding method and device for motion vectors
CN103477635A (en) * 2010-10-08 2013-12-25 弗兰霍菲尔运输应用研究公司 Picture coding supporting block partitioning and block merging
CN103636224A (en) * 2011-06-29 2014-03-12 高通股份有限公司 Contexts for coefficient level coding in video compression
CN103797803A (en) * 2011-06-28 2014-05-14 三星电子株式会社 Method and apparatus for entropy encoding/decoding
CN104025600A (en) * 2012-01-03 2014-09-03 联发科技股份有限公司 Method and apparatus for block-based significance map and significance group flag context selection
CN104094607A (en) * 2011-05-04 2014-10-08 武筱林 Modeling method and system based on context in transform domain of image/video
CN105007496A (en) * 2012-04-15 2015-10-28 三星电子株式会社 Method and device for decoding videos
CN105898305A (en) * 2016-04-12 2016-08-24 上海兆芯集成电路有限公司 Image compression and decompression method based on JPEG-LS
CN103999367B (en) * 2011-11-08 2017-03-29 高通股份有限公司 For the number that the context of context adaptive binary arithmetically decoding reduces
US10515134B2 (en) 2001-08-30 2019-12-24 Nokia Technologies Oy Implementation of a transform and of a subsequent quantization
CN113556556A (en) * 2010-04-13 2021-10-26 Ge视频压缩有限责任公司 Coding of significance maps and transform coefficient blocks
US12137233B2 (en) 2023-09-01 2024-11-05 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094691B2 (en) * 2010-03-15 2015-07-28 Mediatek Singapore Pte. Ltd. Methods of utilizing tables adaptively updated for coding/decoding and related processing circuits thereof
WO2013099892A1 (en) * 2011-12-28 2013-07-04 シャープ株式会社 Arithmetic decoding device, image decoding device, and arithmetic encoding device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2274224B (en) * 1993-01-07 1997-02-26 Sony Broadcast & Communication Data compression
KR100242635B1 (en) * 1996-01-25 2000-02-01 윤종용 A system for variable-length-coding and variable-length-decoding digital data
CN1268061C (en) * 1996-01-25 2006-08-02 三星电子株式会社 Method and apparatus for varied length coding and decoding
US6351563B1 (en) * 1997-07-09 2002-02-26 Hyundai Electronics Ind. Co., Ltd. Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
KR100303085B1 (en) * 1998-04-24 2001-09-24 전주범 Apparatus and method for encoding binary shape signals in shape coding technique
JP2000295618A (en) * 1999-03-08 2000-10-20 Texas Instr Inc <Ti> Image encoding method using embedding type zero tree pattern and bit plane

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515134B2 (en) 2001-08-30 2019-12-24 Nokia Technologies Oy Implementation of a transform and of a subsequent quantization
CN102124740B (en) * 2008-08-15 2013-01-30 汤姆森特许公司 Video coding with coding of the locations of significant coefficients in a block of coefficients
CN113573075A (en) * 2010-04-13 2021-10-29 Ge视频压缩有限责任公司 Coding of significance maps and transform coefficient blocks
CN113556556A (en) * 2010-04-13 2021-10-26 Ge视频压缩有限责任公司 Coding of significance maps and transform coefficient blocks
CN113556557A (en) * 2010-04-13 2021-10-26 Ge视频压缩有限责任公司 Coding of significance maps and transform coefficient blocks
CN103477635A (en) * 2010-10-08 2013-12-25 弗兰霍菲尔运输应用研究公司 Picture coding supporting block partitioning and block merging
US11785229B2 (en) 2010-10-08 2023-10-10 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging
US10812811B2 (en) 2010-10-08 2020-10-20 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging
US10743001B2 (en) 2010-10-08 2020-08-11 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging
US10735748B2 (en) 2010-10-08 2020-08-04 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging
US11057630B2 (en) 2010-10-08 2021-07-06 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging
CN103477635B (en) * 2010-10-08 2017-01-18 Ge视频压缩有限责任公司 Encoder, encoding method, decoder and decoding method
US10827187B2 (en) 2010-10-08 2020-11-03 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging
CN102722881A (en) * 2010-11-16 2012-10-10 手持产品公司 Method and system operative to process monochrome image data
CN102722881B (en) * 2010-11-16 2016-11-23 手持产品公司 Operationally process the method and system of monochromatic image data
CN104094607B (en) * 2011-05-04 2017-04-26 宁波观原网络科技有限公司 Modeling method and system based on context in transform domain of image/video
CN104094607A (en) * 2011-05-04 2014-10-08 武筱林 Modeling method and system based on context in transform domain of image/video
CN103797803A (en) * 2011-06-28 2014-05-14 三星电子株式会社 Method and apparatus for entropy encoding/decoding
CN103636224B (en) * 2011-06-29 2018-03-06 高通股份有限公司 Context for the coefficient level decoding in video compress
CN103636224A (en) * 2011-06-29 2014-03-12 高通股份有限公司 Contexts for coefficient level coding in video compression
CN103024370A (en) * 2011-09-23 2013-04-03 中兴通讯股份有限公司 Secondary compression encoding and decoding method and device for motion vectors
CN103999367B (en) * 2011-11-08 2017-03-29 高通股份有限公司 For the number that the context of context adaptive binary arithmetically decoding reduces
CN104025600B (en) * 2012-01-03 2018-05-11 寰发股份有限公司 The method and device of block-based importance figure and importance figure group flag context selection
US10298956B2 (en) 2012-01-03 2019-05-21 Hfi Innovation Inc. Method and apparatus for block-based significance map and significance group flag context selection
CN104025600A (en) * 2012-01-03 2014-09-03 联发科技股份有限公司 Method and apparatus for block-based significance map and significance group flag context selection
CN105049869A (en) * 2012-04-15 2015-11-11 三星电子株式会社 Video decoding method and device
CN107465930B (en) * 2012-04-15 2020-06-23 三星电子株式会社 Method and apparatus for encoding video, and computer-readable storage medium
CN105049869B (en) * 2012-04-15 2019-05-10 三星电子株式会社 The method and apparatus that video is decoded
CN105049868B (en) * 2012-04-15 2019-05-10 三星电子株式会社 The method and apparatus that video is decoded
CN107465930A (en) * 2012-04-15 2017-12-12 三星电子株式会社 The method and apparatus and computer-readable recording medium encoded to video
CN105007496B (en) * 2012-04-15 2019-05-10 三星电子株式会社 The method and apparatus that video is decoded
CN105049868A (en) * 2012-04-15 2015-11-11 三星电子株式会社 Method and apparatus for decoding videos
CN105007496A (en) * 2012-04-15 2015-10-28 三星电子株式会社 Method and device for decoding videos
US10306230B2 (en) 2012-04-15 2019-05-28 Samsung Electronics Co., Ltd. Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
CN105898305B (en) * 2016-04-12 2019-02-15 上海兆芯集成电路有限公司 Compression of images and decompression method based on lossless Joint Photographic Experts Group's format
CN105898305A (en) * 2016-04-12 2016-08-24 上海兆芯集成电路有限公司 Image compression and decompression method based on JPEG-LS
US12137233B2 (en) 2023-09-01 2024-11-05 Ge Video Compression, Llc Picture coding supporting block partitioning and block merging

Also Published As

Publication number Publication date
CN1866297A (en) 2006-11-22
CN100454339C (en) 2009-01-21
CN1874509B (en) 2014-01-15

Similar Documents

Publication Publication Date Title
CN1585958A (en) Method and system for context-based adaptive binary arithmetic coding
CN1214647C (en) Method for encoding images, and image coder
CN1620761A (en) Adaptive variable length coding
JP4617644B2 (en) Encoding apparatus and method
US7957600B2 (en) Methods and systems for rate-distortion optimized quantization of transform blocks in block transform video coding
KR101993865B1 (en) Improved palette mode in high efficiency video coding (hevc) screen content coding (scc)
CN1207916C (en) Apparatus and method for compressing motion vector field
CN1620816A (en) Coding transform system in image/video encoders and/or decoders
CN1656690A (en) Coding transform coefficients in image / video encoder and/or decoders
US20060188165A1 (en) Spatial prediction based intra-coding
AU2002334271A1 (en) Method and system for context-based adaptive binary arithmetic coding
US10284864B2 (en) Content initialization for enhancement layer coding
CN1643912A (en) Method for coding motion in a video sequence
CN1874509A (en) Method and system for context-based adaptive binary arithmetic coding
JP2010045853A (en) Moving image coding apparatus and moving image coding method
JP4924708B2 (en) Decoding apparatus and method
EP1933568A2 (en) Method and system for context-based adaptive binary arithmetic coding
AU2014202978B2 (en) Method and system for context-based adaptive binary arithmetic coding
AU2008202981B2 (en) Method and system for context-based adaptive binary arithmetic
JP2010104028A (en) Decoding device and method
JP2010104027A (en) Decoding device and method

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160113

Address after: Espoo, Finland

Patentee after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Patentee before: NOKIA Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20140115