WO2005041420A1 - 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置 - Google Patents

算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置 Download PDF

Info

Publication number
WO2005041420A1
WO2005041420A1 PCT/JP2004/015981 JP2004015981W WO2005041420A1 WO 2005041420 A1 WO2005041420 A1 WO 2005041420A1 JP 2004015981 W JP2004015981 W JP 2004015981W WO 2005041420 A1 WO2005041420 A1 WO 2005041420A1
Authority
WO
WIPO (PCT)
Prior art keywords
binary
symbol
code
arithmetic
buffer
Prior art date
Application number
PCT/JP2004/015981
Other languages
English (en)
French (fr)
Inventor
Yuzo Senda
Original Assignee
Nec Corporation
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 filed Critical Nec Corporation
Priority to JP2005515029A priority Critical patent/JP4677901B2/ja
Priority to EP20040817308 priority patent/EP1684435A4/en
Priority to US10/577,146 priority patent/US7301485B2/en
Publication of WO2005041420A1 publication Critical patent/WO2005041420A1/ja

Links

Classifications

    • 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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • Decoding device or coding device in which an intermediate buffer is inserted between a decoder or coding device for arithmetic code and an inverse binary conversion device or binary conversion device
  • the present invention relates to arithmetic code decoding and code decoding.
  • the present invention relates to decoding of an arithmetic code of a binary symbol sequence obtained by binarizing a multi-valued symbol and implementation of the encoding.
  • Binary arithmetic coding is one of the compression coding techniques.
  • binary coding a single multi-valued symbol is binarized to generate a binary symbol sequence, and the binary symbol sequence is arithmetically coded to obtain a final binary arithmetic code.
  • Arithmetic codes have higher processing costs than Huffman codes and so on, and have only been used in applications that do not require real-time processing such as file compression and still image compression.
  • Huffman codes High-speed processing of LSIs
  • they have also been adopted for video coding.
  • One of them is the Main Profile of H.264, a new international video codec standard established by the International Telecommunication Union ⁇ elecommunication Standardization Sector (ITU-T).
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • a multivalued symbol to be encoded is binarized in a sequence of binary symbols (Bin).
  • Transform (Binarization) and perform binary arithmetic coding on each Bin according to the probability estimation value for the Context defined for each Bin.
  • Binary conversion is the ability to convert a multi-value into a bit pattern according to a format defined by a mathematical expression. This can be considered as a simple variable length coding (VLC).
  • VLC variable length coding
  • the context selection uses the power of the original multivalued symbol, the parameters of the peripheral blocks, and the power of the binary symbol sequence.
  • decoding a probability estimate is obtained from the context of the binary symbol currently being decoded, and the arithmetic code is decoded. When the binary symbol is restored, the probability estimate is updated and the context of the next binary symbol to be decoded is selected.
  • FIG. 1 shows the overall configuration of an H.264 decoder.
  • the H.264 decoder includes a CPB buffer 41 that receives and holds a stream, and an instantaneous decoder 42 that decodes each frame at each frame interval.
  • the instantaneous decoder 42 includes a CA BAC decoder 43 and a block decoder 44.
  • the block decoder 44 performs inverse quantization, inverse discrete integer conversion, motion compensation prediction, in-loop filter processing, and the like, and has a processing cost proportional to the number of pixels.
  • the processing cost of the CABAC decoder 43 is proportional to the number of bins.
  • FIG. 2 shows details of the CABAC decoder.
  • the CABAC decoder 51 includes a binary arithmetic code decoder 54, an inverse binary transform 55, a memory 52 for storing a probability estimation value for each context, and a controller 53 for controlling these.
  • the processing unit is bin decoding, and the controller 53 updates the probability estimate every time the bin is decoded, and transitions the internal state according to the grammar of the H.264 standard. This Since these processes cannot be performed on multiple bins at once, the number of bins determines the processing cost.
  • Max MBPS is the maximum number of macroblocks per second
  • Delta Time is the frame time interval
  • Chroma For mat Factor is the ratio of the number of samples when the chrominance signal is added to the luminance signal
  • MinC R is the minimum compression ratio.
  • the maximum bit rate is 377Mbps. Since the compression ratio of Bin to Bit is specified to be 1.33 or less, it is 503MbinZsec when converted to the maximum Bin rate. Since the maximum bit rate is calculated by the average of the frame period, the maximum bin rate here is the value obtained by dividing the number of bins to be processed by the average of the frame period by the frame period. If the performance of the decoder does not achieve this maximum Bin rate, the decoding process will not be completed by the time the frame should be displayed, causing frame loss and! /
  • FIG. 3 shows the configuration of the H.264 encoder.
  • the block encoder 63 performs motion compensation prediction, discrete integer transform, quantization, inverse quantization, inverse discrete integer transform, and in-loop filter processing at the input pixel rate. Thereafter, the block information is converted into a Bin string by the binary conversion 64. The Bin sequence is converted into a code bit sequence by the arithmetic encoder 65 and sent to the output buffer 66. The accumulated amount of the output buffer 66 is fed back to the block encoder 63 and used for controlling the amount of code inside the block encoder 63. It is.
  • one element of block information for example, a conversion coefficient is converted into a plurality of bins.
  • the generation speed of the Bin sequence instantaneously exceeds 10 times the pixel rate.
  • the controller 62, the memory 61, and the arithmetic coder 65 that handle the bin sequence thereafter need to operate at that speed.
  • the maximum Bin rate of the H.264 encoder is 503 MbinZsec as in the case of the H.264 decoder.
  • An object of the present invention is to provide a decoder that decodes a binary coded arithmetic code in real time at a lower maximum Bin rate and a coder that performs encoding as compared with the related art. It is in.
  • a decoder of the present invention decodes a binary arithmetic code according to an input of a binary arithmetic code, and obtains an arithmetic code decoding unit that obtains a binary symbol.
  • the arithmetic code decoding means and the inverse binarization conversion means operate separately, and usually proceed at different speeds.
  • an encoder provides a binary conversion unit that converts a multilevel symbol into a binary symbol in accordance with the input of the multilevel symbol, It is characterized by having a buffer for storing, and an arithmetic coding means for extracting binary symbols according to its own output and generating binary arithmetic codes when extracting binary symbols from the buffer.
  • the arithmetic coding unit and the binarization conversion unit operate separately, and usually proceed at different speeds.
  • the processing performance that the arithmetic coding means should achieve is the output code It can be specified by the maximum value of the rate.
  • the processing performance to be achieved can be defined by the maximum value of the input multi-level symbol rate.
  • the maximum value of the binary symbol processing rate to be achieved by the decoder and the encoder of the binary arithmetic code can be significantly reduced.
  • the processing performance to be achieved by the arithmetic code decoding means of the present invention can be defined by the maximum value of the input code rate.
  • the processing performance to be achieved by the arithmetic code coding means of the present invention is to be the maximum value of the output code rate. Can be specified.
  • the stream is stored in the CPB buffer, but is not required in the present invention. Instead, it requires slightly more memory than a CPB buffer.
  • the compression ratio of arithmetic codes is limited to 1.33 or less, so the memory means only needs to be 1.33 times the size of the CPB buffer.
  • the encoder of the present invention has a buffer of binary or multilevel symbols! /, So it is delayed by the buffer delay, but the bit number estimating means obtains the actual number of code bits generated. So that a delay-free estimate can be provided as an alternative. Also, when code amount control such as a video encoder is required, the control becomes unstable when the number of generated bits is delayed, but in the present invention, since the estimated value can be used, the effect of buffer delay can be suppressed. .
  • FIG. 1 is a block diagram of an international standard ITU-T H.264 decoder.
  • FIG. 2 is a block diagram showing the inside of an H.264 CABAC decoder.
  • FIG. 3 is a block diagram of an H.264 encoder.
  • FIG. 4 is a block diagram of a video decoder using the decoder for binary coding arithmetic codes of the present invention.
  • FIG. 5 is a block diagram of a video encoder using the encoder of the binary arithmetic code of the present invention.
  • FIG. 6 is a block diagram of a decoder or encoder for a binary arithmetic code of the present invention.
  • FIG. 7 is a flowchart showing a decoding process of a binary arithmetic code according to the present invention.
  • FIG. 8 is a flowchart of a decoding subroutine of the present invention.
  • FIG. 9 is a flowchart showing the encoding process of the binary arithmetic code of the present invention.
  • FIG. 10 is a flowchart of an encoding subroutine of the present invention.
  • An arithmetic code decoder includes an arithmetic code decoder that obtains a binary symbol by decoding in accordance with an input of a binary arithmetic code, an intermediate buffer that stores binary symbols, A binary symbol sequence is extracted from the buffer, converted into a multi-valued symbol and output, and in accordance with the output of the multi-valued symbol, an inverse binary conversion unit is provided for extracting a binary symbol sequence from an intermediate buffer.
  • the arithmetic code encoder includes a binary conversion unit that converts a multilevel symbol into a binary symbol in accordance with the input of the multilevel symbol, and a buffer that stores the binary symbol. And, when extracting a binary symbol from the buffer, an arithmetic code converting means for extracting a binary symbol according to its own output and generating a binary arithmetic code.
  • the arithmetic code decoder includes an arithmetic code decoding means for decoding an arithmetic code according to an input of the arithmetic code to obtain a multi-level symbol, a buffer for storing the multi-level symbol, and a buffer.
  • the output device When extracting a multi-valued symbol, the output device has an inverse conversion means for extracting the multi-valued symbol according to its own output, converting the symbol into an output symbol, and outputting the output symbol.
  • the arithmetic code encoder includes a conversion means for converting an input symbol into a multi-level symbol in accordance with an input of an input symbol, a buffer for storing the multi-level symbol, and a non- When extracting a symbol, an arithmetic coding means for extracting an M-ary symbol according to its own output and generating an arithmetic code is provided.
  • FIG. 4 is a block diagram of a video decoder using the binary code arithmetic decoder according to the present invention.
  • the arithmetic code decoder 10 decodes the arithmetic code of the input stream to obtain a binary symbol (Bin), and supplies the binary symbol (Bin) to the controller 11 and the inverse binary conversion unit 12. Stored in The probability estimate of the context required for decoding is supplied from the controller 11.
  • the controller 11 converts the binary symbol to be currently decoded to the context.
  • the probabilistic estimation value is obtained from the memory 13 and the probability estimation value is supplied to the arithmetic code decoder 10.
  • block information stored in the memory 13 is used.
  • the controller 11 obtains a binary symbol from the arithmetic code decoder 10
  • the controller 11 updates the probability estimation value stored in the memory 13, and also converts the configuration information of the binary symbol sequence into an inverse binary converter 12. To supply.
  • the configuration information includes the parameter name indicated by the multi-valued symbol, the format information of the binary symbol string, and the timing for performing the inverse conversion.
  • the inverse binary transformation 12 converts a binary symbol sequence into a multivalued symbol as necessary based on the binary symbol obtained from the arithmetic code decoder 10 and the configuration information supplied from the controller 11. The conversion is performed, and the resulting block information is stored in the memory 13.
  • the block information to be stored in the memory 13 includes the quantized transform coefficient, quantization parameter, effective block pattern, prediction mode, and motion vector. For reference.
  • the intermediate notifier 14 stores the binary symbols obtained by the arithmetic code decoder 10, and supplies the binary symbols to the controller 15 and the inverse binary transformation 16 at the subsequent stage. Further, when supplying a binary symbol to the controller 15, the binary symbol is supplied based on an instruction from the controller 15.
  • the controller 15 obtains a binary symbol sequence from the intermediate buffer 14 according to the grammar of the stream, and supplies the configuration information to the inverse binarization converter 16.
  • the inverse binary conversion 16 obtains a binary symbol sequence from the intermediate buffer 14, converts the binary symbol sequence into a multi-level symbol from the configuration information supplied from the controller 15, and as a result, The obtained block information is supplied to the block decoder 17.
  • the block decoder 17 obtains a decoded image by performing inverse quantization, inverse integer transform, motion compensation prediction, and in-loop filter processing based on the block information supplied from the inverse binary transformation. , And outputs the obtained decoded image.
  • the process proceeds in accordance with a byte string or the like.
  • the controller 15 which is a block subsequent to the intermediate buffer 14, the inverse binary transformation 16, and the block decoder 17
  • the process proceeds according to the output of the image.
  • the arithmetic code decoder 10 and the inverse binary converter 16 operate independently, and usually perform processing at different speeds.
  • the intermediate buffer 14 absorbs the difference in the processing speed between before and after.
  • FIG. 5 is a block diagram of a video encoder using the encoder of the present invention.
  • the block encoder 20 refers to the estimated number of generated bits provided from the bit number estimator 27, and performs motion vector search, motion compensation prediction, discrete integer conversion, quantization, inverse Performs quantization, inverse discrete integer transform, and in-loop filter processing to generate block information.
  • the block information is information necessary for the stream configuration, and includes quantized transform coefficients, quantization parameters, effective block patterns, prediction modes, motion vectors, and the like.
  • the obtained block information is converted into a binary symbol sequence by a binary conversion 21, and the result is stored in the intermediate buffer 22.
  • the intermediate notifier 22 stores the binary symbol sequence converted by the binary conversion 21, and sends the binary symbol to the arithmetic coder 25 based on the instruction from the arithmetic coder 25. Supply. Further, the intermediate buffer 22 supplies the accumulated amount to the bit number estimator 27.
  • the inverse binary conversion 23 restores block information from the binary symbol sequence obtained from the intermediate buffer 22 and the configuration information supplied from the controller 24, and stores the block information in the memory 26.
  • the controller 24 refers to the block information to be restored.
  • the controller 24 selects a context from the binary symbols to be currently encoded according to the grammar of the stream, obtains the probability estimate from the memory 26, and sends the probability estimate to the arithmetic coder 25. Supply.
  • a context block information stored in the memory 26 is used if necessary.
  • the probability estimation value stored in the memory 26 is updated, and the configuration information of the binary symbol sequence is supplied to the inverse binarization converter 23.
  • Arithmetic encoder 25 performs binary arithmetic encoding from the binary symbols obtained from intermediate buffer 22 and the probability estimation values obtained from controller 24, and outputs the resulting stream. Further, the number of binary symbols read by the arithmetic coding and the number of bits of the generated code are supplied to the bit number estimator 27. [0049] The bit number estimator 27 estimates the relationship between the number of binary symbols and the number of code bits from the number of binary symbols and the number of code bits supplied from the arithmetic encoder 25, and is supplied from the intermediate buffer 22. The amount of accumulation is converted into the number of bits to determine the number of generated bits, which is supplied to the block encoder 20.
  • the binary conversion 21 and the arithmetic encoder 25 operate separately, and usually perform processing at different speeds.
  • Intermediate buffer 22 absorbs the difference in processing speed between before and after.
  • FIG. 6 is a block diagram showing another embodiment of the present invention.
  • the processing unit 31 decodes the arithmetic code, and the processing unit 32 performs the inverse binarization conversion.
  • the memory 33 is accessible from the processing unit 31 and the processing unit 32, and includes a code string that is an input to the processing unit 31, a binary symbol string that is an output of the processing unit 31 and an input to the processing unit 32, and a It holds multivalued symbols to be output, expected probability values required for processing, and block information.
  • FIG. 6 shows the processing unit 31 and the processing unit 32 in order to show a logical configuration
  • the operating system provides a multi-process function
  • the memory 33 does not need to be physically a single memory, and may be accessed only from the processing unit 31.
  • the variables may be directly connected to the processing unit 31 instead of the bus connection.
  • the syntax of the encoding scheme includes an encoding mode, a motion vector, a coded flag, and a coefficient, and it is assumed that these are binary arithmetically encoded.
  • the presence or absence of motion vector information can be known from the coding mode, and the coded flag can be known whether or not there is a coefficient.
  • step A100 initialization is performed in step A100.
  • the probability per context Set the estimate to the initial value.
  • step A110 the coding mode of the block is decoded.
  • step All 1 the process branches depending on whether there is motion vector information. If there is motion vector information, the process proceeds to step A120. If there is no motion vector information, the process proceeds to step A130.
  • step A120 the motion vector horizontal value is decoded.
  • step A121 the motion solid vertical value is decoded.
  • step A130 the coded flag is decoded.
  • step A131 branch is made depending on whether or not there is a coefficient. If there is a coefficient, go to step A140. If there is no coefficient, go to step A150.
  • step A140 the coefficients are decoded.
  • step A141 branching is performed depending on whether the coefficient is completed. In the case of termination, the flow proceeds to step A150, and in the case where the coefficient is continued, the flow proceeds to step A140.
  • Step A150 branches depending on whether or not the code string ends. If not, go to step All 0
  • step A10 the symbol string buffer is emptied.
  • Step Al 1 selects a context that conforms to the current syntax. If necessary, use information on peripheral blocks.
  • step A12 a probability estimate of the current context is obtained.
  • step A13 the arithmetic code is decoded. Waits for code input, and if input, compares the current value of the codeword with the probability estimate and obtains a binary symbol from the magnitude relationship. If the operation is symmetrical with respect to the binary symbols 0 and 1, the probability estimate can be expressed (symmetrically expressed) by the MPS value and the MPS probability estimate.
  • MPS is a symbol with a high estimated probability of occurrence, and the estimated value of MPS takes a value from 0.5 to 1.
  • step A14 the obtained binary symbols are stored in the symbol string buffer and output to the memory.
  • step A15 the probability estimation value is updated according to the value of the binary symbol. If the probability estimate is a symmetric representation, the MPS is inverted if the MPS probability estimate is less than 0.5.
  • step A16 the binary symbol sequence in the symbol sequence buffer is completed to form a complete binary symbol sequence! /! Branch whether or not. If a complete binary symbol sequence is constructed, the process proceeds to step A17; otherwise, the process returns to step Al1 to continue decoding the arithmetic code.
  • step A17 inverse binary conversion is performed as necessary.
  • the required conditions include elements related to syntax and elements that may be referred to in context selection.
  • the entire processing flow operates according to the flow of FIG. However, the decryption subroutine called is different from the processing unit 31.
  • the decoding subroutine used in the processing unit 32 is inverse binary conversion, and decodes a multilevel symbol from a binary symbol sequence. Since the processing unit 32 does not relate to the arithmetic code, it is not necessary to set the probability estimation value to the initial value in step A100.
  • the processing unit 31 performs a binary conversion
  • the processing unit 32 performs an arithmetic coding.
  • the memory 33 is accessible from the processing unit 31 and the processing unit 32, and is a multi-valued symbol input to the processing unit 31, a binary symbol string output from the processing unit 31 and input to the processing unit 32, and a processing unit. It holds 32 output code strings, probability expected values and block information required for processing.
  • step A200 initialization is performed.
  • step A210 the encoding mode of the block is encoded.
  • step A211 the process branches depending on whether there is motion vector information. If there is, go to step A220; otherwise, go to step A230.
  • step A220 the motion vector horizontal value is encoded.
  • step A221 the vertical value of the motion vector is encoded.
  • step A230 the coded flag is encoded.
  • step A231 the process branches depending on whether or not there is a coefficient. If there is a coefficient, go to step A240. If there is no coefficient, go to step A250.
  • step A240 the coefficients are coded.
  • step A241 the process branches depending on whether or not the coefficient ends. In the case of termination, the process proceeds to step A250.
  • Step A250 branches depending on whether or not the encoding is completed. If not, the process proceeds to step A210.
  • the encoding process performed in these steps is a binarization conversion, in which a multi-level symbol is converted into a binary symbol sequence, and an output subroutine for outputting is called to call! / ⁇ .
  • the In the output subroutine the number of output binary symbols is counted and external reference is possible.
  • step A200 an encoding subroutine called initialization of step A200 is different from the processing unit 31.
  • the encoding subroutine used in the processing unit 32 the multi-level symbol is decoded from the binary symbol sequence by the inverse binary conversion, and the arithmetic encoding of the binary symbol sequence is performed.
  • the probability expected value is set to an initial value in the initialization of step A200.
  • step A20 inverse binary conversion is performed to output multi-valued symbols and store the corresponding binary symbol sequence in a symbol sequence buffer.
  • step A21 a probability estimate of the current context is obtained.
  • step A23 one binary symbol is extracted from the head of the symbol string buffer, subjected to arithmetic coding, and output.
  • the number of arithmetic codes and the number of generated bits are counted, and external reference is possible.
  • step A24 the probability estimation value is updated according to the value of the binary symbol. If the probability estimate is a symmetric representation, the MPS is inverted if the MPS probability estimate is less than 0.5.
  • step A25 the operation branches depending on whether the symbol string buffer is empty. If the symbol string buffer is empty, the process ends; otherwise, the process returns to step A21 to continue the arithmetic coding.
  • the processing section 31 outputs the binary symbol power output.
  • the processing section 32 knows the number of arithmetic coding and the number of generated bits.
  • the number of binary symbols stored in the memory can be obtained by reducing the number of output binary symbols and the number of arithmetic coding.
  • the relationship between the number of binary symbols and the number of code bits can be obtained from the number of arithmetic code conversions and the number of generated bits.
  • These values can also calculate the estimated number of generated bits.
  • the estimated number of generated bits may be calculated in an output subroutine of the processing unit 31 so that it can be referred to from outside, or the original value may be calculated outside.
  • the computer system is equipped with a CPU, and a buffer and a memory are connected to the CPU.
  • the memory stores programs for executing the decoding process and the encoding process according to the present invention. By executing this program on the CPU, the decoding process and the encoding process in the present invention are executed.
  • the power described above is not limited to application to binary arithmetic codes.
  • the decoder and encoder of the quaternary arithmetic code of the present invention can be configured simply by replacing the binary in the figures and explanations with a quaternary code. Further, even in a case where binary and ternary arithmetic codes are mixed, a configuration may be adopted in which the processing of binary arithmetic codes and the processing of ternary arithmetic codes are switched according to the context.
  • the present invention is not limited to these applications. If the block decoder 17 is replaced with an audio frame decoder and the block encoder 20 is replaced with an audio frame encoder, the present invention can be easily applied to an audio decoder and an audio encoder. In other media and data encoders and decoders, as long as the encoders and decoders use the binary coding algorithm, the encoder and decoder of the binary coding code of the present invention can be used as in the case of video and audio. A decoder can be applied.

