+

WO2010095560A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2010095560A1
WO2010095560A1 PCT/JP2010/052020 JP2010052020W WO2010095560A1 WO 2010095560 A1 WO2010095560 A1 WO 2010095560A1 JP 2010052020 W JP2010052020 W JP 2010052020W WO 2010095560 A1 WO2010095560 A1 WO 2010095560A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
template
image
pixel
unit
Prior art date
Application number
PCT/JP2010/052020
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 BRPI1008507A priority Critical patent/BRPI1008507A2/pt
Priority to RU2011134049/07A priority patent/RU2011134049A/ru
Priority to CN2010800078928A priority patent/CN102318346A/zh
Priority to JP2011500576A priority patent/JPWO2010095560A1/ja
Priority to US13/148,893 priority patent/US20120044996A1/en
Publication of WO2010095560A1 publication Critical patent/WO2010095560A1/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method adapted to improve processing efficiency in template matching prediction processing.
  • MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image coding method, and is a standard that covers both interlaced and progressive scan images as well as standard resolution images and high definition images.
  • MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
  • the MPEG2 compression method for example, in the case of a standard resolution interlaced scan image having 720 ⁇ 480 pixels, a code amount (bit rate) of 4 to 8 Mbps is allocated.
  • the MPEG2 compression method for example, in the case of a high resolution interlaced scanning image having 1920 ⁇ 10 88 pixels, a code amount (bit rate) of 18 to 22 Mbps is allocated. Thereby, a high compression rate and good image quality can be realized.
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.264 has been initially used for the purpose of image coding for video conferencing.
  • the standardization of the 26L (ITU-T Q6 / 16 VCEG) standard is in progress.
  • 26L ITU-T Q6 / 16 VCEG
  • higher encoding efficiency is realized.
  • this H.264. H. 26L based.
  • the Joint Model of Enhanced-Compression Video Coding is being implemented to achieve higher coding efficiency by incorporating features not supported by 26L.
  • H. H.264 and MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as H.264 / AVC are international standards.
  • motion prediction / compensation processing is performed in units of 16 ⁇ 16 pixels.
  • motion prediction / compensation processing is performed for each of the first field and the second field in units of 16 ⁇ 8 pixels.
  • H. In the H.264 / AVC system motion prediction / compensation can be performed by varying the block size. That is, H. In the H.264 / AVC system, one macro block composed of 16 ⁇ 16 pixels is divided into either 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, or 8 ⁇ 8 partitions, and they are independent of each other. It is possible to have motion vector information. Also, with regard to an 8 ⁇ 8 partition, it is possible to divide into 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, or 4 ⁇ 4 sub partitions and have independent motion vector information.
  • H. In the H.264 / AVC system when the above-described 1 ⁇ 4 pixel accuracy and block-variable motion prediction / compensation processing are performed, a large amount of motion vector information is generated, and if this is encoded as it is, This has resulted in a decrease in coding efficiency. Therefore, the decrease in coding efficiency is suppressed by using, for example, a method of generating predicted motion vector information of a target block to be encoded from now on by median operation using motion vector information of already encoded adjacent blocks. It has been proposed.
  • Patent Document 1 a method described in Patent Document 1 is proposed. In the method, an area of an image adjacent to the area of the image to be encoded in a predetermined positional relationship and having a high correlation with the decoded image of the template area which is a part of the decoded image is searched from the decoded image. This is a method of performing prediction based on the searched area and a predetermined positional relationship.
  • This method is referred to as a template matching method and uses a decoded image for matching. Therefore, by predetermining a search range, the same processing can be performed in the encoding device and the decoding device. That is, by performing prediction / compensation processing as described above in the decoding apparatus as well, it is not necessary to have motion vector information in the image compression information from the encoding apparatus, so it is possible to suppress a decrease in encoding efficiency. It is.
  • the template matching scheme can be used for both intra prediction and inter prediction, and hereinafter also referred to as intra template matching prediction processing and inter template matching prediction processing, respectively.
  • FIG. 1 a case is considered in which processing is performed in units of 8 ⁇ 8 pixel blocks in intra or inter template matching prediction processing.
  • a macroblock of 16 ⁇ 16 pixels is shown.
  • the macro block is composed of an upper left block 0, an upper right block 1, a lower left block 2 and a lower right block 3, each of which is composed of 8 ⁇ 8 pixels.
  • adjacent pixels P1, P2, and P3 that are adjacent to the upper, upper left, and left portions of the block 1 and that are part of the decoded image It is used as a region.
  • the template matching prediction process in the block 1 can not be performed. Therefore, in the conventional template matching prediction processing, it is difficult to perform prediction processing of block 0 and block 1 in a macroblock by parallel processing or pipeline processing.
  • the present invention has been made in view of such a situation, and improves the processing efficiency in the template matching prediction process.
  • the image processing apparatus is characterized in that pixels of a template used for calculating a motion vector of a block constituting a predetermined block of an image have a predetermined positional relationship with any of the blocks.
  • a template pixel setting unit configured according to the address of the block in the predetermined block, and the template including the pixels set by the template pixel setting unit
  • template motion prediction / compensation means for calculating the motion vector of the block.
  • the image processing apparatus may further include encoding means for encoding the block using the motion vector calculated by the template motion prediction / compensation means.
  • the template pixel setting means can set, as the template, pixels adjacent to the left portion, the upper portion, and the upper left portion of the upper left block for the upper left block located at the upper left in the predetermined block.
  • the template pixel setting means with respect to the upper right block located at the upper right in the predetermined block, pixels adjacent to the upper and upper left portions of the upper right block, and the left of the upper left block located at the upper left in the predetermined block A pixel adjacent to a part can be set as the template.
  • the template pixel setting means sets pixels adjacent to the upper left and left portions of the lower left block and the upper left block located at the upper left in the predetermined block.
  • An adjacent pixel at the top can be set as the template.
  • the template pixel setting means for the lower right block located at the lower right in the predetermined block, the pixel adjacent to the upper left portion of the upper left block located at the upper left in the predetermined block, and the predetermined block A pixel adjacent to the upper part of the upper right block located at the upper right and a pixel adjacent to the left part of the lower left block located at the lower left in the predetermined block can be set as the template.
  • the template pixel setting means for the lower right block located at the lower right in the predetermined block, pixels adjacent to the upper and upper left portions of the upper right block located at the upper right in the predetermined block, and the predetermined pixel A pixel adjacent to the left portion of the lower left block located at the lower left in the block can be set as the template.
  • the template pixel setting means for the lower right block located at the lower right in the predetermined block, a pixel adjacent to the upper portion of the upper right block located at the upper right in the predetermined block, and the lower left in the predetermined block
  • the pixels adjacent to the upper left portion and the left portion of the lower left block located at can be set as the template.
  • a pixel of a template used for calculating a motion vector of a block that constitutes a predetermined block of an image is set for any one of the blocks.
  • the pixels are set according to the address of the block in the predetermined block, and the template of the set pixels is used to generate the block Calculating the motion vector.
  • An image processing apparatus includes decoding means for decoding an image of a block being encoded, and pixels of a template used for calculating a motion vector of the block constituting a predetermined block of the image.
  • Template pixel setting means for setting according to the address of the block in the predetermined block among the pixels generated from the decoded image and adjacent to any of the blocks in a predetermined positional relationship;
  • Template motion prediction means for calculating a motion vector of the block using the template composed of the pixels set by the template pixel setting means, the image decoded by the decoding means, and the template motion prediction means The predicted image of the block is generated using the calculated motion vector.
  • a motion compensation unit that.
  • the template pixel setting means can set, as the template, pixels adjacent to the left portion, the upper portion, and the upper left portion of the upper left block for the upper left block located at the upper left in the predetermined block.
  • the template pixel setting means with respect to the upper right block located at the upper right in the predetermined block, pixels adjacent to the upper and upper left portions of the upper right block, and the left of the upper left block located at the upper left in the predetermined block A pixel adjacent to a part can be set as the template.
  • the template pixel setting means sets pixels adjacent to the upper left and left portions of the lower left block and the upper left block located at the upper left in the predetermined block.
  • An adjacent pixel at the top can be set as the template.
  • the template pixel setting means for the lower right block located at the lower right in the predetermined block, the pixel adjacent to the upper left portion of the upper left block located at the upper left in the predetermined block, and the predetermined block A pixel adjacent to the upper part of the upper right block located at the upper right and a pixel adjacent to the left part of the lower left block located at the lower left in the predetermined block can be set as the template.
  • the template pixel setting means for the lower right block located at the lower right in the predetermined block, pixels adjacent to the upper and upper left portions of the upper right block located at the upper right in the predetermined block, and the predetermined pixel A pixel adjacent to the left portion of the lower left block located at the lower left in the block can be set as the template.
  • the image processing apparatus decodes an image of a block being encoded, and uses pixels of a template used for calculating a motion vector of the block constituting a predetermined block of the image. From the pixels adjacent to one of the blocks in a predetermined positional relationship and generated from the decoded image according to the address of the block in the predetermined block, the set pixels Calculating a motion vector of the block using the template, and generating a predicted image of the block using the decoded image and the calculated motion vector.
  • a pixel of a template used for calculating a motion vector of a block constituting a predetermined block of an image is adjacent to one of the blocks in a predetermined positional relationship and a decoded image Are set according to the address of the block in the predetermined block. Then, the motion vector of the block is calculated by using the set template including the pixels.
  • the image of the block being encoded is decoded
  • the template pixel used for calculating the motion vector of the block constituting the predetermined block of the image is any of the blocks Of the pixels which are adjacent to each other in a predetermined positional relationship and are generated from the decoded image, are set according to the address of the block in the predetermined block, and use the template including the set pixels Then, the motion vector of the block is calculated. Then, using the decoded image and the calculated motion vector, a predicted image of the block is generated.
  • each of the above-described image processing devices may be an independent device, or may be an image coding device or an internal block constituting an image decoding device.
  • motion vectors of blocks of an image can be calculated. Further, according to the first aspect of the present invention, the prediction processing efficiency can be improved.
  • an image can be decoded. Further, according to the second aspect of the present invention, the prediction processing efficiency can be improved.
  • FIG.12 S21 It is a figure explaining the processing order in the case of the intra prediction mode of 16x16 pixels. It is a figure which shows the kind of 4 * 4 pixel intra prediction mode of a luminance signal. It is a figure which shows the kind of 4 * 4 pixel intra prediction mode of a luminance signal. It is a figure explaining the direction of intra prediction of 4x4 pixels. It is a figure explaining the intra prediction of 4x4 pixels.
  • FIG. 13 S35 It is a flowchart explaining the inter template motion prediction process of FIG.13 S35. It is a figure explaining the inter template matching method.
  • 29 is a flowchart illustrating template pixel setting processing in step S61 in FIG. 26 or step S71 in FIG. 28.
  • FIG. It is a figure explaining the effect by template pixel setting.
  • It is a block diagram which shows the structure of one Embodiment of the image decoding apparatus to which this invention is applied.
  • FIG.33 S138 It is a figure which shows the example of the expanded block size.
  • It is a block diagram showing the example of composition of the hardware of a computer.
  • FIG. 2 shows the configuration of an embodiment of an image coding apparatus as an image processing apparatus to which the present invention is applied.
  • This image coding apparatus 1 is, for example, H.264. H.264 and MPEG-4 Part 10 (Advanced Video Coding) (hereinafter referred to as H.264 / AVC) to compress and encode an image.
  • H.264 / AVC Advanced Video Coding
  • the image encoding device 1 includes an A / D conversion unit 11, a screen rearrangement buffer 12, an operation unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, an accumulation buffer 17, Inverse quantization unit 18, inverse orthogonal transformation unit 19, operation unit 20, deblock filter 21, frame memory 22, switch 23, intra prediction unit 24, intra template motion prediction / compensation unit 25, motion prediction / compensation unit 26, inter A template motion prediction / compensation unit 27, a template pixel setting unit 28, a predicted image selection unit 29, and a rate control unit 30 are provided.
  • the intra template motion prediction / compensation unit 25 and the inter template motion prediction / compensation unit 27 will be referred to as an intra TP motion prediction / compensation unit 25 and an inter TP motion prediction / compensation unit 27, respectively.
  • the A / D converter 11 A / D converts the input image, and outputs the image to the screen rearrangement buffer 12 for storage.
  • the screen rearrangement buffer 12 rearranges the images of the frames in the stored display order into the order of frames for encoding in accordance with the GOP (Group of Picture).
  • the calculation unit 13 subtracts the prediction image from the intra prediction unit 24 selected by the prediction image selection unit 29 or the prediction image from the motion prediction / compensation unit 26 from the image read from the screen rearrangement buffer 12, The difference information is output to the orthogonal transform unit 14.
  • the orthogonal transformation unit 14 subjects the difference information from the computation unit 13 to orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation, and outputs the transformation coefficient.
  • the quantization unit 15 quantizes the transform coefficient output from the orthogonal transform unit 14.
  • the quantized transform coefficient which is the output of the quantization unit 15, is input to the lossless encoding unit 16, where it is subjected to lossless encoding such as variable length coding or arithmetic coding and compressed.
  • the lossless encoding unit 16 acquires information indicating intra prediction and intra template prediction from the intra prediction unit 24, and acquires information indicating inter prediction and inter template prediction from the motion prediction / compensation unit 26.
  • the information indicating intra prediction and the information indicating intra template prediction are hereinafter also referred to as intra prediction mode information and intra template prediction mode information, respectively.
  • information indicating inter prediction and information indicating inter template prediction are hereinafter also referred to as inter prediction mode information and inter template prediction mode information, respectively.
  • the lossless encoding unit 16 encodes the quantized transform coefficients, and also encodes information indicating intra prediction or intra template prediction, information indicating inter prediction or inter template prediction, and the like, and transmits header information in the compressed image. Be part.
  • the lossless encoding unit 16 supplies the encoded data to the accumulation buffer 17 for accumulation.
  • the lossless encoding unit 16 performs lossless encoding processing such as variable length coding or arithmetic coding.
  • lossless encoding processing such as variable length coding or arithmetic coding.
  • variable-length coding H.264 is used.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 17 converts the data supplied from the lossless encoding unit 16 into H.264 data.
  • the compressed image is output to a recording device or a transmission line (not shown) at a later stage.
  • the quantized transform coefficient output from the quantization unit 15 is also input to the inverse quantization unit 18, and after being inversely quantized, is further subjected to inverse orthogonal transform in the inverse orthogonal transform unit 19.
  • the output subjected to the inverse orthogonal transform is added to the predicted image supplied from the predicted image selecting unit 29 by the operation unit 20 to be a locally decoded image.
  • the deblocking filter 21 removes block distortion of the decoded image, and then supplies it to the frame memory 22 for storage.
  • the frame memory 22 is also supplied with an image before being deblocked by the deblock filter 21 and accumulated.
  • the switch 23 outputs the reference image stored in the frame memory 22 to the motion prediction / compensation unit 26 or the intra prediction unit 24.
  • I picture, B picture and P picture from the screen rearrangement buffer 12 are supplied to the intra prediction unit 24 as an image to be subjected to intra prediction (also referred to as intra processing).
  • the B picture and the P picture read from the screen rearrangement buffer 12 are supplied to the motion prediction / compensation unit 26 as an image to be subjected to inter prediction (also referred to as inter processing).
  • the intra prediction unit 24 performs intra prediction processing of all candidate intra prediction modes based on the image to be intra predicted read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22, and performs prediction. Generate an image.
  • the intra prediction unit 24 also supplies the intra TP motion prediction / compensation unit 25 with the image to be intra predicted read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22 via the switch 23. Do.
  • the intra prediction unit 24 calculates cost function values for all candidate intra prediction modes.
  • the intra prediction unit 24 performs optimal intra prediction on a prediction mode which gives the minimum value among the calculated cost function value and the cost function value for the intra template prediction mode calculated by the intra TP motion prediction / compensation unit 25. Determined as the mode.
  • the intra prediction unit 24 supplies the predicted image generated in the optimal intra prediction mode and the cost function value thereof to the predicted image selection unit 29.
  • the intra prediction unit 24 loses information (intra prediction mode information or intra template prediction mode information) indicating the optimal intra prediction mode. It supplies to the encoding unit 16.
  • the lossless encoding unit 16 encodes this information and uses it as part of header information in the compressed image.
  • the intra TP motion prediction / compensation unit 25 receives the image to be intra-predicted read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22.
  • the intra TP motion prediction / compensation unit 25 performs motion prediction and compensation processing in the intra template prediction mode using these images and using a template consisting of pixels set by the template pixel setting unit 28 to obtain a predicted image.
  • the intra TP motion prediction / compensation unit 25 calculates a cost function value for the intra template prediction mode, and supplies the calculated cost function value and the predicted image to the intra prediction unit 24.
  • the motion prediction / compensation unit 26 performs motion prediction / compensation processing for all candidate inter prediction modes. That is, the motion prediction / compensation unit 26 is supplied with the image to be inter-processed read from the screen rearrangement buffer 12 and the reference image from the frame memory 22 via the switch 23.
  • the motion prediction / compensation unit 26 detects motion vectors in all candidate inter prediction modes based on the image to be inter processed and the reference image, performs compensation processing on the reference image based on the motion vectors, and outputs a predicted image Generate Further, the motion prediction / compensation unit 26 inter TP motion prediction / compensation unit 27 the image to be inter-predicted read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22 via the switch 23.
  • the motion prediction / compensation unit 26 calculates cost function values for all candidate inter prediction modes.
  • the motion prediction / compensation unit 26 is a prediction mode which gives the minimum value among the cost function value for the inter prediction mode and the cost function value for the inter template prediction mode from the inter TP motion prediction / compensation unit 27. Is determined as the optimal inter prediction mode.
  • the motion prediction / compensation unit 26 supplies the prediction image generated in the optimal inter prediction mode and the cost function value thereof to the prediction image selection unit 29.
  • the motion prediction / compensation unit 26 selects information (inter prediction mode information or inter template prediction mode information) indicating the optimal inter prediction mode. It is output to the lossless encoding unit 16.
  • the lossless encoding unit 16 performs lossless encoding processing, such as variable length encoding and arithmetic encoding, on the information from the motion prediction / compensation unit 26 and inserts the information into the header portion of the compressed image.
  • the inter TP motion prediction / compensation unit 27 receives an inter prediction image read from the screen rearrangement buffer 12 and a reference image supplied from the frame memory 22.
  • the inter TP motion prediction / compensation unit 27 performs motion prediction and compensation processing in the template prediction mode using these images, using the template including pixels set by the template pixel setting unit 28, and generates a prediction image. Do. Then, the inter TP motion prediction / compensation unit 27 calculates a cost function value for the inter template prediction mode, and supplies the calculated cost function value and the predicted image to the motion prediction / compensation unit 26.
  • the template pixel setting unit 28 sets pixels of the template for calculating the motion vector of the target block in the intra or inter template prediction mode according to the address in the macro block (or sub macro block) of the target block.
  • the pixel information of the set template is supplied to the intra TP motion prediction / compensation unit 25 or the inter TP motion prediction / compensation unit 27.
  • the predicted image selection unit 29 determines the optimal prediction mode from the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values output from the intra prediction unit 24 or the motion prediction / compensation unit 26. Then, the prediction image selection unit 29 selects the prediction image of the determined optimum prediction mode, and supplies the prediction image to the calculation units 13 and 20. At this time, the prediction image selection unit 29 supplies selection information of the prediction image to the intra prediction unit 24 or the motion prediction / compensation unit 26.
  • the rate control unit 30 controls the rate of the quantization operation of the quantization unit 15 based on the compressed image stored in the storage buffer 17 so that overflow or underflow does not occur.
  • FIG. It is a figure which shows the example of the block size of motion estimation and compensation in H.264 / AVC system.
  • a macro block composed of 16 ⁇ 16 pixels divided into partitions of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels is sequentially shown.
  • 8 ⁇ 8 pixel partitions divided into 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixel sub partitions are sequentially shown from the left. There is.
  • one macroblock is divided into partitions of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, or 8 ⁇ 8 pixels, and independent motion vector information is obtained. It is possible to have.
  • the 8 ⁇ 8 pixel partition it should be divided into 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, or 4 ⁇ 4 pixel sub-partition and have independent motion vector information. Is possible.
  • FIG. It is a figure explaining the prediction / compensation process of the 1/4 pixel precision in a 264 / AVC system.
  • H In the H.264 / AVC system, prediction / compensation processing with 1 ⁇ 4 pixel accuracy using a 6-tap FIR (Finite Impulse Response Filter) filter is performed.
  • FIR Finite Impulse Response Filter
  • the position A indicates the position of the integer precision pixel
  • the positions b, c and d indicate the positions of 1/2 pixel precision
  • the positions e1, e2 and e3 indicate the positions of 1/4 pixel precision.
  • max_pix When the input image has 8-bit precision, the value of max_pix is 255.
  • the pixel values at positions b and d are generated as in the following equation (2) using a 6-tap FIR filter.
  • a pixel value at position c is generated as in the following equation (3) by applying a 6-tap FIR filter in the horizontal and vertical directions. Note that the Clip processing is performed only once at the end after performing both the horizontal and vertical product-sum processing.
  • the positions e1 to e3 are generated by linear interpolation as in the following equation (4).
  • FIG. It is a figure explaining the prediction and compensation process of the multi-reference frame in H.264 / AVC system.
  • a target frame Fn to be encoded from now on and encoded frames Fn-5 to Fn-1 are shown.
  • the frame Fn-1 is a frame preceding the target frame Fn on the time axis
  • the frame Fn-2 is a frame two frames before the target frame Fn
  • the frame Fn-3 is a target frame of the target frame Fn It is a frame three before.
  • the frame Fn-4 is a frame four frames before the target frame Fn
  • the frame Fn-5 is a frame five frames before the target frame Fn.
  • smaller reference picture numbers (ref_id) are attached to frames closer to the target frame Fn on the time axis. That is, the frame Fn-1 has the smallest reference picture number, and thereafter, the reference picture numbers are smaller in the order of Fn-2, ..., Fn-5.
  • a block A1 and a block A2 are shown in the target frame Fn, and the block A1 is correlated with the block A1 'of the frame Fn-2 two frames before, and the motion vector V1 is searched. Further, the block A2 is correlated with the block A1 'of the frame Fn-4 four frames before, and the motion vector V2 is searched.
  • H. In the H.264 / AVC system it is possible to store a plurality of reference frames in memory and refer to different reference frames in one frame (picture). That is, for example, as in block A1 referring to frame Fn-2 and block A2 referring to frame Fn-4, reference frame information (reference picture number) independent for each block in one picture It can have (ref_id)).
  • FIG. It is a figure explaining the production
  • a target block E (for example, 16 ⁇ 16 pixels) to be encoded from now on and blocks A to D which are already encoded and are adjacent to the target block E are shown.
  • the block D is adjacent to the upper left of the target block E
  • the block B is adjacent above the target block E
  • the block C is adjacent to the upper right of the target block E
  • the block A is , And is adjacent to the left of the target block E.
  • the blocks A to D are not divided, respectively, indicating that the block is any one of the 16 ⁇ 16 pixels to 4 ⁇ 4 pixels described above with reference to FIG.
  • the predicted motion vector information for the current block E pmv E is block A, B, by using the motion vector information on C, is generated as in the following equation by median prediction (5).
  • the motion vector information for block C may not be available because it is at the end of the image frame or is not yet encoded. In this case, motion vector information for block C is substituted by motion vector information for block D.
  • processing is performed independently for each of the horizontal and vertical components of the motion vector information.
  • motion vector information is generated by generating predicted motion vector information and adding the difference between predicted motion vector information and motion vector information generated by correlation with an adjacent block to the header portion of the compressed image. It can be reduced.
  • the image coding apparatus 1 needs to send a motion vector to the decoding side since it uses a template that is adjacent to the region of the image to be coded in a predetermined positional relationship and is a part of the decoded image. It also performs motion prediction compensation processing in the template prediction mode without. At this time, in the image encoding device 1, pixels used for the template are set.
  • FIG. 7 is a block diagram showing an example of a detailed configuration of each unit that performs processing related to the template prediction mode described above.
  • a detailed configuration example of the intra TP motion prediction / compensation unit 25, the inter TP motion prediction / compensation unit 27, and the template pixel setting unit 28 is shown.
  • the intra TP motion prediction / compensation unit 25 is configured of a block address calculation unit 41, a motion prediction unit 42, and a motion compensation unit 43.
  • the block address calculation unit 41 calculates the address in the macro block of the target block to be encoded, and supplies the information of the calculated address to the block classification unit 61.
  • the motion prediction unit 42 receives the image to be intra-predicted read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22. Further, the motion prediction unit 42 receives the information of the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the motion prediction unit 42 uses the image to be intra-predicted and the reference image, and uses the pixel values of the target block and the reference block template set by the target block TP setting unit 62 and the reference block TP setting unit 63 to generate an intra template. Motion prediction in prediction mode is performed. At this time, the calculated motion vector and reference image are supplied to the motion compensation unit 43.
  • the motion compensation unit 43 performs a motion compensation process using the motion vector calculated by the motion prediction unit 42 and the reference image, and generates a predicted image. Furthermore, the motion compensation unit 43 calculates a cost function value for the intra template prediction mode, and supplies the calculated cost function value and the predicted image to the intra prediction unit 24.
  • the inter TP motion prediction / compensation unit 27 includes a block address calculation unit 51, a motion prediction unit 52, and a motion compensation unit 53.
  • the block address calculation unit 51 calculates the address in the macro block of the target block to be encoded, and supplies the information of the calculated address to the block classification unit 61.
  • the motion prediction unit 52 receives the inter prediction image read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22. Also, the motion prediction unit 52 receives information on the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the motion prediction unit 52 uses the image to be inter predicted and the reference image, and uses the pixel values of the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63 to perform the inter template Motion prediction in prediction mode is performed. At this time, the calculated motion vector and reference image are supplied to the motion compensation unit 53.
  • the motion compensation unit 53 performs a motion compensation process using the motion vector calculated by the motion prediction unit 52 and the reference image, and generates a predicted image. Furthermore, the motion compensation unit 53 calculates a cost function value for the inter template prediction mode, and supplies the calculated cost function value and the predicted image to the motion prediction / compensation unit 26.
  • the template pixel setting unit 28 includes a block classification unit 61, a target block template setting unit 62, and a reference block template setting unit 63.
  • the target block template setting unit 62 and the reference block template setting unit 63 will be referred to as a target block TP setting unit 62 and a reference block TP setting unit 63, respectively.
  • the block classification unit 61 classifies whether the target block to be processed in the intra or inter template prediction mode is the upper left block, the upper right block, the lower left block, and the lower right block in the macroblock. Do.
  • the block classification unit 61 supplies information indicating which block the target block is to the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the target block TP setting unit 62 sets, for the target block, the pixels constituting the template in accordance with the position of the target block in the macro block.
  • the information of the template in the set target block is supplied to the motion prediction unit 42 or the motion prediction unit 52.
  • the reference block TP setting unit 63 sets, for the reference block, the pixels constituting the template in accordance with the position of the target block in the macro block. That is, the reference block TP setting unit 63 sets a pixel at the same position as the target block as a pixel constituting a template for the reference block.
  • the information of the template in the set reference block is supplied to the motion prediction unit 42 or the motion prediction unit 52.
  • FIG. 8A to 8D show examples of templates according to the position in the macro block of the target block.
  • a macro block MB of 16 ⁇ 16 pixels is shown, and the macro block MB is composed of four blocks B0 to B3 consisting of 8 ⁇ 8 pixels.
  • the processing is performed in the order of blocks B0 to B3, that is, in the raster scan order.
  • the block B0 is a block located at the upper left in the macroblock MB
  • the block B1 is a block located at the upper right in the macroblock MB
  • the block B2 is a block located at the lower left in the macroblock MB
  • the block B3 is a block located at the lower right in the macroblock MB.
  • a of FIG. 8 shows an example of the template in the case where the target block is the block B0.
  • B of FIG. 8 shows an example of the template in the case where the target block is the block B1.
  • C of FIG. 8 shows an example of the template in the case where the target block is the block B2.
  • D of FIG. 8 shows an example of the template in the case where the target block is the block B3.
  • the block classification unit 61 classifies in which position in the macroblock MB the target block to be processed in the intra or inter template prediction mode is, that is, which block among the blocks B0 to B3.
  • the target block TP setting unit 62 and the reference block TP setting unit 63 form pixels that form a template for the target block and the reference block, depending on where in the macroblock MB the target block is (which block it is). Set each.
  • the target block is block B0, as shown in A of FIG. 8, pixel UB0, pixel LUB0, and pixel LB0 adjacent to the upper, upper left, and left portions of the target block are set in the template. Ru. Then, the pixel value of the template configured by the set pixel UB0, pixel LUB0, and pixel LB0 is used for matching.
  • the pixels UB1 and LUB1 adjacent to the upper and upper left portions of the target block and the pixel LB0 adjacent to the left part of block B0 are set as templates Be done. Then, the pixel values of the template configured of the set pixel UB1, pixel LUB1, and pixel LB0 are used for matching.
  • the pixel LUB2 and pixel LB2 adjacent to the upper left portion and the left portion of the target block and the pixel UB0 adjacent to the upper portion of block B0 are set as templates Be done. Then, the pixel value of the template configured of the set pixel UB0, the pixel LUB2, and the pixel LB2 is used for matching.
  • the pixel LUB0 adjacent to the upper left portion of the block B0, the pixel UB1 adjacent to the upper portion of the block B1, and the left portion of the block B2 Pixel LB2 is set as a template. Then, the pixel value of the template configured of the set pixel UB1, pixel LUB0, and pixel LB2 is used for matching.
  • the template shown in A of FIG. 9 or B of FIG. 9 can be used without being limited to the example of the template of D of FIG.
  • Pixel LB2 is set as a template. Then, the pixel value of the template configured of the set pixel UB1, pixel LUB1, and pixel LB2 is used for matching.
  • the target block is the block B3, as shown in B of FIG. 9, the pixel UB1 adjacent to the upper part of the block B1 and the pixel LUB2 adjacent to the upper left part of the block B2 and the left part are adjacent.
  • Pixel LB2 is set as a template. Then, the pixel value of the template configured by the set pixel UB1, pixel LUB2, and pixel LB2 is used for matching.
  • candidate pixel UB0, pixel LUB0, pixel LB0, pixel LUB1, pixel UB1, pixel LUB2, and pixel LB2 which are set in the template are all pixels adjacent to macro block MB in a predetermined positional relationship. .
  • processing for blocks B0 to B3 in the macro block MB is realized by parallel processing or pipeline processing by always using pixels adjacent to the macro block of the target block as the pixels constituting the template. It will be possible to The details of this effect will be described later with reference to FIGS. 31A to 31C.
  • a of FIG. 10 to E of FIG. 10 show examples of templates in the case where the block size is 4 ⁇ 4.
  • a macro block MB of 16 ⁇ 16 pixels is shown, and the macro block MB is composed of 16 blocks B0 to B15 of 4 ⁇ 4 pixels.
  • the sub-macroblock SMB0 is composed of blocks B0 to B3
  • the sub-macroblock SMB1 is composed of blocks B4 to B7.
  • the submacroblock SMB2 is composed of blocks B8 to B11
  • the submacroblock SMB3 is composed of blocks B12 to B15.
  • B of FIG. 10 shows an example of the template in the case where the target block is the block B0 in the sub-macroblock SMB0.
  • C of FIG. 10 shows an example of the template in the case where the target block is the block B1 in the sub-macroblock SMB0.
  • D of FIG. 10 shows an example of the template in the case where the target block is the block B2 in the sub-macroblock SMB0.
  • E of FIG. 10 shows an example of the template in the case where the target block is the block B3 in the sub-macroblock SMB0.
  • the raster scan order which is the order of processing, will be described.
  • the target block is block B0, as shown in B of FIG. 10, a pixel UB0, a pixel LUB0, and a pixel LB0 adjacent to the upper, upper left, and left portions of the target block are set as templates. Then, the pixel value of the template configured by the set pixel UB0, pixel LUB0, and pixel LB0 is used for matching.
  • pixel UB1 and pixel LUB1 adjacent to the upper and upper left portions of the target block and pixel LB0 adjacent to the left part of block B0 are set as templates Be done. Then, the pixel values of the template configured of the set pixel UB1, pixel LUB1, and pixel LB0 are used for matching.
  • the pixel LUB2 and the pixel LB2 adjacent to the upper left part and the left part of the target block and the pixel UB0 adjacent to the upper part of the block B0 are set as a template Be done. Then, the pixel value of the template configured of the set pixel UB0, the pixel LUB2, and the pixel LB2 is used for matching.
  • the pixel LUB0 adjacent to the upper left portion of the block B0, the pixel UB1 adjacent to the upper portion of the block B1, and the left portion of the block B2 Pixel LB2 is set as a template. Then, the pixel value of the template configured of the set pixel UB1, pixel LUB0, and pixel LB2 is used for matching.
  • the template shown in A of FIG. 11 or B of FIG. 11 can be used without being limited to the example of the template of E of FIG.
  • Pixel LB2 is set as a template. Then, the pixel value of the template configured of the set pixel UB1, pixel LUB1, and pixel LB2 is used for matching.
  • the target block is the block B3, as shown in B of FIG. 11, the pixel UB1 adjacent to the upper part of the block B1 and the pixel LUB2 adjacent to the upper left part of the block B2 and the left part are adjacent.
  • Pixel LB2 is set as a template. Then, the pixel value of the template configured by the set pixel UB1, pixel LUB2, and pixel LB2 is used for matching.
  • candidate pixel UB0, pixel LUB0, pixel LB0, pixel LUB1, pixel UB1, pixel LUB2 and pixel LB2 which are set in the template are all pixels adjacent to sub-macroblock SMB0 in a predetermined positional relationship. is there.
  • the pixels adjacent to the sub-macroblock of the target block are always used as the pixels constituting the template. This makes it possible to implement processing for blocks B0 to B3 in sub-macroblock SMB0 by parallel processing or pipeline processing.
  • step S11 the A / D converter 11 A / D converts the input image.
  • step S12 the screen rearrangement buffer 12 stores the image supplied from the A / D conversion unit 11, and performs rearrangement from the display order of each picture to the encoding order.
  • step S13 the computing unit 13 computes the difference between the image rearranged in step S12 and the predicted image.
  • the predicted image is supplied from the motion prediction / compensation unit 26 in the case of inter prediction, and from the intra prediction unit 24 in the case of intra prediction, to the calculation unit 13 via the predicted image selection unit 29.
  • the difference data has a smaller amount of data than the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S14 the orthogonal transformation unit 14 orthogonally transforms the difference information supplied from the calculation unit 13. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S15 the quantization unit 15 quantizes the transform coefficient. During this quantization, the rate is controlled as described in the process of step S25 described later.
  • step S16 the inverse quantization unit 18 inversely quantizes the transform coefficient quantized by the quantization unit 15 with a characteristic corresponding to the characteristic of the quantization unit 15.
  • step S17 the inverse orthogonal transformation unit 19 inversely orthogonally transforms the transform coefficient inversely quantized by the inverse quantization unit 18 with the characteristic corresponding to the characteristic of the orthogonal transformation unit 14.
  • step S18 the operation unit 20 adds the predicted image input via the predicted image selection unit 29 to the locally decoded difference information, and the locally decoded image (for input to the operation unit 13) Generate the corresponding image).
  • step S19 the deblocking filter 21 filters the image output from the computing unit 20. This removes blockiness.
  • step S20 the frame memory 22 stores the filtered image. The image not subjected to filter processing by the deblocking filter 21 is also supplied from the arithmetic unit 20 to the frame memory 22 and stored.
  • step S21 the intra prediction unit 24, the intra TP motion prediction / compensation unit 25, the motion prediction / compensation unit 26, and the inter TP motion prediction / compensation unit 27 perform image prediction processing, respectively. That is, in step S21, the intra prediction unit 24 performs intra prediction processing in the intra prediction mode, and the intra TP motion prediction / compensation unit 25 performs motion prediction / compensation processing in the intra template prediction mode.
  • the motion prediction / compensation unit 26 performs motion prediction / compensation processing in the inter prediction mode, and the inter TP motion prediction / compensation unit 27 performs motion prediction / compensation processing in the inter template prediction mode.
  • the template set by the template pixel setting unit 28 is used.
  • step S21 The details of the prediction process in step S21 will be described later with reference to FIG. 13.
  • prediction processes in all candidate prediction modes are respectively performed, and cost functions in all candidate prediction modes are obtained.
  • Each value is calculated.
  • the optimal intra prediction mode is selected from the intra prediction mode and the intra template prediction mode, and the predicted image generated in the optimal intra prediction mode and its cost function value are predicted images. It is supplied to the selection unit 29.
  • the optimal inter prediction mode is determined from the inter prediction mode and the inter template prediction mode, and the predicted image generated in the optimal inter prediction mode and its cost function value are predicted.
  • the image selection unit 29 is supplied.
  • step S22 the predicted image selection unit 29 optimizes one of the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values output from the intra prediction unit 24 and the motion prediction / compensation unit 26. Decide on prediction mode. Then, the prediction image selection unit 29 selects the prediction image of the determined optimum prediction mode, and supplies it to the calculation units 13 and 20. This predicted image is used for the calculation of steps S13 and S18 as described above.
  • the selection information of the predicted image is supplied to the intra prediction unit 24 or the motion prediction / compensation unit 26.
  • the intra prediction unit 24 supplies information indicating the optimal intra prediction mode (that is, intra prediction mode information or intra template prediction mode information) to the lossless encoding unit 16 .
  • the motion prediction / compensation unit 26 sends the lossless encoding unit 16 information indicating the optimal inter prediction mode and information according to the optimal inter prediction mode as needed. Output.
  • information according to the optimal inter prediction mode motion vector information, flag information, reference frame information and the like can be mentioned. More specifically, when the prediction image in the inter prediction mode is selected as the optimal inter prediction mode, the motion prediction / compensation unit 26 losslessly encodes the inter prediction mode information, motion vector information, and reference frame information. Output to 16
  • the motion prediction / compensation unit 26 outputs only the inter template prediction mode information to the lossless encoding unit 16. That is, in the case of encoding by inter template prediction mode information, motion vector information and the like do not need to be sent to the decoding side, and thus are not output to the lossless encoding unit 16. Therefore, motion vector information in the compressed image can be reduced.
  • step S23 the lossless encoding unit 16 encodes the quantized transform coefficient output from the quantization unit 15. That is, the difference image is losslessly encoded such as variable length coding, arithmetic coding or the like and compressed.
  • the optimal intra prediction mode information from the intra prediction unit 24 or the information according to the optimal inter prediction mode from the motion prediction / compensation unit 26 input to the lossless encoding unit 16 in step S22 described above is also used. It is encoded and added to header information.
  • step S24 the accumulation buffer 17 accumulates the difference image as a compressed image.
  • the compressed image stored in the storage buffer 17 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S25 the rate control unit 30 controls the rate of the quantization operation of the quantization unit 15 based on the compressed image stored in the storage buffer 17 so that overflow or underflow does not occur.
  • the decoded image to be referred to is read from the frame memory 22 and the intra prediction unit 24 via the switch 23 Supplied to Based on these images, in step S31, the intra prediction unit 24 intra predicts the pixels of the block to be processed in all candidate intra prediction modes.
  • the pixel which is not deblock-filtered by the deblocking filter 21 is used as a decoded pixel referred.
  • intra prediction is performed in all candidate intra prediction modes, and for all candidate intra prediction modes. Cost function values are calculated. Then, based on the calculated cost function value, one intra prediction mode to be optimized is selected from all the intra prediction modes.
  • step S32 the motion prediction / compensation unit 26 performs inter motion prediction processing based on these images. That is, the motion prediction / compensation unit 26 performs motion prediction processing of all candidate inter prediction modes with reference to the image supplied from the frame memory 22.
  • step S32 The details of the inter motion prediction process in step S32 will be described later with reference to FIG. 25.
  • motion prediction processing is performed in all candidate inter prediction modes, and all candidate inter prediction modes are selected. Cost function values are calculated.
  • the referenced decoded image read from the frame memory 22 passes through the intra prediction unit 24. It is also supplied to the intra TP motion prediction / compensation unit 25. Based on these images, in step S33, the intra TP motion prediction / compensation unit 25 performs intra template motion prediction processing in the intra template prediction mode.
  • the motion prediction process is performed in the intra template prediction mode, and the cost function value is calculated for the intra template prediction mode Be done. Then, the predicted image generated by the motion prediction processing in the intra template prediction mode and the cost function value thereof are supplied to the intra prediction unit 24.
  • step S34 the intra prediction unit 24 compares the cost function value for the intra prediction mode selected in step S31 with the cost function value for the intra template prediction mode calculated in step S33. Then, the intra prediction unit 24 determines the prediction mode giving the minimum value as the optimal intra prediction mode, and supplies the predicted image generated in the optimal intra prediction mode and its cost function value to the predicted image selection unit 29.
  • the image to be processed supplied from the screen rearrangement buffer 12 is an image to be inter processed
  • the image to be referenced read from the frame memory 22 is inter TP via the motion prediction / compensation unit 26.
  • the motion prediction / compensation unit 27 is also supplied. Based on these images, the inter TP motion prediction / compensation unit 27 performs inter template motion prediction processing in the inter template prediction mode in step S35.
  • step S35 The details of the inter template motion prediction process in step S35 will be described later with reference to FIG. 28.
  • the motion prediction process is performed in the inter template prediction mode, and the cost function value is calculated for the inter template prediction mode Be done. Then, the predicted image generated by the motion prediction processing in the inter template prediction mode and the cost function value thereof are supplied to the motion prediction / compensation unit 26.
  • step S36 the motion prediction / compensation unit 26 compares the cost function value for the optimal inter prediction mode selected in step S32 with the cost function value for the inter template prediction mode calculated in step S35. Do. Then, the motion prediction / compensation unit 26 determines the prediction mode giving the minimum value as the optimal inter prediction mode, and the motion prediction / compensation unit 26 selects the predicted image generated in the optimal inter prediction mode and its cost function value. , And supplies the predicted image selection unit 29.
  • the intra prediction mode of the luminance signal includes prediction modes in 9 4 ⁇ 4 pixel block units and 4 16 ⁇ 16 pixel macro block units.
  • numerals -1 to 25 attached to each block indicate the bit-stream order of each block (that is, the processing order on the decoding side).
  • the macro block is divided into 4 ⁇ 4 pixels, and DCT of 4 ⁇ 4 pixels is performed. Then, only in the case of the 16 ⁇ 16 pixel intra prediction mode, as shown in the ⁇ 1 block, the DC components of each block are collected to generate a 4 ⁇ 4 matrix. Will be applied.
  • the color difference signal after the macro block is divided into 4 ⁇ 4 pixels and 4 ⁇ 4 pixel DCT is performed, the DC component of each block is collected as shown in each of blocks 16 and 17. , 2 ⁇ 2 matrix is generated, to which an orthogonal transformation is further applied.
  • a prediction unit in block units of 8 ⁇ 8 pixels is defined for the 8th-order DCT block, but the intra prediction mode of 4 ⁇ 4 pixels described below will be described for this method. It conforms to the method of
  • FIGS. 15 and 16 are diagrams showing 4 ⁇ 4 pixel intra prediction modes (Intra_4 ⁇ 4_pred_mode) of nine types of luminance signals.
  • the eight modes other than the mode 2 indicating the mean value (DC) prediction respectively correspond to the directions indicated by the numbers 0, 1, 3 to 8 in FIG.
  • pixels a to p represent pixels of a target block to be intra-processed
  • pixel values A to M represent pixel values of pixels belonging to an adjacent block. That is, the pixels a to p are images to be processed read out from the screen rearrangement buffer 12, and the pixel values A to M are read from the frame memory 22 and the pixel values of the decoded image to be referred to It is.
  • predicted pixel values of the pixels a to p are generated as follows using pixel values A to M of pixels belonging to the adjacent block.
  • the pixel value being "available” indicates that the pixel value is available without any reason such as the end of the image frame or not yet encoded.
  • the pixel value is "unavailable” means that the pixel value is not available because it is at the end of the image frame or has not been encoded yet.
  • Mode 0 is Vertical Prediction, which is applied only when pixel values A to D are "available".
  • predicted pixel values of the pixels a to p are generated as in the following equation (7).
  • Mode 1 is Horizontal Prediction, and applies only when pixel values I to L are "available".
  • predicted pixel values of the pixels a to p are generated as in the following equation (8).
  • Predicted pixel value of pixel m, n, o, p L (8)
  • Mode 2 is DC prediction, and when the pixel values A, B, C, D, I, J, K, L are all "available", a predicted pixel value is generated as shown in equation (9). (A + B + C + D + I + J + K + L + 4) >> 3 (9)
  • Mode 3 is Diagonal_Down_Left Prediction, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”.
  • predicted pixel values of the pixels a to p are generated as in the following equation (12).
  • Mode 4 is Diagonal_Down_Right Prediction, which is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, predicted pixel values of the pixels a to p are generated as in the following equation (13).
  • Mode 5 is Diagonal_Vertical_Right Prediction, which is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, predicted pixel values of the pixels a to p are generated as in the following equation (14).
  • Mode 6 is Horizontal_Down Prediction, which is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”.
  • predicted pixel values of the pixels a to p are generated as in the following equation (15).
  • Mode 7 is Vertical_Left Prediction, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”.
  • predicted pixel values of the pixels a to p are generated as in the following equation (16).
  • Mode 8 is Horizontal_Up Prediction, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, predicted pixel values of the pixels a to p are generated as in the following equation (17).
  • a coding method of the 4 ⁇ 4 pixel intra prediction mode (Intra_4 ⁇ 4_pred_mode) of the luminance signal will be described.
  • a target block C which is 4 ⁇ 4 pixels and to be encoded is shown, and blocks A and B which are 4 ⁇ 4 pixels adjacent to the target block C are shown.
  • Intra_4x4_pred_mode in the target block C and Intra_4x4_pred_mode in the block A and the block B have high correlation.
  • one of the block A and the block B to which a smaller mode_number is assigned is set as MostProbableMode.
  • prev_intra4x4_pred_mode_flag [luma4x4BlkIdx]
  • rem_intra4x4_pred_mode [luma4x4BlkIdx]
  • the decoding process is performed by the processing based on the pseudo code shown in the following equation (19) Is performed, and values of Intra_4x4_pred_mode and Intra4x4PredMode [luma4x4BlkIdx] for the target block C can be obtained.
  • FIGS. 20 and 21 are diagrams showing 16 ⁇ 16 pixel intra prediction modes (Intra_16 ⁇ 16_pred_mode) of four types of luminance signals.
  • the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (20).
  • the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (21).
  • the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (25).
  • FIG. 23 is a diagram illustrating an intra prediction mode (Intra_chroma_pred_mode) of four types of color difference signals.
  • the intra prediction mode of the chrominance signal can be set independently of the intra prediction mode of the luminance signal.
  • the intra prediction mode for the color difference signal follows the 16 ⁇ 16 pixel intra prediction mode of the luminance signal described above.
  • the intra prediction mode of 16 ⁇ 16 pixels of the luminance signal targets a block of 16 ⁇ 16 pixels
  • the intra prediction mode for chrominance signals targets a block of 8 ⁇ 8 pixels.
  • the mode numbers do not correspond to each other.
  • the definition conforms to the pixel values of the target macroblock A in the 16 ⁇ 16 pixel intra prediction mode of the luminance signal described above with reference to FIG. 22 and the adjacent pixel values.
  • the predicted pixel value Pred (x, y) of each pixel is generated as in the following equation (26).
  • the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (29).
  • the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (28).
  • the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (31).
  • the intra prediction mode of this chrominance signal can be set independently of the intra prediction mode of the luminance signal.
  • one intra prediction mode is defined for each of the 4 ⁇ 4 pixel and 8 ⁇ 8 pixel luminance signal blocks.
  • one prediction mode is defined for one macroblock.
  • Prediction mode 2 is average value prediction.
  • step S31 of FIG. 13 which is processing performed for these prediction modes will be described with reference to the flowchart of FIG. In the example of FIG. 24, the case of the luminance signal will be described as an example.
  • step S41 the intra prediction unit 24 performs intra prediction on each of the 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, and 16 ⁇ 16 pixels of the above-described luminance signal.
  • the case of the 4 ⁇ 4 pixel intra prediction mode will be described with reference to FIG. 18 described above. If the image to be processed (for example, pixels a to p) read from the screen rearrangement buffer 12 is an image of a block to be intra-processed, the decoded image to be referenced (pixel values A to M is indicated The pixel) is read from the frame memory 22 and supplied to the intra prediction unit 24 via the switch 23.
  • the image to be processed for example, pixels a to p
  • the decoded image to be referenced pixel values A to M is indicated The pixel
  • the pixel is read from the frame memory 22 and supplied to the intra prediction unit 24 via the switch 23.
  • the intra prediction unit 24 intra predicts the pixels of the block to be processed. By performing this intra prediction process in each intra prediction mode, a predicted image in each intra prediction mode is generated.
  • the pixel which is not deblock-filtered by the deblocking filter 21 is used as a decoded pixel (pixel which pixel value A thru
  • the intra prediction unit 24 calculates cost function values for the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes.
  • a cost function value it is performed based on either High Complexity mode or Low Complexity mode. These modes are described in H. It is defined by JM (Joint Model) which is reference software in the H.264 / AVC system.
  • the cost function value represented by the following equation (32) is calculated for each prediction mode, and the prediction mode giving the minimum value is selected as the optimum prediction mode.
  • D a difference (distortion) between an original image and a decoded image
  • R a generated code amount including up to orthogonal transform coefficients
  • a Lagrange multiplier given as a function of the quantization parameter QP.
  • step S41 generation of predicted images and header bits such as motion vector information, prediction mode information, flag information, etc. are calculated for all candidate prediction modes as the process of step S41. Ru. Then, the cost function value represented by the following equation (33) is calculated for each prediction mode, and the prediction mode giving the minimum value is selected as the optimum prediction mode.
  • Cost (Mode) D + QPtoQuant (QP) Header_Bit (33)
  • D is the difference (distortion) between the original image and the decoded image
  • Header_Bit is a header bit for the prediction mode
  • QPtoQuant is a function given as a function of the quantization parameter QP.
  • the intra prediction unit 24 determines the optimum mode for each of the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes. That is, as described above, in the case of the intra 4 ⁇ 4 prediction mode and the intra 8 ⁇ 8 prediction mode, there are nine types of prediction modes, and in the case of the intra 16 ⁇ 16 prediction mode, the types of prediction modes are There are four types. Therefore, the intra prediction unit 24 selects the optimal intra 4 ⁇ 4 prediction mode, the optimal intra 8 ⁇ 8 prediction mode, and the optimal intra 16 ⁇ 16 prediction mode from among them based on the cost function value calculated in step S42. decide.
  • the intra prediction unit 24 calculates the cost calculated in step S42 from among the optimal modes determined for the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes in step S44.
  • One intra prediction mode is selected based on the function value. That is, one mode having a minimum cost function value is selected from the optimum modes determined for 4 ⁇ 4 pixels, 8 ⁇ 8 pixels, and 16 ⁇ 16 pixels.
  • step S51 the motion prediction / compensation unit 26 determines a motion vector and a reference image for each of the eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels described above with reference to FIG. . That is, the motion vector and the reference image are respectively determined for the block to be processed in each inter prediction mode.
  • step S52 the motion prediction / compensation unit 26 performs motion prediction on the reference image based on the motion vector determined in step S51 for each of eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Perform compensation processing. A prediction image in each inter prediction mode is generated by this motion prediction and compensation processing.
  • the motion prediction / compensation unit 26 adds motion vector information to the compressed image for the motion vector determined for each of eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels in step S53. Generate At this time, the motion vector generation method described above with reference to FIG. 6 is used to generate motion vector information.
  • the generated motion vector information is also used when calculating the cost function value in the next step S54, and when the corresponding prediction image is finally selected by the prediction image selection unit 29, prediction mode information and reference are referred to.
  • the frame information is output to the lossless encoding unit 16 together with the frame information.
  • step S54 the motion prediction / compensation unit 26 calculates the cost function represented by the above equation (32) or (33) for each of eight inter prediction modes consisting of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Calculate the value.
  • the cost function value calculated here is used when determining the optimal inter prediction mode in step S36 of FIG. 13 described above.
  • the block address calculation unit 41 calculates the address in the macro block of the target block to be encoded, and supplies the information of the calculated address to the template pixel setting unit 28.
  • step S61 the template pixel setting unit 28 performs template pixel setting processing on the target block in the intra template prediction mode based on the information on the address from the block address calculation unit 41.
  • the details of the template pixel setting process will be described later with reference to FIG. By this processing, the pixels constituting the template for the target block in the intra template prediction mode are set.
  • step S62 the motion prediction unit 42 and the motion compensation unit 43 perform motion prediction and compensation processing in the intra template prediction mode. That is, the motion prediction unit 42 receives the intra prediction image read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22. Further, the motion prediction unit 42 receives the information of the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the motion prediction unit 42 performs motion prediction in the intra template prediction mode using the image to be intra-predicted and the reference image, and using the pixel values of the target block and the template of the reference block set in the process of step S61. At this time, the calculated motion vector and reference image are supplied to the motion compensation unit 43.
  • the motion compensation unit 43 performs a motion compensation process using the motion vector calculated by the motion prediction unit 42 and the reference image, and generates a predicted image.
  • step S63 the motion compensation unit 43 calculates, for the intra template prediction mode, the cost function value represented by the above-described equation (32) or (33).
  • the motion compensation unit 43 supplies the generated prediction image and the calculated cost function value to the intra prediction unit 24. This cost function value is used when determining the optimal intra prediction mode in step S34 of FIG. 13 described above.
  • FIG. 27 is a diagram for explaining the intra template matching method.
  • a predetermined search range E consisting of only
  • a target block a to be encoded is shown.
  • the predetermined block A is, for example, a macroblock or a sub-macroblock.
  • the target block a is a block located at the upper left among the 2 ⁇ 2 pixel blocks constituting the predetermined block A.
  • the target block a is adjacent to a template region b composed of already encoded pixels.
  • the template area b is an area located on the left and upper sides of the target block a as shown in FIG. 27, and the decoded image is accumulated in the frame memory 22. Area.
  • the intra TP motion prediction / compensation unit 25 performs a template matching process using, for example, SAD (Sum of Absolute Difference) or the like as a cost function within a predetermined search range E on the target frame. Then, the intra-TP motion prediction / compensation unit 25 searches for an area b 'where the correlation with the pixel value of the template area b is the highest. The intra TP motion prediction / compensation unit 25 searches for a motion vector for the target block a, using the block a ′ corresponding to the searched area b ′ as a predicted image for the target block a.
  • SAD Sud of Absolute Difference
  • the decoded image is used for the template matching processing. Therefore, by setting the predetermined search range E in advance, the same processing can be performed in the image encoding device 1 and the image decoding device 101 in FIG. 32 described later. That is, in the image decoding apparatus 101 as well, by configuring the intra TP motion prediction / compensation unit 122, there is no need to send information on the motion vector for the target sub block to the image decoding apparatus 101. Can be reduced.
  • the template region b of the target block a is not composed of only the adjacent pixels of the target block a, but the adjacent pixels of the predetermined block A according to the position (address) in the predetermined block A of the target block a. It is composed of pixels set from among
  • the pixel adjacent to the target block a is used as the template region b, as in the conventional case.
  • the pixels of any block constituting the predetermined block A are included in the conventional template region b. May be In this case, among the adjacent pixels of the target block a, the adjacent pixels of the predetermined block A are set as a part of the template region b, instead of the pixels included in any of the blocks constituting the predetermined block A. As a result, processing of each block can be realized by pipeline processing or parallel processing in a predetermined block A, and processing efficiency can be improved.
  • the present invention is not limited to this, and can be applied to sub-blocks of any size, and the sizes of blocks and templates in intra template prediction mode Is optional. That is, as in the intra prediction unit 24, the intra template prediction mode can be performed with the block size of each intra prediction mode as a candidate, or can be fixed to the block size of one prediction mode.
  • the template size may be variable or fixed depending on the target block size.
  • the block address calculation unit 51 calculates the address in the macro block of the target block to be encoded, and supplies the information of the calculated address to the template pixel setting unit 28.
  • step S71 the template pixel setting unit 28 performs template pixel setting processing on the target block in the inter template prediction mode based on the information on the address from the block address calculation unit 51.
  • the details of the template pixel setting process will be described later with reference to FIG. By this process, the pixels constituting the template for the target block in the inter template prediction mode are set.
  • step S72 the motion prediction unit 52 and the motion compensation unit 53 perform motion prediction and compensation processing in the inter template prediction mode. That is, the motion prediction unit 52 receives the inter prediction image read from the screen rearrangement buffer 12 and the reference image supplied from the frame memory 22. Also, the motion prediction unit 52 receives information on the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the motion prediction unit 52 performs motion prediction in the inter template prediction mode using the image to be inter-predicted and the reference image, and using the pixel values of the template of the target block and the reference block set in the process of step S71. At this time, the calculated motion vector and reference image are supplied to the motion compensation unit 53.
  • the motion compensation unit 53 performs a motion compensation process using the motion vector calculated by the motion prediction unit 52 and the reference image, and generates a predicted image.
  • step S73 the motion compensation unit 53 calculates, for the inter template prediction mode, the cost function value represented by the above-described equation (32) or (33).
  • the motion compensation unit 53 supplies the generated predicted image and the calculated cost function value to the motion prediction / compensation unit 26. This cost function value is used when determining the optimal inter prediction mode in step S36 of FIG. 13 described above.
  • FIG. 29 is a diagram for explaining the inter template matching method.
  • a target frame (picture) to be encoded and a reference frame referenced when searching for a motion vector are shown.
  • a target frame (picture) to be encoded and a reference frame referenced when searching for a motion vector
  • a target frame to be encoded from now on
  • a template region B configured to be adjacent to the target block A and configured from already encoded pixels are shown.
  • the template area B is an area located on the left and upper sides of the target block A as shown in FIG. 29, and the decoded image is stored in the frame memory 22. Area.
  • the inter TP motion prediction / compensation unit 27 performs, for example, template matching processing using SAD or the like as a cost function within a predetermined search range E on the reference frame, and the region B where the correlation with the pixel value of the template region B is highest Search for '. Then, the inter TP motion prediction / compensation unit 27 searches for a motion vector P for the target block A, using the block A ′ corresponding to the searched area B ′ as a predicted image for the target block A.
  • the decoded image is used for the template matching processing.
  • the same processing can be performed in the image encoding device 1 and the image decoding device 101. That is, also in the image decoding apparatus 101, by configuring the inter TP motion prediction / compensation unit 124, there is no need to send the information of the motion vector P for the target block A to the image decoding apparatus 101. Information can be reduced.
  • the template region B is determined according to the position (address) in the predetermined block. , Among the adjacent pixels of a predetermined block.
  • the predetermined block is, for example, a macro block or a sub macro block.
  • the target block A when the target block A is positioned at the upper left in a predetermined block, it is adjacent to the target block A as in the conventional case. Pixels are used as a template region B.
  • the conventional template region B includes the pixels of any block constituting the predetermined block.
  • the adjacent pixels of the target block A are set as part of the template region B, instead of the pixels included in any of the blocks constituting the predetermined block.
  • the sizes of blocks and templates in the inter template prediction mode are arbitrary. That is, like the motion prediction / compensation unit 26, one block size can be fixed from the eight block sizes of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels described above with reference to FIG. Block sizes can also be used as candidates.
  • the template size may be variable or fixed depending on the block size.
  • template pixel setting processing in step S61 in FIG. 26 or step S71 in FIG. 28 will be described with reference to the flowchart in FIG.
  • This processing is processing to be executed on the target block and the reference block by the target block TP setting unit 62 and the reference block TP setting unit 63, but in the example of FIG. 30, the target block TP setting unit 62.
  • the templates are divided into an upper template, an upper left template, and a left template.
  • the upper template is the portion of the template that is adjacent above, for example, a block or macroblock.
  • the upper left template is a portion of the template adjacent to the upper left with respect to a block or a macroblock.
  • the left template is a portion of the template adjacent to the left with respect to a block or a macroblock.
  • Information on the address in the macro block of the target block to be encoded is supplied from the block address calculation unit 41 or the block address calculation unit 51 to the block classification unit 61.
  • the block classification unit 61 classifies whether the target block is an upper left block, an upper right block, a lower left block, or a lower right block in the macroblock. That is, it is classified whether the target block is the block B0, the block B1 or the block B2 of FIG. 8A to FIG. 8D. Then, the block classification unit 61 supplies the information indicating which block the target block is to the target block TP setting unit 62.
  • the target block TP setting unit 62 determines whether the position of the target block in the macro block is any one of upper left, upper right, and lower left in step S81. judge. When it is determined in step S81 that the position of the target block in the macro block is any one of the upper left, upper right, and lower left, the target block TP setting unit 62 sets the upper left template as the upper left template in step S82. The pixel adjacent to the target block is used.
  • the pixel LUB0 adjacent to the upper left portion of the block B0 is used as the upper left template.
  • the pixel LUB1 adjacent to the upper part of the block B1 is used as the upper left template.
  • the pixel LUB2 adjacent to the upper part of the block B2 is used as the upper left template.
  • step S81 If it is determined in step S81 that the position of the target block in the macro block is not any of the upper left, upper right, and lower left, the target block TP setting unit 62 sets the macro as the upper left template in step S83. Use pixels adjacent to the block. That is, when the position of the target block in the macro block is the lower right (block B3 of D in FIG. 8), the macro block (specifically, the upper left of block B1 of D in FIG. The pixel LUB1 adjacent to is used.
  • step S84 the target block TP setting unit 62 determines whether the position of the target block in the macro block is either upper left or upper right. If it is determined in step S84 that the position of the target block in the macro block is either upper left or upper right, the target block TP setting unit 62 is adjacent to the target block as an upper template in step S85. Use pixels.
  • the pixel UB0 adjacent to the upper left portion of the block B0 is used as the upper template.
  • the pixel UB1 adjacent to the top of the block B1 is used as the upper template.
  • step S84 If it is determined in step S84 that the position of the target block in the macro block is neither upper left nor upper right, the target block TP setting unit 62 determines pixels adjacent to the macro block as the upper template in step S86.
  • step S87 the target block TP setting unit 62 determines whether the position of the target block in the macro block is either upper left or lower left. If it is determined in step S87 that the position of the target block in the macro block is either upper left or lower left, the target block TP setting unit 62 is adjacent to the target block as a left template in step S88. Used pixels.
  • the pixel LB0 adjacent to the left of the block B0 is used as the left template.
  • the pixel LB2 adjacent to the left of the block B2 is used as the left template.
  • step S87 If it is determined in step S87 that the position of the target block in the macro block is neither upper left nor lower left, the target block TP setting unit 62 is adjacent to the macro block as a left part template in step S89. Use pixels.
  • the pixel LB0 adjacent to the macro block (specifically, the left portion of the block B0) as the left template. Is used.
  • the pixel LB2 adjacent to the macro block (specifically, the left portion of the block B2) is used as the left template. Used.
  • pixels adjacent to the target block are always used as a template, and processing on the block in the macro block can be realized by parallel processing or pipeline processing.
  • a of FIG. 31 shows a timing chart of processing when a conventional template is used.
  • B of FIG. 31 illustrates a timing chart of pipeline processing that is possible when the template set by the template pixel setting unit 28 is used.
  • C of FIG. 31 shows a timing chart of parallel processing that is possible when the template set by the template pixel setting unit 28 is used.
  • the pixel value of the decoded pixel of the block B0 is used as a part of the template, so the pixel value is generated. I have to wait for
  • ⁇ memory read>, ⁇ motion prediction>, ⁇ motion compensation>, and ⁇ decoding processing> are sequentially finished, and the decoded pixel is written to the memory.
  • ⁇ Memory read> of block B1 can not be performed. That is, conventionally, it was difficult to perform the processing of block B0 and block B1 by pipeline processing or parallel processing.
  • the template of the block B1 is adjacent to the left part of the block B0 (macro block MB) instead of the decoded pixel of the block B0.
  • the pixel LB0 is used.
  • ⁇ memory read> is performed on block B1 in parallel with ⁇ memory read> on block B0, and ⁇ motion prediction> is performed on block B0.
  • ⁇ motion prediction> can be performed on the block B1.
  • ⁇ Motion compensation> for block B1 is performed in parallel with ⁇ motion compensation> for block B0, and in parallel with ⁇ decoding processing> for block B0, Decryption processing> can be performed. That is, the processing of block B0 and block B1 can be performed in parallel processing.
  • processing efficiency in a macroblock can be improved.
  • FIG. 31A to FIG. 31C an example in which two blocks execute parallel or pipeline processing has been described, but it goes without saying that even three blocks or four blocks are similarly parallel or pipelined. Processing can be performed.
  • the encoded compressed image is transmitted through a predetermined transmission path and decoded by the image decoding apparatus.
  • FIG. 32 shows the configuration of an embodiment of an image decoding apparatus as an image processing apparatus to which the present invention is applied.
  • the image decoding apparatus 101 includes an accumulation buffer 111, a lossless decoding unit 112, an inverse quantization unit 113, an inverse orthogonal transformation unit 114, an operation unit 115, a deblock filter 116, a screen rearrangement buffer 117, a D / A conversion unit 118, and a frame.
  • the intra template motion prediction / compensation unit 122 and the inter template motion prediction / compensation unit 124 will be referred to as an intra TP motion prediction / compensation unit 122 and an inter TP motion prediction / compensation unit 124, respectively.
  • the accumulation buffer 111 accumulates the transmitted compressed image.
  • the lossless decoding unit 112 decodes the information supplied from the accumulation buffer 111 and encoded by the lossless encoding unit 16 in FIG. 2 by a method corresponding to the encoding method of the lossless encoding unit 16.
  • the inverse quantization unit 113 inversely quantizes the image decoded by the lossless decoding unit 112 by a method corresponding to the quantization method of the quantization unit 15 in FIG.
  • the inverse orthogonal transform unit 114 performs inverse orthogonal transform on the output of the inverse quantization unit 113 according to a scheme corresponding to the orthogonal transform scheme of the orthogonal transform unit 14 in FIG. 2.
  • the inverse orthogonal transformed output is added to the predicted image supplied from the switch 126 by the operation unit 115 and decoded.
  • the deblocking filter 116 supplies and stores the data in the frame memory 119 and outputs the same to the screen rearrangement buffer 117.
  • the screen rearrangement buffer 117 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 12 of FIG. 2 is rearranged in the order of the original display.
  • the D / A converter 118 D / A converts the image supplied from the screen rearrangement buffer 117, and outputs the image to a display (not shown) for display.
  • the switch 120 reads an image to be inter-processed and an image to be referenced from the frame memory 119 and outputs the image to the motion prediction / compensation unit 123 and also reads an image used for intra prediction from the frame memory 119. Supply.
  • Information indicating an intra prediction mode or an intra template prediction mode obtained by decoding header information is supplied from the lossless decoding unit 112 to the intra prediction unit 121.
  • the intra prediction unit 121 When the information indicating the intra prediction mode is supplied, the intra prediction unit 121 generates a predicted image based on this information.
  • the intra prediction unit 121 supplies the image used for intra prediction to the intra TP motion prediction / compensation unit 122, and performs motion prediction / compensation processing in the intra template prediction mode. Let it go.
  • the intra prediction unit 121 outputs the generated predicted image or the predicted image generated by the intra TP motion prediction / compensation unit 122 to the switch 126.
  • the intra TP motion prediction / compensation unit 122 performs motion prediction and compensation processing in the intra template prediction mode similar to the intra TP motion prediction / compensation unit 25 in FIG. 2. That is, the intra TP motion prediction / compensation unit 122 performs motion prediction and compensation processing in the intra template prediction mode using the image from the frame memory 119 to generate a predicted image. At this time, in the intra TP motion prediction / compensation unit 122, a template composed of pixels set by the template pixel setting unit 125 is used as a template.
  • the predicted image generated by the motion prediction / compensation in the intra template prediction mode is supplied to the intra prediction unit 121.
  • the motion prediction / compensation unit 123 is supplied with information (prediction mode information, motion vector information, reference frame information) obtained by decoding the header information from the lossless decoding unit 112.
  • information indicating the inter prediction mode
  • the motion prediction / compensation unit 123 performs motion prediction and compensation processing on the image based on the motion vector information and the reference frame information to generate a prediction image.
  • the motion prediction / compensation unit 123 sends the inter TP motion prediction / compensation unit 124 the image to be subjected to inter coding read from the frame memory 119 and the image to be referred to. Supply.
  • the inter TP motion prediction / compensation unit 124 performs motion prediction and compensation processing in the inter template prediction mode similar to the inter TP motion prediction / compensation unit 27 in FIG. 2. That is, the inter TP motion prediction / compensation unit 124 performs motion prediction and compensation processing in the inter template prediction mode on the basis of the image to be inter coded from the frame memory 119 and the image to be referred to. Generate At this time, in the inter TP motion prediction / compensation unit 124, a template formed of pixels set by the template pixel setting unit 125 is used as a template.
  • the predicted image generated by the motion prediction / compensation in the inter template prediction mode is supplied to the motion prediction / compensation unit 123.
  • the template pixel setting unit 125 sets the pixels of the template for calculating the motion vector of the target block in the intra or inter template prediction mode, according to the address in the macro block (or sub macro block) of the target block.
  • the pixel information of the set template is supplied to the intra TP motion prediction / compensation unit 122 or the inter TP motion prediction / compensation unit 124.
  • the intra TP motion prediction / compensation unit 122, the inter TP motion prediction / compensation unit 124, and the template pixel setting unit 125, which perform processing related to the intra or inter template prediction mode, are the intra TP motion prediction / compensation unit 25 in FIG.
  • the inter TP motion prediction / compensation unit 27 and the template pixel setting unit 28 are basically configured in the same manner. Therefore, the functional block shown in FIG. 7 described above is also used for the description of the intra TP motion prediction / compensation unit 122, the inter TP motion prediction / compensation unit 124, and the template pixel setting unit 125.
  • the intra TP motion prediction / compensation unit 122 is configured of a block address calculation unit 41, a motion prediction unit 42, and a motion compensation unit 43, similarly to the intra TP motion prediction / compensation unit 25.
  • the inter TP motion prediction / compensation unit 124 is configured of a block address calculation unit 51, a motion prediction unit 52, and a motion compensation unit 53.
  • the template pixel setting unit 125 includes a block classification unit 61, a target block template setting unit 62, and a reference block template setting unit 63.
  • the switch 126 selects the prediction image generated by the motion prediction / compensation unit 123 or the intra prediction unit 121 and supplies the prediction image to the calculation unit 115.
  • step S131 the accumulation buffer 111 accumulates the transmitted image.
  • step S132 the lossless decoding unit 112 decodes the compressed image supplied from the accumulation buffer 111. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 16 in FIG. 2 are decoded.
  • motion vector information reference frame information
  • prediction mode information intra prediction mode, intra template prediction mode, inter prediction mode, or information indicating an inter template prediction mode
  • the prediction mode information is intra prediction mode information or inter template prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 121.
  • the prediction mode information is supplied to the motion prediction / compensation unit 123.
  • any corresponding motion vector information or reference frame information is also supplied to the motion prediction / compensation unit 123.
  • step S133 the inverse quantization unit 113 inversely quantizes the transform coefficient decoded by the lossless decoding unit 112 with a characteristic corresponding to the characteristic of the quantization unit 15 in FIG.
  • step S134 the inverse orthogonal transform unit 114 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 113 with a characteristic corresponding to the characteristic of the orthogonal transform unit 14 in FIG.
  • the difference information corresponding to the input (the output of the calculation unit 13) of the orthogonal transform unit 14 in FIG. 2 is decoded.
  • step S135 the calculation unit 115 adds the prediction image, which is selected in the process of step S141 described later and input through the switch 126, to the difference information.
  • the original image is thus decoded.
  • step S136 the deblocking filter 116 filters the image output from the calculation unit 115. This removes blockiness.
  • step S137 the frame memory 119 stores the filtered image.
  • step S138 the intra prediction unit 121, the intra TP motion prediction / compensation unit 122, the motion prediction / compensation unit 123, or the inter TP motion prediction / compensation unit 124 correspond to the prediction mode information supplied from the lossless decoding unit 112. And each performs image prediction processing.
  • the intra prediction unit 121 performs the intra prediction process in the intra prediction mode.
  • the intra TP motion prediction / compensation unit 122 performs motion prediction / compensation processing in the inter template prediction mode.
  • the motion prediction / compensation unit 123 performs motion prediction / compensation processing in the inter prediction mode.
  • the inter TP motion prediction / compensation unit 124 performs motion prediction / compensation processing in the inter template prediction mode.
  • step S138 the predicted image generated by the intra prediction unit 121, the predicted image generated by the intra TP motion prediction / compensation unit 122, the predicted image generated by the motion prediction / compensation unit 123, or the inter TP motion prediction / compensation
  • the predicted image generated by the unit 124 is supplied to the switch 126.
  • step S139 the switch 126 selects a predicted image. That is, the prediction image generated by the intra prediction unit 121, the prediction image generated by the intra TP motion prediction / compensation unit 122, the prediction image generated by the motion prediction / compensation unit 123, or the inter TP motion prediction / compensation unit 124.
  • the predicted image generated by is provided. Therefore, the supplied prediction image is selected and supplied to the calculation unit 115, and as described above, is added to the output of the inverse orthogonal transformation unit 114 in step S134.
  • step S140 the screen rearrangement buffer 117 performs rearrangement. That is, the order of the frames rearranged for encoding by the screen rearrangement buffer 12 of the image encoding device 1 is rearranged to the original display order.
  • step S141 the D / A conversion unit 118 D / A converts the image from the screen rearrangement buffer 117. This image is output to a display not shown, and the image is displayed.
  • step S171 the intra prediction unit 121 determines whether the target block is intra-coded.
  • the intra prediction mode information or the intra template prediction mode information is supplied from the lossless decoding unit 112 to the intra prediction unit 121.
  • the intra prediction unit 121 determines in step 171 that the target block is intra-coded, and the process proceeds to step S172.
  • the intra prediction unit 121 acquires intra prediction mode information or intra template prediction mode information in step S172, and determines in step S173 whether or not the intra prediction mode. When it is determined in step S173 that the intra prediction mode is set, the intra prediction unit 121 performs intra prediction in step S174.
  • step S174 the intra prediction unit 121 performs intra prediction according to the intra prediction mode information acquired in step S172, and generates a prediction image.
  • the generated predicted image is output to the switch 126.
  • step S172 when intra template prediction mode information is acquired in step S172, it is determined in step S173 that it is not intra prediction mode information, and the process proceeds to step S175.
  • the block address calculation unit 41 calculates an address in the macro block of the target block to be encoded, and supplies information of the calculated address to the template pixel value setting unit 125.
  • step S175 the template pixel value setting unit 125 performs template pixel setting processing on the target block in the intra template prediction mode based on the information on the address from the block address calculation unit 41.
  • the details of the template pixel setting process are basically the same as the processes described above with reference to FIG. 30, and thus the description thereof is omitted. By this processing, the pixels constituting the template for the target block in the intra template prediction mode are set.
  • step S176 the motion prediction unit 42 and the motion compensation unit 43 perform motion prediction and compensation processing in the intra template prediction mode. That is, a necessary image is input to the motion prediction unit 42 from the frame memory 119. Further, the motion prediction unit 42 receives the information of the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the motion prediction unit 42 performs motion prediction in the intra template prediction mode using the image from the frame memory 119 and the pixel values of the template of the target block and the reference block set in the process of step S175. At this time, the calculated motion vector and reference image are supplied to the motion compensation unit 43.
  • the motion compensation unit 43 performs a motion compensation process using the motion vector calculated by the motion prediction unit 42 and the reference image, and generates a predicted image. The generated predicted image is output to the switch 126 via the intra prediction unit 121.
  • step S171 when it is determined in step S171 that intra coding has not been performed, the processing proceeds to step S177.
  • step S177 the motion prediction / compensation unit 123 acquires prediction mode information and the like from the lossless decoding unit 112.
  • the lossless decoding unit 112 supplies the inter prediction mode information, the reference frame information, and the motion vector information to the motion prediction / compensation unit 123.
  • the motion prediction / compensation unit 123 acquires inter prediction mode information, reference frame information, and motion vector information.
  • step S178 the motion prediction / compensation unit 123 determines whether the prediction mode information from the lossless decoding unit 112 is inter prediction mode information. If it is determined in step S178 that the prediction mode information is inter prediction mode, the process proceeds to step S179.
  • the motion prediction / compensation unit 123 performs inter motion prediction in step S179. That is, when the image to be processed is an image subjected to inter prediction processing, a necessary image is read from the frame memory 119 and supplied to the motion prediction / compensation unit 123 via the switch 120. In step S179, the motion prediction / compensation unit 123 performs motion prediction in the inter prediction mode based on the motion vector acquired in step S177, and generates a prediction image. The generated predicted image is output to the switch 126.
  • step S178 when the inter template prediction mode information is acquired in step S177, it is determined in step S178 that it is not the inter prediction mode information, and the process proceeds to step S180.
  • the necessary image is read from the frame memory 119 and supplied to the inter TP motion prediction / compensation unit 124 via the switch 120 and the motion prediction / compensation unit 123. Be done. Also, the block address calculation unit 51 calculates the address in the macro block of the target block to be encoded, and supplies information of the calculated address to the template pixel value setting unit 125.
  • step S180 the template pixel value setting unit 125 performs template pixel setting processing on the target block in the inter template prediction mode based on the information on the address from the block address calculation unit 51.
  • the details of the template pixel setting process are basically the same as the processes described above with reference to FIG. 30, and thus the description thereof is omitted. By this process, the pixels constituting the template for the target block in the inter template prediction mode are set.
  • step S181 the motion prediction unit 52 and the motion compensation unit 53 perform motion prediction and compensation processing in the inter template prediction mode. That is, a necessary image is input to the motion prediction unit 52 from the frame memory 119. Also, the motion prediction unit 52 receives information on the template of the target block and the reference block set by the target block TP setting unit 62 and the reference block TP setting unit 63.
  • the motion prediction unit 52 performs motion prediction in the inter template prediction mode using the input image and the pixel values of the template of the target block and the reference block set in the process of step S180. At this time, the calculated motion vector and reference image are supplied to the motion compensation unit 53.
  • the motion compensation unit 53 performs a motion compensation process using the motion vector calculated by the motion prediction unit 52 and the reference image, and generates a predicted image. The generated predicted image is output to the switch 126 via the motion prediction / compensation unit 123.
  • pixels adjacent to the macro block (sub macro block) of the target block are always used as the pixels constituting the template. This makes it possible to implement processing for each block in a macroblock (sub-macroblock) by parallel processing or pipeline processing. Therefore, the prediction efficiency in the template prediction mode can be improved.
  • parallel processing is performed in the macro block by performing the same processing as the example described above with reference to A of FIG. It can do processing or pipeline processing.
  • a block size of 8 ⁇ 4 pixels or 4 ⁇ 8 pixels by performing the same process as the example described above with reference to A to E in FIG.
  • Parallel processing or pipeline processing can be performed within a macroblock.
  • the block size is 2 ⁇ 2 pixels, 2 ⁇ 4 pixels, and 4 ⁇ 2
  • parallel processing is performed in 4 ⁇ 4 pixel blocks by performing the same processing in 4 ⁇ 4 pixel blocks. It can do processing or pipeline processing.
  • the template in the reference block is used at the same relative position as that in the target block. Further, the present invention can be applied not only to luminance signals but also to color difference signals.
  • the processing order in the macro block may be other than the raster scan order.
  • the present invention relates to “Video Coding Using Extended Block Sizes”, VCEG-AD09, ITU-Telecommunications Standardization Sector STUDY GROUP It is also possible to apply to the extended macroblock size described in Question 16-Contribution 123, Jan 2009.
  • FIG. 35 is a diagram showing an example of the expanded macroblock size.
  • the macroblock size is expanded to 32 ⁇ 32 pixels.
  • a macro block composed of 32 ⁇ 32 pixels divided into blocks (partitions) of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixels It is shown in order.
  • a block composed of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels divided into blocks of 16 ⁇ 16 pixels is sequentially shown from the left.
  • blocks of 8 ⁇ 8 pixels divided into blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels are sequentially shown from the left .
  • the macro block of 32 ⁇ 32 pixels can be processed in the blocks of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixels shown in the upper part of FIG.
  • the block of 16 ⁇ 16 pixels shown on the right side of the upper row is H.264. Similar to the H.264 / AVC system, processing is possible with blocks of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels shown in the middle.
  • the block of 8 ⁇ 8 pixels shown on the right side of the middle row is H.264. Similar to the H.264 / AVC system, processing is possible with blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels shown in the lower part.
  • H.264 or less for blocks of 16 ⁇ 16 pixels or less.
  • a larger block is defined as a superset while maintaining compatibility with the H.264 / AVC scheme.
  • the present invention can also be applied to the expanded macroblock size proposed as described above.
  • H.264 is used as an encoding method.
  • H.264 / AVC scheme is used, other encoding schemes / decoding schemes can also be used.
  • MPEG MPEG
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc.
  • network media such as a cellular phone
  • the present invention can be applied to an image coding apparatus and an image decoding apparatus which are used when processing on storage media such as optical disks, magnetic disks, and flash memories.
  • the present invention can also be applied to motion prediction / compensation devices included in such image coding devices and image decoding devices.
  • the above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • FIG. 36 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 201 a read only memory (ROM) 202, and a random access memory (RAM) 203 are mutually connected by a bus 204. Further, an input / output interface 205 is connected to the bus 204. An input unit 206, an output unit 207, a storage unit 208, a communication unit 209, and a drive 210 are connected to the input / output interface 205.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • the input unit 206 includes a keyboard, a mouse, a microphone and the like.
  • the output unit 207 includes a display, a speaker, and the like.
  • the storage unit 208 includes a hard disk, a non-volatile memory, and the like.
  • the communication unit 209 is configured of a network interface or the like.
  • the drive 210 drives removable media 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 201 loads, for example, the program stored in the storage unit 208 into the RAM 203 via the input / output interface 205 and the bus 204, and executes the above-described series of processes. Is done.
  • the program executed by the computer (CPU 201) can be provided by being recorded on, for example, the removable medium 211 as a package medium or the like. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
  • the program can be installed in the storage unit 208 via the input / output interface 205 by attaching the removable media 211 to the drive 210.
  • the program can be received by the communication unit 209 via a wired or wireless transmission medium and installed in the storage unit 208.
  • the program can be installed in advance in the ROM 202 or the storage unit 208.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the image encoding device 1 and the image decoding device 101 described above can be applied to any electronic device.
  • the example will be described below.
  • FIG. 37 is a block diagram showing a main configuration example of a television receiver using an image decoding device to which the present invention is applied.
  • the television receiver 300 shown in FIG. 37 includes a terrestrial tuner 313, a video decoder 315, a video signal processing circuit 318, a graphic generation circuit 319, a panel drive circuit 320, and a display panel 321.
  • the terrestrial tuner 313 receives a broadcast wave signal of terrestrial analog broadcasting via an antenna, demodulates it, acquires a video signal, and supplies the video signal to the video decoder 315.
  • the video decoder 315 subjects the video signal supplied from the terrestrial tuner 313 to decoding processing, and supplies the obtained digital component signal to the video signal processing circuit 318.
  • the video signal processing circuit 318 subjects the video data supplied from the video decoder 315 to predetermined processing such as noise removal, and supplies the obtained video data to the graphic generation circuit 319.
  • the graphic generation circuit 319 generates video data of a program to be displayed on the display panel 321, image data by processing based on an application supplied via a network, and the like, and transmits the generated video data and image data to the panel drive circuit 320. Supply.
  • the graphic generation circuit 319 generates video data (graphic) for displaying a screen used by the user for item selection and the like, and a video obtained by superimposing it on video data of a program.
  • a process of supplying data to the panel drive circuit 320 is also appropriately performed.
  • the panel drive circuit 320 drives the display panel 321 based on the data supplied from the graphic generation circuit 319, and causes the display panel 321 to display the video of the program and the various screens described above.
  • the display panel 321 is formed of an LCD (Liquid Crystal Display) or the like, and displays a video of a program or the like according to control of the panel drive circuit 320.
  • LCD Liquid Crystal Display
  • the television receiver 300 also includes an audio A / D (Analog / Digital) conversion circuit 314, an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • an audio A / D (Analog / Digital) conversion circuit 3144 an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • the terrestrial tuner 313 obtains not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 313 supplies the acquired audio signal to the audio A / D conversion circuit 314.
  • the audio A / D conversion circuit 314 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 313, and supplies the obtained digital audio signal to the audio signal processing circuit 322.
  • the audio signal processing circuit 322 subjects the audio data supplied from the audio A / D conversion circuit 314 to predetermined processing such as noise removal, and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 supplies the voice data supplied from the voice signal processing circuit 322 to the voice amplification circuit 324.
  • the voice amplification circuit 324 performs D / A conversion processing and amplification processing on voice data supplied from the echo cancellation / voice synthesis circuit 323, adjusts the volume to a predetermined level, and then outputs voice from the speaker 325.
  • the television receiver 300 also includes a digital tuner 316 and an MPEG decoder 317.
  • a digital tuner 316 receives a broadcast wave signal of digital broadcast (terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast) via an antenna, and demodulates the signal, and generates an MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 317.
  • digital broadcast terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 317 unscrambles the MPEG-TS supplied from the digital tuner 316 and extracts a stream including data of a program to be reproduced (targeted to be viewed).
  • the MPEG decoder 317 decodes the audio packet forming the extracted stream, supplies the obtained audio data to the audio signal processing circuit 322, decodes the video packet forming the stream, and outputs the obtained video data as an image.
  • the signal processing circuit 318 is supplied.
  • the MPEG decoder 317 also supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 332 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 300 uses the above-described image decoding device 101 as the MPEG decoder 317 that decodes the video packet in this manner. Therefore, as in the case of the image decoding apparatus 101, the MPEG decoder 317 can always use pixels adjacent to the macro block of the target block as a template. This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the video data supplied from the MPEG decoder 317 is subjected to predetermined processing in the video signal processing circuit 318. Then, the graphic data generation circuit 319 appropriately superimposes the generated video data and the like on the video data subjected to the predetermined processing, and is supplied to the display panel 321 via the panel drive circuit 320, and the image is displayed. .
  • the audio data supplied from the MPEG decoder 317 is subjected to predetermined processing in the audio signal processing circuit 322 as in the case of the audio data supplied from the audio A / D conversion circuit 314. Then, the voice data subjected to the predetermined processing is supplied to the voice amplification circuit 324 through the echo cancellation / voice synthesis circuit 323, and subjected to D / A conversion processing and amplification processing. As a result, the sound adjusted to a predetermined volume is output from the speaker 325.
  • the television receiver 300 also includes a microphone 326 and an A / D conversion circuit 327.
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received voice signal, and supplies the obtained digital voice data to the echo cancellation / voice synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 performs echo cancellation on voice data of the user A when voice data of the user (user A) of the television receiver 300 is supplied from the A / D conversion circuit 327. . Then, after the echo cancellation, the echo cancellation / voice synthesis circuit 323 causes the speaker 325 to output voice data obtained by synthesizing with other voice data or the like.
  • the television receiver 300 also includes an audio codec 328, an internal bus 329, a synchronous dynamic random access memory (SDRAM) 330, a flash memory 331, a CPU 332, a universal serial bus (USB) I / F 333 and a network I / F 334.
  • SDRAM synchronous dynamic random access memory
  • USB universal serial bus
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the audio codec 328.
  • the audio codec 328 converts audio data supplied from the A / D conversion circuit 327 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 334 via the internal bus 329.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335.
  • the network I / F 334 transmits, for example, voice data supplied from the voice codec 328 to other devices connected to the network.
  • the network I / F 334 receives, for example, voice data transmitted from another device connected via the network via the network terminal 335, and transmits it to the voice codec 328 via the internal bus 329. Supply.
  • the voice codec 328 converts voice data supplied from the network I / F 334 into data of a predetermined format, and supplies it to the echo cancellation / voice synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 performs echo cancellation on voice data supplied from the voice codec 328, and combines voice data obtained by combining with other voice data, etc., via the voice amplification circuit 324. Output from the speaker 325.
  • the SDRAM 330 stores various data necessary for the CPU 332 to perform processing.
  • the flash memory 331 stores a program executed by the CPU 332.
  • the program stored in the flash memory 331 is read by the CPU 332 at a predetermined timing such as when the television receiver 300 starts up.
  • the flash memory 331 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 331 stores an MPEG-TS including content data acquired from a predetermined server via the network under the control of the CPU 332.
  • the flash memory 331 supplies the MPEG-TS to the MPEG decoder 317 via the internal bus 329 under the control of the CPU 332, for example.
  • the MPEG decoder 317 processes the MPEG-TS as in the case of the MPEG-TS supplied from the digital tuner 316. As described above, the television receiver 300 receives content data including video and audio via the network, decodes the content data using the MPEG decoder 317, and displays the video or outputs audio. Can.
  • the television receiver 300 also includes a light receiving unit 337 that receives an infrared signal transmitted from the remote controller 351.
  • the light receiving unit 337 receives the infrared light from the remote controller 351, and outputs a control code representing the content of the user operation obtained by demodulation to the CPU 332.
  • the CPU 332 executes a program stored in the flash memory 331 and controls the overall operation of the television receiver 300 in accordance with a control code or the like supplied from the light receiving unit 337.
  • the CPU 332 and each part of the television receiver 300 are connected via a path (not shown).
  • the USB I / F 333 transmits and receives data to and from an external device of the television receiver 300, which is connected via a USB cable attached to the USB terminal 336.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335, and transmits and receives data other than voice data to and from various devices connected to the network.
  • the television receiver 300 can improve processing efficiency in a macroblock by using the image decoding device 101 as the MPEG decoder 317. As a result, the television receiver 300 can obtain a higher-definition decoded image from broadcast wave signals received via an antenna or content data acquired via a network, and can display them smoothly.
  • FIG. 38 is a block diagram showing a main configuration example of a cellular phone using the image encoding device and the image decoding device to which the present invention is applied.
  • a mobile phone 400 shown in FIG. 38 includes a main control unit 450, a power supply circuit unit 451, an operation input control unit 452, an image encoder 453, a camera I / F unit 454, and an LCD control configured to control each unit in an integrated manner.
  • a section 455, an image decoder 456, a demultiplexing section 457, a recording / reproducing section 462, a modulation / demodulation circuit section 458, and an audio codec 459 are included. These are connected to one another via a bus 460.
  • the mobile phone 400 further includes an operation key 419, a CCD (Charge Coupled Devices) camera 416, a liquid crystal display 418, a storage unit 423, a transmission / reception circuit unit 463, an antenna 414, a microphone (microphone) 421, and a speaker 417.
  • a CCD Charge Coupled Devices
  • the power supply circuit unit 451 activates the cellular phone 400 to an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 400 transmits and receives audio signals, transmits and receives e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 450 including CPU, ROM and RAM. Perform various operations such as shooting or data recording.
  • the portable telephone 400 converts an audio signal collected by the microphone (microphone) 421 into digital audio data by the audio codec 459, spread spectrum processes it by the modulation / demodulation circuit unit 458, and transmits / receives A section 463 performs digital-to-analog conversion processing and frequency conversion processing.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone network.
  • the cellular phone 400 amplifies the reception signal received by the antenna 414 by the transmission / reception circuit unit 463 and further performs frequency conversion processing and analog-to-digital conversion processing, and the modulation / demodulation circuit unit 458 performs spectrum despreading processing. And converted into an analog voice signal by the voice codec 459.
  • the portable telephone 400 outputs the analog audio signal obtained by the conversion from the speaker 417.
  • the cellular phone 400 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by the operation of the operation key 419 in the operation input control unit 452.
  • the portable telephone 400 processes the text data in the main control unit 450, and causes the liquid crystal display 418 to display the text data as an image through the LCD control unit 455.
  • the mobile phone 400 causes the main control unit 450 to generate e-mail data based on the text data accepted by the operation input control unit 452, the user instruction, and the like.
  • the portable telephone 400 performs spread spectrum processing on the electronic mail data by the modulation / demodulation circuit unit 458, and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network, a mail server, and the like.
  • the cellular phone 400 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 463 via the antenna 414, and further performs frequency conversion processing and Perform analog-to-digital conversion processing.
  • the portable telephone 400 despreads the received signal by the modulation / demodulation circuit unit 458 to restore the original electronic mail data.
  • the portable telephone 400 displays the restored electronic mail data on the liquid crystal display 418 via the LCD control unit 455.
  • the cellular phone 400 can also record (store) the received electronic mail data in the storage unit 423 via the recording / reproducing unit 462.
  • the storage unit 423 is an arbitrary rewritable storage medium.
  • the storage unit 423 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, or may be a hard disk, or a removable such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card It may be media. Of course, it may be something other than these.
  • the cellular phone 400 when transmitting image data in the data communication mode, the cellular phone 400 generates image data with the CCD camera 416 by imaging.
  • the CCD camera 416 has an optical device such as a lens and an aperture, and a CCD as a photoelectric conversion element, picks up an object, converts the intensity of received light into an electrical signal, and generates image data of an image of the object.
  • the image data is converted into encoded image data by compression encoding through a camera I / F unit 454 by an image encoder 453 according to a predetermined encoding method such as MPEG2 or MPEG4.
  • the cellular phone 400 uses the above-described image encoding device 1 as the image encoder 453 that performs such processing. Therefore, as in the case of the image encoding device 1, the image encoder 453 can always use pixels adjacent to the macro block of the target block as a template. This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the portable telephone 400 analog-digital-converts the sound collected by the microphone (microphone) 421 during imaging by the CCD camera 416 in the audio codec 459, and further encodes it.
  • the cellular phone 400 multiplexes the encoded image data supplied from the image encoder 453 and the digital audio data supplied from the audio codec 459 according to a predetermined scheme in the demultiplexing unit 457.
  • the modulation / demodulation circuit unit 458 performs spread spectrum processing on the multiplexed data obtained as a result
  • the transmission / reception circuit unit 463 performs digital-to-analog conversion processing and frequency conversion processing.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (image data) transmitted to the base station is supplied to the other party of communication via a network or the like.
  • the mobile phone 400 can also display the image data generated by the CCD camera 416 on the liquid crystal display 418 via the LCD control unit 455 without the image encoder 453.
  • the portable telephone 400 transmits the signal transmitted from the base station to the transmitting / receiving circuit unit 463 via the antenna 414. Receive, amplify, and perform frequency conversion and analog-to-digital conversion.
  • the portable telephone 400 despreads the received signal in the modulation / demodulation circuit unit 458 to restore the original multiplexed data.
  • the cellular phone 400 demultiplexes the multiplexed data in the demultiplexing unit 457 and divides it into encoded image data and audio data.
  • the cellular phone 400 decodes the encoded image data in the image decoder 456 by a decoding method corresponding to a predetermined encoding method such as MPEG2 or MPEG4 to generate reproduction moving image data, and performs LCD control
  • the image is displayed on the liquid crystal display 418 via the unit 455.
  • moving image data included in a moving image file linked to the simplified home page is displayed on the liquid crystal display 418.
  • the cellular phone 400 uses the above-described image decoding device 101 as the image decoder 456 that performs such processing. Therefore, as in the case of the image decoding apparatus 101, the image decoder 456 can always use pixels adjacent to the macro block of the target block as a template. This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the portable telephone 400 simultaneously converts digital audio data into an analog audio signal in the audio codec 459 and outputs the analog audio signal from the speaker 417.
  • audio data included in a moving image file linked to the simple homepage is reproduced.
  • the portable telephone 400 can also record (store) the data linked to the received simple homepage or the like in the storage unit 423 via the recording / reproducing unit 462 .
  • the main control unit 450 can analyze the two-dimensional code obtained by the CCD camera 416 by the main control unit 450, and obtain the information recorded in the two-dimensional code.
  • the cellular phone 400 can communicate with an external device by infrared rays through the infrared communication unit 481.
  • the mobile phone 400 improves the encoding efficiency of encoded data generated by encoding image data generated by the CCD camera 416, and can also be used in a macro block. Processing efficiency can be improved. As a result, the mobile telephone 400 can smoothly provide encoded data (image data) with high encoding efficiency to other devices.
  • the cellular phone 400 can improve the processing efficiency in the macro block, and can generate a highly accurate predicted image.
  • the mobile phone 400 can obtain a higher definition decoded image from, for example, a moving image file linked to a simple home page, and can display the image smoothly.
  • CMOS image sensor CMOS image sensor
  • CMOS complementary metal oxide semiconductor
  • the mobile phone 400 has been described above, for example, an imaging function similar to that of the mobile phone 400 such as a PDA (Personal Digital Assistants), a smartphone, a UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, etc.
  • the image encoding device 1 and the image decoding device 101 can be applied to any device having a communication function as in the case of the portable telephone 400 regardless of the device.
  • FIG. 39 is a block diagram showing a main configuration example of a hard disk recorder using an image encoding device and an image decoding device to which the present invention is applied.
  • a hard disk recorder (HDD recorder) 500 shown in FIG. 39 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted by a satellite, a ground antenna, etc., received by a tuner. And an apparatus for storing the stored data in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • a broadcast wave signal television signal
  • the hard disk recorder 500 can, for example, extract audio data and video data from a broadcast wave signal, appropriately decode them, and store them in a built-in hard disk.
  • the hard disk recorder 500 can also acquire audio data and video data from another device via a network, decode these as appropriate, and store them in a built-in hard disk, for example.
  • the hard disk recorder 500 decodes audio data and video data recorded in, for example, a built-in hard disk, supplies the decoded data to the monitor 560, and displays the image on the screen of the monitor 560.
  • the hard disk recorder 500 can output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 decodes, for example, a monitor 560 by decoding audio data and video data extracted from a broadcast wave signal acquired through a tuner, or audio data or video data acquired from another device through a network. To display the image on the screen of the monitor 560.
  • the hard disk recorder 500 can also output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 includes a reception unit 521, a demodulation unit 522, a demultiplexer 523, an audio decoder 524, a video decoder 525, and a recorder control unit 526.
  • the hard disk recorder 500 further includes an EPG data memory 527, a program memory 528, a work memory 529, a display converter 530, an OSD (On Screen Display) control unit 531, a display control unit 532, a recording / reproducing unit 533, a D / A converter 534, And a communication unit 535.
  • the display converter 530 also has a video encoder 541.
  • the recording and reproducing unit 533 has an encoder 551 and a decoder 552.
  • the receiving unit 521 receives an infrared signal from a remote controller (not shown), converts the signal into an electrical signal, and outputs the signal to the recorder control unit 526.
  • the recorder control unit 526 is, for example, a microprocessor or the like, and executes various processes in accordance with a program stored in the program memory 528. At this time, the recorder control unit 526 uses the work memory 529 as necessary.
  • a communication unit 535 is connected to the network and performs communication processing with another device via the network.
  • the communication unit 535 is controlled by the recorder control unit 526, communicates with a tuner (not shown), and mainly outputs a tuning control signal to the tuner.
  • the demodulation unit 522 demodulates the signal supplied from the tuner and outputs the signal to the demultiplexer 523.
  • the demultiplexer 523 separates the data supplied from the demodulation unit 522 into audio data, video data, and EPG data, and outputs the data to the audio decoder 524, the video decoder 525, or the recorder control unit 526, respectively.
  • the audio decoder 524 decodes the input audio data according to, for example, the MPEG method, and outputs the decoded audio data to the recording / reproducing unit 533.
  • the video decoder 525 decodes the input video data, for example, according to the MPEG system, and outputs the decoded video data to the display converter 530.
  • the recorder control unit 526 supplies the input EPG data to the EPG data memory 527 for storage.
  • the display converter 530 causes the video encoder 541 to encode video data supplied from the video decoder 525 or the recorder control unit 526 into video data of, for example, a National Television Standards Committee (NTSC) system, and outputs the video data to the recording / reproducing unit 533. Also, the display converter 530 converts the size of the screen of video data supplied from the video decoder 525 or the recorder control unit 526 into a size corresponding to the size of the monitor 560. The display converter 530 further converts video data whose screen size has been converted into video data of the NTSC system by the video encoder 541, converts it into an analog signal, and outputs it to the display control unit 532.
  • NTSC National Television Standards Committee
  • the display control unit 532 Under the control of the recorder control unit 526, the display control unit 532 superimposes the OSD signal output from the OSD (On Screen Display) control unit 531 on the video signal input from the display converter 530, and displays it on the display of the monitor 560. Output and display.
  • OSD On Screen Display
  • the audio data output from the audio decoder 524 is also converted to an analog signal by the D / A converter 534 and supplied to the monitor 560.
  • the monitor 560 outputs this audio signal from the built-in speaker.
  • the recording and reproducing unit 533 includes a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / reproducing unit 533 encodes, for example, audio data supplied from the audio decoder 524 by the encoder 551 according to the MPEG system. Further, the recording / reproducing unit 533 encodes the video data supplied from the video encoder 541 of the display converter 530 by the encoder 551 in the MPEG system. The recording / reproducing unit 533 combines the encoded data of the audio data and the encoded data of the video data by the multiplexer. The recording / reproducing unit 533 channel-codes and amplifies the synthesized data, and writes the data to the hard disk via the recording head.
  • the recording and reproducing unit 533 reproduces and amplifies the data recorded on the hard disk via the reproducing head, and separates the data into audio data and video data by the demultiplexer.
  • the recording / reproducing unit 533 decodes the audio data and the video data by the decoder 552 according to the MPEG system.
  • the recording / reproducing unit 533 D / A converts the decoded audio data, and outputs the D / A to the speaker of the monitor 560. Also, the recording / reproducing unit 533 D / A converts the decoded video data, and outputs it to the display of the monitor 560.
  • the recorder control unit 526 reads the latest EPG data from the EPG data memory 527 based on the user instruction indicated by the infrared signal from the remote controller received via the reception unit 521, and supplies it to the OSD control unit 531. Do.
  • the OSD control unit 531 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 532.
  • the display control unit 532 outputs the video data input from the OSD control unit 531 to the display of the monitor 560 for display. Thereby, an EPG (Electronic Program Guide) is displayed on the display of the monitor 560.
  • EPG Electronic Program Guide
  • the hard disk recorder 500 can also acquire various data such as video data, audio data, or EPG data supplied from another device via a network such as the Internet.
  • the communication unit 535 is controlled by the recorder control unit 526, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 526. Do.
  • the recorder control unit 526 supplies, for example, the acquired encoded data of video data and audio data to the recording and reproduction unit 533, and causes the hard disk to store the data. At this time, the recorder control unit 526 and the recording / reproducing unit 533 may perform processing such as re-encoding as needed.
  • the recorder control unit 526 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 530.
  • the display converter 530 processes the video data supplied from the recorder control unit 526 in the same manner as the video data supplied from the video decoder 525, supplies it to the monitor 560 via the display control unit 532, and displays the image. .
  • the recorder control unit 526 may supply the decoded audio data to the monitor 560 via the D / A converter 534 and output the sound from the speaker.
  • the recorder control unit 526 decodes the acquired encoded data of the EPG data, and supplies the decoded EPG data to the EPG data memory 527.
  • the hard disk recorder 500 as described above uses the image decoding apparatus 101 as a decoder incorporated in the video decoder 525, the decoder 552, and the recorder control unit 526. Therefore, as in the case of the image decoding apparatus 101, the video decoder 525, the decoder 552, and the decoder incorporated in the recorder control unit 526 can always use pixels adjacent to the macro block of the target block as a template. . This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the hard disk recorder 500 can improve the processing efficiency to generate a highly accurate predicted image.
  • the hard disk recorder 500 acquires, for example, coded data of video data received through the tuner, coded data of video data read from the hard disk of the recording / reproducing unit 533, or the network A higher definition decoded image can be obtained from the encoded data of the video data, and can be displayed on the monitor 560 smoothly.
  • the hard disk recorder 500 uses the image coding device 1 as the encoder 551. Therefore, as in the case of the image coding device 1, the encoder 551 can always use pixels adjacent to the macro block of the target block as a template. This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the hard disk recorder 500 can improve the processing efficiency, for example, to improve the coding efficiency of the encoded data to be recorded on the hard disk. As a result, the hard disk recorder 500 can use the storage area of the hard disk more efficiently at high speed.
  • the hard disk recorder 500 for recording video data and audio data on a hard disk has been described, but of course, any recording medium may be used.
  • a recording medium other than a hard disk such as a flash memory, an optical disk, or a video tape
  • the image encoding device 1 and the image decoding device 101 are applied as in the case of the hard disk recorder 500 described above. Can.
  • FIG. 40 is a block diagram showing a principal configuration example of an image decoding device to which the present invention is applied and a camera using the image coding device.
  • a camera 600 shown in FIG. 40 captures an object, displays an image of the object on the LCD 616, or records it as image data in the recording medium 633.
  • the lens block 611 causes light (that is, an image of an object) to be incident on the CCD / CMOS 612.
  • the CCD / CMOS 612 is an image sensor using a CCD or CMOS, converts the intensity of the received light into an electric signal, and supplies the electric signal to the camera signal processing unit 613.
  • the camera signal processing unit 613 converts the electric signal supplied from the CCD / CMOS 612 into color difference signals of Y, Cr and Cb, and supplies the color difference signals to the image signal processing unit 614.
  • the image signal processing unit 614 performs predetermined image processing on the image signal supplied from the camera signal processing unit 613 under the control of the controller 621, or encodes the image signal by the encoder 641 according to, for example, the MPEG method. Do.
  • the image signal processing unit 614 supplies the encoded data generated by encoding the image signal to the decoder 615. Further, the image signal processing unit 614 obtains display data generated in the on-screen display (OSD) 620 and supplies the display data to the decoder 615.
  • OSD on-screen display
  • the camera signal processing unit 613 appropriately uses a dynamic random access memory (DRAM) 618 connected via the bus 617, and as necessary, image data and a code obtained by encoding the image data. Data in the DRAM 618.
  • DRAM dynamic random access memory
  • the decoder 615 decodes the encoded data supplied from the image signal processing unit 614, and supplies the obtained image data (decoded image data) to the LCD 616. Also, the decoder 615 supplies the display data supplied from the image signal processing unit 614 to the LCD 616. The LCD 616 appropriately composites the image of the decoded image data supplied from the decoder 615 and the image of the display data, and displays the composite image.
  • the on-screen display 620 Under the control of the controller 621, the on-screen display 620 outputs display data such as a menu screen or an icon including symbols, characters, or figures to the image signal processing unit 614 via the bus 617.
  • the controller 621 executes various processing based on a signal indicating the content instructed by the user using the operation unit 622, and also, through the bus 617, the image signal processing unit 614, the DRAM 618, the external interface 619, the on-screen display And control the media drive 623 and the like.
  • the FLASH ROM 624 stores programs, data, and the like necessary for the controller 621 to execute various processes.
  • the controller 621 can encode image data stored in the DRAM 618 or decode encoded data stored in the DRAM 618, instead of the image signal processing unit 614 and the decoder 615.
  • the controller 621 may perform encoding / decoding processing by a method similar to the encoding / decoding method of the image signal processing unit 614 or the decoder 615, or the image signal processing unit 614 or the decoder 615 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 621 reads out image data from the DRAM 618 and supplies it to the printer 634 connected to the external interface 619 via the bus 617. Print it.
  • the controller 621 reads the encoded data from the DRAM 618 and supplies it to the recording medium 633 attached to the media drive 623 via the bus 617.
  • the recording medium 633 is, 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 633 is, of course, optional as a removable medium, and may be a tape device, a disk, or a memory card. Of course, it may be a noncontact IC card or the like.
  • media drive 623 and the recording medium 633 may be integrated, and may be configured by a non-portable storage medium, such as a built-in hard disk drive or a solid state drive (SSD).
  • SSD solid state drive
  • the external interface 619 includes, for example, a USB input / output terminal, and is connected to the printer 634 when printing an image.
  • a drive 631 is connected to the external interface 619 as necessary, a removable medium 632 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is used as necessary. And installed in the FLASH ROM 624.
  • the external interface 619 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 621 can read encoded data from the DRAM 618 according to an instruction from the operation unit 622, for example, and can supply it from the external interface 619 to another device connected via a network.
  • the controller 621 acquires encoded data and image data supplied from another device via the network via the external interface 619, holds the data in the DRAM 618, and supplies it to the image signal processing unit 614.
  • the camera 600 as described above uses the image decoding apparatus 101 as the decoder 615. Therefore, as in the case of the image decoding apparatus 101, the decoder 615 can always use pixels adjacent to the macroblock of the target block as a template. This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the camera 600 can improve the processing efficiency and smoothly generate a predicted image with high accuracy.
  • the camera 600 may encode, for example, image data generated by the CCD / CMOS 612, encoded data of video data read from the DRAM 618 or the recording medium 633, or video data acquired via a network. It is possible to obtain a higher-definition decoded image from the data and display the image smoothly on the LCD 616.
  • the camera 600 uses the image coding device 1 as the encoder 641. Therefore, as in the case of the image coding device 1, the encoder 641 can always use pixels adjacent to the macro block of the target block as a template. This makes it possible to implement processing for blocks in a macroblock by parallel processing or pipeline processing, and to improve processing efficiency in the macroblock.
  • the camera 600 can improve the processing efficiency, for example, to improve the coding efficiency of the encoded data to be recorded on the hard disk. As a result, the camera 600 can use the storage area of the DRAM 618 and the recording medium 633 more efficiently at high speed.
  • the decoding method of the image decoding apparatus 101 may be applied to the decoding process performed by the controller 621.
  • the encoding method of the image encoding device 1 may be applied to the encoding process performed by the controller 621.
  • the image data captured by the camera 600 may be a moving image or a still image.
  • image encoding device 1 and the image decoding device 101 are also applicable to devices and systems other than the devices described above.

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

 本発明は、処理効率を向上させることができるようにする画像処理装置および方法に関する。 対象ブロックがブロックB1である場合、対象ブロックの上部および左上部に隣接する画素UB1および画素LUB1と、ブロックB0の左部に隣接する画素LB0がテンプレートに設定される。対象ブロックがブロックB2である場合、対象ブロックの左上部および左部に隣接する画素LUB2および画素LB2と、ブロックB0の上部に隣接する画素UB0がテンプレートに設定される。対象ブロックがブロックB3である場合、ブロックB0の左上部に隣接する画素LUB0と、ブロックB1の上部に隣接する画素UB1と、ブロックB2の左部に隣接する画素LB2がテンプレートに設定される。本発明は、例えば、H.264/AVC方式で符号化する画像符号化装置に適用することができる。

Description

画像処理装置および方法
 本発明は、画像処理装置および方法に関し、特に、テンプレートマッチング予測処理における処理効率を向上させるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
 特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 さらに、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T Q6/16 VCEG)という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)という国際標準となっている。
 ところで、MPEG2方式においては、線形内挿処理により1/2画素精度の動き予測・補償処理が行われている。これに対して、H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。
 また、MPEG2方式においては、フレーム動き補償モードの場合には、16×16画素を単位として動き予測・補償処理が行われている。フィールド動き補償モードの場合には、第1フィールドと第2フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行われている。
 これに対して、H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、H.264/AVC方式においては、16×16画素で構成される1つのマクロブロックを、16×16、16×8、8×16、あるいは8×8のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8パーティションに関しては、8×8、8×4、4×8、あるいは4×4のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 しかしながら、H.264/AVC方式においては、上述した1/4画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。そこで、これから符号化されようとしている対象ブロックの予測動きベクトル情報を、既に符号化済の、隣接するブロックの動きベクトル情報を用いてメディアンオペレーションにより生成する方法などにより、符号化効率の低下を抑えることが提案されている。
 しかしながら、このようなメディアン予測を用いても、画像圧縮情報における動きベクトル情報の占める割合は少なくない。これに対して、特許文献1に記載の方式が提案されている。その方式とは、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方式である。
 この方式は、テンプレートマッチング方式と称され、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化装置と復号装置において同一の処理を行うことが可能である。すなわち、復号装置においても上述したような予測・補償処理を行うことにより、符号化装置からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
 テンプレートマッチング方式は、イントラ予測にもインター予測にも用いることができ、以下、それぞれ、イントラテンプレートマッチング予測処理およびインターテンプレートマッチング予測処理とも称する。
