WO2008072592A1 - 映像符号化方法、映像符号化装置および映像符号化プログラム - Google Patents

映像符号化方法、映像符号化装置および映像符号化プログラム Download PDF

Info

Publication number
WO2008072592A1
WO2008072592A1 PCT/JP2007/073769 JP2007073769W WO2008072592A1 WO 2008072592 A1 WO2008072592 A1 WO 2008072592A1 JP 2007073769 W JP2007073769 W JP 2007073769W WO 2008072592 A1 WO2008072592 A1 WO 2008072592A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoded data
bits
output
encoding
symbol
Prior art date
Application number
PCT/JP2007/073769
Other languages
English (en)
French (fr)
Inventor
Tetsuhiro Nanbu
Keiichi Chono
Original Assignee
Nec Corporation
Nec Engineering, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nec Corporation, Nec Engineering, Ltd. filed Critical Nec Corporation
Priority to JP2008549305A priority Critical patent/JP5045950B2/ja
Priority to EP07850343A priority patent/EP2124343A4/en
Priority to CN2007800455397A priority patent/CN101553988B/zh
Priority to US12/443,734 priority patent/US8345767B2/en
Publication of WO2008072592A1 publication Critical patent/WO2008072592A1/ja

Links

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

Definitions

  • the present invention relates to a video coding using a table-driven binary arithmetic coding engine (Table-driven binary arithmetic coding engine) and a three-dimensional ABA (Context-based Adaptive binary Arithmetic Coding) technique.
  • the present invention relates to an encoding method, a video encoding device, and a video encoding program.
  • a video encoding device generates encoded data, that is, a bitstream, by digitizing a moving image signal input from the outside and performing an encoding process based on a predetermined image encoding method.
  • H.264 / AVC Advanced Video Coding
  • ⁇ 264 / AVC is equivalent to ISO / IEC 14496—10 A VC.
  • CAVLC Context t-based Adaptive Variable Length Coding
  • SE syntax element
  • SE of MB layer is described in Non-Patent Document 1, 7.3.5 Macroblock layer syntax.
  • CABAC Context t-based Adaptive binary Arithmetic Coding
  • the Joint Model method is known as a reference model for the H.264 / AVC encoder (hereinafter referred to as a general video encoding device).
  • the video encoding device shown in FIG. 9 includes an original image frame buffer 10, an MB encoding device 20, a rate control device 30, and A decoded image frame buffer 40 is provided.
  • the original image frame buffer 10 stores image data as shown in FIG.
  • the image frame is divided into 16 ⁇ 16 pixel luminance pixels called MB and pixel blocks having 8 ⁇ 8 pixel color difference pixels (Cr and Cb) as constituent elements.
  • the MB encoding device 20 normally encodes MBs in the raster scan order from the upper left to the lower right of the image frame.
  • the rate control device 30 monitors the number of output bits of the bit stream output from the MB encoding device 20, adjusts the quantization parameter supplied to the MB encoding device 20, and sets the bit stream to the target bit. Rate control to get closer to the number. Specifically, when the number of bits of the bit stream becomes larger than the target number of bits, a quantization parameter for increasing the quantization width is supplied to the MB encoding device 20, and conversely, the number of bits of the bit stream is reduced. When the number of bits is smaller than the target number of bits, a quantization parameter for reducing the quantization width is supplied to the MB encoder 20.
  • the decoded image frame buffer 40 is used when the MB encoding device 20 completes 1 MB encoding in order to use the decoded image by the MB encoding device 20 for subsequent encoding (prediction).
  • the decoded image by the MB encoding device 20 is read and stored.
  • the MB encoding device 20 includes a read device 210, a prediction device 220, a video encoding (Venc) device 230, and an entropy encoding (EC) device 240.
  • the read device 210 includes an original image MB memory 211 and a reference image memory 212.
  • the video encoding device 230 includes a transformer / quantizer 231, an inverse quantizer / inverse transformer 232, and a decoded image MB memory 233.
  • the entropy encoder 240 includes an entropy encoder 241, an output buffer 242, a controller 243 and a context replication memory 244.
  • the original image MB memory 211 stores an image of an MB to be encoded (hereinafter referred to as an original image org) among the image frames stored in the original image frame buffer 10.
  • an image hereinafter referred to as a reference image ref
  • a reference image ref an image necessary for predicting and encoding the encoding target MB among the images stored in the decoded image frame buffer 40 is stored.
  • the prediction device 220 is stored in the decoded image frame buffer 40 and the decoded image memory 233.
  • a prediction parameter param that can favorably encode the original image is detected from the obtained reference image, and a prediction image pred and a prediction error image pe are generated.
  • the prediction parameters are supplied to the entropy encoder 241.
  • the prediction error image pe is supplied to the transformer / quantizer 231.
  • the prediction error image pe is added to the output of the inverse quantization / inverse transformer 232 and stored in the decoded image MB memory 233 as a decoded image.
  • PCM Pulse Code Modulation
  • intra-frame prediction There are two types of prediction: intra-frame prediction and inter-frame prediction.
  • a prediction image and prediction error image in intra-frame prediction / inter-frame prediction will be described.
  • intra-frame prediction When intra-frame prediction is performed, a past decoded image having the same display time as that of the current encoding target image frame is referred to, and the correlation between pixels in the image frame (spatial direction) is used to predict the predicted image. Generate pred.
  • various patterns of intra-frame prediction with a 4 x 4 pixel block size obtained by further subdividing MB are shown in the explanatory diagram of Fig. 11! /, (Intra-frame prediction for color difference and other cases)
  • section 8.3 Intra prediction process For non-patent document 1, section 8.3 Intra prediction process
  • intra-dir is an intra-screen prediction direction parameter indicating the direction of intra-frame prediction.
  • the prediction device 220 When selecting the intra-frame prediction, the prediction device 220 generates the predicted image pred according to the intra-screen prediction direction parameter intra-dir.
  • the intra-frame prediction is defined as Equation 1.
  • Country pred intra preaiction (ref, intra air)
  • intra-prediction () is a function that generates an intra-frame prediction image from the reference image ref according to the intra-screen prediction direction parameter intra-dir.
  • interframe prediction When interframe prediction is performed, a past decoded image having a display time different from that of the current encoding target image frame is referred to, and correlation between image frames (time direction) is used to predict a predicted image pred. Is generated.
  • inter-frame prediction inter-frame prediction of 16 X 16 pixel blocks will be described with reference to the explanatory diagram of Fig. 12 (other pixel block sizes, etc.) (See Section 8.4 Intra prediction process in Non-Patent Document 1).
  • Motion vectors mv-x and mv-y shown in FIG. 12 are prediction parameters for inter-frame prediction.
  • the prediction device 220 When selecting the inter-frame prediction, the prediction device 220 generates a predicted image pred according to the motion vectors mv—x and mv—y.
  • the interframe prediction is defined as Equation 2.
  • inter-prediction () is a function that generates an inter-frame prediction image from the reference image ref according to the motion vectors mv_x and mv_y.
  • the pixel accuracy of the motion vector is 1/4 pixel.
  • the prediction device 220 detects the prediction parameter param for generating the above-described prediction image pred using the cost function (prediction evaluation value) of Expression 3 and Expression 4 to Expression 7.
  • Prediction parameters include intra-dir prediction direction for intra-frame prediction and motion vectors mv—x, mv—y for inter-frame prediction (for other prediction parameters, refer to Non-Patent Document 1). (See section 7 Syntax and semantics.)
  • the difference between the prediction image pred corresponding to the detected prediction parameter param and the original image org is called the prediction error image pe (see Equation 6).
  • P e idx (y, x) or g ( b4 yidx + y, t> 4x idx + x)-pred (b4y idx + y, b4x idx + x)
  • Equation 3 is an equation for explaining the calculation of the predicted evaluation value in H.264. Equation 4 is
  • Equation 3 is a formula explaining the calculation of SATD (idx) in 3.
  • Equation 5 explains the calculation of H (idx) in Equation 4.
  • Equation 6 explains the calculation of peidx (y, x) in Equation 5.
  • Equation 7 explains the calculation of ⁇ (QP) in Equation 3.
  • Expression 8 is an expression for explaining b4x and b4y in Expression 6.
  • QP is the MB quantization parameter
  • idx is the 4X4 block number in the MB shown in Fig. 10
  • b4x and b4y are in the upper left corner of the 4X4 block corresponding to idx. Indicates the coordinates.
  • the transformer / quantizer 223 frequency-converts the prediction error pe supplied from the prediction device 220 in units of blocks smaller than MB (hereinafter referred to as transform blocks), and space Convert from domain to frequency domain.
  • the prediction error image converted to the frequency domain is called a conversion coefficient T.
  • the transform / quantizer 223 quantizes the transform coefficient T with a quantization width corresponding to the quantization parameter QP supplied from the rate control device 30.
  • the quantized transform coefficient is generally called a transform quantization value L.
  • the transform quantization value L is used for subsequent encoding.
  • the signal is supplied to the inverse quantizer / inverse transformer 233 and supplied to the entropy encoder 240 for forming a bit stream.
  • the inverse quantizer / inverse transformer 233 performs inverse quantization on the transform quantization value L supplied from the transformer / quantizer 223, and further performs inverse frequency transform to restore the original spatial domain.
  • the prediction error image returned to the original spatial domain is called the reconstructed prediction error image pe-rec.
  • the reconstruction prediction error image pe-rec supplied from the inverse quantization / inverse transformer 233 includes H.
  • the predicted image pred supplied from the prediction device 220 is added and stored in the decoded image MB memory 233 as a decoded image rec.
  • the decoded image rec stored in the decoded image MB memory 233 is subsequently read into the decoded image frame buffer 40 by the prediction device 220 and becomes a reference image.
  • the entropy encoder 240 includes an entropy encoder 241, an output buffer 242, a controller 243, and a context replication memory 244.
  • the entropy encoder 241 performs entropy encoding on the input data and supplies output bits to the output buffer 242.
  • the control device 243 monitors the number of output bits of the entropy encoder 241 and controls the operation of other devices.
  • the context replication memory 244 is a memory for storing a replication of context data described later.
  • the control device 243 monitors the number of output bits of the entropy encoder 241 and controls the entropy encoder 241 and the output buffer 242 with control signals (entropy encoding control signal and output buffer control signal). .
  • Entropy-encoding all input data of 1MB, and the number of output bits is the upper limit number of bits determined by the 264264 standard (refer to Annex A A.3 Levels in Non-Patent Document 1). If it does not exceed (200 bits), the control device 243 causes the bits stored in the output buffer 242 to be output as MB encoded data by the output buffer control signal.
  • the upper limit number of bits per 1 MB defined in the H.264 standard is hereinafter referred to as a specified value.
  • the controller 243 temporarily stops the operation of the entropy encoder 241 by the entropy encoding control signal. Then, all bits of the output buffer 242 are discarded by the output buffer control signal. That is, the contents of the output buffer 242 at this point are not used as encoded data. After discarding the bits, the control device 243 activates the entropy encoder 241 with the entropy encoding control signal, and re-encodes the input image data so that the number of bits is equal to or less than the specified value.
  • the entropy encoder 241 includes an entropy encoding unit 2416, a switch 2414, and a switch 2415 that include a binarization device 2411, a binary arithmetic encoding device 2412, and a context modeling device 2413.
  • the entropy encoder 241 first temporarily stops entropy encoding processing for input data.
  • the context data stored in the context replication memory 244 is read into the context modeling device 2413.
  • the binarizer 2411 generates a bin (binary symbol) of a prediction parameter indicating the start of PCM, and supplies it to the binary arithmetic encoder 2412.
  • the context modeling device 2413 supplies context data corresponding to bin to the binary arithmetic coding device 2412.
  • the binary arithmetic encoding unit 2412 arithmetically encodes bin using the context data, writes the output bits to the output buffer 242 via the switch 24 15, and converts the context data updated by arithmetic encoding to the context.
  • the binary arithmetic encoding device 2412 switches the switch 2414 after the arithmetic encoding of the prediction parameter bin indicating the start of PCM is completed, reads the image stored in the original image MB memory 211, and re-encodes the PCM as it is. And write to output buffer 242.
  • original image PCM re-encoding a process of re-encoding an original image to which the above-described conversion process is not applied is referred to as original image PCM re-encoding (see Patent Document 1).
  • an image for which no conversion or prediction can be performed can be encoded with no distortion and with a fixed number of bits less than or equal to the specified number of MB bits. If the processing time of the entropy decoding device on the decoding side, which is just the processing time of the device, can be guaranteed to a certain fixed time! /, I will! /
  • CABAC encoding processing will be described in detail.
  • a binarizer 101 As shown in FIG. 14, in order to realize CABAC, for example, a binarizer 101, a switch 111, a binary arithmetic encoder 102, and a context modeler 103 are configured.
  • the configuration shown in FIG. 14 corresponds to the configuration of entropy encoding unit 2416 shown in FIG.
  • the context modeler 103 is initialized using the QP of the first MB before the MB processing at the beginning of the slice (see 9.3.1 Initialization process in Non-Patent Document 1).
  • the neutralizer 101 converts the input SE into a binary sequence (binary sequence) according to a rule defined in the standard (the correspondence between SE and binary sequence conversion is 9.3 of Non-Patent Document 1). . See 2 Binarization process.)
  • the binary arithmetic encoder 102 converts each symbol (bin) of the binary sequence supplied from the binarizer 101 into the context (dominant symbol (MPS)) supplied from the context modeler 103 and the state index ( Use binary state arithmetic coding with state—idx).
  • the MPS of the context corresponds to valMPS in Non-Patent Document 1
  • the state-idx corresponds to pStateldx in Non-Patent Document 1.
  • the number line [0, 1) is divided according to the symbol appearance probability p, and the binary fractional value of the final subsection representative point is used as the final codeword.
  • Figure 15 shows an example of normal binary arithmetic coding for three-symbol input (110).
  • Erange (i) (corresponding to codlRange in Non-Patent Document 1) is the arithmetic range during the current bin processing
  • qCodlRangeldx is the arithmetic range index obtained from the upper bits of Erange (i)
  • rangeTabLPS [64 ] [4] (Table 9-35 in Non-Patent Document 1) is the inferior symbolore range table (see 9.3.4 Arithmetic encoding process (informat ive) in Non-Patent Document 1).
  • the binary arithmetic coder 102 uses rLPS (i) to perform processing corresponding to the following expressions 11 and 12 (Non-Patent Document 1, 9.3.2.2 Encoding process for a binary decision (see i nformative)) completes the binary arithmetic encoding process for one bin.
  • Elow (i) (corresponding to codlLow in Non-Patent Document 1) is assumed to be the arithmetic lower limit during the current bin processing.
  • rLPS (i) is always a fixed value 1 ⁇ See 9.3.4.4 Bypass Encoding process for a binary decisions unfor mative) in the patent literature. ).
  • the binary arithmetic coding of the H.264 standard manages the probability of the inferior symbol by the inferior symbol range table and the state transition table.
  • bitstream By sequentially performing the above-described binary arithmetic encoding on all input bins, arithmetic encoded output bits (bitstream) are obtained.
  • Patent Document 1 Japanese Patent Laid-Open No. 2006-93777
  • Patent Document 2 Japanese Patent Application No. 2005-300933
  • Non-Patent Document 1 ITU-T Recommendation ⁇ ⁇ 2 4 Advanced video coding for generic audiovisu al services, May 2005 (Prepublished version)
  • the first problem to be solved by the invention is to provide a method for estimating the maximum value of the number of output bits of CABAC in consideration of variations in output bits depending on the arithmetic range and context.
  • Patent Document 2 in which a method of complying with the prescribed value of the number of MB bits without PCM re-encoding is proposed, the estimation accuracy is not well taken into account when estimating the number of MB output bits of CABAC.
  • the number of CABAC MB output bits is estimated by applying a simple linear calculation to the number of CABAC input symbols (bins). There is a problem that the number of output bits varies depending on the conversion range and context.
  • the second problem to be solved by the invention is to provide a method for estimating the number of output bits by adaptively selecting a suitable estimation method according to the CABAC bin and context. For estimation that takes into account fluctuations in the number of output bits, the most reliable output bit number can be estimated by applying a highly accurate estimation method to all bins. Another problem arises: increased area and computational complexity. That is, the present invention takes into consideration that the number of output bits varies depending on the arithmetic range and context, and estimates the maximum number of arithmetically encoded output bits for one symbol or a plurality of symbols with high accuracy. It is an object of the present invention to provide a video encoding method, a video encoding device, and a video encoding program for performing video encoding.
  • the present invention for solving the above-mentioned problems is a binary sequence conversion step for converting encoded data of an image block into a binary sequence symbol, and arithmetic encoding of each symbol of the binary sequence according to the context 2
  • a value arithmetic encoding step for estimating the number of bits required when the encoded data for the image block is binary arithmetic encoded, and the encoding according to the number of bits estimated in the estimation step
  • a coded data decision step for deciding whether or not to output the data after binary arithmetic coding; and the coded data corresponding to the coded data decided to be outputted after being subjected to binary arithmetic coding in the coded data decision step.
  • a context that does not update the context corresponding to the encoded data that is determined not to be output after binary arithmetic encoding in the encoded data determination step is updated.
  • a video encoding method wherein, in the estimating step, the maximum value of the number of bits of the arithmetic coding output for the input symbol to the binary arithmetic coding is set to the number of bits.
  • the present invention for solving the above-described problems is a binary sequence converter that converts encoded data of an image block into a binary sequence symbol, and arithmetic symbols for each symbol of the binary sequence according to the context.
  • a binary arithmetic encoding unit for encoding, an estimation unit for estimating the number of bits required when the encoded data for the image block is binary arithmetic encoded, and the number of bits estimated by the estimation unit Corresponds to the encoded data determination unit that determines whether or not to output the encoded data after binary arithmetic encoding, and the encoded data that the encoded data determination unit determines to output after binary arithmetic encoding
  • a context update unit that updates the context and does not update the context corresponding to the encoded data that is determined not to be output by binary encoded encoding by the encoded data determination unit, and the estimation unit includes binary arithmetic Mark
  • the video encoding device is characterized in that a maximum value of the number
  • the present invention that solves the above-described problems is a computer in which a binary sequence conversion process for converting encoded data of an image block into a binary sequence symbol, and each symbol in the binary sequence as a context.
  • a binary arithmetic encoding process that performs arithmetic encoding according to the above, an estimation process that estimates the number of bits required when the encoded data for the image block is binary arithmetic encoded, and the estimation process According to the number of bits, it has been determined that the encoded data is to be output after being subjected to binary arithmetic encoding and whether the encoded data is output by binary arithmetic encoding in the encoded data determination process.
  • Update the context corresponding to the encoded data and update the context not to update the context corresponding to the encoded data determined not to be output after binary arithmetic encoding in the encoded data determination process And executing the process of setting the maximum number of output bits of arithmetic coding for the input symbol to binary arithmetic coding as the number of bits in the estimation process. It is.
  • a first effect of the present invention is to provide a video encoding method, a video encoding device, and a video encoding program capable of reliably estimating the number of output bits in CABAC arithmetic encoding. It can be done. The reason is that the fluctuation of the number of output bits can be estimated according to the range and context of arithmetic coding.
  • the second effect is the use of the highly reliable estimation of the number of output bits that produces the first effect, and the re-encoding in the video encoding method of the H.264 standard, and the MB bit number.
  • a reliable estimate can be applied, so that the extra margin for the specified number of MB bits can be reduced.
  • encoding by a method such as roughening the quantization parameter is possible. This is because it is possible to suppress the means of complying with the specified values that would deteriorate the quality of the recorded video.
  • FIG. 1 is a diagram for explaining the relationship between state-idx and p LPS in CABAC.
  • FIG. 2 is a block diagram showing a configuration of an entropy encoding unit for realizing CABAC by an arithmetic encoding output bit number estimation method in the video encoder of the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the entropy encoding unit shown in FIG.
  • FIG. 4 is a block diagram showing a configuration of a binary arithmetic coding maximum bit number calculator according to a second embodiment of the present invention.
  • FIG. 5 is a flowchart showing the operation of the binary arithmetic coding maximum bit number calculator shown in FIG. 4.
  • FIG. 6 is a block diagram showing a configuration of an entropy encoding unit for realizing CABAC by an arithmetic encoding output bit number estimation method in a video encoder according to a third embodiment of the present invention.
  • FIG. 7 is a flowchart showing an operation of the entropy encoding unit shown in FIG.
  • FIG. 8 is a block diagram showing a configuration of an information processing system capable of realizing the present invention.
  • FIG. 9 is a block diagram illustrating a configuration of a general video encoding device.
  • FIG. 10 is an explanatory diagram for explaining the configuration of an image frame (YUV420 format)
  • FIG. 11 is an explanatory diagram for explaining an example of intra-frame prediction.
  • FIG. 12 is an explanatory diagram for explaining an example of inter-frame prediction.
  • FIG. 13 is an explanatory diagram for explaining PCM re-encoding.
  • FIG. 14 is a block diagram showing a configuration of a general entropy encoding unit for realizing CABAC.
  • FIG. 15 is an explanatory diagram for explaining an operation example of binary arithmetic coding.
  • Equation 14 is used to calculate the number of bits output from lbin in CABAC.
  • Erange (i) is expressed with a fixed bit precision (9 bits), and rangeTabLPS [64] [4] is a fixed value defined by the standard. Focus on these two points. Then, even if the value of the future arithmetic range Erange (i) is indeterminate (condition 1), the maximum value that rLPS (i) can take for the context state—idx (max—rLPS (state — idx)) and the minimum value (min—rLPS (state—idx)) are fixed. In other words, the maximum value of cabac—bits (i) (max—cabac—bits (i)) for the current bin can be accurately calculated by Equation 15. Equation 15 is the equation for calculating the maximum number of bits output from lbin under condition 1 in CABAC. [0074] [[Number 1155]]
  • Equation 16 is a diagram for explaining the relationship between state-idx (horizontal axis) and p LPS (vertical axis) in CA BAC.
  • the number of bins is B
  • L L
  • max — sum_cabac_bits can be calculated using Equation 16 and Equation 17.
  • Equation 18 obtained by simplifying Equation 16 may be used.
  • Equation 16 is an equation for calculating the maximum number of bits output from multiple bins under condition 2 in CABAC.
  • Equation 17 is an equation for calculating F (p) in Equation 16.
  • Equation 16 and Equation 18 The first term of Equation 16 and Equation 18 is the sum of the minimum values of rLPS (state) of each state in a given state transition period, so the rLPS (state) sum of products in a given state transition period Minimum value.
  • the present invention takes into account that the number of output bits varies depending on the arithmetic range and context in the video encoding method, video encoding device, and video encoding program. Number of arithmetically encoded bits for one bin or multiple bins An arithmetic coding output bit number estimation method for accurately estimating the maximum value of is realized.
  • the video encoding method includes a binary sequence conversion step for converting encoded data of an image block into a binary sequence symbol, and an arithmetic code corresponding to each symbol of the binary sequence according to the context.
  • the encoded data decision step that determines whether or not the binary data is encoded and output, and the context corresponding to the encoded data that is determined to be binary arithmetic encoded and output in the encoded data decision step is updated.
  • the context corresponding to the encoded data determined not to be output after binary arithmetic encoding in the encoded data determination step is not updated.
  • Tsu and a flop, in estimation step the maximum value of the arithmetic encoding output bit number for the input symbols to binary arithmetic coding, characterized in that the bit number.
  • the video encoding method may be configured so that, in the estimation step, the maximum value of the number of arithmetic encoded output bits is obtained by calculation in units of one symbol using the minimum value of the inferior symbol appearance probability. Good.
  • the estimation step a plurality of symbols using the maximum value of the number of output bits of arithmetic encoding and the minimum value of the total product of the probability of appearance of inferior symbols when inferior symbols occur continuously. You may comprise so that it may obtain
  • the video coding method includes a transform quantization step for calculating a transform quantization value obtained by transforming an image block into a frequency domain and quantizing the image block, and non-entropy coding (non-entropy coding is not applied and non-entropy coding is applied).
  • a non-entropy encoding step that outputs the data encoded as compressed data, and outputs the PCM mode header when the estimated number of bits exceeds the specified value in the encoded data determination step. Data is determined, and the PCM mode header is arithmetic in the binary arithmetic encoding step in the non-entropy encoding step.
  • the video encoding apparatus includes a binary sequence conversion unit (implemented by the binarizer 101 as an example) that converts encoded data of an image block into a binary sequence symbol, and binary.
  • a binary arithmetic encoding unit (implemented by the binary arithmetic encoder 102 as an example) that arithmetically encodes each symbol of the sequence according to the context, and the encoded data for the image block are binary arithmetic encoded
  • An estimator that estimates the number of bits required when it is generated (as an example, it is realized by the binary arithmetic coding maximum number of bits calculators 105 and 1050) and a code according to the number of bits estimated by the estimator.
  • the coded data decision unit (which is realized by the binary arithmetic coder 102 as an example) and the coded data decision unit that decides whether or not to output the coded data by binary arithmetic coding. Corresponds to the encoded data determined to be output after arithmetic coding.
  • the context update unit that updates the context and does not update the context corresponding to the encoded data that the encoded data determination unit decides not to output after binary arithmetic encoding is implemented (as an example, realized by the binary arithmetic encoder 102) )),
  • the estimation unit uses the maximum value of the number of output bits of arithmetic coding for an input symbol for binary arithmetic coding as the number of bits.
  • the video encoding device is configured such that the estimation unit obtains the maximum value of the number of arithmetic encoded output bits by calculation in units of one symbol (see Equation 15) using the minimum value of the inferior symbol appearance probability. May be.
  • the estimation unit uses a maximum value of the number of bits output by arithmetic coding and a plurality of symbols using the minimum value of the total product of the inferior symbol appearance probabilities when inferior symbols are continuously generated. May be configured to be determined by unit calculation (see Equation 16, Equation 18)
  • the estimation unit continuously calculates the maximum number of arithmetically encoded output bits, uses the minimum value of the inferior symbol appearance probability, and performs inferior symbols in succession. It is configured to be obtained by calculating in multiple symbol units using the minimum value of the total product probability of inferior symbol appearance when it occurs!
  • the video coding apparatus transforms an image block into a frequency domain and quantizes the transformed quantized value. And a non-entropy encoding unit that outputs non-entropy-encoded data of the image block, and the encoded data determination unit determines that when the estimated number of bits exceeds a predetermined value,
  • the PCM mode header is determined as encoded data to be output, and the non-entropy encoding unit obtains the transform quantization value after the binary arithmetic encoding unit outputs the PCM mode header after arithmetic encoding. Configured to output non-entropy-encoded PCM data of the original image block or the image of the original image block before applying transform quantization! /.
  • a video encoding program allows a computer to perform binary sequence conversion processing for converting encoded data of an image block into a binary sequence symbol, and to convert each binary sequence symbol according to the context.
  • Binary arithmetic coding processing that performs arithmetic coding, estimation processing that estimates the number of bits required when the coded data for an image block is binary arithmetic coded, and the number of bits estimated by the estimation processing
  • Encoded data decision processing that determines whether or not to output the encoded data after binary arithmetic coding, and the coded data that is decided to be output after binary arithmetic coding in the encoded data decision processing.
  • the corresponding context is updated, and the context update process that does not update the context corresponding to the encoded data that is determined not to be output after binary arithmetic encoding in the encoded data determination process is executed. It is characterized in that a constant processing is performed to set the maximum number of bits of arithmetic coding output bits for input symbols to binary arithmetic coding to the number of bits.
  • the video encoding program executes a process of calculating, in the estimation process, the maximum value of the number of output bits of arithmetic encoding by calculating in units of one symbol using the minimum value of the inferior symbol appearance probability. It is configured to let you! /!
  • the video encoding program uses the maximum value of the number of arithmetic coding output bits and the minimum value of the total product of the probabilities of appearance of inferior symbols when inferior symbols occur continuously in the estimation process. It may be configured to execute the processing obtained by calculation in units of multiple symbols.
  • the video encoding program calculates the maximum number of output bits of arithmetic encoding in units of one symbol using the minimum value of the inferior symbol appearance probability, and the inferior symbol is Minimum value of total product of inferior symbol appearance probability when it occurs continuously It may be configured to execute processing to be obtained by calculation in units of a plurality of symbols using.
  • the video encoding program outputs to a computer a transform quantization process for calculating a quantized transform quantization value by transforming an image block into a frequency domain, and a non-entropy-encoded data output from the image block.
  • the PCM mode header is determined as the output encoded data, and the non-entropy encoding process
  • the image block obtained by reconstructing the transform quantization value or the original image block before applying the transform quantization It may be configured to execute a process to output PCM data obtained by non-entropy encoding the image.
  • FIG. 2 is a block diagram showing an entropy coding unit for realizing CABAC of the present embodiment.
  • the entropy encoding unit for realizing CABAC of the present embodiment has a bin buffer 104, a binary arithmetic encoding maximum bit number calculator 105, and a second calculation unit.
  • a context modeling unit 106 and a switch unit (PCM re-encoding switch) 110 are further provided.
  • binary arithmetic encoder 102 has a function of determining whether or not to output encoded data after performing binary arithmetic encoding according to the estimated number of bits.
  • the configuration of the entropy encoder 241 is different, but the overall configuration of the video encoding device is the same as the configuration shown in FIG.
  • the binarizer 101 converts the input MB layer SE into a binary sequence according to the rules defined in the standard (eg, H.264 standard). Then, the binary sequence is stored in the bin buffer 104. Next, the binary arithmetic encoding maximum bit number calculator 105 sequentially uses each context of the bin sequence stored in the bin buffer 104 for each bin using the context supplied from the second context modeler 106. The maximum value of the number of arithmetically encoded output bits for The accumulated value is output as the maximum number of bits (corresponding to the estimated number of bits required for binary arithmetic coding).
  • the standard eg, H.264 standard
  • the basic operation is to read the context data stored in the context replication memory 244 into the context modeler 103. Thereafter, the binarizer 101 generates a prediction parameter bin indicating the start of PCM, and supplies it to the binary arithmetic encoder 102.
  • the context modeling unit 103 supplies context data corresponding to bin to the binary arithmetic encoder 102.
  • the binary arithmetic encoder 102 arithmetically encodes bin using the context data, writes the output bits to the output buffer 242 via the switch unit 110, and converts the context data updated by arithmetic encoding to the context. Return to modeling unit 103.
  • the binary arithmetic encoder 102 after completing the arithmetic encoding of the prediction parameter bin indicating the start of PCM, reads the image stored in the original image MB memory 211, re-encodes it as PCM, and outputs it to the output buffer 242. Write out.
  • the binary arithmetic encoder 102 monitors the maximum number of bits supplied from the binary arithmetic encoding maximum bit number calculator 105, and the maximum number of bits is set to a predetermined threshold (eg, 320 (0 bit), if not, binary binaries stored in the bin buffer 104 are binarized using the context supplied from the context modeler 103 in the same manner as shown in FIG. Encode. If the maximum number of bits is greater than the predetermined threshold, the binary arithmetic encoder 102 performs binary arithmetic coding on each bin of the binary sequence corresponding to the SE (PCM mode header) of the MB layer corresponding to PCM encoding. Turn into. By performing such processing, the context corresponding to the encoded data determined to be output after binary arithmetic encoding is not updated, and the context required for subsequent binary arithmetic encoding of MB is not obtained. It is possible to prevent unauthorized updating.
  • a predetermined threshold eg, 320 (0 bit
  • the switch unit 110 monitors the maximum number of bits supplied from the binary arithmetic coding maximum bit number calculator 105. If the maximum number of bits is equal to or less than a predetermined threshold, the binary arithmetic encoding unit 102 Only the output of is selected and supplied to the outside as a bit stream. If the maximum number of bits is greater than the predetermined threshold, switch unit 110 externally outputs the output of binary arithmetic encoder 102 (binary arithmetic encoded data corresponding to the SE of the MB layer corresponding to PCM encoding). With bitstream and After that, the image data supplied from the outside is selected and supplied as PCM data to the outside as a bit stream. In the H.264 standard, PCM coding is defined as non-entropy coding. That is, when selecting image data supplied from the outside, the switch unit 110 outputs PCM data obtained by non-entropy encoding the image.
  • the context stored in the second context modeler 106 and the context stored in the context modeler 104 are always synchronized. That is, when the maximum number of bits supplied from the binary arithmetic coding maximum bit number calculator 105 exceeds a predetermined threshold, the entropy encoding unit selects the context stored in the second context modeling unit 106. It is assumed that the context modeler 104 is updated with the context stored.
  • the image data supplied from the outside may be the original image data of the corresponding MB, or may be encoded image data resulting from encoding the corresponding MB! / ,.
  • the entropy coding unit of the present embodiment initializes the value of the MB maximum bit counter (mb-max-bit) to 0 during CABAC of the MB layer SE. After initialization, the six-step process described below is performed.
  • step S 101 all the SEs of the binarizer 101 power MB layer are converted into binary sequences according to the rules defined in the MB layer SE and stored in the bin buffer 104. Then, the process proceeds to step S102.
  • step S102 the binary arithmetic coding maximum bit number calculator 105 calculates the context supplied from the second context modeler for each bin of the binary sequence stored in the bin buffer 104! / The maximum value of the arithmetically encoded output bits for each bin is calculated using Equation 15, and the MB maximum bit counter is updated using Equation 19. Then, the process proceeds to step S103.
  • Expression 19 is an expression for calculation of code amount estimation in the present embodiment.
  • step S103 whether or not the binary arithmetic coding maximum bit number calculator 105 has applied all the processing in step S102 to each bin of the binary sequence stored in the bin buffer 104 is determined. If all are applied, the process proceeds to step S104, and if not, the process proceeds to step S102. As a condition for moving to step S104, it may be added whether or not mb—max—bit force 200 (threshold) has been exceeded! /.
  • step S104 the binary arithmetic encoder 102 determines whether or not the mb-max-bit is 3200 bits or less, and if it is 3200 bits or less, the process moves to step S105; Move on to S106.
  • step S105 the binary arithmetic encoder 102 performs binary arithmetic encoding on each bin of the binary sequence stored in the bin buffer 104 using the context supplied from the context modeler 103. To do. After the binary arithmetic coding for each bin of the binary sequence stored in the bin buffer 104 is completed, the MB CABAC processing is terminated.
  • step S106 after the binary arithmetic encoded data corresponding to the SE of the MB layer corresponding to the switch unit 110-power PCM encoding is output, the image data is output as PCM data.
  • the context stored in the second context modeler 106 is updated with the context stored in the context modeler 104, and then the CABAC processing of the MB is terminated.
  • the CABAC processing in the present embodiment is performed.
  • the maximum number of arithmetically encoded output bits for one bin is estimated with high accuracy in consideration of the fact that the number of output bits varies depending on the arithmetic range and context. Therefore, by using the entropy coding unit for realizing CABAC of this embodiment, the maximum value of the arithmetic coding output bits for each bin of the MB layer SE can be estimated with high accuracy.
  • the power S can be used to encode the P with high accuracy so that the number of MB output bits is 3200 bits or less.
  • the code amount allocated by the MB maximum bit counter and the rate control device 30 can be determined only by determining whether the MB maximum bit counter exceeds a predetermined value of 3200 bits (step S104). Considering the relationship, PCM encoding may be performed as in step S106 described above! /. [0117] Embodiment 2.
  • the maximum value of the number of output bits of arithmetic coding in lbin units is estimated with high accuracy.
  • CABAC further estimates the maximum number of arithmetic coded output bits in units of multiple bins, depending on the type of SE in the MB layer.
  • the advantage of calculating the maximum number of arithmetically encoded output bits in multiple bins is that it reduces the computational overhead.
  • the number of arithmetic coding output bits is estimated to be larger than that in the case of the first embodiment.
  • the SE of the MB layer that estimates the maximum number of output bits of arithmetic coding in units of multiple bins is a higher SE than the residual layer (see 7.3.2.3 of Non-Patent Document 1). I hope that. For the SE above the residual layer, the maximum number of arithmetic coding output bits with a small bin ratio in the MB layer is estimated to be large, and the influence on the arithmetic coding output bits of the entire MB layer is relatively small. is there. However, of course, with any SE, it is possible to switch between the maximum value estimation of the number of arithmetic coding output bits in lbin units and the maximum value estimation of the number of arithmetic coding output bits in multiple bin units.
  • the SE of the significant-coeff-flag and last-signiiicant-coeff-flag of the residual level is an SE in which only one symbol is generated from one SE, and the number of MBs is also large in the MB layer. Since there are many SEs, it is desirable to estimate the maximum number of arithmetic coding output bits in lbin units with high accuracy.
  • the configuration of the entropy coding unit for realizing CABAC of the present embodiment is the same as that of the entropy coding unit of the first embodiment in that the internal configuration of the binary arithmetic coding maximum bit number calculator 105 is It only changes. Therefore, only the binary arithmetic coding maximum bit number calculator 105, which is the difference from the first embodiment, will be described.
  • FIG. 4 is a block diagram showing a configuration of binary arithmetic coding maximum bit number calculator 1050 in the present embodiment.
  • Binary Arithmetic Coding Maximum Number of Bits Calculator 1050 consists of switch unit (unit calculator switch) 1054, lbin unit calculator 1051, multiple bin unit calculator 1052, switch unit (cumulative calculator switch) 1055 and the cumulative calculator 1053.
  • the switch unit 1054 has a binary sheet to which external (bin buffer 104 shown in Fig. 2) force is also supplied. For a can, if the SE is an SE that estimates the maximum number of arithmetically encoded output bits in lbin units, the binary sequence is supplied to the lbin unit calculator 1051. Otherwise, the switch unit 1054 supplies the binary sequence to the multiple bin unit calculator 1052.
  • the lbin unit calculator 1051 uses the context supplied from the outside (second context modeler 106 shown in Fig. 2) to calculate the maximum value of the arithmetically encoded output bits for each bin. The calculated value is output to the cumulative calculator 1053 via the switch unit 1055.
  • the multiple bin unit calculator 1051 is an external (second context modeler shown in Fig. 2).
  • the context value is different between the second context modeling unit 106 after the MB layer processing and the context modeling unit 103 after the MB layer processing. This is because the state-idx is transitioned assuming that the context of the second context modeler 106 is inferior.
  • the accumulation calculator 1053 accumulates the maximum value of the arithmetic coding output bits for the lbin or multiple bins belonging to the MB layer SE, and after the MB layer SE processing is completed, the accumulated value is externally displayed (Fig. 2). To the binary arithmetic encoder 102 and the switch unit 110) shown in FIG.
  • step S111 whether or not the SE of the switch unit 1054 force binary sequence is an SE that estimates the maximum value of the number of arithmetically encoded output bits in lbin units (for example, higher than the SE of the MB layer) Judgment whether or not it is SE). Estimate the maximum number of output bits for arithmetic coding in units of lbin If SE, go to step S112, otherwise go to S113
  • step S112 the lbin unit calculator 1051 sequentially executes the external (second container shown in Fig. 2). Using the context supplied from the text modeler 103), the maximum value of the arithmetically encoded output bits for each bin is calculated by Equation 15, and the process is terminated.
  • step S 113 the multiple bin unit calculator 1051 sequentially uses the context supplied from the outside (second context modeler 106 shown in FIG. 2), and calculates the maximum number of arithmetically encoded output bits for the multiple bins. The value is calculated by Equation 16 or Equation 18, and the process is terminated.
  • the maximum value (maximum value of the number of arithmetically encoded output bits for lbin or multiple bins) obtained in step S112 or step S113 is supplied externally, and the maximum value for binary arithmetic encoding for binary sequences The bit number calculation ends.
  • the maximum value of the arithmetic coding output bit number for each bin of the MB layer SE can be estimated with high accuracy, and the MB output bit number power is reduced to 3 ⁇ 4200 bits or less.
  • encoding control can be performed with high accuracy.
  • by estimating the maximum value of the number of output bits of arithmetic coding in units of multiple bins it is possible to reduce the computation overhead associated with the estimation.
  • the determination process in step S111 is performed to estimate the maximum value of the number of arithmetically encoded output bits in units of lbin and the maximum number of arithmetically encoded output bits in units of multiple bins. Force to switch between value estimation processing Arithmetic encoding in units of multiple bins The estimation processing of the maximum value of the number of output bits may always be executed.
  • FIG. 6 is a block diagram showing an entropy encoding unit for realizing CABAC of the third embodiment (Embodiment 3).
  • the binary arithmetic coding maximum bit number calculator 105 is the binary value in either the first embodiment (Embodiment 1) or the second embodiment (Embodiment 2).
  • the same method used by the arithmetic coding maximum bit number calculator is used.
  • the same binary arithmetic coding maximum bit number calculator 105 as in the first embodiment is taken as an example.
  • the entropy coding unit for realizing CABAC of the present embodiment has a bin buffer 104, a binary arithmetic coding maximum bit number calculator 105, A second context modeling device 106 and a switch unit 108 are further provided.
  • the binarizer 101 converts the input MB layer SE into a binary sequence according to a rule defined in the standard, and stores it in the bin buffer 104.
  • the binary arithmetic coding maximum bit number calculator 105 sequentially uses the context supplied from the second context modeler 106 for each bin of the binary sequence stored in the bin buffer 104, for each bin. Calculate the maximum number of arithmetically encoded output bits.
  • the calculated cumulative value is compared with the specified value for the number of MB bits (eg, 3200 bits). If the accumulated value exceeds the specified value for the number of MB bits, the bin buffer 104 also clears the MB output bin, and the bin of the header corresponding to the SE of the MB layer corresponding to PCM encoding is stored in the bin buffer 104. Store.
  • the switch unit 108 monitors the maximum number of bits supplied from the binary arithmetic coding maximum number of bits calculator 105, and if the maximum number of bits is equal to or less than the specified value of the maximum number of MBs, the binarizer Select only 101 outputs and supply to bin buffer 104. If the maximum number of bits is larger than the specified value of the maximum number of MBs, the switch unit 108 supplies the bin of the PCM encoding header, then selects the image data supplied from the outside, and outputs the bin buffer as PCM data. Supply to 10-4.
  • the binary arithmetic encoder 102 starts the operation after the completion of the 1MB operation of the binarizer 101, and is stored in the bin buffer 104 in the same manner as the entropy encoding unit shown in FIG.
  • Each bin of the binary sequence is binary arithmetic encoded using the context supplied from the context modeler 103.
  • the binary arithmetic coding load for the input bin rate can be distributed in units of several MBs according to the capacity of the bin buffer 104.
  • the processing of the binary arithmetic encoder 102 is delayed. Therefore, when PCM encoding is performed when the maximum number of MBs is greater than the specified value, Copying cannot be done immediately. Therefore, the binary arithmetic coding maximum bit number calculator 105 saves a copy from the second context modeling unit 106 at the beginning of MB processing for the context in which the number of output bits is calculated using Equation 15, and the PCM When encoding, copy the copied context and continue binary encoding.
  • the image data supplied from the outside may be the corresponding MB original image data. It may be encoded image data as a result of encoding MB.
  • the entropy encoding unit of the present embodiment initializes the value of the MB maximum bit counter (mb-max-bit) to 0 in CABAC of the MB layer SE. After initialization, the seven-step process described below is performed.
  • step S201 the binary arithmetic coding maximum bit number calculator 105 duplicates the context for the context estimated by the second context modeling unit 106 using Equation 15 in the MB layer. Then, the process proceeds to step S202.
  • step S202 the binarizer 101 converts all MB layer SEs into a binary sequence according to the rules defined in the standard, and stores them in the bin buffer 104. Then, go to step S203
  • step S203 the binary arithmetic coding maximum bit number calculator 105 executes each bin of the binary sequence stored in the bin buffer 104 in the same manner as in step S102 in the first embodiment. For, use the context supplied from the second context modeler to calculate the maximum value of the arithmetically encoded output bits for each bin using Equation 15 and update the MB maximum bit counter as shown in Equation 19. Then, the process proceeds to step S204.
  • step S203 the same processing as the flowchart of Fig. 5 is executed, and then the MB maximum bit counter Is updated with Equation 19. Then, the process proceeds to step S204.
  • step S204 whether or not the binary arithmetic coding maximum bit number calculator 105 has applied all the processing in step S203 to each bin of the binary sequence stored in the bin buffer 104 is determined. If all are applied, the process proceeds to step S205, and if not, the process proceeds to step S203. As a condition for moving to step S205, it may be added whether or not mb—max—bit force 200 (threshold) has been exceeded! /.
  • step S205 the binary arithmetic encoder 102 determines whether or not mb-max-bit is 3200 bits or less, and if it is 3200 bits or less, the process moves to step S206. Move on to S207.
  • step S206 the binary arithmetic encoder 102 outputs bin data corresponding to SE of the MB layer corresponding to PCM encoding, and then stores the image data as PCM data.
  • the context stored in the second context modeler 106 is updated with the context stored in the context replication memory (second context replication memory) 107, and the SE corresponding to the PCM encoding is updated. Context transitions for minutes, and the MB CA BAC process ends.
  • step S207 the binary arithmetic encoder 102 performs binary arithmetic encoding on each bin of the binary sequence stored in the bin buffer 104 using the context supplied from the context modeler 103. To do. After the binary arithmetic encoding for each bin of the binary sequence stored in the bin buffer 104 is completed, the MB CABAC processing is terminated. In the present embodiment, the process of S201 may be started for the next MB without waiting for the completion of the process of step S207.
  • CABAC processing in the present embodiment is performed.
  • the maximum value of the number of arithmetic coding output bits for each bin of the MB layer SE can be estimated with high accuracy, and the processing load of binary arithmetic coding is distributed in units of several MB. Therefore, the present invention is preferably applied to pipeline processing.
  • each of the above embodiments can be realized using a force computer program that can be configured by hardware.
  • the information processing system shown in FIG. 8 for realizing the above embodiments includes a processor 501, a program memory 502, a storage medium 503 for storing image data, and a storage medium 504 for storing a bit stream.
  • the processor 501 executes the process shown in FIG. 3 (first embodiment) or the process shown in FIG. 7 (third embodiment) according to the program stored in the program memory 502. .
  • the processing shown in FIG. 3 or FIG. 7 and the processing shown in FIG. 5 are executed.
  • the storage area of the storage medium 503 and the storage area of the storage medium 504 may be storage areas in separate storage media, or may be storage areas in the same storage medium. Further, as the storage media 503 and 504, a magnetic storage medium such as a hard disk can be used. [0149] This application claims priority based on Japanese Patent Application No. 2006-337468 filed on Dec. 14, 2006, the entire disclosure of which is incorporated herein.
  • the present invention is preferably applied to a video encoding apparatus using CABAC by the arithmetic encoding output bit number estimation method.