Abstract

 本発明の2値化算術符号の復号器では、算術符号の復号と逆2値化変換を分離し、その間に大きな中間バッファを挿入する。まず、算術符号の復号はストリームが入力された時点で行う。これにより、算術符号は復号器の最大入力ビットレートで復号できればよくなる。得られた2値化シンボル列はいったん中間バッファにとどめておく。そして、2値化シンボル列から多値シンボルへの逆2値化変換は、後段のブロック復号器の処理に合わせて行う。

Description

明 細 書
算術符号の復号器または符号ィ匕器と逆 2値ィ匕変換器または 2値ィ匕変換器 との間に中間バッファが揷入された復号装置または符号化装置
技術分野
[0001] 本発明は、算術符号の復号および符号ィ匕に関する。特に、多値シンボルを 2値ィ匕 した 2値シンボル列の算術符号の復号および符号ィ匕の実装に関する。
背景技術
[0002] 2値化算術符号化は圧縮符号化技術の 1つである。 2値ィ匕算術符号ィ匕では、 1つの 多値シンボルを 2値化して 2値シンボル列を生成し、この 2値シンボル列を算術符号 化することで、最終的な 2値化算術符号を得る。算術符号はハフマン符号などと比較 すると処理コストが高ぐこれまでファイル圧縮や静止画圧縮などの実時間性が要求 されないアプリケーションで利用されてきたにすぎない。ところが近年の LSIの高速ィ匕 にともない、映像の符号ィ匕にも採用されるようになってきた。その 1つに、 Internatio nal elecommunication Union Ί elecommunication Standardization S ector (ITU-T)が制定して ヽる新し ヽビデオコーデックの国際標準規格 H. 264の Main Profileがある。
[0003] H. 264では 2値化算術符号を Context— based Adaptive Binary Arithmeti c Coding (CABAC:キヤバック)と呼んで!/、る。 CABACの詳細につ!、ては、 IEEE 学会の International Conference on Image Processing (ICIP)【こお ヽて、 D. Marpeら力 2002 " 「Context—based adaptive binary arithmeti c coding in JVT/H. 26L」と! /、う題で報告しており(2002 IEEE Internatio nal Conference on Image Processing, ISBN : 0-7803-7623-4 IEEE Catalog No. : 02CH37396, pages 2— 513— 2—536)、 2001年会合で「Vide o compression using context— based adaptive arithmetic codingjと ヽっ 題で報告している(2001 IEEE International Conference on Image Proc essing, ISBN: 0-7803-6725-1 , pages 558— 561)。
[0004] CABACでは、まず符号化すべき多値シンボルを 2値シンボル(Bin)の列に 2値ィ匕 変換(Binarization)し、各 Binを Binごとに定められたコンテクスト(Context)に対 する確率推定値にしたがって 2値算術符号ィ匕する。 2値ィ匕変換は数値を数式で規定 されたフォーマットに合わせて多値をビットパターンに変換する力 これは簡易な可 変長符号化 (VLC)と考えることができる。コンテクストの選択では、もともとの多値シ ンボルが何を表している力 周辺ブロックのパラメータ、 2値シンボル列の何番目力、 という状況が用いられる。逆に復号では、現在復号しょうとしている 2値シンボルのコ ンテクストから確率推定値を求め、算術符号の復号を行う。 2値シンボルが復元され れば、確率推定値の更新を行うとともに、次に復号すべき 2値シンボルのコンテクスト を選択する。
[0005] 理想的な算術符号ィ匕はデータをエントロピーの限界まで圧縮できるので、理論的に は 1ビットで無限の Binを表すことができる。ただしこのままでは実装が困難なので、 C ABACでは簡略ィ匕した算術符号ィ匕を採用するとともに、 1ビット当たりの平均 Bin数に 上限を設けている。簡略化では乗算をテーブル引きで代用しており、 1つの Binのデ コードに必要な演算を、テーブル引き、比較、減算に抑えている。
[0006] H. 264 CABACのような 2値ィ匕算術符号ィ匕では、算術符号の復号および符号化 の処理コストが高い。
[0007] 図 1に H. 264復号器の全体構成を示す。
[0008] H. 264復号器はストリームを受信してとどめておく CPBバッファ 41と、各フレームを フレーム間隔ごとに復号する瞬時復号器 42から構成される。瞬時復号器 42は、 CA BAC復号器 43とブロック復号器 44から構成される。ブロック復号器 44は、逆量子化 、逆離散整数変換、動き補償予測、ループ内フィルタ処理などを行っており、画素数 に比例した処理コストとなって 、る。
[0009] これに対して CABAC復号器 43の処理コストは Bin数に比例する。
[0010] 図 2に CABAC復号器の詳細を示す。
[0011] CABAC復号器 51は 2値算術符号復号器 54、逆 2値ィ匕変 55、コンテクストご との確率推定値を保存するメモリ 52と、これらを制御する制御器 53から構成される。 処理の単位は Binの復号であり、制御器 53は Binを復号するたびに、確率推定値を 更新するとともに、 H. 264規格の文法にしたがって内部のステートを遷移させる。こ れらの処理は複数の Binをまとめて行うことができないため、 Bin数が処理コストを決 定する。
[0012] ここで具体的にどれだけの処理コストになるのかを算出してみる。各フレームの圧縮 率はフレームの符号化タイプ(フレーム内もしくはフレーム間)や予測の的中度合 、、 画質によって異なるため、各フレームのビット数はフレームごとに変動する。つまり、 C ABAC復号器の処理コストはフレームごとに変動する。規格では 1フレームの最大ビ ット数は 2048 X Max MBPS X Delta Time X Chroma Format Factor/Mi nCRで与えられており、フレーム期間平均の最大ビットレートに換算すると 2048 X M ax MBPS X Chroma Format FactorZMinCRとなる。ここで Max MBPSは 1 秒当たりの最大マクロブロック数、 Delta Timeはフレーム時間間隔、 Chroma For mat Factorは輝度信号に対して色信号を加えた場合のサンプル数の比率、 MinC Rは最低圧縮率である。
[0013] Annex A記載の Level 4. 1では Max MBPS = 245760、 Chroma Format
Factor= l. 5、 MinCR= 2なので、最大ビットレートは 377Mbpsとなる。 Bin対ビ ットの圧縮率は 1. 33以下となるように規定されているので、最大 Binレートに換算す ると 503MbinZsecとなる。最大ビットレートをフレーム期間平均で求めているので、 ここでの最大 Binレートはフレーム期間平均で処理すべき Binの数をフレーム期間で 除した値となっている。復号器の性能がこの最大 Binレートを達成できていないと、フ レームを表示すべき時刻までに復号処理が終わらず、フレームの欠落と!/、つた大き な画質劣化を引き起こす。
[0014] 以上は復号器の実装について説明したが、逆の動作を行う符号化器も同様になる
[0015] 図 3に H. 264符号化器の構成を示す。
[0016] ブロック符号化器 63は入力された画素レートで、動き補償予測、離散整数変換、量 子化、逆量子化、逆離散整数変換、ループ内フィルタ処理などを行う。その後、プロ ック情報は 2値ィ匕変 64で Bin列に変換される。 Bin列は算術符号化器 65で符号 ビット列に変換され、出力バッファ 66に送られる。出力バッファ 66の蓄積量はブロック 符号化器 63にフィードバックされ、ブロック符号化器 63内部の符号量制御に用いら れる。
[0017] 2値ィ匕ではブロック情報の 1つの要素、たとえば変換係数が複数の Binに変換され る。そのため、 Bin列の生成速度は瞬間的には画素レートの 10倍以上になる。それ 以後の Bin列を扱う制御器 62やメモリ 61、算術符号化器 65はその速度で動く必要 がある。フレーム期間での処理を考えると、 H. 264符号化器の最大 Binレートは H. 264復号器の場合と同じく 503MbinZsecとなる。
[0018] 従来の技術では、高いビットレートでの実時間処理が依然として困難である。たとえ ば、 H. 264規格書の記載の通りに復号処理を行おうとすると、処理すべき Binレート は非現実的な値となる。 H. 264 Level 4. 1の規定を満たす最大 Binレートは 503 MbinZsecであり、 1つの Binを 2サイクルで処理できたとしても、 1GHz以上の周波 数で CABAC復号器や算術符号化器を動作させなければならな ヽ。この値は現状 の LSIで容易に、もしくは安価に実現可能な速度の数倍となってしまっている。
発明の開示
[0019] 本発明の目的は、従来技術と比較して、低い最大 Binレートで実時間での 2値ィ匕算 術符号の復号を行う復号器、および符号化を行う符号化器を提供することにある。
[0020] 上記目的を達成するために、本発明の復号器は、 2値算術符号の入力に応じて、 2 値算術符号を復号し、 2値シンボルを得る算術符号復号手段と、復号された 2値シン ボルを蓄積するノ ッファと、ノッファから 2値シンボルを取り出す際、自身の出力に応 じて 2値シンボルを取り出し、多値シンボルに変換して出力する逆 2値ィ匕変換手段を 有することを特徴とする。
[0021] この構成において、算術符号復号手段と逆 2値化変換手段は別々に動作しており 、通常異なる速度で処理を進める。
[0022] 上記目的を達成するために、本発明の符号化器は、多値シンボルの入力に応じて 、多値シンボルを 2値シンボルに変換する 2値ィ匕変換手段と、 2値シンボルを蓄積す るバッファと、ノ ッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンポ ルを取り出して 2値算術符号を生成する算術符号ィ匕手段を有することを特徴とする。
[0023] この構成において、算術符号化手段と 2値化変換手段は別々に動作しており、通 常異なる速度で処理を進める。算術符号化手段が達成すべき処理性能は出力符号 レートの最大値で規定できる。一方、 2値ィ匕変換手段では多値シンボルの単位で処 理が可能なため、これが達成すべき処理性能は入力多値シンボルレートの最大値で 規定できる。
[0024] 本発明によれば、 2値化算術符号の復号器および符号化器が達成すべき 2値シン ボル処理レートの最大値を大幅に下げることができる。本発明の算術符号復号手段 が達成すべき処理性能は入力符号レートの最大値で規定でき、同様に本発明の算 術符号の符号化手段が達成すべき処理性能は出力符号レートの最大値で規定でき る。
[0025] たとえば、 H. 264の Level 4. 1に適用する場合、 Max Video Bitrateが 50M bpsなので、最大 Binレートは 66. 7MbinZsecとなる。この値は従来の技術の場合 の 7分の 1以下となっており、実装が大幅に容易になることが分かる。
[0026] 従来技術では CPBバッファにストリームをためていたが本発明では不要となる。そ の代わりに CPBバッファよりも若干大きなメモリ手段を必要としている。 H. 264の場 合には算術符号の圧縮率が 1. 33以下となるように制限されているので、メモリ手段 は CPBバッファの 1. 33倍の大きさがあればよい。
[0027] 本発明の符号化器は 2値もしくは多値シンボルのバッファを持って!/、るため、バッフ ァ遅延分だけ遅れるが、ビット数推定手段が生成される実際の符号ビット数を得ること ができるので、遅れのない推定値をその代替として提供できる。また、ビデオ符号ィ匕 器などの符号量制御が必要な場合、遅延された生成ビット数を用いると制御が不安 定になるが、本発明ではその推定値が使えるのでバッファ遅延の影響を抑圧できる。 図面の簡単な説明
[0028] [図 1]国際標準規格 ITU-T H. 264復号器のブロック図である。
[図 2]H. 264 CABAC復号器の内部のブロック図である。
[図 3]H. 264符号化器のブロック図である。
圆 4]本発明の 2値ィ匕算術符号の復号器を用いた映像復号器のブロック図である。
[図 5]本発明の 2値ィ匕算術符号の符号化器を用いた映像符号化器のブロック図であ る。
[図 6]本発明の 2値ィ匕算術符号の復号器もしくは符号化器のブロック図である。 [図 7]本発明の 2値ィ匕算術符号の復号処理を示すフローチャートである。
[図 8]本発明の復号処理サブルーチンのフローチャートである。
[図 9]本発明の 2値ィ匕算術符号の符号ィ匕処理を示すフローチャートである。
[図 10]本発明の符号化処理サブルーチンのフローチャートである。
発明を実施するための最良の形態
[0029] 本発明の算術符号の復号器は、 2値算術符号の入力に応じて復号して 2値シンポ ルを得る算術符号復号器と、 2値シンボルを蓄積する中間ノ ッファと、中間ノ ッファか ら 2値シンボル列を取り出して多値シンボルに変換して出力し、この多値シンボルの 出力に応じて中間ノ ッファから 2値シンボル列を取り出す逆 2値ィ匕変換手段を備える
[0030] また、本発明における算術符号の符号化器は、多値シンボルの入力に応じて多値 シンボルを 2値シンボルに変換する 2値ィ匕変換手段と、 2値シンボルを蓄積するバッ ファと、ノ ッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを 取り出して 2値算術符号を生成する算術符号ィ匕手段を備える。
[0031] また、本発明における算術符号の復号器は、算術符号の入力に応じて算術符号を 復号して多値シンボルを得る算術符号復号手段と、多値シンボルを蓄積するバッフ ァと、バッファ力も多値シンボルを取り出す際、自身の出力に応じて多値シンボルを 取り出して出力シンボルに変換して出力する逆変換手段を備える。
[0032] また、本発明における算術符号の符号化器は、入力シンボルの入力に応じて入力 シンボルを多値シンボルに変換する変換手段と、多値シンボルを蓄積するバッファと 、ノ ッファカも多値シンボルを取り出す際、自身の出力に応じて多値シンボルを取り 出して算術符号を生成する算術符号ィ匕手段を備える。
[0033] 図 4は、本発明の 2値ィ匕算術符号の復号器を用いた映像復号器のブロック図である
[0034] 算術符号復号器 10は入力されたストリームの算術符号を復号して 2値シンボル (Bi n)を得て、制御器 11、逆 2値ィ匕変 12に供給するとともに、中間バッファ 14に格 納する。復号に必要となるコンテクストの確率推定値は制御器 11から供給される。
[0035] 制御器 11はストリームの文法にしたがい、現在復号すべき 2値シンボルからコンテ タストを選択し、メモリ 13からその確率推定値を取得するとともに、確率推定値を算術 符号復号器 10に供給する。コンテクストの選択においては、必要であればメモリ 13 に格納されて 、るブロック情報を用いる。制御器 11は算術符号復号器 10から 2値シ ンボルを得ると、メモリ 13に格納されている確率推定値を更新するとともに、 2値シン ボル列の構成情報を逆 2値ィ匕変換器 12に供給する。構成情報としては、多値シンポ ルの示しているパラメータ名、 2値シンボル列のフォーマット情報、逆変換を行うタイミ ングなどがある。
[0036] 逆 2値ィ匕変翻 12は、算術符号復号器 10から得られる 2値シンボルと制御器 11か ら供給される構成情報から、必要に応じて 2値シンボル列を多値シンボルに変換し、 その結果として得られるブロック情報をメモリ 13に格納する。ストリームに含まれるプロ ック情報には、量子化された変換係数、量子化パラメータ、有効ブロックパターン、予 測モード、動きベクトルなどがある力 メモリ 13に格納すべきブロック情報は制御器 1 1が参照するものである。
[0037] 中間ノッファ 14は、算術符号復号器 10で得られた 2値シンボルを格納し、後段の 制御器 15と逆 2値ィ匕変翻16に 2値シンボルを供給する。また、制御器 15に 2値シ ンボルを供給する際、制御器 15からの指示に基づいて、 2値シンボルを供給する。
[0038] 制御器 15はストリームの文法にしたがい、中間バッファ 14から 2値シンボル列を得 て、構成情報を逆 2値化変換器 16に供給する。
[0039] 逆 2値ィ匕変 16は、中間バッファ 14から 2値シンボル列を得て、制御器 15から 供給される構成情報から、 2値シンボル列を多値シンボルに変換し、その結果として 得られるブロック情報をブロック復号器 17に供給する。
[0040] ブロック復号器 17は、逆 2値ィ匕変 から供給されるブロック情報にもとづき、逆 量子化、逆整数変換、動き補償予測、ループ内フィルタの処理を行うことで復号画像 を得て、得られた復号画像を出力する。
[0041] 中間ノッファ 14よりも前段のブロックである算術符号復号器 10、制御器 11、逆 2値 化変翻 12、メモリ 13は、算術符号復号器 10に入力されるストリームのビット、ノ イト またはバイト列などに合わせて処理を進めていく。これに対して、中間バッファ 14より も後段のブロックである制御器 15、逆 2値ィ匕変翻16、ブロック復号器 17は、復号 画像の出力に合わせて処理を進める。このように算術符号復号器 10と逆 2値ィ匕変換 器 16は別々に動作しており、通常異なる速度で処理を進めている。中間ノ ッファ 14 は前後の処理速度の違 、を吸収する。
[0042] 図 5は本発明の 2値ィ匕算術符号の符号化器を用いた映像符号化器のブロック図で ある。
[0043] ブロック符号化器 20は、ビット数推定器 27から与えられる推定生成ビット数を参考 にして、入力画像に対して動きべ外ル探索、動き補償予測、離散整数変換、量子化 、逆量子化、逆離散整数変換、ループ内フィルタの処理を行い、ブロック情報を生成 する。ブロック情報はストリーム構成に必要な情報であり、量子化された変換係数、量 子化パラメータ、有効ブロックパターン、予測モード、動きベクトルなどが含まれる。
[0044] 得られたブロック情報は 2値ィ匕変 21で 2値シンボル列に変換され、その結果は 中間バッファ 22に格納される。
[0045] 中間ノッファ 22は、 2値ィ匕変翻21で変換された 2値シンボル列を格納し、算術符 号化器 25からの指示にもとづいて、算術符号化器 25に 2値シンボルを供給する。ま た、中間バッファ 22は、蓄積量をビット数推定器 27に供給する。
[0046] 逆 2値ィ匕変 23は、中間バッファ 22から得られる 2値シンボル列と、制御器 24か ら供給される構成情報から、ブロック情報を復元し、メモリ 26に格納する。ここで復元 すべきブロック情報は制御器 24が参照するものである。
[0047] 制御器 24はストリームの文法にしたがい、現在符号化すべき 2値シンボルからコン テクストを選択し、メモリ 26からその確率推定値を取得するとともに、確率推定値を算 術符号化器 25に供給する。コンテクストの選択においては、必要であればメモリ 26 に格納されているブロック情報を用いる。中間バッファ 22から 2値シンボルを得ると、 メモリ 26に格納されている確率推定値を更新するとともに、 2値シンボル列の構成情 報を逆 2値化変換器 23に供給する。
[0048] 算術符号化器 25は、中間バッファ 22から得た 2値シンボルと、制御器 24から得た 確率推定値から 2値算術符号化を行い、得られたストリームを出力する。また、算術 符号ィ匕で読み出した 2値シンボル数と生成した符号のビット数をビット数推定器 27に 供給する。 [0049] ビット数推定器 27は、算術符号化器 25から供給される 2値シンボル数と符号ビット 数から、 2値シンボル数と符号ビット数の関係を推定し、中間バッファ 22から供給され る蓄積量をビット数に換算して生成ビット数を求め、ブロック符号化器 20に供給する。
[0050] 中間ノッファ 22よりも前段のブロックであるブロック符号化器 20、 2値ィ匕変 21、 ビット数推定器 27は、ブロック符号化器 20に入力される画像のビット、バイト、ノイト 列に合わせて処理を進めていく。これに対して、中間バッファ 22よりも後段のブロック である逆 2値ィ匕変 23、制御器 24、算術符号化器 25、メモリ 26はストリームの出 力に合わせて処理を進める。このように 2値ィ匕変 21と算術符号化器 25は別々に 動作しており、通常異なる速度で処理を進めている。中間ノ ッファ 22は前後の処理 速度の違いを吸収する。
[0051] 図 6は本発明の別の実施の形態を示すブロック図である。
[0052] 図 6で本発明の 2値算術符号の復号器を構成する場合、処理部 31は算術符号の 復号を行い、処理部 32は逆 2値化変換を行う。メモリ 33は、処理部 31と処理部 32か らアクセス可能であり、処理部 31の入力となる符号列、処理部 31の出力かつ処理部 32の入力となる 2値シンボル列、処理部 32の出力となる多値シンボル、処理で必要 となる確率期待値やブロック情報などを保持する。
[0053] なお、図 6は論理的な構成を示すために処理部 31と処理部 32を分けているが、ォ ペレ一ティングシステムがマルチプロセス機能を提供して ヽる場合や、米 Intel製 Hy per Threading対応 CPUのように単体プロセッサでマルチプロセス処理が可能な 場合、物理的には 1つとなる。また、メモリ 33は物理的に単一メモリである必要はなく 、処理部 31からしかアクセスしな 、変数はバス接続でなく処理部 31に直結して 、て も構わない。
[0054] 次に図 7を参照して、処理部 31で算術符号の復号を行う場合の動作を説明する。
[0055] 符号ィ匕方式のシンタックスには、符号化モード、動きベクトル、コーデッドフラグ、係 数が存在し、これらが 2値算術符号化されていることを想定している。ここで、符号ィ匕 モードからは動きベクトル情報の有無を知ることができ、コーデッドフラグは係数の有 無を知ることができる。
[0056] まず、ステップ A100において初期化を行う。初期化では、コンテクストごとの確率 推定値を初期値に設定する。ステップ A110ではブロックの符号ィ匕モードを復号する 。ステップ Al l 1では動きベクトル情報があるかどうかで分岐する。動きベクトル情報 がある場合にはステップ A120へ、動きベクトル情報がない場合にはステップ A130 へ進む。
[0057] ステップ A120では動きベクトル水平値を復号する。ステップ A121では動きべタト ル垂直値を復号する。ステップ A130ではコーデッドフラグを復号する。ステップ A13 1では係数があるかないかで分岐する。係数がある場合にはステップ A140へ、係数 がない場合にはステップ A150へ進む。
[0058] ステップ A140では係数を復号する。ステップ A141では係数が終了かどうかで分 岐する。終了の場合にはステップ A150へ、係数が続いている場合にはステップ A1 40へ進む。
[0059] ステップ A150は符号列の終了かどうかで分岐する。終了でなければステップ Al l 0へ進む o
[0060] これらのステップで行われる復号では、多値シンボルを復号するサブルーチンを呼 び出している。このサブルーチンは図 8の動作を行う。
[0061] 図 8を参照して、サブルーチンを説明する。
[0062] まずステップ A10ではシンボル列バッファを空にする。ステップ Al 1では現在のシ ンタックスに適合するコンテクストを選択する。必要であれば周辺ブロックの情報を用 いる。ステップ A12では現在のコンテクストの確率推定値を取得する。ステップ A13 では算術符号の復号を行う。符号の入力を待ち、入力されれば符号語の現在値と確 率推定値を比較して、大小関係から 2値シンボルを得る。 2値シンボルの 0と 1に対し て対称の動作をするのであれば、確率推定値を MPSの値と MPSの確率推定値とで 表現 (対称表現)することもできる。ここで、 MPSとは発生確率の推定値の高いシンポ ルであり、 MPSの確率推定値は 0. 5から 1の値を取る。ステップ A14では得られた 2 値シンボルをシンボル列バッファに蓄えるとともに、メモリへ出力する。ステップ A15 では 2値シンボルの値に応じて確率推定値を更新する。確率推定値が対称表現の 場合、 MPSの確率推定値が 0. 5未満となれば、 MPSを反転する。ステップ A16で は、シンボル列バッファ内の 2値シンボル列力 完結した 2値シンボル列を構成して!/ヽ るかどうかで分岐する。完結した 2値シンボル列を構成して 、ればステップ A17へ進 み、そうでなければステップ Al 1に戻って算術符号の復号を続ける。
[0063] ステップ A17では必要に応じて逆 2値ィ匕変換を行う。必要となる条件としては、シン タックスに関わる要素やコンテクスト選択で参照される可能性がある要素がある。
[0064] 次に処理部 32で逆 2値化変換を行う場合の動作を説明する。全体の処理の流れ は処理部 31と同様に図 7のフローで動作する。ただし、呼び出される復号サブルー チンが処理部 31とは異なる。処理部 32で用いる復号サブルーチンは逆 2値変換で あり、 2値シンボル列から多値シンボルを復号するものとなる。処理部 32は算術符号 に関係しな 、ので、ステップ A100で確率推定値を初期値に設定する必要はな 、。
[0065] 図 6で本発明の 2値算術符号の符号化器を構成する場合、処理部 31は 2値化変換 を行い、処理部 32は算術符号化を行う。メモリ 33は、処理部 31と処理部 32からァク セス可能であり、処理部 31の入力となる多値シンボル、処理部 31の出力かつ処理部 32の入力となる 2値シンボル列、処理部 32の出力となる符号列、処理で必要となる 確率期待値やブロック情報などを保持する。
[0066] 次に図 9を参照して、処理部 31で 2値ィ匕変換を行う場合の動作を説明する。
[0067] まず、ステップ A200にお!/、て初期化を行う。ステップ A210ではブロックの符号化 モードを符号化処理する。ステップ A211では動きベクトル情報があるかどうかで分岐 する。ある場合にはステップ A220へ、ない場合にはステップ A230へ進む。
[0068] ステップ A220では動きベクトル水平値を符号化処理する。ステップ A221では動き ベクトル垂直値を符号化処理する。ステップ A230ではコーデッドフラグを符号ィ匕処 理する。ステップ A231では係数があるかないかで分岐する。係数がある場合にはス テツプ A240へ、係数がな!、場合にはステップ A250へ進む。
[0069] ステップ A240では係数を符号化処理する。ステップ A241では係数終了かどうか で分岐する。終了の場合にはステップ A250へ、係数が続いている場合にはステップ A240へ進む。
[0070] ステップ A250は符号ィ匕の終了かどうかで分岐する。符号ィ匕の終了でなければステ ップ A210へ進む。これらのステップで行われる符号化処理は 2値化変換であり、多 値シンボルを 2値シンボル列に変換し、出力する出力サブルーチンを呼び出して!/ヽ る。出力サブルーチンでは、出力した 2値シンボル数をカウントし、外部からの参照可 能にしておく。
[0071] 次に処理部 32で算術符号化を行う場合の動作を説明する。全体の処理の流れは 処理部 31と同様に図 9のフローで動作する。ただし、ステップ A200の初期化と呼び 出される符号化処理サブルーチンが処理部 31とは異なる。処理部 32で用いる符号 化処理サブルーチンでは、逆 2値変換により 2値シンボル列から多値シンボルを復号 するとともに、 2値シンボル列の算術符号ィ匕を行う。算術符号ィ匕を行うにあたり、ステツ プ A200の初期化では確率期待値を初期値に設定しておく。
[0072] 図 10を参照して、処理部 32の符号化処理サブルーチンの動作を説明する。
[0073] まずステップ A20にお 、て、逆 2値ィ匕変換を行 、、多値シンボルを出力するとともに 、対応する 2値シンボル列をシンボル列バッファに格納する。ステップ A21では現在 のコンテクストの確率推定値を取得する。
[0074] ステップ A23では、シンボル列バッファの先頭から 2値シンボルを 1つ取り出し、算 術符号化を行って出力する。算術符号ィ匕の回数と生成したビット数とをカウントし、外 部からの参照可能にしておく。
[0075] ステップ A24では 2値シンボルの値に応じて確率推定値を更新する。確率推定値 が対称表現の場合、 MPSの確率推定値が 0. 5未満となれば、 MPSを反転する。ス テツプ A25では、シンボル列バッファが空か否かで分岐する。シンボル列バッファが 空であれば終了し、そうでなければステップ A21に戻って算術符号ィ匕を続ける。
[0076] 処理部 31では出力した 2値シンボル数力 処理部 32では算術符号化の回数と生 成したビット数が分かる。メモリ上に蓄積されている 2値シンボル数は、出力した 2値シ ンボル数力も算術符号ィ匕の回数を減じることで求まる。また、 2値シンボル数と符号ビ ット数の関係は、算術符号ィ匕の回数と生成したビット数から求めることができる。これ らの値力も推定生成ビット数を算出することができる。推定生成ビット数は、処理部 31 の出力サブルーチン内で算出して外部から参照可能にしておいてもよいし、外部で 元となる値力も算出してもよい。
[0077] 次に、上述した 2値算術符号の復号を行う復号器および符号化器をコンピュータシ ステムにより実行する例を説明する。 [0078] コンピュータシステムには、 CPUが装備されており、 CPUにはバッファおよびメモリ が接続されている。
[0079] メモリには、本発明における復号処理および符号ィ匕処理を実行するためのプロダラ ムが格納されている。このプログラムを CPUで実行することにより、本発明における復 号処理および符号化処理が実行される。
[0080] なお、上述した実施の形態では 2値算術符号を扱う場合にっ 、て説明した力 本 発明は 2値算術符号への適用に限られるものではない。 4値の算術符号を用いる場 合には、図および説明の 2値を 4値に読み替えるだけで、本発明の 4値算術符号の 復号器や符号化器を構成できる。また、 2値と 3値との算術符号が混在するような場 合でも、コンテクストに合わせて 2値算術符号の処理と 3値算術符号の処理を切り替 えるように構成すればょ 、。
[0081] 以上、映像復号器と映像符号化器を例にして、本発明の実施の形態を説明したが 、本発明はこれらの適用に限られるものではない。ブロック復号器 17を音声フレーム 復号器、ブロック符号化器 20を音声フレーム符号化器に置き換えれば、容易に音声 復号器、音声符号化器への適用が可能である。他のメディアやデータの符号化器や 復号器でも、 2値ィ匕算術符号を用いるものであれば、映像や音声の場合と同様に、 本発明の 2値ィ匕算術符号の符号化器と復号器を適用できる。

