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

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

Info

Publication number
WO2012011340A1
WO2012011340A1 PCT/JP2011/063661 JP2011063661W WO2012011340A1 WO 2012011340 A1 WO2012011340 A1 WO 2012011340A1 JP 2011063661 W JP2011063661 W JP 2011063661W WO 2012011340 A1 WO2012011340 A1 WO 2012011340A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
unit
prediction
image
values
Prior art date
Application number
PCT/JP2011/063661
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 US13/809,692 priority Critical patent/US20130114714A1/en
Priority to CN2011800344742A priority patent/CN103004199A/zh
Publication of WO2012011340A1 publication Critical patent/WO2012011340A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • MPEG2 (ISO / IEC 13818-2) is one of the MPEG-y standards defined as a general-purpose image coding method.
  • MPEG2 can handle both interlaced (interlaced) and progressive (non-interlaced) images, and is also targeted at high definition images in addition to standard resolution digital images.
  • MPEG2 is currently widely used in a wide range of applications, including professional and consumer applications.
  • a code amount (bit rate) of 4 to 8 Mbps is for an interlaced scan image of standard resolution having 720 ⁇ 480 pixels, and 18 to 22 Mbps for an interlaced scan image of high resolution having 1920 ⁇ 1088 pixels.
  • MPEG2 is mainly aimed at high-quality coding suitable for broadcasting applications, and did not correspond to a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 coding system has been advanced anew.
  • image coding method which is a part of the MPEG4 coding method, 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 formulated for the purpose of encoding suitable for telecommunication applications such as video telephony or video conferencing.
  • the 26x standard is known to be capable of achieving higher compression rates while requiring more computational effort to encode and decode as compared to the MPEG-y standard.
  • H.264 is used in the Joint Model of Enhanced-Compression Video Coding as part of the MPEG4 activity.
  • By incorporating new functions while being based on the 26x standard a standard capable of achieving higher compression rates was formulated. This standard is described in H.323 in March 2003. It has become an international standard under the names H.264 and MPEG-4 Part 10 (Advanced Video Coding; AVC).
  • Intra prediction is a technology that reduces the amount of information to be encoded by using the correlation between adjacent blocks in the screen and predicting the pixel value in one block from the pixel values of the other adjacent blocks. .
  • intra prediction is possible for all pixel values.
  • intra prediction may be performed with a block of 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, or 16 ⁇ 16 pixels as one processing unit.
  • Non-Patent Document 1 proposes intra prediction with an extended block size, in which a block of 32 ⁇ 32 pixels or 64 ⁇ 64 pixels is a processing unit.
  • intra prediction processing it is not possible to start prediction processing for another block that refers to the pixel value of that block, after the prediction processing for one block is completed. Therefore, in the conventional image coding method, intra prediction processing becomes a bottleneck, and it is difficult to execute image coding and decoding at high speed or in real time.
  • the technique which concerns on this indication tends to provide the image processing apparatus and the image processing method which can reduce the processing time which intra prediction requires.
  • the pixel value of the first pixel of the first subblock included in the macroblock in the image and the pixel value of the second pixel of the second subblock included in the macroblock are consecutive, and A rearranging unit that rearranges the pixel values included in the image so that the pixel value of the third pixel of one sub block and the pixel value of the fourth pixel of the second sub block are continuous;
  • the first prediction unit that generates predicted pixel values of the first pixel and the second pixel using the replaced pixel values, and the first prediction unit that uses the pixel values rearranged by the rearrangement unit
  • An image processing apparatus is provided that includes a second prediction unit that generates predicted pixel values of the third pixel and the fourth pixel in parallel with the process of the unit.
  • the image processing apparatus can be typically realized as an image coding apparatus that codes an image.
  • a pixel value of a first reference pixel adjacent to the first pixel and a pixel value of a second reference pixel adjacent to the second pixel are continuous, and a third adjacent to the third pixel
  • the pixel values of the reference pixels included in the image may be further rearranged so that the pixel values of the three reference pixels and the pixel values of the fourth reference pixel adjacent to the fourth pixel are continuous.
  • the pixel position of the first pixel in the first subblock and the pixel position of the second pixel in the second subblock are the same position, and the first position in the first subblock is the same position as the first position.
  • the pixel position of three pixels and the pixel position of the fourth pixel in the second sub-block may be the same position.
  • the first pixel, the second pixel, the third pixel, and the fourth pixel may be pixels belonging to the same line in the image.
  • the rearrangement unit further rearranges the pixel values included in the image such that the pixel value of the fifth pixel of the first sub block and the pixel value of the sixth pixel of the second sub block are continuous.
  • the first prediction unit may further generate predicted pixel values of the fifth pixel and the sixth pixel based on predicted pixel values generated for the first pixel and the second pixel.
  • the fifth pixel and the sixth pixel may be pixels belonging to lines different from the first pixel and the second pixel in the image.
  • the code amount of prediction mode information may be reduced.
  • the estimated prediction mode for the pixel may be determined based on the prediction mode set in the subblock above the subblock to which the pixel to be processed belongs.
  • first prediction unit and the second prediction unit may execute the generation of the predicted pixel value of each pixel in the intra 4 ⁇ 4 prediction mode.
  • the image processing apparatus may further include an orthogonal transformation unit that performs orthogonal transformation on the first sub block and orthogonal transformation on the second sub block in parallel.
  • the pixel value of the first pixel of the first sub block included in the macroblock in the image and the second sub block included in the macroblock are described.
  • the pixel values included in the image are set such that the pixel value of the second pixel is continuous, and the pixel value of the third pixel of the first sub block and the pixel value of the fourth pixel of the second sub block are continuous.
  • An image processing method is provided that includes generating predicted pixel values of the third pixel and the fourth pixel in parallel with the generation of the predicted pixel value of the second pixel.
  • the pixel value of the first reference pixel adjacent to the first pixel of the first sub block included in the macro block in the image and the second pixel of the second sub block included in the macro block The pixel value of the adjacent second reference pixel is continuous, and the pixel value of the third reference pixel adjacent to the third pixel of the first sub block and the fourth reference pixel adjacent to the fourth pixel of the second sub block Using the reordering unit for reordering the pixel values of the reference pixels included in the image so that the pixel values of the pixels are continuous, and the pixel values of the reference pixels reordered by the reordering unit; Using the first prediction unit that generates the predicted pixel value of the second pixel and the pixel values of the reference pixels rearranged by the rearrangement unit, the third processing is performed in parallel with the processing of the first prediction unit.
  • Pixel and the fourth pixel The image processing apparatus is provided comprising a second prediction unit for generating a pixel value.
  • the image processing apparatus can be typically realized as an image decoding apparatus that decodes an image.
  • the pixel position of the first pixel in the first subblock and the pixel position of the second pixel in the second subblock are the same position, and the first position in the first subblock is the same position as the first position.
  • the pixel position of three pixels and the pixel position of the fourth pixel in the second sub-block may be the same position.
  • the first pixel, the second pixel, the third pixel, and the fourth pixel may be pixels belonging to the same line in the image.
  • the first prediction unit is a predicted pixel of the fifth pixel of the first sub block and the sixth pixel of the second sub block based on predicted pixel values generated for the first pixel and the second pixel. Further values may be generated.
  • the fifth pixel and the sixth pixel may be pixels belonging to lines different from the first pixel and the second pixel in the image.
  • the code amount of prediction mode information may be reduced.
  • the estimated prediction mode for the pixel may be determined based on the prediction mode set in the subblock above the subblock to which the pixel to be processed belongs.
  • first prediction unit and the second prediction unit may execute the generation of the predicted pixel value of each pixel in the intra 4 ⁇ 4 prediction mode.
  • the image processing apparatus may further include an inverse orthogonal transformation unit that performs inverse orthogonal transformation on the first sub block and inverse orthogonal transformation on the second sub block in parallel.
  • the pixel value of the first reference pixel adjacent to the first pixel of the first sub-block included in the macro block in the image and the macro block is continuous, and the pixel value of the third reference pixel adjacent to the third pixel of the first sub block and the second sub block Rearranging the pixel values of the reference pixels included in the image such that the pixel values of the fourth reference pixels adjacent to the fourth pixel are continuous, and using the pixel values of the rearranged reference pixels, Generating predicted pixel values of the first pixel and the second pixel, and using pixel values of the rearranged reference pixels, in parallel with generation of predicted pixel values of the first pixel and the second pixel ,
  • the third pixel and An image processing method comprising generating a predicted pixel value of the serial fourth pixel, is provided.
  • the processing time required for intra prediction can be reduced.
  • FIG. 2 is a first explanatory diagram for describing 2 parallel processing.
  • FIG. 2 is a second explanatory diagram for describing 2 parallel processing.
  • 8 is a first explanatory diagram for describing eight parallel processes.
  • FIG. 8 is a second explanatory diagram for describing eight parallel processing.
  • FIG. It is a flowchart which shows an example of the flow of the intra prediction process at the time of the encoding which concerns on one Embodiment.
  • It is a block diagram showing an example of composition of an image decoding device concerning one embodiment.
  • It is a block diagram which shows an example of a detailed structure of the intra estimation part of the image decoding apparatus which concerns on one Embodiment.
  • It is a flowchart which shows an example of the flow of the intra prediction process at the time of decoding which concerns on one Embodiment.
  • It is a block diagram showing an example of a schematic structure of a television set.
  • It is a block diagram which shows an example of a rough structure of a mobile telephone.
  • It is a block diagram which shows an example of a rough structure of a recording and reproducing apparatus.
  • It is a block diagram showing an example of rough composition of an imaging device.
  • FIG. 1 is a block diagram showing an example of the configuration of an image coding apparatus 10 according to an embodiment.
  • the image coding apparatus 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal conversion unit 14, a quantization unit 15, a lossless encoding unit 16, Storage buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transformation unit 22, addition unit 23, deblock filter 24, frame memory 25, selectors 26 and 27, motion search unit 30, and intra prediction unit 40.
  • 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 sorting buffer 12.
  • the rearrangement buffer 12 rearranges the images included in the series of image data input from the A / D converter 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. Do.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with the image data input from the reordering buffer 12 and the prediction 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 which is a difference between the image data input from the reordering buffer 12 and the prediction image data, and outputs the calculated prediction error data to the orthogonal transformation unit 14.
  • the orthogonal transformation unit 14 performs orthogonal transformation on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation unit 14 may be, for example, Discrete Cosine Transform (DCT) or Karhunen-Loeve Transform.
  • 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 quantization 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 Let
  • the lossless encoding unit 16 is supplied with the quantized data input from the quantization unit 15 and information on inter prediction or intra prediction input from the motion search unit 30 or the intra prediction unit 40 described later.
  • the information on inter prediction may include, for example, prediction mode information, motion vector information, and reference image information.
  • information on intra prediction may include, for example, prediction mode information indicating the size of a sub block that is a processing unit of intra prediction and the optimal prediction direction (prediction mode) for each sub block.
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless coding by the lossless coding unit 16 may be, for example, variable length coding or arithmetic coding.
  • 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. Then, the accumulation buffer 17 outputs the accumulated encoded stream at a rate according to the band of the transmission path (or the output line from the image encoding device 10).
  • the rate control unit 18 monitors the free space of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free space of the accumulation buffer 17, and outputs the generated rate control signal to the quantization unit 15. For example, when the free space of the accumulation buffer 17 is small, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data. Also, for example, when the free space 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 inverse quantization processing on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs the transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transformation unit 22.
  • the inverse orthogonal transform unit 22 restores prediction error data by performing inverse orthogonal transform processing 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 addition unit 23 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the prediction image data input from the motion search unit 30 or the intra prediction unit 40. . Then, the adding unit 23 outputs the generated decoded image data to the deblocking filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process to reduce 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 adding unit 23 and the decoded image data after filtering input from the deblocking filter 24 using a storage medium.
  • the selector 26 reads the decoded image data after filtering used for inter prediction from the frame memory 25 and supplies the read decoded image data to the motion search unit 30 as reference image data. Further, the selector 26 reads the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 40 as reference image data.
  • the selector 27 outputs predicted image data as a result of the inter prediction output from the motion search unit 30 to the subtraction unit 13 in the inter prediction mode, and outputs information on the inter prediction to the lossless encoding unit 16. In addition, the selector 27 outputs predicted image data as a result of intra prediction output from the intra prediction unit 40 to the subtraction unit 13 in the intra prediction mode, and outputs information on intra prediction to the lossless encoding unit 16. .
  • the motion search unit 30 uses the H.264 algorithm.
  • the inter prediction processing (inter-frame 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 in which the cost function value is the smallest, that is, the prediction mode in which the compression ratio is the highest, as the optimal prediction mode.
  • the motion search unit 30 generates predicted image data in accordance with the optimal prediction mode.
  • the motion search unit 30 outputs, to the selector 27, information on inter prediction including prediction mode information representing the selected optimal prediction mode, and prediction image data.
  • the intra prediction unit 40 sets each macro block set in the image based on the image data to be encoded input from the reordering buffer 12 and the decoded image data as reference image data supplied from the frame memory 25. Perform intra prediction processing.
  • the intra prediction processing by the intra prediction unit 40 is parallelized by a plurality of processing branches. The parallel intra prediction processing by the intra prediction unit 40 will be described in more detail later.
  • 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 above described intra prediction mode are described.
  • the processing by the adding unit 23 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.
  • the segments 28 are formed. Each part in the parallel processing segment 28 has a plurality of processing branches. While each part in the parallel processing segment 28 performs parallel processing using multiple processing branches in intra prediction mode, it may use only one processing branch in inter prediction mode.
  • FIG. 2 is a block diagram showing an example of a detailed configuration of the intra prediction unit 40 of the image coding device 10 shown in FIG.
  • the intra prediction unit 40 includes a sorting unit 41, four prediction units 42a to 42d, and a mode buffer 45. That is, in the example of FIG. 2, the intra prediction unit 40 includes four processing branches arranged in parallel. However, the number of processing branches included in the intra prediction unit 40 is not limited to this example. As described later, the intra prediction unit 40 may have, for example, two or eight processing branches.
  • the sorting unit 41 reads pixel values included in macro blocks in an image (original image), for example, line by line, and sorts the pixel values according to a predetermined rule. Then, the rearrangement unit 41 predicts the first part to the first prediction part 42a, the second part to the second prediction part 42b, and the third part to the third of the series of pixel values after rearrangement. The fourth part is output to the part 42c and the fourth prediction part 42d.
  • the sorting unit 41 sorts 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 an encoded part in the same image as the image to be encoded.
  • the rearrangement unit 41 sets the first part to the first prediction part 42a, the second part to the second prediction part 42b, and the third part to the third of the series of reference pixel values after rearrangement.
  • the fourth part is output to the prediction unit 42c and the fourth prediction unit 42d.
  • the sorting unit 41 has a role as sorting means for sorting the pixel value and the reference pixel value of the original image.
  • the rules for sorting the pixel values by the sorting unit 41 will be described later by way of an example.
  • the sorting unit 41 also has a role as a demultiplexing unit that distributes the sorted pixel values to each processing branch.
  • the prediction units 42a to 42d generate predicted pixel values for the macro block to be encoded, using the pixel values of the original image and the reference pixel values rearranged by the rearrangement unit 41.
  • 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 from a reference pixel used for prediction to a pixel to be encoded (referred to as a prediction direction). By designating one prediction mode, it is possible to specify, for a pixel to be encoded, a reference pixel to be used for calculation of a predicted pixel value and a formula for calculating a predicted pixel value.
  • An example of the prediction mode that may be used in intra prediction according to the present embodiment will be described later using an example.
  • the first mode determination unit 44a determines a predetermined cost function based on the pixel values of the original image rearranged by the rearrangement unit 41, the predicted pixel values 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. Then, the first mode determination unit 44a selects the prediction mode in which the cost function value is the smallest, that is, the prediction mode in which the compression rate is the highest, as the optimum prediction mode. After such processing, the first prediction unit 42a outputs prediction mode information representing the optimal prediction mode selected by the first mode determination unit 44a to the mode buffer 45, and corresponds to the prediction mode information. The prediction image data including the prediction pixel value is output to the selector 27.
  • the second prediction unit 42 b includes a second prediction calculation unit 43 b and a second mode determination unit 44 b.
  • the second prediction calculation unit 43 b 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 determines a predetermined cost function based on the pixel values of the original image rearranged by the rearrangement unit 41, the predicted pixel values 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 with the smallest cost function value as the optimal prediction mode.
  • the second prediction unit 42b outputs, to the mode buffer 45, prediction mode information representing the optimum prediction mode selected by the second mode determination unit 44b, and corresponds to the prediction mode information.
  • the prediction image data including the prediction pixel value is output to the selector 27.
  • the third prediction unit 42c includes a third prediction calculation unit 43c and a third mode determination unit 44c.
  • the third prediction calculation unit 43 c 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 third mode determination unit 44c calculates a predetermined cost function based on the pixel values of the original image rearranged by the rearrangement unit 41, the predicted pixel values calculated by the third prediction calculation unit 43c, the assumed code amount, and the like. Are used to evaluate the plurality of prediction mode candidates. Then, the third mode determination unit 44c selects the prediction mode with the smallest cost function value as the optimal prediction mode.
  • the third prediction unit 42 c outputs prediction mode information representing the optimum prediction mode selected by the third mode determination unit 44 c to the mode buffer 45, and corresponds to the prediction mode information.
  • the prediction image data including the prediction pixel value is output to the selector 27.
  • the fourth prediction unit 42d includes a fourth prediction calculation unit 43d and a fourth mode determination unit 44d.
  • the fourth prediction calculation unit 43 d 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 fourth mode determination unit 44d calculates a predetermined cost function based on the pixel values of the original image rearranged by the rearrangement unit 41, the predicted pixel values calculated by the fourth prediction calculation unit 43d, and the assumed code amount. Are used to evaluate the plurality of prediction mode candidates. Then, the fourth mode determination unit 44d selects the prediction mode with the smallest cost function value as the optimal prediction mode.
  • the fourth prediction unit 42 d outputs prediction mode information representing the optimum prediction mode selected by the fourth mode determination unit 44 d to the mode buffer 45, and corresponds to the prediction mode information.
  • the prediction image data including the prediction pixel value is output to the selector 27.
  • the mode buffer 45 temporarily stores prediction mode information input from each of the prediction units 42a to 42d using a storage medium.
  • the prediction mode information stored by the mode buffer 45 may be referred to as a reference prediction mode when each of the prediction units 42a to 42d estimates the prediction direction.
  • the estimation of the prediction direction focuses on the fact 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 technology to estimate the prediction mode of For a block whose 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 describing prediction mode candidates in the intra 4 ⁇ 4 prediction mode.
  • FIG. 3 nine prediction modes (mode 0 to mode 8) that can be used in the intra 4 ⁇ 4 prediction mode are shown. Further, FIG. 4 schematically shows prediction directions respectively corresponding to the mode numbers.
  • lower case alphabets a to p represent respective pixel values in the 4 ⁇ 4 pixel target sub-block.
  • calculation of predicted pixel values in each prediction mode exemplified in FIG. 3 will be described using the pixel values a to p to be encoded and the reference pixel values Ra to Rm.
  • Mode 4 diagonal lower right (Diagonal_Down_Right) The prediction direction in mode 4 is diagonally lower right.
  • Mode 4 may be used when reference pixel values Ra to Rd, Ri to Rm are available.
  • Mode 8 Horizontally Up (Horizontal_Up)
  • the prediction direction in mode 8 is horizontally above.
  • Mode 8 may be used when reference pixel values Ri-Rl are available.
  • the formula for calculating the predicted pixel value in these nine prediction modes is as follows. It is similar to the calculation formula in the intra 4 ⁇ 4 prediction mode defined in H.264 / AVC.
  • the prediction calculation units 43a to 43d of the prediction units 42a to 42d of the above-described intra prediction unit 40 set these nine prediction modes as candidates, and use the reference pixel values rearranged by the rearrangement unit 41 to predict corresponding to each prediction mode. Pixel values can be calculated.
  • FIG. 6 is an explanatory diagram for describing prediction mode candidates in the intra 8 ⁇ 8 prediction mode. Referring to FIG. 6, nine 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 horizontal.
  • 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 below horizontal.
  • the prediction direction in mode 7 is vertical left.
  • the prediction direction in mode 8 is horizontally above.
  • the intra 8 ⁇ 8 prediction mode low-pass filtering is performed on reference pixel values prior to calculation of predicted pixel values. Then, based on the reference pixel value after low-pass filtering, a predicted pixel value is calculated according to each prediction mode.
  • Formulas for predicted pixel values in nine prediction modes of the intra 8 ⁇ 8 prediction mode are also described in H.264. It may be similar to the calculation formula defined in H.264 / AVC.
  • the prediction calculation units 43a to 43d of the prediction units 42a to 42d of the above-described intra prediction unit 40 set the reference pixel values rearranged by the rearrangement unit 41 with nine prediction modes of the intra 8 ⁇ 8 prediction mode as candidates. A predicted pixel value corresponding to the prediction mode may be calculated.
  • FIG. 7 is an explanatory diagram for describing prediction mode candidates in the intra 16 ⁇ 16 prediction mode. Referring to FIG. 7, four 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 horizontal.
  • Mode 2 represents DC prediction (average value prediction).
  • Mode 3 represents plane prediction.
  • the formula for calculating predicted pixel values in the four prediction modes of the intra 16 ⁇ 16 prediction mode is also described in H. It may be similar to the calculation formula defined in H.264 / AVC.
  • the prediction calculation units 43a to 43d of the prediction units 42a to 42d of the above-described intra prediction unit 40 set the reference pixel values rearranged by the rearrangement unit 41 as four prediction modes of the intra 16 ⁇ 16 prediction mode as candidates. A predicted pixel value corresponding to the prediction mode may be calculated.
  • the prediction mode for the color difference signal may be set independently of the prediction mode for the luminance signal.
  • the prediction mode for the color difference signal may include four prediction modes, similar to the above-described intra 16 ⁇ 16 prediction mode for the luminance signal.
  • mode 0 of prediction mode for color difference signals is DC prediction
  • mode 1 is horizontal prediction
  • mode 2 is vertical prediction
  • mode 3 is plane prediction.
  • FIG. 8 shows a pixel to be encoded in a macro block and reference pixels around the macro block before the reordering by the reordering unit 41 of the intra prediction unit 40.
  • a macroblock MB of 16 ⁇ 16 pixels includes 16 sub-blocks SB each having 4 ⁇ 4 pixels.
  • One sub block SB includes 16 pixels represented by lower case alphabets a to p, respectively.
  • the first line L1 of the macroblock MB includes a total of 16 pixels a, b, c and d of four subblocks.
  • the order of the pixels in the first line L1 is a, b, c, d, a, b, c, d,.
  • the second line L2 of the macroblock MB includes a total of 16 pixels e, f, g and h of four subblocks.
  • the order of the pixels of the second line L2 is e, f, g, h, e, f, g, h,.
  • the third line L3 of the macroblock MB includes a total of sixteen pixels i, j, k and l of four subblocks.
  • the order of the pixels in the third line L3 is i, j, k, l, i, j, k, l,.
  • the fourth line L4 of the macroblock MB includes a total of 16 pixels m, n, o and p of four subblocks.
  • the order of the pixels of the fourth line L4 is m, n, o, p, m, n, o, p,.
  • the reference pixels represented by capital letters A to D, A ′, E, I, M and X are shown around the macro block MB.
  • the order of reference pixels on the first line L1 of the macroblock MB is A, B, C, D, A, B, C, D,.
  • FIG. 9 is an explanatory diagram for describing rearrangement by the rearrangement unit 41 of the pixels to be encoded shown in FIG.
  • the sorting rules of pixel values by the sorting unit 41 are, for example, the following rules. That is, the rearrangement unit 41 causes the pixel value of the first pixel of the sub block SB1 included in the macro block MB and the pixel value of the second pixel of the sub block SB2 to be continuous.
  • the pixel positions in the subblocks of the first pixel and the second pixel may be the same position.
  • the first pixel is the pixel a of the subblock SB1
  • the second pixel is the pixel a of the subblock SB2.
  • the reordering unit 41 further causes the pixel value of the pixel a of the subblock SB3 and the pixel value of the pixel a of the subblock SB4 to continue to the pixel values of the first pixel and the second pixel.
  • the rearrangement unit 41 continuously outputs the pixel values of the pixels a of the sub blocks SB1 to SB4 to the first prediction unit 42a (branch # 1 in FIG. 9).
  • the reordering unit 41 causes the pixel value of the third pixel of the subblock SB1 included in the macro block MB and the pixel value of the fourth pixel of the subblock SB2 to be continuous.
  • the pixel positions in the subblocks of the third pixel and the fourth pixel may be the same position.
  • the third pixel is the pixel b of the sub block SB1
  • the fourth pixel is the pixel b of the sub block SB2.
  • the reordering unit 41 causes the pixel value of the pixel b of the subblock SB3 and the pixel value of the pixel b of the subblock SB4 to further continue to the pixel values of the third pixel and the fourth pixel.
  • the rearrangement unit 41 continuously outputs the pixel values of the pixels b of the sub blocks SB1 to SB4 to the second prediction unit 42b (branch # 2 in FIG. 9).
  • the rearrangement unit 41 continuously outputs the pixel values of the pixels c of the sub blocks SB1 to SB4 to the third prediction unit 42c (branch # 3 in FIG. 9). Further, the rearrangement unit 41 continuously outputs the pixel values of the pixels d of the sub blocks SB1 to SB4 to the fourth prediction unit 42d (branch # 4 in FIG. 9).
  • the first pixel, the second pixel, the third pixel, and the fourth pixel belong to the same line in the image.
  • the reordering unit 41 needs to hold only the pixel values of one line in the reordering process, an increase in memory resources required for the reordering process is avoided.
  • the rearrangement process by the rearrangement unit 41 is similarly performed on the second line L2 of the macro block MB. That is, the rearrangement unit 41 continuously outputs the pixel values of the pixels e of the sub blocks SB1 to SB4 to the first prediction unit 42a. Also, the rearrangement unit 41 continuously outputs the pixel values of the pixels f of the sub blocks SB1 to SB4 to the second prediction unit 42b. Also, the rearrangement unit 41 continuously outputs the pixel values of the pixels g of the sub blocks SB1 to SB4 to the third prediction unit 42c. In addition, the rearrangement unit 41 continuously outputs the pixel values of the pixels h of the sub blocks SB1 to SB4 to the fourth prediction unit 42d.
  • FIG. 10 is an explanatory diagram for describing rearrangement of the reference pixels shown in FIG. 8 by the rearrangement unit 41.
  • FIG. 10 is an explanatory diagram for describing rearrangement of the reference pixels shown in FIG. 8 by the rearrangement unit 41.
  • the rearrangement unit 41 is configured such that the pixel value of the first reference pixel adjacent to the first pixel and the pixel value of the second reference pixel adjacent to the second pixel are continuous, and the pixel of the third reference pixel adjacent to the third pixel
  • the reference pixel values are rearranged so that the value and the pixel value of the fourth reference pixel adjacent to the fourth pixel are continuous.
  • the first pixel is the pixel a of the sub-block SB1.
  • the second pixel is the pixel a of the sub block SB2.
  • the pixel values of the reference pixels A on the pixels a of the sub blocks SB1 to SB4 are continuous after the rearrangement by the rearrangement unit 41.
  • the rearrangement unit 41 continuously outputs these reference pixel values, for example, to the first prediction unit 42a (branch # 1 in FIG. 10).
  • the third pixel is the pixel b of the sub block SB1.
  • the fourth pixel is the pixel b of the sub block SB2.
  • the pixel values of the reference pixels B on the pixels b of the sub blocks SB1 to SB4 are continuous after the rearrangement by the rearrangement unit 41.
  • the rearrangement unit 41 continuously outputs these reference pixel values, for example, to the second prediction unit 42b (branch # 2 in FIG. 10).
  • the rearrangement unit 41 continuously outputs the pixel value of the reference pixel C on the pixels c of the sub blocks SB1 to SB4 to, for example, the third prediction unit 42c (branch # 3 in FIG. 10).
  • the reordering unit 41 continuously outputs the pixel value of the reference pixel D on the pixel d of the sub blocks SB1 to SB4 to, for example, the fourth prediction unit 42d (branch # 4 in FIG. 10).
  • the reordering unit 41 does not rearrange the pixel values of the reference pixels A ′, E, I, and M on the left side of the macro block MB, and the first prediction unit 42 a, the second prediction unit 42 b, and the third prediction unit 42 b It outputs to the prediction part 42c and the 4th prediction part 42d.
  • FIGS. 11A and 11B are explanatory diagrams for describing four parallel processing by the prediction units 42 a to 42 d of the intra prediction unit 40. Referring to FIGS. 11A and 11B, the process of generating predicted pixel values for the pixels in the macro block MB shown in FIG. 8 is grouped into first, second, third and fourth groups.
  • the first prediction unit 42a uses the pixel A as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the second prediction unit 42 b uses the pixel B as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the third prediction unit 42 c uses the pixel C as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the fourth prediction unit 42 d uses the pixel D as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the second group includes generation of a predicted pixel value of the pixel e by the first prediction unit 42a, generation of a predicted pixel value of the pixel f by the second prediction unit 42b, and generation of a predicted pixel value of the pixel g by the third prediction unit 42c. And generation of a predicted pixel value of the pixel h by the fourth prediction unit 42d. Generation of predicted pixel values of these four pixels is performed in parallel for each line.
  • the first prediction unit 42a uses a pixel a as the upper reference pixel, a pixel A as the upper right reference pixel, a pixel A ′ as the upper left reference pixel, and a pixel E as the left reference pixel.
  • the second prediction unit 42 b uses a pixel b as the upper reference pixel, a pixel B as the upper right reference pixel, a pixel A ′ as the upper left reference pixel, and a pixel E as the left reference pixel.
  • the third prediction unit 42 c uses the pixel c as the upper reference pixel, the pixel C as the upper right reference pixel, the pixel A ′ as the upper left reference pixel, and the pixel E as the left reference pixel.
  • the fourth prediction unit 42d uses a pixel d as the upper reference pixel, a pixel D as the upper right reference pixel, a pixel A ′ as the upper left reference pixel, and a pixel E as the left reference pixel.
  • the third group is a generation of a predicted pixel value of the pixel i by the first prediction unit 42a, a generation of a predicted pixel value of the pixel j by the second prediction unit 42b, a generation of a predicted pixel value of the pixel k by the third prediction unit 42c, And generation of a predicted pixel value of the pixel l by the fourth prediction unit 42d. Generation of predicted pixel values of these four pixels is performed in parallel for each line.
  • the first prediction unit 42a uses the pixel e as the upper reference pixel, the pixel A as the upper right reference pixel, the pixel E as the upper left reference pixel, and the pixel I as the left reference pixel.
  • the second prediction unit 42b uses a pixel f as the upper reference pixel, a pixel B as the upper right reference pixel, a pixel E as the upper left reference pixel, and a pixel I as the left reference pixel.
  • the third prediction unit 42c uses a pixel g as the upper reference pixel, a pixel C as the upper right reference pixel, a pixel E as the upper left reference pixel, and a pixel I as the left reference pixel.
  • the fourth prediction unit 42d uses the pixel h as the upper reference pixel, the pixel D as the upper right reference pixel, the pixel E as the upper left reference pixel, and the pixel I as the left reference pixel.
  • the fourth group is a generation of a predicted pixel value of the pixel m by the first prediction unit 42a, a generation of a predicted pixel value of the pixel n by the second prediction unit 42b, a generation of a predicted pixel value of the pixel o by the third prediction unit 42c, And generation of a predicted pixel value of the pixel p by the fourth prediction unit 42d. Generation of predicted pixel values of these four pixels is performed in parallel for each line.
  • the first prediction unit 42a uses the pixel i as the upper reference pixel, the pixel A as the upper right reference pixel, the pixel I as the upper left reference pixel, and the pixel M as the left reference pixel.
  • the second prediction unit 42b uses a pixel j as the upper reference pixel, a pixel B as the upper right reference pixel, a pixel I as the upper left reference pixel, and a pixel M as the left reference pixel.
  • the third prediction unit 42c uses a pixel k as the upper reference pixel, a pixel C as the upper right reference pixel, a pixel I as the upper left reference pixel, and a pixel M as the left reference pixel.
  • the fourth prediction unit 42d uses the pixel 1 as the upper reference pixel, the pixel D as the upper right reference pixel, the pixel I as the upper left reference pixel, and the pixel M as the left reference pixel.
  • the intra prediction unit 40 waits for the completion of the intra prediction process for each sub block by the four parallel processing by the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d. Instead, intra prediction processing targeting four sub blocks can be executed in parallel.
  • the intra prediction unit 40 may execute the intra prediction process in the above-described intra 8 ⁇ 8 prediction mode or intra 16 ⁇ 16 prediction mode.
  • intra prediction processing in the intra 8 ⁇ 8 prediction mode can be performed in two parallels.
  • the intra prediction process in the intra 8 ⁇ 8 prediction mode is executed in four parallel, and the intra prediction process in the intra 16 ⁇ 16 prediction mode is performed. 2 can be executed in parallel.
  • the intra prediction unit 40 performs intra prediction processing in all the available prediction modes of these three sub block sizes, and selects one optimal sub block size and one optimal prediction mode for each sub block. You may choose.
  • the intra prediction unit 40 may execute parallel intra prediction processing only in the intra 4 ⁇ 4 prediction mode.
  • the intra prediction unit 40 may execute parallel intra prediction processing only in the intra 4 ⁇ 4 prediction mode.
  • the sub-block size which is a processing unit of intra prediction is larger, the distance from the pixel to be encoded to the reference pixel is longer and the correlation between these pixels is smaller. . Therefore, in many cases, performing intra prediction in the intra 4 ⁇ 4 prediction mode in which the processing unit of intra prediction is smaller is more likely to obtain prediction results closer to the original image.
  • FIG. 12 is an explanatory diagram for describing parallelization of orthogonal transformation by the orthogonal transformation unit 14.
  • pixel values output in parallel from the intra prediction unit 40 are shown. It is assumed that the output order of pixel values is earlier from top to bottom in the figure.
  • the first prediction unit 42a predicted pixel values of the pixel a of the subblocks SB1, SB2, SB3, and SB4 and the pixel e of the subblocks SB1, SB2, SB3, and SB4 are sequentially output.
  • the second prediction unit 42b predicted pixel values of the pixel b of the subblocks SB1, SB2, SB3, and SB4 and the pixel f of the subblocks SB1, SB2, SB3, and SB4 are sequentially output.
  • the predicted pixel values of the pixels c of the subblocks SB1, SB2, SB3 and SB4 and the pixels g of the pixels g of the subblocks SB1, SB2, SB3 and SB4 are sequentially output from the third prediction unit 42c.
  • predicted pixel values of the pixel d of the subblocks SB1, SB2, SB3, and SB4 and the pixel h of the subblocks SB1, SB2, SB3, and SB4 are sequentially output.
  • the orthogonal transformation unit 14 has four processing branches, and sixteen pixels a to p of the sub block SB1 are input to the first processing branch.
  • the sixteen pixels a to p of the sub block SB2 are input to the second processing branch.
  • the sixteen pixels a to p of the sub block SB3 are input to the third processing branch.
  • the sixteen pixels a to p of the sub block SB4 are input to the fourth processing branch. Then, the orthogonal transformation unit 14 executes the orthogonal transformation processing on these four sub blocks SB1 to SB4 in parallel.
  • the subtraction unit 13, the quantization unit 15, the inverse quantization unit 21, the inverse orthogonal transformation unit 22, and the addition unit 23 also execute the processing of each unit in parallel in parallel in the intra prediction mode.
  • the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d of the intra prediction unit 40 increase the code amount by encoding 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 the block to which the reference pixel belongs.
  • estimated prediction mode when the estimated prediction mode (hereinafter referred to as estimated prediction mode) is equal to the optimal prediction mode selected using the cost function value, only information indicating that the prediction mode can be estimated is predicted. It may be encoded as mode information.
  • the information indicating that the prediction mode can be estimated is, for example, H.264. It corresponds to "MostProbableMode" in H.264 / AVC.
  • FIG. 13 is an explanatory diagram for describing estimation of a prediction direction.
  • a sub block SBc to be encoded and a reference block SBa on the left of the sub block SBc and a reference block SBb on the sub block SBc are shown.
  • the reference prediction mode set for the reference block SBa is Ma
  • the reference prediction mode set for the reference block SBb is Mb.
  • the estimated prediction mode for the sub-block SBc to be encoded is Mc.
  • the first prediction unit 42a of the intra prediction unit 40 may not use the H.
  • FIG. 14 is an explanatory diagram for explaining the reduction of the processing time by four parallel processing.
  • the upper part of FIG. 14 schematically shows the flow of serial image encoding processing when the parallel processing according to the present embodiment is not implemented.
  • serial image coding processing for example, after the generation of reference pixel values for the sub block SB0 is completed, intra prediction for the sub block SB1 adjacent to the sub block SB0 is started. Thereafter, orthogonal transformation, quantization, inverse quantization, inverse quantization, inverse orthogonal transformation, and intra compensation (addition of difference pixel value and predicted pixel value) for sub block SB1 are performed in series, and sub block SB1 Reference pixel values for are generated.
  • intra prediction for the sub block SB2 adjacent to the sub block SB1 is started. Thereafter, processing such as orthogonal transformation for the sub block SB2 is performed in series.
  • the intra prediction for the four sub blocks SB1, SB2, SB3 and SB4 is performed in parallel. It is started. Thereafter, orthogonal transformation, quantization, inverse quantization, inverse quantization, inverse orthogonal transformation, and intra compensation for subblocks SB1, SB2, SB3 and SB4 are performed in parallel, and subblocks SB1, SB2, SB3 and SB4. Reference pixel values for are generated. Then, intra prediction of the sub blocks SB5, SB6, etc. is subsequently started in parallel.
  • Such four parallel processing eliminates the bottleneck of the intra prediction processing and improves the processing speed of the image coding processing. As a result, it is easier to realize, for example, image coding processing in real time.
  • FIG. 15A and FIG. 15B are explanatory diagrams for describing two parallel processing in the intra 4 ⁇ 4 prediction mode. Referring to FIGS. 15A and 15B, the process of generating predicted pixel values for the pixels in the macro block MB shown in FIG. 8 is the first, second, third, fourth, fifth, sixth, seventh And the eighth group.
  • the first group includes generation of a predicted pixel value of the pixel a by the first processing branch and generation of a predicted pixel value of the pixel c by the second processing branch.
  • the first processing branch uses the pixel A as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the second processing branch uses the pixel C as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the second group includes generation of a predicted pixel value of the pixel b by the first processing branch and generation of a predicted pixel value of the pixel d by the second processing branch.
  • the first processing branch uses the pixel B as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel a as the left reference pixel.
  • the second processing branch uses the pixel D as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel c as the left reference pixel.
  • the third group includes generation of a predicted pixel value of the pixel e by the first processing branch and generation of a predicted pixel value of the pixel g by the second processing branch.
  • the first processing branch uses the pixel a as the upper reference pixel, the pixel A as the upper right reference pixel, the pixel A ′ as the upper left reference pixel, and the pixel E as the left reference pixel.
  • the second processing branch uses the pixel c as the upper reference pixel, the pixel C as the upper right reference pixel, the pixel A ′ as the upper left reference pixel, and the pixel E as the left reference pixel.
  • the fourth group includes the generation of the predicted pixel value of the pixel f by the first processing branch and the generation of the predicted pixel value of the pixel h by the second processing branch.
  • the first processing branch uses a pixel b as the upper reference pixel, a pixel B as the upper right reference pixel, a pixel A ′ as the upper left reference pixel, and a pixel e as the left reference pixel.
  • the second processing branch uses the pixel d as the upper reference pixel, the pixel D as the upper right reference pixel, the pixel A ′ as the upper left reference pixel, and the pixel g as the left reference pixel.
  • processing from the fifth group to the eighth group can also be performed according to the content shown in FIG. 15B.
  • FIGS. 16A and 16B are explanatory diagrams for describing eight parallel processing in the intra 4 ⁇ 4 prediction mode. Referring to FIGS. 16A and 16B, the process of generating predicted pixel values for the pixels in the macro block MB shown in FIG. 8 is grouped into first and second groups.
  • the first processing branch uses the pixel A as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the second processing branch uses the pixel B as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the third processing branch uses the pixel C as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the fourth processing branch uses the pixel D as the upper and upper right reference pixels, the pixel X as the upper left reference pixel, and the pixel A ′ as the left reference pixel.
  • the fifth processing branch uses the pixel A as the upper and upper right reference pixels, the pixel E as the upper left reference pixel, and the pixel I as the left reference pixel.
  • the sixth processing branch uses the pixel B as the upper and upper right reference pixels, the pixel E as the upper left reference pixel, and the pixel I as the left reference pixel.
  • the seventh processing branch uses the pixel C as the upper and upper right reference pixels, the pixel E as the upper left reference pixel, and the pixel I as the left reference pixel.
  • the eighth processing branch uses the pixel D as the upper and upper right reference pixels, the pixel E as the upper left reference pixel, and the pixel I as the left reference pixel.
  • processing of the second group may be performed according to the content shown in FIG. 16B.
  • the number of parallel processing branches and the intra prediction prediction accuracy are in a trade-off relationship. If the number of processing branches in parallel processing is excessively increased, the distance from the pixel to be encoded to the reference pixel is increased, and the prediction accuracy of intra prediction may be lost. Therefore, it is desirable that the number of processing branches of parallel processing be selected to meet these needs in consideration of the need for processing speed and the need for compression rate or image quality.
  • FIG. 17 is a flowchart illustrating an example of the flow of intra prediction processing at the time of encoding by the intra prediction unit 40 according to the present embodiment.
  • the reordering unit 41 reorders 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 sets the first part to the first prediction part 42a, the second part to the second prediction part 42b, and the third part to the third of the series of reference pixel values after rearrangement. The fourth part is output to the prediction unit 42c and the fourth prediction unit 42d.
  • the sorting unit 41 sorts the pixel values included in the macro block in the original image according to the rule illustrated in FIG. 9 (step S110). Then, the rearrangement unit 41 predicts the first part to the first prediction part 42a, the second part to the second prediction part 42b, and the third part to the third of the series of pixel values after rearrangement. The fourth part is output to the part 42c and the fourth prediction part 42d.
  • the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d for example, target the pixel values of the first to fourth lines in the macro block in parallel.
  • the intra prediction process is performed (step S120).
  • each of the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d selects the optimal prediction mode of each block (step S125).
  • the prediction mode information representing the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16. Further, predicted pixel data including a predicted pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d for example, target the pixel values of the fifth to eighth lines in the macro block in parallel
  • the intra prediction process is performed (step S130).
  • each of the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d selects the optimal prediction mode of each block (step S135).
  • the prediction mode information representing the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16. Further, predicted pixel data including a predicted pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d for example, target the pixel values of the ninth to twelfth lines in the macro block in parallel
  • the intra prediction process is performed (step S140).
  • each of the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d selects the optimal prediction mode of each block (step S145).
  • the prediction mode information representing the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16. Further, predicted pixel data including a predicted pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d for example, target the pixel values of the thirteenth to sixteenth lines in the macro block in parallel
  • the intra prediction process is performed (step S150).
  • each of the first prediction unit 42a, the second prediction unit 42b, the third prediction unit 42c, and the fourth prediction unit 42d selects the optimum prediction mode of each block (step S155).
  • the prediction mode information representing the optimal prediction mode selected here is output from the intra prediction unit 40 to the lossless encoding unit 16.
  • predicted pixel data including a predicted pixel value corresponding to the optimal prediction mode is output from the intra prediction unit 40 to the subtraction unit 13.
  • FIG. 18 is a block diagram showing an example of the configuration of the image decoding apparatus 60 according to an embodiment.
  • the image decoding device 60 includes an accumulation buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transformation unit 64, an addition unit 65, a deblocking filter 66, a rearrangement buffer 67, and D / A. (Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, motion compensation unit 80, and intra prediction unit 90.
  • D / A Digital to Analogue
  • the accumulation buffer 61 temporarily accumulates the coded stream input through 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 scheme used during encoding. Further, the lossless decoding unit 62 decodes the information multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header area of the encoded stream may include, for example, information on inter prediction in a block header and information on intra prediction.
  • the lossless decoding unit 62 outputs information on inter prediction to the motion compensation unit 80. In addition, the lossless decoding unit 62 outputs information on intra prediction to the intra prediction unit 90.
  • the inverse quantization unit 63 inversely quantizes the quantized data after being 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 dequantization unit 63 according to the orthogonal transform scheme 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 adding unit 65 outputs the generated decoded image data to the deblocking 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 deblocking 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 converter 68.
  • the D / A converter 68 converts the digital image data input from the reordering buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an image, for example, by outputting an analog image signal to a display (not shown) connected to the image decoding device 60.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the deblocking filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 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 69 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 69 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 specified, the selector 71 supplies predicted image data output from the motion compensation unit 80 to the addition unit 65. Further, when the intra prediction mode is designated, the selector 71 supplies predicted image data output from the intra prediction unit 90 to the addition unit 65.
  • the motion compensation unit 80 performs motion compensation processing based on the information on inter prediction 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 on 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 processing by the intra prediction unit 90 is parallelized by a plurality of processing branches. The parallel intra prediction processing by the intra prediction unit 90 will be described in more detail later.
  • processing by the above-described inverse quantization unit 63, inverse orthogonal transform unit 64, and addition unit 65 for the intra prediction mode may also be parallelized.
  • the inverse quantization unit 63, the inverse orthogonal transformation 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. While each part in the parallel processing segment 72 performs parallel processing using multiple processing branches in intra prediction mode, it may use only one processing branch in inter prediction mode.
  • FIG. 19 is a block diagram showing an example of a detailed configuration of the intra prediction unit 90 of the image decoding device 60 shown in FIG.
  • the intra prediction unit 90 includes a rearrangement unit 91 and four prediction units 92a to 92d. That is, in the example of FIG. 19, the intra prediction unit 90 includes four processing branches arranged in parallel. However, the number of processing branches included in the intra prediction unit 90 is not limited to this example.
  • the intra prediction unit 90 may have, for example, two or eight processing branches.
  • the rearrangement unit 91 rearranges the reference pixel values included in the reference image data supplied from the frame memory 69 according to a predetermined rule.
  • the reference image data supplied from the frame memory 69 to the intra prediction unit 90 is data on a decoded part in the same image as the image to be decoded. Then, the rearrangement unit 91 sets the first part to the first prediction part 92a, the second part to the second prediction part 92b, and the third part to the third of the series of reference pixel values after rearrangement. It outputs the fourth part to the prediction unit 92c and the fourth prediction unit 92d.
  • the sorting rule of the pixel values of the reference pixels by the sorting unit 91 may be, for example, a rule as described with reference to FIG. That is, the reordering unit 91 sets the pixel value of the first reference pixel adjacent to the first pixel of the first sub block included in the macroblock MB in the image and the second pixel of the second sub block included in the macroblock MB.
  • the pixel positions in the subblocks of the first pixel and the second pixel may be the same position.
  • the first pixel is the pixel a of the subblock SB1
  • the second pixel is the pixel a of the subblock SB2
  • the first reference pixel is the reference pixel A on the pixel a of the subblock SB1
  • the second reference pixel is the second sub
  • This is the reference pixel A on the pixel a of the block SB2 (see FIGS. 8 to 10).
  • the reordering unit 41 performs the reference pixel A on the pixel a of the sub block SB3 and the pixel value of the reference pixel A on the pixel a of the sub block SB4 and four reference pixels further to the right.
  • the pixel value of A is made continuous with the pixel values of the first reference pixel and the second reference pixel.
  • the rearrangement unit 41 continuously outputs the pixel values of the eight reference pixels A to the first prediction unit 92a (branch # 1 in FIG. 10).
  • the reordering unit 91 sets the pixel value of the third reference pixel adjacent to the third pixel of the first sub block included in the macro block MB in the image and the fourth sub block included in the macro block MB.
  • the pixel values of the fourth reference pixels adjacent to the pixel are made continuous.
  • the pixel positions in the subblocks of the third pixel and the fourth pixel may be the same position.
  • the third pixel is the pixel b of the sub block SB1
  • the fourth pixel is the pixel b of the sub block SB2
  • the third reference pixel is the reference pixel B above the pixel b of the sub block SB1
  • the second reference pixel is the second sub This is a reference pixel B on the pixel b of the block SB2 (see FIGS.
  • the reordering unit 41 sets the pixel value of the reference pixel B on the pixel b of the sub block SB3 and the pixel value of the reference pixel B on the pixel b of the sub block SB4 and four reference pixels further to the right.
  • the pixel value of B is made continuous with the pixel values of the third reference pixel and the fourth reference pixel.
  • the rearrangement unit 41 continuously outputs the pixel values of the eight reference pixels B to the first prediction unit 92a (branch # 2 in FIG. 10).
  • the rearrangement unit 91 continuously outputs the pixel value of the reference pixel C on the pixels c of the sub blocks SB1 to SB4 to the third prediction unit 92c (branch # 3 in FIG. 10). Further, the rearrangement unit 91 continuously outputs the pixel value of the reference pixel D on the pixels d of the sub blocks SB1 to SB4 to the fourth prediction unit 92d (branch # 4 in FIG. 10).
  • the prediction units 92a to 92d use the pixel values of the reference pixels rearranged by the rearrangement unit 91 to generate predicted pixel values for the macro block to be decoded.
  • the first prediction unit 92a includes a first mode buffer 93a and a first prediction calculation unit 94a.
  • the first mode buffer 93a acquires prediction mode information included in the information on 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 (for example, an intra 4 ⁇ 4 prediction mode or an intra 8 ⁇ 8 prediction mode) indicating the size of a sub-block which is a processing unit of intra prediction.
  • the prediction mode information includes, for example, information (for example, any one of mode 0 to mode 8) representing a prediction direction selected as optimal at the time of image coding among a plurality of prediction directions.
  • the prediction mode information may include information specifying that the estimated prediction mode should be used, but in this case, the prediction mode information does not include a prediction mode number indicating a prediction direction.
  • the first prediction calculation unit 94a calculates a prediction pixel value from the reference pixel values rearranged by the rearrangement unit 91 according to the prediction mode information stored in the first mode buffer 93a. For example, when the prediction mode information indicates mode 0 in the intra 4 ⁇ 4 prediction mode, the first prediction calculation unit 94a sets the prediction pixel value of the pixel to be decoded to the reference pixel value on the pixel. Set to equal values (see mode 0 in FIG. 3). After such processing, the first prediction unit 92a outputs predicted image data including the predicted pixel value calculated by the first prediction calculation unit 94a to the selector 71.
  • the second prediction unit 92b includes a second mode buffer 93b and a second prediction calculation unit 94b.
  • the third prediction unit 92c includes a third mode buffer 93c and a third prediction calculation unit 94c.
  • the fourth prediction unit 92 d includes a fourth mode buffer 93 d and a fourth prediction calculation unit 94 d. Similar to the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d refer to the references rearranged by the rearrangement unit 91 according to the prediction mode information included in the information on intra prediction. Predicted pixel values are generated from the pixel values of the pixels. Then, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d respectively output prediction image data including the generated prediction pixel value to the selector 71 in parallel.
  • FIG. 20 is a flowchart illustrating an example of the flow of the intra prediction process at the time of decoding by the intra prediction unit 90 according to the present embodiment.
  • the reordering unit 91 reorders 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 S210). Then, the rearrangement unit 91 outputs the rearranged reference pixel values to the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d.
  • each of the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d acquires prediction mode information input from the lossless decoding unit 62 (step S220).
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d for example, target the pixel values of the first to fourth lines in the macro block in parallel.
  • the intra prediction process is performed (step S225).
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d respectively add predicted pixel data including predicted pixel values generated from reference pixel values according to the prediction mode information, Output to section 65.
  • each of the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d obtains prediction mode information input from the lossless decoding unit 62 again (step S230). .
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d for example, target the pixel values of the fifth to eighth lines in the macro block in parallel.
  • the intra prediction process is performed (step S235).
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d respectively add predicted pixel data including predicted pixel values generated from reference pixel values according to the prediction mode information, Output to section 65.
  • each of the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d obtains prediction mode information input from the lossless decoding unit 62 again (step S240). .
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d for example, target the pixel values of the ninth to twelfth lines in the macro block in parallel.
  • the intra prediction process is performed (step S245).
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d respectively add predicted pixel data including predicted pixel values generated from reference pixel values according to the prediction mode information, Output to section 65.
  • each of the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d obtains prediction mode information input from the lossless decoding unit 62 again (step S250). .
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d for example, target the pixel values of the thirteenth to sixteenth lines in the macro block in parallel
  • the intra prediction process is performed (step S255).
  • the first prediction unit 92a, the second prediction unit 92b, the third prediction unit 92c, and the fourth prediction unit 92d respectively add predicted pixel data including predicted pixel values generated from reference pixel values according to the prediction mode information, Output to section 65.
  • the image encoding device 10 and the image decoding device 60 according to the embodiments described above are transmitters or receivers for satellite broadcasting, cable broadcasting such as cable TV, distribution over the Internet, distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device which records an image on a medium such as an optical disk, a magnetic disk and a flash memory, or a reproducing device which reproduces an image from the storage medium.
  • a recording device which records an image on a medium such as an optical disk, a magnetic disk and a flash memory
  • a reproducing device which reproduces an image from the storage medium.
  • FIG. 21 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 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.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission means in the television apparatus 900 for receiving a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • 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. Further, the decoder 904 outputs the 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 a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical 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 the video surface 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 audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, 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 device 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 serves as a transmission means in the television apparatus 900 for receiving the coded stream in which the image is coded.
  • the control unit 910 includes a processor such as a central processing unit (CPU) and memories such as a random access memory (RAM) and a read only memory (ROM).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface 911 by executing a program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 has, for example, buttons and switches for the user to operate the television device 900, a receiver of remote control signals, 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 mutually 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.
  • the decoder 904 has the function of the image decoding device 60 according to the above-described embodiment.
  • intra prediction processing can be parallelized to reduce the processing time required for intra prediction.
  • FIG. 22 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the 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 multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • 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 mutually 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.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do 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, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception 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 decompresses and D / A converts audio data 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 an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the content of the e-mail, and stores the e-mail data in the storage medium of the recording and reproduction unit 929.
  • the recording and reproducing unit 929 includes an arbitrary readable and 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 magnetooptical disk, an optical disk, a USB memory, or a memory card. May be
  • the camera unit 926 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, and stores the encoded stream in the storage medium of the recording and reproduction 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 communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded 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 to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream 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.
  • the intra prediction processing can be parallelized to reduce the processing time required for the intra prediction.
  • FIG. 23 shows an example of a schematic configuration of a recording and reproducing apparatus to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. And 950.
  • the 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 coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission means in the recording / reproducing device 940.
  • the external interface 942 is an interface for connecting the recording and reproducing device 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 has a role 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 coded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data on the attached recording medium.
  • the recording medium mounted on 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, etc. .
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of recording video and audio, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Also, 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.
  • the OSD 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface 950 by executing a 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 and reproducing device 940, a receiver of a remote control signal, 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 coding apparatus 10 according to the embodiment described above.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 24 shows an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in 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 is provided.
  • 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 mutually 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.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a 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 an 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 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 to generate 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.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
  • the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • a GUI such as a menu, a button, or a cursor
  • the external interface 966 is configured as, for example, a USB input / output terminal.
  • the external interface 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may 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 in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface 971 by executing a 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. Thereby, in the imaging device 960, intra prediction processing can be parallelized to reduce the processing time required for intra prediction.
  • the image encoding device 10 and the image decoding device 60 according to an embodiment have been described using FIGS. 1 to 24.
  • the intra prediction mode when encoding an image, a plurality of predictions are performed after the pixel values included in the original image and the pixel values included in the reference image are rearranged according to a predetermined rule. The generation of the predicted pixel value and the determination of the optimum prediction mode are executed in parallel by the unit.
  • predicted pixel values according to the prediction mode selected when encoding the image by the plurality of prediction units Are generated in parallel.
  • the pixel values of the pixels at the same position in different sub-blocks are rearranged so as to be continuous, and are input to one prediction unit.
  • each prediction unit calculates each of predicted pixel values for successively input pixel values using one set of common reference pixel values. It can be done.
  • the pixels processed in parallel by the plurality of prediction units are pixels belonging to the same line in the image. Therefore, an increase in memory resources required for the rearrangement process before parallel processing is avoided.
  • each prediction unit can generate predicted pixel values of pixels belonging to the next line based on predicted pixel values generated for pixels belonging to a certain line. . Therefore, even when the intra prediction process is parallelized, the H. It is possible to apply prediction mode candidates as defined by H.264 / AVC.
  • each prediction unit can reduce the code amount of prediction mode information by estimating the prediction direction (prediction mode).
  • not only intra prediction but also processing such as orthogonal transformation, quantization, inverse quantization, and inverse orthogonal transformation may be parallelized.
  • processing speed of the image coding process and the image decoding process in the intra prediction mode can be further increased.
  • the method of transmitting such information is not limited to such an example.
  • the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
  • the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image. Means That is, the information may be transmitted on a different transmission path from 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).
  • the information and the image (or bit stream) may be associated with each other in any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
  • Image coding device (image processing device) 14 orthogonal transform unit 41 reordering unit 42a first prediction unit 42b second prediction unit 60 image decoding apparatus (image processing apparatus) 64 Inverse Orthogonal Transform Unit 91 Reorder Unit 92a First Predictor 92b Second Predictor

Landscapes

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

Abstract

【課題】イントラ予測に要する処理時間を低減すること。 【解決手段】画像内のマクロブロックに含まれる第1サブブロックの第1画素の画素値及び上記マクロブロックに含まれる第2サブブロックの第2画素の画素値が連続し、並びに上記第1サブブロックの第3画素の画素値及び上記第2サブブロックの第4画素の画素値が連続するように、上記画像に含まれる画素値を並び替える並び替え部と、上記並び替え部により並び替えられた画素値を用いて、上記第1画素及び上記第2画素の予測画素値を生成する第1予測部と、上記並び替え部により並び替えられた画素値を用いて、上記第1予測部の処理と並列的に、上記第3画素及び上記第4画素の予測画素値を生成する第2予測部と、を備える画像処理装置を提供する。

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画素の画素値及び上記マクロブロックに含まれる第2サブブロックの第2画素の画素値が連続し、並びに上記第1サブブロックの第3画素の画素値及び上記第2サブブロックの第4画素の画素値が連続するように、上記画像に含まれる画素値を並び替える並び替え部と、上記並び替え部により並び替えられた画素値を用いて、上記第1画素及び上記第2画素の予測画素値を生成する第1予測部と、上記並び替え部により並び替えられた画素値を用いて、上記第1予測部の処理と並列的に、上記第3画素及び上記第4画素の予測画素値を生成する第2予測部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
 また、上記並び替え部は、上記第1画素に隣接する第1参照画素の画素値及び上記第2画素に隣接する第2参照画素の画素値が連続し、並びに上記第3画素に隣接する第3参照画素の画素値及び上記第4画素に隣接する第4参照画素の画素値が連続するように、上記画像に含まれる参照画素の画素値をさらに並び替えてもよい。
 また、上記第1サブブロック内での上記第1画素の画素位置と上記第2サブブロック内での上記第2画素の画素位置とは同じ位置であり、上記第1サブブロック内での上記第3画素の画素位置と上記第2サブブロック内での上記第4画素の画素位置とは同じ位置であってもよい。
 また、上記第1画素、上記第2画素、上記第3画素、及び上記第4画素は、上記画像内の同じラインに属する画素であってもよい。
 また、上記並び替え部は、上記第1サブブロックの第5画素の画素値及び上記第2サブブロックの第6画素の画素値が連続するように、上記画像に含まれる画素値をさらに並び替え、上記第1予測部は、上記第1画素及び上記第2画素について生成した予測画素値に基づいて、上記第5画素及び上記第6画素の予測画素値をさらに生成してもよい。
 また、上記第5画素及び上記第6画素は、上記画像内の上記第1画素及び上記第2画素とは異なるラインに属する画素であってもよい。
 また、上記第1予測部又は上記第2予測部は、処理対象の画素の左の画素が当該処理対象の画素と並列処理される画素である場合には、予測モード情報の符号量の削減のための推定予測モードを、上記処理対象の画素が属するサブブロックの上のサブブロックに設定された予測モードに基づいて決定してもよい。
 また、上記第1予測部及び上記第2予測部は、各画素の予測画素値の生成を、イントラ4×4予測モードで実行してもよい。
 また、上記画像処理装置は、上記第1サブブロックについての直交変換と上記第2サブブロックについての直交変換とを並列的に実行する直交変換部、をさらに備えてもよい。
 また、本開示によれば、画像を処理するための画像処理方法において、画像内のマクロブロックに含まれる第1サブブロックの第1画素の画素値及び上記マクロブロックに含まれる第2サブブロックの第2画素の画素値が連続し、並びに上記第1サブブロックの第3画素の画素値及び上記第2サブブロックの第4画素の画素値が連続するように、上記画像に含まれる画素値を並び替えることと、並び替えられた画素値を用いて、上記第1画素及び上記第2画素の予測画素値を生成することと、並び替えられた画素値を用いて、上記第1画素及び上記第2画素の予測画素値の生成と並列的に、上記第3画素及び上記第4画素の予測画素値を生成することと、を含む画像処理方法が提供される。
 また、本開示によれば、画像内のマクロブロックに含まれる第1サブブロックの第1画素に隣接する第1参照画素の画素値及び上記マクロブロックに含まれる第2サブブロックの第2画素に隣接する第2参照画素の画素値が連続し、並びに上記第1サブブロックの第3画素に隣接する第3参照画素の画素値及び上記第2サブブロックの第4画素に隣接する第4参照画素の画素値が連続するように、上記画像に含まれる参照画素の画素値を並び替える並び替え部と、上記並び替え部により並び替えられた参照画素の画素値を用いて、上記第1画素及び上記第2画素の予測画素値を生成する第1予測部と、上記並び替え部により並び替えられた参照画素の画素値を用いて、上記第1予測部の処理と並列的に、上記第3画素及び上記第4画素の予測画素値を生成する第2予測部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、上記第1サブブロック内での上記第1画素の画素位置と上記第2サブブロック内での上記第2画素の画素位置とは同じ位置であり、上記第1サブブロック内での上記第3画素の画素位置と上記第2サブブロック内での上記第4画素の画素位置とは同じ位置であってもよい。
 また、上記第1画素、上記第2画素、上記第3画素、及び上記第4画素は、上記画像内の同じラインに属する画素であってもよい。
 また、上記第1予測部は、上記第1画素及び上記第2画素について生成した予測画素値に基づいて、上記第1サブブロックの第5画素及び上記第2サブブロックの第6画素の予測画素値をさらに生成してもよい。
 また、上記第5画素及び上記第6画素は、上記画像内の上記第1画素及び上記第2画素とは異なるラインに属する画素であってもよい。
 また、上記第1予測部又は上記第2予測部は、処理対象の画素の左の画素が当該処理対象の画素と並列処理される画素である場合には、予測モード情報の符号量の削減のための推定予測モードを、上記処理対象の画素が属するサブブロックの上のサブブロックに設定された予測モードに基づいて決定してもよい。
 また、上記第1予測部及び上記第2予測部は、各画素の予測画素値の生成を、イントラ4×4予測モードで実行してもよい。
 また、上記画像処理装置は、上記第1サブブロックについての逆直交変換と上記第2サブブロックについての逆直交変換とを並列的に実行する逆直交変換部、をさらに備えてもよい。
 また、本開示によれば、画像を処理するための画像処理方法において、画像内のマクロブロックに含まれる第1サブブロックの第1画素に隣接する第1参照画素の画素値及び上記マクロブロックに含まれる第2サブブロックの第2画素に隣接する第2参照画素の画素値が連続し、並びに上記第1サブブロックの第3画素に隣接する第3参照画素の画素値及び上記第2サブブロックの第4画素に隣接する第4参照画素の画素値が連続するように、上記画像に含まれる参照画素の画素値を並び替えることと、並び替えられた参照画素の画素値を用いて、上記第1画素及び上記第2画素の予測画素値を生成することと、並び替えられた参照画素の画素値を用いて、上記第1画素及び上記第2画素の予測画素値の生成と並列的に、上記第3画素及び上記第4画素の予測画素値を生成することと、を含む画像処理方法が提供される。
 以上説明したように、本開示に係る画像処理装置及び画像処理方法によれば、イントラ予測に要する処理時間を低減することができる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像符号化装置のイントラ予測部の詳細な構成の一例を示すブロック図である。 イントラ4×4予測モードについて説明するための第1の説明図である。 イントラ4×4予測モードについて説明するための第2の説明図である。 イントラ4×4予測モードについて説明するための第3の説明図である。 イントラ8×8予測モードについて説明するための説明図である。 イントラ16×16予測モードについて説明するための説明図である。 マクロブロック内の画素及び参照画素について説明するための説明図である。 符号化対象の画素値の並び替えについて説明するための説明図である。 参照画素値の並び替えについて説明するための説明図である。 4並列処理について説明するための第1の説明図である。 4並列処理について説明するための第2の説明図である。 直交変換処理の並列化について説明するための説明図である。 予測方向の推定について説明するための説明図である。 4並列処理による処理時間の低減について説明するための説明図である。 2並列処理について説明するための第1の説明図である。 2並列処理について説明するための第2の説明図である。 8並列処理について説明するための第1の説明図である。 8並列処理について説明するための第2の説明図である。 一実施形態に係る符号化時のイントラ予測処理の流れの一例を示すフローチャートである。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置のイントラ予測部の詳細な構成の一例を示すブロック図である。 一実施形態に係る復号時のイントラ予測処理の流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
 また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
  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による並列的なイントラ予測処理については、後により詳細に説明する。
 イントラ予測部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、4つの予測部42a~42d、及びモードバッファ45を有する。即ち、図2の例では、イントラ予測部40は、並列的に配置された4つの処理分岐を含む。しかしながら、イントラ予測部40が有する処理分岐の数は、かかる例に限定されない。後に説明するように、イントラ予測部40は、例えば2つ又は8つの処理分岐を有していてもよい。
 並び替え部41は、画像(原画像)内のマクロブロックに含まれる画素値を例えばラインごとに読み込み、所定の規則に従って画素値を並び替える。そして、並び替え部41は、並び替え後の一連の画素値のうち第1の部分を第1予測部42aへ、第2の部分を第2予測部42bへ、第3の部分を第3予測部42cへ、及び第4の部分を第4予測部42dへ出力する。
 また、並び替え部41は、フレームメモリ25から供給される参照画像データに含まれる参照画素値を、所定の規則に従って並び替える。フレームメモリ25からイントラ予測部40に供給される参照画像データは、符号化対象の画像と同じ画像内の符号化済みの部分についてのデータである。そして、並び替え部41は、並び替え後の一連の参照画素値のうち第1の部分を第1予測部42aへ、第2の部分を第2予測部42bへ、第3の部分を第3予測部42cへ、及び第4の部分を第4予測部42dへ出力する。
 従って、本実施形態において、並び替え部41は、原画像の画素値及び参照画素値を並び替える並び替え手段としての役割を有する。並び替え部41による画素値の並び替えの規則については、後に例を挙げて説明する。また、並び替え部41は、並び替えた画素値を各処理分岐に分配する逆多重化手段としての役割をも有する。
 予測部42a~42dは、並び替え部41により並び替えられた原画像の画素値及び参照画素値を用いて、符号化対象のマクロブロックについての予測画素値を生成する。
 より具体的には、第1予測部42aは、第1予測計算部43a及び第1モード判定部44aを含む。第1予測計算部43aは、並び替え部41により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。予測モードは、主に、予測に用いる参照画素から符号化対象の画素への方向(予測方向という)を特定する。1つの予測モードを指定することにより、符号化対象の画素について、予測画素値の計算に用いるべき参照画素と、予測画素値の計算式とが特定され得る。本実施形態に係るイントラ予測の際に使用され得る予測モードの例について、後に例を挙げて説明する。第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へ出力する。
 第3予測部42cは、第3予測計算部43c及び第3モード判定部44cを含む。第3予測計算部43cは、並び替え部41により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。第3モード判定部44cは、並び替え部41により並び替えられた原画像の画素値、第3予測計算部43cにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第3モード判定部44cは、コスト関数値が最小となる予測モードを、最適な予測モードとして選択する。第3予測部42cは、このような処理の後、第3モード判定部44cにより選択された最適な予測モードを表す予測モード情報をモードバッファ45へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ27へ出力する。
 第4予測部42dは、第4予測計算部43d及び第4モード判定部44dを含む。第4予測計算部43dは、並び替え部41により並び替えられた参照画素値から、候補としての複数の予測モードに従って、複数の予測画素値を計算する。第4モード判定部44dは、並び替え部41により並び替えられた原画像の画素値、第4予測計算部43dにより計算された予測画素値、及び想定される符号量などに基づく所定のコスト関数を用いて、上記複数の予測モードの候補を評価する。そして、第4モード判定部44dは、コスト関数値が最小となる予測モードを、最適な予測モードとして選択する。第4予測部42dは、このような処理の後、第4モード判定部44dにより選択された最適な予測モードを表す予測モード情報をモードバッファ45へ出力すると共に、当該予測モード情報と、対応する予測画素値を含む予測画像データとを、セレクタ27へ出力する。
 モードバッファ45は、各予測部42a~42dから入力される予測モード情報を、記憶媒体を用いて一時的に記憶する。モードバッファ45により記憶される予測モード情報は、各予測部42a~42dが予測方向の推定をする際に、参照予測モードとして参照され得る。予測方向の推定とは、隣接するブロック間で最適な予測方向(最適な予測モード)が共通している可能性が高いことに着目し、参照ブロックに設定された予測モードから符号化対象のブロックの予測モードを推定する技術である。予測方向を推定することにより適切な予測方向を決定できるブロックについては、当該ブロックの予測モード番号が符号化されないことにより、符号化に要する符号量が削減され得る。本実施形態における予測方向の推定について、後にさらに説明する。
  [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の予測部42a~42dの予測計算部43a~43dは、これら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の予測部42a~42dの予測計算部43a~43dは、イントラ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の予測部42a~42dの予測計算部43a~43dは、イントラ16×16予測モードの4つの予測モードを候補として、並び替え部41により並び替えられた参照画素値から各予測モードに対応する予測画素値を計算してもよい。
   (4)色差信号のイントラ予測
 色差信号についての予測モードは、輝度信号についての予測モードとは独立して設定され得る。色差信号についての予測モードは、上述した輝度信号についてのイントラ16×16予測モードと同様、4種類の予測モードを含み得る。H.264/AVCにおいては、色差信号についての予測モードのモード0はDC予測、モード1は水平予測、モード2は垂直予測、モード3は平面予測である。
  [1-4.並列処理の説明]
 次に、図8~図16Bを用いて、図2に示したイントラ予測部40による並列的なイントラ予測処理について詳細に説明する。
   (1)並び替え処理
 図8は、イントラ予測部40の並び替え部41による並び替え前の、マクロブロック内の符号化対象画素、及び当該マクロブロックの周囲の参照画素を示している。
 図8を参照すると、16×16画素のマクロブロックMBは、それぞれ4×4画素である16個のサブブロックSBを含む。1つのサブブロックSBは、それぞれ小文字のアルファベットa~pにより表される16個の画素を含む。マクロブロックMBの第1ラインL1は、4つのサブブロックの計16個の画素a、b、c及びdを含む。第1ラインL1の画素の順序は、a、b、c、d、a、b、c、d、…である。マクロブロックMBの第2ラインL2は、4つのサブブロックの計16個の画素e、f、g及びhを含む。第2ラインL2の画素の順序は、e、f、g、h、e、f、g、h、…である。マクロブロックMBの第3ラインL3は、4つのサブブロックの計16個の画素i、j、k及びlを含む。第3ラインL3の画素の順序は、i、j、k、l、i、j、k、l、…である。マクロブロックMBの第4ラインL4は、4つのサブブロックの計16個の画素m、n、o及びpを含む。第4ラインL4の画素の順序は、m、n、o、p、m、n、o、p、…である。
 マクロブロックMBの周囲には、それぞれ大文字のアルファベットA~D、A´、E、I、M及びXにより表される参照画素が示されている。マクロブロックMBの第1ラインL1の上の参照画素の順序は、A、B、C、D、A、B、C、D、…である。
 図9は、図8に示した符号化対象画素の、並び替え部41による並び替えについて説明するための説明図である。
 並び替え部41による画素値の並び替え規則は、例えば、次のような規則である。即ち、並び替え部41は、マクロブロックMBに含まれるサブブロックSB1の第1画素の画素値及びサブブロックSB2の第2画素の画素値を連続させる。これら第1画素及び第2画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第1画素はサブブロックSB1の画素a、第2画素はサブブロックSB2の画素aである。並び替え部41は、4並列の場合には、サブブロックSB3の画素aの画素値及びサブブロックSB4の画素aの画素値を、第1画素及び第2画素の画素値にさらに連続させる。並び替え部41は、これらサブブロックSB1~SB4の画素aの画素値を、第1予測部42aへ連続的に出力する(図9の分岐#1)。
 同様に、並び替え部41は、マクロブロックMBに含まれるサブブロックSB1の第3画素の画素値及びサブブロックSB2の第4画素の画素値を連続させる。これら第3画素及び第4画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第3画素はサブブロックSB1の画素b、第4画素はサブブロックSB2の画素bである。並び替え部41は、4並列の場合には、サブブロックSB3の画素bの画素値及びサブブロックSB4の画素bの画素値を、第3画素及び第4画素の画素値にさらに連続させる。並び替え部41は、これらサブブロックSB1~SB4の画素bの画素値を、第2予測部42bへ連続的に出力する(図9の分岐#2)。
 同様に、並び替え部41は、サブブロックSB1~SB4の画素cの画素値を、第3予測部42cへ連続的に出力する(図9の分岐#3)。また、並び替え部41は、サブブロックSB1~SB4の画素dの画素値を、第4予測部42dへ連続的に出力する(図9の分岐#4)。
 なお、図9に示しているように、第1画素、第2画素、第3画素、及び第4画素は、画像内の同じラインに属する画素であることが望ましい。それにより、並び替え部41は、並び替え処理に際して、1つのラインの画素値のみを保持すればよいため、並び替え処理に要するメモリリソースの増加が回避される。
 並び替え部41による並び替え処理は、マクロブロックMBの第2ラインL2に対しても同様に行われる。即ち、並び替え部41は、サブブロックSB1~SB4の画素eの画素値を、第1予測部42aへ連続的に出力する。また、並び替え部41は、サブブロックSB1~SB4の画素fの画素値を、第2予測部42bへ連続的に出力する。また、並び替え部41は、サブブロックSB1~SB4の画素gの画素値を、第3予測部42cへ連続的に出力する。また、並び替え部41は、サブブロックSB1~SB4の画素hの画素値を、第4予測部42dへ連続的に出力する。
 図10は、図8に示した参照画素の、並び替え部41による並び替えについて説明するための説明図である。
 並び替え部41は、第1画素に隣接する第1参照画素の画素値及び第2画素に隣接する第2参照画素の画素値が連続し、並びに第3画素に隣接する第3参照画素の画素値及び第4画素に隣接する第4参照画素の画素値が連続するように、参照画素値を並び替える。
 上述したように、例えば、第1画素とは、サブブロックSB1の画素aである。第2画素とは、サブブロックSB2の画素aである。図10の例では、サブブロックSB1~SB4の画素aの上の参照画素Aの画素値が、並び替え部41による並び替え後に連続している。並び替え部41は、これら参照画素値を、例えば第1予測部42aへ連続的に出力する(図10の分岐#1)。
 同様に、第3画素とは、サブブロックSB1の画素bである。第4画素とは、サブブロックSB2の画素bである。図10の例では、サブブロックSB1~SB4の画素bの上の参照画素Bの画素値が、並び替え部41による並び替え後に連続している。並び替え部41は、これら参照画素値を、例えば第2予測部42bへ連続的に出力する(図10の分岐#2)。
 さらに、並び替え部41は、サブブロックSB1~SB4の画素cの上の参照画素Cの画素値を、例えば第3予測部42cへ連続的に出力する(図10の分岐#3)。また、並び替え部41は、サブブロックSB1~SB4の画素dの上の参照画素Dの画素値を、例えば第4予測部42dへ連続的に出力する(図10の分岐#4)。
 なお、並び替え部41は、マクロブロックMBの左の参照画素A´、E、I及びMの画素値については、これらを並び替えることなく第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dへ出力する。
   (2)4並列予測処理
 図11A及び図11Bは、イントラ予測部40の予測部42a~42dによる4並列処理について説明するための説明図である。図11A及び図11Bを参照すると、図8に示したマクロブロックMB内の画素についての予測画素値の生成処理が、第1、第2、第3及び第4のグループにグループ分けされている。
 第1グループは、第1予測部42aによる画素aの予測画素値の生成、第2予測部42bによる画素bの予測画素値の生成、第3予測部42cによる画素cの予測画素値の生成、及び第4予測部42dによる画素dの予測画素値の生成を含む。1つのラインごとに、これら4つの画素の予測画素値の生成が並列的に実行される。第1予測部42aは、上及び右上の参照画素として画素A、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第2予測部42bは、上及び右上の参照画素として画素B、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第3予測部42cは、上及び右上の参照画素として画素C、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第4予測部42dは、上及び右上の参照画素として画素D、左上の参照画素として画素X、左の参照画素として画素A´を使用する。
 第2グループは、第1予測部42aによる画素eの予測画素値の生成、第2予測部42bによる画素fの予測画素値の生成、第3予測部42cによる画素gの予測画素値の生成、及び第4予測部42dによる画素hの予測画素値の生成を含む。1つのラインごとに、これら4つの画素の予測画素値の生成が並列的に実行される。第1予測部42aは、上の参照画素として画素a、右上の参照画素として画素A、左上の参照画素として画素A´、左の参照画素として画素Eを使用する。第2予測部42bは、上の参照画素として画素b、右上の参照画素として画素B、左上の参照画素として画素A´、左の参照画素として画素Eを使用する。第3予測部42cは、上の参照画素として画素c、右上の参照画素として画素C、左上の参照画素として画素A´、左の参照画素として画素Eを使用する。第4予測部42dは、上の参照画素として画素d、右上の参照画素として画素D、左上の参照画素として画素A´、左の参照画素として画素Eを使用する。
 第3グループは、第1予測部42aによる画素iの予測画素値の生成、第2予測部42bによる画素jの予測画素値の生成、第3予測部42cによる画素kの予測画素値の生成、及び第4予測部42dによる画素lの予測画素値の生成を含む。1つのラインごとに、これら4つの画素の予測画素値の生成が並列的に実行される。第1予測部42aは、上の参照画素として画素e、右上の参照画素として画素A、左上の参照画素として画素E、左の参照画素として画素Iを使用する。第2予測部42bは、上の参照画素として画素f、右上の参照画素として画素B、左上の参照画素として画素E、左の参照画素として画素Iを使用する。第3予測部42cは、上の参照画素として画素g、右上の参照画素として画素C、左上の参照画素として画素E、左の参照画素として画素Iを使用する。第4予測部42dは、上の参照画素として画素h、右上の参照画素として画素D、左上の参照画素として画素E、左の参照画素として画素Iを使用する。
 第4グループは、第1予測部42aによる画素mの予測画素値の生成、第2予測部42bによる画素nの予測画素値の生成、第3予測部42cによる画素oの予測画素値の生成、及び第4予測部42dによる画素pの予測画素値の生成を含む。1つのラインごとに、これら4つの画素の予測画素値の生成が並列的に実行される。第1予測部42aは、上の参照画素として画素i、右上の参照画素として画素A、左上の参照画素として画素I、左の参照画素として画素Mを使用する。第2予測部42bは、上の参照画素として画素j、右上の参照画素として画素B、左上の参照画素として画素I、左の参照画素として画素Mを使用する。第3予測部42cは、上の参照画素として画素k、右上の参照画素として画素C、左上の参照画素として画素I、左の参照画素として画素Mを使用する。第4予測部42dは、上の参照画素として画素l、右上の参照画素として画素D、左上の参照画素として画素I、左の参照画素として画素Mを使用する。
 このような第1予測部42a、第2予測部42b、第3予測部42c及び第4予測部42dによる4並列処理により、イントラ予測部40は、サブブロックごとにイントラ予測処理の完了を待つことなく、4つのサブブロックを対象とするイントラ予測処理を並列的に実行することができる。
 ここでは、イントラ予測部40において主にイントラ4×4予測モードでのイントラ予測処理を4並列で実行する例について説明した。なお、イントラ予測部40は、上述したイントラ8×8予測モード又はイントラ16×16予測モードでイントラ予測処理を実行してもよい。例えば、マクロブロックのサイズが16×16画素である場合には、イントラ8×8予測モードでのイントラ予測処理を2並列で実行することができる。また、例えば、マクロブロックのサイズが32×32画素である場合には、イントラ8×8予測モードでのイントラ予測処理を4並列で実行し、及びイントラ16×16予測モードでのイントラ予測処理を2並列で実行することができる。イントラ予測部40は、これら3種類のサブブロックサイズの全ての使用可能な予測モードでイントラ予測処理を実行し、最適な1つのサブブロックサイズ、及び各サブブロックについての最適な1つの予測モードを選択してもよい。
 また、イントラ予測部40は、イントラ4×4予測モードのみで並列的なイントラ予測処理を実行してもよい。本実施形態では、画素値を並び替える結果として、イントラ予測の処理単位であるサブブロックサイズが大きいほど、符号化対象の画素から参照画素までの距離が遠くなり、これら画素間の相関が小さくなる。そのため、多くの場合、イントラ予測の処理単位がより小さいイントラ4×4予測モードでイントラ予測を実行する方が、より原画像に近い予測結果が得られる可能性が高い。
   (3)直交変換処理の並列化
 イントラ予測モードにおいては、上述したイントラ予測処理の並列化に合わせて、図1に示した画像符号化装置10の並列処理セグメント28に含まれる各部の処理も並列化することが望ましい。図12は、直交変換部14による直交変換の並列化について説明するための説明図である。
 図12の上部には、イントラ予測部40から並列的に出力される画素値が示されている。画素値の出力順は、図中で上から下に向かって早いものとする。例えば、第1予測部42aからは、サブブロックSB1、SB2、SB3、SB4の画素a、サブブロックSB1、SB2、SB3、SB4の画素eの予測画素値が順に出力される。第2予測部42bからは、サブブロックSB1、SB2、SB3、SB4の画素b、サブブロックSB1、SB2、SB3、SB4の画素fの予測画素値が順に出力される。第3予測部42cからは、サブブロックSB1、SB2、SB3、SB4の画素c、サブブロックSB1、SB2、SB3、SB4の画素gの予測画素値が順に出力される。第4予測部42dからは、サブブロックSB1、SB2、SB3、SB4の画素d、サブブロックSB1、SB2、SB3、SB4の画素hの予測画素値が順に出力される。
 図12の下部には、直交変換部14に並列的に入力される画素値(差分画素値)が示されている。直交変換部14は、4つの処理分岐を有し、第1の処理分岐には、サブブロックSB1の16個の画素a~画素pが入力される。第2の処理分岐には、サブブロックSB2の16個の画素a~画素pが入力される。第3の処理分岐には、サブブロックSB3の16個の画素a~画素pが入力される。第4の処理分岐には、サブブロックSB4の16個の画素a~画素pが入力される。そして、直交変換部14は、これら4つのサブブロックSB1~SB4についての直交変換処理を並列的に実行する。
 同様に、減算部13、量子化部15、逆量子化部21、逆直交変換部22及び加算部23もまた、イントラ予測モードにおいて、各部の処理を4並列で並列的に実行する。
   (4)予測方向の推定
 イントラ予測部40の第1予測部42a、第2予測部42b、第3予測部42c及び第4予測部42dは、予測モード情報を符号化することによる符号量の増加を抑制するために、参照画素が属するブロックに設定された予測モード(予測方向)から、符号化対象のブロックの最適な予測モード(予測方向)を推定してもよい。この場合、推定される予測モード(以下、推定予測モードという)とコスト関数値を用いて選択される最適な予測モードとが等しいときは、予測モードを推定可能であることを示す情報のみが予測モード情報として符号化され得る。予測モードを推定可能であることを示す情報とは、例えば、H.264/AVCにおける「MostProbableMode」に相当する。
 図13は、予測方向の推定について説明するための説明図である。図13を参照すると、符号化対象のサブブロックSBc、並びに、サブブロックSBcの左の参照ブロックSBa及びサブブロックSBcの上の参照ブロックSBbが示されている。参照ブロックSBaについて設定された参照予測モードはMa、参照ブロックSBbについて設定された参照予測モードはMbである。また、符号化対象のサブブロックSBcについての推定予測モードはMcである。
 H.264/AVCにおいて、推定予測モードMcは、次式により決定される:
  Mc=min(Ma,Mb)
 即ち、参照予測モードMa及びMbのうち予測モード番号の小さい方が、符号化対象のサブブロックについての推定予測モードとなる。
 本実施形態に係るイントラ予測部40の第1予測部42aは、イントラ予測処理を実行する時点で左のサブブロックが符号化済みであるため、H.264/AVCと同様に予測モードを推定し得る:
  Mc=min(Ma,Mb)
 一方、第2予測部42b、第3予測部42c及び第4予測部42dは、イントラ予測処理を並列化したためにイントラ予測処理を実行する時点で左のサブブロックが符号化済みでないことから、例えば、次式により予測モードを推定する:
  Mc=Mb
 このように予測モード(予測方向)を推定することで、イントラ予測処理を並列的に実行する場合にも、予測モード情報を符号化することによる符号量の増加を抑制することができる。
   (5)処理時間の低減
 図14は、4並列処理による処理時間の低減について説明するための説明図である。図14の上部には、本実施形態に係る並列処理を実装しない場合の、直列的な画像符号化処理の流れが概略的に示されている。直列的な画像符号化処理においては、例えば、サブブロックSB0についての参照画素値の生成が終了した後、サブブロックSB0に隣接するサブブロックSB1についてのイントラ予測が開始される。その後、サブブロックSB1についての直交変換、量子化、逆量子化、逆量子化、逆直交変換、及びイントラ補償(差分画素値と予測画素値との加算)が直列的に実行され、サブブロックSB1についての参照画素値が生成される。また、サブブロックSB1についての参照画素値の生成が終了した後、サブブロックSB1に隣接するサブブロックSB2についてのイントラ予測が開始される。その後、サブブロックSB2についての直交変換等の処理が直列的に実行される。
 これに対し、本実施形態に係る4並列処理では、例えば、サブブロックSB0についての参照画素値の生成が終了した後、4つのサブブロックSB1、SB2、SB3及びSB4についてのイントラ予測が並列的に開始される。その後、サブブロックSB1、SB2、SB3及びSB4についての直交変換、量子化、逆量子化、逆量子化、逆直交変換、及びイントラ補償が並列的に実行され、サブブロックSB1、SB2、SB3及びSB4についての参照画素値が生成される。そして、続けてサブブロックSB5、SB6等のイントラ予測が並列的に開始される。このような4並列処理により、イントラ予測処理のボトルネックが解消され、画像符号化処理の処理速度が向上する。その結果、例えばリアルタイムでの画像符号化処理を実現することもより容易となる。
   (6)2並列予測処理
 イントラ予測処理を並列化する際の処理分岐の数は、上述した4つに限定されない。即ち、本明細書に記載した技術の利点は、2並列処理又は8並列処理などによっても享受され得る。図15A及び図15Bは、イントラ4×4予測モードでの2並列処理について説明するための説明図である。図15A及び図15Bを参照すると、図8に示したマクロブロックMB内の画素についての予測画素値の生成処理が、第1、第2、第3、第4、第5、第6、第7及び第8のグループにグループ分けされている。
 第1グループは、第1処理分岐による画素aの予測画素値の生成、及び第2処理分岐による画素cの予測画素値の生成を含む。第1処理分岐は、上及び右上の参照画素として画素A、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第2処理分岐は、上及び右上の参照画素として画素C、左上の参照画素として画素X、左の参照画素として画素A´を使用する。
 第2グループは、第1処理分岐による画素bの予測画素値の生成、及び第2処理分岐による画素dの予測画素値の生成を含む。第1処理分岐は、上及び右上の参照画素として画素B、左上の参照画素として画素X、左の参照画素として画素aを使用する。第2処理分岐は、上及び右上の参照画素として画素D、左上の参照画素として画素X、左の参照画素として画素cを使用する。
 第3グループは、第1処理分岐による画素eの予測画素値の生成、及び第2処理分岐による画素gの予測画素値の生成を含む。第1処理分岐は、上の参照画素として画素a、右上の参照画素として画素A、左上の参照画素として画素A´、左の参照画素として画素Eを使用する。第2処理分岐は、上の参照画素として画素c、右上の参照画素として画素C、左上の参照画素として画素A´、左の参照画素として画素Eを使用する。
 第4グループは、第1処理分岐による画素fの予測画素値の生成、及び第2処理分岐による画素hの予測画素値の生成を含む。第1処理分岐は、上の参照画素として画素b、右上の参照画素として画素B、左上の参照画素として画素A´、左の参照画素として画素eを使用する。第2処理分岐は、上の参照画素として画素d、右上の参照画素として画素D、左上の参照画素として画素A´、左の参照画素として画素gを使用する。
 同様に、図15Bに示した内容に従って、第5グループから第8グループまでの処理も行われ得る。
   (7)8並列予測処理
 図16A及び図16Bは、イントラ4×4予測モードでの8並列処理について説明するための説明図である。図16A及び図16Bを参照すると、図8に示したマクロブロックMB内の画素についての予測画素値の生成処理が、第1及び第2のグループにグループ分けされている。
 第1グループは、第1処理分岐による画素aの予測画素値の生成、第2処理分岐による画素bの予測画素値の生成、第3処理分岐による画素cの予測画素値の生成、第4処理分岐による画素dの予測画素値の生成、第5処理分岐による画素iの予測画素値の生成、第6処理分岐による画素jの予測画素値の生成、第7処理分岐による画素kの予測画素値の生成、及び第8処理分岐による画素lの予測画素値の生成を含む。第1処理分岐は、上及び右上の参照画素として画素A、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第2処理分岐は、上及び右上の参照画素として画素B、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第3処理分岐は、上及び右上の参照画素として画素C、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第4処理分岐は、上及び右上の参照画素として画素D、左上の参照画素として画素X、左の参照画素として画素A´を使用する。第5処理分岐は、上及び右上の参照画素として画素A、左上の参照画素として画素E、左の参照画素として画素Iを使用する。第6処理分岐は、上及び右上の参照画素として画素B、左上の参照画素として画素E、左の参照画素として画素Iを使用する。第7処理分岐は、上及び右上の参照画素として画素C、左上の参照画素として画素E、左の参照画素として画素Iを使用する。第8処理分岐は、上及び右上の参照画素として画素D、左上の参照画素として画素E、左の参照画素として画素Iを使用する。
 同様に、図16Bに示した内容に従って、第2グループの処理も行われ得る。
 なお、並列処理の処理分岐の数とイントラ予測の予測精度とはトレードオフの関係にある。並列処理の処理分岐の数を過度に増加させると、符号化対象の画素から参照画素までの距離が遠くなり、イントラ予測の予測精度が損なわれる可能性が生じる。そのため、並列処理の処理分岐の数は、処理速度に対するニーズと圧縮率又は画質に対するニーズとを考慮し、これらニーズに適合するように選択されることが望ましい。
 <2.一実施形態に係る符号化時の処理の流れ>
 次に、図17を用いて、符号化時の処理の流れを説明する。図17は、本実施形態に係るイントラ予測部40による符号化時のイントラ予測処理の流れの一例を示すフローチャートである。
 図17を参照すると、まず、並び替え部41は、フレームメモリ25から供給される参照画像データに含まれる参照画素値を、図10に例示した規則に従って並び替える(ステップS100)。そして、並び替え部41は、並び替え後の一連の参照画素値のうち第1の部分を第1予測部42aへ、第2の部分を第2予測部42bへ、第3の部分を第3予測部42cへ、及び第4の部分を第4予測部42dへ出力する。
 次に、並び替え部41は、原画像内のマクロブロックに含まれる画素値を、図9に例示した規則に従って並び替える(ステップS110)。そして、並び替え部41は、並び替え後の一連の画素値のうち第1の部分を第1予測部42aへ、第2の部分を第2予測部42bへ、第3の部分を第3予測部42cへ、及び第4の部分を第4予測部42dへ出力する。
 次に、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、例えばマクロブロック内の第1~第4ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS120)。そして、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、それぞれ、各ブロックの最適な予測モードを選択する(ステップS125)。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 次に、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、例えばマクロブロック内の第5~第8ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS130)。そして、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、それぞれ、各ブロックの最適な予測モードを選択する(ステップS135)。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 次に、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、例えばマクロブロック内の第9~第12ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS140)。そして、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、それぞれ、各ブロックの最適な予測モードを選択する(ステップS145)。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 次に、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、例えばマクロブロック内の第13~第16ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS150)。そして、第1予測部42a、第2予測部42b、第3予測部42c、及び第4予測部42dは、それぞれ、各ブロックの最適な予測モードを選択する(ステップS155)。ここで選択された最適な予測モードを表す予測モード情報は、イントラ予測部40から可逆符号化部16へ出力される。また、最適な予測モードに対応する予測画素値を含む予測画素データは、イントラ予測部40から減算部13へ出力される。
 <3.一実施形態に係る画像復号装置の構成例>
 本節では、図18及び図19を用いて、一実施形態に係る画像復号装置の構成例について説明する。
  [3-1.全体的な構成例]
 図18は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図18を参照すると、画像復号装置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により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部80へ出力する。また、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、加算部65へ供給すべき予測画像データの出力元を動き補償部80とイントラ予測部90との間で切り替える。例えば、セレクタ71は、インター予測モードが指定された場合には、動き補償部80から出力される予測画像データを加算部65へ供給する。また、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部90から出力される予測画像データを加算部65へ供給する。
 動き補償部80は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部80は、生成した予測画像データをセレクタ71へ出力する。
 イントラ予測部90は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいてイントラ予測処理を行い、予測画像データを生成する。そして、イントラ予測部90は、生成した予測画像データをセレクタ71へ出力する。本実施形態において、イントラ予測部90によるイントラ予測処理は、複数の処理分岐により並列化される。イントラ予測部90による並列的なイントラ予測処理については、後により詳細に説明する。
 イントラ予測部90によるイントラ予測処理の並列化に応じて、イントラ予測モードについての、上述した逆量子化部63、逆直交変換部64、及び加算部65による処理もまた並列化され得る。この場合、図18に示しているように、逆量子化部63、逆直交変換部64、加算部65及びイントラ予測部90は、並列処理セグメント72を形成する。そして、並列処理セグメント72内の各部は、複数の処理分岐を有する。並列処理セグメント72内の各部は、イントラ予測モードにおいては複数の処理分岐を使用して並列処理を実行する一方、インター予測モードにおいては1つの処理分岐のみを使用してよい。
  [3-2.イントラ予測部の構成例]
 図19は、図18に示した画像復号装置60のイントラ予測部90の詳細な構成の一例を示すブロック図である。図19を参照すると、イントラ予測部90は、並び替え部91、及び4つの予測部92a~92dを有する。即ち、図19の例では、イントラ予測部90は、並列的に配置された4つの処理分岐を含む。しかしながら、イントラ予測部90が有する処理分岐の数は、かかる例に限定されない。イントラ予測部90は、例えば2つ又は8つの処理分岐を有していてもよい。
 並び替え部91は、フレームメモリ69から供給される参照画像データに含まれる参照画素値を、所定の規則に従って並び替える。フレームメモリ69からイントラ予測部90に供給される参照画像データは、復号対象の画像と同じ画像内の復号済みの部分についてのデータである。そして、並び替え部91は、並び替え後の一連の参照画素値のうち第1の部分を第1予測部92aへ、第2の部分を第2予測部92bへ、第3の部分を第3予測部92cへ、及び第4の部分を第4予測部92dへ出力する。
 並び替え部91による参照画素の画素値の並び替えの規則とは、例えば、図10を用いて説明したような規則であってよい。即ち、並び替え部91は、画像内のマクロブロックMBに含まれる第1サブブロックの第1画素に隣接する第1参照画素の画素値及びマクロブロックMBに含まれる第2サブブロックの第2画素に隣接する第2参照画素の画素値を連続させる。これら第1画素及び第2画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第1画素はサブブロックSB1の画素a、第2画素はサブブロックSB2の画素a、第1参照画素はサブブロックSB1の画素aの上の参照画素A、第2参照画素は第2サブブロックSB2の画素aの上の参照画素Aである(図8~図10参照)。並び替え部41は、4並列の場合には、サブブロックSB3の画素aの上の参照画素A及びサブブロックSB4の画素aの上の参照画素Aの画素値、並びにさらに右の4つの参照画素Aの画素値を、第1参照画素及び第2参照画素の画素値に連続させる。並び替え部41は、これら8つの参照画素Aの画素値を、第1予測部92aへ連続的に出力する(図10の分岐#1)。
 同様に、並び替え部91は、画像内のマクロブロックMBに含まれる第1サブブロックの第3画素に隣接する第3参照画素の画素値及びマクロブロックMBに含まれる第2サブブロックの第4画素に隣接する第4参照画素の画素値を連続させる。これら第3画素及び第4画素のサブブロック内での画素位置は、同じ位置であってよい。例えば、第3画素はサブブロックSB1の画素b、第4画素はサブブロックSB2の画素b、第3参照画素はサブブロックSB1の画素bの上の参照画素B、第2参照画素は第2サブブロックSB2の画素bの上の参照画素Bである(図8~図10参照)。並び替え部41は、4並列の場合には、サブブロックSB3の画素bの上の参照画素B及びサブブロックSB4の画素bの上の参照画素Bの画素値、並びにさらに右の4つの参照画素Bの画素値を、第3参照画素及び第4参照画素の画素値に連続させる。並び替え部41は、これら8つの参照画素Bの画素値を、第1予測部92aへ連続的に出力する(図10の分岐#2)。
 同様に、並び替え部91は、サブブロックSB1~SB4の画素cの上の参照画素Cの画素値を、第3予測部92cへ連続的に出力する(図10の分岐#3)。また、並び替え部91は、サブブロックSB1~SB4の画素dの上の参照画素Dの画素値を、第4予測部92dへ連続的に出力する(図10の分岐#4)。
 予測部92a~92dは、並び替え部91により並び替えられた参照画素の画素値を用いて、復号対象のマクロブロックについての予測画素値を生成する。
 より具体的には、第1予測部92aは、第1モードバッファ93a及び第1予測計算部94aを含む。第1モードバッファ93aは、可逆復号部62から入力されるイントラ予測に関する情報に含まれる予測モード情報を取得し、取得した予測モード情報を記憶媒体を用いて一時的に記憶する。予測モード情報は、例えば、イントラ予測の処理単位であるサブブロックのサイズを表す情報(例えば、イントラ4×4予測モード又はイントラ8×8予測モードなど)を含む。また、予測モード情報は、例えば、複数の予測方向のうち画像の符号化の際に最適であるとして選択された予測方向を表す情報(例えば、モード0~モード8のいずれか)を含む。また、予測モード情報は、推定予測モードを使用すべきことを指定する情報を含み得るが、この場合には、予測モード情報は予測方向を表す予測モード番号を含まない。
 第1予測計算部94aは、第1モードバッファ93aに記憶されている予測モード情報に従って、並び替え部91により並び替えられた参照画素値から予測画素値を計算する。例えば、予測モード情報がイントラ4×4予測モードにおけるモード0を示している場合には、第1予測計算部94aは、復号対象の画素の予測画素値を、当該画素の上の参照画素値に等しい値に設定する(図3のモード0参照)。第1予測部92aは、このような処理の後、第1予測計算部94aにより計算された予測画素値を含む予測画像データを、セレクタ71へ出力する。
 第2予測部92bは、第2モードバッファ93b及び第2予測計算部94bを含む。第3予測部92cは、第3モードバッファ93c及び第3予測計算部94cを含む。第4予測部92dは、第4モードバッファ93d及び第4予測計算部94dを含む。第2予測部92b、第3予測部92c及び第4予測部92dは、第1予測部92aと同様に、イントラ予測に関する情報に含まれる予測モード情報に従って、並び替え部91により並び替えられた参照画素の画素値から予測画素値をそれぞれ生成する。そして、第2予測部92b、第3予測部92c及び第4予測部92dは、生成した予測画素値を含む予測画像データを、それぞれ並列的にセレクタ71へ出力する。
 <4.一実施形態に係る復号時の処理の流れ>
 次に、図20を用いて、復号時の処理の流れを説明する。図20は、本実施形態に係るイントラ予測部90による復号時のイントラ予測処理の流れの一例を示すフローチャートである。
 図20を参照すると、まず、並び替え部91は、フレームメモリ69から供給される参照画像データに含まれる参照画素値を、図10に例示した規則に従って並び替える(ステップS210)。そして、並び替え部91は、並び替えた参照画素値を第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dへ出力する。
 次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ、可逆復号部62から入力される予測モード情報を取得する(ステップS220)。次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、例えばマクロブロック内の第1~第4ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS225)。そして、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部65へ出力する。
 次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ、可逆復号部62から入力される予測モード情報を再び取得する(ステップS230)。次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、例えばマクロブロック内の第5~第8ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS235)。そして、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部65へ出力する。
 次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ、可逆復号部62から入力される予測モード情報を再び取得する(ステップS240)。次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、例えばマクロブロック内の第9~第12ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS245)。そして、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部65へ出力する。
 次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ、可逆復号部62から入力される予測モード情報を再び取得する(ステップS250)。次に、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、例えばマクロブロック内の第13~第16ラインの画素値を対象として、並列的にイントラ予測処理を実行する(ステップS255)。そして、第1予測部92a、第2予測部92b、第3予測部92c、及び第4予測部92dは、それぞれ予測モード情報に従って参照画素値から生成した予測画素値を含む予測画素データを、加算部65へ出力する。
 <5.応用例>
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  [5-1.第1の応用例]
 図21は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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の応用例]
 図22は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
  [5-3.第3の応用例]
 図23は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
  [5-4.第4の応用例]
 図24は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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において、イントラ予測処理を並列化し、イントラ予測に要する処理時間を低減することができる。
 <6.まとめ>
 ここまで、図1~図24を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について説明した。本実施形態によれば、イントラ予測モードにおいて、画像の符号化の際には、原画像に含まれる画素値及び参照画像に含まれる画素値が所定の規則に従って並び替えられた後、複数の予測部により予測画素値の生成及び最適な予測モードの判定が並列的に実行される。また、画像の復号の際には、参照画像に含まれる画素値が所定の規則に従って並び替えられた後、複数の予測部により、画像の符号化の際に選択された予測モードに従って予測画素値が並列的に生成される。それにより、イントラ予測処理のボトルネックが解消され、画像符号化処理及び画像復号処理の処理速度が向上する。その結果、例えばリアルタイムでの処理を実現することもより容易となる。
 また、本実施形態によれば、異なるサブブロック内で互いに同じ位置にある画素の画素値が連続するように並び替えられ、1つの予測部に入力される。それにより、例えば図11A及び図11Bに示したように、各予測部は、1組の共通する参照画素値を使用して、連続して入力される画素値についての予測画素値の計算をそれぞれ実行することができる。
 また、本実施形態によれば、複数の予測部により並列的に処理される画素は、画像内の同じラインに属する画素である。従って、並列処理の前の並び替え処理に要するメモリリソースの増加が回避される。
 また、本実施形態における並び替えの規則によれば、各予測部は、あるラインに属する画素について生成した予測画素値に基づいて、次のラインに属する画素の予測画素値を生成することができる。従って、イントラ予測処理を並列化した場合にも、H.264/AVCにより規定されているような予測モードの候補を応用することができる。
 また、本実施形態によれば、イントラ予測処理を並列化した場合にも、各予測部は、予測方向(予測モード)を推定することにより、予測モード情報の符号量を削減することができる。
 また、本実施形態によれば、イントラ予測のみならず、直交変換、量子化、逆量子化及び逆直交変換などの処理も並列化され得る。それにより、イントラ予測モードにおける画像符号化処理及び画像復号処理の処理速度を一層高めることができる。
 なお、本明細書では、イントラ予測に関する情報及びインター予測に関する情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について主に説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 10   画像符号化装置(画像処理装置)
 14   直交変換部
 41   並び替え部
 42a  第1予測部
 42b  第2予測部
 60   画像復号装置(画像処理装置)
 64   逆直交変換部
 91   並び替え部
 92a  第1予測部
 92b  第2予測部

Claims (19)

  1.  画像内のマクロブロックに含まれる第1サブブロックの第1画素の画素値及び前記マクロブロックに含まれる第2サブブロックの第2画素の画素値が連続し、並びに前記第1サブブロックの第3画素の画素値及び前記第2サブブロックの第4画素の画素値が連続するように、前記画像に含まれる画素値を並び替える並び替え部と、
     前記並び替え部により並び替えられた画素値を用いて、前記第1画素及び前記第2画素の予測画素値を生成する第1予測部と、
     前記並び替え部により並び替えられた画素値を用いて、前記第1予測部の処理と並列的に、前記第3画素及び前記第4画素の予測画素値を生成する第2予測部と、
     を備える画像処理装置。
  2.  前記並び替え部は、前記第1画素に隣接する第1参照画素の画素値及び前記第2画素に隣接する第2参照画素の画素値が連続し、並びに前記第3画素に隣接する第3参照画素の画素値及び前記第4画素に隣接する第4参照画素の画素値が連続するように、前記画像に含まれる参照画素の画素値をさらに並び替える、請求項1に記載の画像処理装置。
  3.  前記第1サブブロック内での前記第1画素の画素位置と前記第2サブブロック内での前記第2画素の画素位置とは同じ位置であり、前記第1サブブロック内での前記第3画素の画素位置と前記第2サブブロック内での前記第4画素の画素位置とは同じ位置である、請求項1に記載の画像処理装置。
  4.  前記第1画素、前記第2画素、前記第3画素、及び前記第4画素は、前記画像内の同じラインに属する画素である、請求項3に記載の画像処理装置。
  5.  前記並び替え部は、前記第1サブブロックの第5画素の画素値及び前記第2サブブロックの第6画素の画素値が連続するように、前記画像に含まれる画素値をさらに並び替え、
     前記第1予測部は、前記第1画素及び前記第2画素について生成した予測画素値に基づいて、前記第5画素及び前記第6画素の予測画素値をさらに生成する、
     請求項1に記載の画像処理装置。
  6.  前記第5画素及び前記第6画素は、前記画像内の前記第1画素及び前記第2画素とは異なるラインに属する画素である、請求項5に記載の画像処理装置。
  7.  前記第1予測部又は前記第2予測部は、処理対象の画素の左の画素が当該処理対象の画素と並列処理される画素である場合には、予測モード情報の符号量の削減のための推定予測モードを、前記処理対象の画素が属するサブブロックの上のサブブロックに設定された予測モードに基づいて決定する、請求項1に記載の画像処理装置。
  8.  前記第1予測部及び前記第2予測部は、各画素の予測画素値の生成を、イントラ4×4予測モードで実行する、請求項1に記載の画像処理装置。
  9.  前記画像処理装置は、前記第1サブブロックについての直交変換と前記第2サブブロックについての直交変換とを並列的に実行する直交変換部、をさらに備える、請求項1に記載の画像処理装置。
  10.  画像を処理するための画像処理方法において、
     画像内のマクロブロックに含まれる第1サブブロックの第1画素の画素値及び前記マクロブロックに含まれる第2サブブロックの第2画素の画素値が連続し、並びに前記第1サブブロックの第3画素の画素値及び前記第2サブブロックの第4画素の画素値が連続するように、前記画像に含まれる画素値を並び替えることと、
     並び替えられた画素値を用いて、前記第1画素及び前記第2画素の予測画素値を生成することと、
     並び替えられた画素値を用いて、前記第1画素及び前記第2画素の予測画素値の生成と並列的に、前記第3画素及び前記第4画素の予測画素値を生成することと、
     を含む画像処理方法。
  11.  画像内のマクロブロックに含まれる第1サブブロックの第1画素に隣接する第1参照画素の画素値及び前記マクロブロックに含まれる第2サブブロックの第2画素に隣接する第2参照画素の画素値が連続し、並びに前記第1サブブロックの第3画素に隣接する第3参照画素の画素値及び前記第2サブブロックの第4画素に隣接する第4参照画素の画素値が連続するように、前記画像に含まれる参照画素の画素値を並び替える並び替え部と、
     前記並び替え部により並び替えられた参照画素の画素値を用いて、前記第1画素及び前記第2画素の予測画素値を生成する第1予測部と、
     前記並び替え部により並び替えられた参照画素の画素値を用いて、前記第1予測部の処理と並列的に、前記第3画素及び前記第4画素の予測画素値を生成する第2予測部と、
     を備える画像処理装置。
  12.  前記第1サブブロック内での前記第1画素の画素位置と前記第2サブブロック内での前記第2画素の画素位置とは同じ位置であり、前記第1サブブロック内での前記第3画素の画素位置と前記第2サブブロック内での前記第4画素の画素位置とは同じ位置である、請求項11に記載の画像処理装置。
  13.  前記第1画素、前記第2画素、前記第3画素、及び前記第4画素は、前記画像内の同じラインに属する画素である、請求項12に記載の画像処理装置。
  14.  前記第1予測部は、前記第1画素及び前記第2画素について生成した予測画素値に基づいて、前記第1サブブロックの第5画素及び前記第2サブブロックの第6画素の予測画素値をさらに生成する、請求項11に記載の画像処理装置。
  15.  前記第5画素及び前記第6画素は、前記画像内の前記第1画素及び前記第2画素とは異なるラインに属する画素である、請求項14に記載の画像処理装置。
  16.  前記第1予測部又は前記第2予測部は、処理対象の画素の左の画素が当該処理対象の画素と並列処理される画素である場合には、予測モード情報の符号量の削減のための推定予測モードを、前記処理対象の画素が属するサブブロックの上のサブブロックに設定された予測モードに基づいて決定する、請求項11に記載の画像処理装置。
  17.  前記第1予測部及び前記第2予測部は、各画素の予測画素値の生成を、イントラ4×4予測モードで実行する、請求項11に記載の画像処理装置。
  18.  前記画像処理装置は、前記第1サブブロックについての逆直交変換と前記第2サブブロックについての逆直交変換とを並列的に実行する逆直交変換部、をさらに備える、請求項11に記載の画像処理装置。
  19.  画像を処理するための画像処理方法において、
     画像内のマクロブロックに含まれる第1サブブロックの第1画素に隣接する第1参照画素の画素値及び前記マクロブロックに含まれる第2サブブロックの第2画素に隣接する第2参照画素の画素値が連続し、並びに前記第1サブブロックの第3画素に隣接する第3参照画素の画素値及び前記第2サブブロックの第4画素に隣接する第4参照画素の画素値が連続するように、前記画像に含まれる参照画素の画素値を並び替えることと、
     並び替えられた参照画素の画素値を用いて、前記第1画素及び前記第2画素の予測画素値を生成することと、
     並び替えられた参照画素の画素値を用いて、前記第1画素及び前記第2画素の予測画素値の生成と並列的に、前記第3画素及び前記第4画素の予測画素値を生成することと、
     を含む画像処理方法。
PCT/JP2011/063661 2010-07-20 2011-06-15 画像処理装置及び画像処理方法 WO2012011340A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/809,692 US20130114714A1 (en) 2010-07-20 2011-06-15 Image processing device and image processing method
CN2011800344742A CN103004199A (zh) 2010-07-20 2011-06-15 图像处理设备和图像处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010162963A JP2012028858A (ja) 2010-07-20 2010-07-20 画像処理装置及び画像処理方法
JP2010-162963 2010-07-20

Publications (1)

Publication Number Publication Date
WO2012011340A1 true WO2012011340A1 (ja) 2012-01-26

Family

ID=45496769

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/063661 WO2012011340A1 (ja) 2010-07-20 2011-06-15 画像処理装置及び画像処理方法

Country Status (4)

Country Link
US (1) US20130114714A1 (ja)
JP (1) JP2012028858A (ja)
CN (1) CN103004199A (ja)
WO (1) WO2012011340A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016067557A1 (ja) * 2014-10-31 2016-05-06 日本電気株式会社 予測画像生成装置および予測画像生成方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6242139B2 (ja) * 2013-10-02 2017-12-06 ルネサスエレクトロニクス株式会社 動画像復号処理装置およびその動作方法
CN104918050B (zh) * 2014-03-16 2019-11-08 上海天荷电子信息有限公司 使用动态排列重组的参考像素样值集的图像编解码方法
WO2016192073A1 (zh) 2015-06-04 2016-12-08 清华大学 编码方法、解码方法及其装置
US10764587B2 (en) * 2017-06-30 2020-09-01 Qualcomm Incorporated Intra prediction in video coding
US10171711B1 (en) * 2018-01-16 2019-01-01 Omnivision Technologies, Inc. De-emphasized image signal transmission

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07298258A (ja) * 1994-04-28 1995-11-10 Nippon Telegr & Teleph Corp <Ntt> 画像符号化復号化方法
JP2007074725A (ja) * 2005-09-06 2007-03-22 Samsung Electronics Co Ltd 映像のイントラ予測符号化及び復号化方法、並びに装置
WO2007063808A1 (ja) * 2005-11-30 2007-06-07 Kabushiki Kaisha Toshiba 画像符号化/画像復号化方法及び画像符号化/画像復号化装置
JP2009177352A (ja) * 2008-01-22 2009-08-06 Canon Inc 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0387051B1 (en) * 1989-03-10 1997-08-06 Canon Kabushiki Kaisha Method and apparatus for coding image information
JP2007005965A (ja) * 2005-06-22 2007-01-11 Fuji Xerox Co Ltd 符号化装置、符号化方法、及びプログラム
JP5219062B2 (ja) * 2006-04-10 2013-06-26 株式会社メガチップス 画像データの生成方法
TWI339073B (en) * 2006-11-13 2011-03-11 Univ Nat Chiao Tung Video coding method using image data skipping
US8369411B2 (en) * 2007-03-29 2013-02-05 James Au Intra-macroblock video processing
US20100118945A1 (en) * 2007-03-29 2010-05-13 Kabushiki Kaisha Toshiba Method and apparatus for video encoding and decoding
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
JPWO2009063554A1 (ja) * 2007-11-13 2011-03-31 富士通株式会社 符号化装置および復号装置
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
US20100086031A1 (en) * 2008-10-03 2010-04-08 Qualcomm Incorporated Video coding with large macroblocks
US8483285B2 (en) * 2008-10-03 2013-07-09 Qualcomm Incorporated Video coding using transforms bigger than 4×4 and 8×8
US8311112B2 (en) * 2008-12-31 2012-11-13 Entropic Communications, Inc. System and method for video compression using predictive coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07298258A (ja) * 1994-04-28 1995-11-10 Nippon Telegr & Teleph Corp <Ntt> 画像符号化復号化方法
JP2007074725A (ja) * 2005-09-06 2007-03-22 Samsung Electronics Co Ltd 映像のイントラ予測符号化及び復号化方法、並びに装置
WO2007063808A1 (ja) * 2005-11-30 2007-06-07 Kabushiki Kaisha Toshiba 画像符号化/画像復号化方法及び画像符号化/画像復号化装置
JP2009177352A (ja) * 2008-01-22 2009-08-06 Canon Inc 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016067557A1 (ja) * 2014-10-31 2016-05-06 日本電気株式会社 予測画像生成装置および予測画像生成方法

Also Published As

Publication number Publication date
US20130114714A1 (en) 2013-05-09
JP2012028858A (ja) 2012-02-09
CN103004199A (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
US20200204796A1 (en) Image processing device and image processing method
US10931955B2 (en) Image processing device and image processing method that horizontal filtering on pixel blocks
US10785504B2 (en) Image processing device and image processing method
US10652546B2 (en) Image processing device and image processing method
US20130156328A1 (en) Image processing device and image processing method
WO2011145601A1 (ja) 画像処理装置と画像処理方法
WO2012011340A1 (ja) 画像処理装置及び画像処理方法
WO2013047325A1 (ja) 画像処理装置および方法
WO2012043166A1 (ja) 画像処理装置及び画像処理方法

Legal Events

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

Ref document number: 11809514

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13809692

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: 11809514

Country of ref document: EP

Kind code of ref document: A1