[go: up one dir, main page]

WO2011052142A1 - 画像符号化方法および画像復号方法 - Google Patents

画像符号化方法および画像復号方法 Download PDF

Info

Publication number
WO2011052142A1
WO2011052142A1 PCT/JP2010/006077 JP2010006077W WO2011052142A1 WO 2011052142 A1 WO2011052142 A1 WO 2011052142A1 JP 2010006077 W JP2010006077 W JP 2010006077W WO 2011052142 A1 WO2011052142 A1 WO 2011052142A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
decoding
target block
block
blocks
Prior art date
Application number
PCT/JP2010/006077
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 パナソニック株式会社
Priority to CN201080003832.9A priority Critical patent/CN102754437B/zh
Priority to JP2011538227A priority patent/JP5389187B2/ja
Priority to US13/148,957 priority patent/US8718149B2/en
Publication of WO2011052142A1 publication Critical patent/WO2011052142A1/ja
Priority to US14/162,871 priority patent/US9497460B2/en
Priority to US14/162,816 priority patent/US8953692B2/en
Priority to US15/281,417 priority patent/US9854264B2/en
Priority to US15/810,378 priority patent/US10171827B2/en
Priority to US16/180,125 priority patent/US10455246B2/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to an image encoding method for encoding an image having a plurality of blocks.
  • An image encoding device that encodes a moving image divides each picture constituting the moving image into macro blocks each including 16 ⁇ 16 pixels, and encodes each macro block. Then, the image encoding device generates a compressed encoded stream by encoding the moving image.
  • the image decoding apparatus decodes the encoded stream in units of macroblocks and reproduces each picture of the original moving image.
  • H.264 standard (hereinafter referred to as H.264 standard) (see, for example, Non-Patent Document 1 and Non-Patent Document 2).
  • H.264 standard H.264 standard
  • FIG. 53B Within a slice, a plurality of macroblocks are encoded in raster order from left to right. Further, as shown in FIG. 53C, a start code is added to each slice.
  • the image decoding apparatus can easily detect the start of the slice and start decoding by searching for the start code from the encoded stream. In addition, there is no information reference relationship between slices. Therefore, the image decoding apparatus can decode a slice independently.
  • FIG. It is a block diagram which shows the arithmetic coding part which codes an image by the H.264 arithmetic coding.
  • the arithmetic coding unit 100 shown in FIG. 54 initializes the symbol occurrence probability of the symbol occurrence probability storage unit 102 with one of three predetermined values at the head of the slice.
  • the arithmetic coding unit 100 arithmetically codes the slice while updating the probability table in accordance with the code generation probability in each syntax of the slice.
  • the arithmetic encoding unit 100 can improve the encoding efficiency because the probability table becomes a probability table suitable for the image by updating the probability table.
  • the multilevel signal is first binarized by the binarization unit 101.
  • the context control unit 103 generates an index for selecting the symbol occurrence probability held by the symbol occurrence probability storage unit 102 according to the peripheral information of the macroblock and the binary signal data.
  • the context control unit 103 reads out the occurrence probability of the binary signal from the symbol occurrence probability storage unit 102 using this index.
  • the binary arithmetic encoder 104 arithmetically encodes the binary signal using the read occurrence probability.
  • the context control unit 103 writes back and updates the symbol occurrence probability obtained as a result of the arithmetic coding in the symbol occurrence probability storage unit 102.
  • An image encoding apparatus using this arithmetic encoding can realize high encoding efficiency.
  • such an image encoding device must encode an image in raster order while updating the probability table after decomposing the image into macroblocks. Therefore, such an image encoding device cannot inherently encode images in parallel. For this reason, it is difficult to improve the performance other than the improvement of the operating frequency.
  • the image encoding apparatus may divide the image into slices and encode the images in parallel.
  • the image encoding device cannot use a spatial correlation between slices.
  • the encoding efficiency deteriorates.
  • the macroblock 13 and the macroblock 14 in FIG. 53B are spatially separated from each other, and their symbol occurrence probabilities may be greatly different. Nevertheless, since the image encoding apparatus encodes an image in raster order, it is necessary to encode the macroblock 14 depending on the symbol occurrence probability of the macroblock 13. Therefore, the encoding efficiency has deteriorated.
  • Non-patent Document 3 a slice (referred to as an entropy slice in Non-Patent Document 3) that can be referred to from another slice is provided as a unit for dividing the inside of a picture. Although this slice is a slice, it can refer to the inside of another slice across a slice boundary.
  • the image encoding apparatus can use information of macro blocks adjacent to each other across the boundary of the slice for encoding a motion vector, intra prediction, and the like by using the referable slice. And the image coding apparatus can improve coding efficiency using spatial correlation.
  • the processing efficiency is improved by encoding the slices in the order shown in FIG. 55B.
  • the lowest macroblock (“5” in FIG. 55B) of slice 0 adjacent to slice 1 is encoded earlier than the raster order in FIG. 53B. That is, the image encoding apparatus can encode slice 1 earlier using the information of slice 0. Therefore, the processing efficiency when processing in parallel is improved.
  • Non-Patent Document 3 a probability table used for arithmetic coding is initialized at the head of each entropy slice as specified in Chapter 2.2 of Non-Patent Document 3. . Therefore, the probability table updated in accordance with the picture cannot be used, and the coding efficiency deteriorates.
  • an object of the present invention is to provide an image encoding method that improves encoding efficiency using more appropriate probability information.
  • an image encoding method is an image encoding method for encoding an image having a plurality of regions each including a plurality of blocks.
  • the first encoding step after encoding the first encoding target block that is the encoding target block among the first plurality of blocks, the first plurality of blocks Of which, the next encoding target block Before encoding a second encoding target block, the first probability information is updated depending on the data of the first encoding target block, and in the second encoding step, After encoding a third encoding target block that is an encoding target block among the second plurality of blocks.
  • the second probability information is updated depending on the data of the third encoding target block.
  • the second encoding step is further performed.
  • the second probability using the first probability information updated in the first encoding step. Update information.
  • the probability information used for encoding is updated at the head of each area of the image according to the characteristics of the image. Therefore, encoding efficiency is improved.
  • the first plurality of blocks are sequentially encoded by arithmetic encoding using the first probability information
  • the first block The plurality of two blocks may be sequentially encoded by arithmetic coding using the second probability information.
  • the first plurality of blocks included in the first region which is a slice, each of which is a macroblock Sequentially encoded using probability information of 1
  • the second plurality of blocks included in the second region which is a slice, each of which is a macroblock may be sequentially encoded using the second probability information.
  • the probability information used for encoding is updated at the head of each slice of the image according to the characteristics of the image.
  • the probability information is inherited between slices.
  • the macroblock included in the slice is encoded. Therefore, encoding efficiency is improved.
  • the second encoding step before encoding the fifth encoding target block, data of the first encoding target block immediately adjacent to the fifth encoding target block is encoded. And the second probability information may be updated with the first probability information updated in the first encoding step.
  • the first block of each region is encoded depending on the probability information updated by the block immediately above in space. Therefore, the encoding efficiency is further improved.
  • the first plurality of blocks each including a plurality of sub-blocks are sequentially encoded for each sub-block using the first probability information
  • the second plurality of blocks each including a plurality of sub-blocks are sequentially encoded for each sub-block using the second probability information.
  • the first encoding step Furthermore, after encoding the first encoding target sub-block that is the encoding target sub-block among the first plurality of sub-blocks included in the first encoding target block, the first plurality of sub-blocks are encoded.
  • the first encoding target sub-block Before encoding the second encoding target sub-block that is the next encoding target sub-block, the first encoding target sub-block depends on the data of the first encoding target sub-block. Probability information is updated, and in the second encoding step, a third encoding which is an encoding target sub-block among a plurality of second sub-blocks included in the fifth encoding target block is further performed.
  • the third encoding is updated depending on the data of the target sub-block, and in the second encoding step, the fifth sub-block is the first encoding target sub-block among the second plurality of sub-blocks.
  • the data of the first encoding target sub-block spatially closest to the fifth encoding target sub-block among the plurality of first sub-blocks In the updated at the first encoding step by depending first probability information may update the second probability information.
  • the first sub-block of each area is encoded depending on the probability information updated in spatially close sub-blocks. Therefore, the encoding efficiency is further improved.
  • the image encoding method is an image encoding method for encoding an image having a plurality of blocks, and sequentially uses the plurality of blocks by using probability information indicating the occurrence probability of data.
  • the plurality of blocks may be sequentially encoded by arithmetic encoding using the probability information.
  • the plurality of blocks are encoded sequentially from left to right for each horizontal line, the rightmost block is encoded, and then the leftmost block under one line is encoded. Also good.
  • the probability that the third encoding target block is updated depending on the data of the first encoding target block immediately adjacent to the third encoding target block You may encode using information.
  • the probability information updated by making the third encoding target block dependent on the data of the first encoding target block adjacent to the third encoding target block on the upper left. You may encode using.
  • the plurality of blocks each including a plurality of sub-blocks are sequentially encoded for each sub-block using the probability information.
  • the first step is further performed. After encoding the first encoding target sub-block that is the encoding target sub-block among the first plurality of sub-blocks included in the encoding target block, the following among the first plurality of sub-blocks: Before encoding the second encoding target sub-block, which is the encoding target sub-block, the probability information is updated depending on the data of the first encoding target sub-block, and in the encoding step, The third encoding target sub-block that is the first encoding target sub-block among the second plurality of sub-blocks included in the third encoding target block is Using the probability information updated depending on the data of the first encoding target subblock that is spatially closest to the third encoding target subblock among the first plurality of subblocks, May be used.
  • the sub-block is encoded depending on the probability information updated in the spatially close sub-block. Therefore, the encoding efficiency is further improved.
  • the image encoding method further includes the first encoding step in the encoding step.
  • the first probability information that is the probability information updated depending on the data of the encoding target block of the first and the probability information updated depending on the data of the fourth encoding target block in the encoding step
  • the target block, using the probability information calculated in the calculation step, may be encoded.
  • the block is encoded based on a plurality of pieces of probability information. Therefore, the encoding efficiency is further improved.
  • the plurality of blocks each including a plurality of sub-blocks are sequentially encoded for each sub-block using the probability information.
  • the first step is further performed. After encoding the first encoding target sub-block that is the encoding target sub-block among the first plurality of sub-blocks included in the encoding target block, the following among the first plurality of sub-blocks: Before encoding the second encoding target sub-block, which is the encoding target sub-block, the probability information is updated depending on the data of the first encoding target sub-block, and in the encoding step, Further, among the second plurality of sub-blocks included in the fourth encoding target block, a third encoding target sub-block that is an encoding target sub-block is encoded.
  • the probability information is updated depending on the first encoding target sub-block of the third plurality of sub-blocks included in the third encoding target block in the calculating step.
  • the probability information used for encoding the encoding target sub-block is the first encoding target sub-block spatially closest to the fifth encoding target sub-block among the plurality of first sub-blocks.
  • the first probability information which is the probability information updated in the encoding step depending on the data of the first sub-block and the fifth sub-block to be encoded among the plurality of second sub-blocks.
  • the fifth encoding target sub-block may be encoded using the probability information calculated in the calculating step.
  • the sub-block is encoded based on a plurality of pieces of probability information updated by a plurality of sub-blocks that are spatially close to each other. Therefore, the encoding efficiency is further improved.
  • spatial proximity from the fifth encoding target sub-block to the first encoding target sub-block and the third encoding from the fifth encoding target sub-block Weighting the first probability information and the second probability information according to the spatial proximity to the target sub-block, the probability information used for encoding the fifth encoding target sub-block is It may be calculated.
  • the probability information is weighted according to the distance and calculated. Therefore, the sub-block is encoded based on the more accurate probability information. Therefore, the encoding efficiency is further improved.
  • the third encoding target block is encoded using the probability information updated depending on the data of the first encoding target block, If the predetermined condition is not satisfied, the third encoding target block may be encoded using the probability information updated depending on the data of the encoding target block before the third encoding target block. Good.
  • the probability information updated in the upper block is used only in a limited case. Therefore, the number of probability information to be retained is reduced.
  • the image decoding method is an image decoding method for decoding an image having a plurality of regions each including a plurality of blocks, wherein the first region included in the first region out of the plurality of regions.
  • a first decoding step for sequentially decoding a plurality of blocks using first probability information indicating data occurrence probability, and a second area different from the first area among the plurality of areas
  • a second decoding step for sequentially decoding the second plurality of blocks included in the data using second probability information indicating the occurrence probability of the data, and in the first decoding step, After decoding the first decoding target block that is the decoding target block among the first plurality of blocks, the second decoding target block that is the next decoding target block is decoded from among the first plurality of blocks.
  • the first probability information is updated depending on the data of the first decoding target block.
  • a third decoding block is selected from among the second plurality of blocks. After decoding the decoding target block of the second decoding block, before decoding the fourth decoding target block, which is the next decoding target block, of the second plurality of blocks, it is made to depend on the data of the third decoding target block. Updating the second probability information, and in the second decoding step, before decoding the fifth decoding target block, which is the first decoding target block, of the second plurality of blocks, The second probability information may be updated with the first probability information updated in the first decoding step.
  • the probability information used for decoding is updated at the head of each area of the image according to the characteristics of the image. Then, an image encoded by the same method is decoded.
  • the image decoding method is an image decoding method for decoding an image having a plurality of blocks, wherein the plurality of blocks are sequentially decoded using probability information indicating the occurrence probability of data.
  • a second decoding target block that is the next decoding target block among the plurality of blocks.
  • the probability information is updated depending on the data of the first decoding target block, and in the decoding step, the first decoding target block among the plurality of blocks is updated.
  • a third decoding target block which is a decoding target block after decoding and is a decoding target block different from the second decoding target block, is Using the probability information updated by depending on the data of the first decoding target block adjacent to the decoding target block and the upper, may be decoded.
  • An image encoding device is an image encoding device that encodes an image having a plurality of regions each including a plurality of blocks, and is included in a first region of the plurality of regions.
  • the first encoding unit that sequentially encodes the first plurality of blocks using the first probability information indicating the occurrence probability of the data, and the first region among the plurality of regions
  • a second encoding unit that sequentially encodes the second plurality of blocks included in the different second areas using the second probability information indicating the occurrence probability of the data;
  • the encoding unit further encodes the first encoding target block that is the encoding target block among the first plurality of blocks, and then encodes the next encoding among the first plurality of blocks.
  • the second encoding unit further encodes the second plurality of blocks.
  • the second probability information is updated depending on data of a third encoding target block, and the second encoding unit further includes a first encoding target block among the plurality of second blocks.
  • the second probability information may be updated with the first probability information updated by the first encoding unit before encoding the fifth encoding target block.
  • the image encoding device can update the probability information used for encoding according to the characteristics of the image at the head of each region of the image. Therefore, encoding efficiency is improved.
  • the image encoding device is an image encoding device that encodes an image having a plurality of blocks, and sequentially uses the plurality of blocks by using probability information indicating the occurrence probability of data.
  • An encoding unit that performs encoding, and the encoding unit further encodes a first encoding target block that is an encoding target block among the plurality of blocks, and then, among the plurality of blocks, Before encoding the second encoding target block which is the next encoding target block, the probability information is updated depending on the data of the first encoding target block, and the encoding unit Third encoding, which is an encoding target block after encoding the first encoding target block, and is a different encoding target block from the second encoding target block among a plurality of blocks.
  • Target A lock using the third coded block and the probability information updated by depending on the data of the first encoding target blocks adjacent to the upper side, may be encoded.
  • the image encoding apparatus can encode a block based on the probability information updated in the upper block that is spatially close. Therefore, the encoding efficiency is further improved.
  • An image decoding apparatus is an image decoding apparatus that decodes an image having a plurality of areas each including a plurality of blocks, and includes a first area included in a first area among the plurality of areas.
  • a first decoding unit that sequentially decodes a plurality of blocks using first probability information indicating data occurrence probability, and a second area that is different from the first area among the plurality of areas
  • a second decoding unit that sequentially decodes the second plurality of blocks using the second probability information indicating the occurrence probability of the data, and the first decoding unit further includes: After decoding the first decoding target block that is the decoding target block among the first plurality of blocks, the second decoding target block that is the next decoding target block is decoded from among the first plurality of blocks.
  • the first probability information is updated depending on the data of the first block, and the second decoding unit further selects a third decoding target block that is a decoding target block among the plurality of second blocks. After decoding, before decoding the fourth decoding target block, which is the next decoding target block, of the second plurality of blocks, the second decoding block depends on the data of the third decoding target block.
  • the probability information is updated, and the second decoding unit further performs the first decoding before decoding the fifth decoding target block which is the first decoding target block among the second plurality of blocks.
  • the second probability information may be updated with the first probability information updated in the section.
  • the image decoding apparatus can update the probability information used for decoding at the head of each area of the image according to the characteristics of the image. And the image decoding apparatus can decode the image encoded by the same method.
  • the image decoding apparatus is an image decoding apparatus that decodes an image having a plurality of blocks, and sequentially decodes the plurality of blocks using probability information indicating the occurrence probability of data. And the decoding unit further decodes a first decoding target block that is a decoding target block among the plurality of blocks, and then selects a second decoding target block among the plurality of blocks. Before decoding the decoding target block, the probability information is updated depending on the data of the first decoding target block, and the decoding unit determines the first decoding target block among the plurality of blocks.
  • a third decoding target block that is a decoding target block after decoding and is a different decoding target block from the second decoding target block is referred to as the third decoding target block.
  • the probability information updated by depending on the data of the first decoding target block adjacent to the side, it may be decoded.
  • the image decoding apparatus can decode the block based on the probability information updated in the upper block that is spatially close. And the image decoding apparatus can decode the image encoded by the same method.
  • An integrated circuit is an integrated circuit that encodes an image having a plurality of regions each including a plurality of blocks, and the first plurality of regions included in the first region among the plurality of regions.
  • the first encoding unit that sequentially encodes the block using the first probability information indicating the occurrence probability of the data, and a second of the plurality of regions different from the first region
  • a second encoding unit that sequentially encodes the second plurality of blocks included in the region using the second probability information indicating the occurrence probability of the data, and the first encoding unit includes: Furthermore, after encoding the first encoding target block that is the encoding target block among the first plurality of blocks, the first encoding target block is the next encoding target block.
  • the first probability information is updated depending on data of a first encoding target block
  • the second encoding unit further includes a first encoding block that is an encoding target block among the plurality of second blocks.
  • the third encoding After encoding the third encoding target block, before encoding the fourth encoding target block, which is the next encoding target block, of the second plurality of blocks, the third encoding
  • the second probability information is updated depending on the data of the target block, and the second encoding unit further includes a fifth encoding block that is the first encoding target block among the second plurality of blocks.
  • the second probability information may be updated with the first probability information updated by the first encoding unit.
  • the integrated circuit according to the present invention can update the probability information used for encoding according to the characteristics of the image at the head of each region of the image. Therefore, encoding efficiency is improved.
  • An integrated circuit is an integrated circuit that encodes an image having a plurality of blocks, and sequentially encodes the plurality of blocks using probability information indicating the occurrence probability of data.
  • An encoding unit wherein the encoding unit further encodes a first encoding target block that is an encoding target block among the plurality of blocks, and then encodes a next encoding among the plurality of blocks.
  • the probability information is updated depending on the data of the first encoding target block, and the encoding unit includes the plurality of blocks.
  • a third encoding target block that is an encoding target block after encoding the first encoding target block and is an encoding target block different from the second encoding target block, Using the serial third encoding target block and the probability information updated by depending on the data of the first encoding target blocks adjacent to the upper side, it may be encoded.
  • the integrated circuit according to the present invention can encode the block based on the probability information updated in the upper block which is spatially close. Therefore, the encoding efficiency is further improved.
  • the integrated circuit according to the present invention is an integrated circuit that decodes an image having a plurality of regions each including a plurality of blocks, and the first plurality of regions included in the first region among the plurality of regions.
  • the block is included in a first decoding unit that sequentially decodes using the first probability information indicating the occurrence probability of data, and a second region that is different from the first region among the plurality of regions.
  • a second decoding unit that sequentially decodes the second plurality of blocks using the second probability information indicating the occurrence probability of the data
  • the first decoding unit further includes the first decoding unit After decoding a first decoding target block that is a decoding target block among the plurality of blocks, before decoding a second decoding target block that is the next decoding target block among the first plurality of blocks Of the first decoding target block
  • the first probability information is updated depending on the data
  • the second decoding unit further decodes a third decoding target block that is a decoding target block among the plurality of second blocks.
  • the second probability information depends on the data of the third decoding target block.
  • the second decoding unit further updates the first decoding unit before decoding the fifth decoding target block that is the first decoding target block among the plurality of second blocks.
  • the second probability information may be updated with the updated first probability information.
  • the integrated circuit according to the present invention can update the probability information used for decoding according to the characteristics of the image at the head of each region of the image. Then, the integrated circuit can decode the image encoded by the same method.
  • the integrated circuit according to the present invention is an integrated circuit that decodes an image having a plurality of blocks, and includes a decoding unit that sequentially decodes the plurality of blocks using probability information indicating the occurrence probability of data.
  • the decoding unit further decodes a first decoding target block that is a decoding target block among the plurality of blocks, and then performs a second decoding that is a next decoding target block among the plurality of blocks.
  • the probability information is updated depending on the data of the first decoding target block, and the decoding unit decodes the first decoding target block among the plurality of blocks
  • a third decoding target block that is a later decoding target block and is a decoding target block different from the second decoding target block is adjacent to the third decoding target block. Using the probability information updated by depending on the data of the first decoding target block to be decoded.
  • the integrated circuit according to the present invention can decode the block based on the probability information updated in the upper block that is spatially close. Then, the integrated circuit can decode the image encoded by the same method.
  • FIG. 1 is a configuration diagram illustrating a configuration of an image encoding device according to Embodiment 1.
  • FIG. 2 is a configuration diagram illustrating the configuration of the arithmetic coding unit according to the first embodiment.
  • FIG. 3 is a flowchart showing the operation of the arithmetic coding unit according to the first embodiment.
  • FIG. 4 is an explanatory diagram of a symbol occurrence probability table according to the first embodiment.
  • FIG. 5 is a flowchart showing a symbol occurrence probability initialization process according to the first embodiment.
  • FIG. 6 is a flowchart showing a symbol generation probability output process according to the first embodiment.
  • FIG. 7A is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 1.
  • FIG. 7A is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 1.
  • FIG. 1 is a configuration diagram illustrating a configuration of an image encoding device according to Embodiment 1.
  • FIG. 2 is
  • FIG. 7B is a conceptual diagram showing the operation of the image coding apparatus according to Embodiment 1.
  • FIG. 8 is a conceptual diagram showing details of the operation of the image coding apparatus according to Embodiment 1.
  • FIG. 9 is a flowchart showing a symbol generation probability output process according to the second embodiment.
  • FIG. 10 is a conceptual diagram showing details of the operation of the image coding apparatus according to Embodiment 2.
  • FIG. 11 is a configuration diagram showing the configuration of the arithmetic coding unit according to the third embodiment.
  • FIG. 12 is a flowchart showing the operation of the arithmetic coding unit according to the third embodiment.
  • FIG. 13 is a flowchart showing a symbol occurrence probability initialization process according to the third embodiment.
  • FIG. 14 is a flowchart showing a symbol generation probability output process according to the third embodiment.
  • FIG. 15A is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 3.
  • FIG. 15B is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 3.
  • FIG. 15C is a conceptual diagram illustrating an operation of the image coding device according to Embodiment 3.
  • FIG. 16 is a conceptual diagram showing details of the operation of the image coding apparatus according to Embodiment 3.
  • FIG. 17A is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 3.
  • FIG. 17B is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 3.
  • FIG. 15A is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 3.
  • FIG. 17B is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 3.
  • FIG. 15A is a conceptual diagram showing an
  • FIG. 17C is a conceptual diagram illustrating an operation of the image coding device according to Embodiment 3.
  • FIG. 18 is a flowchart showing a symbol generation probability output process according to the fourth embodiment.
  • FIG. 19 is a conceptual diagram showing details of the operation of the image coding apparatus according to Embodiment 4.
  • FIG. 20 is a flowchart showing symbol occurrence probability initialization processing according to the fifth embodiment.
  • FIG. 21 is a conceptual diagram showing details of the operation of the image coding apparatus according to Embodiment 5.
  • FIG. 22 is a flowchart showing a symbol generation probability output process according to the sixth embodiment.
  • FIG. 23 is a conceptual diagram showing details of the operation of the image coding apparatus according to Embodiment 6.
  • FIG. 24 is a conceptual diagram showing details of the operation of the image encoding device according to the seventh embodiment.
  • FIG. 25 is a flowchart showing symbol occurrence probability initialization processing according to the eighth embodiment.
  • FIG. 26 is a flowchart showing a symbol generation probability output process according to the eighth embodiment.
  • FIG. 27A is a conceptual diagram showing an operation of the image coding apparatus according to Embodiment 8.
  • FIG. 27B is a conceptual diagram showing the operation of the image coding apparatus according to Embodiment 8.
  • FIG. 28 is a conceptual diagram showing a modified example of the operation of the image coding apparatus according to Embodiment 8.
  • FIG. 29 is a configuration diagram showing the configuration of the image encoding device according to the ninth embodiment.
  • FIG. 30 is a configuration diagram illustrating a configuration of a pixel encoding unit according to Embodiment 9.
  • FIG. 31 is a flowchart showing the operation of the pixel encoding unit according to the ninth embodiment.
  • FIG. 32 is a conceptual diagram showing details of the operation of the pixel encoding unit according to Embodiment 9.
  • FIG. 33 is a conceptual diagram showing details of the operation of the pixel encoding unit according to Embodiment 9.
  • FIG. 34 is a block diagram showing the configuration of the image decoding apparatus according to the tenth embodiment.
  • FIG. 35 is a configuration diagram illustrating a configuration of the arithmetic decoding unit according to the tenth embodiment.
  • FIG. 36 is a configuration diagram illustrating a configuration of the pixel decoding unit according to the tenth embodiment.
  • FIG. 37 is a flowchart showing the operation of the arithmetic decoding unit according to the tenth embodiment.
  • FIG. 38 is a flowchart showing the operation of the pixel decoding unit according to the tenth embodiment.
  • FIG. 39 is a flowchart showing the operation of the pixel decoding unit according to the tenth embodiment.
  • FIG. 40A is a configuration diagram showing a configuration of an image encoding device according to Embodiment 11.
  • FIG. 40B is a flowchart showing an operation of the image coding apparatus according to Embodiment 11.
  • FIG. 41A is a configuration diagram showing a configuration of an image decoding device according to Embodiment 11.
  • FIG. 41B is a flowchart showing an operation of the image decoding apparatus according to Embodiment 11.
  • FIG. 42A is a configuration diagram illustrating a configuration of an image encoding device according to Embodiment 12.
  • FIG. 42B is a flowchart showing an operation of the image coding apparatus according to Embodiment 12.
  • FIG. 43A is a configuration diagram illustrating a configuration of an image decoding device according to Embodiment 12.
  • FIG. 43B is a flowchart showing an operation of the image decoding apparatus according to the twelfth embodiment.
  • FIG. 44A is a configuration diagram showing a configuration of an image encoding device according to a modification of the twelfth embodiment.
  • FIG. 44B is a flowchart showing an operation of the image coding device according to the modification of the twelfth embodiment.
  • FIG. 45A is a configuration diagram showing a configuration of an image decoding device according to a modification of the twelfth embodiment.
  • FIG. 45B is a flowchart showing an operation of the image decoding apparatus according to the modification of the twelfth embodiment.
  • FIG. 46 is an overall configuration diagram of a content supply system that implements a content distribution service.
  • FIG. 47 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 48 is a block diagram illustrating a configuration example of a television.
  • FIG. 49 is a block diagram illustrating a configuration example of an information reproducing / recording unit that reads and writes information from and on a recording medium that is an optical disk.
  • FIG. 50 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 51 is a configuration diagram illustrating a configuration example of an integrated circuit that implements image encoding processing.
  • FIG. 52 is a configuration diagram illustrating a configuration example of an integrated circuit that implements image encoding processing and image decoding processing.
  • FIG. 53A is a conceptual diagram illustrating an image according to the related art.
  • FIG. 53B is a conceptual diagram illustrating a slice according to the related art.
  • FIG. 53C is a conceptual diagram illustrating a stream according to the related art.
  • FIG. 53A is a conceptual diagram illustrating an image according to the related art.
  • FIG. 53B is a conceptual diagram illustrating a slice according to the related art.
  • FIG. 53C is a conceptual diagram illustrating a
  • FIG. 54 is a block diagram showing the configuration of the arithmetic coding unit according to the prior art.
  • FIG. 55A is a conceptual diagram illustrating an image according to the related art.
  • FIG. 55B is a conceptual diagram illustrating a slice according to the related art.
  • the image coding apparatus according to the present embodiment divides an image into slices and allows reference of information between slices. Then, the image coding apparatus according to the present embodiment uses a symbol occurrence probability table of surrounding macroblocks at the head of the slice. Thereby, the image coding apparatus according to the present embodiment can use a symbol occurrence probability table corresponding to an image. Therefore, the encoding efficiency can be improved.
  • FIG. 1 is a block diagram of an image coding apparatus according to the present embodiment.
  • the image coding apparatus according to the present embodiment includes an arithmetic coding unit 1 and an arithmetic coding unit 2 that perform arithmetic coding.
  • FIG. 2 is a block diagram showing the configuration of the arithmetic encoding unit 1 shown in FIG.
  • the arithmetic encoding unit 1 includes a binarizing unit 3, a symbol occurrence probability storage unit 4, a context control unit 5, and a binary arithmetic encoder 6.
  • the binarization unit 3 performs binarization of the multilevel signal.
  • the symbol occurrence probability storage unit 4 holds a symbol occurrence probability.
  • the context control unit 5 determines which symbol occurrence probability stored in the symbol occurrence probability storage unit 4 is to be used, and reads the symbol occurrence probability from the symbol occurrence probability storage unit 4.
  • the binary arithmetic encoder 6 performs arithmetic encoding using the symbol occurrence probability output from the context control unit 5. Since the arithmetic encoding unit 2 is the same as the arithmetic encoding unit 1, the description thereof is omitted.
  • FIG. 3 shows the encoding of one macroblock.
  • the operation of the arithmetic encoding unit 1 is mainly shown, but the operation of the arithmetic encoding unit 2 is also the same.
  • the symbol occurrence probability storage unit 4 initializes the held symbol occurrence probability (S100). Details of the occurrence probability initialization will be described later.
  • the binarization section 3 The binarization of the multilevel signal is performed by the method shown in the H.264 standard (S101).
  • context control unit 5 Context control is performed by the method shown in the H.264 standard (S102).
  • context control refers to a binary arithmetic encoder 6 that reads out a corresponding symbol occurrence probability from the symbol occurrence probability storage unit 4 according to information around the macroblock being encoded, a bit position to be encoded, and the like. It is a process to input to.
  • the binary arithmetic encoder 6 is connected to the H.264 standard. Arithmetic coding is performed by the method shown in the H.264 standard (S103).
  • the context control unit 5 stores the updated symbol occurrence probability as a result of arithmetic coding in the symbol occurrence probability storage unit 4 (S104). Further, as necessary, the symbol occurrence probability storage unit 4 outputs the stored symbol occurrence probability (S105). The output of the symbol occurrence probability will be described later.
  • the arithmetic encoding unit 1 determines whether all the encoding of the macroblock has been completed (S106). The arithmetic coding unit 1 terminates the process when all the encodings are completed (Yes in S106), and binarizes again when all the encodings are not completed (No in S106) (S101). ) To continue processing.
  • FIG. 4 is an explanatory diagram showing a symbol occurrence probability table held by the symbol occurrence probability storage unit 4.
  • the index (ctxIdx) in FIG. 4 is an index determined according to context, that is, information around the macroblock being encoded and the bit position to be encoded.
  • Each entry indicated by each index includes a symbol occurrence probability (pStateIdx) and a valMPS indicating a symbol with a high occurrence probability (Most Probable Symbol). These are described in H.C. It is equivalent to that shown in the H.264 standard.
  • the arithmetic encoding unit 1 determines whether or not the encoding target macroblock is the head of a slice (S110).
  • the slice is assumed to be an entropy slice shown in Non-Patent Document 3, that is, a slice in which information can be referred between slices.
  • the arithmetic encoding unit 1 ends the processing without doing anything.
  • the arithmetic encoding unit 1 next determines whether or not the encoding target macroblock is the head of the picture (S111).
  • the arithmetic coding unit 1 uses the symbol occurrence probability table stored in the symbol occurrence probability storage unit 4 as an H.264 symbol. Initialization is performed by a method defined in the H.264 standard (S112). When it is not the head of the picture (No in S111), the arithmetic encoding unit 1 reads the symbol occurrence probability table output when encoding the macroblock immediately above the encoding target macroblock into the symbol occurrence probability storage unit 4. (S113).
  • the arithmetic encoding unit 1 determines whether the lower part of the encoding target macroblock is a slice boundary and the encoding target macroblock is the left end of the picture (S120).
  • the arithmetic encoding unit 1 ends the process without doing anything.
  • the arithmetic encoding unit 1 then performs the macroblock processing. It is determined whether or not the processing has been completed (S121).
  • the arithmetic encoding unit 1 ends the process without doing anything.
  • the arithmetic encoding unit 1 outputs the symbol occurrence probability table held by the symbol occurrence probability storage unit 4 (S122), and ends the processing.
  • FIG. 7A As shown in FIG. 7A, the picture is divided into four slices. The slice is further divided into macroblocks composed of 16 ⁇ 16 pixels.
  • the position A shown in FIG. 7A is the top of the picture. Therefore, the arithmetic coding unit 1 uses the symbol occurrence probability table stored in the symbol occurrence probability storage unit 4 as an H.264 symbol. Initialization is performed by a method defined in the H.264 standard (S112 in FIG. 5).
  • the position B shown in FIG. 7A is a slice boundary below and the left edge of the image. Therefore, the arithmetic coding unit 1 outputs the symbol occurrence probability table held by the symbol occurrence probability storage unit 4 (S122 in FIG. 6).
  • the position C shown in FIG. 7A is the top of the slice, not the top of the picture. Therefore, the arithmetic coding unit 1 reads the symbol occurrence probability table output at the position B into the symbol occurrence probability storage unit 4 (S113 in FIG. 5).
  • each macro block of 16 ⁇ 16 pixel units is divided into a plurality of sub blocks of 8 ⁇ 8 pixel units and encoded. That is, as shown in FIG. 8, the end of processing of the upper macroblock belonging to slice 0 is the end of processing of sub-block 3.
  • the image encoding device outputs a symbol occurrence probability table at the end of the processing of sub-block 3, and stores the output symbol occurrence probability table at the occurrence of the symbol occurrence probability at the start of processing of the lower macroblock that is the first macroblock of slice 1. It operates so as to read into the unit 4.
  • the image coding apparatus initializes the symbol occurrence probability table only at the head of a picture. Then, the image coding apparatus reads the symbol occurrence probability table of the macro block that is spatially closest to the previous slice at the head of each slice. Thereby, the image coding apparatus can code an image using the symbol occurrence probability at a spatially close position, and can realize higher coding efficiency.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • FIG. 7B an example in which the inside of a slice is encoded in a zigzag order is shown in FIG. 7B and the like.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image coding apparatus according to the present embodiment includes a position where the symbol occurrence probability table is output, and a position where the output symbol occurrence probability table is used. Becomes spatially closer. Thereby, encoding efficiency further improves.
  • the operation of the image coding apparatus according to this embodiment is the same as the operation of the image coding apparatus according to the first embodiment shown in FIG. 3, but the symbol occurrence probability output (S105 shown in FIG. 3). ) Is different.
  • the operation of the symbol occurrence probability output (S105) will be described with reference to FIG.
  • the arithmetic encoding unit 1 determines whether the encoding target macroblock is below the slice boundary and the encoding target macroblock is the left end of the picture (S130).
  • the arithmetic encoding unit 1 ends the process without doing anything.
  • the arithmetic encoding unit 1 next selects the encoding target macroblock. It is determined whether or not the processing of the sub-block 2 is completed (S131).
  • the arithmetic encoding unit 1 ends the processing without doing anything.
  • the arithmetic encoding unit 1 outputs the symbol occurrence probability table held by the symbol occurrence probability storage unit 4 (S132), and ends the processing.
  • the arithmetic encoding unit 1 outputs a symbol occurrence probability table at the end of processing of the sub-block 2 of the upper macroblock belonging to the slice 0.
  • the arithmetic coding unit 2 operates to read the output symbol occurrence probability table into the symbol occurrence probability storage unit 4 at the start of processing of the lower macroblock that is the first macroblock of the slice 1.
  • the image coding apparatus reads the symbol occurrence probability table of a macroblock that is spatially closer to the previous slice at the head of each slice.
  • the image coding apparatus can code the head of each slice using the symbol occurrence probability at a position closer to the space.
  • the image coding apparatus which concerns on this Embodiment can implement
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the sub-blocks of the macro block may be in any unit such as 2 ⁇ 2 pixels or 4 ⁇ 4 pixels.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image coding apparatus according to the present embodiment uses not only the top of a slice but also a symbol occurrence probability table at a spatially close position as a symbol occurrence probability table. Furthermore, the encoding efficiency can be improved.
  • FIG. 11 is a block diagram showing the configuration of the arithmetic encoding unit 1 shown in FIG.
  • the arithmetic coding unit 1 according to the present embodiment includes a symbol occurrence probability calculation unit 7 that holds the output symbol occurrence probability table and calculates a new symbol occurrence probability.
  • the other constituent elements are the same as the constituent elements according to the first embodiment shown in FIG.
  • the arithmetic encoding unit 2 is the same as the arithmetic encoding unit 1 and will not be described.
  • FIG. 12 shows encoding of one macroblock.
  • the symbol occurrence probability calculation unit 7 calculates the symbol occurrence probability held by the symbol occurrence probability storage unit 4 (S150). Details of the occurrence probability calculation will be described later.
  • the binarization section 3 The binarization of the multilevel signal is performed by the method shown in the H.264 standard (S151).
  • context control unit 5 Context control is performed by the method shown in the H.264 standard (S152).
  • context control refers to a binary arithmetic encoder 6 that reads out a corresponding symbol occurrence probability from the symbol occurrence probability storage unit 4 according to information around the macroblock being encoded, a bit position to be encoded, and the like. It is a process to input to.
  • the binary arithmetic encoder 6 is connected to the H.264 standard. Arithmetic coding is performed by the method shown in the H.264 standard (S153).
  • the arithmetic encoding unit 1 stores the updated symbol occurrence probability in the symbol occurrence probability storage unit 4 as a result of the arithmetic encoding (S154). Further, the arithmetic encoding unit 1 outputs the symbol occurrence probability from the symbol occurrence probability storage unit 4 as necessary (S155). The output of the symbol occurrence probability will be described later.
  • the arithmetic encoding unit 1 determines whether all the encoding of the macroblock has been completed (S156). If the encoding has been completed (Yes in S156), the arithmetic encoding unit 1 ends the process, and if the encoding has not been completed (No in S156), the arithmetic encoding unit 1 is binary again. The processing is continued from the step (S151).
  • the symbol occurrence probability table held by the symbol occurrence probability storage unit 4 is the same as the symbol occurrence probability table according to the first embodiment shown in FIG.
  • the symbol occurrence probability calculation unit 7 determines whether or not the upper macroblock exists as shown in FIG. 13 (S160). When the upper macroblock exists (Yes in S160), the symbol occurrence probability calculation unit 7 then determines whether the left macroblock exists (S161). If there is a left macroblock (Yes in S161), since both the left and upper macroblocks exist, the symbol occurrence probability calculation unit 7 generates a symbol generated by averaging the symbol occurrence probabilities of the upper and left macroblocks. The probability is calculated (S162).
  • the symbol occurrence probability of the macroblock to be obtained is pStateIdxA
  • the symbol is valMPSA
  • the symbol occurrence probability of the left macroblock is pStateIdxB
  • the symbol is valMPSB
  • the symbol occurrence probability of the macroblock to be obtained is pStateIdx
  • the symbol is An average calculation method in the case of valMPS is shown in Formula 1.
  • the symbol occurrence probability calculation unit 7 acquires the arithmetic average of pStateIdxA and pStateIdxB.
  • the symbol occurrence probability calculation unit 7 artificially inverts the sign of pStateIdxA and acquires the arithmetic average.
  • the symbol occurrence probability calculation unit 7 calculates the symbol occurrence probability for all indexes in this way. Then, the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table obtained by calculating the symbol occurrence probability into the symbol occurrence probability storage unit 4.
  • the symbol occurrence probability calculation unit 7 When there is no left macroblock (No in S161), the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table of the above macroblock as it is in the symbol occurrence probability storage unit 4 (S163).
  • the symbol occurrence probability calculation unit 7 determines whether the left macroblock exists (S164). When the left macroblock exists (Yes in S164), the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table of the left macroblock as it is in the symbol occurrence probability storage unit 4 (S165).
  • the arithmetic encoding unit 1 initializes the symbol occurrence probability table (S166). Initialization is described in H.264. The method shown in the H.264 standard may be used.
  • the symbol occurrence probability storage unit 4 may initialize the symbol occurrence probability table, or the symbol occurrence probability calculation unit 7 generates the initialized symbol occurrence probability table and writes it into the symbol occurrence probability storage unit 4
  • the symbol occurrence probability table may be initialized.
  • the arithmetic encoding unit 1 determines whether there is a right or lower macroblock (S170). If there is no right or lower macroblock (No in S170), the arithmetic encoding unit 1 ends the process. If there is a right or lower macroblock (Yes in S170), the arithmetic encoding unit 1 determines whether the processing of the macroblock is completed (S171).
  • the arithmetic encoding unit 1 ends the processing. If the processing of the macroblock has been completed (Yes in S171), the arithmetic encoding unit 1 outputs a symbol occurrence probability table from the symbol occurrence probability storage unit 4 (S172). In the present embodiment, it is necessary to output a symbol occurrence probability table in most macroblocks. Therefore, the arithmetic coding unit 1 may output the symbol occurrence probability table in all macroblocks.
  • FIGS. 15A, 15B, and 15C These operations will be described with reference to FIGS. 15A, 15B, and 15C as viewed from the whole picture. As shown in FIGS. 15A and 15B, it is assumed that the picture is divided into four slices, and the slice is further divided into macro blocks each including 16 ⁇ 16 pixels. X in FIGS. 15A and 15B indicates the position of the macro block to be processed, A indicates the left macro block, and B indicates the upper macro block.
  • the symbol occurrence probability table may be calculated across the boundary of the slice as shown in FIG. 15A, or the symbol occurrence probability table may be calculated inside the slice as shown in FIG. 15B.
  • FIG. 15C shows the order of processing of macroblocks in a slice.
  • the arithmetic encoding unit 1 ends the processing of the upper macroblock, that is, at the end of processing of the sub-block 3 divided into 8 ⁇ 8 pixel units (B in FIG. 16). Output the symbol occurrence probability table.
  • the arithmetic coding unit 1 outputs the symbol occurrence probability table at the end of the processing of the left macroblock, that is, at the end of the processing of the sub-block 3 divided into 8 ⁇ 8 pixel units (A in FIG. 16).
  • the arithmetic coding unit 1 operates so as to read the output symbol occurrence probability table into the symbol occurrence probability storage unit 4 at the start of processing of the macroblock to be processed (X in FIG. 16).
  • the image coding apparatus uses the symbol occurrence probability of the macroblock that is spatially closest to the top and the left, not the processing order, at the head of each macroblock. Also, the image coding apparatus according to the present embodiment uses a symbol occurrence probability obtained by averaging two symbol occurrence probabilities obtained from the top and the left. As a result, the image coding apparatus according to the present embodiment can use the most probable symbol occurrence probability in space, and can realize higher coding efficiency.
  • the image coding apparatus does not necessarily divide an image into slices, and as shown in FIG. 17A, a more appropriate probability even when an image is not divided into slices. Can be used.
  • the image coding apparatus may use a symbol occurrence probability table only for the inside of a slice. That is, even when the encoding target macroblock is adjacent to the slice boundary, the image encoding apparatus according to the present embodiment is not limited to other slices, as in the case where the encoding target macroblock is at the end of the picture. It is not necessary to use the symbol occurrence probability table used for encoding of.
  • the image coding apparatus is H.264.
  • a more appropriate probability can be used even in the raster order encoding order used in the H.264 standard.
  • the image was encoded in raster order, and as shown in FIG. 17A, the image was updated with macroblock B spatially close to the encoding of macroblock X at the left end of the image.
  • the symbol occurrence probability table By using the symbol occurrence probability table, the coding efficiency is improved.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image encoding apparatus uses pStateIdx for the calculation of the symbol occurrence probability.
  • pStateIdx does not correspond linearly to the actual symbol occurrence probability. Therefore, the image coding apparatus may perform calculation after converting pStateIdx into an actual symbol occurrence probability, and may convert it into pStateIdx again. Alternatively, the image coding apparatus may calculate the symbol occurrence probability using a table for calculating the symbol occurrence probability for each combination of two pStateIdx values.
  • the image coding apparatus includes a position where the symbol occurrence probability table is output, and a position where the output symbol occurrence probability table is used. Becomes spatially closer. Thereby, encoding efficiency further improves.
  • the operation of the image coding apparatus according to the present embodiment is the same as the operation of the image coding apparatus according to the third embodiment shown in FIG. 12, but the symbol occurrence probability calculation (S150) and the symbol occurrence probability output. (S155) is different.
  • the image encoding apparatus encodes the encoding target macroblock using the symbol occurrence probability table output when the processing of the neighboring macroblocks is completed.
  • the position is not spatially close when viewed in units of 8 ⁇ 8 pixels. Therefore, the image coding apparatus according to the present embodiment uses a symbol occurrence probability table updated at a position closer to the space.
  • the arithmetic encoding unit 1 determines whether or not the right macroblock exists (S180). When the right macroblock exists (Yes in S180), the arithmetic coding unit 1 further determines whether the processing of the subblock 1 is completed (S181).
  • the symbol occurrence probability storage unit 4 When the processing of the sub-block 1 has been completed (Yes in S181), the symbol occurrence probability storage unit 4 outputs a symbol occurrence probability table for the right macroblock (S182).
  • the arithmetic coding unit 1 executes the following process.
  • the arithmetic encoding unit 1 determines whether the lower macroblock exists (S183). When the lower macroblock exists (Yes in S183), the arithmetic encoding unit 1 further determines whether the processing of the subblock 2 is completed (S184).
  • the symbol occurrence probability storage unit 4 When the processing of the sub-block 2 is completed (Yes in S184), the symbol occurrence probability storage unit 4 outputs a symbol occurrence probability table for the lower macroblock (S185).
  • the arithmetic encoding unit 1 ends the process.
  • the symbol occurrence probability calculation unit 7 uses the symbol occurrence probability table of the left macroblock to output the symbol occurrence probability output for the right macroblock.
  • a table (S182 in FIG. 18) is used.
  • the symbol occurrence probability calculation unit 7 uses the symbol occurrence probability table (S185 in FIG. 18) output for the lower macroblock.
  • the symbol occurrence probability table is output at the end of the processing of sub-block 2 (B in FIG. 19) among the upper macroblocks divided into 8 ⁇ 8 pixel units. Also, a symbol occurrence probability table is output at the end of processing of sub-block 1 (A in FIG. 19) among the left macroblocks divided into 8 ⁇ 8 pixel units.
  • the symbol occurrence probability calculation unit 7 averages the two output symbol occurrence probability tables and writes them in the symbol occurrence probability storage unit 4.
  • the image coding apparatus is a symbol occurrence probability table at the end of processing in units of 8 ⁇ 8 pixels, not at the end of processing in units of macroblocks.
  • An image is encoded using a symbol occurrence probability table.
  • the image coding apparatus uses a symbol occurrence probability table obtained by averaging two symbol occurrence probability tables obtained from the upper side and the left side.
  • the image coding apparatus can use the most probable symbol occurrence probability in space, and can realize higher coding efficiency.
  • the image coding apparatus does not necessarily divide an image into slices, and as shown in FIG. 17A, a more appropriate probability even when an image is not divided into slices. Can be used.
  • the image coding apparatus may use a symbol occurrence probability table only for the inside of a slice. That is, even when the encoding target macroblock is adjacent to the slice boundary, the image encoding apparatus according to the present embodiment is not limited to other slices, as in the case where the encoding target macroblock is at the end of the picture. It is not necessary to use the symbol occurrence probability table used for encoding of.
  • the image coding apparatus is H.264.
  • a more appropriate probability can be used even in the raster order encoding order used in the H.264 standard.
  • the image was encoded in raster order, and as shown in FIG. 17A, the image was updated with macroblock B spatially close to the encoding of macroblock X at the left end of the image.
  • the symbol occurrence probability table By using the symbol occurrence probability table, the coding efficiency is improved.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the sub-blocks of the macro block may be in any unit such as 2 ⁇ 2 pixels or 4 ⁇ 4 pixels.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image encoding apparatus uses pStateIdx for the calculation of the symbol occurrence probability.
  • pStateIdx does not correspond linearly to the actual symbol occurrence probability. Therefore, the image coding apparatus may perform calculation after converting pStateIdx into an actual symbol occurrence probability, and may convert it into pStateIdx again. Alternatively, the image coding apparatus may calculate the symbol occurrence probability using a table for calculating the symbol occurrence probability for each combination of two pStateIdx values.
  • the symbol occurrence probability is calculated at the beginning of the macroblock, but the symbol occurrence probability may be calculated in smaller units such as 8 ⁇ 8 blocks.
  • the image coding apparatus according to the present embodiment uses the symbol occurrence probability table of the upper left macroblock as a spatial position using the symbol occurrence probability table. As a result, the image coding apparatus according to the present embodiment uses spatially similar position information as compared with the image coding apparatus according to the third embodiment, but reduces the processing delay. be able to.
  • the operation of the image coding apparatus according to the present embodiment is similar to the operation of the image coding apparatus according to the third embodiment shown in FIG. 12, but the symbol occurrence probability calculation (S150) is different.
  • the arithmetic encoding unit 1 first determines whether or not the upper left macroblock exists (S190). If the upper left macroblock exists (Yes in S190), the left macroblock always exists. Therefore, the symbol occurrence probability calculation unit 7 calculates a new symbol occurrence probability by averaging the two symbol occurrence probabilities of the upper left and two left macroblocks, and stores the calculated symbol occurrence probability as a symbol occurrence probability. Write to part 4 (S191). The average method at this time is the same as the method shown in the third embodiment.
  • the arithmetic encoding unit 1 determines whether the upper macroblock exists (S192). When the upper macroblock exists (Yes in S192), the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table of the upper macroblock in the symbol occurrence probability storage unit 4 (S193).
  • the arithmetic coding unit 1 determines whether the left macroblock exists (S194).
  • the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table of the left macroblock in the symbol occurrence probability storage unit 4 (S195).
  • the arithmetic encoding unit 1 stores the symbol occurrence probability table in the H.264 format. It is initialized by a method defined in the H.264 standard and written in the symbol occurrence probability storage unit 4 (S196).
  • the symbol occurrence probability storage unit 4 may initialize the symbol occurrence probability table, or the symbol occurrence probability calculation unit 7 generates the initialized symbol occurrence probability table and writes it into the symbol occurrence probability storage unit 4
  • the symbol occurrence probability table may be initialized.
  • the symbol occurrence probability A table is output.
  • the symbol occurrence probability table is output.
  • the symbol occurrence probability calculator 7 averages the two output symbol occurrence probabilities tables and writes them to the symbol occurrence probability storage 4.
  • the image coding apparatus uses the symbol occurrence probability table at the end of the macroblock of the upper left macroblock, that is, after the end of subblock 3, as the upper symbol occurrence probability table. Since an image is normally processed from left to right, the image encoding apparatus according to the present embodiment can start processing earlier and reduce processing delay.
  • the symbol occurrence probability table updated at the same distance spatially is used as compared with the third embodiment using the symbol occurrence probability table after completion of the macroblock processing, that is, after completion of the sub-block 3. Therefore, the image coding apparatus according to the present embodiment can achieve the same coding efficiency while reducing the delay.
  • the image coding apparatus does not necessarily divide an image into slices. As shown in FIG. 17A, even when an image is not divided into slices, a more appropriate probability Can be used.
  • the image coding apparatus may use a symbol occurrence probability table only for the inside of a slice. That is, even when the encoding target macroblock is adjacent to the slice boundary, the image encoding device according to the present embodiment is not limited to other slices, as in the case where the encoding target macroblock is at the end of the picture. It is not necessary to use the symbol occurrence probability table used for encoding of.
  • the image coding apparatus is H.264.
  • a more appropriate probability can be used even in the raster order encoding order used in the H.264 standard.
  • the image is encoded in raster order, and as shown in FIG. 17A, the image is updated with a macroblock B that is spatially close to the encoding of the leftmost macroblock X of the image.
  • the symbol occurrence probability table By using the symbol occurrence probability table, the coding efficiency is improved.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the sub-blocks of the macro block may be in any unit such as 2 ⁇ 2 pixels or 4 ⁇ 4 pixels.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image encoding apparatus uses pStateIdx for the calculation of the symbol occurrence probability.
  • pStateIdx does not correspond linearly to the actual symbol occurrence probability. Therefore, the image coding apparatus may perform calculation after converting pStateIdx into an actual symbol occurrence probability, and may convert it into pStateIdx again. Alternatively, the image coding apparatus may calculate the symbol occurrence probability using a table for calculating the symbol occurrence probability for each combination of two pStateIdx values.
  • the symbol occurrence probability is calculated at the beginning of the macroblock, but the symbol occurrence probability may be calculated in smaller units such as 8 ⁇ 8 blocks.
  • the image coding apparatus according to the present embodiment uses a symbol occurrence probability table after the processing of the upper left macroblock and a symbol occurrence probability table after the processing of subblock 1 of the left macroblock. Thereby, the image coding apparatus according to the present embodiment uses a symbol occurrence probability table at a spatially closer position as compared with the image coding apparatus according to the fifth embodiment, thereby improving the coding efficiency. Improve.
  • the operation of the image coding apparatus according to this embodiment is the same as that of the image coding apparatus according to the fifth embodiment shown in FIG. 12, but the processing contents of the symbol occurrence probability output (S155) are different. .
  • the arithmetic encoding unit 1 determines whether or not the right macroblock exists (S200).
  • the arithmetic encoding unit 1 further determines whether the processing of the subblock 1 is completed (S201). If the processing of sub-block 1 has been completed (Yes in S201), the symbol occurrence probability storage unit 4 outputs a symbol occurrence probability table for the right macroblock (S202). When the right macroblock does not exist (No in S200), or when the processing of the sub-block 1 is not completed (No in S201), the arithmetic encoding unit 1 executes the following process.
  • the arithmetic encoding unit 1 determines whether or not the lower macroblock exists (S203). When the lower macroblock exists (Yes in S203), the arithmetic encoding unit 1 further determines whether the processing of the subblock 3 is completed (S204). When the processing of the sub-block 3 has been completed (Yes in S204), the symbol occurrence probability storage unit 4 outputs a symbol occurrence probability table for the lower macroblock (S205). If the lower macroblock does not exist (No in S203), or if the processing of the sub-block 3 is not completed (No in S204), the process is terminated.
  • the symbol occurrence probability table is output at the end of the processing of sub-block 3 (B in FIG. 23) of the upper left macroblock divided into 8 ⁇ 8 pixel units. Further, the symbol occurrence probability table is output at the end of the processing of the sub-block 1 (A in FIG. 23) of the left macroblock divided into 8 ⁇ 8 pixel units.
  • the image coding apparatus obtains a new symbol obtained by averaging the two output symbol occurrence probability tables at the start of processing of the macroblock to be processed (X in FIG. 23).
  • the occurrence probability table is written in the symbol occurrence probability storage unit 4.
  • the symbol occurrence probability calculation unit 7 uses the symbol occurrence probability table of the left macroblock to output the symbol occurrence probability output for the right macroblock.
  • a table (S202 in FIG. 22) is used.
  • the symbol occurrence probability calculation unit 7 uses the symbol occurrence probability table (S205 in FIG. 22) output for the lower macroblock.
  • the image coding apparatus displays the symbol occurrence probability table after the processing of sub-block 1 that is spatially closer among the left macroblocks on the left side. As a symbol occurrence probability table.
  • the image coding apparatus can realize higher coding efficiency than the image coding apparatus according to the fifth embodiment.
  • the image coding apparatus does not necessarily divide an image into slices, and as shown in FIG. 17A, a more appropriate probability even when an image is not divided into slices. Can be used.
  • the image coding apparatus may use a symbol occurrence probability table only for the inside of a slice. That is, even when the encoding target macroblock is adjacent to the slice boundary, the image encoding apparatus according to the present embodiment is not limited to other slices, as in the case where the encoding target macroblock is at the end of the picture. It is not necessary to use the symbol occurrence probability table used for encoding of.
  • the image coding apparatus is H.264.
  • a more appropriate probability can be used even in the raster order encoding order used in the H.264 standard.
  • the image was encoded in raster order, and as shown in FIG. 17A, the image was updated with macroblock B spatially close to the encoding of macroblock X at the left end of the image.
  • the symbol occurrence probability table By using the symbol occurrence probability table, the coding efficiency is improved.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the sub-blocks of the macro block may be in any unit such as 2 ⁇ 2 pixels or 4 ⁇ 4 pixels.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image encoding apparatus uses pStateIdx for the calculation of the symbol occurrence probability.
  • pStateIdx does not correspond linearly to the actual symbol occurrence probability. Therefore, the image coding apparatus may perform calculation after converting pStateIdx into an actual symbol occurrence probability, and may convert it into pStateIdx again. Alternatively, the image coding apparatus may calculate the symbol occurrence probability using a table for calculating the symbol occurrence probability for each combination of two pStateIdx values.
  • the symbol occurrence probability is calculated at the beginning of the macroblock, but the symbol occurrence probability may be calculated in smaller units such as 8 ⁇ 8 blocks.
  • Embodiment 7 An overview of the image coding apparatus according to the present embodiment will be described.
  • the image coding apparatus according to the embodiments so far uses an arithmetic average when calculating a new symbol occurrence probability table from two symbol occurrence probability tables.
  • the image coding apparatus according to the present embodiment weights a symbol generation probability table closer in space according to the distance to the macroblock to be coded.
  • a symbol occurrence probability table that is more reliable than that in Embodiment 6 is used. Therefore, encoding efficiency is improved.
  • the operation of the image coding apparatus according to the present embodiment is the same as the operation of the image coding apparatus according to the sixth embodiment shown in FIG. 12, but the symbol occurrence probability is calculated as compared with the sixth embodiment.
  • the processing content of (S150) is different. More specifically, the processing (S191) for averaging the symbol occurrence probabilities of the upper left and left macroblocks in the operation flow of symbol occurrence probability calculation (S150) of the sixth embodiment shown in FIG. 20 is different.
  • the arithmetic average shown in Expression 1 is used as in the third embodiment, but in this embodiment, the weighted average shown in Expression 2 is used.
  • pStateIdxA and valMPSA indicate the symbol occurrence probability and symbol of the upper left macroblock, respectively.
  • pStateIdxB and valMPSB indicate the symbol occurrence probability and symbol of the left macroblock, respectively.
  • a in Expression 2 represents a spatial distance between the subblock 0 that is the head of the encoding target macroblock and the subblock 3 of the upper left macroblock.
  • B in Expression 2 indicates a spatial distance between the subblock 0 that is the head of the encoding target macroblock and the subblock 1 of the left macroblock.
  • pStateIdx and valMPS respectively indicate the symbol occurrence probability and symbol of the macroblock to be obtained.
  • [ pStateIdx (pStateIdxA x b + pStateIdxB x a) / (a + b);
  • valMPS valMPSA; ] else
  • [ pStateIdx (-pStateIdxA x b + pStateIdxB x a) / (a + b);
  • each symbol occurrence probability is weighted by a spatial distance. As shown in FIG. 24, the distance between two sub-blocks is determined based on the center position of the sub-blocks, for example.
  • the distance between subblock 3 (B in FIG. 24) of the upper left macroblock and subblock 0 (X in FIG. 24) of the macroblock to be encoded is the subblock 1 (FIG. 24) of the left macroblock. It is larger than the distance between A) in the middle and sub-block 0 (X in FIG. 24) of the encoding target macroblock. For this reason, the symbol occurrence probability calculation unit 7 calculates the symbol occurrence probability so as to reduce the influence on the symbol occurrence probability in proportion to the distance.
  • the image coding apparatus performs weighted averaging according to the spatial distance.
  • the contribution of the symbol occurrence probability at a spatially close position is increased, and the contribution of the symbol occurrence probability at a far position is reduced. Therefore, the symbol occurrence probability table becomes more accurate, and higher encoding efficiency is realized as compared with the sixth embodiment.
  • a weighted average is applied to the symbol occurrence probability calculation processing according to the sixth embodiment.
  • the weighted average may be applied to the symbol occurrence probability calculation processing according to the third, fourth, and fifth embodiments.
  • the image coding apparatus does not necessarily require that an image is divided into slices. As illustrated in FIG. 17A, even when an image is not divided into slices, a more appropriate probability Can be used.
  • the image coding apparatus may use a symbol occurrence probability table only for the inside of a slice. That is, even when the encoding target macroblock is adjacent to the slice boundary, the image encoding apparatus according to the present embodiment is not limited to other slices, as in the case where the encoding target macroblock is at the end of the picture. It is not necessary to use the symbol occurrence probability table used for encoding of.
  • the image coding apparatus is H.264.
  • a more appropriate probability can be used even in the raster order encoding order used in the H.264 standard.
  • the image was encoded in raster order, and as shown in FIG. 17A, the image was updated with macroblock B spatially close to the encoding of macroblock X at the left end of the image.
  • the symbol occurrence probability table By using the symbol occurrence probability table, the coding efficiency is improved.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the sub-blocks of the macro block may be in any unit such as 2 ⁇ 2 pixels or 4 ⁇ 4 pixels.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image encoding apparatus uses pStateIdx for the calculation of the symbol occurrence probability.
  • pStateIdx does not correspond linearly to the actual symbol occurrence probability. Therefore, the image coding apparatus may perform calculation after converting pStateIdx into an actual symbol occurrence probability, and may convert it into pStateIdx again. Alternatively, the image coding apparatus may calculate the symbol occurrence probability using a table for calculating the symbol occurrence probability for each combination of two pStateIdx values.
  • the symbol occurrence probability is calculated at the beginning of the macroblock, but the symbol occurrence probability may be calculated in smaller units such as 8 ⁇ 8 blocks.
  • the image coding apparatus according to Embodiment 3 always calculates the symbol occurrence probability table using the symbol occurrence probability tables of the upper and left macroblocks. This method is effective for improving the coding efficiency.
  • the image coding apparatus according to Embodiment 3 needs to hold a large number of symbol generation probability tables for the upper macroblock.
  • the image coding apparatus according to the present embodiment can reduce the number of held symbol occurrence probabilities by restricting the use of the symbol occurrence probability table of the upper macroblock.
  • the operation of the image coding apparatus according to this embodiment is the same as that of the image coding apparatus according to the third embodiment shown in FIG. 12, but the symbol occurrence probability as compared with the third embodiment.
  • the processing contents of the calculation (S150) and the symbol occurrence probability output (S155) are different.
  • the arithmetic encoding unit 1 determines whether the horizontal position of the upper left pixel of the macroblock is 64N (N is a natural number) (S210). When the horizontal position is 64N (Yes in S210), the arithmetic encoding unit 1 next determines whether or not the upper macroblock exists (S211). If the upper macroblock exists (Yes in S211), the arithmetic coding unit 1 then determines whether the left macroblock exists (S212).
  • the symbol occurrence probability calculation unit 7 calculates a symbol occurrence probability table by averaging the two symbol occurrence probabilities obtained from the upper and left macroblocks according to Equation 1. Then, the symbol occurrence probability calculation unit 7 writes the calculated symbol occurrence probability table in the symbol occurrence probability storage unit 4 (S213).
  • the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table of the upper macroblock as it is in the symbol occurrence probability storage unit 4 (S214).
  • the arithmetic coding unit 1 determines whether the left macroblock exists (No. S215).
  • the symbol occurrence probability calculation unit 7 writes the symbol occurrence probability table of the left macroblock as it is in the symbol occurrence probability storage unit 4 (S216).
  • the arithmetic coding unit 1 initializes the symbol occurrence probability table (S217). Initialization is described in H.264. The method shown in the H.264 standard may be used.
  • the symbol occurrence probability storage unit 4 may initialize the symbol occurrence probability table, or the symbol occurrence probability calculation unit 7 generates the initialized symbol occurrence probability table and writes it into the symbol occurrence probability storage unit 4
  • the symbol occurrence probability table may be initialized.
  • the arithmetic coding unit 1 determines whether the horizontal position of the upper left pixel of the macroblock is 64N (N is a natural number) (S220). When the horizontal position is 64N (Yes in S220), the arithmetic coding unit 1 determines whether or not a right or lower macroblock exists (S221). When the right or lower macroblock does not exist (No in S221), the arithmetic encoding unit 1 ends the process.
  • the arithmetic coding unit 1 determines whether or not the right macroblock exists (S222). When the right macroblock does not exist (No in S222), the arithmetic encoding unit 1 ends the process.
  • arithmetic coding The unit 1 determines whether the processing of the macroblock has been completed (S223). If the macroblock processing has not ended (No in S223), the arithmetic coding unit 1 ends the processing. When the processing of the macroblock is completed (Yes in S223), the arithmetic encoding unit 1 outputs a symbol occurrence probability table (S224).
  • FIG. 27A shows a macro block in which a symbol occurrence probability table is calculated using the symbol occurrence probability table of the upper macro block.
  • the upper macroblock is used once every four macroblocks in the horizontal direction.
  • the arithmetic encoding unit 1 processes slice 0 and the arithmetic encoding unit 2 processes slice 1
  • the arithmetic encoding unit 1 processes slice 0 and then slice 2 Start processing.
  • the numbers of the macro blocks indicate the order in which the arithmetic coding unit 1 and the arithmetic coding unit 2 process.
  • the symbol occurrence probability table of the macroblock 5 of the slice 1 is necessary. That is, the arithmetic coding unit 2 must hold a horizontal symbol occurrence probability table with the macroblock 5 of the slice 1 as the left end while processing the slice 1.
  • the held symbol occurrence probability table is reduced to 1 ⁇ 4 by reducing it once every four macroblocks.
  • the symbol occurrence probability table must be exchanged between the arithmetic coding unit 1 and the arithmetic coding unit 2 only when straddling slices. Therefore, as shown in FIG. 28, at the slice boundary, the symbol occurrence probability table of the upper macroblock is used only once for every four macroblocks, and the symbol of the upper macroblock is always used inside the slice. An occurrence probability table may be used.
  • the image coding apparatus limits the use of the symbol occurrence probability table of the upper macroblock to four macroblocks at a time in the horizontal direction.
  • the image coding apparatus can use the symbol occurrence probability table at spatially close positions to increase coding efficiency and reduce the held symbol occurrence probability table. Become.
  • a weighted average may be applied as in the seventh embodiment.
  • the image coding apparatus does not necessarily require that an image is divided into slices. As illustrated in FIG. 17A, even when an image is not divided into slices, a more appropriate probability Can be used.
  • the image coding apparatus may use a symbol occurrence probability table only for the inside of a slice. That is, even when the encoding target macroblock is adjacent to the slice boundary, the image encoding apparatus according to the present embodiment is not limited to other slices, as in the case where the encoding target macroblock is at the end of the picture. It is not necessary to use the symbol occurrence probability table used for encoding of.
  • the image coding apparatus is H.264.
  • a more appropriate probability can be used even in the raster order encoding order used in the H.264 standard.
  • the image was encoded in raster order, and as shown in FIG. 17A, the image was updated with macroblock B spatially close to the encoding of macroblock X at the left end of the image.
  • the symbol occurrence probability table By using the symbol occurrence probability table, the coding efficiency is improved.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the sub-blocks of the macro block may be in any unit such as 2 ⁇ 2 pixels or 4 ⁇ 4 pixels.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • decoding can also be realized by performing this operation in reverse.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the image encoding apparatus uses pStateIdx for the calculation of the symbol occurrence probability.
  • pStateIdx does not correspond linearly to the actual symbol occurrence probability. Therefore, the image coding apparatus may perform calculation after converting pStateIdx into an actual symbol occurrence probability, and may convert it into pStateIdx again. Alternatively, the image coding apparatus may calculate the symbol occurrence probability using a table for calculating the symbol occurrence probability for each combination of two pStateIdx values.
  • the symbol occurrence probability is calculated at the beginning of the macroblock, but the symbol occurrence probability may be calculated in smaller units such as 8 ⁇ 8 blocks.
  • the symbol occurrence probability table of the upper macroblock is used once for every 4 macroblocks. However, any macro such as once every 2 macroblocks or once every 8 macroblocks is used. It may be used for each block. Whether to use the upper side may be determined based on the spatial position of the encoding target macroblock, or may be determined under other conditions.
  • the image coding apparatus according to the present embodiment is an image coding apparatus that combines pixel coding with arithmetic coding described in the first embodiment.
  • FIG. 29 shows the configuration of the image coding apparatus according to the present embodiment.
  • the image encoding apparatus according to the present embodiment includes a frame memory 23, pixel encoding units 21 and 22, arithmetic encoding units 1 and 2, peripheral information memory 34, and bit stream buffers 24 and 25.
  • the frame memory 23 stores an input image and a locally decoded image.
  • the pixel encoding units 21 and 22 cut out and encode a part of the image in the frame memory.
  • the arithmetic encoding units 1 and 2 perform arithmetic encoding processing.
  • the peripheral information memory 34 stores information on peripheral macroblocks used for encoding.
  • the bit stream buffers 24 and 25 store a coded bit stream that has been arithmetically coded.
  • the internal configurations of the arithmetic encoding unit 1 and the arithmetic encoding unit 2 are the same as the configuration according to the first embodiment shown in FIG.
  • FIG. 30 is a configuration diagram of the pixel encoding unit 21 of the present embodiment. The description of the same components as those in FIG. 29 is omitted.
  • the pixel encoding unit 21 includes a motion detection unit 35, a motion compensation unit 36, an in-plane prediction unit 26, a difference calculation unit 28, a frequency conversion unit 29, a quantization unit 30, an inverse quantization unit 31, an inverse frequency conversion unit 32, A reconstruction unit 33 and a deblock filter unit 27 are provided.
  • the motion detection unit 35 performs motion detection.
  • the motion compensation unit 36 performs motion compensation based on the motion vector obtained by motion detection and generates a predicted image.
  • the in-plane prediction unit 26 performs in-plane prediction and generates a predicted image.
  • the difference calculation unit 28 generates a difference between the input image and the predicted image.
  • the frequency conversion unit 29 performs frequency conversion.
  • the quantization unit 30 performs quantization so as to match the target bit rate according to the generated code amount.
  • the inverse quantization unit 31 performs inverse quantization.
  • the inverse frequency converter 32 performs inverse frequency conversion.
  • the reconstruction unit 33 performs reconstruction from the predicted image and the inverse frequency conversion result.
  • the deblock filter unit 27 performs deblock filter processing on the reconstructed decoding result.
  • the pixel encoding unit 22 is the same as the pixel encoding unit 21 and is not shown in FIG.
  • FIG. 31 is a flowchart showing pixel encoding processing performed by the pixel encoding unit 21 of FIG.
  • the motion detection unit 35 detects a part having the highest correlation between a previously locally decoded picture and a macroblock to be encoded. Then, the motion compensation unit 36 generates a predicted image (S611).
  • the in-plane prediction unit 26 checks the peripheral information memory for in-plane prediction processing (S001).
  • the peripheral information check (S001) process is a process for determining whether the peripheral information memory 34 stores information necessary for the in-plane prediction process.
  • the in-plane prediction unit 26 generates an in-plane prediction image using the peripheral macroblock images shown in FIG. 32 (S612).
  • the difference calculation unit 28 determines which of the inter MB based on motion detection and the intra MB based on the intra prediction is smaller in code amount. Then, the difference calculation unit 28 determines the encoding mode, and calculates difference data between the predicted image and the macroblock to be encoded (S613).
  • the difference calculation unit 28 checks the peripheral information (S001).
  • the peripheral information check process in S001 is a process for determining whether the peripheral information memory 34 stores information necessary for differential motion vector calculation.
  • the difference calculation unit 28 calculates the difference motion vector (S615).
  • the difference motion vector may be calculated by calculating mvd shown in FIG.
  • the difference calculation unit 28 performs a peripheral information write process in order to write the determined motion vector in the peripheral information memory 34 (S002).
  • the peripheral information writing process is a process of writing if there is an empty area in the peripheral information memory 34, and waiting until there is an empty area if there is no empty area.
  • the frequency conversion unit 29 performs frequency conversion of the difference data calculated by the difference calculation unit 28 (S616).
  • the quantization unit 30 performs a quantization process on the frequency-converted data (S617). At this time, the quantization unit 30 determines a quantization parameter from the generated code amount calculated by the arithmetic coding unit 1 and performs a quantization process.
  • the quantization unit 30 increases the quantization width and decreases the generated code amount.
  • the quantization unit 30 decreases the quantization width and increases the generated code amount.
  • the quantization unit 30 is controlled to approach the target code amount by such feedback control.
  • the inverse quantization unit 31 performs an inverse quantization process (S618).
  • the reverse frequency conversion unit 32 performs reverse frequency conversion (S619).
  • the reconstruction unit 33 performs reconstruction processing from the data subjected to inverse frequency conversion and the reference image generated by the motion compensation unit 36 (S620). In the case of intra MB, the reconstruction unit 33 performs reconstruction processing from the data subjected to inverse frequency conversion and the reference image generated by the in-plane prediction unit 26 (S620).
  • the reconstruction unit 33 When the reconstruction process is completed, the reconstruction unit 33 performs a peripheral information writing process in order to perform an in-plane prediction process for the next macroblock (S002).
  • the peripheral information writing process is a process of writing if there is an empty area in the peripheral information memory 34, and waiting until there is an empty area if there is no empty area.
  • the deblock filter unit 27 checks peripheral information for the deblock filter (S001).
  • the peripheral information check (S001) process is a process for determining whether the peripheral information memory 34 stores information necessary for the deblocking filter.
  • the deblock filter unit 27 performs the process of the deblock filter and stores the result in the frame memory 23 (S621).
  • the deblocking filter unit 27 performs peripheral information writing processing (S002). Then, the pixel encoding unit 21 completes the pixel encoding process.
  • the peripheral information writing process is a process of writing if there is an empty area in the peripheral information memory 34, and waiting until there is an empty area if there is no empty area.
  • the image coding apparatus can combine arithmetic coding and pixel coding.
  • the form for realizing the arithmetic coding may be any form of the above-described embodiments.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the storage unit for storing data is shown as a memory or a buffer, but it may be a memory of any configuration, and a different type of storage such as a flip-flop or a hard disk. It may be a means.
  • the image coding apparatus may be realized as a hardware circuit or as software on a processor. Further, the image coding apparatus according to the present embodiment may be realized on a plurality of processors or may be realized on one processor.
  • the image encoding device includes two bit stream buffers 24 and 25.
  • Another processing unit may read two bit streams from the two bit stream buffers 24 and 25 and convert them into one bit stream.
  • the system encoder may read data from the two bit stream buffers 24 and 25 so as to form one bit stream.
  • the image decoding apparatus according to the present embodiment is an image decoding apparatus corresponding to the image encoding apparatus described in the ninth embodiment.
  • FIG. 34 is a configuration diagram of the image decoding apparatus according to the present embodiment.
  • the image decoding apparatus according to the present embodiment includes a bit stream buffer 44, arithmetic decoding units 40 and 41, pixel decoding units 42 and 43, a peripheral information memory 46, and a frame memory 45.
  • the bit stream buffer 44 stores the encoded bit stream.
  • the arithmetic decoding units 40 and 41 perform arithmetic decoding processing.
  • the pixel decoding units 42 and 43 decode pixel data.
  • the peripheral information memory 46 stores information on peripheral macroblocks used for encoding.
  • the frame memory 45 stores the decoded image.
  • FIG. 35 is an internal block diagram of the arithmetic decoding unit 40 in FIG.
  • the arithmetic decoding unit 40 includes a symbol occurrence probability storage unit 47, a context control unit 48, a binary arithmetic decoder 49, and an inverse binarization unit 50.
  • the symbol occurrence probability storage unit 47 holds a symbol occurrence probability.
  • the context control unit 48 determines which symbol occurrence probability stored in the symbol occurrence probability storage unit 47 is to be used, and reads the symbol occurrence probability from the symbol occurrence probability storage unit 47.
  • the binary arithmetic decoder 49 performs arithmetic decoding.
  • the inverse binarization unit 50 converts the binary signal into a multilevel signal.
  • arithmetic decoding unit 41 Since the arithmetic decoding unit 41 is the same as the arithmetic decoding unit 40, description thereof is omitted.
  • FIG. 36 is a configuration diagram of the pixel decoding unit 42 according to the present embodiment. The description of the same components as those in FIGS. 34 and 35 is omitted.
  • the pixel decoding unit 42 includes an inverse quantization unit 51, an inverse frequency conversion unit 52, a reconstruction unit 53, an in-plane prediction unit 54, a motion vector calculation unit 55, a motion compensation unit 56, and a deblock filter unit 57.
  • the inverse quantization unit 51 performs an inverse quantization process.
  • the inverse frequency conversion unit 52 performs an inverse frequency conversion process.
  • the reconstruction unit 53 restores an image from the data subjected to the inverse frequency conversion process and the prediction data subjected to motion compensation or in-plane prediction.
  • the in-plane prediction unit 54 generates prediction data from the top and left in the plane.
  • the motion vector calculation unit 55 calculates a motion vector.
  • the motion compensation unit 56 obtains a reference image at the position indicated by the motion vector, and generates prediction data by performing filter processing.
  • the deblocking filter unit 57 performs a filtering process for reducing block noise on the reconstructed image data.
  • FIG. 37 is a flowchart showing the operation of the arithmetic decoding unit shown in FIGS. 34 and 35.
  • FIG. 37 shows decoding of one macroblock.
  • the arithmetic decoding unit 40 of the present embodiment first initializes the symbol occurrence probability held by the symbol occurrence probability storage unit 47 (S700).
  • the initialization of the occurrence probability is similar to the symbol occurrence probability initialization (S100) according to the first embodiment shown in FIG.
  • the context control unit 48 uses H.264. Context control is performed by the method shown in the H.264 standard (S701). In this context control, the corresponding symbol occurrence probability is read from the symbol occurrence probability storage unit 47 and input to the binary arithmetic decoder 49 based on information around the macroblock being decoded and the bit position to be decoded. It is processing. Then, the binary arithmetic decoder 49 Arithmetic decoding is performed by the method shown in the H.264 standard (S702).
  • the context control unit 48 stores the updated symbol occurrence probability in the symbol occurrence probability storage unit 47 as a result of arithmetic decoding (S703).
  • the inverse binarization unit 50 performs H.264 conversion.
  • the binary signal is multivalued by a method shown in the H.264 standard (S704).
  • the arithmetic decoding unit 40 outputs the symbol occurrence probability from the symbol occurrence probability storage unit 47 as necessary (S705). Since the output of the symbol occurrence probability is the same as the symbol occurrence probability output (S105) according to the first embodiment shown in FIG.
  • the arithmetic decoding unit 40 determines whether or not the decoding of the macroblock has been completed (S706). If the decoding of the macroblock has been completed (Yes in S706), the arithmetic decoding unit 40 ends the process. If the decoding of the macroblock has not ended (No in S706), the arithmetic decoding unit 40 continues the process from the context control (S701) again.
  • the inverse quantization unit 51 inversely quantizes the data input from the arithmetic decoding unit 40 (S710).
  • the inverse frequency transform unit 52 performs inverse frequency transform on the inversely quantized data (S711).
  • the motion vector calculation unit 55 checks whether there is information necessary for motion vector calculation in the peripheral information memory 46 (S001). If there is no information necessary for motion vector calculation, the motion vector calculation unit 55 waits until necessary information is written in the peripheral information memory 46.
  • the motion vector calculation unit 55 calculates a motion vector using the information (S713).
  • the outline of motion vector calculation is shown in FIG.
  • the motion vector mv is obtained by calculating a predicted motion vector value mvp from the intermediate values of the motion vectors mvA, mvB and mvC of the neighboring macroblocks and adding it with the difference motion vector value mvd in the stream.
  • the motion vector calculation unit 55 checks whether there is an empty area in the peripheral information memory 46 (S002). If there is an empty area, the motion vector calculation unit 55 writes the calculated motion vector in the peripheral information memory 46, and waits if there is no space.
  • the motion compensation unit 56 acquires a reference image from the frame memory 45 using the calculated motion vector, and performs motion compensation calculation such as filter processing (S714).
  • the in-plane prediction unit 54 checks whether there is information necessary for calculation of the in-plane prediction in the peripheral information memory 46. (S001). If there is no information necessary for calculation of in-plane prediction, the in-plane prediction unit 54 waits until necessary information is written in the peripheral information memory 46.
  • the in-plane prediction unit 54 performs in-plane prediction using the information (S715).
  • the in-plane prediction calculation pixel data after nA, nB, nC, and nD reconstruction processing as shown in FIG. 32 is necessary as peripheral information depending on the in-plane prediction mode. If the necessary information is in the peripheral information memory 46, the in-plane prediction unit 54 performs in-plane prediction (S715).
  • the reconstruction unit 53 adds the prediction image data generated thereby and the difference data obtained by inverse frequency conversion (S716), and obtain.
  • the reconfiguration unit 53 checks whether there is an empty area in the peripheral information memory 46 (S002). If there is an empty area, the reconstruction unit 53 writes the reconstructed image generated in the reconstruction process (S716) to the peripheral information memory 46, and waits if there is no space.
  • the deblock filter unit 57 checks whether there is data necessary for the deblock filter process in the peripheral information memory 46 (S001). If there is no data necessary for the deblocking filter processing, the deblocking filter unit 57 waits until necessary data is written in the peripheral information memory 46.
  • the deblock filter unit 57 performs deblock filter processing (S717) using the data, and writes the decoded image in the frame memory 45.
  • the deblocking filter unit 57 checks whether there is an empty area in the peripheral information memory 46 (S002). If there is an empty area, the deblock filter unit 57 writes the calculated deblock filter result in the peripheral information memory 46, and the pixel decoding unit 42 ends the process.
  • the image decoding apparatus can combine arithmetic coding and pixel coding.
  • the image decoding apparatus may support any of the arithmetic codings shown in the above-described plurality of embodiments.
  • H The arithmetic coding method shown in the H.264 standard is applied. However, any method may be applied as long as encoding is performed using data that is adaptively updated according to a symbol occurrence probability table or a similar image.
  • the image encoding apparatus processes an image in units of macroblocks composed of 16 ⁇ 16 pixels.
  • the image encoding apparatus may process the image in units of 8 ⁇ 8 pixels, 32 ⁇ 32 pixels, 64 ⁇ 16 pixels, or the like.
  • the inside of a slice is encoded in a zigzag order.
  • the encoding order is H.264.
  • the order may be the raster order shown in the H.264 standard, or any order.
  • the encoding is H.264. Although based on the H.264 standard, it may be based on other similar standards.
  • the storage unit for storing data is shown as a memory or a buffer, but it may be a memory of any configuration, and a different type of storage such as a flip-flop or a hard disk. It may be a means.
  • the image coding apparatus may be realized as a hardware circuit or as software on a processor. Further, the image coding apparatus according to the present embodiment may be realized on a plurality of processors or may be realized on one processor.
  • the image encoding device and the image decoding device according to the present invention have been described based on a plurality of embodiments.
  • the present invention is not limited to these embodiments. Forms obtained by subjecting those embodiments to modifications conceivable by those skilled in the art, and other forms realized by arbitrarily combining components in these embodiments are also included in the present invention.
  • another processing unit may execute a process executed by a specific processing unit.
  • the order in which the processes are executed may be changed, or a plurality of processes may be executed in parallel.
  • the present invention can be realized not only as an image encoding device or an image decoding device, but also as a method using a processing unit constituting the image encoding device or the image decoding device as a step. And this invention is realizable as a program which makes a computer perform the step contained in those methods. Furthermore, the present invention can be realized as a computer-readable recording medium such as a CD-ROM in which the program is recorded.
  • the image is divided into a plurality of slices, but may be divided into more general regions.
  • arithmetic coding using a symbol occurrence probability table is shown.
  • the image coding apparatus according to the present invention uses arithmetic information other than the symbol occurrence probability table to perform arithmetic operations.
  • the image may be encoded by an encoding method other than encoding.
  • FIG. 40A is a configuration diagram showing the configuration of the image encoding device according to the present embodiment.
  • the image encoding device 60 shown in FIG. 40A includes a first encoding unit 61 and a second encoding unit 62.
  • the first encoding unit 61 corresponds to the arithmetic encoding unit 1 shown in the plurality of embodiments described above.
  • the second encoding unit 62 corresponds to the arithmetic encoding unit 2 shown in the above-described embodiments.
  • the image encoding device 60 encodes an image having a plurality of regions each including a plurality of blocks.
  • FIG. 40B is a flowchart showing an operation of the image encoding device shown in FIG. 40A.
  • the first encoding unit 61 sequentially encodes blocks included in the first area of the plurality of areas using the first probability information indicating the occurrence probability of data (S811). . Further, at the time of encoding, the first encoding unit 61 encodes the encoding target block and then depends on the data of the encoding target block before encoding the next encoding target block. 1 probability information is updated.
  • the second encoding unit 62 uses the second probability information indicating the occurrence probability of data for blocks included in a second region different from the first region among the plurality of regions, The encoding is sequentially performed (S812). Further, at the time of encoding, the second encoding unit 62 depends on the data of the encoding target block after encoding the encoding target block and before encoding the next encoding target block. 2 probability information is updated.
  • the second encoding unit 62 updates the second probability information with the first probability information updated by the first encoding unit 61 before encoding the first encoding target block.
  • the probability information used for encoding is updated at the head of the image area according to the characteristics of the image. Therefore, encoding efficiency is improved.
  • FIG. 41A is a configuration diagram showing the configuration of the image decoding device according to the present embodiment.
  • the image decoding device 70 illustrated in FIG. 41A includes a first decoding unit 71 and a second decoding unit 72.
  • the first decoding unit 71 corresponds to the arithmetic decoding unit 40 shown in the tenth embodiment.
  • the second decoding unit 72 corresponds to the arithmetic decoding unit 41 shown in the tenth embodiment. Then, the image decoding device 70 decodes an image having a plurality of areas each including a plurality of blocks.
  • FIG. 41B is a flowchart showing the operation of the image decoding apparatus shown in FIG. 41A.
  • the first decoding unit 71 sequentially decodes blocks included in the first area among the plurality of areas using the first probability information indicating the occurrence probability of data (S821). In decoding, the first decoding unit 71 updates the first probability information depending on the data of the decoding target block after decoding the decoding target block and before decoding the next decoding target block. .
  • the second decoding unit 72 sequentially uses the second probability information indicating the occurrence probability of data for blocks included in a second region different from the first region among the plurality of regions. And decrypting (S822). In decoding, the second decoding unit 72 updates the second probability information depending on the data of the decoding target block after decoding the decoding target block and before decoding the next decoding target block. .
  • the second decoding unit 72 updates the second probability information with the first probability information updated by the first decoding unit 71 before decoding the first decoding target block.
  • the image decoding apparatus can decode an image corresponding to the image encoding apparatus according to the present embodiment.
  • FIG. 42A is a configuration diagram showing the configuration of the image encoding device according to the present embodiment.
  • the image encoding device 60 illustrated in FIG. 42A includes an encoding unit 63.
  • the encoding unit 63 corresponds to the arithmetic encoding unit 1 or the arithmetic encoding unit 2 shown in the plurality of embodiments described above. Then, the image encoding device 60 encodes an image having a plurality of blocks.
  • FIG. 42B is a flowchart showing an operation of the image encoding device shown in FIG. 42A.
  • the encoding unit 63 encodes a plurality of blocks using probability information indicating the occurrence probability of data (S831).
  • the encoding unit 63 updates the probability information depending on the data of the encoding target block after encoding the encoding target block and before encoding the next encoding target block.
  • the encoding unit 63 encodes the encoding target block using the probability information updated depending on the data of the block adjacent to the upper side of the encoding target block.
  • FIG. 43A is a configuration diagram showing the configuration of the image decoding apparatus according to the present embodiment.
  • the image decoding device 70 illustrated in FIG. 43A includes a decoding unit 73.
  • the decoding unit 73 corresponds to the arithmetic decoding unit 40 or the arithmetic decoding unit 41 shown in the tenth embodiment. Then, the image decoding device 70 decodes an image having a plurality of blocks.
  • FIG. 43B is a flowchart showing the operation of the image decoding apparatus shown in FIG. 43A.
  • the decoding unit 73 decodes a plurality of blocks using probability information indicating the occurrence probability of data (S841). In addition, after decoding the decoding target block, the decoding unit 73 updates the probability information depending on the data of the decoding target block before decoding the next decoding target block. Further, the decoding unit 73 decodes the decoding target block using the probability information updated depending on the data of the block adjacent to the upper side of the decoding target block.
  • the image decoding apparatus can decode an image corresponding to the image encoding apparatus according to the present embodiment.
  • FIG. 44A is a configuration diagram showing a configuration of an image encoding device according to a modification of the present embodiment.
  • the image encoding device 60 shown in FIG. 44A further includes a calculation unit 64.
  • the calculation unit 64 corresponds to the symbol occurrence probability calculation unit 7 shown in the plurality of embodiments described above.
  • FIG. 44B is a flowchart showing an operation of the image encoding device shown in FIG. 44A.
  • the calculation unit 64 calculates the encoding target from the probability information updated depending on the data of the block above the encoding target block and the probability information updated depending on the data of the block immediately to the left of the encoding target block. Probability information used to encode the block is calculated (S851).
  • the encoding unit 63 encodes the encoding target block using the probability information calculated by the calculation unit 64 (S852).
  • the block is encoded based on a plurality of pieces of probability information. Therefore, the encoding efficiency is further improved.
  • FIG. 45A is a block diagram showing a configuration of an image decoding apparatus according to a modification of the present embodiment.
  • the image decoding device 70 illustrated in FIG. 45A further includes a calculation unit 74.
  • the calculation unit 74 corresponds to the symbol occurrence probability calculation unit 7 shown in the plurality of embodiments described above.
  • FIG. 45B is a flowchart showing the operation of the image decoding apparatus shown in FIG. 45A.
  • the calculation unit 74 decodes the decoding target block from the probability information updated depending on the data of the block above the decoding target block and the probability information updated depending on the data of the block immediately to the left of the decoding target block.
  • the probability information used for the calculation is calculated (S861).
  • the decoding unit 73 decodes the decoding target block using the probability information calculated by the calculation unit 74 (S862).
  • the image decoding apparatus can decode an image corresponding to the image encoding apparatus according to the modification of the present embodiment.
  • the storage medium may be any medium that can record a program, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor memory.
  • FIG. 46 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • the communication service providing area is divided into desired sizes, and base stations ex106 to ex110, which are fixed radio stations, are installed in each cell.
  • devices such as a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, and a game machine ex115 are mutually connected via a telephone network ex104 and base stations ex106 to ex110. Connected. Each device is connected to the Internet ex101 via the Internet service provider ex102.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going through the base stations ex106 to ex110 which are fixed wireless stations.
  • the devices may be directly connected to each other via short-range wireless or the like.
  • the camera ex113 is a device that can shoot a moving image such as a digital video camera
  • the camera ex116 is a device that can shoot a still image and a moving image such as a digital camera.
  • the mobile phone ex114 is a GSM (Global System for Mobile Communications) method, a CDMA (Code Division Multiple Access) method, a W-CDMA (Wideband-Code Division MultipleL), or a high access rate (L) system. (High Speed Packet Access) type mobile phone, PHS (Personal Handyphone System), etc., which may be either.
  • the camera ex113 and the like are connected to the streaming server ex103 through the base station ex109 and the telephone network ex104, thereby enabling live distribution and the like.
  • live distribution the content (for example, music live video) captured by the user using the camera ex113 is encoded as described in the above embodiments and transmitted to the streaming server ex103.
  • the streaming server ex103 streams the transmitted content data to the requested client.
  • the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, a game machine ex115, and the like that can decode the encoded data. Each device that has received the distributed data decodes and reproduces the received data.
  • the encoded processing of the captured data may be performed by the camera ex113, the streaming server ex103 that performs data transmission processing, or may be performed in a shared manner.
  • the distributed processing of the distributed data may be performed by the client, the streaming server ex103, or may be performed in a shared manner.
  • still images and / or moving image data captured by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the encoding process in this case may be performed by any of the camera ex116, the computer ex111, and the streaming server ex103, or may be performed in a shared manner.
  • these encoding processing and decoding processing are generally executed in a computer ex111 and an LSI (Large Scale Integration) ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • image encoding software or image decoding software is incorporated into any recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111 and the like, and encoding processing or decoding processing is performed using the software. May be performed.
  • moving image data acquired by the camera may be transmitted. The moving image data at this time is data encoded by the LSI ex500 included in the mobile phone ex114.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the encoded data can be received and reproduced by the client.
  • the information transmitted by the user can be received, decrypted and reproduced in real time by the client, and even a user who does not have special rights and facilities can realize personal broadcasting.
  • At least one of the image encoding device and the image decoding device according to each of the above embodiments can be incorporated into the digital broadcasting system ex200.
  • a bit stream of video information is transmitted to a communication or satellite ex202 via radio waves.
  • This bit stream is an encoded bit stream encoded by the image encoding method described in the above embodiments.
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting, and the home antenna ex204 capable of receiving the satellite broadcast receives the radio wave.
  • the received bit stream is decoded and reproduced by a device such as the television (receiver) ex300 or the set top box (STB) ex217.
  • the image decoding apparatus described in the above embodiment can be mounted on the playback apparatus ex212 that reads and decodes the bitstream recorded on the recording medium ex214 such as a CD and a DVD that are recording media.
  • the reproduced video signal is displayed on the monitor ex213.
  • the image decoding shown in the above embodiments is also performed on the reader / recorder ex218 that reads and decodes the encoded bitstream recorded on the recording medium ex215 such as DVD and BD, or encodes and writes the video signal on the recording medium ex215.
  • the reproduced video signal is displayed on the monitor ex219, and the video signal can be reproduced in another device and system by the recording medium ex215 in which the encoded bitstream is recorded.
  • an image decoding device may be mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television. At this time, the image decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 48 is a diagram showing a television (receiver) ex300 that uses the image decoding method described in each of the above embodiments.
  • the television ex300 includes a tuner ex301 that acquires or outputs a bit stream of video information via the antenna ex204 or the cable ex203 that receives the broadcast, and the encoded data that is demodulated or transmitted to the outside.
  • a modulation / demodulation unit ex302 that modulates and a multiplexing / separation unit ex303 that separates demodulated video data and audio data or multiplexes encoded video data and audio data.
  • the television ex300 decodes each of the audio data and the video data, or encodes each information, an audio signal processing unit ex304, a signal processing unit ex306 including the video signal processing unit ex305, and outputs the decoded audio signal.
  • the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation.
  • the television ex300 includes a control unit ex310 that controls each unit in an integrated manner, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge ex313 connected to an external device such as a reader / recorder ex218, a recording unit ex216 such as an SD card, and an external recording such as a hard disk.
  • a driver ex315 for connecting to a medium, a modem ex316 for connecting to a telephone network, and the like may be included.
  • the recording medium ex216 can record information electrically by using a nonvolatile / volatile semiconductor memory element to be stored.
  • Each part of the television ex300 is connected to each other via a synchronous bus.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and demultiplexes the video data and audio data demodulated by the modulation / demodulation unit ex302 by the multiplexing / separation unit ex303 based on the control of the control unit ex310 having a CPU or the like. . Furthermore, in the television ex300, the separated audio data is decoded by the audio signal processing unit ex304, and the separated video data is decoded by the video signal processing unit ex305 using the decoding method described in the above embodiments. The decoded audio signal and video signal are output to the outside from the output unit ex309.
  • these signals may be temporarily stored in the buffers ex318, ex319, etc. so that the audio signal and the video signal are reproduced in synchronization.
  • the television ex300 may read the encoded bitstream encoded from the recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from a broadcast or the like.
  • the television ex300 encodes an audio signal and a video signal and transmits them to the outside or writes them on a recording medium or the like.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and encodes an audio signal with the audio signal processing unit ex304 based on the control of the control unit ex310, and converts the video signal with the video signal processing unit ex305.
  • Encoding is performed using the encoding method described in (1).
  • the encoded audio signal and video signal are multiplexed by the multiplexing / demultiplexing unit ex303 and output to the outside. When multiplexing, these signals may be temporarily stored in the buffers ex320 and ex321 so that the audio signal and the video signal are synchronized.
  • buffers ex318 to ex321 may be provided as shown in the figure, or one or more buffers may be shared. Further, in addition to the illustrated example, data may be stored in the buffer as a buffer material that prevents system overflow and underflow, for example, between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303.
  • the television ex300 In addition to acquiring audio data and video data from broadcast and recording media, the television ex300 has a configuration for receiving AV input of a microphone and a camera, and even if encoding processing is performed on the data acquired therefrom Good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output. However, these processing cannot be performed, and only the above-described reception, decoding processing, and external output are possible. It may be.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218,
  • the ex300 and the reader / recorder ex218 may share each other.
  • FIG. 49 shows the configuration of the information reproducing / recording unit ex400 when data is read from or written to an optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401 to ex407 described below.
  • the optical head ex401 writes information by irradiating a laser spot onto the recording surface of the recording medium ex215 that is an optical disc, and reads information by detecting reflected light from the recording surface of the recording medium ex215.
  • the modulation recording unit ex402 electrically drives a semiconductor laser built in the optical head ex401 and modulates the laser beam according to the recording data.
  • the reproduction demodulator ex403 amplifies a reproduction signal obtained by electrically detecting reflected light from the recording surface by a photodetector built in the optical head ex401, separates and demodulates a signal component recorded on the recording medium ex215, and is necessary. To play back information.
  • the buffer ex404 temporarily holds information to be recorded on the recording medium ex215 and information reproduced from the recording medium ex215.
  • the disk motor ex405 rotates the recording medium ex215.
  • the servo control unit ex406 moves the optical head ex401 to a predetermined information track while controlling the rotational drive of the disk motor ex405, and performs a laser
  • the system control unit ex407 controls the entire information reproduction / recording unit ex400.
  • the system control unit ex407 uses various types of information held in the buffer ex404, and generates and adds new information as necessary, as well as the modulation recording unit ex402, the reproduction demodulation unit This is realized by recording / reproducing information through the optical head ex401 while operating the ex403 and the servo control unit ex406 in a coordinated manner.
  • the system control unit ex407 includes, for example, a microprocessor, and executes these processes by executing a read / write program.
  • the optical head ex401 has been described as irradiating a laser spot, but it may be configured to perform higher-density recording using near-field light.
  • FIG. 50 shows a schematic diagram of a recording medium ex215 that is an optical disk.
  • Guide grooves grooves
  • address information indicating the absolute position on the disc is recorded in advance on the information track ex230 by changing the shape of the groove.
  • This address information includes information for specifying the position of the recording block ex231 which is a unit for recording data, and the recording block is specified by reproducing the information track ex230 and reading the address information in a recording and reproducing apparatus.
  • the recording medium ex215 includes a data recording area ex233, an inner peripheral area ex232, and an outer peripheral area ex234.
  • the area used for recording the user data is the data recording area ex233, and the inner circumference area ex232 and the outer circumference area ex234 arranged on the inner circumference or outer circumference of the data recording area ex233 are used for specific purposes other than user data recording. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or encoded data obtained by multiplexing these data with respect to the data recording area ex233 of the recording medium ex215.
  • an optical disk such as a single-layer DVD or BD has been described as an example.
  • the present invention is not limited to these, and an optical disk having a multilayer structure and capable of recording other than the surface may be used. It also has a structure that performs multidimensional recording / reproduction, such as recording information using light of various different wavelengths at the same location on the disc, and recording different layers of information from various angles. It may be an optical disk.
  • the car ex210 having the antenna ex205 can receive data from the satellite ex202 and the like, and the moving image can be reproduced on a display device such as the car navigation ex211 that the car ex210 has.
  • the configuration of the car navigation ex211 may include a configuration in which a GPS receiving unit is added in the configuration illustrated in FIG. 48, and the same may be applied to the computer ex111, the mobile phone ex114, and the like.
  • the mobile phone ex114 and the like can be used in three ways: a transmitting terminal having only an encoder and a receiving terminal having only a decoder. The implementation form of can be considered.
  • the image encoding method or the image decoding method shown in each of the above embodiments can be used in any of the above-described devices or systems, and by doing so, the effects described in the above embodiments can be obtained. Can be obtained.
  • the image coding apparatus shown in the first embodiment is realized as an LSI that is typically a semiconductor integrated circuit.
  • the realized form is shown in FIG.
  • the bit stream buffers 24 and 25 and the frame memory 23 are realized on the DRAM, and other circuits and memories are configured on the LSI.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • a drawing device corresponding to various uses can be configured.
  • the present invention can be used as information drawing means in cellular phones, televisions, digital video recorders, digital video cameras, car navigation systems, and the like.
  • a display in addition to a cathode ray tube (CRT), a flat display such as a liquid crystal, a PDP (plasma display panel) and an organic EL, a projection display represented by a projector, and the like can be combined.
  • the LSI in the present embodiment cooperates with a DRAM (Dynamic Random Access Memory) including a bit stream buffer for storing an encoded stream and a frame memory for storing an image, thereby performing an encoding process or a decoding process. May be performed.
  • the LSI in the present embodiment may be linked with other storage devices such as eDRAM (embedded DRAM), SRAM (Static Random Access Memory), or hard disk instead of DRAM.
  • FIG. 52 shows a configuration of an LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex502 to ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 starts up to an operable state by supplying power to each unit when the power supply is in an on state.
  • the LSI ex500 when performing the encoding process, receives an AV signal input from the microphone ex117, the camera ex113, and the like by the AV I / Oex 509.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and processing speed, and sent to the signal processing unit ex507.
  • the signal processing unit ex507 performs encoding of an audio signal and / or encoding of a video signal.
  • the encoding process of the video signal is the encoding process described in the above embodiment.
  • the signal processing unit ex507 further performs processing such as multiplexing the encoded audio data and the encoded video data according to circumstances, and outputs the result from the stream I / Oex 504 to the outside.
  • the output bit stream is transmitted to the base station ex107 or written to the recording medium ex215.
  • the LSI ex500 transmits the encoded data obtained from the base station ex107 by the stream I / Oex 504 or the recording medium ex215 based on the control of the microcomputer (microcomputer) ex502.
  • the encoded data obtained by reading is temporarily stored in the memory ex511 or the like.
  • the accumulated data is appropriately divided into a plurality of times according to the processing amount and the processing speed and sent to the signal processing unit ex507, where the signal processing unit ex507 decodes the audio data and / or the video data. Decryption is performed.
  • the decoding process of the video signal is the decoding process described in the above embodiments.
  • each signal may be temporarily stored in the memory ex511 or the like so that the decoded audio signal and the decoded video signal can be reproduced in synchronization.
  • the decoded output signal is output from the AVI / Oex 509 to the monitor ex219 or the like through the memory ex511 or the like as appropriate.
  • the memory controller ex503 is used.
  • the memory ex511 has been described as an external configuration of the LSI ex500. However, a configuration included in the LSI ex500 may be used.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • the image encoding method according to the present invention can be used for various purposes.
  • it can be used for high-resolution information display devices such as televisions, digital video recorders, car navigation systems, mobile phones, digital cameras, and digital video cameras, or imaging devices, and has high utility value.

