WO2015059973A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
WO2015059973A1
WO2015059973A1 PCT/JP2014/070395 JP2014070395W WO2015059973A1 WO 2015059973 A1 WO2015059973 A1 WO 2015059973A1 JP 2014070395 W JP2014070395 W JP 2014070395W WO 2015059973 A1 WO2015059973 A1 WO 2015059973A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
pixel
unit
block
intra
Prior art date
Application number
PCT/JP2014/070395
Other languages
English (en)
French (fr)
Inventor
数史 佐藤
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2015059973A1 publication Critical patent/WO2015059973A1/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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • Intra prediction is a technique for reducing the amount of information to be encoded by using a spatial correlation between blocks in one image and predicting pixel values in one block from pixel values in another block. is there.
  • image coding system before MPEG4 only the direct current component and low frequency component of the orthogonal transform coefficient are targeted for intra prediction.
  • H.H. In H.264 / AVC Advanced Video Coding
  • intra prediction is possible for all components.
  • HEVC High Efficiency Video Coding
  • JCTVC Joint Collaboration Team-Video Coding
  • ISO / IEC ISO/ IEC
  • the intra motion compensation mode is a mode in which an image of another block in the same picture specified by a motion vector is used as a predicted image of a certain target block. In the sense that an image of another block is copied to the target block, the intra motion compensation mode is also called a block copy mode. Since the motion vector in the intra motion compensation mode does not actually represent the motion of the subject, it can be called, for example, a displacement vector. Intra motion compensation mode efficiently encodes images with CG (Computer Graphics) content or text content (such as a TV program guide) where blocks with similar texture often appear repeatedly in the picture Suitable for that.
  • CG Computer Graphics
  • text content such as a TV program guide
  • a P picture and a B picture for which inter prediction is enabled may include both an intra prediction block and an inter prediction block.
  • the target block is encoded by referring to a pixel encoded / decoded before the target block in the same picture.
  • referring to an inter prediction block involves a risk of causing a loss of images in a chain due to, for example, transmission errors of packets constituting an encoded stream. Therefore, in HEVC, a flag called “constrained_intra_pred_flag” for enabling avoiding such a risk in accordance with the use of the system is defined as an encoding parameter (Non-Patent Document). 1). When the constrained intra prediction flag indicates true, it is prohibited to refer to the inter prediction block during intra prediction.
  • both the pixels belonging to the intra prediction block and the pixels belonging to the inter prediction block may be included in the reference range specified by the motion vector corresponding to the target block. If the constrained intra prediction flag is true, pixels belonging to the inter prediction block cannot be referred to. For example, uniformly disabling the intra motion compensation mode when the constrained intra prediction flag is true is one solution to satisfy the requirements for constrained intra prediction. However, such a solution greatly deprives the opportunity to improve the coding efficiency by utilizing the intra motion compensation mode.
  • a prediction unit that performs intra prediction in an intra motion compensation mode, and a pixel of interest of the target block when it is prohibited to refer to an inter prediction block during the intra prediction
  • a control unit that causes the prediction unit to alternatively use a pixel value of an alternative pixel that is not prohibited to be referenced when a reference pixel for the intra motion compensation mode corresponding to is belonging to an inter prediction block;
  • An image processing apparatus is provided.
  • the image processing apparatus may be realized as an image decoding apparatus that decodes an image, or may be realized as an image encoding apparatus that encodes an image.
  • an apparatus that performs intra prediction on an object block in an intra motion compensation mode, it is determined whether referring to an inter prediction block is prohibited during the intra prediction; Determining whether a reference pixel for the intra motion compensation mode corresponding to the target pixel of the target block belongs to the inter prediction block when it is prohibited to refer to the inter prediction block at the time of prediction;
  • an image processing method including: alternatively using a pixel value of a substitute pixel that is not prohibited from being referenced as a reference pixel value.
  • the technique according to the present disclosure when it is prohibited to refer to the inter prediction block, it is possible to achieve higher encoding efficiency by using the intra motion compensation mode.
  • the above effects are not necessarily limited, and any of the effects shown in the present specification, or other effects that can be grasped from the present specification, together with or in place of the above effects. May be played.
  • FIG. 1 is a block diagram illustrating an example of a configuration of an image encoding device 10 according to an embodiment.
  • an image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, The storage buffer 17, the rate control unit 18, the inverse quantization unit 21, the inverse orthogonal transform unit 22, the addition unit 23, the loop filter 24, the frame memory 25, the selectors 26 and 27, the intra prediction unit 30, and the inter prediction unit 40 are provided.
  • a / D Analogue to Digital
  • the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
  • the rearrangement buffer 12 rearranges the images included in the series of image data.
  • the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then transmits the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the inter prediction unit 40. Output.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data input from the intra prediction unit 30 or the inter prediction unit 40 described later.
  • the subtraction unit 13 calculates prediction error data that is the difference between the image data input from the rearrangement buffer 12 and the predicted image data, and outputs the calculated prediction error data to the orthogonal transform unit 14.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14 and a rate control signal from the rate control unit 18 described later.
  • the rate control signal specifies a quantization parameter for each color component for each block.
  • the quantization unit 15 quantizes the transform coefficient data at a quantization step specified by the quantization parameter.
  • the quantizing unit 15 then outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the lossless encoding unit 16 generates an encoded stream by performing a lossless encoding process on the quantized data input from the quantization unit 15.
  • the lossless encoding unit 16 encodes various parameters referred to when decoding the encoded stream, and inserts the encoded parameters into the header area of the encoded stream.
  • the parameters encoded by the lossless encoding unit 16 may include information related to intra prediction and information related to inter prediction, which will be described later. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory. Then, the accumulation buffer 17 outputs the accumulated encoded stream to a transmission unit (not shown) (for example, a communication interface or a connection interface with a peripheral device) at a rate corresponding to the bandwidth of the transmission path.
  • a transmission unit for example, a communication interface or a connection interface with a peripheral device
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21, the inverse orthogonal transform unit 22, and the addition unit 23 constitute a local decoder.
  • the inverse quantization unit 21 inversely quantizes the quantized data in the same quantization step as that used by the quantization unit 15 to restore transform coefficient data. Then, the inverse quantization unit 21 outputs the restored transform coefficient data to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the adding unit 23 adds decoded image data (reconstructed) by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the intra prediction unit 30 or the inter prediction unit 40. Image). Then, the adder 23 outputs the generated decoded image data to the loop filter 24 and the frame memory 25.
  • the loop filter 24 includes a filter group for the purpose of improving the image quality.
  • the deblocking filter (DF) is a filter that reduces block distortion that occurs when an image is encoded.
  • a sample adaptive offset (SAO) filter is a filter that adds an adaptively determined offset value to each pixel value.
  • the adaptive loop filter (ALF) is a filter that minimizes an error between the image after SAO and the original image.
  • the loop filter 24 filters the decoded image data input from the adding unit 23 and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 stores the decoded image data before filtering input from the adding unit 23 and the decoded image data after filtering input from the loop filter 24 using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the decoded image data after filtering used for inter prediction from the frame memory 25 and supplies the read out decoded image data to the inter prediction unit 40 as reference image data.
  • the selector 27 In the intra prediction mode, the selector 27 outputs predicted image data as a result of the intra prediction output from the intra prediction unit 30 to the subtraction unit 13 and outputs information related to the intra prediction to the lossless encoding unit 16. Further, in the inter prediction mode, the selector 27 outputs predicted image data as a result of the inter prediction output from the inter prediction unit 40 to the subtraction unit 13 and outputs information related to the inter prediction to the lossless encoding unit 16. .
  • the selector 27 switches between the intra prediction mode and the inter prediction mode according to the size of the cost function value.
  • the intra prediction unit 30 performs an intra prediction process for each HEVC PU (Prediction Unit) based on the original image data and the decoded image data.
  • the PU is a block formed by recursively dividing a CU (Coding Unit).
  • the intra prediction unit 30 evaluates the prediction result of each candidate mode in the prediction mode set using a predetermined cost function.
  • the intra prediction unit 30 selects the prediction mode with the smallest cost function value, that is, the prediction mode with the highest compression rate, as the optimum prediction mode.
  • the intra prediction unit 30 generates predicted image data according to the optimal prediction mode.
  • the intra prediction unit 30 outputs information related to intra prediction including prediction mode information representing the selected optimal prediction mode, cost function values, and predicted image data to the selector 27.
  • the prediction mode set for intra prediction searched by the intra prediction unit 30 includes an intra motion compensation mode.
  • the prediction mode information output from the intra prediction unit 30 may also include motion vector information (displacement vector information).
  • the intra motion compensation mode is a mode in which an image of another block in the same picture specified by a motion vector is used as a predicted image of a certain target block. In the sense that an image of another block is copied to the target block, the intra motion compensation mode is also called a block copy mode. Since the motion vector in the intra motion compensation mode does not actually represent the motion of the subject, it can be called, for example, a displacement vector.
  • Intra motion compensation mode is suitable for efficiently coding images with CG content or text content (such as a TV program guide) where blocks with the same texture often appear repeatedly in a picture .
  • the inter prediction unit 40 performs an inter prediction process for each PU of HEVC based on the original image data and the decoded image data. For example, the inter prediction unit 40 evaluates the prediction result of each candidate mode in the prediction mode set using a predetermined cost function. Next, the inter prediction unit 40 selects the prediction mode with the smallest cost function value, that is, the prediction mode with the highest compression rate, as the optimum prediction mode. In addition, the inter prediction unit 40 generates predicted image data according to the optimal prediction mode. The inter prediction unit 40 outputs information related to inter prediction including the prediction mode information indicating the selected optimal prediction mode and the motion information, the cost function value, and the prediction image data to the selector 27.
  • a CU is a block formed by hierarchically dividing each LCU (Largest Coding Unit) arranged in raster scan order in each picture (or slice or tile) into a quad-tree shape. .
  • the minimum usable CU size is 8 ⁇ 8 pixels, and the maximum value is 64 ⁇ 64 pixels.
  • Which method of intra prediction or inter prediction is used to generate a prediction image is determined at the CU level.
  • intra prediction and inter prediction are performed using each of one or more PUs divided from a CU as a processing unit.
  • the minimum size of PU is 4 ⁇ 4 pixels.
  • a CU itself for which intra prediction is selected or a PU belonging to the CU is referred to as an intra prediction block.
  • a CU itself for which inter prediction is selected or a PU belonging to the CU is referred to as an inter prediction block.
  • FIG. 2 is an explanatory diagram for explaining a mixture of intra prediction blocks and inter prediction blocks.
  • an image IM1 including a plurality of blocks formed by quadtree-like division is shown.
  • the image IM1 is a P picture or a B picture.
  • the size of the block B10 may be 16 ⁇ 16 pixels
  • the size of the block B11 may be 8 ⁇ 8 pixels
  • the size of the block B12 may be 32 ⁇ 32 pixels.
  • the block B10 is a target block (current block) that is an intra prediction processing target at a certain point in time.
  • the block shaded with dots in the drawing including the block B11 is an intra prediction block among the blocks that have already been encoded (decoded).
  • the shaded blocks in the drawing are inter prediction blocks among the blocks that have already been encoded (decoded).
  • intra prediction blocks and inter prediction blocks are included in one picture. May be mixed.
  • a flag called a “constrained intra prediction flag” is defined in a PPS (Picture Parameter Set) so as to avoid such a risk in accordance with the use of the system.
  • PPS Physical Parameter Set
  • FIG. 3 is an explanatory diagram showing an example of setting of motion vectors and reference blocks in the intra motion compensation mode.
  • the image IM1 illustrated in FIG. 2 is shown again, and the motion vector MV is set for the target block B10.
  • the reference block RB is a block of reference pixels having the same size as the target block B10, which is specified by the motion vector MV.
  • the reference block RB includes a plurality of reference pixels respectively belonging to the blocks B12, B13, B14, B15, B16, B17, B18, and B19.
  • Block B12, block B14, block B15, and block B16 are inter prediction blocks.
  • Block B13, block B17, block B18, and block B19 are intra prediction blocks. Therefore, when the constrained intra prediction flag indicates true, as illustrated in FIG. 4, among the reference pixels included in the reference block RB, refer to the pixels belonging to the block B12, the block B14, the block B15, and the block B16. Is forbidden. On the other hand, it is allowed to refer to pixels belonging to the block B13, the block B17, the block B18, and the block B19.
  • Disabling the intra motion compensation mode uniformly when the constrained intra prediction flag is true is a first solution for satisfying the requirements for constrained intra prediction.
  • the restricted intra prediction flag is true, prohibiting the setting of a motion vector in which the reference block includes pixels belonging to the inter prediction block in the intra motion compensation mode This is the second solution to meet the requirements.
  • these solutions greatly deprive the opportunity to improve the coding efficiency using the intra motion compensation mode. For example, when only a small number of reference pixels belong to the inter prediction block in the reference block, there is room for the intra motion compensation mode to sufficiently contribute to high prediction accuracy (that is, high coding efficiency).
  • a third solution for satisfying the requirement for constrained intra prediction is that when reference of a reference pixel in a reference block corresponding to a certain target pixel in a target block is prohibited, the pixel value of the reference pixel is set. Instead of using it, zero or some predefined value is used as the predicted pixel value for the pixel of interest.
  • this third solution expands the opportunity to utilize the intra motion compensation mode, it leads to a decrease in prediction accuracy in the region where zero (or other value) is used. Therefore, none of the solutions can be said to be beneficial from the viewpoint of improving the coding efficiency using the intra motion compensation mode.
  • the present embodiment it is allowed to set a reference block that spans an intra prediction block and an inter prediction block in the intra motion compensation mode while satisfying the requirements for constrained intra prediction.
  • a predicted image of a region corresponding to a reference pixel belonging to the inter prediction block is generated using a spatial correlation with another region.
  • FIG. 5 is a block diagram illustrating an example of a detailed configuration of the intra prediction unit 30 of the image encoding device 10 illustrated in FIG. 1.
  • the intra prediction unit 30 includes a prediction control unit 31, a mode buffer 33, a prediction unit 35, a line buffer 37, and a mode determination unit 39.
  • the prediction control unit 31 controls intra prediction processing in the intra prediction unit 30. For example, the prediction control unit 31 sequentially selects each of one or more PUs in the image as a target block. Moreover, the prediction control unit 31 causes the prediction unit 35 to perform intra prediction for each target block in each of a plurality of prediction modes (candidates) included in the prediction mode set, and generates a predicted image of each target block. Then, the prediction control unit 31 causes the mode determination unit 39 to determine an optimal prediction mode.
  • the prediction mode set for intra prediction includes the intra motion compensation mode as described above. Then, the prediction control unit 31 controls the intra prediction in the intra motion compensation mode depending on whether or not referring to the inter prediction block is prohibited during the intra prediction. When it is not prohibited to refer to the inter prediction block, the intra prediction in the intra motion compensation mode may be performed in the same manner as the existing method. When it is prohibited to refer to the inter prediction block, the prediction control unit 31 determines whether the reference pixel for the intra motion compensation mode corresponding to the target pixel included in the target block belongs to the inter prediction block. Judge about. The reference pixel here is a pixel at a position offset (displaced) from the pixel position of the target pixel by the amount of the motion vector.
  • the prediction control unit 31 uses, as a reference pixel value, a pixel value of an alternative pixel that is not prohibited for reference, instead of the reference pixel. Let me use it instead.
  • the substitute pixel may typically be a pixel within the same reference range (reference block) belonging to the intra prediction block. However, a pixel outside the reference range (for example, a pixel adjacent to the reference block) belonging to the intra prediction block may be selected as a substitute pixel.
  • the prediction control unit 31 may cause the prediction unit 35 to use some fixed value as a reference pixel value when there is no appropriate alternative pixel that can be selected. Two embodiments for selecting an alternative pixel will be described in more detail later.
  • constrained intra prediction flag (constrained_intra_pred_flag).
  • the constrained intra prediction flag is set depending on factors such as the user's purpose, system application, or performance requirements, and is encoded in the encoded stream by the lossless encoding unit 16.
  • the mode buffer 33 is a buffer that temporarily stores mode information referred to when determining whether a reference pixel corresponding to a target pixel belongs to an intra prediction block or an inter prediction block.
  • the mode information buffered by the mode buffer 33 may include, for each encoded CU, a parameter indicating the position and size of the CU and whether the CU is an intra prediction block or an inter prediction block.
  • the mode information may include a set of flags for each pixel indicating whether the mode information belongs to an intra prediction block or an inter prediction block.
  • Prediction unit 35 performs intra prediction on each of the plurality of prediction modes included in the prediction mode set for the target blocks sequentially selected by the prediction control unit 31, and generates a prediction image of each target block. To do. Then, the prediction unit 35 outputs a prediction image for each prediction mode of each target block to the mode determination unit 39.
  • the prediction mode set for intra prediction includes an intra motion compensation mode.
  • the prediction unit 35 uses the inter prediction block under the control of the prediction control unit 31.
  • the pixel value of the reference pixel to which it belongs is supplemented with the pixel value of an alternative pixel whose reference is not prohibited, or is replaced with a fixed value.
  • the line buffer 37 is a buffer that temporarily stores pixel values that are referred to or used by the prediction unit 35 in the intra motion compensation mode. For example, the line buffer 37 buffers the predicted pixel value of the target line to which the target pixel belongs using a line memory. When the corresponding reference pixel belongs to the intra prediction block, the predicted pixel value of the target pixel is equal to the pixel value of the reference pixel. When the corresponding reference pixel belongs to the inter prediction block, the predicted pixel value of the target pixel is equal to the pixel value of the alternative pixel or the fixed value described above. In the first embodiment to be described later, the line buffer 37 does not have to buffer the predicted pixel values of lines other than the target line. In a second embodiment to be described later, the line buffer 37 can buffer the predicted pixel values of the target line to which the target pixel belongs and the adjacent line on the target line using a line memory.
  • the mode determination unit 39 calculates a cost function value for each prediction mode based on the original image data input from the rearrangement buffer 12 and the predicted image data input from the prediction unit 35. Further, the mode determination unit 39 determines a prediction mode for optimizing the encoding efficiency based on the comparison of the calculated cost function values. And the mode determination part 39 produces
  • the prediction mode information may include motion vector information (displacement vector information) indicating an optimal motion vector for the target block. Then, the mode determination unit 39 outputs information related to intra prediction including the generated prediction mode information, and corresponding cost function values and predicted image data to the selector 27.
  • the prediction control unit 31 sets the pixel value of the left pixel to
  • the prediction unit 35 is alternatively used as a reference pixel value.
  • the left pixel may not be the left adjacent pixel. That is, the alternative pixel may be a pixel located away from the reference pixel to the left.
  • the prediction control part 31 makes the prediction part 35 use a fixed value as a reference pixel value, when the pixel which belongs to an intra prediction block does not exist on the left on the same line as a reference pixel.
  • FIG. 6 is an explanatory diagram for explaining a first embodiment of a technique for compensating for pixel values of pixels whose reference is prohibited.
  • the reference block RB is shown again.
  • the pixel P 00 located at the upper left corner of the reference block RB is a reference pixel corresponding to the pixel located at the upper left corner of the target block (not shown).
  • Reference pixel P 00 is for belonging to the inter prediction block, referring to the reference pixel P 00 is prohibited.
  • the left pixel on the same line as the reference pixel P 00 is not available. Therefore, the prediction control unit 31 causes the prediction unit 35 to use a fixed value as the pixel value of the reference pixel P 00 (symbol “F” in the drawing).
  • Pixel P 21 of the reference block RB is a reference pixel belonging to the intra prediction block. Referring to the reference pixel P 21 is acceptable. Pixel values of the reference pixels P 21 is assumed to be equal to R 1. Pixel P 22 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 22 is prohibited. The left identical to the reference pixel P 22 of the line, the reference pixel P 21 belonging to the intra prediction block exists. Thus, the predictive control unit 31, as the pixel value of the reference pixel P 22, to use the pixel value R 1 of an alternative pixel P 21 in the prediction unit 35. Pixel P 25 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 25 is prohibited.
  • the predictive control unit 31 as the pixel value of the reference pixel P 25, to use the pixel value R 1 of an alternative pixel P 21 in the prediction unit 35.
  • the predicting unit 35 may substitute the pixel value R 1 of the alternative pixel P 21 for the pixel value of the reference pixel P 25 by referencing the left adjacent pixel in a chain.
  • Pixel P 51 of the reference block RB is a reference pixel belonging to the intra prediction block. Referring to the reference pixel P 51 is acceptable. Pixel value of the reference pixel P 51 is assumed to be equal to R 4.
  • Pixel P 52 of the reference block RB is a reference pixel belonging to the inter prediction block.
  • the predictive control unit 31 as the pixel value of the reference pixel P 52, to use the pixel values R 4 alternate pixels P 51 to the prediction unit 35.
  • Pixel P 55 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 55 is prohibited. The left identical to the reference pixel P 55 of the line, the reference pixel P 51 belonging to the intra prediction block exists. Thus, the predictive control unit 31, as the pixel value of the reference pixel P 55, to use the pixel values R 4 alternate pixels P 51 to the prediction unit 35.
  • the predicting unit 35 may substitute the pixel value R 4 of the alternative pixel P 51 into the pixel value of the reference pixel P 55 by referencing the left adjacent pixel in a chain.
  • Pixel P 75 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 75 is prohibited. There is no reference pixel belonging to the intra prediction block on the left of the same line as the reference pixel P 00 . Therefore, the prediction control unit 31 causes the prediction unit 35 to use a fixed value as the pixel value of the reference pixel P 75 (symbol “F” in the drawing). In terms of mounting, the prediction unit 35 may substitute a fixed value for the pixel value of the reference pixel P 75 by sequentially referencing the left adjacent pixel.
  • the first embodiment when the pixels are scanned in the raster scan order, the predicted pixel value as the processing result of the line that has been processed up to the rightmost pixel is processed for the remaining lines. Not referenced when. Therefore, the line buffer 37 only needs to buffer the predicted pixel value of the target line to which the target pixel belongs while intra prediction in the intra motion compensation mode is being performed. Therefore, the first embodiment has the advantage that the required amount of memory resources is small and the circuit scale is small. In addition, when there is a pixel belonging to the intra prediction block on the left on the same line as the reference pixel, the pixel value of the left pixel is used instead as a reference pixel value instead of a fixed value. The prediction accuracy of the intra motion compensation mode can be increased based on the spatial correlation of values.
  • the prediction control unit 31 uses the pixel value of the adjacent pixel as a reference pixel value as the prediction unit. 35 is used alternatively.
  • the prediction control unit 31 sets the pixel value of the left pixel.
  • the prediction unit 35 is alternatively used as a reference pixel value.
  • the prediction control unit 31 substitutes for the upper adjacent pixel.
  • the pixel value to be used is caused to be used by the prediction unit 35 as a reference pixel value.
  • the prediction control unit 31 sets the fixed value as the reference pixel value.
  • the fixed value here may be equal to the center value of the range, that is, 2 n ⁇ 1 , assuming that the bit depth of each pixel is n bits, as in the first embodiment.
  • FIG. 7 is an explanatory diagram for explaining a second embodiment of a technique for compensating for pixel values of pixels whose reference is prohibited.
  • the reference block RB is shown again.
  • the pixel P 00 located at the upper left corner of the reference block RB is a reference pixel corresponding to the pixel located at the upper left corner of the target block (not shown).
  • Reference pixel P 00 is for belonging to the inter prediction block, referring to the reference pixel P 00 is prohibited.
  • the adjacent pixel on the reference pixel P 00 is not usable, and there is no pixel belonging to the intra prediction block on the left on the same line as the reference pixel P 00 .
  • the prediction control unit 31 causes the prediction unit 35 to use a fixed value as the pixel value of the reference pixel P 00 (symbol “F” in the drawing).
  • Pixel P 12 of the reference block RB is a reference pixel belonging to the intra prediction block. Referring to the reference pixel P 12 is acceptable. Pixel value of the reference pixel P 12 is assumed to be equal to R 6.
  • Pixel P 22 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 22 is prohibited. Adjacent pixels P 12 on the reference pixel P 22 belong to the intra prediction block.
  • the predictive control unit 31, as the pixel value of the reference pixel P 22, to use the pixel values R 6 alternate pixels P 12 to the prediction unit 35.
  • Pixel P 51 of the reference block RB is a reference pixel belonging to the intra prediction block. Referring to the reference pixel P 51 is acceptable. Pixel value of the reference pixel P 51 is assumed to be equal to R 4. Pixel P 52 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 52 is prohibited. Adjacent pixels on the reference pixel P 52 belong to the inter prediction block. The left identical to the reference pixel P 52 of the line, the reference pixel P 51 belonging to the intra prediction block exists. Thus, the predictive control unit 31, as the pixel value of the reference pixel P 52, to use the pixel values R 4 alternate pixels P 51 to the prediction unit 35. Pixel P 50 of the reference block RB is a reference pixel belonging to the intra prediction block.
  • Pixel value of the reference pixel P 50 is assumed to be equal to R 5.
  • Pixel P 60 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 60 is prohibited. Adjacent pixels P 50 on the reference pixel P 60 belong to the intra prediction block. Thus, the predictive control unit 31, as the pixel value of the reference pixel P 60, to use the pixel values R 5 alternate pixels P 50 to the prediction unit 35.
  • Pixel P 70 of the reference block RB is a reference pixel belonging to the inter prediction block. Referring to the reference pixel P 70 is prohibited. Adjacent pixels P 60 on the reference pixel P 70 belong to the inter prediction block.
  • the predictive control unit 31 as the pixel value of the reference pixel P 70, to use the pixel values R 5 is alternatively used for adjacent pixels P 60 of the upper to the prediction unit 35.
  • the line buffer 37 only needs to buffer the predicted pixel values of the target line and the adjacent line above while the intra prediction in the intra motion compensation mode is being performed. Therefore, although the second embodiment can request an extra memory resource for one line as compared with the first embodiment, the amount of memory resource required is still small. Further, not only when a pixel belonging to the intra prediction block exists on the left of the same line as the reference pixel but also when a pixel belonging to the intra prediction block exists above the reference pixel, the substitute pixel is not a fixed value. Are used as reference pixel values. Therefore, the prediction accuracy of the intra motion compensation mode can be further improved based on the spatial correlation of pixel values.
  • FIG. 8 is a flowchart showing an example of the flow of intra prediction processing at the time of encoding according to the present embodiment. Note that processing steps that are not directly related to the technology according to the present disclosure are omitted from the drawing for the sake of simplicity of explanation. The processing from step S110 to step S180 is repeated for each prediction mode as a candidate included in the prediction mode set.
  • the prediction control unit 31 determines whether the prediction mode to be processed is the intra motion compensation mode (step S110). When the prediction mode to be processed is the intra motion compensation mode, the prediction control unit 31 further determines whether or not referring to the inter prediction block is prohibited (step S120). When the prediction mode is the intra motion compensation mode and it is prohibited to refer to the inter prediction block, the prediction control unit 31 is the intra motion compensation mode with pixel value compensation and the prediction unit 35 is notified of the target block. Intra prediction is executed (step S130). On the other hand, when the prediction mode is the intra motion compensation mode and it is not prohibited to refer to the inter prediction block, the prediction control unit 31 causes the prediction unit 35 to perform intra prediction for the target block in the normal intra motion compensation mode. Prediction is executed (step S160). When the prediction mode is a mode other than the intra motion compensation mode, the prediction control unit 31 causes the prediction unit 35 to perform intra prediction for the target block in the prediction mode other than the intra motion compensation mode (step S170).
  • the prediction control unit 31 determines whether there is an unprocessed next prediction mode candidate (step S180). If there is a next prediction mode candidate, the process returns to step S110. If there is no next prediction mode candidate, the process proceeds to step S190.
  • step S190 the mode determination unit 39 compares the cost function values based on the original image data and the predicted image data between the prediction modes, and determines an optimal prediction mode (step S190). Then, the mode determination unit 39 outputs information related to intra prediction including prediction mode information indicating an optimal prediction mode, and corresponding cost function values and predicted image data to the selector 27.
  • FIG. 9 is a flowchart illustrating an example of a detailed flow of intra prediction in the intra motion compensation mode at the time of encoding according to the first embodiment. The process shown in FIG. 9 corresponds to step S130 in FIG.
  • step S131 the prediction unit 35 sets a motion vector as a candidate in the target block (step S131).
  • the subsequent processing up to step S155 is a loop processing in a format in which pixels in the prediction block (reference pixels in the corresponding reference block) are scanned in the raster scan order (step S133).
  • each of the scanned pixels in the prediction block is referred to as a target pixel.
  • the prediction control unit 31 determines whether or not the reference pixel corresponding to the target pixel belongs to the inter prediction block by referring to the mode information buffered by the mode buffer 33 (Step S31). S135).
  • the prediction unit 35 acquires the pixel value of the reference pixel (step S137).
  • the prediction control unit 31 further determines whether there is a pixel belonging to the intra prediction block on the left on the same line as the reference pixel (step S145).
  • the prediction unit 35 When there is a pixel belonging to the intra prediction block on the left on the same line as the reference pixel, the prediction unit 35 alternatively obtains the pixel value of the left pixel as a reference pixel value (step S147). . When there is no pixel belonging to the intra prediction block on the left on the same line as the reference pixel, the prediction unit 35 acquires a fixed value as the reference pixel value (step S153). Then, the prediction unit 35 sets the pixel value of the reference pixel acquired in step S137, S147, or S153 as the predicted value of the target pixel (step S155).
  • step S157 it is determined whether the motion vector search is completed. If the motion vector search has not ended, the process returns to step S131, and the next motion vector is set in the target block.
  • the prediction unit 35 determines a motion vector that optimizes the encoding efficiency among the plurality of searched motion vectors (step S159).
  • FIG. 10 is a flowchart illustrating an example of a detailed flow of intra prediction in the intra motion compensation mode at the time of encoding according to the second embodiment. The process shown in FIG. 10 corresponds to step S130 in FIG.
  • step S131 the prediction unit 35 sets a motion vector as a candidate in a target block (step S131).
  • the subsequent processing up to step S155 is a loop processing in a format in which pixels in the prediction block (reference pixels in the corresponding reference block) are scanned in the raster scan order (step S133).
  • the prediction control unit 31 determines whether or not the reference pixel corresponding to the target pixel belongs to the inter prediction block by referring to the mode information buffered by the mode buffer 33 (Step S31). S135).
  • the prediction unit 35 acquires the pixel value of the reference pixel (step S137).
  • the prediction control unit 31 determines whether the adjacent pixel above the reference pixel belongs to the intra prediction block (step S141).
  • the prediction unit 35 When the adjacent pixel above the reference pixel belongs to the intra prediction block, the prediction unit 35 alternatively obtains the pixel value of the above adjacent pixel as the reference pixel value (step S143).
  • the prediction control unit 31 determines whether a pixel belonging to the intra prediction block exists on the left on the same line as the reference pixel (step S145).
  • the prediction unit 35 When there is a pixel belonging to the intra prediction block on the left on the same line as the reference pixel, the prediction unit 35 alternatively obtains the pixel value of the left pixel as a reference pixel value (step S147). .
  • the prediction control unit 31 determines whether an adjacent pixel above the reference pixel is available (step S149). When the upper adjacent pixel is available, the prediction unit 35 alternatively acquires a pixel value that is alternatively used for the upper adjacent pixel as a reference pixel value (step S151). On the other hand, when the upper adjacent pixel is not available, the prediction unit 35 acquires a fixed value as the reference pixel value (step S153). Then, the prediction unit 35 sets the pixel value of the reference pixel acquired in step S137, S143, S147, S151, or S153 to the predicted value of the target pixel (step S155).
  • step S157 it is determined whether the motion vector search is completed. If the motion vector search has not ended, the process returns to step S131, and the next motion vector is set in the target block.
  • the prediction unit 35 determines a motion vector that optimizes the encoding efficiency among the plurality of searched motion vectors (step S159).
  • FIG. 11 is a block diagram illustrating an example of a configuration of an image decoding device 60 that decodes an image from an encoded stream generated by the image encoding device 10 described above.
  • the image decoding device 60 includes an accumulation buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a loop filter 66, a rearrangement buffer 67, a D / A ( Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80, and inter prediction unit 90.
  • D / A Digital to Analogue
  • the accumulation buffer 61 temporarily accumulates the encoded stream input via the transmission path using a storage medium.
  • the lossless decoding unit 62 decodes the quantized data from the encoded stream input from the accumulation buffer 61 according to the encoding method used at the time of encoding. In addition, the lossless decoding unit 62 decodes information inserted in the header area of the encoded stream. The information decoded by the lossless decoding unit 62 may include, for example, information related to intra prediction and information related to inter prediction.
  • the lossless decoding unit 62 outputs the quantized data to the inverse quantization unit 63. Further, the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 80. In addition, the lossless decoding unit 62 outputs information related to inter prediction to the inter prediction unit 90.
  • the inverse quantization unit 63 inversely quantizes the quantized data input from the lossless decoding unit 62 in the same quantization step (or the same quantization matrix) used in encoding, and converts the transform coefficient data. Restore. Then, the inverse quantization unit 63 outputs the restored transform coefficient data to the inverse orthogonal transform unit 64.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 according to the orthogonal transform method used at the time of encoding. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the loop filter 66 and the frame memory 69.
  • the loop filter 66 is a deblocking filter that reduces block distortion, a sample adaptive offset filter that adds an offset value to each pixel value, and an adaptation that minimizes an error from the original image.
  • a loop filter may be included. The loop filter 66 filters the decoded image data input from the adding unit 65 and outputs the filtered decoded image data to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 generates a series of time-series image data by rearranging the images input from the loop filter 66. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays the decoded image, for example, by outputting an analog image signal to a display (not shown) connected to the image decoding device 60.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the loop filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80 and the inter prediction unit 90 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80 as reference image data.
  • the selector 70 outputs the decoded image data after filtering to the inter prediction unit 90 as reference image data.
  • the selector 71 switches the output source of the predicted image data to be supplied to the adding unit 65 between the intra prediction unit 80 and the inter prediction unit 90 according to the mode information acquired by the lossless decoding unit 62. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 80 to the adding unit 65 when the intra prediction mode is designated. Further, when the inter prediction mode is designated, the selector 71 supplies the predicted image data output from the inter prediction unit 90 to the adding unit 65.
  • the intra prediction unit 80 performs intra prediction processing based on the information related to intra prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. The intra prediction process is executed for each PU. Then, the intra prediction unit 80 outputs the generated predicted image data to the selector 71.
  • the prediction mode candidates indicated by the prediction mode information for intra prediction include an intra motion compensation mode. When the intra motion compensation mode is designated, the prediction mode information may also include motion vector information (displacement vector information).
  • the inter prediction unit 90 performs inter prediction processing (motion compensation processing) based on the information related to inter prediction input from the lossless decoding unit 62 and the reference image data from the frame memory 69 to generate predicted image data.
  • the inter prediction process is executed for each PU. Then, the inter prediction unit 90 outputs the generated predicted image data to the selector 71.
  • FIG. 12 is a block diagram illustrating an example of a detailed configuration of the intra prediction unit 80 of the image decoding device 60 illustrated in FIG. 11.
  • the intra prediction unit 80 includes a prediction control unit 81, a mode buffer 83, a prediction unit 85, and a line buffer 87.
  • the prediction control unit 81 controls intra prediction processing in the intra prediction unit 80. For example, the prediction control unit 81 sequentially selects each of one or more PUs in the image as a target block. In addition, the prediction control unit 81 causes the prediction unit 85 to perform intra prediction in the prediction mode indicated by the prediction mode information decoded by the lossless decoding unit 62 for each target block, and generate a predicted image of each target block.
  • the prediction mode set for intra prediction includes the intra motion compensation mode as described above. Then, the prediction control unit 81 controls the intra prediction in the intra motion compensation mode depending on whether or not referring to the inter prediction block is prohibited during the intra prediction. When it is not prohibited to refer to the inter prediction block, the intra prediction in the intra motion compensation mode may be performed in the same manner as the existing method. When it is prohibited to refer to the inter prediction block, the prediction control unit 81 determines whether the reference pixel for the intra motion compensation mode corresponding to the target pixel included in the target block belongs to the inter prediction block. Judge about. The reference pixel here is a pixel at a position offset (displaced) from the pixel position of the target pixel by the amount of the motion vector.
  • the prediction control unit 81 is an alternative in which reference is not prohibited in place of the reference pixel, similarly to the prediction control unit 31 of the image encoding device 10.
  • the pixel value of the pixel is alternatively used by the prediction unit 85 as a reference pixel value.
  • Whether or not to refer to the inter prediction block during intra prediction is indicated by a constrained intra prediction flag (constrained_intra_pred_flag) decoded by the lossless decoding unit 62 from, for example, the PPS of the encoded stream.
  • constrained intra prediction flag constrained_intra_pred_flag
  • the mode buffer 83 is a buffer that temporarily stores mode information that is referred to when determining whether a reference pixel corresponding to a target pixel belongs to an intra prediction block or an inter prediction block.
  • the mode information buffered by the mode buffer 83 may include a parameter indicating the position and size of the CU for each decoded CU, and whether the CU is an intra prediction block or an inter prediction block. Instead, the mode information may include a set of flags for each pixel indicating whether the mode information belongs to an intra prediction block or an inter prediction block.
  • Prediction unit 85 performs intra prediction on the target blocks sequentially selected by the prediction control unit 81 in the prediction mode indicated by the prediction mode information, and generates a prediction image of each target block. Then, the prediction unit 85 outputs the generated predicted image of the target block to the addition unit 65.
  • the prediction mode set for intra prediction includes an intra motion compensation mode.
  • the prediction unit 85 converts the inter prediction block into the inter prediction block under the control of the prediction control unit 81.
  • the pixel value of the reference pixel to which it belongs is supplemented with the pixel value of an alternative pixel whose reference is not prohibited, or is replaced with a fixed value.
  • the prediction control unit 81 sets the pixel value of the left pixel to
  • the prediction unit 85 is alternatively used as a reference pixel value.
  • the left pixel may not be the left adjacent pixel. That is, the alternative pixel may be a pixel located away from the reference pixel to the left.
  • the prediction control part 81 makes the prediction part 85 use a fixed value as a reference pixel value, when the pixel which belongs to an intra prediction block does not exist on the left on the same line as a reference pixel.
  • the fixed value here may be equal to the center value of the range, that is, 2 n ⁇ 1 .
  • the method for compensating for the pixel value according to the first embodiment may be as described with reference to FIG.
  • the prediction control unit 81 uses the pixel value of the adjacent pixel as the reference pixel value as the prediction unit. 85 is used instead.
  • the prediction control unit 81 sets the pixel value of the left pixel.
  • the prediction unit 85 is alternatively used as a reference pixel value.
  • the prediction control unit 81 substitutes for the upper adjacent pixel.
  • the prediction unit 85 uses the pixel value to be used as the reference pixel value. Then, when the adjacent pixel on the upper side is not usable and there is no pixel belonging to the intra prediction block on the left on the same line as the reference pixel, the prediction control unit 81 uses the fixed value as the reference pixel value as the prediction unit. 85 is used.
  • the fixed value here may be equal to the center value of the range, that is, 2 n ⁇ 1 , assuming that the bit depth of each pixel is n bits, as in the first embodiment. Note that the method for compensating for pixel values according to the second embodiment may be as described with reference to FIG.
  • the line buffer 87 is a buffer that temporarily stores pixel values that are referred to or used by the prediction unit 85 in the intra motion compensation mode. For example, the line buffer 87 buffers the predicted pixel value of the target line to which the target pixel belongs using a line memory. In the first embodiment, the line buffer 87 does not need to buffer the predicted pixel values of lines other than the target line. In the second embodiment, the line buffer 87 can buffer the predicted pixel values of the target line to which the target pixel belongs and the adjacent line on the target line using a line memory.
  • FIG. 13 is a flowchart showing an example of the flow of intra prediction processing at the time of decoding according to the present embodiment. Note that processing steps that are not directly related to the technology according to the present disclosure are omitted from the drawing for the sake of simplicity of explanation.
  • the prediction control unit 81 obtains prediction mode information for the target block decoded by the lossless decoding unit 62 (step S200).
  • the prediction control unit 81 determines whether the prediction mode indicated by the acquired prediction mode information is the intra motion compensation mode (step S210).
  • the prediction control unit 81 further determines whether or not referring to the inter prediction block is prohibited (step S220).
  • the prediction control unit 81 is the intra motion compensation mode with pixel value compensation, and the prediction unit 85 is notified of the target block. Intra prediction is executed (step S230).
  • the prediction control unit 81 causes the prediction unit 85 to receive the intra about the target block in the normal intra motion compensation mode. Prediction is executed (step S260).
  • the prediction control unit 81 causes the prediction unit 85 to perform intra prediction for the target block in the prediction mode other than the intra motion compensation mode (step S270).
  • the predicted image of the target block generated by the prediction unit 85 in step S230, S260, or S270 is output to the addition unit 65.
  • FIG. 14 is a flowchart illustrating an example of a detailed flow of intra prediction in the intra motion compensation mode at the time of decoding according to the first embodiment. The process shown in FIG. 14 corresponds to step S230 in FIG.
  • the prediction unit 85 sets a motion vector indicated by motion vector information that can be decoded by the lossless decoding unit 62 in the target block (step S231).
  • the subsequent processing up to step S255 is a loop processing in a format in which pixels in the prediction block (reference pixels in the corresponding reference block) are scanned in the raster scan order (step S233).
  • each of the scanned pixels in the prediction block is referred to as a target pixel.
  • the prediction control unit 81 determines whether or not the reference pixel corresponding to the target pixel belongs to the inter prediction block by referring to the mode information buffered by the mode buffer 83 (step). S235).
  • the prediction unit 85 acquires the pixel value of the reference pixel (step S237).
  • the prediction control unit 81 further determines whether there is a pixel belonging to the intra prediction block on the left on the same line as the reference pixel (step S245).
  • the prediction unit 85 alternatively acquires the pixel value of the left pixel as the reference pixel value (step S247). . Further, when there is no pixel belonging to the intra prediction block on the left on the same line as the reference pixel, the prediction unit 85 acquires a fixed value as the reference pixel value (step S253). Then, the prediction unit 85 sets the pixel value of the reference pixel acquired in step S237, S247, or S253 as the predicted value of the target pixel (step S255).
  • FIG. 15 is a flowchart illustrating an example of a detailed flow of intra prediction in the intra motion compensation mode at the time of decoding according to the second embodiment. The process shown in FIG. 15 corresponds to step S230 in FIG.
  • the prediction unit 85 sets a motion vector indicated by motion vector information that can be decoded by the lossless decoding unit 62 in the target block (step S231).
  • the subsequent processing up to step S255 is a loop processing in a format in which pixels in the prediction block (reference pixels in the corresponding reference block) are scanned in the raster scan order (step S233).
  • the prediction control unit 81 determines whether or not the reference pixel corresponding to the target pixel belongs to the inter prediction block by referring to the mode information buffered by the mode buffer 83 (step). S235).
  • the prediction unit 85 acquires the pixel value of the reference pixel (step S237).
  • the prediction control unit 81 determines whether the adjacent pixel above the reference pixel belongs to the intra prediction block (step S241).
  • the prediction unit 85 When the adjacent pixel above the reference pixel belongs to the intra prediction block, the prediction unit 85 alternatively acquires the pixel value of the upper adjacent pixel as the reference pixel value (step S243).
  • the prediction control unit 81 determines whether there is a pixel belonging to the intra prediction block on the left on the same line as the reference pixel (step S245). If there is a pixel belonging to the intra prediction block on the left of the same line as the reference pixel, the prediction unit 85 alternatively acquires the pixel value of the left pixel as the reference pixel value (step S247). .
  • the prediction control unit 81 determines whether an adjacent pixel above the reference pixel is available (step S249). Then, when the upper adjacent pixel is usable, the prediction unit 85 alternatively acquires a pixel value that is alternatively used for the upper adjacent pixel as a reference pixel value (step S251). On the other hand, when the upper adjacent pixel is not available, the prediction unit 85 acquires a fixed value as the reference pixel value (step S253). Then, the prediction unit 85 sets the pixel value of the reference pixel acquired in step S237, S243, S247, S251, or S253 as the predicted value of the target pixel (step S255).
  • the image encoding device 10 and the image decoding device 60 are a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 16 illustrates an example of a schematic configuration of a television device.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding device 60.
  • the television apparatus 900 can decode an image encoded with high encoding efficiency by using the intra motion compensation mode while satisfying the requirements for restricted intra prediction.
  • FIG. 17 shows an example of a schematic configuration of a mobile phone.
  • a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60. Accordingly, the mobile phone 920 encodes an image with high coding efficiency by using the intra motion compensation mode while satisfying the requirements for the constrained intra prediction, or the mobile phone 920 decodes the image thus encoded. It becomes possible to do.
  • FIG. 18 shows an example of a schematic configuration of a recording / reproducing apparatus.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding device 10.
  • the decoder 947 has the function of the image decoding device 60. Accordingly, the recording / reproducing apparatus 940 uses the intra motion compensation mode to encode the image with high encoding efficiency while satisfying the requirements for the constrained intra prediction, or the image thus encoded is recorded / reproduced by the recording / reproducing apparatus 940. Can be decrypted.
  • FIG. 19 illustrates an example of a schematic configuration of an imaging apparatus.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 10 and the image decoding device 60.
  • the imaging device 960 uses the intra motion compensation mode to encode the image with high encoding efficiency while satisfying the requirements for the constrained intra prediction, or the imaging device 960 decodes the image thus encoded. It becomes possible to do.
  • the reference pixel for the intra motion compensation mode corresponding to the target pixel of the target block belongs to the inter prediction block.
  • the pixel value of a substitute pixel whose reference is not prohibited is alternatively used as the reference pixel value. Therefore, the opportunity for utilizing the intra motion compensation mode is expanded as compared with a method of uniformly disabling the intra motion compensation mode or limiting the search range of the motion vector. Therefore, improvement in encoding efficiency can be expected.
  • the prediction accuracy of the intra motion compensation mode is improved, and higher encoding efficiency can be achieved.
  • the substitute pixel for the reference pixel belonging to the inter prediction block may be a pixel belonging to the intra prediction block that exists on the left side of the same line as the reference pixel.
  • the scale of the line buffer can be minimized.
  • the alternative pixel for the reference pixel belonging to the inter prediction block may be an adjacent pixel above the reference pixel.
  • a pixel belonging to the intra prediction block existing on the left on the same line as the reference pixel can also be used as a substitute pixel.
  • only the predicted pixel value of the adjacent line on the target line can be referred to during the process of the target line, so that the scale of the line buffer is suppressed to be small.
  • the prediction accuracy of the intra motion compensation mode can be further increased.
  • n represents a bit depth
  • the first and second embodiments described above are merely examples of methods for compensating for pixel values of pixels whose reference is prohibited.
  • the adjacent pixel on the left side of the upper adjacent pixel may be preferentially selected as the substitute pixel.
  • pixel values of two or more lines above the target line may be buffered, and any pixel belonging to these lines may be selected as a substitute pixel.
  • information indicating which pixel should be used as a substitute pixel may be encoded by an encoder and decoded by a decoder.
  • CU, PU, and TU described in this specification mean a logical unit including a syntax associated with each block in HEVC.
  • CB Coding Block
  • PB Prediction Block
  • TB Transform Block
  • the CB is formed by hierarchically dividing a CTB (Coding Tree Block) into a quad-tree shape. An entire quadtree corresponds to CTB, and a logical unit corresponding to CTB is called CTU (Coding Tree Unit).
  • CTB and CB in HEVC are H.264 and H.B. It has a role similar to a macroblock in H.264 / AVC.
  • CTB and CB differ from macroblocks in that their sizes are not fixed (the size of macroblocks is always 16 ⁇ 16 pixels).
  • the CTB size is selected from 16 ⁇ 16 pixels, 32 ⁇ 32 pixels, and 64 ⁇ 64 pixels, and is specified by a parameter in the encoded stream.
  • the size of the CB can vary depending on the division depth of the CTB.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • a prediction unit that performs intra prediction in the intra motion compensation mode
  • the reference is A control unit that causes the prediction unit to alternatively use a pixel value of an alternative pixel that is not prohibited as a reference pixel value
  • An image processing apparatus comprising: (2) When there is a pixel belonging to the intra prediction block on the left of the same line as the reference pixel belonging to the inter prediction block, the control unit uses the pixel value of the left pixel as the reference pixel value as the reference pixel value.
  • the image processing apparatus wherein the image processing apparatus is used alternatively.
  • the control unit When the adjacent pixel above the reference pixel belonging to the inter prediction block belongs to the intra prediction block, the control unit alternatively uses the pixel value of the upper adjacent pixel as the reference pixel value to the prediction unit The image processing apparatus according to (1).
  • the control unit determines the pixel value of the left pixel as the pixel value
  • the control unit uses the upper adjacent pixel as an alternative when the upper adjacent pixel belongs to an inter prediction block and there is no pixel belonging to an intra prediction block on the left of the same line as the reference pixel.
  • the image processing device according to (5), wherein the predicted pixel value is used by the prediction unit as the reference pixel value.
  • the control unit is configured to use the prediction unit with a fixed value as the reference pixel value when the adjacent pixel on the upper side cannot be used and there is no pixel belonging to an intra prediction block on the left on the same line as the reference pixel.
  • the image processing apparatus further includes a decoding unit that decodes prediction mode information, When the prediction mode information of the target block indicates the intra motion compensation mode, the control unit causes the prediction unit to execute the intra prediction in the intra motion compensation mode for the target block.
  • the image processing apparatus according to any one of (1) to (8).
  • the control unit causes the prediction unit to execute the intra prediction on the target block in a plurality of prediction modes including the intra motion compensation mode
  • the image processing apparatus further includes an encoding unit that encodes prediction mode information indicating an optimal prediction mode selected from the plurality of prediction modes.
  • the image processing apparatus according to any one of (1) to (8).
  • (11) In an apparatus for performing intra prediction in an intra motion compensation mode for a target block, Determining whether to refer to an inter prediction block during the intra prediction; and When it is prohibited to refer to an inter prediction block during the intra prediction, it is determined whether a reference pixel for the intra motion compensation mode corresponding to a target pixel of the target block belongs to an inter prediction block. When, When the reference pixel belongs to an inter prediction block, alternatively using a pixel value of an alternative pixel whose reference is not prohibited as a reference pixel value;
  • An image processing method including:

Landscapes

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

Abstract

【課題】インター予測ブロックを参照することが禁止される場合に、イントラ動き補償モードを活用して、より高い符号化効率を達成すること。 【解決手段】対象ブロックについて、イントラ動き補償モードでイントラ予測を実行する予測部と、前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するときに、参照が禁止されない代替画素の画素値を、参照画素値として前記予測部に代替的に使用させる制御部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 デジタル画像のデータサイズを圧縮するための画像符号化方式において重要な技術の1つは、画面内予測、即ちイントラ予測である。イントラ予測は、1つの画像内のブロック間の空間的な相関を利用し、あるブロック内の画素値を他のブロックの画素値から予測することで、符号化される情報量を削減する技術である。MPEG4以前の画像符号化方式では、直交変換係数の直流成分及び低周波成分のみがイントラ予測の対象とされていた。これに対し、H.264/AVC(Advanced Video Coding)では、全ての成分についてイントラ予測が可能となった。イントラ予測を用いることで、例えば青空の画像のように、画素値の変化の緩やかな画像については、圧縮率の大幅な向上が見込まれる。
 HEVC(High Efficiency Video Coding)は、H.264/AVCよりも符号化効率をさらに向上することを目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC(Joint Collaboration Team-Video Coding)により標準化が進められている画像符号化方式である(例えば、非特許文献1参照)。JCTVCでは、HEVCにおけるイントラ予測の予測モードの候補に、イントラ動き補償(Intra Motion Compensation)モードを加えることが議論されている(例えば、非特許文献2参照)。
 イントラ動き補償モードとは、ある対象ブロックの予測画像として、動きベクトルによって特定される同じピクチャ内の他のブロックの画像を使用するモードである。他のブロックの画像を対象ブロックへコピーするという意味において、イントラ動き補償モードは、ブロックコピーモードとも呼ばれる。イントラ動き補償モードの動きベクトルは、実際には被写体の動きを表現しているわけではないため、例えば変位(displacement)ベクトルとも呼ばれ得る。イントラ動き補償モードは、類似するテクスチャを有するブロックがピクチャ内で繰り返し現れることの多い、CG(Computer Graphics)コンテンツ又は(例えばテレビ番組表のような)テキストコンテンツを有する画像を効率的に符号化することに適している。
 ところで、HEVCにおいて、インター予測が有効化されるPピクチャ及びBピクチャは、イントラ予測ブロック及びインター予測ブロックの双方を含み得る。ある対象ブロックがイントラ予測ブロックである場合、当該対象ブロックは、同じピクチャ内の当該対象ブロックよりも前に符号化/復号された画素を参照することにより符号化される。しかし、インター予測ブロックを参照することは、例えば符号化ストリームを構成するパケットの伝送エラーなどに起因する画像の欠損を連鎖的に引き起こすリスクを伴う。そこで、HEVCでは、システムの用途に合わせてそうしたリスクを回避することを可能とするための「制約付きイントラ予測フラグ(constrained_intra_pred_flag)」と呼ばれるフラグが、符号化パラメータとして定義されている(非特許文献1参照)。制約付きイントラ予測フラグが真(True)を示す場合、イントラ予測の際にインター予測ブロックを参照することが禁止される。
