WO2013046504A1 - 算術復号装置、画像復号装置、および算術復号方法 - Google Patents

算術復号装置、画像復号装置、および算術復号方法 Download PDF

Info

Publication number
WO2013046504A1
WO2013046504A1 PCT/JP2012/004192 JP2012004192W WO2013046504A1 WO 2013046504 A1 WO2013046504 A1 WO 2013046504A1 JP 2012004192 W JP2012004192 W JP 2012004192W WO 2013046504 A1 WO2013046504 A1 WO 2013046504A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
division information
division
storage unit
section
Prior art date
Application number
PCT/JP2012/004192
Other languages
English (en)
French (fr)
Inventor
優也 重信
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2013046504A1 publication Critical patent/WO2013046504A1/ja
Priority to US14/225,207 priority Critical patent/US9532044B2/en

Links

Images

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
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • 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/436Methods 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 using parallelised computational 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
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6029Pipelining
    • 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 an arithmetic decoding apparatus and method.
  • Entropy coding is one of compression coding techniques that improves coding efficiency by changing the code length in accordance with the probability of occurrence of a value to be coded.
  • Huffman coding and arithmetic coding are known.
  • H.264 is an arithmetic coding method.
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • the encoding process by CABAC is mainly divided into a probability information calculation process and a binary arithmetic encoding process.
  • binIdx (the position of the binary data in the sequence of binary data constituting the SE) to which the binary data to be encoded belongs, and the surrounding situation CtxIdx (number specifying the probability information of the binary data) is calculated, and the probability information of the binary data specified by ctxIdx is referred to and updated.
  • a plurality of pieces of probability information of binary data are held as MPS (Most Probable Symbol, 0 or 1 symbol with high occurrence probability) and pStateIdx (number specifying the occurrence probability table).
  • FIG. 14 is a conceptual diagram for explaining the binary arithmetic encoding process.
  • the interval is narrowed between a real number 0.0 and 1.0 according to the occurrence probability table specified by pStateIdx.
  • the encoded data is a binary representation of a real value that identifies the last interval.
  • encoded data is output when the upper bits of the final section are determined, and a process called renormalization is performed to widen the section width.
  • the decoding process by CABAC is mainly divided into a probability information calculation process and a binary arithmetic decoding process.
  • ctxIdx is calculated according to the SE, binIdx to which the binary data to be decoded belongs and the surrounding situation, and the probability information of the binary data specified by ctxIdx is referred to and updated.
  • a plurality of pieces of probability information of binary data are held as MPS and pStateIdx.
  • FIG. 15 is a conceptual diagram for explaining the binary arithmetic decoding process.
  • the interval is divided into an MPS interval and an LPS (Least Probable Symbol, 0, 1 symbol with low occurrence probability) interval.
  • the binary data is determined depending on which section contains the encoded data specifying the last section.
  • a process called renormalization is performed to read the encoded data when the upper bits of the final section are determined and widen the section width.
  • Patent Document 1 discloses one method for solving this problem.
  • the probability information calculation process is divided into a ctxIdx calculation process and an MPS and pStateIdx output process, and a ctxIdx calculation process corresponding to the next binary data,
  • the MPS and pStateIdx output processing corresponding to the binary data and the binary arithmetic decoding processing corresponding to the current binary data are pipelined.
  • ctxIdx candidates corresponding to all combinations of values that the current binary data and the next binary data can take are calculated, and when the current binary data is determined, the next next data is determined.
  • the current binary data is determined according to the MPS and pStateIdx output by the MPS and pStateIdx output process.
  • the probability information calculation process, the binary arithmetic decoding process, and the probability information calculation process can be pipelined, but the binary arithmetic decoding process can be pipelined. It has the problem that it cannot be done. Thereby, in the arithmetic coding method in which the processing time required for the binary arithmetic decoding process is long, the pipeline time is regulated by the processing time required for the binary arithmetic decoding process, and the entire arithmetic decoding process cannot be accelerated.
  • an object of the present invention is to solve the above-described conventional problems, and to provide an arithmetic decoding apparatus that can execute each process in the binary arithmetic decoding process in a pipeline manner.
  • an arithmetic decoding device is an arithmetic decoding device that generates binary data by decoding an arithmetically encoded stream.
  • the arithmetic decoding device may include the division information indicating the boundary between the first value range and the second value range among the section information indicating the range of position information acquired from the stream.
  • a division information calculation unit that calculates a candidate using probability information indicating whether the next binary data is the first value or the second value, and corresponds to the section information among the division information candidates
  • the binary information is generated according to which of the division information selection unit for selecting the division information to be performed and the range information included in the section information divided by the division information, and the generated 2
  • a generation unit that generates the next section information and the next position information using value data.
  • the division information calculation process and the binary data are performed while decoding one binary data in one cycle. Can be pipelined. As a result, the binary arithmetic decoding process can be speeded up.
  • the arithmetic decoding device includes: a division information storage unit that stores the division information candidates calculated by the division information calculation unit; a section information storage unit that stores the section information generated by the generation unit; And a position information storage unit that stores the position information generated by the generation unit.
  • the division information selection unit includes an nth segment information corresponding to the nth segment information stored in the segment information storage unit among nth segment information candidates stored in the segment information storage unit. The division information may be selected and notified to the generation unit.
  • the generation unit is stored in the n-th division information notified from the division information selection unit, the n-th section information stored in the section information storage unit, and the position information storage unit.
  • the nth binary data, the (n + 1) th segment information, and the (n + 1) th location information may be generated using the nth location information.
  • the arithmetic decoding device includes a division information storage unit that stores the division information selected by the division information selection unit, a section information storage unit that stores the section information generated by the generation unit, and the generation A position information storage unit that stores the position information generated by the unit.
  • the division information selection unit includes the nth segment information corresponding to the nth segment information stored in the segment information storage unit among the nth candidates for the partition information calculated by the segment information calculation unit. Division information may be selected and stored in the division information storage unit.
  • the generation unit is stored in the n-th division information stored in the division information storage unit, the n-th section information stored in the section information storage unit, and the position information storage unit.
  • the nth binary data, the (n + 1) th section information, and the (n + 1) th position information may be generated using the nth position information.
  • the division information calculation unit may include the probability information when the immediately preceding binary data is the first value and the probability information when the immediately preceding binary data is the second value.
  • the division information candidates may be calculated using.
  • the division information selection unit selects the division information corresponding to the section information from the division information calculated using the probability information corresponding to the immediately preceding binary data generated by the generation unit. May be.
  • the division information calculation process and the binary data are performed while decoding one binary data in one cycle. Can be pipelined. As a result, the binary arithmetic decoding process can be speeded up.
  • the arithmetic decoding device includes: a division information storage unit that stores the division information candidates calculated by the division information calculation unit; a section information storage unit that stores the section information generated by the generation unit; You may provide the positional infomation storage part which memorize
  • the division information selection unit includes the (n ⁇ 1) -th binary data stored in the binary data storage unit among the n-th candidates for the division information stored in the division information storage unit.
  • the nth division information corresponding to the nth section information stored in the section information storage unit may be selected and notified to the generation unit.
  • the generation unit is stored in the n-th division information notified from the division information selection unit, the n-th section information stored in the section information storage unit, and the position information storage unit.
  • the nth binary data, the (n + 1) th segment information, and the (n + 1) th location information may be generated using the nth location information.
  • the arithmetic decoding device includes: a division information storage unit that stores the candidates for the division information; a section information storage unit that stores the section information generated by the generation unit; and the position generated by the generation unit A position information storage unit that stores information may be provided.
  • the division information selection unit includes, among the n-th candidates for the division information calculated by the division information calculation unit, the division information corresponding to the (n ⁇ 1) -th binary data generated by the generation unit.
  • a first division information selection unit that selects and stores the candidate in the division information storage unit, and among the division information candidates stored in the division information storage unit, is stored in the section information storage unit
  • a second division information selection unit that selects the n-th division information corresponding to the n-th section information and notifies the generation unit.
  • the generation unit stores the n-th division information notified from the second division information selection unit, the n-th section information stored in the section information storage unit, and the position information storage unit.
  • the nth binary data, the (n + 1) th section information, and the (n + 1) th position information may be generated using the nth position information.
  • the arithmetic decoding device is generated by the division information storage unit that stores the candidates for the division information, the binary data storage unit that stores the binary data generated by the generation unit, and the generation unit
  • a section information storage unit that stores the section information and a position information storage unit that stores the position information generated by the generation unit may be provided.
  • the division information selection unit is a candidate for division information corresponding to the n-th section information stored in the section information storage unit among the n-th division information candidates calculated by the division information calculation unit.
  • a second division information selection unit that selects the n-th division information corresponding to the (n ⁇ 1) -th binary data and notifies the generation unit;
  • the generation unit includes the nth division information notified from the second division information selection unit, the nth section information stored in the section information storage unit, and the position information storage unit.
  • the nth binary data, the (n + 1) th section information, and the (n + 1) th position information may be generated using the nth position information stored in .
  • the arithmetic decoding device includes a division information storage unit that stores the division information, a section information storage unit that stores the section information generated by the generation unit, and the position information generated by the generation unit. You may provide the positional information memory
  • the division information selection unit includes the (n ⁇ 1) -th binary data calculated by the calculation unit and the n-th one of the n-th division information candidates calculated by the division information calculation unit. The nth division information corresponding to the section information may be selected and stored in the division information storage unit.
  • the generation unit is stored in the n-th division information stored in the division information storage unit, the n-th section information stored in the section information storage unit, and the position information storage unit.
  • the nth binary data, the (n + 1) th section information, and the (n + 1) th position information may be generated using the nth position information.
  • the division information calculation unit may calculate the division information candidates with reference to a lookup table holding probability information corresponding to a combination of the probability information and the upper limit value of the section information.
  • the arithmetic decoding device may include a plurality of the division information calculation units.
  • Each of the plurality of division information calculation units may calculate the division information candidates with reference to the lookup table in which the upper limit value of the section information is fixed.
  • the division information calculation unit may calculate the candidates for the division information using a multiplication process of the probability information and the upper limit value of the section information.
  • the arithmetic decoding device may include a plurality of the division information calculation units.
  • Each of the plurality of division information calculation units may calculate the division information candidate using the multiplication process in which the upper limit value of the section information is fixed.
  • the arithmetic decoding device may include a probability information calculation unit that calculates the probability information used in the division information selection unit.
  • the probability information calculation process, the binary arithmetic decoding process, the probability information calculation process, and the binary arithmetic decoding process can all be pipelined. As a result, the entire arithmetic decoding process can be speeded up.
  • An arithmetic decoding device decodes an arithmetically encoded stream to generate binary data.
  • the arithmetic decoding apparatus includes: a section information storage unit that stores section information indicating a range of position information acquired from the stream; a position information storage unit that stores the position information; and the binary value.
  • a calculation unit, a division information selection unit, a binary data generation unit, and a section / position information generation unit are provided.
  • the division information calculation unit calculates a candidate for the division information using probability information indicating whether the next binary data is the first value or the second value, and stores the candidate division information in the division information storage unit
  • the division information selection unit selects the division information corresponding to the section information stored in the section information storage unit from among the candidates for the division information stored in the division information storage unit, and outputs the binary information.
  • the binary data generation unit includes the division information notified from the division information selection unit, the section information stored in the section information storage unit, and the position information stored in the position information storage unit.
  • the binary data is generated and stored in the binary data storage unit according to which range of the section information divided by the division information includes the position information.
  • the section / position information generation unit generates the section information and the position information using the binary data calculated by the binary data calculation unit, and stores the section information and the position information in the section information storage unit and the position information storage unit.
  • An arithmetic decoding device decodes an arithmetically encoded stream to generate binary data.
  • the arithmetic decoding apparatus includes: a section information storage unit that stores section information indicating a possible range of position information acquired from the stream; a position information storage unit that stores the position information; and the section information.
  • a division information storage unit for storing a division information candidate indicating a boundary between the first value range and the second value range, a division information calculation unit, a first division information selection unit, 2 division information selection units, a binary data generation unit, and a section / position information generation unit.
  • the division information calculation unit calculates the candidate for division information using probability information indicating whether the next binary data is the first value or the second value, and selects the first division information Notify the department.
  • the first division information selection unit is a division information candidate corresponding to the binary data generated immediately before by the binary data generation unit among the division information candidates notified from the division information calculation unit. Is selected and stored in the division information storage unit.
  • the second division information selection unit selects the division information corresponding to the section information stored in the section information storage unit from among the candidates for the division information stored in the division information storage unit. To notify the binary data generator.
  • the binary data generation unit is stored in the division information notified from the second division information selection unit, the section information stored in the section information storage unit, and the position information storage unit.
  • the binary data is generated according to which range of the section information divided by the division information is included in the position information, and the first division information selection unit Notice.
  • the section / position information generation unit generates the section information and the position information using the binary data calculated by the binary data calculation unit, and stores the section information and the position information in the section information storage unit and the position information storage unit.
  • An arithmetic decoding device decodes an arithmetically encoded stream to generate binary data.
  • the arithmetic decoding apparatus includes: a section information storage unit that stores section information indicating a range of position information acquired from the stream; a position information storage unit that stores the position information; and the binary value.
  • a calculation unit, a first division information selection unit, a second division information selection unit, a binary data generation unit, and a section / position information generation unit are provided.
  • the division information calculation unit calculates the candidate for division information using probability information indicating whether the next binary data is the first value or the second value, and selects the first division information Notify the department.
  • the first division information selection unit selects a division information candidate corresponding to the section information stored in the section information storage unit from among the division information candidates notified from the division information calculation unit. And stored in the division information storage unit.
  • the second division information selection unit selects the division information corresponding to the binary data stored in the binary data storage unit from among the candidates for the division information stored in the division information storage unit. Select and notify the binary data generator.
  • the binary data generation unit is stored in the division information notified from the second division information selection unit, the section information stored in the section information storage unit, and the position information storage unit.
  • the binary data is generated and stored in the binary data storage unit depending on which range of the section information divided by the division information is included in the position information.
  • the section / position information generation unit generates the section information and the position information using the binary data calculated by the binary data calculation unit, and stores the section information and the position information in the section information storage unit and the position information storage unit.
  • An image decoding apparatus is an apparatus that generates an image from binary data obtained by decoding an arithmetically encoded stream, and includes the arithmetic decoding apparatus described above.
  • the arithmetic decoding method is a method of generating binary data by decoding an arithmetically encoded stream.
  • the arithmetic decoding method includes: segment information indicating a boundary between a first value range and a second value range among section information indicating a range of position information acquired from the stream.
  • a division information calculation step for calculating a candidate using probability information indicating whether the next binary data is the first value or the second value; and corresponding to the section information among the candidates for the division information
  • the binary information is generated according to which of the division information selection step for selecting the division information to be performed and the range information included in the section information divided by the division information, and the generated 2 Generating the next section information and the next position information using value data. Then, the division information calculation step and the generation step are pipelined.
  • an arithmetic decoding device capable of performing pipelined execution of division information calculation processing and binary data generation processing in binary arithmetic decoding processing.
  • FIG. 1 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 1.
  • FIG. 2 is a block diagram showing a configuration of the binary arithmetic decoding unit according to the first embodiment.
  • FIG. 3A is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 3B is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 3C is a timing chart showing the operation timing of each component shown in FIG.
  • FIG. 4 is a block diagram showing a configuration of the binary arithmetic decoding unit according to the second embodiment.
  • FIG. 5A is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 5B is a conceptual diagram for explaining the operation of the configuration of FIG. FIG.
  • FIG. 5C is a timing chart showing the operation timing of each component shown in FIG.
  • FIG. 6 is a block diagram showing a configuration of the binary arithmetic decoding unit according to the third embodiment.
  • FIG. 7A is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 7B is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 7C is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 8 is a block diagram showing a configuration of the binary arithmetic decoding unit according to the fourth embodiment.
  • FIG. 9A is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 9B is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 9C is a timing chart showing the operation timing of each component in FIG. FIG.
  • FIG. 10 is a block diagram showing a configuration of the binary arithmetic decoding unit according to the fifth embodiment.
  • FIG. 11A is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 11B is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 11C is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 12 is a block diagram showing a configuration of the binary arithmetic decoding unit according to the sixth embodiment.
  • FIG. 13A is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 13B is a conceptual diagram for explaining the operation of the configuration of FIG.
  • FIG. 14 is a conceptual diagram for explaining binary arithmetic coding processing.
  • FIG. 15 is a conceptual diagram for explaining binary arithmetic decoding processing.
  • FIG. 1 is a block diagram showing a configuration of an image decoding apparatus according to the present embodiment.
  • the image decoding device 100 illustrated in FIG. 1 includes a decoding processing unit 110 and a decoding control unit 120.
  • the decoding processing unit 110 generates a decoded image composed of a plurality of decoding blocks by sequentially decoding the encoded block data included in the encoded stream.
  • the decoding processing unit 110 includes an arithmetic decoding unit 111, an inverse quantization unit 112, an inverse orthogonal transform unit 113, an adder 114, a deblocking filter 115, a memory 116, a surface, An inner prediction unit 117, a motion compensation unit 118, and a switch 119 are provided.
  • the arithmetic decoding unit 111 acquires an encoded stream, performs arithmetic decoding (variable length decoding) on the encoded stream, and includes a probability information calculation unit 111a and a binary arithmetic decoding unit 111b.
  • the probability information calculation unit 111a indicates whether the binary data output from the arithmetic decoding unit 111 is a first value (for example, “0”) or a second value (for example, “1”). The information is output to the binary arithmetic decoding unit 111b.
  • the probability information calculation unit 111a holds, for example, probability information determined according to the immediately preceding binary data generated by the binary arithmetic decoding unit 111b and the surrounding situation as probability information. Then, the probability information calculation unit 111a outputs the immediately preceding binary data and the probability information corresponding to the surrounding situation to the binary arithmetic decoding unit 111b.
  • the binary arithmetic decoding unit 111b decodes position information included in the encoded stream based on the probability information acquired from the probability information calculation unit 111a, and generates binary data. Specific processing contents of the binary arithmetic decoding unit 111b will be described later.
  • the inverse quantization unit 112 inversely quantizes the quantized coefficient block generated by the arithmetic decoding by the arithmetic decoding unit 111.
  • the inverse orthogonal transform unit 113 generates a decoded residual image by performing inverse orthogonal transform such as inverse discrete cosine transform on each frequency coefficient included in the inversely quantized coefficient block.
  • the adder 114 acquires a predicted image from the switch 119, and generates a decoded image (decoded block) by adding the predicted image and the decoded residual image generated by the inverse orthogonal transform unit 113.
  • the deblocking filter 115 removes block distortion of the decoded image generated by the adder 114, stores the decoded image in the memory 116, and outputs the decoded image.
  • the in-plane prediction unit 117 generates a predicted image by performing in-plane prediction on the decoding target block using the decoded image generated by the adder 114.
  • the motion compensation unit 118 performs motion compensation on the decoding target block by using the reference image and the motion vector for the image stored in the memory 116.
  • the motion compensation unit 118 generates a prediction image for the decoding target block by such motion compensation. Details of the motion vector acquisition method will be described later.
  • the switch 119 outputs the prediction image generated by the in-plane prediction unit 117 to the adder 114 when the decoding target block is subjected to the plane prediction encoding.
  • the switch 119 outputs the prediction image generated by the motion compensation unit 118 to the adder 114 when the decoding target block is subjected to inter-frame prediction encoding.
  • the decryption control unit 120 controls the decryption processing unit 110. For example, the decoding control unit 120 determines the data structure of the encoded block data, and acquires a motion vector by a method according to the determined data structure.
  • FIG. 2 is a block diagram showing a configuration of the binary arithmetic decoding unit 111b according to Embodiment 1 of the present invention.
  • the binary arithmetic decoding unit 111b illustrated in FIG. 2 includes a division information calculation unit 10, a division information storage unit 11, a division information selection unit 12, a section information storage unit 13, a position information storage unit 14, and a generation unit. 15.
  • the generation unit 15 includes a binary data generation unit 15a and a section / position information generation unit 15b.
  • the division information calculation unit 10 calculates division information candidates based on the probability information and the section information, and stores them in the division information storage unit 11.
  • the probability information used in the division information calculation unit 10 is probability information corresponding to the next binary data, and is acquired from the probability information calculation unit 111a.
  • the section information used by the division information calculation unit 10 corresponds to a range of section information that may be generated by the section / position information generation unit 15b.
  • the “section information” indicates a range that the position information acquired from the encoded stream can take, and the initial value is 0.0 to 1.0.
  • the section information is updated by the section / position information generation unit 15 b every time binary data is generated by the generation unit 15.
  • “Division information” indicates a boundary between the first value range and the second value range in the section information.
  • the division information calculation unit 10 calculates division information corresponding to each piece of section information that may be generated next as a division information candidate.
  • the binary arithmetic decoding unit 111b includes a plurality of division information calculation units 10. Then, each division information calculation unit 10 includes the next section information (“0.0 to 0.5”, “0.0 to 0.6”, “0.0 to 0. 7 ”,“ 0.0 to 0.8 ”,“ 0.0 to 0.9 ”, etc.). Each division information calculation unit 10 calculates a division information candidate based on the probability information acquired from the probability information calculation unit 111a and the set section information.
  • the division information storage unit 11 stores the division information candidates calculated by the division information calculation unit 10.
  • the specific configuration of the storage unit is not particularly limited. For example, DRAM (Dynamic random access memory), SDRAM (Synchronous dynamic random access memory), flash memory, ferroelectric memory, or HDD (Hard disc) data, etc. Any means can be used as long as it can memorize. The same applies to other storage units described later.
  • the division information selection unit 12 selects one of the division information candidates stored in the division information storage unit 11 as division information based on the segment information calculated by the segment / position information generation unit 15b, and sends it to the generation unit 15. Notice.
  • the section information used by the division information selection unit 12 is section information stored in the section information storage unit 13.
  • the generation unit 15 is based on the division information notified from the division information selection unit 12, the section information stored in the section information storage unit 13, and the position information stored in the position information storage unit 14. Data and section information and position information corresponding to the next binary data are generated.
  • the binary data generation unit 15a generates binary data depending on which range of the section information divided by the division information is included in the position information. For example, when the section information is 0.0 to 0.8, the division information is 0.5, and the position information is 0.75, the binary data generation unit 15a sets the second value (1) as binary data. Generate and output.
  • the section / position information generation unit 15b generates the next section information and the next position information based on the binary data generated by the binary data generation unit 15a, and the section information storage unit 13 and the position information storage unit 14 is stored.
  • the section information generation unit 13 and the position information storage unit 14 is stored.
  • 0.0 to 0.6 is generated as section information
  • 0.5 is generated as position information.
  • the section / position information generation unit 15 b stores the generated section information in the section information storage unit 13 and stores the generated position information in the position information storage unit 14.
  • FIGS. 3A, 3B, and 3C are conceptual diagrams for explaining the operation of the configuration of FIG. Note that the conceptual diagram for explaining the operation of the configuration of FIG. 2 is divided into two parts in FIGS. 3A and 3B, and the division information storage unit 11 is shown in an overlapping manner.
  • FIG. 3C is a timing chart showing the operation timing of each functional block in FIG.
  • the division information calculation unit 10 calculates a plurality of division information candidates corresponding to the nth binary data based on the range of the section information that may be generated by the section / position information generation unit 15b.
  • the data is stored in the division information storage unit 11.
  • the generation unit 15 calculates the nth binary data
  • the section information corresponding to the nth binary data and a plurality of division information candidates corresponding to the nth binary data are determined. is doing. Therefore, the division information selection unit 12 converts the n-th binary data stored in the division information storage unit 11 based on the interval information corresponding to the n-th binary data stored in the interval information storage unit 13. One of a plurality of corresponding division information candidates is selected as division information and notified to the generation unit 15.
  • the generation unit 15 includes the division information corresponding to the nth binary data notified from the division information selection unit 12, and the nth binary stored in the section information storage unit 13 and the position information storage unit 14. Based on the section information and position information corresponding to the data, the nth binary data and the section information and position information corresponding to the (n + 1) th binary data are generated.
  • the division information selection unit 12 (n ⁇ 1) ) Th division information is selected, and the generation unit 15 generates the (n-1) th binary data.
  • the process of the division information selection unit 12 and the process of the generation unit 15 are executed in series, and the process of the division information calculation unit 10 and the processes of the division information selection unit 12 and the generation unit 15 are executed in parallel (pipe). Line execution).
  • the binary arithmetic decoding unit 111b according to Embodiment 1 of the present invention is 1 in one cycle in the arithmetic coding scheme in which the appearance probability of the next binary data is determined without depending on the binary data.
  • the pipeline time is max (processing time required for the division information calculation unit 10, processing time required for the division information selection unit 12 + processing time required for the generation unit 15).
  • FIG. 4 is a block diagram showing a configuration of the binary arithmetic decoding unit 111b according to Embodiment 2 of the present invention.
  • the binary arithmetic decoding unit 111b shown in FIG. 4 includes a division information calculation unit 20, a division information selection unit 21, a division information storage unit 22, a section information storage unit 23, a position information storage unit 24, and a generation unit. 25.
  • the generation unit 25 includes a binary data generation unit 25a and a section / position information generation unit 25b. Note that the basic operation of each component shown in FIG. 4 is the same as that of the component having the same name shown in FIG. 2, so that the description of the common points is omitted and the difference will be mainly described.
  • the division information calculation unit 20 is the same as the division information calculation unit 10 in FIG. However, the division information calculation unit 20 according to the second embodiment notifies the division information selection unit 21 of the calculated division information candidates instead of storing them in the division information storage unit 22.
  • the division information selection unit 21 selects one of the division information candidates notified from the division information calculation unit 20 as division information based on the segment information generated by the segment / position information generation unit 25b, and a division information storage unit 22 is stored.
  • the section information used by the division information selection unit 21 is the next section information notified from the section / position information generation unit 25b.
  • the division information storage unit 22 stores the division information selected by the division information selection unit 21.
  • the division information storage unit 11 according to the first embodiment stores the division information candidates calculated by the division information calculation unit 10
  • the division information storage unit 22 according to the second embodiment The difference is that the division information selected by the information selection unit 21 is stored.
  • the generation unit 25 is based on the division information stored in the division information storage unit 22, the section information stored in the section information storage unit 23, and the position information stored in the position information storage unit 24. Value data and section information and position information corresponding to the next binary data are generated. Then, the generation unit 25 outputs the generated binary data, stores the generated section information in the section information storage unit 23 and notifies the division information selection unit 21, and transmits the generated position information to the position information storage unit 24.
  • the generation unit 25 outputs the generated binary data, stores the generated section information in the section information storage unit 23 and notifies the division information selection unit 21, and transmits the generated position information to the position information storage unit 24.
  • FIGS. 5A, 5B, and 5C are conceptual diagrams for explaining the operation of the configuration of FIG. Note that the conceptual diagram for explaining the operation of the configuration in FIG. 4 is divided into two parts in FIGS. 5A and 5B, and the division information selection unit 21 is shown in an overlapping manner.
  • FIG. 5C is a timing chart showing the operation timing of each functional block in FIG.
  • the division information calculation unit 20 calculates a plurality of division information candidates corresponding to the n-th binary data based on the range of the section information that may be generated by the section / position information generation unit 25b.
  • the division information selection unit 21 is notified.
  • the generation unit 25 and the division information calculation unit 20 operate in parallel.
  • the division information selection unit 21 includes a section / position information generation unit. Based on the section information corresponding to the nth binary data notified from 25b, any one of a plurality of division information candidates corresponding to the nth binary data notified from the division information calculation unit 20 is used as the division information. This is selected and stored in the division information storage unit 22.
  • the generation unit 25 calculates the nth binary data
  • the division information corresponding to the nth binary data is determined. Therefore, the generation unit 25 generates the division information corresponding to the nth binary data stored in the division information storage unit 22 and the nth 2 stored in the section information storage unit 23 and the position information storage unit 24. Based on the section information and position information corresponding to the value data, the nth binary data and the section information and position information corresponding to the (n + 1) th binary data are generated.
  • the binary arithmetic decoding unit 111b according to Embodiment 2 of the present invention only needs to include one division information storage unit 22, and therefore the division information storage unit 11 has the number of division information candidates. Necessary resources can be suppressed as compared with the case of the required first embodiment.
  • the pipeline time is max (processing time required for the division information calculation unit 20, processing time required for the generation unit 25) + processing time required for the division information selection unit 21.
  • FIG. 6 is a block diagram showing a configuration of the binary arithmetic decoding unit 111b according to Embodiment 3 of the present invention.
  • the binary arithmetic decoding unit 111b illustrated in FIG. 6 includes a division information calculation unit 30, a division information storage unit 31, a division information selection unit 32, a section information storage unit 33, a position information storage unit 34, and a generation unit 35. And a binary data storage unit 36.
  • the generation unit 35 includes a binary data generation unit 35a and a section / position information generation unit 35b.
  • the basic operation of each component shown in FIG. 6 is the same as that of the component with the same name shown in FIG.
  • the division information calculation unit 30 calculates division information candidates based on the probability information and the section information, and stores them in the division information storage unit 31.
  • the probability information used by the division information calculation unit 30 includes probability information corresponding to the next binary data when the immediately preceding binary data is “0” and the next when the immediately preceding binary data is “1”. Probability information corresponding to the binary data.
  • the section information used by the division information calculation unit 30 corresponds to a range of section information that may be generated by the section / position information generation unit 35b.
  • the division information storage unit 31 stores the division information candidates calculated by the division information calculation unit 30. That is, the number of division information storage units 31 according to the third embodiment is required as many as the number of division information candidates to be calculated, as in the first embodiment.
  • the division information selection unit 32 selects, as division information, one of the candidates for division information stored in the division information storage unit 31 based on the section information and binary data generated by the generation unit 35, and generates the generation unit 35. Notify
  • the section information used by the division information selection unit 32 is section information stored in the section information storage unit 33.
  • the binary data used in the division information selection unit 32 is the immediately preceding binary data stored in the binary data storage unit 36.
  • the generation unit 35 is based on the division information notified from the division information selection unit 32, the section information stored in the section information storage unit 33, and the position information stored in the position information storage unit 34. Data and section information and position information corresponding to the next binary data are generated. Then, the generation unit 35 outputs the generated binary data and stores the generated binary data in the binary data storage unit 36, stores the generated section information in the section information storage unit 33, and stores the generated position information in the position information storage unit 34.
  • the generation unit 35 outputs the generated binary data and stores the generated binary data in the binary data storage unit 36, stores the generated section information in the section information storage unit 33, and stores the generated position information in the position information storage unit 34.
  • FIGS. 7A, 7B, and 7C are conceptual diagrams for explaining the operation of the configuration of FIG.
  • the conceptual diagram for explaining the operation of the configuration of FIG. 6 is divided into three parts in FIGS. 7A, 7B, and 7C.
  • the division information storage unit 31, the division information selection unit 32, and the section information are shown redundantly. Further, the timing chart of Embodiment 3 is common to FIG. 3C.
  • the division information calculation unit 30 determines the range of the section information that may be generated by the section / position information generation unit 35b and the n-th data when the (n ⁇ 1) -th binary data is “0”. Corresponds to the nth binary data based on the probability information corresponding to the binary data and the probability information corresponding to the nth binary data when the (n ⁇ 1) th binary data is “1”. A plurality of division information candidates to be calculated are calculated and stored in the division information storage unit 31.
  • the generation unit 35 calculates the nth binary data
  • the section information corresponding to the nth binary data, the (n ⁇ 1) th binary data, and the nth binary data A plurality of candidates for division information are determined.
  • the division information selection unit 32 includes the section information corresponding to the n-th binary data stored in the section information storage unit 33 and the (n ⁇ 1) -th stored in the binary data storage unit 36. Based on the binary data, one of a plurality of division information candidates corresponding to the n-th binary data stored in the division information storage unit 31 is selected as division information and notified to the generation unit 35.
  • the generation unit 35 adds the division information corresponding to the nth binary data notified from the division information selection unit 32 and the nth binary data stored in the section information storage unit 33 and the position information storage unit 34. Based on the corresponding section information and position information, the nth binary data and the section information and position information corresponding to the (n + 1) th binary data are generated.
  • the binary arithmetic decoding unit 111b according to Embodiment 3 of the present invention is 1 in one cycle in the arithmetic coding method in which the appearance probability of the next binary data is determined depending on the binary data.
  • the pipeline time is max (processing time required for the division information calculation unit 30, processing time required for the division information selection unit 32 + processing time required for the generation unit 35).
  • FIG. 8 is a block diagram showing a configuration of binary arithmetic decoding section 111b according to Embodiment 4 of the present invention.
  • the binary arithmetic decoding unit 111b shown in FIG. 8 includes a division information calculation unit 40, a first division information selection unit 41, a division information storage unit 42, a second division information selection unit 43, and a section information storage. Unit 44, position information storage unit 45, and generation unit 46.
  • the generation unit 46 includes a binary data generation unit 46a and a section / position information generation unit 46b. Note that the basic operation of each component shown in FIG. 8 is the same as that of the component having the same name shown in FIG.
  • the division information calculation unit 40 is the same as the division information calculation unit 30 in FIG. However, the division information calculation unit 40 according to Embodiment 4 does not store the calculated division information candidates in the division information storage unit 42 but notifies the first division information selection unit 41.
  • the first division information selection unit 41 selects a part of the division information candidates notified from the division information calculation unit 40 based on the immediately preceding binary data, and stores it in the division information storage unit 42.
  • the binary data used in the first division information selection unit 41 is binary data immediately before being notified from the binary data generation unit 46a.
  • the division information storage unit 42 stores the division information candidates selected by the first division information selection unit 41. That is, the division information candidates stored in the division information storage unit 42 are the division information candidates when the immediately preceding binary data is the first value (0), and the immediately preceding binary data is the second value. Among the candidates for the division information in the case of (1), the candidates for the division information corresponding to the immediately preceding binary data calculated by the binary data generation unit 46a.
  • the second division information selection unit 43 selects, as division information, one of the division information candidates stored in the division information storage unit 42 based on the section information calculated by the section / position information generation unit 46b. The generation unit 46 is notified.
  • the section information used in the second division information selection unit 43 is section information stored in the section information storage unit 44.
  • the generation unit 46 is based on the division information notified from the second division information selection unit 43, the section information stored in the section information storage unit 44, and the position information stored in the position information storage unit 45. Binary data and section information and position information corresponding to the next binary data are generated. Then, the generation unit 46 outputs the generated binary data and notifies the first division information selection unit 41, stores the generated section information in the section information storage unit 44, and stores the generated position information in the position information storage. Store in the unit 45.
  • FIGS. 9A, 9B, and 9C are conceptual diagrams for explaining the operation of the configuration of FIG. Note that the conceptual diagram for explaining the operation of the configuration of FIG. 8 is divided into two parts in FIGS. 9A and 9B, and the first division information selection unit 41 is shown redundantly.
  • FIG. 9C is a timing chart showing the operation timing of each functional block in FIG.
  • the division information calculation unit 40 has a range of section information that may be generated by the section / position information generation unit 46b, and the n-th data when the (n ⁇ 1) -th binary data is “0”. Corresponds to the nth binary data based on the probability information corresponding to the binary data and the probability information corresponding to the nth binary data when the (n ⁇ 1) th binary data is “1”. A plurality of division information candidates to be calculated are calculated and notified to the first division information selection unit 41.
  • the generation unit 46 and the division information calculation unit 40 operate in parallel.
  • the first division information selection unit 41 When the (n ⁇ 1) -th binary data and a plurality of division information candidates corresponding to the n-th binary data are determined, the first division information selection unit 41 generates binary data. Based on the (n ⁇ 1) -th binary data notified from the unit 46a, a part of a plurality of division information candidates corresponding to the n-th binary data notified from the division information calculation unit 40 is selected. The data is stored in the division information storage unit 42.
  • the generation unit 46 calculates the n-th binary data
  • section information corresponding to the n-th binary data and a plurality of division information candidates corresponding to the n-th binary data are determined. is doing. Therefore, the second division information selection unit 43 is based on the section information corresponding to the nth binary data stored in the section information storage unit 44, and the nth 2nd stored in the division information storage unit 42.
  • One of a plurality of division information candidates corresponding to the value data is selected as division information and notified to the generation unit 46.
  • the generation unit 46 includes the division information corresponding to the n-th binary data notified from the second division information selection unit 43, and the n-th 2 stored in the section information storage unit 44 and the position information storage unit 45. Based on the section information and position information corresponding to the value data, the nth binary data and the section information and position information corresponding to the (n + 1) th binary data are generated.
  • the binary arithmetic decoding unit 111b only needs to include the number of division information storage units 42 corresponding to the range of the section information. Can also reduce the required resources.
  • the pipeline time is max (processing time required for the division information calculation unit 40, processing time required for the second division information selection unit 43 + processing time required for the generation unit 46) + processing required for the first division information selection unit 41. It will be time.
  • the generation unit 46 generates binary data prior to the section information and position information. Therefore, when the time required for the second division information selection unit 43 + the time required for the generation unit 46 exceeds the time required for the division information calculation unit 40, the first division information selection unit 41 uses the binary data generation unit 46a. Can generate the division information candidate corresponding to the (n + 1) -th binary data at the time when the n-th binary data is generated.
  • FIG. 10 is a block diagram showing a configuration of binary arithmetic decoding section 111b according to Embodiment 5 of the present invention.
  • the binary arithmetic decoding unit 111b shown in FIG. 10 includes a division information calculation unit 50, a first division information selection unit 51, a division information storage unit 52, a second division information selection unit 53, and a section information storage. Unit 54, position information storage unit 55, generation unit 56, and binary data storage unit 57.
  • the generation unit 56 includes a binary data generation unit 56a and a section / position information generation unit 56b. Note that the basic operation of each component shown in FIG. 10 is the same as that of the component having the same name shown in FIG.
  • the division information calculation unit 50 is the same as the division information calculation unit 40 in FIG.
  • the first division information selection unit 51 selects a part of the division information candidates notified from the division information calculation unit 50 based on the section information generated by the section / position information generation unit 56b, and the division information storage unit 52 is stored.
  • the section information used in the first division information selection unit 51 is the next section information notified from the section / position information generation unit 56b.
  • the division information storage unit 52 stores the division information candidates selected by the first division information selection unit 51. That is, the division information candidate stored in the division information storage unit 52 is the division information corresponding to the next section information among the division information candidates when the immediately preceding binary data is the first value (0). And the division information corresponding to the next section information among the candidates for the division information when the immediately preceding binary data is the second value (1).
  • the second division information selection unit 53 selects any of the division information candidates stored in the division information storage unit 52 as division information, The generation unit 56 is notified.
  • the binary data used in the second division information selection unit 53 is the binary data immediately before being stored in the binary data storage unit 57.
  • the generation unit 56 is based on the division information notified from the second division information selection unit 53, the section information stored in the section information storage unit 54, and the position information stored in the position information storage unit 55. Binary data and section information and position information corresponding to the next binary data are generated. Then, the generation unit 56 outputs the generated binary data and stores it in the binary data storage unit 57, stores the generated section information in the section information storage unit 54, and notifies the first division information selection unit 51. Then, the generated position information is stored in the position information storage unit 55.
  • FIGS. 11A, 11B, and 11C are conceptual diagrams for explaining the operation of the configuration of FIG. Note that the conceptual diagram for explaining the operation of the configuration in FIG. 10 is divided into three parts in FIGS. 11A, 11B, and 11C, and the first division information selection unit 51 and the second division information selection are shown. The unit 53, the section information storage unit 54, the position information storage unit 55, and the generation unit 56 are shown in an overlapping manner. Further, the timing chart of the fifth embodiment is common to FIG. 9C.
  • the division information calculation unit 50 determines the range of the section information that may be generated by the section / position information generation unit 56b, and the nth in the case where the (n ⁇ 1) th binary data is “0”. Corresponds to the nth binary data based on the probability information corresponding to the binary data and the probability information corresponding to the nth binary data when the (n ⁇ 1) th binary data is “1”. A plurality of division information candidates to be calculated are calculated and notified to the first division information selection unit 51.
  • the generation unit 56 and the division information calculation unit 50 operate in parallel. Then, when the n-th section information and a plurality of candidates for division information corresponding to the n-th binary data are determined, the first division information selection unit 51 notifies the section / position information generation unit 56b. Based on the n-th section information, a part of a plurality of division information candidates corresponding to the n-th binary data notified from the division information calculation unit 50 is selected and stored in the division information storage unit 52.
  • the generation unit 56 calculates the nth binary data
  • the (n ⁇ 1) th binary data and a plurality of division information candidates corresponding to the nth binary data are determined.
  • the second division information selection unit 53 is based on the (n ⁇ 1) th binary data stored in the binary data storage unit 57, and the nth 2nd stored in the division information storage unit 52.
  • One of a plurality of division information candidates corresponding to the value data is selected as division information and notified to the generation unit 56.
  • the generation unit 56 generates the division information corresponding to the n-th binary data notified from the second division information selection unit 53, and the n-th 2 stored in the section information storage unit 54 and the position information storage unit 55. Based on the section information and position information corresponding to the value data, the nth binary data and the section information and position information corresponding to the (n + 1) th binary data are generated.
  • the binary arithmetic decoding unit 111b needs to include only two pieces of the division information storage unit 52, and thus suppresses necessary resources as compared with the case of the fourth embodiment. be able to.
  • the pipeline time is max (processing time required for the division information calculation unit 50, processing time required for the second division information selection unit 53 + processing time required for the generation unit 56) + processing required for the first division information selection unit 51. It will be time.
  • FIG. 12 is a block diagram showing a configuration of binary arithmetic decoding section 111b according to Embodiment 6 of the present invention.
  • the binary arithmetic decoding unit 111b illustrated in FIG. 12 includes a division information calculation unit 60, a division information selection unit 61, a division information storage unit 62, a section information storage unit 63, a position information storage unit 64, and a generation unit. 65.
  • the generation unit 65 includes a binary data generation unit 65a and a section / position information generation unit 65b. Note that the basic operation of each component shown in FIG. 12 is the same as that of the component having the same name shown in FIG.
  • the division information calculation unit 60 is the same as the division information calculation unit 40 of FIG.
  • the division information selection unit 61 selects one of the division information candidates notified from the division information calculation unit 60 as the division information based on the section information and binary data generated by the generation unit 65, and the division information storage unit 62 is stored.
  • the section information used by the division information selection unit 61 is the next section information notified from the section / position information generation unit 65b.
  • the binary data used in the division information selection unit 61 is binary data immediately before being notified from the binary data generation unit 65a.
  • the division information storage unit 62 stores the division information selected by the division information selection unit 61. That is, the division information storage unit 62 according to the sixth embodiment stores only one piece of division information selected by the division information selection unit 61 as in the second embodiment.
  • the generation unit 65 is based on the division information stored in the division information storage unit 62, the section information stored in the section information storage unit 63, and the position information stored in the position information storage unit 64. Value data and section information and position information corresponding to the next binary data are generated. Then, the generation unit 65 outputs the generated binary data and notifies the division information selection unit 61, stores the generated section information in the section information storage unit 63, notifies the division information selection unit 61, and generates the generated binary data.
  • the position information is stored in the position information storage unit 64.
  • FIGS. 13A and 13B are conceptual diagrams for explaining the operation of the configuration of FIG. 12 is divided into two parts in FIGS. 13A and 13B, and the division information selection unit 61 is shown in an overlapping manner. Further, the timing chart of the sixth embodiment is common to FIG. 5C.
  • the division information calculation unit 60 has a range of section information that may be generated by the section / position information generation unit 65b, and the n-th data when the (n ⁇ 1) -th binary data is “0”. Corresponds to the nth binary data based on the probability information corresponding to the binary data and the probability information corresponding to the nth binary data when the (n ⁇ 1) th binary data is “1”. A plurality of division information candidate candidates are calculated and notified to the division information selection unit 61.
  • the generation unit 65 and the division information calculation unit 60 operate in parallel.
  • the division is performed.
  • the information selection unit 61 includes section information corresponding to the nth binary data notified from the section / position information generation unit 65b, and the (n-1) th binary data notified from the binary data generation unit 65a. Then, one of a plurality of division information candidates corresponding to the n-th binary data notified from the division information calculation unit 60 is selected as division information and stored in the division information storage unit 62.
  • the generation unit 65 calculates the nth binary data
  • the division information corresponding to the nth binary data is determined. Accordingly, the generation unit 65 includes the division information corresponding to the n-th binary data stored in the division information storage unit 62, and the n-th 2 stored in the section information storage unit 63 and the position information storage unit 64. Based on the section information and position information corresponding to the value data, the nth binary data and the section information and position information corresponding to the (n + 1) th binary data are generated.
  • the binary arithmetic decoding unit 111b needs to include only one division information storage unit 62, so that the necessary resources are suppressed as compared with the case of the fifth embodiment. be able to.
  • the pipeline time is max (processing time required for the division information calculation unit 60, processing time required for the generation unit 65) + processing time required for the division information selection unit 61.
  • the division information calculation units according to the first to sixth embodiments of the present invention may include lookup table reference processing or multiplication processing.
  • the look-up table is a table that holds probability information corresponding to each combination of probability information and the upper limit value of the section information. At this time, the division information calculation process can be simplified by fixing the upper limit value of the section information used in each division information calculation unit.
  • the arithmetic decoding apparatus may execute the process of calculating probability information in a pipeline.
  • the probability information calculation process, the binary arithmetic decoding process, the probability information calculation process, and the binary arithmetic decoding process can all be pipelined, and the entire arithmetic decoding process can be accelerated.
  • the value range of the section information is defined narrower than the value range of the position information. Therefore, when executing binary arithmetic decoding processing in a pipeline, the necessary resources are minimized by dividing the pipeline stage as shown in the arithmetic decoding devices according to Embodiments 1 to 6 of the present invention. be able to.
  • the arithmetic decoding device is calculated by calculating the division information candidates by using the area of the section information as the input information without using the range of the position information as the input information. Then, it suffices to provide as many division information calculation units as the number corresponding to the range of section information. In the arithmetic decoding apparatus according to Embodiments 3 to 6 of the present invention, it is only necessary to provide the number of division information calculation units corresponding to twice the range of the interval information.
  • Each of the above devices is specifically a computer system including a microprocessor, ROM, RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is stored in the RAM or the hard disk unit.
  • Each device achieves its functions by the microprocessor operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.
  • the system LSI is a super multifunctional LSI manufactured by integrating a plurality of components on one chip, and specifically, a computer system including a microprocessor, a ROM, a RAM, and the like. .
  • a computer program is stored in the RAM.
  • the system LSI achieves its functions by the microprocessor operating according to the computer program.
  • the constituent elements constituting each of the above devices may be constituted by an IC card that can be attached to and detached from each device or a single module.
  • the IC card or module is a computer system that includes a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its functions by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
  • the present invention may be the method described above. Moreover, the computer program which implement
  • the present invention also relates to a computer-readable recording medium capable of reading a computer program or a digital signal, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray Disc), It may be recorded in a semiconductor memory or the like. Further, it may be a digital signal recorded on these recording media.
  • a computer-readable recording medium capable of reading a computer program or a digital signal, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray Disc), It may be recorded in a semiconductor memory or the like. Further, it may be a digital signal recorded on these recording media.
  • a computer program or a digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
  • the present invention is a computer system including a microprocessor and a memory.
  • the memory stores the computer program, and the microprocessor may operate according to the computer program.
  • program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like, and may be implemented by another independent computer system.
  • the present invention can be applied to an arithmetic decoding device, and in particular, can be applied as a moving image or audio decoding device realized by an electronic circuit such as an LSI.
  • an electronic circuit such as an LSI.
  • a personal computer a digital TV, a DVD (Digital Versatile Disc) player, a DVD recorder, a BD (Blu-ray Disc) player, a BD recorder, a PDA (Personal Digital Assistants) that decodes and plays back the encoded video or audio.
  • a moving image or audio decoding device provided in a mobile phone or the like.