Landscapes

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

Abstract

 より適切な確率情報を用いて、符号化効率を向上させる画像符号化方法を提供する。画像符号化方法は、第1の領域に含まれる第1の複数のブロックを、第1の確率情報を用いて、順次、符号化する第1の符号化ステップ(S811)と、第2の領域に含まれる第2の複数のブロックを、第2の確率情報を用いて、順次、符号化する第2の符号化ステップ(S812)とを含み、第1の符号化ステップ(S811)では、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて第1の確率情報を更新し、第2の符号化ステップ(S812)では、最初の符号化対象ブロックを符号化する前に、第1の符号化ステップ(S811)で更新した第1の確率情報で第2の確率情報を更新する。

Description

画像符号化方法および画像復号方法
 本発明は、複数のブロックを有する画像を符号化する画像符号化方法に関する。
 動画像を符号化する画像符号化装置は、動画像を構成する各ピクチャを16x16画素からなるマクロブロックに分割し、各マクロブロックを符号化する。そして、画像符号化装置は、動画像を符号化することにより圧縮された符号化ストリームを生成する。画像復号装置は、この符号化ストリームをマクロブロック単位に復号し、元の動画像の各ピクチャを再生する。
 従来の画像符号化方法の1つとして、ITU-T H.264規格(以下、H.264規格)がある(例えば、非特許文献1および非特許文献2を参照)。図53Aに示すように、H.264規格に基づく画像符号化装置は、ピクチャをスライスに分け、さらに16x16画素のマクロブロックに分割し、符号化する。図53Bに示すように、スライス内では、複数のマクロブロックが左から右へラスター順に符号化される。また、図53Cに示すように、それぞれのスライスにはスタートコードが付加される。
 画像復号装置は、符号化ストリームからスタートコードを探すことで、スライスの先頭を容易に検出し、復号を開始することができる。また、スライス間では、情報の参照関係がない。したがって、画像復号装置は、独立してスライスを復号することが可能である。
 H.264規格に示される可変長符号化方法の一つとして、コンテキスト適応型算術符号化(Context Adaptive Binary Arithmetic Coding)がある(以下、算術符号化とする)。図54は、H.264の算術符号化により、画像を符号化する算術符号化部を示す構成図である。
 図54に示された算術符号化部100は、スライスの先頭で、あらかじめ決められた3通りの値のうちの1つの値で、シンボル発生確率格納部102のシンボル発生確率を初期化する。算術符号化部100は、そのスライスの各シンタックスでの符号の生成確率に応じて、確率テーブルを更新しながら、スライスを算術符号化する。算術符号化部100は、確率テーブルを更新することによって、確率テーブルがその画像に適した確率テーブルになるため、符号化効率を向上させることができる。
 多値信号は、まず2値化部101で2値化(Binarization)される。次に、コンテキスト制御部103は、マクロブロックの周辺情報および2値信号データに応じて、シンボル発生確率格納部102が保持するシンボル発生確率を選択するためのインデックスを生成する。次に、コンテキスト制御部103は、このインデックスによって、シンボル発生確率格納部102から2値信号の発生確率を読み出す。
 2値算術符号化器104は、読み出された発生確率を用いて、2値信号を算術符号化する。コンテキスト制御部103は、算術符号化の結果により得られたシンボル発生確率をシンボル発生確率格納部102に書き戻し更新する。
 この算術符号化を用いる画像符号化装置は、高い符号化効率を実現することができる。一方、このような画像符号化装置は、画像をマクロブロックに分解した後、確率テーブルを更新しながら、画像をラスター順に符号化しなければならない。したがって、このような画像符号化装置は、本来的には、画像を並列に符号化することができない。そのため、動作周波数の向上以外に、性能の向上が難しい。
 そこで、画像符号化装置は、画像をスライスに分割して、画像を並列に符号化する場合がある。この場合、画像符号化装置は、スライス間での空間的な相関を利用できない。そのため、符号化効率が悪化する。また、図53Bのマクロブロック13とマクロブロック14とは、空間的に離れた位置にあり、それぞれのシンボル発生確率は大きく異なる可能性がある。それにもかかわらず、画像符号化装置は、画像をラスター順で符号化するため、マクロブロック13のシンボル発生確率に依存して、マクロブロック14を符号化する必要がある。よって、符号化効率が悪化していた。
 一方、次世代の画像符号化方法として提案されている技術の中には、このような問題を解決する技術がある(非特許文献3)。図55Aに示すように、非特許文献3では、ピクチャ内部を分割する単位として、別のスライスから参照可能なスライス(非特許文献3ではエントロピースライスと呼んでいる)が設けられる。このスライスは、スライスでありながら、スライスの境界を越えて別のスライスの内部を参照することができる。
 画像符号化装置は、この参照可能なスライスを用いることで、動きベクトルの符号化、および、イントラ予測などに、スライスの境界を越えて隣接するマクロブロックの情報を利用することができる。そして、画像符号化装置は、空間的な相関を用いて、符号化効率を向上させることができる。
 また、このスライスが、図55Bに示す順序で符号化されることにより、処理効率が向上する。例えば、スライス1に接するスライス0の最も下のマクロブロック(図55B中の「5」)が、図53Bのラスター順に比べて早く符号化される。つまり、画像符号化装置は、より早くスライス0の情報を利用して、スライス1を符号化することができる。したがって、並列に処理した場合の処理効率が向上する。
