WO2011002091A1 - 動画像復号化方法及び動画像復号化装置 - Google Patents

動画像復号化方法及び動画像復号化装置 Download PDF

Info

Publication number
WO2011002091A1
WO2011002091A1 PCT/JP2010/061360 JP2010061360W WO2011002091A1 WO 2011002091 A1 WO2011002091 A1 WO 2011002091A1 JP 2010061360 W JP2010061360 W JP 2010061360W WO 2011002091 A1 WO2011002091 A1 WO 2011002091A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction direction
decoding
block
block type
prediction
Prior art date
Application number
PCT/JP2010/061360
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 JP2011521000A priority Critical patent/JP5370899B2/ja
Publication of WO2011002091A1 publication Critical patent/WO2011002091A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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

Definitions

  • the present invention relates to a moving picture decoding technique for decoding a moving picture.
  • an encoding method such as the MPEG (Moving Picture Experts Group) method has been established, and the MPEG-1 standard, MPEG-2 standard, MPEG-4 standard, H.
  • the H.264 / AVC (Advanced Video Coding) standard is known.
  • H. H.264 / AVC improves the compression efficiency by using predictive coding such as intra-screen predictive coding and inter-screen predictive coding.
  • predictive encoding is performed using these directions in units of blocks.
  • predictive encoding it is necessary to separately encode a code representing the prediction direction used in the target block, and there is a problem that the amount of code increases.
  • each prediction encoding is performed while switching between a plurality of pixel value prediction methods and block sizes for each macroblock, and therefore it is necessary to encode the pixel value prediction method and block size information for each macroblock.
  • “Jamil-ur-Rehman and Zhang Ye,“ Efficient Technologies for Signaling Intra Prediction Modes of H. H.264 / Mpeg-4 Part 10 ", Proc. ICICIC 2006, August, 2006.” describes the prediction direction for the block at the edge of the screen with a small number of prediction directions that can be used in encoding of the prediction direction at the time of intra prediction encoding. It has been disclosed to reduce the amount of code by shortening the code for representing.
  • a moving picture decoding method is a moving picture decoding method that performs intra prediction processing, and in the intra prediction process, adjacent to a decoding target block.
  • Another aspect of the present invention is a moving picture decoding method for performing intra prediction processing, in which a prediction direction data or a block type among a plurality of already decoded adjacent blocks adjacent to a decoding target block.
  • FIG. 1 is an example of a block diagram of a video encoding apparatus according to the first embodiment.
  • FIG. 2 is an example of a block diagram of the intra prediction unit in the video encoding apparatus according to the first embodiment.
  • FIG. 3 is an example of a block diagram of the video decoding apparatus according to the first embodiment.
  • FIG. 4 is an example of a block diagram of the intra prediction unit in the video decoding apparatus according to the first embodiment.
  • FIG. 2 is a conceptual explanatory diagram of an intra-screen predictive encoding process according to H.264 / AVC.
  • FIG. 2 is a conceptual explanatory diagram of encoding processing in a prediction direction according to H.264 / AVC.
  • FIG. 1 is an example of a block diagram of a video encoding apparatus according to the first embodiment.
  • FIG. 2 is an example of a block diagram of the intra prediction unit in the video encoding apparatus according to the first embodiment.
  • FIG. 3 is an example of a block diagram of the video decoding apparatus
  • FIG. 2 is a conceptual explanatory diagram of an intra-screen predictive decoding process according to H.264 / AVC.
  • FIG. 8A is an explanatory diagram of an example of encoding of a prediction direction according to the first embodiment.
  • FIG. 8B is an explanatory diagram illustrating an example of encoding in the prediction direction according to the first embodiment.
  • FIG. 9 is a flowchart of the image encoding process according to the first embodiment.
  • FIG. 10 is a flowchart of the intra prediction encoding process according to the first embodiment.
  • FIG. 11 is a flowchart of the image decoding process according to the first embodiment.
  • FIG. 12 is a flowchart of the intra-screen predictive decoding process according to the first embodiment.
  • FIG. 2 is a conceptual explanatory diagram of predictive encoding processing used in H.264 / AVC.
  • FIG. 14A is an explanatory diagram of an example related to block type encoding according to the second embodiment.
  • FIG. 14B is an explanatory diagram of an example related to block type encoding according to the second embodiment.
  • FIG. 15 is a block diagram of a variable length coding unit according to the second embodiment.
  • FIG. 16 is a block diagram of a variable length decoding unit according to the second embodiment.
  • FIG. 17 is a flowchart of variable length encoding processing according to the second embodiment.
  • FIG. 18 is a flowchart of variable length decoding processing according to the second embodiment.
  • FIG. 19A is an explanatory diagram of encoding and decoding in the prediction direction according to the third embodiment.
  • FIG. 19B is an explanatory diagram of encoding and decoding in the prediction direction according to the third embodiment.
  • FIG. 20A is an explanatory diagram of the number of adjacent blocks having the same prediction direction data as the available adjacent blocks according to the third embodiment.
  • FIG. 20B is an explanatory diagram regarding the number of adjacent blocks having the same prediction direction data as the available adjacent blocks according to the fourth embodiment.
  • FIG. 20C is an explanatory diagram regarding the number of adjacent blocks having the same prediction direction data as the available adjacent blocks according to the fifth embodiment.
  • FIG. 21 is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21A is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21B is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21C is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21D is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21E is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21F is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21G is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21H is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21I is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21J is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21K is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 21L is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the third embodiment.
  • FIG. 22A is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22B is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22C is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22D is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22E is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22F is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22A is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22B is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 22C is an
  • FIG. 22G is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fourth embodiment.
  • FIG. 23A is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fifth embodiment.
  • FIG. 23B is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fifth embodiment.
  • FIG. 23C is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fifth embodiment.
  • FIG. 23D is an explanatory diagram illustrating a relationship between a target block and adjacent blocks according to the fifth embodiment.
  • FIG. 24 is an example of a block diagram of an intra-screen prediction unit in the video encoding device according to the third, fourth, and fifth embodiments.
  • FIG. 24 is an example of a block diagram of an intra-screen prediction unit in the video encoding device according to the third, fourth, and fifth embodiments.
  • FIG. 25 is an example of a block diagram of an intra-screen prediction unit in the video decoding device according to the third, fourth, and fifth embodiments.
  • FIG. 26 is a flowchart of the intra-coding process according to the third, fourth, and fifth embodiments.
  • FIG. 27 is a flowchart of the intra-screen decoding process according to the third, fourth, and fifth embodiments.
  • FIG. 2 conceptually shows the operation of intra-frame predictive encoding processing by H.264 / AVC.
  • a portion indicated by hatching in the lattice indicates a pixel that has been encoded
  • a portion indicated by hatching in a checkered pattern indicates a pixel to be encoded.
  • H. H.264 / AVC performs encoding processing on the encoding target image 501 in accordance with the raster scan order (arrow 507 in FIG. 5), and has already been encoded adjacent to the encoding target block 510 on the left, upper left, upper, and upper right. Prediction processing is performed using the decoded image for the block.
  • the prediction process uses the pixel values of 13 pixels included in the encoded block, and all the pixels on the same straight line with the prediction direction vector as an inclination are predicted based on the same pixel (for example, a rectangle 502). ).
  • the predictive encoding process generates a predicted image by referring to all the same pixels for the pixels B, C, D, and E of the encoding target block 510.
  • differences predictive differences
  • one prediction direction is selected in units of blocks from eight types of prediction direction candidates such as vertical, horizontal, and diagonal, and the prediction difference and a prediction direction value that is a number indicating the selected one prediction direction are obtained.
  • H. In H.264 / AVC in addition to the prediction process along the specific prediction direction, “DC prediction” that predicts all pixels included in the block to be encoded by the average value of the reference pixels can be used ( (See inside rectangle 504). Accordingly, one of nine prediction directions including “DC prediction” is selected.
  • FIG. 2 conceptually shows the operation of the intra-screen predictive decoding process by H.264 / AVC. In FIG.
  • a portion indicated by hatching in the lattice indicates a decoded pixel
  • a portion indicated by checkered hatching indicates a pixel to be decoded.
  • the decoding process is also performed on the encoding target image 701 in the raster scan order.
  • An arrow 707 indicates a raster scan order (encoding order).
  • the reverse procedure of the encoding process is performed using the decoded reference pixel and the prediction difference. That is, a decoded image is acquired by adding a prediction difference value and a reference pixel value along the prediction direction. For example, a rectangle 702 indicates an example of decoding in the prediction direction 0.
  • the decoding process is performed by predicting differences b ′, c ′, d ′, e ′ of the decoding target block 710 (b, FIG.
  • the decoded reference pixels A ′ are added to the decoded pixels B ′, C ′, D ′, and E ′ (where c, d, and e are decoded and include quantization errors).
  • H.P. H.264 / AVC intra-screen predictive encoding processing employs a unidirectional method in which a pixel at a position along a prediction direction from a reference pixel is predicted based on the reference pixel.
  • FIG. 6A and FIG. 2 shows an encoding method of a prediction direction in an intra-screen prediction method based on H.264 / AVC.
  • H. H.264 / AVC pays attention to the fact that the prediction direction of the target block is highly correlated with the prediction direction of the adjacent block, and estimates the prediction direction of the encoding target block from the prediction direction of the encoded adjacent block.
  • the prediction direction MA of the block 611a adjacent to the left side of the encoding target block 610 and the prediction direction MB of the block 611b adjacent to the upper side of the target block are referred to.
  • FIG. 6B is a diagram illustrating details of the bit configuration 603 representing the prediction direction.
  • H.264 / AVC when the prediction direction in the target block is the same as the prediction direction (adjacent direction) in the adjacent block, the prediction direction in the target block and the prediction direction (adjacent direction) in the adjacent block are the same prediction direction. Is encoded (1 bit).
  • Embodiment 1 is an example which uses this invention for the encoding process and decoding process of the prediction direction of an object block in the prediction in a screen.
  • the prediction direction of the target block it is determined whether the prediction direction of the target block can be easily estimated using prediction direction data of a block adjacent to the target block.
  • the method of encoding / decoding prediction direction data in the target block is switched between the case where it is determined that the prediction direction of the target block is easy to estimate and the case where the prediction direction of the target block is determined not easy to estimate. (Switching of encoding processing method or switching of decoding processing method).
  • this embodiment will be described in more detail.
  • 8A and 8B are diagrams illustrating an example of a method for determining whether the prediction direction of the encoding target block is easy to estimate, a prediction direction encoding method A, and a prediction direction encoding method B.
  • FIGS. 8A and 8B A method for determining whether or not the prediction direction of the encoding target block is easy to estimate will be described with reference to FIGS. 8A and 8B.
  • whether the prediction direction of the encoding target block is easy to estimate is determined by encoding adjacent to the left side, the upper side, the upper left side, and the upper right side of the encoding target block 810.
  • the prediction directions MA, MB, MC, and MD of the adjacent block 811a, adjacent block 811b, adjacent block 811c, and adjacent block 811d are used.
  • the prediction direction of the encoding target block is estimated.
  • the prediction direction data of the encoding target block is encoded using the prediction direction encoding method A.
  • the prediction direction information of the adjacent block cannot be used as the prediction direction of the encoding target block, such as the presence of the encoding target block at the slice end or the screen end, the prediction direction of the encoding target block is estimated. It is determined that it is easy, and the prediction direction data of the encoding target block is encoded using the prediction direction encoding method A.
  • the prediction direction encoding method A when there is an invalid direction in the prediction direction of the processing target block, the prediction direction encoding method A is used.
  • the prediction direction encoding method B For blocks that do not correspond to either of the above cases, it is determined that estimation of the prediction direction is not easy, the prediction direction encoding method B according to Table 803 is selected, and variable length encoding is performed.
  • the prediction direction encoding method A is selected by the determination method described above, the encoding process proceeds to the prediction direction selection process. That is, the prediction direction of any one of the prediction directions MA, MB, MC, MD of the encoded adjacent blocks 811a to 811d adjacent to the left side, the upper side, the upper left side, and the upper right side of the encoding target block is determined by a predetermined method.
  • the prediction direction of the selected adjacent block is determined to be the estimated prediction direction of the encoding target block.
  • the predetermined selection method may be any selection method as long as the same processing can be realized on both the encoding side and the decoding side.
  • a method of selecting a prediction direction having the smallest prediction direction value a method of selecting the most prediction direction among MA, MB, MC, and MD may be used.
  • the encoding process uses the encoded adjacent blocks 811a to 811d adjacent to the left side, the upper side, the upper left side, and the upper right side of the encoding target block as the adjacent blocks.
  • the prediction direction encoding method A determines estimated prediction information using prediction direction information of adjacent blocks, and encodes prediction direction data of a block to be encoded using the estimated prediction information.
  • the bit configuration 802 in FIG. 8B is a diagram illustrating details of the bit configuration for encoding the prediction direction data of the encoding target block in the prediction direction encoding method A.
  • the prediction direction encoding method A uses the prediction direction and the adjacent block in the encoding target block.
  • Information (1 bit) indicating that the prediction direction (adjacent direction) is the same prediction direction is encoded.
  • the prediction direction in the encoding target block is different from the adjacent direction that is the prediction direction (estimated prediction direction) in the adjacent block, the prediction direction in the encoding target block is different from the prediction direction (adjacent direction) in the adjacent block.
  • the prediction direction encoding method B encodes the prediction direction data of the encoding target block independently without estimating the prediction direction data of the encoding target block based on the prediction direction data of the adjacent block.
  • a table 803 in FIG. 8B is an example of a variable length code table used in the prediction direction encoding method B.
  • the prediction direction data of the block to be encoded is variable length encoded according to a variable length code table as shown in Table 803.
  • the prediction direction encoding method A if the prediction direction encoding method A is used, the probability that the code amount in the prediction direction is 4 bits is higher than the probability that the code amount in the prediction direction is 1 bit. Therefore, by using the prediction direction encoding method B in such a case, improving the probability of encoding the prediction direction with a 2-bit or 3-bit code amount is effective in reducing the code amount.
  • the variable length code table in Table 803 is an example, and other patterns may be used as long as the same effect can be obtained.
  • the encoding process in the present embodiment has been described. However, in the decoding process, decoding can be performed by performing a process opposite to the corresponding encoding method.
  • the decoding process in the present embodiment determines whether or not the prediction direction of the decoding target block is easy to estimate using prediction direction information of adjacent decoded blocks.
  • the prediction direction data of the decoding target block is decoded according to the bit configuration shown in the bit configuration 802.
  • the prediction direction data of the decoding target block is decoded based on the variable length code table shown in Table 803.
  • the moving image encoding apparatus includes an input image memory 102 that holds an input original image 101, a block dividing unit 103 that divides the input image into small regions, and a motion search unit that detects motion in units of blocks. 104, an intra-screen prediction unit 106 that performs intra-screen prediction processing (described in FIG. 7) in the same block unit, and an inter-screen prediction that performs inter-screen prediction in block units based on the motion amount detected by the motion search unit 104 A prediction unit 107; a mode selection unit 108 that selects a prediction encoding unit that matches the nature of the image; a subtraction unit 109 that generates prediction difference data; and a frequency conversion unit 110 that performs an encoding process on the prediction difference data.
  • a fine inverse frequency transform unit 114 includes an adder 115 for generating the decoded image by using the predicted differential data decoded, and a reference image memory 116 for storing the decoded image.
  • the input image memory 102 holds one image from the original image 101 as an encoding target image, and the block dividing unit 103 divides it into fine blocks, which are output to the motion search unit 104 and the in-screen prediction unit 106. To do.
  • the motion search unit 104 calculates the motion amount of the corresponding block using the decoded image stored in the reference image memory 116, and outputs it to the inter-screen prediction unit 107 as motion vector data.
  • the intra-screen prediction unit 106 and the inter-screen prediction unit 107 perform intra-screen prediction processing and inter-screen prediction processing in units of blocks.
  • the mode selection unit 108 selects an optimal prediction process from the intra-screen prediction process and the inter-screen prediction process.
  • the mode selection unit 108 outputs the predicted image for the selected prediction process to the subtraction unit 109.
  • the mode selection unit 108 outputs encoded prediction direction data described later to the variable length decoding unit 112.
  • the subtraction unit 109 generates prediction difference data between the input image and the prediction image obtained by the above-described optimal prediction encoding process, and outputs the prediction difference data to the frequency conversion unit 110.
  • the frequency conversion unit 110 and the quantization processing unit 111 perform frequency conversion processing such as DCT (Discrete Cosine Transformation) and quantization for each block unit having a specified size with respect to the transmitted prediction difference data. Processing is performed and output to the variable length coding processing unit 112 and the inverse quantization processing unit 113.
  • DCT Discrete Cosine Transformation
  • the variable-length coding processing unit 112 performs prediction difference information represented by the frequency transform coefficient together with information necessary for predictive decoding such as a prediction direction in intra prediction encoding and a motion vector in inter prediction encoding, for example, Variable length coding is performed based on the probability of symbol generation to generate a coded stream. Further, the inverse quantization processing unit 113 and the inverse frequency transform unit 114 perform inverse frequency transforms such as inverse quantization and IDCT (Inverse DCT) on the quantized frequency transform coefficients, respectively, and perform prediction differences. Is output to the adder 115. The adder 115 generates a decoded image and outputs it to the reference image memory 116. The reference image memory 116 stores the decoded image.
  • FIG. 2 is a diagram illustrating details of the intra-screen prediction unit 106 of the moving picture coding apparatus according to the present embodiment.
  • the input image is input to the direction prediction unit 201.
  • the direction-specific prediction unit 201 uses the pixel value of the decoded image of the encoded adjacent block stored in the reference image memory 116 for each block of the input image input from the block dividing unit 103 for each prediction direction.
  • the prediction image is generated and the prediction process is performed. In this encoding process, the H.264 described in FIG. H.264 / AVC encoding method is used. This prediction result is input to the prediction direction determination unit 202.
  • the prediction direction determination unit 202 selects a prediction direction that provides the best coding efficiency, and determines that direction as the prediction direction of the encoding target block.
  • the prediction direction determination unit 202 outputs a prediction image for the determined prediction direction to the mode selection unit 108. Further, the information on the determined prediction direction is output to the prediction direction estimation difficulty level determination unit 203. Further, the prediction direction storage memory 206 stores the determined prediction direction.
  • the prediction direction estimation difficulty level determination unit 203 reads prediction direction information of surrounding encoded blocks from the prediction direction storage memory 206, and determines whether the prediction direction of the encoding target block is easy to estimate from the read prediction direction information. judge.
  • the intra prediction unit 106 switches the encoding method of the prediction direction based on the determination result. For example, when it is determined that the estimation of the prediction direction of the encoding target block is easy, the prediction direction data encoding process is performed by the prediction direction prediction encoding unit 205.
  • the prediction direction prediction encoding unit 205 encodes the prediction direction data using, for example, a method (prediction direction encoding method A) based on the data 802 in FIG. 8B.
  • the prediction direction data encoding process is performed by the prediction direction variable length encoding unit 204.
  • the prediction direction variable length encoding unit 204 encodes the prediction direction using, for example, the method shown in Table 803 in FIG. 8B (prediction direction encoding method B).
  • the prediction direction variable length encoding unit 204 or the prediction direction prediction encoding unit 205 outputs the prediction direction data encoded as described above to the mode selection unit 108.
  • the intra prediction unit 106 performs the encoding process of the prediction direction data, but this encoding process may be performed by the variable length encoding unit 112, or another configuration unit may be used. You may go.
  • the moving picture decoding apparatus includes, for example, a variable length decoding unit 302 that performs the reverse procedure of variable length coding on the encoded stream 301 generated by the moving picture encoding apparatus illustrated in FIG.
  • An inverse quantization processing unit 303 and an inverse frequency conversion unit 304 that decode the prediction difference data
  • an intra-screen prediction unit 306 that performs intra-screen prediction processing
  • an inter-screen prediction unit 307 that performs inter-screen prediction
  • a decoded image included.
  • An adder 308 to generate and a reference image memory 309 for storing the decoded image are included.
  • the variable length decoding unit 302 performs variable length decoding on the encoded stream 301, and acquires information necessary for prediction processing such as a frequency transform coefficient component of a prediction difference and a prediction direction and a motion vector.
  • the frequency transform coefficient component of the prediction difference is output to the inverse quantization processing unit 303.
  • the prediction direction, the motion vector, and the like are output to the intra-screen prediction unit 306 or the inter-screen prediction unit 307 depending on the prediction means.
  • the inverse quantization processing unit 303 and the inverse frequency transform unit 304 perform inverse quantization and inverse frequency transform on the prediction difference information, respectively, and decode the prediction difference data.
  • the intra-screen prediction unit 306 or the inter-screen prediction unit 307 performs a prediction process with reference to the decoded image stored in the reference image memory 309 based on the data input from the variable length decoding unit 302.
  • the adding unit 308 generates a decoded image.
  • the reference image memory 309 stores the decoded image.
  • FIG. 4 is a diagram illustrating details of the intra-screen prediction unit 306 of the video decoding device in the present embodiment.
  • the prediction direction estimation difficulty level determination unit 401 reads the prediction direction information of the surrounding decoded blocks from the prediction direction storage memory 405, and estimates the prediction direction of the decoding target block based on the read information. Whether or not is easy. For this determination method, for example, the method described with reference to FIGS.
  • the prediction direction prediction decoding unit 403 decodes the prediction direction data.
  • the prediction direction prediction decoding unit 403 performs decoding processing of prediction direction data using a decoding method corresponding to the method using the encoded data 802 in FIG. 8B (prediction direction encoding method A), for example.
  • the prediction direction variable length decoding unit 402 performs the decoding process of the prediction direction data.
  • the prediction direction variable length decoding unit 402 performs the decoding process of the prediction direction data by using, for example, a decoding method corresponding to the method according to the table 803 in FIG. 8B (prediction direction encoding method B).
  • the prediction direction data decoded as described above is input to the intra-screen prediction image generation unit 404.
  • the prediction direction storage memory 405 stores the prediction direction data subjected to the decoding process.
  • the intra-screen prediction image generation unit 404 outputs the intra-screen prediction image to the addition unit 308 based on the pixel value of the decoded image of the adjacent block input from the reference image memory 309 and the decoded prediction direction data.
  • the intra prediction unit 306 performs the decoding process of the prediction direction data.
  • the decoding process can be performed by the variable length decoding unit 302 or performed by another component unit. May be.
  • an encoding processing procedure for one frame of the moving image encoding apparatus according to the present embodiment will be described with reference to FIG. In the encoding process, first, the following process is performed on all blocks existing in a frame to be encoded (S901).
  • the prediction difference is calculated by performing predictive coding processing for all coding modes once for the corresponding block (S902), and the coding direction with the highest coding efficiency is selected.
  • the encoding mode is a combination of a prediction method and a block size.
  • the prediction mode in which the target block is predictively encoded is determined (S903).
  • the process selected from the intra prediction encoding process (S904) and the inter prediction encoding process (S907) is performed. By selecting an optimal predictive encoding process, encoding is efficiently performed according to the nature of the image.
  • the RD-Optimization method for determining the optimum coding direction from the relationship between image quality distortion and code amount is used. Therefore, it can encode efficiently. Details of the RD-Optimization method are described in the following references, for example, and are well-known techniques, and detailed description thereof is omitted here. (Reference: G. Sullivan and T. Wiegand: “Rate-Distration Optimization for Video Compression”, IEEE Signal Processing Magazine, vol. 15, no. 6, pp.
  • intra prediction processing (S1002) is performed for all prediction directions (S1001) in a block to be encoded.
  • An optimal prediction direction is selected from these (S1003). Further, it is determined whether or not the prediction direction can be easily estimated from information on surrounding blocks that have already been encoded (S1004). If it is easy, encoding is performed using the prediction direction encoding method A (S1005). If not easy, encoding is performed using the prediction direction encoding method B (S1006). Thereby, the encoding in the prediction direction for one block is completed (S1007).
  • S1002 intra prediction processing
  • the prediction direction data is encoded in the intra-frame prediction encoding process (S904), but this encoding can also be performed in the variable length encoding process (S911), or It may be performed in a separate process.
  • the decoding processing procedure for one frame in the moving picture decoding apparatus shown in FIG. 3 will be described with reference to FIG. In this process, first, the following process is performed for all blocks in one frame (S1101). That is, variable length decoding processing is performed on the input stream (S1102), inverse quantization processing (S1103) and inverse frequency conversion processing (S1104) are performed, and the prediction difference data is decoded. Next, the prediction mode in which the target block is predictively encoded is determined based on information included in the encoded stream (S1105).
  • an intra-screen predictive decoding process (S1106) or an inter-screen predictive decoding process (S1109) is performed to generate a predicted image, and the decoded image is added to the above-described decoded prediction difference data. Is generated. Then, the generated decoded image is stored in the reference image memory. By completing the above processing for all the blocks in the frame, the decoding for one frame of the image is completed (S1110). Next, details of the processing procedure of the intra prediction decoding process (S1106) of FIG. 11 will be described with reference to FIG. In this process, first, it is determined whether the prediction direction of the target block is easy to estimate from the prediction directions of the decoded blocks located around the target block (S1201).
  • decoding corresponding to the prediction direction encoding method A is executed (S1202), and if not easy, decoding processing corresponding to the prediction direction encoding method B is performed. Execute (S1203). Finally, predictive decoding processing is performed based on the decoded prediction direction data (S1204), and intra-block predictive decoding processing for one block ends (S1205).
  • the prediction direction data is decoded in the intra prediction decoding process (S1106), but this decoding can also be performed in the variable length decoding process (S1102), or It may be performed in a separate process.
  • DCT is cited as an example of frequency conversion, but DST (Discrete Sine Transformation), WT (Wavelet Transformation), DFT (Discrete Fourier Transform), KLT (Krh) Any frequency transform can be used as long as it is an orthogonal transform used for inter-pixel correlation removal, such as -Loeve Transformation (Karunen-Reeb transform).
  • encoding may be performed on the prediction difference itself without performing frequency conversion.
  • variable length coding need not be performed.
  • this embodiment has described the case where prediction is performed in block units of 4 ⁇ 4 pixel size as an example, for example, any size block such as 8 ⁇ 8 pixel size or 16 ⁇ 16 pixel size is described. The present invention may be applied to.
  • this embodiment is H.264. Although prediction is performed along eight directions defined by H.264 / AVC, the number of directions may be increased or decreased. According to the video encoding device, the video encoding method, the video decoding device, and the video decoding method according to the first embodiment described above, the code amount is further reduced in the video encoding / decoding process. It becomes possible to do.
  • FIG. The second embodiment is a selective encoding process shown in the first embodiment with respect to the encoding process of prediction mode information such as the size of a macroblock used for predictive encoding and a prediction method (intra prediction, inter prediction). Is used.
  • FIG. The types of coding modes that can be used in the Baseline profile in H.264 / AVC are shown.
  • the encoding process determines an encoding mode for each macroblock 1311 having a 16 ⁇ 16 pixel size. For this determination, whichever prediction method is applied, intra prediction (intra prediction) in which compression is performed using the pixel correlation of the block in the screen, or inter prediction (inter prediction) using the pixel correlation of the block in the screen is applied. As well as the size of the block used for prediction.
  • intra prediction intra prediction
  • inter prediction inter prediction
  • H. H.264 / AVC as a pixel value prediction method between screens, forward prediction (Predictive prediction) that designates one reference image and bi-directional predictive (Bi-directional predictive) that can designate two reference images. Prediction), but when using the Baseline profile, only Predictive prediction is available.
  • each frame for example, frame 1302
  • encoding is sequentially performed in the order of raster scanning from the macroblock at the upper left of the screen toward the macroblock at the lower right.
  • an encoded macro block 1301 is illustrated in the corresponding frame 1302.
  • the macroblock can be divided into smaller blocks, and the encoding process is performed by selecting an optimum one from several sizes determined in advance for each type of prediction method.
  • intra prediction two types of block sizes of 16 ⁇ 16 pixels (I16 ⁇ 16 mode) and 4 ⁇ 4 pixels (I4 ⁇ 4 mode) can be used. Mode is used.
  • FIG. 13 illustrates six prediction directions in determining the prediction direction in the I4 ⁇ 4 mode.
  • One of the encoded pixels is indicated at 1303.
  • ⁇ 16 mode) and 8 ⁇ 8 pixel (P8 ⁇ 8 mode) sizes are prepared.
  • the 8 ⁇ 8 pixel size it can be further divided into sub-macroblocks of 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel sizes.
  • a Pskip mode that does not encode motion vector information is prepared for a block size of 16 ⁇ 16 pixels
  • a P8 ⁇ 8ref0 mode that does not encode a reference frame number is prepared for an 8 ⁇ 8 pixel size.
  • An arrow 1307 in FIG. 13 is a motion vector.
  • the above prediction method and block size are determined, and the information is encoded.
  • a combination of the above prediction method (intra-screen prediction, inter-screen prediction) and block size (for example, I16 ⁇ 16 mode or I4 ⁇ 4 mode) is called a block type.
  • FIG. 14A is an image block explanatory diagram
  • FIG. 14B is a bit configuration diagram 1402
  • FIG. 14B is a variable length code table 1403
  • FIG. 8A is an image block explanatory diagram of FIG. Corresponds to the variable length code table 803.
  • 14A and 14B Embodiment 2
  • FIG. 8A and FIG. 8B Embodiment 1
  • FIG. 8A and 8B is changed to “block type”, FIG.
  • the block type encoding method shown in FIG. 14A and FIG. 14B can be realized. Specifically, as shown in the image block explanatory diagram of FIG. 14A, the encoding processing of this embodiment is encoded on the encoding target block 1410 adjacent to the left side, the upper side, the upper left side, and the upper right side, respectively.
  • the block type of the target block is estimated using the decoded images of the adjacent block 1411a, the adjacent block 1411b, the adjacent block 1411c, and the adjacent block 1411d. At this time, the block type encoding scheme is switched depending on whether estimation is easy or not.
  • block type estimation is easy, block type encoding method A is used, and the block type of the target block is encoded based on the prediction result using the block type of the adjacent block.
  • block type encoding method B is used, and the block type is encoded independently without estimation from adjacent blocks.
  • This estimation difficulty level is determined by, for example, voting from the block types MSA, MSB, MSC, MSD of surrounding neighboring blocks 1411a, 1411b, 1411c, 1411d, and N (N is an integer of 2 or more). If the same block type exists, it is determined that the block type is easy to estimate. Otherwise, it is determined that it is not easy.
  • a bit configuration 1402 shows details of a bit configuration representing a prediction method of the block type encoding method A.
  • the block type encoding method A needs to determine the adjacent mode (estimated block type).
  • an adjacent mode (estimated block type) is determined by a predetermined method. For example, it can be determined that the block type that appears most frequently among the block types of the surrounding blocks is the adjacent mode (estimated block type).
  • Table 1403 shows an example of a variable length code table used in block type encoding method B.
  • the block type is variable length encoded according to a variable length code table as shown in Table 1403.
  • the variable length code table in Table 1403 is an example, and other patterns may be used.
  • the decoding process can be block-type decoded by performing a process opposite to the corresponding encoding method. That is, the block type estimation difficulty level of the target block is determined using block type information of adjacent decoded blocks.
  • block type estimation is easy, block type decoding is performed in accordance with the bit configuration shown in the bit configuration diagram 1402.
  • block type decoding is performed based on the code table in Table 1403.
  • the image coding apparatus according to the present embodiment can be realized by applying the configuration shown in FIG. 15 to the variable length coding unit 112 in the image coding apparatus of FIG.
  • the other configuration is the same as the configuration of FIG. In FIG.
  • the data quantized by the quantization processing unit 111 illustrated in FIG. 1 is input to the variable length encoding unit 112.
  • block type information is stored in the block type storage memory 1505.
  • the block type estimation difficulty level determination unit 1501 reads information on the surrounding encoded block type from the block type storage memory 1505, and determines the block type estimation difficulty level of the target block based on the read information. For example, the method described with reference to FIGS. 14A and 14B can be used to determine the estimation difficulty level.
  • the variable length encoding unit 112 switches the block type encoding method based on this determination. For example, when it is determined that block type estimation is easy, block type encoding is performed by the block type predictive encoding unit 1503.
  • the block type predictive encoding unit 1503 performs block type encoding using the method (block type encoding method A) shown in the bit configuration diagram 1402 of FIG. 14B. For example, when it is determined that block type estimation is not easy, block type encoding is performed by the block type variable length encoding unit 1502.
  • the block type variable length encoding unit 1502 performs block type encoding using, for example, a variable length encoding method (block type encoding method B) using the table 1403 of FIG. 14B. As described above, the variable length encoding unit 112 performs encoding while selecting a block type encoding method for each block.
  • variable length coding unit 1504 other than the block type performs variable length coding of data other than the block type, and uses the result and the result of coding the block type as an output value.
  • the variable length encoding unit 112 performs block type encoding, but the mode selection unit 108 may perform encoding, or another configuration unit may perform it.
  • the image decoding apparatus according to the present embodiment can be realized by applying the configuration shown in FIG. 16 to the variable length decoding unit 302 in the image decoding apparatus of FIG.
  • the other configuration is the same as the configuration of FIG. In FIG.
  • the block type estimation difficulty level determination unit 1601 reads block type information of surrounding decoded blocks from the block type storage memory 1605, and based on the read information, the block type estimation difficulty level of the target block Determine. As this method, for example, the method described with reference to FIGS. 14A and 14B can be used.
  • the variable length decoding unit 302 switches the block type decoding method based on this determination. For example, when it is determined that block type estimation is easy, block type decoding is performed by the block type predictive decoding unit 1603.
  • the block type predictive decoding unit 1603 performs decoding using, for example, a decoding scheme corresponding to the method (block type encoding method A) shown in the bit configuration diagram 1402 of FIG. 14B.
  • block type decoding is performed by the block type variable length decoding unit 1602.
  • the block type variable length decoding unit 1602 performs block type decoding using a decoding method corresponding to the variable length decoding method (block type encoding method B) using the table 1403 of FIG. 14B, for example.
  • the block type decoded as described above is stored in the block type storage memory 1605.
  • the variable length decoding unit 1604 other than the block type performs variable length decoding of data other than the block type, and outputs a decoding result of data other than the block type and a decoding result of the block type.
  • the block type decoding is performed by the variable length decoding unit 302.
  • the intra-screen prediction unit 306 and the inter-screen prediction unit 307 may perform the decoding, or another configuration unit. May do.
  • the processing shown in FIG. 17 is executed in the variable length encoding process 911 in FIG. 9 of the first embodiment. Since other processes are the same as those of the first embodiment, the description thereof is omitted.
  • the process of FIG. 17, first, with respect to a block to be encoded, it is determined whether or not the block type can be easily estimated from information on surrounding blocks that have already been encoded (S1701). If easy, encoding is performed using the block type encoding method A (S1702).
  • variable length encoding process (S911) performs block type encoding, but this encoding can also be performed by the encoding mode selection process (S908), or another process can be performed. You may go.
  • the contents shown in FIG. 18 are executed in the variable length decoding process (S1102) in FIG. 11 of the first embodiment. Since other processes are the same as those of the first embodiment, the description thereof is omitted.
  • variable-length decoding process (S1102) performs block type decoding, but this decoding is performed by the intra prediction decoding process (S1106) and the inter prediction decoding process (S1109). Or another process may be performed.
  • DCT is cited as an example of frequency conversion, but DST (Discrete Sine Transformation), WT (Wavelet Transformation), DFT (Discrete Fourier Transform), KLT (Discrete Fourier Transform) Any frequency transform can be used as long as it is an orthogonal transform used for inter-pixel correlation removal, such as Karhunen-Loeve Transform (Karhunen-Loeve Transformation). You may encode with respect to the prediction difference itself, without performing frequency conversion. Furthermore, variable length coding need not be performed.
  • this embodiment is H.264. Although prediction is performed along 8 directions defined by H.264 / AVC, the number of directions may be increased or decreased. Moreover, although this embodiment has exemplified some block types, other block types may be used. In the above two embodiments, an example in which the present invention is applied to encoding and decoding in the prediction direction in intra prediction and block type encoding and decoding in prediction encoding has been described. For example, the present invention is applicable to other information as long as it is an encoding process and a decoding process for information that needs to be encoded in units of blocks, such as CBP (Coded Block Pattern) indicating the presence / absence of a frequency coefficient and a motion vector. Can be applied.
  • FIGS. 8A and 8B (a) among blocks adjacent to the target block, whether or not there are a certain number of adjacent blocks having the same prediction direction data, or (b) target Whether there is an adjacent block having prediction direction data that cannot be used as the prediction direction of the block, (c) the condition is divided into three cases other than (a) and (b) above, and the degree of difficulty is determined and code Switching between decoding / decoding methods.
  • 19A and 19B are diagrams in which the switching conditions of the encoding / decoding method in FIGS. 8A and 8B are replaced with those in the present embodiment, and the other contents are substantially the same as those in FIGS. 8A and 8B. It is. In FIG.
  • modes of adjacent blocks 1911a, 1911b, 1911c, and 1911d of the encoding target block 1910 are indicated by MA, MB, MC, and MD.
  • the encoding method A when the estimation is easy uses the data 1902
  • the encoding method B when the estimation is not easy uses the table 1903.
  • available adjacent blocks the number of adjacent blocks having data in the prediction direction and existing in the same slice as the target block
  • available adjacent blocks available adjacent blocks
  • available adjacent blocks available adjacent blocks
  • an adjacent block becomes an unusable adjacent block is a case where information on the adjacent block cannot be used.
  • the adjacent block is in the inter-screen prediction mode and does not have information on the intra-screen prediction mode, or when the target block is located at the edge of the slice and the slice to which the adjacent block and the target block belong is different , Neighboring block information cannot be used.
  • the adjacent block which cannot be used in this specification also means that the target block is located at the screen edge and the position of the adjacent block is outside the screen.
  • the prediction mode storage memory 2402 stores the prediction mode.
  • the prediction direction estimation difficulty level determination unit 401 of the moving picture decoding apparatus shown in FIG. 25 stores the prediction mode.
  • the prediction mode storage memory 2502 stores the prediction mode.
  • configurations and operations of the encoding method determination unit 2401 and the decoding method determination unit 2501 will be described, and description of other configurations and operations will be omitted.
  • S1004 is replaced with the determination (S2601) of the number of available adjacent blocks and the number of blocks having the same prediction direction data among the available adjacent blocks.
  • FIG. 20A is a diagram illustrating a relationship between the number of usable adjacent blocks and the number of blocks having the same prediction direction data among the usable adjacent blocks when a maximum of four blocks are used as candidate blocks.
  • FIG. 21 shows a processing target block 2101 and four candidate blocks (block A to block D) 2102a to 2102d adjacent thereto. Further, (a) to (l) in FIG. 20A correspond to FIGS. 21A to 21L, and FIGS.
  • the positions of the blocks having the same prediction direction data are not limited to the positions in FIGS. 21A to 21L, and may be any positions of the four candidate blocks.
  • the position of the unusable adjacent block is not limited to the position of FIGS. 21A to 21L, and may be any position of the four candidate blocks.
  • switching of the encoding / decoding method of the target block when a maximum of four blocks are used as candidate blocks will be specifically described.
  • ⁇ , ⁇ , ⁇ , and ⁇ indicate prediction direction data of candidate blocks, respectively.
  • FIGS. 21A to 21E described below show an example in which there are four usable adjacent blocks and there are no unusable adjacent blocks.
  • FIG. 21A shows a case where there are four blocks having the same prediction direction data among the available adjacent blocks 2102a to 2102d.
  • the encoding / decoding method A is selected, and the target block 2101 is encoded / decoded. This is because the predictive direction data of the adjacent blocks 2102a to 2102d that are adjacent to the target block 2101 are all the same, and therefore the target block 2101 is highly likely to have the predicted direction data.
  • FIG. 21B shows a case where there are three blocks 2102a to 2102c having the same prediction direction data among the available adjacent blocks 2102a to 2102d.
  • the encoding / decoding method A is selected, and the target block 2101 is encoded / decoded.
  • FIG. 21C shows a case where two blocks 2102a and 2102b among the available adjacent blocks 2102a to 2102d have the same prediction direction data, and are different from the prediction direction data of the other two blocks 2102c and 2102d, respectively.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded.
  • the prediction direction data of the target block is the same as the two prediction direction data, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B.
  • the amount of codes can be further reduced. FIG. 19
  • 21D shows a case where two sets (2102a, 2102b) and (2102c, 2102d) of two blocks having the same prediction direction data among the available adjacent blocks 2102a to 2102d exist.
  • the encoding / decoding process is performed by determining the prediction direction data of the target block 2101 in one of the methods shown in the following two examples (d-A) and (d-B), for example. / Perform decryption.
  • Example 1 (d-A) In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method A. Of the prediction direction data of two sets of available adjacent blocks (2102a, 2102b) and (2102c, 2102d), the target block 2101 is encoded using the prediction direction data with the smaller prediction direction value (number indicating the prediction direction). To decrypt / decrypt. This is because the prediction direction data having a smaller prediction direction value is more likely to be the same as the prediction direction data of the target block 2101. When the prediction direction data of the target block is the same as the prediction direction data with the smaller prediction direction value, 1-bit information may be encoded / decoded as described in FIGS. 19A and 19B.
  • Example 2 (d-B) In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method B. In this case, even if the prediction direction data of the target block is different from the prediction direction data of the adjacent block that can be used, a part of the prediction direction data can be expressed by 2 bits or 3 bits smaller than 4 bits. That is, even when the prediction direction data of the target block is different from the prediction direction data of the adjacent block that can be used, there is a probability that the prediction direction data of the target block can be encoded and decoded with a 2-bit or 3-bit code amount.
  • the code amount can be reduced compared to the case of selecting the encoding / decoding method A and encoding / decoding with a 4-bit code amount.
  • FIG. 21E shows a case where there are no blocks having the same prediction direction data among the available adjacent blocks 2102a to 2102d.
  • the encoding / decoding method B is selected, and the target block 2101 is encoded / decoded. This is because the prediction direction data of the target block 2101 is likely to be different from the prediction direction data of the adjacent blocks that can be used.
  • some prediction direction data can be expressed by 2 bits or 3 bits smaller than 4 bits.
  • FIGS. 21F to 21H described below show an example in which there are three usable adjacent blocks and one unusable adjacent block.
  • FIG. 21F shows a case where there are three blocks having the same prediction direction data among the three available adjacent blocks 2102b to 2102d.
  • Block 2102a is an unusable adjacent block.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded. This is because the prediction direction data of the adjacent blocks 2102b to 2102d that are adjacent to the target block 2101 are all the same, and therefore the target block 2101 is highly likely to have the prediction direction data.
  • the prediction direction data of the target block and the available adjacent block are the same, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B.
  • the amount of codes can be reduced. FIG.
  • 21G shows a case where there are two blocks 2102a, 2102c having the same prediction direction data among the available adjacent blocks 2102a, 2102c, 2102d.
  • Block 2102b is an unusable adjacent block.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded. This is because two prediction direction data of the prediction direction data of the adjacent blocks that can be used adjacent to the target block 2101 are the same, and thus the target block 2101 is highly likely to have the prediction direction data.
  • the prediction direction data of the target block is the same as the two prediction direction data, it is sufficient to encode and decode 1-bit information as described in FIGS. 19A and 19B.
  • FIG. 21H shows a case where there are no blocks having the same prediction direction data among the available adjacent blocks 2102a, 2102b, and 2102d.
  • Block 2102c is an unusable adjacent block.
  • the encoding / decoding method B is selected and the target block 2101 is encoded / decoded. This is because the prediction direction data of the target block 2101 is likely to be different from the prediction direction data of the adjacent blocks that can be used.
  • some prediction direction data can be expressed by 2 bits or 3 bits smaller than 4 bits.
  • FIGS. 21I and 21J described below show an example in which there are two usable adjacent blocks and two unusable adjacent blocks.
  • FIG. 21I shows a case where there are two blocks having the same prediction direction data among the available adjacent blocks 2102c and 2102d. Blocks 2102a and 2102b are unusable adjacent blocks.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded.
  • the prediction direction data of the available adjacent blocks adjacent to the target block 2101 are all the same, and thus the target block 2101 is highly likely to have the prediction direction data.
  • FIG. 21J shows a case where there is no block having the same prediction direction data among the available adjacent blocks 2102a and 2102b. Blocks 2102c and 2102d are unusable adjacent blocks.
  • prediction direction data of the target block 2101 is determined by one of the processing methods shown in the following two examples (j-A) and (j-B).
  • the target block 2101 is encoded / decoded using the encoding / decoding method A.
  • the encoding / decoding process encodes / decodes the target block 2101 using the prediction direction data with the smaller prediction direction value among the prediction direction data of the two available adjacent blocks 2102a and 2102b. Do.
  • Example 2 In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method B.
  • some prediction direction data is represented by 2 bits or 3 bits smaller than 4 bits. be able to. That is, even if the prediction direction data of the target block is different from the prediction direction data of the adjacent block that can be used, the probability that the prediction direction data of the target block can be encoded and decoded with a 2-bit or 3-bit code amount The code amount can be reduced as compared with the case of selecting the encoding / decoding method A and encoding / decoding with a 4-bit code amount. (4) FIG.
  • FIG. 21K shows an example in which one usable adjacent block 2102d exists and three unusable adjacent blocks 2102a to 2102c exist.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded. This is because the prediction direction data of the available adjacent block 2102d adjacent to the target block 2101 and the prediction direction data of the target block 2101 are likely to be the same.
  • the prediction direction data of the target block and the available adjacent block are the same, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B.
  • the amount of codes can be reduced. (5) FIG.
  • Example 1 (1-B) In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method B.
  • the target block 2101 is encoded / decoded using the encoding / decoding method A.
  • the prediction direction data of the usable adjacent block cannot be used as the prediction direction data of the target block.
  • the DC prediction shown in FIG. 7 is selected as the estimated prediction direction of the target block, and encoding / decoding is performed.
  • the prediction direction of the target block is DC prediction
  • the direction selected as the estimated prediction direction of the target block 2101 is not limited to DC prediction, Any of the prediction directions defined in H.264 / AVC may be used.
  • Example 3 (1-C) The encoding / decoding process encodes / decodes the target block using an encoding / decoding method C (not shown).
  • the encoding / decoding method C is determined in advance that DC prediction is used on the encoding side and the decoding side when there is no usable adjacent block around the target block.
  • This is a processing method for performing encoding and decoding processing of the target block.
  • the pixel encoding / decoding process has been described.
  • the present invention may be applied to the macroblock type and prediction mode information encoding / decoding process described in the second embodiment. Moreover, you may combine with any described Example.
  • the adjacent block when the adjacent block is in the inter-screen prediction mode or the like, the information about the intra-screen prediction mode is not available, or the target block is located at the screen edge or slice edge, and the adjacent block information is used. Even if it is not possible, the coding amount is more suitably selected because the encoding / decoding method is switched according to the combination of the number of usable adjacent blocks and the number of blocks having the same prediction direction data among the usable neighboring blocks. Can be reduced.
  • Embodiment 4 FIG. In the present embodiment, as in the third embodiment, as shown in FIGS.
  • the encoding / decoding method is switched according to the combination of the number of usable adjacent blocks) and (b) the number of blocks having the same prediction direction data among the usable adjacent blocks.
  • the encoding / decoding method of the target block is switched using a maximum of four blocks as candidate blocks, but in this embodiment, as shown in FIG. 20B.
  • the encoding / decoding method of the target block is switched using a maximum of three blocks as candidate blocks.
  • FIG. 20B is a diagram illustrating a relationship between the number of usable adjacent blocks and the number of blocks having the same prediction direction data among the usable adjacent blocks when a maximum of three blocks are used as candidate blocks. Also, (a) to (g) in FIG. 20B correspond to FIGS. 22A to 22G, and FIGS.
  • the positions of a block that is not used as a candidate block may be any position of the blocks 2102c and 2102d.
  • the position of the block having the same prediction direction data is not limited to the position shown in FIGS. 22A to 22G, and may be any position of the three candidate blocks. Further, the positions of the unusable adjacent blocks in the present embodiment are not limited to the positions shown in FIGS.
  • FIG. 22A to 22G may be any positions of the three candidate blocks.
  • the target block is the block 2101.
  • FIGS. 22A to 22C described below show an example in which there are three usable adjacent blocks and there are no unusable adjacent blocks. The other is a non-candidate block.
  • FIG. 22A shows a case where there are three blocks having the same prediction direction data among the available adjacent blocks 2102a to 2102c. Block 2102d is a non-candidate block.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded.
  • the prediction direction data of the available adjacent blocks 2102a to 2102c adjacent to the target block 2101 are all the same, and therefore the target block 2101 is highly likely to have the prediction direction data.
  • the prediction direction data of the target block and the available adjacent block are the same, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B.
  • the amount of codes can be reduced.
  • FIG. 22B shows a case where there are two blocks having the same prediction direction data among the available adjacent blocks 2102a to 2102c.
  • Block 2102d is a non-candidate block.
  • the encoding / decoding method A is selected and the target block is encoded / decoded.
  • the prediction direction data of the target block is the same as the two prediction direction data, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B.
  • the code amount can be further reduced.
  • Block 2102c is a non-candidate block.
  • the encoding / decoding method B is selected and the target block 2101 is encoded / decoded. This is because the prediction direction data of the target block is likely to be different from the prediction direction data of the adjacent blocks that can be used.
  • some prediction direction data can be expressed by 2 bits or 3 bits smaller than 4 bits.
  • FIGS. 22D and 22E described below show an example in which there are two usable adjacent blocks and one unusable adjacent block. The other is a non-candidate block.
  • FIG. 22D shows a case where there are two blocks having the same prediction direction data among the available adjacent blocks 2102b and 2102c.
  • Block 2102a is an unusable adjacent block, and block 2102d is a non-candidate block.
  • the encoding / decoding method A is selected and the target block 2101 is encoded / decoded.
  • the prediction direction data of the adjacent blocks 2102b and 2102c that can be used adjacent to the target block 2101 are all the same, and thus the target block 2101 is highly likely to have the prediction direction data.
  • the prediction direction data of the target block and the available adjacent block are the same, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B.
  • the amount of codes can be reduced.
  • Block 2102b is an unusable adjacent block
  • block 2102c is a non-candidate block.
  • the encoding / decoding process is performed by, for example, determining the prediction direction data of the target block 2101 by any one of the processing methods shown in the following two examples (e-A) and (e-B). Decrypt.
  • Example 1 In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method A. In this case, encoding / decoding of the target block 2101 is performed using prediction direction data having a smaller prediction direction value (a number indicating the prediction direction) among prediction direction data of two available adjacent blocks 2102a and 2102d. Do. This is because the prediction direction data having a smaller prediction direction value is more likely to be the same as the prediction direction data of the target block 2101. When the prediction direction data of the target block is the same as the prediction direction data with the smaller prediction direction value, 1-bit information may be encoded / decoded as described in FIGS. 19A and 19B.
  • Example 2 (e-B) In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method B. In this case, even if the prediction direction data of the target block 2101 is different from the prediction direction data of the adjacent blocks 2102a and 2102d that can be used, some prediction direction data is expressed by 2 bits or 3 bits smaller than 4 bits. be able to.
  • FIG. 22F described below shows an example in which one usable adjacent block exists and two unusable adjacent blocks exist.
  • An available adjacent block is block 2102c.
  • Blocks 2102a and 2102b are unavailable adjacent blocks, and block 2102d is a non-candidate block.
  • FIG. 22F in the encoding / decoding process, the encoding / decoding method A is selected, and the target block 2101 is encoded / decoded. This is because there is a high possibility that the prediction direction data of the available adjacent block 2102 c adjacent to the target block 2101 and the prediction direction data of the target block 2101 are the same. When the prediction direction data of the target block and the available adjacent block are the same, it is sufficient to encode / decode 1-bit information as described in FIGS. 19A and 19B. In the encoding / decoding process, The amount of codes can be reduced. (4) FIG. 22G described below shows an example where there are no usable adjacent blocks and there are three three unusable adjacent blocks. In FIG.
  • blocks 2102a to 2102c are available adjacent blocks, and block 2102d is a non-candidate block.
  • the encoding / decoding processing is performed by, for example, calculating the prediction direction data of the target block 2101 by any one of the processing methods shown in the following three examples (g-A), (g-B), and (g-C). Decide and perform encoding / decoding.
  • Example 1 (g-B) In the encoding / decoding process, an encoding / decoding process is performed on the target block 2101 using the encoding / decoding method B.
  • the target block is encoded / decoded using (g-A) encoding / decoding method A.
  • the prediction direction data of the usable adjacent block cannot be used as the prediction direction data of the target block. Therefore, the DC prediction shown in FIG.
  • the direction selected as the estimated prediction direction of the target block 2101 is not limited to DC prediction, Any of the prediction directions defined in H.264 / AVC may be used.
  • the description thereof is omitted. In this case, there is no need to send information indicating whether or not the prediction direction in the target block is the same as the prediction direction in the adjacent block from the encoding side to the decoding side, and the code amount can be further reduced.
  • this embodiment showed the encoding / decoding process of a pixel, you may apply to the encoding / decoding process of the macroblock type shown in Embodiment 2, and prediction mode information. Moreover, you may combine with any described embodiment.
  • the present embodiment is the same as in the third embodiment even when information on adjacent blocks cannot be used for calculation of the prediction direction or block type of the target block when a maximum of three blocks are used as candidate blocks. An effect can be obtained.
  • Embodiment 5. FIG. In the present embodiment, as in the third and fourth embodiments, as shown in FIGS. 19A and 19B, (a) an adjacent block having data in the prediction direction and present in the same slice as the target block The encoding / decoding method is switched in accordance with the combination of the number of blocks to be used (hereinafter referred to as available adjacent blocks) and (b) the number of blocks having the same prediction direction data among the available adjacent blocks. .
  • available adjacent blocks the number of blocks to be used
  • Embodiment 4 as shown in FIG.
  • the encoding / decoding method of the target block is switched using a maximum of three blocks as candidate blocks, but this embodiment is shown in FIG. 20C.
  • the encoding / decoding method of the target block is switched using a maximum of two blocks as candidate blocks.
  • the moving image encoding apparatus and moving image decoding apparatus in the present embodiment are the same as the moving image encoding apparatus and moving image decoding apparatus of the third embodiment, and thus description thereof is omitted.
  • the procedure of the intra prediction encoding process and the intra prediction decoding process in the present embodiment is the same as the procedure of the intra prediction encoding process and the intra prediction decoding process of the third embodiment, the description thereof is omitted. To do. FIG.
  • FIG. 20C is a diagram illustrating a relationship between the number of usable adjacent blocks and the number of blocks having the same prediction direction data among the usable adjacent blocks when a maximum of two blocks are used as candidate blocks.
  • FIGS. 23A to 23D correspond to FIGS. 23A to 23D
  • FIGS. 23A to 23D specifically show examples of each shown in FIG. 20C.
  • the position of the non-candidate block may be the position shown in FIGS. 23A to 23D, for example, or may be a position different from this.
  • the position of the unusable adjacent block in the present embodiment is not limited to the position shown in FIGS. 23A to 23D, and may be any position of the two candidate blocks. In the following, using the correspondence between FIG.
  • FIGS. 23A and 23B described below show an example in which there are two usable adjacent blocks and there are no unusable adjacent blocks.
  • FIG. 23A shows a case where there are two blocks having the same prediction direction data among the available adjacent blocks 2102a and 2102b. Blocks 2102c and 2102d are non-candidate blocks. In this case, in the encoding / decoding process, the encoding / decoding method A is selected and the target block 2101 is encoded / decoded.
  • FIG. 23B shows a case where there is no block having the same prediction direction data among the available adjacent blocks 2102a and 2102b. Blocks 2102c and 2102d are non-candidate blocks.
  • the prediction direction data of the target block is determined and encoded / decoded by the following two processing method examples (b-A) or (b-B).
  • encoding / decoding of the target block 2101 is performed using prediction direction data having a smaller prediction direction value (a number indicating the prediction direction) out of prediction direction data of two available adjacent blocks 2102a and 2102b. Do. This is because the prediction direction data having a smaller prediction direction value is more likely to be the same as the prediction direction data of the target block.
  • 1-bit information may be encoded / decoded as described with reference to FIGS. 19A and 19B. In the decoding process, the code amount can be further reduced.
  • Example 2 (b-B) In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method B.
  • some prediction direction data is represented by 2 bits or 3 bits smaller than 4 bits. be able to. That is, even if the prediction direction data of the target block is different from the prediction direction data of the adjacent block that can be used, there is a probability that the prediction direction data of the target block can be encoded / decoded with a 2-bit or 3-bit code amount.
  • FIG. 23C shows an example where there is one usable adjacent block and one unusable adjacent block.
  • the available adjacent block is block 2102b.
  • Block 2102a is an unusable adjacent block, and blocks 2102c and 2102d are non-candidate blocks.
  • C In the case of FIG. 23C, in the encoding / decoding process, the encoding / decoding method A is selected and the target block 2101 is encoded / decoded.
  • FIG. 23D shows an example where there are no usable adjacent blocks and there are two unusable adjacent blocks. Unusable adjacent blocks are 2102a and 2102b, and blocks 2102c and 2102d are non-candidate blocks. (D) In the case of FIG.
  • the encoding / decoding process determines the prediction direction data of the target block 2101 by the processing methods shown in the following three examples (d-A), (d-B), or (d-C), Encoding / decoding may be performed.
  • some prediction direction data can be expressed by 2 bits or 3 bits smaller than 4 bits. That is, it is possible to reduce the code amount compared to selecting the encoding / decoding method A and encoding / decoding with a 4-bit code amount.
  • Example 2 (d-A) In the encoding / decoding process, the target block 2101 is encoded / decoded using the encoding / decoding method A. Here, since there is no usable adjacent block around the target block 2101, the prediction direction data of the usable adjacent block cannot be used as the prediction direction data of the target block. Therefore, the DC prediction shown in FIG. 7 is selected as the estimated prediction direction of the target block 2101 and encoding / decoding is performed.
  • the prediction direction of the target block is DC prediction
  • the prediction direction used as the prediction direction of the target block 2101 is not limited to DC prediction. Any of the prediction directions defined in H.264 / AVC may be used.
  • Example 3 (d-C) In the encoding / decoding process, the target block 2101 is encoded / decoded using an encoding / decoding method C (not shown).
  • the description thereof is omitted.
  • the present invention can be applied to decoding of moving images, and in particular, can be applied to decoding of prediction direction data or block type data in intra prediction processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