Abstract

 算術復号装置は、ストリームから取得された位置情報の取りうる範囲を示す区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を、次の2値データが第1及び第2の値のいずれであるかを示す確率情報を用いて算出する分割情報算出部と、分割情報の候補のうち、区間情報に対応する分割情報を選択する分割情報選択部と、分割情報で区分された区間情報のどちらの範囲に位置情報が含まれるかに応じて2値データを生成すると共に、生成された2値データを用いて次の区間情報及び次の位置情報を生成する生成部とを備え、分割情報算出部の処理と生成部の処理とは、パイプライン実行される。2値算術復号処理内をパイプライン実行する。

Description

算術復号装置、画像復号装置、および算術復号方法
 本発明は、算術復号装置およびその方法に関するものである。
 近年、動画像や音声の圧縮符号化技術の進展は著しく、放送、通信および蓄積等の分野で実用化されている。エントロピー符号化は、符号化する値の発生確率に応じて符号長を変化させることで、符号化効率を向上させる圧縮符号化技術の一つである。エントロピー符号化の具体例としては、ハフマン符号化や算術符号化等が知られている。
 算術符号化方式として、例えば、H.264/AVCで採用されているCABAC(Context-based Adaptive Binary Arithmetic Coding:コンテキスト適応型2値算術符号化方式)がある。CABACによる符号化処理は、主に、確率情報算出処理と、2値算術符号化処理とに分けられる。
 確率情報算出処理では、符号化対象の2値データが属するSE(Syntax Element、シンタックスエレメント)、binIdx(SEを構成する2値データの並びにおける2値データの位置)、および周囲の状況に応じてctxIdx(2値データの確率情報を指定する番号)を算出し、ctxIdxにより指定された2値データの確率情報を参照し、更新する。2値データの確率情報は、MPS(Most Probable Symbol、発生確率が高い0、1いずれかのシンボル)とpStateIdx(発生確率テーブルを指定する番号)として、複数保持されている。
 図14は、2値算術符号化処理を説明するための概念図である。2値算術符号化処理では、pStateIdxにより指定された発生確率テーブルに応じて、区間を実数0.0から1.0の間で狭めていく。符号化データは、最終区間を特定する実数値の2進表現になる。実際には、限られた桁数で区間幅を保持するため、最終区間の上位ビットが確定した時点で符号化データを出力し、区間幅を広げる再正規化(Renormalization)と呼ばれる処理が加わる。
 CABACによる復号処理は、主に、確率情報算出処理と、2値算術復号処理とに分けられる。確率情報算出処理では、復号対象の2値データが属するSE、binIdx、および周囲の状況に応じてctxIdxを算出し、ctxIdxにより指定された2値データの確率情報を参照し、更新する。2値データの確率情報は、MPSとpStateIdxとして、複数保持されている。
 図15は、2値算術復号処理を説明するための概念図である。2値算術復号処理では、pStateIdxにより指定された発生確率テーブルに応じて、区間をMPSの区間と、LPS(Least Probable Symbol、発生確率が低い0、1いずれかのシンボル)の区間とに分割し、最終区間を特定する符号化データがどちらの区間に含まれるかにより、2値データを確定する。実際には、限られた桁数で区間幅を保持するため、最終区間の上位ビットが確定した時点で符号化データを読み進め、区間幅を広げる再正規化(Renormalization)と呼ばれる処理が加わる。
 CABACによる復号処理では、現在の復号対象の2値データが確定するまで、次の復号対象の2値データが属するSE、binIdx、および周囲の状況が確定しないため、ctxIdxを算出できない。これにより、確率情報算出処理と、2値算術復号処理とを順次実行しなければならず、高速化することができない。
 特許文献1では、この課題を解決する方法の一つが開示されている。特許文献1に記載の従来の算術復号装置では、確率情報算出処理を、ctxIdx算出処理と、MPSおよびpStateIdx出力処理とに分け、次の次の2値データに対応するctxIdx算出処理と、次の2値データに対応するMPSおよびpStateIdx出力処理と、現在の2値データに対応する2値算術復号処理とをパイプライン実行する。
 ctxIdx算出処理では、現在の2値データと、次の2値データとが取り得る全ての値の組み合わせに対応するctxIdx候補を算出し、現在の2値データが確定した時点で、次の次の2値データに対応するctxIdx候補を選択する。具体的には、(現在の2値データ、次の2値データ)=(0、0)、(0、1)、(1、0)、(1、1)となる4種類のctxIdx候補を算出し、現在の2値データが確定した時点で、(現在の2値データ、次の2値データ)=(0、0)、(0、1)、または(現在の2値データ、次の2値データ)=(1、0)、(1、1)となるいずれか2種類のctxIdx候補を選択する。
 MPSおよびpStateIdx出力処理では、ctxIdx算出処理により算出されたctxIdx候補に対応するMPSおよびpStateIdx候補を出力し、現在の2値データが確定した時点で、次の2値データに対応するMPSおよびpStateIdxを選択する。具体的には、現在の2値データ=0、1となる2種類のMPSおよびpStateIdx候補を出力し、現在の2値データが確定した時点で、いずれかのMPSおよびpStateIdxを選択する。
 一方、2値算術復号処理では、MPSおよびpStateIdx出力処理により出力されたMPSおよびpStateIdxに応じて、現在の2値データを確定する。
 これにより、順次実行しなければならなかった確率情報算出処理と、2値算術復号処理とをパイプライン実行することができ、CABACによる復号処理を高速化することができる。