特開2007-43651号公報
 ところで、図1を参照して、イントラまたはインターテンプレートマッチング予測処理において、8×8画素ブロック単位で処理を行う場合を考える。図1の例においては、16×16画素のマクロブロックが示されている。マクロブロックは、それぞれ8×8画素で構成される、左上のブロック0、右上のブロック1、左下のブロック2、および、右下のブロック3により構成されている。
 例えば、ブロック1におけるテンプレートマッチング予測処理を行う際には、ブロック1に対して、上部、左上部、および左部に隣接すると共に復号画像の一部である隣接画素P1、P2、およびP3がテンプレート領域として用いられる。
 すなわち、ブロック0の符号化処理が終了しないと、テンプレート領域のうち、隣接画素P3が利用可能(available)にならないので、ブロック1におけるテンプレートマッチング予測処理を行うことができない。したがって、従来のテンプレートマッチング予測処理においては、マクロブロック内でのブロック0とブロック1の予測処理を、並行処理またはパイプライン処理で行うことが困難であった。
 同様のことは、イントラまたはインターテンプレートマッチング予測処理を、8×8画素サブブロック内において、4×4ブロックを単位として行う場合にも言える。
 本発明は、このような状況に鑑みてなされたものであり、テンプレートマッチング予測処理における処理効率を向上させるものである。
 本発明の第1の側面の画像処理装置は、画像の所定のブロックを構成するブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのうちのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定するテンプレート画素設定手段と、前記テンプレート画素設定手段により設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出するテンプレート動き予測補償手段とを備える。
 前記テンプレート動き予測補償手段により算出された前記動きベクトルを利用して、前記ブロックを符号化する符号化手段をさらに備えることができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて左上に位置する左上ブロックに対しては、前記左上ブロックの左部、上部、および左上部に隣接する画素を前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右上に位置する右上ブロックに対しては、前記右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの左部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて左下に位置する左下ブロックに対しては、前記左下ブロックの左上部および左部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの上部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて左上に位置する左上ブロックの左上部に隣接する画素と、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左上部および左部に隣接する画素とを前記テンプレートとして設定することができる。
 本発明の第1の側面の画像処理方法は、画像処理装置が、画像の所定のブロックを構成するブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定し、設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出するステップを含む。
 本発明の第2の側面の画像処理装置は、符号化されているブロックの画像を復号する復号手段と、画像の所定のブロックを構成する前記ブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定するテンプレート画素設定手段と、前記テンプレート画素設定手段により設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出するテンプレート動き予測手段と、前記復号手段により復号された前記画像と、前記テンプレート動き予測手段により算出された前記動きベクトルを用いて、前記ブロックの予測画像を生成する動き補償手段とを備える。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて左上に位置する左上ブロックに対しては、前記左上ブロックの左部、上部、および左上部に隣接する画素を前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右上に位置する右上ブロックに対しては、前記右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの左部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて左下に位置する左下ブロックに対しては、前記左下ブロックの左上部および左部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの上部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて左上に位置する左上ブロックの左上部に隣接する画素と、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定することができる。
 前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定することができる。
 本発明の第2の画像処理方法は、画像処理装置が、符号化されているブロックの画像を復号し、画像の所定のブロックを構成する前記ブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定し、設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出し、復号された前記画像と、算出された前記動きベクトルを用いて、前記ブロックの予測画像を生成するステップを含む。
 本発明の第1の側面においては、画像の所定のブロックを構成するブロックの動きベクトルの算出に用いられるテンプレートの画素が、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定される。そして、設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルが算出される。
 本発明の第2の側面においては、符号化されているブロックの画像が復号され、画像の所定のブロックを構成する前記ブロックの動きベクトルの算出に用いられるテンプレートの画素が、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定され、設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルが算出される。そして、復号された前記画像と、算出された前記動きベクトルを用いて、前記ブロックの予測画像が生成される。
 なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
 本発明の第1の側面によれば、画像のブロックの動きベクトルを算出することができる。また、本発明の第1の側面によれば、予測処理効率を向上させることができる。
 本発明の第2の側面によれば、画像を復号することができる。また、本発明の第2の側面によれば、予測処理効率を向上させることができる。
