[go: up one dir, main page]

WO2011161949A1 - 画像復号装置、画像復号方法、集積回路およびプログラム - Google Patents

画像復号装置、画像復号方法、集積回路およびプログラム Download PDF

Info

Publication number
WO2011161949A1
WO2011161949A1 PCT/JP2011/003529 JP2011003529W WO2011161949A1 WO 2011161949 A1 WO2011161949 A1 WO 2011161949A1 JP 2011003529 W JP2011003529 W JP 2011003529W WO 2011161949 A1 WO2011161949 A1 WO 2011161949A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
image
unit
divided
divided block
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2011/003529
Other languages
English (en)
French (fr)
Inventor
宙輝 林
健 田中
隆 橋本
哲史 梶田
博史 天野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to US13/805,704 priority Critical patent/US10033997B2/en
Publication of WO2011161949A1 publication Critical patent/WO2011161949A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present invention relates to an image decoding apparatus and an image decoding method for decoding an encoded image, and in particular, encoding in which the size of a decoding unit block is larger than that of a conventional encoding method (for example, H.264 standard).
  • the present invention relates to an image decoding apparatus and an image decoding method for decoding a stream.
  • An image encoding apparatus that encodes a moving image is called a macroblock (abbreviated as MB) consisting of 16 ⁇ 16 pixels (16 pixels in the horizontal direction and 16 pixels in the vertical direction) for each picture constituting the moving image. And encoding is performed for each macroblock in the raster scan order. Then, the image encoding device generates an encoded stream (encoded moving image) obtained by encoding and compressing the moving image. The image decoding apparatus similarly decodes this encoded stream in units of macroblocks in the raster scan order, and reproduces each picture of the original moving image.
  • MB macroblock
  • ITU-T H.264 is one of the conventional image encoding methods.
  • H.264 standards see, for example, Non-Patent Document 1 and Non-Patent Document 2).
  • H. In order to decode an image encoded according to the H.264 standard, first, an encoded stream is read, various header information is decoded, and then variable length decoding is performed. The coefficient information obtained by variable length decoding is inversely quantized and inverse frequency transformed to generate a difference image. Next, in-plane prediction or motion compensation is performed according to the macroblock type (mb_type) obtained by variable length decoding, and a predicted image is generated. Thereafter, a reconstructing process is performed by adding the difference image to the predicted image, and a reconstructed image is generated. Finally, a deblocking filter process is performed on the reconstructed image to obtain a decoded image.
  • mb_type macroblock type
  • the encoded image is decoded by performing from variable length decoding to deblocking filter processing in units of macroblocks.
  • a technique for increasing the speed of decoding a technique for pipelining decoding processing in units of macroblocks is generally used (see, for example, Patent Document 1).
  • macroblock pipeline processing macroblock / pipeline processing
  • a series of processing (decoding processing) from variable length decoding to deblocking filter processing is divided into several stages, and each stage is processed in parallel. .
  • FIG. 1 is a diagram showing an example of macroblock pipeline processing when the decoding processing is divided into four stages.
  • processing from stage 0 to stage 3 is performed for one macroblock.
  • the encoded stream is subjected to variable length decoding, and encoded information and coefficient information corresponding to each pixel data are output.
  • the coefficient information obtained in stage 0 is inversely quantized and subjected to inverse frequency transformation to generate a difference image.
  • a prediction image is generated by performing in-plane prediction or motion compensation according to the macroblock type obtained by variable-length decoding, and the prediction image is added to the difference image obtained in stage 1 and then reproduced. Generate a composition image.
  • the reconstructed image obtained in stage 2 is subjected to deblock filter processing.
  • TS cycle of the pipeline processing is determined by the processing cycle of the stage having the longest processing cycle (longest stage). Therefore, if a stage becomes the longest stage and only the processing cycle of that stage becomes long, the other stages cannot start processing the next macroblock until the processing of the longest stage is completed, which is useless. Empty space will occur. In order to operate the pipeline processing efficiently, it is important to equalize the processing cycle of each stage.
  • technologies proposed as next-generation image coding standards include technologies that solve such problems (Non-Patent Documents 3, 4, and 5).
  • Non-Patent Documents 3, 4, and 5 technologies that solve such problems
  • conventional H.264 The coding unit block size of the H.264 standard is made variable, and it is possible to encode with a block larger than the conventional 16 ⁇ 16 pixels.
  • Non-Patent Document 3 in addition to 16 ⁇ 16 pixels as a macroblock size, a macroblock having a size exceeding 16 ⁇ 16 pixels such as 32 ⁇ 32 pixels and 64 ⁇ 64 pixels is defined, and a maximum of 128 ⁇ 128 pixels is defined.
  • a macroblock is defined.
  • a macroblock having a size exceeding 16 ⁇ 16 pixels is referred to as a super macroblock.
  • the super macroblock Similar to the H.264 standard, the super macroblock has a hierarchical structure, and when the block is composed of four subblocks, a configuration pattern is further defined for each subblock.
  • FIG. 2 is a diagram showing a configuration pattern that can be taken when the super macroblock size is 64 ⁇ 64 pixels.
  • the compression efficiency of high-resolution images is improved by increasing the macroblock size.
  • Non-Patent Document 4 defines a 32 ⁇ 32 pixel super macroblock. This document describes a technique for performing unit compensation for motion compensation in units of internal blocks of a super macroblock. Similarly to the technique in Non-Patent Document 3, since the super macroblock has a hierarchical structure, motion compensation is also performed according to the hierarchical structure.
  • FIG. 3 is a diagram showing a configuration pattern that the super macroblock of Non-Patent Document 4 can take.
  • Motion compensation is performed at 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, or 16 ⁇ 32 pixels that are not defined in the H.264 standard.
  • Non-Patent Document 5 a 32 ⁇ 32 pixel super macroblock is defined. A technique for performing in-plane prediction in units of 32 ⁇ 32 pixels not defined in the H.264 standard is described.
  • Non-Patent Documents 3 to 5 describe a method for improving the compression efficiency by introducing a super macroblock. This increases the coding unit block size, and thus the coding unit block is increased. There is a problem that the circuit scale of an image decoding apparatus that performs decoding in units of processing increases. Conventionally, only 16 ⁇ 16 pixel blocks can be processed. However, according to Non-Patent Document 3, it is necessary to process a maximum of 128 ⁇ 128 pixel blocks. For this reason, each processing unit that performs motion compensation, in-plane prediction, and the like needs to be able to process a block of up to 128 ⁇ 128 pixels, which increases the circuit scale.
  • the macroblock size becomes variable, there is a problem when an encoded moving image is decoded by pipeline processing.
  • the larger the macroblock size is the larger the decoding processing cycle is. Therefore, if macroblocks of different sizes are mixed in a picture, the processing cycle of each stage of pipeline processing varies depending on the macroblock size. For this reason, a wait time during which nothing can be processed occurs, and the processing efficiency of the pipeline decreases, which causes a decrease in the processing efficiency of the image decoding apparatus.
  • FIG. 4 is a diagram illustrating an example in which a wait time is generated in the pipeline processing.
  • an encoded stream including a super macroblock is decoded by a four-stage macroblock pipeline process as shown in FIG.
  • the MB4 is a super macroblock of 32 ⁇ 32 pixels
  • the encoded stream is composed of normal macroblocks of 16 ⁇ 16 pixels.
  • the operation of pipeline processing is 4 times larger than a normal macroblock, so that the processing cycle is 4 times that of other macroblocks. ing. Therefore, in stages 1 to 3, nothing can be done until the process of MB4 of stage 0 is completed after the process of MB3, MB2 or MB1 is completed, and there is a free space (wait time).
  • stages 0, 2 and 3 nothing can be done until the processing of MB4 in stage 1 is completed after the processing of MB5, MB3 or MB2 is completed.
  • stages 0, 1 and 3 MB6, After the processing of MB5 or MB3 is completed, nothing can be done until the processing of MB4 of stage 2 is completed.
  • stages 0 to 2 nothing can be done until the processing of MB4 of stage 3 is completed after the processing of MB7, MB6 or MB5 is completed.
  • An object of the present invention is to solve the above-described conventional problem, and to provide an image decoding apparatus that decodes an encoded moving image having a large-sized block while suppressing an increase in circuit scale.
  • an image decoding apparatus is an image decoding apparatus that decodes an encoded moving image generated by encoding a plurality of pictures included in a moving image for each block.
  • a block division unit that divides a decoding target block, which is a block included in a picture of the encoded moving image, into a plurality of divided blocks, and obtains image data corresponding to the divided blocks from the recording medium for each of the divided blocks.
  • a reconstruction unit configured to reconstruct the divided block by adding the generated predicted image to the divided block; That.
  • the size of a block (for example, a decoding target block such as a macro block) configured as a unit of encoding of the encoded moving image is, for example, H.264.
  • the size is larger than the size of the H.264 standard (16 ⁇ 16 pixel size)
  • the predicting unit applies to blocks exceeding the 16 ⁇ 16 pixel size.
  • a circuit scale for generating the predicted image is not required.
  • the prediction unit can be suppressed to a circuit scale that can generate a prediction image for a block of 16 ⁇ 16 pixel size or less. Therefore, it is possible to decode an encoded moving image having a large size block while suppressing an increase in circuit scale.
  • the image acquisition unit acquires, as the image data corresponding to the divided block, a part in another picture that is already reconstructed of the encoded moving image, which is different from the picture including the divided block
  • the prediction unit may generate the predicted image by referring to the image data acquired by the image acquisition unit and performing motion compensation on the divided blocks.
  • the block division unit assigns a motion vector set for the decoding target block and an index indicating the other picture to each of the plurality of divided blocks, thereby allowing the decoding target block to be allocated. Is divided into the plurality of divided blocks.
  • the image acquisition unit acquires an already reconstructed part of the picture including the divided block as the image data corresponding to the divided block, and the prediction unit is acquired by the image acquisition unit.
  • the predicted image may be generated by referring to the image data and performing in-plane prediction on the divided blocks.
  • the block dividing unit divides the decoding target block into the plurality of divided blocks by assigning an intra prediction mode set for the decoding target block to each of the plurality of divided blocks. .
  • the image decoding apparatus further includes a determination unit that determines whether the size of the decoding target block is larger than a predetermined size, and the block division unit is determined to be larger by the determination unit.
  • the decoding target block may be divided into the plurality of divided blocks.
  • the encoded moving image has a size equal to or smaller than the size. If there is a block, the block is processed by the prediction unit without being divided, and if there is a block exceeding the size, the block is divided into a plurality of divided blocks and predicted for each divided block. Processed by the department. Therefore, even when the sizes of a plurality of blocks included in the encoded moving image are different from each other, the encoded moving image can be appropriately decoded while suppressing the circuit scale.
  • the image decoding apparatus further includes an inverse processing unit that sequentially performs inverse quantization and inverse frequency transform on the decoding target block for each of the divided blocks, and the prediction unit includes the plurality of inverse processing units.
  • the plurality of divided blocks that have been subjected to inverse quantization and inverse frequency conversion by the inverse processing unit when performing inverse quantization and inverse frequency conversion on a second divided block of the divided blocks A predicted image of the first divided block may be generated.
  • the inverse quantization and inverse frequency transformation on the second divided block by the inverse processing unit performs inverse processing on other divided blocks other than the first divided block included in the block, that is, the entire block.
  • Processing for the block can be started without waiting for the completion of quantization and inverse frequency transform. As a result, the processing waiting time can be suppressed, and the efficiency of the decoding process can be improved.
  • the image decoding device further includes a deblock filter unit that removes block noise included in the divided block for each of the divided blocks reconstructed by the reconstructing unit, and the deblock filter unit includes: When the prediction unit generates a prediction image of the second divided block and the reconstruction unit reconstructs the second divided block, a prediction image is already generated by the prediction unit, and The block noise included in the first divided block that has already been reconstructed by the reconstructing unit may be removed.
  • the prediction unit After the prediction unit generates the prediction image for the first divided block and the reconstruction unit performs the reconstruction of the first divided block, the prediction unit performs the second divided block on the second divided block.
  • Generation of the prediction image, reconstruction of the second divided block by the reconstruction unit, and removal of block noise for the first divided block by the deblocking filter unit are performed in parallel. That is, the prediction unit, the reconstruction unit, and the deblocking filter unit can execute pipeline processing for each divided block, and the deblocking filter unit can perform other divisions other than the first divided block included in the block. Processing for the block can be started without waiting for the generation and reconstruction of the prediction image for the block, that is, the entire block. As a result, the processing waiting time can be further suppressed, and the efficiency of the decoding process can be further improved.
  • the image decoding apparatus further includes a memory and a variable length decoding unit that generates coefficient information by performing variable length decoding of the encoded moving image for each block and stores the coefficient information in the memory.
  • the inverse processing unit performs inverse quantization and inverse frequency transform on the division block
  • the inverse processing unit reads a part of the coefficient information corresponding to the division block from the memory and reads the coefficient information Inverse quantization and inverse frequency conversion are performed on a part of.
  • the inverse quantization and the inverse frequency transform for the division block of the decoding target block are part of coefficient information generated by variable length decoding of the decoding target block, that is, the division block of the coefficient information. It is performed on the part corresponding to.
  • the coefficient information is generated, the coefficient information is temporarily stored in the memory, and inverse quantization and inverse frequency transform for the divided blocks are performed on a part of the coefficient information read from the memory. Therefore, variable length decoding can be sequentially performed on a block subsequent to the divided block without waiting for inverse quantization and inverse frequency transform on the divided block. That is, variable length decoding can be performed regardless of the progress of inverse quantization, inverse frequency transform, and generation of a predicted image. As a result, the processing waiting time can be further suppressed.
  • the present invention can be realized not only as such an image decoding device, but also as a method of processing operation by the image decoding device, a program for causing a computer to execute the processing operation, and a recording medium storing the program And an integrated circuit that executes the processing operation.
  • an encoded moving image having a large size block can be decoded while suppressing an increase in circuit scale. For example, it is possible to decode an encoded moving image whose macroblock size is larger than a 16 ⁇ 16 pixel size in a small area, and an effect that an inexpensive image decoding apparatus can be realized is obtained.
  • FIG. 1 is a diagram showing macroblock / pipeline processing of a conventional image decoding apparatus.
  • FIG. 2 is a diagram illustrating a configuration pattern of a super macroblock.
  • FIG. 3 is a diagram illustrating a motion compensation unit block of a super macroblock.
  • FIG. 4 is a diagram illustrating an operation when an encoded moving image including a macroblock larger than a 16 ⁇ 16 pixel size is decoded by pipeline processing using a conventional image decoding device.
  • FIG. 5 is a configuration diagram of the image decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 6 is a configuration diagram of the motion compensation unit according to Embodiment 1 of the present invention.
  • FIG. 1 is a diagram showing macroblock / pipeline processing of a conventional image decoding apparatus.
  • FIG. 2 is a diagram illustrating a configuration pattern of a super macroblock.
  • FIG. 3 is a diagram illustrating a motion compensation unit block of a super macroblock.
  • FIG. 4 is a
  • FIG. 7 is a configuration diagram of the in-plane prediction unit according to Embodiment 1 of the present invention.
  • FIG. 8A is a configuration diagram of an encoded moving image that is decoded by the image decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 8B is a configuration diagram of the encoded stream according to Embodiment 1 of the present invention.
  • FIG. 9 is a flowchart showing the decoding operation of one sequence of the encoded stream according to Embodiment 1 of the present invention.
  • FIG. 10 is a flowchart showing a decoding operation of one macroblock data according to Embodiment 1 of the present invention.
  • FIG. 11 is a flowchart showing the motion compensation operation in the first embodiment of the present invention.
  • FIG. 12 is a diagram illustrating a general motion compensation operation in the case where the unit block for motion compensation is 32 ⁇ 32 pixels.
  • FIG. 13 is a diagram showing an operation of macroblock division in motion compensation in Embodiment 1 of the present invention.
  • FIG. 14 is a diagram showing a reference image acquisition operation in motion compensation of the divided block 0 in Embodiment 1 of the present invention.
  • FIG. 15 is a diagram illustrating a reference image acquisition operation in motion compensation of the divided block 1 according to Embodiment 1 of the present invention.
  • FIG. 16 is a diagram illustrating a reference image acquisition operation in motion compensation of the divided block 2 according to Embodiment 1 of the present invention.
  • FIG. 17 is a diagram illustrating a reference image acquisition operation in motion compensation of the divided block 3 according to Embodiment 1 of the present invention.
  • FIG. 18 is a flowchart showing an in-plane prediction operation according to the first embodiment of the present invention.
  • FIG. 19A is a diagram illustrating a general in-plane prediction operation of a macroblock having a 32 ⁇ 32 pixel size.
  • FIG. 19B is a diagram showing an operation of acquiring a reconstructed image of divided blocks in the in-plane prediction according to Embodiment 1 of the present invention.
  • FIG. 20 is a configuration diagram of the image decoding apparatus according to Embodiment 2 of the present invention.
  • FIG. 21 is a configuration diagram of the variable block corresponding motion compensation unit in Embodiment 2 of the present invention.
  • FIG. 22 is a configuration diagram of the variable block corresponding in-plane prediction unit according to Embodiment 2 of the present invention.
  • FIG. 23 is a configuration diagram of an encoded moving image that is decoded by the image decoding apparatus according to Embodiment 2 of the present invention.
  • FIG. 24 is a flowchart showing the motion compensation operation in the second embodiment of the present invention.
  • FIG. 25 is a flowchart showing the operation of in-plane prediction in Embodiment 2 of the present invention.
  • FIG. 26 is a configuration diagram of an image decoding apparatus according to Embodiment 3 of the present invention.
  • FIG. 27 is a flowchart showing a decoding operation of one macroblock data according to Embodiment 3 of the present invention.
  • FIG. 28 is a diagram illustrating an operation when an encoded moving image including a macroblock larger than 16 ⁇ 16 pixel size is decoded by the image decoding apparatus according to Embodiment 3 of the present invention.
  • FIG. 29 is a block diagram of an image decoding apparatus according to a modification of the third embodiment of the present invention.
  • FIG. 30 is a diagram showing an example of pipeline processing operation by the image decoding apparatus according to the modification of the third embodiment of the present invention.
  • FIG. 31A is a block diagram of an image decoding apparatus according to the present invention.
  • FIG. 31B is a flowchart showing an image decoding method according to the present invention.
  • FIG. 32 is a block diagram of another image decoding apparatus according to the present invention.
  • FIG. 33 is a block diagram of another image decoding apparatus according to the present invention.
  • FIG. 34 is a block diagram of another image decoding apparatus according to the present invention.
  • FIG. 35 is an overall configuration diagram of a content supply system that implements a content distribution service according to Embodiment 4 of the present invention.
  • FIG. 36 is an overall configuration diagram of a digital broadcasting system according to Embodiment 4 of the present invention.
  • FIG. 37 is a block diagram illustrating a configuration example of a television according to Embodiment 4 of the present invention.
  • FIG. 38 is a block diagram illustrating a configuration example of an information reproducing / recording unit that reads and writes information from and on a recording medium that is an optical disk according to Embodiment 4 of the present invention.
  • FIG. 39 shows an example of the structure of a recording medium that is an optical disk according to Embodiment 4 of the present invention.
  • FIG. 40 is a configuration diagram illustrating a configuration example of an integrated circuit that implements the image decoding device according to the fifth embodiment of the present invention.
  • FIG. 41 is a configuration diagram showing a configuration example of another integrated circuit that realizes the image decoding apparatus according to Embodiment 6 of the present invention.
  • the size of the macroblock and the size of each processing unit block for motion compensation and in-plane prediction are H.264.
  • An outline of an image decoding apparatus of the present invention that decodes an encoded moving image larger than the H.264 standard will be described.
  • the image decoding apparatus according to the present invention uses the macroblocks constituting the encoded moving image as H.264.
  • the video is divided into 16 ⁇ 16 pixels, which is the size of a macro block of the H.264 standard, and motion compensation or intra prediction is performed on the divided block.
  • the encoded moving image can be decoded with a circuit scale that can perform motion compensation and in-plane prediction of the 16 ⁇ 16 pixel block.
  • FIG. 5 is a configuration diagram of the image decoding apparatus according to the present embodiment.
  • the image decoding apparatus 500 includes a control unit 501 that controls the whole, a frame memory 502 that stores decoded image data, a reconstructed image memory 509 that stores a part of the generated reconstructed image, A variable length decoding unit 503 that reads an encoded stream (encoded moving image) and decodes a variable length code included in the encoded stream, an inverse quantization unit 504 that performs inverse quantization, and an inverse frequency that performs inverse frequency conversion.
  • FIG. 6 is a configuration diagram of the motion compensation unit 506.
  • the motion compensation unit 506 includes a motion compensation block division unit 601, a reference image acquisition unit 602, and a motion compensation calculation unit 603.
  • the motion compensation block dividing unit 601 receives the macroblock type, the motion vector, and the reference index (ref_idx) from the control unit 501, and divides the macroblock into 16 ⁇ 16 pixel divided blocks. Then, the motion compensation block dividing unit 601 sends the position information indicating the position of each divided block in the macro block, the motion vector and the reference index of each divided block, to the reference image acquiring unit 602 and the motion compensation calculating unit 603. hand over.
  • the reference image acquisition unit 602 calculates the position of the reference image to be referenced in the motion compensation of the divided block based on the position information, the motion vector, and the reference index of the divided block, and A reference image is acquired from the memory 502 and passed to the motion compensation calculation unit 603.
  • the motion compensation calculation unit 603 performs motion compensation on the divided blocks based on the reference image passed from the reference image acquisition unit 602, and outputs the generated predicted image.
  • FIG. 7 is a configuration diagram of the in-plane prediction unit 507.
  • the in-plane prediction unit 507 includes an in-plane prediction block division unit 701, a reconstructed image acquisition unit 702, and an in-plane prediction calculation unit 703.
  • the intra prediction block dividing unit 701 receives the macro block type and the intra prediction mode from the control unit 501, and divides the macro block into 16 ⁇ 16 pixel divided blocks. Then, the intra-prediction block dividing unit 701 converts the position information indicating the position of each divided block in the macroblock and the intra-prediction mode of each divided block into the reconstructed image acquisition unit 702 and the intra-frame prediction calculating unit 703. To pass.
  • the reconstructed image acquisition unit 702 calculates the position of the reconstructed image referred to in the in-plane prediction of the divided block based on the position information of the divided block and the in-plane prediction mode.
  • the reconstructed image is acquired from the reconstructed image memory 509 and passed to the in-plane prediction calculation unit 703.
  • the in-plane prediction calculation unit 703 performs in-plane prediction on the divided blocks based on the reconstructed image passed from the reconstructed image acquisition unit 702, and outputs the generated predicted image.
  • FIG. 8A is a diagram illustrating a hierarchical configuration of a series of images of the encoded moving image decoded by the image decoding apparatus 500 according to the present embodiment.
  • a group of a plurality of pictures is called a sequence.
  • Each picture is divided into slices, and each slice is further divided into macroblocks.
  • the macroblock size of the encoded moving image decoded by the image decoding apparatus 500 according to the present embodiment is 32 ⁇ 32 pixels. It is assumed that the size is larger than the size defined in the H.264 standard. Motion compensation and in-plane prediction processing are also described in H. It is also performed in a unit larger than 16 ⁇ 16 pixels which is the maximum size in the H.264 standard. In other words, motion compensation is performed in H.264. In addition to the size defined in the H.264 standard, the measurement is performed in units of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, or 16 ⁇ 32 pixels. In-plane prediction is described in H.D.
  • the measurement is performed in units of 32 ⁇ 32 pixels.
  • the unit block (size) for motion compensation and the unit block (size) for in-plane prediction do not exceed the size of the macroblock.
  • the processing unit of inverse quantization (quantization at the time of encoding) and inverse frequency conversion (frequency conversion at the time of encoding) is H.264.
  • the maximum size is 16 ⁇ 16 pixels.
  • the encoded moving image decoded by the image decoding apparatus 500 according to the present embodiment is H except that the macroblock size is 32 ⁇ 32 pixels and the unit block for motion compensation and in-plane prediction is large. . It is encoded in the same way as the H.264 standard. There are cases where a picture is not divided into slices.
  • FIG. 8B is a diagram showing the configuration of the encoded stream.
  • the encoded stream is configured by hierarchically encoding a sequence, a picture, a slice, a macroblock, and the like.
  • a sequence header that controls the sequence, a picture header that controls the picture, and a slice are included. It consists of a slice header to be controlled and macroblock data. The size of the macro block constituting the slice is included in the slice header.
  • the macroblock data is further divided into encoding information such as a macroblock type, an in-plane prediction (intra prediction) mode, motion vector information, and a quantization parameter, and coefficient information corresponding to each pixel data.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • FIG. 9 is a flowchart showing the decoding operation of one sequence of the encoded stream by the image decoding apparatus 500.
  • the image decoding apparatus 500 first decodes the sequence header (S901).
  • the decoding of the sequence header (S901) is performed by the variable length decoding unit 503 decoding the encoded stream according to the control of the control unit 501.
  • the image decoding apparatus 500 decodes the picture header (S902), and decodes the slice header (S903).
  • the image decoding apparatus 500 decodes the macroblock data (S904), and the decoding of the macroblock data will be described in detail later.
  • the image decoding apparatus 500 determines whether or not the macro block data is the last macro block of the slice (S905), and when the macro block data is not the last macro block of the slice (N of S905), The macroblock data is decoded again. Further, when the image decoding apparatus 500 is the last macroblock of the slice (Y in S905), the image decoding apparatus 500 determines whether the slice is the last slice of the picture (S906), and when it is not the last slice of the picture (S906). N) The slice header is decoded again (S903).
  • the image decoding apparatus 500 determines whether or not the picture is the last picture in the sequence (S907). When the picture is not the last picture in the sequence (S907) N) The picture header is decoded again (S902). When all the pictures in the sequence have been decoded, a series of decoding operations are terminated.
  • FIG. 10 is a flowchart showing the decoding operation of one macroblock by the image decoding apparatus 500. This flowchart shows the processing operation of step S904 in FIG.
  • variable length decoding unit 503 performs variable length decoding on the input encoded stream (S1001).
  • the variable length decoding unit 503 performs encoding information such as a macroblock type, an in-plane prediction (intra prediction) mode, a motion vector, a reference index, and a quantization parameter, and each pixel data.
  • the corresponding coefficient information is output.
  • the encoded information is output to the control unit 501 and then input to each processing unit.
  • the coefficient information is output to the next inverse quantization unit 504.
  • the inverse quantization unit 504 performs inverse quantization processing on the coefficient information (S1002), and then the inverse frequency transform unit 505 performs inverse frequency transform on the inversely quantized coefficient information.
  • a difference image is generated (S1003).
  • the control unit 501 determines whether the macroblock to be decoded is an inter macroblock or an intra macroblock based on the macroblock type (S1004). In the case of an inter macroblock (Y in S1004), the control unit 501 activates the motion compensation unit 506, and causes the motion compensation unit 506 to generate a prediction image with 1/2 pixel accuracy or 1/4 pixel accuracy (S1005). On the other hand, when the block is not an inter macroblock (N in S1004), that is, when the macroblock to be decoded is an intra macroblock, the control unit 501 activates the intra prediction unit 507, and the intra prediction unit 507 performs intra prediction. The process is executed to generate a predicted image (S1006). Note that the processing of motion compensation and in-plane prediction will be described in detail later.
  • the reconstruction unit 508 generates a reconstructed image by adding the prediction image output from the motion compensation unit 506 or the in-plane prediction unit 507 and the difference image output from the inverse frequency conversion unit 505 (S1007).
  • the generated reconstructed image is transferred to the deblock filter unit 510, and at the same time, a part of the reconstructed image is stored in the reconstructed image memory 509.
  • the deblock filter unit 510 acquires a reconstructed image from the reconstructing unit 508, performs deblocking filter processing for reducing the block noise on the reconstructed image, and stores the result in the frame memory 502. (S1008). This completes the decoding operation for one macroblock.
  • FIG. 11 is a flowchart showing the motion compensation operation performed by the motion compensation unit 506 of the image decoding apparatus 500. This flowchart shows the processing operation of step S1005 of FIG.
  • the motion compensation block dividing unit 601 divides the macro block into divided blocks of 16 ⁇ 16 pixels. That is, the motion compensation block dividing unit 601 calculates the position information indicating the position of each divided block in the macro block, the motion vector and the reference index of each divided block (S1101).
  • the position information of each divided block is the coordinates of the upper left pixel of the divided block in the macroblock.
  • the motion vector and reference index of the motion compensation unit block included in each divided block are set as the motion vector and reference index of each divided block, respectively.
  • the motion vector and reference index of each divided block are the motion vector and reference index of the motion compensation unit block to which the divided block belongs.
  • the reference image acquisition unit 602 calculates the position of the reference image to be referred to when performing motion compensation of the divided block from the position information of the divided block, the motion vector of the divided block, and the reference index, and the reference An image is acquired from the frame memory 502 (S1102).
  • the acquired reference image is passed to the motion compensation calculation unit 603.
  • the motion compensation calculation unit 603 performs motion compensation of the divided blocks using the passed reference image and outputs a predicted image (S1103).
  • the motion compensation unit 506 determines whether there is a divided block that has not yet been processed in the macroblock (S1104).
  • FIG. 12 is a diagram showing a general motion compensation operation when the unit block of motion compensation is 32 ⁇ 32 pixels.
  • the motion compensation unit block in the decoding target macroblock has a 32 ⁇ 32 pixel size
  • the reference index (ref_idx) of the motion compensation unit block (decoding target macroblock) is i
  • the motion vector is v.
  • the motion compensation is performed using a picture specified by the reference index “i” as a reference picture, and a block of 32 ⁇ 32 pixel size indicated by the motion vector v in the reference picture as a reference image.
  • the motion compensation block dividing unit 601 divides a decoding target macroblock having a size of 32 ⁇ 32 pixels into divided blocks of 16 ⁇ 16 pixels.
  • FIG. 13 is a diagram showing motion vectors and reference indexes of divided blocks.
  • the motion compensation unit block is larger than each divided block and is a 32 ⁇ 32 pixel block equivalent to the decoding target macroblock. Therefore, as shown in FIG. 13, the motion vector and reference index of each divided block are the motion vector and reference index of a motion compensation unit block (decoding target macroblock) of 32 ⁇ 32 pixels. That is, the motion vector and reference index of each divided block are all v and i, respectively.
  • the block located at the upper left in the macro block is called divided block 0
  • the block located at the upper right is called divided block 1
  • the block located at the lower left is called divided block 2
  • the block located at the lower right is called divided block 3.
  • processing is performed in the order of divided block 0, divided block 1, divided block 2, and divided block 3.
  • the motion compensation block dividing unit 601 divides the decoding target macroblock into four divided blocks 0 to 3, and sets the reference index i of the motion compensation unit block (decoding target macroblock) to the four divided blocks 0 to 3.
  • the motion vector v of the motion compensation unit block (decoding target macroblock) is assigned to each of the four divided blocks 0 to 3.
  • the reference image acquisition unit 602 acquires a reference image referred to by the divided block 0 from the frame memory 502.
  • FIG. 14 is a diagram illustrating a reference image acquired for the divided block 0.
  • the reference image acquired by the reference image acquisition unit 602 for the divided block 0 is the original 32 ⁇ 32 pixels as shown in FIG.
  • the reference image acquisition unit 602 acquires the 16 ⁇ 16 pixel block from the frame memory 502 as a reference image.
  • the motion compensation calculation unit 603 performs motion compensation for the divided block 0 with reference to the reference image, and generates a predicted image.
  • the motion compensation calculation is performed when the motion vector indicates a decimal pixel position, and the obtained reference image is subjected to filter processing (complementary filter processing) to generate a predicted image, and is acquired when the motion vector indicates an integer pixel position.
  • filter processing complementary filter processing
  • the reference image acquisition unit 602 next acquires a reference image to be referred to by the motion compensation of the divided block 1 from the frame memory 502.
  • FIG. 15 is a diagram illustrating a reference image acquired for the divided block 1.
  • the reference image acquired by the reference image acquisition unit 602 for the divided block 1 is the original 32 ⁇ 32 pixels. This is the upper right 16 ⁇ 16 pixel block in the 32 ⁇ 32 pixel block referenced by the motion compensation unit block of the size.
  • the motion compensation calculation unit 603 performs motion compensation of the divided block 1 with reference to the reference image, and generates a predicted image. Thus, the motion compensation of the divided block 1 is completed.
  • the reference image acquisition unit 602 next acquires a reference image to be referred to by motion compensation of the divided block 2 from the frame memory 502.
  • FIG. 16 is a diagram illustrating a reference image acquired for the divided block 2.
  • the reference image acquired by the reference image acquisition unit 602 for the divided block 2 is the original 32 ⁇ 32 pixels. This is the lower left 16 ⁇ 16 pixel block in the 32 ⁇ 32 pixel block referenced by the motion compensation unit block of the size.
  • the motion compensation calculation unit 603 performs motion compensation for the divided block 2 with reference to the reference image, and generates a predicted image. Thus, the motion compensation of the divided block 2 is completed.
  • the reference image acquisition unit 602 next acquires a reference image to be referred to by the motion compensation of the divided block 3 from the frame memory 502.
  • FIG. 17 is a diagram illustrating a reference image acquired for the divided block 3.
  • the reference image acquired by the reference image acquisition unit 602 for the divided block 3 is the original 32 ⁇ 32 pixels as shown in FIG. This is the lower right 16 ⁇ 16 pixel block in the 32 ⁇ 32 pixel block referenced by the motion compensation unit block of the size.
  • the motion compensation calculation unit 603 performs motion compensation of the divided block 3 with reference to the reference image, and generates a predicted image. Thus, the motion compensation of the divided block 3 is completed.
  • FIG. 18 is a flowchart showing the operation of in-plane prediction by the in-plane prediction unit 507 of the image decoding apparatus 500. This flowchart shows the processing operation of step S1006 of FIG.
  • the in-plane prediction block dividing unit 701 divides a macroblock into divided blocks of 16 ⁇ 16 pixels. That is, the in-plane prediction block division unit 701 calculates position information indicating the position of each divided block in the macroblock and the in-plane prediction mode of each divided block (S1801).
  • the position information of each divided block is the coordinates of the upper left pixel of the divided block in the macroblock.
  • the position information of the divided block may be an index number indicating the position of the divided block instead of the coordinates.
  • the intra prediction mode of the intra prediction unit block included in each divided block is set as the intra prediction mode of each divided block.
  • the in-plane prediction mode of the divided block is set to the in-plane prediction mode of the in-plane prediction unit block to which the divided block belongs. Set to prediction mode.
  • the reconstructed image acquisition unit 702 calculates the position of the reconstructed image to be referred to when performing in-plane prediction of the divided block from the position information of the divided block and the in-plane prediction mode of the divided block.
  • a reconstructed image is acquired from the reconstructed image memory 509 (S1802).
  • the acquired reconstructed image is passed to the in-plane prediction calculation unit 703.
  • the in-plane prediction calculation unit 703 performs in-plane prediction of the divided blocks using the transferred reconstructed image, and outputs a predicted image (S1803).
  • the in-plane prediction is completed for one divided block.
  • the in-plane prediction unit 507 determines whether there is a divided block that has not yet been processed in the macroblock (S1804).
  • FIG. 19A is a diagram illustrating a general in-plane prediction operation in a case where the unit block for in-plane prediction is 32 ⁇ 32 pixels.
  • the in-plane prediction mode is “32 ⁇ 32 vertical prediction mode”. Therefore, intra prediction is performed using a reconstructed image block (reconstructed image) of 32 ⁇ 1 pixel size adjacent on the decoding target macroblock.
  • a prediction image is generated by copying downward the pixel value of a 32 ⁇ 1 pixel block adjacent to the decoding target macroblock.
  • the intra prediction block dividing unit 701 divides a decoding target macroblock into 16 ⁇ 16 pixel divided blocks.
  • FIG. 19B is a diagram showing a reconstructed image acquired for a divided block.
  • the in-plane prediction unit block is larger than each divided block and is a 32 ⁇ 32 pixel block equivalent to the decoding target macroblock. Therefore, the intra prediction mode of each divided block is the intra prediction mode of the 32 ⁇ 32 pixel intra prediction unit block (decoding target macroblock). That is, all the in-plane prediction modes of each divided block are “32 ⁇ 32 vertical prediction modes”.
  • the block located at the upper left in the macro block is called divided block 0, the block located at the upper right is called divided block 1, the block located at the lower left is called divided block 2, and the block located at the lower right is called divided block 3. To. Thereafter, processing is performed in the order of divided block 0, divided block 1, divided block 2, and divided block 3.
  • the intra-prediction block dividing unit 701 divides the decoding target macroblock into four divided blocks 0 to 3, and the intra prediction mode (for example, 32 ⁇ 32) of the intra prediction unit block (decoding target macroblock). (Vertical prediction mode) is assigned to each of the four divided blocks 0 to 3.
  • the reconstructed image acquisition unit 702 acquires the reconstructed image referred to by the divided block 0 from the reconstructed image memory 509 from the position of the divided block 0 and the in-plane prediction mode of the divided block 0.
  • the position and size of the acquired reconstructed image are determined by the following procedure.
  • the reconstructed image acquisition unit 702 determines whether or not the in-plane prediction mode assigned to the divided block 0 is a prediction mode corresponding to a size exceeding the divided block 0. If the in-plane prediction mode is a prediction mode corresponding to a size that does not exceed the size of the divided block 0, that is, if the in-plane prediction unit block is 16 ⁇ 16 pixels or less, the reconstructed image acquisition unit 702 selects the H.264 image. What is necessary is just to acquire a reconfigure
  • the in-plane prediction mode of the divided block 0 having a size of 16 ⁇ 16 pixels is “32 ⁇ 32 vertical prediction mode”
  • the in-plane prediction mode corresponds to a size exceeding the divided block 0. Yes.
  • the intra prediction block dividing unit 701 calculates the position and size of the reconstructed image referred to in the intra prediction of the area of the divided block 0 in the intra prediction unit block (decoding target macroblock), Obtain a reconstructed image.
  • the in-plane prediction mode is “32 ⁇ 32 vertical prediction mode”, as shown in FIG. 19B (a)
  • the acquired reconstructed image is 16 ⁇ adjacent to the divided block 0.
  • One pixel block is obtained.
  • the reconstructed image acquisition unit 702 determines the position and size of the reconstructed image to be acquired, and then uses the adjacent 16 ⁇ 1 pixel block on the divided block 0 as the reconstructed image for the divided block 0. Obtained from the reconstructed image memory 509.
  • the in-plane prediction calculation unit 703 performs in-plane prediction of the divided block 0 using the acquired reconstructed image, and generates a predicted image. Since the in-plane prediction mode is “32 ⁇ 32 vertical prediction mode”, the prediction of the in-plane prediction is performed by copying the obtained pixel value of the 16 ⁇ 1 pixel block (reconstructed image) downward. Is a process for generating Thus, the in-plane prediction of the divided block 0 is completed.
  • the reconstructed image acquisition unit 702 acquires a reconstructed image to be referred to in the in-plane prediction of the divided block 1 from the reconstructed image memory 509. Since the in-plane prediction mode of the divided block 1 is the “32 ⁇ 32 vertical prediction mode”, the reconstructed image acquisition unit 702 has a 16 ⁇ adjacent to the divided block 1 as shown in FIG. 19B (b). One pixel block is acquired as a reconstructed image for the divided block 1. When the acquisition of the reconstructed image is completed, the in-plane prediction calculation unit 703 performs in-plane prediction of the divided block 1 using the acquired reconstructed image, and generates a predicted image.
  • the prediction of the in-plane prediction is performed by copying the obtained pixel value of the 16 ⁇ 1 pixel block (reconstructed image) downward. Is a process for generating Thus, the in-plane prediction of the divided block 1 is completed.
  • the reconstructed image acquisition unit 702 next acquires a reconstructed image to be referred to in the in-plane prediction of the divided block 2 from the reconstructed image memory 509. Since the in-plane prediction mode of the divided block 2 is “32 ⁇ 32 vertical prediction mode”, the reconstructed image acquisition unit 702 performs the 16 ⁇ adjacent to the divided block 0 as shown in FIG. 19B (c). One pixel block is acquired as a reconstructed image for the divided block 2. When the acquisition of the reconstructed image is completed, the in-plane prediction calculation unit 703 performs in-plane prediction of the divided block 2 using the acquired reconstructed image, and generates a predicted image.
  • the prediction of the in-plane prediction is performed by copying the obtained pixel value of the 16 ⁇ 1 pixel block (reconstructed image) downward. Is a process for generating Thus, the in-plane prediction of the divided block 2 is completed.
  • the reconstructed image acquisition unit 702 next acquires a reconstructed image to be referred to in the in-plane prediction of the divided block 3 from the reconstructed image memory 509. Since the in-plane prediction mode of the divided block 3 is “32 ⁇ 32 vertical prediction mode”, the reconstructed image acquisition unit 702 has a 16 ⁇ adjacent to the divided block 1 as illustrated in FIG. 19B (d). One pixel block is acquired as a reconstructed image for the divided block 3. When the acquisition of the reconstructed image is completed, the in-plane prediction calculation unit 703 performs in-plane prediction of the divided block 3 using the acquired reconstructed image, and generates a predicted image.
  • the prediction of the in-plane prediction is performed by copying the obtained pixel value of the 16 ⁇ 1 pixel block (reconstructed image) downward. Is a process for generating Thus, the in-plane prediction of the divided block 3 is completed.
  • the in-plane prediction of the divided blocks 0 to 3 is completed, and as a result, the in-plane prediction operation of the decoding target macroblock whose in-plane prediction mode is “32 ⁇ 32 vertical prediction mode” is completed.
  • the motion compensation unit 506 includes the motion compensation block division unit 601. Accordingly, even if the macroblock is a large block exceeding 16 ⁇ 16 pixels, the motion compensation unit 506 can perform motion compensation with a circuit scale that can perform motion compensation of the 16 ⁇ 16 pixel block.
  • the in-plane prediction unit 507 includes an in-plane prediction block division unit 701. Thereby, even if the macroblock is a large block exceeding 16 ⁇ 16 pixels, the in-plane prediction unit 507 can perform in-plane prediction with a circuit scale that can perform in-plane prediction of the 16 ⁇ 16 pixel block. .
  • the image decoding apparatus 500 has a circuit scale equivalent to that of an image decoding apparatus that decodes an encoded moving image having a macroblock size of 16 ⁇ 16 pixels, and has a macro size exceeding 16 ⁇ 16 pixels.
  • An encoded moving image encoded by a block can be decoded.
  • the encoded moving image to be decoded is a variable length code, but may be another code.
  • the encoded moving image to be decoded may be an image encoded by any encoding method such as a Huffman code, a run length code, or an arithmetic code.
  • each processing unit may be realized by a circuit using dedicated hardware, or may be realized by a program on a processor.
  • frame memory 502 and the reconstructed image memory 509 are memories, any other configuration such as a flip-flop may be used as long as it is a storage element capable of storing data. Furthermore, a configuration using a part of the memory area of the processor or a part of the cache memory may be used.
  • the H.264 format is the same except that the macroblock size is 32 ⁇ 32 pixels and the maximum unit block for motion compensation and in-plane prediction is 32 ⁇ 32 pixels.
  • the H.264 standard any image coding standard such as the MPEG2 standard, the MPEG4 standard, or the VC-1 standard may be supported.
  • the case where the macroblock size and the maximum size of the unit block for motion compensation and in-plane prediction are 32 ⁇ 32 pixels has been described, but even if the size exceeds 32 ⁇ 32 pixels Good. Even if the size of the macroblock is larger than 32 ⁇ 32 pixels, the motion compensation block dividing unit 601 and the in-plane prediction block dividing unit 701 divide the macroblock into 16 ⁇ 16 pixel divided blocks and process them. Even with the size, the image decoding apparatus 500 according to the present embodiment can decode the encoded moving image.
  • an encoded moving image with a fixed macroblock size is decoded.
  • the macroblock size is determined by determining the macroblock size. It is possible to decode an encoded moving image that is variable.
  • motion compensation and in-plane prediction can be performed with a circuit scale that can perform motion compensation and in-plane prediction of a 16 ⁇ 16 pixel block.
  • FIG. 20 is a configuration diagram of the image decoding apparatus according to the present embodiment.
  • the image decoding apparatus 500A includes a variable block compatible motion compensation unit 2006 instead of the motion compensation unit 506 of the first embodiment, and also supports variable blocks instead of the in-plane prediction unit 507 of the first embodiment.
  • An in-plane prediction unit 2007 is provided.
  • the other components are the same as those in FIG. 5 in the first embodiment, and the same numbers are assigned and description thereof is omitted.
  • FIG. 21 is a configuration diagram of the variable block compatible motion compensation unit 2006.
  • the variable block compatible motion compensation unit 2006 includes each component of the motion compensation unit 506 of Embodiment 1, and further includes a macroblock size determination unit 2101.
  • the other components are the same as the components of the motion compensation unit 506 in FIG. 6, and the same numbers are assigned to the components and the description thereof is omitted.
  • the macroblock size determination unit 2101 receives the macroblock type, motion vector, and reference index from the control unit 501, and determines whether the macroblock to be decoded is larger than 16 ⁇ 16 pixels. If larger than 16 ⁇ 16 pixels, the macroblock size determination unit 2101 instructs the motion compensation block division unit 601 to divide the macroblock. At this time, the macroblock size determination unit 2101 outputs the macroblock type, motion vector, and reference index received from the control unit 501 to the motion compensation block division unit 601 together with the division instruction. In other cases, the macroblock size determination unit 2101 does not instruct division, and as a result, the motion compensation calculation unit 603 performs motion on a decoding target macroblock having a size of 16 ⁇ 16 pixels or less that is not divided. Compensate.
  • FIG. 22 is a configuration diagram of the variable block corresponding in-plane prediction unit 2007.
  • the variable block corresponding in-plane prediction unit 2007 includes the constituent elements of the in-plane prediction unit 507 of Embodiment 1, and further includes a macroblock size determination unit 2201.
  • the other constituent elements are the same as the constituent elements of the in-plane prediction unit 507 in FIG. 7, and the same numbers are assigned to the constituent elements and the description thereof is omitted.
  • the macroblock size determination unit 2201 receives the macroblock type and the in-plane prediction mode from the control unit 501, and determines whether or not the decoding target macroblock is larger than 16 ⁇ 16 pixels. When larger than 16 ⁇ 16 pixels, the macroblock size determination unit 2201 instructs the intra prediction block division unit 701 to divide the macroblock. At this time, the macroblock size determination unit 2201 outputs the macroblock type and the intra prediction mode received from the control unit 501 to the intra prediction block division unit 701 together with the division instruction. In other cases, the macroblock size determination unit 2201 does not instruct the division, and as a result, the in-plane prediction calculation unit 703 performs the decoding target macroblock having a size of 16 ⁇ 16 pixels or less that is not divided. Perform in-plane prediction.
  • FIG. 23 is a diagram showing a configuration of a picture of an encoded moving image decoded by the image decoding apparatus 500A according to the present embodiment.
  • the encoded moving image decoded by the image decoding apparatus 500A according to the present embodiment is different from the encoded moving image according to the first embodiment in that the macroblock size is not a fixed size of 32 ⁇ 32 pixels but a variable size. Different. As described in Non-Patent Document 3 described above, the macroblock size is changed from 16 ⁇ 16 pixels to a maximum of 128 ⁇ 128 pixels, and the size of the macroblock is variable within a picture or slice. At the same time, motion compensation and in-plane prediction processing are performed in H.264. In addition to the size defined in the H.264 standard, the size of the macroblock described in Non-Patent Document 3 and the size of the internal block constituting the macroblock are used as processing units.
  • the processing unit of inverse quantization (quantization at the time of encoding) and inverse frequency conversion (frequency conversion at the time of encoding) is H.264. Similar to the H.264 standard, the maximum size is 16 ⁇ 16 pixels.
  • the configuration of the encoded stream is the same as the encoded stream of the first embodiment as shown in FIG. 8B. Therefore, the decoding operation of one sequence of the encoded stream by the image decoding apparatus 500A is the same as that of Embodiment 1 as shown in FIG. Similarly, the decoding operation of one macroblock by the image decoding apparatus 500A is the same as that in Embodiment 1 as shown in FIG. However, since the processes of motion compensation (S1005) and in-plane prediction (S1006) are different from those of the first embodiment, details will be described below.
  • FIG. 24 is a flowchart showing the motion compensation operation by the variable block corresponding motion compensation unit 2006 of the image decoding device 500A. This flowchart shows the processing operation of step S1005 of FIG.
  • the macroblock size determination unit 2101 determines whether the macroblock is larger than 16 ⁇ 16 pixels (S2401). When it is determined that the macroblock is larger than 16 ⁇ 16 pixels (Y in S2401), the variable block corresponding motion compensation unit 2006 performs the same processes as those in the flowchart shown in FIG. 11 of the first embodiment. Therefore, here, the same numbers (S1101 to S1104) are assigned to the respective processes, and the description thereof is omitted. When it is determined that the macro block is 16 ⁇ 16 pixels or less (N in S2401), the variable block corresponding motion compensation unit 2006 The motion compensation of the macroblock is performed in the same procedure as that of the image decoding apparatus compliant with the H.264 standard (S2402). Thus, motion compensation for one macroblock is completed.
  • FIG. 25 is a flowchart showing the operation of intra prediction by the variable block corresponding intra prediction unit 2007 of the image decoding apparatus 500A. This flowchart shows the processing operation of step S1006 of FIG.
  • the macroblock size determination unit 2201 determines whether the macroblock is larger than 16 ⁇ 16 pixels (S2501). When it is determined that the macroblock is larger than 16 ⁇ 16 pixels (Y in S2501), the variable block corresponding in-plane prediction unit 2007 executes each process similar to the flowchart shown in FIG. 18 of the first embodiment. . Therefore, here, each of these processes is assigned the same number (S1801 to S1804), and the description thereof is omitted. When it is determined that the macroblock is 16 ⁇ 16 pixels or less (N in S2501), the variable block corresponding in-plane prediction unit 2007 determines that the H.264 is H.264. The in-plane prediction of the macroblock is performed in the same procedure as that of the H.264 standard compliant image decoding apparatus (S2502). This completes the in-plane prediction for one macroblock.
  • the variable block corresponding motion compensation unit 2006 includes the macroblock size determination unit 2101.
  • the macroblock size is variable, it is possible to perform processing for each macroblock having a different size with only one circuit capable of performing motion compensation of 16 ⁇ 16 pixels. Therefore, it is not necessary to mount a different circuit (motion compensation unit) for each macroblock size for motion compensation, and an increase in the circuit scale of the motion compensation unit can be suppressed.
  • the motion compensation calculation unit 603 in the variable block corresponding motion compensation unit 2006 of the present embodiment is a motion compensation calculation unit that supports motion compensation calculations of a plurality of image encoding methods, for each image encoding method, Even if the macroblock sizes are different, those macroblocks can be decoded. For example, H.264 having a macroblock size of 16 ⁇ 16 pixels.
  • One circuit can support the H.264 standard and the next-generation encoding methods proposed in Non-Patent Documents 3 to 5 having a macroblock size larger than 16 ⁇ 16 pixels.
  • the variable block corresponding in-plane prediction unit 2007 includes a macroblock size determination unit 2201.
  • the macroblock size is variable, it is possible to perform processing for each macroblock having a different size with only one circuit capable of performing in-plane prediction of 16 ⁇ 16 pixels. . Therefore, it is not necessary to mount different circuits (in-plane prediction units) for each macroblock size for in-plane prediction, and an increase in the circuit scale of the in-plane prediction unit can be suppressed.
  • the in-plane prediction calculation unit 703 in the variable block corresponding in-plane prediction unit 2007 of the present embodiment is an in-plane prediction calculation unit corresponding to the in-plane prediction calculation of a plurality of image encoding methods
  • these macroblocks can be decoded.
  • H.264 having a macroblock size of 16 ⁇ 16 pixels.
  • One circuit can support the H.264 standard and the next-generation encoding methods proposed in Non-Patent Documents 3 to 5 whose macroblock size is larger than 16 ⁇ 16 pixels.
  • the encoded moving image to be decoded is a variable length code, but may be another code.
  • the encoded moving image to be decoded may be an image encoded by any encoding method such as a Huffman code, a run length code, or an arithmetic code.
  • each processing unit may be realized by a circuit using dedicated hardware, or may be realized by a program on a processor.
  • frame memory 502 and the reconstructed image memory 509 are memories, any other configuration such as a flip-flop may be used as long as it is a storage element capable of storing data. Furthermore, a configuration using a part of the memory area of the processor or a part of the cache memory may be used.
  • the encoded video is H.264 except that the maximum macroblock size is 128 ⁇ 128 pixels and the maximum unit block for motion compensation and in-plane prediction is 128 ⁇ 128 pixels.
  • the maximum macroblock size is 128 ⁇ 128 pixels
  • the maximum unit block for motion compensation and in-plane prediction is 128 ⁇ 128 pixels.
  • any image coding standard such as the MPEG2 standard, the MPEG4 standard, or the VC-1 standard may be supported.
  • the maximum size of a unit block for macroblock size, motion compensation, and in-plane prediction is 128 ⁇ 128 pixels has been described, but the size may exceed 128 ⁇ 128 pixels.
  • the motion compensation block dividing unit 601 and the in-plane prediction block dividing unit 701 divide the macroblock into 16 ⁇ 16 pixel divided blocks. Even with the size, the image decoding apparatus 500A according to the present embodiment can decode the encoded moving image.
  • each process of decoding a macroblock of an encoded moving image is sequentially performed.
  • each processing unit is piped in units of 16 ⁇ 16 pixels.
  • the encoded moving image is decoded by performing line processing. Therefore, in this embodiment, a control unit that performs macroblock size determination processing, macroblock division processing, and pipeline control processing is provided instead of the control unit 501 of the first or second embodiment.
  • FIG. 26 is a configuration diagram of the image decoding apparatus according to the present embodiment.
  • the image decoding apparatus 500B includes a control unit 2601, a frame memory 502, a reconstructed image memory 509, a variable length decoding unit 503, a 16 ⁇ 16 inverse quantization unit 2604, and a 16 ⁇ 16 inverse frequency conversion unit 2605, 16 A x16 motion compensation unit 2606, a 16x16 in-plane prediction unit 2607, a 16x16 reconstruction unit 2608, and a 16x16 deblock filter unit 2610 are included. That is, the image decoding apparatus 500B has a control including a macroblock size determination unit 2601a, a macroblock division unit 2601b, and a pipeline control unit 2601c instead of the control unit 501, as compared with the image decoding apparatus 500 of the first embodiment.
  • image decoding apparatus 500B replaces dequantization section 504, inverse frequency conversion section 505, motion compensation section 506, in-plane prediction section 507, reconstruction section 508, and deblocking filter section 510 of Embodiment 1.
  • a deblock filter unit 2610 is provided.
  • Other components are the same as those in FIG. 5 in the first embodiment or FIG. 20 in the second embodiment, and the same numbers are given and description thereof is omitted.
  • the macroblock size determination unit 2601a calculates the macroblock size from the macroblock type passed from the variable length decoding unit 503, and determines whether the macroblock size is larger than 16 ⁇ 16 pixels. When the macro block is larger than 16 ⁇ 16 pixels, the macro block dividing unit 2601b divides the macro block into divided blocks of 16 ⁇ 16 pixel size.
  • the pipeline control unit 2601c includes a 16 ⁇ 16 inverse quantization unit 2604, a 16 ⁇ 16 inverse frequency transform unit 2605, a 16 ⁇ 16 motion compensation unit 2606, a 16 ⁇ 16 in-plane prediction unit 2607, a 16 ⁇ 16 reconstruction unit 2608,
  • the 16 ⁇ 16 deblocking filter unit 2610 is controlled to perform pipeline control so that the encoded moving image is decoded in units of 16 ⁇ 16 pixel blocks (divided blocks).
  • the 16 ⁇ 16 inverse quantization unit 2604 performs inverse quantization in units of 16 ⁇ 16 pixels.
  • the 16 ⁇ 16 reverse frequency conversion unit 2605 performs reverse frequency conversion in units of 16 ⁇ 16 pixels.
  • the 16 ⁇ 16 motion compensation unit 2606 performs motion compensation in units of 16 ⁇ 16 pixels.
  • the 16 ⁇ 16 in-plane prediction unit 2607 performs in-plane prediction in units of 16 ⁇ 16 pixels.
  • the 16 ⁇ 16 reconstruction unit 2608 performs reconstruction processing in units of 16 ⁇ 16 pixels.
  • the 16 ⁇ 16 deblock filter unit 2610 performs a deblock filter in units of 16 ⁇ 16 pixels.
  • each processing unit in the first or second embodiment performs pipeline processing in units of macroblocks. However, each processing unit in the present embodiment performs pipeline processing in units of 16 ⁇ 16 pixel blocks. ing.
  • the picture of the encoded moving image decoded by the image decoding apparatus 500B according to the present embodiment is configured in the same manner as in FIG. 23 of the second embodiment, and the size of the macroblock is not a fixed size of 32 ⁇ 32 pixels but a variable size. It has become. That is, the size of the macroblock is from 16 ⁇ 16 pixels to a maximum of 128 ⁇ 128 pixels, and motion compensation and in-plane prediction are performed in units of a maximum of 128 ⁇ 128 pixels.
  • the processing units of inverse quantization (quantization at the time of encoding) and inverse frequency conversion (frequency conversion at the time of encoding) are H.264. Similar to the H.264 standard, the maximum size is 16 ⁇ 16 pixels.
  • the encoded stream has the same configuration as the encoded stream of the first or second embodiment. Therefore, the decoding operation of one sequence of the encoded stream by the image decoding apparatus 500B is the same as that in Embodiment 1 or 2 as shown in FIG.
  • FIG. 27 is a flowchart showing the decoding operation of one macroblock by the image decoding device 500B. This flowchart shows the processing operation of step S904 in FIG.
  • the variable length decoding unit 503 performs variable length decoding on the input encoded stream (S1001).
  • the macroblock size determination unit 2601a calculates the macroblock size from the macroblock type obtained by variable length decoding, and determines whether the macroblock size is larger than 16 ⁇ 16 pixels (S2710).
  • the macroblock dividing unit 2601b divides the macroblock into 16 ⁇ 16 pixel units (S2711). That is, when the macro block is divided, the macro block dividing unit 2601b calculates position information indicating the position of each divided block in the macro block, and when the macro block is an inter macro block, the movement of each divided block is calculated.
  • a vector and a reference index are calculated, and when the macroblock is an intra macroblock, an in-plane prediction mode of each divided block is calculated. Since this calculation content is the same as that in step S1101 (FIG. 11) and step S1801 (FIG. 18) in the first or second embodiment, detailed description thereof is omitted.
  • the macroblock division process S2711 is not performed. As described above, the processing in steps S1001, S2710, and S2711 is assigned to stage 0 of the pipeline processing by the pipeline control unit 2601c.
  • the 16 ⁇ 16 inverse quantization unit 2604 performs inverse quantization (S2702) with the 16 ⁇ 16 pixel block as a unit, and the 16 ⁇ 16 inverse frequency transform unit 2605 performs the inverse with the 16 ⁇ 16 pixel block as a unit. Frequency conversion is performed (S2703). As a result, a difference image composed of 16 ⁇ 16 pixels is generated.
  • the control unit 2601 uses the 16 ⁇ 16 inverse quantization unit 2604 and the 16 ⁇ 16 inverse frequency transform unit 2605 as position information indicating the position of the divided block in the macro block. Output to.
  • the 16 ⁇ 16 inverse quantization unit 2604 and the 16 ⁇ 16 inverse frequency transform unit 2605 determine a division block (16 ⁇ 16 pixel block) to be processed according to the position information output from the control unit 2601.
  • the processing unit of inverse quantization and inverse frequency transform is H.264. Similar to the H.264 standard, the maximum size is 16 ⁇ 16 pixels. Therefore, the calculation contents of inverse quantization and inverse frequency conversion are described in H.264. The operation is the same as that specified in the H.264 standard.
  • the processing in step S2702 and step S2703 is assigned to stage 1 of the pipeline processing by the pipeline control unit 2601c.
  • the control unit 2601 determines whether the decoding target macroblock is an inter macroblock (S2704).
  • the 16 ⁇ 16 motion compensation unit 2606 generates a prediction image by performing motion compensation in units of 16 ⁇ 16 pixels (S2705).
  • the control unit 2601 obtains the position information indicating the position of the divided block in the macro block, the motion vector and the reference index of the divided block, and the 16 ⁇ 16 motion compensation unit 2606. Have passed on. Therefore, the 16 ⁇ 16 motion compensation unit 2606 performs motion compensation on the division block to be decoded based on the above-described information passed from the control unit 2601.
  • step S1101 (FIG. 11) in the first or second embodiment.
  • motion compensation when the decoding target block is a divided block is the same as the processing in steps S1102 and S1103 (FIG. 11) in the first or second embodiment.
  • the 16 ⁇ 16 in-plane prediction unit 2607 performs prediction in-plane prediction in units of 16 ⁇ 16 pixels. Is generated (S2706).
  • the control unit 2601 determines the position information indicating the position of the divided block in the macro block and the in-plane prediction mode of the divided block as a 16 ⁇ 16 in-plane prediction unit 2607. Have passed on. Accordingly, the 16 ⁇ 16 in-plane prediction unit 2607 performs in-plane prediction on the division block to be decoded based on the above-described information passed from the control unit 2601.
  • the calculation content of the in-plane prediction mode of the divided block is the same as the processing in step S1801 (FIG. 18) in the first or second embodiment. Further, in-plane prediction when the decoding target block is a divided block is the same as the processing in steps S1802 and S1803 (FIG. 18) in the first or second embodiment.
  • the 16 ⁇ 16 reconstruction unit 2608 generates a prediction image generated by 16 ⁇ 16 motion compensation (S2705) or 16 ⁇ 16 in-plane prediction (S2706) by 16 ⁇ 16 inverse frequency transform (S2703). By adding the difference images, a reconstructed image having a 16 ⁇ 16 pixel size is generated (S2707).
  • step S2704, step S2705, step S2706, and step S2707 are assigned to stage 2 of the pipeline process by the pipeline control unit 2601c.
  • the 16 ⁇ 16 deblocking filter unit 2610 performs a deblocking filter on the reconstructed image having a 16 ⁇ 16 pixel size (S2708).
  • the deblock filter processing in step S2708 is assigned to stage 3 of the pipeline processing by the pipeline control unit 2601c.
  • the decoding operation of the 16 ⁇ 16 pixel block is completed by performing the processing from step S2702 to step S2708. Thereafter, the control unit 2601 determines whether or not there is an unprocessed 16 ⁇ 16 pixel block in the decoding target macroblock (S2712), and step S2702 until processing of all 16 ⁇ 16 pixel blocks is completed. From step S2708, each processing unit is repeatedly executed. If the macroblock is 16 ⁇ 16 pixels or less, the determination in step S2712 is always N. When there is no unprocessed 16 ⁇ 16 pixel block, the decoding process for one macroblock is completed. As shown in FIG.
  • variable length decoding (S1001) and macroblock division (S2711) are stage 0, inverse quantization (S2702) and inverse frequency transform (S2703) are stage 1, motion compensation (S2705) or surface Intra prediction (S2706) and reconstruction processing (S2707) are assigned to stage 2, and deblock filter processing (S2708) is assigned to stage 3, and pipeline processing is performed.
  • This pipeline processing is controlled by a pipeline control unit 2601c in the control unit 2601.
  • FIG. 28 is a diagram illustrating an example of a pipeline processing operation performed by the image decoding device 500B according to the present embodiment.
  • This example shows a processing operation when MB (Macroblock) 4 has a size of 32 ⁇ 32 pixels, and other macroblocks have a size of 16 ⁇ 16 pixels.
  • MB4 is processed by being divided into four 16 ⁇ 16 pixel divided blocks of MB4-0, MB4-1, MB4-2, and MB4-3 in stages 1 to 3. . Since these divided blocks are the same size as the other 16 ⁇ 16 pixel size macroblocks (MB5, MB6, etc.), the divided blocks are processed in the same processing cycle as that of the 16 ⁇ 16 pixel size macroblock. Can be processed. As a result, it is possible to perform pipeline processing with less space than in the case of performing pipeline processing with the conventional image decoding apparatus shown in FIG.
  • the control unit 2601 of the image decoding apparatus 500B includes the macroblock size determination unit 2601a, the macroblock division unit 2601b, and the pipeline control unit 2601c, and performs each of dequantization and motion compensation.
  • the processing unit can process the encoded moving image in units of 16 ⁇ 16 pixels.
  • pipeline processing for decoding a coded moving image with a variable macroblock size can be realized in units of 16 ⁇ 16 pixels, and each processing of macroblock decoding can be executed in parallel.
  • the image decoding apparatus 500B according to the present embodiment has less space generated during pipeline processing than the pipeline processing of the conventional image decoding apparatus shown in FIG. It is possible.
  • each processing unit since the macroblock is divided and processed, each processing unit only needs to have a function capable of processing a 16 ⁇ 16 pixel block even if the macroblock size is increased, and the circuit scale of each processing unit is increased. Can be suppressed.
  • the encoded moving image to be decoded is a variable length code, but may be another code.
  • the encoded moving image to be decoded may be an image encoded by any encoding method such as a Huffman code, a run length code, or an arithmetic code.
  • each processing unit may be realized by a circuit using dedicated hardware, or may be realized by a program on a processor.
  • frame memory 502 and the reconstructed image memory 509 are memories, any other configuration such as a flip-flop may be used as long as it is a storage element capable of storing data. Furthermore, a configuration using a part of the memory area of the processor or a part of the cache memory may be used.
  • the encoded video is H.264 except that the maximum macroblock size is 128 ⁇ 128 pixels and the maximum unit block for motion compensation and in-plane prediction is 128 ⁇ 128 pixels.
  • the maximum macroblock size is 128 ⁇ 128 pixels
  • the maximum unit block for motion compensation and in-plane prediction is 128 ⁇ 128 pixels.
  • any image coding standard such as the MPEG2 standard, the MPEG4 standard, or the VC-1 standard may be supported.
  • the maximum size of a unit block for macroblock size, motion compensation, and in-plane prediction is 128 ⁇ 128 pixels has been described, but the size may exceed 128 ⁇ 128 pixels.
  • the control unit 2601 controls the whole so that the macro block is divided into 16 ⁇ 16 pixel divided blocks and subjected to pipeline processing.
  • the image decoding apparatus 500B according to the present embodiment can decode the encoded moving image.
  • variable length decoding (S1001) and macroblock division (S2711) are stage 0, inverse quantization (S2702) and inverse frequency transform (S2703) are stage 1, and in-plane prediction (S2706) or motion is performed.
  • Compensation (S2705) and reconstruction processing (S2707) are assigned to stage 2 and deblocking filter processing (S2708) are assigned to stage 3, and pipeline processing is performed.
  • How to assign each processing to each stage and the number of stages are Other methods may be used.
  • the inverse quantization (S2702) and the inverse frequency transform (S2703) may be separated into different stages, or the in-plane prediction (S2706) or motion compensation (S2705) and the reconstruction process (S2707) may be separated.
  • It may be a different stage.
  • the stage 1 and the stage 2 may be combined into one stage for processing.
  • various combinations of the method of assigning each process to the stages and the number of stages are conceivable.
  • stage 0 for performing variable length decoding (S1001) and macroblock division (S2711) is incorporated in the pipeline processing, but the processing of stage 0 is excluded from the pipeline processing, Prior to the decoding process (S904 in FIG. 9), it may be performed in advance. In this case, pipeline processing is performed in three stages 1 to 3. As shown in FIG. 28, since only the processing of stage 0 is not performed by dividing the macroblock, if the macroblock size exceeds 16 ⁇ 16 pixels, the processing cycle of stage 0 is extended. As a result, vacancies are generated in stages 1 to 3, but if the processing of stage 0 is performed in advance and pipeline processing is performed in three stages of stages 1 to 3, no vacancies are generated. .
  • the image decoding apparatus is characterized in that it eliminates the processing space in stage 0 by providing a buffer or memory.
  • FIG. 29 is a block diagram of an image decoding apparatus according to this modification.
  • the image decoding device 500C includes all the components of the image decoding device 500B and a coefficient information memory 2620.
  • the image decoding device 500C includes a control unit 2601, a frame memory 502, a reconstructed image memory 509, a variable length decoding unit 503, a 16 ⁇ 16 inverse quantization unit 2604, and a 16 ⁇ 16 inverse frequency transform unit 2605, 16 A ⁇ 16 motion compensation unit 2606, a 16 ⁇ 16 in-plane prediction unit 2607, a 16 ⁇ 16 reconstruction unit 2608, a 16 ⁇ 16 deblock filter unit 2610, and a coefficient information memory 2620 are included.
  • the coefficient information memory 2620 has an area for recording coefficient information output from the variable length decoding unit 503.
  • the variable length decoding unit 503 When the variable length decoding unit 503 generates coefficient information by performing variable length decoding of the encoded stream for each MB, the coefficient information is stored in the coefficient information memory 2620.
  • the 16 ⁇ 16 inverse quantization unit 2604 When performing inverse quantization, the 16 ⁇ 16 inverse quantization unit 2604 reads all or part of the coefficient information corresponding to the 16 ⁇ 16 pixel block from the coefficient information memory 2620, and performs inverse processing on the coefficient information. Perform quantization. For example, when a 16 ⁇ 16 pixel block is a divided block divided from a 32 ⁇ 32 pixel super macroblock, the 16 ⁇ 16 inverse quantization unit 2604 uses one of coefficient information for the super macroblock. Part is read and inverse quantization is performed. When the 16 ⁇ 16 pixel block is a normal macroblock that is not a divided block, the 16 ⁇ 16 inverse quantization unit 2604 reads all the coefficient information for the macroblock and performs inverse quantization.
  • variable length decoding unit 503 can sequentially perform variable length decoding on blocks subsequent to the 16 ⁇ 16 pixel block by the 16 ⁇ 16 inverse quantization unit 2604 without waiting for inverse quantization. That is, the process of stage 0 can be advanced regardless of the progress of the processes of stages 1 to 3.
  • FIG. 30 is a diagram illustrating an example of a pipeline processing operation by the image decoding device 500C according to the present modification.
  • the processing operation when MB (Macroblock) 4 is 32 ⁇ 32 pixel size and the other macroblocks are 16 ⁇ 16 pixel size is shown.
  • MB4 is divided into four 16 ⁇ 16 pixel divided blocks of MB4-0, MB4-1, MB4-2, and MB4-3 and processed in stages 1 to 3. .
  • stage 0 in the present modification processing for MB6, MB7,... Can be performed immediately after processing for MB5. Thereby, it is possible to eliminate processing vacancies in stage 0.
  • variable-length decoding unit 503 by providing the coefficient information memory 2620 between the variable-length decoding unit 503 and the 16 ⁇ 16 inverse quantization unit 2604, the “vacant” variable-length decoding stage that occurs when pipelining is performed. Can be processed without generating.
  • coefficient information memory 2620 may be inside the LSI, or may be a DSRAM outside the LSI. Further, the frame memory 502 or the reconstructed image memory 509 may have a function as the coefficient information memory 2620.
  • the image decoding apparatus and method according to the present invention are not limited to Embodiments 1 to 3 described above, and may be the image decoding apparatus and image decoding method shown in FIGS. 31A to 34 below. Even with such an image decoding apparatus and image decoding method, the same operational effects as those of the first to third embodiments can be obtained.
  • FIG. 31A is a block diagram of an image decoding apparatus according to the present invention.
  • An image decoding apparatus 10 is an image decoding apparatus 10 that decodes an encoded moving image (encoded stream) generated by encoding a plurality of pictures included in a moving image for each block, and the encoding
  • a block dividing unit 11 that divides a decoding target block, which is a block included in a moving picture picture, into a plurality of divided blocks, and image data acquisition that acquires image data corresponding to each divided block from the recording medium 20 for each divided block.
  • Unit 12 a prediction unit 13 that generates a predicted image of the divided block based on the image data acquired by the image data acquisition unit 12 for each divided block, and a generated block for each divided block.
  • a reconstruction unit that reconstructs the divided block by adding the predicted image to the divided block And a 4.
  • the image decoding device 10 corresponds to the image decoding device 500 of the first embodiment, the image decoding device 500A of the second embodiment, and the image decoding device 500B of the third embodiment.
  • the block division unit 11 corresponds to at least one of the motion compensation block division unit 601 and the intra prediction block division unit 701 in each of the first and second embodiments, and the macroblock division unit 2601b in the third embodiment. It corresponds to.
  • the image data acquisition unit 12 corresponds to at least one of the reference image acquisition unit 602 and the reconstructed image acquisition unit 702 in each of the first and second embodiments, and the 16 ⁇ 16 motion compensation unit 2606 in the third embodiment and This corresponds to a part of functions provided in at least one of the 16 ⁇ 16 in-plane prediction units 2607.
  • the prediction unit 13 corresponds to at least one of the motion compensation calculation unit 603 and the in-plane prediction calculation unit 703 in each of the first and second embodiments, and the 16 ⁇ 16 motion compensation units 2606 and 16 ⁇ in the third embodiment. This corresponds to a part of functions provided in at least one of the 16 in-plane prediction units 2607.
  • the reconstruction unit 14 corresponds to the reconstruction unit 508 in each of the first and second embodiments, and corresponds to the 16 ⁇ 16 reconstruction unit 2608 in the third embodiment.
  • the recording medium 20 corresponds to the frame memory 502 and the reconstructed image memory 209 in each of the first to third embodiments.
  • the block or the block to be decoded is, for example, a macro block and has a size exceeding 16 ⁇ 16 pixels.
  • the divided block has a size of 16 ⁇ 16 pixels, for example.
  • the image data acquired by the image data acquisition unit 12 is a reference image or a reconstructed image.
  • FIG. 31B is a flowchart showing an image decoding method according to the present invention.
  • the image decoding method is an image decoding method for decoding an encoded moving image generated by encoding a plurality of pictures included in a moving image for each block, and is included in a picture of the encoded moving image.
  • a block division step S11 that divides a block to be decoded into a plurality of divided blocks, an image acquisition step S12 that obtains image data corresponding to the divided block from the recording medium 20 for each divided block, and a divided block
  • a prediction step S13 for generating a predicted image of the divided block based on the image data acquired in the image acquisition step S12; and for each divided block, the predicted image generated for the divided block is added to the divided block.
  • the decoding of the encoded moving image by such an image decoding method is performed by the image decoding device 10 shown in FIG. 31A.
  • steps S11 to S13 correspond to steps S1101 to S1103 in FIG. 11 or steps S1801 to S1803 in FIG. Further, step S14 corresponds to step S1007 in FIG.
  • steps S11 to S13 correspond to steps S1101 to S1103 in FIG. 24 or steps S1801 to S1803 in FIG. Further, step S14 corresponds to step S1007 in FIG.
  • steps S11 to S13 correspond to steps S2711 and S2705 or step S2706 in FIG. 27, and step S14 corresponds to step S2707 in FIG.
  • the size of a block (for example, a macroblock) configured as a unit of encoding an encoded moving image is, for example, H.264.
  • the block is divided into a plurality of divided blocks having a size of 16 ⁇ 16 pixels, for example. Therefore, the circuit scale for generating the predicted image is not required.
  • the prediction unit 13 can be suppressed to a circuit scale that can generate a prediction image for a block having a size of 16 ⁇ 16 pixels or less. Therefore, it is possible to decode an encoded moving image having a large size block while suppressing an increase in circuit scale. That is, the above-described image decoding apparatus 10 and image decoding method achieve the object according to the present invention even if other components such as the deblock filter unit 510 included in the first to third embodiments are not included. Can do.
  • FIG. 32 is a block diagram of another image decoding apparatus according to the present invention.
  • the image decoding device 10a includes each component included in the image decoding device 10, and further includes a determination unit 15 that determines whether or not the size of the decoding target block is larger than a predetermined size. 11 divides the decoding target block into a plurality of divided blocks when the determination unit 15 determines that the block is large.
  • the determination unit 15 corresponds to the macroblock size determination unit 2101 or 2201 of the second embodiment and the macroblock size determination unit 2601a of the third embodiment.
  • the encoded moving image since the division is performed when the size of the block (decoding target block) is larger than the predetermined size, for example, if the predetermined size is set to the size of the divided block, the encoded moving image If there is a block of that size or less in the image, the block is processed by the prediction unit 13 without being divided. If there is a block exceeding the size, the block is divided into a plurality of divided blocks. The prediction unit 13 processes each divided block. Therefore, even when the sizes of a plurality of blocks included in the encoded moving image are different from each other, the encoded moving image can be appropriately decoded while suppressing the circuit scale.
  • FIG. 33 is a block diagram of another image decoding apparatus according to the present invention.
  • the image decoding device 10b includes each component included in the image decoding device 10, and further includes an inverse processing unit 16 that sequentially performs inverse quantization and inverse frequency transformation on the decoding target block for each divided block.
  • the inverse processing unit 16 performs inverse quantization and inverse frequency conversion on the second divided block among the plurality of divided blocks, the inverse processing unit 16 has already performed inverse quantization and inverse frequency conversion.
  • a predicted image of the first divided block among the plurality of divided blocks is generated.
  • the inverse processing unit 16 corresponds to the 16 ⁇ 16 inverse quantization unit 2604 and the 16 ⁇ 16 inverse frequency transform unit 2605 of the third embodiment.
  • the first divided block corresponds to, for example, MB4-0 shown in FIG. 28 of the third embodiment
  • the second divided block corresponds to, for example, MB4-1 shown in FIG. 28 of the third embodiment.
  • the inverse quantization and inverse frequency transformation on the second divided block by the inverse processing unit 16 Generation of a prediction image for the first block by the prediction unit 13 is performed in parallel. That is, the inverse processing unit 16 and the prediction unit 13 can execute pipeline processing for each divided block, and the prediction unit 13 can perform other divisions other than the first divided block included in the block (decoding target block). Processing for the block can be started without waiting for completion of inverse quantization and inverse frequency transform for the block, that is, the entire block (decoding target block). As a result, the processing waiting time can be suppressed, and the efficiency of the decoding process can be improved.
  • FIG. 34 is a block diagram of another image decoding apparatus according to the present invention.
  • the image decoding device 10c includes each component included in the image decoding device 10b, and further, a deblocking filter unit that removes block noise included in the divided block for each divided block reconstructed by the reconstructing unit 14 17, and the deblock filter unit 17 generates a predicted image of the second divided block by the prediction unit 13 and the prediction unit 13 reconstructs the second divided block by the reconstruction unit 14.
  • the block noise included in the first divided block in which the prediction image has already been generated and has been reconstructed by the reconstruction unit 14 is removed.
  • the deblock filter unit 17 corresponds to the 16 ⁇ 16 deblock filter unit 2610 in the third embodiment.
  • the prediction unit 13 After the prediction unit 13 generates a prediction image for the first divided block and the reconstruction unit 14 reconstructs the first divided block, the prediction unit 13 performs the second operation. Generation of the prediction image for the divided block, reconstruction of the second divided block by the reconstruction unit 14, and removal of block noise for the first divided block by the deblocking filter unit 17 are performed in parallel. That is, the prediction unit 13, the reconstruction unit 14, and the deblock filter unit 17 can execute pipeline processing for each divided block, and the deblock filter unit 17 includes the first block included in the block (decoding target block). Processing for a block can be started without waiting for generation of a predicted image and reconstruction of the entire other divided blocks other than one divided block, that is, the entire block (decoding target block). As a result, the processing waiting time can be further suppressed, and the efficiency of the decoding process can be further improved.
  • the recording medium may be any medium that can record a program, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor memory.
  • FIG. 35 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • a communication service providing area is divided into desired sizes, and base stations ex107 to ex110, which are fixed wireless stations, are installed in each cell.
  • the content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine, etc. via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex107 to ex110. Are connected.
  • a computer ex111 a PDA (Personal Digital Assistant) ex112
  • a camera ex113 a mobile phone ex114
  • a game machine etc.
  • the Internet ex101 the Internet service provider ex102
  • the telephone network ex104 the base stations ex107 to ex110.
  • each device may be directly connected to the telephone network ex104 without going through the base stations ex107 to ex110 which are fixed wireless stations.
  • the devices may be directly connected to each other via short-range wireless or the like.
  • the camera ex113 is a device that can shoot moving images such as a digital video camera
  • the camera ex116 is a device that can shoot still images and movies such as a digital camera.
  • the mobile phone ex114 is a GSM (Global System for Mobile Communications) system, a CDMA (Code Division Multiple Access) system, a W-CDMA (Wideband-Code Division Multiple Access) system, an LTE (Long Terminal Evolution) system, an HSPA ( High-speed-Packet-Access) mobile phone or PHS (Personal-Handyphone System), etc.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access
  • LTE Long Terminal Evolution
  • HSPA High-speed-Packet-Access
  • PHS Personal-Handyphone System
  • the camera ex113 and the like are connected to the streaming server ex103 through the base station ex109 and the telephone network ex104, thereby enabling live distribution and the like.
  • live distribution the content (for example, music live video) captured by the user using the camera ex113 is encoded as described in the above embodiments, and transmitted to the streaming server ex103.
  • the streaming server ex103 stream-distributes the content data transmitted to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and a game machine that can decode the encoded data. Each device that has received the distributed data decodes and reproduces the received data.
  • the captured data may be encoded by the camera ex113, the streaming server ex103 that performs data transmission processing, or may be shared with each other.
  • the decryption processing of the distributed data may be performed by the client, the streaming server ex103, or may be shared with each other.
  • still images and / or moving image data captured by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the encoding process in this case may be performed by any of the camera ex116, the computer ex111, and the streaming server ex103, or may be performed in a shared manner.
  • these encoding / decoding processes are generally performed in the computer ex111 and the LSI ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding / decoding software may be incorporated in some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by computer ex111 and the like, and encoding / decoding processing may be performed using the software. Good.
  • moving image data acquired by the camera may be transmitted. The moving image data at this time is data encoded by the LSI ex500 included in the mobile phone ex114.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the encoded data can be received and reproduced by the client.
  • the information transmitted by the user can be received, decrypted and reproduced in real time by the client, and even a user who does not have special rights or facilities can realize personal broadcasting.
  • At least either the image encoding device or the image decoding device of each of the above embodiments can be incorporated in the digital broadcasting system ex200.
  • a bit stream of video information is transmitted to a communication or broadcasting satellite ex202 via radio waves.
  • This bit stream is an encoded bit stream encoded by the moving image encoding method described in the above embodiments.
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting, and this radio wave is received by a home antenna ex204 capable of receiving satellite broadcasting.
  • the received bit stream is decoded and reproduced by a device such as the television (receiver) ex300 or the set top box (STB) ex217.
  • the image decoding apparatus described in the above embodiment can be mounted on the playback apparatus ex212 that reads and decodes a bitstream recorded on a storage medium ex214 such as a CD or DVD that is a recording medium.
  • a storage medium ex214 such as a CD or DVD that is a recording medium.
  • the reproduced video signal is displayed on the monitor ex213.
  • a recording medium ex215 such as a DVD or BD
  • the reproduced video signal is displayed on the monitor ex219, and the video signal can be reproduced in another device or system using the recording medium ex215 on which the encoded bitstream is recorded.
  • an image decoding device may be mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television. At this time, the image decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 37 is a diagram illustrating a television (receiver) ex300 that uses the image decoding method described in each of the above embodiments.
  • the television ex300 obtains or outputs a bit stream of video information via the antenna ex204 or the cable ex203 that receives the broadcast, and the encoded data that demodulates the received encoded data or transmits it to the outside.
  • a modulation / demodulation unit ex302 that modulates the received image data
  • a multiplexing / separation unit ex303 that separates the demodulated video data and audio data or multiplexes the encoded video data and audio data.
  • the television ex300 outputs a decoded audio signal, and an audio signal processing unit ex306 having a video signal processing unit ex305 and an audio signal processing unit ex304 that decodes each of the audio data and video data or encodes each information.
  • the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation.
  • the television ex300 includes a control unit ex310 that performs overall control of each unit, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge unit ex313 connected to an external device such as a reader / recorder ex218, a recording unit ex216 such as an SD card, and an external recording unit such as a hard disk.
  • a driver ex315 for connecting to a medium, a modem ex316 for connecting to a telephone network, and the like may be included.
  • the recording medium ex216 is capable of electrically recording information by using a nonvolatile / volatile semiconductor memory element to be stored.
  • Each part of the television ex300 is connected to each other via a synchronous bus.
  • the television ex300 receives a user operation from the remote controller ex220 and the like, and demultiplexes the video data and audio data demodulated by the modulation / demodulation unit ex302 by the multiplexing / separation unit ex303 based on the control of the control unit ex310 having a CPU or the like. . Furthermore, the television ex300 decodes the separated audio data by the audio signal processing unit ex304, and decodes the separated video data by the video signal processing unit ex305 using the decoding method described in the above embodiments. The decoded audio signal and video signal are output from the output unit ex309 to the outside.
  • these signals may be temporarily stored in the buffers ex318, ex319, etc. so that the audio signal and the video signal are reproduced in synchronization.
  • the television ex300 may read the encoded bitstream encoded from the recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from a broadcast or the like.
  • the television ex300 encodes an audio signal or a video signal and transmits the signal to the outside or to a recording medium.
  • the television ex300 receives a user operation from the remote controller ex220 and the like, encodes an audio signal with the audio signal processing unit ex304, and converts the video signal with the video signal processing unit ex305 based on the control of the control unit ex310.
  • Encoding is performed using the encoding method described in (1).
  • the encoded audio signal and video signal are multiplexed by the multiplexing / demultiplexing unit ex303 and output to the outside.
  • these signals may be temporarily stored in the buffers ex320, ex321, etc. so that the audio signal and the video signal are synchronized.
  • a plurality of buffers ex318 to ex321 may be provided as shown in the figure, or one or more buffers may be shared.
  • data may be stored in the buffer as a buffer material that prevents system overflow and underflow, for example, between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303.
  • the television ex300 has a configuration for receiving AV input of a microphone and a camera, and performs encoding processing on the data acquired from them. Also good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output. However, these processing cannot be performed, and only the reception, decoding processing, and external output can be performed. It may be.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218,
  • the reader / recorder ex218 may share with each other.
  • FIG. 38 shows a configuration of the information reproducing / recording unit ex400 when data is read from or written to the optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401 to ex407 described below.
  • the optical head ex401 irradiates a laser spot on the recording surface of the recording medium ex215 that is an optical disk to write information, and detects information reflected from the recording surface of the recording medium ex215 to read the information.
  • the modulation recording unit ex402 electrically drives a semiconductor laser built in the optical head ex401 and modulates the laser beam according to the recording data.
  • the reproduction demodulator ex403 amplifies the reproduction signal obtained by electrically detecting the reflected light from the recording surface by the photodetector built in the optical head ex401, separates and demodulates the signal component recorded on the recording medium ex215, and is necessary Information is played back.
  • the buffer ex404 temporarily holds information to be recorded on the recording medium ex215 and information reproduced from the recording medium ex215.
  • the disk motor ex405 rotates the recording medium ex215.
  • the servo control unit ex406 moves the optical head ex401 to a predetermined information track while controlling the rotational drive of the disk motor ex405, and performs a laser spot tracking process.
  • the system control unit ex407 controls the entire information reproduction / recording unit ex400.
  • the system control unit ex407 uses various types of information held in the buffer ex404, and generates and adds new information as necessary.
  • the modulation recording unit ex402, the reproduction demodulation unit This is realized by recording / reproducing information through the optical head ex401 while operating the ex403 and the servo control unit ex406 in a coordinated manner.
  • the system control unit ex407 includes, for example, a microprocessor, and executes these processes by executing a read / write program.
  • the optical head ex401 has been described as irradiating a laser spot.
  • a configuration in which higher-density recording is performed using near-field light may be used.
  • FIG. 39 shows a schematic diagram of a recording medium ex215 that is an optical disk.
  • Guide grooves grooves
  • address information indicating the absolute position on the disc is recorded in advance on the information track ex230 by changing the shape of the groove.
  • This address information includes information for specifying the position of the recording block ex231 that is a unit for recording data, and the recording block is specified by reproducing the information track ex230 and reading the address information in a recording or reproducing apparatus.
  • the recording medium ex215 includes a data recording area ex233, an inner peripheral area ex232, and an outer peripheral area ex234.
  • the area used for recording user data is the data recording area ex233, and the inner circumference area ex232 and the outer circumference area ex234 arranged on the inner or outer circumference of the data recording area ex233 are used for specific purposes other than user data recording. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or encoded data obtained by multiplexing these data with respect to the data recording area ex233 of the recording medium ex215.
  • an optical disk such as a single-layer DVD or BD has been described as an example.
  • the present invention is not limited to these, and an optical disk having a multilayer structure and capable of recording other than the surface may be used.
  • an optical disc with a multi-dimensional recording / reproducing structure such as recording information using light of different wavelengths in the same place on the disc, or recording different layers of information from various angles. It may be.
  • the car ex210 having the antenna ex205 can receive data from the broadcasting satellite ex202 and the like, and the moving image can be reproduced on a display device such as the car navigation ex211 that the car ex210 has.
  • the configuration of the car navigation ex211 may be, for example, a configuration in which a GPS receiving unit is added in the configuration illustrated in FIG. 37, and the same may be considered for the computer ex111, the mobile phone ex114, and the like.
  • the transmission / reception terminal having both an encoder and a decoder there are three types of terminals such as the mobile phone ex114, such as a transmission terminal having only an encoder and a receiving terminal having only a decoder, as in the television ex300. The implementation form of can be considered.
  • the moving picture encoding method or the moving picture decoding method described in each of the above embodiments can be used in any of the above-described devices / systems. Effects can be obtained.
  • FIG. 40 shows a form in which the image decoding apparatus shown in the third embodiment is realized as an LSI that is typically a semiconductor integrated circuit.
  • the frame memory 502 is realized on the DRAM, and other circuits and memories are configured on the LSI.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • a drawing device corresponding to various uses can be configured.
  • the present invention can be used as information drawing means in a mobile phone, a television, a digital video recorder, a digital video camera, a car navigation system, and the like.
  • a display a cathode ray tube (CRT), a liquid crystal, a PDP (plasma display panel), a flat display such as an organic EL, a projection display represented by a projector, or the like can be combined.
  • the present embodiment shows the configuration of the system LSI and DRAM (Dynamic Random Access Memory), it may be configured by other storage devices such as eDRAM (embedded DRAM), SRAM (Static Random Access Memory), and hard disks. It doesn't matter.
  • FIG. 41 shows a configuration of an LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex502 to ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 is activated to an operable state by supplying power to each unit when the power supply is on.
  • the LSI ex500 based on the control of the microcomputer ex502, encodes data obtained from the modulation / demodulation unit ex302 by the stream I / O ex504 or a code obtained by reading from the recording medium ex215.
  • the data is temporarily stored in the memory ex511 or the like.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and processing speed and sent to the signal processing unit ex507, where the audio data is decoded and / or the video data is transmitted. Decryption is performed.
  • the decoding process of the video signal is the decoding process described in the above embodiments.
  • each signal may be temporarily stored in the memory ex511 or the like so that the decoded audio signal and the decoded video signal can be reproduced in synchronization.
  • the decoded output signal is output from the AVI / Oex 509 to the monitor ex219 or the like through the memory ex511 or the like as appropriate.
  • the memory controller ex503 is used.
  • the memory ex511 is described as an external configuration of the LSI ex500. However, a configuration included in the LSI ex500 may be used.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • the image decoding apparatus of the present invention has an effect of being able to decode an encoded moving image having a large-sized block while suppressing an increase in circuit scale, and can be used for various applications.
  • it can be used for high-resolution information display devices and imaging devices such as televisions, digital video recorders, car navigation systems, mobile phones, digital cameras, and digital video cameras, and has high utility value.