ITU-T H.264規格書 Advanced video coding for generic audiovisual services 9.Parsing Process、2005年3月発行 Thomas Wiegand et al、"Overview of the H.264/AVC Video Coding Standard"、IEEETRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY、JULY 2003、PP.1-19. Xun Guo et al著「Ordered Entropy Slices for Parallel CABAC」、[online]、ITU-T Video Coding Experts Group、2009年4月15日、[2009年10月28日検索]、インターネット<URL:http://wftp3.itu.int/av-arch/video-site/0904#Yok/VCEG-AK25.zip (VCEG-AK25.doc)>
 しかし、非特許文献3に記載された方法では、非特許文献3の第2.2章に明示されているように、各エントロピースライスの先頭において、算術符号化に用いる確率テーブルが初期化される。したがって、そのピクチャにあわせて更新された確率テーブルが使用できず、符号化効率が悪化する。
 また、上述のように、非特許文献1および非特許文献2に示されるH.264規格では、ラスター順に従って、空間的に離れた位置のシンボル発生確率が符号化に使用される場合がある。このような場合、符号化効率が悪化する。
 そこで、本発明は、より適切な確率情報を用いて、符号化効率を向上させる画像符号化方法を提供することを目的とする。
 上記目的を達成するために、本発明に係る画像符号化方法は、複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する画像符号化方法であって、前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する第1の符号化ステップと、前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する第2の符号化ステップとを含み、前記第1の符号化ステップでは、さらに、前記第1の複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記第1の複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の符号化ステップでは、さらに、前記第2の複数のブロックのうち、符号化対象ブロックである第3の符号化対象ブロックを符号化した後、前記第2の複数のブロックのうち、次の符号化対象ブロックである第4の符号化対象ブロックを符号化する前に、前記第3の符号化対象ブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の符号化ステップでは、さらに、前記第2の複数のブロックのうち、最初の符号化対象ブロックである第5の符号化対象ブロックを符号化する前に、前記第1の符号化ステップで更新した前記第1の確率情報で前記第2の確率情報を更新する。
 これにより、符号化に用いられる確率情報が、画像の各領域の先頭で、画像の特性に応じて、更新される。したがって、符号化効率が向上する。
 また、前記第1の符号化ステップでは、前記第1の複数のブロックを、前記第1の確率情報を用いて、順次、算術符号化により符号化し、前記第2の符号化ステップでは、前記第2の複数のブロックを、前記第2の確率情報を用いて、順次、算術符号化により符号化してもよい。
 これにより、確率に基づいて画像を符号化する算術符号化において、符号化効率が向上する。
 また、前記第1の符号化ステップでは、スライスである前記第1の領域に含まれる前記第1の複数のブロックであって、それぞれがマクロブロックである前記第1の複数のブロックを、前記第1の確率情報を用いて、順次、符号化し、前記第2の符号化ステップでは、スライスである前記第2の領域に含まれる前記第2の複数のブロックであって、それぞれがマクロブロックである前記第2の複数のブロックを、前記第2の確率情報を用いて、順次、符号化してもよい。
 これにより、符号化に用いられる確率情報が、画像の各スライスの先頭で、画像の特性に応じて、更新される。言い換えれば、スライス間で確率情報が引き継がれる。そして、更新された確率情報に応じて、スライスに含まれるマクロブロックが符号化される。したがって、符号化効率が向上する。
 また、前記第2の符号化ステップでは、前記第5の符号化対象ブロックを符号化する前に、前記第5の符号化対象ブロックの真上に隣接する前記第1の符号化対象ブロックのデータに依存させて前記第1の符号化ステップで更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、各領域の先頭のブロックが、空間的に近い真上のブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
 また、前記第1の符号化ステップでは、それぞれが複数のサブブロックを含む前記第1の複数のブロックをサブブロック毎に、前記第1の確率情報を用いて、順次、符号化し、前記第2の符号化ステップでは、それぞれが複数のサブブロックを含む前記第2の複数のブロックをサブブロック毎に、前記第2の確率情報を用いて、順次、符号化し、前記第1の符号化ステップでは、さらに、前記第1の符号化対象ブロックに含まれる第1の複数のサブブロックのうち、符号化対象サブブロックである第1の符号化対象サブブロックを符号化した後、前記第1の複数のサブブロックのうち、次の符号化対象サブブロックである第2の符号化対象サブブロックを符号化する前に、前記第1の符号化対象サブブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の符号化ステップでは、さらに、前記第5の符号化対象ブロックに含まれる第2の複数のサブブロックのうち、符号化対象サブブロックである第3の符号化対象サブブロックを符号化した後、前記第2の複数のサブブロックのうち、次の符号化対象サブブロックである第4の符号化対象サブブロックを符号化する前に、前記第3の符号化対象サブブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の符号化ステップでは、前記第2の複数のサブブロックのうち、最初の符号化対象サブブロックである第5の符号化対象サブブロックを符号化する前に、前記第1の複数のサブブロックのうち、前記第5の符号化対象サブブロックに空間的に最も近い前記第1の符号化対象サブブロックのデータに依存させて前記第1の符号化ステップで更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、各領域の先頭のサブブロックが、空間的に近いサブブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
 また、本発明に係る画像符号化方法は、複数のブロックを有する画像を符号化する画像符号化方法であって、前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、符号化する符号化ステップを含み、前記符号化ステップでは、さらに、前記複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記確率情報を更新し、前記符号化ステップでは、前記複数のブロックのうち、前記第1の符号化対象ブロックを符号化した後の符号化対象ブロックであって、前記第2の符号化対象ブロックとは異なる符号化対象ブロックである第3の符号化対象ブロックを、前記第3の符号化対象ブロックと上側に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化してもよい。
 これにより、ブロックが、空間的に近い上側のブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
 また、前記符号化ステップでは、前記複数のブロックを、前記確率情報を用いて、順次、算術符号化により符号化してもよい。
 これにより、確率に基づいて画像を符号化する算術符号化において、符号化効率が向上する。
 また、前記符号化ステップでは、前記複数のブロックを水平方向のライン毎に、左から右へ、順次、符号化し、右端のブロックを符号化した後、1ライン下の左端のブロックを符号化してもよい。
 これにより、画像がラスター順に符号化される。このような場合に、上側のブロックで更新された確率情報を用いることで、符号化効率向上の効果がより高くなる。
 また、前記符号化ステップでは、前記第3の符号化対象ブロックを、前記第3の符号化対象ブロックと真上に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化してもよい。
 これにより、ブロックが、空間的により近い真上のブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
 また、前記符号化ステップでは、前記第3の符号化対象ブロックを、前記第3の符号化対象ブロックと左上に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化してもよい。
 これにより、ブロックが、より早く符号化される左上のブロックで更新された確率情報に依存して、符号化される。したがって、処理速度が向上する。
 また、前記符号化ステップでは、それぞれが複数のサブブロックを含む前記複数のブロックをサブブロック毎に、前記確率情報を用いて、順次、符号化し、前記符号化ステップでは、さらに、前記第1の符号化対象ブロックに含まれる第1の複数のサブブロックのうち、符号化対象サブブロックである第1の符号化対象サブブロックを符号化した後、前記第1の複数のサブブロックのうち、次の符号化対象サブブロックである第2の符号化対象サブブロックを符号化する前に、前記第1の符号化対象サブブロックのデータに依存させて前記確率情報を更新し、前記符号化ステップでは、前記第3の符号化対象ブロックに含まれる第2の複数のサブブロックのうち、最初の符号化対象サブブロックである第3の符号化対象サブブロックを、前記第1の複数のサブブロックのうち、前記第3の符号化対象サブブロックに空間的に最も近い前記第1の符号化対象サブブロックのデータに依存させて更新した前記確率情報を用いて、符号化してもよい。
 これにより、サブブロックが、空間的に近いサブブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
 また、前記符号化ステップでは、さらに、前記複数のブロックのうち、前記第3の符号化対象ブロックと真左に隣接するブロックである第4の符号化対象ブロックを符号化した後、前記第3の符号化対象ブロックを符号化する前に、前記第4の符号化対象ブロックのデータに依存させて前記確率情報を更新し、前記画像符号化方法は、さらに、前記符号化ステップで前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報である第1の確率情報と、前記符号化ステップで前記第4の符号化対象ブロックのデータに依存させて更新した前記確率情報である第2の確率情報とから、前記第3の符号化対象ブロックの符号化に用いられる前記確率情報を算出する算出ステップを含み、前記符号化ステップでは、前記第3の符号化対象ブロックを、前記算出ステップで算出された前記確率情報を用いて、符号化してもよい。
 これにより、ブロックが、複数の確率情報に基づいて、符号化される。したがって、符号化効率がより向上する。
 また、前記符号化ステップでは、それぞれが複数のサブブロックを含む前記複数のブロックをサブブロック毎に、前記確率情報を用いて、順次、符号化し、前記符号化ステップでは、さらに、前記第1の符号化対象ブロックに含まれる第1の複数のサブブロックのうち、符号化対象サブブロックである第1の符号化対象サブブロックを符号化した後、前記第1の複数のサブブロックのうち、次の符号化対象サブブロックである第2の符号化対象サブブロックを符号化する前に、前記第1の符号化対象サブブロックのデータに依存させて前記確率情報を更新し、前記符号化ステップでは、さらに、前記第4の符号化対象ブロックに含まれる第2の複数のサブブロックのうち、符号化対象サブブロックである第3の符号化対象サブブロックを符号化した後、前記第2の複数のサブブロックのうち、次の符号化対象サブブロックである第4の符号化対象サブブロックを符号化する前に、前記第3の符号化対象サブブロックのデータに依存させて前記確率情報を更新し、前記算出ステップでは、前記第3の符号化対象ブロックに含まれる第3の複数のサブブロックのうち、最初の符号化対象サブブロックである第5の符号化対象サブブロックの符号化に用いられる前記確率情報を、前記第1の複数のサブブロックのうち、前記第5の符号化対象サブブロックに空間的に最も近い前記第1の符号化対象サブブロックのデータに依存させて前記符号化ステップで更新した前記確率情報である前記第1の確率情報と、前記第2の複数のサブブロックのうち、前記第5の符号化対象サブブロックに空間的に最も近い前記第3の符号化対象サブブロックのデータに依存させて前記符号化ステップで更新した前記確率情報である前記第2の確率情報とから、算出し、前記符号化ステップでは、前記第5の符号化対象サブブロックを、前記算出ステップで算出された前記確率情報を用いて、符号化してもよい。
 これにより、サブブロックが、空間的に近い複数のサブブロックで更新された複数の確率情報に基づいて、符号化される。したがって、符号化効率がより向上する。
 また、前記算出ステップでは、前記第5の符号化対象サブブロックから前記第1の符号化対象サブブロックまでの空間的な近さと、前記第5の符号化対象サブブロックから前記第3の符号化対象サブブロックまでの空間的な近さとに従って、前記第1の確率情報と前記第2の確率情報とを重み付けして、前記第5の符号化対象サブブロックの符号化に用いられる前記確率情報を算出してもよい。
 これにより、確率情報が、距離に応じて重み付けられ、算出される。よって、サブブロックが、より精度のよい確率情報に基づいて、符号化される。したがって、符号化効率がより向上する。
 また、前記符号化ステップでは、所定の条件を満たす場合、前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて前記第3の符号化対象ブロックを符号化し、前記所定の条件を満たさない場合、前記第3の符号化対象ブロックの前の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて前記第3の符号化対象ブロックを符号化してもよい。
 これにより、限られた場合のみ、上側のブロックで更新された確率情報が用いられる。したがって、保持すべき確率情報の数が削減される。
 また、本発明に係る画像復号方法は、複数のブロックをそれぞれ含む複数の領域を有する画像を復号する画像復号方法であって、前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する第1の復号ステップと、前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する第2の復号ステップとを含み、前記第1の復号ステップでは、さらに、前記第1の複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記第1の複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の復号ステップでは、さらに、前記第2の複数のブロックのうち、復号対象ブロックである第3の復号対象ブロックを復号した後、前記第2の複数のブロックのうち、次の復号対象ブロックである第4の復号対象ブロックを復号する前に、前記第3の復号対象ブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の復号ステップでは、さらに、前記第2の複数のブロックのうち、最初の復号対象ブロックである第5の復号対象ブロックを復号する前に、前記第1の復号ステップで更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、復号に用いられる確率情報が、画像の各領域の先頭で、画像の特性に応じて、更新される。そして、同様の方法で符号化された画像が、復号される。
 また、本発明に係る画像復号方法は、複数のブロックを有する画像を復号する画像復号方法であって、前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、復号する復号ステップを含み、前記復号ステップでは、さらに、前記複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記確率情報を更新し、前記復号ステップでは、前記複数のブロックのうち、前記第1の復号対象ブロックを復号した後の復号対象ブロックであって、前記第2の復号対象ブロックとは異なる復号対象ブロックである第3の復号対象ブロックを、前記第3の復号対象ブロックと上側に隣接する前記第1の復号対象ブロックのデータに依存させて更新した前記確率情報を用いて、復号してもよい。
 これにより、ブロックが、空間的に近い上側のブロックで更新された確率情報に依存して、復号される。そして、同様の方法で符号化された画像が、復号される。
 また、本発明に係る画像符号化装置は、複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する画像符号化装置であって、前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する第1の符号化部と、前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する第2の符号化部とを備え、前記第1の符号化部は、さらに、前記第1の複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記第1の複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、符号化対象ブロックである第3の符号化対象ブロックを符号化した後、前記第2の複数のブロックのうち、次の符号化対象ブロックである第4の符号化対象ブロックを符号化する前に、前記第3の符号化対象ブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、最初の符号化対象ブロックである第5の符号化対象ブロックを符号化する前に、前記第1の符号化部で更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、本発明に係る画像符号化装置は、画像の各領域の先頭で、符号化に用いられる確率情報を画像の特性に応じて更新することができる。したがって、符号化効率が向上する。
 また、本発明に係る画像符号化装置は、複数のブロックを有する画像を符号化する画像符号化装置であって、前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、符号化する符号化部を備え、前記符号化部は、さらに、前記複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記確率情報を更新し、前記符号化部は、前記複数のブロックのうち、前記第1の符号化対象ブロックを符号化した後の符号化対象ブロックであって、前記第2の符号化対象ブロックとは異なる符号化対象ブロックである第3の符号化対象ブロックを、前記第3の符号化対象ブロックと上側に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化してもよい。
 これにより、本発明に係る画像符号化装置は、空間的に近い上側のブロックで更新された確率情報に基づいて、ブロックを符号化することができる。したがって、符号化効率がより向上する。
 また、本発明に係る画像復号装置は、複数のブロックをそれぞれ含む複数の領域を有する画像を復号する画像復号装置であって、前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する第1の復号部と、前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する第2の復号部とを備え、前記第1の復号部は、さらに、前記第1の複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記第1の複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の復号部は、さらに、前記第2の複数のブロックのうち、復号対象ブロックである第3の復号対象ブロックを復号した後、前記第2の複数のブロックのうち、次の復号対象ブロックである第4の復号対象ブロックを復号する前に、前記第3の復号対象ブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の復号部は、さらに、前記第2の複数のブロックのうち、最初の復号対象ブロックである第5の復号対象ブロックを復号する前に、前記第1の復号部で更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、本発明に係る画像復号装置は、画像の各領域の先頭で、復号に用いられる確率情報を画像の特性に応じて更新することができる。そして、画像復号装置は、同様の方法で符号化された画像を復号することができる。
 また、本発明に係る画像復号装置は、複数のブロックを有する画像を復号する画像復号装置であって、前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、復号する復号部を備え、前記復号部は、さらに、前記複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記確率情報を更新し、前記復号部は、前記複数のブロックのうち、前記第1の復号対象ブロックを復号した後の復号対象ブロックであって、前記第2の復号対象ブロックとは異なる復号対象ブロックである第3の復号対象ブロックを、前記第3の復号対象ブロックと上側に隣接する前記第1の復号対象ブロックのデータに依存させて更新した前記確率情報を用いて、復号してもよい。
 これにより、本発明に係る画像復号装置は、空間的に近い上側のブロックで更新された確率情報に基づいて、ブロックを復号することができる。そして、画像復号装置は、同様の方法で符号化された画像を復号することができる。
 また、本発明に係る集積回路は、複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する集積回路であって、前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する第1の符号化部と、前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する第2の符号化部とを備え、前記第1の符号化部は、さらに、前記第1の複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記第1の複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、符号化対象ブロックである第3の符号化対象ブロックを符号化した後、前記第2の複数のブロックのうち、次の符号化対象ブロックである第4の符号化対象ブロックを符号化する前に、前記第3の符号化対象ブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、最初の符号化対象ブロックである第5の符号化対象ブロックを符号化する前に、前記第1の符号化部で更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、本発明に係る集積回路は、画像の各領域の先頭で、符号化に用いられる確率情報を画像の特性に応じて更新することができる。したがって、符号化効率が向上する。
 また、本発明に係る集積回路は、複数のブロックを有する画像を符号化する集積回路であって、前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、符号化する符号化部を備え、前記符号化部は、さらに、前記複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記確率情報を更新し、前記符号化部は、前記複数のブロックのうち、前記第1の符号化対象ブロックを符号化した後の符号化対象ブロックであって、前記第2の符号化対象ブロックとは異なる符号化対象ブロックである第3の符号化対象ブロックを、前記第3の符号化対象ブロックと上側に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化してもよい。
 これにより、本発明に係る集積回路は、空間的に近い上側のブロックで更新された確率情報に基づいて、ブロックを符号化することができる。したがって、符号化効率がより向上する。
 また、本発明に係る集積回路は、複数のブロックをそれぞれ含む複数の領域を有する画像を復号する集積回路であって、前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する第1の復号部と、前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する第2の復号部とを備え、前記第1の復号部は、さらに、前記第1の複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記第1の複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記第1の確率情報を更新し、前記第2の復号部は、さらに、前記第2の複数のブロックのうち、復号対象ブロックである第3の復号対象ブロックを復号した後、前記第2の複数のブロックのうち、次の復号対象ブロックである第4の復号対象ブロックを復号する前に、前記第3の復号対象ブロックのデータに依存させて前記第2の確率情報を更新し、前記第2の復号部は、さらに、前記第2の複数のブロックのうち、最初の復号対象ブロックである第5の復号対象ブロックを復号する前に、前記第1の復号部で更新した前記第1の確率情報で前記第2の確率情報を更新してもよい。
 これにより、本発明に係る集積回路は、画像の各領域の先頭で、復号に用いられる確率情報を画像の特性に応じて更新することができる。そして、集積回路は、同様の方法で符号化された画像を復号することができる。
 また、本発明に係る集積回路は、複数のブロックを有する画像を復号する集積回路であって、前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、復号する復号部を備え、前記復号部は、さらに、前記複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記確率情報を更新し、前記復号部は、前記複数のブロックのうち、前記第1の復号対象ブロックを復号した後の復号対象ブロックであって、前記第2の復号対象ブロックとは異なる復号対象ブロックである第3の復号対象ブロックを、前記第3の復号対象ブロックと上側に隣接する前記第1の復号対象ブロックのデータに依存させて更新した前記確率情報を用いて、復号してもよい。
 これにより、本発明に係る集積回路は、空間的に近い上側のブロックで更新された確率情報に基づいて、ブロックを復号することができる。そして、集積回路は、同様の方法で符号化された画像を復号することができる。
 本発明により、より適切な確率情報が用いられ、符号化効率が向上する。