Abstract

本発明は、画像ブロックの符号化データを2進列のシンボルに変換する2進列変換ステップと、2進列の各シンボルをコンテキストに応じて算術符号化する2値算術符号化ステップと、画像ブロックに対する符号化データが2値算術符号化されるときに必要なビット数を推定する推定ステップと、推定ステップで推定されたビット数に応じて前記符号化データを2値算術符号化して出力するか否かを決定する符号化データ決定ステップと、符号化データ決定ステップで2値算術符号化して出力すると決定された符号化データに対応する前記コンテキストを更新し、前記符号化データ決定ステップで2値算術符号化して出力しないと決定された符号化データに対応する前記コンテキストを更新しないコンテキスト更新ステップとを備え、推定ステップで、2値算術符号化への入力シンボルに対する算術符号化出力ビット数の最大値を前記ビット数とすることを特徴とする映像符号化方法である。  

Description

明 細 書
映像符号化方法、映像符号化装置および映像符号化プログラム 技術分野
[0001] 本発明は、テーブル引き 2値算術符号化エンジン(table-driven binary arithmetic c oding engine) ίこ 3¾づレヽ 7こし ABAし (Context-based Adaptive binary Arithmetic Codi ng)技術を利用した映像符号化方法、映像符号化装置および映像符号化プログラム に関する。
背景技術
[0002] 映像符号化装置は、外部から入力される動画像信号をディジタル化した後、所定 の画像符号化方式に準拠した符号化処理を行うことによって符号化データすなわち ビットストリームを生成する。
[0003] 画像符号化方式の 1つとして、 ITU— T勧告 H. 264/AVC (Advanced Video Cod ing)がある(非特許文献 1参照。)。 Η· 264/AVCは、 ISO/IEC 14496— 10 A VCに相当する。 H. 264/AVCでは、マクロブロック(MB)レイヤ以下の符号化デ ータであるシンタクスエレメント(SE)に対して、ハフマン符号化系の CAVLC (Contex t-based Adaptive Variable Length Coding)または算術符号化系の CABAC (Contex t-based Adaptive binary Arithmetic Coding)を選択してエントロピー符号化が行われ る。なお、 MBレイヤの SEについては、非特許文献 1の 7· 3. 5 Macroblock layer sy ntaxに記載がある。また、以下、 H. 264/AVCで定められている事項を、 H. 264 規格という。
[0004] CABACを選択してエントロピー符号化を行うことによって、 CAVLCを選択した場 合よりも、平均で 15%程度の符号量削減効果が得られるといわれている。また、 H. 2 64/AVC符号器の参照モデルとして Joint Model方式が知られている(以後、一 般的な映像符号化装置という。)。
[0005] 図 9を参照して、ディジタル化された画像フレームを入力とし、ビットストリームを出力 する一般的な映像符号化装置の構成と動作を説明する。図 9に示す映像符号化装 置は、原画像フレームバッファ 10、 MB符号化装置 20、レート制御装置 30、および 復号画像フレームバッファ 40を備えている。画像フレームが QCIF (Quarter Common Intermediate Format)の場合、原画像フレームバッファ 10は、図 10に示すような画 像データを格納する。画像フレームは、 MBとよばれる 16 X 16画素の輝度画素と、 8 X 8画素の色差画素(Crと Cb)を構成要素とする画素ブロックとに分割される。
[0006] MB符号化装置 20は、通常、画像フレームの左上から右下へのラスタスキャン順で 、 MBを符号化する。
[0007] レート制御装置 30は、 MB符号化装置 20が出力するビットストリームの出力ビット数 を監視して、 MB符号化装置 20に供給する量子化パラメータを調整し、ビットストリー ムが目標のビット数に近づくようにレート制御する。具体的には、ビットストリームのビッ ト数が目標のビット数よりも多くなると、量子化幅を大とする量子化パラメータを MB符 号化装置 20に供給し、逆にビットストリームのビット数が目標のビット数よりも少なくな ると量子化幅を小とする量子化パラメータを MB符号化装置 20に供給する。
[0008] 復号画像フレームバッファ 40は、 MB符号化装置 20による復号画像を、以降の符 号化(予測)に利用するために、 MB符号化装置 20が 1MBの符号化を完了したタイ ミングで、 MB符号化装置 20による復号画像を読み込んで格納する。
[0009] 次に、 MB符号化装置 20の内部構成と動作を説明する。図 9に示すように、 MB符 号化装置 20は、リード (Read)装置 210、予測装置 220、ビデオ符号化 (Venc)装置 230、エントロピー符号化(EC)装置 240を備えている。リード (read)装置 210は、原 画像 MBメモリ 211および参照画像メモリ 212を含む。ビデオ符号化装置 230は、変 換/量子化器 231、逆量子化/逆変換器 232および復号画像 MBメモリ 233を含む 。エントロピー符号化装置 240は、エントロピー符号化器 241、出力バッファ 242、制 御装置 243およびコンテキスト複製メモリ 244を含む。
[0010] 原画像 MBメモリ 211には、原画像フレームバッファ 10に格納された画像フレーム のうち符号化対象 MBの画像(以下、原画像 orgという。)が格納される。参照画像メ モリ 212には、復号画像フレームバッファ 40に格納された画像のうち、符号化対象 M Bを予測して符号化するために必要な画像(以下、参照画像 refという。)が格納され
[0011] 予測装置 220は、復号画像フレームバッファ 40および復号画像メモリ 233に格納さ れた参照画像から、原画像を好適に符号化できる予測パラメータ paramを検出し、 予測画像 predと予測誤差画像 peとを生成する。予測パラメータは、エントロピー符号 化器 241に供給される。予測誤差画像 peは、変換/量子化器 231に供給される。予 測誤差画像 peは、逆量子化/逆変換器 232の出力に加算されて、復号画像 MBメ モリ 233に復号画像として格納される。ただし、後述する原画像 PCM (Pulse Code M odulation )再符号化が発生した場合、復号画像 MBメモリ 233には、原画像 MBメモ リ 21 1から供給される原画像が復号画像として格納される。
[0012] 予測には、フレーム内予測とフレーム間予測との 2種類がある。フレーム内予測/ フレーム間予測での予測画像と、予測誤差画像を説明する。フレーム内予測が実施 されると、現在の符号化対象画像フレームと表示時刻が同一の過去の復号画像を参 照し、画像フレーム内(空間方向)での画素の相関を利用して、予測画像 predを生 成する。一例として、 MBを更に細かく分割した 4 X 4画素ブロックサイズでのフレーム 内予測の種々のパターンが図 1 1の説明図に示されて!/、る(色差やその他の場合で のフレーム内予測については、非特許文献 1の 8. 3節 Intra prediction process参照
[0013] 図 1 1 (A)〜(I)における intra— dirは、フレーム内予測の方向などを示す画面内 予測方向パラメータである。予測装置 220は、フレーム内予測を選択すると、画面内 予測方向パラメータ intra— dirに従って予測画像 predを生成する。以後の説明のた めに、フレーム内予測を、式 1と定義する。
[0014] 國 pred = intra preaiction ( ref , intra air )
[0015] 式 1において、 intra— prediction ()は、画面内予測方向パラメータ intra— dirに 従って、参照画像 refからフレーム内予測画像を生成する関数である。
[0016] フレーム間予測が実施されると、現在の符号化対象画像フレームと表示時刻が異 なる過去の復号画像を参照し、画像フレーム間(時間方向)の相関を利用して、予測 画像 predが生成される。フレーム間予測の一例として、 16 X 16画素ブロックのフレ ーム間予測を図 12の説明図を参照して説明する(その他の画素ブロックサイズなど のフレーム間予測については、非特許文献 1の 8. 4節 Intra prediction process参照 )。
[0017] 図 12に示す動きベクトル mv— x、 mv— yは、フレーム間予測の予測パラメータであ る。予測装置 220は、フレーム間予測を選択すると、動きベクトル mv— x、 mv— yに 従って予測画像 predを生成する。以後の説明のために、フレーム間予測を式 2と定 義する。
[0018] [数 2] pred = inter prediction ( ref, mv x, mv y )
[0019] 式 2において、 inter—prediction ()は、動きべクトノレ mv_x、 mv_yに従って、参 照画像 refからフレーム間予測画像を生成する関数である。なお、 H. 264規格にお いて、動きベクトルの画素精度は 1/4画素である。
[0020] 予測装置 220は、式 3および式 4〜式 7のコスト関数 (予測評価値)を利用して、上 述した予測画像 predを生成する予測パラメータ paramを検出する。予測パラメータと は、フレーム内予測であれば画面内予測方向 intra— dir、フレーム間予測であれば 動きベクトル mv— x、 mv—yなどである(その他の予測パラメータについては、非特 許文献 1の 7節 Syntax and semantics参照。)。検出された予測パラメータ paramに 対応する予測画像 predと、原画像 orgの差分を予測誤差画像 peと呼ぶ(式 6参照)。
[0021] 園
Cost (param) =
Figure imgf000006_0001
SATD ( idx ) + λ ( QP ) x R (param)
idx=0
[0022] [数 4]
Figure imgf000006_0002
[0023] [数 5] H(idx) =
1 1 1 — peidx(0,0) peidx(0,l) peidx(0,2) peidx(0,3) 1 1 1 1 1 1 -1 -1 peidx( ) peidx(l,l) peidx(l,2) peidx(l,3) 1 1 -1 -1 1 -1 -1 1 peidx(2,0) peidx(2,l) peidx(2,2) pejdx(2,3) 1 -1 -1 1 1 -1 1 -1 peidx(3,0) peidx(3,l) peidx(3,2) peidx(3,3)_ 1 -1 1 -1
[0024] [数 6]
Peidx(y, x) = org(b4yidx + y, t>4xidx + x) - pred(b4yidx + y, b4xidx + x)
[0025] [数 7]
Figure imgf000007_0001
[0026] [数 8]
(b4xidx, b4yidx ){0<b4xidx<12, 0<b4yidx <12}
[0027] なお、式 3は、 H.264における予測評価値の計算を説明する式である。式 4は、式
3における SATD(idx)の計算を説明する式である。式 5は、式 4における H(idx)の 計算を説明する式である。式 6は、式 5における peidx(y, x)の計算を説明する式で ある。式 7は、式 3における λ (QP)の計算を説明する式である。式 8は、式 6における b4x, b4yを説明する式である。また、式 3〜式 7における QPは MBの量子化パラメ ータ、 idxは図 10に示す MB内部での 4X4ブロックの番号、 b4x、 b4yは idxに対応 する 4X4ブロックの左上角の MB内部での座標を示す。
[0028] 次!/、で、変換/量子化器 223は、予測装置 220から供給される予測誤差 peを、 M Bよりも細かいブロックの単位(以下、変換ブロックという。)で周波数変換し、空間領 域から周波数領域に変換する。周波数領域に変換された予測誤差画像を変換係数 Tという。
[0029] さらに、変換/量子化器 223は、変換係数 Tを、レート制御装置 30から供給される 量子化パラメータ QPに対応する量子化幅で量子化する。量子化された変換係数は 、一般的に変換量子化値 Lと呼ばれる。変換量子化値 Lは、以降の符号化のために 逆量子化/逆変換器 233に供給され、ビットストリーム形成のためにエントロピー符 号化装置 240に供給される。
[0030] 逆量子化/逆変換器 233に供給される変換量子化値 Lに着目して、以降の動作を 説明する。
[0031] 逆量子化/逆変換器 233は、変換/量子化器 223から供給される変換量子化値 L を逆量子化し、さらに逆周波数変換して元の空間領域に戻す。元の空間領域に戻さ れた予測誤差画像を再構築予測誤差画像 pe—recという。
[0032] 逆量子化/逆変換器 233から供給される再構築予測誤差画像 pe—recには、 H.
264規格における参照画像を説明する式 9に示すように、予測装置 220から供給さ れる予測画像 predが加算され、復号画像 recとして復号画像 MBメモリ 233に格納さ れる。復号画像 MBメモリ 233に格納された復号画像 recは、以降に、予測装置 220 ゃ復号画像フレームバッファ 40に読み込まれて参照画像となる。
[0033] [数 9コ rec = pred + pe rec
[0034] 次に、エントロピー符号化装置 240に供給される変換量子化値 Lに着目して、以降 の動作を説明する。
[0035] エントロピー符号化装置 240は、エントロピー符号化器 241、出力バッファ 242、制 御装置 243、およびコンテキスト複製メモリ 244を含む。エントロピー符号化器 241は 、入力データをエントロピー符号化して、出力ビットを出力バッファ 242に供給する。 制御装置 243は、エントロピー符号化器 241の出力ビット数を監視して、他の装置の 動作を制御する。コンテキスト複製メモリ 244は、後述するコンテキストデータの複製 を格納するメモリである。
[0036] 制御装置 243は、エントロピー符号化器 241の出力ビット数を監視し、制御信号 (ェ ントロピー符号化制御信号、出力バッファ制御信号)によって、エントロピー符号化器 241および出力バッファ 242を制御する。
[0037] 1MBすべての入力データをエントロピー符号化して、その出力ビット数が Η· 264 規格で定められる上限ビット数(非特許文献 1の Annex A A.3 Levelsを参照すると 3 200ビット)を超えなかった場合には、制御装置 243は、出力バッファ制御信号によつ て出力バッファ 242に格納されたビットを MBの符号化データとして出力させる。なお 、 H. 264規格で定められる 1MBあたりの上限ビット数を、以後、規定値という。
[0038] 1MBの入力データをエントロピー符号化した出力ビット数が MBビット数の規定値 を超えた瞬間に、制御装置 243は、エントロピー符号化制御信号によってエントロピ 一符号化器 241の動作を一旦停止させて、出力バッファ制御信号によって出力バッ ファ 242のビットを全て廃棄する。つまり、この時点での出力バッファ 242の中身を符 号化データとしない。ビット廃棄の後、制御装置 243は、エントロピー符号化制御信 号によってエントロピー符号化器 241を起動させて、規定値以下のビット数になるよう に入力画像データを再符号化させる。
[0039] 次に、エントロピー符号化として CABACを選択した場合のエントロピー符号化器 2 41の内部構成と動作を説明する。図 13に示すように、エントロピー符号化器 241は、 バイナリ化装置 2411、 2値算術符号化装置 2412およびコンテキストモデリング装置 2413を含むエントロピー符号化部 2416、スィッチ 2414ならびにスィッチ 2415で構 成される。
[0040] エントロピー符号化装置での PCM再符号化動作につ!/、て説明する。
[0041] エントロピー符号化器 241は、まず、入力データに対するエントロピー符号化の処 理を一旦停止する。次いで、コンテキスト複製メモリ 244に保存されたコンテキストデ ータをコンテキストモデリング装置 2413に読み込む。その後、バイナリ化装置 2411 は、 PCMの開始を示す予測パラメータの bin (binary symbol)を生成して、 2値算 術符号化装置 2412に供給する。これと同時に、コンテキストモデリング装置 2413は 、 binに対応するコンテキストデータを 2値算術符号化装置 2412に供給する。 2値算 術符号化装置 2412は、コンテキストデータを用いて binを算術符号化し、スィッチ 24 15を経由して出力ビットを出力バッファ 242に書き出しながら、算術符号化で更新さ れたコンテキストデータをコンテキストモデリング装置 2413に返す。 2値算術符号化 装置 2412は、 PCMの開始を示す予測パラメータの binを算術符号化し終えた後に 、スィッチ 2414を切り換えて、原画像 MBメモリ 211に格納された画像を読み込んで PCMのまま再符号化して、出力バッファ 242に書き出す。 [0042] 再符号化の処理として、上記の変換処理を適用していない原画像を PCMで再符 号化する処理を原画像 PCM再符号化という(特許文献 1参照。)。原画像 PCM再符 号化を利用すれば、変換や予測が全く効かない画像を無歪みで、 MBビット数の規 定値以下の一定のビット数で符号化できるので、符号化装置のエントロピー符号化 装置の処理時間だけでなぐ復号側のエントロピー復号化装置の処理時間をある一 定時間に保証できると!/、われて!/、る。
[0043] また、再符号化を伴うことなく MBビット数の規定値を遵守する方法として、 MBの M B出力ビット数を CABAC前に予測し、符号化画像を利用した PCM符号化に切り替 える方法がある(特許文献 2参照。)。
[0044] 次に、 CABACの符号化処理について詳細に説明する。
[0045] 図 14に示すように、 CABACを実現するために、例えば、バイナリ化器 101、スイツ チ 111、 2値算術符号化器 102およびコンテキストモデリング器 103によって構成さ れる。なお、図 14に示す構成は、図 13に示すエントロピー符号化部 2416の構成に 相当する。コンテキストモデリング器 103はスライス先頭の MB処理前に最初の MBの QPを用いて初期化される(非特許文献 1の 9· 3. 1 Initialisation process参照。)。
[0046] ノイナリ化器 101は、入力される SEを規格で定められたルールに従って 2進列 (バ イナリシーケンス)に変換する(SEと 2進列変換の対応は非特許文献 1の 9. 3. 2 Bi narization process参照。)。次いで、 2値算術符号化器 102は、バイナリ化器 101から 供給されるバイナリシーケンスの各シンボル (bin)を、コンテキストモデリング器 103か ら供給されるコンテキスト(優勢シンボル(MPS) )とステートインデックス(state— idx) を利用して、 2値算術符号化する。
[0047] なお、コンテキストの MPSは非特許文献 1における valMPSに対応し、 state— idx は非特許文献 1における pStateldxに対応する。一般的に 2値算術符号化では、シ ンボルの出現確率 pに応じて数直線 [0、 1)を分割し、最終的な部分区間代表点の 2進小数値を最終的な符号語としてビット出力する。 3シンボルの入力(110)に対す る通常の 2値算術符号化の動作例を図 15に示す。
[0048] H. 264規格の 2値算術符号化において、現 bin処理時の劣勢シンボル(LPS)の 出現確率 (rLPS (i) )が図 15における pに対応する。 rLPS (i)は、以下の式 10で表 現できる。
[0049] [数 10] rLPS (ι ) = range 1 ab LRS [state ldx i[aCodIrangeIdx] I Rrange (i、
[0050] ここで、 Erange (i) (非特許文献 1における codlRangeに対応)を現 bin処理時の算 術レンジ、 qCodlRangeldxを Erange (i)の上位ビットから得られる算術レンジインデ ッタス、 rangeTabLPS [64] [4] (非特許文献 1における table 9— 35)を劣勢シン ボノレレンジ表とする (非特許文献 1の 9. 3. 4 Arithmetic encoding process (informat ive )参照。)。
[0051] 2値算術符号化器 102が、 rLPS (i)を用いて、以下の式 11および式 12の演算に 相当する処理 (非特許文献 1の 9. 3. 4. 2 Encoding process for a binary decision (i nformative )参照。)を行うことによって、 1つの binに対する 2値算術符号化の処理が 完了する。ここで、 Elow (i) (非特許文献 1における codlLowに対応)は現 bin処理 時の算術下限であるとする。 rLPS (i)が常に固定の値となる Bypass encodingもあ る1^特許文献上の 9. 3. 4. 4 Bypass Encoding process for a binary decisions unfor mative )参照。 )。
[0052] [数 11]
Erange (i) - rLPS (i) Λ if (bin = MPS)
Erange (i + 1)
[ rLPS① Λ otherwise.
[0053] [数 12] f Elow (i) Λ if (bin = MPS)
Elow (i + 1) =
Erange (り - rLPS (i) Λ otherwise.
[0054] また、 H. 264規格の 2値算術符号化では、入力シンボルの出現頻度に合致した算 術符号化を行うために、 lbinの 2値算術符号化が完了する度に、 binの 2値算術符 号化に利用したコンテキストの MPSを以下の式 13で更新し、同時に、コンテキストの state idxの値を state遷移表(非特許文献 1の Table 9-36)に従って更新する。 [0055] [数 13]
1一 MPS Λ if ( state _idx 二 0 AND bin≠ MPS)
MPS =
MPS Λ Otherwise.
[0056] 上述したように、 H. 264規格の 2値算術符号化は、劣勢シンボルの確率を劣勢シ ンボルレンジ表と state遷移表によって管理するので、テーブル引き 2値算術符号化
(table-driven binary antnmetic coding )と呼はれる 0
[0057] 入力されるすべての binに上述した 2値算術符号化を逐次行うことによって、算術符 号化出力ビット(ビットストリーム)が得られる。
[0058] 特許文献 1 :特開 2006— 93777号公報
特許文献 2:特願 2005— 300933号公報
非特許文献 1 : ITU— T 勧告 Η· 2り 4 Advanced video coding for generic audiovisu al services, 2005年 5月 (Prepublished version )
発明の開示
発明が解決しょうとする課題
[0059] 発明が解決しょうとする第 1の課題は、算術レンジやコンテキストによる出力ビットの 変動を考慮して CABACの出力ビット数の最大値を推定する方法を提供することで ある。 PCM再符号化を伴うことなく MBビット数の規定値を遵守する方法が提案され た特許文献 2においては、 CABACの MB出力ビット数の推定に関して、推定精度が よく考慮されていない。具体的には、特許文献 2に記載された方法では、 CABACの 入力シンボル(bin)の個数に対して単純な線形計算を適用して CABACの MB出力 ビット数を推定しているため、算術符号化レンジやコンテキストによって出力ビット数 が変動することが考慮できなレヽとレ、う問題がある。
[0060] 発明が解決しょうとする第 2の課題は、 CABACの binとコンテキストに応じて、好適 な推定方法を適応的に選択して出力ビット数を推定する方法を提供することである。 出力ビット数の変動を考慮した推定にお!/、て、全ての binに対して高精度な推定方 法を適用すれば、最も高信頼度な出力ビット数の推定が可能であるが、装置面積と 計算処理量が増大するという別の問題が発生する。 [0061] すなわち、本発明は、算術レンジやコンテキストによって出力ビット数が変動するこ とを考慮し、 1つのシンボル、または複数のシンボルに対する算術符号化出力ビット 数の最大値を高精度に推定して映像符号化を行う映像符号化方法、映像符号化装 置および映像符号化プログラムを提供することを目的とする。
[0062] また、出力ビット数推定に伴う演算量の削減を削減でき、出力ビット数の推定の精 度を高品質に行う映像符号化方法、映像符号化装置および映像符号化プログラム を提供することを目的とする。
課題を解決するための手段
[0063] 上記課題を解決する本発明は、画像ブロックの符号化データを 2進列のシンボルに 変換する 2進列変換ステップと、 2進列の各シンボルをコンテキストに応じて算術符号 化する 2値算術符号化ステップと、画像ブロックに対する符号化データが 2値算術符 号化されるときに必要なビット数を推定する推定ステップと、前記推定ステップで推定 されたビット数に応じて前記符号化データを 2値算術符号化して出力するか否かを決 定する符号化データ決定ステップと、前記符号化データ決定ステップで 2値算術符 号化して出力すると決定された符号化データに対応する前記コンテキストを更新し、 前記符号化データ決定ステップで 2値算術符号化して出力しないと決定された符号 化データに対応する前記コンテキストを更新しないコンテキスト更新ステップとを備え 、前記推定ステップで、 2値算術符号化への入力シンボルに対する算術符号化出力 ビット数の最大値を前記ビット数とすることを特徴とする映像符号化方法である。
[0064] また、上記課題を解決する本発明は、画像ブロックの符号化データを 2進列のシン ボルに変換する 2進列変換部と、 2進列の各シンボルをコンテキストに応じて算術符 号化する 2値算術符号化部と、画像ブロックに対する符号化データが 2値算術符号 化されるときに必要なビット数を推定する推定部と、前記推定部が推定したビット数に 応じて前記符号化データを 2値算術符号化して出力するか否かを決定する符号化デ ータ決定部と、前記符号化データ決定部が 2値算術符号化して出力すると決定した 符号化データに対応する前記コンテキストを更新し、前記符号化データ決定部が 2 値算術符号化して出力しないと決定した符号化データに対応する前記コンテキストを 更新しないコンテキスト更新部とを備え、前記推定部は、 2値算術符号化への入力シ ンボルに対する算術符号化出力ビット数の最大値を前記ビット数とすることを特徴と する映像符号化装置である。
[0065] また、上記課題を解決する本発明は、コンピュータに、画像ブロックの符号化デー タを 2進列のシンボルに変換する 2進列変換処理と、 2進列の各シンボルをコンテキス トに応じて算術符号化する 2値算術符号化処理と、画像ブロックに対する符号化デー タが 2値算術符号化されるときに必要なビット数を推定する推定処理と、前記推定処 理で推定されたビット数に応じて前記符号化データを 2値算術符号化して出力する か否かを決定する符号化データ決定処理と、前記符号化データ決定処理で 2値算 術符号化して出力すると決定された符号化データに対応する前記コンテキストを更 新し、前記符号化データ決定処理で 2値算術符号化して出力しないと決定された符 号化データに対応する前記コンテキストを更新しないコンテキスト更新処理とを実行 させ、前記推定処理で、 2値算術符号化への入力シンボルに対する算術符号化出 力ビット数の最大値を前記ビット数とする処理を実行させることを特徴とする映像符号 化プログラムである。
発明の効果
[0066] 本発明の第 1の効果は、 CABACの算術符号化における出力ビット数を高信頼度 に見積もることができる映像符号化方法、映像符号化装置および映像符号化プログ ラムを提供することができることである。その理由は、算術符号化のレンジやコンテキ ストに応じて出力ビット数の変動を見積ることができるからである。
[0067] 第 2の効果は、第 1の効果を奏する高信頼度な出力ビット数の見積もりを用いて、 H . 264規格の映像符号化方法における再符号化を伴わなレ、MBビット数の規定値を 遵守する方法等として用いることによって、高品質な H. 264規格の映像符号化方法 、映像符号化装置および映像符号化プログラムを提供できるようになることである。そ の理由は、高信頼度な見積もりが適用できるため、符号ビット数を MBビット数の規定 値に対する余分なマージンを少なくすることができ、例えば、量子化パラメータを粗く するなどの方法による符号化された映像の画質を悪化させるような規定値の遵守手 段を抑制できるためである。
図面の簡単な説明 [0068] [図 1]CABACにおける state— idxと p LPSとの関係を説明する図である。
[図 2]本発明の第 1の実施の形態の映像符号化器における算術符号化出力ビット数 推定方法による CABACを実現するためのエントロピー符号化部の構成を示すプロ ック図である。
[図 3]図 2に示すエントロピー符号化部の動作を示すフローチャートである。
[図 4]本発明の第 2の実施の形態における 2値算術符号化最大ビット数計算器の構 成を示すブロック図である。
[図 5]図 4に示す 2値算術符号化最大ビット数計算器の動作を示すフローチャートで ある。
[図 6]本発明の第 3の実施の形態の映像符号化器における算術符号化出力ビット数 推定方法による CABACを実現するためのエントロピー符号化部の構成を示すプロ ック図である。
[図 7]図 6に示すエントロピー符号化部の動作を示すフローチャートである。
[図 8]本発明を実現可能な情報処理システムの構成を示すブロック図である。
[図 9]一般的な映像符号化装置の構成を説明するブロック図である。
[図 10]画像フレーム(YUV420フォーマット)の構成を説明するための説明図である
[図 11]フレーム内予測の一例を説明するための説明図である。
[図 12]フレーム間予測の一例を説明するための説明図である。
[図 13]PCM再符号化を説明するための説明図である。
[図 14]CABACを実現するための一般的なエントロピー符号化部の構成を示すプロ ック図である。
[図 15]2値算術符号化の動作例を説明するための説明図である。
符号の説明
[0069] 101 バイナリ化器
102 2値算術符号化器
103 コンテキストモデリング器
104 binバッファ 105 2値算術符号化最大ビット数計算器
106 第 2コンテキストモデリング器
107 コンテキスト複製メモリ
110 スィッチ部(PCM再符号化スィッチ)
1050 2値算術符号化最大ビット数計算器
1051 lbin単位計算器
1052 複数 bin単位計算器
1053 累積計算器
1054 スィッチ部(単位計算器スィッチ)
1055 スィッチ部(累積計算器スィッチ)
発明を実施するための最良の形態
[0070] 本発明の実施の形態を説明する。
[0071] 上述したように、 rLPS (i)を利用することによって、現 bin (i番目の bin)に対する瞬 間的な算術符号化出力ビットの数(cabac— bits (i) )を、現 binと MPSの比較により 式 14で計算できる。式 14は、 CABACで lbinから出力されるビット数を計算するた めの式である。
[0072] [数 14]
Figure imgf000016_0001
[0073] ここで、 H. 264規格では、 Erange (i)が固定のビット精度(9ビット)で表現されるこ と、および、 rangeTabLPS [64] [4]が規格で定めた固定値であることの 2点に着目 する。すると、未来の算術レンジ Erange (i)の値が未確定な条件(条件 1)であっても 、コンテキストの state— idxに対して rLPS (i)が取り得る最大値(max— rLPS (state — idx) )および最小値(min— rLPS (state— idx) )は確定する。すなわち、現 binに 対する cabac— bits (i)の最大値(max— cabac— bits (i) )を、式 15で正確に計算で きる。式 15は、 CABACで条件 1において lbinから出力されるビット数の最大値を計 算するための式である。 [0074] [[数数 1155]]
mmaaxx ccaabbaacc b biittss ((iι)) ==
(( mmaaxx_— rr LLPPSS (( ssttaattee _—iiddxx)) -- 11)) ΛΛ iiff ((bbiinn == MMPPSS))
Figure imgf000017_0001
((-— mmiinn rrLLPPSS (( ssttaattee iiddxx)))) ΛΛ ootthheerrwwiissee..
[0075] つまり、 CABACにおいて、最初の MBでコンテキストの state— idxと MPSの初期 化を行い、バイナリ化と 2値算術符号化の間に binを格納する中間バッファを設け、 2 値算術符号化に先行して、中間バッファに格納された各 binに対して式 15の計算と s tate遷移表による sutate— idx遷移計算によって、中間バッファに格納する bin、す なわち、 MBレイヤの SEに対する算術符号化出力ビット数の最大値を正確に計算す ること力 Sでさる。
[0076] さらに、未来の算術レンジ Erange (i)だけでなぐ未来のコンテキストの state— idx が未確定な条件(条件 2)であっても、 H. 264規格では state— idx力 tate遷移表に よって管理されること、また、 state— idxに対する rLPSが連続的に変化すること(図 1 、グラフの縦軸の p LPSが rLPSに対応)の 2点に着目すると、条件 2における複数 bi nに対する算術符号化出力ビット数の最大値 (max— sum— cabac— bits)は、現時 点の state— idx の値が 0になるまで連続して LPSが入力されて発生するビット数と 、 state=0で MPSが反転し続けて発生するビット数の合計になる。なお、図 1は、 CA BACにおける state— idx (横軸)と p LPS (縦軸)との関係を説明する図である。 bin 数を B、現時点の state— idxの値を s0 (s0=62が最大出力ビット数になる。)、連続し て LPSが入力されて state=sOから state=0になるまでの最大 bin数を Lとすると、 max — sum_cabac_bitsを式 16および式 17で計算できる。なお、 F )の最大値は 1 ( P = 0. 5)なので、式 16を簡略化した式 18を用いてもよい。式 16は、 CABACで条 件 2において複数 binから出力されるビット数の最大値を計算するための式である。 式 17は、式 16における F ( p )を計算するための式である。
[0077] [数 16] Max _ sum _ cabac _ bits =
一 し
log2(- nmin-rLPS(state))+(B_L) * F(min_rLPS(0)) Λ if(B>L) state =s0
[ [ min r LPS ( state )) Λ otherwise.
state =s0
[0078] [数 17]
F (p) = plog2 (-p) + (l-p)log2 (-(l-p))
[0079] [数 18]
Max _ sum _ cabac bits =
log2 ( - I1min-rLPS (state)) + (B L) Λ if (B>L) state =s0
B
I ]min r LPS state)) Λ otherwise.
state =s0
[0080] 式 16、式 18の第 1項は、所定の state遷移期間における各 stateの rLPS (state) の最小値の総積であるから、所定の state遷移期間における rLPS (state)総積の最 小値である。
[0081] 以上の事項をまとめると、
•未来の算術レンジ Erange (i)の値が未確定であっても、 lbinに対する算術符号化 出力ビット数の最大値を式 15で計算できる。
•未来の算術レンジ Erange (i)だけでなく、未来のコンテキストの state— idxも不確 定であっても、複数 binに対する算術符号化出力ビット数の最大値は式 16または式 1 8で計算できることが分かる。
[0082] 本発明は、上記 2つの事実にもとづいて、映像符号化方法、映像符号化装置およ び映像符号化プログラムにおいて、算術レンジやコンテキストによって出力ビット数が 変動することを考慮し、 1つの binまたは複数の binに対する算術符号化出力ビット数 の最大値を高精度に推定する算術符号化出力ビット数推定方法を実現する。
[0083] すなわち、本発明による映像符号化方法は、画像ブロックの符号化データを 2進列 のシンボルに変換する 2進列変換ステップと、 2進列の各シンボルをコンテキストに応 じて算術符号化する 2値算術符号化ステップと、画像ブロックに対する符号化データ 力 ¾値算術符号化されるときに必要なビット数を推定する推定ステップと、推定ステツ プで推定されたビット数に応じて符号化データを 2値算術符号化して出力するか否か を決定する符号化データ決定ステップと、符号化データ決定ステップで 2値算術符号 化して出力すると決定された符号化データに対応するコンテキストを更新し、符号化 データ決定ステップで 2値算術符号化して出力しないと決定された符号化データに 対応するコンテキストを更新しなレ、コンテキスト更新ステップとを備え、推定ステップで 、 2値算術符号化への入力シンボルに対する算術符号化出力ビット数の最大値をビ ット数とすることを特徴とする。
[0084] 映像符号化方法は、推定ステップで、算術符号化出力ビット数の最大値を、劣勢シ ンボル出現確率の最小値を利用した 1シンボル単位の計算によって求めるように構 成されていてもよい。
[0085] 映像符号化方法は、推定ステップで、算術符号化出力ビット数の最大値を、劣勢シ ンボルが連続して発生したときの劣勢シンボル出現確率の総積の最小値を利用した 複数シンボル単位の計算によって求めるように構成されていてもよい。
[0086] 映像符号化方法は、推定ステップで、算術符号化出力ビット数の最大値を、劣勢シ ンボル出現確率の最小値を利用した 1シンボル単位の計算、および、劣勢シンボル が連続して発生したときの劣勢シンボル出現確率の総積の最小値を利用した複数シ ンボル単位の計算によって求めるように構成されて!/、てもよ!/、。
[0087] 映像符号化方法は、画像ブロックを周波数領域に変換し量子化した変換量子化値 を計算する変換量子化ステップと、画像ブロックを非エントロピー符号化(エントロピ 一符号化を適用せず非圧縮データとして符号化)したデータを出力する非エントロピ 一符号化ステップとを備え、符号化データ決定ステップで、推定されたビット数が所 定値を越える場合に、 PCMモードヘッダを、出力する符号化データとして決定し、非 エントロピー符号化ステップで、 2値算術符号化ステップで PCMモードヘッダが算術 符号化されて出力された後に、変換量子化値を再構築して得られる画像ブロックまた は変換量子化を適用する前の元の画像ブロックの画像を非エントロピー符号化した P CMデータを出力するように構成されて!/、てもよ!/、。
[0088] 本発明による映像符号化装置は、画像ブロックの符号化データを 2進列のシンボル に変換する 2進列変換部(一例として、バイナリ化器 101で実現される。)と、 2進列の 各シンボルをコンテキストに応じて算術符号化する 2値算術符号化部(一例として、 2 値算術符号化器 102で実現される。)と、画像ブロックに対する符号化データが 2値 算術符号化されるときに必要なビット数を推定する推定部 (一例として、 2値算術符号 化最大ビット数計算器 105, 1050で実現される。)と、推定部が推定したビット数に応 じて符号化データを 2値算術符号化して出力するか否かを決定する符号化データ決 定部 (一例として、 2値算術符号化器 102で実現される。)と、符号化データ決定部が 2値算術符号化して出力すると決定した符号化データに対応するコンテキストを更新 し、符号化データ決定部が 2値算術符号化して出力しないと決定した符号化データ に対応するコンテキストを更新しないコンテキスト更新部(一例として、 2値算術符号 化器 102で実現される。)とを備え、推定部は、 2値算術符号化への入力シンボルに 対する算術符号化出力ビット数の最大値をビット数とすることを特徴とする。
[0089] 映像符号化装置は、推定部が、算術符号化出力ビット数の最大値を、劣勢シンポ ル出現確率の最小値を利用した 1シンボル単位の計算(式 15参照)によって求める ように構成されていてもよい。
[0090] 映像符号化装置は、推定部が、算術符号化出力ビット数の最大値を、劣勢シンポ ルが連続して発生したときの劣勢シンボル出現確率の総積の最小値を利用した複数 シンボル単位の計算(式 16,式 18参照)によって求めるように構成されていてもよい
[0091] 映像符号化装置は、推定部が、算術符号化出力ビット数の最大値を、劣勢シンポ ル出現確率の最小値を利用した 1シンボル単位の計算、および、劣勢シンボルが連 続して発生したときの劣勢シンボル出現確率の総積の最小値を利用した複数シンポ ル単位の計算によって求めるように構成されてレ、てもよ!/、。
[0092] 映像符号化装置は、画像ブロックを周波数領域に変換し量子化した変換量子化値 を計算する変換量子化部と、画像ブロックを非エントロピー符号化したデータを出力 する非エントロピー符号化部とを備え、符号化データ決定部が、推定されたビット数 が所定値を越える場合に、 PCMモードヘッダを、出力する符号化データとして決定 し、非エントロピー符号化部が、 2値算術符号化部が PCMモードヘッダを算術符号 化して出力した後に、変換量子化値を再構築して得られる画像ブロックまたは変換量 子化を適用する前の元の画像ブロックの画像を非エントロピー符号化した PCMデー タを出力するように構成されて!/、てもよ!/、。
[0093] 本発明による映像符号化プログラムは、コンピュータに、画像ブロックの符号化デー タを 2進列のシンボルに変換する 2進列変換処理と、 2進列の各シンボルをコンテキス トに応じて算術符号化する 2値算術符号化処理と、画像ブロックに対する符号化デー タが 2値算術符号化されるときに必要なビット数を推定する推定処理と、推定処理で 推定されたビット数に応じて符号化データを 2値算術符号化して出力するか否力、を決 定する符号化データ決定処理と、符号化データ決定処理で 2値算術符号化して出 力すると決定された符号化データに対応するコンテキストを更新し、符号化データ決 定処理で 2値算術符号化して出力しないと決定された符号化データに対応するコン テキストを更新しないコンテキスト更新処理とを実行させ、推定処理で、 2値算術符号 化への入力シンボルに対する算術符号化出力ビット数の最大値をビット数とする処 理を実行させることを特徴とする。
[0094] 映像符号化プログラムは、コンピュータに、推定処理で、算術符号化出力ビット数の 最大値を、劣勢シンボル出現確率の最小値を利用した 1シンボル単位の計算によつ て求める処理を実行させるように構成されて!/、てもよ!/、。
[0095] 映像符号化プログラムは、コンピュータに、推定処理で、算術符号化出力ビット数の 最大値を、劣勢シンボルが連続して発生したときの劣勢シンボル出現確率の総積の 最小値を利用した複数シンボル単位の計算によって求める処理を実行させるように 構成されていてもよい。
[0096] 映像符号化プログラムは、コンピュータに、推定処理で、算術符号化出力ビット数の 最大値を、劣勢シンボル出現確率の最小値を利用した 1シンボル単位の計算、およ び、劣勢シンボルが連続して発生したときの劣勢シンボル出現確率の総積の最小値 を利用した複数シンボル単位の計算によって求める処理を実行させるように構成され ていてもよい。
[0097] 映像符号化プログラムは、コンピュータに、画像ブロックを周波数領域に変換し量 子化した変換量子化値を計算する変換量子化処理と、画像ブロックを非エントロピー 符号化したデータを出力する非エントロピー符号化処理とを実行させ、符号化データ 決定処理で、推定されたビット数が所定値を越える場合に、 PCMモードヘッダを、出 力する符号化データとして決定し、非エントロピー符号化処理で、 2値算術符号化処 理で PCMモードヘッダが算術符号化されて出力された後に、変換量子化値を再構 築して得られる画像ブロックまたは変換量子化を適用する前の元の画像ブロックの画 像を非エントロピー符号化した PCMデータを出力する処理を実行させるように構成さ れていてもよい。
[0098] 以下、本発明の具体的な実施の形態を、図面を参照して説明する。
[0099] 実施の形態 1.
図 2は、本実施の形態の CABACを実現するためのエントロピー符号化部を示すブ ロック図である。本実施の形態の CABACを実現するためのエントロピー符号化部は 、図 14に示されたエントロピー符号化部と比較すると、 binバッファ 104、 2値算術符 号化最大ビット数計算器 105、第 2コンテキストモデリング器 106およびスィッチ部 (P CM再符号化スィッチ) 110をさらに備えている。なお、本実施の形態では、 2値算術 符号化器 102は、推定したビット数に応じて符号化データを 2値算術符号化して出力 するか否かを決定する機能を備えている。また、第 1〜第 3の実施の形態において、 エントロピー符号化器 241の構成は異なるが、映像符号化装置の全体的な構成は図 9に示された構成と同じである。
[0100] バイナリ化器 101は、図 14に示されたものと同様に、入力された MBレイヤの SEを 規格 (例えば、 H. 264規格)で定められたルールに従ってバイナリシーケンスに変換 する。そして、バイナリシーケンスを binバッファ 104に格納する。次いで、 2値算術符 号化最大ビット数計算器 105は、 binバッファ 104に格納されたバイナリシーケンスの 各 binについて、逐次、第 2コンテキストモデリング器 106から供給されるコンテキスト を利用して、各 binに対する算術符号化出力ビット数の最大値を式 15で計算し、その 累積値を最大ビット数 (推定された 2値算術符号化されるときに必要なビット数に相当 )として出力する。
[0101] エントロピー符号化装置での PCM再符号化に際して、基本的な動作では、コンテ キスト複製メモリ 244に保存されたコンテキストデータをコンテキストモデリング器 103 に読み込む。その後、バイナリ化器 101は、 PCMの開始を示す予測パラメータの bin を生成して、 2値算術符号化器 102に供給する。これと同時に、コンテキストモデリン グ器 103は、 binに対応するコンテキストデータを 2値算術符号化器 102に供給する 。 2値算術符号化器 102は、、コンテキストデータを用いて binを算術符号化し、スイツ チ部 110を経由して出力ビットを出力バッファ 242に書き出しながら、算術符号化で 更新されたコンテキストデータをコンテキストモデリング器 103に返す。 2値算術符号 化器 102は、 PCMの開始を示す予測パラメータの binを算術符号化し終えた後に、 原画像 MBメモリ 211に格納された画像を読み込んで PCMのまま再符号化して出力 バッファ 242に書き出す。
[0102] 本実施の形態では、 2値算術符号化器 102は、 2値算術符号化最大ビット数計算 器 105から供給される最大ビット数を監視し、最大ビット数が所定の閾値 (例えば 320 0ビット)以下であれば、図 14に示されたものと同様に、 binバッファ 104に格納された バイナリシーケンスの各 binを、コンテキストモデリング器 103から供給されるコンテキ ストを利用して 2値算術符号化する。最大ビット数が所定の閾値よりも多ければ、 2値 算術符号化器 102は、 PCM符号化に対応する MBレイヤの SE (PCMモードヘッダ )に相当するバイナリシーケンスの各 binだけを 2値算術符号化する。そのように処理 を行うことによって、 2値算術符号化して出力しないと決定された符号化データに対 応するコンテキストの更新がなされず、以降の MBの 2値算術符号化に必要なコンテ キストが不正に更新されるのを防ぐことができる。
[0103] スィッチ部 110は、 2値算術符号化最大ビット数計算器 105から供給される最大ビッ ト数を監視し、最大ビット数が所定の閾値以下であれば、 2値算術符号化器 102の出 力のみを選択して外部にビットストリームとして供給する。最大ビット数が所定の閾値 よりも多ければ、スィッチ部 110は、 2値算術符号化器 102の出力(PCM符号化に対 応する MBレイヤの SEに相当する 2値算術符号化データ)を外部にビットストリームと して供給した後、外部から供給される画像データを選択して PCMデータとしてさらに 外部にビットストリームとして供給する。なお、 H. 264規格では、非エントロピー符号 化として PCM符号化が規定されている。すなわち、スィッチ部 110は、外部から供給 される画像データを選択する場合には、画像を非エントロピー符号化した PCMデー タを出力することになる。
[0104] ここで注意すべきことは、第 2コンテキストモデリング器 106に格納されたコンテキス トと、コンテキストモデリング器 104に格納されたコンテキストとは常に同期していること である。つまり、 2値算術符号化最大ビット数計算器 105から供給される最大ビット数 が所定の閾値を越えた場合には、エントロピー符号化部は、第 2コンテキストモデリン グ器 106に格納されたコンテキストを、コンテキストモデリング器 104に格納されたコ ンテキストで更新するものとする。
[0105] なお、外部から供給される画像データは、対応する MBの原画像データであっても ょレ、し、対応する MBを符号化した結果の符号化画像データであってもよ!/、。
[0106] 次に、図 3のフローチャートを参照して、本実施の形態の CABACを実現するため のエントロピー符号化部の動作を説明する。
[0107] 本実施の形態のエントロピー符号化部は、 MBレイヤ SEの CABACに際して、 MB 最大ビットカウンタ(mb— max— bit)の値を 0に初期化する。そして、初期化後に、以 下で説明する 6つステップの処理を行う。
[0108] ステップ S101では、バイナリ化器 101力 MBレイヤのすべての SEを MBレイヤの SEを規格で定められたルールに従ってバイナリシーケンスに変換し、 binバッファ 10 4に格納する。そして、ステップ S 102に移る。
[0109] ステップ S102では、 2値算術符号化最大ビット数計算器 105が、 binバッファ 104 に格納されたバイナリシーケンスの各 binにつ!/、て、第 2コンテキストモデリング器から 供給されるコンテキストを利用して、各 binに対する算術符号化出力ビットの最大値を 式 15で計算し、 MB最大ビットカウンタを式 19で更新する。そして、ステップ S 103に 移る。式 19は、本実施の形態における符号量推定の計算のための式である。
[0110] [数 19]
mb max bit = mb max— bit + cabac— bits u) [0111] ステップ S103では、 2値算術符号化最大ビット数計算器 105が、 binバッファ 104 に格納されたバイナリシーケンスの各 binに対して、ステップ S102の処理をすベて適 用したか否力、を判断し、すべて適用したのであればステップ S104に移り、そうでなけ ればステップ S102に移る。なお、ステップ S104に移る条件として、 mb— max— bit 力 200 (閾値)を超えたか否かを追加してもよ!/、。
[0112] ステップ S104では、 2値算術符号化器 102が、 mb— max— bitが 3200ビット以下 か否かを判断し、 3200ビット以下であればステップ S105に移り、そうでなければステ ップ S 106に移る。
[0113] ステップ S105では、 2値算術符号化器 102が、 binバッファ 104に格納されたバイ ナリシーケンスの各 binを、コンテキストモデリング器 103から供給されるコンテキストを 利用して、 2値算術符号化する。 binバッファ 104に格納されたバイナリシーケンスの 各 binに対する 2値算術符号化が完了したのち、 MBの CABAC処理を終了する。
[0114] ステップ S106では、スィッチ部 110力 PCM符号化に対応する MBレイヤの SEに 相当する 2値算術符号化データを出力した後、画像データを PCMデータとして出力 する。次いで、後続 MBのために、第 2コンテキストモデリング器 106に格納されたコ ンテキストを、コンテキストモデリング器 104に格納されたコンテキストで更新したのち 、 MBの CABAC処理を終了する。
[0115] 以上のようにして、本実施の形態における CABACの処理が遂行される。本実施の 形態では、算術レンジやコンテキストによって出力ビット数が変動することを考慮し、 1 つの binに対する算術符号化出力ビット数の最大値を高精度に推定する。よって、本 実施の形態の CABACを実現するためのエントロピー符号化部を利用することによつ て、 MBレイヤ SEの各 binに対する算術符号化出力ビットの最大値を高精度に推定 することができ、 MB出力ビット数が 3200ビット以下になるように高精度に符号化制 徒 Pすること力 Sでさる。
[0116] なお、本実施の形態において、 MB最大ビットカウンタが所定値の 3200ビットを超 えるかを判断する(ステップ S104)だけでなぐ MB最大ビットカウンタとレート制御装 置 30が割り当てる符号量の関係を考慮して、上述したステップ S 106の処理のように PCM符号化を行ってもよ!/、。 [0117] 実施の形態 2.
第 1の実施形態(実施の形態 1)では、 lbin単位で算術符号化出力ビット数の最大 値が高精度に推定された。本実施の形態では、 CABACは、さらに、 MBレイヤの SE の種類によって、複数 bin単位の算術符号化出力ビット数の最大値を推定する。複 数 bin単位で算術符号化出力ビット数の最大値を計算するメリットは、演算のオーバ ヘッドを減らせることである。ただし、第 1の実施形態の場合に比べて、算術符号化出 力ビット数をより大きく見積もることになる。
[0118] 複数 bin単位で算術符号化出力ビット数の最大値を推定する MBレイヤの SEとして 、 residualレイヤ(非特許文献 1の 7· 3. 4. 3参照。)よりも上位の SEであることが望 ましい。 residualレイヤよりも上位の SEについては、 MBレイヤにおける binの割合が 少なぐ算術符号化出力ビット数の最大値を多く見積もって、 MBレイヤ全体の算術 符号化出力ビットに対する影響が比較的少ないからである。ただし、もちろん、任意 の SEで、 lbin単位での算術符号化出力ビット数の最大値推定と、複数 bin単位での 算術符号化出力ビット数の最大値推定を切り替え可能である。
[0119] なお、 residualレ の significant― coeff― flagねよび last― signiiicant― coe ff— flagの SEは、 1つの SEから 1シンボルしか生成されない SEであり、かつ、 MBレ ィャにおいても個数が多い SEであるため、 lbin単位で算術符号化出力ビット数の最 大値を高精度に推定することが望ましい。
[0120] 本実施の形態の CABACを実現するためのエントロピー符号化部の構成は、第 1 の実施形態のエントロピー符号化部において、 2値算術符号化最大ビット数計算器 1 05の内部構成が変わるだけである。よって、第 1の実施形態との差分である 2値算術 符号化最大ビット数計算器 105のみを説明する。
[0121] 図 4は、本実施の形態における 2値算術符号化最大ビット数計算器 1050の構成を 示すブロック図である。図 4に示すように、 2値算術符号化最大ビット数計算器 1050 は、スィッチ部(単位計算器スィッチ) 1054、 lbin単位計算器 1051、複数 bin単位 計算器 1052、スィッチ部(累積計算器スィッチ) 1055、および累積計算器 1053で 構成される。
[0122] スィッチ部 1054は、外部(図 2に示す binバッファ 104)力も供給されるバイナリシー ケンスについて、その SEが lbin単位で算術符号化出力ビット数の最大値を推定す る SEであれば、バイナリシーケンスを lbin単位計算器 1051に供給する。そうでなけ れば、スィッチ部 1054は、バイナリシーケンスを複数 bin単位計算器 1052に供給す
[0123] lbin単位計算器 1051は、逐次、外部(図 2に示す第 2コンテキストモデリング器 10 6)から供給されるコンテキストを利用して、各 binに対する算術符号化出力ビットの最 大値を式 15で計算し、スィッチ部 1055を経由して、計算した値を累積計算器 1053 に出力する。
[0124] 複数 bin単位計算器 1051は、逐次、外部(図 2に示す第 2コンテキストモデリング器
106)から供給されるコンテキストを利用して、複数 binに対する算術符号化出力ビッ ト数の最大値を式 16または式 18で計算し、スィッチ部 1055を経由して、その最大値 を累積計算器 1053に出力する。なお、本実施の形態では、 MBレイヤ処理後の第 2 コンテキストモデリング器 106と、 MBレイヤ処理後のコンテキストモデリング器 103と でコンテキストの値が異なる。第 2コンテキストモデリング器 106のコンテキストを劣勢 シンボルが連続して発生したものとして、 state— idxを遷移させるからである。
[0125] 累積計算器 1053は、 MBレイヤの SEに属する lbinもしくは複数 binに対する算術 符号化出力ビットの最大値を累積し、 MBレイヤの SEの処理が終わった後に、累積 値を外部(図 2に示す 2値算術符号化器 102とスィッチ部 110)に出力する。
[0126] 次に、図 5のフローチャートを参照して、本実施の形態の 2値算術符号化最大ビット 数計算器 1050の動作を説明する。 CABACを実現するためのエントロピー符号化 部全体の処理は図 3のフローチャートに示された処理と同じである力 ステップ S 102 の処理が図 4のフローチャートに示す処理に置き換わる。
[0127] ステップ S111では、スィッチ部 1054力 バイナリシーケンスの SEが lbin単位で算 術符号化出力ビット数の最大値を推定する SEであるか否力、 (例えば、 MBレイヤの S Eよりも上位の SEであるか否力、)を判断する。 lbin単位で算術符号化出力ビット数の 最大値を推定する SEであればステップ S 112に移り、そうでなければ、 S113に移る
[0128] ステップ S112では、 lbin単位計算器 1051が、逐次、外部(図 2に示す第 2コンテ キストモデリング器 103)から供給されるコンテキストを利用して、各 binに対する算術 符号化出力ビットの最大値を式 15で計算して、処理を終了する。ステップ S 113では 、複数 bin単位計算器 1051が、逐次、外部(図 2に示す第 2コンテキストモデリング器 106)から供給されるコンテキストを利用して、複数 binに対する算術符号化出力ビッ ト数の最大値を式 16または式 18で計算して、処理を終了する。
[0129] ステップ S112またはステップ S113で得られた、最大値(lbinまたは複数 binに対 する算術符号化出力ビット数の最大値)は外部に供給され、バイナリシーケンスに対 する 2値算術符号化最大ビット数計算は終了する。
[0130] 本実施の形態の CABACを利用することによって、 MBレイヤ SEの各 binに対する 算術符号化出力ビット数の最大値を高精度に推定することができ、 MB出力ビット数 力 ¾200ビット以下になるように高精度に符号化制御することができる。また、複数 bin 単位で算術符号化出力ビット数の最大値を推定することで、推定に伴う演算のォー バヘッドを減らすことができる。
[0131] なお、本実施の形態では、ステップ S111の判断処理により、 lbin単位での算術符 号化出力ビット数の最大値を推定処理と、複数 bin単位での算術符号化出力ビット数 の最大値の推定処理とを切り替えるようにした力 常に複数 bin単位での算術符号化 出力ビット数の最大値の推定処理を実行するようにしてもよい。
[0132] 実施の形態 3.
図 6は、第 3の実施の形態(実施の形態 3)の CABACを実現するためのエントロピ 一符号化部を示すブロック図である。本実施の形態において、 2値算術符号化最大 ビット数計算器 105は、第 1の実施の形態(実施の形態 1)または第 2の実施の形態( 実施の形態 2)のいずれかにおける 2値算術符号化最大ビット数計算器が用いた方 式と同様の方式を用いる。ここでは、第 1の実施の形態と同様の 2値算術符号化最大 ビット数計算器 105を例にする。
[0133] 本実施の形態の CABACを実現するためのエントロピー符号化部は、図 14に示さ れたエントロピー符号化部と比較すると、 binバッファ 104、 2値算術符号化最大ビット 数計算器 105、第 2コンテキストモデリング器 106およびスィッチ部 108をさらに備え ている。 [0134] バイナリ化器 101は、入力される MBレイヤの SEを規格で定められたルールに従つ てバイナリシーケンスに変換し、 binバッファ 104に格納する。次いで、 2値算術符号 化最大ビット数計算器 105は、 binバッファ 104に格納されたバイナリシーケンスの各 binについて、逐次、第 2コンテキストモデリング器 106から供給されるコンテキストを 利用して、各 binに対する算術符号化出力ビット数の最大値を計算する。そして、計 算された累積値と MBビット数の規定値 (例えば 3200ビット)を比較する。累積値が MBビット数の規定値を超えた場合には、 binバッファ 104力も MBの出力 binをクリア し、 PCM符号化に対応する MBレイヤの SEに相当するヘッダの binを binバッファ 10 4に格納する。
[0135] スィッチ部 108は、 2値算術符号化最大ビット数計算器 105から供給される最大ビッ ト数を監視し、最大ビット数が MB最大ビット数の規定値以下であれば、バイナリ化器 101の出力のみを選択して binバッファ 104に供給する。最大ビット数が MB最大ビッ ト数の規定値よりも多ければ、スィッチ部 108は、 PCM符号化のヘッダの binを供給 した後、外部から供給される画像データを選択して PCMデータとして binバッファ 10 4に供給する。
[0136] 2値算術符号化器 102は、バイナリ化器 101の 1MB動作完了以降から動作を開始 し、図 14に示されたエントロピー符号化部の場合と同様に、 binバッファ 104に格納さ れたバイナリシーケンスの各 binを、コンテキストモデリング器 103から供給されるコン テキストを利用して、 2値算術符号化する。算術符号化の動作開始を 1MB以上遅延 させる場合、 binバッファ 104の容量に応じて、入力 binレートに対する 2値算術符号 化の負荷を数 MB単位で分散させることができる。
[0137] 本実施の形態では、 2値算術符号化器 102の処理が遅延するため、 MB最大ビット 数が規定値よりも多かった場合に PCM符号化する場合、第 2コンテキストモデリング 器 103への複写を即座に行うことができない。そのため、 2値算術符号化最大ビット 数計算器 105は、式 15を用いて出力ビット数を計算するコンテキストについては MB 処理の最初で第 2コンテキストモデリング器 106からの複製を保存しておき、 PCM符 号化の際には複製したコンテキストをコピーしてバイナリ符号化を続ける。なお、外部 から供給される画像データは、対応する MBの原画像データであってもよいし、対応 する MBをエンコードした結果の符号化画像データであってもよい。
[0138] 次に、図 7のフローチャートを参照して、本実施の形態の CABACを実現するため のエントロピー符号化部の動作を説明する。
[0139] 本実施の形態のエントロピー符号化部は、 MBレイヤ SEの CABACに際して、 MB 最大ビットカウンタ(mb— max— bit)の値を 0に初期化する。そして、初期化後に、以 下で説明する 7つステップの処理を行う。
[0140] ステップ S201では、 2値算術符号化最大ビット数計算器 105が、 MBレイヤで第 2 コンテキストモデリング器 106が式 15で推定するコンテキストについてコンテキストを 複製する。そして、ステップ S202に移る。ステップ S202では、バイナリ化器 101が、 MBレイヤのすべての SEを MBレイヤの SEを規格で定められたルールに従ってバイ ナリシーケンスに変換し、 binバッファ 104に格納する。そして、ステップ S203に移る
[0141] ステップ S203では、 2値算術符号化最大ビット数計算器 105が、第 1の実施の形 態におけるステップ S 102の処理と同様に、 binバッファ 104に格納されたバイナリシ 一ケンスの各 binについて、第 2コンテキストモデリング器から供給されるコンテキスト を利用して、各 binに対する算術符号化出力ビットの最大値を式 15で計算し、 MB最 大ビットカウンタを式 19に示すように更新する。そして、ステップ S204に移る。
[0142] 第 2の実施の形態における 2値算術符号化最大ビット数計算器 1050を用いる場合 には、ステップ S203で、図 5のフローチャートと同様の処理を実行したした後、 MB最 大ビットカウンタを式 19で更新する。そして、ステップ S204に移る。
[0143] ステップ S204では、 2値算術符号化最大ビット数計算器 105が、 binバッファ 104 に格納されたバイナリシーケンスの各 binに対して、ステップ S203の処理をすベて適 用したか否力、を判断し、すべて適用したのであればステップ S205に移り、そうでなけ ればステップ S203に移る。なお、ステップ S205に移る条件として、 mb— max— bit 力 200 (閾値)を超えたか否かを追加してもよ!/、。
[0144] ステップ S205では、 2値算術符号化器 102が、 mb— max— bitが 3200ビット以下 か否かを判断し、 3200ビット以下であればステップ S206に移り、そうでなければステ ップ S 207に移る。 [0145] ステップ S206では、 2値算術符号化器 102が、 PCM符号化に対応する MBレイヤ の SEに相当する binデータを出力した後、画像データを PCMデータとして格納する 。次いで、後続 MBのために、第 2コンテキストモデリング器 106に格納されたコンテ キストを、コンテキスト複製メモリ(第 2コンテキスト複製メモリ) 107に格納されたコンテ キストで更新し、 PCM符号化に対応する SE分のコンテキスト遷移を行い、 MBの CA BAC処理を終了する。
[0146] ステップ S207では、 2値算術符号化器 102が、 binバッファ 104に格納されたバイ ナリシーケンスの各 binを、コンテキストモデリング器 103から供給されるコンテキストを 利用して、 2値算術符号化する。 binバッファ 104に格納されたバイナリシーケンスの 各 binに対する 2値算術符号化が完了した後、 MBの CABAC処理を終了する。なお 、本実施の形態では、ステップ S207の処理の完了を待たずに、次の MBについて S 201の処理を開始してもよい。
[0147] 以上のようにして、本実施の形態における CABACの処理が遂行される。本実施の 形態では、 MBレイヤ SEの各 binに対する算術符号化出力ビット数の最大値を高精 度に推定することができ、かつ、 2値算術符号化の処理負荷を数 MB単位で分散さ せることができるので、パイプライン方式の処理に好適に適用される。
[0148] 上記の説明からも明らかなように、上記の各実施の形態を、ハードウェアで構成す ることも可能である力 コンピュータプログラムを用いて実現することも可能である。例 えば、上記の各実施の形態を実現するための図 8に示す情報処理システムは、プロ セッサ 501、プログラムメモリ 502、画像データを記憶する記憶媒体 503およびビット ストリームを記憶する記憶媒体 504を含む。プロセッサ 501は、プログラムメモリ 502 に格納されているプログラムに従って、図 3に示された処理 (第 1の実施の形態)また は図 7に示された処理 (第 3の実施の形態)を実行する。第 2の実施の形態を実現す る場合には、図 3または図 7に示された処理と図 5に示された処理とを実行する。なお 、記憶媒体 503の記憶領域および記憶媒体 504の記憶領域は、別個の記憶媒体に おける記憶領域であってもよレ、し、同一の記憶媒体における記憶領域であってもよレ、 。また、記憶媒体 503, 504として、ハードディスク等の磁気記憶媒体を用いることが できる。 [0149] 本出願は、 2006年 12月 14日に出願された日本出願特願 2006— 337468号を基 礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用可能性
[0150] 本発明は、算術符号化出力ビット数推定方法による CABACを用いる映像符号化 装置に好適に適用される。