Benjamin Bross, et al. "Editors' proposed corrections to HEVC version 1"(JCTVC-M0432_v36,2013年4月) Do-Kyoung Kwon, et al. "RCE3: Results of test 3.3 on Intra motion compensation"(JCTVC-N0205,2013年7月)
 イントラ動き補償モードでは、対象ブロックに対応する、動きベクトルにより特定される参照範囲内に、イントラ予測ブロックに属する画素及びインター予測ブロックに属する画素の双方が含まれ得る。そして、制約付きイントラ予測フラグが真であれば、インター予測ブロックに属する画素を参照することができない。例えば、制約付きイントラ予測フラグが真である場合にイントラ動き補償モードを一律的に無効化することは、制約付きイントラ予測の要件を満たすための1つの解決策である。しかし、そうした解決策は、イントラ動き補償モードを活用して符号化効率を向上させる機会を大きく奪う。
 そこで、インター予測ブロックを参照することが禁止される場合に、イントラ動き補償モードを活用してより高い符号化効率を達成することのできる改善された仕組みが提供されることが望ましい。
 本開示によれば、対象ブロックについて、イントラ動き補償モードでイントラ予測を実行する予測部と、前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するときに、参照が禁止されない代替画素の画素値を、参照画素値として前記予測部に代替的に使用させる制御部と、を備える画像処理装置が提供される。
 上記画像処理装置は、画像を復号する画像復号装置として実現されてもよく、又は画像を符号化する画像符号化装置として実現されてもよい。
 また、本開示によれば、対象ブロックについてイントラ動き補償モードでイントラ予測を実行する装置において、前記イントラ予測の際にインター予測ブロックを参照することが禁止されるかを判定することと、前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合に、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するかを判定することと、前記参照画素がインター予測ブロックに属する場合に、参照が禁止されない代替画素の画素値を、参照画素値として代替的に使用することと、を含む画像処理方法が提供される。
 本開示に係る技術によれば、インター予測ブロックを参照することが禁止される場合に、イントラ動き補償モードを活用して、より高い符号化効率を達成することが可能となる。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果と共に、又は上記の効果に代えて、本明細書に示されたいずれかの効果、又は本明細書から把握され得る他の効果が奏されてもよい。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 イントラ予測ブロック及びインター予測ブロックの混在について説明するための説明図である。 イントラ動き補償モードにおける動きベクトル及び参照ブロックの設定の一例を示す説明図である。 参照ブロック内の参照が禁止される画素及び参照が禁止されない画素について説明するための説明図である。 一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。 参照が禁止される画素の画素値を補填するための手法の第1の実施例について説明するための説明図である。 参照が禁止される画素の画素値を補填するための手法の第2の実施例について説明するための説明図である。 一実施形態に係る符号化時のイントラ予測処理の流れの一例を示すフローチャートである。 第1の実施例に係る符号化時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。 第2の実施例に係る符号化時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置のイントラ予測部の詳細な構成の一例を示すブロック図である。 一実施形態に係る復号時のイントラ予測処理の流れの一例を示すフローチャートである。 第1の実施例に係る復号時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。 第2の実施例に係る復号時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、以下の順序で説明を行う。
  1.一実施形態に係る画像符号化装置の構成例
   1-1.全体的な構成
   1-2.課題の説明
   1-3.イントラ予測部の詳細な構成
   1-4.第1の実施例
   1-5.第2の実施例
  2.一実施形態に係る符号化時の処理の流れ
   2-1.イントラ予測処理
   2-2.イントラ動き補償モードのイントラ予測(第1の実施例)
   2-3.イントラ動き補償モードのイントラ予測(第2の実施例)
  3.一実施形態に係る画像復号装置の構成例
   3-1.全体的な構成
   3-2.イントラ予測部の詳細な構成
  4.一実施形態に係る復号時の処理の流れ
   4-1.イントラ予測処理
   4-2.イントラ動き補償モードのイントラ予測(第1の実施例)
   4-3.イントラ動き補償モードのイントラ予測(第2の実施例)
  5.応用例
  6.まとめ
 <1.一実施形態に係る画像符号化装置の構成例>
  [1-1.全体的な構成]
 図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、ループフィルタ24、フレームメモリ25、セレクタ26及び27、イントラ予測部30並びにインター予測部40を備える。
 A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並び替えバッファ12へ出力する。
 並び替えバッファ12は、一連の画像データに含まれる画像を並び替える。並び替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、イントラ予測部30、及びインター予測部40へ出力する。
 減算部13には、並び替えバッファ12から入力される画像データ、及び後に説明するイントラ予測部30又はインター予測部40から入力される予測画像データが供給される。減算部13は、並び替えバッファ12から入力される画像データと予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。レート制御信号は、ブロックごとの各色成分についての量子化パラメータを特定する。量子化部15は、量子化パラメータにより特定される量子化ステップで変換係数データを量子化する。そして、量子化部15は、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。
 可逆符号化部16は、量子化部15から入力される量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。また、可逆符号化部16は、符号化ストリームを復号する際に参照される様々なパラメータを符号化して、符号化されたパラメータを符号化ストリームのヘッダ領域に挿入する。可逆符号化部16により符号化されるパラメータは、後に説明するイントラ予測に関する情報及びインター予測に関する情報を含み得る。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部(例えば、通信インタフェース又は周辺機器との接続インタフェースなど)へ出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21、逆直交変換部22及び加算部23は、ローカルデコーダを構成する。逆量子化部21は、量子化部15により使用されたものと同じ量子化ステップで量子化データを逆量子化し、変換係数データを復元する。そして、逆量子化部21は、復元した変換係数データを逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとイントラ予測部30又はインター予測部40から入力される予測画像データとを加算することにより、復号画像データ(リコンストラクト画像)を生成する。そして、加算部23は、生成した復号画像データをループフィルタ24及びフレームメモリ25へ出力する。
 ループフィルタ24は、画質の向上を目的とするフィルタ群を含む。デブロックフィルタ(DF)は、画像の符号化時に生じるブロック歪みを軽減するフィルタである。サンプル適応オフセット(SAO)フィルタは、各画素値に適応的に決定されるオフセット値を加えるフィルタである。適応ループフィルタ(ALF)は、SAO後の画像と原画像との誤差を最小化するフィルタである。ループフィルタ24は、加算部23から入力される復号画像データをフィルタリングし、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力されるフィルタリング前の復号画像データ及びループフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてインター予測部40に供給する。
 セレクタ27は、イントラ予測モードにおいて、イントラ予測部30から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。また、セレクタ27は、インター予測モードにおいて、インター予測部40から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。セレクタ27は、イントラ予測モードとインター予測モードとを、コスト関数値の大きさに応じて切り替える。
 イントラ予測部30は、原画像データ及び復号画像データに基づいて、HEVCのPU(予測単位:Prediction Unit)ごとにイントラ予測処理を行う。PUは、CU(符号化単位:Coding Unit)を再帰的に分割することにより形成されるブロックである。例えば、イントラ予測部30は、予測モードセット内の各候補モードによる予測結果を所定のコスト関数を用いて評価する。次に、イントラ予測部30は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、イントラ予測部30は、当該最適な予測モードに従って予測画像データを生成する。イントラ予測部30は、選択した最適な予測モードを表す予測モード情報を含むイントラ予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
 本実施形態において、イントラ予測部30により探索されるイントラ予測の予測モードセットは、イントラ動き補償モードを含む。最適な予測モードがイントラ動き補償モードであると判定された場合には、イントラ予測部30から出力される予測モード情報は、動きベクトル情報(変位ベクトル情報)も含み得る。イントラ動き補償モードとは、ある対象ブロックの予測画像として、動きベクトルによって特定される同じピクチャ内の他のブロックの画像を使用するモードである。他のブロックの画像を対象ブロックへコピーするという意味において、イントラ動き補償モードは、ブロックコピーモードとも呼ばれる。イントラ動き補償モードの動きベクトルは、実際には被写体の動きを表現しているわけではないため、例えば変位ベクトルとも呼ばれ得る。イントラ動き補償モードは、同じテクスチャを有するブロックがピクチャ内で繰り返し現れることの多い、CGコンテンツ又は(例えばテレビ番組表のような)テキストコンテンツを有する画像を効率的に符号化することに適している。
 インター予測部40は、原画像データ及び復号画像データに基づいて、HEVCのPUごとにインター予測処理を行う。例えば、インター予測部40は、予測モードセット内の各候補モードによる予測結果を所定のコスト関数を用いて評価する。次に、インター予測部40は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、インター予測部40は、当該最適な予測モードに従って予測画像データを生成する。インター予測部40は、選択した最適な予測モードを表す予測モード情報と動き情報とを含むインター予測に関する情報、コスト関数値、及び予測画像データを、セレクタ27へ出力する。
  [1-2.課題の説明]
 HEVCにおいて、画像の符号化及び復号は、CUを論理的な処理単位として実行される。CUは、各ピクチャ(又はスライス若しくはタイル)にラスタスキャン順に配置されるLCU(Largest Coding Unit)の各々を四分木(Quad-Tree)状に階層的に分割することにより形成されるブロックである。利用可能なCUサイズの最小値は8×8画素、最大値は64×64画素である。イントラ予測及びインター予測のいずれの手法で予測画像を生成するかは、CUレベルで決定される。これに対し、イントラ予測及びインター予測は、CUから分割される1つ以上のPUの各々を処理単位として実行される。PUの最小サイズは4×4画素である。本明細書では、イントラ予測が選択されたCUそのもの又は当該CUに属するPUを、イントラ予測ブロックという。また、インター予測が選択されたCUそのもの又は当該CUに属するPUを、インター予測ブロックという。
 一般的に、Iピクチャに含まれるCUは全てイントラ予測ブロックである一方、Pピクチャ及びBピクチャは、イントラ予測ブロック及びインター予測ブロックの双方を含み得る。図2は、イントラ予測ブロック及びインター予測ブロックの混在について説明するための説明図である。図2を参照すると、四分木状の分割によって形成される複数のブロックを含む画像IM1が示されている。画像IM1は、Pピクチャ又はBピクチャである。例えば、ブロックB10のサイズは16×16画素、ブロックB11のサイズは8×8画素、ブロックB12のサイズは32×32画素であってよい。ブロックB10は、ある時点においてイントラ予測の処理対象になっている対象ブロック(カレントブロック)である。ブロックB11を含む図中でドットで網掛けされたブロックは、既に符号化済み(復号済み)のブロックのうちのイントラ予測ブロックである。ブロックB12を含む図中で斜線で網掛けされたブロックは、既に符号化済み(復号済み)のブロックのうちのインター予測ブロックである。図2から理解されるように、HEVCでは、CUが領域ごとの画像特性に依存して適応的に四分木状に分割される結果として、イントラ予測ブロック及びインター予測ブロックが1つのピクチャ内で混在する可能性がある。
 ところで、予測処理においてインター予測ブロックを参照することは、例えば符号化ストリームを構成するパケットの伝送エラーなどに起因する画像の欠損を連鎖的に引き起こすリスクを伴う。そこで、HEVCでは、システムの用途に合わせてそうしたリスクを回避することを可能とするための「制約付きイントラ予測フラグ」と呼ばれるフラグが、PPS(Picture Parameter Set)において定義されている。制約付きイントラ予測フラグが真(True)を示す場合、イントラ予測の際にインター予測ブロックを参照することが禁止される。
 ここで、図2に例示したような1つのピクチャ内にイントラ予測ブロック及びインター予測ブロックが混在する状況においてイントラ動き補償モードでイントラ予測を実行しようとした場合、動きベクトルにより特定される参照ブロックがイントラ予測ブロックに属する画素とインター予測ブロックに属する画素とを含む可能性がある。図3は、イントラ動き補償モードにおける動きベクトル及び参照ブロックの設定の一例を示す説明図である。図3を参照すると、図2に例示した画像IM1が再び示されており、対象ブロックB10について動きベクトルMVが設定されている。参照ブロックRBは、動きベクトルMVにより特定される、対象ブロックB10と同じサイズを有する参照画素のブロックである。参照ブロックRBは、ブロックB12、B13、B14、B15、B16、B17、B18及びB19にそれぞれ属する複数の参照画素を含む。ブロックB12、ブロックB14、ブロックB15及びブロックB16は、インター予測ブロックである。ブロックB13、ブロックB17、ブロックB18及びブロックB19は、イントラ予測ブロックである。従って、制約付きイントラ予測フラグが真を示す場合、図4に示したように、参照ブロックRBに含まれる参照画素のうち、ブロックB12、ブロックB14、ブロックB15及びブロックB16に属する画素を参照することは禁止される。一方、ブロックB13、ブロックB17、ブロックB18及びブロックB19に属する画素を参照することは許容される。
 制約付きイントラ予測フラグが真である場合に、イントラ動き補償モードを一律的に無効化することは、制約付きイントラ予測の要件を満たすための第1の解決策である。また、制約付きイントラ予測フラグが真である場合に、イントラ動き補償モードにおいて参照ブロックがインター予測ブロックに属する画素を含むこととなるような動きベクトルの設定を禁止することは、制約付きイントラ予測の要件を満たすための第2の解決策である。しかし、これら解決策は、イントラ動き補償モードを活用して符号化効率を向上させる機会を大きく奪う。例えば、参照ブロック内でわずかな数の参照画素のみがインター予測ブロックに属する場合には、イントラ動き補償モードが高い予測精度(即ち、高い符号化効率)に十分に寄与する余地がある。制約付きイントラ予測の要件を満たすための第3の解決策は、対象ブロック内のある注目画素に対応する参照ブロック内の参照画素の参照が禁止されている場合に、当該参照画素の画素値を使用せず、当該注目画素についてゼロ又は予め定義される何らかの値を予測画素値として用いることである。この第3の解決策は、イントラ動き補償モードの活用の機会を拡大させるものの、ゼロ(又は他の値)が使用される領域における予測精度の低下を招来する。従って、いずれの解決策も、イントラ動き補償モードを活用した符号化効率の向上という観点において有益であるとは言えなかった。
 一方、本実施形態では、制約付きイントラ予測の要件を満たしつつ、イントラ動き補償モードにおいてイントラ予測ブロック及びインター予測ブロックにまたがるような参照ブロックを設定することが許容される。インター予測ブロックに属する参照画素に対応する領域の予測画像は、他の領域との間の空間的相関を利用して生成される。そのような仕組みを実現するイントラ予測部30の詳細な構成について、次節で説明する。
  [1-3.イントラ予測部の詳細な構成]
 図5は、図1に示した画像符号化装置10のイントラ予測部30の詳細な構成の一例を示すブロック図である。図5を参照すると、イントラ予測部30は、予測制御部31、モードバッファ33、予測部35、ラインバッファ37及びモード判定部39を有する。
   (1)予測制御部
 予測制御部31は、イントラ予測部30におけるイントラ予測処理を制御する。予測制御部31は、例えば、画像内の1つ以上のPUの各々を対象ブロックとして順次選択する。また、予測制御部31は、各対象ブロックについて、予測モードセットに含まれる複数の予測モード(候補)の各々で予測部35にイントラ予測を実行させ、各対象ブロックの予測画像を生成させる。そして、予測制御部31は、モード判定部39に最適な予測モードを判定させる。
 本実施形態において、イントラ予測の予測モードセットは、上述したように、イントラ動き補償モードを含む。そして、予測制御部31は、イントラ予測の際にインター予測ブロックを参照することが禁止されるか否かに依存して、イントラ動き補償モードでのイントラ予測を制御する。インター予測ブロックを参照することが禁止されない場合には、イントラ動き補償モードでのイントラ予測は、既存の手法と同様に実行されてよい。インター予測ブロックを参照することが禁止される場合、予測制御部31は、対象ブロックに含まれる注目画素に対応するイントラ動き補償モードのための参照画素がインター予測ブロックに属するかを、各注目画素について判定する。ここでの参照画素は、注目画素の画素位置から動きベクトルの分だけオフセット(変位)された位置の画素である。そして、予測制御部31は、ある注目画素に対応する参照画素がインター予測ブロックに属する場合、当該参照画素の代わりに、参照が禁止されない代替画素の画素値を、参照画素値として予測部35に代替的に使用させる。代替画素は、典型的には、イントラ予測ブロックに属する、同じ参照範囲(参照ブロック)内の画素であってよい。但し、イントラ予測ブロックに属する、参照範囲外の画素(例えば、参照ブロックに隣接する画素)が、代替画素として選択されてもよい。予測制御部31は、選択可能な適切な代替画素が存在しない場合には、何らかの固定値を参照画素値として予測部35に使用させてもよい。代替画素を選択するための2つの実施例について、後により具体的に説明する。
 なお、イントラ予測の際にインター予測ブロックを参照することが禁止されるか否かは、上述した制約付きイントラ予測フラグ(constrained_intra_pred_flag)により示される。制約付きイントラ予測フラグは、例えばユーザの目的、システムの用途又は性能要件などの要因に依存して設定され、可逆符号化部16により符号化ストリーム内に符号化される。
   (2)モードバッファ
 モードバッファ33は、注目画素に対応する参照画素がイントラ予測ブロック及びインター予測ブロックのいずれに属するかを判定する際に参照されるモード情報を、一時的に記憶するバッファである。モードバッファ33によりバッファリングされるモード情報は、符号化済みのCUごとの、当該CUの位置及びサイズ、並びに当該CUがイントラ予測ブロック及びインター予測ブロックのいずれであるかを示すパラメータを含んでもよい。その代わりに、当該モード情報は、イントラ予測ブロック及びインター予測ブロックのいずれに属するかを示す、画素ごとのフラグのセットを含んでもよい。
   (3)予測部
 予測部35は、予測制御部31により順次選択される対象ブロックについて、予測モードセットに含まれる複数の予測モードの各々でイントラ予測を実行し、各対象ブロックの予測画像を生成する。そして、予測部35は、各対象ブロックの予測モードごとの予測画像をモード判定部39へ出力する。
 上述したように、イントラ予測の予測モードセットは、イントラ動き補償モードを含む。イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、イントラ動き補償モードでイントラ予測を実行するときは、予測部35は、予測制御部31による制御の下、インター予測ブロックに属する参照画素の画素値を、参照が禁止されない代替画素の画素値で補填し、又は固定値に置き換える。
   (4)ラインバッファ
 ラインバッファ37は、イントラ動き補償モードにおいて予測部35により参照され又は使用される画素値を一時的に記憶するバッファである。ラインバッファ37は、例えば、注目画素が属する注目ラインの予測画素値をラインメモリを用いてバッファリングする。注目画素の予測画素値は、対応する参照画素がイントラ予測ブロックに属する場合には、当該参照画素の画素値に等しい。また、対応する参照画素がインター予測ブロックに属する場合には、注目画素の予測画素値は、代替画素の画素値又は上述した固定値に等しい。後述する第1の実施例において、ラインバッファ37は、注目ライン以外のラインの予測画素値をバッファリングしなくてよい。後述する第2の実施例において、ラインバッファ37は、注目画素が属する注目ライン及び当該注目ラインの上の隣接ラインの予測画素値をラインメモリを用いてバッファリングし得る。
   (5)モード判定部
 モード判定部39は、並び替えバッファ12から入力される原画像データと予測部35から入力される予測画像データとに基づいて、各予測モードのコスト関数値を算出する。また、モード判定部39は、算出したコスト関数値の比較に基づいて、符号化効率を最適化する予測モードを判定する。そして、モード判定部39は、判定した最適なイントラ予測の予測モードを示す予測モード情報を生成する。最適な予測モードがイントラ動き補償モードである場合、予測モード情報は、対象ブロックについて最適な動きベクトルを示す動きベクトル情報(変位ベクトル情報)を含み得る。そして、モード判定部39は、生成した予測モード情報を含むイントラ予測に関する情報、並びに対応するコスト関数値及び予測画像データを、セレクタ27へ出力する。なお、文献“INTRA PREDICTION BY TEMPLATE MATCHING”(Thiow Keng Tan, Choong Seng Boon and Yoshinori Suzuki, Image Processing, 2006, IEEE International Conference, 8-11 October, 2006, Pages:1693-1696)により提案されたテンプレートマッチング法に基づくエンコーダ及びデコーダ双方での動きベクトルの探索が行われる場合には、動きベクトル情報は符号化されなくてもよい。
  [1-4.第1の実施例]
 上述したように、本実施形態では、イントラ動き補償モードにおいてインター予測ブロックに属する参照画素を参照することが禁止される場合、当該参照画素の画素値が代替画素の画素値で補填される。本節では、参照画素の画素値を補填するための手法の第1の実施例について説明する。
 第1の実施例において、予測制御部31は、インター予測ブロックに属する参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合には、当該左の画素の画素値を、参照画素値として予測部35に代替的に使用させる。ここでの左の画素とは、左の隣接画素でなくてもよい。即ち、代替画素は、参照画素から左方へ離れた場所の画素であってもよい。また、予測制御部31は、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合には、固定値を参照画素値として予測部35に使用させる。ここでの固定値は、例えば、各画素のビット深度をnビットとすると、レンジの中央の値、即ち2n-1に等しくてよい。なお、ビット深度nは、SPS(Sequence Parameter Set)において伝送されるパラメータbit_depth_luma_minus8及びbit_depth_chroma_minus8により特定され得る。
 図6は、参照が禁止される画素の画素値を補填するための手法の第1の実施例について説明するための説明図である。図6を参照すると、参照ブロックRBが再び示されている。参照ブロックRBの左上端に位置する画素P00は、対象ブロック(図示せず)の左上端に位置する画素に対応する参照画素である。参照画素P00はインター予測ブロックに属するため、参照画素P00を参照することは禁止される。参照画素P00と同一のライン上の左の画素は利用可能でない。従って、予測制御部31は、参照画素P00の画素値として、固定値を予測部35に使用させる(図中の記号“F”)。参照ブロックRBの画素P21は、イントラ予測ブロックに属する参照画素である。参照画素P21を参照することは許容される。参照画素P21の画素値は、Rに等しいものとする。参照ブロックRBの画素P22は、インター予測ブロックに属する参照画素である。参照画素P22を参照することは禁止される。参照画素P22と同一のライン上の左には、イントラ予測ブロックに属する参照画素P21が存在する。従って、予測制御部31は、参照画素P22の画素値として、代替画素P21の画素値Rを予測部35に使用させる。参照ブロックRBの画素P25は、インター予測ブロックに属する参照画素である。参照画素P25を参照することは禁止される。参照画素P25と同一のライン上の左には、イントラ予測ブロックに属する参照画素P21が存在する。従って、予測制御部31は、参照画素P25の画素値として、代替画素P21の画素値Rを予測部35に使用させる。実装上は、予測部35は、左の隣接画素を連鎖的に参照することにより、参照画素P25の画素値に代替画素P21の画素値Rを代入してもよい。参照ブロックRBの画素P51は、イントラ予測ブロックに属する参照画素である。参照画素P51を参照することは許容される。参照画素P51の画素値は、Rに等しいものとする。参照ブロックRBの画素P52は、インター予測ブロックに属する参照画素である。参照画素P52を参照することは禁止される。参照画素P52と同一のライン上の左には、イントラ予測ブロックに属する参照画素P51が存在する。従って、予測制御部31は、参照画素P52の画素値として、代替画素P51の画素値Rを予測部35に使用させる。参照ブロックRBの画素P55は、インター予測ブロックに属する参照画素である。参照画素P55を参照することは禁止される。参照画素P55と同一のライン上の左には、イントラ予測ブロックに属する参照画素P51が存在する。従って、予測制御部31は、参照画素P55の画素値として、代替画素P51の画素値Rを予測部35に使用させる。実装上は、予測部35は、左の隣接画素を連鎖的に参照することにより、参照画素P55の画素値に代替画素P51の画素値Rを代入してもよい。参照ブロックRBの画素P75は、インター予測ブロックに属する参照画素である。参照画素P75を参照することは禁止される。参照画素P00と同一のライン上の左には、イントラ予測ブロックに属する参照画素は存在しない。従って、予測制御部31は、参照画素P75の画素値として、固定値を予測部35に使用させる(図中の記号“F”)。実装上は、予測部35は、左の隣接画素を連鎖的に参照することにより、参照画素P75の画素値に固定値を代入してもよい。
 上述した第1の実施例によれば、画素がラスタスキャン順で走査される場合に、右端の画素まで処理が終了したラインについては、その処理結果としての予測画素値が残りのラインの処理の際に参照されない。そのため、ラインバッファ37は、イントラ動き補償モードでのイントラ予測が実行されている間、注目画素が属する注目ラインの予測画素値のみをバッファリングすればよい。よって、第1の実施例は、メモリリソースの要求量が少なく、回路規模が小さくて済むという利点を有する。また、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合には、固定値ではなく当該左の画素の画素値が参照画素値として代替的に使用されるため、画素値の空間的相関に基づいてイントラ動き補償モードの予測精度を高めることができる。
  [1-5.第2の実施例]
 第2の実施例において、予測制御部31は、インター予測ブロックに属する参照画素の上の隣接画素がイントラ予測ブロックに属する場合に、当該上の隣接画素の画素値を、参照画素値として予測部35に代替的に使用させる。また、予測制御部31は、上の隣接画素がインター予測ブロックに属し、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合には、当該左の画素の画素値を、参照画素値として予測部35に代替的に使用させる。また、予測制御部31は、上の隣接画素がインター予測ブロックに属し、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合には、上の隣接画素について代替的に使用される画素値を、参照画素値として予測部35に使用させる。そして、予測制御部31は、上の隣接画素が利用不可(unavailable)であり、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合には、固定値を参照画素値として予測部35に使用させる。ここでの固定値は、第1の実施例と同様、各画素のビット深度をnビットとすると、レンジの中央の値、即ち2n-1に等しくてよい。
 図7は、参照が禁止される画素の画素値を補填するための手法の第2の実施例について説明するための説明図である。図7を参照すると、参照ブロックRBが再び示されている。参照ブロックRBの左上端に位置する画素P00は、対象ブロック(図示せず)の左上端に位置する画素に対応する参照画素である。参照画素P00はインター予測ブロックに属するため、参照画素P00を参照することは禁止される。参照画素P00の上の隣接画素は利用不可であり、参照画素P00と同一のライン上の左にイントラ予測ブロックに属する画素は存在しない。従って、予測制御部31は、参照画素P00の画素値として、固定値を予測部35に使用させる(図中の記号“F”)。参照ブロックRBの画素P12は、イントラ予測ブロックに属する参照画素である。参照画素P12を参照することは許容される。参照画素P12の画素値は、Rに等しいものとする。参照ブロックRBの画素P22は、インター予測ブロックに属する参照画素である。参照画素P22を参照することは禁止される。参照画素P22の上の隣接画素P12は、イントラ予測ブロックに属する。従って、予測制御部31は、参照画素P22の画素値として、代替画素P12の画素値Rを予測部35に使用させる。参照ブロックRBの画素P51は、イントラ予測ブロックに属する参照画素である。参照画素P51を参照することは許容される。参照画素P51の画素値は、Rに等しいものとする。参照ブロックRBの画素P52は、インター予測ブロックに属する参照画素である。参照画素P52を参照することは禁止される。参照画素P52の上の隣接画素は、インター予測ブロックに属する。参照画素P52と同一のライン上の左には、イントラ予測ブロックに属する参照画素P51が存在する。従って、予測制御部31は、参照画素P52の画素値として、代替画素P51の画素値Rを予測部35に使用させる。参照ブロックRBの画素P50は、イントラ予測ブロックに属する参照画素である。参照画素P50を参照することは許容される。参照画素P50の画素値は、Rに等しいものとする。参照ブロックRBの画素P60は、インター予測ブロックに属する参照画素である。参照画素P60を参照することは禁止される。参照画素P60の上の隣接画素P50は、イントラ予測ブロックに属する。従って、予測制御部31は、参照画素P60の画素値として、代替画素P50の画素値Rを予測部35に使用させる。参照ブロックRBの画素P70は、インター予測ブロックに属する参照画素である。参照画素P70を参照することは禁止される。参照画素P70の上の隣接画素P60は、インター予測ブロックに属する。参照画素P70と同一のライン上の左には、イントラ予測ブロックに属する参照画素が存在しない。従って、予測制御部31は、参照画素P70の画素値として、上の隣接画素P60について代替的に使用される画素値Rを予測部35に使用させる。
 上述した第2の実施例によれば、画素がラスタスキャン順で走査される場合に、注目画素が属する注目ラインの他には、当該注目ラインの上の隣接ラインの予測画素値のみが、注目ラインの処理の間に参照され得る。そのため、ラインバッファ37は、イントラ動き補償モードでのイントラ予測が実行されている間、注目ライン及び上の隣接ラインの予測画素値のみをバッファリングすればよい。よって、第2の実施例は、第1の実施例と比較すると1ライン分のメモリリソースを余分に要求し得るものの、メモリリソースの要求量は依然として少ない。また、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合だけでなく、参照画素の上にイントラ予測ブロックに属する画素が存在する場合にも、固定値ではなく代替画素の画素値が参照画素値として使用される。そのため、画素値の空間的相関に基づいて、イントラ動き補償モードの予測精度を一層高めることができる。
 <2.一実施形態に係る符号化時の処理の流れ>
  [2-1.イントラ予測処理]
 図8は、本実施形態に係る符号化時のイントラ予測処理の流れの一例を示すフローチャートである。なお、説明の簡明さのために、本開示に係る技術に直接的に関連しない処理ステップは、図から省略されている。ステップS110からステップS180までの処理は、予測モードセットに含まれる候補としての予測モードの各々について繰り返される。
 まず、予測制御部31は、処理対象の予測モードがイントラ動き補償モードであるかを判定する(ステップS110)。処理対象の予測モードがイントラ動き補償モードである場合には、予測制御部31は、インター予測ブロックを参照することが禁止されているか否かをさらに判定する(ステップS120)。予測モードがイントラ動き補償モードであって、インター予測ブロックを参照することが禁止されている場合、予測制御部31は、画素値の補填を伴うイントラ動き補償モードで、予測部35に対象ブロックについてのイントラ予測を実行させる(ステップS130)。一方、予測モードがイントラ動き補償モードであって、インター予測ブロックを参照することが禁止されていない場合、予測制御部31は、通常のイントラ動き補償モードで、予測部35に対象ブロックについてのイントラ予測を実行させる(ステップS160)。予測モードがイントラ動き補償モード以外のモードである場合、予測制御部31は、イントラ動き補償モード以外の当該予測モードで、予測部35に対象ブロックについてのイントラ予測を実行させる(ステップS170)。
 処理対象の予測モードで予測部35により対象ブロックの予測画像が生成されると、予測制御部31は、未処理の次の予測モード候補が存在するかを判定する(ステップS180)。次の予測モード候補が存在する場合には、処理はステップS110へ戻る。次の予測モード候補が存在しない場合には、処理はステップS190へ進む。
 ステップS190において、モード判定部39は、原画像データと予測画像データとに基づくコスト関数値を予測モード間で比較し、最適な予測モードを判定する(ステップS190)。そして、モード判定部39は、最適な予測モードを示す予測モード情報を含むイントラ予測に関する情報、並びに対応するコスト関数値及び予測画像データを、セレクタ27へ出力する。
  [2-2.イントラ動き補償モードのイントラ予測(第1の実施例)]
 図9は、第1の実施例に係る符号化時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。図9に示した処理は、図8のステップS130に対応する。
 ステップS131からステップS157までの処理は、探索対象の動きベクトルの各々について繰り返される。図9を参照すると、まず、予測部35は、候補としての動きベクトルを対象ブロックに設定する(ステップS131)。その後のステップS155までの処理は、予測ブロック内の画素(対応する参照ブロック内の参照画素)をラスタスキャン順に走査する形式でのループ処理である(ステップS133)。ここでは、予測ブロック内の走査される画素の各々を注目画素という。
 各注目画素のループにおいて、予測制御部31は、注目画素に対応する参照画素がインター予測ブロックに属するか否かを、モードバッファ33によりバッファリングされるモード情報を参照することにより判定する(ステップS135)。注目画素に対応する参照画素がインター予測ブロックではなくイントラ予測ブロックに属する場合、予測部35は、参照画素の画素値を取得する(ステップS137)。一方、参照画素がインター予測ブロックに属する場合、予測制御部31は、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在するかをさらに判定する(ステップS145)。そして、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合、予測部35は、当該左の画素の画素値を、参照画素値として代替的に取得する(ステップS147)。また、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合、予測部35は、参照画素値として固定値を取得する(ステップS153)。そして、予測部35は、ステップS137、S147又はS153において取得した参照画素の画素値を、注目画素の予測値に設定する(ステップS155)。
 上述した処理が予測ブロック内の全ての画素について終了した後、動きベクトルの探索が終了したかが判定される(ステップS157)。動きベクトルの探索が終了していない場合、処理はステップS131へ戻り、対象ブロックに次の動きベクトルが設定される。動きベクトルの探索が終了した場合、予測部35は、探索された複数の動きベクトルの中で、符号化効率を最適化する動きベクトルを判定する(ステップS159)
  [2-3.イントラ動き補償モードのイントラ予測(第2の実施例)]
 図10は、第2の実施例に係る符号化時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。図10に示した処理は、図8のステップS130に対応する。
 ステップS131からステップS157までの処理は、探索対象の動きベクトルの各々について繰り返される。図10を参照すると、まず、予測部35は、候補としての動きベクトルを対象ブロックに設定する(ステップS131)。その後のステップS155までの処理は、予測ブロック内の画素(対応する参照ブロック内の参照画素)をラスタスキャン順に走査する形式でのループ処理である(ステップS133)。
 各注目画素のループにおいて、予測制御部31は、注目画素に対応する参照画素がインター予測ブロックに属するか否かを、モードバッファ33によりバッファリングされるモード情報を参照することにより判定する(ステップS135)。注目画素に対応する参照画素がインター予測ブロックではなくイントラ予測ブロックに属する場合、予測部35は、参照画素の画素値を取得する(ステップS137)。一方、参照画素がインター予測ブロックに属する場合、予測制御部31は、参照画素の上の隣接画素がイントラ予測ブロックに属するかを判定する(ステップS141)。参照画素の上の隣接画素がイントラ予測ブロックに属する場合、予測部35は、上の隣接画素の画素値を、参照画素値として代替的に取得する(ステップS143)。参照画素の上の隣接画素がインター予測ブロックに属する場合、予測制御部31は、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在するかを判定する(ステップS145)。そして、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合、予測部35は、当該左の画素の画素値を、参照画素値として代替的に取得する(ステップS147)。また、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合、予測制御部31は、参照画素の上の隣接画素が利用可能かを判定する(ステップS149)。そして、上の隣接画素が利用可能である場合、予測部35は、上の隣接画素について代替的に使用される画素値を、参照画素値として代替的に取得する(ステップS151)。また、上の隣接画素が利用可能でない場合、予測部35は、参照画素値として固定値を取得する(ステップS153)。そして、予測部35は、ステップS137、S143、S147、S151又はS153において取得した参照画素の画素値を、注目画素の予測値に設定する(ステップS155)。
 上述した処理が予測ブロック内の全ての画素について終了した後、動きベクトルの探索が終了したかが判定される(ステップS157)。動きベクトルの探索が終了していない場合、処理はステップS131へ戻り、対象ブロックに次の動きベクトルが設定される。動きベクトルの探索が終了した場合、予測部35は、探索された複数の動きベクトルの中で、符号化効率を最適化する動きベクトルを判定する(ステップS159)。
 <3.一実施形態に係る画像復号装置の構成例>
  [3-1.全体的な構成]
 図11は、上述した画像符号化装置10により生成される符号化ストリームから画像を復号する画像復号装置60の構成の一例を示すブロック図である。図11を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、ループフィルタ66、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80並びにインター予測部90を備える。
 蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力される符号化ストリームから、符号化の際に使用された符号化方式に従って量子化データを復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に挿入されている情報を復号する。可逆復号部62により復号される情報は、例えば、イントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部62は、量子化データを逆量子化部63へ出力する。また、可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報をインター予測部90へ出力する。
 逆量子化部63は、可逆復号部62から入力される量子化データを、符号化の際に使用されたものと同じ量子化ステップ(又は同じ量子化行列)で逆量子化し、変換係数データを復元する。そして、逆量子化部63は、復元した変換係数データを逆直交変換部64へ出力する。
 逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをループフィルタ66及びフレームメモリ69へ出力する。
 ループフィルタ66は、画像符号化装置10のループフィルタ24と同様、ブロック歪みを軽減するデブロックフィルタ、各画素値にオフセット値を加えるサンプル適応オフセットフィルタ、及び原画像との誤差を最小化する適応ループフィルタを含み得る。ループフィルタ66は、加算部65から入力される復号画像データをフィルタリングし、フィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。
 並び替えバッファ67は、ループフィルタ66から入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、復号された画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ及びループフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80とインター予測部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フィルタリング後の復号画像データを参照画像データとしてインター予測部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80とインター予測部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、インター予測モードが指定された場合には、インター予測部90から出力される予測画像データを加算部65へ供給する。
 イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。イントラ予測処理は、PUごとに実行される。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。本実施形態において、イントラ予測の予測モード情報により示される予測モードの候補は、イントラ動き補償モードを含む。イントラ動き補償モードが指定される場合、予測モード情報は、動きベクトル情報(変位ベクトル情報)も含み得る。
 インター予測部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいてインター予測処理(動き補償処理)を行い、予測画像データを生成する。インター予測処理は、PUごとに実行される。そして、インター予測部90は、生成した予測画像データをセレクタ71へ出力する。
  [3-2.イントラ予測部の詳細な構成]
 図12は、図11に示した画像復号装置60のイントラ予測部80の詳細な構成の一例を示すブロック図である。図12を参照すると、イントラ予測部80は、予測制御部81、モードバッファ83、予測部85及びラインバッファ87を有する。
   (1)予測制御部
 予測制御部81は、イントラ予測部80におけるイントラ予測処理を制御する。予測制御部81は、例えば、画像内の1つ以上のPUの各々を対象ブロックとして順次選択する。また、予測制御部81は、各対象ブロックについて、可逆復号部62により復号される予測モード情報により示される予測モードで予測部85にイントラ予測を実行させ、各対象ブロックの予測画像を生成させる。
 本実施形態において、イントラ予測の予測モードセットは、上述したように、イントラ動き補償モードを含む。そして、予測制御部81は、イントラ予測の際にインター予測ブロックを参照することが禁止されるか否かに依存して、イントラ動き補償モードでのイントラ予測を制御する。インター予測ブロックを参照することが禁止されない場合には、イントラ動き補償モードでのイントラ予測は、既存の手法と同様に実行されてよい。インター予測ブロックを参照することが禁止される場合、予測制御部81は、対象ブロックに含まれる注目画素に対応するイントラ動き補償モードのための参照画素がインター予測ブロックに属するかを、各注目画素について判定する。ここでの参照画素は、注目画素の画素位置から動きベクトルの分だけオフセット(変位)された位置の画素である。そして、予測制御部81は、ある注目画素に対応する参照画素がインター予測ブロックに属する場合、画像符号化装置10の予測制御部31と同様に、当該参照画素の代わりに、参照が禁止されない代替画素の画素値を、参照画素値として予測部85に代替的に使用させる。イントラ予測の際にインター予測ブロックを参照することが禁止されるか否かは、可逆復号部62により例えば符号化ストリームのPPSから復号される制約付きイントラ予測フラグ(constrained_intra_pred_flag)により示される。
   (2)モードバッファ
 モードバッファ83は、注目画素に対応する参照画素がイントラ予測ブロック及びインター予測ブロックのいずれに属するかを判定する際に参照されるモード情報を、一時的に記憶するバッファである。モードバッファ83によりバッファリングされるモード情報は、復号済みのCUごとの、当該CUの位置及びサイズ、並びに当該CUがイントラ予測ブロック及びインター予測ブロックのいずれであるかを示すパラメータを含んでもよい。その代わりに、当該モード情報は、イントラ予測ブロック及びインター予測ブロックのいずれに属するかを示す画素ごとのフラグのセットを含んでもよい。
   (3)予測部
 予測部85は、予測制御部81により順次選択される対象ブロックについて、予測モード情報により示される予測モードでイントラ予測を実行し、各対象ブロックの予測画像を生成する。そして、予測部85は、生成した対象ブロックの予測画像を加算部65へ出力する。
 上述したように、イントラ予測の予測モードセットは、イントラ動き補償モードを含む。イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、イントラ動き補償モードでイントラ予測を実行するときは、予測部85は、予測制御部81による制御の下、インター予測ブロックに属する参照画素の画素値を、参照が禁止されない代替画素の画素値で補填し、又は固定値に置き換える。
 第1の実施例において、予測制御部81は、インター予測ブロックに属する参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合には、当該左の画素の画素値を、参照画素値として予測部85に代替的に使用させる。ここでの左の画素とは、左の隣接画素でなくてもよい。即ち、代替画素は、参照画素から左方へ離れた場所の画素であってもよい。また、予測制御部81は、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合には、固定値を参照画素値として予測部85に使用させる。ここでの固定値は、例えば、各画素のビット深度をnビットとすると、レンジの中央の値、即ち2n-1に等しくてよい。なお、第1の実施例に係る画素値を補填するための手法は、図6を用いて説明した通りであってよい。
 第2の実施例において、予測制御部81は、インター予測ブロックに属する参照画素の上の隣接画素がイントラ予測ブロックに属する場合に、当該上の隣接画素の画素値を、参照画素値として予測部85に代替的に使用させる。また、予測制御部81は、上の隣接画素がインター予測ブロックに属し、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合には、当該左の画素の画素値を、参照画素値として予測部85に代替的に使用させる。また、予測制御部81は、上の隣接画素がインター予測ブロックに属し、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合には、上の隣接画素について代替的に使用される画素値を、参照画素値として予測部85に使用させる。そして、予測制御部81は、上の隣接画素が利用不可であり、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合には、固定値を参照画素値として予測部85に使用させる。ここでの固定値は、第1の実施例と同様、各画素のビット深度をnビットとすると、レンジの中央の値、即ち2n-1に等しくてよい。なお、第2の実施例に係る画素値を補填するための手法は、図7を用いて説明した通りであってよい。
   (4)ラインバッファ
 ラインバッファ87は、イントラ動き補償モードにおいて予測部85により参照され又は使用される画素値を一時的に記憶するバッファである。ラインバッファ87は、例えば、注目画素が属する注目ラインの予測画素値をラインメモリを用いてバッファリングする。第1の実施例において、ラインバッファ87は、注目ライン以外のラインの予測画素値をバッファリングしなくてよい。第2の実施例において、ラインバッファ87は、注目画素が属する注目ライン及び当該注目ラインの上の隣接ラインの予測画素値をラインメモリを用いてバッファリングし得る。
 <4.一実施形態に係る復号時の処理の流れ>
  [4-1.イントラ予測処理]
 図13は、本実施形態に係る復号時のイントラ予測処理の流れの一例を示すフローチャートである。なお、説明の簡明さのために、本開示に係る技術に直接的に関連しない処理ステップは、図から省略されている。
 まず、予測制御部81は、可逆復号部62により復号された対象ブロックについての予測モード情報を取得する(ステップS200)。次に、予測制御部81は、取得した予測モード情報により示される予測モードがイントラ動き補償モードであるかを判定する(ステップS210)。予測モードがイントラ動き補償モードである場合には、予測制御部81は、インター予測ブロックを参照することが禁止されているか否かをさらに判定する(ステップS220)。予測モードがイントラ動き補償モードであって、インター予測ブロックを参照することが禁止されている場合、予測制御部81は、画素値の補填を伴うイントラ動き補償モードで、予測部85に対象ブロックについてのイントラ予測を実行させる(ステップS230)。一方、予測モードがイントラ動き補償モードであって、インター予測ブロックを参照することが禁止されていない場合、予測制御部81は、通常のイントラ動き補償モードで、予測部85に対象ブロックについてのイントラ予測を実行させる(ステップS260)。予測モードがイントラ動き補償モード以外のモードである場合、予測制御部81は、イントラ動き補償モード以外の当該予測モードで、予測部85に対象ブロックについてのイントラ予測を実行させる(ステップS270)。
 ステップS230、S260又はS270において予測部85により生成される対象ブロックの予測画像は、加算部65へ出力される。
  [4-2.イントラ動き補償モードのイントラ予測(第1の実施例)]
 図14は、第1の実施例に係る復号時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。図14に示した処理は、図13のステップS230に対応する。
 まず、予測部85は、可逆復号部62により復号され得る動きベクトル情報により示される動きベクトルを、対象ブロックに設定する(ステップS231)。その後のステップS255までの処理は、予測ブロック内の画素(対応する参照ブロック内の参照画素)をラスタスキャン順に走査する形式でのループ処理である(ステップS233)。ここでは、予測ブロック内の走査される画素の各々を注目画素という。
 各注目画素のループにおいて、予測制御部81は、注目画素に対応する参照画素がインター予測ブロックに属するか否かを、モードバッファ83によりバッファリングされるモード情報を参照することにより判定する(ステップS235)。注目画素に対応する参照画素がインター予測ブロックではなくイントラ予測ブロックに属する場合、予測部85は、参照画素の画素値を取得する(ステップS237)。一方、参照画素がインター予測ブロックに属する場合、予測制御部81は、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在するかをさらに判定する(ステップS245)。そして、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合、予測部85は、当該左の画素の画素値を、参照画素値として代替的に取得する(ステップS247)。また、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合、予測部85は、参照画素値として固定値を取得する(ステップS253)。そして、予測部85は、ステップS237、S247又はS253において取得した参照画素の画素値を、注目画素の予測値に設定する(ステップS255)。
 上述した処理が予測ブロック内の全ての画素について終了すると、予測ブロックの予測画像の生成が完了する。
  [4-3.イントラ動き補償モードのイントラ予測(第2の実施例)]
 図15は、第2の実施例に係る復号時のイントラ動き補償モードでのイントラ予測の詳細な流れの一例を示すフローチャートである。図15に示した処理は、図13のステップS230に対応する。
 まず、予測部85は、可逆復号部62により復号され得る動きベクトル情報により示される動きベクトルを、対象ブロックに設定する(ステップS231)。その後のステップS255までの処理は、予測ブロック内の画素(対応する参照ブロック内の参照画素)をラスタスキャン順に走査する形式でのループ処理である(ステップS233)。
 各注目画素のループにおいて、予測制御部81は、注目画素に対応する参照画素がインター予測ブロックに属するか否かを、モードバッファ83によりバッファリングされるモード情報を参照することにより判定する(ステップS235)。注目画素に対応する参照画素がインター予測ブロックではなくイントラ予測ブロックに属する場合、予測部85は、参照画素の画素値を取得する(ステップS237)。一方、参照画素がインター予測ブロックに属する場合、予測制御部81は、参照画素の上の隣接画素がイントラ予測ブロックに属するかを判定する(ステップS241)。参照画素の上の隣接画素がイントラ予測ブロックに属する場合、予測部85は、上の隣接画素の画素値を、参照画素値として代替的に取得する(ステップS243)。参照画素の上の隣接画素がインター予測ブロックに属する場合、予測制御部81は、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在するかを判定する(ステップS245)。そして、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合、予測部85は、当該左の画素の画素値を、参照画素値として代替的に取得する(ステップS247)。また、参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合、予測制御部81は、参照画素の上の隣接画素が利用可能かを判定する(ステップS249)。そして、上の隣接画素が利用可能である場合、予測部85は、上の隣接画素について代替的に使用される画素値を、参照画素値として代替的に取得する(ステップS251)。また、上の隣接画素が利用可能でない場合、予測部85は、参照画素値として固定値を取得する(ステップS253)。そして、予測部85は、ステップS237、S243、S247、S251又はS253において取得した参照画素の画素値を、注目画素の予測値に設定する(ステップS255)。
 上述した処理が予測ブロック内の全ての画素について終了すると、予測ブロックの予測画像の生成が完了する。
 <5.応用例>
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
   (1)第1の応用例
 図16は、テレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、画像復号装置60の機能を有する。それにより、制約付きイントラ予測の要件を満たしつつ、イントラ動き補償モードを活用して高い符号化効率で符号化された画像をテレビジョン装置900が復号することが可能となる。
   (2)第2の応用例
 図17は、携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、画像符号化装置10及び画像復号装置60の機能を有する。それにより、制約付きイントラ予測の要件を満たしつつ、携帯電話機920がイントラ動き補償モードを活用して高い符号化効率で画像を符号化し、又はそのように符号化された画像を携帯電話機920が復号することが可能となる。
   (3)第3の応用例
 図18は、記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、画像符号化装置10の機能を有する。また、デコーダ947は、画像復号装置60の機能を有する。それにより、制約付きイントラ予測の要件を満たしつつ、記録再生装置940がイントラ動き補償モードを活用して高い符号化効率で画像を符号化し、又はそのように符号化された画像を記録再生装置940が復号することが可能となる。
   (4)第4の応用例
 図19は、撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、画像符号化装置10及び画像復号装置60の機能を有する。それにより、制約付きイントラ予測の要件を満たしつつ、撮像装置960がイントラ動き補償モードを活用して高い符号化効率で画像を符号化し、又はそのように符号化された画像を撮像装置960が復号することが可能となる。
 <6.まとめ>
 ここまで、図1~図19を用いて、本開示に係る技術の様々な実施形態について詳細に説明した。上述した実施形態によれば、イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、対象ブロックの注目画素に対応するイントラ動き補償モードのための参照画素がインター予測ブロックに属するときに、参照が禁止されない代替画素の画素値が、参照画素値として代替的に使用される。従って、イントラ動き補償モードを一律的に無効化し又は動きベクトルの探索範囲を制限するような手法と比較して、イントラ動き補償モードを活用し得る機会が拡大される。そのため、符号化効率の向上を期待することができる。また、参照が禁止される参照画素に対応する注目画素の予測画素値が固定値に設定されるような手法では局所的に予測精度が低下する一方、上述した実施形態によれば、代替画素の画素値と参照画素の画素値との間の相関によって、局所的な予測精度の低下が回避され又は軽減される。従って、イントラ動き補償モードの予測精度が改善し、より高い符号化効率を達成することが可能となる。
 第1の実施例によれば、インター予測ブロックに属する参照画素のための代替画素は、参照画素と同一のライン上の左に存在する、イントラ予測ブロックに属する画素であってよい。この場合、右端の画素まで処理が終了したラインについてはその処理結果としての予測画素値が残りのラインの処理の際に参照されないため、ラインバッファの規模を最小限に抑制することができる。
 また、第2の実施例によれば、インター予測ブロックに属する参照画素のための代替画素は、参照画素の上の隣接画素であってよい。参照画素と同一のライン上の左に存在するイントラ予測ブロックに属する画素もまた、代替画素として使用され得る。この場合、注目画素が属する注目ラインの他には、当該注目ラインの上の隣接ラインの予測画素値のみが注目ラインの処理の間に参照され得るため、ラインバッファの規模を小さく抑制しつつ、イントラ動き補償モードの予測精度を一層高めることができる。
 また、いずれの実施例においても、インター予測ブロックに属する参照画素のために代替画素として使用し得る画素が存在しない場合には、2n-1(nはビット深度を表す)に等しい固定値が参照画素値として使用され得る。この場合、参照画素値が画素値のレンジの中央の値となるため、局所的な予測精度の低下を、ある程度確率的に軽減することができる。
 なお、上述した第1の実施例及び第2の実施例は、参照が禁止される画素の画素値を補填するための手法の一例に過ぎない。例えば、第2の実施例において、上の隣接画素よりも左の隣接画素が、優先的に代替画素として選択されてもよい。また、注目ラインよりも上の2つ以上のラインの画素値がバッファリングされ、それらラインに属するいずれかの画素が代替画素として選択されてもよい。また、いずれの画素を代替画素として使用すべきかを示す情報が、エンコーダにより符号化され及びデコーダにより復号されてもよい。
 また、本明細書に記述したCU、PU及びTUとの用語は、HEVCにおいて、個々のブロックに関連付けられるシンタックスをも含む論理的な単位を意味する。画像の一部分としての個々のブロックのみに着目する場合、これらは、CB(Coding Block)、PB(Prediction Block)及びTB(Transform Block)との用語にそれぞれ置き換えられてもよい。CBは、CTB(Coding Tree Block)を四分木(Quad-Tree)状に階層的に分割することにより形成される。1つの四分木の全体がCTBに相当し、CTBに対応する論理的な単位はCTU(Coding Tree Unit)と呼ばれる。HEVCにおけるCTB及びCBは、符号化処理の処理単位である点でH.264/AVCにおけるマクロブロックに類似する役割を有する。但し、CTB及びCBは、そのサイズが固定的でない点でマクロブロックと異なる(マクロブロックのサイズは常に16×16画素である)。CTBのサイズは16×16画素、32×32画素及び64×64画素から選択され、符号化ストリーム内でパラメータにより指定される。CBのサイズは、CTBの分割の深さによって変化し得る。
 また、本明細書では、イントラ予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的又は例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果と共に、又は上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 対象ブロックについて、イントラ動き補償モードでイントラ予測を実行する予測部と、
 前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するときに、参照が禁止されない代替画素の画素値を、参照画素値として前記予測部に代替的に使用させる制御部と、
 を備える画像処理装置。