図1は、実施の形態1に係る画像符号化装置の構成を示す構成図である。 図2は、実施の形態1に係る算術符号化部の構成を示す構成図である。 図3は、実施の形態1に係る算術符号化部の動作を示すフローチャートである。 図4は、実施の形態1に係るシンボル発生確率テーブルを示す説明図である。 図5は、実施の形態1に係るシンボル発生確率初期化の処理を示すフローチャートである。 図6は、実施の形態1に係るシンボル発生確率出力の処理を示すフローチャートである。 図7Aは、実施の形態1に係る画像符号化装置の動作を示す概念図である。 図7Bは、実施の形態1に係る画像符号化装置の動作を示す概念図である。 図8は、実施の形態1に係る画像符号化装置の動作の詳細を示す概念図である。 図9は、実施の形態2に係るシンボル発生確率出力の処理を示すフローチャートである。 図10は、実施の形態2に係る画像符号化装置の動作の詳細を示す概念図である。 図11は、実施の形態3に係る算術符号化部の構成を示す構成図である。 図12は、実施の形態3に係る算術符号化部の動作を示すフローチャートである。 図13は、実施の形態3に係るシンボル発生確率初期化の処理を示すフローチャートである。 図14は、実施の形態3に係るシンボル発生確率出力の処理を示すフローチャートである。 図15Aは、実施の形態3に係る画像符号化装置の動作を示す概念図である。 図15Bは、実施の形態3に係る画像符号化装置の動作を示す概念図である。 図15Cは、実施の形態3に係る画像符号化装置の動作を示す概念図である。 図16は、実施の形態3に係る画像符号化装置の動作の詳細を示す概念図である。 図17Aは、実施の形態3に係る画像符号化装置の動作を示す概念図である。 図17Bは、実施の形態3に係る画像符号化装置の動作を示す概念図である。 図17Cは、実施の形態3に係る画像符号化装置の動作を示す概念図である。 図18は、実施の形態4に係るシンボル発生確率出力の処理を示すフローチャートである。 図19は、実施の形態4に係る画像符号化装置の動作の詳細を示す概念図である。 図20は、実施の形態5に係るシンボル発生確率初期化の処理を示すフローチャートである。 図21は、実施の形態5に係る画像符号化装置の動作の詳細を示す概念図である。 図22は、実施の形態6に係るシンボル発生確率出力の処理を示すフローチャートである。 図23は、実施の形態6に係る画像符号化装置の動作の詳細を示す概念図である。 図24は、実施の形態7に係る画像符号化装置の動作の詳細を示す概念図である。 図25は、実施の形態8に係るシンボル発生確率初期化の処理を示すフローチャートである。 図26は、実施の形態8に係るシンボル発生確率出力の処理を示すフローチャートである。 図27Aは、実施の形態8に係る画像符号化装置の動作を示す概念図である。 図27Bは、実施の形態8に係る画像符号化装置の動作を示す概念図である。 図28は、実施の形態8に係る画像符号化装置の動作の変形例を示す概念図である。 図29は、実施の形態9に係る画像符号化装置の構成を示す構成図である。 図30は、実施の形態9に係る画素符号化部の構成を示す構成図である。 図31は、実施の形態9に係る画素符号化部の動作を示すフローチャートである。 図32は、実施の形態9に係る画素符号化部の動作の詳細を示す概念図である。 図33は、実施の形態9に係る画素符号化部の動作の詳細を示す概念図である。 図34は、実施の形態10に係る画像復号装置の構成を示す構成図である。 図35は、実施の形態10に係る算術復号部の構成を示す構成図である。 図36は、実施の形態10に係る画素復号部の構成を示す構成図である。 図37は、実施の形態10に係る算術復号部の動作を示すフローチャートである。 図38は、実施の形態10に係る画素復号部の動作を示すフローチャートである。 図39は、実施の形態10に係る画素復号部の動作を示すフローチャートである。 図40Aは、実施の形態11に係る画像符号化装置の構成を示す構成図である。 図40Bは、実施の形態11に係る画像符号化装置の動作を示すフローチャートである。 図41Aは、実施の形態11に係る画像復号装置の構成を示す構成図である。 図41Bは、実施の形態11に係る画像復号装置の動作を示すフローチャートである。 図42Aは、実施の形態12に係る画像符号化装置の構成を示す構成図である。 図42Bは、実施の形態12に係る画像符号化装置の動作を示すフローチャートである。 図43Aは、実施の形態12に係る画像復号装置の構成を示す構成図である。 図43Bは、実施の形態12に係る画像復号装置の動作を示すフローチャートである。 図44Aは、実施の形態12の変形例に係る画像符号化装置の構成を示す構成図である。 図44Bは、実施の形態12の変形例に係る画像符号化装置の動作を示すフローチャートである。 図45Aは、実施の形態12の変形例に係る画像復号装置の構成を示す構成図である。 図45Bは、実施の形態12の変形例に係る画像復号装置の動作を示すフローチャートである。 図46は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図47は、デジタル放送用システムの全体構成図である。 図48は、テレビの構成例を示すブロック図である。 図49は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図50は、光ディスクである記録メディアの構造例を示す図である。 図51は、画像符号化処理を実現する集積回路の構成例を示す構成図である。 図52は、画像符号化処理および画像復号処理を実現する集積回路の構成例を示す構成図である。 図53Aは、従来技術に係る画像を示す概念図である。 図53Bは、従来技術に係るスライスを示す概念図である。 図53Cは、従来技術に係るストリームを示す概念図である。 図54は、従来技術に係る算術符号化部の構成を示す構成図である。 図55Aは、従来技術に係る画像を示す概念図である。 図55Bは、従来技術に係るスライスを示す概念図である。
 以下、本発明の実施の形態に係る画像符号化装置について、図面を参照しながら説明する。
 (実施の形態1)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、画像をスライスに分割し、スライス間での情報の参照を許す。そして、本実施の形態に係る画像符号化装置は、スライスの先頭で、周辺のマクロブロックのシンボル発生確率テーブルを用いる。これにより、本実施の形態に係る画像符号化装置は、画像に応じたシンボル発生確率テーブルを使用することができる。したがって、符号化効率の向上が可能となる。
 以上が本実施の形態に係る画像符号化装置の概要についての説明である。
 次に、本実施の形態に係る画像符号化装置の構成について説明する。図1は、本実施の形態に係る画像符号化装置のブロック図である。本実施の形態の画像符号化装置は、算術符号化を行う算術符号化部1および算術符号化部2から構成される。
 図2は、図1に示された算術符号化部1の構成を示す構成図である。算術符号化部1は、2値化部3、シンボル発生確率格納部4、コンテキスト制御部5および2値算術符号化器6を備える。
 2値化部3は、多値信号の2値化(Binarization)を行う。シンボル発生確率格納部4は、シンボルの発生確率を保持する。コンテキスト制御部5は、シンボル発生確率格納部4に格納されているどのシンボル発生確率を使用するかを決定し、シンボル発生確率格納部4からシンボル発生確率を読み出す。2値算術符号化器6は、コンテキスト制御部5が出力するシンボル発生確率を用いて算術符号化を行う。算術符号化部2は、算術符号化部1と同様であるので説明を省略する。
 以上が本実施の形態に係る画像符号化装置の構成についての説明である。
 次に、図1および図2に示した画像符号化装置の動作を図3に示すフローチャートに従って説明する。図3は、1マクロブロックの符号化を示している。ここでは、主に、算術符号化部1の動作が示されるが、算術符号化部2の動作も同様である。
 図3に示すように、本実施の形態に係る画像符号化装置は、まずシンボル発生確率格納部4が、保持するシンボル発生確率を初期化する(S100)。発生確率の初期化の詳細は後で説明する。次に、2値化部3は、H.264規格に示される方法で多値信号の2値化を行う(S101)。
 次に、コンテキスト制御部5は、H.264規格に示される方法でコンテキスト制御を行う(S102)。ここでコンテキスト制御とは、符号化中のマクロブロックの周辺の情報、および、符号化するビット位置などによって、対応するシンボル発生確率をシンボル発生確率格納部4から読み出し、2値算術符号化器6に入力する処理である。次に、2値算術符号化器6は、H.264規格に示される方法により算術符号化を行う(S103)。
 コンテキスト制御部5は、算術符号化の結果、更新されたシンボル発生確率をシンボル発生確率格納部4に格納する(S104)。さらに、必要に応じて、シンボル発生確率格納部4は、格納されたシンボル発生確率を出力する(S105)。シンボル発生確率の出力は後で説明する。
 次に、算術符号化部1は、マクロブロックの符号化が全て終了したかを判定する(S106)。算術符号化部1は、全ての符号化が終了している場合(S106でYes)、処理を終了し、全ての符号化が終了していない場合(S106でNo)、再度2値化(S101)から処理を継続する。
 図4は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを示す説明図である。図4におけるインデックス(ctxIdx)は、コンテキストすなわち符号化中のマクロブロックの周辺の情報、および、符号化するビット位置に応じて決まるインデックスである。各インデックスが示すエントリは、それぞれ、シンボル発生確率(pStateIdx)と、発生確率の高いシンボル(Most Probable Symbol)を示すvalMPSとで構成される。これらは、H.264規格に示されるものと同等である。
 図3のシンボル発生確率の初期化(S100)について、図5を用いて説明する。まず、算術符号化部1は、符号化対象マクロブロックがスライスの先頭であるかどうかの判定を行う(S110)。ここでスライスとは、非特許文献3で示されるエントロピースライス、すなわちスライス間での情報の参照が可能なスライスであるとする。
 符号化対象マクロブロックがスライスの先頭ではない場合(S110でNo)、算術符号化部1は、何もせず処理を終了する。符号化対象マクロブロックがスライスの先頭である場合(S110でYes)、算術符号化部1は、次に、符号化対象マクロブロックがピクチャの先頭であるかどうかの判定を行う(S111)。
 ピクチャの先頭の場合(S111でYes)、算術符号化部1は、シンボル発生確率格納部4で保持されているシンボル発生確率テーブルをH.264規格で定められる方法で初期化する(S112)。ピクチャの先頭ではない場合(S111でNo)、算術符号化部1は、符号化対象マクロブロックのすぐ上のマクロブロックの符号化時に出力されるシンボル発生確率テーブルをシンボル発生確率格納部4に読み込む(S113)。
 次に、図3のシンボル発生確率の出力(S105)について、図6を用いて説明する。まず、算術符号化部1は、符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端であるかを判定する(S120)。
 符号化対象マクロブロックの下がスライスの境界ではない、または、符号化対象マクロブロックがピクチャの左端ではない場合(S120でNo)、算術符号化部1は、何もせず処理を終了する。符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端である場合(S120でYes)、次に、算術符号化部1は、マクロブロックの処理が終了したかどうかを判定する(S121)。
 マクロブロックの処理が終了していない場合(S121でNo)、算術符号化部1は、何もせず処理を終了する。マクロブロックの処理が終了している場合(S121でYes)、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを出力(S122)して、処理を終了する。
 これらの動作について図7Aを用いて、ピクチャ全体から見た動作を説明する。図7Aに示すように、ピクチャは4つのスライスに分割される。スライスは、さらに、16x16画素からなるマクロブロックに分割される。図7Aに示されたAの位置は、ピクチャの先頭である。したがって、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルをH.264規格で定められる方法で初期化する(図5のS112)。図7Aに示されたBの位置は、その下がスライスの境界であって、かつ、画像の左端である。したがって、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを出力する(図6のS122)。図7Aに示されたCの位置は、スライスの先頭であって、ピクチャの先頭ではない。したがって、算術符号化部1は、シンボル発生確率格納部4に、Bの位置で出力されるシンボル発生確率テーブルを読み込む(図5のS113)。
 さらに、詳細には、16x16画素単位の各マクロブロックは、それぞれ、複数の8x8画素単位のサブブロックに分割されて、符号化される。つまり、図8に示すように、スライス0に属する上側マクロブロックの処理終了時とは、サブブロック3の処理終了時である。画像符号化装置は、サブブロック3の処理終了時にシンボル発生確率テーブルを出力し、スライス1の先頭マクロブロックとなる下側マクロブロックの処理開始時に、出力されたシンボル発生確率テーブルをシンボル発生確率格納部4に読み込むように動作する。
 以上が本実施の形態に係る画像符号化装置についての説明である。
 このように、本実施の形態に係る画像符号化装置は、ピクチャの先頭においてのみ、シンボル発生確率テーブルを初期化する。そして、画像符号化装置は、各スライスの先頭で、前のスライスの空間的に最も近いマクロブロックのシンボル発生確率テーブルを読み込む。これにより、画像符号化装置は、空間的に近い位置のシンボル発生確率を用いて、画像を符号化することができ、より高い符号化効率を実現することができる。
 なお、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が図7Bなどに示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 (実施の形態2)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態1に係る画像符号化装置と比較して、シンボル発生確率テーブルが出力される位置と、出力されたシンボル発生確率テーブルが用いられる位置とが空間的により近くなる。これにより、符号化効率がさらに向上する。
 以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
 本実施の形態に係る画像符号化装置の構成は、実施の形態1と同様であるので、説明を省略する。
 次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図3に示された実施の形態1に係る画像符号化装置の動作と同様であるが、図3に示されたシンボル発生確率出力(S105)の動作が異なる。シンボル発生確率出力(S105)の動作について、図9を用いて説明する。
 まず、算術符号化部1は、符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端であるかを判定する(S130)。
 符号化対象マクロブロックの下がスライスの境界ではない場合、または、符号化対象マクロブロックがピクチャの左端ではない場合(S130でNo)、算術符号化部1は、何もせず処理を終了する。符号化対象マクロブロックの下がスライスの境界であって、かつ、符号化対象マクロブロックがピクチャの左端である場合(S130でYes)、算術符号化部1は、次に、符号化対象マクロブロック内のサブブロック2の処理が終了したかどうかを判定する(S131)。
 サブブロック2の処理が終了していない場合(S131でNo)、算術符号化部1は、何もせず処理を終了する。サブブロック2の処理が終了している場合(S131でYes)、算術符号化部1は、シンボル発生確率格納部4が保持するシンボル発生確率テーブルを出力(S132)して、処理を終了する。
 さらに詳細には、図10に示すように、算術符号化部1は、スライス0に属する上側マクロブロックのサブブロック2の処理終了時にシンボル発生確率テーブルを出力する。算術符号化部2は、スライス1の先頭マクロブロックとなる下側マクロブロックの処理開始時に、出力されたシンボル発生確率テーブルをシンボル発生確率格納部4に読み込むように動作する。
 以上が、本実施の形態に係る画像符号化装置についての説明である。
 このように、本実施の形態に係る画像符号化装置は、各スライスの先頭で、前のスライスの空間的により近いマクロブロックのシンボル発生確率テーブルを読み込む。これにより、本実施の形態に係る画像符号化装置は、より空間的に近い位置のシンボル発生確率を用いて、各スライスの先頭を符号化することができる。そして、本実施の形態に係る画像符号化装置は、より高い符号化効率を実現することができる。
 なお、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 (実施の形態3)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態1および2と異なり、スライスの先頭だけでなく、常にシンボル発生確率テーブルとして空間的に近い位置のシンボル発生確率テーブルを使用することで、さらに符号化効率の向上が可能となる。
 以上が本実施の形態に係る画像符号化装置の概要についての説明である。
 次に、本実施の形態に係る画像符号化装置の構成について説明する。本実施の形態に係る画像符号化装置の構成は、図1に示された実施の形態1に係る画像符号化装置の構成と同様であるので説明を省略する。図11は、図1に示された算術符号化部1の構成を示す構成図である。本実施の形態に係る算術符号化部1は、出力されたシンボル発生確率テーブルを保持し、新たなシンボル発生確率を算出するシンボル発生確率算出部7を備える。他の構成要素は、図2に示された実施の形態1に係る構成要素と同様であり、同じ番号を振って説明を省略する。また、算術符号化部2は、算術符号化部1と同様であるので説明を省略する。
 以上が本実施の形態に係る画像符号化装置の構成についての説明である。
 次に、本実施の形態に係る画像符号化装置の動作を図12に示す動作フローチャートを用いて説明する。図12は、1マクロブロックの符号化を示している。図12に示すように、まず、シンボル発生確率算出部7は、シンボル発生確率格納部4が保持するシンボル発生確率の算出を行う(S150)。発生確率の算出の詳細は後で説明する。次に、2値化部3は、H.264規格に示される方法で多値信号の2値化を行う(S151)。
 次に、コンテキスト制御部5は、H.264規格に示される方法でコンテキスト制御を行う(S152)。ここでコンテキスト制御とは、符号化中のマクロブロックの周辺の情報、および、符号化するビット位置などによって、対応するシンボル発生確率をシンボル発生確率格納部4から読み出し、2値算術符号化器6に入力する処理である。次に、2値算術符号化器6は、H.264規格に示される方法により算術符号化を行う(S153)。
 算術符号化部1は、算術符号化の結果、更新されたシンボル発生確率をシンボル発生確率格納部4に格納する(S154)。さらに、算術符号化部1は、必要に応じて、シンボル発生確率格納部4からシンボル発生確率を出力する(S155)。シンボル発生確率の出力は後で説明する。
 次に、算術符号化部1は、マクロブロックの符号化が全て終了したかを判定する(S156)。符号化が終了している場合(S156でYes)、算術符号化部1は、処理を終了し、符号化が終了していない場合(S156でNo)、算術符号化部1は、再度2値化(S151)から処理を継続する。
 シンボル発生確率格納部4が保持するシンボル発生確率テーブルは、図4に示された実施の形態1に係るシンボル発生確率テーブルと同様であるので説明を省略する。
 図12のシンボル発生確率算出部7によるシンボル発生確率テーブルの算出(S150)について、図13を用いて説明する。
 まず、シンボル発生確率算出部7は、図13に示すように上のマクロブロックが存在するか判定する(S160)。上のマクロブロックが存在する場合(S160でYes)、次に、シンボル発生確率算出部7は、左のマクロブロックが存在するか判定する(S161)。左のマクロブロックが存在する場合(S161でYes)、左と上のマクロブロックが両方存在するので、シンボル発生確率算出部7は、上と左のマクロブロックのシンボル発生確率を平均化したシンボル発生確率を算出する(S162)。
 ここで、上のマクロブロックのシンボル発生確率をpStateIdxA、シンボルをvalMPSAとし、左のマクロブロックのシンボル発生確率をpStateIdxB、シンボルをvalMPSBとして、求めようとするマクロブロックのシンボル発生確率をpStateIdx、シンボルをvalMPSとした場合の平均の計算方法を式1に示す。