従来のテンプレートを説明する図である。 本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。 可変ブロックサイズ動き予測・補償処理を説明する図である。 1/4画素精度の動き予測・補償処理を説明する図である。 マルチ参照フレームの動き予測・補償方式について説明する図である。 動きベクトル情報の生成方法の例を説明する図である。 テンプレート予測モードに関する処理を行う各部の詳細な構成例を示すブロック図である。 ブロックサイズが8×8画素の場合のテンプレート画素設定の例を示す図である。 テンプレート画素設定の他の例を示す図である。 ブロックサイズが4×4画素の場合のテンプレート画素設定の例を示す図である。 テンプレート画素設定の他の例を示す図である。 図2の画像符号化装置の符号化処理を説明するフローチャートである。 図12のステップS21の予測処理を説明するフローチャートである。 16×16画素のイントラ予測モードの場合の処理順序を説明する図である。 輝度信号の4×4画素のイントラ予測モードの種類を示す図である。 輝度信号の4×4画素のイントラ予測モードの種類を示す図である。 4×4画素のイントラ予測の方向を説明する図である。 4×4画素のイントラ予測を説明する図である。 輝度信号の4×4画素のイントラ予測モードの符号化を説明する図である。 輝度信号の16×16画素のイントラ予測モードの種類を示す図である。 輝度信号の16×16画素のイントラ予測モードの種類を示す図である。 16×16画素のイントラ予測を説明する図である。 色差信号のイントラ予測モードの種類を示す図である。 図13のステップS31のイントラ予測処理を説明するフローチャートである。 図13のステップS32のインター動き予測処理を説明するフローチャートである。 図13のステップS33のイントラテンプレート動き予測処理を説明するフローチャートである。 イントラテンプレートマッチング方式について説明する図である。 図13のステップS35のインターテンプレート動き予測処理を説明するフローチャートである。 インターテンプレートマッチング方式について説明する図である。 図26のステップS61または図28のステップS71のテンプレート画素設定処理を説明するフローチャートである。 テンプレート画素設定による効果について説明する図である。 本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。 図32の画像復号装置の復号処理を説明するフローチャートである。 図33のステップS138の予測処理を説明するフローチャートである。 拡張されたブロックサイズの例を示す図である。 コンピュータのハードウエアの構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。
 以下、図を参照して本発明の実施の形態について説明する。