動画像の符号化・復号化処理において符号量を低減する。画面内予測処理において、復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックの予測方向データ又はブロックモードに基づいて、復号化対象ブロックの予測方向又はブロックモードの推定の容易性を判定し、判定結果に基づいて、前記復号化対象ブロックの予測方向データ又はブロックモードを復号化し、復号化された予測方向データ又はブロックモードに基づいて画面内予測を行い、復号化画像データを生成する。

Description

動画像復号化方法及び動画像復号化装置
 本発明は動画像を復号化する動画像復号化技術に関する。
 大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、MPEG(Moving Picture Experts Group)方式等の符号化方式が策定され、MPEG−1規格、MPEG−2規格、MPEG−4規格、H.264/AVC(Advanced Video Coding)規格等が知られている。
 H.264/AVCは、画面内予測符号化や画面間予測符号化等の予測符号化を用いる事で、圧縮効率を向上させている。予測符号化には様々な方向が存在し、予測符号化は、これらの方向をブロック単位で使い分けて符号化する。予測符号化においては、対象ブロックにおいて利用した予測方向を表す符号を別途符号化する必要があり、符号量が増大するといった課題があった。
 また、各予測符号化は、マクロブロック毎に、複数の画素値予測方法とブロックサイズとを切り替えながら予測を行ため、画素値予測方法とブロックサイズ情報とを、マクロブロック毎に符号化する必要があった。
 この課題に対し、例えば“Jamil−ur−Rehman and Zhang Ye,“Efficient Techniques for Signalling Intra Prediction Modes of H.264/Mpeg−4 Part 10”,Proc.ICICIC2006,August,2006.”には、画面内予測符号化の際の予測方向の符号化において、利用できる予測方向数の少ない画面端のブロックについて予測方向を表すための符号を短くすることによって、符号量を減らすことが開示されている。
 しかし、上記文献に記載の技術は画面端のブロックにしか適用できず、圧縮効率向上の効果は少ないという課題があった。
 本発明は、上記課題を鑑みてなされたものであり、その目的は、動画像の符号化/復号化処理においてより符号量を低減することである。
 上記の課題を解決するために、本発明の一態様の動画像復号化方法は、画面内予測処理を行う動画像復号化方法であって、前記画面内予測処理において、復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックの個数を判定する判定ステップと、前記判定ステップの判定結果に基づいて、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを復号化する復号化ステップと、前記復号化ステップにおいて復号化された予測方向データ又はブロックタイプデータに基づいて画面内予測を行い、復号化画像データを生成する生成ステップと、を備えることを特徴とする。
 本発明の他の態様は、画面内予測処理を行う動画像復号化方法であって、復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、予測方向のデータ又はブロックタイプのデータを有する隣接ブロックである利用可能隣接ブロックの個数と、該利用可能隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックの個数とを判定する判定ステップと、前記判定ステップの判定結果に基づいて、前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータを復号化する復号化ステップと、前記復号化ステップにおいて復号化された予測方向のデータ又はブロックタイプのデータに基づいて画面内予測を行い、復号化画像データを生成する生成ステップと、を備えることを特徴とする
 本発明によれば、動画像の符号化/復号化処理においてより符号量を低減することができる。
 図1は、実施形態1に係る動画像符号化装置のブロック図の一例である。
 図2は、実施形態1に係る動画像符号化装置における画面内予測部のブロック図の一例である。
 図3は、実施形態1に係る動画像復号化装置のブロック図の一例である。
 図4は、実施形態1に係る動画像復号化装置における画面内予測部のブロック図の一例である。
 図5は、H.264/AVCに係る画面内予測符号化処理の概念的な説明図である。
 図6Aは、H.264/AVCに係る予測方向の符号化処理の概念的な説明図である。
 図6Bは、H.264/AVCにおいて予測方向を表すビット構成の一例を示す図である。
 図7は、H.264/AVCに係る画面内予測復号化処理の概念的な説明図である。
 図8Aは、実施形態1に係る予測方向の符号化の一例の説明図である。
 図8Bは、実施形態1に係る予測方向の符号化の一例の説明図である。
 図9は、実施形態1に係る画像符号化処理の流れ図である。
 図10は、実施形態1に係る画面内予測符号化処理の流れ図である。
 図11は、実施形態1に係る画像復号化処理の流れ図である。
 図12は、実施形態1に係る画面内予測復号化処理の流れ図である。
 図13は、H.264/AVCで用いる予測符号化処理の概念的な説明図である。
 図14Aは、実施形態2に係るブロックタイプの符号化に関する実施例の説明図である。
 図14Bは、実施形態2に係るブロックタイプの符号化に関する実施例の説明図である。
 図15は、実施形態2に係る可変長符号化部のブロック図である。
 図16は、実施形態2に係る可変長復号化部のブロック図である。
 図17は、実施形態2に係る可変長符号化処理の流れ図である。
 図18は、実施形態2に係る可変長復号化処理の流れ図である。
 図19Aは、実施形態3に係る予測方向の符号化、復号化についての説明図である。
 図19Bは、実施形態3に係る予測方向の符号化、復号化についての説明図である。
 図20Aは、実施形態3に係る利用可能隣接ブロックと同一の予測方向データを有する隣接ブロックの数とについての説明図である。
 図20Bは、実施形態4に係る利用可能隣接ブロックと同一の予測方向データを有する隣接ブロックの数とについての説明図である。
 図20Cは、実施形態5に係る利用可能隣接ブロックと同一の予測方向データを有する隣接ブロックの数とについての説明図である。
 図21は、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Aは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Bは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Cは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Dは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Eは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Fは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Gは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Hは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Iは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Jは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Kは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図21Lは、実施形態3に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Aは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Bは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Cは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Dは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Eは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Fは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図22Gは、実施形態4に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図23Aは、実施形態5に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図23Bは、実施形態5に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図23Cは、実施形態5に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図23Dは、実施形態5に係る対象ブロックと隣接ブロックとの関係を示す説明図である。
 図24は、実施形態3、4、5に係る動画像符号化装置における画面内予測部のブロック図の一例である。
 図25は、実施形態3、4、5に係る動画像復号化装置における画面内予測部のブロック図の一例である。
 図26は、実施形態3、4、5に係る画面内符号化処理の流れ図である。
 図27は、実施形態3、4、5に係る画面内復号化処理の流れ図である。
 以下、本発明の実施形態について図面を参照して説明する。
 図5は、H.264/AVCによる画面内予測符号化処理の動作について概念的に示したものである。図5において、格子のハッチングで示された部分は符号化済みの画素を示し、市松模様のハッチングで示された部分は符号化対象画素を示している。
 H.264/AVCは、符号化対象画像501に対してラスタースキャンの順序(図5における矢印507)に従って符号化処理を行い、符号化対象ブロック510の左、左上、上、右上に隣接する符号化済みブロックについての復号化画像を用いて予測処理を行う。当該予測処理は、符号化済みブロックに含まれる13個の画素の画素値を利用し、予測方向ベクトルを傾きとする同一直線上の画素は、すべて同一画素に基づいて予測される(例えば矩形502)。例えば、符号503が指示する図に示すように、予測符号化処理は、符号化対象ブロック510の画素B、C、D、Eに対して、すべて同一画素を参照して予測画像を生成する。予測符号化処理は、まず、符号化対象ブロック510の画素B、C、D、Eと画素Bの直上の画素を復号化した値A’との差分(予測差分)b、c、d、eを算出する。次に、縦、横、斜めなど、8種類の予測方向候補の中から一つの予測方向をブロック単位で選択し、前記予測差分と選択した一の予測方向を示す番号である予測方向値とを符号化する。ただし、H.264/AVCにおいては、上記特定の予測方向に沿った予測処理の他に、参照画素の平均値によって符号化対象ブロックに含まれるすべての画素を予測する「DC予測」を利用することができる(矩形504内を参照)。従って、「DC予測」を含む9種類の予測方向の中から一つが選択される。
 図7は、H.264/AVCによる画面内予測復号化処理の動作を概念的に示したものである。図7において、格子のハッチングで示された部分は復号化済みの画素を示し、市松模様のハッチングで示された部分は復号化対象画素を示している。
 復号化処理も、符号化処理と同様に、符号化対象画像701に対してラスタースキャンの順序に従って復号化処理を行う。矢印707は、ラスタースキャン順序(符号化順序)を示している。次に、復号化済みの参照画素と予測差分とを用いて符号化処理の逆手順を行う。すなわち、予測差分値と参照画素値とを予測方向に沿って加算することにより復号化画像を取得する。例えば、矩形702は、予測方向0において復号化する例を示す。より具体的には、符号703が指示する図に示すように、復号化処理は、復号化対象ブロック710の予測差分b’、c’、d’、e’(それぞれ、上記図5のb、c、d、eが復号化され量子化誤差を含んだもの)に対して、復号化済みの参照画素A’を加算することにより、復号化画素B’、C’、D’、E’(それぞれ、上記図5のB、C、D、Eに対する復号化画素)を取得する。
 以上のように、H.264/AVCによる画面内予測符号化処理は、参照画素から予測方向に沿った位置にある画素を、当該参照画素に基づいて予測するといった単方向による方法を採用している。この場合、予測処理の単位となるブロックごとに、どの予測方向に沿って予測処理を行うのかについての情報を符号化ストリームに付加する必要があった。
 図6A及び図6Bは、H.264/AVCによる画面内予測方式における予測方向の符号化方法を示したものである。
 H.264/AVCは、対象ブロックの予測方向が隣接するブロックの予測方向と相関が高いことに着目し、符号化済みの隣接ブロックにおける予測方向から符号化対象ブロックの予測方向を推定する。図6Aに示すように、符号化対象ブロック610の左側に隣接するブロック611aの予測方向MAと、同じく対象ブロックの上側に隣接するブロック611bの予測方向MBとを参照する。さらに、この2つの予測方向のうち、予測方向値(予測方向を示す番号)が小さい予測方向を、対象ブロックにおける予測方向(隣接方向)として選択する(隣接方向=Min(MA、MB))。
 図6Bは、予測方向を表すビット構成603の詳細を示す図である。H.264/AVCは、対象ブロックにおける予測方向と隣接ブロックにおける予測方向(隣接方向)とが同じ場合には、対象ブロックにおける予測方向と隣接ブロックにおける予測方向(隣接方向)とが同じ予測方向であることを示す情報(1ビット)を符号化する。
 一方、両者が異なる場合には、対象ブロックにおける予測方向と隣接ブロックにおける予測方向(隣接方向)とが異なるという情報を符号化した後、実際の予測方向(8方向+DC予測の9通りの予測方向のうち、隣接ブロックにおける予測方向(隣接方向)を除く8通り)を3ビットで符号化する。
 この場合、予測方向を表すために多くの符号を必要とする。例えば4×4画素サイズのブロック単位で画面内予測を行った場合、一つのマクロブロックあたり最大で64ビットの符号が発生する。