(2)
 前記制御部は、インター予測ブロックに属する前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合に、当該左の画素の画素値を、前記参照画素値として前記予測部に代替的に使用させる、前記(1)に記載の画像処理装置。
(3)
 前記制御部は、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合に、固定値を前記参照画素値として前記予測部に使用させる、前記(2)に記載の画像処理装置。
(4)
 前記制御部は、インター予測ブロックに属する前記参照画素の上の隣接画素がイントラ予測ブロックに属する場合に、当該上の隣接画素の画素値を、前記参照画素値として前記予測部に代替的に使用させる、前記(1)に記載の画像処理装置。
(5)
 前記制御部は、前記上の隣接画素がインター予測ブロックに属し、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合に、当該左の画素の画素値を、前記参照画素値として前記予測部に代替的に使用させる、前記(4)に記載の画像処理装置。
(6)
 前記制御部は、前記上の隣接画素がインター予測ブロックに属し、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合に、前記上の隣接画素について代替的に使用される画素値を、前記参照画素値として前記予測部に使用させる、前記(5)に記載の画像処理装置。
(7)
 前記制御部は、前記上の隣接画素が利用不可であり、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合に、固定値を前記参照画素値として前記予測部に使用させる、前記(6)に記載の画像処理装置。
(8)
 ビット深度をnビットとすると、前記固定値は2n-1に等しい、前記(3)又は前記(7)に記載の画像処理装置。