Claims

請求の範囲
[1] 2値算術符号の入力に応じて、 2値算術符号を復号し、 2値シンボルを得る算術符 号復号手段と、
前記復号された 2値シンボルを蓄積するバッファと、
前記バッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを取 り出し、多値シンボルに変換して出力する逆 2値ィ匕変換手段を有する 2値ィ匕算術符 号の復号器。
[2] 多値シンボルの入力に応じて、多値シンボルを 2値シンボルに変換する 2値ィ匕変換 手段と、
前記 2値シンボルを蓄積するバッファと、
前記バッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを取 り出して 2値算術符号を生成する算術符号ィ匕手段を有する 2値ィ匕算術符号の符号ィ匕
[3] 算術符号の入力に応じて、算術符号を復号して多値シンボルを得る算術符号復号 手段と、
前記多値シンボルを蓄積するバッファと、
前記バッファ力 多値シンボルを取り出す際、自身の出力に応じて多値シンボルを 取り出して出力シンボルに変換して出力する逆変換手段を有する算術符号の復号
[4] 入力シンボルの入力に応じて、入力シンボルを多値シンボルに変換する変換手段 と、
前記多値シンボルを蓄積するバッファと、
前記バッファ力 多値シンボルを取り出す際、自身の出力に応じて多値シンボルを 取り出して算術符号を生成する算術符号ィヒ手段を有する算術符号の符号化器。
[5] 前記算術符号ィ匕手段が取り出した 2値シンボル数と生成した符号のビット数力も 2 値シンボル数と符号ビット数の関係を推定し、前記バッファの蓄積量から算術符号化 後に生成される符号ビット数を推定するビット数推定手段をさらに有する、請求項 2に 記載の 2値化算術符号の符号化器。
[6] 前記算術符号ィ匕手段が取り出した多値シンボル数と生成した符号のビット数力 多 値シンボル数と符号ビット数の関係を推定し、前記バッファの蓄積量から算術符号化 後に生成される符号ビット数を推定するビット数推定手段をさらに有する、請求項 4に 記載の算術符号の符号化器。
[7] 復号された 2値シンボルを蓄積するノ ッファを有する復号器における復号方法であ つて、
2値算術符号の入力に応じて、 2値算術符号を復号し、 2値シンボルを得る算術符 号復号ステップと、
前記バッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを取 り出し、多値シンボルに変換して出力する逆 2値ィ匕変換ステップを有する 2値ィ匕算術 符号の復号方法。
[8] 変換された 2値シンボルを蓄積するバッファを有する符号化器における符号ィ匕方法 であって、
多値シンボルの入力に応じて、多値シンボルを 2値シンボルに変換する 2値ィ匕変換 ステップと、
前記バッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを取 り出して 2値算術符号を生成する算術符号化ステップを有する 2値化算術符号の符 号化方法。
[9] 復号された多値シンボルを蓄積するバッファを有する復号器における複合方法で あって、
算術符号の入力に応じて、算術符号を復号して多値シンボルを得る算術符号復号 ステップと、
前記バッファ力 多値シンボルを取り出す際、自身の出力に応じて多値シンボルを 取り出して出力シンボルに変換して出力する逆変換ステップを有する算術符号の復 号方法。
[10] 変換された多値シンボルを蓄積するバッファを有する符号化器における符号ィ匕方 法であって、
入力シンボルの入力に応じて、入力シンボルを多値シンボルに変換する変換ステツ プと、
前記バッファ力 多値シンボルを取り出す際、自身の出力に応じて多値シンボルを 取り出して算術符号を生成する算術符号化ステップを有する算術符号の符号ィ匕方 法。
[11] 取り出した 2値シンボル数と生成した符号のビット数から 2値シンボル数と符号ビット 数の関係を推定し、前記バッファの蓄積量力 算術符号ィ匕後に生成される符号ビット 数を推定するビット数推定ステップをさらに有する、請求項 8に記載の 2値ィ匕算術符 号の符号化方法。
[12] 取り出した多値シンボル数と生成した符号のビット数力 多値シンボル数と符号ビッ ト数の関係を推定し、前記バッファの蓄積量力 算術符号ィ匕後に生成される符号ビッ ト数を推定するビット数推定ステップをさらに有する、請求項 10に記載の算術符号の 符号化方法。
[13] 復号された 2値シンボルを蓄積するバッファを有するコンピュータのプログラムであ つて、
前記コンピュータを、
2値算術符号の入力に応じて復号して 2値シンボルを得る算術符号復号手段と、 前記バッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを取 り出し、多値シンボルに変換して出力する逆 2値ィ匕変換手段として機能させるプログ ラム。
[14] 変換された 2値シンボル列を蓄積するバッファを有するコンピュータのプログラムで あって、
前記コンピュータを、
多値シンボルの入力に応じて 2値シンボル列に変換する 2値ィ匕変換手段と、 前記バッファから 2値シンボルを取り出す際、自身の出力に応じて 2値シンボルを取 り出し、 2値算術符号を生成する算術符号ィ匕手段として機能させるプログラム。
[15] 復号された多値シンボルを蓄積するバッファを有するコンピュータのプログラムであ つて、
前記コンピュータを、 算術符号の入力に応じて復号し、多値シンボルを得る算術符号復号手段と、 前記バッファ力 多値シンボルを取り出す際、自身の出力に応じて多値シンボルを 取り出し、出力シンボルに変換して出力する逆変換手段として機能させるプログラム
[16] 変換された多値シンボル列を蓄積するバッファ有するコンピュータのプログラムであ つて、
前記コンピュータを、
入力シンボルの入力に応じて多値シンボル列に変換する変換手段と、 前記バッファ力 多値シンボル列を取り出す際、自身の出力に応じて多値シンボル を取り出し、算術符号を生成する算術符号ィ匕手段として機能させるプログラム。
[17] 前記コンピュータを、前記算術符号化手段が取り出した 2値シンボル数と生成した 符号のビット数から 2値シンボル数と符号ビット数の関係を推定し、前記バッファの蓄 積量力も算術符号ィ匕後に生成される符号ビット数を推定するビット数推定手段として さらに機能させる、請求項 14に記載のプログラム。
[18] 前記コンピュータを、前記算術符号化手段が取り出した多値シンボル数と生成した 符号のビット数力 多値シンボル数と符号ビット数の関係を推定し、前記バッファの蓄 積量力も算術符号ィ匕後に生成される符号ビット数を推定するビット数推定手段として さらに機能させる、請求項 16に記載のプログラム。
PCT/JP2004/015981 2003-10-29 2004-10-28 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置 WO2005041420A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005515029A JP4677901B2 (ja) 2003-10-29 2004-10-28 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置
EP20040817308 EP1684435A4 (en) 2003-10-29 2004-10-28 DECODING DEVICE OR CODING DEVICE WHICH IS INSERTED BETWEEN AN ARITHMETIC SIGNATURE DECODER OR CODIER AND DEBINARIZER OR BINARIZER AN INTERMEDIATE BUFFER
US10/577,146 US7301485B2 (en) 2003-10-29 2004-10-28 Decoding device or encoding device having intermediate buffer interposed between an arithmetic code decoder or encoder and a reverse binarization device or binarization device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003369176 2003-10-29
JP2003-369176 2003-10-29

Publications (1)

Publication Number Publication Date
WO2005041420A1 true WO2005041420A1 (ja) 2005-05-06

Family

ID=34510376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/015981 WO2005041420A1 (ja) 2003-10-29 2004-10-28 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置

Country Status (7)

Country Link
US (1) US7301485B2 (ja)
EP (1) EP1684435A4 (ja)
JP (1) JP4677901B2 (ja)
KR (1) KR100801364B1 (ja)
CN (1) CN100566178C (ja)
TW (1) TW200518481A (ja)
WO (1) WO2005041420A1 (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007116436A (ja) * 2005-10-20 2007-05-10 Matsushita Electric Ind Co Ltd 符号化装置及び復号化装置
JP2007202142A (ja) * 2006-01-12 2007-08-09 Lsi Logic Corp 高画質画像のためのコンテキスト適応的なバイナリ算術復号
WO2008001586A1 (en) * 2006-06-27 2008-01-03 Canon Kabushiki Kaisha Video coding apparatus and video coding method
WO2008002804A1 (en) * 2006-06-26 2008-01-03 Intel Corporation Hardware-based cabac decoder with parallel binary arithmetic decoding
JP2008072182A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
JP2008141531A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
JP2008141530A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
JP2008193248A (ja) * 2007-02-01 2008-08-21 Matsushita Electric Ind Co Ltd 画像符号化装置および画像復号化装置
JP2008294669A (ja) * 2007-05-23 2008-12-04 Toshiba Corp 画像符号化装置
JP2009504039A (ja) * 2005-08-04 2009-01-29 ▲ホア▼▲ウェイ▼技術有限公司 コンテキストベース適応型2値算術復号化システム及び装置
JP2009089179A (ja) * 2007-10-01 2009-04-23 Canon Inc エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
JP2010516191A (ja) * 2007-01-11 2010-05-13 トムソン ライセンシング MPEG−4AVC高位符号化におけるCAVLC4:4:4Intraプロファイル、HIGH4:4:4Intraプロファイル、及びHIGH4:4:4Predictiveプロファイルのcoded_block_flag構文要素及びcoded_block_pattern構文要素の構文を使用する方法及び装置
JP2010538547A (ja) * 2007-08-31 2010-12-09 クゥアルコム・インコーポレイテッド Cabacビットストリームの多段復号のためのアーキテクチャ
US8107552B2 (en) 2006-06-28 2012-01-31 Samsung Electronics Co., Ltd. System and method of wireless communication of uncompressed video having a fast fourier transform-based channel interleaver
US8194750B2 (en) 2006-10-16 2012-06-05 Samsung Electronics Co., Ltd. System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP)
US8406306B2 (en) 2009-03-06 2013-03-26 Panasonic Corporation Image decoding apparatus and image decoding method
US9591335B2 (en) 2010-04-13 2017-03-07 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US9807427B2 (en) 2010-04-13 2017-10-31 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190089962A1 (en) 2010-04-13 2019-03-21 Ge Video Compression, Llc Inter-plane prediction
US10248966B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724830B2 (en) * 2004-11-09 2010-05-25 Panasonic Corporation Decoding-processing apparatus and method
KR100829558B1 (ko) * 2005-01-12 2008-05-14 삼성전자주식회사 스케일러블 오디오 데이터 산술 복호화 방법 및 장치와스케일러블 오디오 비트스트림 절단 방법
JP4440863B2 (ja) * 2005-09-13 2010-03-24 パナソニック株式会社 符号化復号化装置、符号化復号化方法、符号化復号化集積回路、および符号化復号化プログラム
JP4745865B2 (ja) * 2006-02-28 2011-08-10 富士通セミコンダクター株式会社 符号化装置および方法
JP2008022383A (ja) * 2006-07-13 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置
US7912302B2 (en) * 2006-09-21 2011-03-22 Analog Devices, Inc. Multiprocessor decoder system and method
US7518536B2 (en) * 2007-03-30 2009-04-14 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method and apparatus for debinarization of digital video data during decoding
US7443318B2 (en) * 2007-03-30 2008-10-28 Hong Kong Applied Science And Technology Research Institute Co. Ltd. High speed context memory implementation for H.264
JP2008282178A (ja) 2007-05-09 2008-11-20 Toshiba Corp 産業用コントローラ
WO2008142956A1 (ja) * 2007-05-21 2008-11-27 Nec Corporation 映像符号化装置、映像符号化方法および映像符号化プログラム
US8055085B2 (en) * 2007-07-12 2011-11-08 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US8144037B2 (en) * 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7990289B2 (en) * 2007-07-12 2011-08-02 Intellectual Ventures Fund 44 Llc Combinatorial coding/decoding for electrical computers and digital data processing systems
US8138956B2 (en) * 2008-06-02 2012-03-20 Mediatek Inc. CABAC encoder and CABAC encoding method
US7714754B2 (en) * 2008-07-14 2010-05-11 Vixs Systems, Inc. Entropy decoder with pipelined processing and methods for use therewith
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
KR20120014676A (ko) * 2010-08-10 2012-02-20 에스케이 텔레콤주식회사 적응적 부호화/복호화 모드 인덱싱 기법을 이용한 영상 부호화/복호화 장치 및 방법
JP2012138661A (ja) * 2010-12-24 2012-07-19 Sony Corp 画像処理装置および方法
US8805099B2 (en) * 2011-06-22 2014-08-12 Panasonic Intellectual Property Corporation Of America Image decoding method and image coding method
US10250912B2 (en) * 2015-02-17 2019-04-02 Mediatek Inc. Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding
CN105207677B (zh) * 2015-09-01 2018-02-06 上海斐讯数据通信技术有限公司 一种图形化编解码系统及方法
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
CN109068144B (zh) * 2018-07-18 2021-03-12 北京奇艺世纪科技有限公司 一种概率估计方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176187A (ja) * 1991-12-20 1993-07-13 Fujitsu Ltd データ圧縮・復元装置
JPH0697834A (ja) * 1992-09-11 1994-04-08 Nippon Telegr & Teleph Corp <Ntt> 可変多値算術符号化方法
JPH099256A (ja) * 1995-04-18 1997-01-10 Fuji Xerox Co Ltd 画像符号化装置および画像復号装置
JP2000299641A (ja) * 1999-04-12 2000-10-24 Mitsubishi Electric Corp 符号化装置、復号化装置、符号化復号化装置、符号化方法並びに復号化方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2729165B2 (ja) 1995-10-31 1998-03-18 日本電気アイシーマイコンシステム株式会社 画像処理装置及びその処理方法
US6072909A (en) * 1995-12-13 2000-06-06 Fuji Xerox Co., Ltd. Image coding devise and image decoding devise using with image disassembly
JPH1155531A (ja) 1997-07-31 1999-02-26 Ricoh Co Ltd 算術符号化装置
JP3350482B2 (ja) 1999-06-04 2002-11-25 松下電送システム株式会社 算術符号化装置および算術復号化装置
JP3684128B2 (ja) 2000-02-18 2005-08-17 キヤノン株式会社 算術符号化/復号化方法ならびに算術符号化/復号化装置
US6677869B2 (en) * 2001-02-22 2004-01-13 Panasonic Communications Co., Ltd. Arithmetic coding apparatus and image processing apparatus
JP3929312B2 (ja) 2002-01-09 2007-06-13 パナソニック コミュニケーションズ株式会社 算術符号化装置および画像処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176187A (ja) * 1991-12-20 1993-07-13 Fujitsu Ltd データ圧縮・復元装置
JPH0697834A (ja) * 1992-09-11 1994-04-08 Nippon Telegr & Teleph Corp <Ntt> 可変多値算術符号化方法
JPH099256A (ja) * 1995-04-18 1997-01-10 Fuji Xerox Co Ltd 画像符号化装置および画像復号装置
JP2000299641A (ja) * 1999-04-12 2000-10-24 Mitsubishi Electric Corp 符号化装置、復号化装置、符号化復号化装置、符号化方法並びに復号化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MARPE D. ET AL: "Context-Based Adaptive Binary Arthmetic Ciding in H.264/AVC Video Compression Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 13, no. 7, July 2003 (2003-07-01), pages 620 - 636, XP001051191 *
See also references of EP1684435A4 *
SUZUKI T. ET AL: "MPEG-4AVC/H.26 no Gaiyo to Hyojunka Doko", INFORMATION PROCESSING SOCIETY OF JAPAN KENKYU HOKOKU, vol. 2002, no. 106, 15 November 2002 (2002-11-15), pages 69 - 73, XP002989309 *

Cited By (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4824757B2 (ja) * 2005-08-04 2011-11-30 ▲ホア▼▲ウェイ▼技術有限公司 コンテキストベース適応型2値算術復号化システム及び装置
JP2009504039A (ja) * 2005-08-04 2009-01-29 ▲ホア▼▲ウェイ▼技術有限公司 コンテキストベース適応型2値算術復号化システム及び装置
JP2007116436A (ja) * 2005-10-20 2007-05-10 Matsushita Electric Ind Co Ltd 符号化装置及び復号化装置
JP4540585B2 (ja) * 2005-10-20 2010-09-08 パナソニック株式会社 符号化装置及び復号化装置
US7817864B2 (en) 2005-10-20 2010-10-19 Panasonic Corporation Coding apparatus and decoding apparatus
JP2007202142A (ja) * 2006-01-12 2007-08-09 Lsi Logic Corp 高画質画像のためのコンテキスト適応的なバイナリ算術復号
WO2008002804A1 (en) * 2006-06-26 2008-01-03 Intel Corporation Hardware-based cabac decoder with parallel binary arithmetic decoding
GB2450287A (en) * 2006-06-26 2008-12-17 Intel Corp Hardware-based cabac decoder with parallel binary arithmetic decoding
GB2450287B (en) * 2006-06-26 2011-11-02 Intel Corp Binary arithmetic decoding apparatus and system
JP2008010943A (ja) * 2006-06-27 2008-01-17 Canon Inc 映像符号化装置及び映像符号化方法
WO2008001586A1 (en) * 2006-06-27 2008-01-03 Canon Kabushiki Kaisha Video coding apparatus and video coding method
US8107552B2 (en) 2006-06-28 2012-01-31 Samsung Electronics Co., Ltd. System and method of wireless communication of uncompressed video having a fast fourier transform-based channel interleaver
JP2008072182A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
US8194750B2 (en) 2006-10-16 2012-06-05 Samsung Electronics Co., Ltd. System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP)
JP2008141531A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
JP4742018B2 (ja) * 2006-12-01 2011-08-10 キヤノン株式会社 画像符号化装置及び画像符号化方法
JP2008141530A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
JP2010516191A (ja) * 2007-01-11 2010-05-13 トムソン ライセンシング MPEG−4AVC高位符号化におけるCAVLC4:4:4Intraプロファイル、HIGH4:4:4Intraプロファイル、及びHIGH4:4:4Predictiveプロファイルのcoded_block_flag構文要素及びcoded_block_pattern構文要素の構文を使用する方法及び装置
US9215456B2 (en) 2007-01-11 2015-12-15 Thomson Licensing Methods and apparatus for using syntax for the coded—block—flag syntax element and the coded—block—pattern syntax element for the CAVLC 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in MPEG-4 AVC high level coding
US9602824B2 (en) 2007-01-11 2017-03-21 Thomson Licensing Methods and apparatus for using syntax for the coded—block—flag syntax element and the coded—block—pattern syntax element for the CAVLC 4:4:4 Intra, HIGH 4:4:4 Intra, and HIGH 4:4:4 predictive profiles in MPEG-4 AVC high level coding
US8102919B2 (en) 2007-02-01 2012-01-24 Panasonic Corporation Image coding apparatus and image decoding apparatus
JP2008193248A (ja) * 2007-02-01 2008-08-21 Matsushita Electric Ind Co Ltd 画像符号化装置および画像復号化装置
JP2008294669A (ja) * 2007-05-23 2008-12-04 Toshiba Corp 画像符号化装置
JP2010538547A (ja) * 2007-08-31 2010-12-09 クゥアルコム・インコーポレイテッド Cabacビットストリームの多段復号のためのアーキテクチャ
JP2009089179A (ja) * 2007-10-01 2009-04-23 Canon Inc エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
US8406306B2 (en) 2009-03-06 2013-03-26 Panasonic Corporation Image decoding apparatus and image decoding method
US10621614B2 (en) 2010-04-13 2020-04-14 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10771822B2 (en) 2010-04-13 2020-09-08 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US20170134761A1 (en) 2010-04-13 2017-05-11 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US9807427B2 (en) 2010-04-13 2017-10-31 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10003828B2 (en) 2010-04-13 2018-06-19 Ge Video Compression, Llc Inheritance in sample array multitree division
US10038920B2 (en) 2010-04-13 2018-07-31 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US10051291B2 (en) 2010-04-13 2018-08-14 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20180324466A1 (en) 2010-04-13 2018-11-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190089962A1 (en) 2010-04-13 2019-03-21 Ge Video Compression, Llc Inter-plane prediction
US10250913B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10248966B2 (en) 2010-04-13 2019-04-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US20190164188A1 (en) 2010-04-13 2019-05-30 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US20190174148A1 (en) 2010-04-13 2019-06-06 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20190197579A1 (en) 2010-04-13 2019-06-27 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10432979B2 (en) 2010-04-13 2019-10-01 Ge Video Compression Llc Inheritance in sample array multitree subdivision
US10432978B2 (en) 2010-04-13 2019-10-01 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10432980B2 (en) 2010-04-13 2019-10-01 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10440400B2 (en) 2010-04-13 2019-10-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10448060B2 (en) 2010-04-13 2019-10-15 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US10460344B2 (en) 2010-04-13 2019-10-29 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US9591335B2 (en) 2010-04-13 2017-03-07 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10672028B2 (en) 2010-04-13 2020-06-02 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10681390B2 (en) 2010-04-13 2020-06-09 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10687085B2 (en) 2010-04-13 2020-06-16 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10687086B2 (en) 2010-04-13 2020-06-16 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10694218B2 (en) 2010-04-13 2020-06-23 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10708628B2 (en) 2010-04-13 2020-07-07 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10708629B2 (en) 2010-04-13 2020-07-07 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10721496B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10719850B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10721495B2 (en) 2010-04-13 2020-07-21 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10748183B2 (en) 2010-04-13 2020-08-18 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10764608B2 (en) 2010-04-13 2020-09-01 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US9596488B2 (en) 2010-04-13 2017-03-14 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10803485B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10803483B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US10805645B2 (en) 2010-04-13 2020-10-13 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10848767B2 (en) 2010-04-13 2020-11-24 Ge Video Compression, Llc Inter-plane prediction
US10856013B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US10855991B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10855995B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10855990B2 (en) 2010-04-13 2020-12-01 Ge Video Compression, Llc Inter-plane prediction
US10863208B2 (en) 2010-04-13 2020-12-08 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10873749B2 (en) 2010-04-13 2020-12-22 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US10880580B2 (en) 2010-04-13 2020-12-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10880581B2 (en) 2010-04-13 2020-12-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US10893301B2 (en) 2010-04-13 2021-01-12 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11037194B2 (en) 2010-04-13 2021-06-15 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11051047B2 (en) 2010-04-13 2021-06-29 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US20210211743A1 (en) 2010-04-13 2021-07-08 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11087355B2 (en) 2010-04-13 2021-08-10 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11102518B2 (en) 2010-04-13 2021-08-24 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11546641B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11546642B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11553212B2 (en) 2010-04-13 2023-01-10 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11611761B2 (en) 2010-04-13 2023-03-21 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11736738B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using subdivision
US11734714B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11765362B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane prediction
US11765363B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11778241B2 (en) 2010-04-13 2023-10-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11785264B2 (en) 2010-04-13 2023-10-10 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US11810019B2 (en) 2010-04-13 2023-11-07 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11856240B1 (en) 2010-04-13 2023-12-26 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11900415B2 (en) 2010-04-13 2024-02-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11910029B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division preliminary class
US11910030B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Inheritance in sample array multitree subdivision