実施形態1.
 実施形態1は、画面内予測において、対象ブロックの予測方向の符号化処理及び復号化処理に本発明を用いる例である。本実施形態は、対象ブロックに隣接するブロックの予測方向データを用いて、対象ブロックの予測方向が推定容易であるか否かを判定する。対象ブロックの予測方向が推定容易であると判定された場合と対象ブロックの予測方向が推定非容易であると判定された場合とで、対象ブロックにおける予測方向データの符号化/復号化方法を切り換える(符号化処理方法の切り換え、あるいは復号化処理方法の切り換え)。
 以下、本実施形態についてさらに詳細に説明する。
 図8A、図8Bは、符号化対象ブロックの予測方向が推定容易か否かの判定方法並びに予測方向符号化方法A及び予測方向符号化方法B、の一例を示した図である。図8A、図8Bを用いて、符号化対象ブロックの予測方向が推定容易か否かの判定方法を説明する
 符号化対象ブロックの予測方向が推定容易か否かの判定は、図8Aの画像ブロック説明図に示すように、符号化対象ブロック810の左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロック811a、隣接ブロック811b、隣接ブロック811c、隣接ブロック811dの予測方向MA、MB、MC、MDを用いる。すなわち、本方法は、予測方向MA、MB、MC、MDにおいて、N個(Nは2以上4以下の整数)以上同一の予測方向Mが存在する場合は、符号化対象ブロックの予測方向の推定が容易であると判定し、予測方向符号化方法Aを用いて、符号化対象ブロックの予測方向データを符号化する。
 また、例えば、スライス端や画面端などに符号化対象ブロックが存在するなど、隣接ブロックの予測方向情報を符号化対象ブロックの予測方向として利用できない場合は、符号化対象ブロックの予測方向の推定が容易であると判定し、予測方向符号化方法Aを用いて、符号化対象ブロックの予測方向データを符号化する。このように、処理対象ブロックの予測方向に無効方向がある場合、予測方向符号化方法Aを用いる。
 なお、上記のどちらの場合にも該当しないブロックに関しては、予測方向の推定が非容易であると判定し、表803による予測方向符号化方法Bを選択し、可変長符号化を行う。
 上述した判定方法により予測方向符号化方法Aを選択した場合は、符号化処理は、予測方向選択処理に移る。すなわち、符号化対象ブロックの左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロック811a~811dの予測方向MA、MB、MC、MDのうちいずれかの予測方向を所定の方法で選択し、選択した隣接ブロックの予測方向は符号化対象ブロックの推定予測方向であると決定する。
 ここで、当該所定の選択方法は、符号化側と復号化側の両方で同様の処理が実現できる方法であれば、どのような選択方法でもよいが、例えばMA、MB、MC、MDのうち最も予測方向値の小さい予測方向を選択する方法や、MA、MB、MC、MDのうち最も多い予測方向を選択する方法などを用いればよい。
 さらに、予測方向符号化方法Aを選択した場合、符号化処理は、符号化対象ブロックの左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロック811a~811dを隣接ブロックとして用いてもよいし、従来の通り符号化対象ブロックの左側及び上側に隣接する符号化済みの隣接ブロック811a、811bのみを隣接ブロックとして用いてもよい。
 次に、予測方向符号化方法Aについてさらに詳細に説明する。予測方向符号化方法Aは、隣接ブロックの予測方向情報を用いて推定予測情報を決定し、当該推定予測情報を用いて符号化対象ブロックの予測方向データを符号化する。
 図8Bのビット構成802は、予測方向符号化方法Aにおける符号化対象ブロックの予測方向データの符号化のためのビット構成の詳細を示した図である。
 符号化対象ブロックにおける予測方向と、隣接ブロックにおける予測方向(推定予測方向)である隣接方向とが同じ方向である場合は、予測方向符号化方法Aは、符号化対象ブロックにおける予測方向と隣接ブロックにおける予測方向(隣接方向)とが同じ予測方向であることを示す情報(1ビット)を符号化する。
 一方、符号化対象ブロックにおける予測方向と隣接ブロックにおける予測方向(推定予測方向)である隣接方向とが異なる場合は、符号化対象ブロックにおける予測方向と隣接ブロックにおける予測方向(隣接方向)とが異なることを示す情報を符号化した後、実際の予測方向(8方向+DC予測の9通りの予測方向のうち、隣接ブロックにおける予測方向(推定予測方向)を除く8通り)を3ビットで符号化する。
 次に、予測方向符号化方法Bについてさらに詳細に説明する。予測方向符号化方法Bは、隣接ブロックの予測方向データに基づいて符号化対象ブロックの予測方向データを推定せず、符号化対象ブロックの予測方向データを単独で符号化する。
 図8Bの表803は、予測方向符号化方法Bに用いる可変長符号表の一例である。予測方向符号化方法Bは、表803のような可変長符号表に従って符号化対象ブロックの予測方向データを可変長符号化する。表803のような可変長符号表を用いる場合、予測方向符号化方法Aのように1ビットのみで示すことのできるモード(予測方向)は存在しない。しかし、隣接モード(隣接方向)と異なる予測方向であっても、一部のモードは4ビットよりも小さい2ビットか3ビットで示すことができる。よって、4ビットよりも小さいビットで示すことができるモードの数が、予測方向符号化方法Aよりも多い。ここで、本実施形態で予測方向符号化方法Bが用いられる場合は、上述のとおり、対象ブロックの予測方向が推定非容易であると判定された場合である。これは、対象ブロックの予測方向が隣接ブロックの予測方向に一致する確率が低い場合である。すなわち、この場合、仮に予測方向符号化方法Aを用いると、予測方向の符号量が1ビットである確率よりも4ビットである確率が高い。よって、このような場合に予測方向符号化方法Bを用いることで、予測方向を2ビット又は3ビットの符号量で符号化する確率を向上させることは、符号量の低減に効果的である。なお、表803の可変長符号表は一例であり、同様の効果を得るものであれば、他のパターンでもかまわない。
 以上において、本実施形態における符号化処理について説明したが、復号化処理の際には、対応する符号化方法と逆の処理を行うことで復号化することができる。すなわち、本実施形態における復号化処理は、隣接する復号化済みブロックの予測方向情報を用いて復号化対象ブロックの予測方向が推定容易か否かを判定する。復号化対象ブロックの予測方向の推定が容易であると判定した場合には、ビット構成802に示すビット構成に従って復号化対象ブロックの予測方向データの復号化を行う。一方、復号化対象ブロックの予測方向の推定が非容易であると判定した場合には、表803に示す可変長符号表に基づいて復号化対象ブロックの予測方向データの復号化を行う。
 次に、本実施形態における動画像符号化装置を、図1を用いて説明する。
 本実施形態における動画像符号化装置は、入力された原画像101を保持する入力画像メモリ102と、入力画像を小領域に分割するブロック分割部103と、ブロック単位で動きを検出する動き探索部104と、同じくブロック単位で画面内予測処理(図7に記載)を行う画面内予測部106と、動き探索部104にて検出された動き量を基にブロック単位で画面間予測を行う画面間予測部107と、画像の性質に合った予測符号化手段を選択するモード選択部108と、予測差分データを生成する減算部109と、予測差分データに対して符号化処理を行う周波数変換部110及び量子化処理部111と、記号の発生確率に応じた符号化処理を行う可変長符号化部112と、符号化した予測差分データを復号化する逆量子化処理部113及び逆周波数変換部114と、復号化された予測差分データを用いて復号化画像を生成する加算部115と、復号化画像を格納する参照画像メモリ116とを有する。
 入力画像メモリ102は原画像101の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部103が細かなブロックに分割し、動き探索部104及び画面内予測部106に出力する。動き探索部104は、参照画像メモリ116に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルデータとして画面間予測部107に出力する。画面内予測部106及び画面間予測部107は、画面内予測処理及び画面間予測処理をブロック単位で行う。モード選択部108は、上記の画面内予測処理及び画面間予測処理のうちから最適な予測処理を選択する。モード選択部108は、選択した予測処理のための予測画像を減算部109へ出力する。ここで、画面内予測処理が選択された場合は、モード選択部108は、後述する符号化された予測方向データを可変長復号化部112に出力する。減算部109は、入力画像と、上述の最適な予測符号化処理による予測画像との予測差分データを生成し、周波数変換部110に出力する。周波数変換部110及び量子化処理部111は、送られてきた予測差分データに対して指定された大きさのブロック単位でそれぞれDCT(Discrete Cosine Transformation:離散コサイン変換)などの周波数変換処理及び量子化処理を行い、可変長符号化処理部112及び逆量子化処理部113に出力する。可変長符号化処理部112は、周波数変換係数によって表される予測差分情報を、例えば画面内予測符号化における予測方向や画面間予測符号化における動きベクトルなど、予測復号化に必要な情報とともに、記号の発生確率に基づいて可変長符号化を行い、符号化ストリームを生成する。また、逆量子化処理部113及び逆周波数変換部114は、量子化後の周波数変換係数に対して、それぞれ逆量子化及びIDCT(Inverse DCT:逆DCT)などの逆周波数変換を行い、予測差分を取得して加算部115に出力する。加算部115は、復号化画像を生成して参照画像メモリ116に出力する。参照画像メモリ116は、復号化画像を格納する。
 図2は、本実施形態における動画像符号化装置の画面内予測部106の詳細を示した図である。
 ここで、画面内予測部106には、例えば図1に示すブロック分割部103にて分割された画像が入力される。当該入力画像は、方向別予測部201に入力される。方向別予測部201は、ブロック分割部103から入力される入力画像のブロックに対して、参照画像メモリ116に記憶される符号化済み隣接ブロックの復号画像の画素値を用いて、各予測方向についての予測画像を生成して予測処理を行う。この符号化処理には、図5にて説明したH.264/AVCによる符号化方法を用いる。この予測結果が予測方向決定部202に入力される。予測結果としては、入力画像のブロックと予測画像との差分や、予測画像そのものなどが考えられる。予測方向決定部202は、符号化効率が最も良くなる予測方向を選択し、その方向を符号化対象ブロックの予測方向と決定する。ここで、予測方向決定部202は決定した予測方向についての予測画像をモード選択部108へ出力する。また、決定した予測方向の情報を予測方向推定難易度判定部203に出力する。また、予測方向記憶メモリ206は、決定された予測方向を記憶する。予測方向推定難易度判定部203は、周囲の符号化済みのブロックの予測方向情報を予測方向記憶メモリ206から読み出し、読み出した予測方向情報から符号化対象ブロックの予測方向が推定容易か否かを判定する。この判定方法には、例えば、図8A、図8Bにて説明した方法を用いればよい。画面内予測部106は、当該判定結果に基づいて、予測方向の符号化方式を切替える。
 例えば、符号化対象ブロックの予測方向の推定が容易であると判定された場合には、予測方向データの符号化処理は、予測方向予測符号化部205によって行われる。予測方向予測符号化部205は、例えば図8Bにおけるデータ802による方法(予測方向符号化方法A)を用いて予測方向データの符号化を行う。
 一方、符号化対象ブロックの予測方向の推定が非容易であると判断された場合は、予測方向データの符号化処理は、予測方向可変長符号化部204によって行われる。予測方向可変長符号化部204は、例えば、図8Bにおける表803に示す方法(予測方向符号化方法B)を用いて予測方向の符号化を行う。
 予測方向可変長符号化部204又は予測方向予測符号化部205は、以上のように符号化された予測方向データをモード選択部108へ出力する。なお、図2の構成では、画面内予測部106が予測方向データの符号化処理を行っているが、この符号化処理を可変長符号化部112が行ってもよく、あるいは別の構成部が行ってもよい。
 次に、本実施形態における動画像復号化装置の一例を、図3を用いて説明する。本実施形態における動画像復号化装置は、例えば図1に示す動画像符号化装置によって生成された符号化ストリーム301に対して可変長符号化の逆の手順を行う可変長復号化部302と、予測差分データを復号化する逆量子化処理部303及び逆周波数変換部304と、画面内予測処理を行う画面内予測部306と、画面間予測を行う画面間予測部307と、復号化画像を生成する加算部308と、復号化画像を格納する参照画像メモリ309とを有する。
 可変長復号化部302は、符号化ストリーム301を可変長復号化し、予測差分の周波数変換係数成分と、予測方向や動きベクトルなどの予測処理に必要な情報を取得する。予測差分の周波数変換係数成分は、逆量子化処理部303に出力される。予測方向や動きベクトルなどは、予測手段に応じて画面内予測部306又は画面間予測部307に出力される。続いて、逆量子化処理部303及び逆周波数変換部304は、予測差分情報に対してそれぞれ逆量子化と逆周波数変換を行い、予測差分データを復号化する。画面内予測部306又は画面間予測部307は、可変長復号化部302から入力されたデータに基づいて参照画像メモリ309に格納された復号化画像を参照して予測処理を行う。加算部308は、復号化画像を生成する。参照画像メモリ309は、復号化画像を格納する。
 図4は、本実施形態における動画像復号化装置の画面内予測部306の詳細を示した図である。
 ここで、予測方向推定難易度判定部401は、周囲の復号化済みのブロックの予測方向の情報を予測方向記憶メモリ405から読み出し、読み出した情報に基づいて、復号化対象ブロックの予測方向の推定が容易か否かを判定する。この判定方法には、例えば図8A、図8Bにて説明した方法を用いればよい。当該判定結果に基づいて、可変長復号化部302から入力される復号化対象ブロックの予測方向データの出力先を切替える。すなわち、復号化方式を切り替える。
 例えば、復号化対象ブロックの予測方向の推定が容易であると判定された場合は、予測方向予測復号化部403が予測方向データの復号化を行う。予測方向予測復号化部403は、例えば図8Bにおける符号化データ802による方法(予測方向符号化方法A)に対応する復号化方式を用いて予測方向データの復号化処理を行う。
 一方、復号化対象ブロックの予測方向の推定が非容易であると判定された場合は、予測方向可変長復号化部402が予測方向データの復号化処理を行う。予測方向可変長復号化部402は、例えば図8Bにおける表803による方法(予測方向符号化方法B)に対応する復号化方式を用いて予測方向データの復号化処理を行う。
 以上のように復号化処理された予測方向データが画面内予測画像生成部404に入力される。また、予測方向記憶メモリ405は、復号化処理された予測方向データを格納する。画面内予測画像生成部404は、参照画像メモリ309から入力される隣接ブロックの復号画像の画素値と、復号化処理された予測方向データとに基づいて、画面内予測画像を加算部308へ出力する。
 なお、図4の例では画面内予測部306が予測方向データの復号化処理を行っているが、この復号化処理を可変長復号化部302が行うこともできるし、別の構成部が行ってもよい。
 次に、本実施形態の動画像符号化装置の1フレームの符号化処理手順について、図9を用いて説明する。
 符号化処理は、まず、符号化対象となるフレーム内に存在するすべてのブロックに対して(S901)、以下の処理を行う。すなわち、該当ブロックに対して一度すべての符号化モードに対して(S902)予測符号化処理を行って予測差分を算出し、最も符号化効率が高い符号化方向を選択する。符号化モードは、予測方法とブロックサイズの組み合わせである。
 次に、対象ブロックが予測符号化されている予測モードを判定する(S903)。さらに、画面内予測符号化処理(S904)と画面間予測符号化処理(S907)とから選択した処理を行う。最適な予測符号化処理を選択することによって、画像の性質に応じて効率良く符号化する。
 上記多数の符号化モードの中から最も符号化効率の高いものを選択する際には(S908)、例えば画質歪みと符号量の関係から最適な符号化方向を決定するRD−Optimization方式を利用することによって、効率良く符号化できる。RD−Optimization方式の詳細については、例えば、下記参考文献に記載されており、広く知られた技術であり、ここでは詳細な説明を省略する。(参考文献:G.Sullivan and T.Wiegand:“Rate−Distortion Optimization for Video Compression”,IEEE Signal Processing Magazine,vol.15,no.6,pp.74−90,1998.)
 続いて、選択した符号化モードに基づいて生成された予測差分データに対して周波数変換(S909)と量子化処理(S910)を行い、さらに可変長符号化を行うことによって符号化ストリームを生成する(S911)。
 一方、量子化済みの周波数変換係数に対しては逆量子化処理(S912)と逆周波数変換処理(S913)を行って予測差分データを復号化し、復号化画像を生成して参照画像メモリに格納する(S914)。以上の処理を全てのブロックに対して完了すれば、画像1フレーム分の符号化は終了する(S915)。
 次に、図9の画面内予測符号化処理(S904)の処理手順の詳細について、図10を用いて説明する。
 この処理は、まず、符号化対象となるブロックにおいて、全ての予測方向に対して(S1001)、画面内予測処理(S1002)を行う。その中から最適な予測方向を選択する(S1003)。また、既に符号化済みの周囲のブロックの情報から、予測方向の推定が容易か否かを判定し(S1004)、容易であれば予測方向符号化方法Aを用いて符号化を行い(S1005)、容易でなければ予測方向符号化方法Bを用いて符号化を行う(S1006)。これにより、1ブロック分の予測方向の符号化は終了する(S1007)。
 なお、図10の例は、画面内予測符号化処理(S904)において予測方向データの符号化処理を行っているが、この符号化は可変長符号化処理(S911)で行うこともでき、あるいは、別の処理内で行ってもよい。
 次に、図3に示す動画像復号化装置における1フレームの復号化処理手順について図11を用いて説明する。
 この処理は、まず、1フレーム内のすべてのブロックに対して、以下の処理を行う(S1101)。すなわち、入力ストリームに対して可変長復号化処理を行い(S1102)、逆量子化処理(S1103)及び逆周波数変換処理(S1104)を行い、予測差分データを復号化する。次に、対象ブロックが予測符号化されている予測モードを、符号化ストリームに含まれる情報に基づいて判定する(S1105)。当該判定結果に基づいて、画面内予測復号化処理(S1106)又は画面間予測復号化処理(S1109)を行って予測画像を生成し、上述の復号化した予測差分データと加算して復号化画像を生成する。そして、生成した復号化画像を参照画像メモリに格納する。以上の処理をフレーム中のすべてのブロックに対して完了することにより、画像1フレーム分の復号化が終了する(S1110)。
 次に、図11の画面内予測復号化処理(S1106)の処理手順の詳細について、図12を用いて説明する。
 この処理は、まず、対象ブロックの周辺に位置する復号化済みのブロックの予測方向から、対象ブロックの予測方向の推定が容易か否かを判定する(S1201)。この際、対象ブロックの予測方向の推定が容易であれば予測方向符号化方法Aに対応する復号化を実行し(S1202)、容易でなければ予測方向符号化方法Bに対応する復号化処理を実行する(S1203)。最後に、復号化された予測方向データを基に予測復号化処理を行い(S1204)、1ブロック分の画面内予測復号化処理は終了する(S1205)。
 なお、図12の例は、画面内予測復号化処理(S1106)において予測方向データの復号化を行っているが、この復号化を可変長復号化処理(S1102)で行うこともでき、あるいは、別の処理内で行ってもよい。
 本実施形態では周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation:離散サイン変換)、WT(Wavelet Transformation:ウェーブレット変換)、DFT(Discrete Fourier Transformation:離散フーリエ変換)、KLT(Karhunen−Loeve Transformation:カルーネン−レーブ変換)など、画素間相関除去に利用する直交変換ならどのような周波数変換でも使用することができる。
 特に、周波数変換を施さずに予測差分そのものに対して符号化を行ってもよい。さらに、可変長符号化も行わなくてよい。
 また、本実施形態は、一例として、4×4画素サイズのブロック単位で予測を行う場合について記載しているが、例えば8×8画素サイズや16×16画素サイズなど、どのようなサイズのブロックに対して本発明を適用してもよい。
 また、本実施形態は、H.264/AVCで定められている8方向に沿って予測を行っているが、方向数を増やしても減らしてもよい。
 以上説明した実施形態1に係る動画像符号化装置、動画像符号化方法、動画像復号化装置、動画像復号化方法によれば、動画像の符号化・復号化処理においてより符号量を低減することが可能となる。