Landscapes

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

Abstract

 大きいサイズのブロックを有する符号化動画像を、回路規模の増加を抑えて復号する画像復号装置を提供する。この画像復号装置(10)は、符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割部(11)と、分割ブロックごとに、当該分割ブロックに対応する画像データを記録媒体(20)から取得する画像データ取得部(12)と、分割ブロックごとに、画像データ取得部(12)によって取得された画像データに基づいて当該分割ブロックの予測画像を生成する予測部(13)と、分割ブロックごとに、当該分割ブロックに対して生成された予測画像を当該分割ブロックに加算することにより、当該分割ブロックを再構成する再構成部(14)とを備える。

Description

画像復号装置、画像復号方法、集積回路およびプログラム
 本発明は、符号化された画像を復号する画像復号装置及び画像復号方法などに関するもので、特に、復号単位ブロックの大きさが従来の符号化方式(例えばH.264規格)よりも大きい符号化ストリームを復号する画像復号装置及び画像復号方法などに関するものである。
 動画像を符号化する画像符号化装置は、動画像を構成する各ピクチャを16×16画素(水平方向に16画素および垂直方向に16画素)からなるマクロブロック(Macroblock、略してMBと呼ぶこともある)に分割し、ラスタースキャン順にマクロブロックごとに符号化する。そして、画像符号化装置は、動画像を符号化し圧縮した符号化ストリーム(符号化動画像)を生成する。画像復号装置では、この符号化ストリームを同様にラスタースキャン順にマクロブロック単位に復号し、元の動画像の各ピクチャを再生する。
 従来の画像符号化方式の1つとしてITU-T H.264規格がある(例えば、非特許文献1及び非特許文献2を参照)。H.264規格で符号化された画像を復号するには、まず、符号化ストリームを読み込み、各種ヘッダ情報を復号後、可変長復号を行う。可変長復号して得られた係数情報は、逆量子化され、逆周波数変換されて、差分画像が生成される。次に、可変長復号して得られたマクロブロックタイプ(mb_type)に応じて、面内予測または動き補償が行われ、予測画像が生成される。その後、予測画像に差分画像を加算することによって再構成処理を行い、再構成画像が生成される。最後に、再構成画像にデブロックフィルタ処理を行い、復号画像を得る。
 このようにして、可変長復号からデブロックフィルタ処理までをマクロブロック単位に行うことで、符号化された画像を復号していく。復号を高速化させる手法として、マクロブロックを単位として復号処理をパイプライン化させる手法が一般に用いられている(例えば、特許文献1を参照)。マクロブロック単位のパイプライン処理(マクロブロック・パイプライン処理)では、可変長復号からデブロックフィルタ処理までの一連の処理(復号処理)をいくつかステージに分割して、各ステージを並列に処理する。
 図1は、復号処理を4つのステージに分割した場合の、マクロブロック・パイプライン処理の例を示す図である。
 図1に示す例では、1つのマクロブロックに対してステージ0からステージ3までの処理が行われる。ステージ0では、符号化ストリームを可変長復号して、符号化情報及び各画素データに対応する係数情報を出力する。ステージ1では、ステージ0で得られた係数情報に対して、逆量子化して、逆周波数変換を行い、差分画像を生成する。ステージ2では、可変長復号して得られたマクロブロックタイプに応じて、面内予測または動き補償を行って予測画像を生成し、ステージ1で得られた差分画像に予測画像を加えることによって再構成画像を生成する。ステージ3では、ステージ2で得られた再構成画像にデブロックフィルタ処理を行う。このように、パイプライン処理では、各ステージで異なるマクロブロックを同時に処理することで並列処理を実現し、復号処理を高速化させることができる。この時、パイプライン処理のタイムスロット(TS)のサイクルは、最も処理サイクルが長いステージ(最長ステージ)の処理サイクルによって決まる。そのため、あるステージが最長ステージとなり、そのステージの処理サイクルだけが長くなってしまうと、他のステージは、その最長ステージの処理が完了するまで次のマクロブロックの処理を開始できない状態となり、無駄な空きが発生してしまう。パイプライン処理を効率的に動作させるには、各ステージの処理サイクルを均等にさせることが重要である。
 H.264規格では、先ほど述べた通り、16×16画素からなるマクロブロックを単位として画像を符号化している。しかし、符号化単位として16×16画素が、必ずしも最適とは限らない。一般に、画像の解像度が高くなるにつれて、隣接ブロックとの相関が高くなるため、符号化単位を大きくした方がより圧縮効率を向上させることができる。近年、HD(High Definition)画像の利用が広がってきている。さらに、4K2K(4096画素×2048画素)といった超高精細なディスプレイの開発も行われてきており、扱う画像の解像度がますます高くなってくることが予想される。H.264規格では、このように画像の高解像度化が進むにつれて、これらの高解像度の画像を効率的に符号化することができなくなってきている。
 一方、次世代の画像符号化規格として提案されている技術の中には、このような問題を解決する技術がある(非特許文献3、4、5)。これら技術では、従来のH.264規格の符号化単位ブロックサイズを可変にするものであり、従来の16×16画素より大きなブロックで符号化することが可能となっている。
 非特許文献3では、マクロブロックサイズとして16×16画素に加えて、32×32画素や64×64画素などの16×16画素を超えるサイズのマクロブロックを定義し、最大で128×128画素のマクロブロックを定義している。以降、従来の16×16画素サイズのマクロブロックと区別する場合、16×16画素を越えるサイズのマクロブロックを、スーパーマクロブロックと呼ぶことにする。H.264規格と同様に、スーパーマクロブロックは階層構造となっており、ブロックが4つのサブブロックから構成される場合は、サブブロック毎にさらに構成パターンが定義されている。
 図2は、スーパーマクロブロックサイズが64×64画素の場合に取りうる構成パターンを示す図である。このように、マクロブロックサイズを大きくすることで、高解像度の画像の圧縮効率を向上させている。
 非特許文献4では、32×32画素のスーパーマクロブロックを定義している。本文献では、動き補償を行う単位ブロックについても同様に、スーパーマクロブロックの内部ブロックを単位として行う技術について述べられている。また、非特許文献3での技術と同様に、スーパーマクロブロックは階層構造となっているため、動き補償もその階層構造に従って行われる。
 図3は、非特許文献4のスーパーマクロブロックのとり得る構成パターンを示す図である。非特許文献4では、図3に示される通り、H.264規格では定義されていない32×32画素、32×16画素、または16×32画素での動き補償が行われる。
 非特許文献5では32×32画素のスーパーマクロブロックを定義して、H.264規格では定義されていない32×32画素単位で面内予測を行う技術が述べられている。
 このように、高解像度の画像の圧縮効率を向上させるために、符号化および復号の単位ブロックを大きくする方法が、近年、提案されている。なお、動き補償、面内予測処理の処理単位を16×16画素より大きくする方法が提案されているが、逆量子化(符号化時は量子化)、逆周波数変換(符号化時は周波数変換)は16×16画素より大きい単位で行う方法は今のところ提案されていない。