Claims

請求の範囲
[1] 画像ブロックの符号化データを 2進列のシンボルに変換する 2進列変換ステップと、
2進列の各シンボルをコンテキストに応じて算術符号化する 2値算術符号化ステツ プと、
画像ブロックに対する符号化データが 2値算術符号化されるときに必要なビット数を 推定する推定ステップと、
前記推定ステップで推定されたビット数に応じて前記符号化データを 2値算術符号 化して出力するか否かを決定する符号化データ決定ステップと、
前記符号化データ決定ステップで 2値算術符号化して出力すると決定された符号 化データに対応する前記コンテキストを更新し、前記符号化データ決定ステップで 2 値算術符号化して出力しないと決定された符号化データに対応する前記コンテキス トを更新しなレ、コンテキスト更新ステップとを備え、
前記推定ステップで、 2値算術符号化への入力シンボルに対する算術符号化出力 ビット数の最大値を前記ビット数とする
ことを特徴とする映像符号化方法。
[2] 推定ステップで、算術符号化出力ビット数の最大値を、劣勢シンボル出現確率の最 小値を利用した 1シンボル単位の計算によって求める
ことを特徴とする請求項 1記載の映像符号化方法。
[3] 推定ステップで、算術符号化出力ビット数の最大値を、劣勢シンボルが連続して発 生したときの劣勢シンボル出現確率の総積の最小値を利用した複数シンボル単位の 計算によって求める
ことを特徴とする請求項 1記載の映像符号化方法。
[4] 推定ステップで、算術符号化出力ビット数の最大値を、劣勢シンボル出現確率の最 小値を利用した 1シンボル単位の計算、および、劣勢シンボルが連続して発生したと きの劣勢シンボル出現確率の総積の最小値を利用した複数シンボル単位の計算に よって求める
ことを特徴とする請求項 1記載の映像符号化方法。
[5] 画像ブロックを周波数領域に変換し量子化した変換量子化値を計算する変換量子 化ステップと、
画像ブロックを非エントロピー符号化したデータを出力する非エントロピー符号化ス テツプとを備え、
符号化データ決定ステップで、推定されたビット数が所定値を越える場合に、 PCM モードヘッダを、出力する符号化データとして決定し、
前記非エントロピー符号化ステップで、 2値算術符号化ステップで前記 PCMモード ヘッダが算術符号化されて出力された後に、前記変換量子化値を再構築して得られ る画像ブロックまたは変換量子化を適用する前の元の画像ブロックの画像を非ェント 口ピー符号化した PCMデータを出力する
ことを特徴とする請求項 1から請求項 4のうちのいずれか 1項に記載の映像符号化方 法。
[6] 画像ブロックの符号化データを 2進列のシンボルに変換する 2進列変換部と、
2進列の各シンボルをコンテキストに応じて算術符号化する 2値算術符号化部と、 画像ブロックに対する符号化データが 2値算術符号化されるときに必要なビット数を 推定する推定部と、
前記推定部が推定したビット数に応じて前記符号化データを 2値算術符号化して 出力するか否かを決定する符号化データ決定部と、
前記符号化データ決定部が 2値算術符号化して出力すると決定した符号化データ に対応する前記コンテキストを更新し、前記符号化データ決定部が 2値算術符号化 して出力しないと決定した符号化データに対応する前記コンテキストを更新しないコ ンテキスト更新部とを備え、
前記推定部は、 2値算術符号化への入力シンボルに対する算術符号化出力ビット 数の最大値を前記ビット数とする
ことを特徴とする映像符号化装置。
[7] 推定部は、算術符号化出力ビット数の最大値を、劣勢シンボル出現確率の最小値 を利用した 1シンボル単位の計算によって求める
ことを特徴とする請求項 6記載の映像符号化装置。
[8] 推定部は、算術符号化出力ビット数の最大値を、劣勢シンボルが連続して発生した ときの劣勢シンボル出現確率の総積の最小値を利用した複数シンボル単位の計算 によって求める
ことを特徴とする請求項 6記載の映像符号化装置。
[9] 推定部は、算術符号化出力ビット数の最大値を、劣勢シンボル出現確率の最小値 を利用した 1シンボル単位の計算、および、劣勢シンボルが連続して発生したときの 劣勢シンボル出現確率の総積の最小値を利用した複数シンボル単位の計算によつ て求める
ことを特徴とする請求項 6記載の映像符号化装置。
[10] 画像ブロックを周波数領域に変換し量子化した変換量子化値を計算する変換量子 化部と、
画像ブロックを非エントロピー符号化したデータを出力する非エントロピー符号化部 とを備え、
符号化データ決定部は、推定されたビット数が所定値を越える場合に、 PCMモー ドヘッダを、出力する符号化データとして決定し、
前記非エントロピー符号化部は、 2値算術符号化部が前記 PCMモードヘッダを算 術符号化して出力した後に、前記変換量子化値を再構築して得られる画像ブロック または変換量子化を適用する前の元の画像ブロックの画像を非エントロピー符号化 した PCMデータを出力する
ことを特徴とする請求項 6から請求項 9のうちのいずれか 1項に記載の映像符号化装 置。
[11] コンピュータに、
画像ブロックの符号化データを 2進列のシンボルに変換する 2進列変換処理と、 2進列の各シンボルをコンテキストに応じて算術符号化する 2値算術符号化処理と 画像ブロックに対する符号化データが 2値算術符号化されるときに必要なビット数を 推定する推定処理と、
前記推定処理で推定されたビット数に応じて前記符号化データを 2値算術符号化 して出力するか否かを決定する符号化データ決定処理と、 前記符号化データ決定処理で 2値算術符号化して出力すると決定された符号化デ ータに対応する前記コンテキストを更新し、前記符号化データ決定処理で 2値算術 符号化して出力しないと決定された符号化データに対応する前記コンテキストを更新 しな!/、コンテキスト更新処理とを実行させ、
前記推定処理で、 2値算術符号化への入力シンボルに対する算術符号化出力ビッ ト数の最大値を前記ビット数とする処理を実行させる
ことを特徴とする映像符号化プログラム。
[12] コンピュータに、
推定処理で、算術符号化出力ビット数の最大値を、劣勢シンボル出現確率の最小 値を利用した 1シンボル単位の計算によって求める処理を実行させる
ことを特徴とする請求項 11記載の映像符号化プログラム。
[13] コンピュータに、
推定処理で、算術符号化出力ビット数の最大値を、劣勢シンボルが連続して発生 したときの劣勢シンボル出現確率の総積の最小値を利用した複数シンボル単位の計 算によって求める処理を実行させる
ことを特徴とする請求項 11記載の映像符号化プログラム。
[14] コンピュータに、
推定処理で、算術符号化出力ビット数の最大値を、劣勢シンボル出現確率の最小 値を利用した 1シンボル単位の計算、および、劣勢シンボルが連続して発生したとき の劣勢シンボル出現確率の総積の最小値を利用した複数シンボル単位の計算によ つて求める処理を実行させる
ことを特徴とする請求項 11記載の映像符号化プログラム。
[15] コンピュータに、
画像ブロックを周波数領域に変換し量子化した変換量子化値を計算する変換量子 化処理と、
画像ブロックを非エントロピー符号化したデータを出力する非エントロピー符号化処 理とを実行させ、
符号化データ決定処理で、推定されたビット数が所定値を越える場合に、 PCMモ ードヘッダを、出力する符号化データとして決定し、
前記非エントロピー符号化処理で、 2値算術符号化処理で前記 PCMモードヘッダ が算術符号化されて出力された後に、前記変換量子化値を再構築して得られる画像 ブロックまたは変換量子化を適用する前の元の画像ブロックの画像を非エントロピー 符号化した PCMデータを出力する処理を実行させる
ことを特徴とする請求項 11から請求項 14のうちのいずれか 1項に記載の映像符号化 プログラム。
PCT/JP2007/073769 2006-12-14 2007-12-10 映像符号化方法、映像符号化装置および映像符号化プログラム WO2008072592A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008549305A JP5045950B2 (ja) 2006-12-14 2007-12-10 映像符号化方法、映像符号化装置および映像符号化プログラム
EP07850343A EP2124343A4 (en) 2006-12-14 2007-12-10 METHOD, DEVICE AND VIDEO PROGRAMMING PROGRAM
CN2007800455397A CN101553988B (zh) 2006-12-14 2007-12-10 视频编码方法、视频编码装置
US12/443,734 US8345767B2 (en) 2006-12-14 2007-12-10 Video encoding method, video encoding device, and video encoding program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-337468 2006-12-14
JP2006337468 2006-12-14