[画像符号化装置の構成例]
 図2は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 この画像符号化装置1は、例えば、H.264及びMPEG-4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式で画像を圧縮符号化する。
 図2の例において、画像符号化装置1は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、演算部20、デブロックフィルタ21、フレームメモリ22、スイッチ23、イントラ予測部24、イントラテンプレート動き予測・補償部25、動き予測・補償部26、インターテンプレート動き予測・補償部27、テンプレート画素設定部28、予測画像選択部29、およびレート制御部30により構成されている。
 なお、以下、イントラテンプレート動き予測・補償部25およびインターテンプレート動き予測・補償部27を、それぞれ、イントラTP動き予測・補償部25およびインターTP動き予測・補償部27と称する。
 A/D変換部11は、入力された画像をA/D変換し、画面並べ替えバッファ12に出力し、記憶させる。画面並べ替えバッファ12は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
 演算部13は、画面並べ替えバッファ12から読み出された画像から、予測画像選択部29により選択されたイントラ予測部24からの予測画像または動き予測・補償部26からの予測画像を減算し、その差分情報を直交変換部14に出力する。直交変換部14は、演算部13からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部15は直交変換部14が出力する変換係数を量子化する。
 量子化部15の出力となる、量子化された変換係数は、可逆符号化部16に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
 可逆符号化部16は、イントラ予測やイントラテンプレート予測を示す情報をイントラ予測部24から取得し、インター予測やインターテンプレート予測を示す情報などを動き予測・補償部26から取得する。なお、イントラ予測を示す情報およびイントラテンプレート予測を示す情報は、以下、それぞれイントラ予測モード情報およびイントラテンプレート予測モード情報とも称する。また、インター予測を示す情報およびインターテンプレート予測を示す情報は、以下、それぞれ、インター予測モード情報およびインターテンプレート予測モード情報とも称する。
 可逆符号化部16は、量子化された変換係数を符号化するとともに、イントラ予測やイントラテンプレート予測を示す情報、インター予測やインターテンプレート予測を示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部16は、符号化したデータを蓄積バッファ17に供給して蓄積させる。
 例えば、可逆符号化部16においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ17は、可逆符号化部16から供給されたデータを、H.264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部15より出力された、量子化された変換係数は、逆量子化部18にも入力され、逆量子化された後、さらに逆直交変換部19において逆直交変換される。逆直交変換された出力は演算部20により予測画像選択部29から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ21は、復号された画像のブロック歪を除去した後、フレームメモリ22に供給し、蓄積させる。フレームメモリ22には、デブロックフィルタ21によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
 スイッチ23はフレームメモリ22に蓄積された参照画像を動き予測・補償部26またはイントラ予測部24に出力する。
 この画像符号化装置1においては、例えば、画面並べ替えバッファ12からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部24に供給される。また、画面並べ替えバッファ12から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部26に供給される。
 イントラ予測部24は、画面並べ替えバッファ12から読み出されたイントラ予測する画像とフレームメモリ22から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。また、イントラ予測部24は、画面並べ替えバッファ12から読み出されたイントラ予測する画像と、スイッチ23を介してフレームメモリ22から供給される参照画像を、イントラTP動き予測・補償部25に供給する。
 イントラ予測部24は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部24は、算出したコスト関数値と、イントラTP動き予測・補償部25により算出されたイントラテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適イントラ予測モードとして決定する。
 イントラ予測部24は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。イントラ予測部24は、予測画像選択部29により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報(イントラ予測モード情報またはイントラテンプレート予測モード情報)を、可逆符号化部16に供給する。可逆符号化部16は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
 イントラTP動き予測・補償部25には、画面並べ替えバッファ12から読み出されたイントラ予測する画像と、フレームメモリ22から供給される参照画像が入力される。イントラTP動き予測・補償部25は、これらの画像を用い、テンプレート画素設定部28により設定された画素からなるテンプレートを利用して、イントラテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。そして、イントラTP動き予測・補償部25は、イントラテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、イントラ予測部24に供給する。
 動き予測・補償部26は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部26には、画面並べ替えバッファ12から読み出されたインター処理する画像と、スイッチ23を介してフレームメモリ22から参照画像が供給される。動き予測・補償部26は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。また、動き予測・補償部26は、画面並べ替えバッファ12から読み出されたインター予測する画像と、スイッチ23を介してフレームメモリ22から供給される参照画像を、インターTP動き予測・補償部27に供給する。
 動き予測・補償部26は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部26は、インター予測モードに対してのコスト関数値と、インターTP動き予測・補償部27からのインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
 動き予測・補償部26は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。動き予測・補償部26は、予測画像選択部29により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報またはインターテンプレート予測モード情報)を可逆符号化部16に出力する。
 なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部16に出力される。可逆符号化部16は、動き予測・補償部26からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
 インターTP動き予測・補償部27には、画面並べ替えバッファ12から読み出されたインター予測する画像と、フレームメモリ22から供給される参照画像が入力される。インターTP動き予測・補償部27は、これらの画像を用い、テンプレート画素設定部28により設定された画素からなるテンプレートを利用して、テンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。そして、インターTP動き予測・補償部27は、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部26に供給する。
 テンプレート画素設定部28は、イントラあるいはインターテンプレート予測モードの対象ブロックの動きベクトルを算出するためのテンプレートの画素を、対象ブロックのマクロブロック(またはサブマクロブロック)内でのアドレスに応じて設定する。設定したテンプレートの画素情報は、イントラTP動き予測・補償部25またはインターTP動き予測・補償部27に供給される。
 予測画像選択部29は、イントラ予測部24または動き予測・補償部26より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部29は、決定された最適予測モードの予測画像を選択し、演算部13,20に供給する。このとき、予測画像選択部29は、予測画像の選択情報を、イントラ予測部24または動き予測・補償部26に供給する。
 レート制御部30は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
