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

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

Info

Publication number
WO2013002342A1
WO2013002342A1 PCT/JP2012/066582 JP2012066582W WO2013002342A1 WO 2013002342 A1 WO2013002342 A1 WO 2013002342A1 JP 2012066582 W JP2012066582 W JP 2012066582W WO 2013002342 A1 WO2013002342 A1 WO 2013002342A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
prediction
current
block
unit
Prior art date
Application number
PCT/JP2012/066582
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
Priority to KR1020177015849A priority Critical patent/KR101954007B1/ko
Priority to BR112013033333-2A priority patent/BR112013033333B1/pt
Priority to EP12804437.7A priority patent/EP2728879A4/en
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2013522953A priority patent/JP5954327B2/ja
Priority to CN201910505675.4A priority patent/CN110225357B/zh
Priority to CN201910881352.5A priority patent/CN110572681B/zh
Priority to IN10237CHN2013 priority patent/IN2013CN10237A/en
Priority to KR1020137033599A priority patent/KR101918324B1/ko
Priority to KR1020177015848A priority patent/KR101954006B1/ko
Priority to CN201280030904.8A priority patent/CN103636217B/zh
Priority to BR122015001000-4A priority patent/BR122015001000B1/pt
Priority to AU2012276628A priority patent/AU2012276628B2/en
Priority to CA2838088A priority patent/CA2838088C/en
Priority to KR1020187032234A priority patent/KR101954046B1/ko
Priority to MX2013015116A priority patent/MX341889B/es
Priority to US14/128,091 priority patent/US9491462B2/en
Priority to BR122015001004-7A priority patent/BR122015001004B1/pt
Priority to BR122015001002-0A priority patent/BR122015001002B1/pt
Priority to RU2013157151/07A priority patent/RU2578375C2/ru
Publication of WO2013002342A1 publication Critical patent/WO2013002342A1/ja
Priority to US15/177,065 priority patent/US9788008B2/en
Priority to US15/177,122 priority patent/US9560375B2/en
Priority to US15/177,099 priority patent/US9648344B2/en
Priority to AU2016204472A priority patent/AU2016204472B2/en
Priority to US15/298,632 priority patent/US10158877B2/en
Priority to US15/298,564 priority patent/US10187652B2/en
Priority to AU2017216494A priority patent/AU2017216494B2/en
Priority to US16/028,394 priority patent/US10484704B2/en
Priority to AU2019201383A priority patent/AU2019201383B2/en
Priority to US16/544,124 priority patent/US10764600B2/en
Priority to AU2020200331A priority patent/AU2020200331B2/en
Priority to US16/932,576 priority patent/US11405634B2/en

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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving encoding efficiency.
  • MPEG compressed by orthogonal transform such as discrete cosine transform and motion compensation
  • a device that conforms to a method such as Moving (Pictures Experts Group) has been widely used for both information distribution in broadcasting stations and information reception in general households.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • standardization that implements higher coding efficiency based on this H.26L and incorporating functions not supported by H.26L was done as Joint Model of-Enhanced-Compression Video Coding. .
  • AVC Advanced Video Coding
  • the macro block size of 16 pixels x 16 pixels is optimal for large image frames such as UHD (Ultra High Definition: 4000 pixels x 2000 pixels), which are the targets of the next generation coding system. There was no fear.
  • HEVC High Efficiency Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Coding
  • a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
  • the CU is not fixed to a size of 16 ⁇ 16 pixels like the AVC macroblock, and is specified in the image compression information in each sequence.
  • This disclosure has been made in view of such a situation, and an object thereof is to suppress a reduction in encoding efficiency.
  • One aspect of the present disclosure is that when encoding a current disparity vector of a current block used for prediction using the correlation of disparity directions, the prediction vector of the current disparity vector is referred to when generating a prediction motion vector.
  • An image processing apparatus comprising: a prediction vector generation unit that generates using a reference disparity vector to be generated; a difference vector generation unit that generates a difference vector between the current disparity vector and the prediction vector generated by the prediction vector generation unit It is.
  • the prediction vector generation unit generates a prediction vector of the current disparity vector using a disparity vector of a collocated block included in a collocated picture at a different time from the current picture for the same view as the current view can do.
  • the prediction vector generation unit can set the collocated block to be available when the characteristics of the vector of the current block match the characteristics of the vector of the collocated block.
  • the vector characteristic is a vector type
  • the prediction vector generation unit performs a color matching operation when the vector characteristic of the current block is a disparity vector and the vector characteristic of the collocated block is a disparity vector.
  • the cut block can be set to be available.
  • the predictive motion vector generation unit can determine the vector characteristics of the current block and the vector characteristics of the collocated block using POC (Picture Order Count) indicating the output order of pictures.
  • POC Picture Order Count
  • the predicted motion vector generation unit includes a POC of a current picture, a POC of a current reference picture referenced from the current picture, a POC of a collocated picture, and a POC of a collocated reference picture referenced from the collocated picture. Can be used to determine the vector characteristics of the current block and the vector characteristics of the collocated block.
  • the predicted motion vector generation unit matches the POC of the current picture with the POC of the current reference picture referenced from the current picture, and the collocated reference referenced from the POC of the collocated picture and the collocated picture When the POC of the picture matches, it is possible to determine that the vector characteristic of the current block and the vector characteristic of the collocated block are disparity vectors.
  • the prediction vector generation unit can set the collocated block to be not available when the vector characteristic of the current block and the vector characteristic of the collocated block are different.
  • the vector characteristic is a reference picture type
  • the predictive vector generation unit is configured to make a collocated block not available when a reference picture type of a current block and a reference picture type of a collocated block are different. Can be set to
  • the vector characteristic is a reference picture type
  • the prediction vector generation unit is configured such that a reference picture type of a current block is a long-time reference, and a reference picture type of a collocated block is a long-time reference.
  • the search process for searching the reference index can be skipped.
  • the prediction vector generation unit can generate a prediction vector of the current disparity vector using a disparity vector of a reference block included in a picture at the same time as the current picture for a view different from the current view. .
  • the prediction vector generation unit generates the prediction vector of the current disparity vector by scaling the reference disparity vector based on a positional relationship between a current picture and a reference picture that is referred to when generating a prediction motion vector. Can do.
  • the prediction vector generation unit refers to the prediction vector of the current motion vector when generating the prediction motion vector when encoding the current motion vector of the current block used for prediction using temporal correlation.
  • the difference vector generation unit can generate a difference vector between the current motion vector and the prediction vector generated by the prediction vector generation unit.
  • the prediction vector generation unit may generate a prediction vector of the current motion vector using a reference block motion vector included in a picture at the same time as the current picture for a view different from the current view. it can.
  • the prediction vector generation unit may generate a prediction vector of the current motion vector by using a motion vector of a reference block included in a picture at a time different from the current picture for the same view as the current view. it can.
  • the prediction vector generation unit generates the prediction vector of the current motion vector by scaling the reference motion vector based on a positional relationship between a current picture and a reference picture that is referred to when generating a prediction motion vector. Can do.
  • the prediction vector generation unit uses a vector of a block having the same position as the current block in a state in which the position of a pixel of a picture at the same time as the current picture is shifted for a view different from the current view.
  • the prediction vector can be generated.
  • the prediction vector generation unit can set the shift amount of the image according to the disparity vector of the peripheral area of the current block.
  • the predicted vector generation unit can set the X-direction parallax vector of the peripheral block having a non-zero value in the Y-direction parallax vector as the shift amount.
  • the prediction vector generation unit can set the value calculated from the X-direction parallax vectors of the plurality of peripheral blocks whose non-zero values in the Y-direction parallax vector are the shift amounts.
  • the prediction vector generation unit can use the average value or median value of the X-direction parallax vectors of the plurality of peripheral blocks whose non-zero values in the Y-direction parallax vector are the shift amount of the image.
  • the prediction vector generation unit can set the shift amount of the image according to the global disparity vector.
  • an image processing method for generating a prediction vector of a current disparity vector using a reference disparity vector that is referred to when generating a predicted motion vector, and generating a difference vector between the current disparity vector and the generated prediction vector is there.
  • a reference for referring to the prediction vector of the current disparity vector when generating a predicted motion vector Reconstructing the current disparity vector by adding the prediction vector generated by the prediction vector generation unit to a prediction vector generation unit that generates using a disparity vector, and a difference vector between the current disparity vector and the prediction vector
  • An image processing apparatus including an arithmetic unit that performs an arithmetic operation.
  • the current disparity in the decoding of a current disparity vector of a current block used for prediction using the correlation of disparity directions is performed by the image processing device.
  • a vector prediction vector is generated using a reference disparity vector that is referred to when generating a prediction motion vector, and the generated prediction vector is added to a difference vector between the current disparity vector and the prediction vector, This is an image processing method for performing an operation for reconstructing a current disparity vector.
  • Still another aspect of the present disclosure is that when encoding a current motion vector of a current block used for prediction using temporal correlation, a reference picture type of the current block and a collocation at a time different from the current picture are used.
  • the reference picture type of the collocated block included in the ted picture is different, the collocated block is set to be not available, and the prediction vector of the current motion vector is referred to when generating the prediction motion vector.
  • An image processing apparatus comprising: a prediction vector generation unit that generates a reference motion vector; and a difference vector generation unit that generates a difference vector between the current motion vector and the prediction vector generated by the prediction vector generation unit.
  • the image processing device encodes a current motion vector of a current block used for prediction using temporal correlation.
  • the reference picture type of the current block is different from the reference picture type of the collocated block included in the collocated picture at a different time from the current picture, the collocated block is set to be not available and the current picture
  • a motion vector prediction vector is generated using a reference motion vector that is referred to when generating a motion vector predictor, and a difference vector between the current motion vector and the generated motion vector is generated.
  • the prediction vector of the current disparity vector when encoding the current disparity vector of the current block used for prediction using the correlation in the disparity direction, is referred to when generating the predicted motion vector. And a difference vector between the current disparity vector and the generated prediction vector is generated.
  • a reference that a prediction vector of a current disparity vector refers to when generating a predicted motion vector An operation is performed for reconstructing the current disparity vector by generating the disparity vector, adding the generated prediction vector to the difference vector between the current disparity vector and the prediction vector.
  • a type of a reference picture of the current block and a collation at a time different from the current picture are used.
  • the reference picture type of the collocated block included in the categorized picture is different from that of the collocated block, the collocated block is set to be not available, and the prediction vector of the current motion vector is referred to when generating the prediction motion vector.
  • a difference vector between the current motion vector and the generated prediction vector is generated using the reference motion vector.
  • an image can be processed.
  • a reduction in encoding efficiency can be suppressed.
  • FIG. 1 It is a figure explaining the example in case a collocated vector is available. It is a figure which shows the example of the syntax of a sequence parameter set. It is a figure which shows the example of the syntax of a slice header. It is a figure which shows the example of the syntax of a prediction unit. It is a flowchart explaining the example of the flow of an encoding process. It is a flowchart explaining the example of the flow of an inter motion prediction process. It is a flowchart explaining the example of the flow of merge mode processing. It is a flowchart explaining the example of the flow of a parallax motion vector prediction process. It is a flowchart explaining the example of the flow of a time parallax correlation prediction process. It is a flowchart following FIG.
  • FIG. 22 explaining the example of the flow of a time parallax correlation prediction process. It is a flowchart following FIG. 23 for explaining an example of the flow of temporal disparity correlation prediction processing.
  • FIG. 25 is a flowchart following FIG. 24 for explaining an example of the flow of temporal disparity correlation prediction processing. It is a flowchart explaining the example of the flow of a system 1 process. It is a flowchart explaining the example of the flow of a system 3 process.
  • 22 is a flowchart for explaining an example of a flow of a method 4-2. It is a block diagram which shows the main structural examples of an image decoding apparatus. It is a block diagram which shows the main structural examples of a motion parallax compensation part.
  • FIG. 61 is a flowchart following FIG. 60 for explaining an example of the flow of a prediction vector generation process from different pictures. It is a figure explaining the example of the mode of the reference picture of a background still application. It is a figure explaining the example of the mode of the reference image of a stereo application. It is a figure which compares the example of the type of a reference image, and the characteristic of a vector.
  • FIG. 74 is a flowchart subsequent to FIG. 73, illustrating an example of a flow of motion (parallax) vector generation processing that is a candidate from a block on the left side position.
  • FIG. 77 is a flowchart subsequent to FIG. 76, illustrating an example of the flow of motion (parallax) vector generation processing that is a candidate from the block at the upper position. It is a flowchart explaining the example of the flow of a motion (parallax) vector of PU, and a reference index production
  • FIG. 84 is a flowchart following FIG. 83 for explaining another example of the flow of the motion (parallax) vector generation process that is a candidate from the block on the left side position.
  • FIG. 88 is a flowchart following FIG. 87 for explaining another example of the flow of the motion (parallax) vector generation process that is a candidate from the block at the upper position.
  • FIG. 89 is a flowchart following FIG. 88 for explaining another example of the flow of the motion (parallax) vector generation process that is a candidate from the block at the upper position. It is a figure explaining the further another example of handling of a time correlation block and a surrounding block. It is a flowchart explaining the further another example of the flow of a motion (parallax) vector generation process which becomes a candidate from the block of the left side position.
  • FIG. 92 is a flowchart following FIG. 91, illustrating still another example of the flow of the motion (parallax) vector generation process that is a candidate from the block on the left side position.
  • FIG. 26 is a block diagram illustrating a main configuration example of a personal computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device.
  • First Embodiment> [Motion prediction] In image coding such as AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding), motion prediction using correlation in the time direction (between frames) is performed.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • hierarchical blocks such as macroblocks and sub-macroblocks are defined in AVC, but coding units (CU (Coding Unit)) are defined in HEVC. .
  • CU Coding Unit
  • CU is also called Coding Tree Block (CTB), and is a partial area of a picture unit image that plays the same role as a macroblock in AVC.
  • CTB Coding Tree Block
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the maximum size (LCU (Largest Coding Unit)) and the minimum size ((SCU (Smallest Coding Unit)) are specified. Is done.
  • split_flag the value of split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Unit (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and regions that are processing units of orthogonal transformation ( This is divided into transform units (Transform Unit (TU)), which is a partial area of an image in units of pictures.
  • Prediction Unit PU
  • TU Transform Unit
  • a macroblock in AVC corresponds to an LCU.
  • the size of the LCU of the highest hierarchy is generally set larger than the AVC macroblock, for example, 128 ⁇ 128 pixels.
  • area includes all the above-described various areas (for example, macroblock, sub-macroblock, LCU, CU, SCU, PU, TU, etc.) (any of them). .
  • units other than those described above may be included, and units that are impossible according to the content of the description are appropriately excluded.
  • FIG. 1 shows a configuration example of a prediction unit (PU) that is a prediction processing unit for a CU that is a coding processing unit.
  • PU prediction unit
  • FIG. 1 shows a configuration example of a prediction unit (PU) that is a prediction processing unit for a CU that is a coding processing unit.
  • four types of PUs can be formed for one CU.
  • the four large squares shown in FIG. 1 indicate CU, and the rectangle or square inside thereof indicates PU.
  • the number indicates the index of each PU and does not indicate the content of the image.
  • the CU is composed of one PU (2N ⁇ 2N). That is, in this case, CU and PU are equivalent.
  • the CU is divided into two vertically and is composed of two horizontally long PUs (2N ⁇ N).
  • the CU is divided into two parts on the left and right, and is composed of two vertically long PUs (N ⁇ 2N).
  • the CU is divided into two parts (up to 4 parts in total), and is composed of four square PUs (N ⁇ N). Which of these patterns is applied is determined by the content of the image (cost function value of the prediction result).
  • Non-Patent Document 3 proposes a technique (merge mode) called “Motion Partition” Merging as one of motion information encoding methods.
  • merge mode two flags, MergeFlag and MergeLeftFlag, are transmitted as merge information that is information related to the merge mode.
  • MergeLeftFlag is included in the merge information and transmitted.
  • the reference image index includes a peripheral region A adjacent to the left, a peripheral region B adjacent to the upper side, and a peripheral region C adjacent to the upper right with respect to the current region to be processed (Current Block).
  • Current Block a peripheral region adjacent to the left
  • peripheral region B adjacent to the upper side
  • peripheral region C adjacent to the upper right with respect to the current region to be processed
  • the second to fourth columns from the left represent the states of the reference image indexes of the peripheral area A to the peripheral area C, respectively.
  • the first column from the left is the determined reference image index.
  • “X”, “y”, and “z” each indicate an arbitrary natural number, and “ ⁇ 1” indicates that reference is impossible.
  • the reference image index of the block is used. If there are two areas that can be referred to from among the peripheral areas A to C, the smallest reference image index is used. Further, when all of the peripheral area A to the peripheral area C cannot be referenced, the reference image index is set to 0.
  • the time correlation region located in the temporal vicinity with respect to the current region to be processed is determined as shown in FIG.
  • the left shows a partial area of a current picture (CurrPic) (also referred to as a noticed picture) to be processed, and the upper left square among them shows the current area (CurrPU).
  • the right side of FIG. 4 shows a partial region of the temporal correlation picture (colPic) located in the temporal vicinity of the current picture.
  • a region including a pixel at the same position as the lower right pixel of the current region is defined as a time correlation region (colPU).
  • the area including the pixel at the same position as the central pixel of the decoding area is set as a time correlation area (colPU).
  • the time correlation picture is determined as shown in FIG. For example, when the current picture is a B picture and collocated_from_l0_flag is 1, the picture with the reference image index 0 in the list L1 is set as a time correlation picture. If the current picture is a P picture or a B picture and collocated_from_l0_flag is 0, the picture with the reference picture index 0 in the list L0 is set as a time correlation picture.
  • an interlace flag is set as shown in FIG. 6 depending on the positional relationship between the current picture and the time correlation picture. For example, as shown in the upper part of FIG. 6, when the temporal position of the reference image of the time correlation picture skips the current picture (the current picture exists between the time correlation picture and the reference image), the skip flag is set to 1. Is set.
  • the skip flag is set to 0.
  • the interlace flag is 1, since the current area is an interpolation of the reference image of the time correlation area and the time correlation area, the reliability of the prediction vector is high.
  • the motion vector mvCol in the time correlation region is used.
  • the motion vector in the time correlation region is scaled as in the example shown in FIG. That is, based on the temporal distance A between the current region and the reference image in the current region and the temporal distance B between the time correlation region and the reference image in the time correlation region, scaling is performed as in the following equations (1) and (2). Is done.
  • the image includes a plurality of views, and parallax prediction using the correlation between the views (parallax direction) is also performed.
  • FIG. 8 shows an example of the reference relationship of the three viewpoint images.
  • the 3-viewpoint image shown in FIG. 8 includes three views, view 0, view 1, and view 2.
  • POC indicates a time index.
  • PicNum indicates an index of decoding order.
  • View 0 is called a base view and is encoded using temporal prediction that performs prediction using temporal correlation.
  • View 1 is called a non-base view and is encoded using temporal prediction and disparity prediction.
  • the encoded view 0 and view 2 can be referred to.
  • View 2 is called a non-base view and is encoded using temporal prediction and disparity prediction.
  • an encoded view 0 can be referred to.
  • the conventional prediction vector relates only to the motion vector, and the positional relationship between the same or the most approximate partial images between views generated in the parallax prediction straddling between such viewpoints (views). Coding (prediction) for a disparity vector indicating the above has not been considered.
  • This disparity vector is information corresponding to a motion vector for temporal prediction, and is used for temporal prediction for generating a predicted image of the current region using images of different views at the same time. Therefore, the prediction of the disparity vector cannot be performed properly, and there is a possibility that the encoding efficiency is reduced.
  • prediction of a disparity vector and a motion vector is performed as follows in a multi-viewpoint image.
  • the prediction of the disparity vector in the current region (also referred to as the current disparity vector) is performed as in the example illustrated in FIG.
  • the vector of the temporal correlation region (colPicB) included in the temporal correlation picture is a disparity vector that refers to different views at the same time. Adopted as a prediction vector.
  • the reference image index 1 (RefPicList [1]) of list 1 is a view correlation picture
  • all reference image indexes are candidates for correlated pictures for prediction of the current disparity vector. Further, it is determined whether or not each correlation region vector is a disparity vector, similar to the current region vector.
  • the prediction of the motion vector in the current region (also referred to as the current motion vector) is performed as in the example shown in FIG.
  • the vector of the temporal correlation area (colPicB) included in the temporal correlation picture is a motion vector that refers to a different time in the same view. Adopted as a prediction vector.
  • the vector of the view correlation area (colPicA) included in the view correlation picture refers to a different time of the same view. At this time, it is adopted as a prediction vector.
  • all reference image indexes are candidates for correlated pictures in order to predict a current motion vector. Further, it is determined whether or not each correlation region vector is a motion vector, similar to the current region vector.
  • the scaling process when the disparity vector is a prediction vector is performed as follows. That is, the prediction vector is scaled based on the inter-view distance between the current region and its reference image and the inter-view distance between the correlation region and its reference image.
  • FIG. 11 is a block diagram illustrating a main configuration example of an image encoding device which is an image processing device.
  • the image encoding device 100 shown in FIG. 11 encodes image data using a prediction process, such as an encoding method such as AVC or HEVC.
  • the image encoding device 100 encodes a multi-viewpoint image including a plurality of views.
  • a prediction process such as an encoding method such as AVC or HEVC.
  • the image encoding device 100 encodes a multi-viewpoint image including a plurality of views.
  • a multi-viewpoint image a case where a 3-viewpoint image including three views is processed will be described.
  • the image encoding device 100 can encode a multi-viewpoint image having an arbitrary number of viewpoints (number of views).
  • the image encoding device 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, and a storage buffer. 107.
  • the image coding apparatus 100 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a loop filter 111, a decoded picture buffer 112, a selection unit 113, an intra prediction unit 114, and a motion parallax prediction / compensation unit 115. , A predicted image selection unit 116, and a multi-viewpoint decoded picture buffer 121.
  • the A / D conversion unit 101 performs A / D conversion on the input image data, and supplies the converted image data (digital data) to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of the frames in the stored display order in the order of frames for encoding in accordance with GOP (Group Of Picture), and the images in which the order of the frames is rearranged. Along with the view ID and POC of the image, the image is supplied to the calculation unit 103.
  • GOP Group Of Picture
  • the screen rearrangement buffer 102 supplies the image with the rearranged frame order to the intra prediction unit 114 and the motion parallax prediction / compensation unit 115 together with the view ID and POC of the image.
  • the view ID is information for identifying the viewpoint
  • the POC is information for identifying the time.
  • the calculation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion parallax prediction / compensation unit 115 via the predicted image selection unit 116 from the image read from the screen rearrangement buffer 102, and the difference Information is output to the orthogonal transform unit 104.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102.
  • the arithmetic unit 103 subtracts the predicted image supplied from the motion parallax prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 103. Note that this orthogonal transformation method is arbitrary.
  • the orthogonal transform unit 104 supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on information on the code amount target value, and performs the quantization. Note that this quantization method is arbitrary.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the transform coefficient quantized by the quantization unit 105 using an arbitrary encoding method. Further, the lossless encoding unit 106 acquires intra prediction information including information indicating an intra prediction mode from the intra prediction unit 114, and obtains inter prediction information including information indicating an inter prediction mode, motion disparity vector information, and the like. Obtained from the motion parallax prediction / compensation unit 115. Further, the lossless encoding unit 106 acquires filter coefficients used in the loop filter 111 and the like.
  • the lossless encoding unit 106 encodes these various types of information using an arbitrary encoding method, and makes it a part of the header information of the encoded data (multiplexes).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 106 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs the stored encoded data as a bit stream at a predetermined timing, for example, to a recording device (recording medium) or a transmission path (not shown) in the subsequent stage. That is, various encoded information is supplied to the decoding side.
  • the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization method may be any method as long as it is a method corresponding to the quantization processing by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to the orthogonal transform process by the orthogonal transform unit 104.
  • the inverse orthogonal transform method may be any method as long as it corresponds to the orthogonal transform processing by the orthogonal transform unit 104.
  • the inversely orthogonally transformed output (difference information restored locally) is supplied to the calculation unit 110.
  • the calculation unit 110 converts the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, locally restored difference information, into the intra prediction unit 114 or the motion parallax prediction / compensation unit via the prediction image selection unit 116.
  • the predicted images supplied from 115 are added to obtain a locally reconstructed image (hereinafter referred to as a reconstructed image).
  • the reconstructed image is supplied to the loop filter 111 or the decoded picture buffer 112.
  • the loop filter 111 includes a deblock filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the decoded image supplied from the calculation unit 110.
  • the loop filter 111 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image.
  • the loop filter 111 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
  • the loop filter 111 may perform arbitrary filter processing on the decoded image. Further, the loop filter 111 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 106 and encode it as necessary.
  • the loop filter 111 supplies a filter processing result (hereinafter referred to as a decoded image) to the decoded picture buffer 112.
  • the decoded picture buffer 112 stores the reconstructed image supplied from the calculation unit 110 and the decoded image supplied from the loop filter 111, respectively.
  • the decoded picture buffer 112 stores the view ID and POC of the image.
  • the decoded picture buffer 112 selects the stored reconstructed image (and the view ID and POC of the image) at a predetermined timing or based on an external request from the intra prediction unit 114 or the like. To the intra prediction unit 114. The decoded picture buffer 112 also stores the decoded image (and the view ID and POC of the image) stored at a predetermined timing or based on a request from the outside such as the motion parallax prediction / compensation unit 115. And supplied to the motion parallax prediction / compensation unit 115 via the selection unit 113.
  • the selection unit 113 indicates the supply destination of the image output from the decoded picture buffer 112. For example, in the case of intra prediction, the selection unit 113 reads an unfiltered image (reconstructed image) from the decoded picture buffer 112 and supplies the image as a peripheral pixel to the intra prediction unit 114.
  • the selection unit 113 reads out the filtered image (decoded image) from the decoded picture buffer 112, and supplies it as a reference image to the motion parallax prediction / compensation unit 115.
  • the intra prediction unit 114 When the intra prediction unit 114 acquires an image (peripheral image) of a peripheral region located around the processing target region from the decoded picture buffer 112, the intra prediction unit 114 basically uses a pixel value of the peripheral image to perform a prediction unit (PU ) As a processing unit, intra prediction (in-screen prediction) for generating a predicted image is performed.
  • the intra prediction unit 114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • the intra prediction unit 114 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the intra prediction unit 114 selects the optimal intra prediction mode, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
  • the intra prediction unit 114 appropriately supplies intra prediction information including information related to intra prediction, such as an optimal intra prediction mode, to the lossless encoding unit 106 to be encoded.
  • the motion parallax prediction / compensation unit 115 basically uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the decoded picture buffer 112 as a processing unit for motion prediction and parallax. Prediction (inter prediction) is performed, compensation processing is performed according to the detected motion parallax vector, and a predicted image (inter predicted image information) is generated.
  • the motion parallax prediction / compensation unit 115 performs such inter prediction (inter-screen prediction) in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion parallax prediction / compensation unit 115 generates prediction images in all candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode. When selecting the optimal inter prediction mode, the motion parallax prediction / compensation unit 115 supplies the prediction image generated in the optimal mode to the prediction image selection unit 116.
  • the motion parallax prediction / compensation unit 115 supplies inter prediction information including information related to inter prediction, such as an optimal inter prediction mode, to the lossless encoding unit 106 and performs encoding.
  • the predicted image selection unit 116 selects a supply source of a predicted image to be supplied to the calculation unit 103 or the calculation unit 110.
  • the prediction image selection unit 116 selects the intra prediction unit 114 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110.
  • the prediction image selection unit 116 selects the motion parallax prediction / compensation unit 115 as a supply source of the prediction image, and calculates the prediction image supplied from the motion parallax prediction / compensation unit 115. To the unit 103 and the arithmetic unit 110.
  • the decode picture buffer 112 stores only the image of the view to be processed (and the view ID and POC of the image), but the multi-viewpoint decode picture buffer 121 stores the image of each viewpoint (view) (and the image of the image).
  • the multi-viewpoint decoded picture buffer 121 acquires the decoded image (and the view ID and POC of the image) supplied to the decoded picture buffer 112, and together with the decoded picture buffer 112, the decoded image (and the view of the image).
  • the multi-viewpoint decoded picture buffer 121 acquires the decoded image (and the view ID and POC of the image) supplied to the decoded picture buffer 112, and together with the decoded picture buffer 112, the decoded image (and the view of the image).
  • the decoded picture buffer 112 deletes the decoded image, but the multi-viewpoint decoded picture buffer 121 holds it as it is. Then, in accordance with a request from the decoded picture buffer 112 or the like, the stored decoded image (and the view ID and POC of the image) are supplied to the decoded picture buffer 112 as a “decoded image of a view not to be processed”.
  • the decoded picture buffer 112 receives the “decoded image of the view not to be processed (and the view ID and POC of the image)” read from the multi-viewpoint decoded picture buffer 121 via the selection unit 113 and the motion parallax prediction / compensation unit. 115.
  • FIG. 12 is a block diagram illustrating a main configuration example of the motion parallax prediction / compensation unit in FIG. 11.
  • the motion parallax prediction / compensation unit 115 includes a motion parallax vector search unit 131, a predicted image generation unit 132, an encoded information accumulation buffer 133, and a selection unit 134.
  • the motion parallax prediction / compensation unit 115 includes a spatial correlation prediction vector generation unit 135, a temporal parallax correlation prediction vector generation unit 136, a selection unit 137, an encoding cost calculation unit 138, and a mode determination unit 139.
  • the motion disparity vector search unit 131 acquires a decoded image pixel value from the decoded picture buffer 112 and acquires an original image pixel value from the screen rearrangement buffer 102.
  • the motion disparity vector search unit 131 uses them to determine the reference image index of the current region to be processed, performs motion search in the time direction and the disparity direction, and generates a current motion vector and a current disparity vector.
  • the motion parallax vector in the current area is also referred to as a current motion parallax vector.
  • the motion disparity vector search unit 131 supplies the reference image index and the motion disparity vector to the predicted image generation unit 132 and the encoding cost calculation unit 138.
  • the predicted image generation unit 132 acquires a reference image index and a motion disparity vector from the motion disparity vector search unit 131 and also acquires a decoded image pixel value from the decoded picture buffer 112.
  • the predicted image generation unit 132 generates a predicted image of the current area using them.
  • the predicted image generation unit 132 supplies the predicted image pixel value to the encoding cost calculation unit 138.
  • the encoding information accumulation buffer 133 stores mode information indicating the mode selected as the optimum mode by the mode determination unit 139, and the reference image index and motion parallax vector of the mode.
  • the encoded information accumulation buffer 133 supplies the stored information to the selection unit 134 at a predetermined timing or according to a request from the outside.
  • the selection unit 134 supplies the mode information, the reference image index, and the motion disparity vector supplied from the encoding information accumulation buffer 133 to the spatial correlation prediction vector generation unit 135 or the temporal disparity correlation prediction vector generation unit 136.
  • the spatial correlation prediction vector generation unit 135 and the temporal parallax correlation prediction vector generation unit 136 generate a prediction value (prediction vector) of a motion vector (current motion vector) in the current region to be processed.
  • the spatial correlation prediction vector generation unit 135 generates a prediction vector (spatial correlation prediction vector) using spatial correlation. More specifically, the spatial correlation prediction vector generation unit 135 receives the current region of the same frame (current frame (also referred to as a frame of interest)) from the encoded information storage buffer 133 via the selection unit 134. Information related to motion information (mode information, reference image index, motion parallax vector, etc.) of a peripheral region (spatial peripheral region) located in the spatial periphery is acquired.
  • motion information mode information, reference image index, motion parallax vector, etc.
  • the spatial correlation prediction vector generation unit 135 performs a median operation using, for example, motion vectors (space peripheral motion vectors) of a plurality of spatial peripheral regions, and generates a spatial correlation prediction vector.
  • the spatial correlation prediction vector generation unit 135 supplies the generated spatial correlation prediction vector to the selection unit 137.
  • the temporal disparity correlation prediction vector generation unit 136 generates a prediction vector (temporal disparity correlation prediction vector (temporal correlation prediction vector or disparity correlation prediction vector)) using temporal correlation or disparity correlation. More specifically, the temporal disparity correlation prediction vector generation unit 136, for example, from the encoded information storage buffer 133 via the selection unit 134, the peripheral region (temporal peripheral region) located in the temporal vicinity of the current region. Get information about motion information.
  • the temporal peripheral region indicates a region at a position corresponding to the current region of a frame (picture) different from the current frame in the same view as the current region (current view (also referred to as a view of interest)) or a region in the vicinity thereof. .
  • the temporal disparity correlation prediction vector generation unit 136 receives information on motion information of a peripheral region (parallax peripheral region) located in the disparity periphery of the current region from the encoded information storage buffer 133 via the selection unit 134.
  • the parallax peripheral region refers to a region at a position corresponding to the current region of a frame (picture) at the same time as the current frame in a view different from the view of the current region (current view) or a region in the vicinity thereof.
  • the temporal parallax correlation prediction vector generation unit 136 performs, for example, median calculation using motion vectors (temporal peripheral motion vectors) of a plurality of temporal peripheral regions, and generates a temporal correlation prediction vector.
  • the temporal parallax correlation prediction vector generation unit 136 performs a median calculation using, for example, motion vectors (parallax peripheral motion vectors) of a plurality of parallax peripheral regions, and generates a parallax correlation prediction vector.
  • the temporal parallax correlation prediction vector generation unit 136 supplies the temporal parallax correlation prediction vector generated in this way to the selection unit 137.
  • the spatial correlation prediction vector generation unit 135 and the temporal parallax correlation prediction vector generation unit 136 each generate a prediction vector for each inter prediction mode.
  • the selection unit 137 supplies the spatial correlation prediction vector supplied from the spatial correlation prediction vector generation unit 135 and the temporal parallax correlation prediction vector supplied from the temporal parallax correlation prediction vector generation unit 136 to the encoding cost calculation unit 138. To do.
  • the encoding cost calculation unit 138 uses the predicted image pixel value supplied from the predicted image generation unit 132 and the original image pixel value supplied from the screen rearrangement buffer 102 to calculate a difference value between the predicted image and the original image ( Difference image) is calculated for each inter prediction mode. Also, the encoding cost calculation unit 138 calculates a cost function value (also referred to as an encoding cost value) for each inter prediction mode using the difference image pixel value.
  • the coding cost calculation unit 138 is closer to the motion disparity vector of the current region supplied from the motion disparity vector search unit 131 out of the spatial correlation prediction vector and the temporal disparity correlation prediction vector supplied from the selection unit 137. Is selected as the prediction vector of the current region. Also, the coding cost calculation unit 138 generates a differential motion disparity vector that is a difference value between the prediction vector and the motion disparity vector of the current region. The encoding cost calculation unit 138 generates a differential motion disparity vector for each inter prediction mode.
  • the coding cost calculation unit 138 performs mode determination on the coding cost value, the predicted image pixel value, the difference motion disparity information including the difference motion disparity vector, and the prediction information including the prediction vector and the reference image index of each inter prediction mode. To the unit 139.
  • the mode determination unit 139 selects the inter prediction mode that minimizes the encoding cost value as the optimum mode.
  • the mode determination unit 139 supplies the predicted image pixel value of the inter prediction mode selected as the optimal mode to the predicted image selection unit 116.
  • the mode determination unit 139 When inter prediction is selected by the prediction image selection unit 116, the mode determination unit 139 includes mode information that is information related to the inter prediction mode selected as the optimal mode, and difference motion disparity information and prediction of the inter prediction mode. Information is supplied to the lossless encoding unit 106 and encoded. These pieces of information are encoded and transmitted to the decoding side.
  • the mode determination unit 139 supplies mode information, differential motion disparity information, and prediction information of the inter prediction mode selected as the optimum mode to the encoded information accumulation buffer 133 and stores them. These pieces of information are used as peripheral area information in processing for other areas processed after the current area.
  • FIG. 13 is a block diagram illustrating a main configuration example of the temporal parallax correlation predicted vector generation unit 136.
  • the temporal parallax correlation prediction vector generation unit 136 includes a current region processing unit (attention region processing unit) 151, a correlation region processing unit 152, an LI prediction processing unit 153, an L0 prediction processing unit 154, and method 1
  • a processing unit 155, a method 2 processing unit 156, a method 3 processing unit 157, a method 4 processing unit 158, and a prediction vector generation unit 159 are included.
  • the current area processing unit 151 performs processing for acquiring information related to the current area.
  • the current region processing unit 151 supplies information on the acquired current region to each of the correlation region processing unit 152 to the L0 prediction processing unit 154.
  • the correlation area processing unit 152 performs processing for acquiring information related to the correlation area.
  • the correlation area is an area that is referred to in order to use the correlation with the current area.
  • the time correlation region is a region that is referred to in order to use the time correlation with the current region, and is a time peripheral region that has a motion vector used to generate a time correlation prediction vector.
  • the parallax correlation area is an area that is referred to in order to use the parallax correlation with the current area, and is a parallax peripheral area having a motion vector used for generating the parallax correlation prediction vector.
  • the correlation area includes these areas.
  • the correlation region processing unit 152 supplies information on the correlation region to the L1 prediction processing unit 153 and the L0 prediction processing unit 154.
  • the L1 prediction processing unit 153 performs processing related to prediction in the L1 direction.
  • the L1 prediction processing unit 153 acquires necessary information from the screen rearrangement buffer 102 and the decoded picture buffer 112. Further, the L1 prediction processing unit 153 acquires information supplied from the current region processing unit 151 and the correlation region processing unit 152.
  • the L1 prediction processing unit 153 performs processing related to prediction in the L1 direction using the information.
  • the L1 prediction processing unit selects one of the methods, and provides information to the processing unit corresponding to the selected method among the method 1 processing unit 155 to the method 4 processing unit 158.
  • the L0 prediction processing unit 154 performs processing related to prediction in the L0 direction in the same manner as the L1 prediction processing unit 153.
  • Method 1 is a case where a frame (reference image) at the same time as the current frame of a view different from the current view assigned to the reference image index 1 in list 1 is a correlation image, and the vector of the correlation region is a disparity vector.
  • the disparity vector (reference disparity vector) is used as a prediction vector.
  • the method 1 processing unit 155 performs processing for generating a prediction vector according to such a method.
  • the method 1 processing unit 155 supplies various parameters obtained as a result of the processing to the prediction vector generation unit 159.
  • a frame (reference image) at a time different from the current frame in the same view as the current view, which is assigned to the reference image index 0 in List 1, is used as a correlation image, and a vector of the correlation region is a disparity vector.
  • the disparity vector reference disparity vector
  • the method 2 processing unit 156 performs processing for generating a prediction vector according to such a method.
  • the method 2 processing unit 156 supplies various parameters obtained as a result of the processing to the prediction vector generation unit 159.
  • Method 3 a frame (reference image) of the same view as the current view assigned to the reference image index 1 in list 1 is used as a correlation image, and a vector of the correlation region is a motion vector.
  • the motion vector reference parallax vector
  • the method 3 processing unit 157 performs processing for generating a prediction vector according to such a method.
  • the method 3 processing unit 157 supplies various parameters obtained as a result of the processing to the prediction vector generation unit 159.
  • Method 4 a frame (reference image) at a time different from the current frame in the same view as the current view, which is assigned to the reference image index 0 in List 1, is used as a correlation image, and a vector of the correlation region is a motion vector.
  • the motion vector reference parallax vector
  • the method 4 processing unit 158 performs processing for generating a prediction vector according to such a method.
  • the method 4 processing unit 158 supplies various parameters obtained as a result of the processing to the prediction vector generation unit 159.
  • the prediction vector generation unit 159 uses the information supplied from the method 1 processing unit 155 to the method 4 processing unit 158, the view information of the reference image acquired from the decoded picture buffer 112, the time information, and the like to perform temporal disparity correlation prediction. Generate a vector. At that time, the prediction vector generation unit 159 performs scaling processing using information supplied from the method 1 processing unit 155 to the method 4 processing unit 158. At that time, the prediction vector generation unit 159 performs scaling in the temporal direction for the motion correlation prediction vector, and performs scaling in the parallax direction for the parallax correlation prediction vector. The prediction vector generation unit 159 supplies the generated temporal parallax correlation prediction vector to the encoding cost calculation unit 138 via the selection unit 137.
  • the temporal parallax correlation prediction vector generation unit 136 can generate not only a motion correlation prediction vector but also a parallax correlation prediction vector. Therefore, the motion parallax prediction / compensation unit 115 can generate a prediction vector with high prediction accuracy even when the current region vector is a parallax vector. Thereby, the image coding apparatus 100 can suppress a reduction in coding efficiency.
  • FIG. 14 shows an example when each method is selected.
  • the correlation region is a region in which the positional relationship with the reference image (whether the reference image exists in the time direction or the parallax direction) is the same as in the current region (attention region). Selected as. That is, the positional relationship between the current region and the reference image of the current region is equal to the positional relationship between the correlation region and the reference image of the correlation region. Then, the method is determined by the positional relationship between the current region and the reference image of the current region and the positional relationship between the current region and the correlation region.
  • the first to fourth lines from the bottom show examples of the positional relationship of each image
  • a to E show examples of view ID or POC values in each line. In other words, what is important here is not the number of values, but whether or not other images match the view ID and POC.
  • the POC matches in both the current area and the correlation area, although the reference image and the view ID are different. That is, the vectors of the current area and the correlation area are disparity vectors. Also, the view IDs are different between the current area and the correlation area, and the POCs match. That is, the correlation area is an image of a different view of the frame at the same time as the current area. Therefore, method 1 is selected as shown in the table of FIG. Method 1 is effective in an area where the amount of change in parallax is constant between viewpoints.
  • the POC matches. That is, the vectors of the current area and the correlation area are disparity vectors. Also, the view IDs match and the POCs differ between the current area and the correlation area. That is, the correlation area is an image of a frame at a different time in the same view as the current area. Therefore, method 2 is selected as shown in the table of FIG. Method 2 is effective when the change in the amount of motion over time is small.
  • both the reference image and the view ID are the same and the POC is different in both the current region and the correlation region. That is, the vectors of the current area and the correlation area are motion vectors. Also, the view IDs are different between the current area and the correlation area, and the POCs match. That is, the correlation area is an image of a different view of the frame at the same time as the current area. Therefore, method 3 is selected as shown in the table of FIG. Method 3 is effective when the change in the amount of parallax between viewpoints is small.
  • the reference image and view ID of each of the current region and the correlation region are the same, and the POC is different. That is, the vectors of the current area and the correlation area are motion vectors. Also, the view IDs match and the POCs differ between the current area and the correlation area. That is, the correlation area is an image of a frame at a different time in the same view as the current area. Therefore, method 4 is selected as shown in the table of FIG.
  • the vector of the current region (Coding vector) and the correlation region (Co-located block) of the frame of the same view at different times (Co-located block) If the characteristics of the vector (Co-located vector) match, the collocated block is made available. In other words, if the characteristics of the encoded vector and the collocated vector do not match in the dependent view, the collocated block is set as Not Available. Of course, the same may be applied to the base view.
  • Whether the characteristics of the encoded vector and the collocated vector coincide with each other can be determined by, for example, comparing each POC of the current region and the collocated block with the POC of each reference image, as shown in FIG. Can be determined.
  • the L1 prediction processing unit 153 and the L0 prediction processing unit 154 in FIG. 13 make such a determination.
  • the L1 prediction processing unit 153 and the L0 prediction processing unit 154 match the POC (CurrPOC) of the current region and the POC (CurrRefPOC) of the reference image of the current region, and the POC (ColPOC) of the collocated block.
  • both the encoded vector and the collocated block are disparity vectors (inter- It is determined that it is a view vector (B in FIG. 16).
  • the L1 prediction processing unit 153 and the L0 prediction processing unit 154 for example, based on the determination result, as shown in the lower table of FIG. 15, the availability of the collocated vector (Co-located vector). Set up.
  • the collocated vector is available. (A in FIG. 16 or B in FIG. 16).
  • the collocated vector is set to Not Available.
  • FIG. 17 shows an example of the syntax of the sequence parameter set in this case.
  • the total number of views, the ID for distinguishing the views, the number of disparity predictions in the list L0, and the disparity prediction in the list L0 as shown in the 10th row to the 3rd row from the bottom.
  • Information such as the ID of the view to be referred to, the number of parallax predictions in the list L1, and the ID of the view to be referred to in the disparity prediction in the list L1 is included in the sequence parameter set.
  • These pieces of information are information necessary for a multi-viewpoint image. In other words, the present technology can be applied without adding a new syntax to the sequence parameter set.
  • FIG. 18 shows an example of the syntax of the slice header in this case.
  • an ID for distinguishing the view is included in the slice header as in the eighth line from the top. This information is necessary for a multi-viewpoint image. In other words, the present technology can be applied without adding a new syntax to the slice header.
  • FIG. 19 shows an example of the syntax of the prediction unit in this case.
  • the present technology can be applied to a prediction unit without adding a new syntax.
  • the number of correlation area candidates will increase compared to the conventional case, so it is necessary to expand the type of syntax or change the processing content in the merge mode and prediction vector ID. is there.
  • step S101 the A / D converter 101 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • step S103 the intra prediction unit 114 performs an intra prediction process.
  • step S104 the motion parallax prediction / compensation unit 115 performs an inter motion prediction process.
  • step S105 the predicted image selection unit 116 selects one of a predicted image generated by intra prediction and a predicted image generated by inter prediction.
  • step S106 the calculation unit 103 calculates a difference between the image rearranged by the process of step S102 and the predicted image selected by the process of step S105 (generates a difference image).
  • the generated difference image has a reduced data amount compared to the original image. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S107 the orthogonal transform unit 104 orthogonally transforms the difference image generated by the process in step S106. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and orthogonal transformation coefficients are output.
  • step S108 the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process in step S107.
  • the difference image quantized by the process in step S108 is locally decoded as follows. That is, in step S109, the inverse quantization unit 108 inversely quantizes the quantized orthogonal transform coefficient (also referred to as a quantization coefficient) generated by the process in step S108 with characteristics corresponding to the characteristics of the quantization unit 105. To do. In step S ⁇ b> 110, the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S ⁇ b> 109 with characteristics corresponding to the characteristics of the orthogonal transform unit 104. Thereby, the difference image is restored.
  • the quantized orthogonal transform coefficient also referred to as a quantization coefficient
  • step S111 the calculation unit 110 adds the predicted image selected in step S105 to the difference image generated in step S110, and generates a locally decoded image (reconstructed image).
  • step S112 the loop filter 111 appropriately performs a loop filter process including a deblocking filter process and an adaptive loop filter process on the reconstructed image obtained by the process of step S111 to generate a decoded image.
  • step S113 the decoded picture buffer 112 and the multiview decoded picture buffer 121 store the decoded image generated by the process of step S112 or the reconstructed image generated by the process of step S111.
  • step S114 the lossless encoding unit 106 encodes the orthogonal transform coefficient quantized by the process in step S108. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image. Note that the lossless encoding unit 106 encodes information about prediction, information about quantization, information about filter processing, and the like, and adds the information to the bitstream.
  • step S115 the accumulation buffer 107 accumulates the bit stream obtained by the process in step S114.
  • the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S116 the quantization unit 105 performs the quantization operation so that overflow or underflow does not occur based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process in step S115. Control the rate.
  • step S116 When the process of step S116 is finished, the encoding process is finished.
  • step S131 the motion disparity vector search unit 131 performs a motion search for the inter prediction mode to be processed, and generates a motion disparity vector (motion vector or disparity vector) of the current region to be processed.
  • step S132 the predicted image generation unit 132 generates a predicted image by performing compensation processing using the motion parallax vector generated in step S131.
  • step S133 the encoding cost calculation unit 138 generates a difference image between the predicted image generated in step S132 and the original image (input image).
  • step S134 the encoding cost calculation unit 138 performs merge mode processing using the spatial correlation prediction vector generation unit 135, the temporal parallax correlation prediction vector generation unit 136, and the like.
  • step S135 the encoding cost calculation unit 138 compares the motion parallax vector of the current region generated in step S131 with the prediction vector of the current region generated by the process of step S134, and the merge mode is set in the current region. Determine whether it applies.
  • the encoding cost calculation unit 138 advances the processing to step S136, and uses the spatial correlation prediction vector generation unit 135, the temporal parallax correlation prediction vector generation unit 136, and the like. The parallax motion vector prediction process is performed.
  • the encoding cost calculation unit 138 advances the process to step S137.
  • step S135 If it is determined in step S135 that the motion parallax vector of the current region matches the prediction vector and the merge mode is applied in the current region, the coding cost calculation unit 138 omits the process of step S136, Proceed to S137.
  • step S137 the coding cost calculation unit 138 determines whether or not the above processing has been performed in all inter prediction modes. If it is determined that there is an unprocessed inter prediction mode, the processing proceeds to step S131. The control is performed so that the subsequent processing is repeated for the unprocessed inter prediction mode. That is, each process of step S131 to step S137 is executed for each inter prediction mode.
  • step S137 If it is determined in step S137 that the process has been performed for all inter prediction modes, the encoding cost calculation unit 138 advances the process to step S138.
  • step S138 the coding cost calculation unit 138 calculates a cost function value for each inter prediction mode.
  • step S139 the mode determination unit 139 determines the inter prediction mode having the smallest cost function value (encoding cost value) calculated in step S138 as the optimum mode (optimum inter prediction mode).
  • step S140 the predicted image generation unit 132 generates a predicted image in the optimal inter prediction mode. This predicted image is supplied to the predicted image selection unit 116.
  • step S141 when the inter prediction is selected in step S105 of FIG. 20, the encoded information accumulation buffer 133 stores the mode information and motion information (motion disparity vector, reference image index, etc.) of the optimal inter prediction mode.
  • motion information motion disparity vector, reference image index, etc.
  • a zero vector is stored as a motion disparity vector. Note that these pieces of information are also supplied to the lossless encoding unit 106, encoded, and transmitted to the decoding side when inter prediction is selected in step S105 of FIG.
  • step S141 the encoded information storage buffer 133 ends the inter motion prediction process and returns the process to FIG.
  • step S161 the spatial correlation prediction vector generation unit 135 performs a spatial correlation prediction process for generating a spatial correlation prediction vector using the correlation with the space surrounding area.
  • step S162 the temporal parallax correlation predicted vector generation unit 136 performs a temporal correlation prediction process for generating a temporal parallax correlation predicted vector using the correlation with the temporal peripheral area and the parallax peripheral area.
  • step S163 the encoding cost calculation unit 138 deletes overlapping vectors between the spatial correlation prediction vector generated in step S161 and the temporal disparity prediction vector generated in step S162.
  • step S164 the encoding cost calculation unit 138 determines whether a vector exists. If it is determined that there is at least one spatial correlation prediction vector or temporal disparity correlation prediction vector, the encoding cost calculation unit 138 advances the process to step S165.
  • step S165 the encoding cost calculation unit 138 determines whether or not there are a plurality of vectors. If it is determined that there are a plurality of items, the encoding cost calculation unit 138 advances the process to step S166 to acquire a merge index. When it is determined that there are not a plurality, the encoding cost calculation unit 138 omits the process of step S166.
  • the encoding cost calculation unit 138 acquires the matching vector as a prediction vector in step S167, and in step S168, Get reference image index.
  • step S168 the encoding cost calculation unit 138 ends the merge mode process and returns the process to FIG.
  • step S164 If it is determined in step S164 that there is no spatial correlation prediction vector or temporal disparity correlation prediction vector, the coding cost calculation unit 138 advances the process to step S169.
  • step S169 the encoding cost calculation unit 138 gives an initial value (for example, a zero vector) to the prediction vector.
  • step S170 the encoding cost calculation unit 138 gives an initial value (for example, 0) to the reference image index.
  • step S170 the encoding cost calculation unit 138 ends the merge mode process and returns the process to FIG.
  • step S191 the spatial correlation prediction vector generation unit 135 performs a spatial correlation prediction process to generate a spatial correlation prediction vector.
  • step S192 the temporal parallax correlation prediction vector generation unit 136 performs a temporal parallax correlation prediction process to generate a temporal parallax correlation prediction vector.
  • step S193 the coding cost calculation unit 138 deletes a vector that overlaps the spatial correlation prediction vector generated in step S191 and the temporal disparity prediction vector generated in step S192.
  • the encoding cost calculation unit 138 selects a vector closest to the motion vector in the current region among the remaining vectors, creates a prediction vector index indicating the vector in step S194, and uses the vector as a prediction vector in step S195. And When the process of step S195 ends, the encoding cost calculation unit 138 ends the parallax motion vector prediction process and returns the process to FIG.
  • the current area processing unit 151 acquires the view ID and POC of the current area in step S211 of FIG. In step S212, the current area processing unit 151 determines a reference index of the current area. In step S213, the current area processing unit 151 acquires the view ID and POC of the reference image.
  • step S214 the correlation area processing unit 152 selects correlation images in ascending order of the reference image index of the list L1.
  • the correlation area processing unit 152 determines whether or not all the reference image indexes have been searched. If it is determined that all the reference image indexes have been referenced, the correlation region processing unit 152 ends the temporal disparity correlation prediction process and performs the processing.
  • step S215 If it is determined in step S215 that there is an unprocessed reference image index, the correlation area processing unit 152 advances the process to step S216.
  • step S216 the correlation area processing unit 152 determines a correlation area and advances the process to FIG.
  • the correlation region processing unit 152 determines whether the correlation region is an intra-predicted region or a region that does not refer to another region. When it is determined that the correlation area is an intra-predicted area or an area that does not refer to other areas, the correlation area processing unit 152 advances the process to FIG.
  • step S221 of FIG. 25 If it is determined in step S221 of FIG. 25 that the correlation region is an inter-predicted region and a region that refers to another region, the correlation region processing unit 152 advances the process to step S222. .
  • step S222 the L1 prediction processing unit 153 acquires the view ID and POC of the correlation area.
  • step S223 the L1 prediction processing unit 153 acquires the view ID and POC of the reference image for the L1 prediction in the correlation region.
  • step S224 the L1 prediction processing unit 153 determines whether or not the view IDs of the current area and the correlation area match. If they match, the correlation region is a collocated block. If it is determined that the view IDs of the current region and the correlation region match, the L1 prediction processing unit 153 proceeds to step S225, performs method 4-2 processing, and generates a prediction vector using method 4 or method 2. To. When the process of step S225 ends, the process proceeds to FIG.
  • step S224 in FIG. 25 If it is determined in step S224 in FIG. 25 that the view IDs of the current region and the correlation region do not match, the L1 prediction processing unit 153 advances the processing to step S226.
  • step S226 the L1 prediction processing unit 153 determines whether or not the POCs of the current region and the correlation region match. When it is determined that the POCs of the current region and the correlation region do not match, the L1 prediction processing unit 153 advances the processing to FIG.
  • step S226 of FIG. 25 If it is determined in step S226 of FIG. 25 that the POCs of the current region and the correlation region match, the L1 prediction processing unit 153 advances the processing to step S227.
  • step S227 the L1 prediction processing unit 153 determines whether or not the POC of the reference image in the current area matches the reference image in the correlation area. If it is determined that the POC of the reference image in the current region and the reference image in the correlation region match, the L1 prediction processing unit 153 proceeds to step S228, performs method 1 processing, and generates a prediction vector by method 1. To. When the process of step S228 ends, the L1 prediction processing unit 153 advances the process to FIG.
  • step S227 in FIG. 25 If it is determined in step S227 in FIG. 25 that the POCs of the reference image in the current area and the reference image in the correlation area do not match, the L1 prediction processing unit 153 advances the process to step S229 and performs the method 3 process.
  • the prediction vector is generated by the method 3.
  • the L1 prediction processing unit 153 advances the process to FIG.
  • the L0 prediction processing unit 154 performs the same processing as the L1 prediction of FIG. 25 for the L0 prediction of the correlation region. That is, the L0 prediction processing unit 154 performs each process from step S231 to step S238 in the same manner as each process from step S222 to step S229 in FIG.
  • the reference image of the correlation region is a reference image of L0 prediction.
  • the L0 prediction processing unit 154 performs the processing in FIG. Proceed to
  • step S241 the predicted vector generation unit 159 determines whether or not there is at least one predicted vector candidate. When it is determined that no prediction vector candidate exists, the prediction vector generation unit 159 returns the process to step S214 in FIG.
  • step S241 in FIG. 27 If it is determined in step S241 in FIG. 27 that there is at least one prediction vector candidate, the prediction vector generation unit 159 advances the processing to step S242. In step S242, the prediction vector generation unit 159 determines whether only the L1 jump flag is 1 or the values of the L0 / L1 jump flag are equal and the L1 reference is present.
  • the predictive vector generation unit 159 When it is determined that only the L1 interlace flag is 1, or when it is determined that the L0 / L1 interlace flag value is equal and there is an L1 reference, the predictive vector generation unit 159 performs processing. The process proceeds to step S243.
  • step S243 the prediction vector generation unit 159 obtains a vector referring to L1.
  • step S244 the prediction vector generation unit 159 acquires a reference image index with L1 reference, and the process proceeds to step S247.
  • step S242 it is determined that the L1 jump flag is not 1, or the L0 jump flag is also 0, and the L0 / L1 jump flag values are not equal or there is no reference to L1. If it is determined, the prediction vector generation unit 159 proceeds with the process to step S245.
  • step S245 the prediction vector generation unit 159 obtains a L0 reference vector.
  • step S246 the prediction vector generation unit 159 acquires a reference image index with reference to L0, and the process proceeds to step S247.
  • step S247 the prediction vector generation unit 159 sets the acquired L1 reference vector or L0 reference vector as the prediction vector. At that time, the prediction vector generation unit 159 performs vector scaling using the distance from the reference image in the current region or the correlation region, and sets the scaling result as the prediction vector.
  • step S247 the prediction vector generation unit 159 returns the process to FIG. 24, ends the temporal disparity correlation prediction process, and returns the process to FIG. 22 or FIG.
  • the method 1 processing unit 155 determines in step S261 whether or not the POC of the reference image in the current area matches the reference image in the current area. When it is determined that the POCs of the current region and the reference image in the current region do not match, the method 1 processing unit 155 ends the method 1 processing and returns the processing to FIG. 25 or 26.
  • step S261 If it is determined in step S261 that the POCs of the current region and the reference image in the current region match, the method 1 processing unit 155 advances the processing to step S262.
  • step S262 the method 1 processing unit 155 determines whether or not the POC of the reference image in the correlation area matches the correlation area. When it is determined that the POCs of the correlation image and the reference image of the correlation region do not match, the method 1 processing unit 155 ends the method 1 processing and returns the processing to FIG. 25 or 26.
  • step S262 If it is determined in step S262 that the POCs of the correlation area and the reference image of the correlation area match, the method 1 processing unit 155 advances the process to step S263.
  • step S263 the method 1 processing unit 155 calculates the inter-viewpoint distance 1 between the current region and the reference image of the current region.
  • step S264 the method 1 processing unit 155 calculates the inter-viewpoint distance 2 between the correlation area and the reference image of the correlation area.
  • step S265 the method 1 processing unit 155 determines the interlace flag of the reference image, and returns the process to FIG. 25 or FIG. These parameters (inter-viewpoint distance 1, inter-viewpoint distance 2, and interlace flag) are used for the processing of FIG.
  • the method 3 processing unit 157 determines whether or not the view IDs of the current area and the reference image of the current area match in step S271. When it is determined that the view IDs of the current region and the reference image of the current region do not match, the method 3 processing unit 157 ends the method 3 processing and returns the processing to FIG. 25 or 26.
  • step S271 If it is determined in step S271 that the view IDs of the current region and the reference image in the current region match, the method 3 processing unit 157 advances the processing to step S272.
  • step S272 the method 3 processing unit 157 determines whether or not the view IDs of the correlation area and the reference image of the correlation area match. When it is determined that the view IDs of the correlation image and the reference image in the correlation region do not match, the method 3 processing unit 157 ends the method 3 processing and returns the processing to FIG. 25 or 26.
  • step S272 If it is determined in step S272 that the view IDs of the correlation area and the reference image of the correlation area match, the method 3 processing unit 157 advances the process to step S273.
  • step S273 the method 3 processing unit 157 calculates the inter-viewpoint distance 1 between the current region and the reference image of the current region.
  • step S274 the method 3 processing unit 157 calculates the inter-viewpoint distance 2 between the correlation area and the reference image of the correlation area.
  • step S275 the method 3 processing unit 157 determines the interlace flag of the reference image and returns the process to FIG. 25 or FIG. These parameters (inter-viewpoint distance 1, inter-viewpoint distance 2, and interlace flag) are used for the processing of FIG.
  • the L1 prediction processing unit 153 or the L0 prediction processing unit 154 determines whether or not the view IDs of the reference images in the current region and the current region match in step S281. If both match, the encoded vector is a motion vector. If it is determined that the view IDs of the reference images in the current area and the current area match, the process proceeds to step S282.
  • step S282 the L1 prediction processing unit 153 or the L0 prediction processing unit 154 determines whether or not the correlation ID (collocated block) and the view ID of the reference image in the correlation region match. If they do not match, the collocated vector is a disparity vector. When it is determined that the view IDs of the correlation image and the reference image of the correlation region do not match, the L1 prediction processing unit 153 or the L0 prediction processing unit 154 ends the method 4-2 processing, and the processing is as shown in FIG. 25 or FIG. return.
  • the encoded vector is a motion vector and the collocated vector is a disparity vector, the characteristics of the encoded vector do not match the characteristics of the collocated vector. Therefore, the collocated block is set to be not available, and the method 4-2 processing is ended.
  • Step S282 when it is determined that the view IDs of the correlation area and the reference image of the correlation area match, the L1 prediction processing unit 153 or the L0 prediction processing unit 154 advances the processing to Step S283. If they match, the collocated vector is a motion vector. That is, in this case, both the encoded vector and the collocated vector are motion vectors, and the characteristics of both vectors match. Therefore, in this case, the collocated vector is set to be available.
  • step S283 the method 4 processing unit 158 calculates the inter-viewpoint distance 1 between the current region and the reference image of the current region.
  • step S284 the method 4 processing unit 158 calculates the inter-viewpoint distance 2 between the correlation area and the reference image of the correlation area.
  • step S285 the method 4 processing unit 158 determines the interlace flag of the reference image and returns the process to FIG. 25 or FIG. These parameters (inter-viewpoint distance 1, inter-viewpoint distance 2, and interlace flag) are used for the processing of FIG.
  • step S281 If it is determined in step S281 that the view IDs of the current region and the reference image of the current region do not match, the L1 prediction processing unit 153 or the L0 prediction processing unit 154 advances the processing to step S286.
  • step S286 the prediction processing unit 153 or the L0 prediction processing unit 154 determines whether or not the POC of the reference image in the current area matches the reference image in the current area. If it is determined that the POCs of the current region and the reference image of the current region do not match, the prediction processing unit 153 or the L0 prediction processing unit 154 ends the method 4-2 processing, and returns the processing to FIG. 25 or FIG.
  • step S286 If it is determined in step S286 that the POCs of the current region and the reference image in the current region match, the prediction processing unit 153 or the L0 prediction processing unit 154 advances the processing to step S287. If they match, the encoded vector is a disparity vector.
  • step S287 the prediction processing unit 153 or the L0 prediction processing unit 154 determines whether or not the POC of the reference image in the correlation area matches the correlation area. If they do not match, the collocated vector is a motion vector. When it is determined that the POCs of the correlation image and the reference image of the correlation region do not match, the prediction processing unit 153 or the L0 prediction processing unit 154 ends the method 4-2 and returns the processing to FIG. 25 or FIG.
  • the encoded vector is a disparity vector and the collocated vector is a motion vector, the characteristics of the encoded vector and the characteristics of the collocated vector do not match. Therefore, the collocated block is set to be not available, and the method 4-2 processing is ended.
  • Step S287 when it is determined that the POC of the correlation area and the reference image of the correlation area match, the L1 prediction processing unit 153 or the L0 prediction processing unit 154 returns the process to Step S283. If they match, the collocated vector is a disparity vector. That is, in this case, both the encoded vector and the collocated vector are disparity vectors, and the characteristics of both vectors match. Therefore, in this case, the collocated vector is set to be available.
  • the method 2 processing unit 156 performs the processing from step S283 to step S285 similarly to the case where the method 4 processing unit 158 executes.
  • the method 2 processing unit 156 ends the method 4-2 processing, and returns the processing to FIG. 25 or FIG.
  • the temporal disparity correlation prediction vector generation unit 136 can generate not only a motion correlation prediction vector but also a disparity correlation prediction vector. Therefore, the motion parallax prediction / compensation unit 115 can generate a prediction vector with high prediction accuracy even when the current region vector is a parallax vector. Thereby, the image coding apparatus 100 can suppress a reduction in coding efficiency.
  • FIG. 31 is a block diagram illustrating a main configuration example of an image decoding device which is an image processing device.
  • An image decoding apparatus 300 shown in FIG. 31 is an apparatus corresponding to the image encoding apparatus 100 of FIG. That is, the image decoding apparatus 300 decodes encoded data (bitstream) generated by encoding the multi-viewpoint image by the image encoding apparatus 100 using a decoding method corresponding to the encoding method of the image encoding apparatus 100, A multi-view decoded image is obtained.
  • the image decoding apparatus 300 includes an accumulation buffer 301, a lossless decoding unit 302, an inverse quantization unit 303, an inverse orthogonal transform unit 304, a calculation unit 305, a loop filter 306, a screen rearrangement buffer 307, and A D / A converter 308 is included.
  • the image decoding device 300 includes a decoded picture buffer 309, a selection unit 310, an intra prediction unit 311, a motion parallax compensation unit 312, and a selection unit 313.
  • the image decoding device 300 has a multi-viewpoint decoded picture buffer 321.
  • the accumulation buffer 301 accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 302 at a predetermined timing.
  • the lossless decoding unit 302 decodes the information supplied from the accumulation buffer 301 and encoded by the lossless encoding unit 106 in FIG. 11 using a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 302 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 303.
  • the lossless decoding unit 302 refers to information on the optimal prediction mode obtained by decoding the encoded data, and determines whether the intra prediction mode or the inter prediction mode is selected as the optimal prediction mode. .
  • the lossless decoding unit 302 supplies information on the optimal prediction mode to the intra prediction unit 311 or the motion parallax compensation unit 312 based on the determination result. That is, for example, when the intra prediction mode is selected as the optimal prediction mode in the image encoding device 100, intra prediction information that is information related to the optimal prediction mode is supplied to the intra prediction unit 311. For example, when the inter prediction mode is selected as the optimal prediction mode in the image encoding device 100, inter prediction information that is information related to the optimal prediction mode is supplied to the motion parallax compensation unit 312.
  • the inverse quantization unit 303 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 302 using a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • Data is supplied to the inverse orthogonal transform unit 304.
  • the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 303 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG.
  • the inverse orthogonal transform unit 304 obtains a difference image corresponding to the difference image before being orthogonally transformed in the image encoding device 100 by the inverse orthogonal transform process.
  • the difference image obtained by the inverse orthogonal transform is supplied to the calculation unit 305.
  • a predicted image is supplied to the calculation unit 305 from the intra prediction unit 311 or the motion parallax compensation unit 312 via the selection unit 313.
  • the calculation unit 305 adds the difference image and the prediction image, and obtains a reconstructed image corresponding to the image before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100.
  • the calculation unit 305 supplies the reconstructed image to the loop filter 306.
  • the loop filter 306 appropriately performs loop filter processing including deblock filter processing and adaptive loop filter processing on the supplied reconstructed image to generate a decoded image.
  • the loop filter 306 removes block distortion by performing deblocking filter processing on the reconstructed image.
  • the loop filter 306 improves the image quality by performing loop filter processing using the Wiener filter on the deblock filter processing result (reconstructed image from which block distortion has been removed). I do.
  • the type of filter processing performed by the loop filter 306 is arbitrary, and filter processing other than that described above may be performed. Further, the loop filter 306 may perform the filtering process using the filter coefficient supplied from the image encoding device 100 of FIG.
  • the loop filter 306 supplies the decoded image as the filter processing result to the screen rearrangement buffer 307 and the decoded picture buffer 309. Note that the filtering process by the loop filter 306 can be omitted. That is, the output of the arithmetic unit 305 can be stored in the decoded picture buffer 309 without being subjected to filter processing.
  • the intra prediction unit 311 uses pixel values of pixels included in this image as pixel values of peripheral pixels.
  • the screen rearrangement buffer 307 rearranges the supplied decoded images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 11 is rearranged in the original display order.
  • the D / A conversion unit 308 D / A converts the decoded image supplied from the screen rearrangement buffer 307, outputs it to a display (not shown), and displays it.
  • the decoded picture buffer 309 stores the supplied reconstructed image (and the view ID and POC of the image) and the decoded image (and the view ID and POC of the image). In addition, the decoded picture buffer 309 stores the reconstructed image (and the view ID and the image ID) stored at a predetermined timing or based on an external request such as the intra prediction unit 311 or the motion parallax compensation unit 312. POC) and the decoded image (and the view ID and POC of the image) are supplied to the intra prediction unit 311 and the motion parallax compensation unit 312 via the selection unit 310.
  • the intra prediction unit 311 performs basically the same processing as the intra prediction unit 114 in FIG. However, the intra prediction unit 311 performs intra prediction only on a region where a prediction image is generated by intra prediction at the time of encoding.
  • the motion parallax compensation unit 312 performs motion parallax compensation based on the inter prediction information supplied from the lossless decoding unit 302, and generates a predicted image. Note that the motion parallax compensation unit 312 performs motion parallax compensation only on the region on which inter prediction has been performed based on the inter prediction information supplied from the lossless decoding unit 302.
  • the motion parallax compensation unit 312 supplies the generated predicted image to the calculation unit 305 via the selection unit 313 for each region of the prediction processing unit.
  • the selection unit 313 supplies the prediction image supplied from the intra prediction unit 311 or the prediction image supplied from the motion parallax compensation unit 312 to the calculation unit 305.
  • the decode picture buffer 309 stores only the image of the view to be processed (and the view ID and POC of the image), while the multi-view decode picture buffer 321 stores the image of each viewpoint (view) (and the image of the image).
  • the multi-viewpoint decoded picture buffer 321 acquires the decoded image (and the view ID and POC of the image) supplied to the decoded picture buffer 309, and together with the decoded picture buffer 309, the decoded image (and the view of the image).
  • the multi-viewpoint decoded picture buffer 321 acquires the decoded image (and the view ID and POC of the image) supplied to the decoded picture buffer 309, and together with the decoded picture buffer 309, the decoded image (and the view of the image).
  • the decoded picture buffer 309 deletes the decoded image, but the multi-viewpoint decoded picture buffer 321 holds it as it is. Then, in accordance with a request from the decoded picture buffer 309 or the like, the stored decoded image (and the view ID and POC of the image) are supplied to the decoded picture buffer 309 as a “decoded image of a view not to be processed”.
  • the decoded picture buffer 309 transmits the “decoded image of the view not to be processed (and the view ID and POC of the image) read out from the multi-viewpoint decoded picture buffer 321 to the motion parallax compensation unit 312 via the selection unit 310. Supply.
  • FIG. 32 is a block diagram illustrating a main configuration example of the motion parallax compensation unit 312.
  • the motion disparity compensation unit 312 includes an encoded information accumulation buffer 331, a spatial correlation prediction vector generation unit 332, a temporal parallax correlation prediction vector generation unit 333, a selection unit 334, a calculation unit 335, and a prediction image.
  • a generation unit 336 is included.
  • the encoded information accumulation buffer 331 acquires mode information, differential motion disparity information, and prediction information obtained in the lossless decoding unit 302.
  • the encoded information accumulation buffer 331 stores the decoded motion disparity vector used in the predicted image generation unit 336. This motion disparity vector is used as a motion disparity vector of the peripheral region in processing for other regions.
  • the encoded information accumulation buffer 331 uses the prediction information specified in the prediction information of the spatial correlation prediction vector generation unit 332 or the temporal disparity correlation prediction vector generation unit 333 to convert the mode information and the motion parallax vector of the decoded peripheral region. Is supplied to the one corresponding to the type (spatial correlation prediction vector or temporal parallax correlation prediction vector).
  • the encoded information accumulation buffer 331 supplies the difference motion disparity vector included in the difference motion disparity information to the calculation unit 335. Further, the encoded information accumulation buffer 331 supplies the reference image index included in the prediction information to the predicted image generation unit 336.
  • the spatial correlation prediction vector generation unit 332 generates a spatial correlation prediction vector based on the information supplied from the encoded information accumulation buffer 331. This generation method is the same as that of the spatial correlation prediction vector generation unit 135. However, in the case of the spatial correlation prediction vector generation unit 332, since the optimal inter prediction mode is determined in advance, a spatial correlation prediction vector need only be generated for that mode.
  • the spatial correlation prediction vector generation unit 332 supplies the generated spatial correlation prediction vector to the calculation unit 335 via the selection unit 334.
  • the temporal disparity correlation prediction vector generation unit 333 is supplied from the information supplied from the encoded information accumulation buffer 331, information such as the view ID and POC of the current region supplied from the lossless decoding unit 302, and the decoded picture buffer 309. A temporal disparity correlation prediction vector is generated based on information such as the view ID and POC of the reference image. This generation method is the same as that in the case of the temporal parallax correlation prediction vector generation unit 136. However, in the case of the temporal disparity correlation prediction vector generation unit 333, since the optimal inter prediction mode is determined in advance, it is only necessary to generate a temporal disparity correlation prediction vector for that mode. The temporal parallax correlation prediction vector generation unit 333 supplies the generated temporal parallax correlation prediction vector to the calculation unit 335 via the selection unit 334.
  • the selection unit 334 supplies the calculation unit 335 with it. Further, when the temporal parallax correlation prediction vector generation unit 333 is supplied with the temporal parallax correlation prediction vector generation unit 333, the selection unit 334 supplies it to the calculation unit 335.
  • the calculation unit 335 adds the differential motion disparity vector supplied from the encoded information accumulation buffer 331 to the spatial correlation prediction vector or temporal disparity correlation prediction vector supplied from the selection unit 334, and re-generates the motion disparity vector in the current region. To construct.
  • the calculation unit 335 supplies the reconstructed motion disparity vector of the current region to the predicted image generation unit 336.
  • the predicted image generation unit 336 is supplied from the arithmetic unit 335, the reconstructed motion parallax vector of the current region, the reference image index supplied from the encoded information accumulation buffer 331, and the decoded picture buffer 309.
  • a predicted image is generated using peripheral image pixel values that are images of the peripheral region.
  • the predicted image generation unit 336 supplies the generated predicted image pixel value to the selection unit 313.
  • the temporal parallax correlation prediction vector generation unit 333 can generate not only the motion correlation prediction vector but also the parallax correlation prediction vector as in the case of the temporal parallax correlation prediction vector generation unit 136. Therefore, the motion parallax compensation unit 312 can reconstruct a parallax correlation prediction vector even when the vector of the current region is a parallax vector. That is, since the image decoding apparatus 300 can correctly decode the encoded data generated by the image encoding apparatus 100, the encoding efficiency can be improved.
  • the accumulation buffer 301 accumulates the transmitted bit stream in step S301.
  • the lossless decoding unit 302 decodes the bitstream (encoded difference image information) supplied from the accumulation buffer 301.
  • various types of information other than the difference image information included in the bit stream such as intra prediction information and inter prediction information are also decoded.
  • step S303 the inverse quantization unit 303 inversely quantizes the quantized orthogonal transform coefficient obtained by the process in step S302.
  • step S304 the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the orthogonal transform coefficient inversely quantized in step S303.
  • step S305 the intra prediction unit 311 or the motion parallax compensation unit 312 performs a prediction process using the supplied information.
  • step S306 the calculation unit 305 adds the predicted image generated in step S305 to the difference image information obtained by the inverse orthogonal transform in step S304. Thereby, a reconstructed image is generated.
  • step S307 the loop filter 306 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the reconstructed image obtained in step S306.
  • step S308 the screen rearrangement buffer 307 rearranges the decoded images generated by the filtering process in step S307. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged to the original display order.
  • step S309 the D / A converter 308 D / A converts the decoded image in which the frame order is rearranged.
  • the decoded image is output and displayed on a display (not shown).
  • step S310 the decoded picture buffer 309 stores the decoded image obtained by the filtering process in step S307. This decoded image is used as a reference image in the inter prediction process.
  • step S310 ends, the decryption process ends.
  • the lossless decoding unit 302 determines in step S331 whether intra prediction has been performed when the current region to be processed is encoded. If it is determined that intra prediction has been performed, the lossless decoding unit 302 advances the process to step S332.
  • the intra prediction unit 311 acquires the intra prediction mode information from the lossless decoding unit 302 in step S332, and generates a predicted image by intra prediction in step S333.
  • the intra prediction unit 311 ends the prediction process, and returns the process to FIG.
  • step S331 If it is determined in step S331 that the current region is an inter-predicted region, the lossless decoding unit 302 advances the process to step S334.
  • step S334 the motion parallax compensation unit 312 performs a motion parallax compensation process. When the motion parallax compensation processing ends, the motion parallax compensation unit 312 ends the prediction processing and returns the processing to FIG.
  • step S351 the encoded information accumulation buffer 331 stores the mode information, the motion parallax information, the prediction information, and the like decoded in step S351.
  • step S352 the spatial correlation prediction vector generation unit 332, the temporal parallax correlation prediction vector generation unit 333, the selection unit 334, and the calculation unit 335 perform motion parallax vector generation processing to reconstruct the motion parallax vector of the current region.
  • step S353 the predicted image generation unit 336 generates a predicted image using the motion disparity vector.
  • the predicted image generation unit 336 ends the motion parallax compensation process and returns the process to FIG.
  • the encoded information accumulation buffer 331 determines whether or not it is a skip mode from the prediction information in step S371. If it is determined that the mode is the skip mode, the encoded information storage buffer 331 advances the process to step S372. In step S372, the spatial correlation prediction vector generation unit 332 to the calculation unit 335 perform merge mode processing and reconstruct a motion disparity vector in the merge mode. In the merge mode process, the same process as that described with reference to the flowchart of FIG. 22 is performed. When the merge mode process ends, the calculation unit 335 ends the motion disparity vector generation process and returns the process to FIG.
  • step S371 in FIG. 36 If it is determined in step S371 in FIG. 36 that the skip mode is not set, the encoded information storage buffer 331 advances the process to step S373. In step S373, the encoded information accumulation buffer 331 determines whether or not the merge mode is set based on the prediction information. If it is determined that the mode is the merge mode, the encoded information storage buffer 331 returns the process to step S372 to execute the merge mode process.
  • step S373 If it is determined in step S373 that the mode is not the merge mode, the encoded information storage buffer 331 advances the process to step S374.
  • step S374 the encoded information storage buffer 331 acquires the index of the reference image.
  • step S375 the encoded information accumulation buffer 331 acquires a differential motion disparity vector.
  • step S376 the spatial correlation prediction vector generation unit 332 or the temporal parallax correlation prediction vector generation unit 333 performs a parallax motion vector prediction process.
  • This parallax motion vector prediction process is performed in the same manner as described with reference to the flowchart of FIG. However, in this case, since the prediction method is determined, one of the spatial correlation prediction process and the temporal parallax correlation prediction process (one specified by the prediction information) is performed.
  • step S377 the calculation unit 335 adds the prediction vector reconstructed in step S376 and the differential motion disparity vector to reconstruct the motion disparity vector.
  • step S377 the arithmetic unit 335 ends the motion parallax vector generation process and returns the process to FIG.
  • the temporal disparity correlation predicted vector generation unit 333 By executing each process as described above, the temporal disparity correlation predicted vector generation unit 333 generates not only a motion correlation predicted vector but also a disparity correlation predicted vector as in the case of the temporal disparity correlation predicted vector generation unit 136. can do. Therefore, the motion parallax compensation unit 312 can reconstruct a parallax correlation prediction vector even when the vector of the current region is a parallax vector. That is, since the image decoding apparatus 300 can correctly decode the encoded data generated by the image encoding apparatus 100, the encoding efficiency can be improved.
  • the block at the shifted position is selected. That is, a prediction vector is generated using a vector of a region that is at the same position as the current region in a state where the position of the image at the same time as the current region is shifted.
  • This shift amount is calculated by a predetermined procedure from the disparity vectors of the surrounding blocks. By making this procedure common to the encoding side device and the decoding side device, the same prediction can be performed on the encoding side and the decoding side.
  • peripheral blocks for calculating the shift amount may be explicitly specified, and the information may be transmitted from the encoding side to the decoding side. In addition, information regarding the shift amount calculation method may also be transmitted from the encoding side to the decoding side.
  • both the image encoding device and the image decoding device can generate a prediction vector from a block aligned between views. Therefore, the prediction accuracy of the predicted image can be improved, and the encoding efficiency can be improved.
  • FIG. 37 is a block diagram illustrating another configuration example of the image encoding device to which the present technology is applied.
  • An image encoding device 400 shown in FIG. 37 is basically the same device as the image encoding device 100 described above. However, the image coding apparatus 400 generates a prediction vector from blocks aligned between views.
  • the image encoding device 400 includes a motion prediction / compensation unit 415 and a Base IV encoder 421.
  • the motion prediction / compensation unit 412 uses the decoded image acquired from the decoded picture buffer 112 and the base view motion information acquired from the Base view encoder 421 to generate a prediction vector that refers to a block in the view direction.
  • the Base View encoder 421 performs base view encoding.
  • the Base View encoder 421 supplies the decoded picture of the base view to the decoded picture buffer 112 and stores it.
  • the decoded picture buffer 112 also stores a non-base view decoded image supplied from the loop filter 111.
  • the Base View encoder 421 supplies base view motion information to the motion prediction / compensation unit 412.
  • FIG. 38 is a block diagram illustrating a main configuration example of the motion prediction / compensation unit 412 of FIG.
  • the motion prediction / compensation unit 412 includes an inter mode generation unit 431, a reference index determination unit 432, a vector prediction unit 433, a vector prediction unit 434, and a mode determination unit 435. Information shown in FIG. 38 is exchanged between the processing units.
  • the vector prediction unit 433 In the inter prediction mode, the vector prediction unit 433 generates a prediction vector and generates a predicted image.
  • the vector prediction unit 434 generates a prediction vector and generates a predicted image in the skip mode, the merge mode, or the like.
  • the prediction vector and the prediction image generated in these are supplied to the mode determination unit 435.
  • the mode determination unit 435 performs mode determination based on these pieces of information, and supplies the mode information indicating the selected mode and the prediction vector of the mode to the lossless encoding unit 106. Further, the predicted image in the selected mode is supplied to the predicted image selection unit 116.
  • FIG. 39 is a block diagram illustrating a main configuration example of the vector prediction unit 433.
  • the vector prediction unit 433 includes a motion / disparity vector search unit 451, a predicted image generation unit 452, a vector cost calculation unit 453, a vector determination unit 454, a vector information accumulation buffer 455, and prediction from surrounding blocks.
  • a vector generation unit 456, a prediction vector generation unit 457 from different pictures, and a selection unit 458 are included. Information shown in FIG. 39 is exchanged between the processing units.
  • the prediction vector generation unit 457 from different pictures generates prediction vectors that refer to different pictures. That is, the prediction vector generation unit 457 from different pictures refers to different pictures in each of the temporal direction and the view direction to generate a prediction vector.
  • the prediction vector generation unit 457 from the different picture acquires the motion information of the base view from the Base View encoder 421, and uses the motion information to calculate the prediction vector. Generate.
  • the prediction vector generated by the prediction vector generation unit 457 from different pictures is supplied to the vector cost calculation unit 453 via the selection unit 458, and a cost function value used for mode determination is calculated.
  • FIG. 40 is a block diagram illustrating a main configuration example of the prediction vector generation unit 457 from different pictures.
  • the prediction vector generation unit 457 from different pictures includes a disparity vector determination unit 471, an inter-view reference vector generation unit 472, and an intra-view reference vector generation unit 473.
  • the disparity vector determination unit 471 calculates the shift amount of the reference image from the disparity vectors of the surrounding blocks.
  • the method for calculating the shift amount is arbitrary. For example, any one of the disparity vectors of the peripheral blocks may be selected and used as the shift amount. In addition, for example, an average value or a median value of disparity vectors of peripheral blocks may be used as the shift amount.
  • the disparity vector determination unit 471 supplies the shift amount thus determined to the inter-view reference vector generation unit 472 as a disparity vector.
  • the inter-view reference vector generation unit 472 generates a prediction vector that refers to different pictures in the view direction.
  • the inter-view reference vector generation unit 472 includes a disparity vector (shift amount) selected by the disparity vector determination unit 471 and a base view motion vector supplied from the Base View encoder 421 (including a disparity vector in the case of a non-base view).
  • a disparity vector shift amount selected by the disparity vector determination unit 471
  • a base view motion vector supplied from the Base View encoder 421 including a disparity vector in the case of a non-base view.
  • a prediction vector considering the disparity vector is generated.
  • the inter-view reference vector generation unit 472 aligns (shifts) the image of the referenced view using the shift amount calculated by the disparity vector determination unit 471. Then, the inter-view reference vector generation unit 472 generates a prediction vector from the block subjected to the alignment.
  • the inter-view reference vector generation unit 472 supplies the generated prediction vector to the vector cost calculation unit 453 via the selection unit 458 (not shown in FIG. 40).
  • the intra-view reference vector generation unit 473 generates a prediction vector that refers to a different picture in the temporal direction.
  • the inter-view reference vector generation unit 472 can create an appropriate prediction vector with high prediction accuracy. Thereby, the image coding apparatus 400 can improve coding efficiency.
  • the inter mode generation unit 431 selects one of the inter prediction mode, the skip mode, the merge mode, and the like in step S401, and specifies the mode. Generate a mode.
  • step S402 the inter mode generation unit 431 determines whether or not the generated inter mode is the inter prediction mode.
  • step S403 the inter mode generation unit 431 determines a reference image, and in step S404, the vector prediction unit 433 executes vector prediction processing.
  • the vector prediction unit 434 performs vector prediction processing in step S404.
  • step S405 the mode determination unit 435 determines the mode based on the prediction vector generated in step S404. This mode is used for the process of step S401.
  • step S405 the lossless encoding unit 106 encodes the mode information determined in step S405.
  • the motion / disparity vector search unit 451 searches for a vector in step S421.
  • step S422 the predicted image generation unit 452 generates a predicted image.
  • step S423 the vector cost calculation unit 453 generates a residual image.
  • step S424 the prediction vector generation unit 456 from neighboring blocks and the prediction vector generation unit 457 from different pictures generate prediction vectors from the encoded vectors.
  • step S425 the vector cost calculation unit 453 calculates the residual of the vector.
  • step S426 the vector determination unit 454 determines the prediction vector with the minimum cost. This processing result is reflected in the processing in step S424.
  • step S427 the vector information accumulation buffer 455 accumulates the vector information and returns the process to FIG.
  • the selection unit 458 determines which block is to be referred to in step S441.
  • the prediction vector generation unit 456 from the peripheral block sets the encoded vector of the peripheral block as the prediction vector in step S442, and returns the processing to FIG.
  • step S441 If it is determined in step S441 to refer to a block of a different picture, the selection unit 458 advances the process to step S443 to determine which view picture to reference.
  • the prediction vector generation unit 457 from the different picture, in step S444, from the encoded collocated block (Co-located Block) expanded in the view direction. A prediction vector is generated, and the processing returns to FIG.
  • step S443 If it is determined in step S443 to refer to a picture of the same view, the prediction vector generation unit 457 from a different picture in time direction from the encoded collocated block (Co-located Block) in step S445. A prediction vector is generated, and the processing returns to FIG.
  • the disparity vector determination unit 471 determines the shift amount from the disparity vectors of the surrounding blocks in step S461.
  • step S462 the inter-view reference vector generation unit 472 selects the collocated block at the shifted position.
  • step S463 the inter-view reference vector generation unit 472 generates a prediction vector from the collocated block, and returns the process to FIG.
  • step S481 the disparity vector determination unit 471 determines whether or not there are a plurality of blocks having non-zero Y direction vector values in the disparity vectors of the surrounding blocks.
  • the peripheral block is a block located in the vicinity (including “adjacent”) of the current block (current block) to be processed. For example, as shown in FIG. 46, a block adjacent to the left of the current block (Curr) (Left), a block adjacent to the current block (Above), and a block adjacent to the upper right of the current block (Above Right) ) Is a peripheral block.
  • a block adjacent to the current block (Above) a block adjacent to the upper right of the current block (Above Right)
  • other blocks may be included in the peripheral blocks, or some or all of these blocks may not be used as the peripheral blocks.
  • the position of the peripheral block may be common to all blocks, but may be different depending on the block. For example, when a block adjacent to the screen edge or slice boundary is set as the current block, a part of the peripheral blocks may be disabled.
  • step S481 If it is determined in step S481 that there are not a plurality of blocks having non-zero Y-direction vector values, the disparity vector determination unit 471 advances the processing to step S482, sets the target disparity vector in the X direction as a shift amount, and performs processing. Return to FIG.
  • step S481 If it is determined in step S481 that there are a plurality of blocks having non-zero Y-direction vector values, the disparity vector determination unit 471 proceeds to step S483 and shifts the average value of the target X-direction disparity vectors. The process returns to FIG.
  • the motion prediction / compensation unit 415 can create an appropriate prediction vector with high prediction accuracy. Thereby, the image coding apparatus 400 can improve coding efficiency.
  • FIG. 47 is a block diagram illustrating another configuration example of the image decoding device to which the present technology is applied.
  • An image decoding apparatus 500 shown in FIG. 47 is basically the same apparatus as the image decoding apparatus 300 described above. However, as in the case of the image encoding device 400, the image decoding device 500 generates a prediction vector from blocks aligned between views.
  • the image decoding apparatus 500 includes a motion compensation unit 512 and a Base IV view decoder 521.
  • the motion compensation unit 512 uses the decoded image acquired from the decoded picture buffer 309 and the motion information of the base view acquired from the Base30view decoder 521 to generate a prediction vector that refers to a block in the view direction.
  • the Base View decoder 521 performs base view encoding.
  • the Base View decoder 521 supplies the decoded image of the base view to the decoded picture buffer 309 and stores it.
  • the decoded picture buffer 309 also stores a non-base view decoded image supplied from the loop filter 306.
  • the Base View decoder 521 supplies base view motion information to the motion compensation unit 512.
  • FIG. 48 is a block diagram illustrating a main configuration example of the motion compensation unit 512 of FIG.
  • the motion compensation unit 512 includes a mode determination unit 531, a reference index determination unit 532, a vector decoding unit 533, and a vector decoding unit 534. Information shown in FIG. 48 is exchanged between the processing units.
  • the vector decoding unit 533 decodes the residual vector transmitted from the image encoding device 400 and generates a prediction vector. Moreover, the vector decoding part 533 produces
  • the vector decoding unit 534 decodes the residual vector transmitted from the image encoding device 400 and generates a prediction vector. Further, the vector decoding unit 534 generates a prediction image using the prediction vector. The predicted image is supplied to the predicted image selection unit 313.
  • FIG. 49 is a block diagram illustrating an exemplary main configuration of the vector decoding unit 533.
  • the vector decoding unit 533 includes a selection unit 551, a prediction vector generation unit 552 from neighboring blocks, a prediction vector generation unit 553 from different pictures, a selection unit 554, a calculation unit 555, and a prediction image generation unit. 556 and a vector information storage buffer 557. Information shown in FIG. 49 is exchanged between the processing units.
  • the selection unit 551 selects the vector index supplied from the lossless decoding unit 302 based on the prediction mode generation unit 552 from the neighboring blocks (in the case of skip mode or merge mode) according to the inter mode, or prediction from a different picture. This is supplied to the vector generation unit 553 (in the case of the inter prediction mode).
  • the predicted vector generation unit 552 from neighboring blocks to which the vector index is supplied uses the vector information acquired from the vector information accumulation buffer 557 to generate a predicted vector from the neighboring blocks in the current picture.
  • the prediction vector generation unit 553 from different pictures to which the vector index is supplied generates prediction vectors from different pictures in the current view by using the vector information acquired from the vector information accumulation buffer 557. Also, the prediction vector generation unit 553 from different pictures uses the vector information acquired from the vector information accumulation buffer 557 and the motion information of the base view supplied from the Base View decoder 521 to predict from different pictures in different views. Generate a vector.
  • the prediction vector generation unit 553 from this different picture is a processing unit similar to the disparity vector determination unit 471 of the prediction vector generation unit 457 from a different picture, and generates a prediction vector by the same method.
  • the selection unit 554 supplies the prediction vector generated by the prediction vector generation unit 552 from the neighboring blocks or the prediction vector generated by the prediction vector generation unit 553 from a different picture to the calculation unit 555.
  • the calculating unit 555 adds the motion / disparity vector difference value (residual vector) supplied from the lossless decoding unit 302 and the prediction vector to generate a current region motion / disparity vector.
  • the calculation unit 555 supplies the motion / disparity vector to the predicted image generation unit 556.
  • the arithmetic unit 555 supplies the motion / disparity vector to the vector information accumulation buffer 557 and stores it.
  • the predicted image generation unit 556 uses the motion / disparity vector of the current region supplied from the calculation unit 555, the reference image index supplied from the lossless decoding unit 302, and the decoded image pixel value supplied from the decoded picture buffer 309. To generate a predicted image.
  • the predicted image generation unit 556 supplies the generated predicted image pixel value to the predicted image selection unit 313.
  • FIG. 50 is a block diagram illustrating a main configuration example of the prediction vector generation unit 553 from different pictures.
  • the prediction vector generation unit 553 from different pictures includes a disparity vector determination unit 571, an inter-view reference vector generation unit 572, and an intra-view reference vector generation unit 573.
  • the disparity vector determination unit 571, the inter-view reference vector generation unit 572, and the intra-view reference vector generation unit 573 are the disparity vector determination unit 471 and the inter-view reference vector generation unit 472 of the prediction vector generation unit 457 from different pictures, respectively. And a processing unit similar to the in-view reference vector generation unit 473, and performs the same processing.
  • the disparity vector determination unit 571 calculates the shift amount of the image of the reference destination view by the same method as the disparity vector determination unit 471, and shifts the image.
  • the prediction vector generation unit 553 from different pictures correctly decodes the residual vector, and generates an appropriate prediction vector with high prediction accuracy similar to the prediction vector generated by the prediction vector generation unit 457 from different pictures. be able to. That is, the vector decoding unit 533 can generate a prediction image similar to the prediction image generated by the vector prediction unit 433. Therefore, the image decoding apparatus 500 can correctly decode the encoded data generated by the image encoding apparatus 400, and can realize improvement in encoding efficiency.
  • the method of calculating the shift amount by the parallax vector determination unit 571 is arbitrary as long as it is the same as that of the parallax vector determination unit 471.
  • any one of the disparity vectors of the peripheral blocks may be selected and used as the shift amount.
  • an average value or a median value of disparity vectors of peripheral blocks may be used as the shift amount.
  • the mode determination unit 531 decodes the inter mode in step S501, and determines in step S502 whether the mode is the inter prediction mode.
  • step S503 the vector decoding unit 533 determines a reference image, performs a vector decoding process in step S504, decodes the residual vector, and generates a predicted image.
  • step S504 the vector decoding unit 534 performs a vector decoding process, decodes the residual vector, and generates a predicted image.
  • the lossless decoding unit 302 decodes the residual vector (difference vector) in step S521.
  • step S522 the lossless decoding unit 302 decodes the reference image index.
  • step S523 the lossless decoding unit 302 decodes the vector index.
  • step S524 the prediction vector generation unit 552 from neighboring blocks and the prediction vector generation unit 553 from different pictures generate prediction vectors from the encoded vectors.
  • the calculation unit 555 adds the prediction vector to the residual vector to generate a motion / disparity vector for the current region.
  • step S525 the predicted image generation unit 556 generates a predicted image using the motion / disparity vector generated in step S524.
  • step S526 the vector information accumulation buffer 455 accumulates the vector information and returns the process to FIG.
  • the selection unit 554 determines which block is to be referred to in step S541.
  • the prediction vector generation unit 552 from the peripheral block sets the encoded vector of the peripheral block as the prediction vector in step S542, and returns the processing to FIG.
  • step S541 If it is determined in step S541 to refer to a block of a different picture, the selection unit 554 advances the process to step S543 to determine which view of the picture to reference.
  • the prediction vector generation unit 553 from the different picture, in step S544, from the encoded collocated block (Co-located Block) expanded in the view direction. A prediction vector is generated, and the process returns to FIG.
  • step S543 determines whether a picture of the same view.
  • the prediction vector generation unit 553 from a different picture in the time direction from the encoded collocated block (Co-locatedCoBlock) in step S545.
  • a prediction vector is generated, and the process returns to FIG.
  • the disparity vector determination unit 571 determines the shift amount from the disparity vectors of the surrounding blocks in step S561.
  • step S562 the inter-view reference vector generation unit 572 selects the collocated block at the shifted position.
  • step S563 the inter-view reference vector generation unit 572 generates a prediction vector from the collocated block, and returns the process to FIG.
  • step S581 the disparity vector determination unit 571 determines whether or not there are a plurality of blocks whose disparity vectors of the surrounding blocks have a non-zero value in the Y direction vector.
  • step S581 If it is determined in step S581 that there are not a plurality of blocks whose Y direction vector value is non-zero, the disparity vector determination unit 571 advances the processing to step S582, sets the target X direction disparity vector as a shift amount, and performs processing. Return to FIG.
  • step S581 If it is determined in step S581 that there are a plurality of blocks having non-zero Y-direction vector values, the disparity vector determination unit 571 advances the processing to step S583 and shifts the average value of the target X-direction disparity vectors. The process returns to FIG. 54.
  • the motion compensation unit 512 can create an appropriate prediction vector with high prediction accuracy. Thereby, the image decoding apparatus 500 can implement
  • information such as the peripheral blocks for calculating the shift amount and the shift amount calculation method may be transmitted from the image encoding device 400 to the image decoding device 500.
  • the prediction vector candidates are generated using a collocated block vector (collocated block) that is a block at the same position belonging to a picture at a different time in the same view as the current region, or a global disparity vector. May be.
  • one of the left and right images of the 3D image (for example, the image for the left eye) is used as a base view (base view), and the other (for example, the image for the right eye) is defined as a dependent view (dependent view).
  • a predicted vector may be obtained using a motion vector (collocated vector) 622 of a collocated block 612 at the same position as the current region or a global disparity vector (not shown).
  • the vector 623 of the block 613 at a position shifted by the collocated block 622 or the global disparity vector (vector 631) from the same position as the current area 11 of the base view picture 603 at the same time as the current picture 601 is encoded.
  • the prediction vector (PMV) of the vector (MV) 621 may be used.
  • the collocated block 622 or the global disparity vector may be used as the prediction vector of the encoded vector (MV) 621.
  • the same prediction can be performed on the encoding side and the decoding side by sharing this procedure between the encoding side device and the decoding side device.
  • information indicating whether to use a collocated block or a global disparity vector, information on a collocated block or a global disparity vector, etc. are explicitly specified, and the information is transmitted from the encoding side to the decoding side. You may make it do.
  • information regarding the shift amount calculation method may also be transmitted from the encoding side to the decoding side.
  • both the image coding apparatus and the image decoding apparatus can generate a prediction vector from blocks that are similarly aligned between views. Therefore, the prediction accuracy of the predicted image can be improved, and the encoding efficiency can be improved.
  • the global disparity vector is a global representative representative disparity vector (for example, for each predetermined unit such as a picture, a slice, an LCU, or a CU).
  • the global disparity vector generated for each picture indicates the amount of disparity between views.
  • the method for generating the global disparity vector is arbitrary.
  • FIG. 57 is a diagram for explaining parallax and depth.
  • the depth of the subject M from the camera c1 (camera c2).
  • the depth Z which is the distance in the direction, is defined by the following equation (1).
  • L is a horizontal distance between the position C1 and the position C2 (hereinafter, referred to as an inter-camera distance).
  • D is the position of the subject M on the color image photographed by the camera c2 from the horizontal distance u1 of the position of the subject M on the color image photographed by the camera c1 from the center of the color image.
  • f is the focal length of the camera c1, and in the expression (1), the focal lengths of the camera c1 and the camera c2 are the same.
  • parallax d is defined as the following formula (2).
  • the parallax d and the depth Z can be uniquely converted. Therefore, in this specification, the image representing the parallax d and the image representing the depth Z of the two viewpoint color images taken by the camera c1 and the camera c2 are collectively referred to as a depth image (parallax image).
  • the depth image may be an image representing the parallax d or the depth Z
  • the pixel value of the depth image is not the parallax d or the depth Z itself, but the parallax d is normalized.
  • a value obtained by normalizing the value, the inverse 1 / Z of the depth Z, or the like can be employed.
  • the depth Z can be obtained by the following equation (3).
  • Z far is the maximum value of the depth Z
  • Z near is the minimum value of the depth Z.
  • the maximum value Z far and the minimum value Z near may be set in units of one screen or may be set in units of a plurality of screens.
  • an image having a pixel value of the value I obtained by normalizing the parallax d, and an inverse 1 / of the depth Z Images with the pixel value normalized by the value y obtained by normalizing Z are collectively referred to as a depth image (parallax image).
  • the color format of the depth image (parallax image) is YUV420 or YUV400, but other color formats are also possible.
  • the value I or the value y is set as the depth information (parallax information). Further, a map obtained by mapping the value I or the value y is a depth map (disparity map).
  • the prediction vector is generated by a method according to the characteristics of both the encoded vector and the collocated vector, for example, as in a table shown in FIG.
  • the collocated vector is a predicted vector candidate.
  • the collocated vector is a predicted vector candidate. It is said.
  • the encoded vector is a motion vector (Motion vector)
  • the collocated vector is a disparity vector (Inter-view vector).
  • the motion vector of the base view of the block shifted by the collocated vector is taken as the prediction vector candidate.
  • the encoded vector is a motion vector (Motion vector) and the collocated block is in the intra mode
  • the global disparity vector component when the encoded vector is a motion vector (Motion vector) and the collocated block is in the intra mode, the global disparity vector component.
  • the motion vector of the base view of the block that is shifted only by is used as a prediction vector candidate.
  • the encoded vector is a disparity vector (Inter-view vector)
  • the collocated vector is a motion vector (Motion vector).
  • the global disparity vector is set as a prediction vector candidate.
  • the global disparity A vector is a predicted vector candidate.
  • the prediction vector prediction accuracy can be improved, and the encoding efficiency can be improved.
  • the selection unit 458 determines which block is referred to in step S601.
  • step S602 the prediction vector generation unit 456 from the surrounding blocks sets the encoded vector of the surrounding block as a prediction vector.
  • the prediction vector generation process ends, and the process returns to FIG.
  • step S601 when a block of a different picture is selected as a reference destination, the process proceeds to step S603.
  • the prediction vector generation unit 457 from different pictures sets the encoded vectors of blocks at different times and views as prediction vectors.
  • the prediction vector generation process ends, and the process returns to FIG.
  • the disparity vector determination unit 471 determines whether or not the encoded vector is a motion vector in step S621. If it is determined that the vector is a motion vector, the process proceeds to step S622.
  • step S622 the parallax vector determination unit 471 determines what the mode of the collocated block is. If it is determined that the mode of the collocated block is a motion vector, the process proceeds to step S623.
  • step S623 the in-view reference vector generation unit 473 sets the collocated vector as the prediction vector.
  • the prediction vector generation process from a different picture ends, and the process returns to FIG.
  • step S622 If it is determined in step S622 that the mode of the collocated block is intra prediction, the process proceeds to step S624.
  • step S624 the inter-view reference vector generation unit 472 obtains a global disparity vector and sets the vector of the base view block shifted by the global disparity vector as a prediction vector.
  • step S624 ends, the prediction vector generation process from a different picture ends, and the process returns to FIG.
  • step S622 If it is determined in step S622 that the mode of the collocated block is a disparity vector, the process proceeds to step S625.
  • step S625 the inter-view reference vector generation unit 472 sets the vector of the base view block shifted by the collocated vector as the prediction vector.
  • step S625 ends, the prediction vector generation process from a different picture ends, and the process returns to FIG.
  • step S621 If it is determined in step S621 that the encoded vector is a disparity vector, the process proceeds to FIG.
  • step S631 the parallax vector determination unit 471 determines what the mode of the collocated block is. If it is determined that the mode of the collocated block is a disparity vector, the process proceeds to step S632.
  • step S632 the in-view reference vector generation unit 473 sets the collocated vector as a prediction vector.
  • the prediction vector generation process from a different picture ends, and the process returns to FIG.
  • step S631 If it is determined in step S631 that the mode of the collocated block is a motion vector, the process proceeds to step S634.
  • step S634 the inter-view reference vector generation unit 472 sets the global disparity vector as a prediction vector.
  • the prediction vector generation process from a different picture ends, and the process returns to FIG.
  • step S631 when it is determined in step S631 that the mode of the collocated block is intra prediction, the process proceeds to step S635.
  • step S635 the inter-view reference vector generation unit 472 sets the global disparity vector as a prediction vector.
  • the image encoding apparatus in this case can generate a prediction vector using a collocated block or a global disparity vector. Thereby, the image coding apparatus can improve the prediction accuracy of a prediction vector, and can improve coding efficiency.
  • the image decoding apparatus performs basically the same processing as the image encoding apparatus. That is, the motion compensation process is executed in the same manner as described with reference to the flowchart of FIG. Further, the vector decoding process is executed in the same manner as described with reference to the flowchart of FIG.
  • prediction vector generation processing is executed in the same manner as described with reference to the flowchart of FIG. 59, that is, when the image encoding device executes.
  • the selection unit 551 performs the process of step S601.
  • the predicted vector generation unit 552 from the neighboring blocks sets the decoded vector of the neighboring block as a predicted vector.
  • the prediction vector generation unit 553 from different pictures sets the decoded vectors of the blocks at different times and views as prediction vectors.
  • the prediction vector generation processing from the different pictures is executed in the same manner as described with reference to the flowcharts of FIGS. 60 and 61, that is, the case where the image encoding device executes.
  • each process of step S621, step S622, and step S631 is performed by the disparity vector determination unit 571, and each process of step S623 and step S632 is performed by the in-view reference vector generation unit 573, and step S624.
  • Each process of step S625, step S634, and step S635 is executed by the inter-view reference vector generation unit 572.
  • the image decoding apparatus in this case can generate a prediction vector using a collocated block or a global disparity vector, as in the case of the image encoding apparatus.
  • the image decoding apparatus can improve the prediction accuracy of a prediction vector, and can improve encoding efficiency.
  • Reference image type For example, in the case of HEVC, there are two types of reference images: short-time reference pictures and long-time reference pictures. Since the short-time reference picture is a picture temporally close to the encoded picture, a scaling process based on the temporal distance is performed on the prediction vector. On the other hand, since the long-time reference picture is a picture that is far in time from the encoded picture, scaling for the prediction vector does not make sense and is not performed.
  • the code amount can be further reduced by properly using these reference pictures according to the motion of the image.
  • the prediction vector is available.
  • the correlation between these vectors is expected to be low. Therefore, if it is included in the vector candidate list, the encoding efficiency may be lowered. For example, a vector having a higher correlation is driven to the rear of the candidate list, and there is a possibility that the code amount of an index for designating the vector increases. In addition, for example, a vector having a higher correlation may be driven to the rear of the candidate list, and may be excluded from the candidate list, making it impossible to specify.
  • the prediction vector is made unavailable (Not available).
  • the correlation is low because the characteristics of the vector that refers to the short-time reference picture and the vector that refers to the long-time reference picture differ. Therefore, in this case, the coding efficiency can be improved by excluding the candidate vector.
  • FIG. 62 is a diagram for explaining an example of the state of the reference image of the background still application.
  • the background particularly the occlusion region
  • the motion vector is 0. Tend to be.
  • the moving object ahead refers to the short-time reference picture
  • a motion vector is generated.
  • the types of reference pictures are different, the correlation of motion vectors is low (A in FIG. 64). Therefore, as described above, when the types of reference pictures of the encoded vector and the prediction vector are different, the encoding efficiency can be improved by excluding it from the candidate vector.
  • FIG. 63 is a diagram for explaining an example of the state of the reference image of the stereo application.
  • a moving image stereo app
  • a left-eye image left-eye image
  • a right-eye image right-eye image
  • Base View (described here as a left-eye image) is designated as a long-time reference picture
  • the encoded picture of Dependent View is designated as a short-time reference picture.
  • the frame ID When referencing Dependent View, the frame ID is different between the reference destination and the reference source, so scaling is possible. However, when referring to Base View, the frame ID matches between the reference destination and the reference source. Therefore, there is a possibility that the denominator becomes zero at the time of scaling, and scaling becomes difficult. Therefore, in HEVC and the like, Base View is designated as a long-time reference picture that is not scaled.
  • a vector that refers to a long-time reference picture is a disparity vector
  • a vector that refers to a short-time reference picture is a motion vector. Therefore, the correlation of motion (parallax) vectors is low between picture types (B in FIG. 64). Therefore, as described above, when the types of reference pictures of the encoded vector and the prediction vector are different, the encoding efficiency can be improved by excluding it from the candidate vector.
  • a block to be processed (CU, PU, etc.) is also referred to as a coding block (or current) block.
  • a temporally neighboring block of an encoded block that is, a collocated block of a temporally neighboring picture of a picture in which the encoded block exists (current picture) is also referred to as a temporal correlation block.
  • spatially neighboring blocks of the encoded block that is, blocks adjacent to or adjacent to the encoded block in the current picture are also referred to as peripheral blocks.
  • FIG. 65 shows an example of peripheral blocks.
  • the blocks at positions A0 and A1 are peripheral blocks of the coding block (current block) and are also referred to as blocks at the left side position.
  • the blocks at positions B0, B1, and B2 are peripheral blocks of the coding block (current block), and are also referred to as upper position blocks.
  • FIG. 66 is a diagram for explaining an example of handling time correlation blocks and peripheral blocks.
  • whether to include the motion (disparity) vector of the temporal correlation block in the candidate vector and whether to perform scaling are determined as shown in the table shown in FIG.
  • the time-correlation block The motion (parallax) vector is selected as a candidate, and if the two types do not match, they are excluded from the candidates. Furthermore, when the reference image of the coding block and the reference image of the temporal correlation block are both short-term reference images, the motion (disparity) vector of the temporal correlation block is scaled, and both are long-term reference images. , The scaling of the motion (disparity) vector of the time correlation block is not performed.
  • whether to include the motion (disparity) vectors of neighboring blocks in the candidate vector and whether to perform scaling are determined as shown in the table shown in FIG. 66B. That is, it is the same as the case of the time correlation block.
  • the movement of the surrounding blocks A (parallax) vector is selected as a candidate, and when both types do not match, it is excluded from the candidates.
  • the motion (parallax) vectors of the peripheral blocks are scaled, and both are long-time reference images. In this case, scaling of motion (parallax) vectors of surrounding blocks is not performed.
  • Encoding processing by the image encoding device 400 is performed in the same manner as described with reference to the flowchart of FIG. 20 (first embodiment).
  • step S701 the inter mode generation unit 431 (FIG. 38) generates an inter mode.
  • step S702 the inter mode generation unit 431 determines whether or not the mode is a merge (skip) mode.
  • step S703 the reference index determination unit 432 and the vector prediction unit 434 perform merge (skip) mode processing to generate a motion (disparity) vector and a reference index.
  • step S703 the process proceeds to step S707.
  • step S702 If it is determined in step S702 that the mode is not the merge (skip) mode, the process proceeds to step S704.
  • step S704 the vector prediction unit 433 acquires a residual motion (parallax) vector and a reference index.
  • step S705 the vector prediction unit 433 performs AMVP mode processing to generate a predicted motion (disparity) vector.
  • step S706 the mode determination unit 435 adds the residual motion (parallax) vector and the predicted motion (parallax) vector.
  • step S707 the mode determination unit 435 returns the process to step S701 until all the modes are processed, and determines the optimal mode when all the modes are obtained.
  • step S708 the lossless encoding unit 106 encodes the selected information.
  • the reference index determination unit 432 creates a motion (disparity) vector and a reference index that are candidates from spatially neighboring blocks.
  • step S712 the reference index determination unit 432 generates a reference index for the time correlation block.
  • step S713 the vector prediction unit 434 generates a candidate motion (disparity) vector from the time correlation block.
  • step S714 the vector prediction unit 434 generates a candidate list of motion (disparity) vectors and reference indexes. Note that the number of elements in this list is Y.
  • step S715 the vector prediction unit 434 sets the maximum number X of candidate lists.
  • step S716 the vector prediction unit 434 determines whether the number Y of elements in the list is smaller than the maximum number X of candidate lists (whether Y ⁇ X). If it is determined that the number Y of elements in the list is smaller than the maximum number X of candidate lists (Y ⁇ X), the process proceeds to step S717.
  • step S717 the vector prediction unit 434 combines each element of the candidate list to generate a new motion (disparity) vector and reference index.
  • step S718 the vector prediction unit 434 updates the candidate list.
  • the number of elements in the list at this time is Y ′.
  • step S719 the vector prediction unit 434 determines whether the number of elements Y ′ of the list is smaller than the maximum number X of candidate lists (whether Y ′ ⁇ X). If it is determined that the number of elements Y ′ of the list is smaller than the maximum number X of candidate lists (Y ′ ⁇ X), the process proceeds to step S720.
  • step S720 the vector prediction unit 434 newly generates a zero motion (disparity) vector and a zero reference index.
  • the process of step S720 ends the process proceeds to step S721.
  • step S716 If it is determined in step S716 that the number Y of elements in the list is equal to or greater than the maximum number X of candidate lists (Y ⁇ X is not true), the process proceeds to step S721. If it is determined in step S719 that the number of elements Y ′ in the list is equal to or greater than the maximum number X of candidate lists (Y ′ ⁇ X is not satisfied), the process proceeds to step S721.
  • step S721 the vector prediction unit 434 generates an element index of the candidate list.
  • step S722 the vector prediction unit 434 acquires a motion (disparity) vector and a reference index indicated by the element index.
  • the vector prediction unit 434 When the process is started, the vector prediction unit 434 generates an index for designating a temporal correlation picture in step S731.
  • step S732 the vector prediction unit 434 determines a temporal correlation picture.
  • step S733 the vector prediction unit 434 selects the block at the lower right position of the encoded PU (encoded block) present in the temporal correlation picture.
  • step S734 the vector prediction unit 434 determines whether the block at the lower right position is in the intra mode or not usable. If it is determined that the block in the lower right position is in the intra mode or cannot be used, the process proceeds to step S735.
  • step S735 the vector prediction unit 434 selects the block at the center position of the encoded PU existing in the temporal correlation picture.
  • step S736 the vector prediction unit 434 determines whether the block at the center position is in the intra mode or not usable. If it is determined that the block at the center position is in the intra mode or cannot be used, the process proceeds to step S737.
  • step S737 the vector prediction unit 434 excludes the motion (disparity) vector of the time correlation block from the candidates.
  • step S734 If it is determined in step S734 that the block in the lower right position is neither in the intra mode nor unusable, the process proceeds to step S738. Similarly, if it is determined that the block at the center position is neither in the intra mode nor unusable, the process proceeds to step S738.
  • step S738, the vector prediction unit 434 determines the motion (disparity) vector and reference index of the temporal correlation block.
  • step S739 the vector prediction unit 434 determines the presence / absence of a scaling process of motion (disparity) vectors of temporal correlation blocks and the presence / absence of candidates.
  • step S740 the vector prediction unit 434 determines whether to exclude the motion (disparity) vector of the time correlation block from the candidates based on the determination result in step S739.
  • step S740 If it is determined to be excluded from candidates, the process returns to step S737. If it is determined in step S740 that the candidate is not excluded (included in the candidate), the process proceeds to step S741.
  • step S741 the vector prediction unit 434 determines whether scaling is required for the motion (disparity) vector of the time correlation block based on the determination result in step S739.
  • step S742 the vector prediction unit 434 performs scaling processing on the motion (disparity) vector of the time correlation block.
  • step S741 If it is determined in step S741 that scaling is not necessary, the process returns to FIG.
  • the vector prediction unit 434 determines whether the reference image of the coding block is a short-time reference image or a long-time reference image in step S751.
  • step S752 the vector prediction unit 434 determines whether the reference image of the temporal correlation block is a short-time reference image or a long-time reference image.
  • step S753 the vector prediction unit 434 determines whether the reference image of the encoded block is a long-time reference image based on the determination result in step S751.
  • step S754 the vector prediction unit 434 further determines whether or not the reference image of the time correlation block is a long-time reference image based on the determination result in step S752.
  • step S755 the process proceeds to step S755.
  • the motion (parallax) vectors of the encoded block and the temporal correlation block are both long-time reference images. Therefore, in step S755, the vector prediction unit 434 includes the motion (disparity) vector of the time correlation block as a candidate and sets that scaling is unnecessary.
  • step S756 If it is determined in step S754 of FIG. 70 that the reference image of the time correlation block is a short-time reference image, the process proceeds to step S756. In this case, the types of motion (parallax) vectors do not match between the encoded block and the time correlation block. Therefore, in step S756, the vector prediction unit 434 sets to exclude the motion (parallax) vector of the time correlation block from the candidates. When the process of step S756 ends, the process returns to FIG.
  • step S753 of FIG. 70 when it is determined in step S753 of FIG. 70 that the reference image of the encoded block is a short-time reference image, the process proceeds to step S757.
  • the vector prediction unit 434 further determines whether or not the reference image of the time correlation block is a long-time reference image based on the determination result in step S752.
  • step S756 If it is determined that the reference image of the time correlation block is a long-time reference image, the process returns to step S756. That is, in this case, since the types of motion (disparity) vectors do not match between the encoded block and the time correlation block, the motion (disparity) vector of the time correlation block is set to be excluded from the candidates.
  • step S757 If it is determined in step S757 that the temporal correlation block reference image is a short-time reference image, the process proceeds to step S758.
  • the motion (disparity) vectors of the encoded block and the temporal correlation block are both short-time reference images. Therefore, in step S758, the vector prediction unit 434 includes the motion (disparity) vector of the temporal correlation block as a candidate and sets that further scaling is necessary.
  • the vector prediction unit 433 (FIG. 38) generates a motion (disparity) vector that is a candidate from spatially neighboring blocks in step S761.
  • step S762 the vector prediction unit 433 generates a motion (parallax) vector candidate list. Let A be the number of elements in this candidate list.
  • step S763 the vector prediction unit 433 determines whether the number A of elements in the candidate list is smaller than 2 (whether A ⁇ 2).
  • step S764 the vector prediction unit 433 generates candidate motion (parallax) vectors from the temporal correlation block. Since this process is the same as that described with reference to the flowchart of FIG. 69, the description thereof is omitted.
  • step S765 the vector prediction unit 433 generates a candidate list of motion (disparity) vectors and reference indexes. Let A ′ be the number of elements in this candidate list.
  • step S766 the vector prediction unit 433 determines whether the number of elements A ′ of the candidate list is smaller than 2 (whether A ′ ⁇ 2).
  • step S767 the vector prediction unit 433 newly generates a zero motion (disparity) vector and a zero reference index.
  • step S768 the process proceeds to step S768.
  • step S763 If it is determined in step S763 that the number A of elements in the candidate list is 2 or more (not A ⁇ 2), the process proceeds to step S768. Furthermore, when it is determined in step S766 that the number of elements A ′ in the candidate list is 2 or more (not A ⁇ 2), the process proceeds to step S768.
  • step S768 the vector prediction unit 433 generates an element index (flag) of the candidate list.
  • step S769 the vector prediction unit 433 acquires a motion (disparity) vector indicated by the element index.
  • the vector prediction unit 433 When the processing is started, the vector prediction unit 433 generates a motion (disparity) vector as a candidate from the block at the left position in step S771.
  • step S772 the vector prediction unit 433 generates a candidate motion (parallax) vector from the block at the upper position.
  • step S722 ends, the process returns to FIG.
  • the vector prediction unit 433 selects the block at the position A0 in step S781.
  • step S782 the vector prediction unit 433 determines whether or not the block at the position A0 is in the intra mode or cannot be used.
  • step S783 the vector prediction unit 433 determines whether the block at the position A0 refers to the same reference image as the encoded block.
  • step S784 the vector prediction unit 433 sets the motion (disparity) vector of the block at the position A0 as a candidate.
  • step S782 of FIG. 73 If it is determined in step S782 of FIG. 73 that the block at position A0 is in the intra mode or is unusable, the process proceeds to step S785. If it is determined in step S783 that the block at position A0 refers to a reference image different from the encoded block, the process proceeds to step S785.
  • step S785 the vector prediction unit 433 selects the block at the position A1.
  • step S786 the vector prediction unit 433 determines whether or not the block at the position A1 is in the intra mode or cannot be used.
  • step S787 the vector prediction unit 433 determines whether or not the block at the position A1 refers to the same reference image as the encoded block.
  • step S788 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position A1 as a candidate.
  • step S786 in FIG. 73 If it is determined in step S786 in FIG. 73 that the block at position A1 is in the intra mode or cannot be used, the process proceeds to step S791 in FIG. If it is determined in step S787 in FIG. 73 that the block at position A1 refers to a reference image different from the encoded block, the process proceeds to step S791 in FIG.
  • step S791 in FIG. 74 the vector prediction unit 433 selects the block at the position A0.
  • step S792 the vector prediction unit 433 determines whether or not the block at the position A0 is in the intra mode or cannot be used.
  • step S793 the vector prediction unit 433 sets the motion (disparity) vector of the block at the position A0 as a candidate.
  • step S797 the process proceeds to step S797.
  • step S792 of FIG. 74 If it is determined in step S792 of FIG. 74 that the block at position A0 is in the intra mode or cannot be used, the process proceeds to step S794.
  • step S794 the vector prediction unit 433 selects the block at the position A1.
  • step S795 the vector prediction unit 433 determines whether the block at the position A1 is in the intra mode or cannot be used.
  • step S795 the process proceeds to step S796.
  • step S796 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position A1 as a candidate.
  • step S797 the process proceeds to step S797.
  • step S797 the vector prediction unit 433 determines the presence / absence of a scaling process for motion (parallax) vectors of neighboring blocks and the presence / absence of a candidate.
  • step S798 the vector prediction unit 433 determines whether to exclude the motion (parallax) vectors of the neighboring blocks from the candidates based on the determination result in step S797.
  • step S799 the vector prediction unit 433 excludes the motion (disparity) vector of the left position block from the candidates.
  • step S798 in FIG. 74 If it is determined in step S798 in FIG. 74 that the candidate is not excluded (included in the candidate), the process proceeds to step S800.
  • step S800 the vector prediction unit 433 determines whether scaling is necessary for the motion (disparity) vectors of the neighboring blocks based on the determination result in step S797.
  • step S801 the vector prediction unit 433 performs scaling processing on the motion (parallax) vectors of the neighboring blocks.
  • step S800 in FIG. 74 If it is determined in step S800 in FIG. 74 that scaling is not necessary, the processing returns to FIG.
  • the vector prediction unit 433 determines in step S811 whether the reference image of the coding block is a short-time reference image or a long-time reference image.
  • step S812 the vector prediction unit 433 determines whether the reference image of the surrounding block is a short-time reference image or a long-time reference image.
  • step S813 the vector prediction unit 433 determines whether or not the reference image of the encoded block is a long-time reference image based on the determination result in step S811.
  • step S814 the vector prediction unit 433 further determines whether or not the reference image of the surrounding block is a long-time reference image based on the determination result in step S812.
  • the motion (parallax) vectors of the encoded block and the surrounding blocks are both long-time reference images. Therefore, in step S815, the vector prediction unit 433 includes motion (disparity) vectors of neighboring blocks as candidates and sets that scaling is not necessary.
  • step S816 If it is determined in step S814 in FIG. 75 that the reference image of the surrounding block is a short-time reference image, the process proceeds to step S816. In this case, the types of motion (parallax) vectors do not match between the encoded block and the neighboring blocks. Therefore, in step S816, the vector prediction unit 433 sets to exclude the motion (parallax) vectors of the neighboring blocks from the candidates. When the process of step S816 ends, the process returns to FIG.
  • step S813 in FIG. 75 when it is determined in step S813 in FIG. 75 that the reference image of the encoded block is a short-time reference image, the process proceeds to step S817.
  • step S817 the vector prediction unit 433 further determines whether the reference image of the surrounding block is a long-time reference image based on the determination result of step S812.
  • the process returns to step S816. That is, in this case, since the types of motion (parallax) vectors do not match between the encoded block and the neighboring blocks, the motion (parallax) vectors of the neighboring blocks are set to be excluded from the candidates.
  • step S817 If it is determined in step S817 that the reference image of the surrounding block is a short-time reference image, the process proceeds to step S818.
  • the motion (parallax) vectors of the encoded block and the surrounding blocks are both short-time reference images. Therefore, in step S818, the vector prediction unit 433 includes motion (disparity) vectors of neighboring blocks as candidates and sets that further scaling is necessary.
  • the vector prediction unit 433 selects the block at the position B0 in step S821.
  • step S822 the vector prediction unit 433 determines whether or not the block at the position B0 is in the intra mode or cannot be used.
  • step S823 the vector prediction unit 433 determines whether or not the block at the position B0 refers to the same reference image as the encoded block.
  • step S824 the vector prediction unit 433 uses the motion (disparity) vector of the block at the position B0 as a candidate.
  • step S822 If it is determined in step S822 in FIG. 76 that the block at position B0 is in the intra mode or cannot be used, the process proceeds to step S825. If it is determined in step S823 that the block at position B0 refers to a reference image different from the encoded block, the process proceeds to step S825.
  • step S825 the vector prediction unit 433 selects the block at the position B1.
  • step S826 the vector prediction unit 433 determines whether or not the block at the position B1 is in the intra mode or cannot be used.
  • step S827 the vector prediction unit 433 determines whether or not the block at the position B1 refers to the same reference image as the encoded block.
  • step S828 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position B1 as a candidate.
  • step S826 in FIG. 76 If it is determined in step S826 in FIG. 76 that the block at position B1 is in the intra mode or cannot be used, the process proceeds to step S829. If it is determined in step S827 that the block at position B1 refers to a reference image different from the encoded block, the process proceeds to step S829.
  • step S829 the vector prediction unit 433 selects the block at the position B2.
  • step S830 the vector prediction unit 433 determines whether or not the block at the position B2 is in the intra mode or cannot be used.
  • step S831 the vector prediction unit 433 determines whether or not the block at position B2 refers to the same reference image as the encoded block.
  • step S832 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position B2 as a candidate.
  • step S830 in FIG. 76 If it is determined in step S830 in FIG. 76 that the block at position B2 is in the intra mode or cannot be used, the process proceeds to step S841 in FIG. If it is determined in step S831 in FIG. 76 that the block at position B2 refers to a reference image different from the encoded block, the process proceeds to step S841 in FIG.
  • step S841 of FIG. 77 the vector prediction unit 433 determines whether a motion (parallax) vector candidate has been generated from the block at the left side position.
  • step S842 the vector prediction unit 433 selects the block at the position B0.
  • step S843 the vector prediction unit 433 determines whether the block at the position B0 is in the intra mode or not usable.
  • step S844 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position B0 as a candidate.
  • step S851 the process proceeds to step S851.
  • step S843 If it is determined in step S843 that the block at position B0 is in the intra mode or cannot be used, the process proceeds to step S845.
  • step S845 the vector prediction unit 433 selects the block at the position B1.
  • step S846 the vector prediction unit 433 determines whether or not the block at the position B1 is in the intra mode or cannot be used.
  • step S847 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position B1 as a candidate.
  • step S851 the process proceeds to step S851.
  • step S846 If it is determined in step S846 that the block at position B1 is in the intra mode or cannot be used, the process proceeds to step S848.
  • step S848 the vector prediction unit 433 selects the block at the position B2.
  • step S849 the vector prediction unit 433 determines whether the block at the position B2 is in the intra mode or not usable.
  • step S849 If it is determined in step S849 that the block at position B2 is in the intra mode or is unusable, the process returns to FIG.
  • step S850 the vector prediction unit 433 uses the motion (disparity) vector of the block at the position B2 as a candidate.
  • step S851 the process proceeds to step S851.
  • step S851 the vector prediction unit 433 determines the presence / absence of a scaling process for motion (parallax) vectors of neighboring blocks and the presence / absence of a candidate. Since this processing is performed in the same manner as described with reference to the flowchart of FIG. 75, description thereof is omitted. In this case, when the process of FIG. 75 is completed, the process returns to FIG. 77 instead of FIG.
  • step S852 the vector prediction unit 433 determines whether to exclude the motion (parallax) vectors of the neighboring blocks from the candidates based on the determination result in step S851.
  • step S853 the vector prediction unit 433 excludes the motion (parallax) vector of the upper position block from the candidates.
  • step S852 in FIG. 77 If it is determined in step S852 in FIG. 77 that the candidate is not excluded (included in the candidate), the process proceeds to step S854.
  • step S854 the vector prediction unit 433 determines whether scaling is necessary for the motion (disparity) vectors of the neighboring blocks based on the determination result in step S851.
  • step S855 the vector prediction unit 433 performs scaling processing on the motion (parallax) vectors of the neighboring blocks.
  • step S854 in FIG. 77 If it is determined in step S854 in FIG. 77 that scaling is not necessary, the processing returns to FIG.
  • the image encoding device 400 can suppress a reduction in encoding efficiency.
  • the decoding side may perform prediction by the same method as the encoding side. That is, on the decoding side, when the reference picture type (short-time reference picture or long-time reference picture) of the encoded vector and the prediction vector is different, the prediction vector is made unavailable (Not available).
  • the time-correlation block The motion (parallax) vector is selected as a candidate, and if the two types do not match, they are excluded from the candidates. Furthermore, when the reference image of the coding block and the reference image of the temporal correlation block are both short-term reference images, the motion (disparity) vector of the temporal correlation block is scaled, and both are long-term reference images. , The scaling of the motion (disparity) vector of the time correlation block is not performed.
  • the movement of the peripheral blocks A (parallax) vector is selected as a candidate, and when both types do not match, it is excluded from the candidates.
  • the motion (parallax) vectors of the peripheral blocks are scaled, and both are long-time reference images. In this case, scaling of motion (parallax) vectors of surrounding blocks is not performed.
  • Decoding processing by the image decoding apparatus 500 is performed in the same manner as described with reference to the flowchart of FIG. 33 (second embodiment). Moreover, the prediction process of step S305 of FIG. 33 is performed similarly to the case demonstrated with reference to the flowchart of FIG.
  • This process is basically performed in the same manner as the process on the encoding side (FIG. 67). However, since the prediction mode is determined by the encoding side, the decoding side only needs to perform processing for the used prediction mode.
  • step S861 the lossless decoding unit 302 decodes the prediction mode supplied from the encoding side.
  • step S862 the mode determination unit 531 determines whether or not the prediction mode is the merge (skip) mode.
  • step S863 the reference index determination unit 532 and the vector decoding unit 534 perform merge (skip) mode processing to generate a motion (disparity) vector and a reference index.
  • step S862 the mode is not the merge (skip) mode
  • the process proceeds to step S863.
  • step S864 the vector decoding unit 533 acquires a residual motion (disparity) vector and a reference index.
  • step S865 the vector decoding unit 533 performs AMVP mode processing to generate a predicted motion (disparity) vector.
  • step S866 the vector decoding unit 533 adds the residual motion (parallax) vector and the predicted motion (parallax) vector.
  • or step S874 is performed similarly to each process of step S711 thru
  • step S875 the vector decoding unit 534 decodes the maximum number X of candidate lists.
  • step S876 to step S880 is executed in the same manner as each process from step S716 to step S720 of FIG. However, the vector decoding unit 534 executes these processes.
  • step S881 the vector decoding unit 534 decodes the element index of the candidate list.
  • step S882 the vector decoding unit 534 acquires a motion (disparity) vector and a reference index indicated by the element index.
  • the vector decoding unit 534 decodes an index specifying a time correlation picture in step S891.
  • step S892 to step S902 is executed in the same manner as each processing from step S732 to step S742 in FIG. However, the vector decoding unit 534 executes these processes.
  • the presence / absence determination process and the presence / absence determination process of the time correlation block motion (disparity) vector executed in step S899 of FIG. 80 are executed in the same manner as described with reference to the flowchart of FIG. Therefore, the description is omitted. However, in this case, the processing is executed by the vector decoding unit 534, and when the processing in FIG. 70 is completed, the processing returns to FIG.
  • step S865 of FIG. 78 An example of the flow of AMVP mode processing executed in step S865 of FIG. 78 will be described with reference to the flowchart of FIG.
  • This process is basically performed in the same manner as the process on the encoding side (FIG. 71).
  • or step S917 is performed similarly to each process of step S761 thru
  • the vector decoding unit 533 executes these processes.
  • step S918 the vector decoding unit 533 decodes the element index (flag) of the candidate list.
  • step S919 the vector decoding unit 533 acquires a motion (disparity) vector indicated by the element index.
  • step S911 in FIG. 81 The processing for generating candidate motion (parallax) vectors from spatially neighboring blocks, which is executed in step S911 in FIG. 81, is the same as that described with reference to the flowcharts in FIGS. The description will be omitted. However, in this case, the processing is executed by the vector decoding unit 533, and when the processing in FIG. 72 is completed, the processing returns to FIG.
  • step S914 in FIG. 81 the process of generating candidate motion (parallax) vectors from the time correlation block, which is executed in step S914 in FIG. 81, is executed in the same manner as described with reference to the flowchart in FIG. Description is omitted. However, in this case, the processing is executed by the vector decoding unit 533, and when the processing in FIG. 80 is completed, the processing returns to FIG.
  • the image decoding apparatus 500 can correctly decode the encoded data, and can realize suppression of reduction in encoding efficiency.
  • the method for generating a motion (parallax) vector from surrounding blocks is not limited to this. For example, it may be determined whether or not motion (parallax) vectors can be candidates for the position A0 and the position A1, or all of the position B0, the position B1, and the position B2. That is, the presence / absence of a candidate is determined for each peripheral block at each position, and finally, the presence / absence of scaling processing is determined collectively.
  • FIG. 82 is a diagram illustrating an example of handling peripheral blocks.
  • vector prediction first, as to the peripheral block at each position, whether to include the motion (parallax) vector of the peripheral block in the candidate vector is determined as shown in the table shown in FIG.
  • a motion (parallax) vector is used as a candidate, and when both types do not match, it is excluded from the candidates.
  • the motion (disparity) vector of the peripheral block is scaled.
  • the motion (parallax) vector is not scaled.
  • step S921 to step S928 in FIG. 83 are executed in the same manner as each process of step S781 to step S788 in FIG.
  • the candidate motion (parallax) vector generation process ends from the block at the left position, and the process returns to FIG. If it is determined in step S926 that the block at the position A1 is in the intra mode or cannot be used, or it is determined in step S927 that the block at the position A1 refers to a reference image different from the encoded block. If so, the process proceeds to step S931 in FIG.
  • step S931 in FIG. 84 the vector prediction unit 433 selects the block at the position A0.
  • step S932 the vector prediction unit 433 determines whether or not the block at the position A0 is in the intra mode or cannot be used.
  • step S933 the vector prediction unit 433 determines whether there is a motion (parallax) vector candidate for the block at the position A0.
  • step S934 the vector prediction unit 433 determines whether or not a candidate is included based on the determination result in step S933.
  • step S935 the vector prediction unit 433 sets the motion (parallax) vector at the position A0 as a candidate.
  • step S943 the process proceeds to step S943.
  • step S934 If it is determined in step S934 that no candidate is included, the process proceeds to step S936.
  • the vector prediction unit 433 excludes the motion (disparity) vector of the block at the position A0 from the candidates.
  • step S936 When the process of step S936 ends, the process proceeds to step S937. If it is determined in step S932 that the block at position A0 is neither in the intra mode nor unusable, the process proceeds to step S937.
  • step S937 the vector prediction unit 433 selects the block at the position A1.
  • step S938 the vector prediction unit 433 determines whether the block at the position A1 is in the intra mode or cannot be used. When it is determined that the block at the position A1 is in the intra mode or is unusable, the motion (parallax) vector generation process that is a candidate from the block at the left position ends, and the process returns to FIG.
  • step S938 in FIG. 84 If it is determined in step S938 in FIG. 84 that the block at position A1 is neither in the intra mode nor unusable, the process proceeds to step S939.
  • step S939 the vector prediction unit 433 determines whether there is a motion (parallax) vector candidate for the block at the position A1.
  • step S940 the vector prediction unit 433 determines whether or not a candidate is included based on the determination result in step S939.
  • step S941 the vector prediction unit 433 sets the motion (parallax) vector at the position A1 as a candidate.
  • step S943 the process proceeds to step S943.
  • step S940 If it is determined in step S940 that no candidate is included, the process proceeds to step S942.
  • step S942 the vector prediction unit 433 excludes the motion (disparity) vector of the block at the position A1 from the candidates.
  • the motion (parallax) vector generation process that is a candidate from the block on the left side ends, and the process returns to FIG.
  • the vector prediction unit 433 determines the presence / absence of scaling processing of motion (disparity) vectors of the neighboring blocks.
  • step S944 the vector prediction unit 433 determines whether scaling is necessary for the motion (disparity) vectors of the neighboring blocks based on the determination result in step S943.
  • step S945 the vector prediction unit 433 performs scaling processing on the motion (parallax) vectors of the neighboring blocks.
  • step S944 in FIG. 84 If it is determined in step S944 in FIG. 84 that scaling is not necessary, the processing returns to FIG.
  • Steps S951 to S954 in FIG. 85 and steps S957 are executed in the same manner as steps S811 to S814 and step S817 in FIG.
  • step S953 When it is determined in step S953 that the reference image of the coding block is a long-time reference image, and in step S954, it is determined that the reference image of the surrounding block is a long-time reference image, the vector prediction unit 433 determines in step S955.
  • the motion (parallax) vectors of the peripheral blocks (position A0 or position A1) are set to be included in the candidates.
  • step S953 when it is determined in step S953 that the reference image of the encoded block is a long-time reference image and it is determined in step S954 that the reference image of the neighboring block is a short-time reference image, or in step S953, the encoding is performed.
  • the vector prediction unit 433 performs setting so as to exclude the motion (disparity) vector of the peripheral block (the block at the position A0 or the position A1) from the candidates.
  • step S953 when it is determined in step S953 that the reference image of the encoded block is a short-time reference image, and in step S957, it is determined that the reference image of the surrounding block is a short-time reference image, the vector prediction unit 433 In S958, the motion (parallax) vector of the peripheral block (block at position A0 or position A1) is set to be included in the candidate.
  • step S955 When the process of step S955, step S956, or step S958 is completed, the process returns to FIG.
  • Steps S961 to S963 and step S965 in FIG. 86 are executed in the same manner as steps S811 to S813 and step S817 in FIG.
  • step S963 When it is determined in step S963 that the reference image of the encoded block is a long-time reference image, or in step S963, it is determined that the reference image of the encoded block is a short-time reference image.
  • step S965 the peripheral block is determined. If it is determined that the reference image is a long-time reference image, the process proceeds to step S964. That is, when it is determined that at least one of the reference image of the coding block and the reference image of the surrounding block is a long-time reference image, the process proceeds to step S964.
  • step S964 the vector prediction unit 433 sets that scaling is not necessary.
  • step S963 in FIG. 86 when it is determined in step S963 in FIG. 86 that the reference image of the coding block is a short-time reference image, and in step S965, it is determined that the reference image of the surrounding block is a short-time reference image, that is, the code If it is determined that the reference image is a short-time reference image for both the quantization block and the surrounding blocks, the process proceeds to step S966.
  • step S966 the vector prediction unit 433 sets that scaling is necessary.
  • Steps S971 to S982 in FIG. 87 are executed in the same manner as steps S821 to S832 in FIG.
  • step S978, or step S982 ends, the process proceeds to step S1017 of FIG. If it is determined in step S980 that the block at position B2 is in the intra mode or is unusable, or it is determined in step S981 that the block at position B2 refers to a reference image different from the encoded block. If so, the process proceeds to step S991 in FIG.
  • step S991 in FIG. 88 the vector prediction unit 433 determines whether a motion (parallax) vector candidate has been generated from the block at the left side position.
  • step S992 the vector prediction unit 433 selects the block at the position B0.
  • step S993 the vector prediction unit 433 determines whether or not the block at the position B0 is in the intra mode or cannot be used.
  • step S994 the vector prediction unit 433 determines whether there is a motion (parallax) vector candidate for the block at the position B0. Since this process is performed in the same manner as described with reference to the flowchart of FIG. 85, the description thereof is omitted.
  • step S995 the vector prediction unit 433 determines whether to exclude candidates based on the determination result in step S994.
  • step S996 the vector prediction unit 433 excludes the motion (disparity) vector of the block at the position B0 from the candidates.
  • step S998 the process proceeds to step S998.
  • step S997 the vector prediction unit 433 sets the motion (parallax) vector of the block at the position B0 as a candidate.
  • step S993 If it is determined in step S993 that the block at position B0 is in the intra mode or cannot be used, the process proceeds to step S998.
  • step S998 the vector prediction unit 433 selects the block at the position B1.
  • step S999 the vector prediction unit 433 determines whether the block at the position B1 is in the intra mode or not usable.
  • step S1000 the vector prediction unit 433 determines whether there is a motion (parallax) vector candidate for the block at the position B1. Since this process is performed in the same manner as described with reference to the flowchart of FIG. 85, the description thereof is omitted.
  • step S1001 the vector prediction unit 433 determines whether to exclude candidates based on the determination result in step S1000.
  • step S1002 the vector prediction unit 433 excludes the motion (parallax) vector of the block at the position B1 from the candidates.
  • step S1001 in FIG. 88 if it is determined not to be excluded from candidates, the process proceeds to step S1003.
  • the vector prediction unit 433 uses the motion (disparity) vector of the block at the position B1 as a candidate.
  • the process of step S1003 ends, the process proceeds to step S1017 of FIG.
  • step S999 If it is determined in step S999 that the block at position B1 is in the intra mode or cannot be used, the process proceeds to step S1011 in FIG.
  • step S1011 in FIG. 89 the vector prediction unit 433 selects the block at the position B2.
  • step S1012 the vector prediction unit 433 determines whether or not the block at the position B2 is in the intra mode or cannot be used.
  • step S1013 the vector prediction unit 433 determines whether there is a motion (parallax) vector candidate for the block at the position B2. Since this process is performed in the same manner as described with reference to the flowchart of FIG. 85, the description thereof is omitted.
  • step S1014 the vector prediction unit 433 determines whether or not to exclude from the candidates based on the determination result in step S1013.
  • step S1015 the vector prediction unit 433 excludes the motion (disparity) vector of the block at the position B2 from the candidates.
  • step S1017 the process proceeds to step S1017.
  • Step S1014 if it is determined not to be excluded from the candidates, the process proceeds to Step S1016.
  • step S1016 the vector prediction unit 433 uses the motion (disparity) vector of the block at the position B2 as a candidate.
  • the process of step S1016 ends, the process proceeds to step S1017.
  • step S1017 the vector prediction unit 433 determines the presence / absence of scaling processing of motion (parallax) vectors of neighboring blocks. Since this processing is performed in the same manner as described with reference to the flowchart of FIG. 86, the description thereof is omitted.
  • step S1018 the vector prediction unit 433 determines whether scaling is necessary for the motion (disparity) vectors of the neighboring blocks based on the determination result in step S1017.
  • step S1019 the vector prediction unit 433 performs scaling processing on the motion (parallax) vectors of the neighboring blocks.
  • step S1018 of FIG. 89 If it is determined in step S1018 of FIG. 89 that scaling is not necessary, the processing returns to FIG.
  • the image encoding device 400 can suppress a reduction in encoding efficiency.
  • the image decoding apparatus 500 performs these processes similarly to the image encoding apparatus 400 described above, the description thereof is omitted. Thereby, the image decoding apparatus 500 can correctly decode the encoded data, and can realize a reduction in encoding efficiency.
  • the encoded block and the peripheral block refer to the same reference image.
  • the motion (parallax) vectors of the neighboring blocks are candidates only when they are referring to different reference images, they are excluded from the motion (parallax) vector candidates of the neighboring blocks, and the search process is also omitted. You may do it.
  • the long-time reference image is applied to a still region such as a background image or an image of a different view. Therefore, although both the reference image of the coding block and the reference image of the surrounding block are such long-time reference images, they are different from each other. It is considered that the mutual correlation is low. That is, the correlation between the motion (disparity) vectors of the encoded block and the surrounding blocks is considered to be low.
  • a pattern with such a low correlation (when the reference images of the encoded block and the peripheral block are both long-time reference images and the images are different from each other) is extracted from the vector candidates. By excluding it, it is possible to further suppress the reduction in coding efficiency. Further, the processing load can be reduced by omitting the process of determining whether there is a candidate or scaling.
  • FIG. 90 is a diagram illustrating another example of handling time correlation blocks and peripheral blocks.
  • whether to include the motion (disparity) vector of the temporal correlation block in the candidate vector and whether to perform scaling are determined as shown in the table shown in FIG.
  • whether to include the motion (disparity) vectors of the neighboring blocks in the candidate vector and whether to perform scaling are determined as shown in the table shown in FIG. 90B.
  • the motion (parallax) vectors of the peripheral blocks are made candidates only when the reference images are the same. Further, when these reference images are different from each other, not only the motion (parallax) vectors of the peripheral blocks are excluded from the candidates, but also the determination process for the presence of candidates and scaling is omitted.
  • both the reference image of the coding block and the reference image of the surrounding block are short-time reference images, the motion (disparity) vectors of the surrounding blocks are scaled, and when both are long-time reference images, Scaling of motion (parallax) vectors of surrounding blocks is not performed.
  • step S1034 or step S1038 the motion (parallax) vector generation process that is a candidate from the block at the left position is finished, and the process returns to FIG. If it is determined in step S1035 that the block at position A1 is in the intra mode or cannot be used, the process proceeds to step S1041 in FIG.
  • step S1037 of FIG. 91 determines that the block at position A1 refers to a reference image different from the encoded block. If it is determined in step S1037 of FIG. 91 that the block at position A1 refers to a reference image different from the encoded block, the process proceeds to step S1039.
  • step S1039 the vector prediction unit 433 determines whether both the reference image of the encoded block and the neighboring block are long-time reference images.
  • steps S1041 to S1051 in FIG. 92 are executed in the same manner as the processes in steps S791 to S799 in FIG.
  • step S1071 to S1082 in FIG. 93 are executed basically in the same manner as the processes in steps S821 to S832 in FIG.
  • step S1078, or step S1082 ends, the motion (parallax) vector generation process that is a candidate from the block at the upper position ends, and the process returns to FIG. If it is determined in step S1080 that the block at position B2 is in the intra mode or is unusable, the process proceeds to step S1091 in FIG.
  • step S1081 in FIG. 93 determines whether the block at position B2 refers to a reference image different from the encoded block. If it is determined in step S1081 in FIG. 93 that the block at position B2 refers to a reference image different from the encoded block, the process proceeds to step S1083.
  • step S1083 the vector prediction unit 433 determines whether both the reference image of the encoded block and the neighboring block are long-time reference images.
  • the motion (parallax) vector generation process that is a candidate from the block at the upper position ends, and the process returns to FIG.
  • step S1091 to step S1105 in FIG. 94 is executed in the same manner as each process of step S841 to step S855 in FIG.
  • the series of processes described above can also be applied to multi-view image encoding / multi-view image decoding (multi-view encoder / decoder). That is, even when multiview encoding / multiview decoding is performed, encoding efficiency can be improved. Furthermore, the series of processes described above can also be applied to hierarchical image coding (spatial scalability) and hierarchical image decoding (multilayer encoder / decoder). That is, even when performing hierarchical image encoding / hierarchical image decoding, encoding efficiency can be improved.
  • this technology is, for example, MPEG, H.264.
  • image information bitstream
  • orthogonal transform such as discrete cosine transform and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing is performed on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • a CPU (Central Processing Unit) 701 of the personal computer 700 performs various processes according to a program stored in a ROM (Read Only Memory) 702 or a program loaded from a storage unit 713 to a RAM (Random Access Memory) 703. Execute the process.
  • the RAM 703 also appropriately stores data necessary for the CPU 701 to execute various processes.
  • the CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704.
  • An input / output interface 710 is also connected to the bus 704.
  • the input / output interface 710 includes an input unit 711 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 712 including a speaker, and a hard disk.
  • a communication unit 714 including a storage unit 713 and a modem is connected. The communication unit 714 performs communication processing via a network including the Internet.
  • a drive 715 is also connected to the input / output interface 710 as necessary, and a removable medium 721 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately attached, and a computer program read from them is loaded. It is installed in the storage unit 713 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It only consists of removable media 721 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 702 in which a program is recorded and a hard disk included in the storage unit 713, which is distributed to the user in a state of being incorporated in the apparatus main body in advance.
  • a magnetic disk including a flexible disk
  • an optical disk It only consists of removable media 721 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 702 in which a program is recorded and a hard disk included in the storage unit 713, which is distributed to the user in a
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 96 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Accordingly, it is possible to realize a reduction in the encoding efficiency when the television device 900 decodes an image.
  • FIG. 97 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, at the time of encoding and decoding of an image with the mobile phone 920, a reduction in encoding efficiency can be suppressed.
  • FIG. 98 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946. *
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 99 shows an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Thereby, when the image is encoded and decoded by the imaging device 960, a reduction in encoding efficiency can be suppressed.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • (1) When encoding a current disparity vector of a current block used for prediction using the correlation of disparity directions, a reference disparity vector referred to when generating a prediction motion vector from the prediction vector of the current disparity vector
  • a prediction vector generation unit that generates using An image processing apparatus comprising: a difference vector generation unit that generates a difference vector between the current disparity vector and the prediction vector generated by the prediction vector generation unit.
  • the prediction vector generation unit predicts the current disparity vector using a disparity vector of a collocated block included in a collocated picture at a time different from the current picture for the same view as the current view.
  • the image processing apparatus according to (1), wherein a vector is generated.
  • the prediction vector generation unit sets the collocated block to available when the characteristics of the vector of the current block and the characteristics of the vector of the collocated block match.
  • the vector characteristic is a vector type, The prediction vector generation unit sets the collocated block to be available when the vector characteristic of the current block is a disparity vector and the vector characteristic of the collocated block is a disparity vector.
  • the predicted motion vector generation unit determines a vector characteristic of a current block and a vector characteristic of a collocated block using a POC (Picture Order Count) indicating an output order of pictures. Or the image processing apparatus as described in (4).
  • POC Picture Order Count
  • the predicted motion vector generation unit includes a POC of a current picture, a POC of a current reference picture referenced from the current picture, a POC of a collocated picture, and a collocated reference referenced from a collocated picture.
  • the predictive motion vector generation unit matches the POC of the current picture with the POC of the current reference picture referenced from the current picture, and is also referred to from the POC of the collocated picture and the collocated picture.
  • the image processing device wherein when the POC of the categorized reference picture matches, the current block vector characteristic and the collocated block vector characteristic are determined to be disparity vectors.
  • the prediction vector generation unit sets the collocated block to not available when the characteristics of the vector of the current block and the characteristics of the vector of the collocated block are different from each other.
  • the image processing apparatus according to any one of the above.
  • the vector characteristic is a type of reference picture,
  • the characteristic of the vector is a type of reference picture
  • the prediction vector generation unit skips a search process for searching for a reference index when the reference picture type of the current block is a long-time reference and the reference picture type of the collocated block is a long-time reference.
  • the image processing apparatus according to (8) or (9).
  • the prediction vector generation unit generates a prediction vector of the current disparity vector using a disparity vector of a reference block included in a picture at the same time as the current picture for a view different from the current view.
  • the image processing apparatus according to any one of (1) to (10).
  • the prediction vector generation unit scales the reference disparity vector based on a positional relationship between a current picture and a reference picture that is referred to when generating a prediction motion vector, and calculates a prediction vector of the current disparity vector.
  • the image processing device according to any one of (1) to (11).
  • the prediction vector generation unit generates a prediction motion vector from the prediction vector of the current motion vector when encoding the current motion vector of the current block used for prediction using the correlation in the time direction. Generated using the reference motion vector to refer to The image processing device according to any one of (1) to (12), wherein the difference vector generation unit generates a difference vector between the current motion vector and the prediction vector generated by the prediction vector generation unit.
  • the prediction vector generation unit generates a prediction vector of the current motion vector using a reference block motion vector included in a picture at the same time as the current picture for a view different from the current view.
  • the prediction vector generation unit generates a prediction vector of the current motion vector by using a motion vector of a reference block included in a picture at a different time from the current picture for the same view as the current view.
  • (16) The prediction vector generation unit scales the reference motion vector based on a positional relationship between a current picture and a reference picture that is referred to when generating a prediction motion vector, and calculates a prediction vector of the current motion vector.
  • the prediction vector generation unit targets a view different from the current view, and a vector of a block having the same position as the current block in a state where the pixel position of the picture at the same time as the current picture is shifted
  • the image processing device any one of (1) to (16), wherein the prediction vector is generated using
  • the image processing device (17), wherein the prediction vector generation unit sets a shift amount of the image according to a disparity vector of a peripheral region of the current block.
  • the prediction vector generation unit uses, as the shift amount, a parallax vector in the X direction of the peripheral block in which the value of the parallax vector in the Y direction is non-zero.
  • the prediction vector generation unit uses, as the shift amount, a value calculated from an X-direction disparity vector of a plurality of the peripheral blocks whose Y-direction disparity vector values are non-zero. Or the image processing apparatus as described in (19). (21) The prediction vector generation unit uses an average value or a median value of X-direction parallax vectors of a plurality of the peripheral blocks having non-zero values of Y-direction parallax vectors as the shift amount of the image. The image processing apparatus according to (20). (22) The image processing device according to any one of (17) to (21), wherein the prediction vector generation unit sets a shift amount of the image according to a global disparity vector.
  • the image processing apparatus is When encoding the current disparity vector of the current block used for prediction using the correlation of the disparity direction, the prediction vector of the current disparity vector is used as a reference disparity vector that is referred to when generating the predicted motion vector. Generate and An image processing method for generating a difference vector between the current disparity vector and the generated prediction vector. (24) In decoding of the current disparity vector of the current block used for prediction using the correlation of disparity directions, the prediction vector of the current disparity vector is used as a reference disparity vector that is referred to when generating a predicted motion vector.
  • a prediction vector generation unit to generate An image processing apparatus comprising: an arithmetic unit that performs an operation of adding the prediction vector generated by the prediction vector generation unit to a difference vector between the current parallax vector and the prediction vector to reconstruct the current parallax vector.
  • the image processing apparatus is In the decoding of the current disparity vector of the current block used for prediction using the correlation of the disparity direction, the prediction vector of the current disparity vector is generated using the reference disparity vector that is referred to when generating the predicted motion vector, An image processing method for performing an operation of adding the generated prediction vector to a difference vector between the current parallax vector and the prediction vector to reconstruct the current parallax vector.
  • a prediction vector generation unit to generate An image processing apparatus comprising: a difference vector generation unit that generates a difference vector between the current motion vector and the prediction vector generated by the prediction vector generation unit.
  • the image processing apparatus is When coding the current motion vector of a current block used for prediction using temporal correlation, a collocated block included in a collocated picture at a different time from the current picture's reference picture type and current picture When the type of the reference picture is different, the collocated block is set to be not available, and the prediction vector of the current motion vector is generated using the reference motion vector that is referred to when generating the prediction motion vector, An image processing method for generating a difference vector between the current motion vector and the generated prediction vector.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

 本技術は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、前記カレント視差ベクトルと、前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部とを備える。本開示は画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及した。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 しかしながら、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
 そこで、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
 このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
 ところで、AVCにおいて定義されているメジアン予測を用いた動きベクトルの符号化を改善するため、”Spatial Predictor”だけでなく、”Temporal Predictor”及び”Spatio-Temporal Predictor”も予測動きベクトルの候補にすることができるようにする方法が考えられた(例えば、非特許文献2参照)。
 また、動き情報の符号化方式の1つとして、Merge_FlagとMerge_Left_Flagが伝送される、Motion Partition Mergingと呼ばれる手法が提案されている(例えば、非特許文献3参照)。
Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010 Joel Jung,Guillaume Laroche,"Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)29th Meeting: Klagenfurt, Austria, 17-18 July, 2006 Martin Winken, Sebastian Bosse, Benjamin Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simon Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, and Thomas Wiegand,"Description of video coding technology proposed by Fraunhofer HHI",JCTVC-A116,April,2010
 しかしながら、同一視点内における処理しか示されておらず、多視点符号化の場合に、視点間を跨るベクトルの予測ができず、符号化効率が低減する恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することを目的とする。
 本開示の一側面は、視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、前記カレント視差ベクトルと、前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部とを備える画像処理装置である。
 前記予測ベクトル生成部は、カレントビューと同一のビューを対象として、カレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの視差ベクトルを用いて、前記カレント視差ベクトルの予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とが一致する場合に、コロケーテッドブロックをアベイラブルに設定することができる。
 前記ベクトルの特性は、ベクトルのタイプであり、前記予測ベクトル生成部は、カンレントブロックのベクトルの特性が視差ベクトルあり、かつ、コロケーテッドブロックのベクトルの特性が視差ベクトルである場合に、コロケーテッドブロックをアベイラブルに設定することができる。
 前記予測動きベクトル生成部は、ピクチャの出力順を示すPOC(Picture Order Count)を用いて、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とを判定することができる。
 前記予測動きベクトル生成部は、カレントピクチャのPOCと、カレントピクチャから参照されるカレントリファレンスピクチャのPOCと、コロケーテッドピクチャのPOCと、コロケーテッドピクチャから参照されるコロケーテッドリファレンスピクチャのPOCとを用いて、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とを判定することができる。
 前記予測動きベクトル生成部は、カレントピクチャのPOCとカレントピクチャから参照されるカレントリファレンスピクチャのPOCとが一致し、かつ、コロケーテッドピクチャのPOCとコロケーテッドピクチャから参照されるコロケーテッドリファレンスピクチャのPOCとが一致する場合に、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とは、視差ベクトルであると判定することができる。
 前記予測ベクトル生成部は、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定することができる。
 前記ベクトルの特性は、参照ピクチャのタイプであり、前記予測ベクトル生成部は、カレントブロックの参照ピクチャのタイプとコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定することができる。
 前記ベクトルの特性は、参照ピクチャのタイプであり、前記予測ベクトル生成部は、カレントブロックの参照ピクチャのタイプが長時間参照であり、かつ、コロケーテッドブロックの参照ピクチャのタイプが長時間参照である場合に、リファレンスインデックスを探索する探索処理をスキップすることができる。
 前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、カレントピクチャと同一の時刻のピクチャに含まれるリファレンスブロックの視差ベクトルを用いて、前記カレント視差ベクトルの予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、カレントピクチャと予測動きベクトルを生成する際に参照するリファレンスピクチャとの位置関係に基づいて、前記リファレンス視差ベクトルをスケーリングして、前記カレント視差ベクトルの予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成し、前記差分ベクトル生成部は、前記カレント動きベクトルと前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成することができる。
 前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、前記カレントピクチャと同一の時刻のピクチャに含まれるリファレンスブロックの動きベクトルを用いて、前記カレント動きベクトルの予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、前記カレントビューと同一のビューを対象として、前記カレントピクチャと異なる時刻のピクチャに含まれるリファレンスブロックの動きベクトルを用いて、前記カレント動きベクトルの予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、カレントピクチャと予測動きベクトルを生成する際に参照するリファレンスピクチャとの位置関係に基づいて、前記リファレンス動きベクトルをスケーリングして、前記カレント動きベクトルの予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、前記カレントピクチャと同一の時刻のピクチャの画素の位置をシフトさせた状態で前記カレントブロックと同じ位置となるブロックのベクトルを用いて、前記予測ベクトルを生成することができる。
 前記予測ベクトル生成部は、前記カレントブロックの周辺領域の視差ベクトルに応じて、前記画像のシフト量を設定することができる。
 前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである前記周辺ブロックの、X方向の視差ベクトルを、前記シフト量とすることができる。
 前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである複数の前記周辺ブロックの、X方向の視差ベクトルから算出される値を、前記シフト量とすることができる。
 前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである複数の前記周辺ブロックの、X方向の視差ベクトルの平均値又は中央値を、前記画像のシフト量とすることができる。
 前記予測ベクトル生成部は、グローバル視差ベクトルに応じて、前記画像のシフト量を設定することができる。
 本開示の一側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成し、前記カレント視差ベクトルと、生成された前記予測ベクトルとの差分ベクトルを生成する画像処理方法である。
 本開示の他の側面は、視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、前記カレント視差ベクトルと前記予測ベクトルとの差分ベクトルに、前記予測ベクトル生成部により生成された前記予測ベクトルを加算し、前記カレント視差ベクトルを再構築する演算を行う演算部とを備える画像処理装置である。
 本開示の他の側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成し、前記カレント視差ベクトルと前記予測ベクトルとの差分ベクトルに、生成された前記予測ベクトルを加算し、前記カレント視差ベクトルを再構築する演算を行う画像処理方法である。
 本開示のさらに他の側面は、時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定し、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成する予測ベクトル生成部と、前記カレント動きベクトルと前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部とを備える画像処理装置である。
 本開示のさらに他の側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定し、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成し、前記カレント動きベクトルと生成された前記予測ベクトルとの差分ベクトルを生成する画像処理方法である。
 本開示の一側面においては、視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、カレント視差ベクトルの予測ベクトルが、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成され、カレント視差ベクトルと、生成された予測ベクトルとの差分ベクトルが生成される。
 本開示の他の側面においては、視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、カレント視差ベクトルの予測ベクトルが、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成され、カレント視差ベクトルと予測ベクトルとの差分ベクトルに、生成された予測ベクトルを加算し、カレント視差ベクトルを再構築する演算が行われる。
 本開示のさらに他の側面においては、時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックがノットアベイラブルに設定され、カレント動きベクトルの予測ベクトルが、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成され、カレント動きベクトルと生成された予測ベクトルとの差分ベクトルが生成される。
 本開示によれば、画像を処理することができる。特に、符号化効率の低減を抑制することができる。
予測ユニットの種類の例を説明する図である。 マージモードの時間相関領域において、参照画像インデックス決定で使用する周辺領域の例を説明する図である。 マージモードの時間相関領域における参照画像インデックスの決定条件の例を示す図である。 時間相関領域の決定方法の例を説明する図である。 時間相関領域を含む画像の決定方法の例を説明する図である。 カレント領域と時間相関領域の位置関係の例を説明する図である。 時間相関領域の動きベクトルのスケーリングの例を示す図である。 3視点画像の参照関係の例を示す図である。 カレント領域に対して視差ベクトルを予測する場合の参照画像を割り当ての例を説明する図である。 カレント領域に対して、動きベクトルを予測する場合の参照画像を割り当ての例を説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 動き視差予測・補償部の主な構成例を示すブロック図である。 時間視差相関予測ベクトル生成部の主な構成例を示すブロック図である。 方式選択の例を説明する図である。 コロケーテッドベクトルのアベイラビリティを判定する様子を説明する図である。 コロケーテッドベクトルがアベイラブルな場合の例を説明する図である。 シーケンスパラメータセットのシンタックスの例を示す図である。 スライスヘッダのシンタックスの例を示す図である。 予測ユニットのシンタックスの例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 マージモード処理の流れの例を説明するフローチャートである。 視差動きベクトル予測処理の流れの例を説明するフローチャートである。 時間視差相関予測処理の流れの例を説明するフローチャートである。 時間視差相関予測処理の流れの例を説明する、図22に続くフローチャートである。 時間視差相関予測処理の流れの例を説明する、図23に続くフローチャートである。 時間視差相関予測処理の流れの例を説明する、図24に続くフローチャートである。 方式1処理の流れの例を説明するフローチャートである。 方式3処理の流れの例を説明するフローチャートである。 方式4-2処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 動き視差補償部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 動き視差補償処理の流れの例を説明するフローチャートである。 動き視差ベクトル生成処理の流れの例を説明するフローチャートである。 画像符号化装置の他の構成例を示すブロック図である。 動き予測・補償部の主な構成例を示すブロック図である。 ベクトル予測部の主な構成例を示すブロック図である。 異なるピクチャからの予測ベクトル生成部の主な構成例を示すブロック図である。 動き予測・補償処理の流れの例を説明するフローチャートである。 ベクトル予測処理の流れの例を説明するフローチャートである。 予測ベクトル生成処理の流れの例を説明するフローチャートである。 異なるピクチャからの予測ベクトル生成処理の流れの例を説明するフローチャートである。 シフト量決定処理の流れの例を説明するフローチャートである。 カレントブロックと周辺ブロックの配置例を示す図である。 画像復号装置の他の構成例を示すブロック図である。 動き補償部の主な構成例を示すブロック図である。 ベクトル復号部の主な構成例を示すブロック図である。 異なるピクチャからの予測ベクトル生成部の主な構成例を示すブロック図である。 動き補償処理の流れの例を説明するフローチャートである。 ベクトル復号処理の流れの例を説明するフローチャートである。 予測ベクトル生成処理の流れの例を説明するフローチャートである。 異なるピクチャからの予測ベクトル生成処理の流れの例を説明するフローチャートである。 シフト量決定処理の流れの例を説明するフローチャートである。 予測ベクトルを生成する様子の例を示す図である。 視差と奥行きについて説明する図である。 予測ベクトル生成方法の例を説明する図である。 予測ベクトル生成処理の流れの例を説明するフローチャートである。 異なるピクチャからの予測ベクトル生成処理の流れの例を説明するフローチャートである。 異なるピクチャからの予測ベクトル生成処理の流れの例を説明する、図60に続くフローチャートである。 背景静止アプリの参照画像の様子の例を説明する図である。 ステレオアプリの参照画像の様子の例を説明する図である。 参照画像のタイプとベクトルの特性の例を比較する図である。 周辺ブロックの例を説明する図である。 時間相関ブロックと周辺ブロックの取り扱いの例を説明する図である。 PUの動き(視差)ベクトルと参照インデックス生成処理の流れの例を説明するフローチャートである。 マージ(スキップ)モード処理の流れの例を説明するフローチャートである。 時間相関ブロックから候補となる動き(視差)ベクトル生成処理の流れの例を説明するフローチャートである。 時間相関ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無の判定処理の流れの例を説明するフローチャートである。 AMVPモード処理の流れの例を説明するフローチャートである。 空間的に周辺のブロックから候補となる動き(視差)ベクトルを生成する処理の流れの例を説明するフローチャートである。 左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を説明するフローチャートである。 左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を説明する、図73に続くフローチャートである。 周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無の判定処理の流れの例を説明するフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を説明するフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を説明する、図76に続くフローチャートである。 PUの動き(視差)ベクトルと参照インデックス生成処理の流れの例を説明するフローチャートである。 マージ(スキップ)モード処理の流れの例を説明するフローチャートである。 時間相関ブロックから候補となる動き(視差)ベクトル生成処理の流れの例を説明するフローチャートである。 AMVPモード処理の流れの例を説明するフローチャートである。 周辺ブロックの取り扱いの例を説明する図である。 左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの他の例を説明するフローチャートである。 左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの他の例を説明する、図83に続くフローチャートである。 周辺ブロックの動き(視差)ベクトルの候補の有無の判定処理の流れの例を説明するフローチャートである。 周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無の判定処理の流れの他の例を説明するフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの他の例を説明するフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの他の例を説明する、図87に続くフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの他の例を説明する、図88に続くフローチャートである。 時間相関ブロックと周辺ブロックの取り扱いの、さらに他の例を説明する図である。 左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れのさらに他の例を説明するフローチャートである。 左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れのさらに他の例を説明する、図91に続くフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れのさらに他の例を説明するフローチャートである。 上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れのさらに他の例を説明する、図93に続くフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置)
 2.第2の実施の形態(画像復号装置)
 3.第3の実施の形態(画像符号化装置)
 4.第4の実施の形態(画像復号装置)
 5.第5の実施の形態(画像符号化装置・画像復号装置)
 6.第6の実施の形態(画像符号化装置・画像復号装置)
 7.第7の実施の形態(コンピュータ)
 8.第8の実施の形態(応用例)
 <1.第1の実施の形態>
 [動き予測]
 AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等の画像符号化においては、時間方向(フレーム間)の相関を利用した動き予測が行われる。
 このような予測処理の処理単位として、AVCにおいては、マクロブロックやサブマクロブロックといった階層構造のブロックが規定されているが、HEVCにおいては、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)である予測ユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、変換ユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
 なお、以下において、「領域」には、上述した各種領域(例えば、マクロブロック、サブマクロブロック、LCU、CU、SCU、PU、およびTU等)を全て含む(それらのいずれであってもよい)。もちろん、上述した以外の単位が含まれてもよいし、説明の内容に応じて不可能な単位は、適宜、除外するものとする。
 図1は、符号化処理単位であるCUに対する、予測処理単位である予測ユニット(PU)の構成例を示す。図1に示されるように、1CUに対して4種類のPUを形成することができる。図1に示される4つの大きな正方形がCUを示し、その内部の長方形若しくは正方形がPUを示す。数字は、各PUのインデックスを示すものであり、画像の内容を示すものではない。
 図1に示されるように、左上の例の場合、CUは1つのPU(2N×2N)により構成される。すなわち、この場合、CUとPUは等価である。また、右上の例の場合、CUは、上下に2分割され、2つの横長のPU(2N×N)により構成される。さらに、左下の例の場合、CUは、左右に2分割され、2つの縦長のPU(N×2N)により構成される。また、右下の例の場合、CUは、上下左右に2分割(合計4分割)され、4つの正方形のPU(N×N)により構成される。この中のいずれのパターンが適用されるかは、画像の内容(予測結果のコスト関数値)により決定される。
 ところで、非特許文献3には、動き情報の符号化方式の1つとして、Motion Partition Mergingと呼ばれる手法(マージモード)が提案されている。この手法においては、MergeFlagと、MergeLeftFlagという、2つのflagが、マージモードに関する情報であるマージ情報として伝送される。MergeFlag=1は、処理対象であるカレント領域(注目領域とも称する)Xの動き情報が、カレント領域の上に隣接する周辺領域T、若しくは、カレント領域の左に隣接する周辺領域Lの動き情報と同一であることを示す。この時、マージ情報には、MergeLeftFlagが含められ、伝送される。MergeFlag=0は、カレント領域Xの動き情報が、周辺領域Tおよび周辺領域Lのいずれの動き情報とも異なることを示す。この場合、カレント領域Xの動き情報が伝送される。
 カレント領域Xの動き情報が、周辺領域Lの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=1となる。カレント領域Xの動き情報が、周辺領域Tの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=0となる。
 なお、このようなマージモードにおいて、空間的な周辺領域LおよびTだけでなく、時間的な周辺領域(時間相関領域)も、カレント領域Xとマージさせる領域の候補とすることが考えられている。
 参照画像インデックスは、図2に示されるように、処理対象であるカレント領域(Current Block)に対して左に隣接する周辺領域A、上に隣接する周辺領域B、および右上に隣接する周辺領域Cの参照画像インデックスに基づいて図3に示される表のように決定される。
 図3に示される表において、左から2番目乃至4番目の列は、それぞれ、周辺領域A乃至周辺領域Cの参照画像インデックスの状態を表している。左から1列目は、決定された参照画像インデックスである。「x」、「y」、および「z」は、それぞれ、任意の自然数を示し、「-1」は、参照不可であることを示している。
 周辺領域A乃至周辺領域Cのうち、参照可能な領域が1つしかない場合、そのブロックの参照画像インデックスを使う。また、周辺領域A乃至周辺領域Cのうち、参照可能な領域が2つある場合、最小の参照画像インデックスを使う。さらに、周辺領域A乃至周辺領域Cの全てが参照不可の場合、参照画像インデックスを0とする。
 処理対象であるカレント領域に対して時間的な周辺に位置する時間相関領域は、図4に示されるように決定される。図4において、左が処理対象であるカレントピクチャ(CurrPic)(注目ピクチャとも称する)の一部の領域を示し、その中の左上の四角がカレント領域(CurrPU)を示す。また、図4の右がカレントピクチャの時間的に周辺に位置する時間相関ピクチャ(colPic)の一部の領域を示している。この時間相関ピクチャにおいて、カレント領域の右下の画素と同じ位置の画素を含む領域を時間相関領域(colPU)とする。この領域が参照不可の場合、復号領域の中央の画素と同じ位置の画素を含む領域を時間相関領域(colPU)とする。
 また、時間相関ピクチャは、図5に示されるように決定される。例えば、カレントピクチャがBピクチャで、collocated_from_l0_flagが1の場合、リストL1の参照画像インデックス0のピクチャが時間相関ピクチャとされる。また、カレントピクチャが、Pピクチャの場合若しくはBピクチャでcollocated_from_l0_flagが0の場合、リストL0の参照画像インデックス0のピクチャが時間相関ピクチャとされる。
 さらに、カレントピクチャと時間相関ピクチャとの位置関係によって、図6に示されるように、飛び越しフラグが設定される。例えば、図6の上に示されるように、時間相関ピクチャの参照画像の時間的位置がカレントピクチャを飛び越す(時間相関ピクチャと参照画像の間にカレントピクチャが存在する)場合、飛び越しフラグが1に設定される。
 また、時間相関ピクチャの参照画像の時間的位置がカレントピクチャを飛び越さない(時間相関ピクチャと参照画像の間にカレントピクチャが存在しない)場合、飛び越しフラグが0に設定される。飛び越しフラグが1の場合、カレント領域が、時間相関領域と時間相関領域の参照画像の内挿となるため、予測ベクトルの信頼度が高い。
 また、予測ベクトルpmv生成の際には、時間相関領域の動きベクトルmvColが利用されるが、その場合、図7に示される例のように、時間相関領域の動きベクトルのスケーリングが行われる。すなわち、カレント領域とカレント領域の参照画像の時間的距離Aと、時間相関領域と時間相関領域の参照画像の時間的距離Bに基づき、以下の式(1)および式(2)のようにスケーリングが行われる。
 AとBが等しい場合、pmv = mvCol ・・・(1)
 AとBが等しくない場合、pmv = mvCol×A/B ・・・(2)
 ところで、多視点画像の場合、画像は複数のビューよりなり、このビュー間(視差方向)の相関性を利用した視差予測も行われる。図8に3視点画像の参照関係の例を示す。
 図8に示される3視点画像は、ビュー0、ビュー1、およびビュー2の3つのビューよりなる。図8において、POCは、時刻のインデックスを示す。またPicNumは、復号順序のインデックスを示す。
 ビュー0は、ベースビューと呼ばれ、時間相関を利用して予測を行う時間予測を使って符号化されている。ビュー1は、ノンベースビューと呼ばれ、時間予測と視差予測を使って符号化される。視差予測では、符号化済みのビュー0とビュー2を参照することができる。ビュー2は、ノンベースビューと呼ばれ、時間予測と視差予測を使って符号化される。視差予測では、符号化済みのビュー0を参照することができる。
 しかしながら、上述したように従来の予測ベクトルは動きベクトルに関するもののみであり、このような視点(ビュー)間を跨ぐ視差予測において生成される、ビュー間の、同一若しくは最も近似する部分画像の位置関係を示す視差ベクトルについての符号化(予測)は考えられていなかった。この視差ベクトルは、時間予測の動きベクトルに相当する情報であり、同一時刻の異なるビューの画像を用いてカレント領域の予測画像を生成する時間予測に用いられる。そのため、視差ベクトルの予測を適切に行うことができず、符号化効率が低減する恐れがあった。
 そこで、本技術においては、多視点画像において、以下のように視差ベクトルや動きベクトル(動き視差ベクトル)の予測を行う。
 例えば、カレント領域の視差ベクトル(カレント視差ベクトルとも称する)の予測は、図9に示される例のように行われる。この例では、リスト1の参照画像インデックス0に同一ビュー(view_id=1)の参照画像が割り当てられ、参照画像インデックス1に異なるビュー(view_id=2)の参照画像が割り当てられている。
 リスト1の参照画像インデックス0(RefPicList[0])を時間相関ピクチャとする場合、その時間相関ピクチャに含まれる時間相関領域(colPicB)のベクトルが、同一時刻の異なるビューを参照する視差ベクトルの時、予測ベクトルとして採用する。
 また、リスト1の参照画像インデックス1(RefPicList[1])をビュー相関ピクチャとする場合、そのビュー相関ピクチャに含まれるビュー相関領域(colPicA)のベクトルが、同一時刻の異なるビューを参照する視差ベクトルの時、予測ベクトルとして採用する。
 すなわち、本技術においては、カレント視差ベクトルの予測のために、すべての参照画像インデックスが相関ピクチャの候補とされる。また、各相関領域のベクトルが、カレント領域のベクトルと同じく、視差ベクトルであるか否かが判定される。
 また、カレント領域の動きベクトル(カレント動きベクトルとも称する)の予測は、図10に示される例のように行われる。この例では、リスト1の参照画像インデックス0に同一ビュー(view_id=1)の参照画像が割り当てられ、参照画像インデックス1に異なるビュー(view_id=2)の参照画像が割り当てられている。
 リスト1の参照画像インデックス0(RefPicList[0])を時間相関ピクチャとする場合、その時間相関ピクチャに含まれる時間相関領域(colPicB)のベクトルが、同一ビューの異なる時刻を参照する動きベクトルの時、予測ベクトルとして採用する。
 また、リスト1の参照画像インデックス1(RefPicList[1])をビュー相関ピクチャとする場合、そのビュー相関ピクチャに含まれるビュー相関領域(colPicA)のベクトルが、同一ビューの異なる時刻を参照する動きベクトルの時、予測ベクトルとして採用する。
 すなわち、本技術においては、カレント動きベクトルの予測のために、すべての参照画像インデックスが相関ピクチャの候補とされる。また、各相関領域のベクトルが、カレント領域のベクトルと同じく、動きベクトルであるか否かが判定される。
 また、視差ベクトルを予測ベクトルとする場合のスケーリング処理は、以下のように行われる。すなわち、カレント領域とその参照画像のビュー間距離と、相関領域とその参照画像のビュー間距離に基づいて、予測ベクトルがスケーリングされる。
 従来の場合、動きベクトルを予測するのみであったので、時間的な距離のみが使用されていたが、多視点画像の場合、視差ベクトルを予測する必要があるので、本技術は、ビュー間距離も使用する。これにより、符号化効率を向上させることができる。
 [画像符号化装置]
 図11は、画像処理装置である画像符号化装置の主な構成例を示すブロック図である。
 図11に示される画像符号化装置100は、例えばAVCやHEVC等の符号化方式のように、予測処理を用いて画像データを符号化する。ただし、画像符号化装置100は、複数のビューからなる多視点画像を符号化する。以下においては、多視点画像の一例として、3つのビューからなる3視点画像を処理する場合について説明する。ただし、実際には、画像符号化装置100は、任意の視点数(ビュー数)の多視点画像を符号化することができる。
 図11に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、ループフィルタ111、デコードピクチャバッファ112、選択部113、イントラ予測部114、動き視差予測・補償部115、予測画像選択部116、および多視点デコードピクチャバッファ121を有する。
 A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、その画像のビューIDおよびPOCとともに、演算部103に供給する。
 また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、その画像のビューIDおよびPOCとともに、イントラ予測部114および動き視差予測・補償部115にも供給する。なお、ビューIDは、視点を識別するための情報であり、POCは、時刻を識別するための情報である。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き視差予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き視差予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、量子化部105において量子化された変換係数を、任意の符号化方式で符号化する。また、可逆符号化部106は、イントラ予測のモードを示す情報等を含むイントラ予測情報をイントラ予測部114から取得し、インター予測のモードを示す情報や動き視差ベクトル情報などを含むインター予測情報を動き視差予測・補償部115から取得する。さらに、可逆符号化部106は、ループフィルタ111において使用されたフィルタ係数等を取得する。
 可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、ビットストリームとして、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。つまり、符号化された各種情報が復号側に供給される。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(局所的に復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、局所的に復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き視差予測・補償部115から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはデコードピクチャバッファ112に供給される。
 ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
 ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をデコードピクチャバッファ112に供給する。
 デコードピクチャバッファ112は、演算部110から供給される再構成画像と、ループフィルタ111から供給される復号画像とをそれぞれ記憶する。また、デコードピクチャバッファ112は、その画像のビューIDおよびPOCを記憶する。
 デコードピクチャバッファ112は、所定のタイミングにおいて、若しくは、イントラ予測部114等の外部からの要求に基づいて、記憶している再構成画像(並びに、その画像のビューIDおよびPOC)を、選択部113を介して、イントラ予測部114に供給する。また、デコードピクチャバッファ112は、所定のタイミングにおいて、若しくは、動き視差予測・補償部115等の外部からの要求に基づいて、記憶している復号画像(並びに、その画像のビューIDおよびPOC)を、選択部113を介して、動き視差予測・補償部115に供給する。
 選択部113は、デコードピクチャバッファ112から出力される画像の供給先を示す。例えば、イントラ予測の場合、選択部113は、デコードピクチャバッファ112からフィルタ処理されていない画像(再構成画像)を読み出し、周辺画素として、イントラ予測部114に供給する。
 また、例えば、インター予測の場合、選択部113は、デコードピクチャバッファ112からフィルタ処理された画像(復号画像)を読み出し、参照画像として、それを動き視差予測・補償部115に供給する。
 イントラ予測部114は、デコードピクチャバッファ112から、処理対象領域の周辺に位置する周辺領域の画像(周辺画像)を取得すると、その周辺画像の画素値を用いて、基本的にプレディクションユニット(PU)を処理単位として予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、イントラ予測部114は、最適なイントラ予測モード等、イントラ予測に関する情報を含むイントラ予測情報を、適宜可逆符号化部106に供給し、符号化させる。
 動き視差予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、デコードピクチャバッファ112から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測や視差予測(インター予測)を行い、検出された動き視差ベクトルに応じて補償処理を行い、予測画像(インター予測画像情報)を生成する。動き視差予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測(画面間予測)を行う。
 動き視差予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き視差予測・補償部115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、動き視差予測・補償部115は、最適なインター予測モード等、インター予測に関する情報を含むインター予測情報を可逆符号化部106に供給し、符号化させる。
 予測画像選択部116は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部116は、予測画像の供給元としてイントラ予測部114を選択し、そのイントラ予測部114から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部116は、予測画像の供給元として動き視差予測・補償部115を選択し、その動き視差予測・補償部115から供給される予測画像を演算部103や演算部110に供給する。
 デコードピクチャバッファ112は、処理対象のビューの画像(並びに、その画像のビューIDおよびPOC)のみを記憶するが、多視点デコードピクチャバッファ121は、各視点(ビュー)の画像(並びに、その画像のビューIDおよびPOC)を記憶する。つまり、多視点デコードピクチャバッファ121は、デコードピクチャバッファ112に供給された復号画像(並びに、その画像のビューIDおよびPOC)を取得し、デコードピクチャバッファ112とともにその復号画像(並びに、その画像のビューIDおよびPOC)を記憶する。
 デコードピクチャバッファ112は、処理対象のビューが変わると、その復号画像を消去するが、多視点デコードピクチャバッファ121は、そのまま保持する。そして、デコードピクチャバッファ112などの要求に従って、記憶している復号画像(並びに、その画像のビューIDおよびPOC)を、「処理対象ではないビューの復号画像」として、デコードピクチャバッファ112に供給する。デコードピクチャバッファ112は、多視点デコードピクチャバッファ121から読み出した「処理対象ではないビューの復号画像(並びに、その画像のビューIDおよびPOC)」を、選択部113を介して動き視差予測・補償部115に供給する。
 [動き視差予測・補償部]
 図12は、図11の動き視差予測・補償部の主な構成例を示すブロック図である。
 図12に示されるように、動き視差予測・補償部115は、動き視差ベクトル探索部131、予測画像生成部132、符号化情報蓄積バッファ133、および選択部134を有する。また、動き視差予測・補償部115は、空間相関予測ベクトル生成部135、時間視差相関予測ベクトル生成部136、選択部137、符号化コスト算出部138、およびモード判定部139を有する。
 動き視差ベクトル探索部131は、デコードピクチャバッファ112から復号画像画素値を取得し、画面並べ替えバッファ102から原画像画素値を取得する。動き視差ベクトル探索部131は、それらを用いて、処理対象であるカレント領域の参照画像インデックスを決定し、時間方向および視差方向の動き探索を行い、カレント動きベクトルおよびカレント視差ベクトルを生成する。
 なお、以下において、時間方向、すなわち、フレーム(ピクチャ)間の動きを示す動きベクトルと、視差方向、すなわち、ビュー間の動きを示す視差ベクトルとを互いに区別する必要が無い場合、若しくは、その両方を指す場合、動き視差ベクトルと称する。カレント領域の動き視差ベクトルは、カレント動き視差ベクトルとも称する。
 動き視差ベクトル探索部131は、参照画像インデックスと動き視差ベクトルとを予測画像生成部132および符号化コスト算出部138に供給する。
 予測画像生成部132は、動き視差ベクトル探索部131から参照画像インデックスと動き視差ベクトルとを取得するとともに、デコードピクチャバッファ112から復号画像画素値を取得する。予測画像生成部132は、それらを用いてカレント領域の予測画像を生成する。予測画像生成部132は、予測画像画素値を符号化コスト算出部138に供給する。
 符号化情報蓄積バッファ133は、モード判定部139において最適モードに選択されたモードを示すモード情報、並びに、そのモードの参照画像インデックスおよび動き視差ベクトルを記憶する。符号化情報蓄積バッファ133は、所定のタイミングにおいて、若しくは、外部からの要求に従って、記憶しているそれらの情報を、選択部134に供給する。
 選択部134は、符号化情報蓄積バッファ133から供給されたモード情報、参照画像インデックス、および動き視差ベクトルを空間相関予測ベクトル生成部135若しくは時間視差相関予測ベクトル生成部136に供給する。
 空間相関予測ベクトル生成部135および時間視差相関予測ベクトル生成部136は、処理対象であるカレント領域の動きベクトル(カレント動きベクトル)の予測値(予測ベクトル)を生成する。
 空間相関予測ベクトル生成部135は、空間的な相関を利用して予測ベクトル(空間相関予測ベクトル)を生成する。より具体的には、空間相関予測ベクトル生成部135は、選択部134を介して符号化情報蓄積バッファ133から、カレント領域と同一のフレーム(カレントフレーム(注目フレームとも称する))の、カレント領域の空間的な周辺に位置する周辺領域(空間周辺領域)の動き情報に関する情報(モード情報、参照画像インデックス、および動き視差ベクトル等)を取得する。
 空間相関予測ベクトル生成部135は、例えば、複数の空間周辺領域の動きベクトル(空間周辺動きベクトル)を用いてメジアン演算を行い、空間相関予測ベクトルを生成する。空間相関予測ベクトル生成部135は、生成した空間相関予測ベクトルを選択部137に供給する。
 時間視差相関予測ベクトル生成部136は、時間的な相関若しくは視差的な相関を利用して予測ベクトル(時間視差相関予測ベクトル(時間相関予測ベクトル若しくは視差相関予測ベクトル))を生成する。より具体的には、時間視差相関予測ベクトル生成部136は、例えば、選択部134を介して符号化情報蓄積バッファ133から、カレント領域の時間的な周辺に位置する周辺領域(時間周辺領域)の動き情報に関する情報を取得する。時間周辺領域とは、カレント領域と同一ビュー(カレントビュー(注目ビューとも称する))の、カレントフレームと異なるフレーム(ピクチャ)のカレント領域に相当する位置の領域、若しくはその近傍の領域のことを示す。
 また、例えば、時間視差相関予測ベクトル生成部136は、選択部134を介して符号化情報蓄積バッファ133から、カレント領域の視差的な周辺に位置する周辺領域(視差周辺領域)の動き情報に関する情報を取得する。視差周辺領域とは、カレント領域のビュー(カレントビュー)と異なるビューの、カレントフレームと同時刻のフレーム(ピクチャ)のカレント領域に相当する位置の領域、若しくはその近傍の領域のことを示す。
 時間視差相関予測ベクトル生成部136は、例えば、複数の時間周辺領域の動きベクトル(時間周辺動きベクトル)を用いてメジアン演算を行い、時間相関予測ベクトルを生成する。また、例えば、時間視差相関予測ベクトル生成部136は、例えば、複数の視差周辺領域の動きベクトル(視差周辺動きベクトル)を用いてメジアン演算を行い、視差相関予測ベクトルを生成する。
 時間視差相関予測ベクトル生成部136は、このように生成した時間視差相関予測ベクトルを選択部137に供給する。
 空間相関予測ベクトル生成部135および時間視差相関予測ベクトル生成部136は、それぞれ予測ベクトルを、インター予測モード毎に生成する。
 選択部137は、空間相関予測ベクトル生成部135から供給される空間相関予測ベクトル、および、時間視差相関予測ベクトル生成部136から供給される時間視差相関予測ベクトルを、符号化コスト算出部138に供給する。
 符号化コスト算出部138は、予測画像生成部132から供給される予測画像画素値と、画面並べ替えバッファ102から供給される原画像画素値とを用いて、予測画像と原画像の差分値(差分画像)を、インター予測モード毎に算出する。また、符号化コスト算出部138は、その差分画像画素値を用いて、インター予測モード毎にコスト関数値(符号化コスト値とも称する)を算出する。
 さらに、符号化コスト算出部138は、選択部137から供給された空間相関予測ベクトルと時間視差相関予測ベクトルとの内、動き視差ベクトル探索部131から供給されたカレント領域の動き視差ベクトルにより近いほうを、カレント領域の予測ベクトルとして選択する。また、符号化コスト算出部138は、その予測ベクトルとカレント領域の動き視差ベクトルとの差分値である差分動き視差ベクトルを生成する。符号化コスト算出部138は、インター予測モード毎に差分動き視差ベクトルを生成する。
 符号化コスト算出部138は、各インター予測モードの、符号化コスト値、予測画像画素値、差分動き視差ベクトルを含む差分動き視差情報、および、予測ベクトルや参照画像インデックスを含む予測情報をモード判定部139に供給する。
 モード判定部139は、符号化コスト値が最小となるインター予測モードを最適なモードとして選択する。モード判定部139は、最適なモードに選択したインター予測モードの予測画像画素値を、予測画像選択部116に供給する。
 予測画像選択部116により、インター予測が選択された場合、モード判定部139は、最適なモードに選択したインター予測モードに関する情報であるモード情報、並びに、そのインター予測モードの差分動き視差情報および予測情報を、可逆符号化部106に供給し、符号化させる。これらの情報は、符号化され、復号側に伝送される。
 また、モード判定部139は、最適なモードに選択したインター予測モードの、モード情報、差分動き視差情報、および予測情報を、符号化情報蓄積バッファ133に供給し、記憶させる。これらの情報は、カレント領域より時間的に後に処理される他の領域に対する処理おいて、周辺領域の情報として利用される。
 [時間視差相関予測ベクトル生成部]
 図13は、時間視差相関予測ベクトル生成部136の主な構成例を示すブロック図である。
 図13に示されるように、時間視差相関予測ベクトル生成部136は、カレント領域処理部(注目領域処理部)151、相関領域処理部152、LI予測処理部153、L0予測処理部154、方式1処理部155、方式2処理部156、方式3処理部157、方式4処理部158、および予測ベクトル生成部159を有する。
 カレント領域処理部151は、カレント領域に関する情報を取得する処理を行う。カレント領域処理部151は、取得したカレント領域に関する情報を、相関領域処理部152乃至L0予測処理部154の各部に供給する。相関領域処理部152は、相関領域に関する情報を取得する処理を行う。
 なお、相関領域は、カレント領域との相関を利用するために参照される領域である。例えば、時間相関領域とは、カレント領域との時間相関を利用するために参照される領域であり、時間相関予測ベクトルの生成に用いられた動きベクトルを有する時間周辺領域である。また、視差相関領域とは、カレント領域との視差相関を利用するために参照される領域であり、視差相関予測ベクトルの生成に用いられた動きベクトルを有する視差周辺領域である。相関領域は、これらの領域を含む。
 相関領域処理部152は、相関領域に関する情報を、L1予測処理部153およびL0予測処理部154に供給する。
 L1予測処理部153は、L1方向の予測に関する処理を行う。L1予測処理部153は、画面並べ替えバッファ102やデコードピクチャバッファ112から必要な情報を取得する。またL1予測処理部153は、カレント領域処理部151および相関領域処理部152から供給された情報を取得する。L1予測処理部153は、それらの情報を用いて、L1方向の予測に関する処理を行う。
 予測処理として方式1乃至方式4の4つの方法が用意されている。L1予測処理部は、いずれかの方法を選択し、方式1処理部155乃至方式4処理部158の内、選択した方法に対応する処理部に、情報を提供する。
 L0予測処理部154は、L0方向の予測に関する処理を、L1予測処理部153と同様に行う。
 方式1は、リスト1の参照画像インデックス1に割り当てられた、カレントビューと異なるビューの、カレントフレームと同時刻のフレーム(参照画像)を相関画像とし、その相関領域のベクトルが視差ベクトルである場合、その視差ベクトル(リファレンス視差ベクトル)を予測ベクトルとして採用する方式である。方式1処理部155は、このような方式に従って予測ベクトルを生成するための処理を行う。方式1処理部155は、処理の結果得られた各種パラメータを予測ベクトル生成部159に供給する。
 方式2は、リスト1の参照画像インデックス0に割り当てられた、カレントビューと同一のビューの、カレントフレームと異なる時刻のフレーム(参照画像)を相関画像とし、その相関領域のベクトルが視差ベクトルである場合、その視差ベクトル(リファレンス視差ベクトル)を予測ベクトルとして採用する方式である。方式2処理部156は、このような方式に従って予測ベクトルを生成するための処理を行う。方式2処理部156は、処理の結果得られた各種パラメータを予測ベクトル生成部159に供給する。
 方式3は、リスト1の参照画像インデックス1に割り当てられた、カレントビューと同一のビューの、カレントフレームと異なる時刻のフレーム(参照画像)を相関画像とし、その相関領域のベクトルが動きベクトルである場合、その動きベクトル(リファレンス視差ベクトル)を予測ベクトルとして採用する方式である。方式3処理部157は、このような方式に従って予測ベクトルを生成するための処理を行う。方式3処理部157は、処理の結果得られた各種パラメータを予測ベクトル生成部159に供給する。
 方式4は、リスト1の参照画像インデックス0に割り当てられた、カレントビューと同一のビューの、カレントフレームと異なる時刻のフレーム(参照画像)を相関画像とし、その相関領域のベクトルが動きベクトルである場合、その動きベクトル(リファレンス視差ベクトル)を予測ベクトルとして採用する方式である。方式4処理部158は、このような方式に従って予測ベクトルを生成するための処理を行う。方式4処理部158は、処理の結果得られた各種パラメータを予測ベクトル生成部159に供給する。
 予測ベクトル生成部159は、方式1処理部155乃至方式4処理部158から供給された情報、および、デコードピクチャバッファ112から取得した参照画像のビュー情報や時間情報等を用いて、時間視差相関予測ベクトルを生成する。その際、予測ベクトル生成部159は、方式1処理部155乃至方式4処理部158から供給される情報を用いてスケーリング処理を行う。その際、予測ベクトル生成部159は、動き相関予測ベクトルについては時間方向にスケーリングを行い、視差相関予測ベクトルについては視差方向にスケーリングを行う。予測ベクトル生成部159は、生成した時間視差相関予測ベクトルを、選択部137を介して符号化コスト算出部138に供給する。
 このようにすることにより、時間視差相関予測ベクトル生成部136は、動き相関予測ベクトルだけでなく、視差相関予測ベクトルも生成することができる。したがって、動き視差予測・補償部115は、カレント領域のベクトルが視差ベクトルの場合であっても、予測精度の高い予測ベクトルを生成することができる。これにより画像符号化装置100は、符号化効率の低減を抑制することができる。
 [方式選択例]
 図14に、各方式が選択される場合の例を示す。図14に示されるように、参照画像との位置関係(参照画像が時間方向に存在するか、若しくは視差方向に存在するか)がカレント領域(注目領域)の場合と同様である領域が相関領域として選択される。すなわち、カレント領域とそのカレント領域の参照画像との位置関係と、相関領域とその相関領域の参照画像との位置関係とが等しくなる。そして、そのカレント領域とそのカレント領域の参照画像との位置関係と、カレント領域と相関領域との位置関係とによって方式が決定される。
 図14の表において、下から1行目乃至4行目が各画像の位置関係の例を示しており、A乃至Eは、各行においてビューID若しくはPOCの値の例を示す。つまり、ここで重要なのは、値がいくつであるかではなく、他の画像とビューIDやPOCが一致するか否かである。
 下から4行目の例の場合、カレント領域および相関領域ともに、それぞれの参照画像とビューIDが異なるものの、POCが一致する。すなわち、カレント領域および相関領域のベクトルは視差ベクトルである。また、カレント領域と相関領域との間でも、ビューIDが異なり、POCが一致する。すなわち、相関領域は、カレント領域と同じ時刻のフレームの異なるビューの画像である。従って、図14の表に示されるように方式1が選択される。視点間で視差の変化量が一定の領域で、方式1は、有効である。
 下から3行目の例の場合、カレント領域および相関領域ともに、それぞれの参照画像とビューIDが異なるものの、POCが一致する。すなわち、カレント領域および相関領域のベクトルは視差ベクトルである。また、カレント領域と相関領域との間では、ビューIDが一致し、POCが異なる。すなわち、相関領域は、カレント領域と同じビューの異なる時刻のフレームの画像である。従って、図14の表に示されるように方式2が選択される。時間的な動き量の変化が小さいときに、方式2は、有効である。
 下から2行目の例の場合、カレント領域および相関領域ともに、それぞれの参照画像とビューIDが一致し、POCが異なる。すなわち、カレント領域および相関領域のベクトルは動きベクトルである。また、カレント領域と相関領域との間では、ビューIDが異なり、POCが一致する。すなわち、相関領域は、カレント領域と同じ時刻のフレームの異なるビューの画像である。従って、図14の表に示されるように方式3が選択される。視点間の視差量の変化が小さいときに、方式3は、有効である。
 下から1行目の例の場合、カレント領域および相関領域ともに、それぞれの参照画像とビューIDが一致し、POCが異なる。すなわち、カレント領域および相関領域のベクトルは動きベクトルである。また、カレント領域と相関領域との間では、ビューIDが一致し、POCが異なる。すなわち、相関領域は、カレント領域と同じビューの異なる時刻のフレームの画像である。従って、図14の表に示されるように方式4が選択される。
 つまり、例えば、3D画像の左右画像のいずれか一方(例えば左眼用画像)をベースビュー(base view)とし、他方(例えば右眼用画像)をディペンデントビュー(dependent view)とすると、ディペンデントビューにおいて、カレント領域のベクトル(符号化ベクトル(Coding vector))の特性と、同じビューの異なる時刻のフレームの相関領域(コロケーテッドブロック(Co-located block))のベクトル(コロケーテッドベクトル(Co-located vector))の特性が一致する場合、コロケーテッドブロックがアベイラブル(Available)とされる。換言するに、ディペンデントビューにおいて、符号化ベクトルおよびコロケーテッドベクトルの特性が一致しない場合、コロケーテッドブロックがノットアベイラブル(Not Available)とされる。もちろん、ベースビューにおいて、同様にするようにしてもよい。
 例えば、図13のL1予測処理部153およびL0予測処理部154が、このような設定を行う。
 符号化ベクトルおよびコロケーテッドベクトルの特性が一致するか否かは、例えば、図15に示されるように、カレント領域とコロケーテッドブロックのそれぞれのPOCをそれぞれの参照画像のPOCと比較することにより、判定することができる。例えば、図13のL1予測処理部153およびL0予測処理部154が、このような判定を行う。
 例えば、L1予測処理部153およびL0予測処理部154は、カレント領域のPOC(CurrPOC)とカレント領域の参照画像のPOC(CurrRefPOC)とが一致せず、かつ、コロケーテッドブロックのPOC(ColPOC)とコロケーテッドブロックの参照画像のPOC(ColRefPOC)とが一致しない場合((CurrPOC != CurrRefPOC)&&(ColPOC != ColRefPOC))、符号化ベクトルおよびコロケーテッドブロックがともに動きベクトル(motion vector)であると判定する(図16のA)。
 また、例えば、L1予測処理部153およびL0予測処理部154は、カレント領域のPOC(CurrPOC)とカレント領域の参照画像のPOC(CurrRefPOC)とが一致し、かつ、コロケーテッドブロックのPOC(ColPOC)とコロケーテッドブロックの参照画像のPOC(ColRefPOC)とが一致する場合((CurrPOC == CurrRefPOC)&&(ColPOC == ColRefPOC))、符号化ベクトルおよびコロケーテッドブロックがともに視差ベクトル(inter-view vector)であると判定する(図16のB)。
 L1予測処理部153およびL0予測処理部154は、例えば、この判定結果に基づいて、図15の下の表に示されるように、コロケーテッドベクトル(Co-located vector)のアベイラビリティ(Availability)の設定を行う。
 例えば、符号化ベクトルおよびコロケーテッドブロックがともに、動きベクトル(motion vector)若しくは視差ベクトル(inter-view vector)であると判定された場合、コロケーテッドベクトル(Co-located vector)がアベイラブル(Available)に設定される(図16のA若しくは図16のB)。
 逆に、符号化ベクトルおよびコロケーテッドブロックの一方が、動きベクトル(motion vector)であり、他方が視差ベクトル(inter-view vector)であると判定された場合、コロケーテッドベクトル(Co-located vector)がノットアベイラブル(Not Available)に設定される。
 [シンタックス]
 図17にこの場合のシーケンスパラメータセットのシンタックスの例を示す。図17に示されるように、下から10行目乃至下から3行目のように、ビューの合計数、ビューを区別するためのID、リストL0における視差予測の枚数、リストL0における視差予測で参照するビューのID、リストL1における視差予測の枚数、および、リストL1における視差予測で参照するビューのID等の情報がシーケンスパラメータセットに含められる。これらの情報は、多視点画像に必要な情報である。換言するに、本技術は、シーケンスパラメータセットに新たなシンタックスを追加することなく適用することができる。
 図18にこの場合のスライスヘッダのシンタックスの例を示す。図18に示されるように、上から8行目のように、ビューを区別するためのIDがスライスヘッダに含められる。この情報は、多視点画像に必要な情報である。換言するに、本技術は、スライスヘッダに新たなシンタックスを追加することなく適用することができる。
 図19にこの場合の予測ユニットのシンタックスの例を示す。図19に示されるように、本技術は、予測ユニットにも新たなシンタックスを追加することなく適用することができる。ただし、本技術を適用することにより、相関領域の候補が従来の場合より増えるので、マージモードや予測ベクトルのIDにおいて、シンタックスの種類を拡張するか、または、処理の内容を変更する必要がある。
 [符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図20のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部114は、イントラ予測処理を行う。ステップS104において、動き視差予測・補償部115は、インター動き予測処理を行う。ステップS105において、予測画像選択部116は、イントラ予測により生成された予測画像、および、インター予測により生成された予測画像の内、いずれか一方を選択する。
 ステップS106において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS105の処理により選択された予測画像との差分を演算する(差分画像を生成する)。生成された差分画像は元の画像に較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS107において、直交変換部104は、ステップS106の処理により生成された差分画像を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、直交変換係数が出力される。ステップS108において、量子化部105は、ステップS107の処理により得られた直交変換係数を量子化する。
 ステップS108の処理により量子化された差分画像は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、ステップS108の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部109は、ステップS109の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。これにより差分画像が復元される。
 ステップS111において、演算部110は、ステップS105において選択された予測画像を、ステップS110において生成された差分画像に加算し、局部的に復号された復号画像(再構成画像)を生成する。ステップS112において、ループフィルタ111は、ステップS111の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行い、復号画像を生成する。
 ステップS113において、デコードピクチャバッファ112や多視点デコードピクチャバッファ121は、ステップS112の処理により生成された復号画像、若しくは、ステップS111の処理により生成された再構成画像を記憶する。
 ステップS114において、可逆符号化部106は、ステップS108の処理により量子化された直交変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。なお、可逆符号化部106は、予測に関する情報や、量子化に関する情報や、フィルタ処理に関する情報等を符号化し、ビットストリームに付加する。
 ステップS115において、蓄積バッファ107は、ステップS114の処理により得られたビットストリームを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS116において量子化部105は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
 [インター動き予測処理の流れ]
 次に、図21のフローチャートを参照して、図20のステップS104において実行されるインター動き予測処理の流れの例を説明する。
 ステップS131において、動き視差ベクトル探索部131は、処理対象のインター予測モードについて、動き探索を行い、処理対象であるカレント領域の動き視差ベクトル(動きベクトルまたは視差ベクトル)を生成する。ステップS132において、予測画像生成部132は、ステップS131において生成された動き視差ベクトルを用いて補償処理を行って予測画像を生成する。ステップS133において、符号化コスト算出部138は、ステップS132において生成された予測画像と、原画像(入力画像)との差分画像を生成する。
 ステップS134において、符号化コスト算出部138は、空間相関予測ベクトル生成部135や時間視差相関予測ベクトル生成部136等を用いてマージモード処理を行う。
 ステップS135において、符号化コスト算出部138は、ステップS131において生成されたカレント領域の動き視差ベクトルと、ステップS134の処理により生成されたカレント領域の予測ベクトルとを比較し、カレント領域においてマージモードが適用されるか否かを判定する。
 両者が一致せず、マージモードが適用されないと判定した場合、符号化コスト算出部138は、処理をステップS136に進め、空間相関予測ベクトル生成部135や時間視差相関予測ベクトル生成部136等を用いて視差動きベクトル予測処理を行う。ステップS136の処理が終了すると、符号化コスト算出部138は、処理をステップS137に進める。
 また、ステップS135において、カレント領域の動き視差ベクトルと予測ベクトルが一致し、カレント領域においてマージモードが適用されると判定した場合、符号化コスト算出部138は、ステップS136の処理を省略し、ステップS137に進める。
 ステップS137において、符号化コスト算出部138は、全てのインター予測モードで、以上の処理を行ったか否かを判定し、未処理のインター予測モードが存在すると判定された場合、処理をステップS131に戻し、その未処理のインター予測モードについて、それ以降の処理が繰り返されるように制御する。つまり、ステップS131乃至ステップS137の各処理が、各インター予測モードについて実行される。
 ステップS137において、全てのインター予測モードについて処理を行ったと判定された場合、符号化コスト算出部138は、処理をステップS138に進める。ステップS138において、符号化コスト算出部138は、各インター予測モードのコスト関数値を算出する。
 ステップS139において、モード判定部139は、ステップS138において算出されたコスト関数値(符号化コスト値)が最も小さいインター予測モードを最適なモード(最適インター予測モード)に決定する。
 ステップS140において、予測画像生成部132は、その最適インター予測モードで予測画像を生成する。この予測画像は、予測画像選択部116に供給される。
 ステップS141において、符号化情報蓄積バッファ133は、図20のステップS105においてインター予測が選択された場合、最適インター予測モードのモード情報や動き情報(動き視差ベクトルや参照画像インデックス等)を記憶する。イントラ予測モードが選択された場合、動き視差ベクトルとしてゼロベクトルが記憶される。なお、これらの情報は、図20のステップS105においてインター予測が選択された場合、可逆符号化部106にも供給され、符号化されて、復号側に伝送される。
 ステップS141の処理が終了すると、符号化情報蓄積バッファ133は、インター動き予測処理を終了し、処理を図20に戻す。
 [マージモード処理の流れ]
 次に、図22のフローチャートを参照して、図21のステップS134において実行されるマージモード処理の流れの例を説明する。
 マージモード処理が開始されると、ステップS161において、空間相関予測ベクトル生成部135は、空間周辺領域との相関性を利用して空間相関予測ベクトルを生成する空間相関予測処理を行う。ステップS162において、時間視差相関予測ベクトル生成部136は、時間周辺領域や視差周辺領域との相関性を利用して時間視差相関予測ベクトルを生成する時間相関予測処理を行う。
 ステップS163において、符号化コスト算出部138は、ステップS161において生成された空間相関予測ベクトルと、ステップS162において生成された時間視差予測ベクトルとで、重複するベクトルを削除する。
 ステップS164において、符号化コスト算出部138は、ベクトルが存在するか否かを判定する。空間相関予測ベクトル若しくは時間視差相関予測ベクトルが1つでも存在すると判定された場合、符号化コスト算出部138は、処理をステップS165に進める。
 ステップS165において、符号化コスト算出部138は、ベクトルが複数存在するか否かを判定する。複数存在すると判定された場合、符号化コスト算出部138は、処理をステップS166に進め、マージインデックスを取得する。複数存在しないと判定された場合、符号化コスト算出部138は、ステップS166の処理を省略する。
 カレント領域の動きベクトルと一致する空間相関予測ベクトル若しくは時間視差相関予測ベクトルが存在する場合、符号化コスト算出部138は、ステップS167において、その一致するベクトルを予測ベクトルとして取得し、ステップS168において、参照画像インデックスを取得する。
 ステップS168の処理を終了すると、符号化コスト算出部138は、マージモード処理を終了し、処理を図21に戻す。
 また、ステップS164において、空間相関予測ベクトル若しくは時間視差相関予測ベクトルが1つも存在しないと判定された場合、符号化コスト算出部138は、処理をステップS169に進める。
 ステップS169において、符号化コスト算出部138は、予測ベクトルに初期値(例えばゼロベクトル)を与える。また、ステップS170において、符号化コスト算出部138は、参照画像インデックスに初期値(例えば0)を与える。
 ステップS170の処理を終了すると、符号化コスト算出部138は、マージモード処理を終了し、処理を図21に戻す。
 [視差動きベクトル予測処理の流れ]
 次に、図23のフローチャートを参照して、図21のステップS136において実行される視差動きベクトル予測処理の流れの例を説明する。
 視差動きベクトル予測処理が開始されると、ステップS191において、空間相関予測ベクトル生成部135は、空間相関予測処理を行い、空間相関予測ベクトルを生成する。ステップS192において、時間視差相関予測ベクトル生成部136は、時間視差相関予測処理を行い、時間視差相関予測ベクトルを生成する。
 ステップS193において、符号化コスト算出部138は、テップS191において生成された空間相関予測ベクトルと、ステップS192において生成された時間視差予測ベクトルとで、重複するベクトルを削除する。
 符号化コスト算出部138は、残ったベクトルの内、カレント領域の動きベクトルに最も近いベクトルを選択し、ステップS194においてそのベクトルを示す予測ベクトルインデックスを作成し、ステップS195において、そのベクトルを予測ベクトルとする。ステップS195の処理が終了すると、符号化コスト算出部138は、視差動きベクトル予測処理を終了し、処理を図21に戻す。
 [時間視差相関予測処理の流れ]
 次に、図24乃至図27のフローチャートを参照して、図22のステップS162若しくは図23のステップS192において実行される時間視差相関予測処理の流れの例を説明する。
 時間視差相関予測処理が開始されると、カレント領域処理部151は、図24のステップS211において、カレント領域のビューIDとPOCを取得する。ステップS212において、カレント領域処理部151は、カレント領域の参照インデックスを決定する。ステップS213において、カレント領域処理部151は、参照画像のビューIDとPOCを取得する。
 ステップS214において、相関領域処理部152は、リストL1の参照画像インデックスの昇順に相関画像を選択する。ステップS215において、相関領域処理部152は、全ての参照画像インデックスを探索したか否かを判定し、全ての参照画像インデックスを参照したと判定した場合、時間視差相関予測処理を終了し、処理を図22若しくは図23に戻す。
 また、ステップS215において、未処理の参照画像インデックスが存在すると判定された場合、相関領域処理部152は、処理をステップS216に進める。ステップS216において、相関領域処理部152は、相関領域を決定し、処理を図25に進める。
 図25のステップS221において、相関領域処理部152は、相関領域がイントラ予測された領域、若しくは、他の領域を参照しない領域であるか否かを判定する。相関領域がイントラ予測された領域である、若しくは、他の領域を参照しない領域であると判定された場合、相関領域処理部152は、処理を図26に進める。
 また、図25のステップS221において、相関領域がインター予測された領域であり、かつ、他の領域を参照する領域であると判定された場合、相関領域処理部152は、処理をステップS222に進める。
 ステップS222において、L1予測処理部153は、相関領域のビューIDとPOCを取得する。ステップS223において、L1予測処理部153は、相関領域のL1予測の参照画像のビューIDとPOCを取得する。
 ステップS224において、L1予測処理部153は、カレント領域と相関領域のビューIDが一致するか否かを判定する。両者が一致する場合、相関領域は、コロケーテッドブロックである。カレント領域と相関領域のビューIDが一致すると判定された場合、L1予測処理部153は、処理をステップS225に進め、方式4-2処理を行い、方式4若しくは方式2で予測ベクトルを生成するようにする。ステップS225の処理が終了すると、処理は図26に進む。
 また、図25のステップS224において、カレント領域と相関領域のビューIDが一致しないと判定された場合、L1予測処理部153は、処理をステップS226に進める。
 ステップS226において、L1予測処理部153は、カレント領域と相関領域のPOCが一致するか否かを判定する。カレント領域と相関領域のPOCが一致しないと判定された場合、L1予測処理部153は、処理を図26に進める。
 また、図25のステップS226において、カレント領域と相関領域のPOCが一致すると判定された場合、L1予測処理部153は、処理をステップS227に進める。
 ステップS227において、L1予測処理部153は、カレント領域の参照画像と相関領域の参照画像のPOCが一致するか否かを判定する。カレント領域の参照画像と相関領域の参照画像のPOCが一致すると判定された場合、L1予測処理部153は、処理をステップS228に進め、方式1処理を行い、方式1で予測ベクトルを生成するようにする。ステップS228の処理を終了すると、L1予測処理部153は、処理を図26に進める。
 また、図25のステップS227において、カレント領域の参照画像と相関領域の参照画像のPOCが一致しないと判定された場合、L1予測処理部153は、処理をステップS229に進め、方式3処理を行い、方式3で予測ベクトルを生成するようにする。ステップS229の処理を終了すると、L1予測処理部153は、処理を図26に進める。
 図26において、L0予測処理部154は、相関領域のL0予測について、図25のL1予測の場合と同様の処理を行う。つまり、L0予測処理部154は、ステップS231乃至ステップS238の各処理を、図25のステップS222乃至ステップS229の各処理と同様に行う。
 ただし、図26の場合、相関領域の参照画像は、L0予測の参照画像とする。また、ステップS234、ステップS237、若しくはステップS238の処理が終了した場合、または、ステップS235においてカレント領域と相関領域のPOCが一致しないと判定された場合、L0予測処理部154は、処理を図27に進める。
 図27のステップS241において、予測ベクトル生成部159は、予測ベクトル候補が少なくとも1つ存在するか否かを判定する。予測ベクトル候補が1つも存在しないと判定された場合、予測ベクトル生成部159は、処理を図24のステップS214に戻す。
 また、図27のステップS241において、予測ベクトル候補が少なくとも1つ存在すると判定された場合、予測ベクトル生成部159は、処理をステップS242に進める。ステップS242において、予測ベクトル生成部159は、L1の飛び越しフラグのみ1であるか、若しくは、L0/L1の飛び越しフラグの値が等しく、L1の参照があるか否かを判定する。
 L1の飛び越しフラグのみが1であると判定された場合、若しくは、L0/L1の飛び越しフラグの値が等しく、かつ、L1の参照があると判定された場合、予測ベクトル生成部159は、処理をステップS243に進める。
 ステップS243において、予測ベクトル生成部159は、L1参照のベクトルを取得する。ステップS244において、予測ベクトル生成部159は、L1参照の参照画像インデックスを取得し、処理をステップS247に進める。
 また、ステップS242において、L1の飛び越しフラグが1ではない、若しくは、L0の飛び越しフラグも0であると判定され、かつ、L0/L1の飛び越しフラグの値が等しくない、若しくは、L1の参照がないと判定された場合、予測ベクトル生成部159は、処理をステップS245に進める。
 ステップS245において、予測ベクトル生成部159は、L0参照のベクトルを取得する。ステップS246において、予測ベクトル生成部159は、L0参照の参照画像インデックスを取得し、処理をステップS247に進める。
 ステップS247において、予測ベクトル生成部159は、取得したL1参照のベクトルもしくはL0参照のベクトルを予測ベクトルとする。その際、予測ベクトル生成部159は、カレント領域や相関領域における参照画像との距離を用いてベクトルのスケーリングを行い、スケーリング結果を予測ベクトルとする。
 ステップS247の処理が終了すると、予測ベクトル生成部159は、処理を図24に戻し、時間視差相関予測処理を終了し、処理を図22若しくは図23に戻す。
 [方式1処理の流れ]
 次に、図28のフローチャートを参照して、図25若しくは図26において実行される方式1処理の流れの例を説明する。
 方式1処理が開始されると、方式1処理部155は、ステップS261において、カレント領域とカレント領域の参照画像のPOCが一致するか否かを判定する。カレント領域とカレント領域の参照画像のPOCが一致しないと判定された場合、方式1処理部155は、方式1処理を終了し、処理を図25若しくは図26に戻す。
 また、ステップS261において、カレント領域とカレント領域の参照画像のPOCが一致すると判定された場合、方式1処理部155は、処理をステップS262に進める。
 ステップS262において、方式1処理部155は、相関領域と相関領域の参照画像のPOCが一致するか否かを判定する。相関領域と相関領域の参照画像のPOCが一致しないと判定された場合、方式1処理部155は、方式1処理を終了し、処理を図25若しくは図26に戻す。
 また、ステップS262において、相関領域と相関領域の参照画像のPOCが一致すると判定された場合、方式1処理部155は、処理をステップS263に進める。
 ステップS263において、方式1処理部155は、カレント領域とカレント領域の参照画像の視点間距離1を算出する。ステップS264において、方式1処理部155は、相関領域と相関領域の参照画像の視点間距離2を算出する。ステップS265において、方式1処理部155は、参照画像の飛び越しフラグを決定し、処理を図25若しくは図26に戻す。これらのパラメータ(視点間距離1、視点間距離2、および飛び越しフラグ)は、図27の処理に利用される。
 [方式3処理の流れ]
 次に、図29のフローチャートを参照して、図25若しくは図26において実行される方式3処理の流れの例を説明する。
 方式3処理が開始されると、方式3処理部157は、ステップS271において、カレント領域とカレント領域の参照画像のビューIDが一致するか否かを判定する。カレント領域とカレント領域の参照画像のビューIDが一致しないと判定された場合、方式3処理部157は、方式3処理を終了し、処理を図25若しくは図26に戻す。
 また、ステップS271において、カレント領域とカレント領域の参照画像のビューIDが一致すると判定された場合、方式3処理部157は、処理をステップS272に進める。
 ステップS272において、方式3処理部157は、相関領域と相関領域の参照画像のビューIDが一致するか否かを判定する。相関領域と相関領域の参照画像のビューIDが一致しないと判定された場合、方式3処理部157は、方式3処理を終了し、処理を図25若しくは図26に戻す。
 また、ステップS272において、相関領域と相関領域の参照画像のビューIDが一致すると判定された場合、方式3処理部157は、処理をステップS273に進める。
 ステップS273において、方式3処理部157は、カレント領域とカレント領域の参照画像の視点間距離1を算出する。ステップS274において、方式3処理部157は、相関領域と相関領域の参照画像の視点間距離2を算出する。ステップS275において、方式3処理部157は、参照画像の飛び越しフラグを決定し、処理を図25若しくは図26に戻す。これらのパラメータ(視点間距離1、視点間距離2、および飛び越しフラグ)は、図27の処理に利用される。
 [方式4-2処理の流れ]
 次に、図30のフローチャートを参照して、図25若しくは図26において実行される方式4-2処理の流れの例を説明する。
 方式4-2処理が開始されると、L1予測処理部153若しくはL0予測処理部154は、ステップS281において、カレント領域とカレント領域の参照画像のビューIDが一致するか否かを判定する。両者が一致する場合、符号化ベクトルは動きベクトルである。カレント領域とカレント領域の参照画像のビューIDが一致すると判定された場合、処理は、ステップS282に進む。
 ステップS282において、L1予測処理部153若しくはL0予測処理部154は、相関領域(コロケーテッドブロック)と相関領域の参照画像のビューIDが一致するか否かを判定する。両者が一致しない場合、コロケーテッドベクトルは視差ベクトルである。相関領域と相関領域の参照画像のビューIDが一致しないと判定された場合、L1予測処理部153若しくはL0予測処理部154は、方式4-2処理を終了し、処理を図25若しくは図26に戻す。
 つまり、この場合、符号化ベクトルが動きベクトルであり、コロケーテッドベクトルが視差ベクトルであるので、符号化ベクトルの特性とコロケーテッドベクトルの特性とが一致しない。したがって、コロケーテッドブロックはノットアベイラブルに設定され、方式4-2処理が終了される。
 また、ステップS282において、相関領域と相関領域の参照画像のビューIDが一致すると判定された場合、L1予測処理部153若しくはL0予測処理部154は、処理をステップS283に進める。両者が一致する場合、コロケーテッドベクトルは動きベクトルである。つまり、この場合、符号化ベクトルもコロケーテッドベクトルも動きベクトルであり、両ベクトルの特性が一致する。したがって、この場合、コロケーテッドベクトルがアベイラブルに設定される。
 ステップS283において、方式4処理部158は、カレント領域とカレント領域の参照画像の視点間距離1を算出する。ステップS284において、方式4処理部158は、相関領域と相関領域の参照画像の視点間距離2を算出する。ステップS285において、方式4処理部158は、参照画像の飛び越しフラグを決定し、処理を図25若しくは図26に戻す。これらのパラメータ(視点間距離1、視点間距離2、および飛び越しフラグ)は、図27の処理に利用される。
 また、ステップS281において、カレント領域とカレント領域の参照画像のビューIDが一致しないと判定された場合、L1予測処理部153若しくはL0予測処理部154は、処理をステップS286に進める。
 ステップS286において、予測処理部153若しくはL0予測処理部154は、カレント領域とカレント領域の参照画像のPOCが一致するか否かを判定する。カレント領域とカレント領域の参照画像のPOCが一致しないと判定された場合、予測処理部153若しくはL0予測処理部154は、方式4-2処理を終了し、処理を図25若しくは図26に戻す。
 また、ステップS286において、カレント領域とカレント領域の参照画像のPOCが一致すると判定された場合、予測処理部153若しくはL0予測処理部154は、処理をステップS287に進める。両者が一致する場合、符号化ベクトルは視差ベクトルである。
 ステップS287において、予測処理部153若しくはL0予測処理部154は、相関領域と相関領域の参照画像のPOCが一致するか否かを判定する。両者が一致しない場合、コロケーテッドベクトルは動きベクトルである。相関領域と相関領域の参照画像のPOCが一致しないと判定された場合、予測処理部153若しくはL0予測処理部154は、方式4-2処理を終了し、処理を図25若しくは図26に戻す。
 つまり、この場合、符号化ベクトルが視差ベクトルであり、コロケーテッドベクトルが動きベクトルであるので、符号化ベクトルの特性とコロケーテッドベクトルの特性とが一致しない。したがって、コロケーテッドブロックはノットアベイラブルに設定され、方式4-2処理が終了される。
 また、ステップS287において、相関領域と相関領域の参照画像のPOCが一致すると判定された場合、L1予測処理部153若しくはL0予測処理部154は、処理をステップS283に戻す。両者が一致する場合、コロケーテッドベクトルは視差ベクトルである。つまり、この場合、符号化ベクトルもコロケーテッドベクトルも視差ベクトルであり、両ベクトルの特性が一致する。したがって、この場合、コロケーテッドベクトルがアベイラブルに設定される。
 この場合、方式2処理部156は、方式4処理部158が実行する場合と同様に、ステップS283乃至ステップS285の処理を行う。ステップS285の処理が終了すると、方式2処理部156は、方式4-2処理を終了し、処理を図25若しくは図26に戻す。
 以上のように各処理を行うことにより、時間視差相関予測ベクトル生成部136は、動き相関予測ベクトルだけでなく、視差相関予測ベクトルも生成することができる。したがって、動き視差予測・補償部115は、カレント領域のベクトルが視差ベクトルの場合であっても、予測精度の高い予測ベクトルを生成することができる。これにより、画像符号化装置100は、符号化効率の低減を抑制することができる。
 <2.第2の実施の形態>
 [画像復号装置]
 図31は、画像処理装置である画像復号装置の主な構成例を示すブロック図である。図31に示される画像復号装置300は、図11の画像符号化装置100に対応する装置である。つまり、画像復号装置300は、画像符号化装置100が多視点画像を符号化して生成した符号化データ(ビットストリーム)を、画像符号化装置100の符号化方法に対応する復号方法で復号し、多視点の復号画像を得る。
 図31に示されるように、画像復号装置300は、蓄積バッファ301、可逆復号部302、逆量子化部303、逆直交変換部304、演算部305、ループフィルタ306、画面並べ替えバッファ307、およびD/A変換部308を有する。また、画像復号装置300は、デコードピクチャバッファ309、選択部310、イントラ予測部311、動き視差補償部312、および選択部313を有する。
 さらに、画像復号装置300は、多視点デコードピクチャバッファ321を有する。
 蓄積バッファ301は、伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部302に供給する。可逆復号部302は、蓄積バッファ301より供給された、図11の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部302は、復号して得られた差分画像の量子化された係数データを、逆量子化部303に供給する。
 また、可逆復号部302は、符号化データを復号して得られた最適な予測モードに関する情報を参照し、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定する。可逆復号部302は、その判定結果に基づいて、その最適な予測モードに関する情報を、イントラ予測部311若しくは動き視差補償部312に供給する。つまり、例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報であるイントラ予測情報等がイントラ予測部311に供給される。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報であるインター予測情報等が動き視差補償部312に供給される。
 逆量子化部303は、可逆復号部302により復号されて得られた量子化された係数データを、図11の量子化部105の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部304に供給する。逆直交変換部304は、図11の直交変換部104の直交変換方式に対応する方式で逆量子化部303から供給される係数データを逆直交変換する。逆直交変換部304は、この逆直交変換処理により、画像符号化装置100において直交変換される前の差分画像に対応する差分画像を得る。
 逆直交変換されて得られた差分画像は、演算部305に供給される。また、演算部305には、選択部313を介して、イントラ予測部311若しくは動き視差補償部312から予測画像が供給される。
 演算部305は、差分画像と予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部305は、その再構成画像をループフィルタ306に供給する。
 ループフィルタ306は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ306は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ306は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ306が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ306が、図11の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ306は、フィルタ処理結果である復号画像を画面並べ替えバッファ307およびデコードピクチャバッファ309に供給する。なお、このループフィルタ306によるフィルタ処理は省略することもできる。つまり、演算部305の出力が、フィルタ処理されずに、デコードピクチャバッファ309に格納されるようにすることもできる。例えば、イントラ予測部311は、この画像に含まれる画素の画素値を周辺画素の画素値として利用する。
 画面並べ替えバッファ307は、供給された復号画像の並べ替えを行う。すなわち、図11の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部308は、画面並べ替えバッファ307から供給された復号画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 デコードピクチャバッファ309は、供給される再構成画像(並びに、その画像のビューIDおよびPOC)や復号画像(並びに、その画像のビューIDおよびPOC)を記憶する。また、デコードピクチャバッファ309は、所定のタイミングにおいて、若しくは、イントラ予測部311や動き視差補償部312等の外部の要求に基づいて、記憶している再構成画像(並びに、その画像のビューIDおよびPOC)や復号画像(並びに、その画像のビューIDおよびPOC)を、選択部310を介してイントラ予測部311や動き視差補償部312に供給する。
 イントラ予測部311は、図11のイントラ予測部114と基本的に同様の処理を行う。ただし、イントラ予測部311は、符号化の際にイントラ予測により予測画像が生成された領域に対してのみ、イントラ予測を行う。
 動き視差補償部312は、可逆復号部302から供給されるインター予測情報に基づいて動き視差補償を行い、予測画像を生成する。なお、動き視差補償部312は、可逆復号部302から供給されるインター予測情報に基づいて、符号化の際にインター予測が行われた領域に対してのみ、動き視差補償を行う。
 動き視差補償部312は、予測処理単位の領域毎に、生成した予測画像を、選択部313を介して演算部305に供給する。
 選択部313は、イントラ予測部311から供給される予測画像、若しくは、動き視差補償部312から供給される予測画像を演算部305に供給する。
 デコードピクチャバッファ309は、処理対象のビューの画像(並びに、その画像のビューIDおよびPOC)のみを記憶するが、多視点デコードピクチャバッファ321は、各視点(ビュー)の画像(並びに、その画像のビューIDおよびPOC)を記憶する。つまり、多視点デコードピクチャバッファ321は、デコードピクチャバッファ309に供給された復号画像(並びに、その画像のビューIDおよびPOC)を取得し、デコードピクチャバッファ309とともにその復号画像(並びに、その画像のビューIDおよびPOC)を記憶する。
 デコードピクチャバッファ309は、処理対象のビューが変わると、その復号画像を消去するが、多視点デコードピクチャバッファ321は、そのまま保持する。そして、デコードピクチャバッファ309などの要求に従って、記憶している復号画像(並びに、その画像のビューIDおよびPOC)を、「処理対象ではないビューの復号画像」として、デコードピクチャバッファ309に供給する。デコードピクチャバッファ309は、多視点デコードピクチャバッファ321から読み出した「処理対象ではないビューの復号画像(並びに、その画像のビューIDおよびPOC)」を、選択部310を介して動き視差補償部312に供給する。
 [動き視差補償部]
 図32は、動き視差補償部312の主な構成例を示すブロック図である。
 図32に示されるように、動き視差補償部312は、符号化情報蓄積バッファ331、空間相関予測ベクトル生成部332、時間視差相関予測ベクトル生成部333、選択部334、演算部335、および予測画像生成部336を有する。
 符号化情報蓄積バッファ331は、可逆復号部302において得られた、モード情報、差分動き視差情報、および予測情報を取得する。また、符号化情報蓄積バッファ331は、予測画像生成部336において使用された復号済みの動き視差ベクトルを記憶する。この動き視差ベクトルは、他の領域に対する処理において周辺領域の動き視差ベクトルとして使用される。
 符号化情報蓄積バッファ331は、モード情報や復号済みの周辺領域の動き視差ベクトルを、空間相関予測ベクトル生成部332、若しくは、時間視差相関予測ベクトル生成部333の、予測情報において指定される予測ベクトルの種類(空間相関予測ベクトル若しくは時間視差相関予測ベクトル)に対応する方に供給する。
 また、符号化情報蓄積バッファ331は、差分動き視差情報に含まれる差分動き視差ベクトルを演算部335に供給する。さらに、符号化情報蓄積バッファ331は、予測情報に含まれる参照画像インデックスを予測画像生成部336に供給する。
 空間相関予測ベクトル生成部332は、符号化情報蓄積バッファ331から供給された情報に基づいて、空間相関予測ベクトルを生成する。この生成方法は、空間相関予測ベクトル生成部135の場合と同様である。ただし、空間相関予測ベクトル生成部332の場合、最適なインター予測モードは予め決められているので、そのモードについてのみ空間相関予測ベクトルを生成すればよい。空間相関予測ベクトル生成部332は、生成した空間相関予測ベクトルを、選択部334を介して演算部335に供給する。
 時間視差相関予測ベクトル生成部333は、符号化情報蓄積バッファ331から供給された情報、可逆復号部302から供給されるカレント領域のビューIDやPOC等の情報、並びに、デコードピクチャバッファ309から供給される参照画像のビューIDやPOC等の情報に基づいて、時間視差相関予測ベクトルを生成する。この生成方法は、時間視差相関予測ベクトル生成部136の場合と同様である。ただし、時間視差相関予測ベクトル生成部333の場合、最適なインター予測モードは予め決められているので、そのモードについてのみ時間視差相関予測ベクトルを生成すればよい。時間視差相関予測ベクトル生成部333は、生成した時間視差相関予測ベクトルを、選択部334を介して演算部335に供給する。
 選択部334は、空間相関予測ベクトル生成部332から空間相関予測ベクトルを供給された場合、それを演算部335に供給する。また、選択部334は、時間視差相関予測ベクトル生成部333から時間視差相関予測ベクトルを供給された場合、それを演算部335に供給する。
 演算部335は、選択部334から供給される空間相関予測ベクトル若しくは時間視差相関予測ベクトルに、符号化情報蓄積バッファ331から供給される差分動き視差ベクトルを加算し、カレント領域の動き視差ベクトルを再構築する。演算部335は、再構築されたカレント領域の動き視差ベクトルを予測画像生成部336に供給する。
 予測画像生成部336は、演算部335より供給される、再構築されたカレント領域の動き視差ベクトルと、符号化情報蓄積バッファ331から供給される参照画像インデックスと、デコードピクチャバッファ309から供給される周辺領域の画像である周辺画像画素値とを用いて、予測画像を生成する。予測画像生成部336は、生成した予測画像画素値を選択部313に供給する。
 このようにすることにより、時間視差相関予測ベクトル生成部333は、時間視差相関予測ベクトル生成部136の場合と同様に、動き相関予測ベクトルだけでなく、視差相関予測ベクトルも生成することができる。したがって、動き視差補償部312は、カレント領域のベクトルが視差ベクトルの場合であっても、視差相関予測ベクトルを再構築することができる。すなわち、画像復号装置300は、画像符号化装置100により生成された符号化データを正しく復号することができるので、符号化効率の向上を実現することができる。
 [復号処理の流れ]
 次に、以上のような画像復号装置300により実行される各処理の流れについて説明する。最初に、図33のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS301において、蓄積バッファ301は、伝送されてきたビットストリームを蓄積する。ステップS302において、可逆復号部302は、蓄積バッファ301から供給されるビットストリーム(符号化された差分画像情報)を復号する。このとき、イントラ予測情報やインター予測情報等、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
 ステップS303において、逆量子化部303は、ステップS302の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS304において逆直交変換部304は、ステップS303において逆量子化された直交変換係数を逆直交変換する。
 ステップS305において、イントラ予測部311若しくは動き視差補償部312は、供給された情報を用いて予測処理を行う。ステップS306において、演算部305は、ステップS304において逆直交変換されて得られた差分画像情報に、ステップS305において生成された予測画像を加算する。これにより再構成画像が生成される。
 ステップS307において、ループフィルタ306は、ステップS306において得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS308において、画面並べ替えバッファ307は、ステップS307においてフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS309において、D/A変換部308は、フレームの順序が並べ替えられた復号画像をD/A変換する。この復号画像が図示せぬディスプレイに出力され、表示される。
 ステップS310において、デコードピクチャバッファ309は、ステップS307においてフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測処理において参照画像として利用される。
 ステップS310の処理が終了すると、復号処理が終了される。
 [予測処理の流れ]
 次に、図34のフローチャートを参照して、図33のステップS305において実行される予測処理の流れの例を説明する。
 予測処理が開始されると、可逆復号部302は、ステップS331において、処理対象のカレント領域が符号化の際にイントラ予測が行われたか否かを判定する。イントラ予測が行われたと判定された場合、可逆復号部302は、処理をステップS332に進める。
 この場合、イントラ予測部311は、ステップS332において、可逆復号部302からイントラ予測モード情報を取得し、ステップS333において、イントラ予測によって予測画像を生成する。予測画像が生成されると、イントラ予測部311は、予測処理を終了し、処理を図33に戻す。
 また、ステップS331において、カレント領域がインター予測の行われた領域であると判定した場合、可逆復号部302は、処理をステップS334に進める。ステップS334において、動き視差補償部312は、動き視差補償処理を行う。動き視差補償処理が終了すると、動き視差補償部312は、予測処理を終了し、処理を図33に戻す。
 [動き視差補償処理の流れ]
 次に、図35のフローチャートを参照して、図34のステップS334において実行される動き視差補償処理の流れの例を説明する。
 動き視差補償処理が開始されると、ステップS351において、符号化情報蓄積バッファ331は、ステップS351において復号されたモード情報、動き視差情報、および予測情報等を記憶する。
 ステップS352において、空間相関予測ベクトル生成部332、時間視差相関予測ベクトル生成部333、選択部334、および演算部335は、動き視差ベクトル生成処理を行い、カレント領域の動き視差ベクトルを再構築する。
 動き視差ベクトルが再構築されると、ステップS353において、予測画像生成部336は、その動き視差ベクトルを用いて予測画像を生成する。
 予測画像が生成されると、予測画像生成部336は、動き視差補償処理を終了し、処理を図34に戻す。
 [動き視差ベクトル生成処理の流れ]
 次に、図36のフローチャートを参照して、図35のステップS352において実行される動き視差ベクトル生成処理の流れの例を説明する。
 動き視差ベクトル生成処理が開始されると、符号化情報蓄積バッファ331は、ステップS371において、予測情報からスキップモードであるか否かを判定する。スキップモードであると判定された場合、符号化情報蓄積バッファ331は、処理をステップS372に進める。ステップS372において、空間相関予測ベクトル生成部332乃至演算部335は、マージモード処理を行い、マージモードで動き視差ベクトルを再構築する。なお、このマージモード処理においては、図22のフローチャートを参照して説明した各処理と同様の処理が行われる。マージモード処理が終了すると、演算部335は、動き視差ベクトル生成処理を終了し、処理を図35に戻す。
 また、図36のステップS371において、スキップモードではないと判定された場合、符号化情報蓄積バッファ331は、処理をステップS373に進める。ステップS373において、符号化情報蓄積バッファ331は、予測情報からマージモードであるか否かを判定する。マージモードであると判定された場合、符号化情報蓄積バッファ331は、処理をステップS372に戻し、マージモード処理を実行させる。
 また、ステップS373において、マージモードではないと判定された場合、符号化情報蓄積バッファ331は、処理をステップS374に進める。
 ステップS374において、符号化情報蓄積バッファ331は、参照画像のインデックスを取得する。ステップS375において、符号化情報蓄積バッファ331は、差分動き視差ベクトルを取得する。
 ステップS376において、空間相関予測ベクトル生成部332若しくは時間視差相関予測ベクトル生成部333は、視差動きベクトル予測処理を行う。この視差動きベクトル予測処理は、図23のフローチャートを参照して説明した場合と同様に行われる。ただし、この場合、予測方法は決められているので、空間相関予測処理と時間視差相関予測処理の内、いずれか一方(予測情報により指定される方)が行われる。
 ステップS377において、演算部335は、ステップS376において再構築された予測ベクトルと、差分動き視差ベクトルとを加算し、動き視差ベクトルを再構築する。
 ステップS377の処理が終了すると、演算部335は、動き視差ベクトル生成処理を終了し、処理を図35に戻す。
 以上のように各処理を実行することにより、時間視差相関予測ベクトル生成部333は、時間視差相関予測ベクトル生成部136の場合と同様に、動き相関予測ベクトルだけでなく、視差相関予測ベクトルも生成することができる。したがって、動き視差補償部312は、カレント領域のベクトルが視差ベクトルの場合であっても、視差相関予測ベクトルを再構築することができる。すなわち、画像復号装置300は、画像符号化装置100により生成された符号化データを正しく復号することができるので、符号化効率の向上を実現することができる。
 <3.第3の実施の形態>
 [ポイント]
 多視点画像の場合、一般的に、視差を発生させるように画像の位置がビュー間でずれている。そのためビュー方向のブロックを選択するときに、同位置のブロックを選択(参照)しても、予測画像の予測精度が低くなってしまい、適切な予測ベクトルを作ることができない可能性がある。
 そこで、予測ベクトル生成のために、ビュー方向のブロックを選択するときに、シフトした位置のブロックを選択する。つまり、カレント領域と同一の時刻の画像の位置をシフトさせた状態でカレント領域と同じ位置となる領域のベクトルを用いて、予測ベクトルを生成するようにする。
 このシフト量を、周辺ブロックの視差ベクトルから予め決められた手順で算出するようにする。この手順を符号化側の装置と復号側の装置とで共通化することにより、符号化側と復号側で、同様の予測を行うことができる。
 なお、シフト量を計算するための周辺ブロックを明示的に指定し、その情報を、符号化側から復号側に伝送するようにしてもよい。また、シフト量の演算方法に関する情報も符号化側から復号側に伝送するようにしてもよい。
 以上のようにすることにより、画像符号化装置においても、画像復号装置においても、ビュー間で位置合わせしたブロックから予測ベクトルを生成することができる。したがって、予測画像の予測精度を向上させることができ、符号化効率を向上させることができる。
 以下に、詳細を説明する。
 [画像符号化装置]
 図37は、本技術を適用した画像符号化装置の他の構成例を示すブロック図である。
 図37に示される画像符号化装置400は、基本的に上述した画像符号化装置100と同様の装置である。ただし、画像符号化装置400は、ビュー間で位置合わせしたブロックから予測ベクトルを生成する。
 図37に示されるように、画像符号化装置400は、動き予測・補償部415およびBase Viewエンコーダ421を有する。
 動き予測・補償部412は、デコードピクチャバッファ112から取得したデコード画像と、Base Viewエンコーダ421から取得したベースビューの動き情報を用いて、ビュー方向のブロックを参照する予測ベクトルを生成する。
 Base Viewエンコーダ421は、ベースビューの符号化を行う。Base Viewエンコーダ421は、ベースビューのデコード画像をデコードピクチャバッファ112に供給し、記憶させる。デコードピクチャバッファ112には、さらに、ループフィルタ111から供給されるノンベースビューのデコード画像も記憶される。
 Base Viewエンコーダ421は、ベースビューの動き情報を動き予測・補償部412に供給する。
 [動き予測・補償部]
 図38は、図37の動き予測・補償部412の主な構成例を示すブロック図である。
 図38に示されるように、動き予測・補償部412は、インターモード生成部431、参照インデックス決定部432、ベクトル予測部433、ベクトル予測部434、およびモード判定部435を有する。各処理部の間では、図38に示される情報が授受される。
 ベクトル予測部433は、インター予測モードの場合、予測ベクトルを生成し、その予測画像を生成する。ベクトル予測部434は、スキップモードやマージモード等の場合、予測ベクトルを生成し、その予測画像を生成する。これらにおいて生成された予測ベクトルや予測画像は、モード判定部435に供給される。
 モード判定部435は、これらの情報に基づいてモード判定を行い、選択したモードを示すモード情報と、そのモードの予測ベクトルを可逆符号化部106に供給する。また、選択されたモードの予測画像は、予測画像選択部116に供給される。
 [ベクトル予測部]
 図39は、ベクトル予測部433の主な構成例を示すブロック図である。
 図39に示されるように、ベクトル予測部433は、動き/視差ベクトル探索部451、予測画像生成部452、ベクトルコスト算出部453、ベクトル判定部454、ベクトル情報蓄積バッファ455、周辺ブロックからの予測ベクトル生成部456、異なるピクチャからの予測ベクトル生成部457、および選択部458を有する。各処理部の間では、図39に示される情報が授受される。
 異なるピクチャからの予測ベクトル生成部457は、異なるピクチャを参照する予測ベクトルを生成する。つまり、異なるピクチャからの予測ベクトル生成部457は、時間方向とビュー方向の各方向に異なるピクチャを参照し、予測ベクトルを生成する。ビュー方向に異なるピクチャを参照する予測ベクトルを生成する場合、異なるピクチャからの予測ベクトル生成部457は、Base Viewエンコーダ421からベースビューの動き情報を取得し、その動き情報を用いて、予測ベクトルを生成する。
 異なるピクチャからの予測ベクトル生成部457が生成した予測ベクトルは、選択部458を介してベクトルコスト算出部453に供給されて、モード判定に用いられるコスト関数値が算出される。
 [異なるピクチャからの予測ベクトル生成部]
 図40は、異なるピクチャからの予測ベクトル生成部457の主な構成例を示すブロック図である。
 図40に示されるように、異なるピクチャからの予測ベクトル生成部457は、視差ベクトル判定部471、ビュー間参照ベクトル生成部472、およびビュー内参照ベクトル生成部473を有する。
 視差ベクトル判定部471は、周辺ブロックの視差ベクトルから、参照画像のシフト量を算出する。このシフト量の算出方法は、任意である。例えば、周辺ブロックの視差ベクトルの中からいずれか1つを選択し、それをシフト量としてもよい。また、例えば、周辺ブロックの視差ベクトルの平均値や中央値をシフト量としてもよい。
 視差ベクトル判定部471は、このように求めたシフト量を視差ベクトルとして、ビュー間参照ベクトル生成部472に供給する。
 ビュー間参照ベクトル生成部472は、ビュー方向に異なるピクチャを参照する予測ベクトルを生成する。
 ビュー間参照ベクトル生成部472は、視差ベクトル判定部471により選ばれた視差ベクトル(シフト量)、Base Viewエンコーダ421から供給されるベースビューの動きベクトル(ノンベースビューの場合は視差ベクトルも含む)、並びに、ベクトル情報蓄積バッファ455から読み出した、参照画像インデックス、ビュー間の同一時刻の動き/視差ベクトル等の情報を用いて、視差ベクトルを考慮した予測ベクトルを生成する。
 つまり、ビュー間参照ベクトル生成部472は、視差ベクトル判定部471により算出されたシフト量を用いて参照するビューの画像の位置合わせ(シフト)を行う。そして、ビュー間参照ベクトル生成部472は、その位置合わせを行ったブロックから予測ベクトルを生成する。
 ビュー間参照ベクトル生成部472は、生成した予測ベクトルを、選択部458(図40では図示せず)を介して、ベクトルコスト算出部453に供給する。
 なお、ビュー内参照ベクトル生成部473は、時間方向に異なるピクチャを参照する予測ベクトルを生成する。
 以上のようにすることにより、ビュー間参照ベクトル生成部472は、予測精度の高い、適切な予測ベクトルを作ることができる。これにより、画像符号化装置400は、符号化効率を向上させることができる。
 [動き予測・補償処理の流れ]
 図41のフローチャートを参照して、動き予測・補償処理の流れの例を説明する。
 動き予測・補償処理が開始されると、インターモード生成部431は、ステップS401において、インター予測モード、スキップモード、マージモード等の中からいずれかを選択し、そのモードを指定する情報であるインターモードを生成する。
 ステップS402において、インターモード生成部431は、生成したインターモードがインター予測モードであるか否かを判定する。
 インター予測モードである場合、ステップS403において、インターモード生成部431は、参照画像を決定し、ステップS404において、ベクトル予測部433は、ベクトル予測処理を実行する。
 また、インター予測モードでない場合、ステップS404において、ベクトル予測部434は、ベクトル予測処理を行う。
 ステップS405において、モード判定部435は、ステップS404において生成された予測ベクトル等に基づいて、モードを判定する。このモードは、ステップS401の処理に利用される。
 ステップS405において、可逆符号化部106は、ステップS405において判定されたモードの情報を符号化する。
 [ベクトル予測処理の流れ]
 図42のフローチャートを参照して、図41のステップS404においてベクトル予測部433により実行されるベクトル予測処理の流れの例を説明する。
 ベクトル予測処理が開始されると、動き/視差ベクトル探索部451は、ステップS421において、ベクトルの探索を行う。
 ステップS422において、予測画像生成部452は、予測画像を生成する。
 ステップS423において、ベクトルコスト算出部453は、残差画像を生成する。
 ステップS424において、周辺ブロックからの予測ベクトル生成部456および異なるピクチャからの予測ベクトル生成部457は、符号化済みベクトルから予測ベクトルを生成する。
 ステップS425において、ベクトルコスト算出部453は、ベクトルの残差を計算する。
 ステップS426において、ベクトル判定部454は、最小コストの予測ベクトルを判定する。この処理結果は、ステップS424の処理に反映される。
 ステップS427において、ベクトル情報蓄積バッファ455は、ベクトル情報を蓄積し、処理を図41に戻す。
 [予測ベクトル生成処理の流れ]
 次に、図43のフローチャートを参照して、図42のステップS424において実行される予測ベクトル生成処理の流れの例を説明する。
 予測ベクトル生成処理が開始されると、選択部458は、ステップS441において、どのブロックを参照するかを判定する。
 当該ピクチャの周辺ブロックを参照すると判定された場合、周辺ブロックからの予測ベクトル生成部456は、ステップS442において、周辺ブロックの符号化済みベクトルを予測ベクトルにし、処理を図42に戻す。
 また、ステップS441において、異なるピクチャのブロックを参照すると判定された場合、選択部458は、処理をステップS443に進め、どのビューのピクチャを参照するかを判定する。
 異なるビューのピクチャを参照すると判定された場合、異なるピクチャからの予測ベクトル生成部457は、ステップS444において、ビュー方向に拡張された符号化済みコロケーテッドブロック(Co-located Block)からビュー方向の予測ベクトルを生成し、処理を図42に戻す。
 また、ステップS443において、同じビューのピクチャを参照すると判定された場合、異なるピクチャからの予測ベクトル生成部457は、ステップS445において、符号化済みコロケーテッドブロック(Co-located Block)から時間方向の予測ベクトルを生成し、処理を図42に戻す。
 [異なるピクチャからの予測ベクトル生成処理の流れ]
 次に、図44のフローチャートを参照して、図43のステップS444において実行される異なるピクチャからの予測ベクトル生成処理の流れの例を説明する。
 異なるピクチャからの予測ベクトル生成処理が開始されると、視差ベクトル判定部471は、ステップS461において、周辺ブロックの視差ベクトルからシフト量を決定する。
 ステップS462において、ビュー間参照ベクトル生成部472は、シフトされた位置のコロケーテッドブロックを選択する。
 ステップS463において、ビュー間参照ベクトル生成部472は、コロケーテッドブロックから予測ベクトルを生成し、処理を図43に戻す。
 [シフト量決定処理の流れ]
 次に、図45のフローチャートを参照して、図44のステップS461において実行されるシフト量決定処理の流れの例を説明する。
 ステップS481において、視差ベクトル判定部471は、周辺ブロックの視差ベクトルで、Y方向ベクトルの値が非ゼロのブロックが複数存在するか否かを判定する。
 周辺ブロックは、処理対象であるカレントブロック(カレントブロック)の周辺(「隣接」を含む)に位置するブロックである。例えば、図46に示されるように、カレントブロック(Curr)の左に隣接するブロック(Left)、カレントブロックの上に隣接するブロック(Above)、および、カレントブロックの右上に隣接するブロック(Above Right)が周辺ブロックとされる。もちろん、これら以外のブロックを周辺ブロックに含めても良いし、これらのブロックの一部または全部を周辺ブロックとしないようにしてもよい。
 周辺ブロックの位置は、全ブロックにおいて共通としてもよいが、ブロックによって異なるようにしてもよい。例えば、画面端やスライス境界に隣接するブロックをカレントブロックとする場合、周辺ブロックの一部を使用不可としてもよい。
 ステップS481において、Y方向ベクトルの値が非ゼロのブロックが複数存在しないと判定した場合、視差ベクトル判定部471は、処理をステップS482に進め、対象のX方向の視差ベクトルをシフト量とし、処理を図44に戻す。
 また、ステップS481において、Y方向ベクトルの値が非ゼロのブロックが複数存在すると判定した場合、視差ベクトル判定部471は、処理をステップS483に進め、対象のX方向の視差ベクトルの平均値をシフト量とし、処理を図44に戻す。
 以上のように各処理を実行することにより、動き予測・補償部415は、予測精度の高い、適切な予測ベクトルを作ることができる。これにより、画像符号化装置400は、符号化効率を向上させることができる。
 <4.第4の実施の形態>
 [画像復号装置]
 図47は、本技術を適用した画像復号装置の他の構成例を示すブロック図である。
 図47に示される画像復号装置500は、基本的に上述した画像復号装置300と同様の装置である。ただし、画像復号装置500は、画像符号化装置400の場合と同様に、ビュー間で位置合わせしたブロックから予測ベクトルを生成する。
 図47に示されるように、画像復号装置500は、動き補償部512およびBase Viewデコーダ521を有する。
 動き補償部512は、デコードピクチャバッファ309から取得したデコード画像と、Base Viewデコーダ521から取得したベースビューの動き情報を用いて、ビュー方向のブロックを参照する予測ベクトルを生成する。
 Base Viewデコーダ521は、ベースビューの符号化を行う。Base Viewデコーダ521は、ベースビューのデコード画像をデコードピクチャバッファ309に供給し、記憶させる。デコードピクチャバッファ309には、さらに、ループフィルタ306から供給されるノンベースビューのデコード画像も記憶される。
 Base Viewデコーダ521は、ベースビューの動き情報を動き補償部512に供給する。
 [動き補償部]
 図48は、図47の動き補償部512の主な構成例を示すブロック図である。
 図48に示されるように、動き補償部512は、モード判定部531、参照インデックス決定部532、ベクトル復号部533、およびベクトル復号部534を有する。各処理部の間では、図48に示される情報が授受される。
 ベクトル復号部533は、インター予測モードの場合、画像符号化装置400から伝送された残差ベクトルを復号し、予測ベクトルを生成する。また、ベクトル復号部533は、その予測ベクトルを用いて予測画像を生成する。その予測画像は、予測画像選択部313に供給される。
 ベクトル復号部534は、スキップモードやマージモードの場合、画像符号化装置400から伝送された残差ベクトルを復号し、予測ベクトルを生成する。また、ベクトル復号部534は、その予測ベクトルを用いて予測画像を生成する。その予測画像は、予測画像選択部313に供給される。
 [ベクトル復号部]
 図49は、ベクトル復号部533の主な構成例を示すブロック図である。
 図49に示されるように、ベクトル復号部533は、選択部551、周辺ブロックからの予測ベクトル生成部552、異なるピクチャからの予測ベクトル生成部553、選択部554、演算部555、予測画像生成部556、およびベクトル情報蓄積バッファ557を有する。各処理部の間では、図49に示される情報が授受される。
 選択部551は、可逆復号部302から供給されるベクトルインデックスを、インターモードに応じて、周辺ブロックからの予測ベクトル生成部552(スキップモード若しくはマージモード等の場合)、若しくは、異なるピクチャからの予測ベクトル生成部553(インター予測モードの場合)に供給する。
 ベクトルインデックスが供給された、周辺ブロックからの予測ベクトル生成部552は、ベクトル情報蓄積バッファ557から取得したベクトル情報を用いて、カレントピクチャ内の周辺ブロックからの予測ベクトルを生成する。
 ベクトルインデックスが供給された、異なるピクチャからの予測ベクトル生成部553は、ベクトル情報蓄積バッファ557から取得したベクトル情報を用いて、カレントビュー内の異なるピクチャからの予測ベクトルを生成する。また、異なるピクチャからの予測ベクトル生成部553は、ベクトル情報蓄積バッファ557から取得したベクトル情報や、Base Viewデコーダ521から供給されるベースビューの動き情報を用いて、異なるビューの異なるピクチャからの予測ベクトルを生成する。
 この異なるピクチャからの予測ベクトル生成部553は、異なるピクチャからの予測ベクトル生成部457の視差ベクトル判定部471と同様の処理部であり、同様の方法で予測ベクトルを生成する。
 選択部554は、周辺ブロックからの予測ベクトル生成部552が生成した予測ベクトル、若しくは、異なるピクチャからの予測ベクトル生成部553が生成した予測ベクトルを演算部555に供給する。
 演算部555は、可逆復号部302から供給される動き/視差ベクトルの差分値(残差ベクトル)と、予測ベクトルを加算し、カレント領域の動き/視差ベクトルを生成する。演算部555は、その動き/視差ベクトルを予測画像生成部556に供給する。また、演算部555は、その動き/視差ベクトルをベクトル情報蓄積バッファ557に供給し、記憶させる。
 予測画像生成部556は、演算部555から供給されたカレント領域の動き/視差ベクトル、可逆復号部302から供給される参照画像インデックス、および、デコードピクチャバッファ309から供給される復号画像画素値を用いて予測画像を生成する。予測画像生成部556は、生成した予測画像画素値を予測画像選択部313に供給する。
 [異なるピクチャからの予測ベクトル生成部]
 図50は、異なるピクチャからの予測ベクトル生成部553の主な構成例を示すブロック図である。
 図50に示されるように、異なるピクチャからの予測ベクトル生成部553は、視差ベクトル判定部571、ビュー間参照ベクトル生成部572、およびビュー内参照ベクトル生成部573を有する。
 この視差ベクトル判定部571、ビュー間参照ベクトル生成部572、およびビュー内参照ベクトル生成部573は、それぞれ、異なるピクチャからの予測ベクトル生成部457の視差ベクトル判定部471、ビュー間参照ベクトル生成部472、およびビュー内参照ベクトル生成部473と同様の処理部であり、同様の処理を行う。
 つまり、視差ベクトル判定部571は、視差ベクトル判定部471と同様の方法で、参照先のビューの画像のシフト量を算出し、その画像をシフトする。
 したがって、異なるピクチャからの予測ベクトル生成部553は、残差ベクトルを正しく復号し、異なるピクチャからの予測ベクトル生成部457が生成する予測ベクトルと同様の、予測精度の高い適切な予測ベクトルを生成することができる。つまり、ベクトル復号部533は、ベクトル予測部433が生成する予測画像と同様の予測画像を生成することができる。したがって、画像復号装置500は、画像符号化装置400が生成した符号化データを正しく復号することができ、符号化効率の向上を実現することができる。
 なお、視差ベクトル判定部571によるシフト量の算出方法は、視差ベクトル判定部471と同じである限り、任意である。例えば、周辺ブロックの視差ベクトルの中からいずれか1つを選択し、それをシフト量としてもよい。また、例えば、周辺ブロックの視差ベクトルの平均値や中央値をシフト量としてもよい。
 [動き補償処理の流れ]
 図51のフローチャートを参照して、動き補償処理の流れの例を説明する。
 動き予測・補償処理が開始されると、モード判定部531は、ステップS501において、インターモードを復号し、ステップS502において、インター予測モードであるか否かを判定する。
 インター予測モードである場合、ステップS503において、ベクトル復号部533は、参照画像を決定し、ステップS504において、ベクトル復号処理を行い、残差ベクトルを復号し、予測画像を生成する。
 また、インター予測モードでない場合、ステップS504において、ベクトル復号部534は、ベクトル復号処理を行い、残差ベクトルを復号し、予測画像を生成する。
 [ベクトル復号処理の流れ]
 図52のフローチャートを参照して、図51のステップS504においてベクトル復号部533により実行されるベクトル復号処理の流れの例を説明する。
 ベクトル復号処理が開始されると、可逆復号部302は、ステップS521において、残差ベクトル(差分ベクトル)を復号する。
 ステップS522において、可逆復号部302は、参照画像インデックスを復号する。
 ステップS523において、可逆復号部302は、ベクトルインデックスを復号する。
 ステップS524において、周辺ブロックからの予測ベクトル生成部552および異なるピクチャからの予測ベクトル生成部553は、符号化済みベクトルから予測ベクトルを生成する。演算部555は、この予測ベクトルを残差ベクトルに加算して、カレント領域の動き/視差ベクトルを生成する。
 ステップS525において、予測画像生成部556は、ステップS524において生成された動き/視差ベクトルを用いて予測画像を生成する。
 ステップS526において、ベクトル情報蓄積バッファ455は、ベクトル情報を蓄積し、処理を図51に戻す。
 [予測ベクトル生成処理の流れ]
 次に、図53のフローチャートを参照して、図52のステップS524において実行される予測ベクトル生成処理の流れの例を説明する。
 予測ベクトル生成処理が開始されると、選択部554は、ステップS541において、どのブロックを参照するかを判定する。
 カレントピクチャの周辺ブロックを参照すると判定された場合、周辺ブロックからの予測ベクトル生成部552は、ステップS542において、周辺ブロックの符号化済みベクトルを予測ベクトルにし、処理を図52に戻す。
 また、ステップS541において、異なるピクチャのブロックを参照すると判定された場合、選択部554は、処理をステップS543に進め、どのビューのピクチャを参照するかを判定する。
 異なるビューのピクチャを参照すると判定された場合、異なるピクチャからの予測ベクトル生成部553は、ステップS544において、ビュー方向に拡張された符号化済みコロケーテッドブロック(Co-located Block)からビュー方向の予測ベクトルを生成し、処理を図52に戻す。
 また、ステップS543において、同じビューのピクチャを参照すると判定された場合、異なるピクチャからの予測ベクトル生成部553は、ステップS545において、符号化済みコロケーテッドブロック(Co-located Block)から時間方向の予測ベクトルを生成し、処理を図52に戻す。
 [異なるピクチャからの予測ベクトル生成処理の流れ]
 次に、図54のフローチャートを参照して、図53のステップS544において実行される異なるピクチャからの予測ベクトル生成処理の流れの例を説明する。
 異なるピクチャからの予測ベクトル生成処理が開始されると、視差ベクトル判定部571は、ステップS561において、周辺ブロックの視差ベクトルからシフト量を決定する。
 ステップS562において、ビュー間参照ベクトル生成部572は、シフトされた位置のコロケーテッドブロックを選択する。
 ステップS563において、ビュー間参照ベクトル生成部572は、コロケーテッドブロックから予測ベクトルを生成し、処理を図53に戻す。
 つまり、図44のフローチャートの場合と同様の流れで行われる。
 [シフト量決定処理の流れ]
 次に、図55のフローチャートを参照して、図54のステップS561において実行されるシフト量決定処理の流れの例を説明する。
 ステップS581において、視差ベクトル判定部571は、周辺ブロックの視差ベクトルで、Y方向ベクトルの値が非ゼロのブロックが複数存在するか否かを判定する。
 ステップS581において、Y方向ベクトルの値が非ゼロのブロックが複数存在しないと判定した場合、視差ベクトル判定部571は、処理をステップS582に進め、対象のX方向の視差ベクトルをシフト量とし、処理を図54に戻す。
 また、ステップS581において、Y方向ベクトルの値が非ゼロのブロックが複数存在すると判定した場合、視差ベクトル判定部571は、処理をステップS583に進め、対象のX方向の視差ベクトルの平均値をシフト量とし、処理を図54に戻す。
 つまり、図45のフローチャートの場合と同様の流れで行われる。周辺ブロックについても同様である。
 以上のように各処理を実行することにより、動き補償部512は、予測精度の高い、適切な予測ベクトルを作ることができる。これにより、画像復号装置500は、符号化効率の向上を実現させることができる。
 なお、上述したように、シフト量を計算するための周辺ブロックや、シフト量演算方法等の情報を、画像符号化装置400から画像復号装置500に伝送するようにしてもよい。
 <5.第5の実施の形態>
 [予測ベクトル]
 なお、第3および第4の実施の形態で説明したように、予測ベクトル生成のために、ビュー方向のブロックを選択するときに、シフトした位置のブロックを選択することができる。
 この予測ベクトルの候補を、カレント領域と同じビューの異なる時刻のピクチャに属する同位置のブロックであるコロケーテッドブロックのベクトル(コロケーテッドブロック)、若しくは、グローバル視差ベクトルを用いて生成するようにしてもよい。
 例えば、図56に示されるように、3D画像の左右画像のいずれか一方(例えば左眼用画像)をベースビュー(base view)とし、他方(例えば右眼用画像)をディペンデントビュー(dependent view)とする。
 そのディペンデントビューのカレントピクチャ601のカレント領域611のベクトル(符号化ベクトル(Coding vector))621を予測する際に、例えば、カレント領域と同じビューの異なる時刻のピクチャであるコロケーテッドピクチャ602の、カレント領域と同じ位置にあるコロケーテッドブロック612の動きベクトル(コロケーテッドベクトル)622、若しくは、グローバル視差ベクトル(図示せず)を用いて、予測ベクトル求めるようにしてもよい。
 例えば、カレントピクチャ601と同じ時刻のベースビューのピクチャ603のカレント領域11と同じ位置から、コロケーテッドブロック622若しくはグローバル視差ベクトル分(ベクトル631)シフトした位置のブロック613のベクトル623を、符号化ベクトル(MV)621の予測ベクトル(PMV)としてもよい。また、コロケーテッドブロック622若しくはグローバル視差ベクトルを、符号化ベクトル(MV)621の予測ベクトルとしてもよい。
 この手順を符号化側の装置と復号側の装置とで共通化することにより、符号化側と復号側で、同様の予測を行うことができる。
 なお、コロケーテッドブロックおよびグローバル視差ベクトルのいずれを用いるかを示す情報や、コロケーテッドブロック若しくはグローバル視差ベクトルに関する情報等を明示的に指定し、その情報を、符号化側から復号側に伝送するようにしてもよい。また、シフト量の演算方法に関する情報も符号化側から復号側に伝送するようにしてもよい。
 以上のようにすることにより、画像符号化装置においても、画像復号装置においても、ビュー間で同じように位置合わせしたブロックから予測ベクトルを生成することができる。したがって、予測画像の予測精度を向上させることができ、符号化効率を向上させることができる。
 [グローバル視差ベクトル]
 次に、グローバル視差ベクトルについて説明する。グローバル視差ベクトルは、グローバルな(例えば、ピクチャ、スライス、LCU、若しくはCU等の、所定の単位毎の)代表的な視差ベクトルである。例えば、ピクチャ毎に生成されるグローバル視差ベクトルは、ビュー間の視差量を示す。グローバル視差ベクトルの生成方法は任意である。
 なお、グローバル視差ベクトルの詳細な例は、Junghak Nam, Hyomin Choi, Sunmi Yoo, Woong Lim, Donggyu Sim, "3D-HEVC-CE3 result on KWU’s advanced motion and disparity prediction method based on global disparity", INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO, ISO/IEC JTC1/SC29/WG11 MPEG2011/M23620, February 2012, San Jose, CAに記載されている。
 図57は、視差と奥行きについて説明する図である。
 図57に示すように、被写体Mのカラー画像が、位置C1に配置されたカメラc1と位置C2に配置されたカメラc2により撮影される場合、被写体Mの、カメラc1(カメラc2)からの奥行方向の距離である奥行きZは、以下の式(1)で定義される。
 Z = (L/d)×f ・・・(1)
 なお、Lは、位置C1と位置C2の水平方向の距離(以下、カメラ間距離という)である。また、dは、カメラc1で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u1から、カメラc2で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u2を減算した値、即ち視差(disparity)である。さらに、fは、カメラc1の焦点距離であり、式(1)では、カメラc1とカメラc2の焦点距離は同一であるものとしている。
 つまり、視差dは、以下の式(2)のように定義される。
Figure JPOXMLDOC01-appb-M000001
 ・・・(2)
 式(1)や式(2)に示されるように、視差dと奥行きZは、一意に変換可能である。従って、本明細書では、カメラc1とカメラc2により撮影された2視点のカラー画像の視差dを表す画像と奥行きZを表す画像とを総称して、デプス画像(視差画像)とする。
 なお、デプス画像(視差画像)は、視差dまたは奥行きZを表す画像であればよく、デプス画像(視差画像)の画素値としては、視差dまたは奥行きZそのものではなく、視差dを正規化した値、奥行きZの逆数1/Zを正規化した値等を採用することができる。
 奥行きZは、以下の式(3)により求めることができる。
Figure JPOXMLDOC01-appb-M000002
 ・・・(3)
 なお、式(3)において、Zfarは、奥行きZの最大値であり、Znearは、奥行きZの最小値である。最大値Zfarと最小値Znearは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
 このように、本明細書では、視差dと奥行きZとは一意に変換可能であることを考慮して、視差dを正規化した値Iを画素値とする画像と、奥行きZの逆数1/Zを正規化した値yを画素値とする画像とを総称して、デプス画像(視差画像)とする。ここでは、デプス画像(視差画像)のカラーフォーマットは、YUV420又はYUV400であるものとするが、他のカラーフォーマットにすることも可能である。
 なお、デプス画像(視差画像)の画素値としてではなく、値I又は値yの情報自体に着目する場合には、値I又は値yを、デプス情報(視差情報)とする。更に、値I又は値yをマッピングしたものをデプスマップ(視差マップ)とする。
 [予測ベクトルの生成]
 予測ベクトルは、例えば図58に示される表のように、符号化ベクトルおよびコロケーテッドベクトルの両方の特性に応じた方法で生成される。
 例えば、図58の表の下から6段目に示されるように、符号化ベクトルおよびコロケーテッドベクトルの両方が動きベクトル(Motion vector)の場合、コロケーテッドベクトルが予測ベクトル候補とされる。
 また、例えば、図58の表の下から2段目に示されるように、符号化ベクトルおよびコロケーテッドベクトルの両方が視差ベクトル(Inter-view vector)の場合、コロケーテッドベクトルが予測ベクトル候補とされる。
 これらに対して、例えば、図58の表の下から5段目に示されるように、符号化ベクトルが動きベクトル(Motion vector)であり、かつ、コロケーテッドベクトルが視差ベクトル(Inter-view vector)である場合、コロケーテッドベクトル分だけシフトしたブロックのベースビューの動きベクトルが予測ベクトル候補とされる。
 また、例えば、図58の表の下から4段目に示されるように、符号化ベクトルが動きベクトル(Motion vector)であり、かつ、コロケーテッドブロックがイントラモードである場合、グローバル視差ベクトル分だけシフトしたブロックのベースビューの動きベクトルが予測ベクトル候補とされる。
 さらに、例えば、図58の表の下から3段目に示されるように、符号化ベクトルが視差ベクトル(Inter-view vector)であり、かつ、コロケーテッドベクトルが動きベクトル(Motion vector)である場合、グローバル視差ベクトルが予測ベクトル候補とされる。
 また、例えば、図58の表の下から1段目に示されるように、符号化ベクトルが視差ベクトル(Inter-view vector)であり、かつ、コロケーテッドブロックがイントラモードである場合、グローバル視差ベクトルが予測ベクトル候補とされる。
 このように予測ベクトルの候補の生成方法を増やすことにより、予測ベクトルの予測精度を向上させ、符号化効率を向上させることができる。
 [画像符号化装置]
 この場合の画像符号化装置の構成例は、図35乃至図38に示される画像符号化装置400の場合と同様であるので、その説明を省略する。
 [処理の流れ]
 また、この場合の、動き予測・補償処理は、図39のフローチャートを参照して説明した場合と同様に行われる。また、この場合の、ベクトル予測処理は、図40のフローチャートを参照して説明した場合と同様に行われる。したがって、これらの処理の説明は省略する。
 図59のフローチャートを参照して、この場合の予測ベクトル生成処理の流れの例を説明する。
 予測ベクトル生成処理が開始されると、選択部458は、ステップS601において、どのブロックを参照するかを判定する。
 周辺ブロックを参照すると判定された場合、処理はステップS602に進む。ステップS602において、周辺ブロックからの予測ベクトル生成部456は、周辺ブロックの符号化済みベクトルを予測ベクトルにする。ステップS602の処理が終了すると、予測ベクトル生成処理が終了され、処理は、図40に戻る。
 また、ステップS601において、参照先として異なるピクチャのブロックが選択された場合、処理は、ステップS603に進む。ステップS603において、異なるピクチャからの予測ベクトル生成部457は、異なる時刻・ビューのブロックの符号化済みベクトルを予測ベクトルにする。ステップS603の処理が終了すると、予測ベクトル生成処理が終了され、処理は、図40に戻る。
 次に、図60および図61のフローチャートを参照して、図59のステップS603において実行される、異なるピクチャからの予測ベクトル生成処理の流れの例を説明する。
 異なるピクチャからの予測ベクトル生成処理が開始されると、視差ベクトル判定部471は、ステップS621において、符号化ベクトルが動きベクトルであるか否かを判定する。動きベクトルであると判定された場合、処理は、ステップS622に進む。
 ステップS622において、視差ベクトル判定部471は、コロケーテッドブロックのモードが何かを判定する。コロケーテッドブロックのモードが動きベクトルであると判定された場合、処理は、ステップS623に進む。
 ステップS623において、ビュー内参照ベクトル生成部473は、コロケーテッドベクトルを予測ベクトルにセットする。ステップS623の処理が終了すると、異なるピクチャからの予測ベクトル生成処理が終了し、処理は、図59に戻る。
 また、ステップS622において、コロケーテッドブロックのモードがイントラ予測であると判定された場合、処理は、ステップS624に進む。
 ステップS624において、ビュー間参照ベクトル生成部472は、グローバル視差ベクトルを求め、そのグローバル視差ベクトル分だけシフトしたベースビューのブロックのベクトルを予測ベクトルにセットする。ステップS624の処理が終了すると、異なるピクチャからの予測ベクトル生成処理が終了し、処理は、図59に戻る。
 また、ステップS622において、コロケーテッドブロックのモードが視差ベクトルであると判定された場合、処理は、ステップS625に進む。
 ステップS625において、ビュー間参照ベクトル生成部472は、コロケーテッドベクトル分だけシフトしたベースビューのブロックのベクトルを予測ベクトルにセットする。ステップS625の処理が終了すると、異なるピクチャからの予測ベクトル生成処理が終了し、処理は、図59に戻る。
 また、ステップS621において、符号化ベクトルが視差ベクトルであると判定した場合、処理は、図61に進む。
 図61のステップS631において、視差ベクトル判定部471は、コロケーテッドブロックのモードが何かを判定する。コロケーテッドブロックのモードが視差ベクトルであると判定された場合、処理は、ステップS632に進む。
 ステップS632において、ビュー内参照ベクトル生成部473は、コロケーテッドベクトルを予測ベクトルにセットする。ステップS632の処理が終了すると、異なるピクチャからの予測ベクトル生成処理が終了し、処理は、図59に戻る。
 また、ステップS631において、コロケーテッドブロックのモードが動きベクトルであると判定された場合、処理は、ステップS634に進む。ステップS634において、ビュー間参照ベクトル生成部472は、グローバル視差ベクトルを予測ベクトルにセットする。ステップS634の処理が終了すると、異なるピクチャからの予測ベクトル生成処理が終了し、処理は、図59に戻る。
 さらに、ステップS631において、コロケーテッドブロックのモードがイントラ予測であると判定された場合、処理は、ステップS635に進む。ステップS635において、ビュー間参照ベクトル生成部472は、グローバル視差ベクトルを予測ベクトルにセットする。ステップS635の処理が終了すると、異なるピクチャからの予測ベクトル生成処理が終了し、処理は、図59に戻る。
 以上のように各処理を実行することにより、この場合の画像符号化装置は、コロケーテッドブロックやグローバル視差ベクトルを用いて予測ベクトルを生成することができる。これにより、画像符号化装置は、予測ベクトルの予測精度を向上させることができ、符号化効率を向上させることができる。
 [画像復号装置]
 次に、この場合の画像符号化装置に対応する画像復号装置について説明する。この場合の画像復号装置の構成例は、画像符号化装置の場合と同様に、図45乃至図48に示される画像復号装置500の場合と同様であるので、その説明を省略する。
 [処理の流れ]
 次に、この場合の、画像復号装置により実行される各種処理の流れについて説明する。この場合も、画像復号装置においては、画像符号化装置と基本的に同様の処理が行われる。つまり、動き補償処理は、図49のフローチャートを参照して説明した場合と同様に実行される。また、ベクトル復号処理は、図50のフローチャートを参照して説明した場合と同様に実行される。
 なお、予測ベクトル生成処理は、図59のフローチャートを参照して説明した場合、つまり、画像符号化装置が実行する場合と同様に実行される。
 ただし、この場合、ステップS601の処理は選択部551が行う。また、ステップS602においては、周辺ブロックからの予測ベクトル生成部552が、周辺ブロックの復号済みベクトルを予測ベクトルにする。さらに、ステップS603においては、異なるピクチャからの予測ベクトル生成部553が、異なる時刻・ビューのブロックの復号済みベクトルを予測ベクトルにする。
 また、その異なるピクチャからの予測ベクトル生成処理は、図60および図61のフローチャートを参照して説明した場合、すなわち、画像符号化装置が実行する場合と同様に実行される。
 ただし、この場合、ステップS621、ステップS622、および、ステップS631の各処理は、視差ベクトル判定部571が行い、ステップS623およびステップS632の各処理は、ビュー内参照ベクトル生成部573が行い、ステップS624、ステップS625、ステップS634、およびステップS635の各処理は、ビュー間参照ベクトル生成部572により実行される。
 このように各処理を実行することにより、この場合の画像復号装置は、画像符号化装置と同様に、コロケーテッドブロックやグローバル視差ベクトルを用いて予測ベクトルを生成することができる。これにより、画像復号装置は、予測ベクトルの予測精度を向上させることができ、符号化効率を向上させることができる。
 <6.第6の実施の形態>
 [参照画像のタイプ]
 例えば、HEVCの場合、参照画像には、短時間参照ピクチャと長時間参照ピクチャの2つのタイプがある。短時間参照ピクチャは、符号化ピクチャと時間的に近いピクチャであるため、予測ベクトルに対して、時間的な距離に基づくスケーリング処理が行われる。これに対して、長時間参照ピクチャは、符号化ピクチャと時間的に遠いピクチャであるため、予測ベクトルに対するスケーリングは意味をなさないため、行われない。
 画像の動き等に応じてこれらの参照ピクチャを使い分けることで、符号量をより低減させることができる。
 符号化ベクトルと予測ベクトルの参照ピクチャのタイプ(短時間参照ピクチャまたは長時間参照ピクチャ)が異なっていても、その予測ベクトルは使用可(Available)となる。
 符号化ベクトルと予測ベクトルの参照ピクチャのタイプが異なる場合、それらのベクトルの相関は低いことが予想される。したがって、ベクトルの候補リストに入れてしまうと符号化効率の低下が起こる恐れがあった。例えば、相関がより高いベクトルが、候補リストの後ろの方に追いやられてしまい、ベクトルを指定するためのインデックスの符号量が増加する恐れがあった。また、例えば、相関がより高いベクトルが、候補リストの後ろの方に追いやられてしまい、候補リストから除外されてしまい、指定できなくなる恐れがあった。
 そこで、符号化ベクトルと予測ベクトルの参照ピクチャのタイプ(短時間参照ピクチャまたは長時間参照ピクチャ)が異なるときに、その予測ベクトルを使用不可(Not available)にするようにする。
 短時間参照ピクチャを参照するベクトルと長時間参照ピクチャを参照するベクトルの特性は異なるため相関が低いと考えられる。したがって、この場合に候補ベクトルから除外することで、符号化効率を改善することができる。
 例えば、図62は、背景静止アプリの参照画像の様子の例を説明する図である。静止画像の背景画像の前方に動物体が存在するような動画像(背景静止のアプリ)の場合、静止領域である背景(特にオクルージョン領域)は、長時間ピクチャを参照するので、動きベクトルが0となる傾向がある。これに対して、前方の動物体は短時間参照ピクチャを参照するので、動きベクトルが発生する。このように参照ピクチャのタイプが異なると、動きベクトルの相関が低い(図64のA)。そのため、上述したように、符号化ベクトルと予測ベクトルの参照ピクチャのタイプが異なるときに、候補ベクトルから除外することで、符号化効率を改善することができる。
 また、例えば、図63は、ステレオアプリの参照画像の様子の例を説明する図である。立体視のために左目用の画像(左目画像)と右目用の画像(右目画像)が用意されているような動画像(ステレオアプリ)の場合、Dependent View(ここでは右目画像として説明する)を符号化するときに、Base View(ここでは左目画像として説明する)を長時間参照ピクチャとして指定し、Dependent Viewの符号化済みピクチャを短時間参照ピクチャとして指定する。
 Dependent Viewを参照する場合、参照先と参照元とでフレームIDが異なるのでスケーリング可能であるが、Base Viewを参照する場合、参照先と参照元とでフレームIDが一致してしまう。そのため、スケーリングの際に分母が0になる恐れがあり、スケーリングが困難になる。そのため、HEVC等では、Base Viewは、スケーリングを行わない長時間参照ピクチャとして指定するようになされている。
 そのため、ステレオアプリの場合、長時間参照ピクチャを参照するベクトルは視差ベクトルで、短時間参照ピクチャを参照するベクトルは動きベクトルとなる。したがって、ピクチャタイプ間で、動き(視差)ベクトルの相関が低い(図64のB)。そのため、上述したように、符号化ベクトルと予測ベクトルの参照ピクチャのタイプが異なるときに、候補ベクトルから除外することで、符号化効率を改善することができる。
 なお、以下においては、処理対象のブロック(CU、PU等)を符号化ブロック(若しくはカレント)ブロックとも称する。また、符号化ブロックの時間的に周辺のブロック、すなわち、符号化ブロックが存在するピクチャ(カレントピクチャ)の時間的に周辺のピクチャのコロケーテッドブロックを、時間相関ブロックとも称する。さらに、符号化ブロックの空間的に周辺のブロック、すなわち、カレントピクチャにおいて符号化ブロックに隣接するブロック若しくは近傍に位置するブロックを、周辺ブロックとも称する。
 図65に周辺ブロックの例を示す。位置A0およびA1のブロックは、符号化ブロック(カレントブロック)の周辺ブロックであり、左側位置のブロックとも称する。また、位置B0、B1、およびB2のブロックは、符号化ブロック(カレントブロック)の周辺ブロックであり、上側位置のブロックとも称する。
 [動き(視差)ベクトルの取り扱いのまとめ]
 図66は、時間相関ブロックと周辺ブロックの取り扱いの例を説明する図である。ベクトルの予測において、時間相関ブロックの動き(視差)ベクトルを候補ベクトルに含めるか否か、並びに、スケーリングを行うか否かは、図66のAに示される表のように決定する。
 つまり、例えば、符号化ブロックの参照画像と時間相関ブロックの参照画像とのタイプが一致する場合、すなわち、ともに短時間参照画像であるか、若しくは、ともに長時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルを候補にし、両者のタイプが一致しない場合、候補から除外するようにする。さらに、符号化ブロックの参照画像と時間相関ブロックの参照画像とが、ともに短時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルのスケーリングを行うようにし、両者がともに長時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルのスケーリングを行わないようにする。
 また、ベクトルの予測において、周辺ブロックの動き(視差)ベクトルを候補ベクトルに含めるか否か、並びに、スケーリングを行うか否かは、図66のBに示される表のように決定する。つまり、時間相関ブロックの場合と同様である。
 つまり、例えば、符号化ブロックの参照画像と周辺ブロックの参照画像とのタイプが一致する場合、すなわち、ともに短時間参照画像であるか、若しくは、ともに長時間参照画像である場合、周辺ブロックの動き(視差)ベクトルを候補にし、両者のタイプが一致しない場合、候補から除外するようにする。さらに、符号化ブロックの参照画像と周辺ブロックの参照画像とが、ともに短時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行うようにし、両者がともに長時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行わないようにする。
 [符号化時の処理の流れ]
 このような制御を実現するための符号化時の処理の流れの例について、以下に説明する。なお、このような制御は、第3の実施の形態において説明した画像符号化装置400(図37)により実現することができる。
 画像符号化装置400による符号化処理は、図20のフローチャートを参照して説明した場合(第1の実施の形態)と同様に行われる。
 図20のステップS104において実行されるインター動き予測処理に相当する処理として、動き予測・補償部415が実行するPUの動き(視差)ベクトルと参照インデックス生成処理の流れの例を、図67のフローチャートを参照して説明する。
 ステップS701において、インターモード生成部431(図38)は、インターモードを生成する。ステップS702において、インターモード生成部431は、そのモードがマージ(スキップ)モードであるか否かを判定する。
 マージ(スキップ)モードであると判定された場合、処理は、ステップS703に進む。ステップS703において、参照インデックス決定部432およびベクトル予測部434は、マージ(スキップ)モードの処理を行い、動き(視差)ベクトルと参照インデックスを生成する。ステップS703の処理が終了すると、処理は、ステップS707に進む。
 また、ステップS702において、マージ(スキップ)モードでないと判定された場合、処理は、ステップS704に進む。ステップS704において、ベクトル予測部433は、残差動き(視差)ベクトルと参照インデックスを取得する。ステップS705において、ベクトル予測部433は、AMVPモードの処理を行い、予測動き(視差)ベクトルを生成する。ステップS706において、モード判定部435は、残差動き(視差)ベクトルと予測動き(視差)ベクトルとを加算する。
 ステップS707において、モード判定部435は、全てのモードを処理するまで処理をステップS701に戻し、全てのモードが揃ったら、最適なモードを判定する。
 ステップS708において、可逆符号化部106は、選ばれた情報を符号化する。ステップS708の処理が終了すると、処理は、図20に戻る。
 次に、図67のステップS703において実行されるマージ(スキップ)モード処理の流れの例を、図68のフローチャートを参照して説明する。
 処理が開始されると、ステップS711において、参照インデックス決定部432は、空間的に周辺のブロックから候補となる動き(視差)ベクトルと参照インデックスを作成する。
 ステップS712において、参照インデックス決定部432は、時間相関ブロック用の参照インデックスを生成する。
 ステップS713において、ベクトル予測部434は、時間相関ブロックから候補となる動き(視差)ベクトルを生成する。
 ステップS714において、ベクトル予測部434は、動き(視差)ベクトルと参照インデックスの候補リストを生成する。なお、このリストの要素数をYとする。
 ステップS715において、ベクトル予測部434は、候補リストの最大数Xを設定する。
 ステップS716において、ベクトル予測部434は、リストの要素数Yが候補リストの最大数Xより小さいか否か(Y<Xであるか否か)を判定する。リストの要素数Yが候補リストの最大数Xより小さい(Y<Xである)と判定された場合、処理は、ステップS717に進む。
 ステップS717において、ベクトル予測部434は、候補リストの各要素を組み合わせて、新しく動き(視差)ベクトルと参照インデックスを生成する。
 ステップS718において、ベクトル予測部434は、候補リストを更新する。この時のリストの要素数をY’とする。
 ステップS719において、ベクトル予測部434は、リストの要素数Y’が候補リストの最大数Xより小さいか否か(Y’<Xであるか否か)を判定する。リストの要素数Y’が候補リストの最大数Xより小さい(Y’<Xである)と判定された場合、処理は、ステップS720に進む。
 ステップS720において、ベクトル予測部434は、ゼロ動き(視差)ベクトルとゼロ参照インデックスを新たに生成する。ステップS720の処理が終了すると、処理はステップS721に進む。
 また、ステップS716において、リストの要素数Yが候補リストの最大数X以上である(Y<Xでない)と判定された場合、処理は、ステップS721に進む。また、ステップS719において、リストの要素数Y’が候補リストの最大数X以上である(Y’<Xでない)と判定された場合、処理は、ステップS721に進む。
 ステップS721において、ベクトル予測部434は、候補リストの要素インデックスを生成する。
 ステップS722において、ベクトル予測部434は、要素インデックスが指し示す動き(視差)ベクトルと参照インデックスを取得する。ステップS722の処理が終了すると、処理は、図67に戻る。
 次に、図68のステップS713において実行される時間相関ブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図69のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部434は、ステップS731において、時間相関ピクチャを指定するインデックスを生成する。
 ステップS732において、ベクトル予測部434は、時間相関ピクチャを決定する。
 ステップS733において、ベクトル予測部434は、時間相関ピクチャ内に存在する符号化PU(符号化ブロック)の右下位置のブロックを選択する。
 ステップS734において、ベクトル予測部434は、右下位置のブロックがイントラモード若しくは使用不可であるか否かを判定する。右下位置のブロックがイントラモード若しくは使用不可であると判定された場合、処理は、ステップS735に進む。
 ステップS735において、ベクトル予測部434は、時間相関ピクチャ内に存在する符号化PUの中心位置のブロックを選択する。
 ステップS736において、ベクトル予測部434は、その中心位置のブロックがイントラモード若しくは使用不可であるか否かを判定する。中心位置のブロックがイントラモード若しくは使用不可であると判定された場合、処理は、ステップS737に進む。
 ステップS737において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルを候補から除外する。ステップS737の処理が終了すると、処理は、図68に戻る。
 また、ステップS734において、右下位置のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS738に進む。同様に、中心位置のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS738に進む。
 ステップS738において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルと参照インデックスを決定する。
 ステップS739において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無を判定する。
 ステップS740において、ベクトル予測部434は、ステップS739の判定結果に基づいて、時間相関ブロックの動き(視差)ベクトルを候補から除外するか否かを判定する。
 候補から除外すると判定された場合、処理は、ステップS737に戻る。また、ステップS740において、候補から除外しない(候補に含める)と判定された場合、処理は、ステップS741に進む。
 ステップS741において、ベクトル予測部434は、ステップS739の判定結果に基づいて、時間相関ブロックの動き(視差)ベクトルに対してスケーリングが必要であるか否かを判定する。
 スケーリングが必要であると判定された場合、処理は、ステップS742に進む。ステップS742において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルに対して、スケーリング処理を行う。ステップS742の処理が終了すると、処理は、図68に戻る。
 また、ステップS741において、スケーリングが必要でないと判定された場合、処理は、図68に戻る。
 次に、図69のステップS739において実行される、時間相関ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無の判定処理の流れの例を、図70のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部434は、ステップS751において、符号化ブロックの参照画像が短時間参照画像と長時間参照画像のいずれであるかを判別する。
 ステップS752において、ベクトル予測部434は、時間相関ブロックの参照画像が短時間参照画像と長時間参照画像のいずれであるかを判別する。
 ステップS753において、ベクトル予測部434は、ステップS751の判別結果に基づいて、符号化ブロックの参照画像が長時間参照画像であるか否かを判定する。
 符号化ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS754に進む。ステップS754において、ベクトル予測部434は、さらに、ステップS752の判別結果に基づいて、時間相関ブロックの参照画像が長時間参照画像であるか否かを判定する。
 時間相関ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS755に進む。この場合、符号化ブロックと時間相関ブロックの動き(視差)ベクトルは、ともに長時間参照画像である。したがって、ステップS755において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルを候補に含め、スケーリングが不要であると設定する。ステップS755の処理が終了すると、処理は、図69に戻る。
 また、図70のステップS754において、時間相関ブロックの参照画像が短時間参照画像であると判定された場合、処理は、ステップS756に進む。この場合、符号化ブロックと時間相関ブロックとで動き(視差)ベクトルのタイプが一致しない。したがって、ステップS756において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルを候補から除外すると設定する。ステップS756の処理が終了すると、処理は、図69に戻る。
 さらに、図70のステップS753において、符号化ブロックの参照画像が短時間参照画像であると判定された場合、処理は、ステップS757に進む。ステップS757において、ベクトル予測部434は、さらに、ステップS752の判別結果に基づいて、時間相関ブロックの参照画像が長時間参照画像であるか否かを判定する。
 時間相関ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS756に戻る。つまり、この場合、符号化ブロックと時間相関ブロックとで動き(視差)ベクトルのタイプが一致しないので、時間相関ブロックの動き(視差)ベクトルは候補から除外されるように設定される。
 また、ステップS757において、時間相関ブロックの参照画像が短時間参照画像であると判定された場合、処理は、ステップS758に進む。この場合、符号化ブロックと時間相関ブロックの動き(視差)ベクトルは、ともに短時間参照画像である。したがって、ステップS758において、ベクトル予測部434は、時間相関ブロックの動き(視差)ベクトルを候補に含め、さらにスケーリングが必要であると設定する。ステップS758の処理が終了すると、処理は、図69に戻る。
 次に、図67のステップS705において実行されるAMVPモード処理の流れの例を、図71のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部433(図38)は、ステップS761において、空間的に周辺のブロックから候補となる動き(視差)ベクトルを生成する。
 ステップS762において、ベクトル予測部433は、動き(視差)ベクトルの候補リストを生成する。この候補リストの要素数をAとする。
 ステップS763において、ベクトル予測部433は、候補リストの要素数Aが2より小さいか否か(A<2であるか否か)を判定する。
 候補リストの要素数Aが2より小さい(A<2である)と判定された場合、処理は、ステップS764に進む。ステップS764において、ベクトル予測部433は、時間相関ブロックから候補となる動き(視差)ベクトルを生成する。この処理は、図69のフローチャートを参照して説明した場合と同様であるので、その説明は省略する。
 ステップS765において、ベクトル予測部433は、動き(視差)ベクトルと参照インデックスの候補リストを生成する。この候補リストの要素数をA’とする。
 ステップS766において、ベクトル予測部433は、候補リストの要素数A’が2より小さいか否か(A’<2であるか否か)を判定する。
 候補リストの要素数A’が2より小さい(A’<2である)と判定された場合、処理は、ステップS767に進む。ステップS767において、ベクトル予測部433は、ゼロ動き(視差)ベクトルとゼロ参照インデックスを新たに生成する。ステップS767の処理が終了すると、処理は、ステップS768に進む。
 また、ステップS763において、候補リストの要素数Aが2以上である(A<2でない)と判定された場合、処理は、ステップS768に進む。さらに、ステップS766において、候補リストの要素数A’が2以上である(A<2でない)と判定された場合、処理は、ステップS768に進む。
 ステップS768において、ベクトル予測部433は、候補リストの要素インデックス(フラグ)を生成する。
 ステップS769において、ベクトル予測部433は、要素インデックスが指し示す動き(視差)ベクトルを取得する。ステップS769の処理が終了すると、処理は、図67に戻る。
 次に、図71のステップS761において実行される、空間的に周辺のブロックから候補となる動き(視差)ベクトルを生成する処理の流れの例を、図72のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部433は、ステップS771において、左側位置のブロックから候補となる動き(視差)ベクトルを生成する。
 ステップS772において、ベクトル予測部433は、上側位置のブロックから候補となる動き(視差)ベクトルを生成する。
 ステップS722の処理が終了すると、処理は、図71に戻る。
 次に、図72のステップS771において実行される、左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図73および図74のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部433は、ステップS781において、位置A0のブロックを選択する。
 ステップS782において、ベクトル予測部433は、位置A0のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置A0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS783に進む。ステップS783において、ベクトル予測部433は、位置A0のブロックが符号化ブロックと同じ参照画像を参照しているか否かを判定する。
 位置A0のブロックが符号化ブロックと同じ参照画像を参照していると判定された場合、処理は、ステップS784に進む。ステップS784において、ベクトル予測部433は、位置A0のブロックの動き(視差)ベクトルを候補にする。ステップS784の処理が終了すると、処理は、図72に戻る。
 また、図73のステップS782において、位置A0のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、ステップS785に進む。また、ステップS783において、位置A0のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、ステップS785に進む。
 ステップS785において、ベクトル予測部433は、位置A1のブロックを選択する。
 ステップS786において、ベクトル予測部433は、位置A1のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置A1のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS787に進む。ステップS787において、ベクトル予測部433は、位置A1のブロックが符号化ブロックと同じ参照画像を参照しているか否かを判定する。
 位置A1のブロックが符号化ブロックと同じ参照画像を参照していると判定された場合、処理は、ステップS788に進む。ステップS788において、ベクトル予測部433は、位置A1のブロックの動き(視差)ベクトルを候補にする。ステップS788の処理が終了すると、処理は、図72に戻る。
 また、図73のステップS786において、位置A1のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、図74のステップS791に進む。また、図73のステップS787において、位置A1のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、図74のステップS791に進む。
 図74のステップS791において、ベクトル予測部433は、位置A0のブロックを選択する。
 ステップS792において、ベクトル予測部433は、位置A0のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置A0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS793に進む。ステップS793において、ベクトル予測部433は、位置A0のブロックの動き(視差)ベクトルを候補にする。ステップS793の処理が終了すると、処理は、ステップS797に進む。
 また、図74のステップS792において、位置A0のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、ステップS794に進む。
 ステップS794において、ベクトル予測部433は、位置A1のブロックを選択する。
 ステップS795において、ベクトル予測部433は、位置A1のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置A0のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、図72に戻る。
 また、図74のステップS795において、位置A1のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS796に進む。ステップS796において、ベクトル予測部433は、位置A1のブロックの動き(視差)ベクトルを候補にする。ステップS796の処理が終了すると、処理は、ステップS797に進む。
 ステップS797において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無を判定する。
 ステップS798において、ベクトル予測部433は、ステップS797の判定結果に基づいて、周辺ブロックの動き(視差)ベクトルを候補から除外するか否かを判定する。
 候補から除外すると判定された場合、処理は、ステップS799に進む。ステップS799において、ベクトル予測部433は、左側位置ブロックの動き(視差)ベクトルを候補から除外する。ステップS799の処理が終了すると、処理は、図72に戻る。
 また、図74のステップS798において、候補から除外しない(候補に含める)と判定された場合、処理は、ステップS800に進む。
 ステップS800において、ベクトル予測部433は、ステップS797の判定結果に基づいて、周辺ブロックの動き(視差)ベクトルに対してスケーリングが必要であるか否かを判定する。
 スケーリングが必要であると判定された場合、処理は、ステップS801に進む。ステップS801において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルに対して、スケーリング処理を行う。ステップS801の処理が終了すると、処理は、図72に戻る。
 また、図74のステップS800において、スケーリングが必要でないと判定された場合、処理は、図72に戻る。
 次に、図74のステップS797において実行される、周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無の判定処理の流れの例を、図75のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部433は、ステップS811において、符号化ブロックの参照画像が短時間参照画像と長時間参照画像のいずれであるかを判別する。
 ステップS812において、ベクトル予測部433は、周辺ブロックの参照画像が短時間参照画像と長時間参照画像のいずれであるかを判別する。
 ステップS813において、ベクトル予測部433は、ステップS811の判別結果に基づいて、符号化ブロックの参照画像が長時間参照画像であるか否かを判定する。
 符号化ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS814に進む。ステップS814において、ベクトル予測部433は、さらに、ステップS812の判別結果に基づいて、周辺ブロックの参照画像が長時間参照画像であるか否かを判定する。
 周辺ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS815に進む。この場合、符号化ブロックと周辺ブロックの動き(視差)ベクトルは、ともに長時間参照画像である。したがって、ステップS815において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルを候補に含め、スケーリングが不要であると設定する。ステップS815の処理が終了すると、処理は、図74に戻る。
 また、図75のステップS814において、周辺ブロックの参照画像が短時間参照画像であると判定された場合、処理は、ステップS816に進む。この場合、符号化ブロックと周辺ブロックとで動き(視差)ベクトルのタイプが一致しない。したがって、ステップS816において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルを候補から除外すると設定する。ステップS816の処理が終了すると、処理は、図74に戻る。
 さらに、図75のステップS813において、符号化ブロックの参照画像が短時間参照画像であると判定された場合、処理は、ステップS817に進む。ステップS817において、ベクトル予測部433は、さらに、ステップS812の判別結果に基づいて、周辺ブロックの参照画像が長時間参照画像であるか否かを判定する。
 周辺ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS816に戻る。つまり、この場合、符号化ブロックと周辺ブロックとで動き(視差)ベクトルのタイプが一致しないので、周辺ブロックの動き(視差)ベクトルは候補から除外されるように設定される。
 また、ステップS817において、周辺ブロックの参照画像が短時間参照画像であると判定された場合、処理は、ステップS818に進む。この場合、符号化ブロックと周辺ブロックの動き(視差)ベクトルは、ともに短時間参照画像である。したがって、ステップS818において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルを候補に含め、さらにスケーリングが必要であると設定する。ステップS818の処理が終了すると、処理は、図74に戻る。
 次に、図72のステップS772において実行される、上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図76および図77のフローチャートを参照して説明する。
 処理が開始されると、ベクトル予測部433は、ステップS821において、位置B0のブロックを選択する。
 ステップS822において、ベクトル予測部433は、位置B0のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS823に進む。ステップS823において、ベクトル予測部433は、位置B0のブロックが符号化ブロックと同じ参照画像を参照しているか否かを判定する。
 位置B0のブロックが符号化ブロックと同じ参照画像を参照していると判定された場合、処理は、ステップS824に進む。ステップS824において、ベクトル予測部433は、位置B0のブロックの動き(視差)ベクトルを候補にする。ステップS824の処理が終了すると、処理は、図72に戻る。
 また、図76のステップS822において、位置B0のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、ステップS825に進む。また、ステップS823において、位置B0のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、ステップS825に進む。
 ステップS825において、ベクトル予測部433は、位置B1のブロックを選択する。
 ステップS826において、ベクトル予測部433は、位置B1のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B1のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS827に進む。ステップS827において、ベクトル予測部433は、位置B1のブロックが符号化ブロックと同じ参照画像を参照しているか否かを判定する。
 位置B1のブロックが符号化ブロックと同じ参照画像を参照していると判定された場合、処理は、ステップS828に進む。ステップS828において、ベクトル予測部433は、位置B1のブロックの動き(視差)ベクトルを候補にする。ステップS828の処理が終了すると、処理は、図72に戻る。
 また、図76のステップS826において、位置B1のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、ステップS829に進む。また、ステップS827において、位置B1のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、ステップS829に進む。
 ステップS829において、ベクトル予測部433は、位置B2のブロックを選択する。
 ステップS830において、ベクトル予測部433は、位置B2のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B2のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS831に進む。ステップS831において、ベクトル予測部433は、位置B2のブロックが符号化ブロックと同じ参照画像を参照しているか否かを判定する。
 位置B2のブロックが符号化ブロックと同じ参照画像を参照していると判定された場合、処理は、ステップS832に進む。ステップS832において、ベクトル予測部433は、位置B2のブロックの動き(視差)ベクトルを候補にする。ステップS832の処理が終了すると、処理は、図72に戻る。
 また、図76のステップS830において、位置B2のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、図77のステップS841に進む。また、図76のステップS831において、位置B2のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、図77のステップS841に進む。
 図77のステップS841において、ベクトル予測部433は、左側位置のブロックから動き(視差)ベクトルの候補が生成されているかを判定する。
 ステップS842において、ベクトル予測部433は、位置B0のブロックを選択する。
 ステップS843において、ベクトル予測部433は、位置B0のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS844に進む。ステップS844において、ベクトル予測部433は、位置B0のブロックの動き(視差)ベクトルを候補にする。ステップS844の処理が終了すると、処理は、ステップS851に進む。
 また、ステップS843において、位置B0のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、ステップS845に進む。
 ステップS845において、ベクトル予測部433は、位置B1のブロックを選択する。
 ステップS846において、ベクトル予測部433は、位置B1のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B1のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS847に進む。ステップS847において、ベクトル予測部433は、位置B1のブロックの動き(視差)ベクトルを候補にする。ステップS847の処理が終了すると、処理は、ステップS851に進む。
 また、ステップS846において、位置B1のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、ステップS848に進む。
 ステップS848において、ベクトル予測部433は、位置B2のブロックを選択する。
 ステップS849において、ベクトル予測部433は、位置B2のブロックがイントラモードまたは使用不可であるか否かを判定する。
 ステップS849において、位置B2のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、図72に戻る。
 また、位置B2のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS850に進む。ステップS850において、ベクトル予測部433は、位置B2のブロックの動き(視差)ベクトルを候補にする。ステップS850の処理が終了すると、処理は、ステップS851に進む。
 ステップS851において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無を判定する。この処理は、図75のフローチャートを参照して説明した場合と同様に行われるので、その説明は省略する。なお、この場合において、図75の処理が終了したとき、処理は、図74ではなく、図77に戻る。
 ステップS852において、ベクトル予測部433は、ステップS851の判定結果に基づいて、周辺ブロックの動き(視差)ベクトルを候補から除外するか否かを判定する。
 候補から除外すると判定された場合、処理は、ステップS853に進む。ステップS853において、ベクトル予測部433は、上側位置ブロックの動き(視差)ベクトルを候補から除外する。ステップS853の処理が終了すると、処理は、図72に戻る。
 また、図77のステップS852において、候補から除外しない(候補に含める)と判定された場合、処理は、ステップS854に進む。
 ステップS854において、ベクトル予測部433は、ステップS851の判定結果に基づいて、周辺ブロックの動き(視差)ベクトルに対してスケーリングが必要であるか否かを判定する。
 スケーリングが必要であると判定された場合、処理は、ステップS855に進む。ステップS855において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルに対して、スケーリング処理を行う。ステップS855の処理が終了すると、処理は、図72に戻る。
 また、図77のステップS854において、スケーリングが必要でないと判定された場合、処理は、図72に戻る。
 以上のように各処理を実行することにより、画像符号化装置400は、符号化効率の低減を抑制することができる。
 [復号時の処理の流れ]
 以上のように符号化されて得られた符号化データを正しく復号するためには、復号側においても、符号化側と同様の方法で予測を行えばよい。つまり、復号側においても、符号化ベクトルと予測ベクトルの参照ピクチャのタイプ(短時間参照ピクチャまたは長時間参照ピクチャ)が異なるときに、その予測ベクトルを使用不可(Not available)にするようにする。
 つまり、例えば、符号化ブロックの参照画像と時間相関ブロックの参照画像とのタイプが一致する場合、すなわち、ともに短時間参照画像であるか、若しくは、ともに長時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルを候補にし、両者のタイプが一致しない場合、候補から除外するようにする。さらに、符号化ブロックの参照画像と時間相関ブロックの参照画像とが、ともに短時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルのスケーリングを行うようにし、両者がともに長時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルのスケーリングを行わないようにする。
 また、例えば、符号化ブロックの参照画像と周辺ブロックの参照画像とのタイプが一致する場合、すなわち、ともに短時間参照画像であるか、若しくは、ともに長時間参照画像である場合、周辺ブロックの動き(視差)ベクトルを候補にし、両者のタイプが一致しない場合、候補から除外するようにする。さらに、符号化ブロックの参照画像と周辺ブロックの参照画像とが、ともに短時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行うようにし、両者がともに長時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行わないようにする。
 このようにすることにより、符号化効率の低減の抑制を実現することができる。
 このような制御を実現するための符号化時の処理の流れの例について、以下に説明する。なお、このような制御は、第4の実施の形態において説明した画像復号装置500(図47)により実現することができる。
 画像復号装置500による復号処理は、図33のフローチャートを参照して説明した場合(第2の実施の形態)と同様に行われる。また、図33のステップS305の予測処理は、図34のフローチャートを参照して説明した場合と同様に行われる。
 図34のステップS334において実行される動き視差補償処理に相当する処理として、動き補償部512が実行するPUの動き(視差)ベクトルと参照インデックス生成処理の流れの例を、図78のフローチャートを参照して説明する。
 この処理は、符号化側の処理(図67)の場合と基本的に同様に行われる。ただし、予測モードは符号化側により決定されているので、復号側においては、その使用された予測モードについてのみ処理を行えばよい。
 処理が開始されると、ステップS861において、可逆復号部302は、符号化側から供給される予測モードを復号する。
 ステップS862において、モード判定部531は、予測モードがマージ(スキップ)モードであるか否かを判定する。
 マージ(スキップ)モードであると判定された場合、処理は、ステップS863に進む。ステップS863において、参照インデックス決定部532およびベクトル復号部534は、マージ(スキップ)モードの処理を行い、動き(視差)ベクトルと参照インデックスを生成する。ステップS863の処理が終了すると、処理は、図34に戻る。
 また、図78のステップS862において、マージ(スキップ)モードでないと判定された場合、処理は、ステップS863に進む。ステップS864において、ベクトル復号部533は、残差動き(視差)ベクトルと参照インデックスを取得する。ステップS865において、ベクトル復号部533は、AMVPモードの処理を行い、予測動き(視差)ベクトルを生成する。ステップS866において、ベクトル復号部533は、残差動き(視差)ベクトルと予測動き(視差)ベクトルとを加算する。ステップS866の処理が終了すると、処理は、図34に戻る。
 次に、図78のステップS863において実行されるマージ(スキップ)モード処理の流れの例を、図79のフローチャートを参照して説明する。この処理は、基本的に符号化側の処理(図68)と基本的に同様に行われる。
 ステップS871乃至ステップS874の各処理は、図68のステップS711乃至ステップS714の各処理と同様に実行される。ただし、ステップS871およびステップS872の各処理は、参照インデックス決定部532が行い、ステップS873およびステップS874の各処理は、ベクトル復号部534が行う。
 ステップS875において、ベクトル復号部534は、候補リストの最大数Xを復号する。
 ステップS876乃至ステップS880の各処理は、図68のステップS716乃至ステップS720の各処理と同様に実行される。ただし、これらの処理は、ベクトル復号部534が実行する。
 ステップS881において、ベクトル復号部534は、候補リストの要素インデックスを復号する。ステップS882において、ベクトル復号部534は、要素インデックスが指し示す動き(視差)ベクトルと参照インデックスを取得する。ステップS882の処理が終了すると、処理は、図78に戻る。
 次に、図79のステップS873において実行される時間相関ブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図80のフローチャートを参照して説明する。この処理は、基本的に符号化側の処理(図69)と基本的に同様に行われる。
 処理が開始されると、ベクトル復号部534は、ステップS891において、時間相関ピクチャを指定するインデックスを復号する。
 ステップS892乃至ステップS902の各処理は、図69のステップS732乃至ステップS742の各処理と同様に実行される。ただし、これらの処理は、ベクトル復号部534が実行する。
 図80のステップS899において実行される、時間相関ブロックの動き(視差)ベクトルのスケーリング処理の有無と候補の有無の判定処理は、図70のフローチャートを参照して説明した場合と同様に実行されるので、その説明は省略する。ただし、この場合、処理は、ベクトル復号部534が実行し、図70の処理が終了したときは、処理は図80に戻る。
 次に、図78のステップS865において実行されるAMVPモード処理の流れの例を、図81のフローチャートを参照して説明する。この処理は、基本的に符号化側の処理(図71)と基本的に同様に行われる。ステップS911乃至ステップS917の各処理は、図71のステップS761乃至ステップS767の各処理と同様に実行される。ただし、これらの処理は、ベクトル復号部533が実行する。
 ステップS918において、ベクトル復号部533は、候補リストの要素インデックス(フラグ)を復号する。ステップS919において、ベクトル復号部533は、要素インデックスが指し示す動き(視差)ベクトルを取得する。ステップS919の処理が終了すると、処理は、図78に戻る。
 なお、図81のステップS911において実行される、空間的に周辺のブロックから候補となる動き(視差)ベクトルを生成する処理は、図72乃至図77の各フローチャートを参照して説明した場合と同様に実行されるので、その説明は省略する。ただし、この場合、処理は、ベクトル復号部533が実行し、図72の処理が終了したときは、処理は図81に戻る。
 また、図81のステップS914において実行される、時間相関ブロックから候補となる動き(視差)ベクトルを生成する処理は、図80のフローチャートを参照して説明した場合と同様に実行されるので、その説明は省略する。ただし、この場合、処理は、ベクトル復号部533が実行し、図80の処理が終了したときは、処理は図81に戻る。
 以上のように各処理を実行することにより、画像復号装置500は、符号化データを正しく復号することができ、符号化効率の低減の抑制を実現することができる。
 [動き(視差)ベクトルの取り扱いのまとめ]
 以上の例の場合、AMVPモードにおいて、周辺ブロックから動き(視差)ベクトルを生成する際に、例えば左側位置の周辺ブロックについては、位置A0、位置A1の順で動き(視差)ベクトルが検索され、見つかった時点で処理が終了される。同様に、例えば上側位置の周辺ブロックについては、位置B0、位置B1、位置B2の順で動き(視差)ベクトルが検索され、見つかった時点で処理が終了される。この場合、動き(視差)ベクトルが候補となり得るか否かは、その後に判定されるので、例えば、ある位置で見つかった動き(視差)ベクトルが候補となり得ない場合であっても、その後の位置の動き(視差)ベクトルの検索は行われない。
 周辺ブロックから動き(視差)ベクトルを生成する方法は、これに限らない。例えば、位置A0および位置A1、または、位置B0、位置B1、および位置B2の全てについて動き(視差)ベクトルを候補とすることができるか否かを判定するようにしてもよい。つまり、各位置の周辺ブロックについて、それぞれ、候補の有無を判定し、最後にまとめてスケーリング処理の有無を判定するようにする。
 このようにすることにより、上述した例よりも処理が複雑になるものの、各位置の動き(視差)ベクトルについて、候補に含めるか否かを判定することができる。つまり、より適切な候補を検索することができ、符号化効率をより向上させることができる。
 図82は、周辺ブロックの取り扱いの例を説明する図である。ベクトルの予測において、まず、各位置の周辺ブロックについて、周辺ブロックの動き(視差)ベクトルを候補ベクトルに含めるか否かが、図82のAに示される表のように決定される。
 つまり、例えば、符号化ブロックの参照画像と周辺ブロックの参照画像とのタイプが一致する場合、すなわち、ともに短時間参照画像であるか、若しくは、ともに長時間参照画像である場合、時間相関ブロックの動き(視差)ベクトルを候補にし、両者のタイプが一致しない場合、候補から除外するようにする。
 候補が選択された後、その候補ベクトルについて、スケーリングを行うか否かが、図82のBに示される表のように決定される。
 つまり、例えば、符号化ブロックの参照画像と周辺ブロックの参照画像とが、ともに短時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行うようにし、それ以外の場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行わないようにする。
 [符号化時の処理の流れ]
 この場合の、左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図83および図84のフローチャートを参照して説明する。なお、図67乃至図72のフローチャートを参照して説明した各処理は、この場合も同様に実行されるため、これらの処理についての説明は省略する。
 図83のステップS921乃至ステップS928の各処理は、図73のステップS781乃至ステップS788の各処理と同様に実行される。ステップS924若しくはステップS928の処理が終了すると、左側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。また、ステップS926において位置A1のブロックがイントラモードであるか若しくは使用不可であると判定された場合、または、ステップS927において位置A1のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、図84のステップS931に進む。
 図84のステップS931において、ベクトル予測部433は、位置A0のブロックを選択する。
 ステップS932において、ベクトル予測部433は、位置A0のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置A0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS933に進む。ステップS933において、ベクトル予測部433は、位置A0のブロックの動き(視差)ベクトルの候補の有無を判定する。
 ステップS934において、ベクトル予測部433は、ステップS933の判定結果に基づいて、候補を含むか否かを判定する。
 候補を含むと判定した場合、処理はステップS935に進む。ステップS935において、ベクトル予測部433は、位置A0の動き(視差)ベクトルを候補にする。ステップS935の処理が終了すると、処理は、ステップS943に進む。
 また、ステップS934において、候補を含まないと判定された場合、処理は、ステップS936に進む。ステップS936において、ベクトル予測部433は、位置A0のブロックの動き(視差)ベクトルを候補から除外する。
 ステップS936の処理が終了すると、処理は、ステップS937に進む。また、ステップS932において、位置A0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS937に進む。
 ステップS937において、ベクトル予測部433は、位置A1のブロックを選択する。
 ステップS938において、ベクトル予測部433は、位置A1のブロックがイントラモードまたは使用不可であるか否かを判定する。位置A1のブロックがイントラモードであるか若しくは使用不可であると判定された場合、左側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。
 また、図84のステップS938において、位置A1のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS939に進む。ステップS939において、ベクトル予測部433は、位置A1のブロックの動き(視差)ベクトルの候補の有無を判定する。
 ステップS940において、ベクトル予測部433は、ステップS939の判定結果に基づいて、候補を含むか否かを判定する。
 候補を含むと判定した場合、処理はステップS941に進む。ステップS941において、ベクトル予測部433は、位置A1の動き(視差)ベクトルを候補にする。ステップS941の処理が終了すると、処理は、ステップS943に進む。
 また、ステップS940において、候補を含まないと判定された場合、処理は、ステップS942に進む。ステップS942において、ベクトル予測部433は、位置A1のブロックの動き(視差)ベクトルを候補から除外する。ステップS942の処理が終了すると、左側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。
 図84のステップS943において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無を判定する。
 ステップS944において、ベクトル予測部433は、ステップS943の判定結果に基づいて、周辺ブロックの動き(視差)ベクトルに対してスケーリングが必要であるか否かを判定する。
 スケーリングが必要であると判定された場合、処理は、ステップS945に進む。ステップS945において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルに対して、スケーリング処理を行う。ステップS945の処理が終了すると、処理は、図72に戻る。
 また、図84のステップS944において、スケーリングが必要でないと判定された場合、処理は、図72に戻る。
 次に、図84のステップS933およびステップS939において実行される、周辺ブロックの動き(視差)ベクトルの候補の有無の判定処理の流れの例を、図85のフローチャートを参照して説明する。
 図85のステップS951乃至ステップS954,並びにステップS957の各処理は、図75のステップS811乃至ステップS814、並びに、ステップS817の各処理と同様に実行される。
 ステップS953において符号化ブロックの参照画像が長時間参照画像であると判定され、ステップS954において周辺ブロックの参照画像が長時間参照画像であると判定された場合、ベクトル予測部433は、ステップS955において、周辺ブロック(位置A0若しくは位置A1のブロック)の動き(視差)ベクトルを候補に含めるように設定する。
 また、ステップS953において符号化ブロックの参照画像が長時間参照画像であると判定され、ステップS954において周辺ブロックの参照画像が短時間参照画像であると判定された場合、または、ステップS953において符号化ブロックの参照画像が短時間参照画像であると判定され、ステップS957において周辺ブロックの参照画像が長時間参照画像であると判定された場合、符号化ブロックと周辺ブロックとで参照画像のタイプが異なるので、ベクトル予測部433は、ステップS956において、周辺ブロック(位置A0若しくは位置A1のブロック)の動き(視差)ベクトルを候補から除外するように設定する。
 さらに、ステップS953において符号化ブロックの参照画像が短時間参照画像であると判定され、ステップS957において周辺ブロックの参照画像が短時間参照画像であると判定された場合、ベクトル予測部433は、ステップS958において、周辺ブロック(位置A0若しくは位置A1のブロック)の動き(視差)ベクトルを候補に含めるように設定する。
 ステップS955、ステップS956、または、ステップS958の処理が終了した場合、処理は、図84に戻る。
 次に、図84のステップS943において実行される、周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無の判定処理の流れの例を、図86のフローチャートを参照して説明する。
 図86のステップS961乃至ステップS963、並びに、ステップS965の各処理は、図75のステップS811乃至ステップS813、並びに、ステップS817の各処理と同様に実行される。
 ステップS963において符号化ブロックの参照画像が長時間参照画像であると判定された場合、または、ステップS963において符号化ブロックの参照画像が短時間参照画像であると判定され、ステップS965において、周辺ブロックの参照画像が長時間参照画像であると判定された場合、処理は、ステップS964に進む。つまり、符号化ブロックの参照画像と周辺ブロックの参照画像とのうち、少なくともいずれか一方が長時間参照画像であると判定された場合、処理はステップS964に進む。
 ステップS964において、ベクトル予測部433は、スケーリングが不要であると設定する。ステップS964の処理が終了すると、処理は、図84に戻る。
 また、図86のステップS963において符号化ブロックの参照画像が短時間参照画像であると判定され、ステップS965において、周辺ブロックの参照画像が短時間参照画像であると判定された場合、つまり、符号化ブロックと周辺ブロックのいずれも参照画像が短時間参照画像であると判定された場合、処理は、ステップS966に進む。
 ステップS966において、ベクトル予測部433は、スケーリングが必要であると設定する。ステップS966の処理が終了すると、処理は、図84に戻る。
 次に、この場合の、上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図87乃至図89のフローチャートを参照して説明する。
 図87のステップS971乃至ステップS982の各処理は、図76のステップS821乃至ステップS832の各処理と同様に実行される。ステップS974、ステップS978、若しくはステップS982の処理が終了すると、処理は、図89のステップS1017に進む。また、ステップS980において位置B2のブロックがイントラモードであるか若しくは使用不可であると判定された場合、または、ステップS981において位置B2のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、図88のステップS991に進む。
 図88のステップS991において、ベクトル予測部433は、左側位置のブロックから動き(視差)ベクトルの候補が生成されているかを判定する。
 ステップS992において、ベクトル予測部433は、位置B0のブロックを選択する。
 ステップS993において、ベクトル予測部433は、位置B0のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B0のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS994に進む。ステップS994において、ベクトル予測部433は、位置B0のブロックの動き(視差)ベクトルの候補の有無を判定する。この処理は、図85のフローチャートを参照して説明した場合と同様に行われるので、その説明は省略する。
 ステップS995において、ベクトル予測部433は、ステップS994の判定結果に基づいて、候補を除外するか否かを判定する。
 候補から除外すると判定した場合、処理はステップS996に進む。ステップS996において、ベクトル予測部433は、位置B0のブロックの動き(視差)ベクトルを候補から除外する。ステップS996の処理が終了すると、処理は、ステップS998に進む。
 また、ステップS995において、候補から除外しないと判定された場合、処理はステップS997に進む。ステップS997において、ベクトル予測部433は、位置B0のブロックの動き(視差)ベクトルを候補にする。ステップS997の処理が終了すると、処理は、図89のステップS1017に進む。
 また、ステップS993において、位置B0のブロックがイントラモードである、若しくは使用不可であると判定された場合、処理は、ステップS998に進む。
 ステップS998において、ベクトル予測部433は、位置B1のブロックを選択する。
 ステップS999において、ベクトル予測部433は、位置B1のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B1のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS1000に進む。ステップS1000において、ベクトル予測部433は、位置B1のブロックの動き(視差)ベクトルの候補の有無を判定する。この処理は、図85のフローチャートを参照して説明した場合と同様に行われるので、その説明は省略する。
 ステップS1001において、ベクトル予測部433は、ステップS1000の判定結果に基づいて、候補を除外するか否かを判定する。
 候補から除外すると判定した場合、処理はステップS1002に進む。ステップS1002において、ベクトル予測部433は、位置B1のブロックの動き(視差)ベクトルを候補から除外する。ステップS1002の処理が終了すると、処理は、図89のステップS1011に進む。
 また、図88のステップS1001において、候補から除外しないと判定された場合、処理はステップS1003に進む。ステップS1003において、ベクトル予測部433は、位置B1のブロックの動き(視差)ベクトルを候補にする。ステップS1003の処理が終了すると、処理は、図89のステップS1017に進む。
 また、ステップS999において、位置B1のブロックがイントラモードである、若しくは使用不可であると判定された場合、処理は、図89のステップS1011に進む。
 図89のステップS1011において、ベクトル予測部433は、位置B2のブロックを選択する。
 ステップS1012において、ベクトル予測部433は、位置B2のブロックがイントラモードまたは使用不可であるか否かを判定する。
 位置B2のブロックがイントラモードでも使用不可でもないと判定された場合、処理は、ステップS1013に進む。ステップS1013において、ベクトル予測部433は、位置B2のブロックの動き(視差)ベクトルの候補の有無を判定する。この処理は、図85のフローチャートを参照して説明した場合と同様に行われるので、その説明は省略する。
 ステップS1014において、ベクトル予測部433は、ステップS1013の判定結果に基づいて、候補から除外するか否かを判定する。
 候補から除外すると判定した場合、処理はステップS1015に進む。ステップS1015において、ベクトル予測部433は、位置B2のブロックの動き(視差)ベクトルを候補から除外する。ステップS1015の処理が終了すると、処理は、ステップS1017に進む。
 また、ステップS1014において、候補から除外しないと判定された場合、処理はステップS1016に進む。ステップS1016において、ベクトル予測部433は、位置B2のブロックの動き(視差)ベクトルを候補にする。ステップS1016の処理が終了すると、処理は、ステップS1017に進む。
 ステップS1017において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルのスケーリング処理の有無を判定する。この処理は、図86のフローチャートを参照して説明した場合と同様に行われるので、その説明は省略する。
 ステップS1018において、ベクトル予測部433は、ステップS1017の判定結果に基づいて、周辺ブロックの動き(視差)ベクトルに対してスケーリングが必要であるか否かを判定する。
 スケーリングが必要であると判定された場合、処理は、ステップS1019に進む。ステップS1019において、ベクトル予測部433は、周辺ブロックの動き(視差)ベクトルに対して、スケーリング処理を行う。ステップS1019の処理が終了すると、処理は、図72に戻る。
 また、図89のステップS1018において、スケーリングが必要でないと判定された場合、処理は、図72に戻る。
 以上のように各処理を実行することにより、画像符号化装置400は、符号化効率の低減を抑制することができる。
 なお、画像復号装置500も、上述した画像符号化装置400と同様に、これらの処理を実行するのでその説明は省略する。これにより、画像復号装置500は、符号化データを正しく復号することができ、符号化効率の低減の抑制を実現することができる。
 [動き(視差)ベクトルの取り扱いのまとめ]
 以上においては、図66乃至図81を参照して第1の例について説明し、図82乃至図89を参照して第2の例について説明した。
 これら以外にも、例えば、第1の例において、符号化ブロックの参照画像と周辺ブロックの参照画像が両方とも長時間参照画像である場合、符号化ブロックと周辺ブロックが同一の参照画像を参照しているときのみ周辺ブロックの動き(視差)ベクトルを候補とし、それらが互いに異なる参照画像を参照しているときは、周辺ブロックの動き(視差)ベクトル候補から除外し、さらに、検索処理も省略するようにしてもよい。
 上述したように、長時間参照画像は、背景画像のような静止領域や異なるビューの画像に適用される。したがって、符号化ブロックの参照画像と周辺ブロックの参照画像が両方とも、このような長時間参照画像であるにも関わらず、敢えて、それらが互いに異なる画像であるということは、その参照画像は、互いの相関性が低いと考えられる。つまり、符号化ブロックと周辺ブロックの動き(視差)ベクトルの相関性が低いと考えられる。
 そこで、このような相関性が低い可能性があるパターン(符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であり、かつ、両者が互いに異なる画像である場合)を、ベクトルの候補から除外することにより、符号化効率の低減をさらに抑制することができる。また、候補やスケーリングの有無の判定処理を省略することにより、処理の負荷を低減させることができる。
 図90は、時間相関ブロックと周辺ブロックの取り扱いの他の例を説明する図である。ベクトルの予測において、時間相関ブロックの動き(視差)ベクトルを候補ベクトルに含めるか否か、並びに、スケーリングを行うか否かは、図90のAに示される表のように決定する。
 つまり、図66のAの場合と同様である。
 また、ベクトルの予測において、周辺ブロックの動き(視差)ベクトルを候補ベクトルに含めるか否か、並びに、スケーリングを行うか否かは、図90のBに示される表のように決定する。
 つまり、例えば、符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像である場合、それらの参照画像が同一であるときのみ、周辺ブロックの動き(視差)ベクトルを候補にする。さらに、それらの参照画像が互いに異なる場合、周辺ブロックの動き(視差)ベクトルを候補から除外するだけでなく、候補やスケーリングの有無の判定処理を省略する。
 符号化ブロックの参照画像と周辺ブロックの参照画像とが、ともに短時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行うようにし、両者がともに長時間参照画像である場合、周辺ブロックの動き(視差)ベクトルのスケーリングを行わないようにする。
 [符号化時の処理の流れ]
 この場合の、左側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図91および図92のフローチャートを参照して説明する。なお、図67乃至図72のフローチャートを参照して説明した各処理は、この場合も同様に実行されるため、これらの処理についての説明は省略する。
 図91のステップS1031乃至ステップS1038の各処理は、図73のステップS781乃至ステップS788の各処理と基本的に同様に実行される。ステップS1034若しくはステップS1038の処理が終了すると、左側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。また、ステップS1035において位置A1のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、図92のステップS1041に進む。
 しかしながら、図91のステップS1037において、位置A1のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、ステップS1039に進む。
 ステップS1039において、ベクトル予測部433は、符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であるか否かを判定する。
 符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であると判定された場合、左側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。
 また、符号化ブロックと周辺ブロックの参照画像の少なくとも一方が短時間参照画像であると判定された場合、処理は、図92のステップS1041に進む。
 図92のステップS1041乃至ステップS1051の各処理は、図74のステップS791乃至ステップS799の各処理と同様に実行される。
 つまり、符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であると判定された場合、図92の処理が全て省略される。したがって、処理の負荷を低減させることができる。
 次に、この場合の、上側位置のブロックから候補となる動き(視差)ベクトル生成処理の流れの例を、図93および図94のフローチャートを参照して説明する。
 図93のステップS1071乃至ステップS1082の各処理は、図76のステップS821乃至ステップS832の各処理と基本的に同様に実行される。ステップS1074、ステップS1078、若しくはステップS1082の処理が終了すると、上側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。また、ステップS1080において位置B2のブロックがイントラモードであるか若しくは使用不可であると判定された場合、処理は、図94のステップS1091に進む。
 しかしながら、図93のステップS1081において、位置B2のブロックが符号化ブロックと異なる参照画像を参照していると判定された場合、処理は、ステップS1083に進む。
 ステップS1083において、ベクトル予測部433は、符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であるか否かを判定する。
 符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であると判定された場合、上側位置のブロックから候補となる動き(視差)ベクトル生成処理が終了し、処理は、図72に戻る。
 また、符号化ブロックと周辺ブロックの参照画像の少なくとも一方が短時間参照画像であると判定された場合、処理は、図94のステップS1091に進む。
 図94のステップS1091乃至ステップS1105の各処理は、図77のステップS841乃至ステップS855の各処理と同様に実行される。
 つまり、符号化ブロックと周辺ブロックの参照画像がともに長時間参照画像であると判定された場合、図94の処理が全て省略される。したがって、処理の負荷を低減させることができる。
 なお、上述した一連の処理は、多視点画像符号化・多視点画像復号(マルチビューのエンコーダ・デコーダ)にも適用することができる。つまり、多視点符号化・多視点復号を行う場合においても、符号化効率を向上させることができる。さらに、上述した一連の処理は、階層画像符号化(空間スケーラビリティ)・階層画像復号(マルチレイヤのエンコーダ・デコーダ)にも適用することができる。つまり、階層画像符号化・階層画像復号を行う場合においても、符号化効率を向上させることができる。
 また、上述した一連の処理は、単視点画像(1ビュー)の、所謂2D画像にも適用することができる。
 なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 <7.第7の実施の形態>
 [コンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図95において、パーソナルコンピュータ700のCPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部713からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース710も接続されている。
 入出力インタフェース710には、キーボード、マウスなどよりなる入力部711、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部712、ハードディスクなどより構成される記憶部713、モデムなどより構成される通信部714が接続されている。通信部714は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース710にはまた、必要に応じてドライブ715が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア721が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部713にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図95に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア721により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部713に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 <8.第8の実施の形態>
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 [第1の応用例:テレビジョン受像機]
 図96は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、符号化効率の低減の抑制を実現することができる。
 [第2の応用例:携帯電話機]
 図97は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、符号化効率の低減を抑制することができる。
 [第3の応用例:記録再生装置]
 図98は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。 
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、符号化効率の低減を抑制することができる。
 [第4の応用例:撮像装置]
 図99は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、符号化効率の低減を抑制することができる。
 なお、本明細書では、閾値などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、
 前記カレント視差ベクトルと、前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部と
 を備える画像処理装置。
 (2) 前記予測ベクトル生成部は、カレントビューと同一のビューを対象として、カレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの視差ベクトルを用いて、前記カレント視差ベクトルの予測ベクトルを生成する
 前記(1)に記載の画像処理装置。
 (3) 前記予測ベクトル生成部は、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とが一致する場合に、コロケーテッドブロックをアベイラブルに設定する
 前記(2)に記載の画像処理装置。
 (4) 前記ベクトルの特性は、ベクトルのタイプであり、
 前記予測ベクトル生成部は、カンレントブロックのベクトルの特性が視差ベクトルあり、かつ、コロケーテッドブロックのベクトルの特性が視差ベクトルである場合に、コロケーテッドブロックをアベイラブルに設定する
 前記(3)に記載の画像処理装置。
 (5) 前記予測動きベクトル生成部は、ピクチャの出力順を示すPOC(Picture Order Count)を用いて、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とを判定する
 前記(3)または(4)に記載の画像処理装置。
 (6) 前記予測動きベクトル生成部は、カレントピクチャのPOCと、カレントピクチャから参照されるカレントリファレンスピクチャのPOCと、コロケーテッドピクチャのPOCと、コロケーテッドピクチャから参照されるコロケーテッドリファレンスピクチャのPOCとを用いて、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とを判定する
 前記(5)に記載の画像処理装置。
 (7) 前記予測動きベクトル生成部は、カレントピクチャのPOCとカレントピクチャから参照されるカレントリファレンスピクチャのPOCとが一致し、かつ、コロケーテッドピクチャのPOCとコロケーテッドピクチャから参照されるコロケーテッドリファレンスピクチャのPOCとが一致する場合に、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とは、視差ベクトルであると判定する
 前記(6)に記載の画像処理装置。
 (8) 前記予測ベクトル生成部は、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定する
 前記(2)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記ベクトルの特性は、参照ピクチャのタイプであり、
 前記予測ベクトル生成部は、カレントブロックの参照ピクチャのタイプとコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定する
 前記(8)に記載の画像処理装置。
 (10) 前記ベクトルの特性は、参照ピクチャのタイプであり、
 前記予測ベクトル生成部は、カレントブロックの参照ピクチャのタイプが長時間参照であり、かつ、コロケーテッドブロックの参照ピクチャのタイプが長時間参照である場合に、リファレンスインデックスを探索する探索処理をスキップする
 前記(8)または(9)に記載の画像処理装置。
 (11) 前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、カレントピクチャと同一の時刻のピクチャに含まれるリファレンスブロックの視差ベクトルを用いて、前記カレント視差ベクトルの予測ベクトルを生成する
 前記(1)乃至(10)のいずれかに記載の画像処理装置。
 (12) 前記予測ベクトル生成部は、カレントピクチャと予測動きベクトルを生成する際に参照するリファレンスピクチャとの位置関係に基づいて、前記リファレンス視差ベクトルをスケーリングして、前記カレント視差ベクトルの予測ベクトルを生成する
 前記(1)乃至(11)のいずれかに記載の画像処理装置。
 (13) 前記予測ベクトル生成部は、時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成し、
 前記差分ベクトル生成部は、前記カレント動きベクトルと前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する
 前記(1)乃至(12)のいずれかに記載の画像処理装置。
 (14) 前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、前記カレントピクチャと同一の時刻のピクチャに含まれるリファレンスブロックの動きベクトルを用いて、前記カレント動きベクトルの予測ベクトルを生成する
 前記(13)に記載の画像処理装置。
 (15) 前記予測ベクトル生成部は、前記カレントビューと同一のビューを対象として、前記カレントピクチャと異なる時刻のピクチャに含まれるリファレンスブロックの動きベクトルを用いて、前記カレント動きベクトルの予測ベクトルを生成する
 前記(13)または(14)に記載の画像処理装置。
 (16) 前記予測ベクトル生成部は、カレントピクチャと予測動きベクトルを生成する際に参照するリファレンスピクチャとの位置関係に基づいて、前記リファレンス動きベクトルをスケーリングして、前記カレント動きベクトルの予測ベクトルを生成する
 前記(15)に記載の画像処理装置。
 (17) 前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、前記カレントピクチャと同一の時刻のピクチャの画素の位置をシフトさせた状態で前記カレントブロックと同じ位置となるブロックのベクトルを用いて、前記予測ベクトルを生成する
 前記(1)乃至(16)のいずれかに記載の画像処理装置。
 (18) 前記予測ベクトル生成部は、前記カレントブロックの周辺領域の視差ベクトルに応じて、前記画像のシフト量を設定する
 前記(17)に記載の画像処理装置。
 (19) 前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである前記周辺ブロックの、X方向の視差ベクトルを、前記シフト量とする
 前記(18)に記載の画像処理装置。
 (20) 前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである複数の前記周辺ブロックの、X方向の視差ベクトルから算出される値を、前記シフト量とする
 前記(18)または(19)に記載の画像処理装置。
 (21) 前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである複数の前記周辺ブロックの、X方向の視差ベクトルの平均値又は中央値を、前記画像のシフト量とする
 前記(20)に記載の画像処理装置。
 (22) 前記予測ベクトル生成部は、グローバル視差ベクトルに応じて、前記画像のシフト量を設定する
 前記(17)乃至(21)のいずれかに記載の画像処理装置。
 (23) 画像処理装置の画像処理方法において、
 前記画像処理装置が、
  視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成し、
  前記カレント視差ベクトルと、生成された前記予測ベクトルとの差分ベクトルを生成する
 画像処理方法。
 (24) 視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、
 前記カレント視差ベクトルと前記予測ベクトルとの差分ベクトルに、前記予測ベクトル生成部により生成された前記予測ベクトルを加算し、前記カレント視差ベクトルを再構築する演算を行う演算部と
 を備える画像処理装置。
 (25) 画像処理装置の画像処理方法において、
 前記画像処理装置が、
  視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成し、
  前記カレント視差ベクトルと前記予測ベクトルとの差分ベクトルに、生成された前記予測ベクトルを加算し、前記カレント視差ベクトルを再構築する演算を行う
 画像処理方法。
 (26) 時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定し、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成する予測ベクトル生成部と、
 前記カレント動きベクトルと前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部と
 を備える画像処理装置。
 (27) 画像処理装置の画像処理方法において、
 前記画像処理装置が、
  時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定し、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成し、
  前記カレント動きベクトルと生成された前記予測ベクトルとの差分ベクトルを生成する
 画像処理方法。
 100 画像符号化装置, 115 動き視差予測・補償部, 121 多視点デコードピクチャバッファ, 131 動き視差ベクトル探索部, 132 予測画像生成部, 133 符号化情報蓄積バッファ, 134 選択部, 135 空間相関予測ベクトル生成部, 136 時間視差相関予測ベクトル生成部, 137 選択部, 138 符号化コスト算出部, 139 モード判定部, 151 カレント領域処理部, 152 相関領域処理部, 153 L1予測処理部, 154 L0予測処理部, 155 方式1処理部, 156 方式2処理部, 157 方式3処理部, 158 方式4処理部, 159 予測ベクトル生成部, 300 画像復号装置, 312 動き視差補償部, 321 多視点デコードピクチャバッファ, 331 符号化情報蓄積バッファ, 332 空間相関予測ベクトル生成部, 333 時間視差相関予測ベクトル生成部, 334 選択部, 335 演算部, 336 予測画像生成部, 400 画像符号化装置, 415 動き予測・補償部, 421 Base Viewエンコーダ, 433および434 ベクトル予測部, 457 異なるピクチャからの予測ベクトル生成部, 471 視差ベクトル判定部, 472 ビュー間参照ベクトル生成部, 473 ビュー内参照ベクトル生成部, 500 画像復号装置, 512 動き補償部, 521 Base Viewデコーダ, 533および534 ベクトル復号部, 553 異なるピクチャからの予測ベクトル生成部, 571 視差ベクトル判定部, 572 ビュー間参照ベクトル生成部, 573 ビュー内参照ベクトル生成部

Claims (27)

  1.  視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、
     前記カレント視差ベクトルと、前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部と
     を備える画像処理装置。
  2.  前記予測ベクトル生成部は、カレントビューと同一のビューを対象として、カレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの視差ベクトルを用いて、前記カレント視差ベクトルの予測ベクトルを生成する
     請求項1に記載の画像処理装置。
  3.  前記予測ベクトル生成部は、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とが一致する場合に、コロケーテッドブロックをアベイラブルに設定する
     請求項2に記載の画像処理装置。
  4.  前記ベクトルの特性は、ベクトルのタイプであり、
     前記予測ベクトル生成部は、カンレントブロックのベクトルの特性が視差ベクトルあり、かつ、コロケーテッドブロックのベクトルの特性が視差ベクトルである場合に、コロケーテッドブロックをアベイラブルに設定する
     請求項3に記載の画像処理装置。
  5.  前記予測動きベクトル生成部は、ピクチャの出力順を示すPOC(Picture Order Count)を用いて、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とを判定する
     請求項3に記載の画像処理装置。
  6.  前記予測動きベクトル生成部は、カレントピクチャのPOCと、カレントピクチャから参照されるカレントリファレンスピクチャのPOCと、コロケーテッドピクチャのPOCと、コロケーテッドピクチャから参照されるコロケーテッドリファレンスピクチャのPOCとを用いて、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とを判定する
     請求項5に記載の画像処理装置。
  7.  前記予測動きベクトル生成部は、カレントピクチャのPOCとカレントピクチャから参照されるカレントリファレンスピクチャのPOCとが一致し、かつ、コロケーテッドピクチャのPOCとコロケーテッドピクチャから参照されるコロケーテッドリファレンスピクチャのPOCとが一致する場合に、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とは、視差ベクトルであると判定する
     請求項6に記載の画像処理装置。
  8.  前記予測ベクトル生成部は、カレントブロックのベクトルの特性とコロケーテッドブロックのベクトルの特性とが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定する
     請求項2に記載の画像処理装置。
  9.  前記ベクトルの特性は、参照ピクチャのタイプであり、
     前記予測ベクトル生成部は、カレントブロックの参照ピクチャのタイプとコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定する
     請求項8に記載の画像処理装置。
  10.  前記ベクトルの特性は、参照ピクチャのタイプであり、
     前記予測ベクトル生成部は、カレントブロックの参照ピクチャのタイプが長時間参照であり、かつ、コロケーテッドブロックの参照ピクチャのタイプが長時間参照である場合に、リファレンスインデックスを探索する探索処理をスキップする
     請求項8に記載の画像処理装置。
  11.  前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、カレントピクチャと同一の時刻のピクチャに含まれるリファレンスブロックの視差ベクトルを用いて、前記カレント視差ベクトルの予測ベクトルを生成する
     請求項1に記載の画像処理装置。
  12.  前記予測ベクトル生成部は、カレントピクチャと予測動きベクトルを生成する際に参照するリファレンスピクチャとの位置関係に基づいて、前記リファレンス視差ベクトルをスケーリングして、前記カレント視差ベクトルの予測ベクトルを生成する
     請求項1に記載の画像処理装置。
  13.  前記予測ベクトル生成部は、時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成し、
     前記差分ベクトル生成部は、前記カレント動きベクトルと前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する
     請求項1に記載の画像処理装置。
  14.  前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、前記カレントピクチャと同一の時刻のピクチャに含まれるリファレンスブロックの動きベクトルを用いて、前記カレント動きベクトルの予測ベクトルを生成する
     請求項13に記載の画像処理装置。
  15.  前記予測ベクトル生成部は、前記カレントビューと同一のビューを対象として、前記カレントピクチャと異なる時刻のピクチャに含まれるリファレンスブロックの動きベクトルを用いて、前記カレント動きベクトルの予測ベクトルを生成する
     請求項13に記載の画像処理装置。
  16.  前記予測ベクトル生成部は、カレントピクチャと予測動きベクトルを生成する際に参照するリファレンスピクチャとの位置関係に基づいて、前記リファレンス動きベクトルをスケーリングして、前記カレント動きベクトルの予測ベクトルを生成する
     請求項15に記載の画像処理装置。
  17.  前記予測ベクトル生成部は、前記カレントビューと異なるビューを対象として、前記カレントピクチャと同一の時刻のピクチャの画素の位置をシフトさせた状態で前記カレントブロックと同じ位置となるブロックのベクトルを用いて、前記予測ベクトルを生成する
     請求項1に記載の画像処理装置。
  18.  前記予測ベクトル生成部は、前記カレントブロックの周辺領域の視差ベクトルに応じて、前記画像のシフト量を設定する
     請求項17に記載の画像処理装置。
  19.  前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである前記周辺ブロックの、X方向の視差ベクトルを、前記シフト量とする
     請求項18に記載の画像処理装置。
  20.  前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである複数の前記周辺ブロックの、X方向の視差ベクトルから算出される値を、前記シフト量とする
     請求項18に記載の画像処理装置。
  21.  前記予測ベクトル生成部は、Y方向の視差ベクトルの値が非ゼロである複数の前記周辺ブロックの、X方向の視差ベクトルの平均値又は中央値を、前記画像のシフト量とする
     請求項20に記載の画像処理装置。
  22.  前記予測ベクトル生成部は、グローバル視差ベクトルに応じて、前記画像のシフト量を設定する
     請求項17に記載の画像処理装置。
  23.  画像処理装置の画像処理方法において、
     前記画像処理装置が、
      視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルを符号化する際に、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成し、
      前記カレント視差ベクトルと、生成された前記予測ベクトルとの差分ベクトルを生成する
     画像処理方法。
  24.  視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成する予測ベクトル生成部と、
     前記カレント視差ベクトルと前記予測ベクトルとの差分ベクトルに、前記予測ベクトル生成部により生成された前記予測ベクトルを加算し、前記カレント視差ベクトルを再構築する演算を行う演算部と
     を備える画像処理装置。
  25.  画像処理装置の画像処理方法において、
     前記画像処理装置が、
      視差方向の相関性を利用した予測に用いられるカレントブロックのカレント視差ベクトルの復号において、前記カレント視差ベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス視差ベクトルを用いて生成し、
      前記カレント視差ベクトルと前記予測ベクトルとの差分ベクトルに、生成された前記予測ベクトルを加算し、前記カレント視差ベクトルを再構築する演算を行う
     画像処理方法。
  26.  時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定し、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成する予測ベクトル生成部と、
     前記カレント動きベクトルと前記予測ベクトル生成部により生成された前記予測ベクトルとの差分ベクトルを生成する差分ベクトル生成部と
     を備える画像処理装置。
  27.  画像処理装置の画像処理方法において、
     前記画像処理装置が、
      時間方向の相関性を利用した予測に用いられるカレントブロックのカレント動きベクトルを符号化する際に、カレントブロックの参照ピクチャのタイプとカレントピクチャと異なる時刻のコロケーテッドピクチャに含まれるコロケーテッドブロックの参照ピクチャのタイプとが異なる場合に、コロケーテッドブロックをノットアベイラブルに設定し、前記カレント動きベクトルの予測ベクトルを、予測動きベクトルを生成する際に参照するリファレンス動きベクトルを用いて生成し、
      前記カレント動きベクトルと生成された前記予測ベクトルとの差分ベクトルを生成する
     画像処理方法。
PCT/JP2012/066582 2011-06-30 2012-06-28 画像処理装置および方法 WO2013002342A1 (ja)

Priority Applications (31)

Application Number Priority Date Filing Date Title
BR122015001004-7A BR122015001004B1 (pt) 2011-06-30 2012-06-28 Dispositivo e método de processamento de imagem
EP12804437.7A EP2728879A4 (en) 2011-06-30 2012-06-28 IMAGE PROCESSING APPARATUS AND METHOD
US14/128,091 US9491462B2 (en) 2011-06-30 2012-06-28 High efficiency video coding device and method based on reference picture type
JP2013522953A JP5954327B2 (ja) 2011-06-30 2012-06-28 画像処理装置および方法、記録媒体、並びに、プログラム
CN201910505675.4A CN110225357B (zh) 2011-06-30 2012-06-28 图像处理设备和图像处理方法
CN201910881352.5A CN110572681B (zh) 2011-06-30 2012-06-28 图像处理设备和图像处理方法
BR112013033333-2A BR112013033333B1 (pt) 2011-06-30 2012-06-28 Dispositivo e método de processamento de imagem
KR1020137033599A KR101918324B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
KR1020177015848A KR101954006B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
CN201280030904.8A CN103636217B (zh) 2011-06-30 2012-06-28 图像处理设备和图像处理方法
BR122015001000-4A BR122015001000B1 (pt) 2011-06-30 2012-06-28 Dispositivo e método de processamento de imagem
AU2012276628A AU2012276628B2 (en) 2011-06-30 2012-06-28 Image Processing Device and Image Processing Method
BR122015001002-0A BR122015001002B1 (pt) 2011-06-30 2012-06-28 Dispositivo e método de processamento de imagem
KR1020187032234A KR101954046B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
MX2013015116A MX341889B (es) 2011-06-30 2012-06-28 Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
KR1020177015849A KR101954007B1 (ko) 2011-06-30 2012-06-28 화상 처리 장치 및 방법
IN10237CHN2013 IN2013CN10237A (ja) 2011-06-30 2012-06-28
CA2838088A CA2838088C (en) 2011-06-30 2012-06-28 Image processing device and image processing method
RU2013157151/07A RU2578375C2 (ru) 2011-06-30 2012-06-28 Устройство обработки изображений и способ обработки изображений
US15/177,065 US9788008B2 (en) 2011-06-30 2016-06-08 High efficiency video coding device and method based on reference picture type
US15/177,122 US9560375B2 (en) 2011-06-30 2016-06-08 High efficiency video coding device and method based on reference picture type
US15/177,099 US9648344B2 (en) 2011-06-30 2016-06-08 High efficiency video coding device and method based on reference picture type
AU2016204472A AU2016204472B2 (en) 2011-06-30 2016-06-29 Image Processing Device and Image Processing Method
US15/298,564 US10187652B2 (en) 2011-06-30 2016-10-20 High efficiency video coding device and method based on reference picture type
US15/298,632 US10158877B2 (en) 2011-06-30 2016-10-20 High efficiency video coding device and method based on reference picture type of co-located block
AU2017216494A AU2017216494B2 (en) 2011-06-30 2017-08-16 Image Processing Device and Image Processing Method
US16/028,394 US10484704B2 (en) 2011-06-30 2018-07-05 High efficiency video coding device and method based on reference picture type
AU2019201383A AU2019201383B2 (en) 2011-06-30 2019-02-27 Image Processing Device and Image Processing Method
US16/544,124 US10764600B2 (en) 2011-06-30 2019-08-19 High efficiency video coding device and method based on reference picture type
AU2020200331A AU2020200331B2 (en) 2011-06-30 2020-01-17 Image Processing Device and Image Processing Method
US16/932,576 US11405634B2 (en) 2011-06-30 2020-07-17 High efficiency video coding device and method based on reference picture type

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2011-145564 2011-06-30
JP2011145564 2011-06-30
JP2012009223 2012-01-19
JP2012-009223 2012-01-19
JP2012099056 2012-04-24
JP2012-099056 2012-04-24

Related Child Applications (6)

Application Number Title Priority Date Filing Date
US14/128,091 A-371-Of-International US9491462B2 (en) 2011-06-30 2012-06-28 High efficiency video coding device and method based on reference picture type
US15/177,099 Continuation US9648344B2 (en) 2011-06-30 2016-06-08 High efficiency video coding device and method based on reference picture type
US15/177,065 Continuation US9788008B2 (en) 2011-06-30 2016-06-08 High efficiency video coding device and method based on reference picture type
US15/177,122 Continuation US9560375B2 (en) 2011-06-30 2016-06-08 High efficiency video coding device and method based on reference picture type
US15/298,564 Continuation US10187652B2 (en) 2011-06-30 2016-10-20 High efficiency video coding device and method based on reference picture type
US15/298,632 Continuation US10158877B2 (en) 2011-06-30 2016-10-20 High efficiency video coding device and method based on reference picture type of co-located block

Publications (1)

Publication Number Publication Date
WO2013002342A1 true WO2013002342A1 (ja) 2013-01-03

Family

ID=47424228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/066582 WO2013002342A1 (ja) 2011-06-30 2012-06-28 画像処理装置および方法

Country Status (14)

Country Link
US (9) US9491462B2 (ja)
EP (1) EP2728879A4 (ja)
JP (6) JP5954327B2 (ja)
KR (4) KR101954006B1 (ja)
CN (8) CN106878755B (ja)
AU (5) AU2012276628B2 (ja)
BR (4) BR122015001000B1 (ja)
CA (2) CA2838088C (ja)
IN (1) IN2013CN10237A (ja)
MX (2) MX341889B (ja)
MY (3) MY191028A (ja)
RU (5) RU2602794C2 (ja)
SG (5) SG10201609887TA (ja)
WO (1) WO2013002342A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015102367A1 (ko) * 2014-01-02 2015-07-09 세종대학교산학협력단 다시점 비디오를 부호화하는 방법 및 그 장치, 다시점 비디오를 복호화하는 방법 및 그 장치
JP2016513919A (ja) * 2013-03-06 2016-05-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3dビデオコーディングにおける導出視差ベクトル
JP2016513924A (ja) * 2013-04-10 2016-05-16 聯發科技股▲ふん▼有限公司Mediatek Inc. 三次元ビデオ符号化の視点間候補導出の方法と装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2013010423A (es) 2011-03-18 2013-10-03 Sony Corp Aparato de procesamiento de imagenes y metodo de procesamiento de imagenes.
MY191028A (en) 2011-06-30 2022-05-29 Sony Corp Image processing device and image processing method
CA2842150A1 (en) 2011-08-31 2013-03-07 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
US20150036753A1 (en) * 2012-03-30 2015-02-05 Sony Corporation Image processing device and method, and recording medium
WO2014053087A1 (en) * 2012-10-03 2014-04-10 Mediatek Inc. Method and apparatus of motion data buffer reduction for three-dimensional video coding
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
KR101737595B1 (ko) * 2012-12-27 2017-05-18 니폰 덴신 덴와 가부시끼가이샤 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
JP2015015595A (ja) * 2013-07-04 2015-01-22 富士通株式会社 動画像符号化装置、符号化モード判定方法及び符号化プログラム
CN107197288B (zh) * 2016-03-15 2023-11-10 北京三星通信技术研究有限公司 视频全局视差向量编码方法、解码方法和装置
US10834419B2 (en) 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
US11050991B2 (en) * 2016-09-29 2021-06-29 Koninklijke Philips N.V. Image processing using a plurality of images for a three dimension scene, having a different viewing positions and/or directions
CN111684805B (zh) * 2018-02-06 2024-04-02 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
JP7088606B2 (ja) 2018-04-02 2022-06-21 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 動画処理方法、画像処理装置、プログラム、符号化デバイス、及び復号化デバイス
US11665365B2 (en) * 2018-09-14 2023-05-30 Google Llc Motion prediction coding with coframe motion vectors
WO2020172341A1 (en) * 2019-02-20 2020-08-27 Beijing Dajia Internet Information Technology Co., Ltd. Constrained motion vector derivation for long-term reference pictures in video coding
US10638130B1 (en) * 2019-04-09 2020-04-28 Google Llc Entropy-inspired directional filtering for image coding
US11689743B2 (en) * 2020-11-12 2023-06-27 Tencent America LLC Method and apparatus for video coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH099300A (ja) * 1995-06-26 1997-01-10 Matsushita Electric Ind Co Ltd 立体表示装置
WO2006073116A1 (ja) * 2005-01-07 2006-07-13 Nippon Telegraph And Telephone Corporation 映像符号化方法及び装置、映像復号方法及び装置、それらのプログラムおよびそれらプログラムを記録した記録媒体
JP2009510892A (ja) * 2005-09-29 2009-03-12 サムスン エレクトロニクス カンパニー リミテッド カメラパラメータを利用して視差ベクトルを予測する方法、その方法を利用して多視点映像を符号化及び復号化する装置、及びそれを行うためのプログラムが記録された記録媒体
JP2009522986A (ja) * 2006-01-09 2009-06-11 トムソン ライセンシング マルチビュービデオ符号化の方法および装置
JP2010537484A (ja) * 2007-08-15 2010-12-02 トムソン ライセンシング 多視点符号化ビデオにおける領域視差ベクトルを使用したモーションスキップモードのための方法及び装置
JP2011077722A (ja) * 2009-09-29 2011-04-14 Victor Co Of Japan Ltd 画像復号装置、画像復号方法およびそのプログラム

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263960B2 (ja) * 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
JP3519594B2 (ja) * 1998-03-03 2004-04-19 Kddi株式会社 ステレオ動画像用符号化装置
JP4224748B2 (ja) * 1999-09-13 2009-02-18 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
US7042948B2 (en) * 2001-03-05 2006-05-09 Intervideo, Inc. Systems and methods for management of data in a ring buffer for error resilient decoding of a video bitstream
EP1489848A4 (en) * 2002-03-14 2006-05-03 Matsushita Electric Ind Co Ltd MOTION VECTOR DETECTION METHOD
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US7497076B2 (en) 2002-05-07 2009-03-03 Extengine Transport Systems Emission control system
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
TWI255146B (en) 2003-12-04 2006-05-11 Nec Corp Moving picture encoding method and device, and moving picture decoding method and device, and storage medium
CN100471280C (zh) * 2005-01-07 2009-03-18 株式会社Ntt都科摩 运动图像编码及译码装置、方法
WO2007011147A1 (en) 2005-07-18 2007-01-25 Electronics And Telecommunications Research Institute Apparatus of predictive coding/decoding using view-temporal reference picture buffers and method using the same
EP1929783B1 (en) 2005-09-29 2017-06-21 Samsung Electronics Co., Ltd. Method and apparatus for encoding a multi-view picture using disparity vectors, and computer readable recording medium storing a program for executing the method
JP4166781B2 (ja) * 2005-12-09 2008-10-15 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
CA2845591C (en) * 2006-01-05 2015-12-08 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
WO2007110000A1 (en) 2006-03-29 2007-10-04 Huawei Technologies Co., Ltd. A method and device of obtaining disparity vector and its multi-view encoding-decoding
MX357910B (es) * 2006-07-06 2018-07-30 Thomson Licensing Método y aparato para desacoplar el número de cuadro y/o la cuenta del orden de imagen (poc) para la codificación y decodificación de video de múltiples vistas.
WO2008007917A1 (en) 2006-07-12 2008-01-17 Lg Electronics, Inc. A method and apparatus for processing a signal
CN100576919C (zh) * 2006-08-08 2009-12-30 佳能株式会社 运动矢量检测设备及运动矢量检测方法
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
JP4999853B2 (ja) * 2006-09-20 2012-08-15 日本電信電話株式会社 画像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
KR101023262B1 (ko) * 2006-09-20 2011-03-21 니폰덴신뎅와 가부시키가이샤 화상 부호화 방법 및 복호 방법, 이들의 장치 및 이들의 프로그램과 프로그램을 기록한 기억매체
WO2008056934A1 (en) * 2006-11-07 2008-05-15 Samsung Electronics Co., Ltd. Method of and apparatus for video encoding and decoding based on motion estimation
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
JPWO2008120577A1 (ja) * 2007-03-29 2010-07-15 株式会社東芝 画像符号化及び復号化の方法及び装置
US8494049B2 (en) * 2007-04-09 2013-07-23 Cisco Technology, Inc. Long term reference frame management with error video feedback for compressed video communication
KR20100014553A (ko) * 2007-04-25 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
BRPI0814854A2 (pt) * 2007-08-06 2015-01-27 Thomson Licensing Métodos e aparelho para modo de salto de vídeo animado com múltiplas imagens de referência entre exibições
JP5194833B2 (ja) 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
CN102084658B (zh) * 2008-07-01 2013-06-05 法国电信公司 实施改进的预测的图像编码方法和装置、对应的解码方法和装置、信号和计算机程序
JP2010035137A (ja) * 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
JP5353532B2 (ja) * 2009-07-29 2013-11-27 ソニー株式会社 画像処理装置及び画像処理方法
WO2011021914A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
JP2011120233A (ja) * 2009-11-09 2011-06-16 Panasonic Corp 3d映像特殊効果装置、3d映像特殊効果方法、および、3d映像特殊効果プログラム
JP2011223302A (ja) * 2010-04-09 2011-11-04 Sony Corp 画像処理装置と画像処理方法
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
JP5505154B2 (ja) 2010-07-16 2014-05-28 ソニー株式会社 画像処理装置と画像処理方法
JP2012023652A (ja) 2010-07-16 2012-02-02 Sony Corp 画像処理装置と画像処理方法
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9137544B2 (en) 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
KR102285746B1 (ko) 2011-02-09 2021-08-04 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
MX2013009864A (es) * 2011-03-03 2013-10-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
KR101532665B1 (ko) 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
MX2013010423A (es) 2011-03-18 2013-10-03 Sony Corp Aparato de procesamiento de imagenes y metodo de procesamiento de imagenes.
WO2012128069A1 (ja) 2011-03-18 2012-09-27 ソニー株式会社 画像処理装置および画像処理方法
WO2012157443A1 (ja) 2011-05-16 2012-11-22 ソニー株式会社 画像処理装置、及び、画像処理方法
CN103597833A (zh) 2011-06-22 2014-02-19 索尼公司 图像处理装置以及方法
MY191028A (en) 2011-06-30 2022-05-29 Sony Corp Image processing device and image processing method
JP2013034171A (ja) 2011-06-30 2013-02-14 Sony Corp 画像処理装置および方法
WO2013031575A1 (ja) 2011-08-31 2013-03-07 ソニー株式会社 画像処理装置および画像処理方法
CA2842150A1 (en) 2011-08-31 2013-03-07 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
ES2780186T3 (es) * 2011-10-28 2020-08-24 Sun Patent Trust Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes
MX2013012224A (es) 2011-10-28 2013-11-01 Panasonic Corp Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de decodificacion de imagenes.
CN104811727B (zh) 2011-11-08 2018-02-16 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
JPWO2013115024A1 (ja) 2012-01-31 2015-05-11 ソニー株式会社 画像処理装置、画像処理方法、プログラム、および記録媒体
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH099300A (ja) * 1995-06-26 1997-01-10 Matsushita Electric Ind Co Ltd 立体表示装置
WO2006073116A1 (ja) * 2005-01-07 2006-07-13 Nippon Telegraph And Telephone Corporation 映像符号化方法及び装置、映像復号方法及び装置、それらのプログラムおよびそれらプログラムを記録した記録媒体
JP2009510892A (ja) * 2005-09-29 2009-03-12 サムスン エレクトロニクス カンパニー リミテッド カメラパラメータを利用して視差ベクトルを予測する方法、その方法を利用して多視点映像を符号化及び復号化する装置、及びそれを行うためのプログラムが記録された記録媒体
JP2009522986A (ja) * 2006-01-09 2009-06-11 トムソン ライセンシング マルチビュービデオ符号化の方法および装置
JP2010537484A (ja) * 2007-08-15 2010-12-02 トムソン ライセンシング 多視点符号化ビデオにおける領域視差ベクトルを使用したモーションスキップモードのための方法及び装置
JP2011077722A (ja) * 2009-09-29 2011-04-14 Victor Co Of Japan Ltd 画像復号装置、画像復号方法およびそのプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOEL JUNG; GUILLAUME LAROCHE: "Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06, ITU-TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6, VIDEO CODING EXPERTS GROUP (VCEG) 29TH MEETING, 17 July 2006 (2006-07-17)
MARTIN WINKEN; SEBASTIAN BOSSE; BENJAMIN BROSS; PHILIPP HELLE; TOBIAS HINZ; HEINER KIRCHHOFFER; HARICHARAN LAKSHMAN; DETLEV MARPE;: "Description of video coding technology proposed by Fraunhofer HHI", JCTVC-A116, April 2010 (2010-04-01)
THOMAS WIEGAND; WOO-JIN HAN; BENJAMIN BROSS; JENS-RAINER OHM; GARY J. SULLIVAN: "Working Draft 1 of High-Efficiency Video Coding", JCTVC-C403, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 3RD MEETING, 7 October 2010 (2010-10-07)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016513919A (ja) * 2013-03-06 2016-05-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3dビデオコーディングにおける導出視差ベクトル
US10021367B2 (en) 2013-04-10 2018-07-10 Hfi Innovation Inc. Method and apparatus of inter-view candidate derivation for three-dimensional video coding
JP2016513924A (ja) * 2013-04-10 2016-05-16 聯發科技股▲ふん▼有限公司Mediatek Inc. 三次元ビデオ符号化の視点間候補導出の方法と装置
KR101692744B1 (ko) 2014-01-02 2017-01-04 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
KR20150080906A (ko) * 2014-01-02 2015-07-10 세종대학교산학협력단 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치
KR20160100896A (ko) * 2014-01-02 2016-08-24 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
KR101658192B1 (ko) * 2014-01-02 2016-09-20 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
KR101662662B1 (ko) * 2014-01-02 2016-10-05 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치
WO2015102367A1 (ko) * 2014-01-02 2015-07-09 세종대학교산학협력단 다시점 비디오를 부호화하는 방법 및 그 장치, 다시점 비디오를 복호화하는 방법 및 그 장치
JP2017510219A (ja) * 2014-01-02 2017-04-06 インダストリー−アカデミア、コーオペレイション、グループ、オブ、セジョン、ユニバーシティーIndustry−Academia Cooperation Group Of Sejong University 多視点ビデオを符号化する方法及びその装置、並びに多視点ビデオを復号化する方法及びその装置
KR101778710B1 (ko) 2014-01-02 2017-09-14 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치
KR20150080905A (ko) * 2014-01-02 2015-07-10 세종대학교산학협력단 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
KR20210158843A (ko) * 2014-01-02 2021-12-31 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
KR102550448B1 (ko) 2014-01-02 2023-07-03 돌비 레버러토리즈 라이쎈싱 코오포레이션 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
KR20230104560A (ko) * 2014-01-02 2023-07-10 돌비 레버러토리즈 라이쎈싱 코오포레이션 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는방법 및 그 장치
KR102643840B1 (ko) 2014-01-02 2024-03-06 돌비 레버러토리즈 라이쎈싱 코오포레이션 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치

Also Published As

Publication number Publication date
RU2015103880A (ru) 2015-06-20
US11405634B2 (en) 2022-08-02
US20170041630A1 (en) 2017-02-09
CN103636217B (zh) 2017-04-12
CA3045874A1 (en) 2013-01-03
CN110572681B (zh) 2023-12-15
US9560375B2 (en) 2017-01-31
KR101954046B1 (ko) 2019-03-04
BR122015001004B1 (pt) 2022-07-26
AU2016204472B2 (en) 2017-08-10
US20170041631A1 (en) 2017-02-09
CN107071475B (zh) 2020-01-31
AU2020200331A1 (en) 2020-02-06
JP5954327B2 (ja) 2016-07-20
US10187652B2 (en) 2019-01-22
MX341889B (es) 2016-09-07
MY193110A (en) 2022-09-26
EP2728879A4 (en) 2015-02-18
KR20170071607A (ko) 2017-06-23
MY191028A (en) 2022-05-29
KR20180124146A (ko) 2018-11-20
AU2019201383B2 (en) 2020-01-23
CA2838088C (en) 2021-06-08
US20180316930A1 (en) 2018-11-01
SG10201505808YA (en) 2015-09-29
KR20170071608A (ko) 2017-06-23
SG10201609891QA (en) 2016-12-29
BR112013033333A2 (pt) 2017-01-31
KR101918324B1 (ko) 2018-11-13
US9788008B2 (en) 2017-10-10
BR112013033333B1 (pt) 2022-07-26
US10158877B2 (en) 2018-12-18
RU2015103854A (ru) 2016-08-27
CN107071476A (zh) 2017-08-18
JP5954449B2 (ja) 2016-07-20
US10764600B2 (en) 2020-09-01
AU2012276628B2 (en) 2016-05-05
BR122015001002A2 (pt) 2019-08-20
US20140126642A1 (en) 2014-05-08
CN107071477A (zh) 2017-08-18
AU2017216494A1 (en) 2017-08-31
CN107105296A (zh) 2017-08-29
SG10201505809PA (en) 2015-09-29
KR101954007B1 (ko) 2019-03-04
JP2015128308A (ja) 2015-07-09
CN107071477B (zh) 2020-03-17
AU2017216494B2 (en) 2019-03-07
US9491462B2 (en) 2016-11-08
RU2578375C2 (ru) 2016-03-27
AU2019201383A1 (en) 2019-03-21
IN2013CN10237A (ja) 2015-08-21
RU2602794C2 (ru) 2016-11-20
MX2013015116A (es) 2014-02-11
JP2016187208A (ja) 2016-10-27
CA2838088A1 (en) 2013-01-03
US10484704B2 (en) 2019-11-19
CN106878755B (zh) 2019-09-13
US20190373282A1 (en) 2019-12-05
SG10201505802XA (en) 2015-09-29
AU2012276628A1 (en) 2013-12-19
AU2016204472A1 (en) 2016-07-21
US20160295229A1 (en) 2016-10-06
KR20140043757A (ko) 2014-04-10
BR122015001000B1 (pt) 2022-07-26
US20160295228A1 (en) 2016-10-06
CN110572681A (zh) 2019-12-13
KR101954006B1 (ko) 2019-03-04
CN110225357A (zh) 2019-09-10
EP2728879A1 (en) 2014-05-07
MY170743A (en) 2019-08-27
US9648344B2 (en) 2017-05-09
CN107105296B (zh) 2020-12-25
RU2597478C1 (ru) 2016-09-10
BR122015001002B1 (pt) 2022-07-26
JP2018033163A (ja) 2018-03-01
RU2717400C1 (ru) 2020-03-23
SG10201609887TA (en) 2017-01-27
AU2020200331B2 (en) 2020-08-20
JP2015128306A (ja) 2015-07-09
BR122015001000A2 (pt) 2019-08-20
CN107071475A (zh) 2017-08-18
US20200351515A1 (en) 2020-11-05
US20160295230A1 (en) 2016-10-06
CA3045874C (en) 2021-09-14
RU2600529C2 (ru) 2016-10-20
BR122015001004A2 (pt) 2019-08-20
CN106878755A (zh) 2017-06-20
MX2022000616A (es) 2022-05-30
CN110225357B (zh) 2023-09-29
RU2013157151A (ru) 2015-06-27
JP6238090B2 (ja) 2017-11-29
CN103636217A (zh) 2014-03-12
JP6402815B2 (ja) 2018-10-10
CN107071476B (zh) 2020-12-08
JP2015128307A (ja) 2015-07-09
JPWO2013002342A1 (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
JP6402815B2 (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: 12804437

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013522953

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2838088

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2012804437

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20137033599

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2013/015116

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 2012276628

Country of ref document: AU

Date of ref document: 20120628

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14128091

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2013157151

Country of ref document: RU

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013033333

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013033333

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20131223