特開2005-295526号公報
ITU-T H.264規格書 Advanced video coding for generic audiovisual services、2005年3月発行 Thomas Wiegand et al、"Overview of the H.264/AVC Video Coding Standard"、 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY、 JULY 2003、 PP.1-19. Jaeil Kimら著、「Enlarging MB size for high fidelity video coding beyond HD」、[online]、ITU-T Video Coding Experts Group、2008年10月8日、[2009年10月19日検索]、インターネット<URL:http://wftp3.itu.int/av-arch/video-site/0810_San/ VCEG-AJ21.zip> P. Chenら著、「Video Coding Using Extended Block Sizes」、[online]、ITU-T Video Coding Experts Group、2008年10月8日、[2009年10月19日検索]、インターネット<URL:http://wftp3.itu.int/av-arch/video-site/0810_San/ VCEG-AJ23.zip> Sung-Chang Limら著、「Intra coding using extended block size」、[online]、ITU-T Video Coding Experts Group、2009年6月1日、[2009年10月19日検索]、インターネット<URL:http://wftp3.itu.int/av-arch/video-site/0906_LG/VCEG-AL28.zip>
 以上のように、非特許文献3~5において、スーパーマクロブロックを導入することで圧縮効率を高める方法が述べられているが、これによって、符号化単位ブロックサイズが増大するため、符号化単位ブロックを処理単位として復号を行う画像復号装置の回路規模が増大するという課題がある。従来は16×16画素ブロックだけを処理できるよう実装していたが、非特許文献3によると、最大128×128画素ブロックまでを処理できるようにしておく必要がある。そのため、動き補償や面内予測などを実行するそれぞれの処理部は最大128×128画素までのブロックを処理できるようにしておく必要があり、これが回路規模を増大させてしまう。また、スーパーマクロブロックのサイズが可変となる場合、取りうる全てのブロックサイズに対応させるには、それぞれのブロックサイズに対応した処理部を実装する必要がある。これも回路規模を増大させることとなる。このように、スーパーマクロブロックに対応した画像復号装置を実現する上で、画像復号装置の回路規模の増大が課題となる。
 また、マクロブロックサイズが可変となることによって、符号化された符号化動画像をパイプライン処理で復号した場合に課題がある。一般に、マクロブロックサイズが大きいほど復号処理サイクルも大きくなるため、ピクチャ内に異なるサイズのマクロブロックが混在していると、パイプライン処理の各ステージの処理サイクルがマクロブロックサイズによって変動してしまう。そのため、何も処理できないウエイト時間が発生し、パイプラインの処理効率が低下してしまい、画像復号装置の処理効率の低下を招く原因となる。
 図4は、パイプライン処理でのウエイト時間が発生する例を示す図である。
 例えば、図4に示されるように4ステージのマクロブロック・パイプライン処理で、スーパーマクロブロックが含まれる符号化ストリームを復号する場合を考える。例として、符号化ストリームは、MB4だけが32×32画素のスーパーマクロブロックで、それ以外は16×16画素の通常のマクロブロックで構成されているとする。この場合、パイプライン処理の動作は図4に示される通り、MB4は、通常のマクロブロックの4倍の大きさとなっているため、処理サイクルが、他のマクロブロックの処理サイクルの4倍になっている。そのため、ステージ1~3では、それぞれMB3、MB2またはMB1の処理が完了した後、ステージ0のMB4の処理が完了するまで何もできず、空き(ウエイト時間)ができてしまっている。同様に、ステージ0、2および3では、それぞれMB5、MB3またはMB2の処理が完了した後、ステージ1のMB4の処理が完了するまで何もできず、ステージ0、1および3では、それぞれMB6、MB5またはMB3の処理が完了した後、ステージ2のMB4の処理が完了するまで何もできない。さらに、ステージ0~2では、それぞれMB7、MB6またはMB5の処理が完了した後、ステージ3のMB4の処理が完了するまで何もできない。このように、スーパーマクロブロックが含まれる符号化ストリームをパイプライン処理で復号する場合に空きが発生してしまい、処理効率が低下してしまう課題がある。
 このようにスーパーマクロブロックを導入することによって、以上の課題が発生するが、非特許文献3~5では、この課題については何も言及がなされていない。
 本発明は、上記従来の課題を解決するものであって、大きいサイズのブロックを有する符号化動画像を、回路規模の増加を抑えて復号する画像復号装置を提供することを目的とする。
 上記目的を達成するために、本発明に係る画像復号装置は、動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像を復号する画像復号装置であって、前記符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割部と、前記分割ブロックごとに、当該分割ブロックに対応する画像データを記録媒体から取得する画像取得部と、前記分割ブロックごとに、前記画像取得部によって取得された画像データに基づいて当該分割ブロックの予測画像を生成する予測部と、前記分割ブロックごとに、当該分割ブロックに対して生成された予測画像を当該分割ブロックに加算することにより、当該分割ブロックを再構成する再構成部とを備える。
 これにより、符号化動画像の符号化の単位として構成されるブロック(例えばマクロブロックなどの復号対象ブロック)のサイズが例えばH.264規格のサイズ(16×16画素サイズ)より大きい場合でも、そのブロックが例えば16×16画素サイズの複数の分割ブロックに分割されるため、予測部は16×16画素サイズを超えるブロックに対して予測画像を生成するための回路規模を必要としない。その結果、予測部を、16×16画素サイズ以下のブロックに対して予測画像を生成し得るだけの回路規模に抑えることができる。したがって、大きいサイズのブロックを有する符号化動画像を、回路規模の増加を抑えて復号することができる。
 また、前記画像取得部は、前記分割ブロックを含むピクチャと異なる、前記符号化動画像の既に再構成された他のピクチャ内の一部分を、前記分割ブロックに対応する前記画像データとして取得し、前記予測部は、前記画像取得部によって取得された前記画像データを参照し、前記分割ブロックに対して動き補償を行うことによって前記予測画像を生成してもよい。例えば、前記ブロック分割部は、前記復号対象ブロックに対して設定されている、動きベクトルと、前記他のピクチャを示すインデックスとを、前記複数の分割ブロックのそれぞれに割り当てることによって、前記復号対象ブロックを前記複数の分割ブロックに分割する。
 これにより、予測画像の生成のための動き補償に必要な回路規模を抑えることができる。
 また、前記画像取得部は、前記分割ブロックを含むピクチャ内の既に再構成された一部分を、前記分割ブロックに対応する前記画像データとして取得し、前記予測部は、前記画像取得部によって取得された前記画像データを参照し、前記分割ブロックに対して面内予測を行うことによって前記予測画像を生成してもよい。例えば、前記ブロック分割部は、前記復号対象ブロックに対して設定されている面内予測モードを、前記複数の分割ブロックのそれぞれに割り当てることによって、前記復号対象ブロックを前記複数の分割ブロックに分割する。
 これにより、予測画像の生成のための面内予測に必要な回路規模を抑えることができる。
 また、前記画像復号装置は、さらに、前記復号対象ブロックのサイズが、予め定められたサイズより大きいか否かを判定する判定部を備え、前記ブロック分割部は、前記判定部によって大きいと判定された場合に、前記復号対象ブロックを前記複数の分割ブロックに分割してもよい。
 これにより、ブロックのサイズが予め定められたサイズよりも大きい場合に分割が行われるため、例えば、その予め定められたサイズを、分割ブロックのサイズにしておけば、符号化動画像にそのサイズ以下のブロックがあった場合には、そのブロックは分割されずに予測部によって処理され、そのサイズを超えるブロックがあった場合には、そのブロックは複数の分割ブロックに分割されて分割ブロックごとに予測部によって処理される。したがって、符号化動画像に含まれる複数のブロックのサイズがそれぞれ異なるような場合でも、回路規模を抑えて適切に符号化動画像を復号することができる。
 また、前記画像復号装置は、さらに、前記復号対象ブロックに対する逆量子化および逆周波数変換を、前記分割ブロックごとに順次行う逆処理部を備え、前記予測部は、前記逆処理部が前記複数の分割ブロックのうちの第2の分割ブロックに対して逆量子化および逆周波数変換を行っているときに、前記逆処理部によって既に逆量子化および逆周波数変換が行われた、前記複数の分割ブロックのうちの第1の分割ブロックの予測画像を生成してもよい。
 これにより、逆処理部によって第1の分割ブロックに対して逆量子化および逆周波数変換が行われた後には、逆処理部による第2の分割ブロックに対する逆量子化および逆周波数変換と、予測部による第1の分割ブロックに対する予測画像の生成とが並列に行われる。つまり、逆処理部および予測部は、分割ブロックごとのパイプライン処理を実行することができ、予測部は、ブロックに含まれる第1の分割ブロック以外の他の分割ブロック、つまりブロックの全体に対する逆量子化および逆周波数変換が終了するのを待つことなく、そのブロックに対する処理を開始することができる。その結果、処理の待ち時間を抑えることができ、復号処理の効率化を図ることができる。
 また、前記画像復号装置は、さらに、前記再構成部によって再構成された前記分割ブロックごとに、当該分割ブロックに含まれるブロックノイズを除去するデブロックフィルタ部を備え、前記デブロックフィルタ部は、前記予測部が前記第2の分割ブロックの予測画像を生成して前記再構成部が前記第2の分割ブロックを再構成しているときに、前記予測部によって既に予測画像が生成され、かつ前記再構成部によって既に再構成された前記第1の分割ブロックに含まれる前記ブロックノイズを除去してもよい。
 これにより、予測部によって第1の分割ブロックに対して予測画像の生成が行われ、再構成部によって第1の分割ブロックの再構成が行われた後には、予測部による第2の分割ブロックに対する予測画像の生成、および再構成部による第2の分割ブロックの再構成と、デブロックフィルタ部による第1の分割ブロックに対するブロックノイズの除去とが並列に行われる。つまり、予測部および再構成部とデブロックフィルタ部とは、分割ブロックごとのパイプライン処理を実行することができ、デブロックフィルタ部は、ブロックに含まれる第1の分割ブロック以外の他の分割ブロック、つまりブロックの全体に対する予測画像の生成および再構成が終了するのを待つことなく、そのブロックに対する処理を開始することができる。その結果、処理の待ち時間をさらに抑えることができ、復号処理のさらなる効率化を図ることができる。
 また、前記画像復号装置は、さらに、メモリと、前記符号化動画像をブロックごとに可変長復号することによって係数情報を生成し、前記係数情報を前記メモリに格納する可変長復号部とを備え、前記逆処理部は、前記分割ブロック対して逆量子化および逆周波数変換を行う際には、前記分割ブロックに対応する前記係数情報の一部を前記メモリから読み出し、読み出された前記係数情報の一部に対して逆量子化および逆周波数変換を行う。
 これにより、復号対象ブロックの分割ブロックに対する逆量子化および逆周波数変換は、その復号対象ブロックが可変長復号されることによって生成された係数情報の一部、つまり、係数情報のうち、その分割ブロックに対応する部分に対して行われる。また、その係数情報は生成されると、メモリに一旦格納され、分割ブロックに対する逆量子化および逆周波数変換は、そのメモリから読み出された係数情報の一部に対して行われる。したがって、分割ブロックよりも後に続くブロックに対する可変長復号を、その分割ブロックに対する逆量子化および逆周波数変換を待つことなく順次行うことができる。つまり、逆量子化、逆周波数変換および予測画像の生成の進行に関わらず、可変長復号を進行させることができる。その結果、処理の待ち時間をさらに抑えることができる。
 なお、本発明は、このような画像復号装置として実現することができるだけでなく、その画像復号装置による処理動作の方法、その処理動作をコンピュータに実行させるためのプログラム、そのプログラムを格納する記録媒体、および、その処理動作を実行する集積回路としても実現することができる。
 本発明によれば、大きいサイズのブロックを有する符号化動画像を、回路規模の増加を抑えて復号することができる。例えば、マクロブロックサイズが16×16画素サイズよりも大きい符号化動画像の復号を小面積で実現することができ、安価な画像復号装置を実現することが可能になるという効果が得られる。