特開2008-289125号公報
 しかしながら、上記従来の算術復号装置では、確率情報算出処理と2値算術復号処理、および確率情報算出処理内はパイプライン実行することができるが、2値算術復号処理内はパイプライン実行することができないという問題点を有している。これにより、2値算術復号処理に要する処理時間が長い算術符号化方式では、パイプライン時間が2値算術復号処理に要する処理時間に律則し、算術復号処理全体を高速化することができない。
 そこで、本発明は上記従来の問題点を解決するもので、2値算術復号処理内の各処理をパイプライン実行することができる算術復号装置を提供することを目的とする。
 上記の課題を解決するために、本発明の一形態に係る算術復号装置は、算術符号化されたストリームを復号して2値データを生成する算術復号装置である。具体的には、算術復号装置は、前記ストリームから取得された位置情報の取りうる範囲を示す区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を、次の2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて算出する分割情報算出部と、前記分割情報の候補のうち、前記区間情報に対応する分割情報を選択する分割情報選択部と、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて2値データを生成すると共に、生成された前記2値データを用いて次の前記区間情報及び次の前記位置情報を生成する生成部とを備える。そして、前記分割情報算出部の処理と前記生成部の処理とは、パイプライン実行される。
 これにより、2値データに依存せず次の2値データの出現確率が確定する算術符号化方式において、1サイクルで1個の2値データを復号しながら、分割情報の算出処理と2値データの算出処理とをパイプライン実行することができる。その結果、2値算術復号処理を高速化することができる。
 さらに、前記算術復号装置は、前記分割情報算出部で算出された前記分割情報の候補を記憶する分割情報記憶部と、前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備えてもよい。前記分割情報選択部は、前記分割情報記憶部に記憶されているn番目の前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記生成部に通知してもよい。前記生成部は、前記分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されている前記n番目の区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成してもよい。
 さらに、前記算術復号装置は、前記分割情報選択部で選択された前記分割情報を記憶する分割情報記憶部と、前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備えてもよい。前記分割情報選択部は、前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記分割情報記憶部に記憶させてもよい。前記生成部は、前記分割情報記憶部に記憶されている前記n番目の分割情報と、前記区間情報記憶部に記憶されているn番目の前記区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成してもよい。
 これにより、分割情報記憶部を1個だけ備えればよいので、必要資源を抑制することができる。
 また、前記分割情報算出部は、直前の2値データが前記第1の値である場合の前記確率情報、及び前記直前の2値データが前記第2の値である場合の前記確率情報のそれぞれを用いて前記分割情報の候補を算出してもよい。前記分割情報選択部は、前記生成部で生成された前記直前の2値データに対応する前記確率情報を用いて算出された前記分割情報のうち、前記区間情報に対応する前記分割情報を選択してもよい。
 これにより、2値データに依存して次の2値データの出現確率が確定する算術符号化方式において、1サイクルで1個の2値データを復号しながら、分割情報の算出処理と2値データの算出処理とをパイプライン実行できる。その結果、2値算術復号処理を高速化することができる。
 さらに、前記算術復号装置は、前記分割情報算出部で算出された前記分割情報の候補を記憶する分割情報記憶部と、前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、前記生成部で生成された前記位置情報を記憶する位置情報記憶部と、前記生成部で生成された前記2値データを記憶する2値データ記憶部とを備えてもよい。前記分割情報選択部は、前記分割情報記憶部に記憶されているn番目の前記分割情報の候補のうち、前記2値データ記憶部に記憶されている(n-1)番目の前記2値データ及び前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記生成部に通知してもよい。前記生成部は、前記分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されている前記n番目の区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成してもよい。
 さらに、前記算術復号装置は、前記分割情報の候補を記憶する分割情報記憶部と、前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備えてもよい。前記分割情報選択部は、前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記生成部で生成された(n-1)番目の前記2値データに対応する分割情報の候補を選択して前記分割情報記憶部に記憶させる第1の分割情報選択部と、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記生成部に通知する第2の分割情報選択部とを備えてもよい。前記生成部は、前記第2の分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されているn番目の前記区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成してもよい。
 これにより、分割情報記憶部を区間情報の値域に対応する個数だけ備えればよいので、必要資源を抑制することができる。
 さらに、前記算術復号装置は、前記分割情報の候補を記憶する分割情報記憶部と、前記生成部で生成された前記2値データを記憶する2値データ記憶部と、前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備えてもよい。前記分割情報選択部は、前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応する分割情報の候補を選択して前記分割情報記憶部に記憶させる第1の分割情報選択部と、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記2値データ記憶部に記憶されている(n-1)番目の前記2値データに対応するn番目の前記分割情報を選択して前記生成部に通知する第2の分割情報選択部とを備えてもよい。そして、前記生成部は、前記第2の分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されているn番目の前記区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成してもよい。
 これにより、分割情報記憶部を2個だけ備えればよいので、必要資源を抑制することができる。
 さらに、前記算術復号装置は、前記分割情報を記憶する分割情報記憶部と、前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備えてもよい。前記分割情報選択部は、前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記算出部で算出された(n-1)番目の前記2値データ及びn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記分割情報記憶部に記憶させてもよい。前記生成部は、前記分割情報記憶部に記憶されている前記n番目の分割情報と、前記区間情報記憶部に記憶されている前記n番目の区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成してもよい。
 これにより、分割情報記憶部を1個だけ備えればよいので、必要資源を抑制することができる。
 また、前記分割情報算出部は、前記確率情報と前記区間情報の上限値との組み合わせに対応する確率情報を保持するルックアップテーブルを参照して、前記分割情報の候補を算出してもよい。
 また、前記算術復号装置は、複数の前記分割情報算出部を備えてもよい。そして、前記複数の分割情報算出部それぞれは、前記区間情報の上限値が固定された前記ルックアップテーブルを参照して、前記分割情報の候補を算出してもよい。
 これにより、分割情報の算出処理を簡略化することができる。
 また、前記分割情報算出部は、前記確率情報と前記区間情報の上限値との乗算処理を用いて、前記分割情報の候補を算出してもよい。
 また、前記算術復号装置は、複数の前記分割情報算出部を備えてもよい。そして、前記複数の分割情報算出部それぞれは、前記区間情報の上限値が固定した前記乗算処理を用いて、前記分割情報の候補を算出してもよい。
 これにより、分割情報の算出処理を簡略化することができる。
 さらに、前記算術復号装置は、前記分割情報選択部で使用される前記確率情報を算出する確率情報算出部を備えてもよい。
 これにより、どのような算術符号化方式においても、確率情報算出処理と2値算術復号処理、確率情報算出処理内、および2値算術復号処理内を全てパイプライン実行することができる。その結果、算術復号処理全体を高速化することができる。
 本発明の他の形態に係る算術復号装置は、算術符号化されたストリームを復号して2値データを生成する。具体的には、算術復号装置は、前記ストリームから取得された位置情報の取りうる範囲を示す区間情報を記憶する区間情報記憶部と、前記位置情報を記憶する位置情報記憶部と、前記2値データを記憶する2値データ記憶部と、前記区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を記憶する分割情報記憶部と、分割情報算出部と、分割情報選択部と、2値データ生成部と、区間・位置情報生成部とを備える。前記分割情報算出部は、次の前記2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて前記分割情報の候補を算出して前記分割情報記憶部に記憶させる。前記分割情報選択部は、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記区間情報記憶部に記憶されている前記区間情報に対応する分割情報を選択して前記2値データ生成部に通知する。前記2値データ生成部は、前記分割情報選択部から通知された前記分割情報と、前記区間情報記憶部に記憶されている前記区間情報と、前記位置情報記憶部に記憶されている前記位置情報とを用いて、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて前記2値データを生成して前記2値データ記憶部に記憶させる。前記区間・位置情報生成部は、前記2値データ算出部で算出された前記2値データを用いて、前記区間情報及び前記位置情報を生成して前記区間情報記憶部及び前記位置情報記憶部に記憶させる。
 本発明の他の形態に係る算術復号装置は、算術符号化されたストリームを復号して2値データを生成する。具体的には、算術復号装置は、前記ストリームから取得された位置情報の取りうる範囲を示す区間情報を記憶する区間情報記憶部と、前記位置情報を記憶する位置情報記憶部と、前記区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を記憶する分割情報記憶部と、分割情報算出部と、第1の分割情報選択部と、第2の分割情報選択部と、2値データ生成部と、区間・位置情報生成部とを備える。前記分割情報算出部は、次の前記2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて前記分割情報の候補を算出して前記第1の分割情報選択部に通知する。前記第1の分割情報選択部は、前記分割情報算出部から通知された前記分割情報の候補のうち、前記2値データ生成部で直前に生成された前記2値データに対応する分割情報の候補を選択して前記分割情報記憶部に記憶させる。前記第2の分割情報選択部は、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記区間情報記憶部に記憶されている前記区間情報に対応する前記分割情報を選択して前記2値データ生成部に通知する。前記2値データ生成部は、前記第2の分割情報選択部から通知された前記分割情報と、前記区間情報記憶部に記憶されている前記区間情報と、前記位置情報記憶部に記憶されている前記位置情報とを用いて、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて前記2値データを生成して前記第1の分割情報選択部に通知する。前記区間・位置情報生成部は、前記2値データ算出部で算出された前記2値データを用いて、前記区間情報及び前記位置情報を生成して前記区間情報記憶部及び前記位置情報記憶部に記憶させる。
 本発明の他の形態に係る算術復号装置は、算術符号化されたストリームを復号して2値データを生成する。具体的には、算術復号装置は、前記ストリームから取得された位置情報の取りうる範囲を示す区間情報を記憶する区間情報記憶部と、前記位置情報を記憶する位置情報記憶部と、前記2値データを記憶する2値データ記憶部と、前記区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を記憶する分割情報記憶部と、分割情報算出部と、第1の分割情報選択部と、第2の分割情報選択部と、2値データ生成部と、区間・位置情報生成部とを備える。前記分割情報算出部は、次の前記2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて前記分割情報の候補を算出して前記第1の分割情報選択部に通知する。前記第1の分割情報選択部は、前記分割情報算出部から通知された前記分割情報の候補のうち、前記区間情報記憶部に記憶されている前記区間情報に対応する分割情報の候補を選択して前記分割情報記憶部に記憶させる。前記第2の分割情報選択部は、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記2値データ記憶部に記憶されている前記2値データに対応する前記分割情報を選択して前記2値データ生成部に通知する。前記2値データ生成部は、前記第2の分割情報選択部から通知された前記分割情報と、前記区間情報記憶部に記憶されている前記区間情報と、前記位置情報記憶部に記憶されている前記位置情報とを用いて、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて前記2値データを生成して前記2値データ記憶部に記憶させる。前記区間・位置情報生成部は、前記2値データ算出部で算出された前記2値データを用いて、前記区間情報及び前記位置情報を生成して前記区間情報記憶部及び前記位置情報記憶部に記憶させる。
 本発明の一形態に係る画像復号装置は、算術符号化されたストリームを復号して得られる2値データから画像を生成する装置であって、上記記載の算術復号装置を備える。
 本発明の一形態に係る算術復号方法は、算術符号化されたストリームを復号して2値データを生成する方法である。具体的には、算術復号方法は、前記ストリームから取得された位置情報の取りうる範囲を示す区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を、次の2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて算出する分割情報算出ステップと、前記分割情報の候補のうち、前記区間情報に対応する分割情報を選択する分割情報選択ステップと、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて2値データを生成すると共に、生成された前記2値データを用いて次の前記区間情報及び次の前記位置情報を生成する生成ステップとを含む。そして、前記分割情報算出ステップと前記生成ステップとは、パイプライン実行される。
 本発明によれば、2値算術復号処理内の分割情報算出処理と2値データ生成処理とをパイプライン実行することができる算術復号装置を提供することができる。