(9)
 前記画像処理装置は、予測モード情報を復号する復号部、をさらに備え、
 前記制御部は、前記対象ブロックの前記予測モード情報が前記イントラ動き補償モードを示す場合に、前記予測部に前記対象ブロックについて前記イントラ動き補償モードで前記イントラ予測を実行させる、
 前記(1)~(8)のいずれか1項に記載の画像処理装置。
(10)
 前記制御部は、前記イントラ動き補償モードを含む複数の予測モードで前記予測部に前記対象ブロックについて前記イントラ予測を実行させ、
 前記画像処理装置は、前記複数の予測モードから選択される最適な予測モードを示す予測モード情報を符号化する符号化部、をさらに備える、
 前記(1)~(8)のいずれか1項に記載の画像処理装置。
(11)
 対象ブロックについてイントラ動き補償モードでイントラ予測を実行する装置において、
 前記イントラ予測の際にインター予測ブロックを参照することが禁止されるかを判定することと、
 前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合に、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するかを判定することと、
 前記参照画素がインター予測ブロックに属する場合に、参照が禁止されない代替画素の画素値を、参照画素値として代替的に使用することと、
 を含む画像処理方法。
 10,60   画像処理装置
 31,81   予測制御部
 35,85   予測部
 16      可逆符号化部
 62      可逆復号部