Publications (1)

Publication Number Publication Date
WO2008072592A1 true WO2008072592A1 (ja) 2008-06-19

Family

ID=39511612

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/073769 WO2008072592A1 (ja) 2006-12-14 2007-12-10 映像符号化方法、映像符号化装置および映像符号化プログラム

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902639A (zh) * 2009-05-27 2010-12-01 索尼公司 编码装置和编码方法以及解码装置和解码方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4915350B2 (ja) * 2008-01-16 2012-04-11 日本電気株式会社 エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
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
US8436755B2 (en) * 2010-05-21 2013-05-07 Research In Motion 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
ES2589702T3 (es) 2010-11-26 2016-11-15 Nec Corporation Dispositivo, método y programa de descodificación de video
US9256960B2 (en) * 2011-02-23 2016-02-09 Panasonic Intellectual Property Corporation Of America Image coding method and image decoding method
UA109312C2 (uk) * 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
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
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
BR112013030469B1 (pt) 2011-06-23 2022-07-26 Sun Patent Trust Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem, e aparelho de codificação e decodificação de imagem
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CA2830046C (en) 2011-06-24 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CA2833855C (en) 2011-06-24 2018-08-28 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP2725793A4 (en) 2011-06-27 2014-12-03 Panasonic Ip Corp America IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
CN106878724B (zh) 2011-06-28 2020-06-05 太阳专利托管公司 图像编码解码装置
EP3324633B1 (en) * 2011-06-28 2018-12-12 NEC Corporation Decoding a video quantization parameter
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
CA2837537C (en) 2011-06-30 2019-04-02 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR102060619B1 (ko) 2011-06-30 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
MX2013013941A (es) 2011-07-11 2014-01-31 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
MX2013012910A (es) 2011-07-12 2013-12-02 Nec Corp Metodo de codificacion de parametro de cuantificacion de imagenes y metodo de descodificacion de parametro de cuantificacion de imagenes.
JP5949778B2 (ja) * 2011-11-01 2016-07-13 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
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 (zh) * 2012-01-21 2017-12-15 中兴通讯股份有限公司 自适应控制算术编码bin数量的方法、编码器和解码器
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
EP3481068B1 (en) 2012-04-13 2020-08-12 GE Video Compression, LLC Low delay picture coding
EP2869561A4 (en) * 2012-06-26 2016-02-17 Nec Corp VIDEO ENCODING DEVICE, VIDEO DECODING DEVICE, VIDEO ENCODING METHOD, VIDEO DECODING METHOD, AND PROGRAM
CN115442627A (zh) 2012-06-29 2022-12-06 Ge视频压缩有限责任公司 视频数据流、编码器、编码视频内容的方法以及解码器
WO2014156956A1 (ja) * 2013-03-28 2014-10-02 京セラ株式会社 無線通信装置及び信号処理方法
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 (zh) * 2018-12-28 2020-04-24 城云科技(中国)有限公司 大数据编码方法及计算机可读存储介质
US20220086445A1 (en) * 2020-12-03 2022-03-17 Intel Corporation Methods, apparatus, and articles of manufacture for multi-symbol equiprobable mode entropy coding
CN116015312B (zh) * 2023-03-28 2023-06-09 山东奔虎智能科技有限公司 基于物联网平台的气体报警系统数据存储方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004048607A (ja) * 2002-07-15 2004-02-12 Nec Access Technica Ltd ディジタル画像符号化装置およびディジタル画像符号化方法
JP2004166254A (ja) * 2002-10-25 2004-06-10 Sony Corp 画像符号化装置及び方法、並びにプログラム及び記録媒体

Family Cites Families (11)

* 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
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
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 (ja) 2004-04-12 2005-10-27 Sanyo Electric Co Ltd カラオケ用リモコン装置
JP2006093777A (ja) 2004-09-21 2006-04-06 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム
US7209059B2 (en) * 2004-12-06 2007-04-24 Matsushita Electric Industrial Co., Ltd. Decoding method and encoding method
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 (ja) * 2005-11-30 2011-11-30 パナソニック株式会社 符号化装置
JP2008011431A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 画像符号化装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004048607A (ja) * 2002-07-15 2004-02-12 Nec Access Technica Ltd ディジタル画像符号化装置およびディジタル画像符号化方法
JP2004166254A (ja) * 2002-10-25 2004-06-10 Sony Corp 画像符号化装置及び方法、並びにプログラム及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902639A (zh) * 2009-05-27 2010-12-01 索尼公司 编码装置和编码方法以及解码装置和解码方法

Also Published As

Publication number Publication date
CN101553988B (zh) 2012-10-17
CN101553988A (zh) 2009-10-07
JPWO2008072592A1 (ja) 2010-03-25
JP5045950B2 (ja) 2012-10-10
EP2124343A4 (en) 2012-01-11
EP2124343A1 (en) 2009-11-25
US8345767B2 (en) 2013-01-01
US20100238998A1 (en) 2010-09-23

Similar Documents

Publication Publication Date Title
WO2008072592A1 (ja) 映像符号化方法、映像符号化装置および映像符号化プログラム
JP6526869B2 (ja) ハイブリッドなビデオ符号化における予測誤差の適応符号化
JP6739770B2 (ja) 強化されたcabac復号を用いた画像復号装置
JP4354520B2 (ja) 符号化装置
KR101585016B1 (ko) 고효율 비디오 코딩을 위한 콘텐츠 적응적 장애 보상 필터링
KR100987765B1 (ko) 동영상 부호화기에서의 예측 수행 방법 및 장치
JP4819940B2 (ja) 動画像符号化装置
KR102343621B1 (ko) 데이터 인코딩 및 디코딩
KR100978767B1 (ko) 화상 부호화 방법 및 이것을 이용한 장치와 컴퓨터프로그램
KR20070006445A (ko) 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
KR20080082147A (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
WO2009157581A1 (ja) 画像処理装置及び画像処理方法
JP5231243B2 (ja) 符号化装置及び符号化方法
CN111684810A (zh) 数据编码和解码
JP2009021775A (ja) 符号化装置及び符号化方法
CN111052743A (zh) 视频编码中用于局部选择变换集的变换池
JP2008160402A (ja) 符号化装置及び方法並びに画像符号化装置
CN115567710A (zh) 数据编码方法和装置以及解码数据流的方法和装置
KR100755388B1 (ko) 동영상 압축에서의 복원 오차 추정 방법 및 장치
JP4847423B2 (ja) 動画像符号化装置、および、コンピュータプログラム
JP2008153802A (ja) 動画像符号化装置及び動画像符号化プログラム
JP3884410B2 (ja) ディジタル信号符号化の量子化ステップサイズ決定方法およびディジタル信号符号化装置
JPH09200747A (ja) 画像符号化方法および装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780045539.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07850343

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12443734

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2008549305

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007850343

Country of ref document: EP