if (valMPSA == valMPSB) [
   pStateIdx = ( pStateIdxA + pStateIdxB ) / 2;
   valMPS = valMPSA;
] else [
   pStateIdx = ( - pStateIdxA + pStateIdxB ) / 2;
   valMPS = valMPSB;
   if (pStateIdx < 0) [
     pStateIdx = - pStateIdx;
     valMPS = valMPSA;
   ]
]
・・・(式1)
 式1に示すように、valMPSAとvalMPSBが同じ場合、シンボル発生確率算出部7は、pStateIdxAとpStateIdxBの算術平均を取得する。valMPSAとvalMPSBが異なる場合、シンボル発生確率算出部7は、擬似的にpStateIdxAを符号反転してから算術平均を取得する。
 シンボル発生確率算出部7は、このようにして、全てのインデックスに対してシンボル発生確率を算出する。そして、シンボル発生確率算出部7は、シンボル発生確率を算出することにより得られたシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む。
 左のマクロブロックが存在しない場合(S161でNo)、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S163)。
 上のマクロブロックが存在しない場合(S160でNo)、次に、シンボル発生確率算出部7は、左のマクロブロックが存在するかを判定する(S164)。左のマクロブロックが存在する場合(S164でYes)、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S165)。
 左のマクロブロックが存在しない場合(S164でNo)、上も左もマクロブロックが存在しない。そのため、算術符号化部1は、シンボル発生確率テーブルの初期化を行う(S166)。初期化は、H.264規格に示される方法で構わない。シンボル発生確率格納部4がシンボル発生確率テーブルの初期化を行ってもよいし、シンボル発生確率算出部7が初期化したシンボル発生確率テーブルを生成して、シンボル発生確率格納部4に書き込むことにより、シンボル発生確率テーブルの初期化を行ってもよい。
 次に、図12のシンボル発生確率格納部4によるシンボル発生確率テーブルの出力(S155)について、図14を用いて説明する。
 まず、算術符号化部1は、右又は下のマクロブロックがあるかを判定する(S170)。右又は下のマクロブロックがなければ(S170でNo)、算術符号化部1は、処理を終了する。右又は下のマクロブロックがあれば(S170でYes)、算術符号化部1は、マクロブロックの処理が終了したかを判定する(S171)。
 マクロブロックの処理が終了していなければ(S171でNo)、算術符号化部1は、処理を終了する。マクロブロックの処理が終了していれば(S171でYes)、算術符号化部1は、シンボル発生確率テーブルをシンボル発生確率格納部4から出力する(S172)。本実施の形態では、ほとんどのマクロブロックでシンボル発生確率テーブルの出力が必要である。したがって、算術符号化部1は、全てのマクロブロックでシンボル発生確率テーブルの出力を行うとしても構わない。
 これらの動作について図15A、図15Bおよび図15Cを用いて、ピクチャ全体から見た動作を説明する。図15A、図15Bに示すように、ピクチャは4つのスライスに分割され、スライスはさらに16x16画素からなるマクロブロックに分割されているとする。図15A、図15BのXはこれから処理しようとするマクロブロックの位置を示し、Aはその左側のマクロブロック、Bはその上側のマクロブロックを示している。
 本実施の形態において、スライス間の情報の参照が可能である。そのため、図15Aのように、スライスの境界をまたいでシンボル発生確率テーブルが算出される場合もあるし、図15Bのように、スライスの内部で、シンボル発生確率テーブルが算出される場合もある。なお、図15Cは、スライス内部のマクロブロックの処理の順序を示している。
 さらに詳細には、算術符号化部1は、図16に示すように、上側マクロブロックの処理終了時、すなわち、8x8画素単位に分割したサブブロック3の処理終了時(図16のB)に、シンボル発生確率テーブルを出力する。また、算術符号化部1は、左側マクロブロックの処理の終了時、すなわち、8x8画素単位に分割したサブブロック3の処理終了時(図16のA)に、シンボル発生確率テーブルを出力する。そして、算術符号化部1は、処理しようとするマクロブロックの処理開始時(図16のX)に、出力されたシンボル発生確率テーブルをシンボル発生確率格納部4に読み込むように動作する。
 以上が本実施の形態に係る画像符号化装置についての説明である。
 このように、本実施の形態に係る画像符号化装置は、各マクロブロックの先頭で、処理の順序ではなく、上および左という空間的に最も近いマクロブロックのシンボル発生確率を用いる。また、本実施の形態に係る画像符号化装置は、上および左から得られた2つのシンボル発生確率を平均化したシンボル発生確率を用いる。これにより、本実施の形態に係る画像符号化装置は、空間的に最も確からしいシンボル発生確率を用いることが可能となり、より高い符号化効率を実現することができる。
 なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
 また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
 また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
 特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
 (実施の形態4)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態3に係る画像符号化装置と比較して、シンボル発生確率テーブルが出力される位置と、出力されたシンボル発生確率テーブルが用いられる位置とが空間的により近くなる。これにより、符号化効率がさらに向上する。
 以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
 本実施の形態に係る画像符号化装置の構成は、実施の形態3と同様であるので、説明を省略する。
 本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態3に係る画像符号化装置の動作と同様であるが、シンボル発生確率算出(S150)およびシンボル発生確率出力(S155)が異なる。
 実施の形態3に係る画像符号化装置は、周辺マクロブロックの処理が終了した時点で出力されたシンボル発生確率テーブルを用いて、符号化対象マクロブロックを符号化していた。この場合、図16から明らかなように、8x8画素単位で見ると、空間的に近い位置ではない。そこで、本実施の形態に係る画像符号化装置は、より空間的に近い位置で更新されたシンボル発生確率テーブルを使用する。
 本実施の形態に係るシンボル発生確率出力(図12のS155)の動作を図18に示すフローチャートにそって説明する。図18に示すように、まず、算術符号化部1は、右のマクロブロックが存在するかを判定する(S180)。右のマクロブロックが存在する場合(S180でYes)、算術符号化部1は、さらにサブブロック1の処理が終了したかを判定する(S181)。
 サブブロック1の処理が終了している場合(S181でYes)、シンボル発生確率格納部4は、右マクロブロック用のシンボル発生確率テーブルを出力する(S182)。右のマクロブロックが存在しない場合(S180でNo)、または、サブブロック1の処理が終了していない場合(S181でNo)、算術符号化部1は、次の処理を実行する。
 次に、算術符号化部1は、下のマクロブロックが存在するかを判定する(S183)。下のマクロブロックが存在する場合(S183でYes)、算術符号化部1は、さらにサブブロック2の処理が終了したかを判定する(S184)。
 サブブロック2の処理が終了している場合(S184でYes)、シンボル発生確率格納部4は、下マクロブロック用のシンボル発生確率テーブルを出力する(S185)。下のマクロブロックが存在しない場合(S183でNo)、または、サブブロック2の処理が終了していない場合(S184でNo)、算術符号化部1は、処理を終了する。
 また、図12に示されたシンボル発生確率算出(S150)において、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルを使用する時、右マクロブロック用に出力されたシンボル発生確率テーブル(図18のS182)を使用する。また、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルを使用する時、下マクロブロック用に出力されたシンボル発生確率テーブル(図18のS185)を使用する。
 このような動作により、図19に示すように、8x8画素単位に分割された上側のマクロブロックのうち、サブブロック2(図19のB)の処理終了時に、シンボル発生確率テーブルが出力される。また、8x8画素単位に分割された左側のマクロブロックのうち、サブブロック1(図19のA)の処理終了時に、シンボル発生確率テーブルが出力される。
 そして、処理しようとするサブブロック(図19のX)の処理開始時に、シンボル発生確率算出部7は、出力された2つのシンボル発生確率テーブルを平均し、シンボル発生確率格納部4に書き込む。
 以上が、本実施の形態に係る画像符号化装置についての説明である。
 このように、本実施の形態に係る画像符号化装置は、マクロブロック単位の処理の終了時ではなく、8x8画素単位の処理の終了時のシンボル発生確率テーブルであって、空間的により近い位置のシンボル発生確率テーブルを用いて画像を符号化する。また、本実施の形態に係る画像符号化装置は、上側および左側から得られた2つのシンボル発生確率テーブルを平均化したシンボル発生確率テーブルを用いる。
 これにより、本実施の形態に係る画像符号化装置は、空間的に最も確からしいシンボル発生確率を用いることが可能となり、より高い符号化効率を実現することができる。
 なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
 また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
 また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
 特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
 また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
 (実施の形態5)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、シンボル発生確率テーブルを使用する空間的位置として左上のマクロブロックのシンボル発生確率テーブルを用いる。これにより、本実施の形態に係る画像符号化装置は、実施の形態3に係る画像符号化装置と比較して、空間的には同様に近い位置の情報を用いるが、処理の遅延を小さくすることができる。
 以上が本実施の形態に係る画像符号化装置の概要についての説明である。
 本実施の形態に係る画像符号化装置の構成は、実施の形態3と同様であるので、説明を省略する。
 次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態3に係る画像符号化装置の動作と同様であるが、シンボル発生確率算出(S150)が異なる。
 本実施の形態に係るシンボル発生確率の算出(図12のS150)の動作を図20に示されたフローチャートにそって説明する。図20に示すように、まず、算術符号化部1は、左上のマクロブロックが存在するかを判定する(S190)。左上のマクロブロックが存在する場合(S190でYes)、左のマクロブロックは必ず存在する。そのため、シンボル発生確率算出部7は、左上と左の2つのマクロブロックの2つのシンボル発生確率を平均することにより、新たなシンボル発生確率を算出し、算出されたシンボル発生確率をシンボル発生確率格納部4に書き込む(S191)。この時の、平均の方法は、実施の形態3で示す方法と同様である。
 左上のマクロブロックが存在しない場合(S190でNo)、算術符号化部1は、上のマクロブロックが存在するかを判定する(S192)。上のマクロブロックが存在する場合(S192でYes)、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む(S193)。
 上のマクロブロックが存在しない場合(S192でNo)、算術符号化部1は、左のマクロブロックが存在するかを判定する(S194)。上のマクロブロックが存在する場合(S194でYes)、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む(S195)。
 左のマクロブロックが存在しない場合(S194でNo)、左のマクロブロックも、上のマクロブロックも存在しない。そのため、算術符号化部1は、シンボル発生確率テーブルをH.264規格に定められた方法で初期化し、シンボル発生確率格納部4に書き込む(S196)。シンボル発生確率格納部4がシンボル発生確率テーブルの初期化を行ってもよいし、シンボル発生確率算出部7が初期化したシンボル発生確率テーブルを生成して、シンボル発生確率格納部4に書き込むことにより、シンボル発生確率テーブルの初期化を行ってもよい。
 このような動作により、図21に示すように、左上マクロブロックの処理終了時、すなわち、8x8画素単位に分割されたマクロブロックのサブブロック3(図21のB)の処理終了時に、シンボル発生確率テーブルが出力される。また、左側マクロブロックの処理の終了時、すなわち、8x8画素単位に分割されたマクロブロックのサブブロック3(図21のA)の処理終了時に、シンボル発生確率テーブルを出力する。処理しようとするマクロブロック(図21のX)の処理開始時に、シンボル発生確率算出部7は、出力された2つのシンボル発生確率テーブルを平均し、シンボル発生確率格納部4に書き込む。
 以上が本実施の形態に係る画像符号化装置の動作についての説明である。
 このように、本実施の形態に係る画像符号化装置は、上側のシンボル発生確率テーブルとして、左上のマクロブロックのマクロブロック終了時すなわちサブブロック3終了後のシンボル発生確率テーブルを用いる。画像は、通常左から右に処理されるため、本実施の形態に係る画像符号化装置は、より早く処理を開始することが可能となり、処理の遅延を削減することが可能となる。
 また、マクロブロックの処理終了後、すなわち、サブブロック3終了後のシンボル発生確率テーブルを用いる実施の形態3と比較すると、空間的には同じ距離で更新されたシンボル発生確率テーブルが用いられる。したがって、本実施の形態に係る画像符号化装置は、遅延を削減しつつ同様の符号化効率を実現することができる。
 なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
 また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
 また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
 特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
 また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
 (実施の形態6)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、左上のマクロブロックの処理終了後のシンボル発生確率テーブルと、左のマクロブロックのサブブロック1の処理終了後のシンボル発生確率テーブルとを用いる。これにより、本実施の形態に係る画像符号化装置は、実施の形態5に係る画像符号化装置と比較して、空間的により近い位置のシンボル発生確率テーブルを使用することにより、符号化効率を向上させる。
 以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
 本実施の形態に係る画像符号化装置の構成は、実施の形態5と同様であるので、説明を省略する。
 次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態5に係る画像符号化装置の動作と同様であるが、シンボル発生確率出力(S155)の処理内容が異なる。
 本実施の形態に係るシンボル発生確率出力(図12のS155)の動作を図22に示すフローチャートに沿って説明する。図22に示すように、まず、算術符号化部1は、右のマクロブロックが存在するかを判定する(S200)。
 右のマクロブロックが存在する場合(S200でYes)、さらに、算術符号化部1は、サブブロック1の処理が終了したかを判定する(S201)。サブブロック1の処理が終了している場合(S201でYes)、シンボル発生確率格納部4は、右マクロブロック用のシンボル発生確率テーブルを出力する(S202)。右のマクロブロックが存在しない場合(S200でNo)、または、サブブロック1の処理が終了していない場合(S201でNo)、算術符号化部1は、次の処理を実行する。
 次に、算術符号化部1は、下のマクロブロックが存在するかを判定する(S203)。下のマクロブロックが存在する場合(S203でYes)、さらに、算術符号化部1は、サブブロック3の処理が終了したかを判定する(S204)。サブブロック3の処理が終了している場合(S204でYes)、シンボル発生確率格納部4は、下マクロブロック用のシンボル発生確率テーブルを出力する(S205)。下のマクロブロックが存在しない場合(S203でNo)、または、サブブロック3の処理が終了していない場合(S204でNo)、処理を終了する。
 このような動作により、図23に示すように、8x8画素単位に分割された左上マクロブロックのサブブロック3(図23のB)の処理終了時に、シンボル発生確率テーブルが出力される。また、8x8画素単位に分割された左側マクロブロックのサブブロック1(図23のA)の処理終了時に、シンボル発生確率テーブルが出力される。
 そして、本実施の形態に係る画像符号化装置は、処理しようとするマクロブロック(図23のX)の処理開始時に、出力された2つのシンボル発生確率テーブルを平均することにより得られる新たなシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む。
 また、図12に示されたシンボル発生確率算出(S150)において、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルを使用する時、右マクロブロック用に出力されたシンボル発生確率テーブル(図22のS202)を使用する。また、シンボル発生確率算出部7は、上側のマクロブロックのシンボル発生確率テーブルを使用する時、下側マクロブロック用に出力されたシンボル発生確率テーブル(図22のS205)を使用する。
 以上が、本実施の形態に係る画像符号化装置の動作についての説明である。
 このように、本実施の形態に係る画像符号化装置は、実施の形態5と比較して、左側マクロブロックのうち、より空間的に近いサブブロック1の処理終了後のシンボル発生確率テーブルを左側のシンボル発生確率テーブルとして用いる。これにより、本実施の形態に係る画像符号化装置は、実施の形態5に係る画像符号化装置よりも高い符号化効率を実現することができる。
 なお、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
 また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
 また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
 特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
 また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
 (実施の形態7)
 本実施の形態に係る画像符号化装置の概要について説明する。これまでの実施の形態に係る画像符号化装置は、2つのシンボル発生確率テーブルから、新たなシンボル発生確率テーブルを算出する場合、算術平均を用いている。しかし、本実施の形態に係る画像符号化装置は、符号化すべきマクロブロックへの距離に応じて、より空間的に近いシンボル発生確率テーブルに重みをつける。これにより、本実施の形態では、実施の形態6よりも確からしいシンボル発生確率テーブルが使用される。したがって、符号化効率が向上する。
 以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
 本実施の形態に係る画像符号化装置の構成は、実施の形態6と同様であるので、説明を省略する。
 次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態6に係る画像符号化装置の動作と同様であるが、実施の形態6と比べると、シンボル発生確率算出(S150)の処理内容が異なる。さらに詳細には、図20に示された実施の形態6のシンボル発生確率算出(S150)の動作フローにおける左上と左のマクロブロックのシンボル発生確率を平均する処理(S191)が異なる。
 実施の形態6では、実施の形態3と同じく、式1に示す算術平均が用いられているが、本実施の形態では、式2に示す重み付きの平均が用いられる。式2において、pStateIdxAとvalMPSAとは、それぞれ、左上のマクロブロックのシンボル発生確率とシンボルとを示す。また、pStateIdxBとvalMPSBとは、それぞれ、左のマクロブロックのシンボル発生確率とシンボルとを示す。また、式2のaは、符号化対象マクロブロックの先頭であるサブブロック0と左上のマクロブロックのサブブロック3との空間的な距離を示す。式2のbは、符号化対象マクロブロックの先頭であるサブブロック0と左のマクロブロックのサブブロック1との空間的な距離を示す。pStateIdx、valMPSは、それぞれ、求めようとするマクロブロックのシンボル発生確率とシンボルとを示す。