[H.264/AVC方式の説明]
 図3は、H.264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
 図3の上段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のパーティションに分割された16×16画素で構成されるマクロブロックが順に示されている。また、図3の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のサブパーティションに分割された8×8画素のパーティションが順に示されている。
 すなわち、H.264/AVC方式においては、1つのマクロブロックを、16×16画素、16×8画素、8×16画素、あるいは8×8画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8画素のパーティションに関しては、8×8画素、8×4画素、4×8画素、あるいは4×4画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 図4は、H.264/AVC方式における1/4画素精度の予測・補償処理を説明する図である。H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。
 図4の例において、位置Aは、整数精度画素の位置、位置b,c,dは、1/2画素精度の位置、位置e1,e2,e3は、1/4画素精度の位置を示している。まず、以下においては、Clip()を次の式(1)のように定義する。
Figure JPOXMLDOC01-appb-M000001
 なお、入力画像が8ビット精度である場合、max_pixの値は255となる。
 位置bおよびdにおける画素値は、6タップのFIRフィルタを用いて、次の式(2)のように生成される。
 
Figure JPOXMLDOC01-appb-M000002
 位置cにおける画素値は、水平方向および垂直方向に6タップのFIRフィルタを適用し、次の式(3)のように生成される。
Figure JPOXMLDOC01-appb-M000003
 なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に1度のみ実行される。
 位置e1乃至e3は、次の式(4)のように線形内挿により生成される。
Figure JPOXMLDOC01-appb-M000004
 図5は、H.264/AVC方式におけるマルチ参照フレームの予測・補償処理を説明する図である。H.264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。
 図5の例においては、いまから符号化される対象フレームFnと、符号化済みのフレームFn-5,…,Fn-1が示されている。フレームFn-1は、時間軸上、対象フレームFnの1つ前のフレームであり、フレームFn-2は、対象フレームFnの2つ前のフレームであり、フレームFn-3は、対象フレームFnの3つ前のフレームである。また、フレームFn-4は、対象フレームFnの4つ前のフレームであり、フレームFn-5は、対象フレームFnの5つ前のフレームである。一般的には、対象フレームFnに対して時間軸上に近いフレームほど、小さい参照ピクチャ番号(ref_id)が付加される。すなわち、フレームFn-1が一番参照ピクチャ番号が小さく、以降、Fn-2,…, Fn-5の順に参照ピクチャ番号が小さい。
 対象フレームFnには、ブロックA1とブロックA2が示されており、ブロックA1は、2つ前のフレームFn-2のブロックA1’と相関があるとされて、動きベクトルV1が探索されている。また、ブロックA2は、4つ前のフレームFn-4のブロックA1’と相関があるとされて、動きベクトルV2が探索されている。
 以上のように、H.264/AVC方式においては、複数の参照フレームをメモリに格納しておき、1枚のフレーム(ピクチャ)において、異なる参照フレームを参照することが可能である。すなわち、例えば、ブロックA1がフレームFn-2を参照し、ブロックA2がフレームFn-4を参照しているというように、1枚のピクチャにおいて、ブロック毎にそれぞれ独立した参照フレーム情報(参照ピクチャ番号(ref_id))を持つことができる。
 H.264/AVC方式においては、図2乃至図5を参照して上述した動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成され、これをこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H.264/AVC方式においては、図6に示す方法により、動きベクトルの符号化情報の低減が実現されている。
 図6は、H.264/AVC方式による動きベクトル情報の生成方法について説明する図である。図6の例において、これから符号化される対象ブロックE(例えば、16×16画素)と、既に符号化済みであり、対象ブロックEに隣接するブロックA乃至Dが示されている。
 すなわち、ブロックDは、対象ブロックEの左上に隣接しており、ブロックBは、対象ブロックEの上に隣接しており、ブロックCは、対象ブロックEの右上に隣接しており、ブロックAは、対象ブロックEの左に隣接している。なお、ブロックA乃至Dが区切られていないのは、それぞれ、図3で上述した16×16画素乃至4×4画素のうちのいずれかの構成のブロックであることを表している。
 例えば、X(=A,B,C,D,E)に対する動きベクトル情報を、mvXで表す。まず、対象ブロックEに対する予測動きベクトル情報pmvEは、ブロックA,B,Cに関する動きベクトル情報を用いて、メディアン予測により次の式(5)のように生成される。
 pmvE = med(mvA,mvB,mvC)               ・・・(5)
 ブロックCに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない(unavailableである)場合がある。この場合には、ブロックCに関する動きベクトル情報は、ブロックDに関する動きベクトル情報で代用される。
 対象ブロックEに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式(6)のように生成される。
 mvdE = mvE - pmvE                  ・・・(6)
 なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
 このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
 ところで、このようなメディアン予測を用いても、画像圧縮情報における動きベクトル情報の占める割合は少なくない。そこで、画像符号化装置1においては、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレートを利用することから、動きベクトルを復号側に送る必要のないテンプレート予測モードの動き予測補償処理も行う。その際、画像符号化装置1においては、そのテンプレートに用いる画素が設定される。
