WO2011129067A1 - 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路 - Google Patents

動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路 Download PDF

Info

Publication number
WO2011129067A1
WO2011129067A1 PCT/JP2011/001981 JP2011001981W WO2011129067A1 WO 2011129067 A1 WO2011129067 A1 WO 2011129067A1 JP 2011001981 W JP2011001981 W JP 2011001981W WO 2011129067 A1 WO2011129067 A1 WO 2011129067A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
motion compensation
pixel data
target
unit
Prior art date
Application number
PCT/JP2011/001981
Other languages
English (en)
French (fr)
Inventor
陽司 柴原
ステファン ウィットマン
西 孝啓
寿郎 笹井
京子 谷川
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to US13/638,681 priority Critical patent/US9100655B2/en
Priority to JP2012510549A priority patent/JP5701291B2/ja
Publication of WO2011129067A1 publication Critical patent/WO2011129067A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to a motion compensation method, and more particularly, to a moving image coding method and a moving image decoding method that realize high coding efficiency, and an efficient motion compensation memory transfer in the apparatus.
  • standardization of compression technology is also important for interoperating compressed image data.
  • image compression technology for example, H.264 of ITU-T (International Telecommunication Union, Telecommunication Standardization Division). 261, H.H. H.263, ISO / IEC (International Electrotechnical Commission International Electrotechnical Commission) MPEG (Moving Picture Experts Group) -1, MPEG-2, MPEG-4, etc.
  • JVT Joint Video
  • H.264 MPEG-4AVC
  • a picture is a term representing a single screen, which means a frame in a progressive image and a frame or field in an interlaced image.
  • an interlaced image is an image in which one frame is composed of two fields having different times.
  • one frame can be processed as a frame, processed as two fields, or processed as a frame structure or a field structure for each block in the frame. .
  • the one that performs intra-frame predictive coding without a reference image is called an I picture.
  • a picture that performs inter-frame prediction coding with reference to only one reference picture is called a P picture.
  • a picture that can be subjected to inter-picture prediction coding with reference to two reference pictures at the same time is called a B picture.
  • the B picture can refer to two pictures as an arbitrary combination of display times from the front or rear.
  • a reference picture (reference picture) can be specified for each macroblock that is a basic unit of encoding.
  • the reference picture described earlier in the encoded bitstream is the first reference picture, The one described is distinguished as the second reference picture.
  • the picture to be referenced needs to be already encoded.
  • Motion compensation inter-picture prediction coding is used for coding a P picture or a B picture.
  • the motion compensation inter-picture prediction encoding is an encoding method in which motion compensation is applied to inter-picture prediction encoding.
  • the motion compensation is not simply predicted from the pixel value of the reference frame, but is detected by detecting the motion amount of each part in the picture (hereinafter referred to as “motion vector”) and taking the motion amount into consideration. This improves the prediction accuracy and reduces the amount of data. For example, the amount of data is reduced by detecting the motion vector of the encoding target picture and encoding the prediction residual between the prediction value shifted by the motion vector and the encoding target picture. In the case of this method, since motion vector information is required at the time of decoding, the motion vector is also encoded and recorded or transmitted.
  • the motion vector is detected in units of macroblocks. Specifically, the macroblock on the encoding target picture side is fixed, the macroblock on the reference picture side is moved within the search range, and is most similar to the reference block. The motion vector is detected by finding the position of the reference block.
  • FIG. 1 is a block diagram showing a configuration of a conventional inter-picture prediction encoding apparatus.
  • This inter-screen prediction encoding apparatus includes a motion detection unit 101, a frame memory 102, subtraction units 103 and 104, a motion compensation unit 105, an encoding unit 106, an addition unit 107, a motion vector memory 108, And a motion vector prediction unit 109.
  • FIG. 2 is a block diagram showing a configuration of a conventional inter-screen predictive decoding apparatus.
  • the conventional inter-picture prediction decoding apparatus shown in FIG. 2 is an apparatus that decodes the encoded signal Str encoded by the conventional inter-picture prediction encoding apparatus shown in FIG. 1 and outputs a decoded screen signal Vout.
  • a memory 102, a motion compensation unit 105, adders 107 and 121, a motion vector memory 108, a motion vector prediction unit 109, a decoding unit 122, a local reference memory 123, and a transfer control unit 124 are provided. .
  • the transfer control unit 124 reads out, from the frame memory 102, the pixel data in the reference area indicated by the motion vector MV among the reference image indicated by the reference picture number RefNo.
  • a control circuit (which constitutes an area specifying unit and a reference pixel transfer unit) controls the frame memory 102 with a control signal Ctrl1 and controls the motion compensation unit 105 with a control signal Ctrl2.
  • the decoded screen signal Vout that is, the decoded screen RecPel can be correctly decoded from the encoded signal Str.
  • the encoding and decoding processes are performed in units called 16 ⁇ 16 pixel macroblocks.
  • the motion compensation blocks are 7 types of motion compensation blocks of 4 ⁇ 4, 4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 8, 8 ⁇ 16, 16 ⁇ 8, and 16 ⁇ 16 (hereinafter, for simplicity). (It may be described as “small block” or “sub-block.”)
  • An appropriate block size is selected from the size or the size of the macroblock and used for the encoding and decoding processes.
  • the macroblock can first be divided into macroblock partitions (4 ⁇ 8 ⁇ 8, 2 ⁇ 8 ⁇ 16, 2 ⁇ 16 ⁇ 8, or 16 ⁇ 16). .
  • the 8 ⁇ 8 macroblock partition is further sub-macroblock partition (4 ⁇ 4 size is 4, 4 ⁇ 8 size is 2, 8 ⁇ 4 size is 2 or 8 ⁇ 8). Can be divided into That is, the macroblock can be divided into small blocks in two stages.
  • Patent Document 1 examines a motion vector MV and a reference picture number RefNo of a plurality of motion compensation blocks in a macroblock, and performs transfer in a batch in the case of transfer from the same position within a certain range. The transfer is efficient.
  • Patent Document 1 mentions a method of collectively transferring reference pixel data of a plurality of small blocks included in the same macroblock, but does not mention other cases. That is, determination of batch transfer of reference pixel data corresponding to a plurality of small blocks cannot be performed unless transfer source position information (motion vectors and coordinate information of the blocks) of the plurality of small blocks is obtained. For example, small blocks belonging to different macroblocks cannot realize the effect of reducing memory transfer because the timing at which motion vectors are obtained differs.
  • the present invention has been made in view of the above problems, and provides a motion compensation method that efficiently transfers reference pixel data, and an image decoding method and an image encoding method that use such a motion compensation method. For the purpose.
  • a motion compensation method performs motion compensation using a reference image stored in a frame memory, so that a block unit constituting an image or a sub-block unit obtained by further dividing the block is provided.
  • This is a method of sequentially outputting predicted pixel data.
  • an area used for motion compensation of each of the target block and the target subblock spatially adjacent to the target block is specified using the motion vector of the target block, and the specified area Reading out the reference pixel data from the frame memory, and performing motion compensation using the reference pixel data read out in the reading step, thereby obtaining the predicted pixel data of each of the target block and the target sub-block.
  • a motion compensation step to generate, an output step to output the prediction pixel data of the target block generated in the motion compensation step, and a temporary storage of the prediction pixel data of the target sub-block generated in the motion compensation step A temporary storage step.
  • the reference pixel data of the target block when the reference pixel data of the target block is read, the reference pixel data of the target sub-block is read together, so that the reading efficiency (transfer efficiency) from the frame memory can be improved.
  • the reference pixel data of each of the target block and the target subblock is only when a difference in processing order between the target block and the target subblock is within a predetermined threshold range. May be read from the frame memory. Thereby, the storage capacity in the temporary storage step can be reduced.
  • the output step stores the target sub-block stored in the temporary storage step
  • the predicted pixel data may be output.
  • the reference pixel data of the target subblock of the reference image is read from the frame memory, and the motion compensation is performed.
  • the predicted pixel data of the target sub-block is generated by performing motion compensation using the reference pixel data read in the reading step and the motion vector of the target sub-block, and the output step Then, the prediction pixel data of the target sub-block generated in the motion compensation step may be output.
  • the processing efficiency can be improved by outputting the prediction pixel data generated in advance and stored in the temporary storage step.
  • the image decoding method is a method for generating a decoded image by decoding an encoded stream. Specifically, the method includes the motion compensation method described above and a decoding step of generating the decoded image from the encoded stream using the prediction pixel data output by the motion compensation method.
  • An image encoding method is a method for generating an encoded stream by encoding an image. Specifically, the method includes the motion compensation method described above and an encoding step of generating the encoded stream from the image using the prediction pixel data output by the motion compensation method.
  • An image encoding method is a method of sequentially encoding a plurality of blocks constituting an image. Specifically, an encoding unit determining step for determining an encoding unit of the target block, a motion vector determining step for determining a motion vector of the target block for each encoding unit, and pixel data of the target block And an encoding step of encoding for each encoding unit using the motion vector.
  • a coding order difference between an adjacent block spatially adjacent to the target block and the target block that is an already coded block is within a predetermined threshold range.
  • the encoding unit of the target block is determined as a sub-block unit obtained by further dividing the target block.
  • a motion vector of a sub-block adjacent to the adjacent block in the target block is determined to be the same as the motion vector of the adjacent block.
  • the motion vector of the left sub-block of the target block is the same as the motion vector of the adjacent block adjacent to the left side of the target block. You may decide to.
  • the motion vector of the upper sub-block of the target block may be determined to be the same as the motion vector of the adjacent block adjacent to the upper side of the target block.
  • a motion compensation device performs motion compensation using a reference image stored in a frame memory, thereby forming a block unit constituting an image or a sub-block unit obtained by further dividing the block.
  • Predictive pixel data is sequentially output.
  • an area used for motion compensation of each of the target block and the target subblock spatially adjacent to the target block is specified using the motion vector of the target block, and the specified area
  • the prediction pixel data of each of the target block and the target sub-block is obtained by performing motion compensation using a read unit that reads the reference pixel data from the frame memory and the reference pixel data read by the read unit.
  • a motion compensation unit to be generated; an output unit for outputting the prediction pixel data of the target block generated by the motion compensation unit; and the prediction pixel data of the target sub-block generated by the motion compensation unit are temporarily stored A temporary storage unit.
  • a program performs, in a computer, motion compensation using a reference image stored in a frame memory, so that a block unit constituting the image or a sub-block unit obtained by further dividing the block.
  • the predicted pixel data is sequentially output.
  • an area used for motion compensation of each of the target block and the target subblock spatially adjacent to the target block is specified using the motion vector of the target block, and the specified area Reading out the reference pixel data from the frame memory, and performing motion compensation using the reference pixel data read out in the reading step, thereby obtaining the predicted pixel data of each of the target block and the target sub-block.
  • a motion compensation step to generate, an output step to output the prediction pixel data of the target block generated in the motion compensation step, and a temporary storage of the prediction pixel data of the target sub-block generated in the motion compensation step Causing the computer to execute a temporary storage step.
  • An integrated circuit performs motion compensation using a reference image stored in a frame memory, thereby predicting in units of blocks constituting an image or in units of sub-blocks obtained by further dividing the block.
  • Pixel data is output sequentially.
  • an area used for motion compensation of each of the target block and the target subblock spatially adjacent to the target block is specified using the motion vector of the target block, and the specified area
  • the prediction pixel data of each of the target block and the target sub-block is obtained by performing motion compensation using a read unit that reads the reference pixel data from the frame memory and the reference pixel data read by the read unit.
  • a motion compensation unit to be generated; an output unit for outputting the prediction pixel data of the target block generated by the motion compensation unit; and the prediction pixel data of the target sub-block generated by the motion compensation unit are temporarily stored A temporary storage unit.
  • the motion compensation device of the present invention high coding efficiency can be realized while suppressing the memory transfer amount for motion compensation.
  • FIG. 1 is a block diagram of a conventional inter-picture prediction encoding apparatus.
  • FIG. 2 is a block diagram of a conventional inter-screen predictive decoding apparatus.
  • FIG. 2 is a conceptual diagram illustrating a reference position of a prediction vector when a H.264 16 ⁇ 16 pixel block is divided into 16 ⁇ 8 pixel partitions.
  • FIG. 3B is a diagram illustrating an example of a prediction vector reference position of an upper sub-block obtained by dividing a block into two vertically.
  • FIG. 3C is a diagram illustrating an example of the reference position of the prediction vector of the left sub-block obtained by dividing the block into left and right parts.
  • FIG. 4A is a block diagram showing a configuration of the image coding apparatus according to the present embodiment.
  • FIG. 4A is a block diagram showing a configuration of the image coding apparatus according to the present embodiment.
  • FIG. 4B is a diagram illustrating another example of the block diagram of the image encoding device.
  • FIG. 5A is a block diagram showing a configuration of the image decoding apparatus according to the present embodiment.
  • FIG. 5B is a block diagram illustrating a configuration of the motion compensation apparatus according to the present embodiment.
  • FIG. 6A is a diagram illustrating an example of a data structure of an encoded stream.
  • FIG. 6B is a diagram illustrating another example of the data structure of the encoded stream.
  • FIG. 6C is a diagram illustrating another example of the data structure of the encoded stream.
  • FIG. 7A is a diagram showing the position of each block constituting an image and the encoding order (or decoding order).
  • FIG. 7B is an example of an encoded stream in which motion information related to blocks in decoding order 1 to 4 is located continuously.
  • FIG. 8 is an operation flowchart of the image decoding apparatus according to the present embodiment.
  • FIG. 9 is a diagram showing details of the enlarged transfer determination (S111) in FIG.
  • FIG. 10 is an operation flowchart of the image coding apparatus according to the present embodiment.
  • FIG. 11 is a conceptual diagram showing the operation of the decoding method in the present embodiment.
  • FIG. 12 is an overall configuration diagram of a content supply system that realizes a content distribution service.
  • FIG. 13 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 14 is a block diagram illustrating a configuration example of a television.
  • FIG. 14 is a block diagram illustrating a configuration example of a television.
  • FIG. 15 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.
  • FIG. 16 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 17 is a diagram showing a structure of multiplexed data.
  • FIG. 18 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 19 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 20 is a diagram illustrating the structure of TS packets and source packets in multiplexed data.
  • FIG. 21 is a diagram illustrating a data structure of the PMT.
  • FIG. 22 is a diagram showing an internal configuration of multiplexed data information.
  • FIG. 23 is a diagram showing an internal configuration of stream attribute information.
  • FIG. 24 is a diagram illustrating steps for identifying video data.
  • FIG. 25 is a block diagram illustrating a configuration example of an integrated circuit that realizes the moving image encoding method and the moving image decoding method according to each embodiment.
  • FIG. 26 is a diagram illustrating a configuration for switching the driving frequency.
  • FIG. 27 is a diagram illustrating steps for identifying video data and switching between driving frequencies.
  • FIG. 28 is a diagram illustrating an example of a lookup table in which video data standards are associated with drive frequencies.
  • FIG. 29A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit
  • FIG. 29B is a diagram illustrating another example of a configuration for sharing a module of a signal processing unit. is there.
  • Embodiment 1 In inter-picture predictive encoding using motion compensation, pixel data (reference pixel data) in a region indicated by a motion vector in an encoded image (reference image) is used as a prediction signal, and the difference between the encoded block and the prediction signal.
  • the amount of information is reduced by encoding only the residual signal (RecDifPic) taking If the motion compensation accuracy is increased by performing motion compensation in units of small blocks, the amount of information of the residual signal can be reduced. However, since the amount of motion vector information increases, the residual signal information amount and the motion vector information amount are in a trade-off relationship.
  • the image encoding device determines a motion vector by searching within the search range of the reference image so that the compression efficiency of the target block is maximized. Therefore, the image coding apparatus according to an aspect of the present invention preferentially determines a motion vector that may reduce a memory transfer load in the image decoding apparatus in addition to a search for a motion vector with high compression efficiency. It is characterized by doing.
  • the image encoding apparatus of the present invention suppresses the frequency of motion compensation in units of small blocks, or increases the memory transfer load, or performs motion compensation in units of small blocks.
  • the same motion vector as that of other spatially neighboring blocks is preferentially or limited to this.
  • FIG. 2 is a conceptual diagram illustrating a reference position of a prediction vector when a H.264 16 ⁇ 16 pixel block is divided into 16 ⁇ 8 pixel partitions (also referred to as “sub-blocks”).
  • the upper 16 ⁇ 8 pixel partition uses the motion vector of the adjacent block on the upper side as a prediction vector
  • the lower 16 ⁇ 8 pixel partition uses the motion vector of the adjacent block on the left side as a prediction vector.
  • the motion vector mvCur of the upper 16 ⁇ 8 pixel sub-block 11a is the motion vector mvUp of the adjacent block 10 on the upper side. Since the amount of motion vector information can be suppressed when they are equal, such a motion vector is preferentially used in the motion search process, or limited to take only this.
  • the motion vector mvCur of the left 8 ⁇ 16 pixel sub-block 21a is equal to the motion vector mvLeft of the adjacent block 20 on the left side. Since the amount of information on motion vectors can sometimes be suppressed, such motion vectors are preferentially used in the motion search process, or limited to take only this.
  • the sub-block 11a on the side adjacent to the already-encoded blocks 10 and 20 21 a is motion-compensated using the same motion vector as that of the adjacent blocks 10 and 20.
  • FIG. 4A is a block diagram showing a configuration of the image coding apparatus 100 according to the present embodiment.
  • 4A includes a motion detection unit 101, a frame memory 102, subtraction units 103 and 104, a motion compensation unit 105, an encoding unit 106, an addition unit 107, and a motion vector memory. 108, a motion vector prediction unit 109, and a motion compensation constraint unit 110.
  • the motion detection unit 101 compares the motion detection reference pixel MEpel output from the frame memory 102 with the screen signal Vin, and outputs a motion vector MV and a reference picture number RefNo.
  • the reference picture number RefNo is an identification signal for specifying a reference image that is selected from a plurality of reference images and that is referred to by the target image.
  • the motion vector MV is temporarily stored in the motion vector memory 108 and then output to the motion vector prediction unit 109 as a neighborhood motion vector PrevMV.
  • the motion vector prediction unit 109 predicts the predicted motion vector PredMV with reference to the input neighboring motion vector PrevMV.
  • the subtraction unit 104 subtracts the predicted motion vector PredMV from the motion vector MV, and outputs the difference as a motion vector prediction difference DifMV.
  • the frame memory 102 outputs the pixel data (reference pixel data) of the reference region indicated by the motion vector MV among the reference image indicated by the reference picture number RefNo as the motion compensation reference pixel MCpel1.
  • the motion compensation unit 105 generates predicted pixel data with decimal pixel accuracy from the motion compensated reference pixel MCpel1 acquired from the frame memory 102, and outputs it as a predicted pixel signal MCpel2.
  • the subtraction unit 103 subtracts the predicted pixel signal MCpel2 from the screen signal Vin and outputs a screen prediction error DifPel.
  • the encoding unit 106 frequency-converts and quantizes the screen prediction error DifPel to generate a quantized coefficient. Also, the encoding unit 106 performs variable length encoding on the quantization coefficient, the motion vector prediction difference DifMV, and the reference picture number RefNo, and outputs an encoded signal Str. Note that a prediction error RecDifPel, which is a decoding result of the screen prediction error, is also output at the time of encoding.
  • the prediction error RecDifPel is obtained by dequantizing the quantization coefficient and performing inverse frequency conversion. That is, the prediction error RecDifPel is obtained by superimposing the coding error on the screen prediction error DifPel, and matches the inter-screen prediction error obtained by decoding the coded signal Str by the image decoding device 200 described later.
  • the addition unit 107 stores the decoded pixel signal RecPel obtained by adding the prediction error RecDifPel to the prediction pixel signal MCpel2 in the frame memory 102 as a reference image.
  • an unnecessary area in the reference image stored in the frame memory 102 is released, and a reference image that does not need to be stored in the frame memory 102 is stored in the frame memory 102. Is not remembered.
  • the motion compensation constraint unit 110 sends a control signal MeCtrl to the motion detection unit 101 so that the amount of information required for encoding a motion vector does not become too large in motion detection of a small size partition, that is, a sub-block. Then, control is performed so as to detect a motion vector MV that is as equal as possible to the predicted motion vector PredMV. Thereby, the information amount of the motion vector prediction difference DiffMV is suppressed.
  • An image encoding apparatus 1000 is an apparatus that sequentially encodes a plurality of blocks constituting an image, for example, as illustrated in FIG. 4B, and includes an encoding unit determination unit 1100, a motion A vector determination unit 1200 and an encoding unit 1300 are provided.
  • the coding unit determination unit 1100 determines the coding unit of the target block. That is, the coding unit determination unit 1100 determines whether to encode the target block in units of blocks, or to further divide the target block into a plurality of subblocks and perform encoding in units of subblocks.
  • the encoding unit determination unit 1100 is included in the encoding unit 106 in FIG. 4A, for example.
  • the coding unit determination unit 1100 is a block that has already been coded, and a threshold in which a difference in coding order between the adjacent block spatially adjacent to the target block and the target block is determined in advance. If the current block is within the range, the coding unit of the target block is determined as a sub-block unit obtained by further dividing the target block.
  • the motion vector determination unit 1200 determines a motion vector for each target block when encoding the target block for each block. On the other hand, the motion vector determination unit 1200 determines a motion vector of each subblock when the target block is encoded in units of subblocks.
  • the motion vector determination unit 1200 corresponds to, for example, the motion detection unit 101, the motion vector memory 108, the motion vector prediction unit 109, the motion compensation restriction unit 110, and the like in FIG. 4A.
  • the motion vector determination unit 1200 uses the motion vector of the sub-block adjacent to the adjacent block in the target block as the motion vector of the adjacent block. Determine the same.
  • the motion vector determination unit 1200 determines the motion vector of the sub-block that is not in contact with the adjacent block in the target block by the same method as when encoding in block units.
  • the encoding unit 1300 When encoding the target block in units of blocks, the encoding unit 1300 encodes the pixel data of the target block using the motion vector of the target block, and in the case of encoding the target block in units of sub-blocks, Are encoded using corresponding motion vectors.
  • the encoding unit 1300 is included in the encoding unit 106 in FIG. 4A, for example.
  • the block is the same as or close to the block adjacent to the upper side of the partition or the block adjacent to the left side. Since it becomes a motion vector of a value, it is possible to suppress the amount of motion vector information and improve the compression efficiency.
  • An image decoding apparatus performs memory transfer by collectively performing memory transfer of reference pixel data of a plurality of spatially neighboring blocks among reference images stored in a frame memory. It is to improve efficiency. In particular, the efficiency of memory transfer is increased for the bitstream generated in the image encoding device 100 according to an aspect of the present invention.
  • FIG. 5A is a block diagram showing a configuration of the image decoding apparatus 200 according to the present embodiment.
  • 5A includes a frame memory 102, a motion compensation unit 105, adders 107 and 121, a motion vector memory 108, a motion vector prediction unit 109, a decoding unit 122, and a local reference memory. 123, an extended transfer control unit 134, a temporary memory 135, and a selector 136.
  • the decoding unit 122 performs variable length decoding on the encoded signal Str, and outputs a quantization coefficient, a motion vector prediction difference DifMV, and a reference picture number RefNo. Also, the decoding unit 122 dequantizes the quantization coefficient, performs inverse frequency conversion, and outputs a prediction error RecDifPel.
  • the adding unit 121 adds the predicted motion vector PredMV and the motion vector prediction difference DifMV output from the motion vector prediction unit 109, and decodes the motion vector MV.
  • the frame memory 102 outputs the reference pixel data indicated by the motion vector MV among the reference images indicated by the reference picture number RefNo as the motion compensation reference pixel MCpel1.
  • the local reference memory 123 is a memory located between the frame memory 102 and the motion compensation unit 105, and the motion compensation reference pixel MCpel1 is input from the frame memory 102.
  • the motion compensation reference pixel MCpel1 stored in the local reference memory 123 is referred to only by the motion compensation unit 105.
  • the reference pixel MCpel3 is output from the local reference memory 123 and input to the motion compensation unit 105.
  • the motion compensation unit 105 generates predicted pixel data with decimal pixel accuracy and outputs the predicted pixel data as a predicted pixel signal MCpel2.
  • the addition unit 107 stores decoded pixel data RecPel obtained by adding the prediction error RecDifPel to the prediction pixel signal MCpel2 in the frame memory 102 as a reference image.
  • the extended transfer control unit 134 uses a control signal Ctrl1 to instruct whether to transfer the enlarged reference pixel data from the frame memory 102 to the local reference memory 123 according to the position of the target block and the recording state of the temporary memory 135. To do.
  • the extended transfer control unit 134 specifies an area used for motion compensation of the target block and each of the subsequent block, and pixel data ( The control signal Ctrl1 is output so that the reference pixel data) is simultaneously transferred from the frame memory 102 to the local reference memory 123 (hereinafter referred to as “enlarged transfer”).
  • the target block is, for example, a block of 16 ⁇ 16 pixels.
  • the succeeding block is, for example, a 16 ⁇ 8 pixel sub-block.
  • the sub-block that becomes the subsequent block is one of the 16 ⁇ 16 pixel blocks spatially adjacent to the target block divided into a plurality of sub-blocks, and more specifically, a plurality of sub-blocks. Among the sub-blocks adjacent to the target block.
  • the block 10 shown in FIG. 3B is the target block
  • the upper sub-block 11a of the blocks 11 adjacent to the block 10 in the vertical direction is the subsequent block.
  • the block 20 shown in FIG. 3C is the target block
  • the sub-block 21a on the left side of the block 21 adjacent to the block 20 in the left-right direction is the subsequent block.
  • the motion compensation unit 105 performs motion compensation using the reference pixel data stored in the local reference memory 123, so that the prediction pixel data is obtained in units of blocks constituting the image or in units of sub-blocks obtained by further dividing the blocks. Generate sequentially.
  • the motion compensation unit 105 generates predicted pixel data for each of the target block and the subsequent block by performing motion compensation using the reference pixel data stored in the local reference memory 123. Then, the motion compensation unit 105 outputs the predicted pixel data of the target block to the selector 136 and stores the predicted pixel data of the subsequent block in the temporary memory 135.
  • the motion compensation unit 105 performs motion compensation of two blocks simultaneously on the assumption that the motion vectors of the target block and the subsequent block are the same. However, when the enlarged transfer from the frame memory 102 to the local reference memory 123 is not performed, that is, when only the reference pixel data used for motion compensation of the target block is transferred, the motion compensation unit 105 performs motion for the target block. Only compensate.
  • the extended transfer control unit 134 transfers reference pixel data when the predicted pixel data of the subsequent block is already stored in the temporary memory 135 before performing motion compensation of the subsequent block. Absent. Then, the selector 136 reads the predicted pixel data MCPel4 of the subsequent block from the temporary memory 135 and outputs it as motion compensation data MCPelCur.
  • the image decoding apparatus 200 shown in FIG. 5A includes the local reference memory 123, even without this, the reference pixel data of undecoded subsequent blocks, which is a feature of the image decoding apparatus 200 of the present invention, is included. It is possible to increase the efficiency of extended transfer.
  • the extended transfer control unit 134 may instruct the motion compensation unit 105 with the control signal Ctrl2 to directly read the reference pixel data of each of the target block and the subsequent block from the frame memory 102.
  • the motion compensation apparatus 2000 performs motion compensation using a reference image stored in the frame memory 102, so that a block unit or a block constituting an image Is a device that sequentially outputs predicted pixel data in units of sub-blocks, and includes a reference pixel reading unit 2100, a motion compensation unit 2200, an output unit 2300, and a temporary storage unit 2400.
  • the reference pixel reading unit 2100 reads, from the frame memory 102, reference pixel data used for motion compensation of the target block and each of the target sub-blocks spatially adjacent to the target block in the reference image separately or collectively. And stored in the local reference memory 123.
  • the reference pixel readout unit 2100 corresponds to, for example, the extended transfer control unit 134 in FIG. 5A.
  • the reference pixel reading unit 2100 includes a reference pixel used for motion compensation of the target block and the target subblock.
  • An area is specified using the motion vector of the target block, and pixel data (reference pixel data) of the specified area is read from the frame memory 102 and stored in the local reference memory 123.
  • the reference pixel reading unit 2100 reads the reference pixel data of the target block and the target sub-block separately from the frame memory 102 at the timing of each motion compensation process, and local reference memory 123 is stored.
  • the motion compensation unit 2200 generates prediction pixel data for each of the target block and the target sub-block by performing motion compensation using the reference pixel data read by the reference pixel reading unit 2100.
  • the motion compensation unit 2200 corresponds to, for example, the motion compensation unit 105 in FIG. 5A.
  • the motion compensation unit 2200 uses the reference pixel data to calculate prediction pixel data of each of the target block and the target sub-block. Generate at the same time. Then, the motion compensation unit 2200 outputs the prediction pixel data of the target block to the addition unit 107 via the output unit 2300, and stores the prediction pixel data of the target subblock in the temporary storage unit 2400.
  • the motion compensation unit 2200 when only the reference pixel data of the target block is stored in the local reference memory 123, the motion compensation unit 2200 generates predicted pixel data of the target block using the reference pixel data of the target block, and outputs the output unit 2300. To the adder 107. Similarly, when only the reference pixel data of the target subblock is stored in the local reference memory 123, the motion compensation unit 2200 generates predicted pixel data of the target subblock using the reference pixel data of the target subblock, The data is output to the adding unit 107 via the output unit 2300.
  • the output unit 2300 outputs the prediction pixel data of the target block or the target subblock generated by the motion compensation unit 2200 to the addition unit 107.
  • the output unit 2300 corresponds to, for example, the selector 136 in FIG. 5A.
  • the output unit 2300 When outputting the prediction pixel data of the target block, the output unit 2300 directly acquires the prediction pixel data from the motion compensation unit 2200 and outputs the prediction pixel data to the addition unit 107. On the other hand, when outputting the prediction pixel data of the target sub-block, the output unit 2300 directly acquires the prediction pixel data from the motion compensation unit 2200 or acquires the prediction pixel data from the temporary storage unit 2400 and adds the prediction pixel data. Output to the unit 107.
  • the output unit 2300 when the motion vectors of the target block and the target subblock match, the output unit 2300 outputs the predicted pixel data of the target subblock acquired from the temporary storage unit 2400. On the other hand, when the motion vectors of the target block and the target subblock do not match, the output unit 2300 outputs the prediction pixel data of the target subblock obtained directly from the motion compensation unit 2200.
  • the temporary storage unit 2400 temporarily stores the predicted pixel data of the target sub-block generated by the motion compensation unit 2200.
  • the temporary storage unit 2400 corresponds to, for example, the temporary memory 135 in FIG. 5A.
  • the motion compensation device 2000 having the above configuration may be mounted not only on the image decoding device 200 but also on the image encoding device 100. Specifically, the motion compensation unit 105 in FIG. 4A may operate the motion compensation apparatus 2000.
  • FIGS. 6A to 6C are diagrams illustrating examples of the data structure of a certain encoded stream.
  • encoded data of four blocks (BLK1, BLK2, BLK3, and BLK4) are continuously stored in the encoding order.
  • the motion information (MV1, MV2, MV3, MV4) regarding each block is stored continuously.
  • H This corresponds to a case where a macroblock in H.264 is divided into four motion compensation blocks (subblocks).
  • the motion information is continuously located before the encoded data of the four blocks.
  • the image decoding apparatus 200 can determine enlargement transfer after decoding all four pieces of motion information. That is, the reference pixel data of the block having the same motion information among the four blocks may be enlarged and transferred from the frame memory 102 to the local reference memory 123. This can be realized in the conventional image decoding apparatus, and can also be realized in the image decoding apparatus 200 of the present invention.
  • the motion information (MV1, MV2, MV3, MV4) of each block (BLK1, BLK2, BLK3, BLK4) is located immediately before the encoded data of the block, and is in block units.
  • the encoded data and motion information are stored in pairs.
  • the conventional image decoding apparatus can operate only when motion information related to a plurality of motion compensation blocks can be obtained collectively before the encoded data as shown in FIG. 6A. In such an example, memory transfer cannot be made efficient.
  • the data structure of the encoded stream shown in FIG. 6C is the same as FIG. 6B.
  • the image decoding apparatus 200 of the present invention when the motion information (MV1) of the first block (BLK1) is decoded, the motion information (MV2) of the subsequent block (BLK2) and further subsequent blocks are decoded. Assuming that the motion information (MV3) of (BLK3) is the same value as the motion information (MV1) of the block (BLK1) currently being decoded, the expansion transfer is performed. If the assumption is correct, the memory transfer can be made efficient. As described above, the probability that the motion information is equivalent can be measured by the image decoding apparatus 200, and it can be expected that the assumption is made with high accuracy.
  • FIG. 7A is a diagram showing the position of each block constituting an image and the encoding order (or decoding order).
  • FIG. 7B shows an example of an encoded stream in which motion information (MV1, MV2, MV3, MV4) related to blocks (BLK1, BKL2, BLK3, BLK4) in decoding order 1 to 4 are successively located.
  • FIG. 8 is an operation flowchart centering on a portion related to memory transfer in the image decoding method of the present embodiment.
  • the blocks in the decoding order 1 to 4 shown in FIG. 7A are spatially arranged in the Z order, and the blocks in the decoding order 5 to 8 are similarly arranged in the Z order on the right side of these blocks.
  • motion compensation of a block (BlkCurr) in decoding order 2 is to be performed, memory transfer of reference pixel data of the block (BlkCurr) and reference pixel data of a block (BlkRight) adjacent on the right side can be integrated. The sex will be explained.
  • the reference pixel data of the blocks may be collectively transferred as in the conventional image decoding apparatus.
  • motion information of the left sub-block of the decoding order 5 block (BlkRight) adjacent to the right side of the decoding order 2 block BlkCurr is obtained from the target block (here In this case, it is assumed that the motion information (MV2) in the decoding order 2) is the same value as the motion information (MV2), and the reference pixel data in the decoding order 1 to 4 block and the decoding order 5 block is enlarged and transferred (batch transfer). Can do.
  • the operation of the image decoding apparatus 200 in this case will be described in detail with reference to FIG.
  • the extended transfer control unit 134 checks whether the prediction pixel data of the target block (BlkCurr) exists in the temporary memory 135 (S100).
  • the extended transfer control unit 134 determines the reference pixel data of the target block (BlkCurr), the reference pixel data of the neighboring block adjacent to the target block, and In addition, it is determined whether to enlarge and transfer from the frame memory 102 to the local reference memory 123 (S111). Details of step S111 will be described later with reference to FIG.
  • step S111 when it is determined in step S111 that the reference pixel data of the sub-block on the left side of the adjacent block (BlkRight) is to be enlarged and transferred (“Yes” in S111), the enlarged reference pixel data (motion compensation reference pixel MCpel1) Is transferred from the frame memory 102 to the local reference memory 123 (S115).
  • the enlarged reference pixel data motion compensation reference pixel MCpel1
  • the motion compensation unit 105 acquires the motion compensation reference pixel MCpel1 transferred to the local reference memory 123, applies a motion compensation interpolation filter based on the decimal accuracy information of the motion vector MV2 of the target block (BlkCurr), Prediction pixel data of the target block (BlkCurr) (also referred to as “motion compensation pixel data”, the same applies hereinafter) and prediction pixel data of the left sub-block of the adjacent block (BlkRight) are generated.
  • the motion compensation unit 105 outputs the motion compensation pixel data MCPel2 related to the target block (BlkCurr) as a motion compensation image related to the target block (BlkCurr) to the adder 107 via the selector 136 (S117). Further, the motion compensation unit 105 stores the motion compensation pixel data MCPelExt2 related to the sub-block on the left side of the adjacent block (BlkRight) in the temporary memory 135 (S118).
  • the extended transfer control unit 134 transfers only the reference pixel data of the target block (BlkCurr) from the frame memory 102 to the local reference memory 123. (S112). Then, based on the decimal precision information of the motion vector MV, the motion compensation unit 105 applies a motion compensation interpolation filter to the reference pixel data stored in the local reference memory 123, and generates predicted pixel data of the target block (BlkCurr). (S113). Then, the motion compensation unit 105 outputs the motion compensated pixel MCPel2 related to the target block (BlkCurr) to the selector 136. The selector 136 outputs the motion compensation pixel data MCPel2 acquired from the motion compensation unit 105 to the addition unit 107 as the motion compensation pixel MCPelCur related to the target block (BlkCurr).
  • the extended transfer control unit 134 checks whether the prediction pixel data of the left sub-block exists in the temporary memory 135 (S100). As described above, the predicted pixel data is generated at the same time as the predicted pixel data of the block (BlkCurr) is generated and stored in the temporary memory 135.
  • the selector 136 checks whether or not the predicted pixel data stored in the temporary memory 135 has been successfully acquired in advance (S101). That is, the predicted pixel data is generated on the assumption that the reference picture number RefNo and the motion vector MV are the same as those in the decoding order 2 block at the past transfer time, and may be incorrect. That is, when the reference picture number RefNo and the motion vector MV of the sub-block and the block (BlkCurr) match, the prefetch acquisition succeeds (“true” in S101), and when either one does not match, the prefetch acquisition fails ( In S101, “false”).
  • the predicted pixel data stored in the temporary memory 135 is deleted (S104), and the process proceeds to the above-described step S111.
  • the enlarged transfer is not performed (“No” in S111)
  • only the reference pixel data of the subblock is transferred (S112), and the predicted pixel data of the subblock is generated (S113).
  • Predicted pixel data is output to the adder 107 via the selector 136.
  • the selector 136 reads the predicted pixel data stored in the temporary memory 135 and outputs it to the adder 107 as motion compensation pixel data MCPel4 (S102).
  • the predicted pixel data is erased from the temporary memory 135 (S103).
  • the expansion transfer determination (S111) is dynamically controlled based on the probability indicating the presence or absence of the difference information in the probability model related to the difference information of the motion vector. Also good.
  • the motion vector information on the motion vector of the encoded stream is decoded in advance, and after the motion vector information is determined, the memory block transfer of the target block and the adjacent block is performed. The determination may be made.
  • the decoding order BNCcurr of the target block is calculated (S130).
  • the decoding order BNCcurr 2 of the target block (BlkCurr).
  • the extended transfer control unit 134 calculates the decoding order BNnbr of undecoded adjacent blocks (S132).
  • the extended transfer control unit 134 checks whether there is a free area in the temporary memory 135 (S133). Specifically, it is determined whether or not there is a free area for storing the prediction pixel data of the adjacent block.
  • the extended transfer control unit 134 determines whether the difference between the decoding order BNnbr of the adjacent block and the decoding order Bncurr of the target block is equal to or less than the threshold BNth (S133).
  • all the reference pixel data satisfying the above conditions may be enlarged and transferred.
  • only the reference pixel data of one block is included. May be enlarged and transferred.
  • only the reference pixel data of the adjacent block whose decoding order is closest to the target block may be included in the target of the enlarged transfer.
  • the extended transfer control unit 134 does not include the reference pixel data of the adjacent block as the target of the extended transfer (S136). .
  • step S133 even when there is no space in the temporary memory 135 (“false” in S133), the extended transfer control unit 134 does not include the predicted pixel data of the adjacent block as an enlargement transfer target (S136).
  • step S132 may be executed only when the free space determination in step S133 is “true”.
  • the repetitive processing (S131) for adjacent blocks may be executed only when there is a free space in the temporary memory 135.
  • threshold value BNTh may be defined by a standard profile or level.
  • the size of the temporary memory 135 may be defined by a standard profile or level.
  • the operation of the image decoding device 200 shown in FIG. 8 and FIG. 9 is defined as one standard, and the operation flow of the image coding device 100 that performs coding so as to satisfy this standard is shown. This will be described with reference to FIGS. 7A and 10.
  • the image encoding apparatus 100 performs processing in units of adjacent blocks on adjacent blocks that are already encoded and are spatially adjacent to the target block (S147).
  • the image coding apparatus 100 determines whether the difference between the coding order BnCurr of the target block and the coding order BNnbr of the adjacent block is equal to or less than the threshold BNth (S150). ).
  • the image encoding device 100 permits encoding in units of sub-blocks of the target block (S151).
  • the motion compensation constraint unit 110 selects a side sub-block that is in contact with an adjacent block among the plurality of sub-blocks constituting the target block. Motion compensation is performed using the same motion vector as the motion vector of the adjacent block.
  • the motion information (MV5) shown in FIG. 7B stores the motion information of the right subblock of the target block (BlkRight), and the motion information of the left subblock is omitted.
  • step S150 if it is larger than the threshold value in step S150 (“false” in S150), the image coding apparatus 100 does not permit the coding of the target block in units of sub-blocks (S152).
  • step S149 when there is no free space in the temporary memory 135 (“false” in S149), the image encoding device 100 does not permit the encoding of the target block in units of sub-blocks (S152).
  • the extended transfer determination (S111) in the image decoding method of the present invention described with reference to FIG. 8 is a definitive example, and as described above, based on the probability that the motion compensation block is divided (and MV is different). In addition, batch transfer control may be performed with higher accuracy. However, the frequency of occurrence of motion compensation block division (and MV differences) varies depending on the characteristics of the moving image to be encoded and the bit rate.
  • the probability is calculated on the image encoding device 100 side, and the threshold value BNTh is included in the bitstream, or is specified by a profile or level, and is notified to the image decoding device 200, and the memory in the image decoding device 200 Transfer efficiency may be maximized.
  • the coding order of blocks in this division unit is raster order, and the horizontal width N is very large, the size of the temporary memory required for batch transfer of the upper and lower neighbors becomes very large. Or since the memory with which the actual image decoding apparatus 200 is provided is limited, the frequency which can perform batch transfer will fall.
  • the image coding apparatus 100 does not divide a block into a plurality of motion compensation blocks and does not perform coding so that the MV is different from the upper adjacent block when the horizontal width N is a certain value or more.
  • the image decoding apparatus 200 can improve the efficiency of memory transfer between adjacent blocks, and by defining an example of the operation, the encoding apparatus / encoding according to the present embodiment
  • the encoded stream generated by the method can maintain decoding device compatibility.
  • the storage 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. 12 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 ex106, ex107, ex108, ex109, and ex110, which are fixed wireless stations, are installed in each cell.
  • This content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine ex115 via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex106 to ex110. Etc. are connected.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going from the base station ex106, which is a fixed wireless station, to ex110.
  • 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, a game machine ex115, and the like 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.
  • the digital broadcast system ex200 incorporates at least one of the video encoding device and the video decoding device of the above embodiments. Can do. Specifically, in the broadcast station ex201, multiplexed data obtained by multiplexing music data and the like on video data is transmitted to a communication or satellite ex202 via radio waves. This video data is data encoded by the moving image encoding method described in the above embodiments. Receiving this, 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 multiplexed data is decoded and reproduced by a device such as the television (receiver) ex300 or the set top box (STB) ex217.
  • a device such as the television (receiver) ex300 or the set top box (STB) ex217.
  • the reader / recorder ex 218 also reads and decodes multiplexed data recorded on a recording medium ex 215 such as a DVD or BD, or encodes a video signal on the recording medium ex 215 and, in some cases, multiplexes and writes it with a music signal. It is possible to implement the moving picture decoding apparatus or moving picture encoding apparatus shown in each embodiment. In this case, 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 multiplexed data is recorded.
  • a moving picture decoding apparatus 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 this may be displayed on the monitor ex219 of the television. At this time, the moving picture decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 14 is a diagram showing a television (receiver) ex300 that uses the moving picture decoding method and the moving picture encoding method described in the above embodiments.
  • the television ex300 obtains or outputs multiplexed data in which audio data is multiplexed with video data via the antenna ex204 or the cable ex203 that receives the broadcast, and demodulates the received multiplexed data.
  • the modulation / demodulation unit ex302 that modulates multiplexed data to be transmitted to the outside, and the demodulated multiplexed data is separated into video data and audio data, or the video data and audio data encoded by the signal processing unit ex306 Is provided with a multiplexing / demultiplexing unit ex303.
  • the television ex300 outputs a decoded audio signal, and an audio signal processing unit ex304 including an audio signal processing unit ex304 and a video signal processing unit ex305 that decode audio data and video data, respectively, or encode information of each.
  • 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 or the like, and demultiplexes the multiplexed data demodulated by the modulation / demodulation unit ex302 by the multiplexing / demultiplexing 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 multiplexed data from recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from broadcasting.
  • recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from broadcasting.
  • 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, ex319, ex320, and ex321 may be provided as illustrated, 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, or the television ex300 and the reader / Recorder ex218 may share each other.
  • FIG. 15 shows a configuration of the information reproducing / recording unit ex400 when data is read from or written to an optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401, ex402, ex403, ex404, ex405, ex406, and 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 To play back information.
  • 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. 16 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 multiplexed 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 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, the configuration shown in FIG. 14 with the addition of a GPS receiver, 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.
  • multiplexed data in which music data is multiplexed with video data is received and transmitted.
  • character data related to video is multiplexed. It may be converted data, or may be video data itself instead of multiplexed data.
  • 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.
  • multiplexed data obtained by multiplexing audio data or the like with video data is configured to include identification information indicating which standard the video data conforms to.
  • identification information indicating which standard the video data conforms to.
  • FIG. 17 is a diagram showing a structure of multiplexed data.
  • the multiplexed data is obtained by multiplexing one or more of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream.
  • the video stream indicates the main video and sub-video of the movie
  • the audio stream (IG) indicates the main audio portion of the movie and the sub-audio mixed with the main audio
  • the presentation graphics stream indicates the subtitles of the movie.
  • the main video indicates a normal video displayed on the screen
  • the sub-video is a video displayed on a small screen in the main video.
  • the interactive graphics stream indicates an interactive screen created by arranging GUI components on the screen.
  • the video stream is encoded by the moving image encoding method or apparatus shown in the above embodiments, or the moving image encoding method or apparatus conforming to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1. ing.
  • the audio stream is encoded by a method such as Dolby AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, or linear PCM.
  • Each stream included in the multiplexed data is identified by PID. For example, 0x1011 for video streams used for movie images, 0x1100 to 0x111F for audio streams, 0x1200 to 0x121F for presentation graphics, 0x1400 to 0x141F for interactive graphics streams, 0x1B00 to 0x1B1F are assigned to video streams used for sub-pictures, and 0x1A00 to 0x1A1F are assigned to audio streams used for sub-audio mixed with the main audio.
  • FIG. 18 is a diagram schematically showing how multiplexed data is multiplexed.
  • a video stream ex235 composed of a plurality of video frames and an audio stream ex238 composed of a plurality of audio frames are converted into PES packet sequences ex236 and ex239, respectively, and converted into TS packets ex237 and ex240.
  • the data of the presentation graphics stream ex241 and interactive graphics ex244 are converted into PES packet sequences ex242 and ex245, respectively, and further converted into TS packets ex243 and ex246.
  • the multiplexed data ex247 is configured by multiplexing these TS packets into one stream.
  • FIG. 19 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 17 shows a video frame sequence of the video stream.
  • the second level shows a PES packet sequence.
  • I picture, B picture, and P picture that are a plurality of video presentation units in the video stream are divided for each picture and stored in the payload of the PES packet.
  • Each PES packet has a PES header, and a PTS (Presentation Time-Stamp) that is a display time of a picture and a DTS (Decoding Time-Stamp) that is a decoding time of a picture are stored in the PES header.
  • PTS Presentation Time-Stamp
  • DTS Decoding Time-Stamp
  • FIG. 20 shows the format of TS packets that are finally written in the multiplexed data.
  • the TS packet is a 188-byte fixed-length packet composed of a 4-byte TS header having information such as a PID for identifying a stream and a 184-byte TS payload for storing data.
  • the PES packet is divided and stored in the TS payload.
  • a 4-byte TP_Extra_Header is added to a TS packet, forms a 192-byte source packet, and is written in multiplexed data.
  • TP_Extra_Header information such as ATS (Arrival_Time_Stamp) is described.
  • ATS indicates the transfer start time of the TS packet to the PID filter of the decoder.
  • Source packets are arranged in the multiplexed data as shown in the lower part of FIG. 20, and the number incremented from the head of the multiplexed data is called SPN (source packet number).
  • TS packets included in the multiplexed data include PAT (Program Association Table), PMT (Program Map Table), PCR (Program Clock Reference), and the like in addition to each stream such as video / audio / caption.
  • PAT indicates what the PID of the PMT used in the multiplexed data is, and the PID of the PAT itself is registered as 0.
  • the PMT has the PID of each stream such as video / audio / subtitles included in the multiplexed data and the attribute information of the stream corresponding to each PID, and has various descriptors related to the multiplexed data.
  • the descriptor includes copy control information for instructing permission / non-permission of copying of multiplexed data.
  • the PCR corresponds to the ATS in which the PCR packet is transferred to the decoder. Contains STC time information.
  • FIG. 21 is a diagram for explaining the data structure of the PMT in detail.
  • a PMT header describing the length of data included in the PMT is arranged at the head of the PMT.
  • a plurality of descriptors related to multiplexed data are arranged.
  • the copy control information and the like are described as descriptors.
  • a plurality of pieces of stream information regarding each stream included in the multiplexed data are arranged.
  • the stream information includes a stream descriptor in which a stream type, a stream PID, and stream attribute information (frame rate, aspect ratio, etc.) are described to identify a compression codec of the stream.
  • the multiplexed data is recorded together with the multiplexed data information file.
  • the multiplexed data information file is management information of multiplexed data, has a one-to-one correspondence with the multiplexed data, and includes multiplexed data information, stream attribute information, and an entry map.
  • the multiplexed data information includes a system rate, a reproduction start time, and a reproduction end time as shown in FIG.
  • the system rate indicates a maximum transfer rate of multiplexed data to a PID filter of a system target decoder described later.
  • the ATS interval included in the multiplexed data is set to be equal to or less than the system rate.
  • the playback start time is the PTS of the first video frame of the multiplexed data
  • the playback end time is set by adding the playback interval for one frame to the PTS of the video frame at the end of the multiplexed data.
  • the attribute information for each stream included in the multiplexed data is registered for each PID.
  • the attribute information has different information for each video stream, audio stream, presentation graphics stream, and interactive graphics stream.
  • the video stream attribute information includes the compression codec used to compress the video stream, the resolution of the individual picture data constituting the video stream, the aspect ratio, and the frame rate. It has information such as how much it is.
  • the audio stream attribute information includes the compression codec used to compress the audio stream, the number of channels included in the audio stream, the language supported, and the sampling frequency. With information. These pieces of information are used for initialization of the decoder before the player reproduces it.
  • the stream type included in the PMT is used.
  • video stream attribute information included in the multiplexed data information is used.
  • the video encoding shown in each of the above embodiments for the stream type or video stream attribute information included in the PMT.
  • FIG. 24 shows steps of the moving picture decoding method according to the present embodiment.
  • step exS100 the stream type included in the PMT or the video stream attribute information included in the multiplexed data information is acquired from the multiplexed data.
  • step exS101 it is determined whether or not the stream type or the video stream attribute information indicates multiplexed data generated by the moving picture encoding method or apparatus described in the above embodiments. To do.
  • step exS102 the above embodiments are performed. Decoding is performed by the moving picture decoding method shown in the form.
  • the conventional information Decoding is performed by a moving image decoding method compliant with the standard.
  • the moving picture encoding method or apparatus or the moving picture decoding method or apparatus described in this embodiment can be used in any of the above-described devices and systems.
  • FIG. 25 shows a configuration of an LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, and 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 when performing the encoding process, performs the microphone ex117 and the camera ex113 by the AV I / O ex509 based on the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like.
  • the AV signal is input from the above.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and the processing speed and sent to the signal processing unit ex507, and the signal processing unit ex507 encodes an audio signal and / or video. Signal encoding is performed.
  • the encoding process of the video signal is the encoding process described in the above embodiments.
  • the signal processing unit ex507 further performs processing such as multiplexing the encoded audio data and the encoded video data according to circumstances, and outputs the result from the stream I / Oex 506 to the outside.
  • the output multiplexed data is transmitted to the base station ex107 or written to the recording medium ex215. It should be noted that data should be temporarily stored in the buffer ex508 so as to be synchronized when multiplexing.
  • the memory ex511 is described as an external configuration of the LSI ex500.
  • a configuration included in the LSI ex500 may be used.
  • the number of buffers ex508 is not limited to one, and a plurality of buffers may be provided.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • control unit ex510 includes the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like, but the configuration of the control unit ex510 is not limited to this configuration.
  • the signal processing unit ex507 may further include a CPU.
  • the CPU ex502 may be configured to include a signal processing unit ex507 or, for example, an audio signal processing unit that is a part of the signal processing unit ex507.
  • the control unit ex501 is configured to include a signal processing unit ex507 or a CPU ex502 having a part thereof.
  • 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.
  • FIG. 26 shows a configuration ex800 in the present embodiment.
  • the drive frequency switching unit ex803 sets the drive frequency high when the video data is generated by the moving image encoding method or apparatus described in the above embodiments.
  • the decoding processing unit ex801 that executes the moving picture decoding method described in each of the above embodiments is instructed to decode the video data.
  • the video data is video data compliant with the conventional standard, compared to the case where the video data is generated by the moving picture encoding method or apparatus shown in the above embodiments, Set the drive frequency low. Then, it instructs the decoding processing unit ex802 compliant with the conventional standard to decode the video data.
  • the drive frequency switching unit ex803 includes the CPU ex502 and the drive frequency control unit ex512 in FIG.
  • the decoding processing unit ex801 that executes the moving picture decoding method shown in each of the above embodiments and the decoding processing unit ex802 that complies with the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to.
  • the drive frequency control unit ex512 sets the drive frequency.
  • the signal processing unit ex507 decodes the video data.
  • the identification of the video data for example, it is conceivable to use the identification information described in the third embodiment.
  • the identification information is not limited to that described in Embodiment 3, and any information that can identify which standard the video data conforms to may be used. For example, it is possible to identify which standard the video data conforms to based on an external signal that identifies whether the video data is used for a television or a disk. In some cases, identification may be performed based on such an external signal.
  • the selection of the driving frequency in the CPU ex502 may be performed based on, for example, a look-up table in which video data standards and driving frequencies are associated with each other as shown in FIG. The look-up table is stored in the buffer ex508 or the internal memory of the LSI, and the CPU ex502 can select the drive frequency by referring to the look-up table.
  • FIG. 27 shows steps for executing the method of the present embodiment.
  • the signal processing unit ex507 acquires identification information from the multiplexed data.
  • the CPU ex502 identifies whether the video data is generated by the encoding method or apparatus described in each of the above embodiments based on the identification information.
  • the CPU ex502 sends a signal for setting the drive frequency high to the drive frequency control unit ex512. Then, the drive frequency control unit ex512 sets a high drive frequency.
  • the CPU ex502 drives the signal for setting the drive frequency low in step exS203. This is sent to the frequency control unit ex512. Then, in the drive frequency control unit ex512, the drive frequency is set to be lower than that in the case where the video data is generated by the encoding method or apparatus described in the above embodiments.
  • the power saving effect can be further enhanced by changing the voltage applied to the LSI ex500 or the device including the LSI ex500 in conjunction with the switching of the driving frequency. For example, when the drive frequency is set low, it is conceivable that the voltage applied to the LSI ex500 or the device including the LSI ex500 is set low as compared with the case where the drive frequency is set high.
  • the setting method of the driving frequency may be set to a high driving frequency when the processing amount at the time of decoding is large, and to a low driving frequency when the processing amount at the time of decoding is small. It is not limited to the method.
  • the amount of processing for decoding video data compliant with the MPEG4-AVC standard is larger than the amount of processing for decoding video data generated by the moving picture encoding method or apparatus described in the above embodiments. It is conceivable that the setting of the driving frequency is reversed to that in the case described above.
  • the method for setting the drive frequency is not limited to the configuration in which the drive frequency is lowered.
  • the voltage applied to the LSIex500 or the apparatus including the LSIex500 is set high.
  • the driving of the CPU ex502 is stopped.
  • the CPU ex502 is temporarily stopped because there is room in processing. Is also possible. Even when the identification information indicates that the video data is generated by the moving image encoding method or apparatus described in each of the above embodiments, if there is a margin for processing, the CPU ex502 is temporarily driven. It can also be stopped. In this case, it is conceivable to set the stop time shorter than in the case where the video data conforms to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1.
  • a plurality of video data that conforms to different standards may be input to the above-described devices and systems such as a television and a mobile phone.
  • the signal processing unit ex507 of the LSI ex500 needs to support a plurality of standards in order to be able to decode even when a plurality of video data complying with different standards is input.
  • the signal processing unit ex507 corresponding to each standard is used individually, there is a problem that the circuit scale of the LSI ex500 increases and the cost increases.
  • a decoding processing unit for executing the moving picture decoding method shown in each of the above embodiments and a decoding conforming to a standard such as MPEG-2, MPEG4-AVC, or VC-1
  • the processing unit is partly shared.
  • An example of this configuration is shown as ex900 in FIG.
  • the moving picture decoding method shown in each of the above embodiments and the moving picture decoding method compliant with the MPEG4-AVC standard are processed in processes such as entropy coding, inverse quantization, deblocking filter, and motion compensation. Some contents are common.
  • the decoding processing unit ex902 corresponding to the MPEG4-AVC standard is shared, and for the other processing content unique to the present invention not corresponding to the MPEG4-AVC standard, the dedicated decoding processing unit ex901 is used.
  • Configuration is conceivable.
  • a dedicated decoding processing unit ex901 is used for motion compensation, and any of other entropy coding, deblocking filter, and inverse quantization is used.
  • the decoding processing unit for executing the moving picture decoding method described in each of the above embodiments is shared, and the processing content specific to the MPEG4-AVC standard is described. May be configured to use a dedicated decoding processing unit.
  • ex1000 in FIG. 29B shows another example in which processing is partially shared.
  • a dedicated decoding processing unit ex1001 corresponding to processing content unique to the present invention
  • a dedicated decoding processing unit ex1002 corresponding to processing content specific to other conventional standards
  • a moving picture decoding method of the present invention A common decoding processing unit ex1003 corresponding to processing contents common to other conventional video decoding methods is used.
  • the dedicated decoding processing units ex1001 and ex1002 are not necessarily specialized in the processing content specific to the present invention or other conventional standards, and may be capable of executing other general-purpose processing.
  • the configuration of the present embodiment can be implemented by LSI ex500.
  • the circuit scale of the LSI can be reduced and the cost can be reduced. It is possible to reduce.
  • the motion compensation device has the effect of realizing high encoding efficiency while suppressing the memory transfer amount for motion compensation.
  • an image encoding device, an image decoding device, a video camera, and recording / reproduction of moving images The present invention can be applied to a mobile phone or a personal computer having a function.
  • Image encoding device 101 Motion detection unit 102 Frame memory 103, 104 Subtraction unit 105, 2200 Motion compensation unit 106, 1300 Encoding unit 107, REFERENCE SIGNS LIST 121 Adder 108 Motion vector memory 109 Motion vector prediction unit 110 Motion compensation constraint unit 122 Decoding unit 123 Local reference memory 124 Transfer control unit 134 Extended transfer control unit 135 Temporary memory 136 Selector 200 Image decoding device 1100 Coding unit determination unit 1200 Motion Vector decision unit 2000 motion compensation device 2100 reference pixel readout unit 2300 output unit 2400 temporary storage unit