if (valMPSA == valMPSB) [
   pStateIdx = ( pStateIdxA x b + pStateIdxB x a ) / (a + b);
   valMPS = valMPSA;
] else [
   pStateIdx = ( - pStateIdxA x b + pStateIdxB x a) / (a + b);
   valMPS = valMPSB;
   if (pStateIdx < 0) [
     pStateIdx = - pStateIdx;
     valMPS = valMPSA;
   ]
]
・・・(式2)
 式2に示すように、それぞれのシンボル発生確率が空間的な距離によって重み付けられる。図24に示すように、2つのサブブロックの間の距離は、例えば、サブブロックの中心位置に基づいて定められる。
 左上のマクロブロックのサブブロック3(図24中のB)と、符号化対象マクロブロックのサブブロック0(図24のX)との間の距離は、左のマクロブロックのサブブロック1(図24中のA)と符号化対象マクロブロックのサブブロック0(図24のX)との間の距離に比べて大きい。そのため、シンボル発生確率算出部7は、距離の大きさに比例してシンボル発生確率に対する影響を小さくするように、シンボル発生確率を算出する。
 以上が本実施の形態に係る画像符号化装置の動作についての説明である。
 このように、本実施の形態に係る画像符号化装置は、空間的な距離に従って重み付け平均を行う。これにより、空間的に近い位置のシンボル発生確率の寄与を大きく、遠い位置のシンボル発生確率の寄与を小さくする。したがって、シンボル発生確率テーブルがより確からしくなり、実施の形態6と比べ、より高い符号化効率が実現される。
 なお、本実施の形態において、実施の形態6に係るシンボル発生確率の算出処理に重み付け平均が適用される例が示されている。しかし、実施の形態3、4、5に係るシンボル発生確率の算出処理に重み付け平均が適用されてもよい。
 また、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
 また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
 また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
 特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
 また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
 (実施の形態8)
 本実施の形態に係る画像符号化装置の概要について説明する。実施の形態3に係る画像符号化装置は、シンボル発生確率テーブルを常に上と左のマクロブロックのシンボル発生確率テーブルを用いて算出している。この方法は、符号化効率の向上には有効である。一方で、実施の形態3に係る画像符号化装置は大量の上のマクロブロックのシンボル発生確率テーブルを保持する必要がある。本実施の形態に係る画像符号化装置は、上のマクロブロックのシンボル発生確率テーブルを使用する場合を制限することで、保持するシンボル発生確率テーブルを削減することができる。
 以上が、本実施の形態に係る画像符号化装置の概要についての説明である。
 本実施の形態に係る画像符号化装置の構成は、実施の形態3と同様であるので、説明を省略する。
 次に、本実施の形態に係る画像符号化装置の動作を説明する。本実施の形態に係る画像符号化装置の動作は、図12に示された実施の形態3に係る画像符号化装置の動作と同様であるが、実施の形態3と比較して、シンボル発生確率算出(S150)およびシンボル発生確率出力(S155)の処理内容が異なる。
 本実施の形態に係るシンボル発生確率算出(図12のS150)の動作について、図25を用いて説明する。まず、算術符号化部1は、マクロブロックの左上の画素の水平位置が64N(Nは自然数)であるかを判定する(S210)。水平位置が64Nである場合(S210でYes)、次に、算術符号化部1は、上のマクロブロックは存在するかどうかを判定する(S211)。上のマクロブロックが存在する場合(S211でYes)、次に、算術符号化部1は、左のマクロブロックが存在するかを判定する(S212)。
 左のマクロブロックが存在する場合(S212でYes)、水平位置が64Nであって、かつ、上と左のマクロブロックが存在する。この場合、シンボル発生確率算出部7は、上と左のマクロブロックから得られる2つのシンボル発生確率を式1にしたがって平均することにより、シンボル発生確率テーブルを算出する。そして、シンボル発生確率算出部7は、算出されたシンボル発生確率テーブルをシンボル発生確率格納部4に書き込む(S213)。
 次に、左のマクロブロックが存在しない場合(S212でNo)、水平位置が64Nであって、かつ、上のマクロブロックのみが存在する。この場合、シンボル発生確率算出部7は、上のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S214)。
 また、水平位置が64Nではない場合(S210でNo)、または、上のマクロブロックが存在しない場合(S211でNo)、算術符号化部1は、左のマクロブロックが存在するかを判定する(S215)。左のマクロブロックが存在する場合(S215でYes)、シンボル発生確率算出部7は、左のマクロブロックのシンボル発生確率テーブルをそのままシンボル発生確率格納部4に書き込む(S216)。
 左のマクロブロックが存在しない場合(S215でNo)、上も左もマクロブロックが存在しない。この場合、算術符号化部1は、シンボル発生確率テーブルの初期化を行う(S217)。初期化は、H.264規格に示される方法で構わない。シンボル発生確率格納部4がシンボル発生確率テーブルの初期化を行ってもよいし、シンボル発生確率算出部7が初期化したシンボル発生確率テーブルを生成して、シンボル発生確率格納部4に書き込むことにより、シンボル発生確率テーブルの初期化を行ってもよい。
 本実施の形態に係るシンボル発生確率出力(図12のS155)の動作を図26に示すフローチャートにそって説明する。図26に示すように、まず、算術符号化部1は、マクロブロックの左上の画素の水平位置が64N(Nは自然数)であるかを判定する(S220)。水平位置が64Nである場合(S220でYes)、算術符号化部1は、右又は下のマクロブロックが存在するかどうかを判定する(S221)。右又は下のマクロブロックが存在しない場合(S221でNo)、算術符号化部1は、処理を終了する。
 水平位置が64Nでない場合(S220でNo)、算術符号化部1は、右のマクロブロックが存在するかを判定する(S222)。右のマクロブロックが存在しない場合(S222でNo)、算術符号化部1は、処理を終了する。
 水平位置が64Nであって、右又は下のマクロブロックが存在する場合(S221でYes)、または、水平位置が64Nではなく、右のマクロブロックが存在する場合(S222でYes)、算術符号化部1は、マクロブロックの処理が終了しているかを判定する(S223)。マクロブロックの処理が終了していない場合(S223でNo)、算術符号化部1は、処理を終了する。マクロブロックの処理が終了している場合(S223でYes)、算術符号化部1は、シンボル発生確率テーブルを出力する(S224)。
 これらの動作について図27Aを用いて、ピクチャ全体から見た動作を説明する。図27Aに示すように、ピクチャは4つのスライスに分割され、スライスはさらに16x16画素からなるマクロブロックに分割されている。図27Aの斜線部のマクロブロックでは、上のマクロブロックのシンボル発生確率テーブルを使用してシンボル発生確率テーブルが算出されるマクロブロックを示している。ピクチャの上端のマクロブロックでは、それより上のマクロブロックがないため、上のマクロブロックのシンボル発生確率テーブルが使用できない。それ以外のマクロブロックについては、水平方向に4マクロブロック毎に1度、上のマクロブロックが使用される。
 この時、図27Bに示すように、算術符号化部1がスライス0を処理し、算術符号化部2がスライス1を処理する場合、算術符号化部1は、スライス0を処理後、スライス2の処理を開始する。マクロブロックの番号は、算術符号化部1および算術符号化部2が処理する順序を示している。この時、スライス2のマクロブロック42を算術符号化部1が処理するためには、スライス1のマクロブロック5のシンボル発生確率テーブルが必要である。つまり、算術符号化部2は、スライス1を処理している間、スライス1のマクロブロック5を左端とする水平方向のシンボル発生確率テーブルを保持しておかなければならない。本実施の形態において、保持されるシンボル発生確率テーブルが、4マクロブロック毎に1度に削減されることにより、1/4に削減される。
 また、算術符号化部1と算術符号化部2との間で、シンボル発生確率テーブルを交換しなければならない場合は、スライスをまたぐ場合だけである。そのため、図28に示すように、スライスの境界においては、4マクロブロックに1回のみ、上のマクロブロックのシンボル発生確率テーブルが使用され、スライスの内部においては、常に、上のマクロブロックのシンボル発生確率テーブルが使用されてもよい。
 以上が、本実施の形態に係る画像符号化装置の動作についての説明である。
 このように、本実施の形態に係る画像符号化装置は、上のマクロブロックのシンボル発生確率テーブルの使用を水平方向に4マクロブロックに1度に制限する。これにより、本実施の形態に係る画像符号化装置は、空間的に近い位置のシンボル発生確率テーブルを使用して、符号化効率を高めると共に、保持するシンボル発生確率テーブルを削減することが可能となる。
 なお、本実施の形態において、実施の形態7と同様に、重み付け平均が適用されてもよい。
 また、本実施の形態に係る画像符号化装置は、必ずしも画像がスライスに分割されている必要はなく、図17Aに示すように、画像がスライスに分割されていない場合にも、より適切な確率を用いることができる。
 また、図17Bに示すように、本実施の形態に係る画像符号化装置は、スライス内部のみのためのシンボル発生確率テーブルを使用してもよい。すなわち、符号化対象マクロブロックがスライス境界に隣接する場合であっても、符号化対象マクロブロックがピクチャの端にある場合と同様に、本実施の形態に係る画像符号化装置は、他のスライスの符号化に用いられるシンボル発生確率テーブルを使用しなくてもよい。
 また、図17Cに示すように、本実施の形態に係る画像符号化装置は、H.264規格などで使用されているラスター順の符号化順序でも、より適切な確率を用いることができる。
 特に、図17Cに示すように、画像がラスター順で符号化され、かつ、図17Aに示すように、画像の左端のマクロブロックXの符号化に、空間的に近いマクロブロックBで更新されたシンボル発生確率テーブルが用いられることにより、符号化効率が向上する。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。マクロブロックのさらに細かいサブブロックについても、2x2画素、または、4x4画素などのどのような単位であっても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化が示されたが、復号についても、この動作を逆に行うことで実現することが可能であることはいうまでもない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、画像符号化装置は、pStateIdxをシンボル発生確率の演算に用いた。しかし、pStateIdxは、実際のシンボル発生確率に線形に対応しているわけではない。そのため、画像符号化装置は、pStateIdxを実際のシンボル発生確率に変換してから演算を行い、再度pStateIdxに変換してもよい。あるいは、画像符号化装置は、2つのpStateIdxの値の組み合わせごとにシンボル発生確率を算出するテーブルを用いてシンボル発生確率を算出してもよい。
 また、本実施の形態において、シンボル発生確率は、マクロブロックの先頭で算出されているが、8x8ブロックなどさらに細かい単位で、それぞれ、シンボル発生確率が算出されてもよい。
 また、本実施の形態において、上側のマクロブロックのシンボル発生確率テーブルは、4マクロブロックに1回、用いられているが、2マクロブロック、または、8マクロブロックに1回など、どのようなマクロブロック毎に用いられてもよい。上側を用いるか否かは、符号化対象マクロブロックの空間的な位置に基づいて定められてもよいし、その他の条件で定められてもよい。
 (実施の形態9)
 本実施の形態に係る画像符号化装置の概要について説明する。本実施の形態に係る画像符号化装置は、実施の形態1で説明した算術符号化に画素符号化を組み合わせた画像符号化装置である。
 以上が、本実施の形態の画像符号化装置の概要についての説明である。
 次に、本実施の形態の画像符号化装置の構成を説明する。本実施の形態の画像符号化装置の構成を図29に示す。本実施の形態の画像符号化装置は、フレームメモリ23、画素符号化部21、22、算術符号化部1、2、周辺情報メモリ34、ビットストリームバッファ24、25を備える。
 フレームメモリ23は、入力画像および局所復号画像を格納する。画素符号化部21、22は、フレームメモリの画像の一部を切り出し符号化する。算術符号化部1、2は、算術符号化処理を行う。周辺情報メモリ34は、符号化に使用する周辺マクロブロックの情報を格納する。ビットストリームバッファ24、25は、算術符号化された符号化ビットストリームを格納する。
 算術符号化部1および算術符号化部2の内部の構成は、図2に示された実施の形態1に係る構成と同様であるので、説明を省略する。
 図30は、本実施の形態の画素符号化部21の構成図である。図29と同じ構成要素については説明を省略する。画素符号化部21は、動き検出部35、動き補償部36、面内予測部26、差分計算部28、周波数変換部29、量子化部30、逆量子化部31、逆周波数変換部32、再構成部33およびデブロックフィルタ部27を備える。動き検出部35は、動き検出を行う。
 動き補償部36は、動き検出によって得られた動きベクトルを元に動き補償を行って予測画像を生成する。面内予測部26は、面内予測を行い、予測画像を生成する。差分計算部28は、入力画像と予測画像の差分を生成する。周波数変換部29は、周波数変換を行う。量子化部30は、生成符号量に応じて目標ビットレートに合うように量子化を行う。逆量子化部31は、逆量子化を行う。逆周波数変換部32は、逆周波数変換を行う。再構成部33は、予測画像と逆周波数変換結果から再構成を行う。デブロックフィルタ部27は、再構成した復号結果にデブロックフィルタ処理を行う。
 なお、画素符号化部22については、画素符号化部21と同様であるので図30では記載を省略している。
 以上が、本実施の形態の画像符号化装置についての説明である。
 次に、本実施の形態の画像符号化装置の動作について説明する。
 図31は、図29の画素符号化部21で行う画素符号化処理を示すフローチャートである。
 まず、動き検出部35は、以前に局所復号したピクチャと、符号化するマクロブロックの最も相関の高い部分を検出する。そして、動き補償部36で予測画像を生成する(S611)。
 次に、面内予測部26は、面内予測処理のために、周辺情報メモリをチェックする(S001)。周辺情報チェック(S001)の処理は、周辺情報メモリ34に面内予測処理に必要な情報が格納されているかを判別する処理である。面内予測部26は、図32に示す周辺のマクロブロックの画像を用いて面内予測画像を生成する(S612)。
 次に、差分計算部28は、動き検出によるインターMBと、面内予測によるイントラMBのどちらの符号量が小さくなるかを判定する。そして、差分計算部28は、符号化モードを決定し、予測画像と符号化するマクロブロックの差分データを算出する(S613)。
 インターMBの場合(S614でYes)、差分計算部28は、周辺情報をチェックする(S001)。S001の周辺情報チェックの処理は、周辺情報メモリ34に差分動きベクトル計算に必要な情報が格納されているかを判別する処理である。
 差分動きベクトルに必要なデータが周辺情報メモリ34にあれば、差分計算部28は、差分動きベクトルの計算を行う(S615)。差分動きベクトルの計算は、図33に示されたmvdを算出すればよい。
 差分計算部28は、差分動きベクトルの計算が終わると、決定した動きベクトルを周辺情報メモリ34に書き込むために、周辺情報書き込みの処理を行う(S002)。周辺情報書き込みの処理は、周辺情報メモリ34に空き領域があれば、書き込みを行い、空き領域がなければ、空き領域ができるまでウェイトする処理である。
 次に、周波数変換部29は、差分計算部28で算出した差分データの周波数変換を行う(S616)。
 量子化部30は、周波数変換したデータの量子化処理を行う(S617)。この時、量子化部30は、算術符号化部1により算出された生成符号量から量子化パラメータを決定し、量子化処理を行う。
 生成符号量が、あらかじめ決められた目標符号量に比べて大きくなることが予想される場合、量子化部30は、量子化幅を大きくして、生成符号量を下げる。生成符号量が、目標符号量に比べて小さくなることが予想される場合、量子化部30は、量子化幅を小さくして、生成符号量を大きくする。量子化部30は、このようなフィードバック制御により目標符号量に近づくように制御される。
 ここで、符号化ストリーム生成のための画素符号化部21で行う画素符号化処理は、完了するが、参照画像を画像復号装置側と一致させるために、局所復号処理が必要である。次に、局所復号処理について説明する。
 局所復号では、まず、逆量子化部31が、逆量子化処理を行う(S618)。
 次に、逆周波数変換部32は、逆周波数変換を行う(S619)。
 インターMBの場合、再構成部33は、逆周波数変換されたデータと、動き補償部36が生成した参照画像とから再構成処理を行う(S620)。イントラMBの場合、再構成部33は、逆周波数変換されたデータと、面内予測部26が生成した参照画像とから再構成処理を行う(S620)。
 再構成部33は、再構成処理が終わると、次のマクロブロックの面内予測処理を行うために、周辺情報の書き込み処理を行う(S002)。周辺情報書き込みの処理は、周辺情報メモリ34に空き領域があれば、書き込みを行い、空き領域がなければ、空き領域ができるまでウェイトする処理である。
 次に、デブロックフィルタ部27は、デブロックフィルタのための周辺情報のチェックを行う(S001)。周辺情報チェック(S001)の処理は、周辺情報メモリ34にデブロックフィルタに必要な情報が格納されているかを判別する処理である。
 処理に必要な周辺情報があれば、デブロックフィルタ部27は、デブロックフィルタの処理を行い、結果をフレームメモリ23に格納する(S621)。
 デブロックフィルタ部27は、デブロックフィルタの処理が終わると、周辺情報書き込みの処理を行う(S002)。そして、画素符号化部21は、画素符号化処理を完了する。周辺情報書き込みの処理は、周辺情報メモリ34に空き領域があれば、書き込みを行い、空き領域がなければ、空き領域ができるまでウェイトする処理である。
 画素符号化部22の処理は画素符号化部21と同様であるので省略する。
 また、算術符号化部1、2の処理は、実施の形態1と同様であるので説明を省略する。
 以上が本実施の形態の画像符号化装置の動作についての説明である。
 このように、本実施の形態の画像符号化装置は、算術符号化と画素符号化とを組み合わせることができる。
 なお、本実施の形態において、算術符号化を実現するための形態は、上述に示された複数の実施の形態のいずれの形態でも構わない。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、データを記憶するための記憶部は、メモリあるいはバッファとして示されているが、どのような構成のメモリであってもよいし、フリップフロップまたはハードディスクといった異なる方式の記憶手段であってもよい。
 また、本実施の形態に係る画像符号化装置は、ハードウェア回路として実現されても良いし、プロセッサ上のソフトウェアとして実現されても良い。また、本実施の形態に係る画像符号化装置は、複数のプロセッサ上に実現されても構わないし、1つのプロセッサ上に実現されても構わない。
 また、本実施の形態に係る画像符号化装置は、2つのビットストリームバッファ24、25を備えている。別の処理部は、2つのビットストリームバッファ24、25から2つのビットストリームを読み出して、1つのビットストリームに変換しても良い。また、システムエンコーダが、2つのビットストリームバッファ24、25から1つのビットストリームになるようにデータを読み出しても構わない。
 (実施の形態10)
 本実施の形態に係る画像復号装置の概要について説明する。本実施の形態に係る画像復号装置は、実施の形態9で説明した画像符号化装置に対応した画像復号装置である。
 以上が、本実施の形態の画像復号装置の概要についての説明である。
 次に、本実施の形態の画像復号装置の構成を説明する。
 図34は、本実施の形態の画像復号装置の構成図である。本実施の形態の画像復号装置は、ビットストリームバッファ44、算術復号部40、41、画素復号部42、43、周辺情報メモリ46およびフレームメモリ45を備える。ビットストリームバッファ44は、符号化ビットストリームを格納する。算術復号部40、41は、算術復号処理を行う。画素復号部42、43は、画素データを復号する。周辺情報メモリ46は、符号化に使用する周辺マクロブロックの情報を格納する。フレームメモリ45は、復号画像を格納する。
 図35は、図34における算術復号部40の内部構成図である。算術復号部40は、シンボル発生確率格納部47、コンテキスト制御部48、2値算術復号器49および逆2値化部50を備える。シンボル発生確率格納部47は、シンボルの発生確率を保持する。コンテキスト制御部48は、シンボル発生確率格納部47に格納されているどのシンボル発生確率を使用するかを決定し、シンボル発生確率格納部47からシンボル発生確率を読み出す。2値算術復号器49は、算術復号を行う。逆2値化部50は、2値信号を多値信号に変換する。
 算術復号部41は算術復号部40と同様であるので説明を省略する。
 図36は、本実施の形態の画素復号部42の構成図である。図34および図35と同じ構成要素については説明を省略する。画素復号部42は、逆量子化部51、逆周波数変換部52、再構成部53、面内予測部54、動きベクトル計算部55、動き補償部56およびデブロックフィルタ部57を備える。
 逆量子化部51は、逆量子化処理を行う。逆周波数変換部52は、逆周波数変換処理を行う。再構成部53は、逆周波数変換処理されたデータと動き補償又は面内予測された予測データから画像を復元する。
 面内予測部54は、面内の上および左から予測データを生成する。動きベクトル計算部55は、動きベクトルを計算する。動き補償部56は、動きベクトルが指す位置の参照画像を取得し、フィルタ処理することによって予測データを生成する。デブロックフィルタ部57は、再構成処理された画像データにブロックノイズを低減するフィルタ処理を行う。
 なお、画素復号部43の内部については、画素復号部42と同様であるので図36では記載を省略している。
 以上が本実施の形態の画像復号装置の構成についての説明である。
 次に、本実施の形態の画像復号装置の動作について説明する。
 図37は、図34および図35に示した算術復号部の動作を示すフローチャートである。図37は、1マクロブロックの復号を示している。
 図37に示すように、本実施の形態の算術復号部40は、まずシンボル発生確率格納部47が保持するシンボル発生確率の初期化を行う(S700)。発生確率の初期化は、図3に示せれた実施の形態1に係るシンボル発生確率初期化(S100)と同様であるので、説明を省略する。
 次に、コンテキスト制御部48は、H.264規格に示される方法でコンテキスト制御を行う(S701)。ここでコンテキスト制御とは、復号中のマクロブロックの周辺の情報、および、復号するビット位置などによって、対応するシンボル発生確率をシンボル発生確率格納部47から読み出し、2値算術復号器49に入力する処理である。次に、2値算術復号器49は、H.264規格に示される方法により算術復号を行う(S702)。
 コンテキスト制御部48は、算術復号の結果、更新されたシンボル発生確率をシンボル発生確率格納部47に格納する(S703)。次に、逆2値化部50は、H.264規格に示される方法で2値信号の多値化を行う(S704)。
 さらに、算術復号部40は、必要に応じて、シンボル発生確率格納部47からシンボル発生確率を出力する(S705)。シンボル発生確率の出力は、図3に示された実施の形態1に係るシンボル発生確率出力(S105)と同様であるので説明を省略する。
 次に、算術復号部40は、マクロブロックの復号が全て終了したかを判定する(S706)。マクロブロックの復号が終了している場合(S706でYes)、算術復号部40は、処理を終了する。マクロブロックの復号が終了していない場合(S706でNo)、算術復号部40は、再度コンテキスト制御(S701)から処理を継続する。
 次に、図34および図36に示された画素復号部42の動作について、図38および図39に示すフローチャートを用いて説明する。
 まず、逆量子化部51は、算術復号部40から入力されたデータを逆量子化する(S710)。次に、逆周波数変換部52は、逆量子化されたデータを逆周波数変換する(S711)。
 次に、デコードするマクロブロックがインターMBである場合(S712でYes)、動きベクトル計算部55は、周辺情報メモリ46に動きベクトル計算に必要な情報があるかどうかをチェックする(S001)。動きベクトル計算に必要な情報がなければ、動きベクトル計算部55は、周辺情報メモリ46に必要な情報が書き込まれるまでウェイトする。
 必要な情報があれば、動きベクトル計算部55は、その情報を用いて動きベクトルの演算を行う(S713)。
 動きベクトルの演算の概略を図33に示す。動きベクトルmvは、周辺マクロブロックの動きベクトルmvA、mvBおよびmvCの中間値から予測動きベクトル値mvpを算出し、ストリーム中の差分動きベクトル値mvdと加算することによって得られる。
 動きベクトル計算が終わると、動きベクトル計算部55は、周辺情報メモリ46に空き領域があるかチェックする(S002)。空き領域があれば、動きベクトル計算部55は、周辺情報メモリ46に算出した動きベクトルを書き込み、なければウェイトする。
 動き補償部56は、算出した動きベクトルを用いてフレームメモリ45から参照画像を取得し、フィルタ処理などの動き補償演算を行う(S714)。
 デコードするマクロブロックがイントラMB(面内予測MB)である場合(S712でNo)、面内予測部54は、周辺情報メモリ46に面内予測の計算に必要な情報があるかどうかをチェックする(S001)。面内予測の計算に必要な情報がなければ、面内予測部54は、周辺情報メモリ46に必要な情報が書き込まれるまでウェイトする。
 必要な情報があれば、面内予測部54は、その情報を用いて面内予測の演算を行う(S715)。面内予測の演算には、周辺情報として、面内予測モードにもよるが、図32に示すようにnA、nB、nCおよびnDの再構成処理後の画素データが必要になる。必要な情報が周辺情報メモリ46にあれば、面内予測部54は、面内予測の演算を行う(S715)。
 動き補償(S714)又は面内予測(S715)の処理が終わると、再構成部53は、それらによって生成された予測画像データと逆周波数変換した差分データを加算し(S716)、再構成画像を得る。
 次に、再構成部53は、周辺情報メモリ46に空き領域があるかチェックする(S002)。空き領域があれば、再構成部53は、再構成処理(S716)で生成した再構成画像を周辺情報メモリ46に書き込み、なければウェイトする。
 次に、デブロックフィルタ部57は、周辺情報メモリ46にデブロックフィルタ処理に必要なデータがあるかどうかをチェックする(S001)。デブロックフィルタ処理に必要なデータがなければ、デブロックフィルタ部57は、周辺情報メモリ46に必要なデータが書き込まれるまでウェイトする。
 必要なデータがあれば、デブロックフィルタ部57は、そのデータを用いて、デブロックフィルタ処理(S717)を行い、フレームメモリ45に復号画像を書き込む。
 デブロックフィルタ処理が終わると、デブロックフィルタ部57は、周辺情報メモリ46に空き領域があるかチェックする(S002)。空き領域があれば、デブロックフィルタ部57は、周辺情報メモリ46に算出したデブロックフィルタ結果を書き込み、画素復号部42は、処理を終了する。
 画素復号部43の動作は画素復号部42の動作と同様であるので省略する。
 以上が本実施の形態の画像復号装置の動作についての説明である。
 このように、本実施の形態の画像復号装置は、算術符号化と画素符号化とを組み合わせることができる。
 なお、本実施の形態に係る画像復号装置は、上述の複数の実施の形態に示されたいずれの算術符号化に対応してもよい。
 また、本実施の形態において、H.264規格に示される算術符号化方法が適用されている。しかし、シンボル発生確率テーブル、あるいは、それに類する画像に応じて適応的に更新するデータを用いた符号化であれば、どのような方法が適用されてもよい。
 また、本実施の形態において、画像符号化装置は、画像を16x16画素からなるマクロブロック単位に処理している。しかし、画像符号化装置は、8x8画素、32x32画素、あるいは、64x16画素などの単位で画像を処理しても構わない。
 また、本実施の形態において、スライス内部をジグザグの順序で符号化するような例が示されている。しかし、符号化順は、H.264規格に示されるラスター順であってもよいし、どのような順序であっても構わない。
 また、本実施の形態において、符号化は、H.264規格に基づいているが、同様の他の規格に基づいていてもよい。
 また、本実施の形態において、データを記憶するための記憶部は、メモリあるいはバッファとして示されているが、どのような構成のメモリであってもよいし、フリップフロップまたはハードディスクといった異なる方式の記憶手段であってもよい。
 また、本実施の形態に係る画像符号化装置は、ハードウェア回路として実現されても良いし、プロセッサ上のソフトウェアとして実現されても良い。また、本実施の形態に係る画像符号化装置は、複数のプロセッサ上に実現されても構わないし、1つのプロセッサ上に実現されても構わない。
 以上、本発明に係る画像符号化装置および画像復号装置について、複数の実施の形態に基づいて説明したが、本発明はこれらの実施の形態に限定されるものではない。これらの実施の形態に対して当業者が思いつく変形を施して得られる形態、および、これらの実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
 例えば、特定の処理部が実行する処理を別の処理部が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
 また、本発明は、画像符号化装置または画像復号装置として実現できるだけでなく、画像符号化装置または画像復号装置を構成する処理手段をステップとする方法として実現できる。そして、本発明は、それらの方法に含まれるステップをコンピュータに実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD-ROM等のコンピュータ読み取り可能な記録媒体として実現できる。
 また、上述の複数の実施の形態において、画像は、複数のスライスに分割されているが、より一般的な領域に分割されていてもよい。
 また、上述の複数の実施の形態において、シンボル発生確率テーブルを用いる算術符号化が示されているが、本発明に係る画像符号化装置は、シンボル発生確率テーブル以外の確率情報を用いて、算術符号化以外の符号化方法により、画像を符号化してもよい。
 (実施の形態11)
 図40Aは、本実施の形態に係る画像符号化装置の構成を示す構成図である。図40Aに示された画像符号化装置60は、第1の符号化部61、および、第2の符号化部62を備える。第1の符号化部61は、上述の複数の実施の形態に示された算術符号化部1に相当する。第2の符号化部62は、上述の複数の実施の形態に示された算術符号化部2に相当する。そして、画像符号化装置60は、複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する。
 図40Bは、図40Aに示された画像符号化装置の動作を示すフローチャートである。
 まず、第1の符号化部61は、複数の領域のうちの第1の領域に含まれるブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する(S811)。また、符号化の際、第1の符号化部61は、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて第1の確率情報を更新する。
 次に、第2の符号化部62は、複数の領域のうち、第1の領域とは異なる第2の領域に含まれるブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する(S812)。また、符号化の際、第2の符号化部62は、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて第2の確率情報を更新する。
 さらに、第2の符号化部62は、最初の符号化対象ブロックを符号化する前に、第1の符号化部61で更新した第1の確率情報で第2の確率情報を更新する。
 これにより、符号化に用いられる確率情報が、画像の領域の先頭で、画像の特性に応じて、更新される。したがって、符号化効率が向上する。
 図41Aは、本実施の形態に係る画像復号装置の構成を示す構成図である。図41Aに示された画像復号装置70は、第1の復号部71、および、第2の復号部72を備える。第1の復号部71は、実施の形態10に示された算術復号部40に相当する。第2の復号部72は、実施の形態10に示された算術復号部41に相当する。そして、画像復号装置70は、複数のブロックをそれぞれ含む複数の領域を有する画像を復号する。
 図41Bは、図41Aに示された画像復号装置の動作を示すフローチャートである。
 まず、第1の復号部71は、複数の領域のうちの第1の領域に含まれるブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する(S821)。また、復号の際、第1の復号部71は、復号対象ブロックを復号した後、次の復号対象ブロックを復号する前に、復号対象ブロックのデータに依存させて第1の確率情報を更新する。
 次に、第2の復号部72は、複数の領域のうち、第1の領域とは異なる第2の領域に含まれるブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する(S822)。また、復号の際、第2の復号部72は、復号対象ブロックを復号した後、次の復号対象ブロックを復号する前に、復号対象ブロックのデータに依存させて第2の確率情報を更新する。
 さらに、第2の復号部72は、最初の復号対象ブロックを復号する前に、第1の復号部71で更新した第1の確率情報で第2の確率情報を更新する。
 これにより、本実施の形態に係る画像復号装置は、本実施の形態に係る画像符号化装置に対応して、画像を復号できる。
 (実施の形態12)
 図42Aは、本実施の形態に係る画像符号化装置の構成を示す構成図である。図42Aに示された画像符号化装置60は、符号化部63を備える。符号化部63は、上述の複数の実施の形態に示された算術符号化部1または算術符号化部2に相当する。そして、画像符号化装置60は、複数のブロックを有する画像を符号化する。
 図42Bは、図42Aに示された画像符号化装置の動作を示すフローチャートである。
 符号化部63は、複数のブロックを、データの生起確率を示す確率情報を用いて、符号化する(S831)。また、符号化部63は、符号化対象ブロックを符号化した後、次の符号化対象ブロックを符号化する前に、符号化対象ブロックのデータに依存させて確率情報を更新する。また、符号化部63は、符号化対象ブロックの上側に隣接するブロックのデータに依存させて更新した確率情報を用いて、符号化対象ブロックを符号化する。
 これにより、ブロックが、空間的に近い上側のブロックで更新された確率情報に依存して、符号化される。したがって、符号化効率がより向上する。
 図43Aは、本実施の形態に係る画像復号装置の構成を示す構成図である。図43Aに示された画像復号装置70は、復号部73を備える。復号部73は、実施の形態10に示された算術復号部40または算術復号部41に相当する。そして、画像復号装置70は、複数のブロックを有する画像を復号する。
 図43Bは、図43Aに示された画像復号装置の動作を示すフローチャートである。
 復号部73は、複数のブロックを、データの生起確率を示す確率情報を用いて、復号する(S841)。また、復号部73は、復号対象ブロックを復号した後、次の復号対象ブロックを復号する前に、復号対象ブロックのデータに依存させて確率情報を更新する。また、復号部73は、復号対象ブロックの上側に隣接するブロックのデータに依存させて更新した確率情報を用いて、復号対象ブロックを復号する。
 これにより、本実施の形態に係る画像復号装置は、本実施の形態に係る画像符号化装置に対応して、画像を復号できる。
 図44Aは、本実施の形態の変形例に係る画像符号化装置の構成を示す構成図である。図44Aに示された画像符号化装置60は、算出部64をさらに備える。算出部64は、上述の複数の実施の形態に示されたシンボル発生確率算出部7に相当する。
 図44Bは、図44Aに示された画像符号化装置の動作を示すフローチャートである。
 算出部64は、符号化対象ブロックの上側のブロックのデータに依存させて更新した確率情報と、符号化対象ブロックの真左のブロックのデータに依存させて更新した確率情報とから、符号化対象ブロックの符号化に用いられる確率情報を算出する(S851)。
 符号化部63は、算出部64で算出された確率情報を用いて、符号化対象ブロックを符号化する(S852)。
 これにより、ブロックが、複数の確率情報に基づいて、符号化される。したがって、符号化効率がより向上する。
 図45Aは、本実施の形態の変形例に係る画像復号装置の構成を示す構成図である。図45Aに示された画像復号装置70は、算出部74をさらに備える。算出部74は、上述の複数の実施の形態に示されたシンボル発生確率算出部7に相当する。
 図45Bは、図45Aに示された画像復号装置の動作を示すフローチャートである。
 算出部74は、復号対象ブロックの上側のブロックのデータに依存させて更新した確率情報と、復号対象ブロックの真左のブロックのデータに依存させて更新した確率情報とから、復号対象ブロックの復号に用いられる確率情報を算出する(S861)。
 復号部73は、算出部74で算出された確率情報を用いて、復号対象ブロックを復号する(S862)。
 これにより、本実施の形態の変形例に係る画像復号装置は、本実施の形態の変形例に係る画像符号化装置に対応して、画像を復号できる。
 (実施の形態13)
 上記各実施の形態で示した画像符号化方法および画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらに、ここで、上記各実施の形態で示した画像符号化方法および画像復号方法の応用例とそれを用いたシステムを説明する。
 図46は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106~ex110が設置されている。
 このコンテンツ供給システムex100では、電話網ex104、および、基地局ex106~ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が相互に接続される。また、各機器が、インターネットサービスプロバイダex102を介して、インターネットex101に接続されている。
 しかし、コンテンツ供給システムex100は、図46のような構成に限定されず、いずれかの要素を組み合せて接続するようにしてもよい。また、固定無線局である基地局ex106~ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
 カメラex113は、デジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116は、デジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、LTE(Long Term Evolution)方式、若しくは、HSPA(High Speed Packet Access)方式の携帯電話、または、PHS(Personal Handyphone System)等であり、いずれでも構わない。
 コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して、上記各実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は、要求のあったクライアントに対して、送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
 なお、撮影したデータの符号化処理は、カメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理は、クライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理は、カメラex116、コンピュータex111およびストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化処理および復号処理は、一般的にコンピュータex111および各機器が有するLSI(Large Scale Integration)ex500において実行される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用のソフトウェアまたは画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理または復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画像データを送信してもよい。このときの動画像データは、携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は、複数のサーバまたは複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利および設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図47に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも画像符号化装置または画像復号装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像情報のビットストリームが電波を介して通信または衛星ex202に伝送される。このビットストリームは、上記各実施の形態で説明した画像符号化方法により符号化された符号化ビットストリームである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信したビットストリームを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号して再生する。
 また、記録媒体であるCDおよびDVD等の記録メディアex214に記録したビットストリームを読み取り、復号する再生装置ex212にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex213に表示される。
 また、DVD、BD等の記録メディアex215に記録した符号化ビットストリームを読み取り復号する、または、記録メディアex215に映像信号を符号化し書き込むリーダ/レコーダex218にも上記各実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、符号化ビットストリームが記録された記録メディアex215により他の装置およびシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
 図48は、上記各実施の形態で説明した画像復号方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得または出力するチューナex301と、受信した符号化データを復調する、または外部に送信する符号化データに変調する変調/復調部ex302と、復調した映像データ、音声データを分離する、または符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
 また、テレビex300は、音声データ、映像データそれぞれを復号する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号した音声信号を出力するスピーカex307、復号した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。
 インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお、記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。
 テレビex300の各部は、同期バスを介して互いに接続されている。
 まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。
 次に、テレビex300が音声信号および映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。
 なお、バッファex318~ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302および多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送および記録メディア等から音声データおよび映像データを取得する以外に、マイクおよびカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または、書き込む場合には、上記復号処理または符号化処理はテレビex300とリーダ/レコーダex218とのいずれで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図49に示す。情報再生/記録部ex400は、以下に説明する要素ex401~ex407を備える。
 光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は、記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。
 システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しおよび書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成および追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
 以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図50に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録および再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。
 情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
 以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
 また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図48に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
 このように、上記各実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器またはシステムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態14)
 本実施の形態では、実施の形態1に示した画像符号化装置を、典型的には半導体集積回路であるLSIとして実現する。実現した形態を図51に示す。ビットストリームバッファ24、25およびフレームメモリ23をDRAM上に実現し、その他の回路やメモリをLSI上に構成している。
 これらは個別に1チップ化されてもよいし、一部またはすべてを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
 さらに加えて、本実施の形態の画像復号装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話、テレビ、デジタルビデオレコーダー、デジタルビデオカメラおよびカーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶、PDP(プラズマディスプレイパネル)および有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
 また、本実施の形態におけるLSIは、符号化ストリームを蓄積するビットストリームバッファ、および、画像を蓄積するフレームメモリ等を備えるDRAM(Dynamic Random Access Memory)と連携することにより、符号化処理または復号処理を行ってもよい。また、本実施の形態におけるLSIは、DRAMではなく、eDRAM(embeded DRAM)、SRAM(Static Random Access Memory)、または、ハードディスクなど他の記憶装置と連携してもかまわない。
 (実施の形態15)
 上記各実施の形態で示した画像符号化装置、画像復号装置、画像符号化方法および画像復号方法は、典型的には集積回路であるLSIで実現される。一例として、図52に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex502~ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば、符号化処理を行う場合には、LSIex500は、AV I/Oex509によりマイクex117およびカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化および/または映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507では、さらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex504から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または、記録メディアex215に書き込まれたりする。
 また、例えば、復号処理を行う場合には、LSIex500は、マイコン(マイクロコンピュータ)ex502の制御に基づいて、ストリームI/Oex504によって、基地局ex107から得られた符号化データ、または、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。マイコンex502の制御に基づいて、蓄積したデータは処理量および処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声データの復号および/または映像データの復号が行われる。ここで映像信号の復号処理は上記各実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦メモリex511等に蓄積するとよい。復号された出力信号はメモリex511等を適宜介しながら、AVI/Oex509からモニタex219等に出力される。メモリex511にアクセスする際にはメモリコントローラex503を介する構成である。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 本発明に係る画像符号化方法は、様々な用途に利用可能である。例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の高解像度の情報表示機器、または、撮像機器に利用可能であり、利用価値が高い。
  1、2、100 算術符号化部
  3、101 2値化部
  4、47、102 シンボル発生確率格納部
  5、48、103 コンテキスト制御部
  6、104 2値算術符号化器
  7 シンボル発生確率算出部
  21、22 画素符号化部
  23、45 フレームメモリ
  24、25、44 ビットストリームバッファ
  26、54 面内予測部
  27、57 デブロックフィルタ部
  28 差分計算部
  29 周波数変換部
  30 量子化部
  31、51 逆量子化部
  32、52 逆周波数変換部
  33、53 再構成部
  34、46 周辺情報メモリ
  35 動き検出部
  36、56 動き補償部
  40、41 算術復号部
  42、43 画素復号部
  49 2値算術復号器
  50 逆2値化部
  55 動きベクトル計算部
  60 画像符号化装置
  61 第1の符号化部
  62 第2の符号化部
  63 符号化部
  64、74 算出部
  70 画像復号装置
  71 第1の復号部
  72 第2の復号部
  73 復号部
  ex100 コンテンツ供給システム
  ex101 インターネット
  ex102 インターネットサービスプロバイダ
  ex103 ストリーミングサーバ
  ex104 電話網
  ex106、ex107、ex108、ex109、ex110 基地局
  ex111 コンピュータ
  ex112 PDA(Personal Digital Assistant)
  ex113、ex116 カメラ
  ex114 携帯電話
  ex115 ゲーム機
  ex117 マイク
  ex200 デジタル放送用システム
  ex201 放送局
  ex202 放送衛星(衛星)
  ex203 ケーブル
  ex204、ex205 アンテナ
  ex210 車
  ex211 カーナビゲーション(カーナビ)
  ex212 再生装置
  ex213、ex219 モニタ
  ex214、ex215、ex216 記録メディア
  ex217 セットトップボックス(STB)
  ex218 リーダ/レコーダ
  ex220 リモートコントローラ
  ex230 情報トラック
  ex231 記録ブロック
  ex232 内周領域
  ex233 データ記録領域
  ex234 外周領域
  ex300 テレビ(受信機)
  ex301 チューナ
  ex302 変調/復調部
  ex303 多重/分離部
  ex304 音声信号処理部
  ex305 映像信号処理部
  ex306、ex507 信号処理部
  ex307 スピーカ
  ex308 表示部
  ex309 出力部
  ex310 制御部
  ex311、ex505 電源回路部
  ex312 操作入力部
  ex313 ブリッジ
  ex314 スロット部
  ex315 ドライバ
  ex316 モデム
  ex317 インタフェース部
  ex318、ex319、ex320、ex321、ex404 バッファ
  ex400 情報再生/記録部
  ex401 光ヘッド
  ex402 変調記録部
  ex403 再生復調部
  ex405 ディスクモータ
  ex406 サーボ制御部
  ex407 システム制御部
  ex500 LSI
  ex502 マイコン(マイクロコンピュータ)
  ex503 メモリコントローラ
  ex504 ストリームI/O
  ex509 AV I/O
  ex510 バス
  ex511 メモリ