図1は、実施の形態1に係る画像復号装置の構成を示すブロック図である。 図2は、実施の形態1に係る2値算術復号部の構成を示すブロック図である。 図3Aは、図2の構成の動作を説明するための概念図である。 図3Bは、図2の構成の動作を説明するための概念図である。 図3Cは、図2の各構成要素の動作タイミングを示すタイミングチャートである。 図4は、実施の形態2に係る2値算術復号部の構成を示すブロック図である。 図5Aは、図4の構成の動作を説明するための概念図である。 図5Bは、図4の構成の動作を説明するための概念図である。 図5Cは、図4の各構成要素の動作タイミングを示すタイミングチャートである。 図6は、実施の形態3に係る2値算術復号部の構成を示すブロック図である。 図7Aは、図6の構成の動作を説明するための概念図である。 図7Bは、図6の構成の動作を説明するための概念図である。 図7Cは、図6の構成の動作を説明するための概念図である。 図8は、実施の形態4に係る2値算術復号部の構成を示すブロック図である。 図9Aは、図8の構成の動作を説明するための概念図である。 図9Bは、図8の構成の動作を説明するための概念図である。 図9Cは、図8の各構成要素の動作タイミングを示すタイミングチャートである。 図10は、実施の形態5に係る2値算術復号部の構成を示すブロック図である。 図11Aは、図10の構成の動作を説明するための概念図である。 図11Bは、図10の構成の動作を説明するための概念図である。 図11Cは、図10の構成の動作を説明するための概念図である。 図12は、実施の形態6に係る2値算術復号部の構成を示すブロック図である。 図13Aは、図12の構成の動作を説明するための概念図である。 図13Bは、図12の構成の動作を説明するための概念図である。 図14は、2値算術符号化処理を説明するための概念図である。 図15は、2値算術復号処理を説明するための概念図である。
 以下、本発明の実施形態を図面に基づいて詳細に説明する。
 (実施の形態1)
 図1は、本実施の形態における画像復号装置の構成を示すブロック図である。図1に示される画像復号装置100は、復号処理部110と、復号制御部120とを備える。復号処理部110は、符号化ストリームに含まれる符号化ブロックデータを順次復号することによって、複数の復号ブロックで構成される復号画像を生成する。
 復号処理部110は、図1に示されるように、算術復号部111と、逆量子化部112と、逆直交変換部113と、加算器114と、デブロッキングフィルタ115と、メモリ116と、面内予測部117と、動き補償部118と、スイッチ119とを備える。
 算術復号部111は、符号化ストリームを取得し、その符号化ストリームを算術復号(可変長復号)するものであって、確率情報算出部111aと2値算術復号部111bとを備える。
 確率情報算出部111aは、算術復号部111から出力される2値データが第1の値(例えば、「0」)及び第2の値(例えば、「1」)のいずれであるかを示す確率情報を、2値算術復号部111bに出力する。確率情報算出部111aは、例えば、2値算術復号部111bで生成された直前の2値データ及び周囲の状況等に応じて決定される確率情報を確率情報として保持している。そして、確率情報算出部111aは、直前の2値データ及び周囲の状況に対応する確率情報を2値算術復号部111bに出力する。
 2値算術復号部111bは、確率情報算出部111aから取得した確率情報に基づいて、符号化ストリームに含まれる位置情報を復号して2値データを生成する。2値算術復号部111bの具体的な処理内容は、後述する。
 逆量子化部112は、算術復号部111による算術復号によって生成された、量子化された係数ブロックを逆量子化する。逆直交変換部113は、その逆量子化された係数ブロックに含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換を行うことによって、復号残差画像を生成する。
 加算器114は、スイッチ119から予測画像を取得し、その予測画像と、逆直交変換部113によって生成された復号残差画像とを加算することによって復号画像(復号ブロック)を生成する。
 デブロッキングフィルタ115は、加算器114によって生成された復号画像のブロック歪みを除去し、その復号画像をメモリ116に格納するとともに、その復号画像を出力する。
 面内予測部117は、加算器114によって生成された復号画像を用いて復号対象ブロックに対して面内予測を行うことによって予測画像を生成する。
 動き補償部118は、メモリ116に格納されている画像を参照画像と動きベクトルとを用いることによって、復号対象ブロックに対して動き補償を行う。動き補償部118は、このような動き補償によって復号対象ブロックに対する予測画像を生成する。動きベクトルの取得方法の詳細は、後述する。
 スイッチ119は、復号対象ブロックが面予測符号化されている場合には、面内予測部117によって生成された予測画像を加算器114に出力する。一方、スイッチ119は、復号対象ブロックが画面間予測符号化されている場合には、動き補償部118によって生成された予測画像を加算器114に出力する。
 復号制御部120は、復号処理部110を制御する。例えば、復号制御部120は、符号化ブロックデータのデータ構造を判定し、判定したデータ構造に応じた方法で動きベクトルを取得する。
 図2は、本発明の実施の形態1に係る2値算術復号部111bの構成を示すブロック図である。図2に示される2値算術復号部111bは、分割情報算出部10と、分割情報記憶部11と、分割情報選択部12と、区間情報記憶部13と、位置情報記憶部14と、生成部15とを備える。また、生成部15は、2値データ生成部15aと、区間・位置情報生成部15bとを備える。
 分割情報算出部10は、確率情報および区間情報に基づき、分割情報の候補を算出し、分割情報記憶部11に記憶させる。分割情報算出部10で使用される確率情報は、次の2値データに対応する確率情報であって、確率情報算出部111aから取得する。分割情報算出部10で使用される区間情報は、区間・位置情報生成部15bで生成される可能性のある区間情報の値域に対応する。
 「区間情報」とは、符号化ストリームから取得した位置情報の取り得る範囲を示すものであり、初期値は0.0~1.0である。また、区間情報は、生成部15で2値データが生成される度に、区間・位置情報生成部15bで更新される。「分割情報」とは、区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す。
 すなわち、本来、分割情報は、区間・位置情報生成部15bで新たな区間情報が生成されるまで、算出することができない。そこで、分割情報算出部10は、次に生成される可能性のある区間情報それぞれに対応する分割情報を、分割情報の候補として算出する。
 より具体的には、2値算術復号部111bは、複数の分割情報算出部10を備える。そして、各分割情報算出部10には、算出される可能性のある次の区間情報(「0.0~0.5」、「0.0~0.6」、「0.0~0.7」、「0.0~0.8」、「0.0~0.9」等)が設定されている。そして、各分割情報算出部10は、確率情報算出部111aから取得した確率情報と、設定されている区間情報とに基づいて、分割情報の候補を算出する。
 例えば、確率情報算出部111aから取得した確率情報が5:3(第1の値の確率:第2の値の確率)であり、設定された区間情報が0.0~0.8である場合、分割情報算出部10は、分割情報の候補として0.5(=0.8×5/8)を算出し、分割情報記憶部11に記憶させる。
 分割情報記憶部11は、分割情報算出部10により算出された分割情報の候補を記憶する。記憶部の具体的な構成は特に限定されないが、例えば、DRAM(Dynamic random access memory)、SDRAM(Synchronous dynamic random access memory)、フラッシュメモリ、強誘電体メモリ、又はHDD(Hard disk drive)等のデータを記憶可能な手段であればどのようなものを利用しても構わない。後述する他の記憶部も同様である。
 分割情報選択部12は、区間・位置情報生成部15bで算出された区間情報に基づき、分割情報記憶部11に記憶された分割情報の候補のいずれかを分割情報として選択し、生成部15に通知する。分割情報選択部12で使用される区間情報は、区間情報記憶部13に記憶されている区間情報である。
 生成部15は、分割情報選択部12から通知された分割情報と、区間情報記憶部13に記憶されている区間情報と、位置情報記憶部14に記憶されている位置情報とに基づき、2値データと、次の2値データに対応する区間情報および位置情報とを生成する。
 具体的には、2値データ生成部15aは、分割情報で区分された区間情報のどちらの範囲に位置情報が含まれるかに応じて、2値データを生成する。例えば、区間情報が0.0~0.8、分割情報が0.5、位置情報が0.75である場合、2値データ生成部15aは、2値データとして第2の値(1)を生成し、出力する。
 また、区間・位置情報生成部15bは、2値データ生成部15aで生成された2値データに基づいて次の区間情報及び次の位置情報を生成し、区間情報記憶部13及び位置情報記憶部14に記憶させる。上記の例では、再正規化の結果、区間情報として0.0~0.6が、位置情報として0.5が生成される。そして、区間・位置情報生成部15bは、生成した区間情報を区間情報記憶部13に記憶させ、生成した位置情報を位置情報記憶部14に記憶させる。
 図3A、図3B及び図3Cを参照して、実施の形態1に係る2値算術復号部111bの動作を説明する。図3A及び図3Bは、図2の構成の動作を説明するための概念図である。なお、図2の構成の動作を説明するための概念図は、図3Aおよび図3Bの二分割にして表しており、分割情報記憶部11は重複して表している。図3Cは、図2の各機能ブロックの動作タイミングを示すタイミングチャートである。
 図3A及び図3Bによれば、生成部15が(n-1)番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報は確定していない。従って、分割情報算出部10は、区間・位置情報生成部15bで生成される可能性のある区間情報の値域に基づき、n番目の2値データに対応する複数の分割情報の候補を算出し、分割情報記憶部11に記憶させる。
 次に、生成部15がn番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、n番目の2値データに対応する複数の分割情報の候補とが確定している。従って、分割情報選択部12は、区間情報記憶部13に記憶されているn番目の2値データに対応する区間情報に基づき、分割情報記憶部11に記憶されているn番目の2値データに対応する複数の分割情報の候補のいずれかを分割情報として選択し、生成部15に通知する。そして、生成部15は、分割情報選択部12から通知されたn番目の2値データに対応する分割情報と、区間情報記憶部13及び位置情報記憶部14に記憶されているn番目の2値データに対応する区間情報および位置情報とに基づき、n番目の2値データと、(n+1)番目の2値データに対応する区間情報および位置情報とを生成する。
 すなわち、図3Cに示されるように、分割情報算出部10がn番目の2値データに対応する分割情報の候補を算出しているのと並行して、分割情報選択部12が(n-1)番目の分割情報を選択し、生成部15が(n-1)番目の2値データを生成する。このように、分割情報選択部12の処理と生成部15の処理とは直列に実行され、分割情報算出部10の処理と分割情報選択部12及び生成部15の処理とは並列に実行(パイプライン実行)される。
 以上のように、本発明の実施の形態1に係る2値算術復号部111bは、2値データに依存せず次の2値データの出現確率が確定する算術符号化方式において、1サイクルで1個の2値データを復号しながら、分割情報の算出処理と2値データの算出処理とをパイプライン実行することができ、2値算術復号処理を高速化することができる。パイプライン時間は、max(分割情報算出部10に要する処理時間、分割情報選択部12に要する処理時間+生成部15に要する処理時間)となる。
 (実施の形態2)
 図4は、本発明の実施の形態2に係る2値算術復号部111bの構成を示すブロック図である。図4に示される2値算術復号部111bは、分割情報算出部20と、分割情報選択部21と、分割情報記憶部22と、区間情報記憶部23と、位置情報記憶部24と、生成部25とを備える。生成部25は、2値データ生成部25aと、区間・位置情報生成部25bとを備える。なお、図4に示される各構成要素の基本的な動作は、図2に示される同一名称の構成要素と共通するので、共通点の説明は省略し、相違点を中心に説明する。
 分割情報算出部20は、図2の分割情報算出部10と同様であり、説明を省略する。但し、実施の形態2に係る分割情報算出部20は、算出した分割情報の候補を、分割情報記憶部22に記憶させるのではなく、分割情報選択部21に通知する。
 分割情報選択部21は、区間・位置情報生成部25bで生成された区間情報に基づき、分割情報算出部20から通知された分割情報の候補のいずれかを分割情報として選択し、分割情報記憶部22に記憶させる。分割情報選択部21で使用される区間情報は、区間・位置情報生成部25bから通知される次の区間情報である。
 分割情報記憶部22は、分割情報選択部21により選択された分割情報を記憶する。ここで、実施の形態1に係る分割情報記憶部11が分割情報算出部10で算出された分割情報の候補を記憶するのに対して、実施の形態2に係る分割情報記憶部22は、分割情報選択部21で選択された分割情報を記憶する点が相違する。
 生成部25は、分割情報記憶部22に記憶されている分割情報と、区間情報記憶部23に記憶されている区間情報と、位置情報記憶部24に記憶されている位置情報とに基づき、2値データと、次の2値データに対応する区間情報および位置情報とを生成する。そして、生成部25は、生成した2値データを出力し、生成した区間情報を区間情報記憶部23に記憶させると共に分割情報選択部21に通知し、生成した位置情報を位置情報記憶部24に記憶させる。
 次に、図5A、図5B及び図5Cを参照して、実施の形態2に係る2値算術復号部111bの動作を説明する。図5A及び図5Bは、図4の構成の動作を説明するための概念図である。なお、図4の構成の動作を説明するための概念図は、図5Aおよび図5Bの二分割にして表しており、分割情報選択部21は重複して表している。図5Cは、図4の各機能ブロックの動作タイミングを示すタイミングチャートである。
 図5A及び図5Bによれば、生成部25が(n-1)番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報は確定していない。従って、分割情報算出部20は、区間・位置情報生成部25bで生成される可能性のある区間情報の値域に基づき、n番目の2値データに対応する複数の分割情報の候補を算出し、分割情報選択部21に通知する。
 このとき、図5Cに示されるように、生成部25と分割情報算出部20とが並列に動作する。そして、n番目の2値データに対応する区間情報と、n番目の2値データに対応する複数の分割情報の候補とが確定した時点で、分割情報選択部21は、区間・位置情報生成部25bから通知されるn番目の2値データに対応する区間情報に基づき、分割情報算出部20から通知されたn番目の2値データに対応する複数の分割情報の候補のいずれかを分割情報として選択し、分割情報記憶部22に記憶させる。
 次に、生成部25がn番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する分割情報が確定している。従って、生成部25は、分割情報記憶部22に記憶されているn番目の2値データに対応する分割情報と、区間情報記憶部23及び位置情報記憶部24に記憶されているn番目の2値データに対応する区間情報および位置情報とに基づき、n番目の2値データと、(n+1)番目の2値データに対応する区間情報および位置情報とを生成する。
 以上のように、本発明の実施の形態2に係る2値算術復号部111bは、分割情報記憶部22を1個だけ備えればよいので、分割情報記憶部11が分割情報の候補の数だけ必要な実施の形態1の場合よりも必要資源を抑制することができる。パイプライン時間は、max(分割情報算出部20に要する処理時間、生成部25に要する処理時間)+分割情報選択部21に要する処理時間となる。
 (実施の形態3)
 図6は、本発明の実施の形態3に係る2値算術復号部111bの構成を示すブロック図である。図6に示される2値算術復号部111bは、分割情報算出部30と、分割情報記憶部31と、分割情報選択部32と、区間情報記憶部33、位置情報記憶部34、生成部35と、2値データ記憶部36とを備える。生成部35は、2値データ生成部35aと、区間・位置情報生成部35bとを備える。なお、図6に示される各構成要素の基本的な動作は、図2に示される同一名称の構成要素と共通するので、共通点の説明は省略し、相違点を中心に説明する。
 分割情報算出部30は、確率情報および区間情報に基づき、分割情報の候補を算出し、分割情報記憶部31に記憶させる。分割情報算出部30で使用される確率情報は、直前の2値データが「0」の場合の次の2値データに対応する確率情報と、直前の2値データが「1」の場合の次の2値データに対応する確率情報とである。分割情報算出部30で使用される区間情報は、区間・位置情報生成部35bで生成される可能性のある区間情報の値域に対応する。
 分割情報記憶部31は、分割情報算出部30により算出された分割情報の候補を記憶する。すなわち、実施の形態3に係る分割情報記憶部31は、実施の形態1と同様に、算出される分割情報の候補の数だけ必要となる。
 分割情報選択部32は、生成部35で生成された区間情報および2値データに基づき、分割情報記憶部31に記憶されている分割情報の候補のいずれかを分割情報として選択し、生成部35に通知する。分割情報選択部32で使用される区間情報は、区間情報記憶部33に記憶されている区間情報である。分割情報選択部32で使用される2値データは、2値データ記憶部36に記憶されている直前の2値データである。
 生成部35は、分割情報選択部32から通知された分割情報と、区間情報記憶部33に記憶されている区間情報と、位置情報記憶部34に記憶されている位置情報とに基づき、2値データと、次の2値データに対応する区間情報および位置情報とを生成する。そして、生成部35は、生成した2値データを出力すると共に2値データ記憶部36に記憶させ、生成した区間情報を区間情報記憶部33に記憶させ、生成した位置情報を位置情報記憶部34に記憶させる。
 次に、図7A、図7B及び図7Cを参照して、実施の形態3に係る2値算術復号部111bの動作を説明する。図7A、図7B及び図7Cは、図6の構成の動作を説明するための概念図である。なお、図6の構成の動作を説明するための概念図は、図7A、図7B、及び図7Cに三分割にして表しており、分割情報記憶部31、及び分割情報選択部32、区間情報記憶部33及び位置情報記憶部34は重複して表している。また、実施の形態3のタイミングチャートは、図3Cと共通する。
 図7A、図7B及び図7Cによれば、生成部35が(n-1)番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、n番目の2値データに対応する確率情報とは確定していない。従って、分割情報算出部30は、区間・位置情報生成部35bで生成される可能性のある区間情報の値域と、(n-1)番目の2値データが「0」の場合のn番目の2値データに対応する確率情報と、(n-1)番目の2値データが「1」の場合のn番目の2値データに対応する確率情報とに基づき、n番目の2値データに対応する複数の分割情報の候補を算出し、分割情報記憶部31に記憶させる。
 生成部35がn番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、(n-1)番目の2値データと、n番目の2値データに対応する複数の分割情報の候補とが確定している。従って、分割情報選択部32は、区間情報記憶部33に記憶されているn番目の2値データに対応する区間情報と、2値データ記憶部36に記憶されている(n-1)番目の2値データとに基づき、分割情報記憶部31に記憶されているn番目の2値データに対応する複数の分割情報の候補のいずれかを分割情報として選択し、生成部35に通知する。生成部35は、分割情報選択部32から通知されたn番目の2値データに対応する分割情報と、区間情報記憶部33及び位置情報記憶部34に記憶されているn番目の2値データに対応する区間情報および位置情報とに基づき、n番目の2値データと、(n+1)番目の2値データに対応する区間情報および位置情報とを生成する。
 以上のように、本発明の実施の形態3に係る2値算術復号部111bは、2値データに依存して次の2値データの出現確率が確定する算術符号化方式において、1サイクルで1個の2値データを復号しながら、分割情報の算出処理と2値データの算出処理とをパイプライン実行でき、2値算術復号処理を高速化することができる。パイプライン時間は、max(分割情報算出部30に要する処理時間、分割情報選択部32に要する処理時間+生成部35に要する処理時間)となる。
 (実施の形態4)
 図8は、本発明の実施の形態4に係る2値算術復号部111bの構成を示すブロック図である。図8に示される2値算術復号部111bは、分割情報算出部40と、第1の分割情報選択部41と、分割情報記憶部42と、第2の分割情報選択部43と、区間情報記憶部44と、位置情報記憶部45と、生成部46とを備える。生成部46は、2値データ生成部46aと、区間・位置情報生成部46bとを備える。なお、図8に示される各構成要素の基本的な動作は、図2に示される同一名称の構成要素と共通するので、共通点の説明は省略し、相違点を中心に説明する。
 分割情報算出部40は、図6の分割情報算出部30と同様であり、説明を省略する。但し、実施の形態4に係る分割情報算出部40は、算出した分割情報の候補を、分割情報記憶部42に記憶させるのではなく、第1の分割情報選択部41に通知する。
 第1の分割情報選択部41は、直前の2値データに基づき、分割情報算出部40から通知された分割情報の候補の一部を選択し、分割情報記憶部42に記憶させる。第1の分割情報選択部41で使用される2値データは、2値データ生成部46aから通知される直前の2値データである。
 分割情報記憶部42は、第1の分割情報選択部41により選択された分割情報の候補を記憶する。すなわち、分割情報記憶部42に記憶される分割情報の候補は、直前の2値データが第1の値(0)である場合の分割情報の候補、及び直前の2値データが第2の値(1)である場合の分割情報の候補のうち、2値データ生成部46aで算出された直前の2値データに対応する分割情報の候補である。
 第2の分割情報選択部43は、区間・位置情報生成部46bで算出された区間情報に基づき、分割情報記憶部42に記憶されている分割情報の候補のいずれかを分割情報として選択し、生成部46に通知する。第2の分割情報選択部43で使用される区間情報は、区間情報記憶部44に記憶されている区間情報である。
 生成部46は、第2の分割情報選択部43から通知された分割情報と、区間情報記憶部44に記憶されている区間情報と、位置情報記憶部45に記憶されている位置情報とに基づき、2値データと、次の2値データに対応する区間情報および位置情報とを生成する。そして、生成部46は、生成した2値データを出力すると共に第1の分割情報選択部41に通知し、生成した区間情報を区間情報記憶部44に記憶させ、生成した位置情報を位置情報記憶部45に記憶させる。
 次に、図9A、図9B及び図9Cを参照して、実施の形態4に係る2値算術復号部111bの動作を説明する。図9A及び図9Bは、図8の構成の動作を説明するための概念図である。なお、図8の構成の動作を説明するための概念図は、図9A及び図9Bに二分割にして表しており、第1の分割情報選択部41は重複して表している。図9Cは、図8の各機能ブロックの動作タイミングを示すタイミングチャートである。
 図9A及び図9Bによれば、生成部46が(n-1)番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、n番目の2値データに対応する確率情報とは確定していない。従って、分割情報算出部40は、区間・位置情報生成部46bで生成される可能性のある区間情報の値域と、(n-1)番目の2値データが「0」の場合のn番目の2値データに対応する確率情報と、(n-1)番目の2値データが「1」の場合のn番目の2値データに対応する確率情報とに基づき、n番目の2値データに対応する複数の分割情報の候補を算出し、第1の分割情報選択部41に通知する。
 このとき、生成部46と分割情報算出部40とが並列に動作する。そして、(n-1)番目の2値データと、n番目の2値データに対応する複数の分割情報の候補とが確定した時点で、第1の分割情報選択部41は、2値データ生成部46aから通知された(n-1)番目の2値データに基づき、分割情報算出部40から通知されたn番目の2値データに対応する複数の分割情報の候補の一部を選択し、分割情報記憶部42に記憶させる。
 次に、生成部46がn番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、n番目の2値データに対応する複数の分割情報の候補とが確定している。従って、第2の分割情報選択部43は、区間情報記憶部44に記憶されているn番目の2値データに対応する区間情報に基づき、分割情報記憶部42に記憶されているn番目の2値データに対応する複数の分割情報の候補のいずれかを分割情報として選択し、生成部46に通知する。生成部46は、第2の分割情報選択部43から通知されたn番目の2値データに対応する分割情報と、区間情報記憶部44及び位置情報記憶部45に記憶されているn番目の2値データに対応する区間情報および位置情報とに基づき、n番目の2値データと、(n+1)番目の2値データに対応する区間情報および位置情報とを生成する。
 以上のように、本発明の実施の形態4に係る2値算術復号部111bは、分割情報記憶部42を区間情報の値域に対応する個数だけ備えればよいので、実施の形態3の場合よりも必要資源を抑制することができる。パイプライン時間は、max(分割情報算出部40に要する処理時間、第2の分割情報選択部43に要する処理時間+生成部46に要する処理時間)+第1の分割情報選択部41に要する処理時間となる。
 また、生成部46では、区間情報および位置情報に先立って2値データが生成される。そのため、第2の分割情報選択部43に要する時間+生成部46に要する時間が、分割情報算出部40に要する時間を上回る場合、第1の分割情報選択部41は、2値データ生成部46aがn番目の2値データを生成した時点で、(n+1)番目の2値データに対応する分割情報の候補を選択する処理を開始することができる。
 (実施の形態5)
 図10は、本発明の実施の形態5に係る2値算術復号部111bの構成を示すブロック図である。図10に示される2値算術復号部111bは、分割情報算出部50と、第1の分割情報選択部51と、分割情報記憶部52と、第2の分割情報選択部53と、区間情報記憶部54と、位置情報記憶部55と、生成部56と、2値データ記憶部57とを備える。生成部56は、2値データ生成部56aと、区間・位置情報生成部56bとを備える。なお、図10に示される各構成要素の基本的な動作は、図2に示される同一名称の構成要素と共通するので、共通点の説明は省略し、相違点を中心に説明する。
 分割情報算出部50は、図8の分割情報算出部40と同様であり、説明を省略する。
 第1の分割情報選択部51は、区間・位置情報生成部56bで生成された区間情報に基づき、分割情報算出部50から通知された分割情報の候補の一部を選択し、分割情報記憶部52に記憶させる。第1の分割情報選択部51で使用される区間情報は、区間・位置情報生成部56bから通知される次の区間情報である。
 分割情報記憶部52は、第1の分割情報選択部51により選択された分割情報の候補を記憶する。すなわち、分割情報記憶部52に記憶される分割情報の候補は、直前の2値データが第1の値(0)である場合の分割情報の候補のうちの次の区間情報に対応する分割情報と、直前の2値データが第2の値(1)である場合の分割情報の候補のうちの次の区間情報に対応する分割情報とである。
 第2の分割情報選択部53は、2値データ生成部56aで算出された2値データに基づき、分割情報記憶部52に記憶されている分割情報の候補のいずれかを分割情報として選択し、生成部56に通知する。第2の分割情報選択部53で使用される2値データは、2値データ記憶部57に記憶されている直前の2値データである。
 生成部56は、第2の分割情報選択部53から通知された分割情報と、区間情報記憶部54に記憶されている区間情報と、位置情報記憶部55に記憶されている位置情報とに基づき、2値データと、次の2値データに対応する区間情報および位置情報とを生成する。そして、生成部56は、生成した2値データを出力すると共に2値データ記憶部57に記憶させ、生成した区間情報を区間情報記憶部54に記憶させると共に第1の分割情報選択部51に通知し、生成した位置情報を位置情報記憶部55に記憶させる。
 次に、図11A、図11B及び図11Cを参照して、実施の形態5に係る2値算術復号部111bの動作を説明する。図11A、図11B及び図11Cは、図10の構成の動作を説明するための概念図である。なお、図10の構成の動作を説明するための概念図は、図11A、図11B、及び図11Cに三分割にして表しており、第1の分割情報選択部51、第2の分割情報選択部53、区間情報記憶部54、位置情報記憶部55及び生成部56は重複して表している。また、実施の形態5のタイミングチャートは、図9Cと共通する。
 図11A、図11B、及び図11Cによれば、生成部56が(n-1)番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、n番目の2値データに対応する確率情報とは確定していない。従って、分割情報算出部50は、区間・位置情報生成部56bで生成される可能性のある区間情報の値域と、(n-1)番目の2値データが「0」の場合のn番目の2値データに対応する確率情報と、(n-1)番目の2値データが「1」の場合のn番目の2値データに対応する確率情報とに基づき、n番目の2値データに対応する複数の分割情報の候補を算出し、第1の分割情報選択部51に通知する。
 このとき、生成部56と分割情報算出部50とが並列に動作する。そして、n番目の区間情報と、n番目の2値データに対応する複数の分割情報の候補とが確定した時点で、第1の分割情報選択部51は、区間・位置情報生成部56bから通知されたn番目の区間情報に基づき、分割情報算出部50から通知されたn番目の2値データに対応する複数の分割情報の候補の一部を選択し、分割情報記憶部52に記憶させる。
 次に、生成部56がn番目の2値データを算出するサイクルにおいて、(n-1)番目の2値データと、n番目の2値データに対応する複数の分割情報の候補とが確定している。従って、第2の分割情報選択部53は、2値データ記憶部57に記憶されている(n-1)番目の2値データに基づき、分割情報記憶部52に記憶されているn番目の2値データに対応する複数の分割情報の候補のいずれかを分割情報として選択し、生成部56に通知する。生成部56は、第2の分割情報選択部53から通知されたn番目の2値データに対応する分割情報と、区間情報記憶部54及び位置情報記憶部55に記憶されているn番目の2値データに対応する区間情報および位置情報とに基づき、n番目の2値データと、(n+1)番目の2値データに対応する区間情報および位置情報とを生成する。
 以上のように、本発明の実施の形態5に係る2値算術復号部111bは、分割情報記憶部52を2個だけ備えればよいので、実施の形態4の場合よりも必要資源を抑制することができる。パイプライン時間は、max(分割情報算出部50に要する処理時間、第2の分割情報選択部53に要する処理時間+生成部56に要する処理時間)+第1の分割情報選択部51に要する処理時間となる。
 (実施の形態6)
 図12は、本発明の実施の形態6に係る2値算術復号部111bの構成を示すブロック図である。図12に示される2値算術復号部111bは、分割情報算出部60と、分割情報選択部61と、分割情報記憶部62と、区間情報記憶部63と、位置情報記憶部64と、生成部65とを備える。生成部65は、2値データ生成部65aと、区間・位置情報生成部65bとを備える。なお、図12に示される各構成要素の基本的な動作は、図2に示される同一名称の構成要素と共通するので、共通点の説明は省略し、相違点を中心に説明する。
 分割情報算出部60は、図8の分割情報算出部40と同様であり、説明を省略する。
 分割情報選択部61は、生成部65で生成された区間情報および2値データに基づき、分割情報算出部60から通知された分割情報の候補のいずれかを分割情報として選択し、分割情報記憶部62に記憶させる。分割情報選択部61で使用される区間情報は、区間・位置情報生成部65bから通知される次の区間情報である。また、分割情報選択部61で使用される2値データは、2値データ生成部65aから通知される直前の2値データである。
 分割情報記憶部62は、分割情報選択部61により選択された分割情報を記憶する。すなわち、実施の形態6に係る分割情報記憶部62は、実施の形態2と同様に、分割情報選択部61で選択された分割情報を1つだけ記憶する。
 生成部65は、分割情報記憶部62に記憶されている分割情報と、区間情報記憶部63に記憶されている区間情報と、位置情報記憶部64に記憶されている位置情報とに基づき、2値データと、次の2値データに対応する区間情報および位置情報とを生成する。そして、生成部65は、生成した2値データを出力すると共に分割情報選択部61に通知し、生成した区間情報を区間情報記憶部63に記憶させると共に分割情報選択部61に通知し、生成した位置情報を位置情報記憶部64に記憶させる。
 次に、図13A及び図13Bを参照して、実施の形態6に係る2値算術復号部111bの動作を説明する。図13A及び図13Bは、図12の構成の動作を説明するための概念図である。なお、図12の構成の動作を説明するための概念図は、図13A及び図13Bに二分割にして表しており、分割情報選択部61は重複して表している。また、実施の形態6のタイミングチャートは、図5Cと共通する。
 図13A及び図13Bによれば、生成部65が(n-1)番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する区間情報と、n番目の2値データに対応する確率情報とは確定していない。従って、分割情報算出部60は、区間・位置情報生成部65bで生成される可能性のある区間情報の値域と、(n-1)番目の2値データが「0」の場合のn番目の2値データに対応する確率情報と、(n-1)番目の2値データが「1」の場合のn番目の2値データに対応する確率情報とに基づき、n番目の2値データに対応する複数の分割情報候補の候補を算出し、分割情報選択部61に通知する。
 このとき、生成部65と分割情報算出部60とが並列に動作する。そして、n番目の2値データに対応する区間情報と、(n-1)番目の2値データと、n番目の2値データに対応する複数の分割情報の候補とが確定した時点で、分割情報選択部61は、区間・位置情報生成部65bから通知されたn番目の2値データに対応する区間情報と、2値データ生成部65aから通知された(n-1)番目の2値データとに基づき、分割情報算出部60から通知されたn番目の2値データに対応する複数の分割情報の候補のいずれかを分割情報として選択し、分割情報記憶部62に記憶させる。
 次に、生成部65がn番目の2値データを算出するサイクルにおいて、n番目の2値データに対応する分割情報が確定している。従って、生成部65は、分割情報記憶部62に記憶されているn番目の2値データに対応する分割情報と、区間情報記憶部63及び位置情報記憶部64に記憶されているn番目の2値データに対応する区間情報および位置情報とに基づき、n番目の2値データと、(n+1)番目の2値データに対応する区間情報および位置情報とを生成する。
 以上のように、本発明の実施の形態6に係る2値算術復号部111bは、分割情報記憶部62を1個だけ備えればよいので、実施の形態5の場合よりも必要資源を抑制することができる。パイプライン時間は、max(分割情報算出部60に要する処理時間、生成部65に要する処理時間)+分割情報選択部61に要する処理時間となる。
 なお、本発明の実施の形態1~6の分割情報算出部は、ルックアップテーブルの参照処理、または乗算処理を含んでもよい。なお、ルックアップテーブルは、確率情報と区間情報の上限値との各組み合わせに対応する確率情報を保持するテーブルである。このとき、各分割情報算出部で使用される区間情報の上限値を固定化することにより、分割情報の算出処理を簡略化することができる。
 なお、本発明の実施の形態1~6に係る算術復号装置は、確率情報を算出する処理をパイプライン実行してもよい。これにより、確率情報算出処理と2値算術復号処理、確率情報算出処理内、および2値算術復号処理内を全てパイプライン実行することができ、算術復号処理全体を高速化することができる。
 なお、どのような算術符号化方式においても、再正規化処理が必要であることから、区間情報の値域は位置情報の値域より狭く規定されている。従って、2値算術復号処理をパイプライン実行するにあたり、本発明の実施の形態1~6に係る算術復号装置で示したようにパイプラインステージを分割することで、必要資源を最小限に抑制することができる。
 具体的には、位置情報の値域を入力情報として用いず、区間情報の区域を入力情報として用いて分割情報の候補を算出することにより、本発明の実施の形態1、2に係る算術復号装置では、分割情報算出部を区間情報の値域に対応する個数だけ備えればよい。本発明の実施の形態3~6に係る算術復号装置では、分割情報算出部を区間情報の値域の2倍に対応する個数だけ備えればよい。
 なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
 上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成要素を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶さている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有してもよい。
 本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであってもよいし、コンピュータプログラムからなるデジタル信号であってもよい。
 また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半導体メモリなどに記録してもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
 また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
 また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作してもよい。
 また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施してもよい。
 上記実施の形態及び上記変形例をそれぞれ組み合わせてもよい。
 以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
 本発明は、算術復号装置に適用でき、特に、LSI等の電子回路で実現される動画像又は音声の復号装置として適用することができる。例えば、符号化された動画像又は音声を復号して再生するパーソナルコンピュータ、デジタルテレビ、DVD(Digital Versatile Disc)プレーヤー、DVDレコーダー、BD(Blu-ray Disc)プレーヤー、BDレコーダー、PDA(Personal Digital Assistants)及び携帯電話機等に備えられる動画像又は音声の復号装置として有用である。
 10,20,30,40,50,60   分割情報算出部
 11,22,31,42,52,62   分割情報記憶部
 12,21,32,61   分割情報選択部
 13,23,33,44,54,63   区間情報記憶部
 14,24,34,45,55,64   位置情報記憶部
 15,25,35,46,56,65   生成部
 15a,25a,35a,46a,56a,65a   2値データ生成部
 15b,25b,35b,46b,56b,65b   区間・位置情報生成部
 36,57   2値データ記憶部
 41,51   第1の分割情報選択部
 43,53   第2の分割情報選択部
 100   画像復号装置
 110   復号処理部
 120   復号制御部
 111   算術復号部
 111a   確率情報算出部
 111b   2値算術復号部
 112   逆量子化部
 113   逆直交変換部
 114   加算器
 115   デブロッキングフィルタ
 116   メモリ
 117   面内予測部
 118   動き補償部
 119   スイッチ