Claims (11)

  1.  対象ブロックについて、イントラ動き補償モードでイントラ予測を実行する予測部と、
     前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合において、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するときに、参照が禁止されない代替画素の画素値を、参照画素値として前記予測部に代替的に使用させる制御部と、
     を備える画像処理装置。
  2.  前記制御部は、インター予測ブロックに属する前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合に、当該左の画素の画素値を、前記参照画素値として前記予測部に代替的に使用させる、請求項1に記載の画像処理装置。
  3.  前記制御部は、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合に、固定値を前記参照画素値として前記予測部に使用させる、請求項2に記載の画像処理装置。
  4.  前記制御部は、インター予測ブロックに属する前記参照画素の上の隣接画素がイントラ予測ブロックに属する場合に、当該上の隣接画素の画素値を、前記参照画素値として前記予測部に代替的に使用させる、請求項1に記載の画像処理装置。
  5.  前記制御部は、前記上の隣接画素がインター予測ブロックに属し、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在する場合に、当該左の画素の画素値を、前記参照画素値として前記予測部に代替的に使用させる、請求項4に記載の画像処理装置。
  6.  前記制御部は、前記上の隣接画素がインター予測ブロックに属し、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合に、前記上の隣接画素について代替的に使用される画素値を、前記参照画素値として前記予測部に使用させる、請求項5に記載の画像処理装置。
  7.  前記制御部は、前記上の隣接画素が利用不可であり、前記参照画素と同一のライン上の左にイントラ予測ブロックに属する画素が存在しない場合に、固定値を前記参照画素値として前記予測部に使用させる、請求項6に記載の画像処理装置。
  8.  ビット深度をnビットとすると、前記固定値は2n-1に等しい、請求項3に記載の画像処理装置。
  9.  前記画像処理装置は、予測モード情報を復号する復号部、をさらに備え、
     前記制御部は、前記対象ブロックの前記予測モード情報が前記イントラ動き補償モードを示す場合に、前記予測部に前記対象ブロックについて前記イントラ動き補償モードで前記イントラ予測を実行させる、
     請求項1に記載の画像処理装置。
  10.  前記制御部は、前記イントラ動き補償モードを含む複数の予測モードで前記予測部に前記対象ブロックについて前記イントラ予測を実行させ、
     前記画像処理装置は、前記複数の予測モードから選択される最適な予測モードを示す予測モード情報を符号化する符号化部、をさらに備える、
     請求項1に記載の画像処理装置。
  11.  対象ブロックについてイントラ動き補償モードでイントラ予測を実行する装置において、
     前記イントラ予測の際にインター予測ブロックを参照することが禁止されるかを判定することと、
     前記イントラ予測の際にインター予測ブロックを参照することが禁止される場合に、前記対象ブロックの注目画素に対応する前記イントラ動き補償モードのための参照画素がインター予測ブロックに属するかを判定することと、
     前記参照画素がインター予測ブロックに属する場合に、参照が禁止されない代替画素の画素値を、参照画素値として代替的に使用することと、
     を含む画像処理方法。