[各部の詳細な構成例]
 図7は、上述したテンプレート予測モードに関する処理を行う各部の詳細な構成例を示すブロック図である。図7の例においては、イントラTP動き予測・補償部25、インターTP動き予測・補償部27、およびテンプレート画素設定部28の詳細な構成例が示されている。
 図7の例の場合、イントラTP動き予測・補償部25は、 ブロックアドレス算出部41、動き予測部42、および動き補償部43により構成される。ブロックアドレス算出部41は、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスを算出し、算出したアドレスの情報を、ブロック分類部61に供給する。
 動き予測部42には、画面並べ替えバッファ12から読み出されたイントラ予測する画像と、フレームメモリ22から供給される参照画像が入力される。また、動き予測部42には、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの情報が入力される。
 動き予測部42は、イントラ予測する画像と参照画像を用い、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの画素値を利用して、イントラテンプレート予測モードの動き予測を行う。このとき、算出された動きベクトルと参照画像は、動き補償部43に供給される。
 動き補償部43は、動き予測部42により算出された動きベクトルと参照画像を用いて、動き補償処理を行い、予測画像を生成する。さらに、動き補償部43は、イントラテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、イントラ予測部24に供給する。
 インターTP動き予測・補償部27は、ブロックアドレス算出部51、動き予測部52、および動き補償部53により構成される。ブロックアドレス算出部51は、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスを算出し、算出したアドレスの情報を、ブロック分類部61に供給する。
 動き予測部52には、画面並べ替えバッファ12から読み出されたインター予測する画像と、フレームメモリ22から供給される参照画像が入力される。また、動き予測部52には、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの情報が入力される。
 動き予測部52は、インター予測する画像と参照画像を用い、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの画素値を利用して、インターテンプレート予測モードの動き予測を行う。このとき、算出された動きベクトルと参照画像は、動き補償部53に供給される。
 動き補償部53は、動き予測部52により算出された動きベクトルと参照画像を用いて、動き補償処理を行い、予測画像を生成する。さらに、動き補償部53は、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部26に供給する。
 テンプレート画素設定部28は、ブロック分類部61、対象ブロックテンプレート設定部62、および参照ブロックテンプレート設定部63により構成される。なお、以下、対象ブロックテンプレート設定部62および参照ブロックテンプレート設定部63を、それぞれ、対象ブロックTP設定部62および参照ブロックTP設定部63と称する。
 ブロック分類部61は、イントラまたはインターテンプレート予測モードによる処理対象の対象ブロックが、そのマクロブロック内の左上のブロック、右上のブロック、左下のブロック、および右下のブロックのどのブロックであるかを分類する。ブロック分類部61は、対象ブロックがどのブロックであるかという情報を、対象ブロックTP設定部62および参照ブロックTP設定部63に供給する。
 対象ブロックTP設定部62は、対象ブロックに対して、マクロブロック内における対象ブロックの位置がどの位置であるかに応じて、テンプレートを構成する画素の設定を行う。設定された対象ブロックにおけるテンプレートの情報は、動き予測部42または動き予測部52に供給される。
 参照ブロックTP設定部63は、参照ブロックに対して、マクロブロック内における対象ブロックの位置がどの位置であるかに応じて、テンプレートを構成する画素の設定を行う。すなわち、参照ブロックTP設定部63は、対象ブロックと同位置における画素を、参照ブロックに対するテンプレートを構成する画素に設定する。設定された参照ブロックにおけるテンプレートの情報は、動き予測部42または動き予測部52に供給される。
[テンプレート画素設定処理の例]
 図8のA乃至図8のDは、対象ブロックのマクロブロック内の位置に応じたテンプレートの例を示している。図8のA乃至図8のDの例の場合、16×16画素のマクロブロックMBが示されており、マクロブロックMBは、8×8画素からなる4つのブロックB0乃至B3からなる。また、この例においては、処理は、ブロックB0乃至B3の順、すなわち、ラスタスキャン順に行われるものとする。
 ブロックB0は、マクロブロックMB内の左上に位置するブロックであり、ブロックB1は、マクロブロックMB内の右上に位置するブロックである。また、ブロックB2は、マクロブロックMB内の左下に位置するブロックであり、ブロックB3は、マクロブロックMB内の右下に位置するブロックである。
 すなわち、図8のAは、対象ブロックがブロックB0である場合のテンプレートの例を示している。図8のBは、対象ブロックがブロックB1である場合のテンプレートの例を示している。図8のCは、対象ブロックがブロックB2である場合のテンプレートの例を示している。図8のDは、対象ブロックがブロックB3である場合のテンプレートの例を示している。
 ブロック分類部61は、イントラまたはインターテンプレート予測モードによる処理対象の対象ブロックが、マクロブロックMB内のどの位置にあるか、すなわち、ブロックB0乃至B3のうちどのブロックであるかを分類する。
 対象ブロックTP設定部62および参照ブロックTP設定部63は、対象ブロックがマクロブロックMB内のどの位置にあるか(どのブロックであるか)に応じて、対象ブロックおよび参照ブロックに対するテンプレートを構成する画素をそれぞれ設定する。
 すなわち、対象ブロックがブロックB0である場合、図8のAに示されるように、対象ブロックの上部、左上部、および左部にそれぞれ隣接する画素UB0、画素LUB0、および画素LB0がテンプレートに設定される。そして、設定された画素UB0、画素LUB0、および画素LB0で構成されるテンプレートの画素値が、マッチングに用いられる。
 対象ブロックがブロックB1である場合、図8のBに示されるように、対象ブロックの上部および左上部に隣接する画素UB1および画素LUB1と、ブロックB0の左部に隣接する画素LB0がテンプレートに設定される。そして、設定された画素UB1、画素LUB1、および画素LB0で構成されるテンプレートの画素値が、マッチングに用いられる。
 対象ブロックがブロックB2である場合、図8のCに示されるように、対象ブロックの左上部および左部に隣接する画素LUB2および画素LB2と、ブロックB0の上部に隣接する画素UB0がテンプレートに設定される。そして、設定された画素UB0、画素LUB2、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 対象ブロックがブロックB3である場合、図8のDに示されるように、ブロックB0の左上部に隣接する画素LUB0と、ブロックB1の上部に隣接する画素UB1と、ブロックB2の左部に隣接する画素LB2がテンプレートに設定される。そして、設定された画素UB1、画素LUB0、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 なお、対象ブロックがブロックB3である場合には、図8のDのテンプレートの例に限らず、図9のAまたは図9のBに示されるテンプレートを利用することもできる。
 すなわち、対象ブロックがブロックB3である場合には、図9のAに示されるように、ブロックB1の左上部に隣接する画素LUB1および上部に隣接する画素UB1と、ブロックB2の左部に隣接する画素LB2がテンプレートに設定される。そして、設定された画素UB1、画素LUB1、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 あるいは、対象ブロックがブロックB3である場合には、図9のBに示されるように、ブロックB1の上部に隣接する画素UB1と、ブロックB2の左上部に隣接する画素LUB2および左部に隣接する画素LB2がテンプレートに設定される。そして、設定された画素UB1、画素LUB2、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 ここで、テンプレートに設定される候補の画素UB0、画素LUB0、画素LB0、画素LUB1、画素UB1、画素LUB2、および画素LB2は、どの画素もマクロブロックMBに所定の位置関係で隣接する画素である。
 以上のように、テンプレートを構成する画素として、常に、対象ブロックのマクロブロックに隣接する画素を利用することにより、マクロブロックMB内のブロックB0乃至B3に対する処理を、並列処理またはパイプライン処理により実現することが可能になる。この効果の詳細については、図31のA乃至図31のCを参照して後述する。
[テンプレート画素設定処理の他の例]
 図10のA乃至図10のEは、ブロックサイズが4×4の場合のテンプレートの例を示している。図10のAの例の場合、16×16画素のマクロブロックMBが示されており、マクロブロックMBは、4×4画素からなる16のブロックB0乃至B15からなる。そのうち、サブマクロブロックSMB0は、ブロックB0乃至B3で構成され、サブマクロブロックSMB1は、ブロックB4乃至B7で構成されている。また、サブマクロブロックSMB2は、ブロックB8乃至B11で構成され、サブマクロブロックSMB3は、ブロックB12乃至B15で構成されている。
 なお、ブロックB0、ブロックB4、ブロックB8、およびブロックB12における処理は、基本的に同じ処理であり、ブロックB1、ブロックB5、ブロックB9、およびブロックB13における処理は、基本的に同じ処理である。ブロックB2、ブロックB6、ブロックB10、およびブロックB14における処理は、基本的に同じ処理であり、ブロックB3、ブロックB7、ブロックB11、およびブロックB15における処理は、基本的に同じ処理である。したがって、以下においては、ブロックB0乃至B3で構成される8×8画素のサブマクロブロックSMB0を例に説明する。
 すなわち、図10のBは、サブマクロブロックSMB0内において、対象ブロックがブロックB0である場合のテンプレートの例を示している。図10のCは、サブマクロブロックSMB0内において、対象ブロックがブロックB1である場合のテンプレートの例を示している。図10のDは、サブマクロブロックSMB0内において、対象ブロックがブロックB2である場合のテンプレートの例を示している。図10のEは、サブマクロブロックSMB0内において、対象ブロックがブロックB3である場合のテンプレートの例を示している。
 以下、処理の順であるラスタスキャン順に説明する。対象ブロックがブロックB0である場合、図10のBに示されるように、対象ブロックの上部、左上部、および左部にそれぞれ隣接する画素UB0、画素LUB0、および画素LB0がテンプレートに設定される。そして、設定された画素UB0、画素LUB0、および画素LB0で構成されるテンプレートの画素値が、マッチングに用いられる。
 対象ブロックがブロックB1である場合、図10のCに示されるように、対象ブロックの上部および左上部に隣接する画素UB1および画素LUB1と、ブロックB0の左部に隣接する画素LB0がテンプレートに設定される。そして、設定された画素UB1、画素LUB1、および画素LB0で構成されるテンプレートの画素値が、マッチングに用いられる。
 対象ブロックがブロックB2である場合、図10のDに示されるように、対象ブロックの左上部および左部に隣接する画素LUB2および画素LB2と、ブロックB0の上部に隣接する画素UB0がテンプレートに設定される。そして、設定された画素UB0、画素LUB2、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 対象ブロックがブロックB3である場合、図10のEに示されるように、ブロックB0の左上部に隣接する画素LUB0と、ブロックB1の上部に隣接する画素UB1と、ブロックB2の左部に隣接する画素LB2がテンプレートに設定される。そして、設定された画素UB1、画素LUB0、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 なお、対象ブロックがブロックB3である場合には、図10のEのテンプレートの例に限らず、図11のAまたは図11のBに示されるテンプレートを利用することもできる。
 すなわち、対象ブロックがブロックB3である場合には、図11のAに示されるように、ブロックB1の左上部に隣接する画素LUB1および上部に隣接する画素UB1と、ブロックB2の左部に隣接する画素LB2がテンプレートに設定される。そして、設定された画素UB1、画素LUB1、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 あるいは、対象ブロックがブロックB3である場合には、図11のBに示されるように、ブロックB1の上部に隣接する画素UB1と、ブロックB2の左上部に隣接する画素LUB2および左部に隣接する画素LB2がテンプレートに設定される。そして、設定された画素UB1、画素LUB2、および画素LB2で構成されるテンプレートの画素値が、マッチングに用いられる。
 ここで、テンプレートに設定される候補の画素UB0、画素LUB0、画素LB0、画素LUB1、画素UB1、画素LUB2、および画素LB2は、どの画素もサブマクロブロックSMB0に所定の位置関係で隣接する画素である。
 以上のように、テンプレートを構成する画素として、常に、対象ブロックのサブマクロブロックに隣接する画素を利用するようにした。これにより、サブマクロブロックSMB0内のブロックB0乃至B3に対する処理を、並列処理またはパイプライン処理により実現することが可能になる。
[符号化処理の説明]
 次に、図12のフローチャートを参照して、図1の画像符号化装置1の符号化処理について説明する。
 ステップS11において、A/D変換部11は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ12は、A/D変換部11より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS13において、演算部13は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部26から、イントラ予測する場合はイントラ予測部24から、それぞれ予測画像選択部29を介して演算部13に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS14において、直交変換部14は演算部13から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部15は変換係数を量子化する。この量子化に際しては、後述するステップS25の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部18は量子化部15により量子化された変換係数を量子化部15の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部19は逆量子化部18により逆量子化された変換係数を直交変換部14の特性に対応する特性で逆直交変換する。
 ステップS18において、演算部20は、予測画像選択部29を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部13への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ21は、演算部20より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ22は、フィルタリングされた画像を記憶する。なお、フレームメモリ22にはデブロックフィルタ21によりフィルタ処理されていない画像も演算部20から供給され、記憶される。
 ステップS21において、イントラ予測部24、イントラTP動き予測・補償部25、動き予測・補償部26、およびインターTP動き予測・補償部27は、それぞれ画像の予測処理を行う。すなわち、ステップS21において、イントラ予測部24は、イントラ予測モードのイントラ予測処理を行い、イントラTP動き予測・補償部25は、イントラテンプレート予測モードの動き予測・補償処理を行う。また、動き予測・補償部26は、インター予測モードの動き予測・補償処理を行い、インターTP動き予測・補償部27は、インターテンプレート予測モードの動き予測・補償処理を行う。なお、このとき、イントラTP動き予測・補償部25およびインターTP動き予測・補償部27においては、テンプレート画素設定部28により設定されたテンプレートが利用される。
 ステップS21における予測処理の詳細は、図13を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、イントラ予測モードとイントラテンプレート予測モードの中から、最適イントラ予測モードが選択され、最適イントラ予測モードで生成された予測画像とそのコスト関数値が予測画像選択部29に供給される。また、算出されたコスト関数値に基づいて、インター予測モードとインターテンプレート予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部29に供給される。
 ステップS22において、予測画像選択部29は、イントラ予測部24および動き予測・補償部26より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部29は、決定した最適予測モードの予測画像を選択し、演算部13,20に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
 なお、この予測画像の選択情報は、イントラ予測部24または動き予測・補償部26に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部24は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報またはイントラテンプレート予測モード情報)を、可逆符号化部16に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部26は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部16に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。さらに具体的には、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部26は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部16に出力する。
 一方、最適インター予測モードとして、インターテンプレート予測モードによる予測画像が選択されているときには、動き予測・補償部26は、インターテンプレート予測モード情報のみを可逆符号化部16に出力する。すなわち、インターテンプレート予測モード情報による符号化の場合には、動きベクトル情報などは、復号側に送る必要がないので、可逆符号化部16に出力されない。したがって、圧縮画像中における動きベクトル情報を低減することができる。
 ステップS23において、可逆符号化部16は量子化部15より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS22において可逆符号化部16に入力された、イントラ予測部24からの最適イントラ予測モード情報、または、動き予測・補償部26からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
 ステップS24において蓄積バッファ17は差分画像を圧縮画像として蓄積する。蓄積バッファ17に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS25においてレート制御部30は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
[予測処理の説明]
 次に、図13のフローチャートを参照して、図12のステップS21における予測処理を説明する。
 画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ22から読み出され、スイッチ23を介してイントラ予測部24に供給される。これらの画像に基づいて、ステップS31において、イントラ予測部24は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ21によりデブロックフィルタリングされていない画素が用いられる。
 ステップS31におけるイントラ予測処理の詳細は、図24を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、最適とされる、1つのイントラ予測モードが選択される。
 画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ22から読み出され、スイッチ23を介して動き予測・補償部26に供給される。これらの画像に基づいて、ステップS32において、動き予測・補償部26はインター動き予測処理を行う。すなわち、動き予測・補償部26は、フレームメモリ22から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
 ステップS32におけるインター動き予測処理の詳細は、図25を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
 また、画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、フレームメモリ22から読み出された参照される復号済みの画像は、イントラ予測部24を介してイントラTP動き予測・補償部25にも供給される。これらの画像に基づいて、ステップS33において、イントラTP動き予測・補償部25は、イントラテンプレート予測モードで、イントラテンプレート動き予測処理を行う。
 ステップS33におけるイントラテンプレート動き予測処理の詳細は、図26を参照して後述するが、この処理により、イントラテンプレート予測モードで動き予測処理が行われ、イントラテンプレート予測モードに対してコスト関数値が算出される。そして、イントラテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数値がイントラ予測部24に供給される。
 ステップS34において、イントラ予測部24は、ステップS31において選択されたイントラ予測モードに対してのコスト関数値と、ステップS33において算出されたイントラテンプレート予測モードに対してのコスト関数値を比較する。そして、イントラ予測部24は、最小値を与える予測モードを、最適イントラ予測モードとして決定し、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。
 さらに、画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、フレームメモリ22から読み出された参照される画像は、動き予測・補償部26を介してインターTP動き予測・補償部27にも供給される。これらの画像に基づいて、インターTP動き予測・補償部27は、ステップS35において、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
 ステップS35におけるインターテンプレート動き予測処理の詳細は、図28を参照して後述するが、この処理により、インターテンプレート予測モードで動き予測処理が行われ、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数値が動き予測・補償部26に供給される。
 ステップS36において、動き予測・補償部26は、ステップS32において選択された最適なインター予測モードに対してコスト関数値と、ステップS35において算出されたインターテンプレート予測モードに対してのコスト関数値を比較する。そして、動き予測・補償部26は、最小値を与える予測モードを、最適インター予測モードとして決定し、動き予測・補償部26は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。
[H.264/AVC方式におけるイントラ予測処理の説明]
 次に、H.264/AVC方式で定められているイントラ予測の各モードについて説明する。
 まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、9種類の4×4画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。
 図14の例において、各ブロックに付されている数字-1乃至25は、その各ブロックのビットストリーム順(すなわち、復号側での処理順)を表している。輝度信号については、マクロブロックが4×4画素に分割されて、4×4画素のDCTが行われる。そして、16×16画素のイントラ予測モードの場合のみ、-1のブロックに示されるように、各ブロックの直流成分を集めて、4×4行列が生成され、これに対して、さらに、直交変換が施される。
 なお、色差信号については、マクロブロックが4×4画素に分割され、4×4画素のDCTが行われた後に、16および17の各ブロックに示されるように、各ブロックの直流成分を集めて、2×2行列が生成され、これに対して、さらに、直交変換が施される。
 また、ハイプロファイルについては、8次のDCTブロックに対して、8×8画素のブロック単位の予測モードが定められているが、この方式については、次に説明する4×4画素のイントラ予測モードの方式に準じる。
 図15および図16は、9種類の輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)を示す図である。平均値(DC)予測を示すモード2以外の8種類の各モードは、それぞれ、図17の番号0,1,3乃至8で示される方向に対応している。
 9種類のIntra_4x4_pred_modeについて、図18を参照して説明する。図18の例において、画素a乃至pは、イントラ処理される対象ブロックの画素を表し、画素値A乃至Mは、隣接ブロックに属する画素の画素値を表している。すなわち、画素a乃至pは、画面並べ替えバッファ12から読み出された処理対象の画像であり、画素値A乃至Mは、フレームメモリ22から読み出され、参照される復号済みの画像の画素値である。
 図15および図16の各イントラ予測モードの場合、画素a乃至pの予測画素値は、隣接ブロックに属する画素の画素値A乃至Mを用いて、以下のように生成される。なお、画素値が”available”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由がなく、利用可能であることを表す。これに対して、画素値が”unavailable”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により利用可能ではないことを表す。
 モード0はVertical Predictionであり、画素値A乃至Dが ”available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(7)のように生成される。 画素a, e, i, mの予測画素値 = A
 画素b, f, j, nの予測画素値 = B
 画素c, g, k, oの予測画素値 = C
 画素d, h, l, pの予測画素値 = D        ・・・(7)
 モード1はHorizontal Predictionであり、画素値I乃至Lが ”available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(8)のように生成される。
 画素a, b, c, dの予測画素値 = I
 画素e, f, g, hの予測画素値 = J
 画素i, j, k, lの予測画素値 = K
 画素m, n, o, pの予測画素値 = L        ・・・(8)
 モード2はDC Predictionであり、画素値A,B,C,D,I,J,K,Lが全て ”available” である時、予測画素値は式(9)のように生成される。
 (A+B+C+D+I+J+K+L+4) >> 3   ・・・(9)
 また、画素値A,B,C,Dが全て ”unavailable” である時、予測画素値は式(10)のように生成される。
 (I+J+K+L+2) >> 2          ・・・(10)
 また、画素値I,J,K,Lが全て ”unavailable” である時、予測画素値は式(11)のように生成される。
 (A+B+C+D+2) >> 2          ・・・(11)
 なお、画素値A,B,C,D,I,J,K,Lが全て”unavailable” である時、128を予測画素値として用いる。
 モード3はDiagonal_Down_Left Predictionであり、画素値A,B,C,D,I,J,K,L,Mが”available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(12)のように生成される。
 画素aの予測画素値         = (A+2B+C+2) >> 2
 画素b,eの予測画素値       = (B+2C+D+2) >> 2
 画素c,f,iの予測画素値     = (C+2D+E+2) >> 2
 画素d,g,j,mの予測画素値   = (D+2E+F+2) >> 2
 画素h,k,nの予測画素値     = (E+2F+G+2) >> 2
 画素l,oの予測画素値       = (F+2G+H+2) >> 2
 画素pの予測画素値         = (G+3H+2)   >> 2
                           ・・・(12)
 モード4はDiagonal_Down_Right Predictionであり、画素値A,B,C,D,I,J,K,L,Mが ”available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(13)のように生成される。
 画素mの予測画素値         = (J+2K+L+2) >> 2
 画素i,nの予測画素値       = (I+2J+K+2) >> 2
 画素e,j,oの予測画素値     = (M+2I+J+2) >> 2
 画素a,f,k,pの予測画素値   = (A+2M+I+2) >> 2
 画素b,g,lの予測画素値     = (M+2A+B+2) >> 2
 画素c,hの予測画素値       = (A+2B+C+2) >> 2
 画素dの予測画素値         = (B+2C+D+2) >> 2
                           ・・・(13)
 モード5はDiagonal_Vertical_Right Predictionであり、画素値A,B,C,D,I,J,K,L,Mが”available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(14)のように生成される。
 画素a,jの予測画素値       = (M+A+1)    >> 1
 画素b,kの予測画素値       = (A+B+1)    >> 1
 画素c,lの予測画素値       = (B+C+1)    >> 1
 画素dの予測画素値         = (C+D+1)    >> 1
 画素e,nの予測画素値       = (I+2M+A+2) >> 2
 画素f,oの予測画素値       = (M+2A+B+2) >> 2
 画素g,pの予測画素値       = (A+2B+C+2) >> 2
 画素hの予測画素値         = (B+2C+D+2) >> 2
 画素iの予測画素値         = (M+2I+J+2) >> 2
 画素mの予測画素値         = (I+2J+K+2) >> 2
                           ・・・(14)
 モード6はHorizontal_Down Predictionであり、画素値A,B,C,D,I,J,K,L,Mが”available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(15)のように生成される。
 画素a,gの予測画素値       = (M+I+1)    >> 1
 画素b,hの予測画素値       = (I+2M+A+2) >> 2
 画素cの予測画素値         = (M+2A+B+2) >> 2
 画素dの予測画素値         = (A+2B+C+2) >> 2
 画素e,kの予測画素値       = (I+J+1)    >> 1
 画素f,lの予測画素値       = (M+2I+J+2) >> 2
 画素i,oの予測画素値       = (J+K+1)    >> 1
 画素j,pの予測画素値       = (I+2J+K+2) >> 2
 画素mの予測画素値         = (K+L+1)    >> 1
 画素nの予測画素値         = (J+2K+L+2) >> 2
                           ・・・(15)
 モード7は、Vertical_Left Predictionであり、画素値A,B,C,D,I,J,K,L,Mが”available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(16)のように生成される。
 画素aの予測画素値         = (A+B+1)    >> 1
 画素b,iの予測画素値       = (B+C+1)    >> 1
 画素c,jの予測画素値       = (C+D+1)    >> 1
 画素d,kの予測画素値       = (D+E+1)    >> 1
 画素lの予測画素値         = (E+F+1)    >> 1
 画素eの予測画素値         = (A+2B+C+2) >> 2
 画素f,mの予測画素値       = (B+2C+D+2) >> 2
 画素g,nの予測画素値       = (C+2D+E+2) >> 2
 画素h,oの予測画素値       = (D+2E+F+2) >> 2
 画素pの予測画素値         = (E+2F+G+2) >> 2
                           ・・・(16)
 モード8は、Horizontal_Up Predictionであり、画素値A,B,C,D,I,J,K,L,Mが”available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(17)のように生成される。
 画素aの予測画素値         = (I+J+1)    >> 1
 画素bの予測画素値         = (I+2J+K+2) >> 2
 画素c,eの予測画素値       = (J+K+1)    >> 1
 画素d,fの予測画素値       = (J+2K+L+2) >> 2
 画素g,iの予測画素値       = (K+L+1)    >> 1
 画素h,jの予測画素値       = (K+3L+2)   >> 2
 画素k,l,m,n,o,pの予測画素値 = L
                           ・・・(17)
 次に、図19を参照して、輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)の符号化方式について説明する。図19の例において、4×4画素からなり、符号化対象となる対象ブロックCが示されており、対象ブロックCに隣接する4×4画素からなるブロックAおよびブロックBが示されている。
 この場合、対象ブロックCにおけるIntra_4x4_pred_modeと、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeとは高い相関があると考えられる。この相関性を用いて、次のように符号化処理を行うことにより、より高い符号化効率を実現することができる。
 すなわち、図19の例において、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeを、それぞれ、Intra_4x4_pred_modeAおよびIntra_4x4_pred_modeBとして、MostProbableModeを次の式(18)と定義する。
 MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
                           ・・・(18)
 すなわち、ブロックAおよびブロックBのうち、より小さなmode_numberを割り当てられている方をMostProbableModeとする。
 ビットストリーム中には、対象ブロックCに対するパラメータとして、prev_intra4x4_pred_mode_flag[luma4x4BlkIdx] および rem_intra4x4_pred_mode[luma4x4BlkIdx] という2つの値が定義されており、次の式(19)に示される擬似コードに基づく処理により、復号処理が行われ、対象ブロックCに対するIntra_4x4_pred_mode、Intra4x4PredMode[luma4x4BlkIdx] の値を得ることができる。
 if(prev_intra4x4_pred_mode_flag[luma4x4BlkIdx])
       Intra4x4PredMode[luma4x4BlkIdx] = MostProbableMode
 else
  if(rem_intra4x4_pred_mode[luma4x4BlkIdx] < MostProbableMode)
   Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
    else
   Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx] + 1
                           ・・・(19)
 次に、16×16画素のイントラ予測モードについて説明する。図20および図21は、4種類の輝度信号の16×16画素のイントラ予測モード(Intra_16x16_pred_mode)を示す図である。
 4種類のイントラ予測モードについて、図22を参照して説明する。図22の例において、イントラ処理される対象マクロブロックAが示されており、P(x,y);x,y=-1,0,…,15は、対象マクロブロックAに隣接する画素の画素値を表している。
 モード0は、Vertical Predictionであり、P(x,-1); x,y=-1,0,…,15が ”available” である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(20)のように生成される。
 Pred(x,y) = P(x,-1);x,y=0,…,15
                           ・・・(20)
 モード1はHorizontal Predictionであり、P(-1,y); x,y=-1,0,…,15が ”available” である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(21)のように生成される。
 Pred(x,y) = P(-1,y);x,y=0,…,15
                           ・・・(21)
 モード2はDC Predictionであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て ”available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(22)のように生成される。
Figure JPOXMLDOC01-appb-M000005
 また、P(x,-1); x,y=-1,0,…,15が ”unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(23)のように生成される。