Claims (25)

  1.  複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する画像符号化方法であって、
     前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する第1の符号化ステップと、
     前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する第2の符号化ステップとを含み、
     前記第1の符号化ステップでは、さらに、前記第1の複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記第1の複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の符号化ステップでは、さらに、前記第2の複数のブロックのうち、符号化対象ブロックである第3の符号化対象ブロックを符号化した後、前記第2の複数のブロックのうち、次の符号化対象ブロックである第4の符号化対象ブロックを符号化する前に、前記第3の符号化対象ブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の符号化ステップでは、さらに、前記第2の複数のブロックのうち、最初の符号化対象ブロックである第5の符号化対象ブロックを符号化する前に、前記第1の符号化ステップで更新した前記第1の確率情報で前記第2の確率情報を更新する
     画像符号化方法。
  2.  前記第1の符号化ステップでは、前記第1の複数のブロックを、前記第1の確率情報を用いて、順次、算術符号化により符号化し、
     前記第2の符号化ステップでは、前記第2の複数のブロックを、前記第2の確率情報を用いて、順次、算術符号化により符号化する
     請求項1記載の画像符号化方法。
  3.  前記第1の符号化ステップでは、スライスである前記第1の領域に含まれる前記第1の複数のブロックであって、それぞれがマクロブロックである前記第1の複数のブロックを、前記第1の確率情報を用いて、順次、符号化し、
     前記第2の符号化ステップでは、スライスである前記第2の領域に含まれる前記第2の複数のブロックであって、それぞれがマクロブロックである前記第2の複数のブロックを、前記第2の確率情報を用いて、順次、符号化する
     請求項1または請求項2に記載の画像符号化方法。
  4.  前記第2の符号化ステップでは、前記第5の符号化対象ブロックを符号化する前に、前記第5の符号化対象ブロックの真上に隣接する前記第1の符号化対象ブロックのデータに依存させて前記第1の符号化ステップで更新した前記第1の確率情報で前記第2の確率情報を更新する
     請求項1~3のいずれか1項に記載の画像符号化方法。
  5.  前記第1の符号化ステップでは、それぞれが複数のサブブロックを含む前記第1の複数のブロックをサブブロック毎に、前記第1の確率情報を用いて、順次、符号化し、
     前記第2の符号化ステップでは、それぞれが複数のサブブロックを含む前記第2の複数のブロックをサブブロック毎に、前記第2の確率情報を用いて、順次、符号化し、
     前記第1の符号化ステップでは、さらに、前記第1の符号化対象ブロックに含まれる第1の複数のサブブロックのうち、符号化対象サブブロックである第1の符号化対象サブブロックを符号化した後、前記第1の複数のサブブロックのうち、次の符号化対象サブブロックである第2の符号化対象サブブロックを符号化する前に、前記第1の符号化対象サブブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の符号化ステップでは、さらに、前記第5の符号化対象ブロックに含まれる第2の複数のサブブロックのうち、符号化対象サブブロックである第3の符号化対象サブブロックを符号化した後、前記第2の複数のサブブロックのうち、次の符号化対象サブブロックである第4の符号化対象サブブロックを符号化する前に、前記第3の符号化対象サブブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の符号化ステップでは、前記第2の複数のサブブロックのうち、最初の符号化対象サブブロックである第5の符号化対象サブブロックを符号化する前に、前記第1の複数のサブブロックのうち、前記第5の符号化対象サブブロックに空間的に最も近い前記第1の符号化対象サブブロックのデータに依存させて前記第1の符号化ステップで更新した前記第1の確率情報で前記第2の確率情報を更新する
     請求項1~4のいずれか1項に記載の画像符号化方法。
  6.  複数のブロックを有する画像を符号化する画像符号化方法であって、
     前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、符号化する符号化ステップを含み、
     前記符号化ステップでは、さらに、前記複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記確率情報を更新し、
     前記符号化ステップでは、前記複数のブロックのうち、前記第1の符号化対象ブロックを符号化した後の符号化対象ブロックであって、前記第2の符号化対象ブロックとは異なる符号化対象ブロックである第3の符号化対象ブロックを、前記第3の符号化対象ブロックと上側に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化する
     画像符号化方法。
  7.  前記符号化ステップでは、前記複数のブロックを、前記確率情報を用いて、順次、算術符号化により符号化する
     請求項6に記載の画像符号化方法。
  8.  前記符号化ステップでは、前記複数のブロックを水平方向のライン毎に、左から右へ、順次、符号化し、右端のブロックを符号化した後、1ライン下の左端のブロックを符号化する
     請求項6または請求項7に記載の画像符号化方法。
  9.  前記符号化ステップでは、前記第3の符号化対象ブロックを、前記第3の符号化対象ブロックと真上に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化する
     請求項6~8のいずれか1項に記載の画像符号化方法。
  10.  前記符号化ステップでは、前記第3の符号化対象ブロックを、前記第3の符号化対象ブロックと左上に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化する
     請求項6~8のいずれか1項に記載の画像符号化方法。
  11.  前記符号化ステップでは、それぞれが複数のサブブロックを含む前記複数のブロックをサブブロック毎に、前記確率情報を用いて、順次、符号化し、
     前記符号化ステップでは、さらに、前記第1の符号化対象ブロックに含まれる第1の複数のサブブロックのうち、符号化対象サブブロックである第1の符号化対象サブブロックを符号化した後、前記第1の複数のサブブロックのうち、次の符号化対象サブブロックである第2の符号化対象サブブロックを符号化する前に、前記第1の符号化対象サブブロックのデータに依存させて前記確率情報を更新し、
     前記符号化ステップでは、前記第3の符号化対象ブロックに含まれる第2の複数のサブブロックのうち、最初の符号化対象サブブロックである第3の符号化対象サブブロックを、前記第1の複数のサブブロックのうち、前記第3の符号化対象サブブロックに空間的に最も近い前記第1の符号化対象サブブロックのデータに依存させて更新した前記確率情報を用いて、符号化する
     請求項6~10のいずれか1項に記載の画像符号化方法。
  12.  前記符号化ステップでは、さらに、前記複数のブロックのうち、前記第3の符号化対象ブロックと真左に隣接するブロックである第4の符号化対象ブロックを符号化した後、前記第3の符号化対象ブロックを符号化する前に、前記第4の符号化対象ブロックのデータに依存させて前記確率情報を更新し、
     前記画像符号化方法は、さらに、前記符号化ステップで前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報である第1の確率情報と、前記符号化ステップで前記第4の符号化対象ブロックのデータに依存させて更新した前記確率情報である第2の確率情報とから、前記第3の符号化対象ブロックの符号化に用いられる前記確率情報を算出する算出ステップを含み、
     前記符号化ステップでは、前記第3の符号化対象ブロックを、前記算出ステップで算出された前記確率情報を用いて、符号化する
     請求項6~10のいずれか1項に記載の画像符号化方法。
  13.  前記符号化ステップでは、それぞれが複数のサブブロックを含む前記複数のブロックをサブブロック毎に、前記確率情報を用いて、順次、符号化し、
     前記符号化ステップでは、さらに、前記第1の符号化対象ブロックに含まれる第1の複数のサブブロックのうち、符号化対象サブブロックである第1の符号化対象サブブロックを符号化した後、前記第1の複数のサブブロックのうち、次の符号化対象サブブロックである第2の符号化対象サブブロックを符号化する前に、前記第1の符号化対象サブブロックのデータに依存させて前記確率情報を更新し、
     前記符号化ステップでは、さらに、前記第4の符号化対象ブロックに含まれる第2の複数のサブブロックのうち、符号化対象サブブロックである第3の符号化対象サブブロックを符号化した後、前記第2の複数のサブブロックのうち、次の符号化対象サブブロックである第4の符号化対象サブブロックを符号化する前に、前記第3の符号化対象サブブロックのデータに依存させて前記確率情報を更新し、
     前記算出ステップでは、前記第3の符号化対象ブロックに含まれる第3の複数のサブブロックのうち、最初の符号化対象サブブロックである第5の符号化対象サブブロックの符号化に用いられる前記確率情報を、前記第1の複数のサブブロックのうち、前記第5の符号化対象サブブロックに空間的に最も近い前記第1の符号化対象サブブロックのデータに依存させて前記符号化ステップで更新した前記確率情報である前記第1の確率情報と、前記第2の複数のサブブロックのうち、前記第5の符号化対象サブブロックに空間的に最も近い前記第3の符号化対象サブブロックのデータに依存させて前記符号化ステップで更新した前記確率情報である前記第2の確率情報とから、算出し、
     前記符号化ステップでは、前記第5の符号化対象サブブロックを、前記算出ステップで算出された前記確率情報を用いて、符号化する
     請求項12に記載の画像符号化方法。
  14.  前記算出ステップでは、前記第5の符号化対象サブブロックから前記第1の符号化対象サブブロックまでの空間的な近さと、前記第5の符号化対象サブブロックから前記第3の符号化対象サブブロックまでの空間的な近さとに従って、前記第1の確率情報と前記第2の確率情報とを重み付けして、前記第5の符号化対象サブブロックの符号化に用いられる前記確率情報を算出する
     請求項13に記載の画像符号化方法。
  15.  前記符号化ステップでは、所定の条件を満たす場合、前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて前記第3の符号化対象ブロックを符号化し、前記所定の条件を満たさない場合、前記第3の符号化対象ブロックの前の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて前記第3の符号化対象ブロックを符号化する
     請求項6~14のいずれか1項に記載の画像符号化方法。
  16.  複数のブロックをそれぞれ含む複数の領域を有する画像を復号する画像復号方法であって、
     前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する第1の復号ステップと、
     前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する第2の復号ステップとを含み、
     前記第1の復号ステップでは、さらに、前記第1の複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記第1の複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の復号ステップでは、さらに、前記第2の複数のブロックのうち、復号対象ブロックである第3の復号対象ブロックを復号した後、前記第2の複数のブロックのうち、次の復号対象ブロックである第4の復号対象ブロックを復号する前に、前記第3の復号対象ブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の復号ステップでは、さらに、前記第2の複数のブロックのうち、最初の復号対象ブロックである第5の復号対象ブロックを復号する前に、前記第1の復号ステップで更新した前記第1の確率情報で前記第2の確率情報を更新する
     画像復号方法。
  17.  複数のブロックを有する画像を復号する画像復号方法であって、
     前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、復号する復号ステップを含み、
     前記復号ステップでは、さらに、前記複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記確率情報を更新し、
     前記復号ステップでは、前記複数のブロックのうち、前記第1の復号対象ブロックを復号した後の復号対象ブロックであって、前記第2の復号対象ブロックとは異なる復号対象ブロックである第3の復号対象ブロックを、前記第3の復号対象ブロックと上側に隣接する前記第1の復号対象ブロックのデータに依存させて更新した前記確率情報を用いて、復号する
     画像復号方法。
  18.  複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する画像符号化装置であって、
     前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する第1の符号化部と、
     前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する第2の符号化部とを備え、
     前記第1の符号化部は、さらに、前記第1の複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記第1の複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、符号化対象ブロックである第3の符号化対象ブロックを符号化した後、前記第2の複数のブロックのうち、次の符号化対象ブロックである第4の符号化対象ブロックを符号化する前に、前記第3の符号化対象ブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、最初の符号化対象ブロックである第5の符号化対象ブロックを符号化する前に、前記第1の符号化部で更新した前記第1の確率情報で前記第2の確率情報を更新する
     画像符号化装置。
  19.  複数のブロックを有する画像を符号化する画像符号化装置であって、
     前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、符号化する符号化部を備え、
     前記符号化部は、さらに、前記複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記確率情報を更新し、
     前記符号化部は、前記複数のブロックのうち、前記第1の符号化対象ブロックを符号化した後の符号化対象ブロックであって、前記第2の符号化対象ブロックとは異なる符号化対象ブロックである第3の符号化対象ブロックを、前記第3の符号化対象ブロックと上側に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化する
     画像符号化装置。
  20.  複数のブロックをそれぞれ含む複数の領域を有する画像を復号する画像復号装置であって、
     前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する第1の復号部と、
     前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する第2の復号部とを備え、
     前記第1の復号部は、さらに、前記第1の複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記第1の複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の復号部は、さらに、前記第2の複数のブロックのうち、復号対象ブロックである第3の復号対象ブロックを復号した後、前記第2の複数のブロックのうち、次の復号対象ブロックである第4の復号対象ブロックを復号する前に、前記第3の復号対象ブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の復号部は、さらに、前記第2の複数のブロックのうち、最初の復号対象ブロックである第5の復号対象ブロックを復号する前に、前記第1の復号部で更新した前記第1の確率情報で前記第2の確率情報を更新する
     画像復号装置。
  21.  複数のブロックを有する画像を復号する画像復号装置であって、
     前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、復号する復号部を備え、
     前記復号部は、さらに、前記複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記確率情報を更新し、
     前記復号部は、前記複数のブロックのうち、前記第1の復号対象ブロックを復号した後の復号対象ブロックであって、前記第2の復号対象ブロックとは異なる復号対象ブロックである第3の復号対象ブロックを、前記第3の復号対象ブロックと上側に隣接する前記第1の復号対象ブロックのデータに依存させて更新した前記確率情報を用いて、復号する
     画像復号装置。
  22.  複数のブロックをそれぞれ含む複数の領域を有する画像を符号化する集積回路であって、
     前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、符号化する第1の符号化部と、
     前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、符号化する第2の符号化部とを備え、
     前記第1の符号化部は、さらに、前記第1の複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記第1の複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、符号化対象ブロックである第3の符号化対象ブロックを符号化した後、前記第2の複数のブロックのうち、次の符号化対象ブロックである第4の符号化対象ブロックを符号化する前に、前記第3の符号化対象ブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の符号化部は、さらに、前記第2の複数のブロックのうち、最初の符号化対象ブロックである第5の符号化対象ブロックを符号化する前に、前記第1の符号化部で更新した前記第1の確率情報で前記第2の確率情報を更新する
     集積回路。
  23.  複数のブロックを有する画像を符号化する集積回路であって、
     前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、符号化する符号化部を備え、
     前記符号化部は、さらに、前記複数のブロックのうち、符号化対象ブロックである第1の符号化対象ブロックを符号化した後、前記複数のブロックのうち、次の符号化対象ブロックである第2の符号化対象ブロックを符号化する前に、前記第1の符号化対象ブロックのデータに依存させて前記確率情報を更新し、
     前記符号化部は、前記複数のブロックのうち、前記第1の符号化対象ブロックを符号化した後の符号化対象ブロックであって、前記第2の符号化対象ブロックとは異なる符号化対象ブロックである第3の符号化対象ブロックを、前記第3の符号化対象ブロックと上側に隣接する前記第1の符号化対象ブロックのデータに依存させて更新した前記確率情報を用いて、符号化する
     集積回路。
  24.  複数のブロックをそれぞれ含む複数の領域を有する画像を復号する集積回路であって、
     前記複数の領域のうち、第1の領域に含まれる第1の複数のブロックを、データの生起確率を示す第1の確率情報を用いて、順次、復号する第1の復号部と、
     前記複数の領域のうち、前記第1の領域とは異なる第2の領域に含まれる第2の複数のブロックを、データの生起確率を示す第2の確率情報を用いて、順次、復号する第2の復号部とを備え、
     前記第1の復号部は、さらに、前記第1の複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記第1の複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記第1の確率情報を更新し、
     前記第2の復号部は、さらに、前記第2の複数のブロックのうち、復号対象ブロックである第3の復号対象ブロックを復号した後、前記第2の複数のブロックのうち、次の復号対象ブロックである第4の復号対象ブロックを復号する前に、前記第3の復号対象ブロックのデータに依存させて前記第2の確率情報を更新し、
     前記第2の復号部は、さらに、前記第2の複数のブロックのうち、最初の復号対象ブロックである第5の復号対象ブロックを復号する前に、前記第1の復号部で更新した前記第1の確率情報で前記第2の確率情報を更新する
     集積回路。
  25.  複数のブロックを有する画像を復号する集積回路であって、
     前記複数のブロックを、データの生起確率を示す確率情報を用いて、順次、復号する復号部を備え、
     前記復号部は、さらに、前記複数のブロックのうち、復号対象ブロックである第1の復号対象ブロックを復号した後、前記複数のブロックのうち、次の復号対象ブロックである第2の復号対象ブロックを復号する前に、前記第1の復号対象ブロックのデータに依存させて前記確率情報を更新し、
     前記復号部は、前記複数のブロックのうち、前記第1の復号対象ブロックを復号した後の復号対象ブロックであって、前記第2の復号対象ブロックとは異なる復号対象ブロックである第3の復号対象ブロックを、前記第3の復号対象ブロックと上側に隣接する前記第1の復号対象ブロックのデータに依存させて更新した前記確率情報を用いて、復号する
     集積回路。
PCT/JP2010/006077 2009-10-29 2010-10-13 画像符号化方法および画像復号方法 WO2011052142A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201080003832.9A CN102754437B (zh) 2009-10-29 2010-10-13 图像编码方法、图像编码装置及集成电路
JP2011538227A JP5389187B2 (ja) 2009-10-29 2010-10-13 画像符号化方法および画像符号化装置
US13/148,957 US8718149B2 (en) 2009-10-29 2010-10-13 Image coding method and image decoding method
US14/162,871 US9497460B2 (en) 2009-10-29 2014-01-24 Image coding method and image decoding method
US14/162,816 US8953692B2 (en) 2009-10-29 2014-01-24 Image coding method and image decoding method
US15/281,417 US9854264B2 (en) 2009-10-29 2016-09-30 Image coding method and image decoding method
US15/810,378 US10171827B2 (en) 2009-10-29 2017-11-13 Image coding method and image decoding method
US16/180,125 US10455246B2 (en) 2009-10-29 2018-11-05 Image coding method and image decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009249538 2009-10-29
JP2009-249538 2009-10-29

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US13/148,957 A-371-Of-International US8718149B2 (en) 2009-10-29 2010-10-13 Image coding method and image decoding method
US14/162,871 Division US9497460B2 (en) 2009-10-29 2014-01-24 Image coding method and image decoding method
US14/162,816 Continuation US8953692B2 (en) 2009-10-29 2014-01-24 Image coding method and image decoding method

Publications (1)

Publication Number Publication Date
WO2011052142A1 true WO2011052142A1 (ja) 2011-05-05

Family

ID=43921579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/006077 WO2011052142A1 (ja) 2009-10-29 2010-10-13 画像符号化方法および画像復号方法

Country Status (4)

Country Link
US (6) US8718149B2 (ja)
JP (5) JP5389187B2 (ja)
CN (2) CN102754437B (ja)
WO (1) WO2011052142A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011223358A (ja) * 2010-04-09 2011-11-04 Sony Corp 画像処理装置および方法
JP2013123206A (ja) * 2011-11-07 2013-06-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2013109115A1 (ko) * 2012-01-20 2013-07-25 삼성전자 주식회사 병렬 처리가 가능한 엔트로피 부호화 방법 및 장치, 병렬 처리가 가능한 엔트로피 복호화 방법 및 장치
KR20140042893A (ko) * 2011-07-15 2014-04-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연을 위한 샘플 배치 코딩
JP2014096755A (ja) * 2012-11-12 2014-05-22 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2014143708A (ja) * 2014-03-10 2014-08-07 Sony Corp 画像処理装置および方法、プログラム、並びに、記録媒体
CN104247419A (zh) * 2012-04-13 2014-12-24 Jvc建伍株式会社 图像编码装置、图像编码方法、图像编码程序、发送装置、发送方法、及发送程序、以及图像解码装置、图像解码方法、图像解码程序、接收装置、接收方法及接收程序
JP2016106483A (ja) * 2016-02-03 2016-06-16 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
JP2017063428A (ja) * 2011-03-07 2017-03-30 ドルビー・インターナショナル・アーベー 画像の符号化および復号の方法、符号化および復号デバイス、ならびにそれに対応するコンピュータプログラム
CN107094253A (zh) * 2011-06-24 2017-08-25 杜比国际公司 图像编码和解码的方法、编码和解码设备以及计算机程序
JP2019526988A (ja) * 2016-09-06 2019-09-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated 候補リストの構築のためのジオメトリベースの優先度

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102754437B (zh) 2009-10-29 2015-03-18 松下电器(美国)知识产权公司 图像编码方法、图像编码装置及集成电路
WO2013046504A1 (ja) * 2011-09-29 2013-04-04 パナソニック株式会社 算術復号装置、画像復号装置、および算術復号方法
DK2842313T3 (en) * 2012-04-13 2017-01-23 Ge Video Compression Llc Scalable data stream and network device
CN104685893B (zh) 2012-06-29 2019-08-13 Ge视频压缩有限责任公司 视频数据流的编码、解码、传输方法以及编码器、解码器
JP6315911B2 (ja) * 2013-07-09 2018-04-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6272194B2 (ja) * 2014-09-24 2018-01-31 株式会社日立情報通信エンジニアリング 動画像符号化装置、動画像復号装置、および動画像符号化・復号化方法
TWI822863B (zh) * 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
US10922026B2 (en) * 2018-11-01 2021-02-16 Fungible, Inc. Data processing unit having hardware-based range encoding and decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003043345A1 (en) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
WO2003043346A1 (en) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
JP2005347780A (ja) * 2002-04-25 2005-12-15 Mitsubishi Electric Corp デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS585281A (ja) 1981-07-02 1983-01-12 Seiko Epson Corp 低慣性モ−メントプラテン
JP2608909B2 (ja) 1988-01-28 1997-05-14 富士通株式会社 動画像の予測符号化方式
SI2391019T1 (sl) * 2002-03-27 2014-09-30 Panasonic Corporation Postopek dekodiranja s spremenljivo dolĹľino, shranjevalni medij, priprava za dekodiranje s spremenljivo dolĹľino
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
KR100701810B1 (ko) * 2002-04-26 2007-04-02 가부시키가이샤 엔티티 도코모 신호 부호화 방법, 신호 복호 방법, 신호 부호화 장치, 신호 복호 장치, 및 컴퓨터로 판독가능한 기록매체
US7630440B2 (en) * 2003-05-28 2009-12-08 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
JP4542447B2 (ja) * 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
KR100703776B1 (ko) * 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
KR20060119736A (ko) * 2005-05-19 2006-11-24 엘지전자 주식회사 영상 신호의 인코딩 방법
KR100878827B1 (ko) 2005-07-08 2009-01-14 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법
KR101154999B1 (ko) 2005-07-08 2012-07-09 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
JP4062711B2 (ja) * 2006-04-17 2008-03-19 俊宏 南 動画像符号化装置
JP4660433B2 (ja) * 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8737476B2 (en) * 2008-11-10 2014-05-27 Panasonic Corporation Image decoding device, image decoding method, integrated circuit, and program for performing parallel decoding of coded image data
JP5702377B2 (ja) * 2009-06-29 2015-04-15 トムソン ライセンシングThomson Licensing コード化されていないシンタックスに対する適応型確率更新のための方法および装置
CN102754437B (zh) * 2009-10-29 2015-03-18 松下电器(美国)知识产权公司 图像编码方法、图像编码装置及集成电路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003043345A1 (en) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
WO2003043346A1 (en) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
JP2005347780A (ja) * 2002-04-25 2005-12-15 Mitsubishi Electric Corp デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179152B2 (en) 2010-04-09 2015-11-03 Sony Corporation Image processing device and method
US10187645B2 (en) 2010-04-09 2019-01-22 Sony Corporation Image processing device and method
JP2011223358A (ja) * 2010-04-09 2011-11-04 Sony Corp 画像処理装置および方法
US10659792B2 (en) 2010-04-09 2020-05-19 Sony Corporation Image processing device and method
US9204152B2 (en) 2010-04-09 2015-12-01 Sony Corporation Image processing device and method
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US10681376B2 (en) 2011-03-07 2020-06-09 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US11736723B2 (en) 2011-03-07 2023-08-22 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US10382784B2 (en) 2011-03-07 2019-08-13 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US12177478B2 (en) 2011-03-07 2024-12-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
JP2017063428A (ja) * 2011-03-07 2017-03-30 ドルビー・インターナショナル・アーベー 画像の符号化および復号の方法、符号化および復号デバイス、ならびにそれに対応するコンピュータプログラム
JP2017063429A (ja) * 2011-03-07 2017-03-30 ドルビー・インターナショナル・アーベー 画像の符号化および復号の方法、符号化および復号デバイス、ならびにそれに対応するコンピュータプログラム
US10694186B2 (en) 2011-06-24 2020-06-23 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
CN107094253B (zh) * 2011-06-24 2020-11-10 杜比国际公司 图像编码和解码的方法、编码和解码设备以及计算机程序
CN107094253A (zh) * 2011-06-24 2017-08-25 杜比国际公司 图像编码和解码的方法、编码和解码设备以及计算机程序
US10362311B2 (en) 2011-06-24 2019-07-23 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US12273524B2 (en) 2011-06-24 2025-04-08 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US10033999B2 (en) 2011-06-24 2018-07-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US9596469B2 (en) 2011-07-15 2017-03-14 Ge Video Compression, Llc Sample array coding for low-delay
US11019352B2 (en) 2011-07-15 2021-05-25 Ge Video Compression, Llc Sample array coding for low-delay
KR101730586B1 (ko) 2011-07-15 2017-04-26 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
US9860544B2 (en) 2011-07-15 2018-01-02 Ge Video Compression, Llc Sample array coding for low-delay
US9860547B2 (en) 2011-07-15 2018-01-02 Ge Video Compression, Llc Sample array coding for low-delay
US9866857B2 (en) 2011-07-15 2018-01-09 Ge Video Compression, Llc Sample array coding for low-delay
KR101721487B1 (ko) * 2011-07-15 2017-03-30 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR20180086525A (ko) * 2011-07-15 2018-07-31 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR101882979B1 (ko) * 2011-07-15 2018-08-24 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
US10085035B2 (en) 2011-07-15 2018-09-25 Ge Video Compression, Llc Sample array coding for low-delay
JP2025041597A (ja) * 2011-07-15 2025-03-26 ジーイー ビデオ コンプレッション エルエルシー 低遅延のためのサンプルアレイ符号化
US11949897B2 (en) 2011-07-15 2024-04-02 Ge Video Compression, Llc Sample array coding for low-delay
KR20140042893A (ko) * 2011-07-15 2014-04-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연을 위한 샘플 배치 코딩
US11595675B2 (en) 2011-07-15 2023-02-28 Ge Video Compression, Llc Sample array coding for low-delay
KR20190124341A (ko) * 2011-07-15 2019-11-04 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR102039049B1 (ko) * 2011-07-15 2019-11-15 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR102085171B1 (ko) 2011-07-15 2020-03-06 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR20200024959A (ko) * 2011-07-15 2020-03-09 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
US10652564B2 (en) 2011-07-15 2020-05-12 Ge Video Compression, Llc Sample array coding for low-delay
US10659798B2 (en) 2011-07-15 2020-05-19 Ge Video Compression, Llc Sample array coding for low-delay
KR102444757B1 (ko) 2011-07-15 2022-09-19 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR20220047686A (ko) * 2011-07-15 2022-04-18 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
JP2014525187A (ja) * 2011-07-15 2014-09-25 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 低遅延のためのサンプルアレイ符号化
US10771800B2 (en) 2011-07-15 2020-09-08 Ge Video Compression, Llc Sample array coding for low-delay
KR102385848B1 (ko) 2011-07-15 2022-04-14 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR102187171B1 (ko) 2011-07-15 2020-12-04 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
KR20200136515A (ko) * 2011-07-15 2020-12-07 지이 비디오 컴프레션, 엘엘씨 저-지연을 위한 샘플 배치 코딩
US10924754B2 (en) 2011-07-15 2021-02-16 Ge Video Compression, Llc Sample array coding for low-delay based on position information
US9729891B2 (en) 2011-07-15 2017-08-08 Ge Video Compression, Llc Sample array coding for low-delay
JP2013123206A (ja) * 2011-11-07 2013-06-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2013109115A1 (ko) * 2012-01-20 2013-07-25 삼성전자 주식회사 병렬 처리가 가능한 엔트로피 부호화 방법 및 장치, 병렬 처리가 가능한 엔트로피 복호화 방법 및 장치
CN104247419A (zh) * 2012-04-13 2014-12-24 Jvc建伍株式会社 图像编码装置、图像编码方法、图像编码程序、发送装置、发送方法、及发送程序、以及图像解码装置、图像解码方法、图像解码程序、接收装置、接收方法及接收程序
CN105187830A (zh) * 2012-04-13 2015-12-23 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
CN105187843A (zh) * 2012-04-13 2015-12-23 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
JP2014096755A (ja) * 2012-11-12 2014-05-22 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9609316B2 (en) 2012-11-12 2017-03-28 Canon Kabushiki Kaisha Image coding apparatus, image coding method, and recording medium thereof, image decoding apparatus, and image decoding method, and recording medium thereof
JP2014143708A (ja) * 2014-03-10 2014-08-07 Sony Corp 画像処理装置および方法、プログラム、並びに、記録媒体
JP2016106483A (ja) * 2016-02-03 2016-06-16 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
JP2019526988A (ja) * 2016-09-06 2019-09-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated 候補リストの構築のためのジオメトリベースの優先度

Also Published As

Publication number Publication date
JP2015228695A (ja) 2015-12-17
US9497460B2 (en) 2016-11-15
JP5548294B2 (ja) 2014-07-16
JP2014003637A (ja) 2014-01-09
JPWO2011052142A1 (ja) 2013-03-14
JP2013225919A (ja) 2013-10-31
US20140140413A1 (en) 2014-05-22
US8953692B2 (en) 2015-02-10
US20140140412A1 (en) 2014-05-22
US20170019676A1 (en) 2017-01-19
JP5805281B2 (ja) 2015-11-04
US20110317769A1 (en) 2011-12-29
US20190075313A1 (en) 2019-03-07
US20180070096A1 (en) 2018-03-08
CN104639941A (zh) 2015-05-20
US9854264B2 (en) 2017-12-26
JP2014225920A (ja) 2014-12-04
CN102754437A (zh) 2012-10-24
CN102754437B (zh) 2015-03-18
CN104639941B (zh) 2018-03-27
US10171827B2 (en) 2019-01-01
JP5389187B2 (ja) 2014-01-15
US8718149B2 (en) 2014-05-06
US10455246B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
JP5805281B2 (ja) 符号化・復号化装置
JP5518069B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法、プログラムおよび集積回路
JP5659160B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号回路及び動画像復号方法
JP6390883B2 (ja) 画像処理装置
WO2010150486A1 (ja) 画像符号化方法及び画像符号化装置
WO2012046435A1 (ja) 画像処理装置、画像符号化方法および画像処理方法
WO2011161949A1 (ja) 画像復号装置、画像復号方法、集積回路およびプログラム
JPWO2012035728A1 (ja) 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
KR20130139224A (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
CN102197652A (zh) 解码装置、解码方法、程序以及集成电路
JP5679980B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP5546044B2 (ja) 画像復号装置、画像符号化装置、画像復号回路及び画像復号方法
CN103348678B (zh) 图像处理装置以及图像处理方法
JP6002973B2 (ja) 画像符号化方法および画像復号方法
WO2011129052A1 (ja) 画像復号装置、画像符号化装置、画像復号方法および画像符号化方法
WO2013076897A1 (ja) 画像処理装置および画像処理方法
JP2011182132A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、集積回路およびプログラム

Legal Events

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

Ref document number: 201080003832.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2011538227

Country of ref document: JP

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

Ref document number: 10826279

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13148957

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10826279

Country of ref document: EP

Kind code of ref document: A1