PCT/JP2014/070395 2013-10-22 2014-08-01 画像処理装置及び画像処理方法 WO2015059973A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-218987 2013-10-22
JP2013218987A JP2015082714A (ja) 2013-10-22 2013-10-22 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
WO2015059973A1 true WO2015059973A1 (ja) 2015-04-30

Family

ID=52992584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/070395 WO2015059973A1 (ja) 2013-10-22 2014-08-01 画像処理装置及び画像処理方法

Country Status (2)

Country Link
JP (1) JP2015082714A (ja)
WO (1) WO2015059973A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112449181A (zh) * 2019-09-05 2021-03-05 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
JP2022512088A (ja) * 2019-02-01 2022-02-02 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置、およびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6643884B2 (ja) * 2015-12-04 2020-02-12 日本放送協会 映像符号化装置およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527169A (ja) * 2006-02-17 2009-07-23 トムソン ライセンシング イントラ予測モードを使用した画像符号化方法
JP2011517227A (ja) * 2008-04-11 2011-05-26 トムソン ライセンシング ビデオ符号化及び復号化におけるテンプレート・マッチング予測(tmp)のための方法及び装置
JP2013012840A (ja) * 2011-06-28 2013-01-17 Sony Corp 画像処理装置および方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527169A (ja) * 2006-02-17 2009-07-23 トムソン ライセンシング イントラ予測モードを使用した画像符号化方法
JP2011517227A (ja) * 2008-04-11 2011-05-26 トムソン ライセンシング ビデオ符号化及び復号化におけるテンプレート・マッチング予測(tmp)のための方法及び装置
JP2013012840A (ja) * 2011-06-28 2013-01-17 Sony Corp 画像処理装置および方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022512088A (ja) * 2019-02-01 2022-02-02 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置、およびプログラム
JP7337929B2 (ja) 2019-02-01 2023-09-04 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置、およびプログラム
CN112449181A (zh) * 2019-09-05 2021-03-05 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Also Published As

Publication number Publication date
JP2015082714A (ja) 2015-04-27

Similar Documents

Publication Publication Date Title
JP6635184B2 (ja) 画像処理装置および方法
JP2018057009A (ja) 画像処理装置および方法、並びに、プログラム
WO2013154028A1 (ja) 画像処理装置および方法
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
WO2017094298A1 (ja) 画像処理装置、画像処理方法及びプログラム
JP6314176B2 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
WO2015053001A1 (ja) 画像処理装置及び画像処理方法
WO2016157924A1 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
JP2014207536A (ja) 画像処理装置および方法
JP2015192381A (ja) 画像処理装置及び画像処理方法
WO2014148070A1 (ja) 画像処理装置及び画像処理方法
WO2015059973A1 (ja) 画像処理装置及び画像処理方法
WO2015052979A1 (ja) 画像処理装置及び画像処理方法
JP2018061296A (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: 14856203

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14856203

Country of ref document: EP

Kind code of ref document: A1