Figure JPOXMLDOC01-appb-M000006
 P(-1,y); x,y=-1,0,…,15が ”unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(24)のように生成される。
Figure JPOXMLDOC01-appb-M000007
 P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て ”unavailable” である場合には、予測画素値として128を用いる。
 モード3はPlane Predictionであり、P(x,-1)及びP(-1,y); x,y=-1,0,…,15が全て ”available” の場合のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(25)のように生成される。
Figure JPOXMLDOC01-appb-M000008
 次に、色差信号に対するイントラ予測モードについて説明する。図23は、4種類の色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。色差信号に対するイントラ予測モードは、上述した輝度信号の16×16画素のイントラ予測モードに順ずる。
 ただし、輝度信号の16×16画素のイントラ予測モードが、16×16画素のブロックを対象としているのに対し、色差信号に対するイントラ予測モードは、8×8画素のブロックを対象としている。さらに、上述した図20と図23に示されるように、両者においてモード番号は対応していない。
 ここで、図22を参照して上述した輝度信号の16×16画素のイントラ予測モードの対象マクロブロックAの画素値および隣接する画素値の定義に準じる。例えば、イントラ処理される対象マクロブロックA(色差信号の場合は、8×8画素)に隣接する画素の画素値をP(x,y);x,y=-1,0,…,7とする。
 モード0はDC Predictionであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,7が全て ”available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(26)のように生成される。
Figure JPOXMLDOC01-appb-M000009
 また、P(-1,y) ; x,y=-1,0,…,7が ”unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(27)のように生成される。
Figure JPOXMLDOC01-appb-M000010
 また、P(x,-1) ; x,y=-1,0,…,7が ”unavailable”である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(28)のように生成される。
Figure JPOXMLDOC01-appb-M000011
 モード1はHorizontal Predictionであり、P(-1,y) ; x,y=-1,0,…,7が ”available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(29)のように生成される。
 Pred(x,y) = P(-1,y);x,y=0,…,7
                           ・・・(29)
 モード2はVertical Predictionであり、P(x,-1) ; x,y=-1,0,…,7が ”available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(28)のように生成される。
 Pred(x,y) = P(x,-1);x,y=0,…,7
                           ・・・(30)
 モード3はPlane Predictionであり、P(x,-1)及びP(-1,y) ; x,y=-1,0,…,7 が ”available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(31)のように生成される。
Figure JPOXMLDOC01-appb-M000012
 以上のように、輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。また、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
 輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
 なお、予測モードの種類は、上述した図17の番号0,1,3乃至8で示される方向に対応している。予測モード2は平均値予測である。
[イントラ予測処理の説明]
 次に、これらの予測モードに対して行われる処理である、図13のステップS31におけるイントラ予測処理を図24のフローチャートを参照して説明する。なお、図24の例においては、輝度信号の場合を例として説明する。
 イントラ予測部24は、ステップS41において、上述した輝度信号の4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。
 例えば、4×4画素のイントラ予測モードの場合について、上述した図18を参照して説明する。画面並べ替えバッファ12から読み出された処理対象の画像(例えば、画素a乃至p)がイントラ処理されるブロックの画像である場合、参照される復号済みの画像(画素値A乃至Mが示される画素)がフレームメモリ22から読み出され、スイッチ23を介してイントラ予測部24に供給される。
 これらの画像に基づいて、イントラ予測部24は、処理対象のブロックの画素をイントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素(画素値A乃至Mが示される画素)としては、デブロックフィルタ21によりデブロックフィルタリングされていない画素が用いられる。
 イントラ予測部24は、ステップS42において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められている。
 すなわち、High Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、仮に符号化処理までが行われる。そして、次の式(32)で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
 Cost(Mode) = D + λ・R               ・・・(32)
 Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
 一方、Low Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報、フラグ情報などのヘッダビットまでが算出される。そして、次の式(33)で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
 Cost(Mode) = D + QPtoQuant(QP)・Header_Bit     ・・・(33)
 Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
 Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
 イントラ予測部24は、ステップS43において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ4×4予測モードおよびイントラ8×8予測モードの場合には、予測モードの種類が9種類あり、イントラ16×16予測モードの場合には、予測モードの種類が4種類ある。したがって、イントラ予測部24は、ステップS42において算出されたコスト関数値に基づいて、それらの中から、最適イントラ4×4予測モード、最適イントラ8×8予測モード、最適イントラ16×16予測モードを決定する。
 イントラ予測部24は、ステップS44において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップS42において算出されたコスト関数値に基づいて、1つのイントラ予測モードを選択する。すなわち、4×4画素、8×8画素、および16×16画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを1つ選択する。
[インター動き予測処理の説明]
 次に、図25のフローチャートを参照して、図13のステップS32のインター動き予測処理について説明する。
 動き予測・補償部26は、ステップS51において、図3を参照して上述した16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
 動き予測・補償部26は、ステップS52において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS51で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
 動き予測・補償部26は、ステップS53において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。このとき、図6を参照して上述した動きベクトルの生成方法が用いられて、動きベクトル情報が生成される。
 生成された動きベクトル情報は、次のステップS54におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部29により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部16へ出力される。
 動き予測・補償部26は、ステップS54において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(32)または式(33)で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図13のステップS36で最適インター予測モードを決定する際に用いられる。
[イントラテンプレート動き予測処理の説明]
 次に、図26のフローチャートを参照して、図13のステップS33のイントラテンプレート動き予測処理について説明する。
 ブロックアドレス算出部41は、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスを算出し、算出したアドレスの情報を、テンプレート画素設定部28に供給する。
 ブロックアドレス算出部41からのアドレスの情報に基づいて、テンプレート画素設定部28は、ステップS61において、イントラテンプレート予測モードの対象ブロックに対して、テンプレート画素設定処理を行う。このテンプレート画素設定処理の詳細は、図30を参照して後述する。この処理により、イントラテンプレート予測モードの対象ブロックに対するテンプレートを構成する画素が設定される。
 ステップS62において、動き予測部42と動き補償部43は、イントラテンプレート予測モードの動き予測、補償処理を行う。すなわち、動き予測部42には、画面並べ替えバッファ12から読み出されたイントラ予測する画像と、フレームメモリ22から供給される参照画像が入力される。また、動き予測部42には、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの情報が入力される。
 動き予測部42は、イントラ予測する画像と参照画像を用い、ステップS61の処理により設定された対象ブロックおよび参照ブロックのテンプレートの画素値を利用して、イントラテンプレート予測モードの動き予測を行う。このとき、算出された動きベクトルと参照画像は、動き補償部43に供給される。動き補償部43は、動き予測部42により算出された動きベクトルと参照画像を用いて、動き補償処理を行い、予測画像を生成する。
 そして、動き補償部43は、ステップS63において、イントラテンプレート予測モードに対して、上述した式(32)または式(33)で示されるコスト関数値を算出する。動き補償部43は、生成された予測画像と算出されたコスト関数値をイントラ予測部24に供給する。このコスト関数値は、上述した図13のステップS34で最適イントラ予測モードを決定する際に用いられる。
[イントラテンプレートマッチング方式の説明]
 図27は、イントラテンプレートマッチング方式を説明する図である。図27の例においては、図示せぬ符号化対象の対象フレーム上に、4×4画素のブロックAと、X×Y(=縦×横)画素からなる領域のうち、すでに符号化済みの画素だけで構成される所定の探索範囲Eが示されている。
 所定のブロックAには、これから符号化されようとしている対象ブロックaが示されている。所定のブロックAは、例えば、マクロブロックや、サブマクロブロックなどである。この対象ブロックaは、所定のブロックAを構成する2×2画素のブロックのうち、左上に位置するブロックである。対象ブロックaには、すでに符号化済みの画素で構成されるテンプレート領域bが隣接している。例えば、テンプレート領域bは、符号化処理をラスタスキャン順に行う場合には、図27に示されるように、対象ブロックaの左および上側に位置する領域であり、フレームメモリ22に復号画像が蓄積されている領域である。
 イントラTP動き予測・補償部25は、対象フレーム上の所定の探索範囲E内において、例えば、SAD(Sum of Absolute Difference) 等をコスト関数としてテンプレートマッチング処理を行う。そして、イントラTP動き予測・補償部25は、テンプレート領域bの画素値と相関が最も高くなる領域b’を探索する。イントラTP動き予測・補償部25は、探索された領域b’に対応するブロックa’を、対象ブロックaに対する予測画像として、対象ブロックaに対する動きベクトルを探索する。
 このように、イントラテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いている。したがって、所定の探索範囲Eを予め定めておくことにより、画像符号化装置1と後述する図32の画像復号装置101において同一の処理を行うことが可能である。すなわち、画像復号装置101においても、イントラTP動き予測・補償部122を構成することにより、対象サブブロックに対する動きベクトルの情報を画像復号装置101に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
 そして、さらに、画像符号化装置1と画像復号装置101においては、図8のA乃至図8のDなどを参照して上述したように、対象ブロックaのテンプレート領域bが、所定のブロックA内の位置(アドレス)に応じて、所定のブロックAの隣接画素の中から設定される。すなわち、対象ブロックaのテンプレート領域bは、対象ブロックaの隣接画素だけで構成するのではなく、対象ブロックaの所定のブロックA内の位置(アドレス)に応じて、所定のブロックAの隣接画素の中から設定された画素で構成される。
 例えば、図27に示されるように、対象ブロックaが所定のブロックA内の左上に位置している場合は、従来と変わらず、対象ブロックaに隣接する画素がテンプレート領域bとして用いられる。
 これに対して、対象ブロックaが所定のブロックA内の右上、左下、または右下に位置する場合において、従来のテンプレート領域bに、所定のブロックAを構成するいずれかのブロックの画素が含まれることがある。この場合、対象ブロックaの隣接画素のうち、所定のブロックAを構成するいずれかのブロックに含まれる画素に代わって、所定のブロックAの隣接画素がテンプレート領域bの一部として設定される。これにより、所定のブロックA内において、各ブロックの処理を、パイプライン処理や並列処理で実現することが可能になり、処理効率を向上させることができる。
 なお、図27において、対象サブブロックが2×2画素の場合を説明したが、これに限らず、任意の大きさのサブブロックに適用が可能であり、イントラテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、イントラ予測部24と同様に、各イントラ予測モードのブロックサイズを候補としてイントラテンプレート予測モードを行うこともできるし、1つの予測モードのブロックサイズに固定して行うこともできる。対象となるブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
[インターテンプレート動き予測処理の説明]
 次に、図28のフローチャートを参照して、図13のステップS35のインターテンプレート動き予測処理について説明する。
 ブロックアドレス算出部51は、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスを算出し、算出したアドレスの情報を、テンプレート画素設定部28に供給する。
 ブロックアドレス算出部51からのアドレスの情報に基づいて、テンプレート画素設定部28は、ステップS71において、インターテンプレート予測モードの対象ブロックに対して、テンプレート画素設定処理を行う。このテンプレート画素設定処理の詳細は、図30を参照して後述する。この処理により、インターテンプレート予測モードの対象ブロックに対するテンプレートを構成する画素が設定される。
 ステップS72において、動き予測部52と動き補償部53は、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、動き予測部52には、画面並べ替えバッファ12から読み出されたインター予測する画像と、フレームメモリ22から供給される参照画像が入力される。また、動き予測部52には、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの情報が入力される。
 動き予測部52は、インター予測する画像と参照画像を用い、ステップS71の処理により設定された対象ブロックおよび参照ブロックのテンプレートの画素値を利用して、インターテンプレート予測モードの動き予測を行う。このとき、算出された動きベクトルと参照画像は、動き補償部53に供給される。動き補償部53は、動き予測部52により算出された動きベクトルと参照画像を用いて、動き補償処理を行い、予測画像を生成する。
 そして、動き補償部53は、ステップS73において、インターテンプレート予測モードに対して、上述した式(32)または式(33)で示されるコスト関数値を算出する。動き補償部53は、生成された予測画像と算出されたコスト関数値を、動き予測・補償部26に供給する。このコスト関数値は、上述した図13のステップS36で最適インター予測モードを決定する際に用いられる。
[インターテンプレートマッチング方式の説明]
 図29は、インターテンプレートマッチング方式を説明する図である。
 図29の例においては、符号化対象の対象フレーム(ピクチャ)と、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックAと、対象ブロックAに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Bが示されている。例えば、テンプレート領域Bは、符号化処理をラスタスキャン順に行う場合には、図29に示されるように、対象ブロックAの左および上側に位置する領域であり、フレームメモリ22に復号画像が蓄積されている領域である。
 インターTP動き予測・補償部27は、参照フレーム上の所定の探索範囲E内において、例えば、SAD 等をコスト関数としてテンプレートマッチング処理を行い、テンプレート領域Bの画素値と相関が最も高くなる領域B’を探索する。そして、インターTP動き予測・補償部27は、探索された領域B’に対応するブロックA’を、対象ブロックAに対する予測画像として、対象ブロックAに対する動きベクトルPを探索する。
 このように、インターテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いている。これにより、所定の探索範囲Eを予め定めておくことにより、画像符号化装置1と画像復号装置101において同一の処理を行うことが可能である。すなわち、画像復号装置101においても、インターTP動き予測・補償部124を構成することにより、対象ブロックAに対する動きベクトルPの情報を画像復号装置101に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
 そして、さらに、画像符号化装置1と画像復号装置101においては、対象ブロックAが所定のブロックを構成するブロックである場合、このテンプレート領域Bは、所定のブロック内の位置(アドレス)に応じて、所定のブロックの隣接画素の中から設定される。なお、所定のブロックとは、例えば、マクロブロックや、サブマクロブロックなどである。
 図8のA乃至図8のDなどを参照して上述したように、例えば、対象ブロックAが所定のブロック内の左上に位置している場合は、従来と変わらず、対象ブロックAに隣接する画素がテンプレート領域Bとして用いられる。
 これに対して、対象ブロックAが所定のブロック内の右上、左下、または右下に位置する場合において、従来のテンプレート領域Bに、所定のブロックを構成するいずれかのブロックの画素が含まれることがある。この場合、対象ブロックAの隣接画素のうち、所定のブロックを構成するいずれかのブロックに含まれる画素に代わって、所定のブロックの隣接画素がテンプレート領域Bの一部として設定される。これにより、所定のブロック内における各ブロックの処理を、パイプライン処理や並列処理で実現することが可能になり、処理効率を向上させることができる。
 なお、インターテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、動き予測・補償部26と同様に、図3で上述した16×16画素乃至4×4画素からなる8種類のブロックサイズから、1つのブロックサイズを固定して行うこともできるし、すべてのブロックサイズを候補として行うこともできる。ブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
[テンプレート画素設定処理の説明]
 次に、図30のフローチャートを参照して、図26のステップS61または図28のステップS71のテンプレート画素設定処理について説明する。この処理は、対象ブロックTP設定部62および参照ブロックTP設定部63により、対象ブロックおよび参照ブロックに対して、それぞれ実行される処理であるが、図30の例においては、対象ブロックTP設定部62の場合を説明する。
 なお、図30の例においては、例えば、テンプレートを、上部テンプレート、左上部テンプレート、および左部テンプレートに分けて説明する。上部テンプレートは、テンプレートのうち、ブロックまたはマクロブロックなどに対して上に隣接する部分である。左上部テンプレートは、テンプレートのうち、ブロックまたはマクロブロックなどに対して左上に隣接する部分である。左部テンプレートは、テンプレートのうち、ブロックまたはマクロブロックなどに対して左に隣接する部分である。
 ブロックアドレス算出部41またはブロックアドレス算出部51から、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスの情報がブロック分類部61に供給される。
 ブロック分類部61は、対象ブロックが、そのマクロブロック内の左上のブロック、右上のブロック、左下のブロック、または右下のブロックのどのブロックであるかを分類する。すなわち、対象ブロックが、図8のA乃至図8のDのブロックB0、ブロックB1、ブロックB2のどのブロックであるかが分類される。そして、ブロック分類部61は、対象ブロックがどのブロックであるかという情報を、対象ブロックTP設定部62に供給する。
 対象ブロックTP設定部62は、ブロック分類部61からの情報を基に、ステップS81において、対象ブロックのマクロブロック内での位置が、左上、右上、左下のうちのどれかであるか否かを判定する。ステップS81において、対象ブロックのマクロブロック内での位置が、左上、右上、左下のうちのどれかであると判定された場合、対象ブロックTP設定部62は、ステップS82において、左上部テンプレートとして、対象ブロックに隣接した画素を用いる。
 すなわち、対象ブロックのマクロブロック内での位置が左上(図8のAのブロックB0)である場合、左上部テンプレートとして、ブロックB0の左上部に隣接した画素LUB0が用いられる。対象ブロックのマクロブロック内での位置が右上(図8のBのブロックB1)である場合、左上部テンプレートとして、ブロックB1の上部に隣接した画素LUB1が用いられる。対象ブロックのマクロブロック内での位置が左下(図8のCのブロックB2)である場合、左上部テンプレートとして、ブロックB2の上部に隣接した画素LUB2が用いられる。
 ステップS81において、対象ブロックのマクロブロック内での位置が、左上、右上、左下のうちのどれでもないと判定された場合、対象ブロックTP設定部62は、ステップS83において、左上部テンプレートとして、マクロブロックに隣接した画素を用いる。すなわち、対象ブロックのマクロブロック内での位置が右下(図8のDのブロックB3)である場合、左上部テンプレートとして、マクロブロック(具体的には、図8のDのブロックB1の左上部)に隣接した画素LUB1が用いられる。
 次に、対象ブロックTP設定部62は、ステップS84において、対象ブロックのマクロブロック内での位置が、左上または右上のどちらかであるか否かを判定する。ステップS84において、対象ブロックのマクロブロック内での位置が、左上または右上のどちらかであると判定された場合、対象ブロックTP設定部62は、ステップS85において、上部テンプレートとして、対象ブロックに隣接した画素を用いる。
 すなわち、対象ブロックのマクロブロック内での位置が左上(図8のAのブロックB0)である場合、上部テンプレートとして、ブロックB0の左上部に隣接した画素UB0が用いられる。対象ブロックのマクロブロック内での位置が右上(図8のBのブロックB1)である場合、上部テンプレートとして、ブロックB1の上部に隣接した画素UB1が用いられる。
 ステップS84において、対象ブロックのマクロブロック内での位置が、左上または右上のどちらでもないと判定された場合、対象ブロックTP設定部62は、ステップS86において、上部テンプレートとして、マクロブロックに隣接した画素を用いる。
 すなわち、対象ブロックのマクロブロック内での位置が左下(図8のCのブロックB2)である場合、上部テンプレートとして、マクロブロック(具体的には、図8のAのブロックB0の上部)に隣接した画素UB0が用いられる。対象ブロックのマクロブロック内での位置が右下(図8のDのブロックB3)である場合、上部テンプレートとして、マクロブロック(具体的には、図8のDのブロックB1の上部)に隣接した画素UB1が用いられる。
 対象ブロックTP設定部62は、ステップS87において、対象ブロックのマクロブロック内での位置が、左上または左下のどちらかであるか否かを判定する。ステップS87において、対象ブロックのマクロブロック内での位置が、左上または左下のどちらかであると判定された場合、対象ブロックTP設定部62は、ステップS88において、左部テンプレートとして、対象ブロックに隣接した画素を用いる。
 すなわち、対象ブロックのマクロブロック内での位置が左上(図8のAのブロックB0)である場合、左部テンプレートとして、ブロックB0の左部に隣接した画素LB0が用いられる。対象ブロックのマクロブロック内での位置が左下(図8のCのブロックB2)である場合、左部テンプレートとして、ブロックB2の左部に隣接した画素LB2が用いられる。
 ステップS87において、対象ブロックのマクロブロック内での位置が、左上または左下のどちらでもないと判定された場合、対象ブロックTP設定部62は、ステップS89において、左部テンプレートとして、マクロブロックに隣接した画素を用いる。
 すなわち、対象ブロックのマクロブロック内での位置が右上(図8のBのブロックB1)である場合、左部テンプレートとして、マクロブロック(具体的には、ブロックB0の左部)に隣接した画素LB0が用いられる。対象ブロックのマクロブロック内での位置が右下(図8のDのブロックB3)である場合、左部テンプレートとして、マクロブロック(具体的には、ブロックB2の左部)に隣接した画素LB2が用いられる。
 以上のように、対象ブロックのマクロブロック内の位置に応じて、テンプレートを構成する画素として、対象ブロックに隣接する画素を用いるか、そのマクロブロックに隣接する画素を用いるかを設定するようにした。これにより、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することになり、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になる。
[テンプレート画素設定による効果例]
 上述したテンプレート画素設定による効果について、図31のA乃至図31のCのタイミングチャートを参照して説明する。図31のA乃至図31のCの例においては、各ブロックに対して、<メモリ読み出し>、<動き予測>、<動き補償>、<復号処理>が順に行われる例が示されている。
 図31のAは、従来のテンプレートを利用した場合の処理のタイミングチャートを示している。図31のBは、テンプレート画素設定部28により設定されたテンプレートを利用した場合に可能なパイプライン処理のタイミングチャートを示している。図31のCは、テンプレート画素設定部28により設定されたテンプレートを利用した場合に可能な並列処理のタイミングチャートを示している。
 従来のテンプレートを利用する装置においては、上述した図8のBのブロックB1の処理を行う場合、ブロックB0の復号画素の画素値がテンプレートの一部として用いられるため、その画素値が生成されるのを待たなければならない。
 したがって、図31のAに示されるように、ブロックB0に対して、<メモリ読み出し>、<動き予測>、<動き補償>、<復号処理>が順に終了し、復号画素がメモリに書き込まれるまで、ブロックB1の<メモリ読み出し>ができない。すなわち、従来においては、ブロックB0とブロックB1の処理をパイプライン処理または並列処理で行うことが困難であった。
 これに対して、テンプレート画素設定部28により設定されたテンプレートを利用した場合には、ブロックB1のテンプレートとして、ブロックB0の復号画素の代わりに、ブロックB0(マクロブロックMB)の左部に隣接する画素LB0が用いられる。
 これにより、ブロックB1の処理を行う際に、ブロックB0の復号画素の生成を待つ必要がない。したがって、例えば、図31のBに示されるように、ブロックB0に対して、<メモリ読み出し>、<動き予測>、<動き補償>が順に終了した後、ブロックB0に対しての<復号処理>と並行して、ブロックB1に対しての<メモリ読み出し>を行うことができる。すなわち、ブロックB0とブロックB1の処理を、パイプライン処理で行うことができる。
 あるいは、図31のCに示されるように、ブロックB0に対しての<メモリ読み出し>と並行して、ブロックB1に対しての<メモリ読み出し>を行い、ブロックB0に対しての<動き予測>と並行して、ブロックB1に対しての<動き予測>を行うことができる。ブロックB0に対しての<動き補償>と並行して、ブロックB1に対しての<動き補償>を行い、ブロックB0に対しての<復号処理>と並行して、ブロックB1に対しての<復号処理>を行うことができる。すなわち、ブロックB0とブロックB1の処理を、並行処理で行うことができる。
 以上により、マクロブロック内における処理効率を向上させることができる。なお、図31のA乃至図31のCの例においては、2つのブロックで並列またはパイプライン処理を行う例を説明したが、もちろん、3つのブロックでも、4つのブロックでも同様に並列またはパイプライン処理を行うことができる。
 符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
 図32は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
 画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、イントラ予測部121、イントラテンプレート動き予測・補償部122、動き予測・補償部123、インターテンプレート動き予測・補償部124、テンプレート画素設定部125、およびスイッチ126により構成されている。
 なお、以下、イントラテンプレート動き予測・補償部122およびインターテンプレート動き予測・補償部124を、それぞれ、イントラTP動き予測・補償部122およびインターTP動き予測・補償部124と称する。
 蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図2の可逆符号化部16により符号化された情報を、可逆符号化部16の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図2の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図2の直交変換部14の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
 逆直交変換された出力は演算部115によりスイッチ126から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
 画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図2の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 スイッチ120は、インター処理される画像と参照される画像をフレームメモリ119から読み出し、動き予測・補償部123に出力するとともに、イントラ予測に用いられる画像をフレームメモリ119から読み出し、イントラ予測部121に供給する。
 イントラ予測部121には、ヘッダ情報を復号して得られたイントラ予測モードまたはイントラテンプレート予測モードを示す情報が可逆復号部112から供給される。イントラ予測モードを示す情報が供給された場合、イントラ予測部121は、この情報に基づいて、予測画像を生成する。イントラテンプレート予測モードを示す情報が供給された場合、イントラ予測部121は、イントラ予測に用いられる画像をイントラTP動き予測・補償部122に供給し、イントラテンプレート予測モードでの動き予測・補償処理を行わせる。
 イントラ予測部121は、生成した予測画像またはイントラTP動き予測・補償部122により生成された予測画像を、スイッチ126に出力する。
 イントラTP動き予測・補償部122は、図2のイントラTP動き予測・補償部25と同様のイントラテンプレート予測モードの動き予測と補償処理を行う。すなわち、イントラTP動き予測・補償部122は、フレームメモリ119からの画像を用い、イントラテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。このとき、イントラTP動き予測・補償部122においては、テンプレートとして、テンプレート画素設定部125により設定された画素からなるテンプレートが利用される。
 イントラテンプレート予測モードの動き予測・補償により生成された予測画像は、イントラ予測部121に供給される。
 動き予測・補償部123には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報)が可逆復号部112から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部123は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。インター予測モードである情報が供給された場合、動き予測・補償部123は、フレームメモリ119から読み出されたインター符号化が行われる画像と参照される画像をインターTP動き予測・補償部124に供給する。
 インターTP動き予測・補償部124は、図2のインターTP動き予測・補償部27と同様のインターテンプレート予測モードの動き予測と補償処理を行う。すなわち、すなわち、インターTP動き予測・補償部124は、フレームメモリ119からのインター符号化が行われる画像と参照される画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。このとき、インターTP動き予測・補償部124においては、テンプレートとして、テンプレート画素設定部125により設定された画素からなるテンプレートが利用される。
 インターテンプレート予測モードの動き予測・補償により生成された予測画像は、動き予測・補償部123に供給される。
 テンプレート画素設定部125は、イントラあるいはインターテンプレート予測モードの対象ブロックの動きベクトルを算出するためのテンプレートの画素を、対象ブロックのマクロブロック(またはサブマクロブロック)内でのアドレスに応じて設定する。設定したテンプレートの画素情報は、イントラTP動き予測・補償部122またはインターTP動き予測・補償部124に供給される。
 なお、イントラまたはインターテンプレート予測モードに関する処理を行うイントラTP動き予測・補償部122、インターTP動き予測・補償部124、およびテンプレート画素設定部125は、図2のイントラTP動き予測・補償部25、インターTP動き予測・補償部27、およびテンプレート画素設定部28と基本的に同様に構成される。したがって、イントラTP動き予測・補償部122、インターTP動き予測・補償部124、およびテンプレート画素設定部125の説明にも上述した図7に示した機能ブロックを用いる。
 すなわち、イントラTP動き予測・補償部122は、イントラTP動き予測・補償部25と同様に、ブロックアドレス算出部41、動き予測部42、および動き補償部43により構成される。インターTP動き予測・補償部124は、インターTP動き予測・補償部27と同様に、ブロックアドレス算出部51、動き予測部52、および動き補償部53により構成される。テンプレート画素設定部125は、テンプレート画素設定部28と同様に、ブロック分類部61、対象ブロックテンプレート設定部62、および参照ブロックテンプレート設定部63により構成される。
 スイッチ126は、動き予測・補償部123またはイントラ予測部121により生成された予測画像を選択し、演算部115に供給する。