図1は、従来の画像復号装置のマクロブロック・パイプライン処理を示す図である。 図2は、スーパーマクロブロックの構成パターンを示す図である。 図3は、スーパーマクロブロックの動き補償単位ブロックを示す図である。 図4は、16×16画素サイズより大きいマクロブロックを含む符号化動画像を従来の画像復号装置でパイプライン処理して復号した時の動作を示す図である。 図5は、本発明の実施の形態1における画像復号装置の構成図である。 図6は、本発明の実施の形態1における動き補償部の構成図である。 図7は、本発明の実施の形態1における面内予測部の構成図である。 図8Aは、本発明の実施の形態1における画像復号装置が復号する符号化動画像の構成図である。 図8Bは、本発明の実施の形態1における符号化ストリームの構成図である。 図9は、本発明の実施の形態1における符号化ストリームの1シーケンスの復号動作を示すフローチャートである。 図10は、本発明の実施の形態1における1マクロブロックデータの復号動作を示すフローチャートである。 図11は、本発明の実施の形態1における動き補償の動作を示すフローチャートである。 図12は、動き補償の単位ブロックが32×32画素である場合の一般的な動き補償の動作を示す図である。 図13は、本発明の実施の形態1における動き補償でのマクロブロック分割の動作を示す図である。 図14は、本発明の実施の形態1における分割ブロック0の動き補償での参照画像取得の動作を示す図である。 図15は、本発明の実施の形態1における分割ブロック1の動き補償での参照画像取得の動作を示す図である。 図16は、本発明の実施の形態1における分割ブロック2の動き補償での参照画像取得の動作を示す図である。 図17は、本発明の実施の形態1における分割ブロック3の動き補償での参照画像取得の動作を示す図である。 図18は、本発明の実施の形態1の面内予測の動作を示すフローチャートである。 図19Aは、32×32画素サイズのマクロブロックの一般的な面内予測の動作を示す図である。 図19Bは、本発明の実施の形態1における面内予測での分割ブロックの再構成画像取得の動作を示す図である。 図20は、本発明の実施の形態2における画像復号装置の構成図である。 図21は、本発明の実施の形態2における可変ブロック対応動き補償部の構成図である。 図22は、本発明の実施の形態2における可変ブロック対応面内予測部の構成図である。 図23は、本発明の実施の形態2における画像復号装置が復号する符号化動画像の構成図である。 図24は、本発明の実施の形態2における動き補償の動作を示すフローチャートである。 図25は、本発明の実施の形態2における面内予測の動作を示すフローチャートである。 図26は、本発明の実施の形態3における画像復号装置の構成図である。 図27は、本発明の実施の形態3における1マクロブロックデータの復号動作を示すフローチャートである。 図28は、本発明の実施の形態3における画像復号装置で、16×16画素サイズより大きいマクロブロックを含む符号化動画像を復号した時の動作を示す図である。 図29は、本発明の実施の形態3の変形例に係る画像復号装置の構成図である。 図30は、本発明の実施の形態3の変形例に係る画像復号装置によるパイプライン処理動作の一例を示す図である。 図31Aは、本発明に係る画像復号装置の構成図である。 図31Bは、本発明に係る画像復号方法を示すフローチャートである。 図32は、本発明に係る他の画像復号装置の構成図である。 図33は、本発明に係る他の画像復号装置の構成図である。 図34は、本発明に係る他の画像復号装置の構成図である。 図35は、本発明の実施の形態4におけるコンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図36は、本発明の実施の形態4におけるデジタル放送用システムの全体構成図である。 図37は、本発明の実施の形態4におけるテレビの構成例を示すブロック図である。 図38は、本発明の実施の形態4における光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図39は、本発明の実施の形態4における光ディスクである記録メディアの構造例を示す図である。 図40は、本発明の実施の形態5における画像復号装置を実現する集積回路の構成例を示す構成図である。 図41は、本発明の実施の形態6における画像復号装置を実現する他の集積回路の構成例を示す構成図である。
 以下、本発明の実施の形態における画像復号装置について、図面を参照しながら説明する。 
 (実施の形態1)
  (概要)
 マクロブロックのサイズと、動き補償および面内予測の処理単位ブロックのそれぞれのサイズとがH.264規格よりも大きい符号化動画像を復号する本発明の画像復号装置の概要について説明する。本発明の画像復号装置は、上記符号化動画像を構成するマクロブロックをH.264規格のマクロブロックのサイズである16×16画素に分割して、分割ブロックに対して動き補償または面内予測を行う。これによって、マクロブロックが16×16画素を超える大ブロックであっても、16×16画素ブロックの動き補償および面内予測を行えるだけの回路規模で、符号化動画像を復号することができる。
 以上が本発明の画像復号装置の概要についての説明である。
  (構成)
 次に、本実施の形態の画像復号装置の構成について説明する。
 図5は、本実施の形態の画像復号装置の構成図である。
 本実施の形態の画像復号装置500は、全体を制御する制御部501と、復号した画像データを格納するフレームメモリ502と、生成した再構成画像の一部を格納する再構成画像メモリ509と、符号化ストリーム(符号化動画像)を読み込み、符号化ストリームに含まれる可変長符号を復号する可変長復号部503と、逆量子化を行う逆量子化部504と、逆周波数変換を行う逆周波数変換部505と、フレームメモリ502から参照画像を読み出して動き補償を行い予測画像を生成する動き補償部506と、再構成画像メモリ509から再構成画像を読み出して面内予測(イントラ予測ともいう)を行い予測画像を生成する面内予測部507と、差分画像と予測画像を加算して再構成画像を生成し、その一部を再構成画像メモリ509に格納する再構成部508と、再構成画像のブロックノイズを除去し高画質化するデブロックフィルタ部510とから構成される。
 図6は、動き補償部506の構成図である。
 動き補償部506は、動き補償ブロック分割部601と、参照画像取得部602と、動き補償演算部603とから構成される。動き補償ブロック分割部601は、制御部501からマクロブロックタイプ、動きベクトル、および参照インデックス(ref_idx)を受け取り、マクロブロックを16×16画素の分割ブロックに分割する。そして、動き補償ブロック分割部601は、各分割ブロックのマクロブロック内での位置を示す位置情報と、各分割ブロックの動きベクトルおよび参照インデックスとを、参照画像取得部602と動き補償演算部603に渡す。参照画像取得部602は、処理対象の分割ブロックごとに、その分割ブロックの位置情報、動きベクトルおよび参照インデックスに基づいて、その分割ブロックの動き補償で参照する参照画像の位置を計算して、フレームメモリ502から参照画像を取得し、動き補償演算部603に渡す。動き補償演算部603は、参照画像取得部602から渡された参照画像に基づいて、分割ブロックに対して動き補償を行い、生成した予測画像を出力する。
 図7は、面内予測部507の構成図である。
 面内予測部507は、面内予測ブロック分割部701と、再構成画像取得部702と、面内予測演算部703とから構成される。面内予測ブロック分割部701は、制御部501からマクロブロックタイプと面内予測モードを受け取り、マクロブロックを16×16画素の分割ブロックに分割する。そして、面内予測ブロック分割部701は、各分割ブロックのマクロブロック内での位置を示す位置情報と、各分割ブロックの面内予測モードを、再構成画像取得部702と面内予測演算部703に渡す。再構成画像取得部702は、処理対象の分割ブロックごとに、その分割ブロックの位置情報および面内予測モードに基づいて、その分割ブロックの面内予測で参照する再構成画像の位置を計算して、再構成画像メモリ509から再構成画像を取得し、面内予測演算部703に渡す。面内予測演算部703は、再構成画像取得部702から渡された再構成画像に基づいて、分割ブロックに対して面内予測を行い、生成した予測画像を出力する。
 以上が画像復号装置500の構成についての説明である。
  (動作)
 次に、本実施の形態の画像復号装置の動作を説明する。
 図8Aは、本実施の形態の画像復号装置500が復号する符号化動画像の、一連の画像の階層的な構成を示す図である。
 複数のピクチャをひとまとまりにしたものをシーケンスと呼び、各ピクチャはスライスに分割され、各スライスはさらにマクロブロックに分割される。本実施の形態の画像復号装置500が復号する符号化動画像のマクロブロックのサイズは32×32画素で、H.264規格で規定されているサイズよりも大きいとする。動き補償と面内予測処理も、非特許文献4、5の記載に従い、H.264規格での最大サイズである16×16画素よりも大きい単位でも行われる。つまり、動き補償は、H.264規格で規定されているサイズに加えて、32×32画素、32×16画素、または16×32画素を単位として行われる。面内予測は、H.264規格で規定されているサイズに加えて、32×32画素を単位として行われる。なお、動き補償の単位ブロック(サイズ)および面内予測の単位ブロック(サイズ)がマクロブロックのサイズを越えることはない。一方、逆量子化(符号化時は量子化)および逆周波数変換(符号化時は周波数変換)の処理単位は、H.264規格と同様に、最大16×16画素サイズとする。このように、本実施の形態の画像復号装置500が復号する符号化動画像は、マクロブロックサイズが32×32画素で、動き補償および面内予測の単位ブロックが大きくなっている以外は、H.264規格と同様に符号化されている。なお、ピクチャをスライスに分割しない場合もある。
 図8Bは、符号化ストリームの構成を示す図である。
 符号化ストリームは、図8Bに示すように、シーケンス、ピクチャ、スライスおよびマクロブロックなどが階層的に符号化されて構成されており、シーケンスを制御するシーケンスヘッダ、ピクチャを制御するピクチャヘッダ、スライスを制御するスライスヘッダ、およびマクロブロックデータから構成される。スライスを構成するマクロブロックのサイズは、スライスヘッダに含まれている。マクロブロックデータは、さらに、マクロブロックタイプ、面内予測(イントラ予測)モード、動きベクトル情報、および量子化パラメータなどの符号化情報と、各画素データに対応する係数情報とに分けられる。H.264規格では、シーケンスヘッダをSPS(Sequence Parameter Set)、ピクチャヘッダをPPS(Picture Parameter Set)と呼んでいる。
 図9は、画像復号装置500による符号化ストリームの1シーケンスの復号動作を示すフローチャートである。
 図9に示すように、画像復号装置500は、まず、シーケンスヘッダの復号を行う(S901)。シーケンスヘッダの復号(S901)は、制御部501の制御にしたがって、符号化ストリームを可変長復号部503が復号することによって行われる。次に、同様にして、画像復号装置500は、ピクチャヘッダの復号を行い(S902)、スライスヘッダの復号を行う(S903)。
 次に、画像復号装置500は、マクロブロックデータの復号を行うが(S904)、マクロブロックデータの復号については後で詳しく説明する。マクロブロックデータの復号が終わると、画像復号装置500は、そのマクロブロックデータがスライス最後のマクロブロックであるかどうかを判定し(S905)、スライス最後のマクロブロックでない場合は(S905のN)、再度マクロブロックデータの復号を行う。さらに、画像復号装置500は、スライス最後のマクロブロックである場合(S905のY)、そのスライスがピクチャ最後のスライスであるかどうかを判定し(S906)、ピクチャ最後のスライスでない場合は(S906のN)、再度スライスヘッダの復号を行う(S903)。さらに、画像復号装置500は、ピクチャ最後のスライスである場合は(S906のY)、そのピクチャがシーケンス最後のピクチャであるかどうかを判定し(S907)、シーケンス最後のピクチャでない場合は(S907のN)、再度ピクチャヘッダの復号を行う(S902)。シーケンスの全てのピクチャの復号が終わると一連の復号動作を終了する。
 図10は、画像復号装置500による1マクロブロックの復号動作を示すフローチャートである。なお、このフローチャートは、図9のステップS904の処理動作を示す。
 まず、可変長復号部503は、入力された符号化ストリームを可変長復号する(S1001)。可変長復号処理(S1001)では、可変長復号部503は、マクロブロックタイプ、面内予測(イントラ予測)モード、動きベクトル、参照インデックス、および量子化パラメータなどの符号化情報と、各画素データに対応する係数情報とを出力する。符号化情報は、制御部501に出力され、その後各処理部に入力される。係数情報は、次の逆量子化部504に出力される。次に、逆量子化部504は、係数情報に対して逆量子化処理を行い(S1002)、その後、逆周波数変換部505は、逆量子化された係数情報に対して逆周波数変換を行って差分画像を生成する(S1003)。
 次に、制御部501は、マクロブロックタイプに基づいて、復号するマクロブロックがインターマクロブロックか、イントラマクロブロックであるかの判定を行う(S1004)。インターマクロブロックの場合は(S1004のY)、制御部501は動き補償部506を起動し、1/2画素精度や1/4画素精度の予測画像を動き補償部506に生成させる(S1005)。一方、インターマクロブロックで無い場合(S1004のN)、すなわち復号するマクロブロックがイントラマクロブロックの場合は、制御部501は面内予測部507を起動し、面内予測部507に面内予測の処理を実行させ、予測画像を生成させる(S1006)。なお、動き補償および面内予測の処理については、後で詳しく説明する。
 再構成部508は、動き補償部506または面内予測部507が出力する予測画像と、逆周波数変換部505が出力する差分画像とを加算することによって、再構成画像を生成する(S1007)。生成された再構成画像は、デブロックフィルタ部510に渡されると同時に、その一部が、再構成画像メモリ509に格納される。最後に、デブロックフィルタ部510は、再構成部508から再構成画像を取得し、その再構成画像に対して、ブロックノイズを低減するデブロックフィルタ処理を行い、フレームメモリ502に結果を格納する(S1008)。以上で、1マクロブロックの復号動作を終了する。
 図11は、画像復号装置500の動き補償部506による動き補償の動作を示すフローチャートである。なお、このフローチャートは、図10のステップS1005の処理動作を示す。
 まず、動き補償ブロック分割部601は、マクロブロックを16×16画素の分割ブロックに分割する。つまり、動き補償ブロック分割部601は、各分割ブロックのマクロブロック内での位置を示す位置情報と、各分割ブロックの動きベクトルおよび参照インデックスとを計算する(S1101)。各分割ブロックの位置情報は、マクロブロック内での分割ブロックの左上の画素の座標である。なお、分割ブロックの位置情報は、座標ではなく、分割ブロックの位置を示すインデックス番号であってもよい。例えば、32×32画素のマクロブロックの左上に位置する分割ブロックについては、インデックス番号=0、右上に位置する分割ブロックについては、インデックス番号=1、左下に位置する分割ブロックについては、インデックス番号=2、右下に位置する分割ブロックについては、インデックス番号=3のように、インデックス番号を各分割ブロックに割り当てる方法が考えられる。動き補償の単位ブロックが各分割ブロックよりも小さい場合は、各分割ブロック内に含まれる動き補償単位ブロックの動きベクトルと参照インデックスを、それぞれ各分割ブロックの動きベクトルと参照インデックスとする。逆に、分割ブロックよりも大きい単位で動き補償が行われる場合、各分割ブロックの動きベクトルと参照インデックスは、その分割ブロックが属する動き補償の単位ブロックの動きベクトルと参照インデックスとする。
 次に、参照画像取得部602は、分割ブロックの位置情報と、分割ブロックの動きベクトルおよび参照インデックスとから、分割ブロックの動き補償を行う上で参照する参照画像の位置を計算して、その参照画像をフレームメモリ502から取得する(S1102)。取得した参照画像は、動き補償演算部603に渡される。その後、動き補償演算部603は、渡された参照画像を用いて、分割ブロックの動き補償を行い、予測画像を出力する(S1103)。以上で、1つの分割ブロックに対して動き補償が完了する。次に、動き補償部506は、マクロブロック内に、まだ処理を行っていない分割ブロックがあるかどうかを判定して(S1104)、未処理の分割ブロックがある場合は(S1104のY)、未処理の分割ブロックの参照画像の取得(S1102)および動き補償(S1103)を順次行う。未処理の分割ブロックがなくなり、全ての分割ブロックの動き補償が完了すると(S1104のN)、1マクロブロックの動き補償が完了する。
 次に、以上の動き補償の動作を、具体例を使って説明する。
 図12は、動き補償の単位ブロックが32×32画素である場合の一般的な動き補償の動作を示す図である。この例では、図12に示す通り、復号対象マクロブロックにおける動き補償単位ブロックが32×32画素サイズで、その動き補償単位ブロック(復号対象マクロブロック)の参照インデックス(ref_idx)がi、動きベクトルがvとなっている。動き補償は、参照インデックス「i」によって特定されるピクチャを参照ピクチャとし、その参照ピクチャ内で動きベクトルvによって指される32×32画素サイズのブロックを参照画像として処理が行われる。
 本実施形態では、まず、動き補償ブロック分割部601は、32×32画素サイズの復号対象マクロブロックを16×16画素の分割ブロックに分割する。
 図13は、分割ブロックの動きベクトルと参照インデックスを示す図である。
 動き補償単位ブロックは各分割ブロックよりも大きく、復号対象マクロブロックと同等の32×32画素ブロックである。したがって、図13に示す通り、各分割ブロックの動きベクトルと参照インデックスは、32×32画素の動き補償単位ブロック(復号対象マクロブロック)の動きベクトルと参照インデックスとなる。つまり、各分割ブロックの動きベクトルと参照インデックスは、全て、それぞれvとiとなる。ここで、マクロブロック内の左上に位置するブロックを分割ブロック0、右上に位置するブロックを分割ブロック1、左下に位置するブロックを分割ブロック2、右下に位置するブロックを分割ブロック3と呼ぶことにする。以降、分割ブロック0、分割ブロック1、分割ブロック2、分割ブロック3という順で処理が行われる。言い換えれば、動き補償ブロック分割部601は、復号対象マクロブロックを4つの分割ブロック0~3に分割し、動き補償単位ブロック(復号対象マクロブロック)の参照インデックスiを、4つの分割ブロック0~3のそれぞれに割り当て、動き補償単位ブロック(復号対象マクロブロック)の動きベクトルvを、4つの分割ブロック0~3のそれぞれに割り当てる。
 次に、分割ブロック0の位置と、分割ブロック0の動きベクトルvおよび参照インデックスiとから、参照画像取得部602は、分割ブロック0が参照する参照画像をフレームメモリ502から取得する。
 図14は、分割ブロック0に対して取得される参照画像を示す図である。
 分割ブロック0の動きベクトルがv、参照インデックスがiであるから、図14に示される通り、その分割ブロック0に対して参照画像取得部602によって取得される参照画像は、元の32×32画素サイズの動き補償単位ブロックによって参照される32×32画素ブロック中の、左上の16×16画素ブロックとなる。参照画像取得部602は、この16×16画素ブロックを参照画像としてフレームメモリ502から取得する。参照画像の取得が完了すると、動き補償演算部603は、その参照画像を参照して分割ブロック0の動き補償を行い、予測画像を生成する。動き補償の演算は、動きベクトルが小数画素位置を指す場合は、取得した参照画像にフィルタ処理(補完フィルタ処理)を行って予測画像を生成し、動きベクトルが整数画素位置を指す場合は、取得した参照画像をそのまま予測画像とする処理演算である。
 以上で、分割ブロック0の動き補償が完了する。
 同様にして、参照画像取得部602は、次に、分割ブロック1の動き補償で参照する参照画像をフレームメモリ502から取得する。
 図15は、分割ブロック1に対して取得される参照画像を示す図である。
 分割ブロック1の動きベクトルがv、参照インデックスがiであるから、図15に示される通り、その分割ブロック1に対して参照画像取得部602によって取得される参照画像は、元の32×32画素サイズの動き補償単位ブロックによって参照される32×32画素ブロック中の、右上の16×16画素ブロックとなる。参照画像の取得が完了すると、動き補償演算部603は、その参照画像を参照して分割ブロック1の動き補償を行い、予測画像を生成する。以上で、分割ブロック1の動き補償が完了する。
 同様にして、参照画像取得部602は、次に、分割ブロック2の動き補償で参照する参照画像をフレームメモリ502から取得する。
 図16は、分割ブロック2に対して取得される参照画像を示す図である。
 分割ブロック2の動きベクトルがv、参照インデックスがiであるから、図16に示される通り、その分割ブロック2に対して参照画像取得部602によって取得される参照画像は、元の32×32画素サイズの動き補償単位ブロックによって参照される32×32画素ブロック中の、左下の16×16画素ブロックとなる。参照画像の取得が完了すると、動き補償演算部603は、その参照画像を参照して分割ブロック2の動き補償を行い、予測画像を生成する。以上で、分割ブロック2の動き補償が完了する。
 同様にして、参照画像取得部602は、次に、分割ブロック3の動き補償で参照する参照画像をフレームメモリ502から取得する。
 図17は、分割ブロック3に対して取得される参照画像を示す図である。
 分割ブロック3の動きベクトルがv、参照インデックスがiであるから、図17に示される通り、その分割ブロック3に対して参照画像取得部602によって取得される参照画像は、元の32×32画素サイズの動き補償単位ブロックによって参照される32×32画素ブロック中の、右下の16×16画素ブロックとなる。参照画像の取得が完了すると、動き補償演算部603は、その参照画像を参照して分割ブロック3の動き補償を行い、予測画像を生成する。以上で、分割ブロック3の動き補償が完了する。
 以上で、分割ブロック0~3の動き補償が完了し、その結果、動きベクトルがv、参照インデックスがiである復号対象マクロブロックの動き補償の動作が完了する。
 図18は、画像復号装置500の面内予測部507による面内予測の動作を示すフローチャートである。なお、このフローチャートは、図10のステップS1006の処理動作を示す。
 まず、面内予測ブロック分割部701は、マクロブロックを16×16画素の分割ブロックに分割する。つまり、面内予測ブロック分割部701は、各分割ブロックのマクロブロック内での位置を示す位置情報と、各分割ブロックの面内予測モードとを計算する(S1801)。各分割ブロックの位置情報は、マクロブロック内での分割ブロックの左上の画素の座標である。なお、動き補償の場合と同様に、分割ブロックの位置情報は、座標ではなく、分割ブロックの位置を示すインデックス番号であってもよい。面内予測の単位ブロックが各分割ブロックよりも小さい場合は、各分割ブロック内に含まれる面内予測単位ブロックの面内予測モードを、各分割ブロックの面内予測モードとする。逆に、分割ブロックよりも大きい単位で面内予測が行われる場合、分割ブロックの面内予測モードは、その分割ブロックが属する面内予測単位ブロックの面内予測モードを、各分割ブロックの面内予測モードとする。
 次に、再構成画像取得部702は、分割ブロックの位置情報と分割ブロックの面内予測モードとから、分割ブロックの面内予測を行う上で参照する再構成画像の位置を計算して、その再構成画像を再構成画像メモリ509から取得する(S1802)。取得した再構成画像は、面内予測演算部703に渡される。その後、面内予測演算部703は、渡された再構成画像を用いて、分割ブロックの面内予測を行い、予測画像を出力する(S1803)。以上で、1つの分割ブロックに対して面内予測が完了する。次に、面内予測部507は、マクロブロック内に、まだ処理を行っていない分割ブロックがあるかどうかを判定して(S1804)、未処理の分割ブロックがある場合は(S1804のY)、未処理の分割ブロックの再構成画像の取得(S1802)および面内予測(S1803)を順次行う。未処理の分割ブロックがなくなり、全ての分割ブロックの面内予測が完了すると(S1804のN)、1マクロブロックの面内予測が完了する。
 次に、以上の面内予測の動作を、具体例を使って説明する。
 図19Aは、面内予測の単位ブロックが32×32画素である場合の一般的な面内予測の動作を示す図である。この例では、図19Aに示す通り、面内予測モードが「32×32垂直予測モード」となっている。そのため、復号対象マクロブロックの上に隣接する32×1画素サイズの再構成画像ブロック(再構成画像)を用いて面内予測が行われる。具体的には、その面内予測では、その復号対象マクロブロックの上に隣接する32×1画素ブロックの画素値を、下方向にコピーすることによって予測画像が生成される。
 本実施の形態では、まず、面内予測ブロック分割部701は、復号対象マクロブロックを16×16画素の分割ブロックに分割する。
 図19Bは、分割ブロックに対して取得される再構成画像を示す図である。
 面内予測単位ブロックは各分割ブロックよりも大きく、復号対象マクロブロックと同等の32×32画素ブロックである。したがって、各分割ブロックの面内予測モードは、32×32画素の面内予測単位ブロック(復号対象マクロブロック)の面内予測モードとなる。つまり、各分割ブロックの面内予測モードは、全て「32×32垂直予測モード」となる。ここで、マクロブロック内の左上に位置するブロックを分割ブロック0、右上に位置するブロックを分割ブロック1、左下に位置するブロックを分割ブロック2、右下に位置するブロックを分割ブロック3と呼ぶことにする。以降、分割ブロック0、分割ブロック1、分割ブロック2、分割ブロック3という順で処理が行われる。言い換えれば、面内予測ブロック分割部701は、復号対象マクロブロックを4つの分割ブロック0~3に分割し、面内予測単位ブロック(復号対象マクロブロック)の面内予測モード(例えば、32×32垂直予測モード)を、4つの分割ブロック0~3のそれぞれに割り当てる。
 次に、分割ブロック0の位置と、分割ブロック0の面内予測モードとから、再構成画像取得部702は、分割ブロック0が参照する再構成画像を再構成画像メモリ509から取得する。取得される再構成画像の位置とサイズは、以下の手順で決定される。
 まず、再構成画像取得部702は、分割ブロック0に割り当てられた面内予測モードが分割ブロック0を超えるサイズに対応する予測モードであるかどうかを判定する。面内予測モードが、分割ブロック0のサイズを超えないサイズに対応する予測モードであれば、つまり面内予測単位ブロックが16×16画素以下であれば、再構成画像取得部702は、H.264規格対応の画像復号装置と同様の手順で再構成画像を取得すればいい。しかし、この例では、16×16画素サイズの分割ブロック0の面内予測モードが「32×32垂直予測モード」であるため、その面内予測モードは、分割ブロック0を超えるサイズに対応している。この場合、面内予測ブロック分割部701は、面内予測単位ブロック(復号対象マクロブロック)中の分割ブロック0の領域の面内予測で参照される再構成画像の位置とサイズを計算して、再構成画像を取得する。この例では、面内予測モードが「32×32垂直予測モード」であるため、図19Bの(a)に示される通り、取得される再構成画像は、分割ブロック0の上に隣接する16×1画素ブロックとなる。
 以上の手順によって、再構成画像取得部702は、取得する再構成画像の位置とサイズを決定した後、分割ブロック0の上に隣接する16×1画素ブロックを、分割ブロック0に対する再構成画像として再構成画像メモリ509から取得する。再構成画像の取得が完了すると、面内予測演算部703は、取得された再構成画像を用いて分割ブロック0の面内予測を行い、予測画像を生成する。面内予測の演算は、面内予測モードが「32×32垂直予測モード」であるため、取得された16×1画素ブロック(再構成画像)の画素値を下方向にコピーすることによって予測画像を生成する処理である。以上で、分割ブロック0の面内予測が完了する。
 同様にして、再構成画像取得部702は、次に、分割ブロック1の面内予測で参照する再構成画像を再構成画像メモリ509から取得する。分割ブロック1の面内予測モードが「32×32垂直予測モード」であるから、再構成画像取得部702は、図19Bの(b)に示される通り、分割ブロック1の上に隣接する16×1画素ブロックを、分割ブロック1に対する再構成画像として取得する。再構成画像の取得が完了すると、面内予測演算部703は、取得された再構成画像を用いて分割ブロック1の面内予測を行い、予測画像を生成する。面内予測の演算は、面内予測モードが「32×32垂直予測モード」であるため、取得された16×1画素ブロック(再構成画像)の画素値を下方向にコピーすることによって予測画像を生成する処理である。以上で、分割ブロック1の面内予測が完了する。
 同様にして、再構成画像取得部702は、次に、分割ブロック2の面内予測で参照する再構成画像を再構成画像メモリ509から取得する。分割ブロック2の面内予測モードが「32×32垂直予測モード」であるから、再構成画像取得部702は、図19Bの(c)に示される通り、分割ブロック0の上に隣接する16×1画素ブロックを、分割ブロック2に対する再構成画像として取得する。再構成画像の取得が完了すると、面内予測演算部703は、取得された再構成画像を用いて分割ブロック2の面内予測を行い、予測画像を生成する。面内予測の演算は、面内予測モードが「32×32垂直予測モード」であるため、取得された16×1画素ブロック(再構成画像)の画素値を下方向にコピーすることによって予測画像を生成する処理である。以上で、分割ブロック2の面内予測が完了する。
 同様にして、再構成画像取得部702は、次に、分割ブロック3の面内予測で参照する再構成画像を再構成画像メモリ509から取得する。分割ブロック3の面内予測モードが「32×32垂直予測モード」であるから、再構成画像取得部702は、図19Bの(d)に示される通り、分割ブロック1の上に隣接する16×1画素ブロックを、分割ブロック3に対する再構成画像として取得する。再構成画像の取得が完了すると、面内予測演算部703は、取得された再構成画像を用いて分割ブロック3の面内予測を行い、予測画像を生成する。面内予測の演算は、面内予測モードが「32×32垂直予測モード」であるため、取得された16×1画素ブロック(再構成画像)の画素値を下方向にコピーすることによって予測画像を生成する処理である。以上で、分割ブロック3の面内予測が完了する。
 以上で、分割ブロック0~3の面内予測が完了し、その結果、面内予測モードが「32×32垂直予測モード」の復号対象マクロブロックの面内予測の動作が完了する。
 以上が画像復号装置500の動作についての説明である。
  (効果)
 このように実施の形態1では、動き補償部506は動き補償ブロック分割部601を備える。これにより、マクロブロックが16×16画素を超える大ブロックであっても、動き補償部506は、16×16画素ブロックの動き補償を行えるだけの回路規模で動き補償を行うことができる。また、実施の形態1では、面内予測部507は面内予測ブロック分割部701を備える。これにより、マクロブロックが16×16画素を超える大ブロックであっても、面内予測部507は、16×16画素ブロックの面内予測を行えるだけの回路規模で面内予測を行うことができる。このように、本実施の形態の画像復号装置500は、マクロブロックサイズが16×16画素の符号化動画像を復号する画像復号装置と同等の回路規模で、16×16画素を超えるサイズのマクロブロックで符号化された符号化動画像を復号することができる。
 なお、本実施の形態においては、復号対象の符号化動画像を可変長符号としているが、他の符号であってもよい。復号対象の符号化動画像は、ハフマン符号やランレングス符号、算術符号など、どのような符号化方式で符号化された画像であっても構わない。
 また、各処理部の構成は、一部あるいは全てを専用ハードウェアによる回路で実現してもよいし、プロセッサ上のプログラムで実現してもよい。
 また、フレームメモリ502および再構成画像メモリ509は、メモリとしているが、データの記憶が可能な記憶素子であれば、フリップフロップなど他の構成によるものであっても構わない。さらには、プロセッサのメモリ領域の一部や、キャッシュメモリの一部を用いる構成であっても構わない。
 また、本実施の形態においては、符号化動画像について、マクロブロックサイズが32×32画素、動き補償および面内予測の単位ブロックが最大32×32画素となる以外は、H.264規格と同様としたが、MPEG2規格やMPEG4規格、VC-1規格など、どのような画像符号化規格に対応していてもよい。
 また、本実施の形態では、マクロブロックサイズと、動き補償および面内予測の単位ブロックの最大サイズとが32×32画素である場合を説明したが、32×32画素を超えるサイズであってもよい。マクロブロックのサイズが32×32画素より大きい場合でも、動き補償ブロック分割部601および面内予測ブロック分割部701でマクロブロックを16×16画素の分割ブロックに分割して処理するため、どのようなサイズであっても、本実施の形態の画像復号装置500では符号化動画像の復号が可能となる。
 (実施の形態2)
  (概要)
 次に、本実施の形態における画像復号装置の概要について説明する。実施の形態1の画像復号装置500では、マクロブロックサイズが固定された符号化動画像を復号していたが、本実施の形態においては、マクロブロックサイズの判定を行うことによって、マクロブロックサイズが可変である符号化動画像を復号することができる。本実施の形態では、マクロブロックサイズが可変になっても、16×16画素ブロックの動き補償および面内予測を行えるだけの回路規模で、動き補償および面内予測を行うことができる。
 以上が、本実施の形態における画像復号装置の概要についての説明である。
  (構成)
 次に、本実施の形態の画像復号装置の構成について説明する。
 図20は、本実施の形態の画像復号装置の構成図である。
 本実施の形態の画像復号装置500Aは、実施の形態1の動き補償部506の代わりに可変ブロック対応動き補償部2006を備えるとともに、実施の形態1の面内予測部507の代わりに可変ブロック対応面内予測部2007を備える。他の構成要素は、実施の形態1における図5と同じであり、同じ番号を振って説明を省略する。
 図21は、可変ブロック対応動き補償部2006の構成図である。
 可変ブロック対応動き補償部2006は、実施の形態1の動き補償部506の各構成要素を備えるとともに、マクロブロックサイズ判定部2101をさらに備える。他の各構成要素は、図6における動き補償部506の各構成要素と同じであり、それらに対しては同じ番号を振って説明を省略する。
 マクロブロックサイズ判定部2101は、制御部501からマクロブロックタイプ、動きベクトル、および参照インデックスを受け取り、復号対象のマクロブロックが16×16画素よりも大きいかどうかを判定する。16×16画素よりも大きい場合は、マクロブロックサイズ判定部2101は、マクロブロックの分割を行うように動き補償ブロック分割部601に指示を出す。このとき、マクロブロックサイズ判定部2101は、分割の指示とともに、制御部501から受け取ったマクロブロックタイプ、動きベクトル、および参照インデックスを動き補償ブロック分割部601に出力する。それ以外の場合、マクロブロックサイズ判定部2101は、分割の指示を行わず、その結果、動き補償演算部603は、分割されていない16×16画素のサイズ以下の復号対象マクロブロックに対して動き補償を行う。
 図22は、可変ブロック対応面内予測部2007の構成図である。
 可変ブロック対応面内予測部2007は、実施の形態1の面内予測部507の構成要素を備えるとともに、マクロブロックサイズ判定部2201をさらに備える。他の各構成要素は、図7における面内予測部507の各構成要素と同じであり、それらに対しては同じ番号を振って説明を省略する。
 マクロブロックサイズ判定部2201は、制御部501からマクロブロックタイプと面内予測モードを受け取り、復号対象のマクロブロックが16×16画素よりも大きいかどうかを判定する。16×16画素よりも大きい場合は、マクロブロックサイズ判定部2201は、マクロブロックの分割を行うように面内予測ブロック分割部701に指示を出す。このとき、マクロブロックサイズ判定部2201は、分割の指示とともに、制御部501から受け取ったマクロブロックタイプおよび面内予測モードを面内予測ブロック分割部701に出力する。それ以外の場合、マクロブロックサイズ判定部2201は、分割の指示を行わず、その結果、面内予測演算部703は、分割されていない16×16画素のサイズ以下の復号対象マクロブロックに対して面内予測を行う。
 以上が画像復号装置の構成についての説明である。
  (動作)
 次に、図20に示した画像復号装置500Aの動作を説明する。
 図23は、本実施の形態の画像復号装置500Aが復号する符号化動画像のピクチャの構成を示す図である。
 本実施の形態の画像復号装置500Aが復号する符号化動画像は、マクロブロックのサイズが32×32画素の固定ではなく可変サイズとなっている点が、実施の形態1の符号化動画像と異なる。マクロブロックのサイズは、上述の非特許文献3に記載されている通り、16×16画素から最大128×128画素となり、ピクチャまたはスライス内でマクロブロックのサイズが可変になっている。それに併せて、動き補償および面内予測処理は、H.264規格で規定されているサイズに加えて、上述の非特許文献3に記載されているマクロブロックのサイズと、マクロブロックを構成する内部ブロックのサイズを処理単位として行われる。つまり、最大128×128画素サイズの動き補償および面内予測が行われる。一方、逆量子化(符号化時は量子化)および逆周波数変換(符号化時は周波数変換)の処理単位は、H.264規格と同様に、最大16×16画素サイズである。
 符号化ストリームの構成は、図8Bに示されるように、実施の形態1の符号化ストリームと同じ構成である。そのため、画像復号装置500Aによる符号化ストリームの1シーケンスの復号動作は、図9に示される通り、実施の形態1と同じであるため、説明を省略する。同様に、画像復号装置500Aによる1マクロブロックの復号動作も、図10に示される通り、実施の形態1と同じであるため、説明を省略する。ただし、動き補償(S1005)および面内予測(S1006)の処理は、実施の形態1と異なるため、以降で詳細を説明する。
 図24は、画像復号装置500Aの可変ブロック対応動き補償部2006による動き補償の動作を示すフローチャートである。なお、このフローチャートは、図10のステップS1005の処理動作を示す。
 まず、マクロブロックサイズ判定部2101は、マクロブロックが16×16画素より大きいかどうかを判定する(S2401)。マクロブロックが16×16画素より大きいと判定された場合は(S2401のY)、可変ブロック対応動き補償部2006は、実施の形態1の図11で示したフローチャートと同様の各処理を実行する。したがって、ここでは、それらの各処理については、同じ番号(S1101~S1104)を振って説明を省略する。マクロブロックが16×16画素以下と判定された場合は(S2401のN)、可変ブロック対応動き補償部2006は、H.264規格対応の画像復号装置と同様の手順でマクロブロックの動き補償を行う(S2402)。以上で、1マクロブロックの動き補償が完了する。 
 図25は、画像復号装置500Aの可変ブロック対応面内予測部2007による面内予測の動作を示すフローチャートである。なお、このフローチャートは、図10のステップS1006の処理動作を示す。
 まず、マクロブロックサイズ判定部2201は、マクロブロックが16×16画素より大きいかどうかを判定する(S2501)。マクロブロックが16×16画素より大きいと判定された場合は(S2501のY)、可変ブロック対応面内予測部2007は、実施の形態1の図18で示したフローチャートと同様の各処理を実行する。したがって、ここでは、それらの各処理については、同じ番号(S1801~S1804)を振って説明を省略する。マクロブロックが16×16画素以下と判定された場合は(S2501のN)、可変ブロック対応面内予測部2007は、H.264規格対応の画像復号装置と同様の手順でマクロブロックの面内予測を行う(S2502)。以上で、1マクロブロックの面内予測が完了する。
 以上が画像復号装置500Aの動作についての説明である。
  (効果)
 このように実施の形態2では、可変ブロック対応動き補償部2006はマクロブロックサイズ判定部2101を備える。これにより、マクロブロックサイズが可変となる場合であっても、16×16画素の動き補償を行うことができる1つの回路だけで、サイズの異なる各マクロブロックに対する処理を行うことが可能となる。そのため、動き補償のために、マクロブロックサイズ毎にそれぞれ異なる回路(動き補償部)を実装する必要がなく、動き補償部の回路規模の増加を抑えることができる。また、本実施の形態の可変ブロック対応動き補償部2006内の動き補償演算部603が、複数の画像符号化方式の動き補償演算に対応した動き補償演算部である場合、画像符号化方式毎にマクロブロックサイズが異なる場合であっても、それらのマクロブロックを復号することが可能となる。例えば、マクロブロックサイズが16×16画素であるH.264規格と、マクロブロックサイズが16×16画素より大きい非特許文献3~5で提案されている次世代符号化方式に、1つの回路(動き補償部)で対応することが可能となる。
 同様に、実施の形態2では、可変ブロック対応面内予測部2007はマクロブロックサイズ判定部2201を備える。これにより、マクロブロックサイズが可変となる場合であっても、16×16画素の面内予測を行うことができる1つの回路だけで、サイズの異なる各マクロブロックに対する処理を行うことが可能となる。そのため、面内予測のために、マクロブロックサイズ毎にそれぞれ異なる回路(面内予測部)を実装する必要がなく、面内予測部の回路規模の増加を抑えることができる。また、本実施の形態の可変ブロック対応面内予測部2007内の面内予測演算部703が、複数の画像符号化方式の面内予測演算に対応した面内予測演算部である場合、画像符号化方式毎にマクロブロックサイズが異なる場合であっても、それらのマクロブロックを復号することが可能となる。例えば、マクロブロックサイズが16×16画素であるH.264規格と、マクロブロックサイズが16×16画素より大きい非特許文献3~5で提案されている次世代符号化方式に、1つの回路(面内予測部)で対応することが可能となる。
 なお、本実施の形態においては、復号対象の符号化動画像を可変長符号としているが、他の符号であってもよい。復号対象の符号化動画像は、ハフマン符号やランレングス符号、算術符号など、どのような符号化方式で符号化された画像であっても構わない。
 また、各処理部の構成は、一部あるいは全てを専用ハードウェアによる回路で実現してもよいし、プロセッサ上のプログラムで実現してもよい。 
 また、フレームメモリ502および再構成画像メモリ509は、メモリとしているが、データの記憶が可能な記憶素子であれば、フリップフロップなど他の構成によるものであっても構わない。さらには、プロセッサのメモリ領域の一部や、キャッシュメモリの一部を用いる構成であっても構わない。
 また、本実施の形態においては、符号化動画像について、マクロブロックサイズの最大が128×128画素、動き補償および面内予測の単位ブロックの最大が128×128画素となる以外は、H.264規格と同様としたが、MPEG2規格やMPEG4規格、VC-1規格など、どのような画像符号化規格に対応していてもよい。
 また、本実施の形態では、マクロブロックサイズ、動き補償および面内予測の単位ブロックの最大サイズが128×128画素である場合を説明したが、128×128画素を超えるサイズであってもよい。マクロブロックのサイズが128×128画素より大きい場合でも、動き補償ブロック分割部601および面内予測ブロック分割部701でマクロブロックを16×16画素の分割ブロックに分割して処理するため、どのようなサイズであっても、本実施の形態の画像復号装置500Aでは符号化動画像の復号が可能となる。
 (実施の形態3)
  (概要)
 次に、本実施の形態における画像復号装置の概要について説明する。実施の形態1または2の画像復号装置では、符号化動画像のマクロブロックの復号の各処理を逐次実行していたが、本実施の形態においては、16×16画素単位で各処理部をパイプライン処理させることによって符号化動画像を復号する。そのために、本実施の形態では、実施の形態1または2の制御部501の代わりに、マクロブロックサイズ判定処理とマクロブロック分割処理とパイプライン制御処理とを行う制御部を備える。
 これによって、分割ブロック単位で各処理を並列に動作させることができるため、実施の形態1または2の画像復号装置よりも、高速に復号することが可能となる。
 以上が、本実施の形態における画像復号装置の概要についての説明である。
  (構成)
 次に、本実施の形態の画像復号装置の構成について説明する。
 図26は、本実施の形態の画像復号装置の構成図である。
 本実施の形態の画像復号装置500Bは、制御部2601、フレームメモリ502、再構成画像メモリ509、可変長復号部503、16×16逆量子化部2604、16×16逆周波数変換部2605、16×16動き補償部2606、16×16面内予測部2607、16×16再構成部2608、および16×16デブロックフィルタ部2610から構成される。つまり、画像復号装置500Bは、実施の形態1の画像復号装置500と比べて、制御部501の代わりに、マクロブロックサイズ判定部2601aとマクロブロック分割部2601bとパイプライン制御部2601cとを有する制御部2601を備える。また、画像復号装置500Bは、実施の形態1の逆量子化部504、逆周波数変換部505、動き補償部506、面内予測部507、再構成部508、およびデブロックフィルタ部510の代わりに、それぞれ、16×16逆量子化部2604、16×16逆周波数変換部2605、16×16動き補償部2606、16×16面内予測部2607、16×16再構成部2608、および16×16デブロックフィルタ部2610を備える。他の構成要素は、実施の形態1における図5または実施の形態2における図20と同じであり、同じ番号を振って説明を省略する。 
 マクロブロックサイズ判定部2601aは、可変長復号部503から渡されたマクロブロックタイプからマクロブロックサイズを計算し、マクロブロックサイズが16×16画素よりも大きいかどうかを判定する。マクロブロック分割部2601bは、マクロブロックが16×16画素より大きい場合に、そのマクロブロックを16×16画素サイズの分割ブロックに分割する。パイプライン制御部2601cは、16×16逆量子化部2604、16×16逆周波数変換部2605、16×16動き補償部2606、16×16面内予測部2607、16×16再構成部2608、および16×16デブロックフィルタ部2610を制御して、16×16画素ブロック単位(分割ブロック単位)で符号化動画像を復号処理するようにパイプライン制御を行う。
 16×16逆量子化部2604は、16×16画素単位で逆量子化を行う。16×16逆周波数変換部2605は、16×16画素単位で逆周波数変換を行う。16×16動き補償部2606は、16×16画素単位で動き補償を行う。16×16面内予測部2607は、16×16画素単位で面内予測を行う。16×16再構成部2608は、16×16画素単位で再構成処理を行う。16×16デブロックフィルタ部2610は、16×16画素単位でデブロックフィルタを行う。このように、本実施の形態1または2の各処理部はマクロブロック単位でパイプライン処理を行っていたが、本実施の形態の各処理部は16×16画素ブロック単位でパイプライン処理を行っている。
 以上が画像復号装置の構成についての説明である。
  (動作)
 次に、図26に示した画像復号装置500Bの動作を説明する。本実施の形態の画像復号装置500Bが復号する符号化動画像のピクチャは、実施の形態2の図23と同じように構成され、マクロブロックのサイズは32×32画素の固定ではなく可変サイズとなっている。つまり、マクロブロックのサイズは、16×16画素から最大128×128画素であり、動き補償および面内予測は最大128×128画素単位で行われる。ただし、逆量子化(符号化時は量子化)および逆周波数変換(符号化時は周波数変換)の処理単位は、H.264規格と同様に、最大16×16画素サイズである。
 符号化ストリームは、図8Bに示されるように、実施の形態1または2の符号化ストリームと同じ構成である。そのため、画像復号装置500Bによる符号化ストリームの1シーケンスの復号動作は、図9に示される通り、実施の形態1または2と同じであるため、説明を省略する。
 図27は、画像復号装置500Bによる1マクロブロックの復号動作を示すフローチャートである。なお、このフローチャートは、図9のステップS904の処理動作を示す。
 まず、実施の形態1または2と同様に、可変長復号部503は、入力された符号化ストリームを可変長復号する(S1001)。次に、マクロブロックサイズ判定部2601aは、可変長復号して得られたマクロブロックタイプからマクロブロックサイズを計算し、マクロブロックサイズが16×16画素よりも大きいかどうかを判定する(S2710)。マクロブロックサイズが16×16画素よりも大きい場合は(S2710のY)、マクロブロック分割部2601bはマクロブロックを16×16画素単位に分割する(S2711)。つまり、マクロブロック分割部2601bは、マクロブロックを分割するときには、各分割ブロックのマクロブロック内での位置を示す位置情報を計算するとともに、そのマクロブロックがインターマクロブロックの場合は各分割ブロックの動きベクトルおよび参照インデックスを計算し、そのマクロブロックがイントラマクロブロックの場合は各分割ブロックの面内予測モードを計算する。この計算内容については、実施の形態1または2でのステップS1101(図11)およびステップS1801(図18)と同じであるため、詳細な説明は省略する。なお、マクロブロックサイズが16×16画素以下であると判定される場合は(S2710のN)、マクロブロックの分割処理(S2711)は行わない。以上、ステップS1001、ステップS2710およびステップS2711の処理は、パイプライン制御部2601cによってパイプライン処理のステージ0に割り当てられている。
 次に、16×16逆量子化部2604は、16×16画素ブロックを単位として、逆量子化(S2702)を行い、16×16逆周波数変換部2605は、16×16画素ブロックを単位として逆周波数変換を行う(S2703)。その結果、16×16画素からなる差分画像が生成される。ここで、復号対象ブロックが分割ブロックの場合は、制御部2601は、分割ブロックのマクロブロック内での位置を示す位置情報を、16×16逆量子化部2604および16×16逆周波数変換部2605に出力する。16×16逆量子化部2604および16×16逆周波数変換部2605は、制御部2601から出力された位置情報に従って、処理対象とする分割ブロック(16×16画素ブロック)を決定している。なお、本実施の形態の画像復号装置が復号する符号化動画像では、逆量子化および逆周波数変換の処理単位は、H.264規格と同様に、最大16×16画素サイズである。そのため、逆量子化および逆周波数変換の演算内容は、H.264規格で規定されている演算と同じである。以上、ステップS2702とステップS2703の処理は、パイプライン制御部2601cによってパイプライン処理のステージ1に割り当てられている。
 次に、制御部2601は、復号対象マクロブロックがインターマクロブロックかどうかを判定する(S2704)。インターマクロブロックの場合(S2704のY)、16×16動き補償部2606は、16×16画素単位に動き補償を行うことによって予測画像が生成する(S2705)。この時、復号対象ブロックが分割ブロックの場合は、制御部2601は、分割ブロックのマクロブロック内での位置を示す位置情報と、分割ブロックの動きベクトルおよび参照インデックスとを16×16動き補償部2606に渡している。したがって、16×16動き補償部2606は、制御部2601から渡された上述の情報に基づいて復号対象の分割ブロックに対して動き補償を行う。分割ブロックの動きベクトルと参照インデックスの計算内容は、実施の形態1または2でのステップS1101(図11)の処理と同じである。また、復号対象ブロックが分割ブロックの場合の動き補償は、実施の形態1または2でのステップS1102およびS1103(図11)の処理と同じである。
 一方、復号対象ブロックがインターマクロブロックでない場合(S2704のN)、つまり、イントラマクロブロックの場合、16×16面内予測部2607は、16×16画素単位に面内予測を行うことによって予測画像を生成する(S2706)。この時、復号対象ブロックが分割ブロックの場合は、制御部2601は、分割ブロックのマクロブロック内での位置を示す位置情報と、分割ブロックの面内予測モードとを16×16面内予測部2607に渡している。したがって、16×16面内予測部2607は制御部2601から渡された上述の情報に基づいて復号対象の分割ブロックに対して面内予測を行う。分割ブロックの面内予測モードの計算内容は、実施の形態1または2でのステップS1801(図18)の処理と同じである。また、復号対象ブロックが分割ブロックの場合の面内予測は、実施の形態1または2でのステップS1802およびS1803(図18)の処理と同じである。
 次に、16×16再構成部2608は、16×16動き補償(S2705)または16×16面内予測(S2706)で生成された予測画像に、16×16逆周波数変換(S2703)で生成された差分画像を加算することによって、16×16画素サイズの再構成画像を生成する(S2707)。以上、ステップS2704、ステップS2705、ステップS2706、およびステップS2707の処理は、パイプライン制御部2601cによってパイプライン処理のステージ2に割り当てられている。
 最後に、16×16デブロックフィルタ部2610は、16×16画素サイズの再構成画像に対してデブロックフィルタを行う(S2708)。このステップS2708のデブロックフィルタ処理は、パイプライン制御部2601cによってパイプライン処理のステージ3に割り当てられている。
 以上、ステップS2702からステップS2708の処理を行うことで、16×16画素ブロックの復号動作が終了する。この後、制御部2601は、復号対象のマクロブロック内に未処理の16×16画素ブロックがあるかどうかを判定し(S2712)、全ての16×16画素ブロックの処理が完了するまで、ステップS2702からステップS2708の処理を各処理部に繰り返し実行させる。なお、マクロブロックが16×16画素以下の場合は、ステップS2712の判定は必ずNとなる。未処理の16×16画素ブロックがなくなると、1マクロブロックの復号処理が完了となる。なお、図27に示される通り、可変長復号(S1001)およびマクロブロック分割(S2711)がステージ0、逆量子化(S2702)および逆周波数変換(S2703)がステージ1、動き補償(S2705)または面内予測(S2706)、および再構成処理(S2707)がステージ2、デブロックフィルタ処理(S2708)がステージ3に割り当てられて、パイプライン処理が行われている。このパイプライン処理は、制御部2601の中のパイプライン制御部2601cで制御されている。
 図28は、本実施の形態の画像復号装置500Bによるパイプライン処理動作の一例を示す図である。この例では、MB(Macroblock)4が32×32画素サイズであり、それ以外のマクロブロックが16×16画素サイズである場合の処理動作を示している。図28に示される通り、MB4は、ステージ1~3において、MB4-0、MB4-1、MB4-2、およびMB4-3の4つの16×16画素の分割ブロックに分割されて処理されている。これらの分割ブロックは、他の16×16画素サイズのマクロブロック(MB5、MB6など)と同じ大きさであるため、16×16画素サイズのマクロブロックの処理サイクルと同様の処理サイクルで分割ブロックを処理することができる。これによって、図4で示した従来の画像復号装置でパイプライン処理した場合よりも、空きが小さく、従来よりも処理効率の低下を抑えてパイプライン処理することができる。
 以上が画像復号装置500Bの動作についての説明である。
  (効果)
 このように実施の形態3では、画像復号装置500Bの制御部2601は、マクロブロックサイズ判定部2601a、マクロブロック分割部2601bおよびパイプライン制御部2601cを備え、逆量子化や動き補償などを行う各処理部は符号化動画像を16×16画素単位で処理できる。これによって、マクロブロックサイズが可変となる符号化動画像の復号のパイプライン処理を16×16画素単位で実現して、マクロブロック復号の各処理を並列に実行することができる。また、本実施の形態の画像復号装置500Bは、図4に示される従来の画像復号装置のパイプライン処理に比べて、パイプライン処理時に発生する空きが小さくなり、パイプライン処理の効率低下を抑えることが可能となっている。
 また、マクロブロックを分割して処理するために、マクロブロックサイズが大きくなっても、各処理部は16×16画素ブロックを処理できる機能だけがあればよく、各処理部の回路規模の増加を抑えることができる。 
 なお、本実施の形態においては、復号対象の符号化動画像を可変長符号としているが、他の符号であってもよい。復号対象の符号化動画像は、ハフマン符号やランレングス符号、算術符号など、どのような符号化方式で符号化された画像であっても構わない。
 また、各処理部の構成は、一部あるいは全てを専用ハードウェアによる回路で実現してもよいし、プロセッサ上のプログラムで実現してもよい。
 また、フレームメモリ502および再構成画像メモリ509は、メモリとしているが、データの記憶が可能な記憶素子であれば、フリップフロップなど他の構成によるものであっても構わない。さらには、プロセッサのメモリ領域の一部や、キャッシュメモリの一部を用いる構成であっても構わない。
 また、本実施の形態においては、符号化動画像について、マクロブロックサイズの最大が128×128画素、動き補償および面内予測の単位ブロックの最大が128×128画素となる以外は、H.264規格と同様としたが、MPEG2規格やMPEG4規格、VC-1規格など、どのような画像符号化規格に対応していてもよい。
 また、本実施の形態では、マクロブロックサイズ、動き補償および面内予測の単位ブロックの最大サイズが128×128画素である場合を説明したが、128×128画素を超えるサイズであってもよい。マクロブロックのサイズが128×128画素より大きい場合でも、制御部2601でマクロブロックを16×16画素の分割ブロックに分割してパイプライン処理するように全体を制御するため、どのようなサイズであっても、本実施の形態の画像復号装置500Bでは符号化動画像の復号が可能となる。
 また、本実施の形態では、可変長復号(S1001)およびマクロブロック分割(S2711)をステージ0、逆量子化(S2702)および逆周波数変換(S2703)をステージ1、面内予測(S2706)または動き補償(S2705)、および再構成処理(S2707)をステージ2、デブロックフィルタ処理(S2708)をステージ3に割り当てて、パイプライン処理しているが、各処理のステージへの割り当て方、ステージ数は、これ以外の方法であってもよい。例えば、逆量子化(S2702)と逆周波数変換(S2703)を分けて、別ステージにしてもよいし、面内予測(S2706)または動き補償(S2705)と、再構成処理(S2707)を分けて、別ステージにしてもよい。また、例えば、ステージ1とステージ2の併せて、1つのステージにして処理してもよい。このように、各処理のステージへの割り当て方、ステージ数は、様々な組み合わせが考えられる。
 また、本実施の形態では、可変長復号(S1001)およびマクロブロック分割(S2711)を行うステージ0を、パイプライン処理の中に組み込んだが、ステージ0の処理をパイプライン処理から外して、マクロブロック復号処理(図9のS904)の前に予め先行して行ってもよい。この場合、ステージ1~3の3ステージで、パイプライン処理することになる。図28に示される通り、ステージ0の処理だけは、マクロブロックを分割して処理していないため、マクロブロックサイズが16×16画素を超える場合、ステージ0の処理サイクルが伸びてしまっている。これによって、ステージ1~3で空きが発生してしまっているが、予め、ステージ0の処理だけを先行して行い、ステージ1~3の3ステージでパイプライン処理すれば、空きが発生しなくなる。
 (変形例)
 ここで、本実施の形態における画像復号装置の変形例について説明する。
 本変形例に係る画像復号装置は、バッファまたはメモリを備えることによって、ステージ0における処理の空きをなくす点に特徴がある。
 図29は、本変形例に係る画像復号装置の構成図である。
 本変形例に係る画像復号装置500Cは、画像復号装置500Bの全ての構成要素と、係数情報メモリ2620とを備える。具体的には、画像復号装置500Cは、制御部2601、フレームメモリ502、再構成画像メモリ509、可変長復号部503、16×16逆量子化部2604、16×16逆周波数変換部2605、16×16動き補償部2606、16×16面内予測部2607、16×16再構成部2608、および16×16デブロックフィルタ部2610と、係数情報メモリ2620とから構成される。
 係数情報メモリ2620は、可変長復号部503から出力される係数情報を記録するための領域を有する。可変長復号部503は、符号化ストリームをMBごとに可変長復号することによって係数情報を生成すると、それらの係数情報を係数情報メモリ2620に格納する。
 16×16逆量子化部2604は、逆量子化を行う際には、16×16画素ブロックに対応する係数情報の全てまたは一部をその係数情報メモリ2620から読み出し、その係数情報に対して逆量子化を行う。例えば、16×16画素ブロックが、32×32画素のスーパーマクロブロックから分割された分割ブロックである場合には、16×16逆量子化部2604は、そのスーパーマクロブロックに対する係数情報のうちの一部を読み出して逆量子化を行う。また、16×16画素ブロックが、分割ブロックではない通常のマクロブロックである場合には、16×16逆量子化部2604は、そのマクロブロックに対する係数情報の全てを読み出して逆量子化を行う。
 このように、本変形例では、可変長復号によって生成される係数情報は係数情報メモリ2620に格納される。したがって、可変長復号部503は、16×16逆量子化部2604による16×16画素ブロックに対する逆量子化を待つことなく、そのブロックよりも後に続くブロックに対する可変長復号を順次行うことができる。つまり、ステージ1~3の処理の進行に関わらず、ステージ0の処理を進行させることができる。
 図30は、本変形例に係る画像復号装置500Cによるパイプライン処理動作の一例を示す図である。この例では、図28に示す処理と同様、MB(Macroblock)4が32×32画素サイズであり、それ以外のマクロブロックが16×16画素サイズである場合の処理動作を示している。図30に示される通り、MB4は、ステージ1~3において、MB4-0、MB4-1、MB4-2、およびMB4-3の4つの16×16画素の分割ブロックに分割されて処理されている。ここで、本変形例におけるステージ0では、MB5に対する処理の後に、直ぐにMB6、MB7、・・・に対する処理を行うことができる。これにより、ステージ0における処理の空きをなくすことができる。
 このように、本変形例では、可変長復号部503と16×16逆量子化部2604の間に係数情報メモリ2620を設けることで、パイプラン処理する場合に発生する可変長復号ステージの「空き」を発生させることなく、処理することができる。
 なお、係数情報メモリ2620はLSI内部にあってもよいし、LSIの外部にあるDSRAMであってもよい。また、フレームメモリ502または再構成画像メモリ509が係数情報メモリ2620としての機能を兼ね備えていてもよい。
 また、本発明に係る画像復号装置およびその方法は、上記実施の形態1~3に限定されず、以下の図31A~図34に示す画像復号装置および画像復号方法であってもよい。このような画像復号装置および画像復号方法であっても、上記実施の形態1~3と同様の作用効果を奏することができる。
 図31Aは、本発明に係る画像復号装置の構成図である。
 画像復号装置10は、動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像(符号化ストリーム)を復号する画像復号装置10であって、その符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割部11と、分割ブロックごとに、その分割ブロックに対応する画像データを記録媒体20から取得する画像データ取得部12と、分割ブロックごとに、画像データ取得部12によって取得された画像データに基づいてその分割ブロックの予測画像を生成する予測部13と、分割ブロックごとに、その分割ブロックに対して生成された予測画像をその分割ブロックに加算することにより、その分割ブロックを再構成する再構成部14とを備える。
 ここで、画像復号装置10は、実施の形態1の画像復号装置500、実施の形態2の画像復号装置500A、および実施の形態3の画像復号装置500Bに相当する。また、ブロック分割部11は、実施の形態1および2のそれぞれにおける、動き補償ブロック分割部601と面内予測ブロック分割部701のうち少なくとも一方に相当し、実施の形態3におけるマクロブロック分割部2601bに相当する。画像データ取得部12は、実施の形態1および2のそれぞれにおける、参照画像取得部602と再構成画像取得部702のうち少なくとも一方に相当し、実施の形態3における16×16動き補償部2606および16×16面内予測部2607のうち少なくとも一方に備えられた一部の機能に相当する。予測部13は、実施の形態1および2のそれぞれにおける、動き補償演算部603と面内予測演算部703のうち少なくとも一方に相当し、実施の形態3における16×16動き補償部2606および16×16面内予測部2607のうち少なくとも一方に備えられた一部の機能に相当する。再構成部14は、実施の形態1および2のそれぞれにおける再構成部508に相当し、実施の形態3における16×16再構成部2608に相当する。
 また、記録媒体20は、実施の形態1~3のそれぞれにおけるフレームメモリ502および再構成画像メモリ209に相当する。
 また、ブロックまたは復号対象ブロックは例えばマクロブロックであり、16×16画素を超えるサイズである。分割ブロックは例えば16×16画素のサイズである。画像データ取得部12によって取得される画像データは参照画像または再構成画像である。
 図31Bは、本発明に係る画像復号方法を示すフローチャートである。
 画像復号方法は、動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像を復号する画像復号方法であって、その符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割ステップS11と、分割ブロックごとに、その分割ブロックに対応する画像データを記録媒体20から取得する画像取得ステップS12と、分割ブロックごとに、画像取得ステップS12によって取得された画像データに基づいてその分割ブロックの予測画像を生成する予測ステップS13と、分割ブロックごとに、その分割ブロックに対して生成された予測画像をその分割ブロックに加算することにより、その分割ブロックを再構成する再構成ステップS14とを含む。このような画像復号方法による符号化動画像の復号は、図31Aに示す画像復号装置10によって行われる。
 実施の形態1では、上記各ステップS11~S13はそれぞれ、図11のステップS1101~S1103または図18のステップS1801~S1803に相当する。また、上記ステップS14は図10のステップS1007に相当する。
 実施の形態2では、上記各ステップS11~S13はそれぞれ、図24のステップS1101~S1103または図25のステップS1801~S1803に相当する。また、上記ステップS14は図10のステップS1007に相当する。
 実施の形態3では、上記各ステップS11~S13は、図27のステップS2711とS2705またはステップS2706とに相当し、上記ステップS14は図27のステップS2707に相当する。
 このような画像復号装置10およびその画像復号方法では、符号化動画像の符号化の単位として構成されるブロック(例えばマクロブロック)のサイズが例えばH.264規格のサイズ(16×16画素サイズ)より大きい場合でも、そのブロックが例えば16×16画素サイズの複数の分割ブロックに分割されるため、予測部13は16×16画素サイズを超えるブロックに対して予測画像を生成するための回路規模を必要としない。その結果、予測部13を、16×16画素サイズ以下のブロックに対して予測画像を生成し得るだけの回路規模に抑えることができる。したがって、大きいサイズのブロックを有する符号化動画像を、回路規模の増加を抑えて復号することができる。つまり、上述の画像復号装置10および画像復号方法では、実施の形態1~3に含まれるデブロックフィルタ部510などの他の構成要素が含まれなくても、本発明に係る目的を達成することができる。
 図32は、本発明に係る他の画像復号装置の構成図である。
 画像復号装置10aは、画像復号装置10が備える各構成要素を備えるとともに、さらに、復号対象ブロックのサイズが、予め定められたサイズより大きいか否かを判定する判定部15を備え、ブロック分割部11は、その判定部15によって大きいと判定された場合に、その復号対象ブロックを複数の分割ブロックに分割する。なお、この判定部15は、実施の形態2のマクロブロックサイズ判定部2101または2201と、実施の形態3のマクロブロックサイズ判定部2601aとに相当する。
 これにより、ブロック(復号対象ブロック)のサイズが予め定められたサイズよりも大きい場合に分割が行われるため、例えば、その予め定められたサイズを、分割ブロックのサイズにしておけば、符号化動画像にそのサイズ以下のブロックがあった場合には、そのブロックは分割されずに予測部13によって処理され、そのサイズを超えるブロックがあった場合には、そのブロックは複数の分割ブロックに分割されて分割ブロックごとに予測部13によって処理される。したがって、符号化動画像に含まれる複数のブロックのサイズがそれぞれ異なるような場合でも、回路規模を抑えて適切に符号化動画像を復号することができる。
 図33は、本発明に係る他の画像復号装置の構成図である。
 画像復号装置10bは、画像復号装置10が備える各構成要素を備えるとともに、さらに、復号対象ブロックに対する逆量子化および逆周波数変換を、分割ブロックごとに順次行う逆処理部16を備え、予測部13は、逆処理部16が複数の分割ブロックのうちの第2の分割ブロックに対して逆量子化および逆周波数変換を行っているときに、逆処理部16によって既に逆量子化および逆周波数変換が行われた、複数の分割ブロックのうちの第1の分割ブロックの予測画像を生成する。なお、逆処理部16は、実施の形態3の16×16逆量子化部2604および16×16逆周波数変換部2605に相当する。また、第1の分割ブロックは、実施の形態3の図28に示す例えばMB4-0に相当し、第2の分割ブロックは、実施の形態3の図28に示す例えばMB4-1に相当する。
 これにより、逆処理部16によって第1の分割ブロックに対して逆量子化および逆周波数変換が行われた後には、逆処理部16による第2の分割ブロックに対する逆量子化および逆周波数変換と、予測部13による第1のブロックに対する予測画像の生成とが並列に行われる。つまり、逆処理部16および予測部13は、分割ブロックごとのパイプライン処理を実行することができ、予測部13は、ブロック(復号対象ブロック)に含まれる第1の分割ブロック以外の他の分割ブロック、つまりブロック(復号対象ブロック)の全体に対する逆量子化および逆周波数変換が終了するのを待つことなく、そのブロックに対する処理を開始することができる。その結果、処理の待ち時間を抑えることができ、復号処理の効率化を図ることができる。
 図34は、本発明に係る他の画像復号装置の構成図である。
 画像復号装置10cは、画像復号装置10bが備える各構成要素を備えるとともに、さらに、再構成部14によって再構成された分割ブロックごとに、当該分割ブロックに含まれるブロックノイズを除去するデブロックフィルタ部17を備え、デブロックフィルタ部17は、予測部13が第2の分割ブロックの予測画像を生成して再構成部14が第2の分割ブロックを再構成しているときに、予測部13によって既に予測画像が生成され、かつ再構成部14によって既に再構成された前記第1の分割ブロックに含まれる前記ブロックノイズを除去する。なお、デブロックフィルタ部17は、実施の形態3における16×16デブロックフィルタ部2610に相当する。
 これにより、予測部13によって第1の分割ブロックに対して予測画像の生成が行われ、再構成部14によって第1の分割ブロックの再構成が行われた後には、予測部13による第2の分割ブロックに対する予測画像の生成、および再構成部14による第2の分割ブロックの再構成と、デブロックフィルタ部17による第1の分割ブロックに対するブロックノイズの除去とが並列に行われる。つまり、予測部13および再構成部14とデブロックフィルタ部17とは、分割ブロックごとのパイプライン処理を実行することができ、デブロックフィルタ部17は、ブロック(復号対象ブロック)に含まれる第1の分割ブロック以外の他の分割ブロック、つまりブロック(復号対象ブロック)の全体に対する予測画像の生成および再構成が終了するのを待つことなく、そのブロックに対する処理を開始することができる。その結果、処理の待ち時間をさらに抑えることができ、復号処理のさらなる効率化を図ることができる。
 (実施の形態4)
 上記各実施の形態で示した画像復号方法の構成を実現するためのプログラムを記録メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記録メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像復号方法の応用例とそれを用いたシステムを説明する。
 図35は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107~ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107~ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図35のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex107~ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
 カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
 コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
 なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化・復号処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図36に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも画像符号化装置または画像復号装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像情報のビットストリームが電波を介して通信または放送衛星ex202に伝送される。このビットストリームは上記各実施の形態で説明した動画像符号化方法により符号化された符号化ビットストリームである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信したビットストリームを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号して再生する。
 また、記録媒体であるCDやDVD等の蓄積メディアex214に記録したビットストリームを読み取り、復号する再生装置ex212にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex213に表示される。
 また、DVD、BD等の記録メディアex215に記録した符号化ビットストリームを読み取り復号する、または記録メディアex215に映像信号を符号化し書き込むリーダ/レコーダex218にも上記各実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、符号化ビットストリームが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
 図37は、上記各実施の形態で説明した画像復号方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得、または出力するチューナex301と、受信した符号化データを復調する、または外部に送信する符号化データに変調する変調/復調部ex302と、復調した映像データ、音声データを分離する、または符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。また、テレビex300は、音声データ、映像データそれぞれを復号する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号した音声信号を出力するスピーカex307、復号した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
 まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318~ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または書き込む場合には、上記復号処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図38に示す。情報再生/記録部ex400は、以下に説明する要素ex401~ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
 以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図39に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
 以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
 また、デジタル放送用システムex200において、アンテナex205を有する車ex210で放送衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図37に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態5)
 本実施の形態では、実施の形態3に示した画像復号装置を、典型的には半導体集積回路であるLSIとして実現した形態を図40に示す。フレームメモリ502をDRAM上に実現し、その他の回路やメモリをLSI上に構成している。
 これらは個別に1チップ化されてもよいし、一部またはすべてを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。
 バイオ技術の適応などが可能性として有り得る。
 さらに加えて、本実施の形態の画像復号装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダー、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶やPDP(プラズマディスプレイパネル)、有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
 また、本実施の形態は、システムLSIとDRAM(Dynamic Random Access Memory)の構成を示したが、eDRAM(embeded DRAM)やSRAM(Static Random Access Memory)やハードディスクなど他の記憶装置で構成してもかまわない。
 (実施の形態6)
 上記各実施の形態で示した画像復号装置および方法は、典型的には集積回路であるLSIで実現される。一例として、図41に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex502~ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 また、例えば復号処理を行う場合には、LSIex500は、マイコンex502の制御に基づいて、ストリームI/Oex504によって変調/復調部ex302から得られた符号化データ、または記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。マイコンex502の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声データの復号および/または映像データの復号が行われる。ここで映像信号の復号処理は上記各実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦メモリex511等に蓄積するとよい。復号された出力信号はメモリex511等を適宜介しながら、AVI/Oex509からモニタex219等に出力される。メモリex511にアクセスする際にはメモリコントローラex503を介する構成である。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 本発明の画像復号装置は、大きなサイズのブロックを有する符号化動画像を、回路規模の増加を抑えて復号することができるという効果を奏し、様々な用途に利用可能である。例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、またはデジタルビデオカメラ等の高解像度の情報表示機器や撮像機器などに利用可能であり、利用価値が高い。
 10,10a,10b,10c   画像復号装置
 11   ブロック分割部
 12   画像データ取得部
 13   予測部
 14   再構成部
 15   判定部
 16   逆処理部
 17   デブロックフィルタ部
 20   記録媒体
 500,500A,500B   画像復号装置
 501   制御部
 502   フレームメモリ
 503   可変長復号部
 504   逆量子化部
 505   逆周波数変換部
 506   動き補償部
 507   面内予測部
 508   再構成部
 509   再構成画像メモリ
 510   デブロックフィルタ部
 601   動き補償ブロック分割部
 602   参照画像取得部
 603   動き補償演算部
 701   面内予測ブロック分割部
 702   再構成画像取得部
 703   面内予測演算部
 2006   可変ブロック対応動き補償部
 2007   可変ブロック対応面内予測部
 2101   マクロブロックサイズ判定部
 2201   マクロブロックサイズ判定部
 2601   制御部
 2601a   マクロブロックサイズ判定部
 2601b   マクロブロック分割部
 2601c   パイプライン制御部
 2604   16x16逆量子化部
 2605   16x16逆周波数変換部
 2606   16x16動き補償部
 2607   16x16面内予測部
 2608   16x16再構成部
 2610   16x16デブロックフィルタ部
 ex100   コンテンツ供給システム
 ex101   インターネット 
 ex102   インターネットサービスプロバイダ
 ex103   ストリーミングサーバ
 ex104   電話網
 ex107   基地局
 ex108   基地局
 ex109   基地局
 ex110   基地局
 ex111   コンピュータ
 ex112   PDA(Personal Digital Assistant)
 ex113   カメラ
 ex114   携帯電話
 ex116   カメラ
 ex117   マイク
 ex200   デジタル放送用システム
 ex201   放送局
 ex202   放送衛星
 ex203   ケーブル
 ex204   アンテナ
 ex205   アンテナ
 ex210   車
 ex211   カーナビゲーション
 ex212   再生装置
 ex213   モニタ
 ex215   記録メディア
 ex216   記録メディア
 ex217   セットトップボックス(STB)
 ex218   リーダ/レコーダ
 ex219   モニタ
 ex220   リモートコントローラ
 ex230   情報トラック
 ex231   記録ブロック
 ex232   内周領域
 ex233   データ記録領域
 ex234   外周領域
 ex300   テレビ(受信機)
 ex301   チューナ
 ex302   変調/復調部
 ex303   多重/分離部
 ex304   音声信号処理部
 ex305   映像信号処理部
 ex306   信号処理部
 ex307   スピーカ
 ex308   表示部
 ex309   出力部
 ex310   制御部
 ex311   電源回路部
 ex312   操作入力部
 ex313   ブリッジ
 ex314   スロット部
 ex315   ドライバ 
 ex316   モデム
 ex317   インタフェース部
 ex318   バッファ
 ex319   バッファ
 ex400   情報再生/記録部
 ex401   光ヘッド
 ex402   変調記録部
 ex403   再生復調部
 ex404   バッファ
 ex405   ディスクモータ
 ex406   サーボ制御部
 ex407   システム制御部
 ex500   LSI
 ex502   CPU
 ex503   メモリコントローラ
 ex504   ストリームI/O
 ex505   電源回路部
 ex507   信号処理部
 ex509   AV I/O
 ex510   バス
 ex511   メモリ 
 