Abstract

 動き補償方法は、参照画像のうち、対象ブロック及び対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データをフレームメモリから読み出す読み出しステップ(S115)と、読み出しステップで読み出された参照画素データを用いて動き補償することにより、対象ブロック及び対象サブブロックそれぞれの予測画素データを生成する動き補償ステップ(S116)と、動き補償ステップで生成された対象ブロックの予測画素データを出力する出力ステップ(S117)と、動き補償ステップで生成された対象サブブロックの予測画素データを一時記憶する一時記憶ステップ(S118)とを含む。

Description

動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路
 本発明は、動き補償方法に関し、特に高い符号化効率を実現する動画像符号化方法、動画像復号方法およびその装置における動き補償のメモリ転送の効率化に関するものである。
 近年、マルチメディアアプリケーションの発展に伴い、画像、音声、テキストなど、あらゆるメディアの情報を統一的に扱うことが一般的になってきた。この時、全てのメディアをデジタル化することにより、統一的にメディアを扱うことが可能になる。しかしながら、デジタル化された画像は膨大なデータ量を持つため、蓄積及び伝送のためには、画像の情報圧縮技術が不可欠である。
 その一方で、圧縮した画像データを相互運用するためには、圧縮技術の標準化も重要である。画像圧縮技術の標準規格としては、例えば、ITU‐T(国際電気通信連合 電気通信標準化部門)のH.261、H.263や、ISO/IEC(国際標準化機構 国際電気標準会議)のMPEG(Moving Picture Experts Group)-1、MPEG-2、MPEG-4など、また、ITU-TとMPEGの合同であるJVT(Joint Video Team)により現在標準化が進められているH.264(MPEG-4AVC)がある。
 一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで、時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは1枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、1つのフレームが時刻の異なる2つのフィールドから構成される画像である。インタレース画像の符号化や復号処理においては、1つのフレームをフレームのまま処理したり、2つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
 参照画像を持たずに画面内予測符号化を行うものをIピクチャと呼ぶ。また、1枚の参照画像のみを参照して画面間予測符号化を行うものをPピクチャと呼ぶ。また、同時に2枚の参照画像を参照して画面間予測符号化を行うことができるものをBピクチャと呼ぶ。Bピクチャは表示時間が前方もしくは後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。参照画像(参照ピクチャ)は符号化の基本単位であるマクロブロックごとに指定することができるが、符号化を行ったビットストリーム中に先に記述される方の参照ピクチャを第1参照ピクチャ、後に記述される方を第2参照ピクチャとして区別する。ただし、これらのピクチャを符号化する場合の条件として、参照するピクチャが既に符号化されている必要がある。
 Pピクチャ又はBピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照フレームの画素値から予測するのではなく、ピクチャ内の各部の動き量(以下、これを「動きベクトル」と呼ぶ。)を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけシフトした予測値と符号化対象ピクチャとの予測残差を符号化することによりデータ量を減している。この方式の場合には、復号の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される。
 動きベクトルはマクロブロック単位で検出されており、具体的には、符号化対象ピクチャ側のマクロブロックを固定しておき、参照ピクチャ側のマクロブロックを探索範囲内で移動させ、基準ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。
 図1は、従来の画面間予測符号化装置の構成を示すブロック図である。
 この画面間予測符号化装置は、動き検出部101と、フレームメモリ102と、減算部103、104と、動き補償部105と、符号化部106と、加算部107と、動きベクトルメモリ108と、動きベクトル予測部109とを備えている。
 図2は、従来の画面間予測復号装置の構成を示すブロック図である。
 図2に示す従来の画面間予測復号装置は、図1に示す従来の画面間予測符号化装置で符号化された符号化信号Strを復号して復号画面信号Voutを出力する装置であり、フレームメモリ102と、動き補償部105と、加算部107、121と、動きベクトルメモリ108と、動きベクトル予測部109と、復号部122と、局所参照メモリ123と、転送制御部124とを備えている。
 図1及び図2に示される各構成要素のうち、転送制御部124は、参照ピクチャ番号RefNoで示される参照画像のうち、動きベクトルMVで示される参照領域の画素データを、フレームメモリ102から読み出す制御回路(領域特定手段および参照画素転送手段を構成)であり、制御信号Ctrl1によりフレームメモリ102の制御を行い、制御信号Ctrl2により動き補償部105の制御を行う。以上のようにして、復号画面信号Vout、すなわち復号画面RecPelを符号化信号Strから正しく復号することができる。
 なお、符号化及び復号の処理は16×16画素のマクロブロックと呼ばれる単位で行われる。例えば、H.264では、動き補償のブロックは、4×4、4×8、8×4、8×8、8×16、16×8、16×16の7通りの動き補償のブロック(以下、簡単のため「小ブロック」又は「サブブロック」と記載することもある。)サイズかマクロブロックのサイズのうちから適切なブロックサイズを選択して符号化及び復号の処理に使用する。ここで、マクロブロックは、まずマクロブロックパーティション(8×8のサイズが4つ、8×16のサイズが2つ、16×8のサイズが2つ、もしくは16×16)に分割することができる。また、8×8のマクロブロックパーティションは、さらに、サブマクロブロックパーティション(4×4のサイズが4つ、4×8のサイズが2つ、8×4のサイズが2つ、もしくは8×8)に分割することができる。すなわち、マクロブロックは、2段階で小ブロックに分割することができる。
 ここで、マクロブロックが小さな動き補償ブロックに分割されるほど、参照画素データの転送のオーバーヘッドが増え、バス占有率が増加する課題がある。特許文献1は、マクロブロック内の複数の動き補償ブロックの動きベクトルMVと参照ピクチャ番号RefNoとを調べ、一定の範囲内で、同じ位置からの転送の場合にはまとめて転送を行うことでメモリ転送を効率化している。