[画像復号装置の復号処理の説明]
 次に、図33のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
 ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図2の可逆符号化部16により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、イントラテンプレート予測モード、インター予測モード、またはインターテンプレート予測モードを示す情報)も復号される。
 すなわち、予測モード情報がイントラ予測モード情報またはインターテンプレート予測モード情報である場合、予測モード情報は、イントラ予測部121に供給される。予測モード情報がインター予測モードまたはインターテンプレート予測モードである場合、予測モード情報は、動き予測・補償部123に供給される。その際、対応する動きベクトル情報や参照フレーム情報があれば、それも、動き予測・補償部123に供給される。
 ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図2の量子化部15の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図2の直交変換部14の特性に対応する特性で逆直交変換する。これにより図2の直交変換部14の入力(演算部13の出力)に対応する差分情報が復号されたことになる。
 ステップS135において、演算部115は、後述するステップS141の処理で選択され、スイッチ126を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
 ステップS138において、イントラ予測部121、イントラTP動き予測・補償部122、動き予測・補償部123、またはインターTP動き予測・補償部124は、可逆復号部112から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
 すなわち、可逆復号部112からイントラ予測モード情報が供給された場合、イントラ予測部121は、イントラ予測モードのイントラ予測処理を行う。可逆復号部112からイントラテンプレート予測モード情報が供給された場合、イントラTP動き予測・補償部122は、インターテンプレート予測モードの動き予測・補償処理を行う。また、可逆復号部112からインター予測モード情報が供給された場合、動き予測・補償部123は、インター予測モードの動き予測・補償処理を行う。可逆復号部112からインターテンプレート予測モード情報が供給された場合、インターTP動き予測・補償部124は、インターテンプレート予測モードの動き予測・補償処理を行う。
 ステップS138における予測処理の詳細は、図34を参照して後述される。この処理により、イントラ予測部121により生成された予測画像、イントラTP動き予測・補償部122により生成された予測画像、動き予測・補償部123により生成された予測画像、またはインターTP動き予測・補償部124により生成された予測画像がスイッチ126に供給される。
 ステップS139において、スイッチ126は予測画像を選択する。すなわち、イントラ予測部121により生成された予測画像、イントラTP動き予測・補償部122により生成された予測画像、動き予測・補償部123により生成された予測画像、またはインターTP動き予測・補償部124により生成された予測画像が供給される。したがって、そのうちの供給された予測画像が選択されて演算部115に供給され、上述したように、ステップS134において逆直交変換部114の出力と加算される。
 ステップS140において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置1の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS141において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[画像復号装置の予測処理の説明]
 次に、図34のフローチャートを参照して、図33のステップS138の予測処理を説明する。
 イントラ予測部121は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部112からイントラ予測モード情報またはイントラテンプレート予測モード情報がイントラ予測部121に供給される。これに対応して、イントラ予測部121は、ステップ171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。
 イントラ予測部121は、ステップS172において、イントラ予測モード情報またはイントラテンプレート予測モード情報を取得し、ステップS173において、イントラ予測モードであるか否かを判定する。ステップS173において、イントラ予測モードであると判定された場合、イントラ予測部121は、ステップS174において、イントラ予測を行う。
 すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介してイントラ予測部121に供給される。ステップS174において、イントラ予測部121は、ステップS172で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ126に出力される。
 一方、ステップS172において、イントラテンプレート予測モード情報が取得された場合、ステップS173において、イントラ予測モード情報ではないと判定され、処理は、ステップS175に進む。
 処理対象の画像がイントラテンプレート予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120およびイントラ予測部121を介してイントラTP動き予測・補償部122に供給される。また、ブロックアドレス算出部41は、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスを算出し、算出したアドレスの情報を、テンプレート画素値設定部125に供給する。
 ブロックアドレス算出部41からのアドレスの情報に基づいて、テンプレート画素値設定部125は、ステップS175において、イントラテンプレート予測モードの対象ブロックに対して、テンプレート画素設定処理を行う。このテンプレート画素設定処理の詳細は、図30を参照して上述した処理と基本的に同様な処理であるので、その説明は省略される。この処理により、イントラテンプレート予測モードの対象ブロックに対するテンプレートを構成する画素が設定される。
 ステップS176において、動き予測部42および動き補償部43は、イントラテンプレート予測モードの動き予測、補償処理を行う。すなわち、動き予測部42には、フレームメモリ119から必要な画像が入力される。また、動き予測部42には、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの情報が入力される。
 動き予測部42は、フレームメモリ119からの画像を用い、ステップS175の処理により設定された対象ブロックおよび参照ブロックのテンプレートの画素値を利用して、イントラテンプレート予測モードの動き予測を行う。このとき、算出された動きベクトルと参照画像は、動き補償部43に供給される。動き補償部43は、動き予測部42により算出された動きベクトルと参照画像を用いて、動き補償処理を行い、予測画像を生成する。生成した予測画像は、イントラ予測部121を介して、スイッチ126に出力される。
 一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS177に進む。ステップS177において、動き予測・補償部123は、可逆復号部112からの予測モード情報などを取得する。
 処理対象の画像がインター処理される画像である場合、可逆復号部112からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部123に供給される。この場合、ステップS177において、動き予測・補償部123は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
 そして、動き予測・補償部123は、ステップS178において、可逆復号部112からの予測モード情報が、インター予測モード情報であるか否かを判定する。ステップS178において、インター予測モード情報であると判定された場合、処理は、ステップS179に進む。
 動き予測・補償部123は、ステップS179において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介して動き予測・補償部123に供給される。ステップS179において動き予測・補償部123は、ステップS177で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ126に出力される。
 一方、ステップS177において、インターテンプレート予測モード情報が取得された場合、ステップS178において、インター予測モード情報ではないと判定され、処理は、ステップS180に進む。
 処理対象の画像がインターテンプレート予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120および動き予測・補償部123を介してインターTP動き予測・補償部124に供給される。また、ブロックアドレス算出部51は、符号化対象の対象ブロックの、そのマクロブロック内におけるアドレスを算出し、算出したアドレスの情報を、テンプレート画素値設定部125に供給する。
 ブロックアドレス算出部51からのアドレスの情報に基づいて、テンプレート画素値設定部125は、ステップS180において、インターテンプレート予測モードの対象ブロックに対して、テンプレート画素設定処理を行う。このテンプレート画素設定処理の詳細は、図30を参照して上述した処理と基本的に同様な処理であるので、その説明は省略される。この処理により、インターテンプレート予測モードの対象ブロックに対するテンプレートを構成する画素が設定される。
 ステップS181において、動き予測部52と動き補償部53は、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、動き予測部52には、フレームメモリ119から必要な画像が入力される。また、動き予測部52には、対象ブロックTP設定部62および参照ブロックTP設定部63により設定された対象ブロックおよび参照ブロックのテンプレートの情報が入力される。
 動き予測部52は、入力された画像を用い、ステップS180の処理により設定された対象ブロックおよび参照ブロックのテンプレートの画素値を利用して、インターテンプレート予測モードの動き予測を行う。このとき、算出された動きベクトルと参照画像は、動き補償部53に供給される。動き補償部53は、動き予測部52により算出された動きベクトルと参照画像を用いて、動き補償処理を行い、予測画像を生成する。生成した予測画像は、動き予測・補償部123を介して、スイッチ126に出力される。
 以上のように、テンプレートを構成する画素として、常に、対象ブロックのマクロブロック(サブマクロブロック)に隣接する画素を利用するようにした。これにより、マクロブロック(サブマクロブロック)内の各ブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になる。したがって、テンプレート予測モードにおける予測効率を向上することができる。
 なお、上記説明においては、テンプレート予測モードの処理対象のブロックサイズが、8×8画素の場合と4×4画素の場合について説明したが、本発明の適用範囲は、これに限らない。
 すなわち、ブロックサイズが16×8画素または8×16画素の場合については、図8のA乃至図8のDを参照して上述した例と同様の処理を行うことで、マクロブロック内において、並列処理またはパイプライン処理を行うことができる。また、ブロックサイズが8×4画素または4×8画素の場合については、図10のA乃至図10のEを参照して上述した例と同様の処理を行うことで、8×8画素のサブマクロブロック内において、並列処理またはパイプライン処理を行うことができる。さらに、ブロックサイズが2×2画素、2×4画素、および4×2の場合については、4×4画素のブロック内で同様の処理を行うことで、4×4画素のブロック内において、並列処理またはパイプライン処理を行うことができる。
 なお、上記すべての場合、参照ブロックにおけるテンプレートは、対象ブロックにおけるそれと同一の相対位置におけるものが用いられる。また、本発明は、輝度信号のみならず、色差信号に対しても適用することができる。
 さらに、上記説明においては、マクロブロック内の処理をラスタスキャン順に行う例を説明したが、マクロブロック内の処理順はラスタスキャン順以外であってもよい。
 なお、上記説明においては、マクロブロックの大きさが、16×16画素の場合について説明してきたが、本発明は、”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
 図35は、拡張されたマクロブロックサイズの例を示す図である。上記記載では、マクロブロックサイズが32×32画素に拡張されている。
 図35の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図35の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図35の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
 すなわち、32×32画素のマクロブロックは、図35の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
 また、上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
 さらに、中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
 このような階層構造を採用することにより、拡張されたマクロブロックサイズにおいては、16×16画素のブロック以下に関してH.264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
 以上のように提案される拡張されたマクロブロックサイズにも本発明を適用することができる。
 以上においては、符号化方式としてH.264/AVC方式を用いるようにしたが、その他の符号化方式/復号方式を用いることもできる。
 なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図36は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203は、バス204により相互に接続されている。バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、およびドライブ210が接続されている。
 入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
 以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを入出力インタフェース205及びバス204を介してRAM203にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置1や画像復号装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
 図37は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図37に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
 地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
 映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
 グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
 パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
 表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
 地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
 音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
 音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
 音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
 さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
 デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
 テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した画像復号装置101を用いる。したがって、MPEGデコーダ317は、画像復号装置101の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
 MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
 また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
 音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
 ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
 音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
 受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
 CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
 USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機300は、MPEGデコーダ317として画像復号装置101を用いることにより、マクロブロック内における処理効率を向上させることができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、スムーズに表示することができる。
 図38は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図38に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
 また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
 電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
 携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
 また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
 なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
 携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した画像符号化装置1を用いる。したがって、画像エンコーダ453は、画像符号化装置1の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
 携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
 携帯電話機400は、このような処理を行う画像デコーダ456として、上述した画像復号装置101を用いる。したがって、画像デコーダ456は、画像復号装置101の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
 携帯電話機400は、画像エンコーダ453として画像符号化装置1を用いることにより、例えばCCDカメラ416において生成された画像データを符号化して生成する符号化データの符号化効率を向上させるとともに、マクロブロック内における処理効率を向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、スムーズに他の装置に提供することができる。
 また、携帯電話機400は、画像デコーダ456として画像復号装置101を用いることにより、マクロブロック内における処理効率を向上させ、精度の高い予測画像を生成することができる。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、スムーズに表示することができる。
 なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、画像符号化装置1および画像復号装置101を適用することができる。
 図39は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図39に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
 ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図39に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
 また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
 受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
 通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
 オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
 ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換する。ディスプレイコンバータ530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
 ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
 モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
 レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
 以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして画像復号装置101を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置101の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 したがって、ハードディスクレコーダ500は、処理効率を向上させて、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、スムーズにモニタ560に表示させることができる。
 また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置1を用いる。したがって、エンコーダ551は、画像符号化装置1の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 したがって、ハードディスクレコーダ500は、例えば、処理効率を向上させて、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、高速に、ハードディスクの記憶領域をより効率よく使用することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置1および画像復号装置101を適用することができる。
 図40は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
 図40に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
 レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
 カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
 以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
 デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
 コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
 さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
 記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
 さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
 以上のようなカメラ600は、デコーダ615として画像復号装置101を用いる。したがって、デコーダ615は、画像復号装置101の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 したがって、カメラ600は、処理効率を向上させて、スムーズに精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616にスムーズに表示させることができる。
 また、カメラ600は、エンコーダ641として画像符号化装置1を用いる。したがって、エンコーダ641は、画像符号化装置1の場合と同様に、常に、対象ブロックのマクロブロックに隣接する画素をテンプレートとして利用することができる。これにより、マクロブロック内のブロックに対する処理を、並列処理またはパイプライン処理により実現することが可能になり、マクロブロック内における処理効率を向上させることができる。
 したがって、カメラ600は、例えば、処理効率を向上させて、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、高速に、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
 なお、コントローラ621が行う復号処理に画像復号装置101の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置1の符号化方法を適用するようにしてもよい。
 また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置1および画像復号装置101は、上述した装置以外の装置やシステムにも適用可能である。
 1 画像符号化装置, 16 可逆符号化部, 24 イントラ予測部, 25 イントラテンプレート動き予測・補償部, 26 動き予測・補償部, 27 インターテンプレート動き予測・補償部, 28 テンプレート画素設定部, 41 ブロックアドレス算出部, 42 動き予測部, 43 動き補償部, 51 ブロックアドレス算出部, 52 動き予測部, 53 動き補償部, 61 ブロック分類部, 62 対象ブロックテンプレート設定部,63 参照ブロックテンプレート設定部, 101 画像復号装置, 112 可逆復号部, 121 イントラ予測部, 122 イントラテンプレート動き予測・補償部, 123 動き予測・補償部, 124 インターテンプレート動き予測・補償部, 125 テンプレート画素設定部, 126 スイッチ

Claims (17)

  1.  画像の所定のブロックを構成するブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのうちのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定するテンプレート画素設定手段と、
     前記テンプレート画素設定手段により設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出するテンプレート動き予測補償手段と
     を備える画像処理装置。
  2.  前記テンプレート動き予測補償手段により算出された前記動きベクトルを利用して、前記ブロックを符号化する符号化手段
     をさらに備える請求項1に記載の画像処理装置。
  3.  前記テンプレート画素設定手段は、前記所定のブロックにおいて左上に位置する左上ブロックに対しては、前記左上ブロックの左部、上部、および左上部に隣接する画素を前記テンプレートとして設定する
     請求項1に記載の画像処理装置。
  4.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右上に位置する右上ブロックに対しては、前記右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの左部に隣接する画素とを前記テンプレートとして設定する
     請求項1に記載の画像処理装置。
  5.  前記テンプレート画素設定手段は、前記所定のブロックにおいて左下に位置する左下ブロックに対しては、前記左下ブロックの左上部および左部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの上部に隣接する画素とを前記テンプレートとして設定する
     請求項1に記載の画像処理装置。
  6.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて左上に位置する左上ブロックの左上部に隣接する画素と、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定する
     請求項1に記載の画像処理装置。
  7.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定する
     請求項1に記載の画像処理装置。
  8.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左上部および左部に隣接する画素とを前記テンプレートとして設定する
     請求項1に記載の画像処理装置。
  9.  画像処理装置が、
     画像の所定のブロックを構成するブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定し、
     設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出するステップ
     を含む画像処理方法。
  10.  符号化されているブロックの画像を復号する復号手段と、
     画像の所定のブロックを構成する前記ブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定するテンプレート画素設定手段と、
     前記テンプレート画素設定手段により設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出するテンプレート動き予測手段と
     前記復号手段により復号された前記画像と、前記テンプレート動き予測手段により算出された前記動きベクトルを用いて、前記ブロックの予測画像を生成する動き補償手段と
     を備える画像処理装置。
  11.  前記テンプレート画素設定手段は、前記所定のブロックにおいて左上に位置する左上ブロックに対しては、前記左上ブロックの左部、上部、および左上部に隣接する画素を前記テンプレートとして設定する
     請求項10に記載の画像処理装置。
  12.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右上に位置する右上ブロックに対しては、前記右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの左部に隣接する画素とを前記テンプレートとして設定する
     請求項10に記載の画像処理装置。
  13.  前記テンプレート画素設定手段は、前記所定のブロックにおいて左下に位置する左下ブロックに対しては、前記左下ブロックの左上部および左部に隣接する画素と、前記所定のブロックにおいて左上に位置する左上ブロックの上部に隣接する画素とを前記テンプレートとして設定する
     請求項10に記載の画像処理装置。
  14.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて左上に位置する左上ブロックの左上部に隣接する画素と、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定する
     請求項10に記載の画像処理装置。
  15.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部および左上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左部に隣接する画素とを前記テンプレートとして設定する
     請求項10に記載の画像処理装置。
  16.  前記テンプレート画素設定手段は、前記所定のブロックにおいて右下に位置する右下ブロックに対しては、前記所定のブロックにおいて右上に位置する右上ブロックの上部に隣接する画素と、前記所定のブロックにおいて左下に位置する左下ブロックの左上部および左部に隣接する画素とを前記テンプレートとして設定する
     請求項10に記載の画像処理装置。
  17.  画像処理装置が、
     符号化されているブロックの画像を復号し、
     画像の所定のブロックを構成する前記ブロックの動きベクトルの算出に用いられるテンプレートの画素を、前記ブロックのいずれかに対して所定の位置関係で隣接するとともに復号画像から生成される画素の中から、前記所定のブロック内における前記ブロックのアドレスに応じて設定し、
     設定された前記画素からなる前記テンプレートを利用して、前記ブロックの動きベクトルを算出し、
     復号された前記画像と、算出された前記動きベクトルを用いて、前記ブロックの予測画像を生成するステップ
     を含む画像処理方法。
PCT/JP2010/052020 2009-02-20 2010-02-12 画像処理装置および方法 WO2010095560A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
BRPI1008507A BRPI1008507A2 (pt) 2009-02-20 2010-02-12 dispositivo e método de processamento de imagem
RU2011134049/07A RU2011134049A (ru) 2009-02-20 2010-02-12 Устройство и способ обработки изображений
CN2010800078928A CN102318346A (zh) 2009-02-20 2010-02-12 图像处理设备和方法
JP2011500576A JPWO2010095560A1 (ja) 2009-02-20 2010-02-12 画像処理装置および方法
US13/148,893 US20120044996A1 (en) 2009-02-20 2010-02-12 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009037466 2009-02-20
JP2009-037466 2009-02-20

Publications (1)

Publication Number Publication Date
WO2010095560A1 true WO2010095560A1 (ja) 2010-08-26

Family

ID=42633843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/052020 WO2010095560A1 (ja) 2009-02-20 2010-02-12 画像処理装置および方法

Country Status (7)

Country Link
US (1) US20120044996A1 (ja)
JP (1) JPWO2010095560A1 (ja)
CN (1) CN102318346A (ja)
BR (1) BRPI1008507A2 (ja)
RU (1) RU2011134049A (ja)
TW (1) TW201032600A (ja)
WO (1) WO2010095560A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015166639A1 (ja) * 2014-04-28 2015-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置および復号装置
WO2019187096A1 (ja) * 2018-03-30 2019-10-03 株式会社ソシオネクスト 復号方法、復号装置、符号化装置及びプログラム
JP2019213242A (ja) * 2014-04-28 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 符号化方法、復号方法、符号化装置および復号装置
JP2021514145A (ja) * 2018-02-15 2021-06-03 アリス エンタープライジズ エルエルシーArris Enterprises Llc テンプレートマッチングのための可変テンプレートサイズ
JP7337072B2 (ja) 2018-03-30 2023-09-01 ヴィド スケール インコーポレイテッド エンコーディングおよびデコーディングのレイテンシ低減に基づく、テンプレートによるインター予測技術

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129067A1 (ja) * 2010-04-13 2011-10-20 パナソニック株式会社 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路
US9380314B2 (en) * 2010-12-20 2016-06-28 Texas Instruments Incorporated Pixel retrieval for frame reconstruction
US9503724B2 (en) * 2012-05-14 2016-11-22 Qualcomm Incorporated Interleave block processing ordering for video data coding
US20130301713A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Systems and methods for intra prediction video coding
CN109891882B (zh) * 2016-12-26 2021-05-11 华为技术有限公司 一种基于模板匹配的编解码方法及装置
CN107331343B (zh) * 2017-07-07 2019-08-02 深圳市明微电子股份有限公司 一种显示屏及数据传输路径规划方法、分辨率拓展方法
CN108781298B (zh) * 2017-12-25 2021-05-25 深圳市大疆创新科技有限公司 编码器、图像处理系统、无人机及编码方法
JP7145793B2 (ja) * 2019-03-11 2022-10-03 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
WO2020253528A1 (en) * 2019-06-17 2020-12-24 Zhejiang Dahua Technology Co., Ltd. Systems and methods for predicting a coding block
CN118285103A (zh) * 2021-08-19 2024-07-02 联发科技(新加坡)私人有限公司 视频编解码系统中低延迟模板匹配的方法和装置
WO2024058637A1 (ko) * 2022-09-16 2024-03-21 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 이를 위한 장치
EP4346200A1 (en) * 2022-09-27 2024-04-03 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data
WO2024169971A1 (en) * 2023-02-14 2024-08-22 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2024169970A1 (en) * 2023-02-14 2024-08-22 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003023638A (ja) * 2001-07-06 2003-01-24 Mitsubishi Electric Corp 動きベクトル検出装置および動きベクトル検出装置における自己テスト方法
CN101218829A (zh) * 2005-07-05 2008-07-09 株式会社Ntt都科摩 动态图像编码装置、动态图像编码方法、动态图像编码程序、动态图像解码装置、动态图像解码方法以及动态图像解码程序
JP2008154015A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
CN101009834A (zh) * 2007-01-09 2007-08-01 中山大学 一种用于视频编码的混合运动估计方法
CN101170696B (zh) * 2007-11-26 2010-12-01 电子科技大学 一种运动估计方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEFFEN KAMP ET AL.: "Decoder side motion vector derivation for inter frame video coding", IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, ICIP '08, 12 October 2008 (2008-10-12), pages 1120 - 1123 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015166639A1 (ja) * 2014-04-28 2015-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置および復号装置
JPWO2015166639A1 (ja) * 2014-04-28 2017-04-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化方法、復号方法、符号化装置および復号装置
JP2019213242A (ja) * 2014-04-28 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 符号化方法、復号方法、符号化装置および復号装置
JP2021514145A (ja) * 2018-02-15 2021-06-03 アリス エンタープライジズ エルエルシーArris Enterprises Llc テンプレートマッチングのための可変テンプレートサイズ
JP7350757B2 (ja) 2018-02-15 2023-09-26 アリス エンタープライジズ エルエルシー テンプレートマッチングのための可変テンプレートサイズ
WO2019187096A1 (ja) * 2018-03-30 2019-10-03 株式会社ソシオネクスト 復号方法、復号装置、符号化装置及びプログラム
JPWO2019187096A1 (ja) * 2018-03-30 2021-04-08 株式会社ソシオネクスト 復号方法、復号装置、符号化装置及びプログラム
US11197011B2 (en) 2018-03-30 2021-12-07 Socionext Inc. Decoding method
JP7248013B2 (ja) 2018-03-30 2023-03-29 株式会社ソシオネクスト 復号方法、復号装置、符号化装置及びプログラム
JP7337072B2 (ja) 2018-03-30 2023-09-01 ヴィド スケール インコーポレイテッド エンコーディングおよびデコーディングのレイテンシ低減に基づく、テンプレートによるインター予測技術
US11991351B2 (en) 2018-03-30 2024-05-21 Vid Scale Inc. Template-based inter prediction techniques based on encoding and decoding latency reduction

Also Published As

Publication number Publication date
BRPI1008507A2 (pt) 2019-04-16
RU2011134049A (ru) 2013-02-20
TW201032600A (en) 2010-09-01
US20120044996A1 (en) 2012-02-23
JPWO2010095560A1 (ja) 2012-08-23
CN102318346A (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
WO2010095560A1 (ja) 画像処理装置および方法
JP5597968B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5234368B2 (ja) 画像処理装置および方法
TWI411310B (zh) Image processing apparatus and method
TWI405469B (zh) Image processing apparatus and method
WO2011018965A1 (ja) 画像処理装置および方法
WO2010101064A1 (ja) 画像処理装置および方法
WO2010035731A1 (ja) 画像処理装置および方法
WO2010035734A1 (ja) 画像処理装置および方法
WO2011089972A1 (ja) 画像処理装置および方法
WO2010035732A1 (ja) 画像処理装置および方法
WO2011089973A1 (ja) 画像処理装置および方法
WO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
WO2011086963A1 (ja) 画像処理装置および方法
WO2010101063A1 (ja) 画像処理装置および方法
WO2010035735A1 (ja) 画像処理装置および方法
WO2012005194A1 (ja) 画像処理装置および方法
JP6048774B2 (ja) 画像処理装置および方法
WO2011125625A1 (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 201080007892.8

Country of ref document: CN

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

Ref document number: 10743687

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011500576

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2011134049

Country of ref document: RU

Ref document number: 6145/DELNP/2011

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13148893

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10743687

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: PI1008507

Country of ref document: BR

ENP Entry into the national phase

Ref document number: PI1008507

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20110812

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载