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

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

Info

Publication number
WO2012043166A1
WO2012043166A1 PCT/JP2011/070233 JP2011070233W WO2012043166A1 WO 2012043166 A1 WO2012043166 A1 WO 2012043166A1 JP 2011070233 W JP2011070233 W JP 2011070233W WO 2012043166 A1 WO2012043166 A1 WO 2012043166A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
prediction
unit
pixel value
image
Prior art date
Application number
PCT/JP2011/070233
Other languages
English (en)
French (fr)
Inventor
佐藤 数史
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to CN2011800461708A priority Critical patent/CN103125118A/zh
Priority to US13/824,973 priority patent/US20130182967A1/en
Publication of WO2012043166A1 publication Critical patent/WO2012043166A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • compression is intended to efficiently transmit or store digital images, and compresses the amount of information of an image using orthogonal transform such as discrete cosine transform and motion compensation, for example, using redundancy unique to the image.
  • orthogonal transform such as discrete cosine transform and motion compensation
  • Technology is widespread.
  • H.264 developed by ITU-T.
  • Image encoding devices and image decoding devices compliant with standard technologies such as the 26x standard or the MPEG-y standard established by the Moving Picture Experts Group (MPEG), store and distribute images by broadcast stations, and receive images by general users It is widely used in various situations such as storage.
  • MPEG Moving Picture Experts Group
  • MPEG2 (ISO / IEC 13818-2) is one of the MPEG-y standards defined as a general-purpose image coding system. MPEG2 can handle both interlaced (interlaced) images and progressively scanned (non-interlaced) images, and is intended for high-definition images in addition to standard resolution digital images. MPEG2 is currently widely used for a wide range of applications including professional and consumer applications. According to MPEG2, for example, a standard resolution interlaced scanning image having 720 ⁇ 480 pixels has a code amount (bit rate) of 4 to 8 Mbps, and a high resolution interlaced scanning image having 1920 ⁇ 1088 pixels has 18 to 22 Mbps. By assigning the code amount, both a high compression rate and good image quality can be realized.
  • bit rate code amount
  • MPEG2 is mainly intended for high-quality encoding suitable for broadcasting use, and does not correspond to a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system was newly advanced.
  • image coding system which is a part of the MPEG4 coding system
  • the standard was approved as an international standard (ISO / IEC 14496-2) in December 1998.
  • the 26x standard (ITU-T Q6 / 16 VCEG) is a standard originally developed for the purpose of encoding suitable for communication applications such as videophone or videoconferencing. H.
  • the 26x standard is known to be able to realize a higher compression ratio while requiring a larger amount of calculation for encoding and decoding than the MPEG-y standard.
  • Joint Model of Enhanced-Compression Video Coding as part of MPEG4 activities Based on the 26x standard, a standard that can achieve a higher compression ratio has been established by incorporating new functions. This standard was approved in March 2003 by H.264. H.264 and MPEG-4 Part 10 (Advanced Video Coding; AVC) have become international standards.
  • Intra prediction is a technique for reducing the amount of encoded information by using the correlation between adjacent blocks in the screen and predicting the pixel values in a block from the pixel values of other adjacent blocks. .
  • intra prediction is possible for all pixel values.
  • intra prediction can be performed using a block of 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, or 16 ⁇ 16 pixels as one processing unit.
  • Non-Patent Document 1 below proposes intra prediction with an expanded block size using a block of 32 ⁇ 32 pixels or 64 ⁇ 64 pixels as a processing unit.
  • Partial decoding generally refers to obtaining only a low-resolution image by partially decoding encoded data of a high-resolution image. That is, if encoded data that can be partially decoded is supplied, for example, a terminal having relatively high processing performance reproduces the entire high-resolution image, while lower processing performance (or low-resolution display). The terminal having can reproduce only low-resolution images.
  • the existing intra prediction method a plurality of prediction modes based on various correlations between pixels in the same image are used. For this reason, unless a certain pixel in the image is decoded, it is difficult to decode another pixel having a correlation with a pixel that is not decoded. In other words, the existing intra prediction method itself requires a large amount of computation from the terminal, but is not suitable for partial decoding, and as a result, it is sufficient for the demand for reproduction of digital images on various terminals. It was not answered.
  • the technology according to the present disclosure intends to provide an image processing device and an image processing method that realize an intra prediction method that enables partial decoding.
  • the rearrangement unit that rearranges the pixel values included in the block so that the pixel values of the common pixel positions in the adjacent sub-blocks included in the block in the image are adjacent after the rearrangement.
  • the prediction pixel value for the pixel at the first pixel position of the sub-block is generated using the pixel value rearranged by the rearrangement unit and the reference pixel value in the image corresponding to the first pixel position.
  • the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
  • the prediction unit may generate a predicted pixel value for the pixel at the first pixel position without using a correlation with a pixel value at another pixel position.
  • the prediction unit may generate a predicted pixel value for the pixel at the second pixel position according to a prediction mode based on a correlation with the pixel value at the first pixel position.
  • the prediction unit correlates the predicted pixel value for the pixel at the third pixel position with the pixel value at the first pixel position in parallel with the generation of the predicted pixel value for the pixel at the second pixel position. May be generated according to a prediction mode based on.
  • the prediction unit generates the predicted pixel value for the pixel at the fourth pixel position in parallel with the generation of the predicted pixel value for the pixel at the second pixel position and the pixel at the third pixel position. It may be generated according to a prediction mode based on the correlation with the pixel value.
  • the prediction unit may generate a predicted pixel value for the pixel at the fourth pixel position according to a prediction mode based on a correlation between the pixel values at the second pixel position and the third pixel position.
  • the prediction unit generates a prediction pixel value at the first pixel position of another block that has been encoded based on the prediction mode selected when generating the prediction pixel value for the pixel at the first pixel position.
  • information indicating that the prediction mode can be estimated for the first pixel position may be generated.
  • the prediction mode based on the correlation with the pixel value at the first pixel position may be a prediction mode for generating a predicted pixel value by phase shifting the pixel value at the first pixel position.
  • the image processing method for processing an image so that pixel values of common pixel positions in adjacent sub-blocks included in blocks in the image are adjacent after rearrangement, Rearranging the pixel values included in the block, and calculating a predicted pixel value for the pixel at the first pixel position of the sub-block in the image corresponding to the rearranged pixel value and the first pixel position. Generating an image using a reference pixel value.
  • the pixel values of the reference pixels corresponding to the common pixel positions in adjacent sub-blocks included in the block in the image are adjacent to each other after being rearranged.
  • a rearrangement unit for rearranging the pixel values of the reference pixels and a predicted pixel value for the pixel at the first pixel position of the sub-block are generated using the pixel values of the reference pixels rearranged by the rearrangement unit.
  • An image processing apparatus including a prediction unit is provided.
  • the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
  • the prediction unit may generate a predicted pixel value for the pixel at the first pixel position without using a correlation with a pixel value of a reference pixel corresponding to another pixel position.
  • the prediction unit may generate a predicted pixel value for the pixel at the second pixel position according to a prediction mode based on a correlation with the pixel value at the first pixel position.
  • the prediction unit correlates the predicted pixel value for the pixel at the third pixel position with the pixel value at the first pixel position in parallel with the generation of the predicted pixel value for the pixel at the second pixel position. May be generated according to a prediction mode based on.
  • the prediction unit generates the predicted pixel value for the pixel at the fourth pixel position in parallel with the generation of the predicted pixel value for the pixel at the second pixel position and the pixel at the third pixel position. It may be generated according to a prediction mode based on the correlation with the pixel value.
  • the prediction unit may generate a predicted pixel value for the pixel at the fourth pixel position according to a prediction mode based on a correlation between the pixel values at the second pixel position and the third pixel position.
  • the prediction unit when it is indicated that the prediction unit can estimate the prediction mode for the first pixel position, the prediction unit sets the prediction mode for generating the prediction pixel value for the pixel at the first pixel position, You may estimate from the prediction mode selected when producing
  • the prediction mode based on the correlation with the pixel value at the first pixel position may be a prediction mode for generating a predicted pixel value by phase shifting the pixel value at the first pixel position.
  • the image processing apparatus further includes a determination unit that determines whether or not the image is to be partially decoded, and the prediction unit is configured to determine that the image is to be partially decoded. May not generate a predicted pixel value of at least one pixel position other than the first pixel position.
  • an image processing method for processing an image pixel values of reference pixels respectively corresponding to common pixel positions in adjacent sub-blocks included in a block in the image are rearranged. Rearranging the pixel values of the reference pixels in the image so as to be adjacent to each other, and predicting the pixel values of the pixels at the first pixel position of the sub-block, And generating the image processing method.
  • 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 accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter 24, frame memory 25, selectors 26 and 27, motion search unit 30, and intra prediction unit 40 Prepare.
  • 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 input from the A / D conversion unit 11.
  • the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the subtraction unit 13, the motion search unit 30, and the intra prediction unit 40. To do.
  • 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 motion search unit 30 or the intra prediction unit 40 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 12 and the prediction image data, and outputs the calculated prediction error data to the orthogonal transformation 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 quantizing unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21. Further, the quantization unit 15 changes the bit rate of the quantized data input to the lossless encoding unit 16 by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16 is supplied with quantized data input from the quantization unit 15 and information regarding inter prediction or intra prediction input from the motion search unit 30 or the intra prediction unit 40 described later.
  • Information regarding inter prediction may include, for example, prediction mode information, motion vector information, reference image information, and the like.
  • the information related to intra prediction may include, for example, prediction mode information indicating the size of a prediction unit that is a processing unit of intra prediction and an optimal prediction direction (prediction mode) for each prediction unit.
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless encoding by the lossless encoding unit 16 may be variable length encoding or arithmetic encoding, for example.
  • the lossless encoding unit 16 multiplexes the information related to inter prediction or the information related to intra prediction described above in a header (for example, a block header or a slice header) of the encoded stream. 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.
  • the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandwidth of the transmission path (or the output line from the image encoding device 10).
  • 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 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process 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 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the motion search unit 30 or the intra prediction unit 40. . Then, the addition unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes block distortion by filtering 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 input from the adder 23 and the decoded image data after filtering input from the deblock filter 24 using a storage medium.
  • 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 motion search unit 30 as reference image data.
  • the selector 26 reads out 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 40 as reference image data.
  • the selector 27 In the inter prediction mode, the selector 27 outputs the prediction image data as a result of the inter prediction output from the motion search unit 30 to the subtraction unit 13 and outputs information related to the inter prediction to the lossless encoding unit 16. Further, 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 40 to the subtraction unit 13 and outputs information related to the intra prediction to the lossless encoding unit 16. .
  • the motion search unit 30 is based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26.
  • Inter prediction processing (interframe prediction processing) defined by H.264 / AVC is performed.
  • the motion search unit 30 evaluates the prediction result in each prediction mode using a predetermined cost function.
  • the motion search 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 motion search unit 30 generates predicted image data according to the optimal prediction mode.
  • the motion search unit 30 outputs information related to inter prediction including prediction mode information indicating the selected optimal prediction mode, and prediction image data to the selector 27.
  • the intra prediction unit 40 For each macroblock set in the image, the intra prediction unit 40 is based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data as reference image data supplied from the frame memory 25. Intra prediction processing is performed. The intra prediction process by the intra prediction unit 40 will be described in detail later.
  • the intra prediction processing by the intra prediction unit 40 can be parallelized by a plurality of processing branches.
  • the processing by the subtraction unit 13, the orthogonal transformation unit 14, the quantization unit 15, the inverse quantization unit 21, the inverse orthogonal transformation unit 22, and the addition unit 23 for the intra prediction mode described above. Can also be parallelized.
  • the subtraction unit 13, the orthogonal transformation unit 14, the quantization unit 15, the inverse quantization unit 21, the inverse orthogonal transformation unit 22, the addition unit 23, and the intra prediction unit 40 perform parallel processing.
  • a segment 28 is formed.
  • Each part in the parallel processing segment 28 has a plurality of processing branches.
  • Each part in the parallel processing segment 28 may perform parallel processing using a plurality of processing branches in the intra prediction mode, while using only one processing branch in the inter prediction mode.
  • FIG. 2 is a block diagram illustrating an example of a detailed configuration of the intra prediction unit 40 of the image encoding device 10 illustrated in FIG. 1.
  • the intra prediction unit 40 includes a rearrangement unit 41, a prediction unit 42, and a mode buffer 45.
  • the prediction unit 42 includes a first prediction unit 42a and a second prediction unit 42b which are two processing branches arranged in parallel.
  • the rearrangement unit 41 reads pixel values included in a macroblock in an image (original image) for each line, for example, and rearranges the pixel values according to a predetermined rule. Then, the rearrangement unit 41 outputs the rearranged pixel value to the first prediction unit 42a or the second prediction unit 42b according to the pixel position.
  • the rearrangement unit 41 rearranges the reference pixel values included in the reference image data supplied from the frame memory 25 according to a predetermined rule.
  • the reference image data supplied from the frame memory 25 to the intra prediction unit 40 is data on a portion that has been encoded in the same image as the image to be encoded. Then, the rearrangement unit 41 outputs the reference pixel value after the rearrangement to the first prediction unit 42a or the second prediction unit 42b according to the pixel position.
  • the rearrangement unit 41 has a role as a rearrangement unit that rearranges the pixel values and the reference pixel values of the original image.
  • the rule for rearranging the pixel values by the rearrangement unit 41 will be described later with an example.
  • the rearrangement unit 41 also has a role as a demultiplexing unit that distributes the rearranged pixel values to each processing branch.
  • the first prediction unit 42a and the second prediction unit 42b use the pixel values and reference pixel values of the original image rearranged by the rearrangement unit 41 to generate predicted pixel values for the macroblock to be encoded.
  • the first prediction unit 42a includes a first prediction calculation unit 43a and a first mode determination unit 44a.
  • the first prediction calculation unit 43a calculates a plurality of prediction pixel values from the reference pixel values rearranged by the rearrangement unit 41 according to a plurality of prediction modes as candidates.
  • the prediction mode mainly specifies a direction (referred to as a prediction direction) from a reference pixel used for prediction to a pixel to be encoded.
  • a prediction direction referred to as a prediction direction
  • a reference pixel to be used for calculation of a prediction pixel value and a calculation formula for the prediction pixel value can be specified for a pixel to be encoded.
  • the prediction mode candidates differ depending on which part of the series of pixel values after rearrangement by the rearrangement unit 41 is predicted.
  • An example of a prediction mode that can be used in the intra prediction according to the present embodiment will be described later with an example.
  • the first mode determination unit 44a is a predetermined cost function based on the pixel value of the original image rearranged by the rearrangement unit 41, the predicted pixel value calculated by the first prediction calculation unit 43a, the assumed code amount, and the like. Are used to evaluate the plurality of prediction mode candidates.
  • the 1st mode determination part 44a selects the prediction mode in which a cost function value becomes the minimum, ie, the prediction mode in which the compression rate becomes the highest, as an optimal prediction mode.
  • the first prediction unit 42a outputs prediction mode information representing the optimum prediction mode selected by the first mode determination unit 44a to the mode buffer 45 and corresponds to the prediction mode information.
  • the predicted image data including the predicted pixel value is output to the selector 27.
  • the second prediction unit 42b includes a second prediction calculation unit 43b and a second mode determination unit 44b.
  • the second prediction calculation unit 43b calculates a plurality of prediction pixel values from the reference pixel values rearranged by the rearrangement unit 41 according to a plurality of prediction modes as candidates.
  • the second mode determination unit 44b is a predetermined cost function based on the pixel value of the original image rearranged by the rearrangement unit 41, the predicted pixel value calculated by the second prediction calculation unit 43b, the assumed code amount, and the like. Are used to evaluate the plurality of prediction mode candidates. Then, the second mode determination unit 44b selects the prediction mode that minimizes the cost function value as the optimal prediction mode. After such processing, the second prediction unit 42b outputs prediction mode information representing the optimal prediction mode selected by the second mode determination unit 44b to the mode buffer 45 and corresponds to the prediction mode information.
  • the predicted image data including the predicted pixel value is output to the selector 27.
  • the mode buffer 45 temporarily stores the prediction mode information input from the first prediction unit 42a and the second prediction unit 42b using a storage medium.
  • the prediction mode information stored by the mode buffer 45 can be referred to as a reference prediction mode when the first prediction unit 42a and the second prediction unit 42b estimate the prediction direction. Focusing on prediction direction estimation, it is highly likely that the optimal prediction direction (optimum prediction mode) is common between adjacent blocks, and the block to be encoded from the prediction mode set in the reference block This is a technique for estimating the prediction mode. For a block for which an appropriate prediction direction can be determined by estimating the prediction direction, the amount of code required for encoding can be reduced by not encoding the prediction mode number of the block. The estimation of the prediction direction in the present embodiment will be further described later.
  • FIGS. 3 to 5 are explanatory diagrams for explaining prediction mode candidates in the intra 4 ⁇ 4 prediction mode.
  • FIG. 4 schematically shows prediction directions corresponding to the mode numbers.
  • lower case alphabets a to p represent pixel values in a prediction unit to be encoded of 4 ⁇ 4 pixels.
  • calculation of the prediction pixel value in each prediction mode illustrated in FIG. 3 will be described using the pixel values a to p to be encoded and the reference pixel values Ra to Rm.
  • the calculation formula of the prediction pixel value in these nine prediction modes is H.264. This is the same as the calculation formula in the intra 4 ⁇ 4 prediction mode defined in H.264 / AVC.
  • the first prediction calculation unit 43a of the first prediction unit 42a of the intra prediction unit 40 and the second prediction calculation unit 43b of the second prediction unit 42b described above are rearranged by the rearrangement unit 41 using these nine prediction modes as candidates.
  • a predicted pixel value corresponding to each prediction mode can be calculated from the obtained reference pixel value.
  • FIG. 6 is an explanatory diagram for describing prediction mode candidates in the intra 8 ⁇ 8 prediction mode. Referring to FIG. 6, nine types of prediction modes (mode 0 to mode 8) that can be used in the intra 8 ⁇ 8 prediction mode are shown.
  • the prediction direction in mode 0 is the vertical direction.
  • the prediction direction in mode 1 is the horizontal direction.
  • Mode 2 represents DC prediction (average value prediction).
  • the prediction direction in mode 3 is diagonally lower left.
  • the prediction direction in mode 4 is diagonally lower right.
  • the prediction direction in mode 5 is vertical right.
  • the prediction direction in mode 6 is horizontally below.
  • the prediction direction in mode 7 is vertical left.
  • the prediction direction in mode 8 is horizontal.
  • the intra 8 ⁇ 8 prediction mode low-pass filtering is performed on the reference pixel value before calculation of the predicted pixel value. Then, based on the reference pixel value after low-pass filtering, a predicted pixel value is calculated according to each prediction mode.
  • the calculation formula of the prediction pixel value in the nine prediction modes of the intra 8 ⁇ 8 prediction mode is also described in H.264.
  • the calculation formula defined in H.264 / AVC may be the same.
  • the first prediction calculation unit 43a of the first prediction unit 42a of the intra prediction unit 40 and the second prediction calculation unit 43b of the second prediction unit 42b described above are arranged using nine prediction modes of the intra 8 ⁇ 8 prediction mode as candidates.
  • a prediction pixel value corresponding to each prediction mode may be calculated from the reference pixel values rearranged by the replacement unit 41.
  • FIG. 7 is an explanatory diagram for describing prediction mode candidates in the intra 16 ⁇ 16 prediction mode. Referring to FIG. 7, four types of prediction modes (mode 0 to mode 3) that can be used in the intra 16 ⁇ 16 prediction mode are shown.
  • the prediction direction in mode 0 is the vertical direction.
  • the prediction direction in mode 1 is the horizontal direction.
  • Mode 2 represents DC prediction (average value prediction).
  • Mode 3 represents planar prediction.
  • the calculation formula of the prediction pixel value in the four prediction modes of the intra 16 ⁇ 16 prediction mode is also described in H.264.
  • the calculation formula defined in H.264 / AVC may be the same.
  • the first prediction calculation unit 43a of the first prediction unit 42a of the intra prediction unit 40 and the second prediction calculation unit 43b of the second prediction unit 42b described above are arranged using four prediction modes of the intra 16 ⁇ 16 prediction mode as candidates.
  • a prediction pixel value corresponding to each prediction mode may be calculated from the reference pixel values rearranged by the replacement unit 41.
  • the prediction mode for the chrominance signal can be set independently of the prediction mode for the luminance signal.
  • the prediction mode for the color difference signal may include four types of prediction modes, similar to the intra 16 ⁇ 16 prediction mode for the luminance signal described above. H. In H.264 / AVC, mode 0 of the color difference signal is DC prediction, mode 1 is horizontal prediction, mode 2 is vertical prediction, and mode 3 is plane prediction.
  • FIG. 8 shows the encoding target pixels in the macroblock and the reference pixels around the macroblock before reordering by the reordering unit 41 of the intra prediction unit 40.
  • the 8 ⁇ 8 pixel macroblock MB includes 4 prediction units PU each of 4 ⁇ 4 pixels. Furthermore, one prediction unit PU includes four sub-blocks SB each having 2 ⁇ 2 pixels.
  • a sub-block is a set of pixels smaller than a macroblock. A pixel position is defined with reference to this sub-block. Pixels within one sub-block can be distinguished from one another by unique pixel positions. On the other hand, a plurality of different sub-blocks have pixels at pixel positions common to each other.
  • a block corresponding to a macroblock illustrated in FIG. 8 can also be referred to as a term of a coding unit (CU: Coding Unit) or a maximum coding unit (LCU: Large Coding Unit).
  • CU Coding Unit
  • LCU Large Coding Unit
  • one sub-block SB includes four pixels (four types of pixel positions) each represented by lowercase alphabets a to d.
  • the first line L1 of the macro block MB includes a total of eight pixels a and b of four sub blocks.
  • the order of the pixels in the first line L1 is a, b, a, b, a, b, a, b.
  • the second line L2 of the macro block MB includes a total of eight pixels c and d of four sub blocks.
  • the order of the pixels in the second line L2 is c, d, c, d, c, d, c, d.
  • the order of the pixels included in the third line of the macroblock MB is the same as that of the first line L1.
  • the order of the pixels included in the fourth line of the macroblock MB is the same as that of the second line L2.
  • Reference pixels represented by uppercase alphabets A, B, and C are shown around the macroblock MB. As can be understood from FIG. 8, in this embodiment, pixels on two lines of the macroblock MB are used as reference pixels, not the pixels immediately above the macroblock MB. Further, as the reference pixel, the pixel on the left of the second column of the macro block MB is used instead of the pixel on the left of the macro block MB.
  • FIG. 9 is an explanatory diagram for explaining an example of rearrangement by the rearrangement unit 41 of the encoding target pixel shown in FIG.
  • the pixel value rearrangement rule by the rearrangement unit 41 is, for example, the following rule. That is, the rearrangement unit 41 adjoins the pixel values at the common pixel positions in adjacent sub-blocks included in the macroblock MB after the rearrangement. For example, in the example of FIG. 9, the pixel values of the pixels a of the sub-blocks SB1, SB2, SB3, and SB4 included in the first line L1 are adjacent in this order after the rearrangement. The pixel values of the pixels b of the sub-blocks SB1, SB2, SB3, and SB4 included in the first line L1 are also adjacent in this order after the rearrangement.
  • the pixel values of the pixels c of the sub-blocks SB1, SB2, SB3, and SB4 included in the second line L2 are adjacent in this order after the rearrangement.
  • the pixel values of the pixels d of the sub-blocks SB1, SB2, SB3, and SB4 included in the second line L2 are also adjacent in this order after the rearrangement.
  • the rearrangement unit 41 outputs the pixel values of the pixels a of the sub-blocks SB1 to SB4 after the rearrangement to the first prediction unit 42a. Thereafter, when the generation of the predicted pixel values of these pixels a ends, the rearrangement unit 41 outputs the pixel values of the pixels b of the sub-blocks SB1 to SB4 after the rearrangement to the first prediction unit 42a. Subsequently, the rearrangement unit 41 outputs the pixel values of the pixels c of the sub-blocks SB1 to SB4 after the rearrangement to the second prediction unit 42b.
  • the rearrangement unit 41 outputs the pixel values of the pixels d of the rearranged sub-blocks SB1 to SB4 to the first prediction unit 42a.
  • FIG. 10 is an explanatory diagram for explaining an example of rearrangement of the reference pixels shown in FIG. 8 by the rearrangement unit 41.
  • the rearrangement unit 41 adjoins the pixel values of the reference pixels respectively corresponding to the common pixel positions in the adjacent sub-blocks SB included in the macroblock MB after the rearrangement.
  • the reference pixel A above the pixel a of the sub-blocks SB1, SB2, SB3, and SB4 is adjacent in this order after rearrangement.
  • the rearrangement unit 41 outputs the pixel values of these reference pixels A to the first prediction unit 42a. Thereafter, when the generation of the predicted pixel value of the pixel a is completed, the rearrangement unit 41 outputs the pixel value of the reference pixel B to the first prediction unit 42a.
  • FIG. 9 the reference pixel A above the pixel a of the sub-blocks SB1, SB2, SB3, and SB4 is adjacent in this order after rearrangement.
  • the rearrangement unit 41 outputs the pixel values of these reference pixels A to the first prediction unit 42a.
  • the rearrangement unit 41 outputs the pixel value of the reference pixel B to the first prediction unit 42a.
  • the pixel value of the pixel b may be output to the second prediction unit 42b, and the pixel value of the pixel c may be output to the first prediction unit 42a.
  • the rearrangement unit 41 outputs the pixel value of the reference pixel B to the second prediction unit 42b.
  • the rearrangement unit 41 outputs the pixel values of the left reference pixels A and C of the macroblock MB to the first prediction unit 42a and the second prediction unit 42b without rearranging them.
  • FIG. 11 is an explanatory diagram for explaining parallel processing by the first prediction unit 42a and the second prediction unit 42b of the intra prediction unit 40.
  • prediction pixel value generation processing for pixels in the macroblock MB shown in FIG. 8 is grouped into first, second, and third groups.
  • the first group includes only generation of the predicted pixel value of the pixel a by the first prediction unit 42a. That is, the generation of the predicted pixel value of the pixel a belonging to the first group is not executed in parallel with the generation of the predicted pixel value at other pixel positions.
  • the first prediction unit 42a uses the pixel A as the upper, upper right, upper left, and left reference pixels.
  • the second group includes generation of a predicted pixel value of the pixel b by the first prediction unit 42a and generation of a predicted pixel value of the pixel c by the second prediction unit 42b. That is, the generation of the predicted pixel value of the pixel b and the generation of the predicted pixel value of the pixel c are executed in parallel.
  • the first prediction unit 42a uses the pixel B as the upper and upper right reference pixels, the pixel A as the upper left reference pixel, and the pixel a for which the predicted pixel value is generated in the first group as the left reference pixel.
  • the second prediction unit 42b uses the pixel a for which the predicted pixel value is generated in the first group as the upper reference pixel, the pixel A as the upper right and upper left reference pixels, and the pixel C as the left reference pixel.
  • the first prediction unit 42 a may generate a prediction pixel value of the pixel c
  • the second prediction unit 42 b may generate a prediction pixel value of the pixel b.
  • the third group includes only generation of a predicted pixel value of the pixel d by the first prediction unit 42a. That is, the generation of the predicted pixel value of the pixel d belonging to the third group is not executed in parallel with the generation of the predicted pixel value at other pixel positions.
  • the first prediction unit 42a generates a predicted pixel value in the first group as the upper reference pixel, the pixel b in which the predicted pixel value is generated in the second group, the upper right reference pixel as the pixel B, and the upper left reference pixel.
  • the pixel c in which the predicted pixel value is generated in the second group is used as the pixel a and the left reference pixel.
  • the predicted pixel value of the pixel a belonging to the first group shown in FIG. 11 does not use the correlation with the pixel value of another pixel position, and the reference pixel corresponding to the correlation between the pixels a and the pixel a. It is generated using only the correlation with A. Therefore, by encoding an image by such intra prediction processing, for example, a terminal having low processing performance or low display resolution can partially decode only the pixel value at the position of the pixel a.
  • FIG. 12 is a block diagram illustrating an example of a detailed configuration of such an intra prediction unit 40.
  • the intra prediction unit 40 includes a rearrangement unit 41, a prediction unit 42, and a mode buffer 45.
  • the prediction unit 42 includes a first prediction unit 42a, a second prediction unit 42b, and a third prediction unit 42c, which are three processing branches arranged in parallel.
  • FIG. 13 is an explanatory diagram for describing an example of parallel processing by the intra prediction unit 40 illustrated in FIG. 12. Referring to FIG. 13, the prediction pixel value generation processing for the pixels in the macroblock MB shown in FIG. 8 is grouped into first and second groups.
  • the first group includes only generation of the predicted pixel value of the pixel a by the first prediction unit 42a. That is, the generation of the predicted pixel value of the pixel a belonging to the first group is not executed in parallel with the generation of the predicted pixel value at other pixel positions.
  • the first prediction unit 42a uses the pixel A as the upper, upper right, upper left, and left reference pixels.
  • the second group is the generation of the prediction pixel value of the pixel b by the first prediction unit 42a, the generation of the prediction pixel value of the pixel c by the second prediction unit 42b, and the generation of the prediction pixel value of the pixel d by the third prediction unit 42c. including. That is, the generation of predicted pixel values of the pixel b, the pixel c, and the pixel d is executed in parallel.
  • the first prediction unit 42a uses the pixel B as the upper and upper right reference pixels, the pixel A as the upper left reference pixel, and the pixel a for which the predicted pixel value is generated in the first group as the left reference pixel.
  • the second prediction unit 42b uses the pixel a for which the predicted pixel value is generated in the first group as the upper reference pixel, the pixel A as the upper right and upper left reference pixels, and the pixel C as the left reference pixel.
  • the third prediction unit 42d uses the pixel B as the upper and upper right reference pixels, the pixel a for which the predicted pixel value is generated in the first group as the upper left reference pixel, and the pixel C as the left reference pixel.
  • the predicted pixel values of the pixels a belonging to the first group shown in FIG. 13 are not correlated with the pixel values at other pixel positions, and the correlation between the pixels a and It is generated using only the correlation with the reference pixel A corresponding to the pixel a. Therefore, by encoding an image by such intra prediction processing, for example, a terminal having low processing performance or low display resolution can partially decode only the pixel value at the position of the pixel a.
  • the intra prediction unit 40 may execute the intra prediction process in the intra 8 ⁇ 8 prediction mode or the intra 16 ⁇ 16 prediction mode described above.
  • the pixel values of the pixels a of the eight sub-blocks SB1 to SB8 included in the first line L1 are adjacent after rearrangement.
  • the pixel values of the pixels b of the eight sub-blocks SB1 to SB8 included in the first line L1 are also adjacent after the rearrangement.
  • the pixel value of the pixel a after the rearrangement is output to the first prediction unit 42a.
  • the prediction pixel value of the pixel a can be produced
  • predicted pixel values for pixels b, c, and d can also be generated in an intra 8 ⁇ 8 prediction mode.
  • Mode 9 is a mode in which a pixel value to be predicted is generated by phase-shifting pixel values around the pixel to be predicted based on the neighborhood correlation between adjacent pixels.
  • FIGS. 15A to 15D are explanatory diagrams for explaining mode 9 which is a new prediction mode.
  • mode 9 which is a new prediction mode.
  • the prediction formula illustrated in FIG. 15A is a prediction formula that shifts a pixel value by so-called linear interpolation.
  • the pixel values of a plurality of pixels a on the left side of the pixel b and a plurality of pixels a on the right side of the pixel b are used to shift the phase of the pixel values by an FIR (Finite Impulse Response) filter operation.
  • a prediction formula may be used.
  • the number of taps of the FIR filter may be 6 taps or 4 taps, for example.
  • FIG. 15B there is shown a prediction formula in mode 9 for the pixel c in the sub-block illustrated in FIG.
  • FIG. 15C there is shown a prediction formula in mode 9 for the pixel d in the sub-block illustrated in FIG. Pixels d 0 pixel to be predicted, and each pixel c 1 and c 2 left pixel and the right pixel of the pixel d 0, and the pixel and the pixel below each pixel b 1 and b 2 on the pixel d 0
  • the prediction formula of mode 9 for the pixel d illustrated in FIG. 15C is the prediction of the adjacent pixels b and c at the time of prediction for the pixel d, as in the parallel processing described with reference to FIG. It is assumed that the generation of pixel values has been completed. On the other hand, when the generation of the predicted pixel values of the pixel b and the pixel c is not completed at the time of prediction for the pixel d as in the parallel processing described with reference to FIG. The predicted formula can be used.
  • FIG. 15D another example of the prediction formula of mode 9 for the pixel d is shown.
  • the accuracy of intra prediction can be improved, and the encoding efficiency can be increased as compared with the existing method.
  • the correlation between the pixel values is generally stronger as the distance between the pixels is shorter. Therefore, the above-described new prediction mode for generating a prediction pixel value from the pixel values of adjacent pixels in a macroblock is an effective prediction mode for improving the accuracy of intra prediction and increasing the coding efficiency. I can say that.
  • the pixel value outside the boundary is complemented by mirroring the pixel value across the boundary of the prediction unit, A prediction formula according to the calculation of the insertion or FIR filter may be applied. Further, the pixel values outside the boundary may be complemented by hold processing. For example, in the upper example of FIG. 16, the pixel values of the three pixels a 0 , a 1 and a 2 on the left of the rightmost pixel b 0 of the prediction unit are mirrored as pixel values outside the boundary of the prediction unit. ing.
  • the hold processing of the pixel value of the left pixel a 0 in the pixel b 0 at the right end of the prediction unit the pixel value of the outer boundary of the prediction unit is complemented.
  • the pixel values of the six pixels a i in the vicinity of the pixel b 0 can be used.
  • a predicted pixel value of the pixel b 0 can be generated using a 6-tap FIR filter.
  • the advantage of the improvement of the processing speed by the parallel intra prediction and the improvement of the encoding efficiency by the new prediction mode described above can be obtained by the pixel values illustrated in FIGS. Each can be enjoyed through sorting.
  • the pixels immediately above and immediately to the left of the macroblock MB are used as reference pixels, not pixels that are one line and one column apart from the macroblock MB as shown in FIG. May be.
  • the first prediction unit 42a and the second prediction unit 42b (and the third prediction unit 42c) of the intra prediction unit 40 are blocks to which a reference pixel belongs in order to suppress an increase in code amount due to encoding of prediction mode information.
  • the optimal prediction mode (prediction direction) of the block to be encoded may be estimated from the prediction mode (prediction direction) set in (1).
  • the estimated prediction mode hereinafter referred to as the estimated prediction mode
  • only information indicating that the prediction mode can be estimated is predicted. It can be encoded as mode information.
  • the information indicating that the prediction mode can be estimated is, for example, H.264. This corresponds to “MostProbableMode” in H.264 / AVC.
  • FIG. 17 is an explanatory diagram for explaining prediction direction estimation.
  • prediction unit PU 0 to be encoded as well as a reference block PU 2 on the left of the reference block PU 1 and prediction unit PU 0 of the prediction unit PU 0 is shown.
  • the reference prediction mode set for the reference block PU 1 is M 1
  • the reference prediction mode set for the reference block PU 2 is M 2 .
  • the estimated prediction mode for the prediction unit PU 0 to be encoded is M 0 .
  • the first prediction unit 42a of the intra prediction unit 40 determines such an estimated prediction mode for each group after rearrangement as illustrated in FIG.
  • the estimated prediction mode for the first group (that is, the pixel a) is determined from the reference prediction modes of the upper reference block and the right reference block for the rearranged pixel a.
  • the first prediction unit 42a uses the pixel instead of the prediction mode number.
  • Information indicating that the prediction mode can be estimated for a is generated, and the generated information is output.
  • FIG. 18 is a flowchart illustrating an example of the flow of intra prediction processing at the time of encoding by the intra prediction unit 40 having the configuration illustrated in FIG.
  • the rearrangement unit 41 rearranges the reference pixel values included in the reference image data supplied from the frame memory 25 according to the rule illustrated in FIG. 10 (step S100). Then, the rearrangement unit 41 outputs the reference pixel value for the first pixel position (for example, the pixel a) among the series of reference pixel values after the rearrangement to the first prediction unit 42a.
  • the rearrangement unit 41 rearranges the pixel values included in the macroblocks in the original image according to the rules illustrated in FIG. 9 (step S110). Then, the rearrangement unit 41 outputs the pixel value at the first pixel position among the series of pixel values after the rearrangement to the first prediction unit 42a.
  • the first prediction unit 42a performs intra prediction processing for the pixel at the first pixel position without using the correlation with the pixel values at other pixel positions (step S120). Then, the first prediction unit 42a selects an optimal prediction mode from a plurality of prediction modes (step S130). Prediction mode information representing the optimal prediction mode selected here (or information indicating that the prediction mode can be estimated) is output from the intra prediction unit 40 to the lossless encoding unit 16. Moreover, the prediction pixel data including the prediction pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • the rearrangement unit 41 outputs the reference pixel value for the second pixel position (for example, the pixel b) and the pixel value at the second pixel position to the first prediction unit 42a.
  • the rearrangement unit 41 outputs the reference pixel value for the third pixel position (for example, the pixel c) and the pixel value at the third pixel position to the second prediction unit 42b.
  • the intra prediction process about the pixel of the 2nd pixel position by the 1st prediction part 42a and the intra prediction process about the pixel of the 3rd pixel position by the 2nd prediction part 42b are performed in parallel (step S140). .
  • each of the first prediction unit 42a and the second prediction unit 42b selects an optimal prediction mode from a plurality of prediction modes (step S150).
  • the plurality of prediction modes here may include the above-described new prediction modes based on the correlation with the pixel value at the first pixel position.
  • Prediction mode information indicating the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16.
  • the prediction pixel data including the prediction pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • the rearrangement unit 41 outputs the reference pixel value for the fourth pixel position (for example, the pixel d) and the pixel value at the fourth pixel position to the first prediction unit 42a.
  • the 1st prediction part 42a performs the intra prediction process about the pixel of a 4th pixel position (step S160).
  • the first prediction unit 42a selects an optimal prediction mode from a plurality of prediction modes (step S170).
  • the plurality of prediction modes here may include the above-described new prediction modes based on the correlation between the pixel values at the second pixel position and the third pixel position.
  • Prediction mode information indicating the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16.
  • the prediction pixel data including the prediction pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • FIG. 19 is a flowchart illustrating an example of the flow of intra prediction processing at the time of encoding by the intra prediction unit 40 having the configuration illustrated in FIG.
  • the rearrangement unit 41 rearranges the reference pixel values included in the reference image data supplied from the frame memory 25 in accordance with the rules illustrated in FIG. 10 (step S100). Then, the rearrangement unit 41 outputs the reference pixel value for the first pixel position (for example, the pixel a) among the series of reference pixel values after the rearrangement to the first prediction unit 42a.
  • the rearrangement unit 41 rearranges the pixel values included in the macroblocks in the original image according to the rules illustrated in FIG. 9 (step S110). Then, the rearrangement unit 41 outputs the pixel value at the first pixel position among the series of pixel values after the rearrangement to the first prediction unit 42a.
  • the first prediction unit 42a performs intra prediction processing for the pixel at the first pixel position without using the correlation with the pixel values at other pixel positions (step S120). Then, the first prediction unit 42a selects an optimal prediction mode from a plurality of prediction modes (step S130). Prediction mode information representing the optimal prediction mode selected here (or information indicating that the prediction mode can be estimated) is output from the intra prediction unit 40 to the lossless encoding unit 16. Moreover, the prediction pixel data including the prediction pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • the rearrangement unit 41 outputs the reference pixel value for the second pixel position (for example, the pixel b) and the pixel value at the second pixel position to the first prediction unit 42a.
  • the rearrangement unit 41 outputs the reference pixel value for the third pixel position (for example, the pixel c) and the pixel value at the third pixel position to the second prediction unit 42b.
  • the rearrangement unit 41 outputs the reference pixel value for the fourth pixel position (for example, the pixel d) and the pixel value at the fourth pixel position to the third prediction unit 42c.
  • Intra prediction processing for pixels is executed in parallel (step S145).
  • the first prediction unit 42a, the second prediction unit 42b, and the third prediction unit 42c each select an optimal prediction mode from a plurality of prediction modes (step S155).
  • the plurality of prediction modes here may include the above-described new prediction modes based on the correlation with the pixel value at the first pixel position.
  • Prediction mode information indicating the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16.
  • the prediction pixel data including the prediction pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • FIG. 20 is a block diagram illustrating an example of the configuration of the image decoding device 60 according to an embodiment.
  • an 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 deblock filter 66, a rearrangement buffer 67, a D / A A (Digital to Analogue) conversion unit 68, a frame memory 69, selectors 70 and 71, a motion compensation unit 80, and an intra prediction unit 90 are provided.
  • 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 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 multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header area of the encoded stream can include, for example, information related to inter prediction and information related to intra prediction in the block header.
  • the lossless decoding unit 62 outputs information related to inter prediction to the motion compensation unit 80. Further, the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 90.
  • the inverse quantization unit 63 performs inverse quantization on the quantized data decoded by the lossless decoding unit 62.
  • 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 deblock filter 66 and the frame memory 69.
  • the deblocking filter 66 removes block distortion by filtering the decoded image data input from the adding unit 65, and outputs the decoded image data after filtering to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 rearranges the images input from the deblock filter 66 to generate a series of time-series image data. 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 an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
  • 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 deblocking filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 70 between the motion compensation unit 80 and the intra 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 after filtering supplied from the frame memory 70 to the motion compensation unit 80 as reference image data.
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 70 to the intra prediction unit 90 as reference image data.
  • the selector 71 switches the output source of the predicted image data to be supplied to the addition unit 65 between the motion compensation unit 80 and the intra prediction unit 90 according to the mode information acquired by the lossless decoding unit 62. For example, when the inter prediction mode is designated, the selector 71 supplies the predicted image data output from the motion compensation unit 80 to the adding unit 65. In addition, when the intra prediction mode is designated, the selector 71 supplies the predicted image data output from the intra prediction unit 90 to the adding unit 65.
  • the motion compensation unit 80 performs motion compensation processing based on the inter prediction information input from the lossless decoding unit 62 and the reference image data from the frame memory 69 to generate predicted image data. Then, the motion compensation unit 80 outputs the generated predicted image data to the selector 71.
  • the intra prediction unit 90 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. Then, the intra prediction unit 90 outputs the generated predicted image data to the selector 71.
  • the intra prediction unit 90 when high-resolution image data that cannot be supported by the processing performance of the image decoding device 60 or the display resolution is input, the intra prediction unit 90, for example, only for the first pixel position in each sub-block. Intra prediction processing is performed to generate low resolution predicted image data. In this case, the motion compensation unit 80 may also perform inter prediction processing only for the first pixel position to generate low-resolution predicted image data.
  • the intra prediction unit 90 may perform an intra prediction process for all pixel positions included in the macroblock. At that time, the intra prediction unit 90 executes a part of the intra prediction processing in parallel using a plurality of processing branches.
  • the processing by the above-described inverse quantization unit 63, inverse orthogonal transform unit 64, and addition unit 65 for the intra prediction mode can also be parallelized.
  • the inverse quantization unit 63, the inverse orthogonal transform unit 64, the addition unit 65, and the intra prediction unit 90 form a parallel processing segment 72.
  • Each part in the parallel processing segment 72 has a plurality of processing branches.
  • Each part in the parallel processing segment 72 may perform parallel processing using a plurality of processing branches in the intra prediction mode, while using only one processing branch in the inter prediction mode.
  • FIGS. 21 and 22 are block diagrams illustrating an example of a detailed configuration of the intra prediction unit 90 of the image decoding device 60 illustrated in FIG. 20.
  • FIG. 21 illustrates a first configuration example on the decoding side corresponding to the configuration example of the intra prediction unit 40 on the encoding side illustrated in FIG.
  • the intra prediction unit 90 includes a determination unit 91, a rearrangement unit 92, and a prediction unit 93.
  • the prediction unit 93 includes a first prediction unit 93a and a second prediction unit 93b that are two processing branches arranged in parallel.
  • the determining unit 91 determines whether or not partial decoding should be performed based on the resolution of the image data included in the input encoded stream. For example, when the resolution of the image data is a high resolution that cannot be supported by the processing performance of the image decoding device 60 or the display resolution, the determination unit 91 determines to perform partial decoding. For example, when the resolution of the image data is a resolution that can be supported by the processing performance and display resolution of the image decoding device 60, the determination unit 91 determines to decode the entire image data. For example, the determination unit 91 may determine whether the image data included in the encoded stream is image data that can be partially decoded from the header information of the encoded stream. And the determination part 91 outputs the result of determination to the rearrangement part 92, the 1st prediction part 93a, and the 2nd prediction part 93b.
  • the rearrangement unit 92 rearranges the reference pixel values included in the reference image data supplied from the frame memory 69 according to the rules described with reference to FIG. Then, the rearrangement unit 92 outputs the reference pixel value for the first pixel position (for example, pixel a) among the reference pixel values after rearrangement to the first prediction unit 93a.
  • the rearrangement unit 92 is for the second pixel position (for example, the pixel b) among the reference pixel values after the rearrangement.
  • the reference pixel value is output to the first prediction unit 93a
  • the reference pixel value for the third pixel position (for example, pixel c) is output to the second prediction unit 93b.
  • the rearrangement unit 92 outputs the reference pixel value for the fourth pixel position (for example, the pixel d) among the reference pixel values after rearrangement to the first prediction unit 93a.
  • the rearrangement unit 92 calculates the predicted pixel values of the first, second, third, and fourth pixel positions generated by the first prediction unit 93a and the second prediction unit 93b in the reverse order of the example of FIG. Use to rearrange the original order.
  • the first prediction unit 93a includes a first mode buffer 94a and a first prediction calculation unit 95a.
  • the first mode buffer 94a acquires prediction mode information included in information related to intra prediction input from the lossless decoding unit 62, and temporarily stores the acquired prediction mode information using a storage medium.
  • the prediction mode information includes, for example, information indicating the size of a prediction unit that is a processing unit of intra prediction (for example, an intra 4 ⁇ 4 prediction mode or an intra 8 ⁇ 8 prediction mode). Further, the prediction mode information includes, for example, information indicating a prediction direction selected as being optimal at the time of image coding among a plurality of prediction directions. In addition, the prediction mode information may include information indicating that the prediction mode can be estimated.
  • the prediction mode information does not include a prediction mode number indicating a prediction direction.
  • the 1st prediction calculation part 95a calculates the prediction pixel value of a 1st pixel position according to the prediction mode information memorize
  • the first prediction calculation unit 95a does not use the correlation with the pixel values of the reference pixels corresponding to other pixel positions.
  • the prediction mode information indicates that the prediction mode can be estimated for the first pixel position
  • the first prediction calculation unit 95a calculates the prediction mode for calculating the prediction pixel value at the first pixel position. Is estimated from the prediction mode selected when calculating the predicted pixel value of the first pixel position of the reference block.
  • predicted image data including only the predicted pixel value generated by the first prediction unit 93a in this way is sent to the selector 71 via the rearrangement unit 92. Is output. That is, in this case, pixel values are decoded only for the pixels belonging to the first group in FIG. 11, and the processing for the pixels belonging to the second group and the third group is skipped.
  • the first prediction calculation unit 95a further determines the second pixel position according to the prediction mode information stored in the first mode buffer 94a.
  • the predicted pixel value at the fourth pixel position is calculated in order.
  • the first prediction calculation unit 95a uses a correlation with the pixel value at the first pixel position, for example, when the prediction mode information indicates mode 9. obtain.
  • the first prediction calculation unit 95a for example, when the prediction mode information indicates mode 9, the correlation with the pixel value at the second pixel position and A correlation between the pixel value at the third pixel position may be used.
  • the second prediction unit 93b includes a second mode buffer 94b and a second prediction calculation unit 95b.
  • the second prediction calculation unit 95b performs the prediction pixel at the third pixel position according to the prediction mode information stored in the second mode buffer 94b. Calculate the value.
  • the calculation of the predicted pixel value at the second pixel position by the first prediction calculation unit 95a and the calculation of the predicted pixel value at the third pixel position by the second prediction calculation unit 95b are performed in parallel.
  • the second prediction calculation unit 95b uses the correlation with the pixel value at the first pixel position when the prediction mode information indicates mode 9, for example. obtain.
  • the determination unit 91 determines to decode the entire image data
  • the predicted pixel values generated by the first prediction unit 93a and the second prediction unit 93b in this way are output to the rearrangement unit 92.
  • the rearrangement unit 92 generates predicted image data by rearranging the order of the predicted pixel values to the original order, and outputs the generated predicted image data to the selector 71. That is, in this case, pixel values are decoded not only for the pixels belonging to the first group in FIG. 11 but also for the pixels belonging to the second group and the third group.
  • FIG. 22 illustrates a second configuration example on the decoding side corresponding to the configuration example of the intra prediction unit 40 on the encoding side illustrated in FIG.
  • the intra prediction unit 90 includes a determination unit 91, a rearrangement unit 92, and a prediction unit 93.
  • the prediction unit 93 includes a first prediction unit 93a, a second prediction unit 93b, and a third prediction unit 93c, which are three processing branches arranged in parallel.
  • the determining unit 91 determines whether or not partial decoding should be performed based on the resolution of the image data included in the input encoded stream. Then, the determination unit 91 outputs the determination result to the rearrangement unit 92, the first prediction unit 93a, the second prediction unit 93b, and the third prediction unit 93c.
  • the rearrangement unit 92 rearranges the reference pixel values included in the reference image data supplied from the frame memory 69 according to the rules described with reference to FIG. Then, the rearrangement unit 92 outputs the reference pixel value for the first pixel position among the reference pixel values after rearrangement to the first prediction unit 93a.
  • the rearrangement unit 92 sets the reference pixel value for the second pixel position among the reference pixel values after the rearrangement to the first.
  • the prediction pixel 93a outputs the reference pixel value for the third pixel position to the second prediction unit 93b and the reference pixel value for the fourth pixel position to the third prediction unit 93c.
  • the first prediction calculation unit 95a calculates a predicted pixel value at the first pixel position according to the prediction mode information stored in the first mode buffer 94a. When calculating the predicted pixel value at the first pixel position, the first prediction calculation unit 95a does not use the correlation with the pixel values of the reference pixels corresponding to other pixel positions.
  • predicted image data including only the predicted pixel value generated by the first prediction unit 93a in this way is sent to the selector 71 via the rearrangement unit 92. Is output. That is, in this case, the pixel values are decoded only for the pixels belonging to the first group in FIG. 13, and the processing for the pixels belonging to the second group is skipped.
  • the first prediction calculation unit 95a further determines the second pixel position according to the prediction mode information stored in the first mode buffer 94a. The predicted pixel value of is calculated.
  • the first prediction calculation unit 95a uses a correlation with the pixel value at the first pixel position, for example, when the prediction mode information indicates mode 9. obtain.
  • the second prediction calculation unit 95b calculates a predicted pixel value at the third pixel position according to the prediction mode information stored in the second mode buffer 94b.
  • the second prediction calculation unit 95b uses the correlation with the pixel value at the first pixel position when the prediction mode information indicates mode 9, for example. obtain.
  • the third prediction unit 93c includes a third mode buffer 94c and a third prediction calculation unit 95c.
  • the third prediction calculation unit 95c performs the prediction pixel at the fourth pixel position according to the prediction mode information stored in the third mode buffer 94c. Calculate the value. Calculation of the predicted pixel value of the second pixel position by the first prediction calculation unit 95a, calculation of the predicted pixel value of the third pixel position by the second prediction calculation unit 95b, and prediction of the fourth pixel position by the third prediction calculation unit 95c The pixel values are calculated in parallel.
  • the third prediction calculation unit 95c uses the correlation with the pixel value at the first pixel position when the prediction mode information indicates mode 9, for example. obtain.
  • the determination unit 91 determines to decode the entire image data
  • the prediction pixel values generated by the first prediction unit 93a, the second prediction unit 93b, and the third prediction unit 93c in this way are arranged.
  • the data is output to the replacement unit 92.
  • the rearrangement unit 92 generates predicted image data by rearranging the order of the predicted pixel values to the original order, and outputs the generated predicted image data to the selector 71. That is, in this case, pixel values are decoded not only for the pixels belonging to the first group in FIG. 13 but also for the pixels belonging to the second group.
  • FIG. 23 is a flowchart illustrating an example of the flow of intra prediction processing at the time of decoding by the intra prediction unit 90 having the configuration illustrated in FIG.
  • the rearrangement unit 92 rearranges the reference pixel values included in the reference image data supplied from the frame memory 69 according to the rule illustrated in FIG. 10 (step S200). Then, the rearrangement unit 92 outputs the reference pixel value for the first pixel position (for example, pixel a) among the reference pixel values after rearrangement to the first prediction unit 93a.
  • the first prediction unit 93a acquires prediction mode information for the first pixel position input from the lossless decoding unit 62 (step S210).
  • the 1st prediction part 93a performs the intra prediction process of a 1st pixel position according to the prediction mode represented by the acquired prediction mode information, and produces
  • the determination unit 91 determines whether or not partial decoding should be performed based on the resolution of the image data included in the input encoded stream (step S230).
  • the determination unit 91 determines that partial decoding is to be performed, predicted image data including pixel values only at the first pixel position is output to the selector 71 via the rearrangement unit 92 (step S235).
  • the process proceeds to step S240.
  • the first prediction unit 93a acquires prediction mode information for the second pixel position (for example, pixel b), and the second prediction unit 93b is for the third pixel position (for example, pixel c). Prediction mode information is acquired (step S240).
  • the rearrangement unit 92 outputs the reference pixel value for the second pixel position among the reference pixel values after rearrangement to the first prediction unit 93a. Further, the rearrangement unit 92 outputs the reference pixel value for the third pixel position among the reference pixel values after rearrangement to the second prediction unit 93b.
  • the first prediction unit 93a acquires prediction mode information for the fourth pixel position (for example, pixel d) (step S260). Further, the rearrangement unit 92 outputs the reference pixel value for the fourth pixel position among the reference pixel values after rearrangement to the first prediction unit 93a. And the 1st prediction part 93a performs the intra prediction process of a 4th pixel position, and produces
  • the rearrangement unit 92 rearranges the order of the predicted pixel values at the first, second, third, and fourth pixel positions generated by the first prediction unit 93a and the second prediction unit 93b to the original order.
  • predicted image data is generated (step S280).
  • the rearrangement unit 92 outputs the generated predicted pixel data to the selector 71 (step S290).
  • FIG. 24 is a flowchart illustrating an example of the flow of intra prediction processing at the time of decoding by the intra prediction unit 90 having the configuration illustrated in FIG.
  • step S230 when the determination unit 91 determines that partial decoding is to be performed, predicted image data including pixel values only at the first pixel position is output to the selector 71 via the rearrangement unit 92 (step S235). ). On the other hand, when it is determined not to perform partial decoding, that is, to decode the entire image data, the process proceeds to step S245.
  • step S245 the first prediction unit 93a provides prediction mode information for the second pixel position, the second prediction unit 93b provides prediction mode information for the third pixel position, and the third prediction unit 93c provides the fourth pixel position.
  • the prediction mode information for each is acquired (step S245).
  • the intra prediction process of the second pixel position by the first prediction unit 93a, the intra prediction process of the third pixel position by the second prediction unit 93b, and the intra prediction process of the fourth pixel position by the third prediction unit 93c are performed in parallel. And a predicted pixel value is generated (step S255).
  • the rearrangement unit 92 changes the order of the predicted pixel values of the first, second, third, and fourth pixel positions generated by the first prediction unit 93a, the second prediction unit 93b, and the third prediction unit 93c.
  • Prediction image data is generated by rearranging in the original order (step S280).
  • the rearrangement unit 92 outputs the generated predicted pixel data to the selector 71 (step S290).
  • the image encoding device 10 and the image decoding device 60 include 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 apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a reproducing apparatus that reproduces an image from the storage medium.
  • a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a reproducing apparatus that reproduces an image from the storage medium.
  • FIG. 25 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
  • 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 apparatus 60 according to the above-described embodiment. Thereby, the television apparatus 900 can perform partial decoding in the intra prediction mode.
  • FIG. 26 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile 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 storage / 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 according to the above-described embodiment. Accordingly, partial decoding in the intra prediction mode is possible in the mobile phone 920 and other devices that communicate with the mobile phone 920.
  • FIG. 27 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • 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 device 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 apparatus 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 28 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • 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 according to the above-described embodiment. Accordingly, partial decoding in the intra prediction mode is possible in the imaging device 960 and other devices that use the video output from the imaging device 960.
  • the image encoding device 10 and the image decoding device 60 according to an embodiment have been described with reference to FIGS. 1 to 28.
  • the pixel values at the common pixel positions in adjacent sub-blocks are rearranged so as to be adjacent after rearrangement, and then the first The predicted pixel value for the pixel at the pixel position is generated without using the correlation with the pixel values at other pixel positions.
  • at least the predicted pixel value for the pixel at the first pixel position is a reference pixel corresponding to another pixel position.
  • the intra prediction mode partial decoding is possible in which only the pixel at the first pixel position is decoded instead of the entire image. Moreover, a prediction unit is formed only with the pixel of the 1st pixel position put together by rearrangement, and intra prediction is performed for every said prediction unit. Therefore, even when only the pixel at the first pixel position is set as a prediction target, various prediction modes similar to the existing intra prediction method can be applied.
  • the predicted pixel value for the pixel at the second pixel position can be generated according to the prediction mode based on the correlation with the pixel value at the adjacent first pixel position.
  • the predicted pixel value for the pixel at the third pixel position can be generated according to a prediction mode based on the correlation with the pixel value at the adjacent first pixel position.
  • the prediction pixel value for the pixel at the fourth pixel position is generated according to a prediction mode based on a correlation with the pixel values at the adjacent second and third pixel positions or a correlation with the pixel value at the first pixel position.
  • the generation of the predicted pixel value at the second pixel position and the generation of the predicted pixel value at the third pixel position can be executed in parallel.
  • the generation of the predicted pixel value at the fourth pixel position can also be performed in parallel with the generation of the predicted pixel value at the second pixel position and the generation of the predicted pixel value at the third pixel position.
  • the size of the sub-block is mainly 2 ⁇ 2 pixels.
  • one sub-block has 16 types of pixel positions.
  • partial decoding of only the first to fourth pixel positions is also possible. That is, the scalability of partial decoding can be expanded by increasing the size of the sub-block.
  • 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).
  • the 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 the 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.
  • Image encoding device (image processing device) 41 rearrangement unit 42 prediction unit 60 image decoding device (image processing device) 91 Determination Unit 92 Rearrangement Unit 93 Prediction Unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】部分復号を可能とするイントラ予測方式を実現すること。 【解決手段】画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置の画素値が並び替え後に隣接するように、前記ブロックに含まれる画素値を並び替える並び替え部と、前記サブブロックの第1画素位置の画素についての予測画素値を、前記並び替え部により並び替えられた画素値と前記第1画素位置に対応する前記画像内の参照画素値とを用いて生成する予測部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 従来、デジタル画像を効率的に伝送し又は蓄積することを目的とし、画像に特有の冗長性を利用して、例えば離散コサイン変換などの直交変換と動き補償とにより画像の情報量を圧縮する圧縮技術が普及している。例えば、ITU-Tの策定したH.26x標準又はMPEG(Moving Picture Experts Group)の策定したMPEG-y標準などの標準技術に準拠した画像符号化装置及び画像復号装置は、放送局による画像の蓄積及び配信、並びに一般ユーザによる画像の受信及び蓄積など、様々な場面で広く利用されている。
 MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されたMPEG-y標準の1つである。MPEG2は、飛び越し走査(インターレース)画像及び順次走査(ノン・インターレース)画像の双方を扱うことが可能であり、標準解像度のデジタル画像に加えて、高精細画像をも対象としている。MPEG2は、現在、プロフェッショナル用途及びコンシューマ用途を含む広範なアプリケーションに広く用いられている。MPEG2によれば、例えば、720×480画素を持つ標準解像度の飛び越し走査画像には4~8Mbpsの符号量(ビットレート)、1920×1088画素を持つ高解像度の飛び越し走査画像には18~22Mbpsの符号量を割り当てることで、高い圧縮率及び良好な画質を共に実現することができる。
 MPEG2は、主として、放送の用途に適合する高画質符号化を目的としており、MPEG1よりも低い符号量(ビットレート)、即ちより高い圧縮率には対応するものではなかった。しかし、近年の携帯端末の普及により、高い圧縮率を可能とする符号化方式のニーズは高まっている。そこで、新たにMPEG4符号化方式の標準化が進められた。MPEG4符号化方式の一部である画像符号化方式に関しては、1998年12月に、その規格が国際標準(ISO/IEC 14496-2)として承認された。
 H.26x標準(ITU-T Q6/16 VCEG)は、当初、テレビ電話又はテレビ会議などの通信の用途に適合する符号化を目的として策定された標準規格である。H.26x標準は、MPEG-y標準と比較して、符号化及び復号により多くの演算量を要する一方、より高い圧縮率を実現できることが知られている。また、MPEG4の活動の一環としてのJoint Model of Enhanced-Compression Video Codingでは、H.26x標準をベースとしながら新たな機能をも取り入れることで、より高い圧縮率を実現可能な標準規格が策定された。この標準規格は、2003年3月に、H.264及びMPEG-4 Part10(Advanced Video Coding;AVC)という名称で国際標準となった。
 上述した画像符号化方式において重要な技術の1つは、画面内予測、即ちイントラ予測である。イントラ予測は、画面内の隣り合うブロック間の相関を利用し、あるブロック内の画素値を隣り合う他のブロックの画素値から予測することで、符号化される情報量を削減する技術である。MPEG4以前の画像符号化方式では、直交変換係数の直流成分及び低周波成分のみがイントラ予測の対象とされていたが、H.264/AVCでは、全ての画素値についてイントラ予測が可能となった。イントラ予測を用いることで、例えば青空の画像のように、画素値の変化の緩やかな画像については、圧縮率の大幅な向上が見込まれる。
 H.264/AVCでは、例えば、4×4画素、8×8画素又は16×16画素のブロックを1つの処理単位として、イントラ予測が行われ得る。また、下記非特許文献1は、32×32画素又は64×64画素のブロックを処理単位とする、拡張されたブロックサイズによるイントラ予測を提案している。
 ところで、処理性能、ディスプレイ解像度及び帯域の異なる多様な端末においてデジタル画像が再生され得る状況下では、部分復号が可能であることが望ましい。部分復号とは、一般的に、高解像度の画像の符号化データを部分的に復号することにより、低解像度の画像のみを得ることをいう。即ち、部分復号可能な符号化データが供給されれば、例えば、相対的に高い処理性能を有する端末は高解像度の画像の全体を再生する一方で、より低い処理性能(又は低解像度のディスプレイ)を有する端末は低解像度の画像のみを再生することができる。