特許第4436782号公報
 しかしながら、特許文献1は、同一マクロブロックに含まれる複数の小ブロックの参照画素データを一括転送する方法については言及しているが、それ以外の場合については言及していない。つまり、複数の小ブロックに対応する参照画素データの一括転送の判定は、複数の小ブロックの転送元位置情報(動きベクトルと当該ブロックの座標情報)が得られなければ行えない。例えば、異なるマクロブロックに属する小ブロックは、動きベクトルの得られるタイミングが異なるため、メモリ転送を軽減する効果を実現できない。
 本発明は、上記の課題に鑑みてなされたものであり、参照画素データの転送を効率化した動き補償方法、及びこのような動き補償方法を用いた画像復号方法及び画像符号化方法を提供することを目的とする。
 本発明の一形態に係る動き補償方法は、フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力する方法である。具体的には、前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出しステップと、前記読み出しステップで読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償ステップと、前記動き補償ステップで生成された前記対象ブロックの前記予測画素データを出力する出力ステップと、前記動き補償ステップで生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶ステップとを含む。
 上記構成によれば、対象ブロックの参照画素データを読み出す際に、対象サブブロックの参照画素データを合わせて読み出すので、フレームメモリからの読み出し効率(転送効率)を向上させることができる。
 一例として、前記読み出しステップでは、前記対象ブロック及び前記対象サブブロックの処理順の差が予め定められた閾値の範囲内である場合にのみ、前記対象ブロック及び前記対象サブブロック各々の前記参照画素データを、前記フレームメモリから読み出してもよい。これにより、一時記憶ステップにおける記憶容量を小さくすることができる。
 さらに、前記対象サブブロックの前記予測画素データを出力する場合において、前記対象ブロック及び前記対象サブブロック各々の動きベクトルが一致する場合、前記出力ステップでは、前記一時記憶ステップで記憶した前記対象サブブロックの前記予測画素データを出力してもよい。一方、前記対象ブロック及び前記対象サブブロック各々の動きベクトルが一致しない場合、前記読み出しステップでは、前記参照画像のうち、前記対象サブブロックの前記参照画素データを、前記フレームメモリから読み出し、前記動き補償ステップでは、前記読み出しステップで読み出された前記参照画素データと、前記対象サブブロックの動きベクトルとを用いて動き補償することにより、前記対象サブブロックの前記予測画素データを生成し、前記出力ステップでは、前記動き補償ステップで生成された前記対象サブブロックの前記予測画素データを出力してもよい。
 このように、事前に生成され、且つ一時記憶ステップで記憶されていた予測画素データを出力することにより、処理を効率化することができる。
 本発明の一形態に係る画像復号方法は、符号化ストリームを復号して復号画像を生成する方法である。具体的には、上記記載の動き補償方法と、前記動き補償方法で出力される前記予測画素データを用いて、前記符号化ストリームから前記復号画像を生成する復号ステップとを含む。本発明の一形態に係る画像符号化方法は、画像を符号化して符号化ストリームを生成する方法である。具体的には、上記記載の動き補償方法と、前記動き補償方法で出力される前記予測画素データを用いて、前記画像から前記符号化ストリームを生成する符号化ステップとを含む。
 本発明の他の形態に係る画像符号化方法は、画像を構成する複数のブロックを順次符号化する方法である。具体的には、対象ブロックの符号化単位を決定する符号化単位決定ステップと、前記対象ブロックの動きベクトルを、前記符号化単位毎に決定する動きベクトル決定ステップと、前記対象ブロックの画素データを、前記動きベクトルを用いて前記符号化単位毎に符号化する符号化ステップとを含む。前記符号化単位決定ステップでは、既に符号化されたブロックであって、前記対象ブロックに空間的に隣接する隣接ブロックと前記対象ブロックとの符号化順の差が予め定められた閾値の範囲内である場合に、前記対象ブロックの符号化単位を、当該対象ブロックをさらに分割したサブブロック単位に決定する。前記動きベクトル決定ステップでは、前記対象ブロックのうち、前記隣接ブロックに接する側のサブブロックの動きベクトルを、前記隣接ブロックの動きベクトルと同一に決定する。
 これにより、隣接ブロックに接する側のサブブロックの動きベクトルを符号化ストリームに含める必要がなくなる。その結果、符号化効率が向上する。
 例えば、前記動きベクトル決定ステップでは、前記対象ブロックが左右に分割された場合において、前記対象ブロックの左側のサブブロックの動きベクトルを、前記対象ブロックの左側に隣接する前記隣接ブロックの動きベクトルと同一に決定してもよい。一方、前記対象ブロックが上下に分割された場合において、前記対象ブロックの上側のサブブロックの動きベクトルを、前記対象ブロックの上側に隣接する前記隣接ブロックの動きベクトルと同一に決定してもよい。
 本発明の一形態に係る動き補償装置は、フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力する。具体的には、前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出し部と、前記読み出し部で読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償部と、前記動き補償部で生成された前記対象ブロックの前記予測画素データを出力する出力部と、前記動き補償部で生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶部とを備える。
 本発明の一形態に係るプログラムは、コンピュータに、フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力させる。具体的には、前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出しステップと、前記読み出しステップで読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償ステップと、前記動き補償ステップで生成された前記対象ブロックの前記予測画素データを出力する出力ステップと、前記動き補償ステップで生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶ステップとを、コンピュータに実行させる。
 本発明の一形態に係る集積回路は、フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力する。具体的には、前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出し部と、前記読み出し部で読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償部と、前記動き補償部で生成された前記対象ブロックの前記予測画素データを出力する出力部と、前記動き補償部で生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶部とを備える。
 本発明の動き補償装置によれば、動き補償にかかるメモリ転送量を抑えつつ高い符号化効率を実現できる。