Claims (18)

  1.  算術符号化されたストリームを復号して2値データを生成する算術復号装置であって、
     前記ストリームから取得された位置情報の取りうる範囲を示す区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を、次の2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて算出する分割情報算出部と、
     前記分割情報の候補のうち、前記区間情報に対応する分割情報を選択する分割情報選択部と、
     前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて2値データを生成すると共に、生成された前記2値データを用いて次の前記区間情報及び次の前記位置情報を生成する生成部とを備え、
     前記分割情報算出部の処理と前記生成部の処理とは、パイプライン実行される
     算術復号装置。
  2.  前記算術復号装置は、さらに、
     前記分割情報算出部で算出された前記分割情報の候補を記憶する分割情報記憶部と、
     前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、
     前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備え、
     前記分割情報選択部は、前記分割情報記憶部に記憶されているn番目の前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記生成部に通知し、
     前記生成部は、前記分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されている前記n番目の区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成する
     請求項1に記載の算術復号装置。
  3.  前記算術復号装置は、さらに、
     前記分割情報選択部で選択された前記分割情報を記憶する分割情報記憶部と、
     前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、
     前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備え、
     前記分割情報選択部は、前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記分割情報記憶部に記憶させ、
     前記生成部は、前記分割情報記憶部に記憶されている前記n番目の分割情報と、前記区間情報記憶部に記憶されているn番目の前記区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成する
     請求項1に記載の算術復号装置。
  4.  前記分割情報算出部は、直前の2値データが前記第1の値である場合の前記確率情報、及び前記直前の2値データが前記第2の値である場合の前記確率情報のそれぞれを用いて前記分割情報の候補を算出し、
     前記分割情報選択部は、前記生成部で生成された前記直前の2値データに対応する前記確率情報を用いて算出された前記分割情報のうち、前記区間情報に対応する前記分割情報を選択する
     請求項1に記載の算術復号装置。
  5.  前記算術復号装置は、さらに、
     前記分割情報算出部で算出された前記分割情報の候補を記憶する分割情報記憶部と、
     前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、
     前記生成部で生成された前記位置情報を記憶する位置情報記憶部と、
     前記生成部で生成された前記2値データを記憶する2値データ記憶部とを備え、
     前記分割情報選択部は、前記分割情報記憶部に記憶されているn番目の前記分割情報の候補のうち、前記2値データ記憶部に記憶されている(n-1)番目の前記2値データ及び前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記生成部に通知し、
     前記生成部は、前記分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されている前記n番目の区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成する
     請求項4に記載の算術復号装置。
  6.  前記算術復号装置は、さらに、
     前記分割情報の候補を記憶する分割情報記憶部と、
     前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、
     前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備え、
     前記分割情報選択部は、
     前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記生成部で生成された(n-1)番目の前記2値データに対応する分割情報の候補を選択して前記分割情報記憶部に記憶させる第1の分割情報選択部と、
     前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記生成部に通知する第2の分割情報選択部とを備え、
     前記生成部は、前記第2の分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されているn番目の前記区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成する
     請求項4に記載の算術復号装置。
  7.  前記算術復号装置は、さらに、
     前記分割情報の候補を記憶する分割情報記憶部と、
     前記生成部で生成された前記2値データを記憶する2値データ記憶部と、
     前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、
     前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備え、
     前記分割情報選択部は、
     前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記区間情報記憶部に記憶されているn番目の前記区間情報に対応する分割情報の候補を選択して前記分割情報記憶部に記憶させる第1の分割情報選択部と、
     前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記2値データ記憶部に記憶されている(n-1)番目の前記2値データに対応するn番目の前記分割情報を選択して前記生成部に通知する第2の分割情報選択部とを備え、
     前記生成部は、前記第2の分割情報選択部から通知された前記n番目の分割情報と、前記区間情報記憶部に記憶されているn番目の前記区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成する
     請求項4に記載の算術復号装置。
  8.  前記算術復号装置は、さらに、
     前記分割情報を記憶する分割情報記憶部と、
     前記生成部で生成された前記区間情報を記憶する区間情報記憶部と、
     前記生成部で生成された前記位置情報を記憶する位置情報記憶部とを備え、
     前記分割情報選択部は、前記分割情報算出部で算出されたn番目の前記分割情報の候補のうち、前記算出部で算出された(n-1)番目の前記2値データ及びn番目の前記区間情報に対応するn番目の前記分割情報を選択して前記分割情報記憶部に記憶させ、
     前記生成部は、前記分割情報記憶部に記憶されている前記n番目の分割情報と、前記区間情報記憶部に記憶されている前記n番目の区間情報と、前記位置情報記憶部に記憶されているn番目の前記位置情報とを用いて、n番目の前記2値データと、(n+1)番目の前記区間情報と、(n+1)番目の前記位置情報とを生成する
     請求項4に記載の算術復号装置。
  9.  前記分割情報算出部は、前記確率情報と前記区間情報の上限値との組み合わせに対応する確率情報を保持するルックアップテーブルを参照して、前記分割情報の候補を算出する
     請求項1~8のいずれか1項に記載の算術復号装置。
  10.  前記算術復号装置は、複数の前記分割情報算出部を備え、
     前記複数の分割情報算出部それぞれは、前記区間情報の上限値が固定された前記ルックアップテーブルを参照して、前記分割情報の候補を算出する
     請求項9に記載の算術復号装置。
  11.  前記分割情報算出部は、前記確率情報と前記区間情報の上限値との乗算処理を用いて、前記分割情報の候補を算出する
     請求項1~8のいずれか1項に記載の算術復号装置。
  12.  前記算術復号装置は、複数の前記分割情報算出部を備え、
     前記複数の分割情報算出部それぞれは、前記区間情報の上限値が固定した前記乗算処理を用いて、前記分割情報の候補を算出する
     請求項11に記載の算術復号装置。
  13.  前記算術復号装置は、さらに、前記分割情報選択部で使用される前記確率情報を算出する確率情報算出部を備える
     請求項1~12のいずれか1項に記載の算術復号装置。
  14.  算術符号化されたストリームを復号して2値データを生成する算術復号装置であって、
     前記ストリームから取得された位置情報の取りうる範囲を示す区間情報を記憶する区間情報記憶部と、
     前記位置情報を記憶する位置情報記憶部と、
     前記2値データを記憶する2値データ記憶部と、
     前記区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を記憶する分割情報記憶部と、
     分割情報算出部と、
     分割情報選択部と、
     2値データ生成部と、
     区間・位置情報生成部とを備え、
     前記分割情報算出部は、次の前記2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて前記分割情報の候補を算出して前記分割情報記憶部に記憶させ、
     前記分割情報選択部は、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記区間情報記憶部に記憶されている前記区間情報に対応する分割情報を選択して前記2値データ生成部に通知し、
     前記2値データ生成部は、前記分割情報選択部から通知された前記分割情報と、前記区間情報記憶部に記憶されている前記区間情報と、前記位置情報記憶部に記憶されている前記位置情報とを用いて、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて前記2値データを生成して前記2値データ記憶部に記憶させ、
     前記区間・位置情報生成部は、前記2値データ算出部で算出された前記2値データを用いて、前記区間情報及び前記位置情報を生成して前記区間情報記憶部及び前記位置情報記憶部に記憶させる
     算術復号装置。
  15.  算術符号化されたストリームを復号して2値データを生成する算術復号装置であって、
     前記ストリームから取得された位置情報の取りうる範囲を示す区間情報を記憶する区間情報記憶部と、
     前記位置情報を記憶する位置情報記憶部と、
     前記区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を記憶する分割情報記憶部と、
     分割情報算出部と、
     第1の分割情報選択部と、
     第2の分割情報選択部と、
     2値データ生成部と、
     区間・位置情報生成部とを備え、
     前記分割情報算出部は、次の前記2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて前記分割情報の候補を算出して前記第1の分割情報選択部に通知し、
     前記第1の分割情報選択部は、前記分割情報算出部から通知された前記分割情報の候補のうち、前記2値データ生成部で直前に生成された前記2値データに対応する分割情報の候補を選択して前記分割情報記憶部に記憶させ、
     前記第2の分割情報選択部は、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記区間情報記憶部に記憶されている前記区間情報に対応する前記分割情報を選択して前記2値データ生成部に通知し、
     前記2値データ生成部は、前記第2の分割情報選択部から通知された前記分割情報と、前記区間情報記憶部に記憶されている前記区間情報と、前記位置情報記憶部に記憶されている前記位置情報とを用いて、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて前記2値データを生成して前記第1の分割情報選択部に通知し、
     前記区間・位置情報生成部は、前記2値データ算出部で算出された前記2値データを用いて、前記区間情報及び前記位置情報を生成して前記区間情報記憶部及び前記位置情報記憶部に記憶させる
     算術復号装置。
  16.  算術符号化されたストリームを復号して2値データを生成する算術復号装置であって、
     前記ストリームから取得された位置情報の取りうる範囲を示す区間情報を記憶する区間情報記憶部と、
     前記位置情報を記憶する位置情報記憶部と、
     前記2値データを記憶する2値データ記憶部と、
     前記区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を記憶する分割情報記憶部と、
     分割情報算出部と、
     第1の分割情報選択部と、
     第2の分割情報選択部と、
     2値データ生成部と、
     区間・位置情報生成部とを備え、
     前記分割情報算出部は、次の前記2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて前記分割情報の候補を算出して前記第1の分割情報選択部に通知し、
     前記第1の分割情報選択部は、前記分割情報算出部から通知された前記分割情報の候補のうち、前記区間情報記憶部に記憶されている前記区間情報に対応する分割情報の候補を選択して前記分割情報記憶部に記憶させ、
     前記第2の分割情報選択部は、前記分割情報記憶部に記憶されている前記分割情報の候補のうち、前記2値データ記憶部に記憶されている前記2値データに対応する前記分割情報を選択して前記2値データ生成部に通知し、
     前記2値データ生成部は、前記第2の分割情報選択部から通知された前記分割情報と、前記区間情報記憶部に記憶されている前記区間情報と、前記位置情報記憶部に記憶されている前記位置情報とを用いて、前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて前記2値データを生成して前記2値データ記憶部に記憶させ、
     前記区間・位置情報生成部は、前記2値データ算出部で算出された前記2値データを用いて、前記区間情報及び前記位置情報を生成して前記区間情報記憶部及び前記位置情報記憶部に記憶させる
     算術復号装置。
  17.  算術符号化されたストリームを復号して得られる2値データから画像を生成する画像復号装置であって、
     請求項1~16のいずれか1項に記載の算術復号装置を備える
     画像復号装置。
  18.  算術符号化されたストリームを復号して2値データを生成する算術復号方法であって、
     前記ストリームから取得された位置情報の取りうる範囲を示す区間情報のうち、第1の値の範囲と第2の値の範囲との境界を示す分割情報の候補を、次の2値データが前記第1及び第2の値のいずれであるかを示す確率情報を用いて算出する分割情報算出ステップと、
     前記分割情報の候補のうち、前記区間情報に対応する分割情報を選択する分割情報選択ステップと、
     前記分割情報で区分された前記区間情報のどちらの範囲に前記位置情報が含まれるかに応じて2値データを生成すると共に、生成された前記2値データを用いて次の前記区間情報及び次の前記位置情報を生成する生成ステップとを含み、
     前記分割情報算出ステップと前記生成ステップとは、パイプライン実行される
     算術復号方法。