実施形態2.
 実施形態2は、予測符号化に用いるマクロブロックのサイズ及び予測方法(画面内予測、画面間予測)などの予測モード情報の符号化処理に対して、実施形態1に示す選択的な符号化処理を用いる。
 図13は、H.264/AVCにおける、Baselineプロファイルで利用可能な符号化モードの種類を示す。H.264/AVCでは、符号化処理は、16×16画素サイズのマクロブロック1311ごとに符号化モードを決定する。この決定は、画面内ブロックの画素相関を利用して圧縮を行う画面内予測(Intra予測)及び画面間ブロックの画素相関を利用する画面間予測(Inter予測)のうちのどちらの予測方法を適用するか、ならびに、予測に利用するブロックのサイズを決定する。H.264/AVCは、画面間の画素値予測方法として、1枚の参照画像を指定する順方向予測(Predictive予測)と2枚の参照画像を指定することが可能な双方向予測(Bi−directional predictive予測)とを規定しているが、Baselineプロファイルを利用する場合は、Predictive予測のみが利用可能となっている。
 各フレーム(例えば、フレーム1302)では、画面左上のマクロブロックから右下のマクロブロックに向かってラスター走査の順番に従って順次符号化が行われる。図13において、該当フレーム1302内に、符号化済みのマクロブロック1301が例示されている。マクロブロックはさらに小さなサイズのブロックに分割することが可能であり、符号化処理は、あらかじめ予測方法の種類ごとに定められたいくつかのサイズの中から最適なものを選んで符号化を行う。画面内予測(Intra予測)の場合、16×16画素(I16×16モード)と4×4画素(I4×4モード)の2種類のブロックサイズを利用することができ、いずれか適した方のモードが使われる。図13には、I4×4モードにおける予測方向の決定における6つの予測方向が例示されている。符号化済みの画素の一つが1303で示されている。一方、該当フレーム1302と参照フレーム1304との間の画面間予測(Predictive予測)では、16×16画素(P16×16モード)、16×8画素(P16×8モード)、8×16画素(P8×16モード)、8×8画素(P8×8モード)のサイズが用意されている。8×8画素サイズの場合は、さらに、8×8画素、8×4画素、4×8画素、4×4画素サイズのサブマクロブロックに分割することが可能である。さらに、16×16画素のブロックサイズに対しては動きベクトル情報を符号化しないPSkipモードが、8×8画素サイズに対しては参照フレーム番号を符号化しないP8×8ref0モードが用意されている。図13における矢印1307は、動きベクトルである。
 各マクロブロックに対して、上述の予測方法及びブロックサイズを決定し、その情報を符号化する。上述の予測方法(画面内予測、画面間予測)とブロックサイズとの組合せ(例えばI16×16モードやI4×4モード等)を、ブロックタイプと呼ぶ。また、各ブロックタイプにはブロックタイプを識別するための番号であるブロックタイプ値が付されており、符号化/復号化処理は、当該ブロックタイプ値についての情報を符号化/復号化する。
 図14A、図14Bを用いて、本実施形態に係るブロックタイプの符号化方法を説明する。図14Aの画像ブロック説明図、図14Bのビット構成図1402、図14Bの可変長符号表1403は、それぞれ、実施形態1の図8Aの画像ブロック説明図、図8Bのビット構成図802、図8Bの可変長符号表803に対応する。
 図14A、図14B(実施形態2)と図8A、図8B(実施形態1)を比較すれば明らかなとおり、図8A、図8Bの「予測方向」を「ブロックタイプ」に変更すれば、図14A、図14Bに示すブロックタイプの符号化方法を実現できる。
 具体的には、本実施形態の符号化処理は、図14Aの画像ブロック説明図に示すように、符号化対象ブロック1410に対してそれぞれ左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロック1411a、隣接ブロック1411b、隣接ブロック1411c、隣接ブロック1411dの復号化画像を利用して、対象ブロックのブロックタイプを推定する。この際に、推定が容易か否かによってブロックタイプの符号化方式を切替える。ブロックタイプの推定が容易である場合には、ブロックタイプ符号化方法Aを用い、隣接ブロックのブロックタイプを用いた予測結果に基づいて対象ブロックのブロックタイプを符号化する。一方、ブロックタイプの推定が容易でない場合には、ブロックタイプ符号化方法Bを用い、隣接ブロックから推定せずにブロックタイプを単独で符号化する。この推定難易度の判定は、例えば、周囲の符号化済みの隣接ブロック1411a、1411b、1411c、1411dのブロックタイプMSA、MSB、MSC、MSDから多数決を行い、N(Nは2以上の整数)個以上同じブロックタイプが存在する場合にはブロックタイプの推定が容易であると判定し、そうでない場合は容易でないと判定する。
 ビット構成1402は、ブロックタイプ符号化方法Aの予測方法を表すビット構成の詳細を示している。ブロックタイプ符号化方法Aは、隣接モード(推定ブロックタイプ)を決定する必要がある。ブロックタイプ符号化方法Aは、所定の方法で隣接モード(推定ブロックタイプ)を決定する。例えば、周囲ブロックのブロックタイプのうち、最も多く現れるブロックタイプが隣接モード(推定ブロックタイプ)であると決定することができる。
 表1403は、ブロックタイプ符号化方法Bで用いる可変長符号表の一例を示す。ブロックタイプ符号化方法Bは、ブロックタイプを、表1403のような可変長符号表に従って可変長符号化する。表1403の可変長符号表は一例であり、他のパターンを用いてもよい。
 また、以上では符号化処理について述べたが、復号化処理は、対応する符号化方法と逆の処理を行うことで、ブロックタイプの復号化することができる。
 すなわち、隣接する復号化済みブロックのブロックタイプ情報を利用して対象ブロックのブロックタイプの推定難易度を判定する。ブロックタイプの推定が容易である場合にはビット構成図1402のビット構成に従いブロックタイプの復号化を行う。一方、ブロックタイプの推定が容易でない場合には表1403の符号表を基にブロックタイプの復号化を行う。
 本実施形態における画像符号化装置は、実施形態1の図1の画像符号化装置において、可変長符号化部112に図15に示す構成を適用することで実現できる。その他の構成は実施形態1の図1の構成と同一であるため、その説明を省略する。
 図15において、可変長符号化部112には、例えば図1に示す量子化処理部111にて量子化されたデータが入力される。入力されるデータのうち、ブロックタイプ情報はブロックタイプ記憶メモリ1505に記憶される。ブロックタイプ推定難易度判定部1501は、周囲の符号化済みのブロックタイプの情報をブロックタイプ記憶メモリ1505から読み出し、読み出した情報を基に対象ブロックのブロックタイプの推定難易度を判定する。推定難易度を判定は、例えば、図14A、図14Bにて説明した方法を使うことができる。可変長符号化部112は、この判定を基にブロックタイプの符号化方式を切替える。
 例えば、ブロックタイプの推定が容易であると判定された場合には、ブロックタイプの符号化はブロックタイプ予測符号化部1503によって行われる。ブロックタイプ予測符号化部1503は、図14Bのビット構成図1402に示す方法(ブロックタイプ符号化方法A)を用いてブロックタイプの符号化を行う。
 また、例えば、ブロックタイプの推定が容易でないと判断された場合には、ブロックタイプの符号化はブロックタイプ可変長符号化部1502によって行われる。ブロックタイプ可変長符号化部1502は、例えば、図14Bの表1403を用いる可変長符号化方法(ブロックタイプ符号化方法B)を用いてブロックタイプの符号化を行う。
 以上説明したように、可変長符号化部112は、ブロック毎にブロックタイプの符号化方法を選択しながら、符号化を行う。
 また、同時に、ブロックタイプ以外の可変長符号化部1504は、ブロックタイプ以外のデータの可変長符号化を行い、この結果とブロックタイプを符号化した結果とを出力値とする。図15の例では、可変長符号化部112がブロックタイプの符号化を行っているが、モード選択部108が符号化を行うことができ、あるいは、別の構成部が行ってもよい。
 本実施形態における画像復号化装置は、実施形態1の図3の画像復号化装置において、可変長復号化部302に対して図16に示す構成を適用することにより実現することができる。その他の構成は、実施形態1の図3の構成と同一であるため、その説明を省略する。
 図16において、ブロックタイプ推定難易度判定部1601は、周囲の復号化済みのブロックのブロックタイプの情報をブロックタイプ記憶メモリ1605から読み出し、読み出した情報を基に対象ブロックのブロックタイプの推定難易度を判定する。この方法は、例えば図14A、図14Bにて説明した方法を使うことができる。可変長復号化部302は、この判定を基に、ブロックタイプの復号化方式を切替える。
 例えば、ブロックタイプの推定が容易であると判定された場合には、ブロックタイプの復号化はブロックタイプ予測復号化部1603によって行われる。ブロックタイプ予測復号化部1603は、例えば図14Bのビット構成図1402に示す方法(ブロックタイプ符号化方法A)に対応する復号化方式を用いて復号化を行う。
 また、ブロックタイプの推定が容易でないと判断された場合には、ブロックタイプの復号化はブロックタイプ可変長復号化部1602によって行われる。ブロックタイプ可変長復号化部1602は、例えば、図14Bの表1403を用いる可変長復号化方法(ブロックタイプ符号化方法B)に対応する復号化方式を用いてブロックタイプの復号化を行う。
 以上のように復号化されたブロックタイプは、ブロックタイプ記憶メモリ1605に格納される。
 また、ブロックタイプ以外の可変長復号化部1604は、ブロックタイプ以外のデータの可変長復号化を行い、ブロックタイプ以外のデータの復号結果とブロックタイプの復号結果とを出力する。
 図16の例では、ブロックタイプの復号化を可変長復号化部302が行っているが、画面内予測部306及び画面間予測部307が復号化を行ってもよく、あるいは、別の構成部が行ってもよい。
 本実施形態に係る動画像符号化装置の1フレームの符号化処理手順は、実施形態1の図9における可変長符号化処理911において、図17に示す内容の処理を実行する。その他の処理は実施形態1と同様のため説明を省略する。
 図17の処理は、まず、符号化対象となるブロックについて、既に符号化済みの周囲のブロックの情報から、ブロックタイプの推定が容易かどうかを判定する(S1701)。容易であればブロックタイプ符号化方法Aを用いて符号化を実行する(S1702)。容易でなければブロックタイプ符号化方法Bを用いて符号化を実行する(S1703)。最後にブロックタイプ以外の可変長符号化処理を実行して(S1704)、1ブロック分の可変長符号化は終了する(S1705)。
 図17の例では、可変長符号化処理(S911)がブロックタイプの符号化を行っているが、この符号化は符号化モード選択処理(S908)が行うこともでき、あるいは、別の処理が行ってもよい。
 本実施形態に係る動画像復号化装置の1フレームの復号化処理手順は、実施形態1の図11における可変長復号化処理(S1102)において、図18に示す内容の処理を実行する。その他の処理は実施形態1と同様のため説明を省略する。
 図18の処理は、まず、復号化対象となるブロックについて、既に復号化済みの周囲のブロックの情報から、ブロックタイプの推定が容易かどうかを判定する(S1801)。容易であればブロックタイプ符号化方法Aに対応する復号化方式を用いて復号化を実行する(S1802)。容易でなければブロックタイプ符号化方法Bに対応する復号化方式を用いて復号化を実行する(S1803)。最後にブロックタイプ以外の可変長復号化処理を実行して(S1804)、1ブロック分の可変長復号化は終了する(S1805)。
 図18の例では可変長復号化処理(S1102)がブロックタイプの復号化を行っているが、この復号化は画面内予測復号化処理(S1106)及び画面間予測復号化処理(S1109)が行うこともできる、あるいは、別の処理が行ってもよい。
 本実施形態は、周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation:離散サイン変換)、WT(Wavelet Transformation:ウェーブレット変換)、DFT(Discrete Fourier Transformation:離散フーリエ変換)、KLT(Karhunen−Loeve Transformation:カルーネン−レーブ変換)など、画素間相関除去に利用する直交変換ならどのような周波数変換も使用することができる。周波数変換を施さずに予測差分そのものに対して符号化を行ってもよい。
 さらに、可変長符号化を行わなくてよい。また、本実施形態は、H.264/AVCで定められている8方向に沿って予測を行っているが、その方向数を増やしても減らしてもよい。
 また、本実施形態は一部のブロックタイプの例を挙げているが、他のブロックタイプを用いてもよい。
 以上の2つの実施形態では、画面内予測の際の予測方向の符号化及び復号化と、予測符号化の際のブロックタイプの符号化及び復号化に本発明を適用する例について示したが、例えば、周波数係数の有無を表すCBP(Coded Block Pattern)や動きベクトルなど、ブロック単位で符号化する必要がある情報の符号化処理及び復号化処理であれば、他の情報に対しても本発明を適用できる。