図1は、従来の画面間予測符号化装置のブロック図である。 図2は、従来の画面間予測復号装置のブロック図である。 図3Aは、H.264の16×16画素のブロックを16×8画素のパーティションに分割した場合の予測ベクトルの参照位置を示す概念図である。 図3Bは、ブロックを上下に2分割した上側のサブブロックの予測ベクトル参照位置の例を示す図である。 図3Cは、ブロックを左右に2分割した左側のサブブロックの予測ベクトルの参照位置の例を示す図である。 図4Aは、本実施の形態の画像符号化装置の構成を示すブロック図である。 図4Bは、画像符号化装置のブロック図の他の例を示す図である。 図5Aは、本実施の形態の画像復号装置の構成を示すブロック図である。 図5Bは、本実施の形態の動き補償装置の構成を示すブロック図である。 図6Aは、符号化ストリームのデータ構造の一例を示す図である。 図6Bは、符号化ストリームのデータ構造の他の例を示す図である。 図6Cは、符号化ストリームのデータ構造の他の例を示す図である。 図7Aは、画像を構成する各ブロックの位置と、符号化順(あるいは復号順)とを示した図である。 図7Bは、復号順1~4のブロックに係る動き情報が連続して位置する符号化ストリームの例である。 図8は、本実施の形態の画像復号装置の動作フロー図である。 図9は、図8における拡大転送判定(S111)の詳細を示す図である。 図10は、本実施の形態の画像符号化装置の動作フロー図である。 図11は、本実施の形態における復号方法の動作を示す概念図である。 図12は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図13は、デジタル放送用システムの全体構成図である。 図14は、テレビの構成例を示すブロック図である。 図15は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図16は、光ディスクである記録メディアの構造例を示す図である。 図17は、多重化データの構成を示す図である。 図18は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図19は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図20は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図21は、PMTのデータ構成を示す図である。 図22は、多重化データ情報の内部構成を示す図である。 図23は、ストリーム属性情報の内部構成を示す図である。 図24は、映像データを識別するステップを示す図である。 図25は、各実施の形態の動画像符号化方法および動画像復号方法を実現する集積回路の構成例を示すブロック図である。 図26は、駆動周波数を切り替える構成を示す図である。 図27は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図28は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図29(a)は、信号処理部のモジュールを共有化する構成の一例を示す図であり、図29(b)は、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 (実施の形態1)
 動き補償を用いる画面間予測符号化では、符号化済み画像(参照画像)のうちの動きベクトルの指し示す領域の画素データ(参照画素データ)を予測信号として用い、符号化ブロックと予測信号との差分をとった残差信号(RecDifPic)のみを符号化することにより情報量を軽減する。サイズの小さいブロック単位で動き補償をするなどして動き補償の精度を高めると、残差信号の情報量を軽減できる。しかし、その反面、動きベクトルの情報量が増えるため、残差信号の情報量と動きベクトルの情報量とは、トレードオフの関係にある。
 画像符号化装置は、対象ブロックの圧縮効率が最大となるように、参照画像の探索範囲内を探索することで、動きベクトルを決定する。そこで、本発明の一形態に係る画像符号化装置は、圧縮効率の高い動きベクトルの探索に加えて、画像復号装置においてメモリ転送負荷が軽減される可能性のある動きベクトルを、優先的に決定することを特徴とする。
 具体的には、本発明の画像符号化装置は、メモリ転送負荷が大きくなる、サイズの小さなブロック単位での動き補償の頻度を抑えるか、あるいは、サイズの小さなブロック単位での動き補償をする場合でも、空間的に近傍の他のブロックと同一の動きベクトルを優遇する、あるいはこれに限定する。
 図3Aは、H.264の16×16画素のブロックを16×8画素のパーティション(「サブブロック」ともいう)に分割した場合の予測ベクトルの参照位置を示す概念図である。上側の16×8画素のパーティションは、上側に隣接するブロックの動きベクトルを予測ベクトルとし、下側の16×8画素のパーティションは、左側に隣接するブロックの動きベクトルを予測ベクトルとする。
 図3Bに示すにように、16×16画素のブロック11を上下に2分割した場合、上側の16×8画素のサブブロック11aの動きベクトルmvCurは、上側に隣接するブロック10の動きベクトルmvUpと等しい時に動きベクトルの情報量を抑えることができるため、このような動きベクトルを動き探索過程において優遇する、あるいは、これのみを取るように制限する。
 図3Cに示すように、16×16画素のブロック21を左右に2分割した場合、左側の8×16画素のサブブロック21aの動きベクトルmvCurは、左側に隣接するブロック20の動きベクトルmvLeftと等しいときに動きベクトルの情報量を抑えることができるため、このような動きベクトルを動き探索過程において優遇する、あるいは、これのみを取るように制限する。
 すなわち、図3B及び図3Cのように、ブロック11、21を複数のサブブロック11a、11b、21a、21bに分割した場合、既に符号化されたブロック10、20に隣接する側のサブブロック11a、21aは、当該隣接するブロック10、20と同一の動きベクトルを用いて動き補償される。
 図4Aは、本実施の形態の画像符号化装置100の構成を示すブロック図である。
 図4Aに示される画像符号化装置100は、動き検出部101と、フレームメモリ102と、減算部103、104と、動き補償部105と、符号化部106と、加算部107と、動きベクトルメモリ108と、動きベクトル予測部109と、動き補償制約部110を備える。
 動き検出部101は、フレームメモリ102から出力される動き検出参照画素MEpelと画面信号Vinとを比較し、動きベクトルMVと参照ピクチャ番号RefNoとを出力する。参照ピクチャ番号RefNoは、複数の参照画像の中から選択された、対象画像が参照する参照画像を特定するための識別信号である。動きベクトルMVは、動きベクトルメモリ108に一時的に記憶された後、近傍動きベクトルPrevMVとして動きベクトル予測部109へ出力される。
 動きベクトル予測部109は、入力された近傍動きベクトルPrevMVを参照して、予測動きベクトルPredMVを予測する。減算部104は、動きベクトルMVから予測動きベクトルPredMVを減算し、その差を動きベクトル予測差分DifMVとして出力する。
 一方、フレームメモリ102は、参照ピクチャ番号RefNoで示される参照画像のうち、動きベクトルMVで示される参照領域の画素データ(参照画素データ)を、動き補償参照画素MCpel1として出力する。動き補償部105は、フレームメモリ102から取得した動き補償参照画素MCpel1から小数画素精度の予測画素データを生成し、予測画素信号MCpel2として出力する。減算部103は、画面信号Vinから予測画素信号MCpel2を減算し、画面予測誤差DifPelを出力する。
 符号化部106は、画面予測誤差DifPelを周波数変換し、量子化して量子化係数を生成する。また、符号化部106は、量子化係数と動きベクトル予測差分DifMVと参照ピクチャ番号RefNoとを可変長符号化し、符号化信号Strを出力する。なお、符号化時に画面予測誤差の復号結果である予測誤差RecDifPelも同時に出力する。予測誤差RecDifPelは、量子化係数を逆量子化し、逆周波数変換して得られる。すなわち、予測誤差RecDifPelは、画面予測誤差DifPelに符号化誤差が重畳されたものであり、後述する画像復号装置200で符号化信号Strを復号して得られる画面間予測誤差と一致する。
 加算部107は、予測画素信号MCpel2に予測誤差RecDifPelを加算して得られる復号画素信号RecPelを、参照画像としてフレームメモリ102に記憶させる。但し、フレームメモリ102の容量を有効に利用するため、フレームメモリ102に記憶されている参照画像のうちの不要な領域は開放され、またフレームメモリ102に記憶する必要が無い参照画像はフレームメモリ102に記憶されない。
 動き補償制約部110は、小さなサイズのパーティション、すなわち、サブブロックの動き検出において、動きベクトルの符号化に必要とする情報量が大きくなりすぎないように、動き検出部101へ制御信号MeCtrlを送り、予測動きベクトルPredMVとできるだけ等しくなるような動きベクトルMVを検出するように制御する。これにより、動きベクトル予測差分DiffMVの情報量を抑える。
 本発明の一形態に係る画像符号化装置1000は、例えば、図4Bに示されるように、画像を構成する複数のブロックを順次符号化する装置であって、符号化単位決定部1100と、動きベクトル決定部1200と、符号化部1300とを備える。
 符号化単位決定部1100は、対象ブロックの符号化単位を決定する。すなわち、符号化単位決定部1100は、対象ブロックをブロック単位で符号化するか、対象ブロックをさらに複数のサブブロックに分割して、サブブロック単位で符号化するかを決定する。この符号化単位決定部1100は、例えば、図4Aの符号化部106に含まれる。
 より具体的には、符号化単位決定部1100は、既に符号化されたブロックであって、対象ブロックに空間的に隣接する隣接ブロックと対象ブロックとの符号化順の差が予め定められた閾値の範囲内である場合に、対象ブロックの符号化単位を当該対象ブロックをさらに分割したサブブロック単位に決定する。
 動きベクトル決定部1200は、対象ブロックをブロック単位で符号化する場合、対象ブロック単位の動きベクトルを決定する。一方、動きベクトル決定部1200は、対象ブロックをサブブロック単位で符号化する場合、各サブブロックの動きベクトルを決定する。この動きベクトル決定部1200は、例えば、図4Aの動き検出部101、動きベクトルメモリ108、動きベクトル予測部109及び動き補償制約部110等に相当する。
 より具体的には、動きベクトル決定部1200は、対象ブロックをサブブロック単位で符号化する場合に、対象ブロックのうちの隣接ブロックに接する側のサブブロックの動きベクトルを、隣接ブロックの動きベクトルと同一に決定する。一方、動きベクトル決定部1200は、対象ブロックのうちの隣接ブロックに接しない側のサブブロックの動きベクトルを、ブロック単位で符号化する場合と同じ方法で決定する。
 符号化部1300は、対象ブロックをブロック単位で符号化する場合、対象ブロックの画素データを、対象ブロックの動きベクトルを用いて符号化し、対象ブロックをサブブロック単位で符号化する場合、各サブブロックの画素データを、対応する動きベクトルを用いて符号化する。この符号化部1300は、例えば、図4Aの符号化部106に含まれる。
 本実施の形態における画像符号化装置100及び画像符号化方法によれば、小さなサイズのパーティション単位で動き補償を行なう場合でも、当該パーティションの上側に隣接するブロックあるいは左側に隣接するブロックと同じか近い値の動きベクトルとなるため、動きベクトル情報量を抑制し、圧縮効率を向上させることが可能となる。
 本発明の一形態に係る画像復号装置は、フレームメモリに記憶されている参照画像のうち、空間的に近傍の複数のブロックの参照画素データのメモリ転送を一括して行うことで、メモリ転送を効率化するものである。特に、本発明の一形態に係る画像符号化装置100において生成されたビットストリームに対してメモリ転送の効率化を高める。
 図5Aは、本実施の形態の画像復号装置200の構成を示すブロック図である。
 図5Aに示される画像復号装置200は、フレームメモリ102と、動き補償部105と、加算部107、121と、動きベクトルメモリ108と、動きベクトル予測部109と、復号部122と、局所参照メモリ123と、拡張転送制御部134と、一時メモリ135と、セレクタ136とを備える。
 復号部122は、符号化信号Strを可変長復号し、量子化係数、動きベクトル予測差分DifMV、および参照ピクチャ番号RefNoを出力する。また、復号部122は、量子化係数を逆量子化し、逆周波数変換して予測誤差RecDifPelを出力する。加算部121は、動きベクトル予測部109から出力される予測動きベクトルPredMVと動きベクトル予測差分DifMVを加算し、動きベクトルMVを復号する。
 フレームメモリ102は、参照ピクチャ番号RefNoに示される参照画像のうち、動きベクトルMVで示される参照画素データを動き補償参照画素MCpel1として出力する。局所参照メモリ123は、フレームメモリ102と動き補償部105との間に位置するメモリであり、フレームメモリ102から動き補償参照画素MCpel1が入力される。この局所参照メモリ123に記憶される動き補償参照画素MCpel1は、動き補償部105のみによって参照される。
 局所参照メモリ123からは参照画素MCpel3が出力され、動き補償部105に入力される。動き補償部105は、小数画素精度の予測画素データを生成し、予測画素信号MCpel2として出力する。加算部107は、予測画素信号MCpel2に予測誤差RecDifPelを加算して得られる復号画素データRecPelを、参照画像としてフレームメモリ102へ記憶させる。
 但し、フレームメモリ102の容量を有効に利用するため、フレームメモリ102に記憶されている参照画像のうちの不要な領域は開放され、またフレームメモリ102に記憶する必要が無い参照画像はフレームメモリ102に記憶されない。
 拡張転送制御部134は、対象ブロックの位置及び一時メモリ135の記録状況などに応じて、フレームメモリ102から局所参照メモリ123に、拡大した参照画素データを転送するか否かを制御信号Ctrl1で指示する。
 特に、対象ブロック及び対象ブロックより後で復号される未復号の後続ブロック各々の動き補償を動き補償部105で同時に行なう場合において、後続ブロックの動きベクトル情報が対象ブロックの復号時に得られない場合でも、後続ブロックの動きベクトルを対象ブロックと同一と推定あるいは仮定することで、拡張転送制御部134は、対象ブロック及び後続ブロック各々の動き補償に用いられる領域を特定し、特定した領域の画素データ(参照画素データ)を同時にフレームメモリ102から局所参照メモリ123に転送(以下、「拡大転送」と標記する)するように、制御信号Ctrl1を出力する。
 ここで、対象ブロックは、例えば、16×16画素のブロックである。一方、後続ブロックは、例えば、16×8画素のサブブロックである。また、後続ブロックとなるサブブロックは、対象ブロックに空間的に隣接する16×16画素のブロックを複数のサブブロックに分割したうちの1つであって、より具体的には、複数のサブブロックのうちの対象ブロックに隣接する側のサブブロックである。
 すなわち、図3Bに示されるブロック10を対象ブロックとすると、ブロック10と上下方向に隣接するブロック11のうちの上側のサブブロック11aが後続ブロックとなる。同様に、図3Cに示されるブロック20を対象ブロックとすると、ブロック20と左右方向に隣接するブロック21の左側のサブブロック21aが後続ブロックとなる。
 動き補償部105は、局所参照メモリ123に記憶されている参照画素データを用いて動き補償を行うことにより、画像を構成するブロック単位、又はブロックをさらに分割したサブブロック単位で、予測画素データを順次生成する。
 例えば、動き補償部105は、局所参照メモリ123に記憶されている参照画素データを用いて動き補償を行なうことにより、対象ブロック及び後続ブロック各々の予測画素データを生成する。そして、動き補償部105は、対象ブロックの予測画素データをセレクタ136に出力すると共に、後続ブロックの予測画素データを一時メモリ135へ記憶する。
 すなわち、動き補償部105は、対象ブロック及び後続ブロックの動きベクトルが同一であると仮定して、2つのブロックの動き補償を同時に行なう。但し、フレームメモリ102から局所参照メモリ123への拡大転送が行なわれない場合、すなわち、対象ブロックの動き補償に用いられる参照画素データのみが転送される場合、動き補償部105は、対象ブロックに対する動き補償のみを行なう。
 また、拡張転送制御部134は、後続ブロックの動き補償を行なう前に、一時メモリ135内に当該後続ブロックの予測画素データが既に一時メモリ135に記憶されている場合、参照画素データの転送は行わない。そして、セレクタ136は、後続ブロックの予測画素データMCPel4を一時メモリ135から読み出し、動き補償データMCPelCurとして出力する。
 なお、図5Aに示される画像復号装置200は局所参照メモリ123を備えているが、これが無い場合でも、本発明の画像復号装置200の特徴である、未復号の後続ブロックの参照画素データを含めた拡大転送の効率化は可能である。この場合、拡張転送制御部134は、例えば、対象ブロック及び後続ブロック各々の参照画素データをフレームメモリ102から直接読み出すように、動き補償部105に制御信号Ctrl2で指示すればよい。
 本発明の一形態に係る動き補償装置2000は、図5Bに示されるように、フレームメモリ102に記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又はブロックをさらに分割したサブブロック単位で、予測画素データを順次出力装置であり、参照画素読み出し部2100と、動き補償部2200と、出力部2300と、一時記憶部2400とを備える。
 参照画素読み出し部2100は、参照画像のうち、対象ブロック及び対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる参照画素データを、別々に又は一括して、フレームメモリ102から読み出して局所参照メモリ123に記憶させる。この参照画素読み出し部2100は、例えば、図5Aの拡張転送制御部134に相当する。
 参照画素読み出し部2100は、例えば、対象ブロック及び対象サブブロックの処理順の差が予め定められた閾値の範囲内である場合、対象ブロック及び対象サブブロック各々の動き補償に用いられる参照画像内の領域を対象ブロックの動きベクトルを用いて特定し、特定した領域の画素データ(参照画素データ)を、一括してフレームメモリ102から読み出して局所参照メモリ123に記憶させる。
 一方、処理順の差が閾値を超える場合、参照画素読み出し部2100は、対象ブロック及び対象サブブロックの参照画素データを、各々の動き補償処理のタイミングで別々にフレームメモリ102から読み出して局所参照メモリ123に記憶させる。
 動き補償部2200は、参照画素読み出し部2100で読み出された参照画素データを用いて動き補償することにより、対象ブロック及び対象サブブロックそれぞれの予測画素データを生成する。この動き補償部2200は、例えば、図5Aの動き補償部105に相当する。
 動き補償部2200は、局所参照メモリ123に対象ブロック及び対象サブブロックの両方の参照画素データが記憶されている場合、当該参照画素データを用いて、対象ブロック及び対象サブブロックそれぞれの予測画素データを同時に生成する。そして、動き補償部2200は、対象ブロックの予測画素データを出力部2300を介して加算部107に出力すると共に、対象サブブロックの予測画素データを一時記憶部2400に記憶させる。
 一方、動き補償部2200は、局所参照メモリ123に対象ブロックの参照画素データのみが記憶されている場合、対象ブロックの参照画素データを用いて対象ブロックの予測画素データを生成し、出力部2300を介して加算部107に出力する。同様に、動き補償部2200は、局所参照メモリ123に対象サブブロックの参照画素データのみが記憶されている場合、対象サブブロックの参照画素データを用いて対象サブブロックの予測画素データを生成し、出力部2300を介して加算部107に出力する。
 出力部2300は、動き補償部2200で生成された対象ブロック又は対象サブブロックの予測画素データを加算部107に出力する。この出力部2300は、例えば、図5Aのセレクタ136に相当する。
 出力部2300は、対象ブロックの予測画素データを出力する場合、動き補償部2200から当該予測画素データを直接取得して、加算部107に出力する。一方、出力部2300は、対象サブブロックの予測画素データを出力する場合、動き補償部2200から当該予測画素データを直接取得するか、又は一時記憶部2400から当該予測画素データを取得して、加算部107に出力する。
 例えば、対象ブロック及び対象サブブロック各々の動きベクトルが一致する場合、出力部2300は、一時記憶部2400から取得した対象サブブロックの予測画素データを出力する。一方、対象ブロック及び対象サブブロック各々の動きベクトルが一致しない場合、出力部2300は、動き補償部2200から直接取得した対象サブブロックの予測画素データを出力する。
 一時記憶部2400は、動き補償部2200で生成された対象サブブロックの予測画素データを一時的に記憶する。この一時記憶部2400は、例えば、図5Aの一時メモリ135に相当する。
 なお、上記構成の動き補償装置2000は、画像復号装置200に搭載されるだけでなく、画像符号化装置100に搭載されてもよい。具体的には、図4Aの動き補償部105が動き補償装置2000の動作を行ってもよい。
 次に、図6A~図6Cを用いて、画像符号化装置100で生成され、且つ画像復号装置200で復号される符号化ストリームのデータ構造の例を説明する。図6A~図6Cは、ある符号化ストリームのデータ構造の例を示す図である。
 図6Aに示される符号化ストリームには、4つのブロック(BLK1、BLK2、BLK3、BLK4)の符号化データが符号化順に連続して格納されており、この4ブロックの符号化データの前に、それぞれのブロックに関する動き情報(MV1、MV2、MV3、MV4)が連続して格納されている。
 これはH.264におけるマクロブロックを4つの動き補償ブロック(サブブロック)に分割した場合等に相当する。この場合、動き情報は、4つのブロックの符号化データの前に連続して位置している。このため、画像復号装置200は、4つの動き情報を全て復号した後に、拡大転送の判断を行うことができる。すなわち、4つのブロックのうち、動き情報が共通するブロックの参照画素データを、フレームメモリ102から局所参照メモリ123に拡大転送すればよい。これは従来の画像復号装置において実現できたことであり、本発明の画像復号装置200においても実現できる。
 図6Bに示される符号化ストリームには、各ブロック(BLK1、BLK2、BLK3、BLK4)の動き情報(MV1、MV2、MV3、MV4)が、当該ブロックの符号化データの直前に位置し、ブロック単位に符号化データと動き情報とが組になって格納されている。
 これはH.264におけるマクロブロックが動き補償ブロックに分割されていない場合等に相当する。従来の画像復号装置は、あくまで図6Aのように、複数の動き補償ブロックに関する動き情報を、符号化データより前にまとめて入手できる場合に限って動作することができるのであって、図6Bのような例では、メモリ転送を効率化できない。
 図6Cに示される符号化ストリームのデータ構造は、図6Bと同一である。ここで、本発明の画像復号装置200を用いれば、最初のブロック(BLK1)の動き情報(MV1)を復号した時点で、後続のブロック(BLK2)の動き情報(MV2)や、さらに後続のブロック(BLK3)の動き情報(MV3)を、現在復号中のブロック(BLK1)の動き情報(MV1)と同値であると仮定して拡大転送を行う。仮定が正しければ、メモリ転送を効率化できる。前述のように、動き情報が同値となる確率は、画像復号装置200において計測可能であり、仮定は高い精度で当たると期待できる。
 次に、図7A、図7B、及び図8を用いて、本実施の形態の画像復号装置200の動作(画像復号方法)を説明する。図7Aは、画像を構成する各ブロックの位置と、符号化順(あるいは復号順)とを示した図である。図7Bは、復号順1~4のブロック(BLK1、BKL2、BLK3、BLK4)に係る動き情報(MV1、MV2、MV3、MV4)が連続して位置する符号化ストリームの例である。図8は、本実施の形態の画像復号方法におけるメモリ転送に関わる部分を中心とする動作フロー図である。
 図7Aに示される復号順1~4のブロックは、空間的にはZ順に配列されており、これらブロックの右側に復号順5~8のブロックが同じくZ順に配列されている。復号順2のブロック(BlkCurr)の動き補償をしようとする場合において、当該ブロック(BlkCurr)の参照画素データと、右側に隣接するブロック(BlkRight)の参照画素データとのメモリ転送の一括化の可能性について説明する。
 例えば、画像復号装置200に図7Bに示される符号化ストリームが入力されたとすると、従来の画像復号装置と同様に、ブロック(BLK1~BLK4)の参照画素データの一括転送が可能な場合がある。
 さらに、本発明の一形態に係る画像復号装置200を用いれば、復号順2のブロックBlkCurrの右側に隣接する復号順5のブロック(BlkRight)の左側のサブブロックの動き情報を、対象ブロック(ここでは復号順2のブロック)の動き情報(MV2)と同値であると仮定して、復号順1~4のブロックと復号順5のブロックとの参照画素データの拡大転送(一括転送)を行うことができる。図8を参照して、この場合の画像復号装置200の動作を詳しく説明する。
 まず、拡張転送制御部134は、対象ブロック(BlkCurr)の復号にあたり、一時メモリ135に対象ブロック(BlkCurr)の予測画素データが存在するか否かを調べる(S100)。
 対象ブロック(BlkCurr)の予測画素データが無ければ(S100で「なし」)、拡張転送制御部134は、対象ブロック(BlkCurr)の参照画素データと、対象ブロックに隣接する近傍ブロックの参照画素データとを合わせて、フレームメモリ102から局所参照メモリ123に拡大転送するか否かを判断する(S111)。なお、ステップS111の詳細は、図9を参照して後述する。
 例えば、ステップS111において、隣接ブロック(BlkRight)の左側のサブブロックの参照画素データを合わせて拡大転送すると判断した場合(S111で「する」)、拡大された参照画素データ(動き補償参照画素MCpel1)を、フレームメモリ102から局所参照メモリ123に転送する(S115)。
 次に、動き補償部105は、局所参照メモリ123に転送された動き補償参照画素MCpel1を取得し、対象ブロック(BlkCurr)の動きベクトルMV2の小数精度情報に基づき、動き補償補間フィルタを適用し、対象ブロック(BlkCurr)の予測画素データ(「動き補償画素データ」ともいう。以下同じ。)と、隣接ブロック(BlkRight)の左側のサブブロックの予測画素データとを生成する。
 次に、動き補償部105は、対象ブロック(BlkCurr)に関する動き補償画素データMCPel2を、対象ブロック(BlkCurr)に関する動き補償画像としてセレクタ136を介して加算部107に出力する(S117)。また、動き補償部105は、隣接ブロック(BlkRight)の左側のサブブロックに関する動き補償画素データMCPelExt2を、一時メモリ135に記憶させる(S118)。
 一方、ステップS111において、拡大転送をしないと判断した場合(S111で「しない」)には、拡張転送制御部134は、対象ブロック(BlkCurr)の参照画素データのみをフレームメモリ102から局所参照メモリ123へ転送する(S112)。そして、動き補償部105は、動きベクトルMVの小数精度情報に基づき、局所参照メモリ123に記憶されている参照画素データに動き補償補間フィルタを適用し、対象ブロック(BlkCurr)の予測画素データを生成する(S113)。そして、動き補償部105は、対象ブロック(BlkCurr)に関する動き補償済み画素MCPel2をセレクタ136に出力する。セレクタ136は、動き補償部105から取得した動き補償画素データMCPel2を対象ブロック(BlkCurr)に関する動き補償画素MCPelCurとして、加算部107に出力する。
 次に、復号順3、4のブロックの復号が終了し、復号順5のブロック(BlkRight)を復号する際の処理を説明する。このブロック(BlkRight)は、サブブロック単位で符号化されているので、復号処理もサブブロック単位で行なわれる。
 まず、拡張転送制御部134は、左側のサブブロックの予測画素データが一時メモリ135に存在するか否かを調べる(S100)。この予測画素データは、既に説明したように、ブロック(BlkCurr)の予測画素データを生成するのと同時に生成され、一時メモリ135に記憶されている。
 次に、セレクタ136は、一時メモリ135に記憶されている予測画素データが先読み取得に成功したか否かを調べる(S101)。すなわち、その予測画素データは、過去の転送時点において、参照ピクチャ番号RefNoと動きベクトルMVとが復号順2のブロックと同一であると仮定して生成したものであり、正しくない可能性がある。すなわち、当該サブブロック及びブロック(BlkCurr)の参照ピクチャ番号RefNo及び動きベクトルMVが一致する場合には先読み取得成功(S101で「真」)となり、いずれか一方が一致しない場合には先読み取得失敗(S101で「偽」)となる。
 先読み取得に失敗している場合(S101で「偽」)、一時メモリ135に記憶されている予測画素データを消去し(S104)、前述のステップS111へと処理が移る。この場合、拡大転送は行われないので(S111で「しない」)、当該サブブロックの参照画素データのみが転送され(S112)、当該サブブロックの予測画素データが生成され(S113)、生成された予測画素データがセレクタ136を経由して加算部107に出力される。
 一方、先読み取得が成功した場合(S101で「真」)、セレクタ136は、一時メモリ135に記憶されている予測画素データを読み出して、動き補償画素データMCPel4として加算部107に出力し(S102)、当該予測画素データを一時メモリ135より消去する(S103)。
 このようにすることで、小さな動き補償ブロック(サブブロック)に分割されて符号化されている場合であっても、空間的に隣接するブロックの参照画素データとの一括転送が可能となるため、メモリ転送を効率化できる。なお、小さな動き補償ブロックに分割しない場合には、このような投機取得はかえってメモリ効率が悪化するため、画像復号装置200において、直近の復号ブロックにおける動き補償ブロックの分割が行われた確率を算出しておき、その確率に基づき拡大転送判定(S111)において判断してもよい。
 あるいは、このように独立に確率を計測するのではなく、動きベクトルの差分情報にかかる確率モデルにおける、差分情報の有無を示す確率を元に、動的に拡大転送判定(S111)を制御してもよい。
 あるいは、未復号の隣接ブロックの動きベクトルを仮定するのではなく、符号化ストリームの動きベクトルに関する情報の復号を先行して行い、動きベクトルの情報の確定後に、対象ブロック及び隣接ブロックのメモリ一括転送の判定を行ってもよい。
 図9を用いて、図8における拡大転送判定(S111)の詳細を説明する。
 まず、対象ブロックの復号順BNCurrを算出する(S130)。上記の例では、対象ブロック(BlkCurr)の復号順BNCurr=2である。
 次に、対象ブロック(BlkCurr)に隣接するブロックであって、まだ復号していないブロックについて、ブロック単位の処理を行う(S131)。
 まず、拡張転送制御部134は、未復号の隣接ブロックの復号順BNnbrを算出する(S132)。図7Aに示される例では、1順目に復号順BNnbr=4が、2順目に復号順BNnbr=5が算出される。
 次に、拡張転送制御部134は、一時メモリ135内に空き領域があるかを調べる(S133)。具体的には、隣接ブロックの予測画素データを格納するための空き領域の有無を判断する。
 空き領域がある場合(S133で「真」)、拡張転送制御部134は、隣接ブロックの復号順BNnbrと対象ブロックの復号順Bncurrとの差分が閾値BNth以下であるかを判定する(S133)。
 閾値以下である場合(S134で「真」)、拡張転送制御部134は、当該隣接ブロックの参照画素データを拡大転送の対象に含める(S135)。例えば、閾値BNth=3とすると、復号順4、5の隣接ブロック両方の参照画素データが拡大転送の対象に含まれることになる。
 ここで、上記の条件(S133、S134)を満たす全ての参照画素データを拡大転送してもよいし、条件を満たす隣接ブロックが複数存在する場合には、そのうちの1つのブロックの参照画素データのみを拡大転送してもよい。例えば、復号順が対象ブロックに最も近い隣接ブロックの参照画素データのみを拡大転送の対象に含めてもよい。
 また、上記の条件に加えて、隣接ブロックがサブブロック単位で符号化されているか否かを判断し、対象ブロックに隣接するサブブロックの参照画素データのみを拡大転送の対象に含めてもよい。あるいは、対象ブロックの動きベクトルと一致する動きベクトルを有するブロックの参照画素データのみを拡大転送の対象に含めてもよい。さらには、これらの条件を任意に組み合わせてもよい。
 一方、ステップS133において、復号順の差が閾値BNthより大きい場合(S134で「偽」)、拡張転送制御部134は、当該隣接ブロックの参照画素データを拡大転送の対象には含めない(S136)。
 また、ステップS133において、一時メモリ135に空きが無い場合(S133で「偽」)も、拡張転送制御部134は、当該隣接ブロックの予測画素データを拡大転送の対象には含めない(S136)。なお、ステップS132は、ステップS133の空き領域判定が「真」の場合のみに実行してもよい。あるいは、隣接ブロックに対する繰りかえし処理(S131)は、一時メモリ135に空きがある場合のみ実行してもよい。
 なお、閾値BNThは、規格のプロファイルやレベルによって規定されてもよい。また、一時メモリ135のサイズは、規格のプロファイルやレベルによって規定されてもよい。
 画像復号装置200の互換性のために、図8及び図9で示す画像復号装置200の動作を一つの基準として規定し、この基準を満たすように符号化する画像符号化装置100の動作フローを、図7A及び図10を用いて説明する。
 まず、画像符号化装置100は、対象ブロックの符号化順BNCurrを算出する(S146)。例えば、図8に示されるブロック(BlkRight)を対象ブロックとすると、符号化順BNCurr=5となる。
 次に、画像符号化装置100は、既に符号化されているブロックであって、当該対象ブロックに空間的に隣接する隣接ブロックについて、隣接ブロック単位の処理を行う(S147)。
 まず、画像符号化装置100は、隣接ブロックの符号化順BNnbrを算出する(S148)。図7Aに示される例では、符号化順BNnbr=2が算出される。次に、画像符号化装置100は、一時メモリ内に空き領域があるかを調べる(S149)。
 空き領域がある場合(S149で「真」)、画像符号化装置100は、対象ブロックの符号化順BnCurrと隣接ブロックの符号化順BNnbrとの差分が閾値BNth以下であるかを判定する(S150)。
 閾値以下である場合(S150で「真」)、画像符号化装置100は、対象ブロックのサブブロック単位での符号化を許可する(S151)。また、図示は省略するが、対象ブロックをサブブロック単位で符号化する場合、動き補償制約部110は、当該対象ブロックを構成する複数のサブブロックのうち、隣接ブロックに接する側サブブロックを、当該隣接ブロックの動きベクトルと同一の動きベクトルを用いて動き補償する。この場合、図7Bに示される動き情報(MV5)には、対象ブロック(BlkRight)の右側のサブブロックの動き情報が格納され、左側のサブブロックの動き情報は省略される。
 一方、ステップS150において、閾値より大きい場合(S150で「偽」)、画像符号化装置100は、対象ブロックのサブブロック単位での符号化を許可しない(S152)。また、ステップS149において、一時メモリ135に空きが無い場合(S149で「偽」)、画像符号化装置100は、対象ブロックのサブブロック単位での符号化を許可しない(S152)。
 また、図8で説明した本発明の画像復号方法における拡大転送判定(S111)は確定的な一例であり、前述のように、動き補償ブロックの分割(かつMVの相違)が発生する確率を元に、より高精度に一括転送の制御を行ってもよい。しかしながら、動き補償ブロックの分割(かつMVの相違)の発生頻度は、符号化対象の動画の特徴や、ビットレートに依存して変化する。
 確率が低い場合には、一括転送をより頻繁に行ってメモリ転送の更なる効率化をねらってもよい。つまり、画像符号化装置100側にて確率を算出し、閾値BNThをビットストリームに含める、あるいは、プロファイルやレベルで規定するなどして、画像復号装置200に通知して、画像復号装置200におけるメモリ転送効率を最大化してもよい。
 また、ピクチャ全体をラスター順で符号化するよりも、ピクチャを分割した小単位で符号化する場合が考えられる。H.264にはこの種の単位としてスライスがあるが、より一般化して、横幅Mブロック縦幅Nブロックのピクチャ分割単位BlkClstrを考える。図11を用いて説明する。
 この分割単位内ではブロックの符号化順がラスター順であるとすると、横幅Nが非常に大きい場合には、上下隣接の一括転送に必要な一時メモリのサイズが非常に大きくなってしまう。あるいは、実際の画像復号装置200が備えるメモリは有限であるので、一括転送を行える頻度が低下してしまう。
 従って、本実施の形態の画像符号化装置100は、横幅Nが一定以上の場合には、ブロックを複数の動き補償ブロックに分割し、かつMVが上隣接ブロックと異なるようには符号化しないこととする。
 このようにして、本実施の形態の画像復号装置200は、隣接するブロック間でメモリ転送を効率化でき、かつ、動作の一例を規定することにより、本実施の形態の符号化装置・符号化方法の生成する符号化ストリームは、復号装置の互換性を保つことができる。
 (実施の形態2)
 上記各実施の形態で示した動画像符号化方法または動画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法や動画像復号方法の応用例とそれを用いたシステムを説明する。
 図12は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図12のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106から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、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
 なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化・復号処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図13に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置または動画像復号装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号して再生する。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号装置を組み込んでもよい。
 図14は、上記各実施の形態で説明した動画像復号方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部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、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図15に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図16に光ディスクである記録メディア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の構成は例えば図14に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態3)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図17は、多重化データの構成を示す図である。図17に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラファイックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
 多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
 図18は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図19は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図17における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図17の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図20は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD-ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図20下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
 また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
 図21はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図22に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図22に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図23に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号方法のステップを図24に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態4)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図25に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 また、上記では、制御部ex510が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex510の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態5)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図26は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図25のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図25の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態3で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態3で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図28のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図27は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
 さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
 また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
 さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
 このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態6)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図29(a)のex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明は、動き補償に特徴を有していることから、例えば、動き補償については専用の復号処理部ex901を用い、それ以外のエントロピー符号化、デブロッキング・フィルタ、逆量子化のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図29(b)のex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明にかかる動き補償装置は、動き補償にかかるメモリ転送量を抑えつつ高い符号化効率を実現できるという効果を奏し、例えば、画像符号化装置、画像復号装置、ビデオカメラ、動画像の記録再生機能を有する携帯電話またはパーソナルコンピュータなどに適用することができる。
 10,11,20,21 ブロック
 11a,11b,21a,21b サブブロック
 100,1000 画像符号化装置
 101 動き検出部
 102 フレームメモリ
 103,104 減算部
 105,2200 動き補償部
 106,1300 符号化部
 107,121 加算部
 108 動きベクトルメモリ
 109 動きベクトル予測部
 110 動き補償制約部
 122 復号部
 123 局所参照メモリ
 124 転送制御部
 134 拡張転送制御部
 135 一時メモリ
 136 セレクタ
 200 画像復号装置
 1100 符号化単位決定部
 1200 動きベクトル決定部
 2000 動き補償装置
 2100 参照画素読み出し部
 2300 出力部
 2400 一時記憶部

Claims (10)

  1.  フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力する動き補償方法であって、
     前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出しステップと、
     前記読み出しステップで読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償ステップと、
     前記動き補償ステップで生成された前記対象ブロックの前記予測画素データを出力する出力ステップと、
     前記動き補償ステップで生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶ステップとを含む
     動き補償方法。
  2.  前記読み出しステップでは、前記対象ブロック及び前記対象サブブロックの処理順の差が予め定められた閾値の範囲内である場合にのみ、前記対象ブロック及び前記対象サブブロック各々の前記参照画素データを、前記フレームメモリから読み出す
     請求項1に記載の動き補償方法。
  3.  さらに、前記対象サブブロックの前記予測画素データを出力する場合において、
     前記対象ブロック及び前記対象サブブロック各々の動きベクトルが一致する場合、
     前記出力ステップでは、前記一時記憶ステップで記憶した前記対象サブブロックの前記予測画素データを出力し、
     前記対象ブロック及び前記対象サブブロック各々の動きベクトルが一致しない場合、
     前記読み出しステップでは、前記参照画像のうち、前記対象サブブロックの前記参照画素データを、前記フレームメモリから読み出し、
     前記動き補償ステップでは、前記読み出しステップで読み出された前記参照画素データと、前記対象サブブロックの動きベクトルとを用いて動き補償することにより、前記対象サブブロックの前記予測画素データを生成し、
     前記出力ステップでは、前記動き補償ステップで生成された前記対象サブブロックの前記予測画素データを出力する
     請求項1又は2に記載の動き補償方法。
  4.  符号化ストリームを復号して復号画像を生成する画像復号方法であって、
     請求項1~3のいずれか1項に記載の動き補償方法と、
     前記動き補償方法で出力される前記予測画素データを用いて、前記符号化ストリームから前記復号画像を生成する復号ステップとを含む
     動画像復号方法。
  5.  画像を符号化して符号化ストリームを生成する画像符号化方法であって、
     請求項1~3のいずれか1項に記載の動き補償方法と、
     前記動き補償方法で出力される前記予測画素データを用いて、前記画像から前記符号化ストリームを生成する符号化ステップとを含む
     画像符号化方法。
  6.  画像を構成する複数のブロックを順次符号化する画像符号化方法であって、
     対象ブロックの符号化単位を決定する符号化単位決定ステップと、
     前記対象ブロックの動きベクトルを、前記符号化単位毎に決定する動きベクトル決定ステップと、
     前記対象ブロックの画素データを、前記動きベクトルを用いて前記符号化単位毎に符号化する符号化ステップとを含み、
     前記符号化単位決定ステップでは、既に符号化されたブロックであって、前記対象ブロックに空間的に隣接する隣接ブロックと前記対象ブロックとの符号化順の差が予め定められた閾値の範囲内である場合に、前記対象ブロックの符号化単位を、当該対象ブロックをさらに分割したサブブロック単位に決定し、
     前記動きベクトル決定ステップでは、前記対象ブロックのうち、前記隣接ブロックに接する側のサブブロックの動きベクトルを、前記隣接ブロックの動きベクトルと同一に決定する
     画像符号化方法。
  7.  前記動きベクトル決定ステップでは、
     前記対象ブロックが左右に分割された場合において、前記対象ブロックの左側のサブブロックの動きベクトルを、前記対象ブロックの左側に隣接する前記隣接ブロックの動きベクトルと同一に決定し、
     前記対象ブロックが上下に分割された場合において、前記対象ブロックの上側のサブブロックの動きベクトルを、前記対象ブロックの上側に隣接する前記隣接ブロックの動きベクトルと同一に決定する
     請求項6に記載の画像符号化方法。
  8.  フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力する動き補償装置であって、
     前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出し部と、
     前記読み出し部で読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償部と、
     前記動き補償部で生成された前記対象ブロックの前記予測画素データを出力する出力部と、
     前記動き補償部で生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶部とを備える
     動き補償装置。
  9.  コンピュータに、フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力させるプログラムであって、
     前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出しステップと、
     前記読み出しステップで読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償ステップと、
     前記動き補償ステップで生成された前記対象ブロックの前記予測画素データを出力する出力ステップと、
     前記動き補償ステップで生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶ステップとを、コンピュータに実行させる
     プログラム。
  10.  フレームメモリに記憶されている参照画像を用いて動き補償を行うことにより、画像を構成するブロック単位、又は前記ブロックをさらに分割したサブブロック単位で、予測画素データを順次出力する集積回路であって、
     前記参照画像のうち、対象ブロック及び前記対象ブロックに空間的に隣接する対象サブブロック各々の動き補償に用いられる領域を前記対象ブロックの動きベクトルを用いて特定し、特定した領域の参照画素データを前記フレームメモリから読み出す読み出し部と、
     前記読み出し部で読み出された前記参照画素データを用いて動き補償することにより、前記対象ブロック及び前記対象サブブロックそれぞれの前記予測画素データを生成する動き補償部と、
     前記動き補償部で生成された前記対象ブロックの前記予測画素データを出力する出力部と、
     前記動き補償部で生成された前記対象サブブロックの前記予測画素データを一時記憶する一時記憶部とを備える
     集積回路。