Claims (14)

  1.  動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像を復号する画像復号装置であって、
     前記符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割部と、
     前記分割ブロックごとに、当該分割ブロックに対応する画像データを記録媒体から取得する画像取得部と、
     前記分割ブロックごとに、前記画像取得部によって取得された画像データに基づいて当該分割ブロックの予測画像を生成する予測部と、
     前記分割ブロックごとに、当該分割ブロックに対して生成された予測画像を当該分割ブロックに加算することにより、当該分割ブロックを再構成する再構成部と
     を備える画像復号装置。
  2.  前記画像取得部は、前記分割ブロックを含むピクチャと異なる、前記符号化動画像の既に再構成された他のピクチャ内の一部分を、前記分割ブロックに対応する前記画像データとして取得し、
     前記予測部は、前記画像取得部によって取得された前記画像データを参照し、前記分割ブロックに対して動き補償を行うことによって前記予測画像を生成する、
     請求項1に記載の画像復号装置。
  3.  前記ブロック分割部は、前記復号対象ブロックに対して設定されている、動きベクトルと、前記他のピクチャを示すインデックスとを、前記複数の分割ブロックのそれぞれに割り当てることによって、前記復号対象ブロックを前記複数の分割ブロックに分割する、
     請求項2に記載の画像復号装置。
  4.  前記ブロック分割部は、前記分割ブロックごとに、前記復号対象ブロック内における当該分割ブロックの位置を示す位置情報と、当該分割ブロックに割り当てられた前記動きベクトルおよび前記インデックスとを前記画像取得部に出力し、
     前記画像取得部は、前記分割ブロックごとに、当該分割ブロックの前記インデックスによって示される、前記記録媒体に格納されている前記他のピクチャから、当該分割ブロックの前記位置情報および前記動きベクトルによって示される前記一部分を前記画像データとして取得する、
     請求項3に記載の画像復号装置。
  5.  前記画像取得部は、前記分割ブロックを含むピクチャ内の既に再構成された一部分を、前記分割ブロックに対応する前記画像データとして取得し、
     前記予測部は、前記画像取得部によって取得された前記画像データを参照し、前記分割ブロックに対して面内予測を行うことによって前記予測画像を生成する、
     請求項1に記載の画像復号装置。
  6.  前記ブロック分割部は、前記復号対象ブロックに対して設定されている面内予測モードを、前記複数の分割ブロックのそれぞれに割り当てることによって、前記復号対象ブロックを前記複数の分割ブロックに分割する、
     請求項5に記載の画像復号装置。
  7.  前記ブロック分割部は、前記分割ブロックごとに、前記復号対象ブロック内における当該分割ブロックの位置を示す位置情報と、当該分割ブロックに割り当てられた前記面内予測モードとを前記画像取得部に出力し、
     前記画像取得部は、前記分割ブロックごとに、当該分割ブロックを含むピクチャ内の既に再構成された領域から、当該分割ブロックの位置情報および前記面内予測モードによって示される前記一部分を前記画像データとして取得する、
     請求項6に記載の画像復号装置。
  8.  前記画像復号装置は、さらに、
     前記復号対象ブロックのサイズが、予め定められたサイズより大きいか否かを判定する判定部を備え、
     前記ブロック分割部は、前記判定部によって大きいと判定された場合に、前記復号対象ブロックを前記複数の分割ブロックに分割する、
     請求項1~7のうち何れか1項に記載の画像復号装置。
  9.  前記画像復号装置は、さらに、
     前記復号対象ブロックに対する逆量子化および逆周波数変換を、前記分割ブロックごとに順次行う逆処理部を備え、
     前記予測部は、前記逆処理部が前記複数の分割ブロックのうちの第2の分割ブロックに対して逆量子化および逆周波数変換を行っているときに、前記逆処理部によって既に逆量子化および逆周波数変換が行われた、前記複数の分割ブロックのうちの第1の分割ブロックの予測画像を生成する、
     請求項1~8のうち何れか1項に記載の画像復号装置。
  10.  前記画像復号装置は、さらに、
     前記再構成部によって再構成された前記分割ブロックごとに、当該分割ブロックに含まれるブロックノイズを除去するデブロックフィルタ部を備え、
     前記デブロックフィルタ部は、前記予測部が前記第2の分割ブロックの予測画像を生成して前記再構成部が前記第2の分割ブロックを再構成しているときに、前記予測部によって既に予測画像が生成され、かつ前記再構成部によって既に再構成された前記第1の分割ブロックに含まれる前記ブロックノイズを除去する、
     請求項9に記載の画像復号装置。
  11.  前記画像復号装置は、さらに、
     メモリと、
     前記符号化動画像をブロックごとに可変長復号することによって係数情報を生成し、前記係数情報を前記メモリに格納する可変長復号部とを備え、
     前記逆処理部は、前記分割ブロック対して逆量子化および逆周波数変換を行う際には、前記分割ブロックに対応する前記係数情報の一部を前記メモリから読み出し、読み出された前記係数情報の一部に対して逆量子化および逆周波数変換を行う
     請求項9または10に記載の画像復号装置。
  12.  動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像を復号する画像復号方法であって、
     前記符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割ステップと、
     前記分割ブロックごとに、当該分割ブロックに対応する画像データを記録媒体から取得する画像取得ステップと、
     前記分割ブロックごとに、前記画像取得ステップによって取得された画像データに基づいて当該分割ブロックの予測画像を生成する予測ステップと、
     前記分割ブロックごとに、当該分割ブロックに対して生成された予測画像を当該分割ブロックに加算することにより、当該分割ブロックを再構成する再構成ステップと
     を含む画像復号方法。
  13.  動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像を復号する集積回路であって、
     前記符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割部と、
     前記分割ブロックごとに、当該分割ブロックに対応する画像データを記録媒体から取得する画像取得部と、
     前記分割ブロックごとに、前記画像取得部によって取得された画像データに基づいて当該分割ブロックの予測画像を生成する予測部と、
     前記分割ブロックごとに、当該分割ブロックに対して生成された予測画像を当該分割ブロックに加算することにより、当該分割ブロックを再構成する再構成部と
     を備える集積回路。
  14.  動画像に含まれる複数のピクチャをそれぞれブロックごとに符号化することによって生成された符号化動画像を復号するためのプログラムであって、
     前記符号化動画像のピクチャに含まれるブロックである復号対象ブロックを複数の分割ブロックに分割するブロック分割ステップと、
     前記分割ブロックごとに、当該分割ブロックに対応する画像データを記録媒体から取得する画像取得ステップと、
     前記分割ブロックごとに、前記画像取得ステップによって取得された画像データに基づいて当該分割ブロックの予測画像を生成する予測ステップと、
     前記分割ブロックごとに、当該分割ブロックに対して生成された予測画像を当該分割ブロックに加算することにより、当該分割ブロックを再構成する再構成ステップと
     をコンピュータに実行させるプログラム。 
     