PCT/JP2012/004192 2011-09-29 2012-06-28 算術復号装置、画像復号装置、および算術復号方法 WO2013046504A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/225,207 US9532044B2 (en) 2011-09-29 2014-03-25 Arithmetic decoding device, image decoding apparatus and arithmetic decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-215541 2011-09-29
JP2011215541 2011-09-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/225,207 Continuation US9532044B2 (en) 2011-09-29 2014-03-25 Arithmetic decoding device, image decoding apparatus and arithmetic decoding method

Publications (1)

Publication Number Publication Date
WO2013046504A1 true WO2013046504A1 (ja) 2013-04-04

Family

ID=47994600

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/004192 WO2013046504A1 (ja) 2011-09-29 2012-06-28 算術復号装置、画像復号装置、および算術復号方法

Country Status (3)

Country Link
US (1) US9532044B2 (ja)
JP (1) JPWO2013046504A1 (ja)
WO (1) WO2013046504A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525266A (ja) * 2014-06-29 2017-08-31 エルジー エレクトロニクス インコーポレイティド 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660950B (zh) * 2015-02-14 2019-05-14 京东方科技集团股份有限公司 视频控制器、显示装置、播放控制器以及显示系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
JP2008118304A (ja) * 2006-11-01 2008-05-22 Canon Inc 復号装置及び復号方法
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
JP2008311803A (ja) * 2007-06-13 2008-12-25 Victor Co Of Japan Ltd 算術復号方法、算術復号装置及び算術復号プログラム
JP2009534886A (ja) * 2006-04-18 2009-09-24 トムソン ライセンシング 算術符号化方法及びデバイス

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784631A (en) * 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
US7197190B1 (en) * 1997-09-29 2007-03-27 Canon Kabushiki Kaisha Method for digital data compression
US6907070B2 (en) * 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
US6906647B2 (en) * 2002-09-20 2005-06-14 Ntt Docomo, Inc. Method and apparatus for arithmetic coding, including probability estimation state table creation
US6825782B2 (en) * 2002-09-20 2004-11-30 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
JP5389187B2 (ja) * 2009-10-29 2014-01-15 パナソニック株式会社 画像符号化方法および画像符号化装置
US8615043B2 (en) * 2010-03-04 2013-12-24 Texas Instruments Incorporated Fixed length coding based image data compression
US8174414B2 (en) * 2010-04-13 2012-05-08 Research In Motion Limited Methods and devices for load balancing in parallel entropy coding and decoding
JP5676744B2 (ja) * 2010-04-13 2015-02-25 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
US10349070B2 (en) * 2010-09-30 2019-07-09 Texas Instruments Incorporated Simplified binary arithmetic coding engine
US8902988B2 (en) * 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US9824066B2 (en) * 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US9942573B2 (en) * 2011-06-22 2018-04-10 Texas Instruments Incorporated Systems and methods for reducing blocking artifacts
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US10110891B2 (en) * 2011-09-29 2018-10-23 Sharp Kabushiki Kaisha Image decoding device, image decoding method, and image encoding device
US20130101033A1 (en) * 2011-10-14 2013-04-25 Qualcomm Incorporated Coding non-symmetric distributions of data
US9892188B2 (en) * 2011-11-08 2018-02-13 Microsoft Technology Licensing, Llc Category-prefixed data batching of coded media data in multiple categories
EP2805495B1 (en) * 2012-01-20 2023-07-19 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
US9565435B2 (en) * 2012-02-04 2017-02-07 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
US9380302B2 (en) * 2012-02-27 2016-06-28 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US10362336B2 (en) * 2014-03-25 2019-07-23 Qualcomm Incorporated Palette predictor signaling with run length code for video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
JP2009534886A (ja) * 2006-04-18 2009-09-24 トムソン ライセンシング 算術符号化方法及びデバイス
JP2008118304A (ja) * 2006-11-01 2008-05-22 Canon Inc 復号装置及び復号方法
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
JP2008311803A (ja) * 2007-06-13 2008-12-25 Victor Co Of Japan Ltd 算術復号方法、算術復号装置及び算術復号プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PIN-CHIH LIN ET AL.: "A Branch Selection Multi-symbol High Throughput CABAC Decoder Architecture for H.264/AVC", CIRCUITS AND SYSTEMS, 2009.ISCAS 2009.IEEE INTERNATIONAL SYMPOSIUM ON, May 2009 (2009-05-01), pages 365 - 368, XP031479203 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525266A (ja) * 2014-06-29 2017-08-31 エルジー エレクトロニクス インコーポレイティド 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置
US10455247B2 (en) 2014-06-29 2019-10-22 Lg Electronics Inc. Method and apparatus for performing arithmetic coding on basis of concatenated ROM-RAM table

Also Published As

Publication number Publication date
US9532044B2 (en) 2016-12-27
US20140205010A1 (en) 2014-07-24
JPWO2013046504A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
RU2637879C2 (ru) Кодирование и декодирование значащих коэффициентов в зависимости от параметра указанных значащих коэффициентов
US7119723B1 (en) Decoding variable length codes while using optimal resources
JP5697301B2 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、及び動画像符号化・復号システム
JP2006054877A (ja) 適応算術復号化方法及び適応算術復号化装置
CN108307195A (zh) 最后有效系数的位置的渐进式译码
JP2006054865A (ja) パイプライン方式の二進算術デコーディング装置及び方法
ES2878325T3 (es) Codificación aritmética binaria con máquinas de estados finitos de estimación de probabilidad parametrizadas
US20090219177A1 (en) Arithmetic Decoding Method and Device
TWI397268B (zh) 解碼用的熵處理器
JP2007189276A (ja) 画像圧縮装置及び画像圧縮プログラム
JP2008118304A (ja) 復号装置及び復号方法
JP5116704B2 (ja) 画像符号化装置及び画像符号化方法
JP4547503B2 (ja) 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
JP6159240B2 (ja) 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム
RU2602782C2 (ru) Способ кодирования параметров квантования видео, способ декодирования параметров квантования видео и соответствующие устройства и программы
US8456334B2 (en) Variable-length code decoding apparatus, decoding system, and variable-length code decoding method
JP2009021775A (ja) 符号化装置及び符号化方法
WO2013046504A1 (ja) 算術復号装置、画像復号装置、および算術復号方法
JP2016528810A (ja) 非変換符号化のためのスキャン順序
US7439886B2 (en) Variable-length decoder, video decoder and image display system having the same, and variable-length decoding method
JP2017092868A (ja) 映像符号化装置およびプログラム
JP4241588B2 (ja) 動画像符号化装置、及び動画像復号化装置
EP2259432A1 (en) Variable-length code decoding apparatus and method
KR20180031944A (ko) 비디오 디코더 및 이를 포함하는 전자 시스템
JP5200854B2 (ja) 符号化装置、復号装置、及び画像処理システム

Legal Events

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

Ref document number: 12837043

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013535829

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12837043

Country of ref document: EP

Kind code of ref document: A1