[go: up one dir, main page]

CN101553988B - Video encoding method, video encoding device, and video encoding program - Google Patents

Video encoding method, video encoding device, and video encoding program Download PDF

Info

Publication number
CN101553988B
CN101553988B CN2007800455397A CN200780045539A CN101553988B CN 101553988 B CN101553988 B CN 101553988B CN 2007800455397 A CN2007800455397 A CN 2007800455397A CN 200780045539 A CN200780045539 A CN 200780045539A CN 101553988 B CN101553988 B CN 101553988B
Authority
CN
China
Prior art keywords
arithmetic coding
mentioned
calculating
bit number
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007800455397A
Other languages
Chinese (zh)
Other versions
CN101553988A (en
Inventor
南部哲弘
蝶野庆一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN101553988A publication Critical patent/CN101553988A/en
Application granted granted Critical
Publication of CN101553988B publication Critical patent/CN101553988B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

A video encoding method includes: a digital-sequence conversion step for converting image block encoded data into a digital-sequence symbol; a binary arithmetic encoding step for subjecting each digital-sequence symbol to arithmetic encoding in accordance with a context; an estimation step for estimating the number of bits required for the binary arithmetic encoding of the encoded data for the image block; an encoded data decision step for deciding whether to subject the encoded data to the binary arithmetic encoding in accordance with the number of bits estimated by the estimation step for output; and a context update step for updating the context corresponding the encoded data decided to be subjected to the binary arithmetic encoding for output by the encoded data decision step and not updating the context corresponding to the encoded data decided not to be subjected to the binary arithmetic encoding for output by the encoded data decision step. The estimation step uses the maximum value of the number of arithmetic encoding output bits for the input symbol to the binary arithmetic encoding as the aforementioned number of bits.

Description

Method for video coding, video coding apparatus
Technical field
The present invention relates to utilize method for video coding, video coding apparatus and the video coding program that drives CABAC (the Context-based Adaptive binary Arithmetic Coding) technology of binary arithmetic coding engine (table-driven binary arithmetic coding engine) according to table.
Background technology
Video coding apparatus thus, generates coded data, i.e. bit stream will after the moving picture signal digitlization of outside input, following the encoding process of the image encoding mode of defined.
As one of image encoding mode, H.264/AVC (AdvancedVideo Coding) (with reference to non-patent literature 1) of ITU-T suggestion arranged.H.264/AVC be equivalent to ISO/IEC14496-10 AVC.In H.264/AVC; To the syntactic element (SE) as the coded data below macro block (MB) layer, the CABAC (Context-based Adaptive binary ArithmeticCoding) of the CAVLC (Context-based Adaptive Variable Length Coding) of selection Huffman encoding system or the coding system that counts carries out entropy coding.And, among the 7.3.5 Macroblocklayer syntax of non-patent literature 1 relevant for the record of the SE of MB layer.In addition, below will in H.264/AVC, the content of defined be called H.264 specification.
Compare with the situation of selecting CAVLC, carry out entropy coding, can obtain the effect of the encoding amount of decreased average about 15% through selecting CABAC.In addition, as the reference pattern of encoder H.264/AVC, united mode (Joint Model) mode known (below, be called general video coding apparatus.)。
With reference to Fig. 9, to formation and the work of the picture frame that is digitized as the general video coding apparatus of input and output bit flow is described.Video coding apparatus shown in Figure 9 has original image frame buffer 10, MB code device 20, rate control device 30 and decoding image frame buffers 40.At picture frame is under the situation of QCIF (Quarter CommonIntermediate Format), and original image frame buffer 10 is preserved view data shown in figure 10.Picture frame is divided into the luminance pixel of 16 * 16 pixels that are called MB and is the block of pixels of inscape with the aberration pixel (Cr and Cb) of 8 * 8 pixels.
Usually, MB code device 20 is encoded MB with the order from the raster scan left to bottom right of picture frame.
Rate control device 30 is kept watch on the output bit number of the bit stream of MB code devices 20 outputs, and adjustment offers the quantization parameter of MB code device 20, carry out Rate Control so that bit stream near the bit number of target.Particularly; If the bit number of bit stream is more than the bit number of target; Then will be made as big quantization parameter to the quantization width and offer MB code device 20; On the contrary, if the bit number of bit stream lacks than target bit, then will be made as little quantization parameter to the quantization width and offer MB code device 20.
In order to use the decoded picture based on MB code device 20 in the coding (prediction) afterwards, decoded picture frame buffer 40 in the moment that MB code device 20 has been accomplished the coding of 1MB, reads in decoded picture and preservation based on MB code device 20.
Next, internal structure and the work to MB code device 20 describes.As shown in Figure 9, MB code device 20 has: read (Read) device 210, prediction unit 220, video coding (Venc) device 230, entropy coding (EC) device 240.Read (read) device 210 and comprise original image MB memory 211 and with reference to video memory 212.Video coding apparatus 230 comprises conversion/quantizer 231, inverse guantization (IQ)/inverse converter 232 and decoded picture MB memory 233.Entropy coding device 240 comprises that entropy coder 241, output buffer 242, control device 243 and context duplicate memory 244.
In original image MB memory 211, preserve the image (below, be called original image org) of the coded object MB in the picture frame of being preserved in the original image frame buffer 10.In with reference to video memory 212, preserve in the image of being preserved in the decoded picture frame buffer 40, required image when predictive coding object MB encodes (below, be called) with reference to image ref.
Prediction unit 220 from be kept at decoded picture frame buffer 40 and decoded picture memory 233 with reference in the image, detect the Prediction Parameters param that can original image suitably be encoded, and generation forecast image pred and prediction error image pe.Prediction Parameters is provided for entropy coder 241.Prediction error image pe is provided for conversion/quantizer 231.Prediction error image pe is added in the output of inverse guantization (IQ)/inverse converter 232 and calculates together, is stored in the decoded picture MB memory 233 as decoded picture.But, the generation that will mention in the back under original image PCM (Pulse CodeModulation) situation of encoding again, the original image that is provided by original image MB memory 211 is stored in the decoded picture MB memory 233 as decoded picture.
Prediction has two kinds of infra-frame prediction and inter predictions.Predicted picture under infra-frame prediction/inter prediction and prediction error image are described.If the execution infra-frame prediction, then with reference to showing constantly identical with present coded object picture frame former coded image, the pixel that is utilized in (direction in space) in the picture frame is related, generation forecast image pred.As an example; The various patterns of the infra-frame prediction of 4 * 4 block of pixels size after the key diagram of Figure 11 has been represented MB more carefully cut apart (about the infra-frame prediction under aberration or other situation, with reference to 8.3 joint Intra prediction process of non-patent literature 1).
Intra_dir among Figure 11 (A)~(I) is the intra-frame prediction directioin parameter of the direction etc. of expression infra-frame prediction.If the selection infra-frame prediction, then prediction unit 220 is just according to intra-frame prediction directioin parameter intra_dir generation forecast image pred.Explanation for the back is defined as formula 1 with infra-frame prediction.
(formula 1)
pred=intra_prediction(ref,intra_dir)
In formula 1, intra_prediction () is according to intra-frame prediction directioin parameter intra_dir, by the function with reference to predicted picture in the image ref delta frame.
If the execution inter prediction then with reference to showing constantly different with present coded object picture frame former decoded pictures, utilizes the association of (time orientation) between picture frame, generation forecast image pred.As an example of inter prediction,, the inter prediction of 16 * 16 block of pixels is described (about the inter prediction of other block of pixels sizes etc., with reference to 8.4 joint Intra prediction process of non-patent literature 1) with reference to the key diagram of Figure 12.
The Prediction Parameters that motion vector mv_x shown in Figure 12, mv_y are inter prediction.If the selection inter prediction, then prediction unit 220 is just according to motion vector mv_x, mv_y generation forecast image pred.For later explanation, inter prediction is defined as formula 2.
(formula 2)
pred=inter_prediction(ref,mv_x,mv_y)
In formula 2, inter_prediction () is according to motion vector mv_x, mv_y, by the function with reference to predicted picture between image ref delta frame.In addition, H.264 in the specification, the pixel precision of motion vector is 1/4 pixel.
Prediction unit 220 utilizes the cost function (forecast assessment value) of formula 3 and formula 4~formula 7, detects the Prediction Parameters param that generates above-mentioned predicted picture pred.If infra-frame prediction; Then Prediction Parameters is pointed at prediction direction intra_dir in the face; If inter prediction, then Prediction Parameters refers to motion vector mv_x, mv_y etc. (about other Prediction Parameters, with reference to the 7th joint Syntax and semantics of non-patent literature 1).To be called prediction error image pe (with reference to formula 6) corresponding to the predicted picture pred of detected Prediction Parameters param and the difference of original image org.
(formula 3)
Cost ( param ) = Σ idx = 0 15 SATD ( idx ) + λ ( QP ) × R ( param )
(formula 4)
SATD ( idx ) = 0.5 × Σ x = 0 3 Σ y = 0 3 | H ( idx ) xy
(formula 5)
H ( idx ) =
1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1 pe idx ( 0,0 ) pe idx ( 0,1 ) pe idx ( 0,2 ) pe idx ( 0,3 ) pe idx ( 1,0 ) pe idx ( 1,1 ) pe idx ( 1,2 ) pe idx ( 1,3 ) pe idx ( 2,0 ) pe idx ( 2,1 ) pe idx ( 2,2 ) pe idx ( 2,3 ) pe idx ( 3,0 ) pe idx ( 3,1 ) pe idx ( 3,2 ) pe idx ( 3,3 ) 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1
(formula 6)
pe idx(y,x)=org(b4y idx+y,b4x idx+x)-pred(b4y idx+y,b4x idx+x)
(formula 7)
λ(QP)=2 (QP-12)/6
(formula 8)
(b4x idx,b4y idx){0≤b4x idx≤12,0≤b4y idx≤12}
In addition, formula 3 is formula of the calculating of the prediction and evaluation value in explaining H.264.Formula 4 is formula of the calculating of the SATD (idx) in the explanation formula 3.Formula 5 is formula of the calculating of the H (idx) in the explanation formula 4.Formula 6 is peidx (y, the formula of calculating x) in the explanation formula 5.Formula 7 is formula of the calculating of the λ (QP) in the explanation formula 3.Formula 8 is the b4x in the explanation formula 6, the formula of b4y.In addition, the QP in formula 3~formula 7 representes: the quantization parameter of MB; Idx representes the numbering of 4 * 4 modules that MB shown in Figure 10 is inner; B4x, b4y represent the inner coordinate corresponding to the MB in the upper left corner of 4 * 4 modules of idx.
Next, conversion/quantizer 231 is the predicated error pe that prediction unit 220 provides, and uses the module unit also thinner than MB (below, be called conversion block) to carry out frequency inverted, changes to frequency domain from transform of spatial domain.The prediction error image that is switched to frequency domain is called conversion coefficient T.
In addition, conversion/quantizer 231 with conversion coefficient T to carry out quantization with the corresponding quantization width of quantization parameter QP that is provided by rate control device 30.Be commonly referred to as conversion quantization value L by quantized conversion coefficient.For later coding, conversion quantization value L is provided for inverse guantization (IQ)/inverse converter 232, and in order to form bit stream, conversion quantization value L is provided for entropy coding device 240.
Conversion quantization value L to being provided for inverse guantization (IQ)/inverse converter 232 explains later work.
Inverse guantization (IQ)/inverse converter 232 will carry out inverse guantization (IQ) by the conversion quantization value L that conversion/quantizer 231 is provided, and the step of going forward side by side carries out the frequency inverse conversion and turns back to original spatial domain.The prediction error image that is returned original spatial domain is called reconstruct prediction error image pe_rec.
In the reconstruct prediction error image pe_rec that is provided by inverse guantization (IQ)/inverse converter 232; As to shown in the formula 9 that describes with reference to image in the specification H.264; The predicted picture pred that is provided by prediction unit 220 is added in calculating together, and is kept in the decoded picture MB memory 233 as decoded picture rec.Be stored in the decoded picture rec in the decoded picture MB memory 233, read in by prediction unit 220 or decoded picture frame buffer 40 in the back and become with reference to image.
(formula 9)
rec=pred+pe_rec
Next, to the conversion quantization value L that offers entropy coding device 240 later work is described.
Entropy coding device 240 contains entropy coder 241, output buffer 242, control device 243 and context and duplicates memory 244.Entropy coder 241 will be imported data and carry out entropy coding, will export bit and offer output buffer 242.Control device 243 is kept watch on the output bit number of entropy coder 241, controls the work of other devices.It is memories that duplicate of preserving the described context data in back that context duplicates memory 244.
Control device 243 is kept watch on the output bit number of entropy coder 241, according to control signal (entropy coding control signal, output buffer control signal), entropy coder 241 and output buffer 242 is controlled.
The input data that 1MB is all are carried out entropy coding; The upper limit bit number that is no more than defined in the specification H.264 at this output bit number (for example; With reference to the Annex A of non-patent literature 1 Levels A.3; Then be 3200 bits) situation under, control device 243 will be exported as the coded data of MB according to the bit that the output buffer control signal is saved in the output buffer 242.In addition, below will be H.264 in the specification upper limit bit number of every 1MB of defined be called setting.
The moment that surpasses the setting of MB bit number at the output bit number that the input data of 1MB has been carried out entropy coding; Control device 243 is according to the entropy coding control signal; Temporarily stop the work of entropy coder 241, according to the output buffer control signal that the bit of output buffer 242 is all discarded.That is to say that the content of not inciting somebody to action output buffer 242 at this moment is as coded data.After bit was discarded, control device 243 started entropy coder 241 according to the entropy coding control signal, and encoding input image data again are to reach the bit number below the setting.
Next, internal structure and the work to the entropy coder 241 under the situation of having selected CABAC as entropy coding describes.Shown in figure 13, entropy coder 241 is to be made up of the entropy coding portion 2416 that comprises binarization device 2411, binary arithmetic coding device 2412 and context modeling device 2413, switch 2414 and switch 2415.
To the coding work again of the PCM through the entropy coding device, describe.
Entropy coder 241 at first suspends to the entropy coding of input data to be handled.Next, context is duplicated the context data of being preserved in the memory 244 and read in context modeling device 2413.Then, binarization device 2411 generates the Prediction Parameters bin (binary symbol) of the beginning of expression PCM, and offers binary arithmetic coding device 2412.Meanwhile, context modeling device 2413 offers binary arithmetic coding device 2412 with the context data corresponding with bin.Binary arithmetic coding device 2412 uses context data that bin is carried out arithmetic coding; To export bit on one side via switch 2415 and export in the output buffer 242, will through context data that arithmetic coding be updated turn back to context modeling device 2413 on one side.Binary arithmetic coding device 2412; After the arithmetic coding of the Prediction Parameters bin that expression PCM begins finishes, switch 2414 is switched, read in the image of being preserved in the original image MB memory 211; Under the former state state of PCM, encode again, export in the output buffer 242.
As encoding process again, will not use processing that the original image of above-mentioned conversion process encodes again through PCM and be called as original image PCM encode again (with reference to patent documentation 1).If utilize original image PCM to encode again; Then can be with conversion or all inoperative image of prediction; Also encode with certain bit number of the setting that is lower than the MB bit number in undistorted ground, so, we can say the not only processing time of the entropy coding device of code device; In the processing time of the entropy decoding device of decoding side, also can guarantee within a certain period of time.
In addition, encode as not following again, observe the method for the setting of MB bit number, following method is arranged, that is, and the MB output bit number of prediction MB before CABAC, and switch to the pcm encoder (with reference to patent documentation 2) that has utilized coded image.
Below, the encoding process of detailed description CABAC.
Shown in figure 14, in order to realize CABAC, for example, constitute by binarizer 101, switch 111, binary arithmetic coder 102 and 103 of context modeler.In addition, structure shown in Figure 14 is equivalent to the structure of entropy coding portion 2416 shown in Figure 13.Context modeler 103 was used the QP of original M B be initialised (with reference to the 9.3.1Initialisation process of non-patent literature 1) before the MB in fragment (slice) prostatitis handles.
The SE that binarizer 101 will be transfused to according to the rule with specification institution converts binary sequence (binary sequence) (about the conversion of SE and binary sequence corresponding, with reference to the 9.2.3Binarization process of non-patent literature 1) to.Next; Binary arithmetic coder 102; Context that utilization is provided by context modeler 103 (big probability symbol (MPS)) and state index (state_idx), each symbol (bin) of the binary sequence that will be provided by binarizer 101 carries out binary arithmetic coding.
In addition, contextual MPS is corresponding to the valMPS in the non-patent literature 1, and state_idx is corresponding to the pStateIdx in the non-patent literature 1.Usually, in binary arithmetic coding, according to the probability of occurrence ρ of symbol cut apart the numerical value line [0,1) the binary fraction value of the interval representative point of last part is carried out bit output as final code word.The work of the general binary arithmetic coding of the input of 3 symbols (110) is for example shown in Figure 15.
In the binary arithmetic coding of specification H.264, the probability of occurrence (rLPS (i)) of the small probability symbol (LPS) when existing bin handles is corresponding to the ρ among Figure 15.RLPS (i) can represent with following formula 10.
(formula 10)
rLPS(i)=range?Tab?LRS[state_idx][qCodIrangeIdx]/Rrange(i)
At this; Erange (i) (corresponding to the codIRange in the non-patent literature) is made as the existing bin arithmetic scope when handling; The arithmetic scope index that qCodIRangeIdx is obtained as the high order bit from Erange (i), with rangeTabLPS [64] [4] (table9-35 in the non-patent literature 1) as small probability symbolic range table (with reference to the 9.3.4 Arithmetic encoding process (informative) of non-patent literature 1).
Binary arithmetic coder 102 uses rLPS (i); Be equivalent to the processing (with reference to the 9.3.4.2 Encodingprocess for a binary decision (informative) of non-patent literature 1) of the calculation of formula 11 and 12; Thus, accomplish the processing of the binary arithmetic coding that is directed against 1bin.At this, the arithmetic lower limit when Elow (i) (corresponding to the codILow in the non-patent literature 1) handles as existing bin.Having as rLPS (i) usually becomes the Bypass of fixed value encoding (with reference to the 9.3.4.4 Bypass Encoding process for a binarydecisions (informative) of non-patent literature 1).
(formula 11)
Erange ( i + 1 ) = Erange ( i ) - rLRS ( i ) Λ if ( bin = MPS ) rLPS ( i ) Λ otherwise .
(formula 12)
Elow ( i + 1 ) = Elow ( i ) Λ if ( bin = MPS ) Erange ( i ) - rLRS ( i ) Λ otherwise .
In addition; In the binary arithmetic coding of specification H.264; For the arithmetic coding of the frequency of occurrences that meets incoming symbol, when the binary arithmetic coding of each 1bin is accomplished, upgrade the contextual MPS of the binary arithmetic coding that is used for bin according to following formula 13; Simultaneously, upgrade the value of contextual state_idx according to state migration table (Table9-36 of non-patent literature 1).
(formula 13)
MPS = 1 - MPS Λ if ( state _ idx = 0 ANDbin ≠ MPS ) MPS Λ Otherwise .
As stated; H.264 the binary arithmetic coding of specification is according to the probability of small probability symbolic range table and state migration table management small probability symbol; So, be called as table and drive binary arithmetic coding (table-driven binary arithmetic coding).
Through all bin that are transfused to are carried out above-mentioned binary arithmetic coding one by one, can obtain arithmetic coding output bit (bit stream).
Patent documentation 1: TOHKEMY 2006-93777 communique
Patent documentation 2: Japan special hope 2005-300933 communique
Non-patent literature 1:ITU-T advises H.264 Advanced video coding forgeneric audiovisual services, in May, 2005 (Prepublishedversion)
Invent the 1st problem to be solved and provide and a kind ofly consider because the change of the output bit that arithmetic scope or context cause, extrapolate the peaked method of the output bit number of CABAC.Advising need not to follow PCM to encode again, and observing in the patent documentation 2 of method of setting of MB bit number,, often considering to calculate precision about the reckoning of the MB output bit number of CABAC.Specifically; In the method that patent documentation 2 is put down in writing, there is following problem, promptly; Owing to be directed against the number of the incoming symbol (bin) of CABAC; Utilize the simple linear MB output bit number of calculating CABAC that calculates, therefore, can not consider that the output bit number can be because arithmetic coding scope or contextual cause change.
Invent the 2nd problem to be solved and provide a kind of bin and context, correspondingly select the method that suitable projectional technique is calculated the output bit number according to CABAC.In the reckoning of the change of having considered the output bit number; If use the projectional technique of high accuracy to all bin; Though then can carry out the reckoning of the highest output bit number of reliability, can generation device area and this other problem of computational throughput increase.
Summary of the invention
Promptly; The objective of the invention is: provide a kind of output bit number of considering to change owing to arithmetic scope or context; The maximum to the arithmetic coding output bit number of 1 symbol or a plurality of symbols is calculated on high accuracy ground, carries out method for video coding, video coding apparatus and the video coding program of video coding.
In addition; Another object of the present invention is: provide a kind of can the minimizing to follow the output bit number to calculate and the calculation amount that causes reduces this problem, and high-quality, high accuracy ground are exported method for video coding, video coding apparatus and the video coding program of the reckoning of bit number.
The present invention who solves above-mentioned problem is a kind of method for video coding, it is characterized by, and has: the binary sequence switch process that the coded data of image block is converted to the symbol of binary sequence; Based on context each symbol of binary sequence is carried out the binary arithmetic coding step of arithmetic coding; Calculate the reckoning step of bit number required when coded data to image block is by binary arithmetic coding; According to the bit number of being calculated in the above-mentioned reckoning step, whether decision carries out the encoded data decision step that binary arithmetic coding is exported to above-mentioned coded data; And to upgrading, to the updating context step of not upgrading with the corresponding above-mentioned context of coded data that in above-mentioned encoded data decision step, has determined not carry out binary arithmetic coding output with the corresponding above-mentioned context of coded data that in above-mentioned encoded data decision step, has determined to carry out binary arithmetic coding output.In above-mentioned reckoning step, will to the maximum of the arithmetic coding output bit number of the incoming symbol of binary arithmetic coding as above-mentioned bit number.
In addition, the present invention who solves above-mentioned problem is a kind of video coding apparatus, it is characterized by, and have: binary sequence converter section, its coded data with image block convert the symbol of binary sequence to; Binary arithmetic coding portion, based on context it carry out arithmetic coding to each symbol of binary sequence; Reckoning portion, it calculates bit number required when coded data to image block is by binary arithmetic coding; Encoded data decision portion, the bit number that it is calculated according to above-mentioned reckoning portion, whether decision carries out binary arithmetic coding output to above-mentioned coded data; With updating context portion; It has been to having determined the corresponding above-mentioned context of coded data that carries out binary arithmetic coding output to upgrade with above-mentioned encoded data decision portion, to having determined the corresponding above-mentioned context of coded data that does not carry out binary arithmetic coding output not upgrade with above-mentioned encoded data decision portion.Above-mentioned reckoning portion will to the maximum of the arithmetic coding output bit number of the incoming symbol of binary arithmetic coding as above-mentioned bit number.
In addition, the present invention who solves above-mentioned problem is a kind of video coding program.It is characterized by, computer is handled below carrying out: the binary sequence conversion process converts the coded data of image block to the symbol of binary sequence; Binary arithmetic coding is handled, and based on context each symbol to binary sequence carries out arithmetic coding; Calculate to handle, calculate bit number required when coded data to image block is by binary arithmetic coding; Encoded data decision is handled, the bit number of being calculated in handling according to above-mentioned reckoning, and whether decision carries out binary arithmetic coding output to above-mentioned coded data; And updating context is handled; To upgrading, to not upgrading with in above-mentioned encoded data decision is handled, having determined the corresponding above-mentioned context of coded data that does not carry out binary arithmetic coding output with in above-mentioned encoded data decision is handled, having determined the corresponding above-mentioned context of coded data that carries out binary arithmetic coding output.In above-mentioned reckoning is handled, execution will be exported the processing of the maximum of bit number as above-mentioned bit number to the arithmetic coding to the incoming symbol of binary arithmetic coding.
The 1st effect of the present invention be, a kind of method for video coding, video coding apparatus and video coding program of the output bit number in can the arithmetic coding of reliability highland estimation CABAC can be provided.Its reason is: because can be according to the scope of arithmetic coding or the change of context estimation output bit number.
The 2nd effect is; Obtained the estimation of the high output bit number of the reliability of the 1st effect through utilization; And use to observe and in the method for video coding of specification H.264, not follow the methods such as setting of the MB bit number of coding again, a kind of method for video coding, video coding apparatus and video coding program of high-quality H.246 specification can be provided.Its reason is: because can the high estimation of application reliability; So can reduce the number of coded bits part unnecessary with respect to the setting of MB bit number; For example, can suppress because the method for alligatoring quantization parameter etc. makes the method for observing of setting of the image quality variation of the video that is encoded.
Description of drawings
Fig. 1 be among the CABAC state_idx and ρ LPS concern key diagram.
Fig. 2 is that expression is used for realizing the block diagram according to the structure of the entropy coding portion of the CABAC of the arithmetic coding output bit number projectional technique of the video encoder of the 1st execution mode of the present invention.
Fig. 3 is the flow chart of the work of expression entropy coding portion shown in Figure 2.
Fig. 4 is the block diagram of the structure of the binary arithmetic coding maximum number bits calculator in expression the present invention the 2nd execution mode.
Fig. 5 is the flow chart of the work of expression binary arithmetic coding maximum number bits calculator shown in Figure 4.
Fig. 6 is that expression is used for realizing the block diagram according to the structure of the entropy coding portion of the CABAC of the arithmetic coding output bit number projectional technique of the video encoder of the 3rd execution mode of the present invention.
Fig. 7 is the flow chart of the work of expression entropy coding portion shown in Figure 6.
Fig. 8 is the block diagram that expression can realize the structure of information processing system of the present invention.
Fig. 9 is the block diagram of the structure of the general video coding apparatus of explanation.
Figure 10 is the key diagram of the structure of key diagram picture frame (YUV420 form).
Figure 11 is the key diagram of an example of explanation infra-frame prediction.
Figure 12 is the key diagram of an example of explanation inter prediction.
Figure 13 is the key diagram that explanation PCM encodes again.
Figure 14 is the block diagram of the structure of the expression general entropy coding portion that is used to realize CABAC.
Figure 15 is the key diagram of the work example of explanation binary arithmetic coding.
The explanation of symbol
101 binarizer
102 binary arithmetic coders
103 context modeler
104 bin buffers
105 binary arithmetic coding maximum number bits calculators
106 the 2nd context modeler
107 contexts duplicate memory
110 switch portion (PCM is code switch again)
1050 binary arithmetic coding maximum number bits calculators
1051 1bin unit's calculators
The calculator of bin unit more than 1052
1053 accumulation calculating devices
1054 switch portion (unit calculator switch)
1055 switch portion (accumulation calculating device switch)
Embodiment
Execution mode of the present invention is described.
As stated, through using rLPS (i), can be with the arithmetic coding output bit number (cabac_bits (i)) of the moment that is directed against existing bin (i number bin), the comparison through existing bin and MPS calculates with formula 14.Formula 14 is to be used to calculate the formula from the bit number of 1bin output through CABAC.
(formula 14)
cabac _ bits ( i ) = log 2 ( rLPS ( i ) - 1 Λ if ( bin = MPS ) log 2 ( - rLPS ( i ) ) Λ otherwise .
At this, in specification H.246, have following 2 points in mind, that is, Erange (i) shows with fixing bit accuracy (9 bit), and rangeTabLPS [64] [4] is the fixed value according to specification specifies.Thus; Even the value of following arithmetic scope Erange (i) is uncertain condition (condition 1); For contextual state_idx, maximum that rLPS (i) can obtain (max_rLPS (state_idx)) and minimum value (min_rLPS (state_idx)) are also confirmed.That is, can correctly calculate maximum (max_cabac_bits (i)) with respect to the cabac_bits (i) of existing bin according to formula 15.Formula 15 is to be used for calculating through CABAC at 1 time peaked formula by the bit number of 1bin output of condition.
(formula 15)
max _ cabac _ bits ( i ) =
log 2 ( max _ rLPS ( state _ idx ) - 1 ) Λ if ( bin = MPS ) log 2 ( - min _ rLPS ( state _ idx ) ) Λ otherwise .
That is to say; In CABAC, carry out the initialization of contextual state_idx and MPS with original M B, the intermediate buffer of preserving bin is set between binarization and binary arithmetic coding; Before binary arithmetic coding; Through to being kept at each bin in the intermediate buffer, carry out the calculating of formula 15 and calculate based on the state_idx migration of state migration table, can correctly calculate the bin that preserves in the intermediate buffer; That is, to the maximum of the arithmetic coding output bit number of the SE of MB layer.
And; The not only following arithmetic scope Erange (i) is even following contextual state_idx is uncertain condition (condition 2), in specification H.264; If being conceived to state_idx is managed through the state migration table; In addition, the rLPS to state_idx changes (Fig. 1, the ρ LPS of the longitudinal axis of coordinate diagram is corresponding to rLPS) this 2 point continuously; Then the maximum (max_sum_cabac_bits) to the arithmetic coding output bit number of the many bin in the condition 2 is: until the value of the state_idx of current time becomes till 0, import LPS continuously and the bit number that produces during with state=0 MPS continue counter-rotating and the total of the bit number of generation.In addition, Fig. 1 is the figure of the relation of state_idx (transverse axis) and the ρ LPS (longitudinal axis) of explanation in CABAC.If with the bin number be made as B, with the value of the state_idx of current time be made as s0 (s0=62 is maximum output bit number), will import LPS continuously, maximum bin number till from state=s0 to state=0 is made as L, then can calculate max_sum_cabac_bits according to formula 16 and formula 17.And, because the maximum of F (ρ) is 1 (ρ=0.5), so also can use with the formula 18 after formula 16 simplification.Formula 16 is to be used for calculating through CABAC condition 2 times, from the peaked formula of the bit number of many bin outputs.Formula 17 is to be used for the formula of the F (ρ) in the computing formula 16.
(formula 16)
Max _ sum _ cabac _ bits =
log 2 ( - Π state = s 0 L min _ rPS ( state ) ) + ( B - L ) * F ( min _ rLPS ( 0 ) ) Λ if ( B > L ) log 2 ( - Π state = s 0 B min _ rLPS ( state ) ) Λ otherwise .
(formula 17)
F(ρ)=ρlog 2(-ρ)+(1-ρ)log 2(-(1-ρ))
(formula 18)
Max _ sum _ cabac _ bits =
log 2 ( - Π state = s 0 L min _ rLPS ( state ) ) + ( B - L ) Λ if ( B > L ) log 2 ( - Π state = s 0 B min _ rLPS ( state ) ) Λ otherwise .
Because formula 16, formula 18 the 1st is the summation of minimum value of the rLPS (state) of each state during the state migration of defined, so be the minimum value of the summation of the rLPS (state) during the state migration of defined.
Sum up above content:
Even the value of following arithmetic scope Erange (i) is uncertain, also can use formula 15 to calculate maximum to the arithmetic coding output bit number of 1bin.
Can know, though the not only following arithmetic scope Erange (i), and also following contextual state_idx is also uncertain, can use formula 16 or 18 to calculate the maximum value calculation to the arithmetic coding output bit number of many bin.
The present invention is based on above-mentioned 2 facts; In method for video coding, video coding apparatus and video coding program; Consider that the output bit number can be because arithmetic scope or context and change has realized calculating accurately the peaked arithmetic coding output bit number projectional technique to the arithmetic coding output bit number of 1bin or many bin.
That is, being characterized as of method for video coding of the present invention has: the binary sequence switch process that the coded data of image block is converted to the symbol of binary sequence; Based on context each symbol of binary sequence is carried out the binary arithmetic coding step of arithmetic coding; Calculate the reckoning step of bit number required when coded data to image block is by binary arithmetic coding; According to calculating the bit number of calculating in the step, whether decision carries out binary arithmetic coding to coded data and the encoded data decision step exported; With to upgrading, to the updating context step of not upgrading with the corresponding context of coded data that in the encoded data decision step, has determined not carry out binary arithmetic coding output with the corresponding context of coded data that in the encoded data decision step, has determined to carry out binary arithmetic coding output.In calculating step, will be to maximum from bit number to the arithmetic coding of the incoming symbol of binary arithmetic coding that export as bit number.
Method for video coding also can constitute like this,, in calculating step, through the calculating of 1 symbolic unit, obtains the maximum of arithmetic coding output bit number that is, and the minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit.
Method for video coding also can constitute like this; Promptly; In calculating step; Through the calculating of a plurality of symbolic units, obtain the maximum of arithmetic coding output bit number, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
Method for video coding also can constitute like this; That is, in calculating step, through the calculating of 1 symbolic unit; Calculating with a plurality of symbolic units; Obtain the maximum of arithmetic coding output bit number, the minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
Method for video coding also can constitute like this, has: calculate the conversion quantization step that image block is transformed into frequency domain and quantized conversion quantization value; With output image block is carried out non-entropy coding and (do not used entropy coding; And encode as unpacked data) the non-entropy coding step of data; In the encoded data decision step; When the bit number of calculating surpasses under the situation of defined value, with the coded data of PCM pattern header decision, in non-entropy coding step as output; After through the binary arithmetic coding step PCM pattern header being carried out arithmetic coding output, will change the quantization value and the image of the image block that obtains or the original image piece before the applied transformation quantization has carried out the PCM data of non-entropy coding and exports to reconstruct.
Video coding apparatus of the present invention is characterized by, and has: binary sequence converter section (, realizing) with binarizer 101 as an example, and its coded data with image block converts the symbol of binary sequence to; Binary arithmetic coding portion (, realizing) with binary arithmetic coder 102 as an example, based on context it carry out arithmetic coding to each symbol of binary sequence; Reckoning portion (, realizing) with binary arithmetic coding maximum number bits calculator 105,1050 as an example, it calculates bit number required when coded data to image block is by binary arithmetic coding; Encoded data decision portion (, realizing) with binary arithmetic coder 102 as an example, the bit number that it is calculated according to reckoning portion, whether decision carries out binary arithmetic coding output to coded data; With updating context portion (as an example; Realize with binary arithmetic coder 102); It is to having determined the corresponding context of coded data that carries out binary arithmetic coding output to upgrade with encoded data decision portion; The corresponding context of having exported having determined not carry out binary arithmetic coding with encoded data decision portion of coded data does not upgrade, reckoning portion will to the maximum of the arithmetic coding output bit number of the incoming symbol of binary arithmetic coding as bit number.
Video coding apparatus also can constitute like this, that is, reckoning portion obtains the maximum of arithmetic coding output bit number through the calculating (with reference to formula 15) of 1 symbolic unit, and the skill of above-mentioned 1 symbolic unit has been used the minimum value of small probability symbol appearing probability.
Video coding apparatus also can constitute like this; Promptly; Reckoning portion is through the calculating (with reference to formula 16,18) of a plurality of symbolic units; Obtain the maximum of arithmetic coding output bit number, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
Video coding apparatus also can constitute like this; Promptly; Reckoning portion obtains the maximum of arithmetic coding output bit number through the calculating of 1 symbolic unit and the calculating of a plurality of symbolic units; The minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
Video coding apparatus also can constitute like this, that is, have: calculate the conversion quantization portion that image block is transformed into frequency domain and quantized conversion quantization value; Image block has been carried out the non-entropy coding portion of the data of non-entropy coding with output; When the bit number of calculating surpasses under the situation of defined value; Encoded data decision portion is with the coded data of PCM pattern header decision as output; After binary arithmetic coding portion carries out PCM pattern header arithmetic coding output, the non-entropy coding output PCM of portion data, the image block that these PCM data obtain reconstruct conversion quantization value or the image of the original image piece before the applied transformation quantization have carried out non-entropy coding.
Video coding program of the present invention is characterized by, and computer is handled below carrying out: the binary sequence conversion process converts the coded data of image block to the symbol of binary sequence; Binary arithmetic coding is handled, and based on context each symbol to binary sequence carries out arithmetic coding; Calculate to handle, calculate bit number required when coded data to image block is by binary arithmetic coding; Encoded data decision is handled, and according to calculating the bit number of calculating in the processing, whether decision carries out binary arithmetic coding output to coded data; Handle with updating context; To upgrading with in encoded data decision is handled, having determined the corresponding context of coded data that carries out binary arithmetic coding output; To not upgrading, carry out in handling and to export of the processing of the maximum of bit number to arithmetic coding calculating as bit number to the incoming symbol of binary arithmetic coding with in encoded data decision is handled, having determined the corresponding context of coded data that does not carry out binary arithmetic coding output.
Video coding program also can constitute like this; That is, in computer, handle below the execution: in calculating processing, through the calculating of 1 symbolic unit; Obtain the maximum of arithmetic coding output bit number, the minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit.
Video coding program also can constitute like this; Promptly; Handle below in computer, carrying out: in calculating the step processing; Through the calculating of a plurality of symbolic units, obtain the maximum of arithmetic coding output bit number, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
Video coding program also can constitute like this; That is, make computer carry out following the processing: in calculating processing, through the calculating of 1 symbolic unit; Calculating with a plurality of symbolic units; Obtain the maximum of arithmetic coding output bit number, the minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
Video coding program also can constitute like this, that is, make computer carry out following the processing: the conversion quantization that image block is transformed into frequency domain and quantized conversion quantization value is handled in calculating; Image block having been carried out the non-entropy coding of the data of non-entropy coding with output handles; In encoded data decision is handled; When the bit number of calculating surpasses under the situation of defined value; With the coded data of PCM pattern header decision, in non-entropy coding is handled, handle through binary arithmetic coding after with the output of PCM pattern header arithmetic coding as output; Output PCM data, the image block that these PCM data obtain reconstruct conversion quantization value or the image of the original image piece before the applied transformation quantization have carried out non-entropy coding.
Embodiment of the present invention is described with reference to the accompanying drawings.
Execution mode 1
Fig. 2 is the block diagram of the entropy coding portion of the expression CABAC that is used for realizing this execution mode.If be used for realizing the CABAC of this execution mode entropy coding portion, compare with entropy coding shown in Figure 14, then also have bin buffer 104, binary arithmetic coding maximum number bits calculator the 105, the 2nd context modeler 106 and switch portion (PCM is code switch again) 110.And in this execution mode, binary arithmetic coder 102 has according to the bit number of extrapolating, and whether decision carries out the function that binary arithmetic coding is exported with coded data.In addition, in the 1st~the 3rd execution mode, though the formation of entropy coder 241 is different, the integral body of video coding apparatus constitutes identical with formation shown in Figure 9.
Binarizer 101 is with shown in Figure 14 identical, and according to specification (for example, H.264 specification) predetermined rule, the SE of the MB layer that will be transfused to converts binary sequence to.Then, binary sequence is kept in the bin buffer 104.Next; Binary arithmetic coding maximum number bits calculator 105; Each bin to the binary sequence that is stored in bin buffer 104; Utilize the context that provides by the 2nd context modeler 106 one by one, calculate maximum to the arithmetic coding output bit number of each bin with formula 15, with this accumulated value as maximum number bits (during the binary arithmetic coding that is equivalent to be calculated required bit number) output.
Carrying out PCM with the entropy coding device when encoding again, in groundwork, read in context modeler 103 with being stored in the context data that context duplicates in the memory 244.Then, binarizer 101 generates the bin of the Prediction Parameters of representing that PCM begins, offers binary arithmetic coder 102.Meanwhile, context modeler 103 will offer binary arithmetic coder 102 corresponding to the context data of bin.Binary arithmetic coder 102; Use context data that bin is carried out arithmetic coding; And will export bit via switch portion 110 outputs to output buffer 242 on one side, will through context data that arithmetic coding upgrade turn back to context modeler 103 on one side.Binary arithmetic coder 102 behind the arithmetic coding of the bin of the Prediction Parameters that begins of expression PCM that is through with, reads in the image that is kept in the original image MB memory 211, encodes with the former state state of PCM again, and outputs in the output buffer 242.
In this execution mode; Binary arithmetic coder 102 is kept watch on the maximum number bits that is provided by binary arithmetic coding maximum number bits calculator 105; If maximum number bits is below the threshold value (for example 3200 bits) of defined; Then, utilize the context that provides by context modeler 103, each bin that is kept at the binary sequence in the bin buffer 104 is carried out binary arithmetic coding with shown in Figure 14 identical.If maximum number bits is more than the threshold value of defined, then binary arithmetic coder 102 each bin of binary sequence that only will be equivalent to the SE (PCM pattern header) of the MB layer corresponding with pcm encoder carries out binary arithmetic coding.Through carrying out such processing, can prevent: be not updated with having determined the corresponding context of coded data that does not carry out binary arithmetic coding output, and the required context of the binary arithmetic coding of MB is afterwards upgraded by error.
Switch portion 110 is kept watch on the maximum number bits that is provided by binary arithmetic coding maximum number bits calculator 105, if maximum number bits is below the threshold value of defined, then only selects the output of binary arithmetic coder 102 to output to the outside as bit stream.If maximum number bits is more than the threshold value of defined; Then switch portion 110; After the output of binary arithmetic coder 102 (the binary arithmetic coding data of SE that are equivalent to the MB layer of corresponding pcm encoder) was offered the outside as bit stream, the view data of selecting to be provided by the outside remake to bit stream as the PCM data and offers the outside.And, in specification H.264, come the regulation pcm encoder as non-entropy coding.That is, switch portion 110 can be exported the PCM data of image having been carried out non-entropy coding under the situation of the view data of selecting to be provided by the outside.
It should be noted at this: the context of in the 2nd context modeler 106, preserving is usually synchronous with the context that is kept in the context modeler 104.That is to say; Under the situation of the maximum number bits that is provided by binary arithmetic coding maximum number bits calculator 105 above the threshold value of defined, entropy coding portion upgrades the context of being preserved in the 2nd context modeler 106 with the context of being preserved in the context modeler 104.
In addition, can be the original digital image data of corresponding MB by the view data that the outside provided, also can be the MB with correspondence has carried out the coded image data behind the coding.
Below, with reference to the flow chart of Fig. 3, the work of the entropy coding portion of the CABAC that realizes this execution mode is described.
The entropy coding portion of this execution mode, when the CABAC of MB layer SE, the value initialization that the MB maximal bit is counted (mb_max_bit) is 0.Then, after the initialization, the processing of 6 steps will explaining below carrying out.
In step S101, binarizer 101 according to specification specifies the rule of SE of MB layer, convert all SE of MB layer to binary sequence, and be saved in bin buffer 104.Then, transfer to step S102.
In step S102; Binary arithmetic coding maximum number bits calculator 105 is to each bin of the binary sequence of being preserved in the bin buffer 104; The context that utilization is provided by the 2nd context modeler; Calculate the maximum of the arithmetic coding output bit of each bin with formula 15, upgrade the MB maximal bit with formula 19 and count.Then, transfer to step S103.Formula 19 is computing formula that the encoding amount in this execution mode is calculated.
(formula 19)
mb_max_bit=mb_max_bit+cabac_bits(i)
In step S103; Binary arithmetic coding maximum number bits calculator 105 is to each bin of the binary sequence of being preserved in the bin buffer 104; Judged whether to use whole processing of step S102,, then transferred to step S104 if used all; If not, then transfer to step S102.In addition, as the condition of transferring to step S104, can also append mb_max_bit and whether surpass 3200 (threshold values).
In step S104, binary arithmetic coder 102 judges that mb_max_bit whether below 3200 bits, if below 3200 bits, then transfers to step S105, if not, then transfer to step S106.
In step S105, binary arithmetic coder 102 utilizes the context that is provided from context modeler 103, and each bin of the binary sequence preserved in the bin buffer 104 is carried out binary arithmetic coding.After accomplishing to the binary arithmetic coding of each bin of the binary sequence of being preserved in the bin buffer 104, the CABAC that finishes MB handles.
In step S106, switch portion 110 after the binary arithmetic coding data output that will be equivalent to the SE of the corresponding MB layer of pcm encoder, is exported view data as the PCM data.Next, for follow-up MB, after the context of being preserved in the updating context of being preserved in the context modeler 104 the 2nd context modeler 106, the CABAC that finishes MB handles.
The processing of CABAC in as recited above, carry out this execution mode.In this execution mode, consider owing to arithmetic scope or contextual cause are exported the bit number change, and calculate maximum accurately the arithmetic coding output bit number of 1bin.Thereby; Be used for realizing the entropy coding portion of the CABAC of this execution mode through utilization; Can calculate accurately that the control of can encoding accurately reaches below 3200 bits so that MB exports bit number to the maximum of the arithmetic coding output bit of each bin of MB layer SE.
In addition; In this execution mode; Can judge not only also whether MB maximal bit counting surpasses 3200 bits (step S104) of defined value, also consider the relation of the encoding amount that MB maximal bit counting and rate control device 30 distribute, as the processing of above-mentioned steps S106, carry out pcm encoder.
Execution mode 2
In the 1st execution mode (execution mode 1), calculated the maximum of arithmetic coding output bit number accurately with 1bin unit.In this execution mode, CABAC calculates the maximum of the arithmetic coding output bit number of many bin unit also according to the kind of the SE of MB layer.The peaked benefit of calculating arithmetic coding output bit number with many bin unit is to reduce the calculation expense.But, to compare with the situation of the 1st execution mode, the arithmetic coding output bit number of estimation can be bigger.
As the SE of the peaked MB layer of calculating arithmetic coding output bit number with many bin unit, preferably than the also upper SE of residual layer (with reference to the 7.3.4.3 of non-patent literature 1).This be because: than the also upper SE of residual layer, the ratio of the bin in the MB layer is few, and is even estimate the maximum of arithmetic coding output bit number more, also fewer to the influence of the whole arithmetic coding output bit of MB layer.But certainly, the switching that utilizes the maximum of the arithmetic coding output bit number of 1bin unit to calculate to calculate with the maximum of the arithmetic coding output bit number that utilizes many bin unit can be carried out with SE arbitrarily.
In addition; Because the significant_coneff_flag of residual layer and the SE of last_significant_coeff_flag are the SE that can only generate 1 symbol from 1 SE; And be the also a lot of SE of number in the MB layer; So, preferably calculate the maximum of arithmetic coding output bit number accurately with 1bin unit.
About the structure of the entropy coding portion of the CABAC that is used for realizing this execution mode,, only be the internal structure change of binary arithmetic coding maximum number bits calculator 105 because in the entropy coding portion of the 1st execution mode.Therefore, only the binary arithmetic coding maximum number bits calculator 105 of conduct with the difference of the 1st execution mode described.
Fig. 4 is the block diagram of structure of the binary arithmetic coding maximum number bits calculator 1050 of this execution mode of expression.As shown in Figure 4, binary arithmetic coding maximum number bits calculator 1050 is made up of switch portion (unit calculator switch) 1054,1bin unit's calculator 1051, many bin unit calculator 1052, switch portion (accumulation calculating device switch) 1055 and accumulation calculating device 1053.
About the binary sequence that is provided by outside (bin buffer 104 shown in Figure 2), if this SE is the peaked SE that calculates arithmetic coding output bit number with 1bin unit, then switch portion 1054 just offers 1bin unit's calculator 1051 with binary sequence.If not, then switch portion 1054 just offers many bin unit calculator 1052 with binary sequence.
1bin unit's calculator 1051 utilizes the context that is provided by outside (the 2nd context modeler 106 shown in Figure 2) one by one; Calculate maximum according to formula 15 to the arithmetic coding output bit of each bin; Via switch portion 1055, the value of calculating is outputed to accumulation calculating device 1053.
Many bin unit calculator 1051 utilizes the context that is provided by outside (the 2nd context modeler 106 shown in Figure 2) one by one; Calculate maximum according to formula 16 or formula 18 to the arithmetic coding output bit number of many bin; Via switch portion 1055, this maximum is outputed to accumulation calculating device 1053.And in this execution mode, the contextual value of the context modeler 103 after the 2nd context modeler 106 after the MB layer is handled and the processing of MB layer is different.This be because with the context of the 2nd context modeler 106 as the context that the small probability signal recurs, make the cause of state_idx migration.
Accumulation calculating device 1053 adds up to the maximum of the arithmetic coding output bit of the 1bin of the SE that belongs to the MB layer or many bin; And after the finishing dealing with of the SE of MB layer, accumulated value is outputed to outside (binary arithmetic coder 102 and switch portion 110 shown in Figure 2).
Then, with reference to the flow chart of Fig. 5, the work of the binary arithmetic coding maximum number bits calculator 1050 of this execution mode is described.Though be used for realizing that the processing shown in the flow chart of the whole processing of the entropy coding portion of CABAC and Fig. 3 is identical, the processing of step S102 is replaced into the processing shown in the flow chart of Fig. 4.
In step S111, switch portion 1054 judges whether the SE of binary sequence is the peaked SE (whether being the SE also more upper than the SE of MB layer for example) that calculates arithmetic coding output bit number with 1bin unit.If calculate with 1bin unit and the peaked SE of arithmetic coding output bit number then to transfer to step S112, if not, then transfer to S113.
In step S112,1bin unit's calculator 1051 utilizes the context that is provided by outside (the 2nd context modeler 103 shown in Figure 2) one by one, calculates the maximum to the arithmetic coding output bit number of each bin according to formula 15, accomplishes and handles.In step S113; Many bin unit calculator 1051 utilizes the context that is provided by outside (the 2nd context modeler 106 shown in Figure 2) one by one; Calculate maximum according to formula 16 or formula 18, accomplish and handle to the arithmetic coding output bit number of each many bin.
The maximum that in step S112 or step S113, obtains (to the maximum of the arithmetic coding output bit number of 1bin or many bin) is provided for the outside, finishes to the calculating of the binary arithmetic coding maximum number bits of binary sequence.
Through utilizing the CABAC of this execution mode, can calculate accurately that the control of can encoding accurately reaches below 3200 bits so that MB exports bit number to the maximum of the arithmetic coding output bit number of each bin of the SE of MB layer.In addition, through calculate the maximum of arithmetic coding output bit number with many bin unit, can reduce the expense of the calculation of following reckoning.
In addition; In this execution mode; Though judgment processing through step S111; Utilize the peaked reckoning of the arithmetic coding output bit number of 1bin unit to handle the switching of handling with the peaked reckoning of the arithmetic coding output bit number that utilizes many bin unit, still, usually also can carry out the peaked reckoning of the arithmetic coding output bit number that utilizes many bin unit and handle.
Execution mode 3
Fig. 6 is the block diagram of the entropy coding portion of the expression CABAC that is used for realizing the 3rd execution mode (execution mode 3).In this execution mode, binary arithmetic coding maximum number bits calculator 105 use with the 1st execution mode (execution mode 1) or the 2nd execution mode (execution mode 2) in the identical mode of the employed mode of binary arithmetic coding maximum number bits calculator in any one mode.At this, be example with the binary arithmetic coding maximum number bits calculator 105 identical with the 1st execution mode.
Be used for realizing the entropy coding portion of the CABAC of this execution mode,, then also have: bin buffer 104, binary arithmetic coding maximum number bits calculator the 105, the 2nd context modeler 106 and switch portion 108 if compare with entropy coding portion shown in Figure 14.
Binarizer 101, the SE of the MB layer that will be transfused to converts binary sequence to according to the rule with specification specifies, and is saved in the bin buffer 104.Then; Binary arithmetic coding maximum number bits calculator 105; To each bin of the binary sequence of being preserved in the bin buffer 104, utilize the context that is provided by the 2nd context modeler 106 one by one, calculate maximum to the arithmetic coding output bit number of each bin.Then, the accumulated value that is relatively calculated and the setting (for example 3200 bits) of MB bit number.Surpassed at accumulated value under the situation of setting of MB bit number, removed the output bin of (clear) MB, and will be equivalent to be saved in the bin buffer 104 with the bin of the header of the SE of the pairing MB layer of pcm encoder from bin buffer 104.
Switch portion 108 is kept watch on the maximum number bits that is provided by binary arithmetic coding maximum number bits calculator 105, if maximum number bits below the setting of MB maximum number bits, is then only selected the output of binarizer 101, and offers bin buffer 104.If maximum number bits is more than the setting of MB maximum number bits, then switch portion 108 is after the bin of the header that pcm encoder is provided, and selection offers bin buffer 104 by the view data that the outside provides as the PCM data.
Binary arithmetic coder 102 is started working after the 1MB work of binarizer 101 is accomplished; And it is identical with the situation of entropy coding portion shown in Figure 14; The context that utilization is provided by context modeler 103 carries out binary arithmetic coding to each bin that is kept at the binary sequence in the bin buffer 104.Begin to postpone under the situation more than the 1MB in work,, can the load for the binary arithmetic coding of importing the bin code check be disperseed to count MB unit according to the capacity of bin buffer 104 with arithmetic coding.
In this execution mode, because the processing of binary arithmetic coder 102 postpones, so when carrying out pcm encoder under the situation of Duoing than setting, can not carry out duplicating at once to the 2nd context modeler 103 in the MB maximum number bits.Therefore; Binary arithmetic coding maximum number bits calculator 105 is for using formula 15 to calculate the context of output bit number, MB handle initial, preserve duplicating in advance from the 2nd context modeler 106; When pcm encoder, the context that copy is duplicated continues binary coding.And the view data that is provided by the outside can be the original digital image data of corresponding MB, also can be the coded image data behind the corresponding MB of having encoded.
Next, with reference to the flow chart of Fig. 7, the work of the entropy coding portion of the CABAC that is used for realizing this execution mode is described.
When the CABAC of MB layer SE, the entropy coding portion of this execution mode is 0 with the value initialization of MB maximal bit counting (mb_max_bit).And, after initialization, carry out the processing of following 7 steps will explaining.
In step S201, binary arithmetic coding maximum number bits calculator 105 duplicates the context that the 2nd context modeler 106 is calculated according to formula 15 at the MB layer.Then, transfer to step S202.In step S202, binarizer 101 according to specification specifies the rule of SE of MB layer, convert all SE of MB layer to binary sequence, and be saved in the bin buffer 104.Then, transfer to step S203.
In step 203; Binary arithmetic coding maximum number bits calculator 105, the same with the processing of step S102 in the 1st execution mode, to each bin that is stored in the binary sequence in the bin buffer 104; The context that utilization is provided by the 2nd context modeler; Calculate maximum according to formula 15, shown in formula 19, upgrade MB maximal bit counting to the arithmetic coding output bit of each bin.Then, transfer to step S204.
Under the situation of the binary coding maximum number bits calculator 1050 in using the 2nd execution mode, in step S203, after having carried out the processing identical, upgrade MB maximal bit counting according to formula 19 with the flow chart of Fig. 5.Then, transfer to step S204.
In step S204; Binary arithmetic coding maximum number bits calculator 105 is to each bin of the binary sequence of being preserved in the bin buffer 104; Judged whether to use the processing of all step S203,, then transferred to step S205 if all used; If not, then transfer to step S203.And,, can also append mb_max_bit and whether surpass 3200 (threshold values) as the condition of transferring to step S205.
In step S205, binary arithmetic coder 102 judges that mb_max_bit whether below 3200 bits, if below 3200 bits, then transfers to step S206, if not, then transfer to step S207.
In step S206, binary arithmetic coder 102 will be equivalent to after the bin data output with the SE of the corresponding MB layer of pcm encoder view data preserved as the PCM data.Next; For follow-up MB, duplicate the context of being preserved in the memory (the 2nd context duplicates memory) 107 with context, upgrade the context of being preserved in the 2nd context modeler 106; And carrying out context migration corresponding to the SE part of pcm encoder, the CABAC that finishes MB handles.
In step S207, binary arithmetic coder 102 utilizes the context that is provided by context modeler 103, and each bin of the binary sequence preserved in the bin buffer 104 is carried out the binary arithmetic coding.After accomplishing to the binary arithmetic coding of each bin of the binary sequence of being preserved in the Bin buffer 104, the CABAC that finishes MB handles.In addition, in this execution mode, also can not wait the processing of step S207 to finish just to begin the processing of S201 to following MB.
As top, carry out the processing of the CABAC in this execution mode.In this execution mode; Can calculate the maximum of the arithmetic coding output bit number of each bin that is directed against MB layer SE accurately; And, can be to count the processing load that MB unit disperses binary arithmetic coding, so be applicable to very much the processing of streamline (pipeline) mode.
Can be clear and definite by above-mentioned explanation, can constitute above-mentioned each execution mode through hardware, but also can the program of using a computer realize.For example, be used for realizing the information processing system shown in Figure 8 of above-mentioned each execution mode, comprise: the storage medium 504 of the storage medium 503 of processor 501, program storage 502, storing image data and stored bits stream.Processor 501 is carried out processing shown in Figure 3 (the 1st execution mode) or processing (the 3rd execution mode) shown in Figure 7 according to the program of being preserved in the program storage 502.Realizing under the situation of the 2nd execution mode execution graph 3 or processing shown in Figure 7 and processing shown in Figure 5.In addition, the storage area of the storage area of storage medium 503 and storage medium 504 both can be the storage area in the different storage medium, also can be the storage area in the same storage medium.In addition, as storage medium 503,504, can use the magnetic-based storage media of hard disk etc.
The application's requirement is recorded in this with the priority that the special hope of the japanese publication that proposed on December 14th, 2006 is the basis 2006-337468 number with its disclosed all the elements.
Utilizability in the industry
The present invention can use in the video coding apparatus that uses the CABAC that exports the bit number projectional technique based on the coding that counts well.

Claims (10)

1. a method for video coding is characterized by, and has:
The binary sequence switch process converts the coded data of image block to the symbol of binary sequence;
The binary arithmetic coding step, based on context each symbol to binary sequence carries out arithmetic coding;
Calculate step, calculate bit number required when coded data to image block is by binary arithmetic coding;
The encoded data decision step, according to the comparative result of the threshold value of bit number of being calculated in the above-mentioned reckoning step and regulation, whether decision carries out binary arithmetic coding output to above-mentioned coded data; With
The updating context step; To upgrading with in above-mentioned encoded data decision step, having determined the corresponding above-mentioned context of coded data that carries out binary arithmetic coding output; To not upgrading with in above-mentioned encoded data decision step, having determined the corresponding above-mentioned context of coded data that does not carry out binary arithmetic coding output
In above-mentioned reckoning step, will to the maximum of the arithmetic coding output bit number of the incoming symbol of binary arithmetic coding as above-mentioned bit number.
2. according to the method for video coding of claim 1 record, it is characterized by:
In calculating step, through the calculating of 1 symbolic unit, obtain the maximum of arithmetic coding output bit number, the minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit.
3. according to the method for video coding of claim 1 record, it is characterized by:
In calculating step,, obtain the maximum of arithmetic coding output bit number, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur through the calculating of a plurality of symbolic units.
4. according to the method for video coding of claim 1 record, it is characterized by:
In calculating step; Through the calculating of 1 symbolic unit and the calculating of a plurality of symbolic units; Obtain the maximum of arithmetic coding output bit number; The minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
5. according to the method for video coding of claim 1 record, it is characterized by, have:
Conversion quantization step is calculated image block is transformed into frequency domain and quantized conversion quantization value; With
Non-entropy coding step is exported the data of image block having been carried out non-entropy coding,
In the encoded data decision step, surpassed when the bit number of calculating under the situation of value of defined, with the decision of PCM pattern header as the coded data of exporting,
In above-mentioned non-entropy coding step; Through the binary arithmetic coding step; After above-mentioned PCM pattern header being carried out arithmetic coding output, the image block that output obtains reconstruct above-mentioned conversion quantization value or the image of the original image piece before the applied transformation quantization have carried out the PCM data of non-entropy coding.
6. a video coding apparatus is characterized by, and has:
The binary sequence converter section, its coded data with image block converts the symbol of binary sequence to;
Binary arithmetic coding portion, based on context it carry out arithmetic coding to each symbol of binary sequence;
Reckoning portion, it calculates bit number required when coded data to image block is by binary arithmetic coding;
Encoded data decision portion, the comparative result of the bit number that it is calculated according to above-mentioned reckoning portion and the threshold value of regulation, whether decision carries out binary arithmetic coding output to above-mentioned coded data; With
Updating context portion; It is to having determined the corresponding above-mentioned context of coded data that carries out binary arithmetic coding output to upgrade with above-mentioned encoded data decision portion; To having determined the corresponding above-mentioned context of coded data that does not carry out binary arithmetic coding output not upgrade with above-mentioned encoded data decision portion
Above-mentioned reckoning portion, will to the maximum of the arithmetic coding output bit number of the incoming symbol of binary arithmetic coding as above-mentioned bit number.
7. according to the video coding apparatus of claim 6 record, it is characterized by:
Reckoning portion obtains the maximum of arithmetic coding output bit number through the calculating of 1 symbolic unit, and the minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit.
8. according to the video coding apparatus of claim 6 record, it is characterized by:
Reckoning portion obtains the maximum of arithmetic coding output bit number, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur through the calculating of a plurality of symbolic units.
9. according to the video coding apparatus of claim 6 record, it is characterized by:
Reckoning portion is through the calculating of 1 symbolic unit and the calculating of a plurality of symbolic units; Obtain the maximum of arithmetic coding output bit number; The minimum value of small probability symbol appearing probability has been used in the calculating of above-mentioned 1 symbolic unit, the minimum value of the summation of the small probability symbol appearing probability the when calculating of above-mentioned a plurality of symbolic units has used the small probability symbol to recur.
10. according to the video coding apparatus of claim 6 record, it is characterized by, have:
Conversion quantization portion, it calculates image block is transformed into frequency domain and quantized conversion quantization value; With
Non-entropy coding portion, its output has been carried out the data of non-entropy coding with image block,
Encoded data decision portion has surpassed when the bit number of calculating under the situation of value of defined, with the decision of PCM pattern header as the coded data of exporting,
Above-mentioned non-entropy coding portion; After binary arithmetic coding portion carried out above-mentioned PCM pattern header arithmetic coding output, the image block that output obtains reconstruct above-mentioned conversion quantization value or the image of the original image piece before the applied transformation quantization had carried out the PCM data of non-entropy coding.
CN2007800455397A 2006-12-14 2007-12-10 Video encoding method, video encoding device, and video encoding program Expired - Fee Related CN101553988B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP337468/2006 2006-12-14
JP2006337468 2006-12-14
PCT/JP2007/073769 WO2008072592A1 (en) 2006-12-14 2007-12-10 Video encoding method, video encoding device, and video encoding program

Publications (2)

Publication Number Publication Date
CN101553988A CN101553988A (en) 2009-10-07
CN101553988B true CN101553988B (en) 2012-10-17

Family

ID=39511612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800455397A Expired - Fee Related CN101553988B (en) 2006-12-14 2007-12-10 Video encoding method, video encoding device, and video encoding program

Country Status (5)

Country Link
US (1) US8345767B2 (en)
EP (1) EP2124343A4 (en)
JP (1) JP5045950B2 (en)
CN (1) CN101553988B (en)
WO (1) WO2008072592A1 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4915350B2 (en) * 2008-01-16 2012-04-11 日本電気株式会社 Entropy encoder, video encoding device, video encoding method, and video encoding program
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
JP2010278668A (en) * 2009-05-27 2010-12-09 Sony Corp Coding apparatus and method, and decoding apparatus and method
EP3550726B1 (en) * 2010-05-21 2020-11-04 BlackBerry Limited Methods and devices for reducing sources in binary entropy coding and decoding
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
MX2013005652A (en) 2010-11-26 2013-09-13 Nec Corp Image encoding device, image decoding device, image encoding method, image decoding method, and program.
JP6002973B2 (en) * 2011-02-23 2016-10-05 サン パテント トラスト Image encoding method and image decoding method
UA109312C2 (en) * 2011-03-04 2015-08-10 PULSE-CODE MODULATION WITH QUANTITATION FOR CODING VIDEO INFORMATION
FR2972588A1 (en) 2011-03-07 2012-09-14 France Telecom METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
US10123053B2 (en) 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US8805099B2 (en) * 2011-06-22 2014-08-12 Panasonic Intellectual Property Corporation Of America Image decoding method and image coding method
JP5318292B2 (en) 2011-06-23 2013-10-16 パナソニック株式会社 Image decoding method and image decoding apparatus
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
FR2977111A1 (en) 2011-06-24 2012-12-28 France Telecom METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
EP3407610B1 (en) 2011-06-24 2019-09-04 Sun Patent Trust Coding method and coding apparatus
KR102067683B1 (en) 2011-06-24 2020-01-17 선 페이턴트 트러스트 Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
KR102060621B1 (en) 2011-06-27 2019-12-30 선 페이턴트 트러스트 Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
BR112013030181B1 (en) 2011-06-28 2022-09-27 Sun Patent Trust DECODING METHOD TO DECODE A CONTROL PARAMETER TO CONTROL DECODING OF AN IMAGE, AND ENCODING METHOD TO CODING A CONTROL PARAMETER TO CONTROL ENCODING AN IMAGE
KR101643527B1 (en) * 2011-06-28 2016-07-27 닛본 덴끼 가부시끼가이샤 Method for coding video quantization parameter and method for decoding video quantization parameter
KR102006032B1 (en) 2011-06-29 2019-07-31 선 페이턴트 트러스트 Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
PL2728869T3 (en) 2011-06-30 2022-02-28 Sun Patent Trust Image decoding method
AU2012277219A1 (en) 2011-06-30 2013-09-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CN103765885B (en) 2011-07-11 2017-04-12 太阳专利托管公司 Image decoding method, image encoding method, image decoding apparatus, image encoding apparatus, and image encoding/decoding apparatus
US9451259B2 (en) * 2011-07-12 2016-09-20 Nec Corporation Image quantization parameter encoding method and image quantization parameter decoding method
IN2014CN03193A (en) * 2011-11-01 2015-07-03 Nec Corp
AU2012200345B2 (en) 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
CN103220509B (en) * 2012-01-21 2017-12-15 中兴通讯股份有限公司 Method, the encoder and decoder of Self Adaptive Control arithmetic coding BIN quantity
US20130251028A1 (en) * 2012-03-22 2013-09-26 The Hong Kong University Of Science And Technology Video encoding and decoding with channel prediction and error correction capability
DK2842313T3 (en) * 2012-04-13 2017-01-23 Ge Video Compression Llc Scalable data stream and network device
US20150181213A1 (en) * 2012-06-26 2015-06-25 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, and program
CN104685893B (en) 2012-06-29 2019-08-13 Ge视频压缩有限责任公司 Coding, decoding, transmission method and encoder, the decoder of video data stream
JP6257587B2 (en) * 2013-03-28 2018-01-10 京セラ株式会社 Wireless communication apparatus and signal processing method
US10200716B2 (en) * 2015-06-25 2019-02-05 Sony Interactive Entertainment Inc. Parallel intra-prediction encoding/decoding process utilizing PIPCM and/or PIDC for selected sections
CN109842797B (en) * 2018-12-28 2020-04-24 城云科技(中国)有限公司 Big data encoding method and computer readable storage medium
US12047575B2 (en) * 2020-12-03 2024-07-23 Intel Corporation Methods, apparatus, and articles of manufacture for multi-symbol equiprobable mode entropy coding
CN116760987B (en) * 2022-11-18 2024-12-31 杭州海康威视数字技术股份有限公司 Image encoding and decoding method, device and storage medium
CN116015312B (en) * 2023-03-28 2023-06-09 山东奔虎智能科技有限公司 Gas alarm system data storage method based on Internet of things platform

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787384A (en) * 2004-12-06 2006-06-14 松下电器产业株式会社 Decoding method and encoding method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6639942B1 (en) * 1999-10-21 2003-10-28 Toshiba America Electronic Components, Inc. Method and apparatus for estimating and controlling the number of bits
JP3853710B2 (en) 2002-07-15 2006-12-06 Necアクセステクニカ株式会社 Digital image encoding apparatus and digital image encoding method
JP4240283B2 (en) * 2002-10-10 2009-03-18 ソニー株式会社 Decoding device and decoding method
JP4449400B2 (en) 2002-10-25 2010-04-14 ソニー株式会社 Image encoding apparatus and method, program, and recording medium
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
JP2005300933A (en) 2004-04-12 2005-10-27 Sanyo Electric Co Ltd Remote controller for karaoke
JP2006093777A (en) 2004-09-21 2006-04-06 Victor Co Of Japan Ltd Motion picture encoder and encoding program
US20060176953A1 (en) * 2005-02-04 2006-08-10 Nader Mohsenian Method and system for video encoding with rate control
EP2566160A3 (en) * 2005-10-14 2013-08-21 NEC Corporation Apparatus and method for entropy coding with rate control
JP4828925B2 (en) * 2005-11-30 2011-11-30 パナソニック株式会社 Encoder
JP2008011431A (en) * 2006-06-30 2008-01-17 Toshiba Corp Image coding apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787384A (en) * 2004-12-06 2006-06-14 松下电器产业株式会社 Decoding method and encoding method

Also Published As

Publication number Publication date
US8345767B2 (en) 2013-01-01
US20100238998A1 (en) 2010-09-23
JP5045950B2 (en) 2012-10-10
EP2124343A1 (en) 2009-11-25
CN101553988A (en) 2009-10-07
WO2008072592A1 (en) 2008-06-19
JPWO2008072592A1 (en) 2010-03-25
EP2124343A4 (en) 2012-01-11

Similar Documents

Publication Publication Date Title
CN101553988B (en) Video encoding method, video encoding device, and video encoding program
TWI753356B (en) Method and apparatuses for coding transform blocks
JP7575374B2 (en) Efficient coding of transform coefficients for use in or suitable for combination with dependent scalar quantization - Patents.com
CN101502123B (en) Coder
CN103959782B (en) Video decoder with enhanced cabac decoding and video encoder
KR100930263B1 (en) Video Compression Method and Its System Using Iterative Encoding Algorithm
CN102783035B (en) Parallel entropy coding and decoding methods and devices
CN101491106A (en) Image processing device, method, and program
JPH11252573A (en) Hierarchical image coding system and hierarchical image decoding system
CN1980393A (en) Image coding device, method and computer program
JPWO2007043609A1 (en) Image encoding method, and apparatus and computer program using the same
CN102783154A (en) Encoding and decoding methods and devices employing dual codesets
CN113497936B (en) Coding method, decoding method, encoder, decoder and storage medium
KR20090113103A (en) Method and apparatus for decoding video
US20140044167A1 (en) Video encoding apparatus and method using rate distortion optimization
KR20130088114A (en) Image processing device, image processing method, and program
JP2012060208A (en) Moving image encoding method, moving image encoding apparatus, moving image decoding method, moving image decoding apparatus, and program thereof
KR101581399B1 (en) Motion video predict coding method, motion video predict coding device, motion video predict coding program, motion video predict decoding method, motion video predict decoding device, and motion video predict decoding program
CN102783036A (en) Encoding and decoding methods and devices using a secondary codeword indicator
JP7020431B2 (en) Quantizers, quantization methods and programs
JP4799377B2 (en) Image encoding device
KR100755388B1 (en) Method and apparatus for estimating reconstruction error in video compression
JP7663097B2 (en) Image data encoding device, image data encoding method, computer software, and non-transitory storage medium
CN114731421A (en) Multistage Residual Coding in Modern Hybrid Image and Video Coding Schemes
KR20100111732A (en) Time-varying image encoding and decoding device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121017

Termination date: 20141210

EXPY Termination of patent right or utility model