実施形態3.
 実施形態1は、図8A、図8Bに示したように、(a)対象ブロックに隣接するブロックのうち、同じ予測方向データを有する隣接ブロックが一定数以上存在するか否か、(b)対象ブロックの予測方向として利用できない予測方向データを有する隣接ブロックが存在するか否か、(c)上記(a)及び(b)以外、の3つの場合に条件わけし、難易度を判定して符号化/復号化方法を切り換えた。
 図19A、図19Bは、図8A、図8Bにおける符号化/復号化方法の切り換え条件を本実施形態におけるものに置き換えた図であり、それ以外の内容は図8A、図8Bと実質的に同様である。図19Aにおいて、符号化対象ブロック1910の隣接ブロック1911a、1911b、1911c、1911dのモードは、MA、MB、MC、MDで示されている。図19Bに示すように、推定容易である場合の符号化方法Aはデータ1902を使用し、推定非容易である場合の符号化方法Bは表1903を使用する。本実施形態は、(a)予測方向のデータを有する隣接ブロックであって、対象ブロックと同一のスライス内に存在するもの(以下、利用可能隣接ブロックという。)の数と、(b)利用可能隣接ブロックのうち、同じ予測方向データを有するブロックの数と、の組合せに応じて、符号化/復号化方法を切り換える。ここで、上記利用可能隣接ブロック以外のブロックを、以下、利用不可能隣接ブロックという。隣接ブロックが利用不可能隣接ブロックとなる場合の例は、隣接ブロックの情報を利用できない場合である。例えば、隣接ブロックが画面間予測モードであることにより画面内予測モードの情報を持っていない場合、又は対象ブロックがスライス端等に位置し、隣接ブロックと対象ブロックのそれぞれが属するスライスが異なる場合に、隣接ブロックの情報を利用できない。また、本明細書中で利用不可能隣接ブロックとは、対象ブロックが画面端に位置し、隣接ブロックの位置が画面の外にある場合も意味する。
 また、本実施形態における動画像符号化装置において、図24に示すように、実施形態1の図2で示した動画像符号化装置の予測方向推定難易度判定部203を、符号化方法決定部2401に置き換えており、予測モード記憶メモリ2402は、予測モードを記憶する。本実施形態における動画像復号化装置において、図25に示すように、実施形態1の図4で示した動画像復号化装置の予測方向推定難易度判定部401を、復号化方法決定部2501に置き換えており、予測モード記憶メモリ2502は、予測モードを記憶する。以下では、符号化方法決定部2401及び復号化方法決定部2501の構成、動作について説明し、その他の構成、動作については説明を省略する。
 さらに、本実施形態における画面内予測符号化処理の手順において、図26に示すように、実施形態1の図10で説明した画面内予測符号化処理の手順における予測方法の推定が容易か否かの判定(S1004)が、利用可能隣接ブロックの個数と利用可能隣接ブロックのうち同一の予測方向データを有するブロックの個数との判定(S2601)に置き換えられている。本実施形態における画面内予測復号化処理の手順において、図27に示すように、実施形態1の図12で説明した画面内予測復号化処理の手順における予測方法の推定が容易か否かの判定(S1201)が、利用可能隣接ブロックの個数と利用可能隣接ブロックのうち同一の予測方向データを有するブロックの個数との判定(S2701)に置き換えられている。以下では、利用可能隣接ブロックの個数と利用可能隣接ブロックのうち同一の予測方向データを有するブロックの個数との判定(S2601、S2701)について説明し、その他の処理については説明を省略する。
 なお、実施形態3は、対象ブロックに隣接するブロックのうち、対象ブロックの予測方向算出に用いる隣接ブロック(以下、候補ブロックという)の最大数が4つの場合の対象ブロックの符号化/復号化処理(符号化処理あるいは復号化処理)を示す。
 図20Aは、候補ブロックとして最大4つのブロックを用いる場合の、利用可能隣接ブロックの数と、当該利用可能隣接ブロックのうち同じ予測方向データを有するブロックの数と、の関係を示した図である。図21は、処理対象ブロック2101と、それに隣接する4つの候補ブロック(ブロックA~ブロックD)2102a~2102dとを示している。また、図20Aの(a)~(l)は、図21A~図21Lと対応しており、図21A~図21Lは、図20Aに示したそれぞれの一例を具体的に示している。ここで、本実施形態において、同じ予測方向データを有するブロックの位置は、図21A~図21Lの位置に限られず、4つの候補ブロックのいずれの位置でもよい。また、本実施形態において、利用不可能隣接ブロックの位置は、図21A~図21Lの位置に限られず、4つの候補ブロックのいずれの位置でもよい。
 以下に、図20Aと図21A~図21Lとの対応関係を使って、候補ブロックとして最大4つのブロックを用いる場合の、対象ブロックの符号化/復号化方法の切り換えについて具体的に説明する。図21A~図21Lにおいて、α、β、γ、δは、それぞれ、候補ブロックの予測方向データを示している。
 (1)以下に説明する図21A~図21Eは、利用可能隣接ブロックが4つ存在し、利用不可能隣接ブロックが存在しない場合の一例を示している。
 図21Aは、利用可能隣接ブロック2102a~2102dのうち同じ予測方向データを有するブロックが4つ存在する場合を示す。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101を符号化/復号化する。対象ブロック2101に隣接する利用可能隣接ブロック2102a~2102dの予測方向データがすべて同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データとが同じである場合は、図19A、図19Bに説明したとおり、1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 図21Bは、利用可能隣接ブロック2102a~2102dのうち同じ予測方向データを有する3つのブロック2102a~2102cが存在する場合を示している。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101を符号化/復号化する。対象ブロック2101に隣接する利用可能隣接ブロックの予測方向データのうち3つの予測方向データが同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックの予測方向データが3つの予測方向データと同じである場合は、図19A、図19Bに示すように1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 図21Cは、利用可能隣接ブロック2102a~2102dのうち2つのブロック2102a、2102bが同じ予測方向データを有し、他の2つのブロック2102c、2102dの予測方向データとそれぞれ異なる場合を示している。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロックの予測方向データのうち2つの予測方向データが同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックの予測方向データが2つの予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 図21Dは、利用可能隣接ブロック2102a~2102dのうち、同じ予測方向データを有する2つのブロックが、2組(2102a、2102b)、(2102c、2102d)存在する場合を示している。この場合は、2組の利用可能隣接ブロックの予測方向データのうち、いずれの予測方向データを対象ブロック2101の予測方向データとして用いるのか、一意に決定できない。そこで、符号化/復号化処理は、例えば、下記の2つの例(d−A)、(d−B)に示す方法の内の一方で対象ブロック2101の予測方向データを決定して、符号化/復号化を行う。
 例1(d−A)
 符号化/復号化処理は、符号化/復号化方法Aを用いて対象ブロック2101を符号化/復号化する。2組の利用可能隣接ブロック(2102a、2102b)、(2102c、2102d)の予測方向データのうち、予測方向値(予測方向を示す番号)が小さい方の予測方向データを用いて対象ブロック2101を符号化/復号化する。予測方向値が小さい予測方向データの方が、対象ブロック2101の予測方向データと同じである可能性が高いからである。対象ブロックの予測方向データが、前記予測方向値が小さい方の予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 例2(d−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロック2101を符号化/復号化する。この場合は、対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化、復号化処理できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 図21Eは、利用可能隣接ブロック2102a~2102dのうち同じ予測方向データを有するブロックが存在しない場合を示している。この場合、符号化/復号化処理は、符号化/復号化方法Bを選択して、対象ブロック2101を符号化/復号化する。対象ブロック2101の予測方向データが利用可能隣接ブロックの予測方向データと異なる可能性が高いからである。符号化/復号化方法Bを用いた場合、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化/復号化できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 (2)以下に説明する図21F~図21Hは、3つの利用可能隣接ブロックが存在し、1つの利用不可能隣接ブロックが存在する場合の例を示している。
 図21Fは、3つの利用可能隣接ブロック2102b~2102dのうち、同じ予測方向データを有するブロックが3つ存在する場合を示している。ブロック2102aは、利用不可能隣接ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102b~2102dの予測方向データがすべて同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 図21Gは、利用可能隣接ブロック2102a、2102c、2102dのうち同じ予測方向データを有する2つのブロック2102a、2102cが存在する場合である。ブロック2102bは、利用不可能隣接ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロックの予測方向データのうちの2つの予測方向データが同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックの予測方向データが前記2つの予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化、復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 図21Hは、利用可能隣接ブロック2102a、2102b、2102dのうち同じ予測方向データを有するブロックが存在しない場合である。ブロック2102cは、利用不可能隣接ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Bを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101の予測方向データが利用可能隣接ブロックの予測方向データと異なる可能性が高いからである。符号化/復号化方法Bを用いた場合、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化/復号化処理できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 (3)以下に説明する図21I及び図21Jは、2つの利用可能隣接ブロックが存在し、2つの利用不可能隣接ブロックが存在する場合の一例を示している。
 図21Iは、利用可能隣接ブロック2102c、2102dのうち同じ予測方向データを有するブロックが2つ存在する場合を示す。ブロック2102a、2102bは利用不可能隣接ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロックの予測方向データがすべて同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 図21Jは、利用可能隣接ブロック2102a、2102bのうち同じ予測方向データを有するブロックが存在しない場合を示す。ブロック2102c、2102dは利用不可能隣接ブロックである。この場合は、2つの利用可能隣接ブロックの予測方向データのうち、いずれの予測方向データを対象ブロック2101の予測方向データとして用いるのか、一意に決定できない。そこで、符号化/復号化処理は、例えば、下記の2つの例(j−A)、(j−B)に示す処理方法の一方で対象ブロック2101の予測方向データを決定する。
 例1(j−A)
 符号化/復号化処理は、符号化/復号化方法Aを用いて対象ブロック2101の符号化/復号化を行う。この場合、符号化/復号化処理は、2つの利用可能隣接ブロック2102a、2102bの予測方向データのうち、予測方向値が小さい方の予測方向データを用いて対象ブロック2101の符号化/復号化を行う。予測方向値が小さい予測方向データの方が、対象ブロック2101の予測方向データと同じである可能性が高いからである。対象ブロックの予測方向データが、前記予測方向値が小さい方の予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化、復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 例2(j−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロック2101の符号化/復号化を行う。この場合は、対象ブロック2101の予測方向データが利用可能隣接ブロック2102a、2102bの予測方向データと異なる場合であっても、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、仮に対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化、復号化処理できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 (4)以下に説明する図21Kは、1つの利用可能隣接ブロック2102dが存在し、3つの利用不可能隣接ブロック2102a~2102cが存在する場合の一例を示している。
 図21Kの場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102dの予測方向データと対象ブロック2101の予測方向データとが同じである可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (5)以下に説明する図21Lは、利用可能隣接ブロックが存在せず4つの利用不可能隣接ブロック2102a~2102dが存在する場合の一例を示している。
 図21Lの場合は、利用可能隣接ブロックが存在しないため、対象ブロック2101の予測方向算出において隣接ブロックの情報を用いることができない。そこで、符号化/復号化処理は、例えば、下記の3つの例(l−B)、(l−A)、(l−C)に示す処理方法のいずれかで対象ブロックの予測方向データを決定する。
 例1(l−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロック2101の符号化/復号化を行う。利用可能隣接ブロックが存在せず、対象ブロックの予測方向算出において隣接ブロックの情報を用いることができないからである。符号化/復号化方法Bを用いた場合、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 例2(l−A)
 符号化/復号化処理は、符号化/復号化方法Aを用いて対象ブロック2101の符号化/復号化を行う。ここで、対象ブロックの周辺には利用可能隣接ブロックが存在しないため、利用可能隣接ブロックの予測方向データを対象ブロックの予測方向データとして用いることができない。そこで、符号化/復号化処理は、対象ブロックの推定予測方向として図7に示すDC予測を選択し、符号化/復号化を行う。対象ブロックの予測方向がDC予測であるとき、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 なお、対象ブロック2101の推定予測方向として選択する方向は、DC予測に限らず、H.264/AVCに規定される予測方向のうちいずれの予測方向でもよい。
 例3(l−C)
 符号化/復号化処理は、符号化/復号化方法C(図示せず)を用いて対象ブロックの符号化/復号化を行う。ここで、符号化/復号化方法Cとは、対象ブロックの周辺に利用可能隣接ブロックが存在しない場合は、符号化側と復号化側とでDC予測を用いることをあらかじめ定めておき、DC予測によって対象ブロックの符号化、復号化処理を行う処理方法である。この場合、対象ブロックにおける予測方向と隣接ブロックにおける予測方向とが同じであるか否かを示す情報を符号化側から復号化側に送る必要がなく、より符号量を低減することができる。
 なお、本実施形態では、画素の符号化/復号化処理について示したが、実施形態2に示したマクロブロックタイプや予測モード情報の符号化/復号化処理に適用してもよい。また、記載されているいずれの実施例と組み合わせてもよい。
 本実施形態においては、例えば隣接ブロックが画面間予測モードであるなどにより画面内予測モードの情報を持っていない場合や、対象ブロックが画面端やスライス端等に位置し、隣接ブロックの情報を利用できない場合等でも、利用可能隣接ブロックの数と、利用可能隣接ブロックのうち同じ予測方向データを有するブロックの数との組合せに応じて符号化/復号化方法を切り換えるため、より好適に符号量を低減することができる。
実施形態4.
 本実施形態は、実施形態3と同様に、図19A、図19Bに示すように、(a)予測方向のデータを有する隣接ブロックであって、対象ブロックと同一のスライス内に存在するもの(以下、利用可能隣接ブロックという)の数と、(b)利用可能隣接ブロックのうち、同じ予測方向データを有するブロックの数と、の組合せに応じて、符号化/復号化方法を切り換える。
 ここで、実施形態3は、図20Aに示したように、最大4つのブロックを候補ブロックとして用いて、対象ブロックの符号化/復号化方法を切り換えたが、本実施形態では図20Bに示すように、最大3つのブロックを候補ブロックとして用いて、対象ブロックの符号化/復号化方法を切り換える。
 本実施形態における動画像符号化装置及び動画像復号化装置は、実施形態3の動画像符号化装置及び動画像復号化装置と同様であるので説明を省略する。また、本実施形態における画面内予測符号化処理及び画面内予測復号化処理の手順は、実施形態3の画面内予測符号化処理及び画面内予測復号化処理の手順と同様であるので説明を省略する。
 図20Bは、候補ブロックとして最大3つのブロックを用いる場合の、利用可能隣接ブロックの数と、当該利用可能隣接ブロックのうち同じ予測方向データを有するブロックの数との関係を示した図である。また、図20Bの(a)~(g)は、図22A~図22Gと対応しており、図22A~図22Gは、図20Bに示したそれぞれの一例を具体的に示している。図22A~図22Gにおける符号は、図21A~図21Lと同様である。
 なお、本実施形態において、対象ブロック2101に隣接するブロック2102a~2102dのうち、候補ブロックとして用いないブロック(以下、非候補ブロックという)の位置は、ブロック2102cと2102dのうちいずれの位置でもよい。また、本実施形態において同じ予測方向データを有するブロックの位置は、図22A~図22Gに示す位置に限られず、3つの候補ブロックのいずれの位置でもよい。さらに、本実施形態において利用不可能隣接ブロックの位置は、図22A~図22Gに示す位置に限られず、3つの候補ブロックのいずれの位置でもよい。
 以下に、図20Bと図22A~図22Gとの対応関係を使って、候補ブロックとして最大3つのブロックを用いる場合の、対象ブロックの符号化/復号化方法の切り換えについて具体的に説明する。図22A~図22Gにおいて、対象ブロックはブロック2101である。
 (1)以下に説明する図22A~図22Cは、利用可能隣接ブロックが3つ存在し、利用不可能隣接ブロックが存在しない場合の一例を示している。他の一つは非候補ブロックである。
 (a)図22Aは、利用可能隣接ブロック2102a~2102cのうち同じ予測方向データを有するブロックが3つ存在する場合を示す。ブロック2102dは非候補ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102a~2102cの予測方向データがすべて同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (b)図22Bは、利用可能隣接ブロック2102a~2102cのうち同じ予測方向データを有するブロックが2つ存在する場合を示す。ブロック2102dは非候補ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロックの符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102a~2102cの予測方向データのうち2つの予測方向データが同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックの予測方向データが前記2つの予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (c)図22Cは、利用可能隣接ブロック2102a、2102b、2102dのうち同じ予測方向データを有するブロックが存在しない場合を示す。ブロック2102cは、非候補ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Bを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる可能性が高いからである。符号化/復号化方法Bを用いた場合、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化/復号化できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 (2)以下に説明する図22D及び図22Eは、利用可能隣接ブロックが2つ存在し、利用不可能隣接ブロックが1つ存在する場合の一例を示している。他の一つは非候補ブロックである。
 (d)図22Dは、利用可能隣接ブロック2102b、2102cのうち同じ予測方向データを有するブロックが2つ存在する場合を示す。ブロック2102aは利用不可能隣接ブロック、ブロック2102dは非候補ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102b、2102cの予測方向データがすべて同じであるため、対象ブロック2101も当該予測方向データを有する可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (e)図22Eは、利用可能隣接ブロック2102a、2102dのうち同じ予測方向データを有するブロックが存在しない場合を示す。ブロック2102bは利用不可能隣接ブロック、ブロック2102cは非候補ブロックである。この場合は、2つの利用可能隣接ブロック2102a、2102dの予測方向データのうち、いずれの予測方向データを対象ブロック2101の予測方向データとして用いるのか、一意に決定できない。そこで、符号化/復号化処理は、例えば、下記の2つの例(e−A)、(e−B)に示す処理方法のいずれかで対象ブロック2101の予測方向データを決定し、符号化/復号化を行う。
 例1(e−A)
 符号化/復号化処理は、符号化/復号化方法Aを用いて対象ブロック2101の符号化/復号化を行う。この場合は、2つの利用可能隣接ブロック2102a、2102dの予測方向データのうち、予測方向値(予測方向を示す番号)が小さい方の予測方向データを用いて対象ブロック2101の符号化/復号化を行う。予測方向値が小さい予測方向データの方が、対象ブロック2101の予測方向データと同じである可能性が高いからである。対象ブロックの予測方向データが、前記予測方向値が小さい方の予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 例2(e−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロック2101の符号化/復号化を行う。この場合は、対象ブロック2101の予測方向データが利用可能隣接ブロック2102a、2102dの予測方向データと異なる場合であっても、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、仮に対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化、復号化処理できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 (3)以下に説明する図22Fは、利用可能隣接ブロックが1つ存在し、利用不可能隣接ブロックが2つ存在する場合の一例を示している。利用可能隣接ブロックは、ブロック2102cである。ブロック2102a、2102bは利用不可能隣接ブロック、ブロック2102dは非候補ブロックである。
 (f)図22Fの場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102cの予測方向データと対象ブロック2101の予測方向データとが同じである可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (4)以下に説明する図22Gは、利用可能隣接ブロックが存在せず、3つの利用不可能隣接ブロックが3つ存在する場合の一例を示している。図22Gにおいて、ブロック2102a~2102cは利用可能隣接ブロック、ブロック2102dは非候補ブロックである。
 (g)図22Gの場合は、利用可能隣接ブロックが存在しないため、対象ブロック2101の予測方向算出において隣接ブロックの情報を用いることができない。そこで、符号化/復号化処理は、例えば、下記の3つの例(g−A)、(g−B)、(g−C)に示す処理方法のいずれかで対象ブロック2101の予測方向データを決定し、符号化/復号化を行う。
 例1(g−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロック2101に対して符号化、復号化処理を行う。利用可能隣接ブロックが存在せず、対象ブロックの予測方向算出において隣接ブロックの情報を用いることができないからである。符号化/復号化方法Bを用いた場合、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 例2
 符号化/復号化処理は、(g−A)符号化/復号化方法Aを用いて対象ブロックの符号化/復号化を行う。ここで、対象ブロック2101の周辺には利用可能隣接ブロックが存在しないため、利用可能隣接ブロックの予測方向データを対象ブロックの予測方向データとして用いることができない。そこで、対象ブロック2101の推定予測方向として図7に示すDC予測を選択し、符号化/復号化を行う。対象ブロックの予測方向がDC予測であるとき、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 なお、対象ブロック2101の推定予測方向として選択する方向は、DC予測に限らず、H.264/AVCに規定される予測方向のうちいずれの予測方向でもよい。
 例3(g−C)
 符号化/復号化処理は、符号化/復号化方法C(図示せず)を用いて対象ブロック2101の符号化/復号化を行う。ここで、符号化/復号化方法Cについては実施形態3において説明したので、説明を省略する。この場合、対象ブロックにおける予測方向と隣接ブロックにおける予測方向とが同じであるか否かを示す情報を符号化側から復号化側に送る必要がなく、より符号量を低減することができる。
 なお、本実施形態は、画素の符号化/復号化処理を示したが、実施形態2に示したマクロブロックタイプや予測モード情報の符号化/復号化処理に適用してもよい。また、記載されているいずれの実施形態と組み合わせてもよい。
 本実施形態は、候補ブロックとして最大3つのブロックを用いる場合において、対象ブロックの予測方向又はブロックタイプの算出に隣接ブロックの情報を利用することができない場合であっても、実施形態3と同様の効果を得ることができる。
実施形態5.
 本実施形態は、実施形態3及び実施形態4と同様に、図19A、図19Bに示すように、(a)予測方向のデータを有する隣接ブロックであって、対象ブロックと同一のスライス内に存在するもの(以下、利用可能隣接ブロックという)の数と、(b)利用可能隣接ブロックのうち、同じ予測方向データを有するブロックの数と、の組合せに応じて、符号化/復号化方法を切り換える。
 ここで、実施形態4は、図20Bに示したように、最大3つのブロックを候補ブロックとして用いて、対象ブロックの符号化/復号化方法を切り換えたが、本実施形態は、図20Cに示すように、最大2つのブロックを候補ブロックとして用いて、対象ブロックの符号化/復号化方法を切り換える。
 本実施形態における動画像符号化装置及び動画像復号化装置は、実施形態3の動画像符号化装置及び動画像復号化装置と同様であるので説明を省略する。また、本実施形態における画面内予測符号化処理及び画面内予測復号化処理の手順は、実施形態3の画面内予測符号化処理及び画面内予測復号化処理の手順と同様であるので説明を省略する。
 図20Cは、候補ブロックとして最大2つのブロックを用いる場合の、利用可能隣接ブロックの数と当該利用可能隣接ブロックのうち同じ予測方向データを有するブロックの数との関係を示した図である。また、図20Cの(a)~(d)は、図23A~図23Dと対応しており、図23A~図23Dは、図20Cに示したそれぞれの一例を具体的に示している。
 なお、本実施形態において、非候補ブロックの位置は、例えば図23A~図23Dに示した位置であってもよいし、これとは異なる位置であってもよい。また、本実施形態において利用不可能隣接ブロックの位置は、図23A~図23Dに示す位置に限られず、2つの候補ブロックのいずれの位置でもよい。
 以下に、図20Cと図23A~図23Dとの対応関係を使って、候補ブロックとして最大2つのブロックを用いる場合の、対象ブロックの符号化/復号化方法の切り換えについて具体的に説明する。
 (1)以下に説明する図23A及び図23Bは、利用可能隣接ブロックが2つ存在し、利用不可能隣接ブロックが存在しない場合の一例を示している。
 (a)図23Aは、利用可能隣接ブロック2102a、2102bのうち同じ予測方向データを有するブロックが2つ存在する場合を示す。ブロック2102c、2102dは、非候補ブロックである。この場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102a、2102bの予測方向データがすべて同じであるため、対象ブロックも当該予測方向データを有する可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (b)図23Bは、利用可能隣接ブロック2102a、2102bのうち同じ予測方向データを有するブロックが存在しない場合を示す。ブロック2102c、2102dは、非候補ブロックである。この場合は、2つの利用可能隣接ブロック2102a、2102bの予測方向データのうち、いずれの予測方向データを対象ブロック2101の予測方向データとして用いるのか、一意に決定できない。そこで、符号化/復号化処理は、例えば、下記の2つの処理方法例(b−A)又は(b−B)で、対象ブロックの予測方向データを決定し、符号化/復号化を行う。
 例1(b−A)
 符号化/復号化処理は、符号化/復号化方法Aを用いて対象ブロック2101に対して符号化/復号化を行う。この場合は、2つの利用可能隣接ブロック2102a、2102bの予測方向データのうち、予測方向値(予測方向を示す番号)が小さい方の予測方向データを用いて対象ブロック2101の符号化/復号化を行う。予測方向値が小さい予測方向データの方が、対象ブロックの予測方向データと同じである可能性が高いからである。対象ブロックの予測方向データが、予測方向値が小さい方の予測方向データと同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 例2(b−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロック2101の符号化/復号化を行う。この場合は、対象ブロック2101の予測方向データが利用可能隣接ブロック2102a、2102bの予測方向データと異なる場合であっても、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、仮に対象ブロックの予測方向データが利用可能隣接ブロックの予測方向データと異なる場合であっても、対象ブロックの予測方向データを2ビット又は3ビットの符号量で符号化/復号化できる確率が向上し、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 (2)以下に説明する図23Cは、利用可能隣接ブロックが1つ存在し、利用不可能隣接ブロックが1つ存在する場合の一例を示している。利用可能隣接ブロックはブロック2102bである。ブロック2102aは利用不可能隣接ブロック、ブロック2102c、2102dは非候補ブロックである。
 (c)図23Cの場合、符号化/復号化処理は、符号化/復号化方法Aを選択して、対象ブロック2101の符号化/復号化を行う。対象ブロック2101に隣接する利用可能隣接ブロック2102bの予測方向データと対象ブロック2101の予測方向データとが同じである可能性が高いからである。対象ブロックと利用可能隣接ブロックの予測方向データが同じである場合は、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 (3)以下に説明する図23Dは、利用可能隣接ブロックが存在せず、利用不可能隣接ブロックが2つ存在する場合の一例を示している。利用不可能隣接ブロックは2102a、2102bであり、ブロック2102c、2102dは非候補ブロックである。
 (d)図23Dの場合、利用可能隣接ブロックが存在しないため、対象ブロック2101の予測方向算出において隣接ブロックの情報を用いることができない。そこで、符号化/復号化処理は、例えば、下記の3つの例(d−A)、(d−B)又は(d−C)に示す処理方法で対象ブロック2101の予測方向データを決定し、符号化/復号化を行えばよい。
 例1(d−B)
 符号化/復号化処理は、符号化/復号化方法Bを用いて対象ブロックの符号化/復号化を行う。利用可能隣接ブロックが存在せず、対象ブロック2101の予測方向算出において隣接ブロックの情報を用いることができないからである。符号化/復号化方法Bを用いた場合、一部の予測方向データは4ビットよりも小さい2ビット又は3ビットで表すことができる。すなわち、符号化/復号化方法Aを選択して4ビットの符号量で符号化/復号化するよりも符号量の低減を図ることができる。
 例2(d−A)
 符号化/復号化処理は、符号化/復号化方法Aを用いて対象ブロック2101の符号化/復号化を行う。ここで、対象ブロック2101の周辺には利用可能隣接ブロックが存在しないため、利用可能隣接ブロックの予測方向データを対象ブロックの予測方向データとして用いることができない。そこで、対象ブロック2101の推定予測方向として図7に示すDC予測を選択して、符号化/復号化を行う。対象ブロックの予測方向がDC予測であるとき、図19A、図19Bに説明したとおり1ビットの情報を符号化/復号化すれば良く、符号化/復号化処理において、より符号量を低減することができる。
 なお、対象ブロック2101の予測方向として使用する予測方向は、DC予測に限られず、H.264/AVCに規定される予測方向のうちいずれの予測方向でもよい。
 例3(d−C)
 符号化/復号化処理は、符号化/復号化方法C(図示せず)を用いて対象ブロック2101の符号化/復号化を行う。ここで、符号化/復号化方法Cについては実施形態3において説明したので、説明を省略する。この場合、対象ブロックにおける予測方向と隣接ブロックにおける予測方向とが同じであるか否かを示す情報を符号化側から復号化側に送る必要がなく、より符号量を低減することができる。
 なお、本実施形態は、画素の符号化/復号化処理について示したが、実施形態2に示したマクロブロックタイプや予測モード情報の符号化/復号化処理に適用してもよい。また、記載されているいずれの実施形態と組み合わせてもよい。
 本実施形態は、候補ブロックとして最大2つのブロックを用いる場合において、対象ブロックの予測方向又はブロックタイプの算出に隣接ブロックの情報を利用することができない場合であっても、実施形態3と同様の効果を得ることができる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
 以上のように、本発明は、動画像の復号化に適用することができ、特に、画面内予測処理における予測方向データあるいはブロックタイプデータの復号化に適用することができる。

Claims (14)

  1.  画面内予測処理を行う動画像復号化方法であって、
     前記画面内予測処理において、復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックの個数を判定する判定ステップと、
     前記判定ステップの判定結果に基づいて、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを復号化する復号化ステップと、
     前記復号化ステップにおいて復号化された予測方向データ又はブロックタイプデータに基づいて画面内予測を行い、復号化画像データを生成する生成ステップとを備える動画像復号化方法。
  2.  請求項1記載の動画像復号化方法であって、
     前記判定ステップは、前記複数の隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックが2つ以上ある場合、該予測方向又は該ブロックタイプが前記復号化対象ブロックの推定予測方向又は推定ブロックタイプであると決定し、
     前記復号化ステップは、前記推定予測方向データ又は前記推定ブロックタイプに基づいて生成され、符号化ストリームに含まれるビット構成情報に基づいて、前記復号化対象ブロックの予測方向データ又は前記ブロックタイプデータを復号化する動画像復号化方法。
  3.  請求項1記載の動画像復号化方法であって、
     前記判定ステップにおいて、前記複数の隣接ブロックに、同一の予測方向データ又は同一のブロックタイプを有する2つ以上のブロックが存在しない場合、前記復号化ステップは、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを可変長復号処理により復号化する動画像復号化方法。
  4.  画面内予測処理を行う動画像復号化装置であって、
     前記復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックの個数を判定する判定部と、
     前記判定部の判定結果に基づいて、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを復号化する復号化部と、
     前記復号化部において復号化された予測方向データ又はブロックタイプデータに基づいて画面内予測を行い、復号化画像を生成する復号画像生成部とを備える動画像復号化装置。
  5.  請求項4記載の動画像復号化装置であって、
     前記判定部は、前記複数の隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックが2つ以上あると判定した場合、該予測方向又は該ブロックタイプが前記復号化対象ブロックの推定予測方向又は推定ブロックタイプであると決定し、
     前記復号化部は、前記推定予測方向データ又は前記推定ブロックタイプに基づいて生成され、符号化ストリームに含まれるビット構成情報に基づいて、前記復号化対象ブロックの予測方向データ又は前記ブロックタイプデータを復号化する動画像復号化装置。
  6.  請求項4記載の動画像復号化装置であって、
     前記判定部が、前記複数の隣接ブロックに、同一の予測方向データ又は同一のブロックタイプを有する2つ以上のブロックが存在しないと判定した場合、前記復号化部は、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを可変長復号処理により復号化する動画像復号化装置。
  7.  画面内予測処理を行う動画像復号化方法であって、
     復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、予測方向のデータ又はブロックタイプのデータを有する隣接ブロックである利用可能隣接ブロックの個数と、該利用可能隣接ブロックのうち、同一の予測方向又は同一のブロックタイプを有するブロックの個数とを判定する判定ステップと、
     前記判定ステップの判定結果に基づいて、前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータを復号化する復号化ステップと、
     前記復号化ステップにおいて復号化された予測方向のデータ又はブロックタイプのデータに基づいて画面内予測を行い、復号化画像データを生成する生成ステップとを備える動画像復号化方法。
  8.  請求項7記載の動画像復号化方法であって、
     前記判定ステップは、
     前記利用可能隣接ブロックが2つ以上存在し、前記利用可能隣接ブロックのうち同一の予測方向又は同一のブロックタイプを有するブロックが2つ以上存在すると判定した場合は、最も多く存在する予測方向又はブロックタイプが前記復号化対象ブロックの推定予測方向又は推定ブロックタイプであると決定し、
     前記復号化ステップは、
     符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプと前記復号化対象ブロックにおける予測方向又はブロックタイプとが同じであるか否かを示す情報を復号化し、
     前記情報が同じであることを示す場合は、前記推定予測方向又は前記推定ブロックタイプを前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化し、
     前記情報が異なることを示す場合は、符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプとは異なる予測方向又はブロックタイプを示す情報を復号化し、該復号化した予測方向情報又はブロックタイプ情報を前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化する動画像復号化方法。
  9.  請求項7記載の動画像復号化方法であって、
     前記判定ステップは、
     存在する前記利用可能隣接ブロックが4つであり、前記利用可能隣接ブロックのうち同一の予測方向又は同一のブロックタイプを有する2つのブロックからなる組が2組存在すると判定した場合、2組の利用可能隣接ブロックの予測方向又はブロックタイプのうち、予測方向値又はブロックタイプ値が小さい方の予測方向又はブロックタイプが前記復号化対象ブロックの推定予測方向又は推定ブロックタイプであると決定し、
     前記復号化ステップは、
     符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプと前記復号化対象ブロックにおける予測方向又はブロックタイプとが同じであるか否かを示す情報を復号化し、
     前記情報が同じであることを示す場合は、前記推定予測方向又は前記推定ブロックタイプを前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化し、
     前記情報が異なることを示す場合は、符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプとは異なる予測方向又はブロックタイプを示す情報を復号化し、該復号化した予測方向情報又はブロックタイプ情報を前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化する動画像復号化方法。
  10.  請求項7記載の動画像復号化方法であって、
     前記判定ステップが、存在する前記利用可能隣接ブロックが4つであり、前記利用可能隣接ブロックのうち同一の予測方向又は同一のブロックタイプを有する2つのブロックからなる組が2組存在すると判定した場合は、前記復号化ステップは、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを可変長復号処理により復号化する動画像復号化方法。
  11.  請求項7記載の動画像復号化方法であって、
     前記判定ステップが、前記利用可能隣接ブロックが2つ以上存在し、前記利用可能隣接ブロックのうち同一の予測方向又は同一のブロックタイプを有するブロックが存在しないと判定した場合は、前記復号化ステップは、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを可変長復号処理により復号化する動画像復号化方法。
  12.  請求項7記載の動画像復号化方法であって、
     前記判定ステップは、
     存在する前記利用可能隣接ブロックが1つであると判定した場合は、該利用可能隣接ブロックの予測方向又はブロックタイプが前記復号化対象ブロックの推定予測方向又は推定ブロックタイプであると決定し、
     前記復号化ステップは、
     符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプと前記復号化対象ブロックにおける予測方向又はブロックタイプとが同じであるか否かを示す情報を復号化し、
     前記情報が同じであることを示す場合は、前記推定予測方向又は前記推定ブロックタイプを前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化し、
     前記情報が異なることを示す場合は、符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプとは異なる予測方向又はブロックタイプを示す情報を復号化し、該復号化した予測方向情報又はブロックタイプ情報を前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化する動画像復号化方法。
  13.  請求項7記載の動画像復号化方法であって、
     前記判定ステップが前記利用可能隣接ブロックは存在しないと判定した場合は、前記復号化ステップは、前記復号化対象ブロックの予測方向データ又はブロックタイプデータを可変長復号処理により復号化する動画像復号化方法。
  14.  請求項7記載の動画像復号化方法であって、
     前記判定ステップは、
     前記利用可能隣接ブロックが存在しないと判定した場合は、復号化対象ブロックに隣接するブロックの情報に関係なく、あらかじめ定めた所定の予測方向又はブロックタイプが前記復号化対象ブロックの推定予測方向又は推定ブロックタイプであると決定し、
     前記復号化ステップは、
     符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプと前記復号化対象ブロックにおける予測方向又はブロックタイプとが同じであるか否かを示す情報を復号化し、
     前記情報が同じであることを示す場合は、前記推定予測方向又は前記推定ブロックタイプを前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化し、
    前記情報が異なることを示す場合は、符号化ストリームに含まれる、前記推定予測方向又は前記推定ブロックタイプとは異なる予測方向又はブロックタイプを示す情報を復号化し、該復号化した予測方向情報又はブロックタイプ情報を前記復号化対象ブロックの予測方向のデータ又はブロックタイプのデータとして復号化する動画像復号化方法。
PCT/JP2010/061360 2009-07-03 2010-06-28 動画像復号化方法及び動画像復号化装置 WO2011002091A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011521000A JP5370899B2 (ja) 2009-07-03 2010-06-28 動画像復号化方法及び動画像復号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009158355 2009-07-03
JP2009-158355 2009-07-03

Publications (1)

Publication Number Publication Date
WO2011002091A1 true WO2011002091A1 (ja) 2011-01-06

Family

ID=43411159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/061360 WO2011002091A1 (ja) 2009-07-03 2010-06-28 動画像復号化方法及び動画像復号化装置

Country Status (2)

Country Link
JP (1) JP5370899B2 (ja)
WO (1) WO2011002091A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012101781A1 (ja) * 2011-01-26 2012-08-02 株式会社日立製作所 画像復号化装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006304107A (ja) * 2005-04-22 2006-11-02 Ntt Electornics Corp 符号化装置、及び、この符号化装置に適用されるプログラム
JP2007116351A (ja) * 2005-10-19 2007-05-10 Ntt Docomo Inc 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006304107A (ja) * 2005-04-22 2006-11-02 Ntt Electornics Corp 符号化装置、及び、この符号化装置に適用されるプログラム
JP2007116351A (ja) * 2005-10-19 2007-05-10 Ntt Docomo Inc 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012101781A1 (ja) * 2011-01-26 2012-08-02 株式会社日立製作所 画像復号化装置
JP5616984B2 (ja) * 2011-01-26 2014-10-29 株式会社日立製作所 画像復号化装置
US9247252B2 (en) 2011-01-26 2016-01-26 Hitachi, Ltd. Image decoding device

Also Published As

Publication number Publication date
JP5370899B2 (ja) 2013-12-18
JPWO2011002091A1 (ja) 2012-12-13

Similar Documents

Publication Publication Date Title
JP6821730B2 (ja) 符号化装置、符号化方法、復号装置、復号方法、及びプログラム
JP5128794B2 (ja) 映像のイントラ予測符号化及び復号化方法、並びに装置
EP3684059B1 (en) Decoding method for intra predicting a block by first predicting the pixels at the boundary
JP5400798B2 (ja) 動画像復号化方法及び装置、動画像符号化方法及び装置
JP5047565B2 (ja) 映像のイントラ予測符号化及び復号化方法、並びに装置
KR101588559B1 (ko) 모션 벡터 저장 방법 및 장치, 인코딩 및 디코딩 방법, 인코딩 및 디코딩 장치, 및 기록 매체
JP5401009B2 (ja) 映像のイントラ予測符号化、復号化方法及び装置
TWI524780B (zh) 在變換單元內之多符號位元隱藏
WO2012115420A2 (ko) 필터링을 이용한 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
WO2012087034A2 (ko) 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
JP5396600B2 (ja) 改善された予測を実施する画像符号化方法および装置と、対応する復号化方法および装置と、信号およびコンピュータ・プログラム
TW202017369A (zh) 擴充參考圖像內預測技術
KR20090058954A (ko) 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
JP2009111691A (ja) 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
JP5216710B2 (ja) 復号化処理方法
CN113507603B (zh) 图像信号编码/解码方法及其设备
US20180324441A1 (en) Method for encoding/decoding image and device therefor
CN111684810A (zh) 数据编码和解码
KR20140124443A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR20110073263A (ko) 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치
KR20110100912A (ko) 영상 부호화 장치, 그 영상 부호화 방법, 영상 복호화 장치 및 그 영상 복호화 방법
EP2034742A2 (en) Video coding method and device
TWI738167B (zh) 圖像編碼及解碼技術
JP7242571B2 (ja) 画像をエンコーディング及びデコーディングする方法、エンコーディング及びデコーディング装置、並びに、対応するコンピュータプログラム
JP5370899B2 (ja) 動画像復号化方法及び動画像復号化装置

Legal Events

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

Ref document number: 10794259

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011521000

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10794259

Country of ref document: EP

Kind code of ref document: A1