PCT/JP2011/001981 2010-04-13 2011-04-01 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路 WO2011129067A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/638,681 US9100655B2 (en) 2010-04-13 2011-04-01 Motion compensation method, image decoding method, image coding method, motion compensation apparatus, program, and integrated circuit
JP2012510549A JP5701291B2 (ja) 2010-04-13 2011-04-01 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010092667 2010-04-13
JP2010-092667 2010-04-13

Publications (1)

Publication Number Publication Date
WO2011129067A1 true WO2011129067A1 (ja) 2011-10-20

Family

ID=44798455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001981 WO2011129067A1 (ja) 2010-04-13 2011-04-01 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路

Country Status (3)

Country Link
US (1) US9100655B2 (ja)
JP (1) JP5701291B2 (ja)
WO (1) WO2011129067A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114590A (ja) * 2010-11-22 2012-06-14 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013098711A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2013118216A1 (ja) * 2012-02-07 2013-08-15 パナソニック株式会社 画像処理装置および画像処理方法
JP2018121354A (ja) * 2010-07-20 2018-08-02 株式会社Nttドコモ 画像予測復号装置、及び、画像予測復号方法
CN111194554A (zh) * 2017-10-05 2020-05-22 交互数字Vc控股公司 基于照明补偿的视频编码和解码的方法和装置
CN111194554B (zh) * 2017-10-05 2024-04-23 交互数字Vc控股公司 基于照明补偿的视频编码和解码的方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120582A1 (ja) * 2011-03-07 2012-09-13 パナソニック株式会社 動き補償装置、動画像符号化装置、動画像復号装置、動き補償方法、プログラム、及び集積回路
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10215457A (ja) * 1997-01-30 1998-08-11 Toshiba Corp 動画像復号方法及び動画像復号装置
JPH11298903A (ja) * 1998-04-09 1999-10-29 Sony Corp ディジタル画像復号装置及び方法、並びに提供媒体
JP2006520551A (ja) * 2003-03-03 2006-09-07 モービリゲン コーポレーション メモリワードアレイ構成およびメモリアクセス予測結合
WO2008117440A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited デコード方法及びデコード装置
WO2008136178A1 (ja) * 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4436782B2 (ja) 2004-05-14 2010-03-24 パナソニック株式会社 動き補償装置
US7881376B2 (en) 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
TW201032600A (en) * 2009-02-20 2010-09-01 Sony Corp Image processing device and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10215457A (ja) * 1997-01-30 1998-08-11 Toshiba Corp 動画像復号方法及び動画像復号装置
JPH11298903A (ja) * 1998-04-09 1999-10-29 Sony Corp ディジタル画像復号装置及び方法、並びに提供媒体
JP2006520551A (ja) * 2003-03-03 2006-09-07 モービリゲン コーポレーション メモリワードアレイ構成およびメモリアクセス予測結合
WO2008117440A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited デコード方法及びデコード装置
WO2008136178A1 (ja) * 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018121354A (ja) * 2010-07-20 2018-08-02 株式会社Nttドコモ 画像予測復号装置、及び、画像予測復号方法
JP2012114590A (ja) * 2010-11-22 2012-06-14 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013098711A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2013118216A1 (ja) * 2012-02-07 2013-08-15 パナソニック株式会社 画像処理装置および画像処理方法
JPWO2013118216A1 (ja) * 2012-02-07 2015-05-11 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
US9743079B2 (en) 2012-02-07 2017-08-22 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method for the collective transfer of prediction parameters between storage units
CN111194554A (zh) * 2017-10-05 2020-05-22 交互数字Vc控股公司 基于照明补偿的视频编码和解码的方法和装置
US11949910B2 (en) 2017-10-05 2024-04-02 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on illumination compensation
CN111194554B (zh) * 2017-10-05 2024-04-23 交互数字Vc控股公司 基于照明补偿的视频编码和解码的方法和装置

Also Published As

Publication number Publication date
JP5701291B2 (ja) 2015-04-15
US9100655B2 (en) 2015-08-04
JPWO2011129067A1 (ja) 2013-07-11
US20130034164A1 (en) 2013-02-07

Similar Documents

Publication Publication Date Title
JP7157963B2 (ja) 復号化装置
JP6167409B2 (ja) 画像復号化方法および画像復号化装置
CN107197247B (zh) 图像编码方法及图像编码装置
JP5858953B2 (ja) 動画像復号方法、及び動画像復号装置
CN108040259B (zh) 图像编码方法以及图像编码装置
JP6090625B2 (ja) 画像復号方法及び画像復号装置
WO2013132792A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
JP5701291B2 (ja) 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路
WO2012090495A1 (ja) 画像符号化方法および画像復号方法
JP5873029B2 (ja) 動画像符号化方法及び動画像復号化方法
JP6187887B2 (ja) 符号化方法および符号化装置
WO2012096157A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
WO2012086166A1 (ja) 画像符号化方法及び画像復号化方法
WO2013001795A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、および画像復号装置
WO2013046616A1 (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: 11768593

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012510549

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13638681

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

Country of ref document: EP

Kind code of ref document: A1