Also Published As

Publication number Publication date
KR100801364B1 (ko) 2008-02-05
EP1684435A1 (en) 2006-07-26
TWI311870B (ja) 2009-07-01
KR20060064008A (ko) 2006-06-12
US20070040708A1 (en) 2007-02-22
JPWO2005041420A1 (ja) 2007-10-04
CN100566178C (zh) 2009-12-02
TW200518481A (en) 2005-06-01
JP4677901B2 (ja) 2011-04-27
EP1684435A4 (en) 2007-01-10
CN1875545A (zh) 2006-12-06
US7301485B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
WO2005041420A1 (ja) 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置
JP4295356B1 (ja) 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
KR101356733B1 (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
US7932843B2 (en) Parallel CABAC decoding for video decompression
US20210076069A1 (en) Method for Producing Video Coding and Programme-Product
JP4540585B2 (ja) 符号化装置及び復号化装置
EP1868388A2 (en) Iterative video compression
US5848195A (en) Selection of huffman tables for signal encoding
Lee et al. A new frame recompression algorithm integrated with H. 264 video compression
JP2012080565A (ja) データデコーディング
KR102071667B1 (ko) 병렬 엔트로피 부호화/복호화 방법 및 장치
WO2011101443A1 (en) Adaptive entropy encoding
JP2006174489A (ja) 符号化装置および方法
US10070127B2 (en) Method and apparatus for arithmetic coding and termination
US7333660B2 (en) Apparatus for and method of coding moving picture
JP2009021775A (ja) 符号化装置及び符号化方法
US8618962B2 (en) System and method for decoding context adaptive variable length coding
Quan et al. H. 264/AVC baseline profile decoder optimization on independent platform
US20050259742A1 (en) System and method for choosing tables in CAVLC
US8421655B2 (en) Apparatus for parallel entropy encoding and decoding
JP2000165873A (ja) 動画像情報の圧縮方法およびそのシステム
US8391367B1 (en) High performance context-adaptive video processor
WO2012126037A1 (en) Method, apparatus and system for encoding video data

Legal Events

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

Ref document number: 200480032331.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005515029

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007040708

Country of ref document: US

Ref document number: 10577146

Country of ref document: US

Ref document number: 1020067008040

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004817308

Country of ref document: EP

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWP Wipo information: published in national office

Ref document number: 1020067008040

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004817308

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10577146

Country of ref document: US