PCT/JP2011/003529 2010-06-23 2011-06-21 画像復号装置、画像復号方法、集積回路およびプログラム Ceased WO2011161949A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/805,704 US10033997B2 (en) 2010-06-23 2011-06-21 Image decoding apparatus, image decoding method, integrated circuit, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-143205 2010-06-23
JP2010143205 2010-06-23

Publications (1)

Publication Number Publication Date
WO2011161949A1 true WO2011161949A1 (ja) 2011-12-29

Family

ID=45371156

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/003529 Ceased WO2011161949A1 (ja) 2010-06-23 2011-06-21 画像復号装置、画像復号方法、集積回路およびプログラム

Country Status (2)

Country Link
US (1) US10033997B2 (ja)
WO (1) WO2011161949A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013076888A1 (ja) * 2011-11-21 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
JPWO2012046435A1 (ja) * 2010-10-04 2014-02-24 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
CN104956677A (zh) * 2013-02-21 2015-09-30 意法爱立信有限公司 组合的并行流水线视频编码器
JP2015228651A (ja) * 2014-05-30 2015-12-17 ▲ホア▼▲ウェイ▼技術有限公司 ビデオ復号方法及びビデオデコーダ
JPWO2015145504A1 (ja) * 2014-03-25 2017-04-13 株式会社ソシオネクスト 画像復号装置、画像復号方法、及び集積回路

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867854B2 (en) * 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
WO2013006386A1 (en) * 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
BR112014010539A2 (pt) 2011-11-04 2017-04-18 Motorola Mobility Llc escalonamento de vetor de movimento para rede de vetor de movimento não uniforme
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
WO2018056181A1 (ja) * 2016-09-26 2018-03-29 ソニー株式会社 符号化装置、符号化方法、復号化装置、復号化方法、送信装置および受信装置
CN116170584A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
CN109194962B (zh) * 2017-04-08 2022-07-22 腾讯科技(深圳)有限公司 一种图片文件处理方法及系统
KR102445899B1 (ko) 2017-12-29 2022-09-21 인텔렉추얼디스커버리 주식회사 서브-블록 단위 화면 내 예측을 사용하는 비디오 코딩 방법 및 장치
CN111355951B (zh) * 2018-12-24 2023-11-10 华为技术有限公司 视频解码方法、装置及解码设备
CN115550648B (zh) * 2019-01-09 2023-09-01 华为技术有限公司 视频译码中的子图像大小
WO2024187048A1 (en) * 2023-03-07 2024-09-12 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices on intra template matching prediction
CN119520797B (zh) * 2024-10-11 2025-10-31 电子科技大学(深圳)高等研究院 水下无线传感器网络的图像传输方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001275116A (ja) * 2000-03-24 2001-10-05 Sharp Corp 画像処理装置
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム
JP2006311526A (ja) * 2005-03-31 2006-11-09 Matsushita Electric Ind Co Ltd 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
JP2010502102A (ja) * 2006-08-25 2010-01-21 トムソン ライセンシング 低減された解像度の分割の方法及び装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069292A (ja) * 1998-08-24 2000-03-03 Canon Inc 画像処理装置及び方法及び記憶媒体
DE10343220B3 (de) * 2003-09-18 2005-05-25 Siemens Ag Verfahren und Vorrichtung zur Transcodierung eines Datenstroms, der ein oder mehrere codierte digitalisierte Bilder umfasst
JP4668914B2 (ja) * 2004-08-04 2011-04-13 パナソニック株式会社 画像復号装置
KR100679025B1 (ko) * 2004-11-12 2007-02-05 삼성전자주식회사 다 계층 기반의 인트라 예측 방법, 및 그 방법을 이용한비디오 코딩 방법 및 장치
US8588304B2 (en) 2005-03-31 2013-11-19 Panasonic Corporation Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
KR100703200B1 (ko) * 2005-06-29 2007-04-06 한국산업기술대학교산학협력단 인트라 부호화 장치 및 방법
JP2008042497A (ja) * 2006-08-04 2008-02-21 Seiko Epson Corp デコード装置、情報再生装置及び電子機器
KR101403341B1 (ko) * 2007-03-28 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR101375664B1 (ko) * 2007-10-29 2014-03-20 삼성전자주식회사 영상의 디퓨전 특성을 이용한 영상 부호화/복호화 방법 및장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001275116A (ja) * 2000-03-24 2001-10-05 Sharp Corp 画像処理装置
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム
JP2006311526A (ja) * 2005-03-31 2006-11-09 Matsushita Electric Ind Co Ltd 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
JP2010502102A (ja) * 2006-08-25 2010-01-21 トムソン ライセンシング 低減された解像度の分割の方法及び装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2012046435A1 (ja) * 2010-10-04 2014-02-24 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
US9414059B2 (en) 2010-10-04 2016-08-09 Panasonic Intellectual Property Management Co., Ltd. Image processing device, image coding method, and image processing method
JP2017092977A (ja) * 2011-11-21 2017-05-25 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
JPWO2013076888A1 (ja) * 2011-11-21 2015-04-27 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
WO2013076888A1 (ja) * 2011-11-21 2013-05-30 パナソニック株式会社 画像処理装置および画像処理方法
US9674528B2 (en) 2011-11-21 2017-06-06 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
JP2018029379A (ja) * 2011-11-21 2018-02-22 パナソニックIpマネジメント株式会社 画像処理装置
JP2018191338A (ja) * 2011-11-21 2018-11-29 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
JPWO2013128526A1 (ja) * 2012-02-28 2015-07-30 パナソニックIpマネジメント株式会社 画像処理装置、及び、画像処理方法
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
US9723308B2 (en) 2012-02-28 2017-08-01 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
CN104956677A (zh) * 2013-02-21 2015-09-30 意法爱立信有限公司 组合的并行流水线视频编码器
JPWO2015145504A1 (ja) * 2014-03-25 2017-04-13 株式会社ソシオネクスト 画像復号装置、画像復号方法、及び集積回路
JP2015228651A (ja) * 2014-05-30 2015-12-17 ▲ホア▼▲ウェイ▼技術有限公司 ビデオ復号方法及びビデオデコーダ