Sung-Chang Lim, Hahyun Lee, Jinho Lee, Jongho Kim, Haechul Choi, Seyoon Jeong, Jin Soo Choi, "Intra coding using extended block size"(VCEG-AL28,2009年7月)
 しかしながら、既存のイントラ予測方式では、同じ画像内の画素同士の様々な相関に基づく複数の予測モードが使用される。そのため、画像内のある画素を復号しなければ、復号されない画素と相関を有する他の画素の復号までもが困難となる。即ち、既存のイントラ予測方式は、それ自体多くの演算量を端末に要求する方式でありながら、部分復号に適合したものではなく、結果として多様な端末でのデジタル画像の再生の要求に十分に応えられていなかった。
 そこで、本開示に係る技術は、部分復号を可能とするイントラ予測方式を実現する、画像処理装置及び画像処理方法を提供しようとするものである。
 ある実施形態によれば、画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置の画素値が並び替え後に隣接するように、上記ブロックに含まれる画素値を並び替える並び替え部と、上記サブブロックの第1画素位置の画素についての予測画素値を、上記並び替え部により並び替えられた画素値と上記第1画素位置に対応する上記画像内の参照画素値とを用いて生成する予測部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
 また、上記予測部は、上記第1画素位置の画素についての予測画素値を、他の画素位置の画素値との相関を利用することなく生成してもよい。
 また、上記予測部は、第2画素位置の画素についての予測画素値を、上記第1画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、第3画素位置の画素についての予測画素値を、上記第2画素位置の画素についての予測画素値の生成と並列的に、上記第1画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、第4画素位置の画素についての予測画素値を、上記第2画素位置及び上記第3画素位置の画素についての予測画素値の生成と並列的に、上記第1画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、第4画素位置の画素についての予測画素値を、上記第2画素位置及び上記第3画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、上記第1画素位置の画素についての予測画素値を生成する際に選択した予測モードを、符号化済みの他のブロックの上記第1画素位置の予測画素値を生成する際に選択した予測モードから推定可能である場合に、上記第1画素位置について予測モードを推定可能であることを示す情報を生成してもよい。
 また、上記第1画素位置の画素値との相関に基づく予測モードは、上記第1画素位置の画素値を位相シフトすることにより予測画素値を生成する予測モードであってもよい。
 また、別の実施形態によれば、画像を処理するための画像処理方法において、画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置の画素値が並び替え後に隣接するように、上記ブロックに含まれる画素値を並び替えることと、上記サブブロックの第1画素位置の画素についての予測画素値を、並び替えられた上記画素値と上記第1画素位置に対応する上記画像内の参照画素値とを用いて生成することと、を含む画像処理方法が提供される。
 また、別の実施形態によれば、画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置にそれぞれ対応する参照画素の画素値が並び替え後に隣接するように、上記画像内の上記参照画素の画素値を並び替える並び替え部と、上記サブブロックの第1画素位置の画素についての予測画素値を、上記並び替え部により並び替えられた上記参照画素の画素値を用いて生成する予測部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、上記予測部は、上記第1画素位置の画素についての予測画素値を、他の画素位置に対応する参照画素の画素値との相関を利用することなく生成してもよい。
 また、上記予測部は、第2画素位置の画素についての予測画素値を、上記第1画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、第3画素位置の画素についての予測画素値を、上記第2画素位置の画素についての予測画素値の生成と並列的に、上記第1画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、第4画素位置の画素についての予測画素値を、上記第2画素位置及び上記第3画素位置の画素についての予測画素値の生成と並列的に、上記第1画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、第4画素位置の画素についての予測画素値を、上記第2画素位置及び上記第3画素位置の画素値との相関に基づく予測モードに従って生成してもよい。
 また、上記予測部は、上記第1画素位置について予測モードを推定可能であることが示された場合には、上記第1画素位置の画素についての予測画素値を生成する際の予測モードを、符号化済みの他のブロックの上記第1画素位置の予測画素値を生成する際に選択した予測モードから推定してもよい。
 また、上記第1画素位置の画素値との相関に基づく予測モードは、上記第1画素位置の画素値を位相シフトすることにより予測画素値を生成する予測モードであってもよい。
 また、上記画像処理装置は、上記画像を部分復号すべきか否かを判定する判定部、をさらに備え、上記予測部は、上記画像を部分復号すべきであると上記判定部が判定した場合には、上記第1画素位置以外の少なくとも1つの画素位置の予測画素値を生成しなくてもよい。
 また、別の実施形態によれば、画像を処理するための画像処理方法において、画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置にそれぞれ対応する参照画素の画素値が並び替え後に隣接するように、上記画像内の上記参照画素の画素値を並び替えることと、上記サブブロックの第1画素位置の画素についての予測画素値を、並び替えられた上記参照画素の画素値を用いて生成することと、を含む画像処理方法が提供される。
 以上説明したように、本開示に係る画像処理装置及び画像処理方法によれば、部分復号を可能とするイントラ予測方式を実現することができる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。 イントラ4×4予測モードについて説明するための第1の説明図である。 イントラ4×4予測モードについて説明するための第2の説明図である。 イントラ4×4予測モードについて説明するための第3の説明図である。 イントラ8×8予測モードについて説明するための説明図である。 イントラ16×16予測モードについて説明するための説明図である。 マクロブロック内の画素及び参照画素について説明するための説明図である。 符号化対象の画素値の並び替えの一例について説明するための説明図である。 参照画素値の並び替えの一例について説明するための説明図である。 イントラ予測部による並列処理の一例について説明するための説明図である。 一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の他の例を示すブロック図である。 イントラ予測部による並列処理の他の例について説明するための説明図である。 符号化対象の画素値の並び替えの他の例について説明するための説明図である。 新たな予測モードについて説明するための第1の説明図である。 新たな予測モードについて説明するための第2の説明図である。 新たな予測モードについて説明するための第3の説明図である。 新たな予測モードについて説明するための第4の説明図である。 画素値のミラー処理及びホールド処理について説明するための説明図である。 予測方向の推定について説明するための説明図である。 一実施形態に係る符号化時のイントラ予測処理の流れの一例を示すフローチャートである。 一実施形態に係る符号化時のイントラ予測処理の流れの他の例を示すフローチャートである。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置のイントラ予測部の詳細な構成の一例を示すブロック図である。 一実施形態に係る画像復号装置のイントラ予測部の詳細な構成の他の例を示すブロック図である。 一実施形態に係る復号時のイントラ予測処理の流れの一例を示すフローチャートである。 一実施形態に係る復号時のイントラ予測処理の流れの他の例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
 また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
  1.一実施形態に係る画像符号化装置の構成例
  2.一実施形態に係る符号化時の処理の流れ
  3.一実施形態に係る画像復号装置の構成例
  4.一実施形態に係る復号時の処理の流れ
  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は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ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は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
 可逆符号化部16には、量子化部15から入力される量子化データ、及び、後に説明する動き探索部30又はイントラ予測部40から入力されるインター予測又はイントラ予測に関する情報が供給される。インター予測に関する情報は、例えば、予測モード情報、動きベクトル情報、及び参照画像情報などを含み得る。また、イントラ予測に関する情報は、例えば、イントラ予測の処理単位である予測単位のサイズと予測単位ごとの最適な予測方向(予測モード)とを表す予測モード情報を含み得る。
 可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、上述したインター予測に関する情報又はイントラ予測に関する情報を、符号化ストリームのヘッダ(例えばブロックヘッダ又はスライスヘッダなど)内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データと動き探索部30又はイントラ予測部40から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部30に供給する。また、セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部40に供給する。
 セレクタ27は、インター予測モードにおいて、動き探索部30から出力されるインター予測の結果としての予測画像データを減算部13へ出力すると共に、インター予測に関する情報を可逆符号化部16へ出力する。また、セレクタ27は、イントラ予測モードにおいて、イントラ予測部40から出力されるイントラ予測の結果としての予測画像データを減算部13へ出力すると共に、イントラ予測に関する情報を可逆符号化部16へ出力する。
 動き探索部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、H.264/AVCにより規定されているインター予測処理(フレーム間予測処理)を行う。例えば、動き探索部30は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部30は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部30は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部30は、選択した最適な予測モードを表す予測モード情報を含むインター予測に関する情報、及び予測画像データを、セレクタ27へ出力する。
 イントラ予測部40は、並べ替えバッファ12から入力される符号化対象の画像データ、及びフレームメモリ25から供給される参照画像データとしての復号画像データに基づいて、画像内に設定されるマクロブロックごとにイントラ予測処理を行う。イントラ予測部40によるイントラ予測処理については、後により詳細に説明する。
 なお、後に説明するように、イントラ予測部40によるイントラ予測処理は、複数の処理分岐により並列化され得る。イントラ予測処理の並列化に応じて、イントラ予測モードについての、上述した減算部13、直交変換部14、量子化部15、逆量子化部21、逆直交変換部22、及び加算部23による処理もまた並列化され得る。この場合、図1に示しているように、減算部13、直交変換部14、量子化部15、逆量子化部21、逆直交変換部22、加算部23及びイントラ予測部40は、並列処理セグメント28を形成する。そして、並列処理セグメント28内の各部は、複数の処理分岐を有する。並列処理セグメント28内の各部は、イントラ予測モードにおいては複数の処理分岐を使用して並列処理を実行する一方、インター予測モードにおいては1つの処理分岐のみを使用してよい。
  [1-2.イントラ予測部の構成例]
 図2は、図1に示した画像符号化装置10のイントラ予測部40の詳細な構成の一例を示すブロック図である。図2を参照すると、イントラ予測部40は、並び替え部41、予測部42、及びモードバッファ45を有する。また、予測部42は、並列的に配置された2つの処理分岐である第1予測部42a及び第2予測部42bを含む。
 並び替え部41は、画像(原画像)内のマクロブロックに含まれる画素値を例えばラインごとに読み込み、所定の規則に従って画素値を並び替える。そして、並び替え部41は、並び替え後の画素値を、画素位置に応じて第1予測部42a又は第2予測部42bへそれぞれ出力する。
 また、並び替え部41は、フレームメモリ25から供給される参照画像データに含まれる参照画素値を、所定の規則に従って並び替える。フレームメモリ25からイントラ予測部40に供給される参照画像データは、符号化対象の画像と同じ画像内の符号化済みの部分についてのデータである。そして、並び替え部41は、並び替え後の参照画素値を、画素位置に応じて第1予測部42a又は第2予測部42bへそれぞれ出力する。
 従って、本実施形態において、並び替え部41は、原画像の画素値及び参照画素値を並び替える並び替え手段としての役割を有する。並び替え部41による画素値の並び替えの規則については、後に例を挙げて説明する。また、並び替え部41は、並び替えた画素値を各処理分岐に分配する逆多重化手段としての役割をも有する。
 第1予測部42a及び第2予測部42bは、並び替え部41により並び替えられた原画像の画素値及び参照画素値を用いて、符号化対象のマクロブロックについての予測画素値を生成する。
 より具体的には、第1予測部42aは、第1予測計算部43a及び第1モード判定部44aを含む。第1予測計算部43aは、並び替え部41により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。予測モードは、主に、予測に用いる参照画素から符号化対象の画素への方向(予測方向という)を特定する。1つの予測モードを指定することにより、符号化対象の画素について、予測画素値の計算に用いるべき参照画素と、予測画素値の計算式とが特定され得る。なお、本実施形態では、並び替え部41による並び替え後の一連の画素値のうち何番目の部分を予測するかに依存して、予測モードの候補が異なる。本実施形態に係るイントラ予測の際に使用され得る予測モードの例について、後に例を挙げて説明する。第1モード判定部44aは、並び替え部41により並び替えられた原画像の画素値、第1予測計算部43aにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第1モード判定部44aは、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。第1予測部42aは、このような処理の後、第1モード判定部44aにより選択された最適な予測モードを表す予測モード情報をモードバッファ45へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ27へ出力する。
 第2予測部42bは、第2予測計算部43b及び第2モード判定部44bを含む。第2予測計算部43bは、並び替え部41により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。第2モード判定部44bは、並び替え部41により並び替えられた原画像の画素値、第2予測計算部43bにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第2モード判定部44bは、コスト関数値が最小となる予測モードを、最適な予測モードとして選択する。第2予測部42bは、このような処理の後、第2モード判定部44bにより選択された最適な予測モードを表す予測モード情報をモードバッファ45へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ27へ出力する。
 モードバッファ45は、第1予測部42a及び第2予測部42bから入力される予測モード情報を、記憶媒体を用いて一時的に記憶する。モードバッファ45により記憶される予測モード情報は、第1予測部42a及び第2予測部42bが予測方向の推定をする際に、参照予測モードとして参照され得る。予測方向の推定とは、隣接するブロック間で最適な予測方向(最適な予測モード)が共通している可能性が高いことに着目し、参照ブロックに設定された予測モードから符号化対象のブロックの予測モードを推定する技術である。予測方向を推定することにより適切な予測方向を決定できるブロックについては、当該ブロックの予測モード番号が符号化されないことにより、符号化に要する符号量が削減され得る。本実施形態における予測方向の推定について、後にさらに説明する。
  [1-3.既存の予測モードの例]
 次に、図3~図7を用いて、既存のイントラ予測方式における予測モードの例を説明する。
   (1)イントラ4×4予測モード
 図3~図5は、イントラ4×4予測モードにおける予測モードの候補について説明するための説明図である。
 図3を参照すると、イントラ4×4予測モードにおいて使用され得る9種類の予測モード(モード0~モード8)が示されている。また、図4には、各モード番号にそれぞれ対応する予測方向が概略的に示されている。
 図5において、小文字のアルファベットa~pは、4×4画素の符号化対象の予測単位内の各画素値を表す。符号化対象の予測単位の周囲のRz(z=a,b,…,m)は、符号化済みの参照画素値を表す。以下、これら符号化対象の画素値a~p及び参照画素値Ra~Rmを用いて、図3に例示した各予測モードにおける予測画素値の計算について説明する。
   (1-1)モード0:垂直(Vertical)
 モード0における予測方向は、垂直方向である。モード0は、参照画素値Ra、Rb、Rc及びRdが利用可能(“available”)である場合に使用され得る。各予測画素値は、次のように計算される:
  a=e=i=m=Ra
  b=f=j=n=Rb
  c=g=k=o=Rc
  d=h=l=p=Rd
   (1-2)モード1:水平(Horizontal)
 モード1における予測方向は、水平方向である。モード1は、参照画素値Ri、Rj、Rk及びRlが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  a=b=c=d=Ri
  e=f=g=h=Rj
  i=j=k=l=Rk
  m=n=o=p=Rl
   (1-3)モード2:DC(DC)
 モード2は、DC予測(平均値予測)を表す。参照画素値Ra~Rd、Ri~Rlが全て利用可能である場合には、各予測画素値は、次のように計算される:
  各予測画素値=(Ra+Rb+Rc+Rd+Ri+Rj+Rk+Rl+4)>>3
 参照画素値Ri~Rlが全て利用可能でない場合には、各予測画素値は、次のように計算される:
  各予測画素値=(Ra+Rb+Rc+Rd+2)>>2
 参照画素値Ra~Rdが全て利用可能でない場合には、各予測画素値は、次のように計算される:
  各予測画素値=(Ri+Rj+Rk+Rl+2)>>2
 参照画素値Ra~Rd、Ri~Rlが全て利用可能でない場合には、各予測画素値は、次のように計算される:
  各予測画素値=128
   (1-4)モード3:斜め左下(Diagonal_Down_Left)
 モード3における予測方向は、斜め左下である。モード3は、参照画素値Ra~Rhが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  a=(Ra+2Rb+Rc+2)>>2
  b=e=(Rb+2Rc+Rd+2)>>2
  c=f=i=(Rc+2Rd+Re+2)>>2
  d=g=j=m=(Rd+2Re+Rf+2)>>2
  h=k=n=(Re+2Rf+Rg+2)>>2
  l=o=(Rf+2Rg+Rh+2)>>2
  p=(Rg+3Rh+2)>>2
   (1-5)モード4:斜め右下(Diagonal_Down_Right)
 モード4における予測方向は、斜め右下である。モード4は、参照画素値Ra~Rd、Ri~Rmが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  m=(Rj+2Rk+Rl+2)>>2
  i=n=(Ri+2Rj+Rk+2)>>2
  e=j=o=(Rm+2Ri+Rj+2)>>2
  a=f=k=p=(Ra+2Rm+Ri+2)>>2
  b=g=l=(Rm+2Ra+Rb+2)>>2
  c=h=(Ra+2Rb+Rc+2)>>2
  d=(Rb+2Rc+Rd+2)>>2
   (1-6)モード5:垂直右(Vertical_Right)
 モード5における予測方向は、垂直右である。モード5は、参照画素値Ra~Rd、Ri~Rmが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  a=j=(Rm+Ra+1)>>1
  b=k=(Ra+Rb+1)>>1
  c=l=(Rb+Rc+1)>>1
  d=(Rc+Rd+1)>>1
  e=n=(Ri+2Rm+Ra+2)>>2
  f=o=(Rm+2Ra+Rb+2)>>2
  g=p=(Ra+2Rb+Rc+2)>>2
  h=(Rb+2Rc+Rd+2)>>2
  i=(Rm+2Ri+Rj+2)>>2
  m=(Ri+2Rj+Rk+2)>>2
   (1-7)モード6:水平下(Horizontal_Down)
 モード6における予測方向は、水平下である。モード6は、参照画素値Ra~Rd、Ri~Rmが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  a=g=(Rm+Ri+1)>>1
  b=h=(Ri+2Rm+Ra+2)>>2
  c=(Rm+2Ra+Rb+2)>>2
  d=(Ra+2Rb+Rc+2)>>2
  e=k=(Ri+Rj+1)>>1
  f=l=(Rm+2Ri+Rj+2)>>2
  i=o=(Rj+Rk+1)>>1
  j=p=(Ri+2Rj+Rk+2)>>2
  m=(Rk+Rl+1)>>1
  n=(Rj+2Rk+Rl+2)>>2
   (1-8)モード7:垂直左(Vertical_Left)
 モード7における予測方向は、垂直左である。モード7は、参照画素値Ra~Rgが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  a=(Ra+Rb+1)>>1
  b=i=(Rb+Rc+1)>>1
  c=j=(Rc+Rd+1)>>1
  d=k=(Rd+Re+1)>>1
  l=(Re+Rf+1)>>1
  e=(Ra+2Rb+Rc+2)>>2
  f=m=(Rb+2Rc+Rd+2)>>2
  g=n=(Rc+2Rd+Re+2)>>2
  h=o=(Rd+2Re+Rf+2)>>2
  p=(Re+2Rf+Rg+2)>>2
   (1-9)モード8:水平上(Horizontal_Up)
 モード8における予測方向は、水平上である。モード8は、参照画素値Ri~Rlが利用可能である場合に使用され得る。各予測画素値は、次のように計算される:
  a=(Ri+Rj+1)>>1
  b=(Ri+2Rj+Rk+2)>>2
  c=e=(Rj+Rk+1)>>1
  d=f=(Rj+2Rk+Rl+2)>>2
  g=i=(Rk+Rl+1)>>1
  h=j=(Rk+3Rl+2)>>2
  k=l=m=n=o=p=Rl
 これら9つの予測モードにおける予測画素値の計算式は、H.264/AVCにおいて規定されているイントラ4×4予測モードにおける計算式と同様である。上述したイントラ予測部40の第1予測部42aの第1予測計算部43a及び第2予測部42bの第2予測計算部43bは、これら9つの予測モードを候補として、並び替え部41により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算し得る。
   (2)イントラ8×8予測モード
 図6は、イントラ8×8予測モードにおける予測モードの候補について説明するための説明図である。図6を参照すると、イントラ8×8予測モードにおいて使用され得る9種類の予測モード(モード0~モード8)が示されている。
 モード0における予測方向は、垂直方向である。モード1における予測方向は、水平方向である。モード2は、DC予測(平均値予測)を表す。モード3における予測方向は、斜め左下である。モード4における予測方向は、斜め右下である。モード5における予測方向は、垂直右である。モード6における予測方向は、水平下である。モード7における予測方向は、垂直左である。モード8における予測方向は、水平上である。
 イントラ8×8予測モードでは、予測画素値の計算の前に、参照画素値に対してローパスフィルタリングが行われる。そして、ローパスフィルタリング後の参照画素値に基づいて、各予測モードに従って予測画素値が計算される。イントラ8×8予測モードの9つの予測モードにおける予測画素値の計算式もまた、H.264/AVCにおいて規定されている計算式と同様であってよい。上述したイントラ予測部40の第1予測部42aの第1予測計算部43a及び第2予測部42bの第2予測計算部43bは、イントラ8×8予測モードの9つの予測モードを候補として、並び替え部41により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算してもよい。
   (3)イントラ16×16予測モード
 図7は、イントラ16×16予測モードにおける予測モードの候補について説明するための説明図である。図7を参照すると、イントラ16×16予測モードにおいて使用され得る4種類の予測モード(モード0~モード3)が示されている。
 モード0における予測方向は、垂直方向である。モード1における予測方向は、水平方向である。モード2は、DC予測(平均値予測)を表す。モード3は、平面予測を表す。イントラ16×16予測モードの4つの予測モードにおける予測画素値の計算式もまた、H.264/AVCにおいて規定されている計算式と同様であってよい。上述したイントラ予測部40の第1予測部42aの第1予測計算部43a及び第2予測部42bの第2予測計算部43bは、イントラ16×16予測モードの4つの予測モードを候補として、並び替え部41により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算してもよい。
   (4)色差信号のイントラ予測
 色差信号についての予測モードは、輝度信号についての予測モードとは独立して設定され得る。色差信号についての予測モードは、上述した輝度信号についてのイントラ16×16予測モードと同様、4種類の予測モードを含み得る。H.264/AVCにおいては、色差信号についての予測モードのモード0はDC予測、モード1は水平予測、モード2は垂直予測、モード3は平面予測である。
  [1-4.並び替え処理の説明]
 次に、図8~図10を用いて、図2に示したイントラ予測部40の並び替え部41による並び替え処理について説明する。
 図8は、イントラ予測部40の並び替え部41による並び替え前の、マクロブロック内の符号化対象画素、及び当該マクロブロックの周囲の参照画素を示している。
 図8を参照すると、8×8画素のマクロブロックMBは、それぞれ4×4画素である4個の予測単位PUを含む。さらに、1つの予測単位PUは、それぞれ2×2画素である4個のサブブロックSBを含む。本明細書において、サブブロックとは、マクロブロックよりも小さい画素の集合である。このサブブロックを基準として画素位置が定義される。1つのサブブロック内の画素は、一意な画素位置によって互いに区別され得る。一方、異なる複数のサブブロックは、互いに共通する画素位置の画素を有する。なお、図8に例示したようなマクロブロックに相当するブロックは、符号化単位(CU:Coding Unit)又は最大符号化単位(LCU:Largest Coding Unit)という用語でも言及され得る。
 図8の例において、1つのサブブロックSBは、それぞれ小文字のアルファベットa~dにより表される4個の画素(4種類の画素位置)を含む。マクロブロックMBの第1ラインL1は、4つのサブブロックの計8個の画素a及びbを含む。第1ラインL1の画素の順序は、a、b、a、b、a、b、a、bである。マクロブロックMBの第2ラインL2は、4つのサブブロックの計8個の画素c及びdを含む。第2ラインL2の画素の順序は、c、d、c、d、c、d、c、dである。マクロブロックMBの第3ラインに含まれる画素の順序は、第1ラインL1と同様である。マクロブロックMBの第4ラインに含まれる画素の順序は、第2ラインL2と同様である。
 マクロブロックMBの周囲には、それぞれ大文字のアルファベットA、B及びCにより表される参照画素が示されている。図8から理解されるように、本実施形態では、参照画素として、マクロブロックMBのすぐ上の画素ではなく、マクロブロックMBの2ライン上の画素が用いられる。また、参照画素として、マクロブロックMBのすぐ左の画素ではなく、マクロブロックMBの2カラム左の画素が用いられる。
 図9は、図8に示した符号化対象画素の、並び替え部41による並び替えの一例について説明するための説明図である。
 並び替え部41による画素値の並び替え規則は、例えば、次のような規則である。即ち、並び替え部41は、マクロブロックMBに含まれる隣り合うサブブロック内の共通する画素位置の画素値を、並び替え後に隣接させる。例えば、図9の例では、第1ラインL1に含まれるサブブロックSB1、SB2、SB3及びSB4の画素aの画素値は、並び替え後にこの順序で隣接している。第1ラインL1に含まれるサブブロックSB1、SB2、SB3及びSB4の画素bの画素値もまた、並び替え後にこの順序で隣接している。同様に、第2ラインL2に含まれるサブブロックSB1、SB2、SB3及びSB4の画素cの画素値は、並び替え後にこの順序で隣接している。第2ラインL2に含まれるサブブロックSB1、SB2、SB3及びSB4の画素dの画素値もまた、並び替え後にこの順序で隣接している。
 並び替え部41は、並び替え後のサブブロックSB1~SB4の画素aの画素値を、第1予測部42aへ出力する。その後、これら画素aの予測画素値の生成が終了すると、並び替え部41は、並び替え後のサブブロックSB1~SB4の画素bの画素値を第1予測部42aへ出力する。続けて、並び替え部41は、並び替え後のサブブロックSB1~SB4の画素cの画素値を第2予測部42bへ出力する。その後、これら画素b及び画素cの予測画素値の生成が終了すると、並び替え部41は、並び替え後のサブブロックSB1~SB4の画素dの画素値を第1予測部42aへ出力する。
 図10は、図8に示した参照画素の、並び替え部41による並び替えの一例について説明するための説明図である。
 並び替え部41は、マクロブロックMBに含まれる隣り合うサブブロックSB内の共通する画素位置にそれぞれ対応する参照画素の画素値を、並び替え後に隣接させる。例えば、図9の例では、サブブロックSB1、SB2、SB3、SB4の画素aの上の参照画素Aは、並び替え後にこの順序で隣接している。並び替え部41は、これら参照画素Aの画素値を、第1予測部42aへ出力する。その後、画素aの予測画素値の生成が終了すると、並び替え部41は、参照画素Bの画素値を第1予測部42aへ出力する。なお、図9の例において、画素bの画素値が第2予測部42bへ、画素cの画素値が第1予測部42aへ出力されてもよい。その場合には、並び替え部41は、参照画素Bの画素値を第2予測部42bへ出力する。
 並び替え部41は、マクロブロックMBの左の参照画素A及びCの画素値については、これらを並び替えることなく第1予測部42a及び第2予測部42bへ出力する。
  [1-5.並列処理の第1の例]
 図11は、イントラ予測部40の第1予測部42a及び第2予測部42bによる並列処理について説明するための説明図である。図11を参照すると、図8に示したマクロブロックMB内の画素についての予測画素値の生成処理が、第1、第2及び第3のグループにグループ分けされている。
 第1グループは、第1予測部42aによる画素aの予測画素値の生成のみを含む。即ち、第1グループに属する画素aの予測画素値の生成は、他の画素位置の予測画素値の生成と並列的には実行されない。第1予測部42aは、上、右上、左上及び左の参照画素として画素Aを使用する。
 第2グループは、第1予測部42aによる画素bの予測画素値の生成、及び第2予測部42bによる画素cの予測画素値の生成を含む。即ち、画素bの予測画素値の生成と画素cの予測画素値の生成とが並列的に実行される。第1予測部42aは、上及び右上の参照画素として画素B、左上の参照画素として画素A、左の参照画素として第1グループにおいて予測画素値が生成された画素aを使用する。第2予測部42bは、上の参照画素として第1グループにおいて予測画素値が生成された画素a、右上及び左上の参照画素として画素A、左の参照画素として画素Cを使用する。なお、図11の例の代わりに、第1予測部42aが画素cの予測画素値を生成し、第2予測部42bが画素bの予測画素値を生成してもよい。
 第3グループは、第1予測部42aによる画素dの予測画素値の生成のみを含む。即ち、第3グループに属する画素dの予測画素値の生成は、他の画素位置の予測画素値の生成と並列的には実行されない。第1予測部42aは、上の参照画素として第2グループにおいて予測画素値が生成された画素b、右上の参照画素として画素B、左上の参照画素として第1グループにおいて予測画素値が生成された画素a、左の参照画素として第2グループにおいて予測画素値が生成された画素cを使用する。
 このような並列処理により、各サブブロックの4種類の画素位置について直列的に予測画素値を生成するよりも短い時間で予測画素値の生成を行うことができる。また、図11に示した第1グループに属する画素aの予測画素値は、他の画素位置の画素値との相関を利用することなく、画素aの間の相関及び画素aに対応する参照画素Aとの相関のみを利用して生成される。従って、このようなイントラ予測処理で画像を符号化することにより、例えば処理性能が低く又はディスプレイ解像度の低い端末が画素aの位置の画素値のみを部分的に復号することが可能となる。
  [1-6.並列処理の第2の例]
 なお、イントラ予測部40に第3の予測部(第3の処理分岐)を設けることで、図11の例とは異なる並列処理を実現することも可能である。図12は、そのようなイントラ予測部40の詳細な構成の一例を示すブロック図である。図12を参照すると、イントラ予測部40は、並び替え部41、予測部42、及びモードバッファ45を有する。また、予測部42は、並列的に配置された3つの処理分岐である第1予測部42a、第2予測部42b及び第3予測部42cを含む。
 図13は、図12に示したイントラ予測部40による並列処理の一例について説明するための説明図である。図13を参照すると、図8に示したマクロブロックMB内の画素についての予測画素値の生成処理が、第1及び第2のグループにグループ分けされている。
 第1グループは、第1予測部42aによる画素aの予測画素値の生成のみを含む。即ち、第1グループに属する画素aの予測画素値の生成は、他の画素位置の予測画素値の生成と並列的には実行されない。第1予測部42aは、上、右上、左上及び左の参照画素として画素Aを使用する。
 第2グループは、第1予測部42aによる画素bの予測画素値の生成、第2予測部42bによる画素cの予測画素値の生成、及び第3予測部42cによる画素dの予測画素値の生成を含む。即ち、画素b、画素c及び画素dの予測画素値の生成が並列的に実行される。第1予測部42aは、上及び右上の参照画素として画素B、左上の参照画素として画素A、左の参照画素として第1グループにおいて予測画素値が生成された画素aを使用する。第2予測部42bは、上の参照画素として第1グループにおいて予測画素値が生成された画素a、右上及び左上の参照画素として画素A、左の参照画素として画素Cを使用する。第3予測部42dは、上及び右上の参照画素として画素B、左上の参照画素として第1グループにおいて予測画素値が生成された画素a、左の参照画素として画素Cを使用する。
 このような並列処理により、並列処理の第1の例よりもさらに短い時間で、各ブロックについての予測画素値の生成を行うことができる。また、第1の例と同様、図13に示した第1グループに属する画素aの予測画素値は、他の画素位置の画素値との相関を利用することなく、画素aの間の相関及び画素aに対応する参照画素Aとの相関のみを利用して生成される。従って、このようなイントラ予測処理で画像を符号化することにより、例えば処理性能が低く又はディスプレイ解像度の低い端末が画素aの位置の画素値のみを部分的に復号することが可能となる。
 なお、図11及び図13では、主にイントラ4×4予測モードでのイントラ予測処理を実行する例について説明した。しかしながら、イントラ予測部40は、上述したイントラ8×8予測モード又はイントラ16×16予測モードでイントラ予測処理を実行してもよい。
 一例として、図14を参照すると、第1ラインL1に含まれる8つのサブブロックSB1~SB8の画素aの画素値が、並び替え後に隣接している。第1ラインL1に含まれる8つのサブブロックSB1~SB8の画素bの画素値もまた、並び替え後に隣接している。第2ラインL2に含まれる画素c及び画素dの画素値についても同様である。このうち、並び替え後の画素aの画素値は、第1予測部42aへ出力される。それにより、第1予測部42aにおいて、イントラ8×8予測モードで画素aの予測画素値を生成することができる。同様に、画素b、c及びdの予測画素値もまた、イントラ8×8予測モードで生成され得る。
  [1-7.新たな予測モードの説明]
 図3に関連して説明したように、既存のイントラ予測方式では、イントラ4×4予測モードにおいて9種類の予測モード(モード0~モード8)が使用され得る。これに加えて、本実施形態では、マクロブロック内の隣接する画素間の相関に基づく新たな予測モードを、予測モードの候補として使用することができる。本明細書では、この新たな予測モードを、モード9とする。モード9は、隣接する画素間の近傍相関に基づいて、予測対象の画素の周囲の画素値を位相シフトすることにより、予測対象の画素値を生成するモードである。
 図15A~図15Dは、新たな予測モードであるモード9について説明するための説明図である。図15Aを参照すると、図8に例示したサブブロック内の画素bについてのモード9の予測式が示されている。予測対象の画素を画素b、並び替え前の画素bの左の画素及び右の画素をそれぞれ画素a及びaとすると、画素bの予測画素値は、次のように計算され得る:
  b=(a+a+1)>>1
また、例えば画素bについては、予測単位の右端に位置するために、右の画素が存在しない。この場合には、画素bの予測画素値は、次のように計算され得る:
  b=a
これら予測式は、画素bの前に画素aが符号化済みであることから可能となる。
 図15Aに例示した予測式は、いわゆる線型内挿の演算により画素値を位相シフトする予測式である。その代わりに、例えば、画素bの左の複数個の画素a及び画素bの右の複数個の画素aの画素値を用いて、FIR(Finite Impulse Response)フィルタの演算により画素値を位相シフトする予測式が利用されてもよい。その場合のFIRフィルタのタップ数は、例えば6タップ又は4タップなどであってよい。
 図15Bを参照すると、図8に例示したサブブロック内の画素cについてのモード9の予測式が示されている。予測対象の画素を画素c、並び替え前の画素cの上の画素及び下の画素をそれぞれ画素a及びaとすると、画素cの予測画素値は、次のように計算され得る:
  c=(a+a+1)>>1
また、例えば画素cについては、予測単位の下端に位置するために、下の画素が存在しない。この場合には、画素cの予測画素値は、次のように計算され得る:
  c=a
これら予測式は、画素cの前に画素aが符号化済みであることから可能となる。なお、画素cについても、当然ながら、線型内挿ではなくFIRフィルタの演算に従った予測式が利用されてよい。
 図15Cを参照すると、図8に例示したサブブロック内の画素dについてのモード9の予測式が示されている。予測対象の画素を画素d、画素dの左の画素及び右の画素をそれぞれ画素c及びcとし、画素dの上の画素及び下の画素をそれぞれ画素b及びbとすると、画素dの予測画素値は、次のように計算され得る:
  d=(b+b+c+c+2)>>2
また、例えば画素dについては、予測単位の右下のコーナーに位置するために、右及び下の画素が存在しない。この場合には、画素dの予測画素値は、次のように計算され得る:
  d=(b+c+1)>>1
これら予測式は、画素dの前に画素b及びcが符号化済みであることから可能となる。
 なお、図15Cに例示した画素dについてのモード9の予測式は、図11に関連して説明した並列処理のように、画素dについての予測の時点で、隣接する画素b及び画素cの予測画素値の生成が終了していることを前提としている。これに対し、図13に関連して説明した並列処理のように、画素dについての予測の時点で画素b及び画素cの予測画素値の生成が終了していない場合には、図15Dに例示した予測式を利用することができる。
 図15Dを参照すると、画素dについてのモード9の予測式の他の例が示されている。予測対象の画素を画素d、画素dの左上、右上、右下及び左下の画素をそれぞれ画素a、a、a及びaとすると、画素dの予測画素値は、次のように計算され得る:
  d=(a+a+a+a+2)>>2
また、例えば画素dについては、予測単位の右端に位置するために、右上及び右下の画素が存在しない。この場合には、画素dの予測画素値は、次のように計算され得る:
  d=(a+a+1)>>1
また、例えば画素dについては、予測単位の右下のコーナーに位置するために、右上、右下及び左下の画素が存在しない。この場合には、画素dの予測画素値は、次のように計算され得る:
  d=a
これら予測式は、画素dの前に画素aが符号化済みであることから可能となる。
 このように、予測単位内の画素間の相関に基づく新たな予測モードを予測モードの候補に含めることで、イントラ予測の精度を向上させ、既存の手法よりも符号化効率を高めることができる。ここで、画素値の相関は、一般的に画素間の距離が近いほど強い。そのため、マクロブロック内の隣接する画素の画素値から予測画素値を生成する上述した新たな予測モードは、イントラ予測の精度を向上させ、符号化効率を高めるための効果的な予測モードであると言える。
 なお、予測対象の画素が予測単位の端部に位置する場合には、予測単位の境界をまたいで画素値をミラー処理することにより境界の外側の画素値を補完した上で、上述した線型内挿又はFIRフィルタの演算に従った予測式が適用されてもよい。また、境界の外側の画素値は、ホールド処理により補完されてもよい。例えば、図16の上の例では、予測単位の右端の画素bの左の3つの画素a、a及びaの画素値が、予測単位の境界の外側の画素値としてミラー処理されている。また、図16の下の例では、予測単位の右端の画素bの左の画素aの画素値のホールド処理により、予測単位の境界の外側の画素値が補完されている。いずれの場合にも、画素値の補完の結果、画素bの近傍の6つの画素aの画素値が利用可能となる。それにより、例えば6タップのFIRフィルタを用いて画素bの予測画素値を生成することが可能となる。
 ところで、上述した並列的なイントラ予測による処理速度の向上、及び新たな予測モードによる符号化効率の向上という利点は、部分復号を前提としなくても、図9及び図10に例示した画素値の並び替えを通じてそれぞれ享受され得る。部分復号を前提としない場合には、図8のようにマクロブロックMBとの間に1ライン及び1カラム空けた画素ではなく、マクロブロックMBのすぐ上及びすぐ左の画素が、参照画素として使用されてもよい。
  [1-8.予測方向の推定]
 イントラ予測部40の第1予測部42a及び第2予測部42b(並びに第3予測部42c)は、予測モード情報を符号化することによる符号量の増加を抑制するために、参照画素が属するブロックに設定された予測モード(予測方向)から、符号化対象のブロックの最適な予測モード(予測方向)を推定してもよい。この場合、推定される予測モード(以下、推定予測モードという)とコスト関数値を用いて選択される最適な予測モードとが等しいときは、予測モードを推定可能であることを示す情報のみが予測モード情報として符号化され得る。予測モードを推定可能であることを示す情報とは、例えば、H.264/AVCにおける「MostProbableMode」に相当する。
 図17は、予測方向の推定について説明するための説明図である。図17を参照すると、符号化対象の予測単位PU、並びに、予測単位PUの左の参照ブロックPU及び予測単位PUの上の参照ブロックPUが示されている。参照ブロックPUについて設定された参照予測モードはM、参照ブロックPUについて設定された参照予測モードはMである。また、符号化対象の予測単位PUについての推定予測モードはMである。
 H.264/AVCにおいて、推定予測モードMは、次式により決定される:
  M=min(M,M
 即ち、参照予測モードM及びMのうち予測モード番号の小さい方が、符号化対象の予測単位についての推定予測モードとなる。
 本実施形態に係るイントラ予測部40の第1予測部42aは、このような推定予測モードを、図11又は図13に示したような並び替え後のグループごとに決定する。例えば、第1グループ(即ち、画素a)についての推定予測モードは、並び替え後の画素aについての上の参照ブロック及び右の参照ブロックの参照予測モードから決定される。そして、画素aについて決定された推定予測モードと最適な予測モードとが等しい場合(即ち、予測モードを推定可能である場合)には、第1予測部42aは、予測モード番号の代わりに、画素aについて予測モードを推定可能であることを示す情報を生成し、生成した情報を出力する。
 このように、画素aについての推定予測モードを参照ブロックの画素aについての予測モードのみから決定することで、画素aのみの部分復号を実現する場合にも、推定予測モードを利用して符号量の増加を抑制することが可能となる。
 <2.一実施形態に係る符号化時の処理の流れ>
 次に、図18及び図19を用いて、符号化時の処理の流れを説明する。図18は、図2に例示した構成を有するイントラ予測部40による符号化時のイントラ予測処理の流れの一例を示すフローチャートである。
 図18を参照すると、まず、並び替え部41は、フレームメモリ25から供給される参照画像データに含まれる参照画素値を、図10に例示した規則に従って並び替える(ステップS100)。そして、並び替え部41は、並び替え後の一連の参照画素値のうち第1画素位置(例えば、画素a)のための参照画素値を第1予測部42aへ出力する。
 次に、並び替え部41は、原画像内のマクロブロックに含まれる画素値を、図9に例示した規則に従って並び替える(ステップS110)。そして、並び替え部41は、並び替え後の一連の画素値のうち第1画素位置の画素値を第1予測部42aへ出力する。
 次に、第1予測部42aは、他の画素位置の画素値との相関を利用することなく、第1画素位置の画素についてのイントラ予測処理を実行する(ステップS120)。そして、第1予測部42aは、複数の予測モードから最適な予測モードを選択する(ステップS130)。ここで選択された最適な予測モードを表す予測モード情報(又は予測モードを推定可能であることを示す情報)は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 次に、並び替え部41は、第2画素位置(例えば、画素b)のための参照画素値及び第2画素位置の画素値を第1予測部42aへ出力する。また、並び替え部41は、第3画素位置(例えば、画素c)のための参照画素値及び第3画素位置の画素値を第2予測部42bへ出力する。そして、第1予測部42aによる第2画素位置の画素についてのイントラ予測処理と、第2予測部42bによる第3画素位置の画素についてのイントラ予測処理とが並列的に実行される(ステップS140)。そして、第1予測部42a及び第2予測部42bは、それぞれ、複数の予測モードから最適な予測モードを選択する(ステップS150)。なお、ここでの複数の予測モードには、第1画素位置の画素値との相関に基づく上述した新たな予測モードが含まれ得る。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 次に、並び替え部41は、第4画素位置(例えば、画素d)のための参照画素値及び第4画素位置の画素値を第1予測部42aへ出力する。そして、第1予測部42aは、第4画素位置の画素についてのイントラ予測処理を実行する(ステップS160)。そして、第1予測部42aは、複数の予測モードから最適な予測モードを選択する(ステップS170)。なお、ここでの複数の予測モードには、第2画素位置及び第3画素位置の画素値との相関に基づく上述した新たな予測モードが含まれ得る。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 図19は、図12に例示した構成を有するイントラ予測部40による符号化時のイントラ予測処理の流れの一例を示すフローチャートである。
 図19を参照すると、まず、並び替え部41は、フレームメモリ25から供給される参照画像データに含まれる参照画素値を、図10に例示した規則に従って並び替える(ステップS100)。そして、並び替え部41は、並び替え後の一連の参照画素値のうち第1画素位置(例えば、画素a)のための参照画素値を第1予測部42aへ出力する。
 次に、並び替え部41は、原画像内のマクロブロックに含まれる画素値を、図9に例示した規則に従って並び替える(ステップS110)。そして、並び替え部41は、並び替え後の一連の画素値のうち第1画素位置の画素値を第1予測部42aへ出力する。
 次に、第1予測部42aは、他の画素位置の画素値との相関を利用することなく、第1画素位置の画素についてのイントラ予測処理を実行する(ステップS120)。そして、第1予測部42aは、複数の予測モードから最適な予測モードを選択する(ステップS130)。ここで選択された最適な予測モードを表す予測モード情報(又は予測モードを推定可能であることを示す情報)は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 次に、並び替え部41は、第2画素位置(例えば、画素b)のための参照画素値及び第2画素位置の画素値を第1予測部42aへ出力する。また、並び替え部41は、第3画素位置(例えば、画素c)のための参照画素値及び第3画素位置の画素値を第2予測部42bへ出力する。また、並び替え部41は、第4画素位置(例えば、画素d)のための参照画素値及び第4画素位置の画素値を第3予測部42cへ出力する。そして、第1予測部42aによる第2画素位置の画素についてのイントラ予測処理、第2予測部42bによる第3画素位置の画素についてのイントラ予測処理、及び第3予測部42cによる第4画素位置の画素についてのイントラ予測処理が並列的に実行される(ステップS145)。そして、第1予測部42a、第2予測部42b及び第3予測部42cは、それぞれ、複数の予測モードから最適な予測モードを選択する(ステップS155)。なお、ここでの複数の予測モードには、第1画素位置の画素値との相関に基づく上述した新たな予測モードが含まれ得る。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 <3.一実施形態に係る画像復号装置の構成例>
 本節では、図20及び図21を用いて、一実施形態に係る画像復号装置の構成例について説明する。
  [3-1.全体的な構成例]
 図20は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図20を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並べ替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、動き補償部80、並びにイントラ予測部90を備える。
 蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のインター予測に関する情報及びイントラ予測に関する情報を含み得る。可逆復号部62は、インター予測に関する情報を動き補償部80へ出力する。また、可逆復号部62は、イントラ予測に関する情報をイントラ予測部90へ出力する。
 逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
 デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ67及びフレームメモリ69へ出力する。
 並べ替えバッファ67は、デブロックフィルタ66から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並べ替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ70からの画像データの出力先を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ70から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部80へ出力する。また、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ70から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ71は、インター予測モードが指定された場合には、動き補償部80から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部90から出力される予測画像データを加算部65へ供給する。
 動き補償部80は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部80は、生成した予測画像データをセレクタ71へ出力する。
 イントラ予測部90は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部90は、生成した予測画像データをセレクタ71へ出力する。
 なお、画像復号装置60の処理性能により又はディスプレイ解像度によりサポートし得ない高解像度の画像データが入力された場合には、イントラ予測部90は、例えば、各サブブロック内の第1画素位置についてのみイントラ予測処理を行い、低解像度の予測画像データを生成する。この場合、動き補償部80もまた、第1画素位置についてのみインター予測処理を行い、低解像度の予測画像データを生成してよい。
 一方、入力された画像データの解像度をサポートし得る場合には、イントラ予測部90は、マクロブロックに含まれる全ての画素位置についてイントラ予測処理を行ってよい。その際、イントラ予測部90は、イントラ予測処理の一部を複数の処理分岐を用いて並列的に実行する。
 イントラ予測部90によるイントラ予測処理の並列化に応じて、イントラ予測モードについての、上述した逆量子化部63、逆直交変換部64、及び加算部65による処理もまた並列化され得る。この場合、図20に示しているように、逆量子化部63、逆直交変換部64、加算部65及びイントラ予測部90は、並列処理セグメント72を形成する。そして、並列処理セグメント72内の各部は、複数の処理分岐を有する。並列処理セグメント72内の各部は、イントラ予測モードにおいては複数の処理分岐を使用して並列処理を実行する一方、インター予測モードにおいては1つの処理分岐のみを使用してよい。
  [3-2.イントラ予測部の構成例]
 図21及び図22は、それぞれ、図20に示した画像復号装置60のイントラ予測部90の詳細な構成の一例を示すブロック図である。
   (1)第1の構成例
 図21は、図2に例示したエンコード側のイントラ予測部40の構成例に対応する、デコード側の第1の構成例を示している。図21を参照すると、イントラ予測部90は、判定部91、並び替え部92、及び予測部93を有する。また、予測部93は、並列的に配置された2つの処理分岐である第1予測部93a及び第2予測部93bを含む。
 判定部91は、入力された符号化ストリームに含まれる画像データの解像度に基づいて、部分復号を行うべきか否かを判定する。例えば、画像データの解像度が画像復号装置60の処理性能又はディスプレイ解像度によりサポートし得ない高い解像度である場合には、判定部91は、部分復号を行うことを決定する。また、例えば、画像データの解像度が画像復号装置60の処理性能及びディスプレイ解像度によりサポートし得る解像度である場合には、判定部91は、画像データの全体を復号することを決定する。また、判定部91は、例えば、符号化ストリームのヘッダ情報から、当該符号化ストリームに含まれる画像データが部分復号可能な画像データであるか否かを判定してもよい。そして、判定部91は、判定の結果を並び替え部92、第1予測部93a及び第2予測部93bへ出力する。
 並び替え部92は、フレームメモリ69から供給される参照画像データに含まれる参照画素値を、図10に関連して説明した規則に従って並び替える。そして、並び替え部92は、並び替え後の参照画素値のうち第1画素位置(例えば、画素a)のための参照画素値を第1予測部93aへ出力する。
 また、並び替え部92は、画像データの全体を復号することが判定部91により決定された場合には、並び替え後の参照画素値のうち第2画素位置(例えば、画素b)のための参照画素値を第1予測部93aへ出力すると共に、第3画素位置(例えば、画素c)のための参照画素値を第2予測部93bへ出力する。さらに、並び替え部92は、並び替え後の参照画素値のうち第4画素位置(例えば、画素d)のための参照画素値を第1予測部93aへ出力する。また、並び替え部92は、第1予測部93a及び第2予測部93bにより生成される第1、第2、第3及び第4画素位置の予測画素値を、図9の例と逆の手順で元の順序に並び替える。
 第1予測部93aは、第1モードバッファ94a及び第1予測計算部95aを含む。第1モードバッファ94aは、可逆復号部62から入力されるイントラ予測に関する情報に含まれる予測モード情報を取得し、取得した予測モード情報を記憶媒体を用いて一時的に記憶する。予測モード情報は、例えば、イントラ予測の処理単位である予測単位のサイズを表す情報(例えば、イントラ4×4予測モード又はイントラ8×8予測モードなど)を含む。また、予測モード情報は、例えば、複数の予測方向のうち画像の符号化の際に最適であるとして選択された予測方向を表す情報を含む。また、予測モード情報は、予測モードを推定可能であることを示す情報を含み得るが、この場合には、予測モード情報は予測方向を表す予測モード番号を含まない。第1予測計算部95aは、第1モードバッファ94aに記憶されている予測モード情報に従って、第1画素位置の予測画素値を計算する。第1画素位置の予測画素値の計算に際しては、第1予測計算部95aは、他の画素位置に対応する参照画素の画素値との相関を利用しない。なお、予測モード情報が第1画素位置について予測モードを推定可能であることを示している場合には、第1予測計算部95aは、第1画素位置の予測画素値の計算のための予測モードを、参照ブロックの第1画素位置の予測画素値の計算の際に選択した予測モードから推定する。
 部分復号を行うことが判定部91により決定された場合には、このように第1予測部93aにより生成された予測画素値のみを含む予測画像データが、並び替え部92を介してセレクタ71へ出力される。即ち、この場合、図11の第1グループに属する画素についてのみ画素値が復号され、第2グループ及び第3グループに属する画素についての処理はスキップされる。
 また、画像データの全体を復号することが判定部91により決定された場合には、第1予測計算部95aは、第1モードバッファ94aに記憶されている予測モード情報に従って、さらに第2画素位置及び第4画素位置の予測画素値を順に計算する。第2画素位置の予測画素値の計算に際しては、第1予測計算部95aは、例えば予測モード情報がモード9を示している場合に、第1画素位置の画素値との間の相関を利用し得る。また、第4画素位置の予測画素値の計算に際しては、第1予測計算部95aは、例えば予測モード情報がモード9を示している場合に、第2画素位置の画素値との間の相関及び第3画素位置の画素値との間の相関を利用し得る。
 第2予測部93bは、第2モードバッファ94b及び第2予測計算部95bを含む。画像データの全体を復号することが判定部91により決定された場合には、第2予測計算部95bは、第2モードバッファ94bに記憶されている予測モード情報に従って、第3画素位置の予測画素値を計算する。第1予測計算部95aによる第2画素位置の予測画素値の計算と第2予測計算部95bによる第3画素位置の予測画素値の計算とは、並列的に行われる。第3画素位置の予測画素値の計算に際しては、第2予測計算部95bは、例えば予測モード情報がモード9を示している場合に、第1画素位置の画素値との間の相関を利用し得る。
 画像データの全体を復号することが判定部91により決定された場合には、このように第1予測部93a及び第2予測部93bにより生成された予測画素値が、並び替え部92へ出力される。そして、並び替え部92は、予測画素値の順序を元の順序に並び替えることにより予測画像データを生成し、生成した予測画像データをセレクタ71へ出力する。即ち、この場合、図11の第1グループに属する画素だけでなく、第2グループ及び第3グループに属する画素についても画素値が復号される。
   (2)第2の構成例
 図22は、図12に例示したエンコード側のイントラ予測部40の構成例に対応する、デコード側の第2の構成例を示している。図22を参照すると、イントラ予測部90は、判定部91、並び替え部92、及び予測部93を有する。また、予測部93は、並列的に配置された3つの処理分岐である第1予測部93a、第2予測部93b及び第3予測部93cを含む。
 判定部91は、入力された符号化ストリームに含まれる画像データの解像度に基づいて、部分復号を行うべきか否かを判定する。そして、判定部91は、判定の結果を並び替え部92、第1予測部93a、第2予測部93b及び第3予測部93cへ出力する。
 並び替え部92は、フレームメモリ69から供給される参照画像データに含まれる参照画素値を、図10に関連して説明した規則に従って並び替える。そして、並び替え部92は、並び替え後の参照画素値のうち第1画素位置のための参照画素値を第1予測部93aへ出力する。
 また、並び替え部92は、画像データの全体を復号することが判定部91により決定された場合には、並び替え後の参照画素値のうち第2画素位置のための参照画素値を第1予測部93aへ、第3画素位置のための参照画素値を第2予測部93bへ、第4画素位置のための参照画素値を第3予測部93cへ出力する。
 第1予測計算部95aは、第1モードバッファ94aに記憶されている予測モード情報に従って、第1画素位置の予測画素値を計算する。第1画素位置の予測画素値の計算に際しては、第1予測計算部95aは、他の画素位置に対応する参照画素の画素値との相関を利用しない。
 部分復号を行うことが判定部91により決定された場合には、このように第1予測部93aにより生成された予測画素値のみを含む予測画像データが、並び替え部92を介してセレクタ71へ出力される。即ち、この場合、図13の第1グループに属する画素についてのみ画素値が復号され、第2グループに属する画素についての処理はスキップされる。
 また、画像データの全体を復号することが判定部91により決定された場合には、第1予測計算部95aは、第1モードバッファ94aに記憶されている予測モード情報に従って、さらに第2画素位置の予測画素値を計算する。第2画素位置の予測画素値の計算に際しては、第1予測計算部95aは、例えば予測モード情報がモード9を示している場合に、第1画素位置の画素値との間の相関を利用し得る。
 また、第2予測計算部95bは、第2モードバッファ94bに記憶されている予測モード情報に従って、第3画素位置の予測画素値を計算する。第3画素位置の予測画素値の計算に際しては、第2予測計算部95bは、例えば予測モード情報がモード9を示している場合に、第1画素位置の画素値との間の相関を利用し得る。
 第3予測部93cは、第3モードバッファ94c及び第3予測計算部95cを含む。画像データの全体を復号することが判定部91により決定された場合には、第3予測計算部95cは、第3モードバッファ94cに記憶されている予測モード情報に従って、第4画素位置の予測画素値を計算する。第1予測計算部95aによる第2画素位置の予測画素値の計算、第2予測計算部95bによる第3画素位置の予測画素値の計算、及び第3予測計算部95cによる第4画素位置の予測画素値の計算は、並列的に行われる。第4画素位置の予測画素値の計算に際しては、第3予測計算部95cは、例えば予測モード情報がモード9を示している場合に、第1画素位置の画素値との間の相関を利用し得る。
 画像データの全体を復号することが判定部91により決定された場合には、このように第1予測部93a、第2予測部93b及び第3予測部93cにより生成された予測画素値が、並び替え部92へ出力される。そして、並び替え部92は、予測画素値の順序を元の順序に並び替えることにより予測画像データを生成し、生成した予測画像データをセレクタ71へ出力する。即ち、この場合、図13の第1グループに属する画素だけでなく、第2グループに属する画素についても画素値が復号される。
 <4.一実施形態に係る復号時の処理の流れ>
 次に、図23及び図24を用いて、復号時の処理の流れを説明する。図23は、図21に例示した構成を有するイントラ予測部90による復号時のイントラ予測処理の流れの一例を示すフローチャートである。
 図23を参照すると、まず、並び替え部92は、フレームメモリ69から供給される参照画像データに含まれる参照画素値を、図10に例示した規則に従って並び替える(ステップS200)。そして、並び替え部92は、並び替え後の参照画素値のうち第1画素位置(例えば、画素a)のための参照画素値を第1予測部93aへ出力する。
 次に、第1予測部93aは、可逆復号部62から入力される第1画素位置のための予測モード情報を取得する(ステップS210)。次に、第1予測部93aは、取得した予測モード情報により表される予測モードに従って、第1画素位置のイントラ予測処理を実行し、予測画素値を生成する(ステップS220)。
 また、判定部91は、入力された符号化ストリームに含まれる画像データの解像度に基づいて、部分復号を行うべきか否かを判定する(ステップS230)。ここで、部分復号を行うことが判定部91により決定されると、第1画素位置のみの画素値を含む予測画像データが、並び替え部92を介してセレクタ71へ出力される(ステップS235)。一方、部分復号を行わないこと、即ち、画像データの全体を復号することが決定されると、処理はステップS240へ進む。
 ステップS240では、第1予測部93aが第2画素位置(例えば、画素b)のための予測モード情報を取得すると共に、第2予測部93bが第3画素位置(例えば、画素c)のための予測モード情報を取得する(ステップS240)。また、並び替え部92は、並び替え後の参照画素値のうち第2画素位置のための参照画素値を第1予測部93aへ出力する。また、並び替え部92は、並び替え後の参照画素値のうち第3画素位置のための参照画素値を第2予測部93bへ出力する。そして、第1予測部93aによる第2画素位置のイントラ予測処理と、第2予測部93bによる第3画素位置のイントラ予測処理とが並列的に実行され、予測画素値が生成される(ステップS250)。
 次に、第1予測部93aは、第4画素位置(例えば、画素d)のための予測モード情報を取得する(ステップS260)。また、並び替え部92は、並び替え後の参照画素値のうち第4画素位置のための参照画素値を第1予測部93aへ出力する。そして、第1予測部93aは、第4画素位置のイントラ予測処理を実行し、予測画素値を生成する(ステップS270)。
 次に、並び替え部92は、第1予測部93a及び第2予測部93bにより生成された第1、第2、第3及び第4画素位置の予測画素値の順序を元の順序に並び替えることにより予測画像データを生成する(ステップS280)。そして、並び替え部92は、生成した予測画素データをセレクタ71へ出力する(ステップS290)。
 図24は、図22に例示した構成を有するイントラ予測部90による復号時のイントラ予測処理の流れの一例を示すフローチャートである。
 図24を参照すると、ステップS200からステップS230までの処理は、図23と同様である。ステップS230において、部分復号を行うことが判定部91により決定されると、第1画素位置のみの画素値を含む予測画像データが、並び替え部92を介してセレクタ71へ出力される(ステップS235)。一方、部分復号を行わないこと、即ち、画像データの全体を復号することが決定されると、処理はステップS245へ進む。
 ステップS245では、第1予測部93aが第2画素位置のための予測モード情報を、第2予測部93bが第3画素位置のための予測モード情報を、第3予測部93cが第4画素位置のための予測モード情報をそれぞれ取得する(ステップS245)。そして、第1予測部93aによる第2画素位置のイントラ予測処理、第2予測部93bによる第3画素位置のイントラ予測処理、及び第3予測部93cによる第4画素位置のイントラ予測処理が並列的に実行され、予測画素値が生成される(ステップS255)。
 次に、並び替え部92は、第1予測部93a、第2予測部93b及び第3予測部93cにより生成された第1、第2、第3及び第4画素位置の予測画素値の順序を元の順序に並び替えることにより予測画像データを生成する(ステップS280)。そして、並び替え部92は、生成した予測画素データをセレクタ71へ出力する(ステップS290)。
 <5.応用例>
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  [5-1.第1の応用例]
 図25は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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において、イントラ予測モードでの部分復号が可能となる。
  [5-2.第2の応用例]
 図26は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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との間で通信する他の装置において、イントラ予測モードでの部分復号が可能となる。
  [5-3.第3の応用例]
 図27は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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から出力される映像を利用する他の装置において、イントラ予測モードでの部分復号が可能となる。
  [5-4.第4の応用例]
 図28は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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~図28を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について説明した。本実施形態によれば、イントラ予測モードにおいて、画像の符号化の際には、隣り合うサブブロック内の共通する画素位置の画素値が並び替え後に隣接するように並び替えられた後、第1画素位置の画素についての予測画素値が、他の画素位置の画素値との相関を利用することなく生成される。また、画像の復号の際には、画像内の参照画素の画素値が同様に並び替えられた後、少なくとも第1画素位置の画素についての予測画素値が、他の画素位置に対応する参照画素の画素値との相関を利用することなく生成される。従って、イントラ予測モードにおいて、上記画像の全体ではなく上記第1画素位置の画素のみを復号する部分復号が可能となる。また、並び替えによってまとめられた第1画素位置の画素のみで予測単位が形成され、当該予測単位ごとにイントラ予測が行われる。そのため、第1画素位置の画素のみを予測対象とする場合にも、既存のイントラ予測方式と同様の様々な予測モードを適用することが可能である。
 また、本実施形態によれば、第2画素位置の画素についての予測画素値を、隣接する第1画素位置の画素値との相関に基づく予測モードに従って生成することができる。同様に、第3画素位置の画素についての予測画素値を、隣接する第1画素位置の画素値との相関に基づく予測モードに従って生成することができる。また、第4画素位置の画素についての予測画素値を、隣接する第2及び第3画素位置の画素値との相関、又は第1画素位置の画素値との相関に基づく予測モードに従って生成することができる。即ち、距離の近い画素間の相関に基づく予測モードが利用可能となるため、イントラ予測の精度を向上させ、既存の手法よりも符号化効率を高めることができる。
 また、本実施形態によれば、第2画素位置の予測画素値の生成と第3画素位置の予測画素値の生成とが並列的に実行され得る。第4画素位置の予測画素値の生成もまた、第2画素位置の予測画素値の生成及び第3画素位置の予測画素値の生成と並列的に実行され得る。それにより、画像符号化処理及び画像復号処理の処理速度を高めることができる。
 また、本実施形態によれば、第1画素位置のみの部分復号を実現する場合にも、推定予測モードを利用して符号量の増加を抑制することが可能である。
 なお、本明細書では、主にサブブロックのサイズが2×2画素である例について説明した。しなしながら、4×4画素又はそれ以上のサイズを有するサブブロックを用いることも可能である。例えば、サブブロックのサイズを4×4画素とした場合には、1つのサブブロックは、16種類の画素位置を有する。この場合、第1画素位置のみの部分復号に加えて、第1~第4画素位置のみの部分復号も可能である。即ち、サブブロックのサイズを大きくすれば、部分復号のスケーラビリティを拡張することができる。
 また、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 10   画像符号化装置(画像処理装置)
 41   並び替え部
 42   予測部
 60   画像復号装置(画像処理装置)
 91   判定部
 92   並び替え部
 93   予測部

Claims (19)

  1.  画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置の画素値が並び替え後に隣接するように、前記ブロックに含まれる画素値を並び替える並び替え部と、
     前記サブブロックの第1画素位置の画素についての予測画素値を、前記並び替え部により並び替えられた画素値と前記第1画素位置に対応する前記画像内の参照画素値とを用いて生成する予測部と、
     を備える画像処理装置。
  2.  前記予測部は、前記第1画素位置の画素についての予測画素値を、他の画素位置の画素値との相関を利用することなく生成する、請求項1に記載の画像処理装置。
  3.  前記予測部は、第2画素位置の画素についての予測画素値を、前記第1画素位置の画素値との相関に基づく予測モードに従って生成する、請求項2に記載の画像処理装置。
  4.  前記予測部は、第3画素位置の画素についての予測画素値を、前記第2画素位置の画素についての予測画素値の生成と並列的に、前記第1画素位置の画素値との相関に基づく予測モードに従って生成する、請求項3に記載の画像処理装置。
  5.  前記予測部は、第4画素位置の画素についての予測画素値を、前記第2画素位置及び前記第3画素位置の画素についての予測画素値の生成と並列的に、前記第1画素位置の画素値との相関に基づく予測モードに従って生成する、請求項4に記載の画像処理装置。
  6.  前記予測部は、第4画素位置の画素についての予測画素値を、前記第2画素位置及び前記第3画素位置の画素値との相関に基づく予測モードに従って生成する、請求項4に記載の画像処理装置。
  7.  前記予測部は、前記第1画素位置の画素についての予測画素値を生成する際に選択した予測モードを、符号化済みの他のブロックの前記第1画素位置の予測画素値を生成する際に選択した予測モードから推定可能である場合に、前記第1画素位置について予測モードを推定可能であることを示す情報を生成する、請求項1に記載の画像処理装置。
  8.  前記第1画素位置の画素値との相関に基づく予測モードは、前記第1画素位置の画素値を位相シフトすることにより予測画素値を生成する予測モードである、請求項3に記載の画像処理装置。
  9.  画像を処理するための画像処理方法において、
     画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置の画素値が並び替え後に隣接するように、前記ブロックに含まれる画素値を並び替えることと、
     前記サブブロックの第1画素位置の画素についての予測画素値を、並び替えられた前記画素値と前記第1画素位置に対応する前記画像内の参照画素値とを用いて生成することと、
     を含む画像処理方法。
  10.  画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置にそれぞれ対応する参照画素の画素値が並び替え後に隣接するように、前記画像内の前記参照画素の画素値を並び替える並び替え部と、
     前記サブブロックの第1画素位置の画素についての予測画素値を、前記並び替え部により並び替えられた前記参照画素の画素値を用いて生成する予測部と、
     を備える画像処理装置。
  11.  前記予測部は、前記第1画素位置の画素についての予測画素値を、他の画素位置に対応する参照画素の画素値との相関を利用することなく生成する、請求項10に記載の画像処理装置。
  12.  前記予測部は、第2画素位置の画素についての予測画素値を、前記第1画素位置の画素値との相関に基づく予測モードに従って生成する、請求項11に記載の画像処理装置。
  13.  前記予測部は、第3画素位置の画素についての予測画素値を、前記第2画素位置の画素についての予測画素値の生成と並列的に、前記第1画素位置の画素値との相関に基づく予測モードに従って生成する、請求項12に記載の画像処理装置。
  14.  前記予測部は、第4画素位置の画素についての予測画素値を、前記第2画素位置及び前記第3画素位置の画素についての予測画素値の生成と並列的に、前記第1画素位置の画素値との相関に基づく予測モードに従って生成する、請求項13に記載の画像処理装置。
  15.  前記予測部は、第4画素位置の画素についての予測画素値を、前記第2画素位置及び前記第3画素位置の画素値との相関に基づく予測モードに従って生成する、請求項13に記載の画像処理装置。
  16.  前記予測部は、前記第1画素位置について予測モードを推定可能であることが示された場合には、前記第1画素位置の画素についての予測画素値を生成する際の予測モードを、符号化済みの他のブロックの前記第1画素位置の予測画素値を生成する際に選択した予測モードから推定する、請求項10に記載の画像処理装置。
  17.  前記第1画素位置の画素値との相関に基づく予測モードは、前記第1画素位置の画素値を位相シフトすることにより予測画素値を生成する予測モードである、請求項12に記載の画像処理装置。
  18.  前記画像処理装置は、前記画像を部分復号すべきか否かを判定する判定部、をさらに備え、
     前記予測部は、前記画像を部分復号すべきであると前記判定部が判定した場合には、前記第1画素位置以外の少なくとも1つの画素位置の予測画素値を生成しない、
     請求項10に記載の画像処理装置。
  19.  画像を処理するための画像処理方法において、
     画像内のブロックに含まれる隣り合うサブブロック内の共通する画素位置にそれぞれ対応する参照画素の画素値が並び替え後に隣接するように、前記画像内の前記参照画素の画素値を並び替えることと、
     前記サブブロックの第1画素位置の画素についての予測画素値を、並び替えられた前記参照画素の画素値を用いて生成することと、
     を含む画像処理方法。
PCT/JP2011/070233 2010-10-01 2011-09-06 画像処理装置及び画像処理方法 WO2012043166A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011800461708A CN103125118A (zh) 2010-10-01 2011-09-06 图像处理装置和图像处理方法
US13/824,973 US20130182967A1 (en) 2010-10-01 2011-09-06 Image processing device and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-224349 2010-10-01
JP2010224349A JP2012080370A (ja) 2010-10-01 2010-10-01 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
WO2012043166A1 true WO2012043166A1 (ja) 2012-04-05

Family

ID=45892639

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/070233 WO2012043166A1 (ja) 2010-10-01 2011-09-06 画像処理装置及び画像処理方法

Country Status (4)

Country Link
US (1) US20130182967A1 (ja)
JP (1) JP2012080370A (ja)
CN (1) CN103125118A (ja)
WO (1) WO2012043166A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486726B (en) * 2010-12-23 2017-11-29 British Broadcasting Corp Compression of pictures

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885885B1 (ko) * 2012-04-10 2018-09-11 한국전자통신연구원 비디오 데이터의 병렬 인트라 예측 방법
CN106375762B (zh) * 2015-07-22 2019-05-24 杭州海康威视数字技术股份有限公司 参考帧数据压缩方法及其装置
CN105890768B (zh) * 2016-03-31 2019-02-12 浙江大华技术股份有限公司 一种红外图像非均匀性校正的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS647854A (en) * 1987-06-30 1989-01-11 Toshiba Corp Encoding device
JP2007074725A (ja) * 2005-09-06 2007-03-22 Samsung Electronics Co Ltd 映像のイントラ予測符号化及び復号化方法、並びに装置
JP2009528762A (ja) * 2006-03-03 2009-08-06 サムスン エレクトロニクス カンパニー リミテッド 映像のイントラ予測符号化、復号化方法及び装置
JP2009296300A (ja) * 2008-06-05 2009-12-17 Panasonic Corp 画像符号化装置および方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2136564A1 (en) * 2007-01-09 2009-12-23 Kabushiki Kaisha Toshiba Image encoding and decoding method and device
CN101389014B (zh) * 2007-09-14 2010-10-06 浙江大学 一种基于区域的分辨率可变的视频编解码方法
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN101662684A (zh) * 2009-09-02 2010-03-03 中兴通讯股份有限公司 用于视频图像编解码的数据存储的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS647854A (en) * 1987-06-30 1989-01-11 Toshiba Corp Encoding device
JP2007074725A (ja) * 2005-09-06 2007-03-22 Samsung Electronics Co Ltd 映像のイントラ予測符号化及び復号化方法、並びに装置
JP2009528762A (ja) * 2006-03-03 2009-08-06 サムスン エレクトロニクス カンパニー リミテッド 映像のイントラ予測符号化、復号化方法及び装置
JP2009296300A (ja) * 2008-06-05 2009-12-17 Panasonic Corp 画像符号化装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2486726B (en) * 2010-12-23 2017-11-29 British Broadcasting Corp Compression of pictures

Also Published As

Publication number Publication date
JP2012080370A (ja) 2012-04-19
US20130182967A1 (en) 2013-07-18
CN103125118A (zh) 2013-05-29

Similar Documents

Publication Publication Date Title
US20200204796A1 (en) Image processing device and image processing method
JP6471786B2 (ja) 画像処理装置及び画像処理方法
US10666945B2 (en) Image processing device and image processing method for decoding a block of an image
WO2012005099A1 (ja) 画像処理装置及び画像処理方法
JP2016208533A (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
JPWO2011145601A1 (ja) 画像処理装置と画像処理方法
WO2012063878A1 (ja) 画像処理装置と画像処理方法
WO2013164922A1 (ja) 画像処理装置及び画像処理方法
WO2013088833A1 (ja) 画像処理装置及び画像処理方法
WO2012011340A1 (ja) 画像処理装置及び画像処理方法
WO2013073328A1 (ja) 画像処理装置及び画像処理方法
JP2013150164A (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
WO2012043166A1 (ja) 画像処理装置及び画像処理方法
WO2013047325A1 (ja) 画像処理装置および方法
WO2014002900A1 (ja) 画像処理装置および画像処理方法
JP2013012815A (ja) 画像処理装置及び画像処理方法

Legal Events

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

Ref document number: 201180046170.8

Country of ref document: CN

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

Ref document number: 11828727

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13824973

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11828727

Country of ref document: EP

Kind code of ref document: A1