Also Published As

Publication number Publication date
US20130089149A1 (en) 2013-04-11
US10033997B2 (en) 2018-07-24

Similar Documents

Publication Publication Date Title
JP5518069B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法、プログラムおよび集積回路
WO2011161949A1 (ja) 画像復号装置、画像復号方法、集積回路およびプログラム
CN103125119B (zh) 图像处理装置、图像编码方法以及图像处理方法
CN102550030B (zh) 图像解码装置、图像编码装置、及其方法、程序、集成电路以及代码转换装置
JP6390883B2 (ja) 画像処理装置
CN102197652B (zh) 解码装置、解码方法、程序以及集成电路
CN103765903B (zh) 图像解码装置、图像编码装置、图像解码方法及图像编码方法
JP5999515B2 (ja) 画像処理装置、及び、画像処理方法
JP5546044B2 (ja) 画像復号装置、画像符号化装置、画像復号回路及び画像復号方法
JP5468604B2 (ja) 画像復号装置、集積回路、画像復号方法及び画像復号システム
CN103348678A (zh) 图像处理装置以及图像处理方法
WO2013076897A1 (ja) 画像処理装置および画像処理方法
WO2011129052A1 (ja) 画像復号装置、画像符号化装置、画像復号方法および画像符号化方法
JP2011182132A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、集積回路およびプログラム

Legal Events

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

Ref document number: 11797838

Country of ref document: EP

Kind code of ref document: A1

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 13805704

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11797838

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP