WO2012128068A1 - 画像処理装置、画像処理方法、及び、プログラム - Google Patents

画像処理装置、画像処理方法、及び、プログラム Download PDF

Info

Publication number
WO2012128068A1
WO2012128068A1 PCT/JP2012/056082 JP2012056082W WO2012128068A1 WO 2012128068 A1 WO2012128068 A1 WO 2012128068A1 JP 2012056082 W JP2012056082 W JP 2012056082W WO 2012128068 A1 WO2012128068 A1 WO 2012128068A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
vector
block
image
parallax
Prior art date
Application number
PCT/JP2012/056082
Other languages
English (en)
French (fr)
Inventor
良知 高橋
しのぶ 服部
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US14/002,765 priority Critical patent/US9363500B2/en
Priority to JP2013505884A priority patent/JP6061150B2/ja
Priority to CN201280012725.1A priority patent/CN103430549B/zh
Publication of WO2012128068A1 publication Critical patent/WO2012128068A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present technology relates to an image processing device, an image processing method, and a program, so that a vector with high prediction accuracy can be obtained as a prediction vector of a parallax vector representing a parallax of an image of a certain viewpoint with respect to an image of another viewpoint.
  • the present invention relates to an image processing apparatus, an image processing method, and a program.
  • an encoding method for encoding an image of a plurality of viewpoints such as a 3D (Dimension) image
  • an MVC (Multiview Video Coding) method which is an extension of the AVC (Advanced Video Coding) (H.264 / AVC) method, etc. is there.
  • an image to be encoded is a color image having a value corresponding to light from a subject as a pixel value, and each of the color images of a plurality of viewpoints is a color image of the viewpoint as necessary.
  • encoding is performed with reference to color images of other viewpoints.
  • one viewpoint color image among a plurality of viewpoint color images is used as a base view (Base View) image, and other viewpoint color images are used as dependent views (Dependent View). ) Image.
  • the color image of the base view is encoded with reference to only the image of the base view, and the color image of the dependent view requires the image of another view in addition to the image of the dependent view. And is encoded according to the reference.
  • parallax prediction for generating a predicted image with reference to the color image of another view is performed as necessary, and is encoded using the predicted image.
  • a color image at a certain viewpoint # 1 is set as a base view image
  • a color image at another viewpoint # 2 is set as a dependent view image.
  • a prediction vector obtained by predicting the disparity vector of the target block is obtained, and a residual vector that is a difference between the disparity vector and the prediction vector is encoded.
  • the residual vector code amount tends to increase as the residual vector increases. Therefore, if the residual vector is small, that is, if the prediction vector has high prediction accuracy (prediction vector). The more similar to the disparity vector, the better the coding efficiency.
  • a parallax information image (depth image) having, as a pixel value, parallax information related to the parallax for each pixel of the color image of each viewpoint, in addition to the color image of each viewpoint, is adopted as an image of a plurality of viewpoints.
  • an encoding method for encoding the color image of each viewpoint and the parallax information image of each viewpoint standards such as the MPEG3DV method are being formulated.
  • each viewpoint color image and each viewpoint parallax information image are encoded in the same manner as in the MVC format.
  • the prediction vector (of the disparity vector) of the target block is obtained from the disparity vectors of the blocks around the target block of the color image.
  • the target block is, for example, the boundary portion of the object that is the foreground.
  • foreground blocks, background blocks, and even blocks where occlusion occurs may be mixed as blocks around the target block.
  • the prediction accuracy of a block prediction vector may deteriorate.
  • Non-Patent Document 1 a method has been proposed in which one of the disparity vectors of the blocks around the target block of the color image is selected as a prediction vector of the target block based on the disparity information image (for example, Non-Patent Document 1). See).
  • selecting one of the disparity vectors of the block around the target block of the color image as the prediction vector of the target block is performed by selecting a predictive vector with good predictability. It may be difficult to obtain.
  • the present technology has been made in view of such a situation, and makes it possible to obtain a vector with high prediction accuracy as a prediction vector of a disparity vector.
  • An image processing device or a program provides a disparity vector representing disparity of a target block to be processed of a color image of a second viewpoint different from the first viewpoint with respect to the color image of the first viewpoint
  • a prediction vector generation unit that generates a prediction vector of the second viewpoint from a depth image of the second viewpoint having depth information related to the parallax of each pixel of the color image of the second viewpoint as a pixel value.
  • This is a program for causing a computer to function as an image processing apparatus or an image processing apparatus.
  • An image processing method uses a prediction vector of a disparity vector representing a disparity with respect to a color image of a first viewpoint of a target block to be processed of a color image of a second viewpoint different from the first viewpoint. And an image processing method including a step of generating by a depth information use prediction method generated from a depth image of a second viewpoint having depth information regarding a parallax for each pixel of the color image of the second viewpoint as a pixel value.
  • a prediction vector of a disparity vector representing a disparity with respect to a color image of the first viewpoint of a target block to be processed of a color image of a second viewpoint different from the first viewpoint is predicted.
  • the vector is generated by a depth information use prediction method in which the vector is generated from the depth image of the second viewpoint having depth information regarding the parallax for each pixel of the color image of the second viewpoint as a pixel value.
  • the image processing apparatus may be an independent apparatus or an internal block constituting one apparatus.
  • the program can be provided by being transmitted through a transmission medium or by being recorded on a recording medium.
  • a vector with high prediction accuracy can be obtained as a prediction vector of a disparity vector.
  • FIG. 2 is a block diagram illustrating a configuration example of an encoder 11.
  • FIG. It is a figure explaining the macroblock type of a MVC (AVC) system. It is a figure explaining the prediction vector (PMV) of a MVC (AVC) system. It is a figure explaining the relationship between the prediction vector of a MVC (AVC) system, and a reference index.
  • 3 is a block diagram illustrating a configuration example of an encoder 12.
  • FIG. 5 is a block diagram illustrating a configuration example of a disparity prediction unit 232.
  • FIG. 10 is a flowchart for describing an encoding process for encoding a color image C # 2 of a viewpoint # 2. It is a flowchart explaining a parallax prediction process.
  • FIG. 10 is a flowchart for explaining a decoding process for decoding encoded data of a color image C # 2 of a viewpoint # 2.
  • FIG. 5 is a block diagram illustrating a configuration example of a disparity prediction unit 232.
  • FIG. It is a flowchart explaining a parallax prediction process. It is a flowchart explaining a prediction vector production
  • 5 is a block diagram illustrating a configuration example of a disparity prediction unit 232. FIG. It is a flowchart explaining a prediction vector production
  • FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied. It is a figure which shows the schematic structural example of the television apparatus to which this technique is applied. It is a figure which shows the schematic structural example of the mobile telephone to which this technique is applied. It is a figure which shows the schematic structural example of the recording / reproducing apparatus to which this technique is applied. It is a figure which shows the schematic structural example of the imaging device to which this technique is applied.
  • FIG. 44 is a diagram illustrating parallax and depth.
  • the depth of the subject M from the camera c1 (camera c2).
  • the depth Z that is the distance in the direction is defined by the following equation (a).
  • 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 formula (a), the focal lengths of the camera c1 and the camera c2 are the same.
  • 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 captured by the camera c1 and the camera c2 are collectively referred to as a depth image (parallax information 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 as a normal value.
  • the normalized value the value obtained by normalizing the reciprocal 1 / Z of the depth Z, and the like can be employed.
  • the value I obtained by normalizing the parallax d with 8 bits (0 to 255) can be obtained by the following equation (b). Note that the normalization bit number of the parallax d is not limited to 8 bits, and other bit numbers such as 10 bits and 12 bits may be used.
  • D max is the maximum value of the parallax d
  • D min is the minimum value of the parallax d.
  • the maximum value D max and the minimum value D min may be set in units of one screen, or may be set in units of a plurality of screens.
  • the value y obtained by normalizing the reciprocal 1 / Z of the depth Z by 8 bits (0 to 255) can be obtained by the following equation (c).
  • the normalized bit number of the inverse 1 / Z of the depth Z is not limited to 8 bits, and other bit numbers such as 10 bits and 12 bits may be used.
  • 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 is collectively referred to as a depth image (parallax information image).
  • a depth image parllax information image
  • the color format of the depth 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 (disparity information). Further, the mapping of the value I or the value y is a depth map.
  • SAD minimum prediction method which is an example of a method for obtaining a prediction vector of a disparity vector in encoding and decoding, will be described.
  • FIG. 1 is a diagram for explaining a SAD minimum prediction method proposed in Non-Patent Document 1 as a method for obtaining a prediction vector of a disparity vector.
  • color image C # 1 of viewpoint # 1 which is a color image of two viewpoints
  • color image C # 2 of viewpoint # 2 different from viewpoint # 1 and two viewpoints It is assumed that there is a parallax information image D # 1 for viewpoint # 1 and a parallax information image D # 2 for viewpoint # 2, which are parallax information images.
  • the color image C # 1 (picture) of the viewpoint # 1 is used as a reference picture, and the viewpoint # 1 A prediction vector of a disparity vector used in the disparity prediction for generating a prediction image of the second color image C # 2 is obtained.
  • the block (macroblock) CX of the t-th picture that is the t-th (time t) picture from the head of the color image C # 2 of the viewpoint # 2 is the target block to be encoded (or decoded).
  • a picture having a target block of the color image C # 2, that is, a picture to be encoded is also referred to as a target picture.
  • the prediction vector (of the disparity vector) of the target block CX of the color image C # 2 is a block (hereinafter also referred to as a peripheral color block) of the target block CX (in the raster scan order). It is obtained from the disparity vector of an already encoded (decoded) block.
  • the median (median value) of the disparity vectors of the neighboring color block CA adjacent to the left of the target block CX, the neighboring color block CB adjacent to the upper side, and the neighboring color block CC adjacent to the upper right side. Is obtained as a prediction vector of the target block CX (hereinafter, also referred to as a median prediction method or a median predictor).
  • the median as the prediction vector of the target block CX is calculated independently for each of the x component and the y component.
  • the color image C # 2 includes a background and a rectangular foreground as an object existing in front of the background, and the target block CX is a block at the boundary portion of the foreground.
  • the target block CX is a block right next to the upper left block of the rectangular foreground.
  • the peripheral color block CA adjacent to the left of the target block CX is the upper left block of the rectangular foreground.
  • the peripheral color block CB adjacent on the target block CX and the peripheral color block CC adjacent diagonally upward to the right are background blocks.
  • the disparity vector is larger Different.
  • disparity vectors are substantially the same in the target block CX and the peripheral color block CA that are foreground blocks.
  • the prediction vector of the target block CX that is the foreground block for example, the surrounding color block CA that is the foreground block can be used to obtain an accurate prediction vector.
  • the median of the disparity vectors of the surrounding color blocks CA, CB, and CC is obtained as the prediction vector of the target block CX.
  • the disparity vectors of the peripheral color blocks CB and CC, which are background blocks having a large number, are employed as the prediction vectors of the target block CX, which is the foreground block.
  • the same position block DX which is a block at the same position as the target block CX, of the disparity information image D # 2, and the blocks around the same position block DX (hereinafter, referred to as “block”) SAD (Sum of Absolute Differences) with each of blocks DA, DB, and DC adjacent to the left, top, and diagonally right of the peripheral disparity block) is obtained.
  • the peripheral parallax block (hereinafter, referred to as the SAD with the same position block DX) of the peripheral parallax blocks (peripheral depth blocks) DA, DB, and DC of the parallax information image D # 2 is the minimum.
  • SAD minimum disparity block is detected, and the disparity vector of the peripheral color block at the same position as the SAD minimum disparity block among the peripheral color blocks CA to CC of the color image C # 2 is used as the prediction vector of the target block CX Adopted.
  • the SAD of the same position block DX and the peripheral parallax block has no (less) parallax, for example, when the same position block DX and the peripheral parallax block are blocks of the same object, for example. ) Smaller when the subject is a block.
  • the same position block DX and the peripheral parallax block DA are foreground blocks
  • the peripheral parallax block DB and DC are background blocks. Accordingly, among the peripheral parallax blocks DA to DC, the peripheral parallax block DA which is the foreground block similar to the same position block DX is the SAD minimum parallax block having the smallest SAD with the same position block DX.
  • the disparity vector of the peripheral color block DA at the same position as the SAD minimum disparity block DA among the peripheral color blocks CA to CC of the color image C # 2 is used as the prediction vector of the target block CX. Adopted and accurate prediction vector can be obtained.
  • the disparity information image D # 2 is used, and the peripheral color block in which the same object as the target block CX is captured among the peripheral color blocks CA to CC of the color image C # 2 CA is detected (determined), and the disparity vector of the surrounding color block CA is adopted as the prediction vector of the target block CX.
  • the SAD minimum prediction method may have the same prediction accuracy (performance) as the median prediction method, and the prediction accuracy may be worse than the median prediction method.
  • FIG. 2 illustrates a case where the SAD minimum prediction method (SAD minimum predictor) has the same prediction accuracy as the median prediction method and a case where the prediction accuracy is worse than that of the median prediction method (median predictor).
  • SAD minimum predictor SAD minimum predictor
  • FIG. 2A is a diagram for explaining a case where the SAD minimum prediction method has the same prediction accuracy as the median prediction method.
  • the color image C # 2 includes a background and a rectangular foreground as an object existing in front of the background.
  • the target block CX is the upper left block of the rectangular foreground.
  • the surrounding color block CA adjacent to the left of the target block CX, the surrounding color block CB adjacent to the upper side, and the surrounding color block CC adjacent to the upper right are all background blocks.
  • the disparity vectors of the target block CX are the values of the surrounding color blocks CA to CC. It is greatly different from any of these disparity vectors (low correlation).
  • the peripheral color block at the same position as the SAD minimum disparity block of the disparity information image D # 2 Even in the SAD minimum prediction method in which the disparity vector is obtained as the prediction vector of the target block CX, the prediction accuracy of the prediction vector is deteriorated.
  • FIG. 2B is a diagram illustrating a case where the SAD minimum prediction method has a worse prediction accuracy than the median prediction method.
  • the color image C # 2 includes a background and a rectangular foreground as an object existing in front of the background in the color image C # 2.
  • the target block CX is a block immediately adjacent to the upper left block of the rectangular foreground.
  • the peripheral color block CA adjacent to the left of the target block CX is the upper left block of the rectangular foreground, the peripheral color block CB adjacent to the target block CX, and the periphery adjacent to the upper right diagonally
  • the color block CC is a background block.
  • the peripheral color block CA adjacent to the left of the target block CX is the upper left block of the rectangular foreground (a block that touches or includes the boundary of the foreground).
  • the prediction vectors of the target block CX and the surrounding color block CA, both of which are foreground blocks may be greatly different vectors (vectors without correlation (low)).
  • the viewpoint # 2 of the color image C # 2 is different from, for example, the color image C # 1 (picture) of the viewpoint # 1 as a reference picture.
  • ME Motion Estimation
  • a shift vector which is a vector representing a position shift (hereinafter also referred to as a corresponding block), is detected as a disparity vector.
  • a part of the (foreground) portion that appears in the block of the color image C # 2 may not be reflected in the color image C # 1, and in this case, the part appears in the block of the color image C # 2.
  • a block of color image C # 1 in which a portion different from the portion that is present becomes a corresponding block, and a vector that is significantly different from the parallax may be detected as a parallax vector.
  • a disparity vector that is significantly different from the disparity of the foreground is detected for the peripheral color block CA at the boundary of the foreground due to the influence of occlusion.
  • the disparity vector of the surrounding color block CA is adopted as the prediction vector of the target block CX, but the disparity vector of the surrounding color block CA is affected by the occlusion.
  • the prediction vector obtained by the median prediction method may have better prediction accuracy.
  • the target block CX is a block at the upper left boundary portion of the foreground, for example, when the target block CX is a block at the upper right boundary portion of the foreground.
  • a vector prediction method for generating a prediction vector a disparity information use prediction method for generating a prediction vector of a target block from a disparity information image is adopted.
  • the disparity information use prediction method since the prediction vector of the target block is generated from the disparity information image (depth image), a prediction vector with high prediction accuracy can be obtained on average. .
  • disparity information utilization prediction method in addition to the disparity information utilization prediction method, other vector prediction methods such as the MVC method (median prediction method) are also adopted, and a plurality of vector prediction methods including the disparity information utilization prediction method are applied.
  • prediction vectors that is, a prediction vector estimated to have high prediction accuracy, among prediction vectors generated by each of the disparity information use prediction method and other vector prediction methods, is used for processing of the target block. A method employed as a prediction vector will be described.
  • FIG. 3 is a diagram for explaining the outline of the present technology.
  • the color image C # 2 includes a background and a rectangular foreground as an object existing on the near side of the background, and the target block of the color image C # 2 CX is the upper left block of the rectangular foreground.
  • the surrounding color block CA adjacent to the left of the target block CX, the surrounding color block CB adjacent to the upper side, and the surrounding color block CC adjacent to the upper right are all background blocks.
  • the median prediction method (median Even if it is a predictor) or a SAD minimum prediction method (SAD minimum predictor)
  • the prediction accuracy of a prediction vector may deteriorate.
  • the same position block DX which is a block at the same position as the target block, of the disparity information image D # 2, and the left, upper, and right diagonals of the blocks around the same position block DX
  • the SAD corresponding to the difference between the neighboring parallax blocks DA, DB, and DC adjacent to each other is obtained.
  • a prediction vector generated by a disparity information utilization prediction method (disparity information utilization predictor) based on the SAD of each of the peripheral disparity blocks DA to DC and the same position block DX of the disparity information image D # 2
  • a prediction vector estimated to have high prediction accuracy among prediction vectors generated by a median prediction method (median predictor) is used for processing of the target block CX. Generated as a prediction vector.
  • the SAD with the same position block DX is greater than or equal to a predetermined threshold (or a predetermined threshold). The number of peripheral parallax blocks (greater than) is determined.
  • the peripheral color block of the color image C # 2 at the same position as the peripheral parallax block and the target block CX (the color at the same position as the same position block DX) It is possible to determine (estimate) whether or not the same object appears in the block of image C # 2.
  • an object different from the target block CX is included in the peripheral color block of the color image C # 2 at the same position as the peripheral parallax block whose SAD with the same position block DX is equal to or greater than a predetermined threshold. Presumed to be reflected.
  • the prediction accuracy of the prediction vector generated by the median prediction method is generated by the median prediction method.
  • the prediction vector generated by the parallax information utilization prediction method is It is estimated that the prediction accuracy is higher than the prediction vector generated by the median prediction method, and the prediction vector of the target block CX is generated by the disparity information utilization prediction method.
  • a prediction vector of the target block of the color image C # 2 is generated from the disparity information image D # 2.
  • prediction is performed by performing a predetermined calculation using disparity information that is a pixel value of a block (same position block) DX at the same position as the target block of the disparity information image D # 2.
  • a vector is generated.
  • FIG. 4 is a block diagram illustrating a configuration example of an embodiment of a multi-view image encoder to which the present technology is applied.
  • the multi-viewpoint image encoder in FIG. 4 is an encoder that encodes images of a plurality of viewpoints using, for example, the MVC method, and description of processing similar to the MVC method will be omitted as appropriate.
  • multi-viewpoint image encoder is not limited to an encoder that uses the MVC method.
  • color image C # 1 of viewpoint # 1 which is a color image of two views
  • color image C # 2 of viewpoint # 2 and parallax between the two views It is assumed that the parallax information image D # 1 of the viewpoint # 1 and the parallax information image D # 2 of the viewpoint # 2 that are information images are employed.
  • the color image C # 1 of the viewpoint # 1 and the parallax information image D # 1 are set as base view images, and the color image C # 2 and the parallax information image D # 2 of the remaining viewpoint # 2 are used. Are treated as dependent view images.
  • a color image of three or more viewpoints and a parallax information image can be adopted, and among the color images of the three or more viewpoints and the parallax information image, Any one viewpoint color image and disparity information image can be used as a base view image, and the remaining viewpoint color images and disparity information images can be handled as dependent view images.
  • the multi-viewpoint image encoder includes encoders 11, 12, 21, 22, DPB 31, and a multiplexing unit 32.
  • Encoder 11 is supplied with color image C # 1 of viewpoint # 1 and parallax related information (depth related information).
  • the parallax related information is metadata of the parallax information (depth information), and details thereof will be described later.
  • the encoder 11 encodes the color image C # 1 of the viewpoint # 1 using the disparity related information as necessary, and multiplexes the encoded data of the color image C # 1 of the viewpoint # 1 obtained as a result To the unit 32.
  • the encoder 12 is supplied with the color image C # 2 of viewpoint # 2 and parallax related information.
  • the encoder 12 encodes the color image C # 2 of the viewpoint # 2 using the disparity related information as necessary, and multiplexes the encoded data of the color image C # 2 of the viewpoint # 2 obtained as a result To the unit 32.
  • the encoder 21 is supplied with the parallax information image D # 1 of the viewpoint # 1 and the parallax related information.
  • the encoder 21 encodes the parallax information image D # 1 of the viewpoint # 1 as necessary using the parallax related information, and the encoded data of the parallax information image D # 1 of the viewpoint # 1 obtained as a result is The data is supplied to the multiplexing unit 32.
  • the encoder 22 is supplied with the parallax information image D # 2 of the viewpoint # 2 and the parallax related information.
  • the encoder 22 encodes the disparity information image D # 2 of the viewpoint # 2 using the disparity related information as necessary, and the encoded data of the disparity information image D # 2 of the viewpoint # 2 obtained as a result is The data is supplied to the multiplexing unit 32.
  • the DPB 31 refers to an image (decoded image) after local decoding obtained by encoding and locally decoding an image to be encoded at each of the encoders 11, 12, 21, and 22 when generating a predicted image. Temporarily store as a reference picture (candidate).
  • the encoders 11, 12, 21, and 22 perform predictive encoding on the encoding target image. Therefore, the encoders 11, 12, 21, and 22 generate a predicted image to be used for predictive encoding, encode an encoding target image, perform local decoding, and obtain a decoded image.
  • the DPB 31 is a shared buffer that temporarily stores decoded images obtained by the encoders 11, 12, 21, and 22.
  • the encoders 11, 12, 21, and 22 are each decoded by the DPB 31.
  • a reference picture to be referred to for encoding an image to be encoded is selected from the images.
  • Each of the encoders 11, 12, 21, and 22 generates a prediction image using the reference picture, and performs image encoding (prediction encoding) using the prediction image.
  • each of the encoders 11, 12, 21, and 22 is decoded by other encoders in addition to the decoded image obtained by itself. Images can also be referenced.
  • the multiplexing unit 32 multiplexes the encoded data from each of the encoders 11, 12, 21, and 22, and outputs the multiplexed data obtained as a result.
  • the multiplexed data output from the multiplexing unit 32 is recorded on a recording medium (not shown) or transmitted via a transmission medium (not shown).
  • FIG. 5 is a block diagram illustrating a configuration example of a multi-view image generation apparatus that generates images of a plurality of viewpoints to be encoded in the multi-view image encoder of FIG.
  • two cameras 41 and 42 are installed at positions where two viewpoints can be photographed in order to photograph images of two viewpoints as a plurality of viewpoints. Yes.
  • the cameras 41 and 42 are arranged at different positions on a straight line on a horizontal plane with the optical axis directed in a direction perpendicular to the straight line. I will do it.
  • the camera 41 shoots a subject at a position where the camera 41 is arranged, and outputs a color image C # 1 that is a moving image.
  • the camera 41 outputs a disparity vector d1 representing the disparity with respect to the reference viewpoint for each pixel of the color image C # 1, with the position of the camera 42, which is any other arbitrary camera, as the reference viewpoint.
  • the camera 42 shoots a subject at a position where the camera 42 is arranged, and outputs a color image C # 2 that is a moving image.
  • the camera 42 outputs a disparity vector d2 representing the disparity with respect to the reference viewpoint for each pixel of the color image C # 2, using the position of the camera 41, which is another arbitrary camera, as the reference viewpoint.
  • the disparity vectors d1 and d2 are vectors whose values are corresponding to the positional relationship of the cameras 41 and 42 in the horizontal direction, etc., with the y component being 0.
  • parallax vectors (parallax) d1 and d2 output from the cameras 41 and 42 from the parallax vectors representing the parallax obtained by the ME using the color images C # 1 and C # 2, hereinafter, the shooting parallax is described. Also referred to as vectors d1 and d2.
  • the color image C # 1 and the shooting parallax vector d1 output from the camera 41 and the color image C # 2 and the shooting parallax vector d2 output from the camera 42 are supplied to the multi-viewpoint image information generation unit 43. .
  • the multi-viewpoint image information generation unit 43 outputs the color image C # 1 from the cameras 41 and 42 as it is.
  • the multi-viewpoint image information generation unit 43 obtains parallax information regarding the parallax for each pixel of the color image # 1 from the shooting parallax vector d1 from the camera 41, and the parallax information image D # having the parallax information as a pixel value Generate 1 and output.
  • the multi-viewpoint image information generation unit 43 obtains parallax information regarding the parallax for each pixel of the color image # 2 from the shooting parallax vector d2 from the camera 42, and the parallax information image D # having the parallax information as a pixel value Generate 2 and output.
  • parallax information for example, a parallax value (value I) that is a value corresponding to a shooting parallax vector, or a value after normalization of a depth Z that represents a distance (depth) to a subject There is y.
  • the pixel value of the parallax information image takes an integer value of 0 to 255 represented by 8 bits, for example.
  • the shooting parallax vector (x component thereof) is represented by d, and the maximum value and the minimum value of the shooting parallax vector (x component thereof) (for example, in a picture or a moving image as one content), Let dmax and dmin.
  • the parallax value ⁇ (value I) is obtained by using, for example, the shooting parallax vector (x component thereof) d, its maximum value dmax (D max ), and its minimum value dmin (D min ), For example, it is obtained according to equation (1).
  • parallax value ⁇ of the equation (1) can be converted into a shooting parallax vector (its x component) d according to the equation (2).
  • the depth Z represents the distance from the straight line where the cameras 41 and 42 are arranged to the subject.
  • the base line length which is the distance (distance from the reference viewpoint) between the camera 41 and the camera 42 arranged in a straight line, is L, and the focal length of the camera 41 is f.
  • the depth Z can be obtained according to the equation (3) using the imaging parallax vector (x component thereof) d (d1).
  • the disparity value ⁇ and the depth Z, which are disparity information, are equivalent information because they can be converted into each other according to the equations (1) to (3).
  • a parallax information image (depth image) having a parallax value ⁇ as a pixel value is also referred to as a parallax image
  • an image having a value y after normalization of the depth Z as a pixel value is also referred to as a depth image.
  • a parallax image of parallax images and depth images is used as the parallax information image.
  • a depth image can also be used as the parallax information image.
  • the multi-viewpoint image information generation unit 43 outputs parallax related information in addition to the color images # 1 and # 2 and the parallax images D # 1 and # 2.
  • the multi-viewpoint image information generation unit 43 is supplied with the base length L and the focal length f, which are distances between the cameras 41 and 42 (distances between the cameras 41 and 42 and the reference viewpoint) from the outside. Is done.
  • the multi-viewpoint image information generation unit 43 sets the maximum value dmax and the minimum value dmin of the shooting parallax vector (x component thereof) d for each of the shooting parallax vector d1 from the camera 41 and the shooting parallax vector d2 from the camera 41. To detect.
  • the multi-viewpoint image information generation unit 43 outputs the maximum value dmax and the minimum value dmin of the shooting parallax vector d, the baseline length L, and the focal length f as parallax related information.
  • the color images C # 1 and C # 2, the parallax images D # 1 and D # 2, and the parallax related information output from the multiview image information generation unit 43 are supplied to the multiview image encoder in FIG.
  • the cameras 41 and 42 are arranged on a straight line on the same plane orthogonal to the color image plane, and the shooting parallax vector d (d1 and d2) has a y component of 0.
  • the cameras 41 and 42 can be arranged on different planes orthogonal to the color image plane.
  • the shooting parallax vector d is a vector that can be a value other than 0 for both the x component and the y component.
  • FIG. 6 is a diagram for explaining pictures to be referred to when a predicted image is generated in MVC predictive coding.
  • the picture of the viewpoint # 1 image which is the base view image, is expressed as (display) time order as p11, p12, p13,...
  • the viewpoint # 2 image which is the dependent view image, is displayed.
  • the pictures are expressed as p21, p22, p23,.
  • the base view picture for example, the picture p12 is predictively encoded by referring to the base view picture, for example, the pictures p11 and p13 as necessary.
  • prediction generation of a predicted image
  • prediction can be performed with reference to only the pictures p11 and p13 which are pictures at other times of the base view.
  • the dependent view picture for example, the picture p22 requires the dependent view picture, for example, the pictures p21 and p23, and further the base view picture p12, which is another view, is required.
  • the prediction encoding is performed with reference to.
  • the dependent-view picture p22 performs prediction by referring to the pictures p21 and p23 that are pictures at other times of the dependent view and the base-view picture p12 that is a picture of another view. be able to.
  • prediction performed with reference to a picture (at another time) in the same view as the picture to be encoded is also referred to as temporal prediction, and is performed with reference to a picture in a view different from the picture to be encoded. Prediction is also called parallax prediction.
  • temporal prediction and disparity prediction can be performed for a dependent view picture.
  • a picture of a view different from the encoding target picture that is referred to in the disparity prediction must be a picture at the same time as the encoding target picture.
  • the encoders 11, 12, 21, and 22 constituting the multi-viewpoint image encoder of FIG. 4 perform prediction (prediction image generation) according to the MVC method.
  • FIG. 7 is a diagram for explaining the encoding (and decoding) order of pictures in the MVC system.
  • the picture of the viewpoint # 1 image that is the base view image is represented as p11, p12, p13,... In the (display) time order, and the viewpoint # that is the dependent view image.
  • the pictures of the second image are represented as p21, p22, p23,.
  • the base view picture and the dependent view picture are encoded in the same order.
  • FIG. 8 is a block diagram showing a configuration example of the encoder 11 of FIG.
  • encoders 21 and 22 in FIG. 4 are also configured in the same manner as the encoder 11 and encode an image in accordance with, for example, the MVC method.
  • an encoder 11 includes an A / D (Analog / Digital) conversion unit 111, a screen rearrangement buffer 112, a calculation unit 113, an orthogonal transformation unit 114, a quantization unit 115, a variable length encoding unit 116, and a storage buffer 117. , An inverse quantization unit 118, an inverse orthogonal transform unit 119, a calculation unit 120, a deblocking filter 121, an intra prediction unit 122, an inter prediction unit 123, and a predicted image selection unit 124.
  • a / D Analog / Digital
  • the A / D converter 111 When the picture supplied to the A / D converter 111 is an analog signal, the A / D converter 111 performs A / D conversion on the analog signal and supplies it to the screen rearrangement buffer 112.
  • the screen rearrangement buffer 112 temporarily stores the pictures from the A / D conversion unit 111, and reads out the pictures according to a predetermined GOP (Group of Pictures) structure, thereby arranging the picture arrangement in the display order. From this, the rearrangement is performed in the order of encoding (decoding order).
  • GOP Group of Pictures
  • the picture read from the screen rearrangement buffer 112 is supplied to the calculation unit 113, the intra prediction unit 122, and the inter prediction unit 123.
  • the calculation unit 113 is supplied with a picture from the screen rearrangement buffer 112 and a prediction image generated by the intra prediction unit 122 or the inter prediction unit 123 from the prediction image selection unit 124.
  • the calculation unit 113 sets the picture read from the screen rearrangement buffer 112 as a target picture to be encoded, and sequentially sets macroblocks constituting the target picture as a target block to be encoded.
  • the calculation unit 113 calculates a subtraction value obtained by subtracting the pixel value of the prediction image supplied from the prediction image selection unit 124 from the pixel value of the target block as necessary, and supplies the calculated value to the orthogonal transformation unit 114.
  • the orthogonal transform unit 114 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the target block (the pixel value or the residual obtained by subtracting the predicted image) from the computation unit 113, and The transform coefficient obtained as a result is supplied to the quantization unit 115.
  • the quantization unit 115 quantizes the transform coefficient supplied from the orthogonal transform unit 114, and supplies the quantized value obtained as a result to the variable length coding unit 116.
  • variable length coding unit 116 performs variable length coding (for example, CAVLC (Context-Adaptive Variable Length Coding)) or arithmetic coding (for example, CABAC (Context) on the quantized value from the quantization unit 115. -Adaptive Binary Arithmetic Coding), etc.) and the like, and the encoded data obtained as a result is supplied to the accumulation buffer 117.
  • variable length coding for example, CAVLC (Context-Adaptive Variable Length Coding)
  • CABAC Context
  • CABAC Context
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • variable length coding unit 116 is also supplied with header information included in the header of the encoded data from the intra prediction unit 122 and the inter prediction unit 123. .
  • variable length encoding unit 116 encodes the header information from the intra prediction unit 122 or the inter prediction unit 123 and includes it in the header of the encoded data.
  • the accumulation buffer 117 temporarily stores the encoded data from the variable length encoding unit 116 and outputs it at a predetermined data rate.
  • the encoded data output from the accumulation buffer 117 is supplied to the multiplexing unit 32 (FIG. 4).
  • the quantization value obtained by the quantization unit 115 is supplied to the variable length coding unit 116 and also to the inverse quantization unit 118, and the inverse quantization unit 118, the inverse orthogonal transform unit 119, and the calculation In unit 120, local decoding is performed.
  • the inverse quantization unit 118 inversely quantizes the quantized value from the quantization unit 115 into a transform coefficient and supplies the transform coefficient to the inverse orthogonal transform unit 119.
  • the inverse orthogonal transform unit 119 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 118 and supplies it to the arithmetic unit 120.
  • the calculation unit 120 decodes the target block by adding the pixel value of the predicted image supplied from the predicted image selection unit 124 to the data supplied from the inverse orthogonal transform unit 119 as necessary. A decoded image is obtained and supplied to the deblocking filter 121.
  • the deblocking filter 121 removes (reduces) block distortion generated in the decoded image by filtering the decoded image from the arithmetic unit 120, and supplies it to the DPB 31 (FIG. 4).
  • the DPB 31 predictively encodes the decoded image from the deblocking filter 121, that is, the picture of the color image C # 1 encoded by the encoder 11 and locally decoded (timer 113).
  • the reference picture is stored as a reference picture (candidate) to be referred to when generating a predicted picture to be used for encoding).
  • the DPB 31 is shared by the encoders 11, 12, 21, and 22. Therefore, in addition to the picture of the color image C # 1 encoded and locally decoded by the encoder 11, the encoder 12 The picture of the color image C # 2 that has been encoded and locally decoded in FIG. 5, the picture of the disparity image D # 1 that has been encoded and locally decoded by the encoder 21, and the disparity that has been encoded by the encoder 22 and locally decoded The picture of image D # 2 is also stored.
  • the DPB 31 stores decoded images of an I picture, a P picture, and a Bs picture.
  • the in-screen prediction unit 122 reads from the DPB 31 the target picture. A portion (decoded image) that has already been locally decoded is read. Then, the intra-screen prediction unit 122 sets a part of the decoded image of the target picture read from the DPB 31 as the predicted image of the target block of the target picture supplied from the screen rearrangement buffer 112.
  • the intra-screen prediction unit 122 calculates the encoding cost required to encode the target block using the predicted image, that is, the encoding cost required to encode the residual of the target block with respect to the predicted image. Obtained and supplied to the predicted image selection unit 124 together with the predicted image.
  • the inter prediction unit 123 encodes from the DPB 31 one or more encoded and locally decoded before the target picture Are read as reference pictures.
  • the inter prediction unit 123 uses the target block of the target picture from the screen rearrangement buffer 112 and the ME using the reference picture, and the corresponding block of the target block and the reference picture corresponding to the target block (for example, the target block) A shift vector representing a shift (parallax, motion) from a block (a block that minimizes SAD) is detected.
  • the shift vector detected by the ME using the target block and the reference picture is a motion (time) between the target block and the reference picture.
  • a motion vector representing a general deviation is a motion vector representing a general deviation
  • the shift vector detected by the ME using the target block and the reference picture is a disparity (spatial) between the target block and the reference picture. This is a disparity vector representing a deviation.
  • the disparity vector obtained by the ME is also referred to as a calculated disparity vector in order to distinguish it from the shooting disparity vector described with reference to FIG.
  • the shooting disparity vector is a vector whose y component is 0.
  • the calculated disparity vector detected by the ME is the target block and the target picture of the reference picture. Since the shift (positional relationship) with the block (corresponding block) that minimizes the SAD or the like with respect to the block is represented, the y component is not always 0.
  • the inter prediction unit 123 performs shift compensation (motion compensation that compensates for a shift for motion, or parallax compensation that compensates for a shift for parallax, which is MC (Motion Compensation) of a reference picture from the DPB 31 according to the shift vector of the target block. ) To generate a predicted image.
  • shift compensation motion compensation that compensates for a shift for motion, or parallax compensation that compensates for a shift for parallax, which is MC (Motion Compensation) of a reference picture from the DPB 31 according to the shift vector of the target block.
  • the inter prediction unit 123 acquires, as a predicted image, a corresponding block that is a block (region) at a position shifted (shifted) from the position of the target block of the reference picture according to the shift vector of the target block.
  • the inter prediction unit 123 obtains an encoding cost required for encoding the target block using a prediction image for each inter prediction mode having different macroblock types and the like to be described later.
  • the inter prediction unit 123 sets the inter prediction mode with the minimum encoding cost as the optimal inter prediction mode that is the optimal inter prediction mode, and the prediction image and the encoding cost obtained in the optimal inter prediction mode.
  • the predicted image selection unit 124 is supplied.
  • generating a predicted image based on a shift vector is also referred to as shift prediction (disparity prediction, motion prediction) or shift compensation (parallax compensation, motion compensation).
  • shift prediction includes detection of a shift vector as necessary.
  • the predicted image selection unit 124 selects a predicted image having a lower encoding cost from the predicted images from the intra-screen prediction unit 122 and the inter prediction unit 123, and supplies the selected one to the calculation units 113 and 120.
  • the intra prediction unit 122 supplies information related to intra prediction as header information to the variable length encoding unit 116, and the inter prediction unit 123 assigns information related to inter prediction (shift vector information and reference pictures).
  • the reference index or the like) is supplied to the variable length encoding unit 116 as header information.
  • variable length encoding unit 116 selects header information from the one in which the prediction image with the lower encoding cost is generated among the header information from the intra prediction unit 122 and the inter prediction unit 123, and Included in the header of the data.
  • FIG. 9 is a diagram for explaining a macroblock type of the MVC (AVC) system.
  • a macroblock to be a target block is a block having horizontal ⁇ vertical 16 ⁇ 16 pixels, but ME (and prediction image generation) is performed for each partition by dividing the macroblock into partitions. be able to.
  • the macroblock is divided into any partition of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, or 8 ⁇ 8 pixels, and ME is performed for each partition.
  • a grazing vector motion vector or calculated disparity vector
  • an 8 ⁇ 8 pixel partition is further divided into any one of 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, or 4 ⁇ 4 pixel subpartitions.
  • ME can be performed to detect a grazing vector (motion vector or calculated disparity vector).
  • the macro block type represents what partition (and sub-partition) the macro block is divided into.
  • the encoding cost of each macroblock type is calculated as the encoding cost of each inter prediction mode, and the inter prediction mode (macroblock type) with the minimum encoding cost is selected. Is selected as the optimal inter prediction mode.
  • FIG. 10 is a diagram for explaining a prediction vector (PMV) of the MVC (AVC) method.
  • a shift vector motion vector or calculated disparity vector
  • a predicted image is generated using the shift vector.
  • the shift vector Since the shift vector is necessary for decoding the image on the decoding side, it is necessary to encode the shift vector information and include it in the encoded data. However, if the shift vector is encoded as it is, The amount of code increases and the coding efficiency may deteriorate.
  • the macro block is divided into 8 ⁇ 8 pixel partitions, and each of the 8 ⁇ 8 pixel partitions is further divided into 4 ⁇ 4 pixel sub-partitions.
  • vector prediction for predicting a shift vector is performed, and a residual (residual vector) of the shift vector is encoded with respect to a prediction vector obtained by the vector prediction.
  • a prediction vector PMVX is generated by the median prediction method.
  • the prediction vector PMVX is shifted to the left of the target block X by the deviation vector mvA of the macroblock A, the deviation vector mvB of the macroblock B adjacent to the upper side, and the diagonally upper right. It is calculated from the deviation vector mvC of the adjacent macroblock C according to the equation (4).
  • med () represents the median (median) of the values in parentheses.
  • a prediction vector PMVX is calculated using a deviation vector of a macroblock adjacent on the upper left.
  • the calculation of the prediction vector PMVX according to the equation (4) is performed independently for each of the x component and the y component.
  • the median prediction method That is, the median of the shift vector of the partition X1 adjacent to the left of the partition X2, the shift vector of the macroblock B adjacent to the upper side, and the shift vector of the macroblock C adjacent to the upper right is calculated as the prediction vector. Is done.
  • prediction vectors are calculated as specified in the MVC (AVC) method.
  • the left partition XL is adjacent to the left of the left partition XL.
  • the deviation vector of the macroblock A to be used is directly used as the prediction vector.
  • the deviation vector of the macroblock C adjacent to the upper right of the right partition XL is used as the prediction vector as it is.
  • the lower partition XD is adjacent to the left of the lower partition XD
  • the deviation vector of the macroblock A to be used is directly used as the prediction vector.
  • the shift vector of the macroblock B adjacent on the upper partition XU is used as the prediction vector as it is.
  • a residual vector mvX ⁇ PMV that is a difference between the shift vector mvX of the target block X and the prediction vector PMVX is included in the header information.
  • FIG. 11 is a diagram for explaining the relationship between a prediction vector generated by the MVC (AVC) method and a reference index.
  • the prediction vector generated by the MVC method differs depending on a reference index (hereinafter also referred to as a prediction reference index) assigned to a reference picture used for generating a prediction image of a macroblock around the target block.
  • a reference index hereinafter also referred to as a prediction reference index assigned to a reference picture used for generating a prediction image of a macroblock around the target block.
  • a plurality of pictures when generating a predicted image, a plurality of pictures can be used as reference pictures.
  • the reference picture is stored in a buffer called DPB after decoding (local decoding).
  • DPB Downlink Prediction Picture
  • short-term reference pictures used (for short-term reference)
  • long-time reference pictures used for long-term reference
  • Pictures that are not marked are marked as unreferenced pictures (unusedunfor reference), respectively.
  • the DPB is managed by the FIFO (First In First Out) method, and the pictures stored in the DPB are released in order from the picture with the smallest frame_num (becomes non-reference pictures).
  • FIFO First In First Out
  • the I (Intra) picture, the P (Predictive) picture, and the Bs picture that is a reference B (Bi-directional Predictive) picture are stored in the DPB as a short-time reference picture.
  • the moving window memory management method does not affect the long-term reference picture stored in the DPB. That is, in the moving window memory management method, only the short-time reference pictures are managed by the FIFO method among the reference pictures.
  • pictures stored in the DPB are managed using a command called MMCO (Memory management control operation).
  • MMCO Memory management control operation
  • a short-time reference picture is set as a non-reference picture, or a reference index for managing a long-time reference picture for a short-time reference picture.
  • Assign a long-term frame index to set a short-term reference picture as a long-term reference picture, set a maximum long-term frame index, and set all reference pictures as non-reference pictures Etc. can be performed.
  • inter prediction for generating a predicted image is performed by performing motion compensation (displacement compensation) of a reference picture stored in the DPB.
  • motion compensation displacement compensation
  • inter prediction of a B picture including a Bs picture
  • two reference pictures can be used.
  • the inter prediction using the two reference pictures is referred to as L0 (List) 0) prediction and L1 (List 1) prediction, respectively.
  • L0 prediction, L1 prediction, or both L0 prediction and L1 prediction are used as inter prediction.
  • L0 prediction is used as inter prediction.
  • a reference picture that is referred to when generating a predicted image is managed by a reference list (Reference Picture List).
  • a reference index which is an index for designating a reference picture (possible reference picture) to be referred to when generating a predicted image, is assigned to a reference picture (possible picture) stored in the DPB. It is done.
  • the reference index is assigned only for the L0 prediction.
  • both the L0 prediction and the L1 prediction may be used as the inter prediction for the B picture. Is assigned to both the L0 prediction and the L1 prediction.
  • the reference index for L0 prediction is also referred to as L0 index
  • the reference index for L1 prediction is also referred to as L1 index.
  • a reference index (L0 index) having a smaller value is assigned to the reference picture stored in the DPB as the reference picture is later in decoding order. It is done.
  • the reference index is an integer value of 0 or more, and the minimum value is 0. Therefore, when the target picture is a P picture, 0 is assigned to the reference picture decoded immediately before the target picture as the L0 index.
  • the AVC defaults to the reference picture stored in the DPB in the POC (Picture Order Count) order, that is, in the display order, the reference index (L0 index, And L1 index).
  • POC Picture Order Count
  • an L0 index having a smaller value is assigned to a reference picture that is temporally previous to the target picture in the display order, and the reference picture that is closer to the target picture is allocated.
  • an L0 index having a smaller value is assigned to a reference picture that is closer to the target picture.
  • an L1 index with a smaller value is assigned to a reference picture that is temporally later than the target picture in display order, and the reference picture that is closer to the target picture is allocated.
  • An L1 index having a smaller value is assigned to a reference picture that is closer to the current picture than a reference picture that is temporally previous.
  • the default reference indexes (L0 index and L1 index) in the above AVC method are assigned to short-time reference pictures.
  • the assignment of the reference index to the long-time reference picture is performed after the reference index is assigned to the short-time reference picture.
  • a reference index having a larger value than that of the short-time reference picture is assigned to the long-time reference picture.
  • the reference index can be assigned by using the default method as described above, or by using a command called Reference Picture List Reordering (hereinafter also referred to as RPLR command). it can.
  • RPLR command Reference Picture List Reordering
  • the reference index is assigned to the reference picture by a default method.
  • the prediction vector PMVX of the shift vector mvX of the target block X is, as shown in FIG. 11, the macroblock A adjacent to the left of the target block X, the macroblock B adjacent to the top, and the right Obtained in a different manner depending on the reference index for prediction of each macroblock C diagonally adjacent to the upper side (the reference index assigned to the reference picture used for generating the predicted images of macroblocks A, B, and C). It is done.
  • the reference index ref_idx for prediction of the target block X is 0, for example.
  • the shift vector of the one macroblock (the macroblock for which the prediction reference index ref_idx is 0) is set as the prediction vector PMVX of the shift vector mvX of the target block X.
  • the macroblock B among the three macroblocks A to C adjacent to the target block X is a macroblock whose reference index ref_idx for prediction is 0.
  • the shift vector mvB of the macroblock A is set as the prediction vector PMVX of the target block X (shift vector mvX).
  • the median of the shift vector of two or more macroblocks for which the reference index ref_idx for prediction is 0 is set as the prediction vector PMVX of the target block X (in the median prediction method, the prediction vector PMVX Is required).
  • the 0 vector is set as the prediction vector PMVX of the target block X.
  • the target block X when the reference index ref_idx for prediction of the target block X is 0, the target block X can be encoded as a skip macroblock (skip mode).
  • the prediction vector is used as it is as the shift vector of the skip macroblock, and a copy of the block (corresponding block) at a position shifted by the shift vector (prediction vector) from the position of the skip macroblock in the reference picture is obtained. , The decoding result of the skip macroblock.
  • the target block is a skip macroblock depends on the specifications of the encoder, but is determined (determined) based on, for example, the amount of encoded data, the encoding cost of the target block, and the like.
  • FIG. 12 is a block diagram illustrating a configuration example of the encoder 12 of FIG.
  • the encoder 12 performs encoding of the color image C # 2 of the viewpoint (view) # 2, which is an image to be encoded, using the MVC method, and generates a prediction vector (vector prediction) at that time. This is performed as described in FIG.
  • an encoder 12 includes an A / D conversion unit 211, a screen rearranging buffer 212, a calculation unit 213, an orthogonal transformation unit 214, a quantization unit 215, a variable length coding unit 216, an accumulation buffer 217, and an inverse quantization unit. 218, an inverse orthogonal transform unit 219, a calculation unit 220, a deblocking filter 221, an intra-screen prediction unit 222, a predicted image selection unit 224, an MB index calculation unit 231, and a parallax prediction unit 232.
  • the A / D conversion unit 211 to the in-screen prediction unit 222 and the predicted image selection unit 224 are the A / D conversion unit 111 to the in-screen prediction unit 122 and the predicted image selection unit 124 of the encoder 11 in FIG. Since each of them is configured similarly, the description thereof will be omitted as appropriate.
  • the DPB 31 is supplied with a decoded image, that is, a C # 2 picture encoded by the encoder 12 and locally decoded (hereinafter also referred to as a decoded color image) from the deblocking filter 221. It is stored as a reference picture (a possible picture).
  • the DPB 31 includes a picture of a color image (decoded color image) C # 1 encoded by the encoder 11 and locally decoded, and is encoded by the encoder 21 and decoded locally.
  • the parallax image (decoded parallax image) D # 1 and the picture of the parallax image (decoded parallax image) D # 2 encoded by the encoder 22 and locally decoded are also supplied and stored.
  • the picture of the decoded color image C # 1 obtained by the encoder 11 and the decoded parallax image D # 2 obtained by the encoder 22 are This is used for encoding the color image C # 2 to be encoded.
  • an arrow indicating that the decoded color image C # 1 obtained by the encoder 11 and the decoded parallax image D # 2 obtained by the encoder 22 are supplied to the DPB 31 is illustrated.
  • the MB index calculation unit 231 obtains (calculates) an MB index that is information for specifying the target block (position) of the color image C # 2 for which the predicted image is generated in the disparity prediction unit 232, and the disparity prediction unit 232. To supply.
  • the parallax prediction unit 232 is supplied with the maximum value dmax and the minimum value dmin of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2), the baseline length L, and the focal length f as parallax related information (FIG. 4).
  • the disparity prediction unit 232 uses the disparity related information and the picture of the decoded disparity image D # 2 stored in the DPB 31 (a picture at the same time as the target picture) as necessary, and uses the viewpoint # 1 stored in the DPB 31. Using the picture of the decoded color image D # 1 as a reference picture, parallax prediction (generation of a predicted image) of the target block is performed.
  • the disparity prediction unit 232 obtains the calculated disparity vector of the target block by performing ME using the picture of the decoded color image C # 1 stored in the DPB 31 as a reference picture.
  • the disparity prediction unit 232 generates a predicted image of the target block by performing MC using the decoded color image C # 1 picture stored in the DPB 31 as a reference picture according to the calculated disparity vector of the target block.
  • the disparity prediction unit 232 calculates, for each macroblock type, an encoding cost required for encoding the target block (predictive encoding) using a prediction image obtained by disparity prediction from the reference picture.
  • the disparity prediction unit 232 selects the macroblock type with the lowest coding cost as the optimal inter prediction mode, and supplies the prediction image generated in the optimal inter prediction mode to the prediction image selection unit 224.
  • the disparity prediction unit 232 outputs information such as the optimal inter prediction mode to the variable length encoding unit 216 as header information.
  • a reference index is assigned to the reference picture, and the reference picture is assigned to the reference picture that is referred to when the predicted image generated in the optimal inter prediction mode is generated in the disparity prediction unit 232.
  • the reference index is selected as a reference index for prediction of the target block, and is output to the variable length coding unit 216 as one piece of header information.
  • the encoder 12 is provided with a disparity prediction unit 232 that performs only disparity prediction among inter predictions. Similar to the prediction unit 123, temporal prediction can be performed in addition to parallax prediction.
  • a reference index is assigned to a picture of C # 2 (another time picture having a different time from the target picture).
  • the encoder 12 is referred to, for example, to generate a prediction image having a smaller coding cost of the target block, among a prediction image generated by disparity prediction and a prediction image generated by temporal prediction.
  • the reference index assigned to the reference picture is selected as the reference index for prediction of the target block, and is used as one piece of header information.
  • FIG. 13 is a block diagram illustrating a configuration example of the disparity prediction unit 232 of FIG.
  • the parallax prediction unit 232 includes a parallax detection unit 241, a parallax compensation unit 242, a prediction vector generation unit 243, a cost function calculation unit 244, a mode selection unit 245, and an encoding information buffer 246.
  • the parallax detection unit 241 is supplied with the picture of the decoded color image C # 1, which is the reference picture stored in the DPB 31, and also from the screen rearrangement buffer 212, the picture of the color image C # 2 to be encoded (target Picture).
  • the parallax detection unit 241 is supplied with the MB index of the target block from the MB index calculation unit 231 and the prediction vector information from the prediction vector generation unit 243.
  • the parallax detection unit 241 recognizes the target block in the target picture from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the parallax detection unit 241 performs ME using the target block and the picture of the decoded color image C # 1, which is a reference picture, in the same manner as the MVC method, so that the target block and the decoded color image C # 1 are processed.
  • a deviation vector representing a deviation from the corresponding block that minimizes the SAD with the target block that is, a calculated disparity vector mv representing a parallax with respect to viewpoint # 1 of the target block is detected for each macroblock type. To do.
  • the block that minimizes the SAD with the target block is the corresponding block used to obtain the calculated disparity vector mv.
  • D represents the SAD of the target block and the block at the position moved by the calculated disparity vector mv from the target block of the picture of the decoded color image C # 1, and ⁇ is for R It is a weight and is set according to the quantization step of the residual of the target block (residual between the target block and the corresponding block).
  • R is a value corresponding to the code amount of the calculated disparity vector mv.
  • the disparity detection unit 241 When adopting a value corresponding to the code amount of the residual vector as the value R, the disparity detection unit 241 recognizes the prediction vector from the prediction vector information supplied from the prediction vector generation unit 243, and the prediction vector, A residual vector is obtained from the calculated parallax vector mv.
  • the parallax detection unit 241 When the parallax detection unit 241 detects the calculated parallax vector mv of the target block, the parallax detection unit 241 calculates a residual vector that is a difference between the calculated parallax vector mv and the predicted vector information supplied from the predicted vector generation unit 243. It is obtained and supplied to the parallax compensation unit 242.
  • the parallax compensation unit 242 is supplied with the residual vector of the calculated parallax vector mv from the parallax detection unit 241 and the picture of the decoded color image C # 1 that is the reference picture stored in the DPB 31.
  • the prediction vector information is supplied from the prediction vector generation unit 243 to the parallax compensation unit 242.
  • the parallax compensation unit 242 restores the calculated parallax vector mv of the target block from the residual vector from the parallax detection unit 241 and the prediction vector information from the prediction vector generation unit 243.
  • the disparity compensation unit 242 uses the decoded color image C # 1 picture from the DPB 31 as a reference picture, and performs reference picture shift compensation (disparity compensation) using the calculated disparity vector mv of the target block. By performing in the same manner as above, a predicted image of the target block is generated for each macroblock type.
  • the parallax compensation unit 242 acquires, as a predicted image, a corresponding block that is a block at a position shifted by the calculated parallax vector mv from the position of the target block in the picture of the decoded color image C # 1.
  • the parallax compensation unit 242 allocates the prediction image to the residual vector from the parallax detection unit 241 and the reference picture used to generate the prediction image (here, the picture of the decoded color image C # 1). It is supplied to the cost function calculation unit 244 together with the reference index.
  • the prediction vector generation unit 243 is supplied with the picture of the decoded parallax image D # 2 stored in the DPB 31, and is also supplied with the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 243 is supplied with parallax related information (FIG. 4) such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2).
  • the prediction vector generation unit 243 receives from the encoding information buffer 246 the peripheral color block around the target block of the color image C # 2 that has already been encoded, that is, for example, the peripheral color in FIG. Encoding information for blocks CA or CC is supplied.
  • the encoding information of the peripheral color block includes mode-related information, a calculated disparity vector, and a reference index (prediction reference index), which will be described later, when the peripheral color block is encoded as a target block. It is.
  • the predicted vector generation unit 243 recognizes the target block in the target picture from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 243 based on the encoding information of the surrounding color blocks CA or CC from the encoding information buffer 246, the prediction vector generated by the disparity information utilization prediction method and the prediction generated by the MVC method Among the vectors, a prediction vector estimated to have high prediction accuracy is generated as a prediction vector used for processing the target block.
  • the prediction vector generation unit 243 generates a prediction vector for each macroblock type (FIG. 9), and supplies the prediction vector information to the parallax detection unit 241, the parallax compensation unit 242, and the cost function calculation unit 244.
  • the disparity related information supplied to the prediction vector generation unit 243 is used when generating a prediction vector by a disparity information utilization prediction method.
  • the prediction vector generation unit 243 has the same position as the target block of the picture of the decoded parallax image D # 2 from the DPB 31 (the picture at the same time as the target picture).
  • the disparity value ⁇ which is the pixel value of the block (the same position block), is used for each pixel according to equation (2) using the maximum value dmax and the minimum value dmin of the shooting disparity vector d (d2) included in the disparity related information. It is converted into a shooting parallax vector d (d2).
  • the base line length L and the focal length f included in the parallax-related information are used, and the pixel value of the depth image according to Expression (3)
  • the depth Z which is a value before normalization of the value y, is converted into a shooting parallax vector d.
  • the prediction vector generation unit 243 performs an operation for obtaining, for example, an average value (average vector) of the shooting parallax vector d (d2) of each pixel in the same position block, and the average value is used as a parallax information utilization prediction method. Let it be a prediction vector.
  • the cost function calculation unit 244 is supplied with a prediction image, a residual vector, and a reference index from the parallax compensation unit 242, and is supplied with prediction vector information from the prediction vector generation unit 243, and screen rearrangement
  • the target picture of the color image C # 2 is supplied from the section buffer 212.
  • the cost function calculation unit 244 calculates, for each macroblock type (FIG. 9), the encoding cost required for encoding the target block of the target picture from the screen rearrangement buffer 212 according to a predetermined cost function for calculating the encoding cost. Ask.
  • the cost function calculation unit 244 obtains a value MV corresponding to the code amount of the residual vector recognized from the residual vector information from the parallax compensation unit 242, and the reference index (prediction for prediction) from the parallax compensation unit 242.
  • a value IN corresponding to the code amount of the (reference index) is obtained.
  • the cost function calculation unit 244 obtains SAD, which is a value D corresponding to the residual of the target block, with respect to the predicted image from the parallax compensation unit 242.
  • the cost function calculation unit 244 When the cost function calculation unit 244 obtains the coding cost (cost function value) for each macroblock type, the cost function calculation unit 244 supplies the coding cost to the mode selection unit 245 together with the reference index, the predicted image, and the residual vector.
  • the mode selection unit 245 detects the minimum cost, which is the minimum value, from the encoding costs for each macroblock type from the cost function calculation unit 244.
  • the mode selection unit 245 selects the macro block type for which the minimum cost is obtained as the optimum inter prediction mode.
  • the mode selection unit 245 uses, as header information, mode related information representing the optimal inter prediction mode, a reference index of the optimal inter prediction mode (reference index for prediction), a residual vector of the optimal inter prediction mode, and the like. This is supplied to the variable length coding unit 216.
  • the mode selection unit 245 supplies the prediction image and the coding cost (minimum cost) in the optimal inter prediction mode to the prediction image selection unit 224.
  • the mode selection unit 245 encodes the target block as a skip macroblock based on the minimum cost or the like, for example. Judge whether or not.
  • the optimal inter prediction mode is set to a skip mode in which the target block is encoded as a skip macroblock.
  • the mode selection unit 245 recognizes the prediction vector used for encoding the target block in the optimal inter prediction mode from the prediction vector information supplied from the prediction vector generation unit 243 to the cost function calculation unit 244, and By adding the prediction vector and the residual vector in the optimal inter prediction mode, the calculated disparity vector of the target block is restored.
  • the mode selection unit 245 supplies the calculated disparity vector of the target block, the mode related information, and the reference index for prediction to the encoding information buffer 246 as the encoding information of the target block.
  • the encoding information buffer 246 temporarily stores the encoding information from the mode selection unit 246.
  • FIG. 14 is a flowchart for explaining an encoding process for encoding the color image C # 2 of the viewpoint # 2 performed by the encoder 12 of FIG.
  • step S11 the A / D conversion unit 211 performs A / D conversion on the analog signal of the picture of the color image C # 2 of the viewpoint # 2 supplied thereto and supplies the analog signal to the screen rearrangement buffer 212.
  • the process proceeds to step S12.
  • step S12 the screen rearrangement buffer 212 temporarily stores the picture of the color image C # 2 from the A / D conversion unit 211, and reads the picture according to the GOP structure determined in advance, thereby Rearrangement is performed to rearrange the display from the display order to the encoding order (decoding order).
  • the picture read from the screen rearrangement buffer 212 is supplied to the calculation unit 213, the intra-screen prediction unit 222, and the parallax prediction unit 232, and the process proceeds from step S12 to step S13.
  • step S13 the calculation unit 213 sets the picture of the color image C # 2 from the screen rearrangement buffer 212 as a target picture to be encoded, and further sequentially selects macroblocks constituting the target picture as encoding target pictures.
  • the target block The target block.
  • the calculation unit 213 calculates a difference (residual) between the pixel value of the target block and the pixel value of the predicted image supplied from the predicted image selection unit 224 as necessary, and supplies the difference to the orthogonal transform unit 214. Then, the process proceeds from step S13 to step S14.
  • step S14 the orthogonal transform unit 214 performs orthogonal transform on the target block from the calculation unit 213, supplies the transform coefficient obtained as a result to the quantization unit 215, and the process proceeds to step S15.
  • step S15 the quantization unit 215 quantizes the transform coefficient supplied from the orthogonal transform unit 214, and supplies the resulting quantized value to the inverse quantization unit 218 and the variable length coding unit 216. Then, the process proceeds to step S16.
  • step S16 the inverse quantization unit 218 inversely quantizes the quantized value from the quantization unit 215 into a transform coefficient, supplies the transform coefficient to the inverse orthogonal transform unit 219, and the process proceeds to step S17.
  • step S17 the inverse orthogonal transform unit 219 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 218, supplies the transform coefficient to the calculation unit 220, and the process proceeds to step S18.
  • step S18 the calculation unit 220 adds the pixel value of the predicted image supplied from the predicted image selection unit 224 to the data supplied from the inverse orthogonal transform unit 219 as necessary, thereby adding the target block.
  • a decoded color image C # 2 obtained by decoding (local decoding) is obtained.
  • the arithmetic unit 220 supplies the decoded color image C # 2 obtained by locally decoding the target block to the deblocking filter 221, and the processing proceeds from step S18 to step S19.
  • step S19 the deblocking filter 221 filters the decoded color image C # 2 from the calculation unit 220 and supplies it to the DPB 31 (FIG. 4), and the process proceeds to step S20.
  • step S20 the DPB 31 stores the decoded color image C # 2 from the deblocking filter 221, and the process proceeds to step S21.
  • step S21 the DPB 31 is supplied with a decoded color image C # 1 obtained by encoding the color image C # 1 and performing local decoding from the encoder 11 that encodes the color image D # 1. After waiting, the decoded color image C # 1 is stored, and the process proceeds to step S22.
  • step S22 the DPB 31 is supplied with the decoded parallax image D # 2 obtained by encoding the parallax image D # 2 and performing local decoding from the encoder 22 that encodes the parallax image D # 2. After waiting, the decoded parallax image D # 2 is stored, and the process proceeds to step S23.
  • step S23 the MB index calculation unit 231 obtains the MB index of the next target block that is the next macroblock to be encoded, supplies the MB index to the disparity prediction unit 232, and the process proceeds to step S24.
  • step S24 the intra prediction unit 222 performs an intra prediction process (intra prediction process) for the next target block.
  • the intra prediction unit 222 performs intra prediction (intra prediction) for generating a prediction image (prediction image of intra prediction) from the picture of the decoded color image C # 2 stored in the DPB 31 for the next target block. Do.
  • the intra-screen prediction unit 222 obtains the encoding cost required to encode the next target block using the intra-prediction prediction image, and supplies it to the prediction image selection unit 224 together with the intra-prediction prediction image. Then, the process proceeds from step S24 to step S25.
  • step S25 the disparity prediction unit 232 performs a disparity prediction process on the next target block using the decoded color image C # 1 picture as a reference picture.
  • the disparity prediction unit 232 performs disparity prediction using the decoded color image C # 1 picture stored in the DPB 31 for the next target block, for each inter prediction mode with different macroblock types and the like. A predicted image, encoding cost, etc. are obtained.
  • the disparity prediction unit 232 sets the inter prediction mode with the minimum encoding cost as the optimal inter prediction mode, and supplies the prediction image of the optimal inter prediction mode together with the encoding cost to the prediction image selection unit 224. The process proceeds from step S25 to step S26.
  • the predicted image selection unit 224 includes, for example, a predicted image from the intra-screen prediction unit 222 (intra prediction predicted image) and a predicted image from the parallax prediction unit 232 (inter prediction predicted image).
  • the prediction image with the smaller encoding cost is selected and supplied to the calculation units 213 and 220, and the process proceeds to step S27.
  • the predicted image selected by the predicted image selection unit 224 in step S26 is used in the processes in steps S13 and S18 performed in the encoding of the next target block.
  • the intra-screen prediction unit 222 supplies information related to the intra prediction obtained in the intra prediction process in step S24 to the variable length coding unit 216 as header information, and the parallax prediction unit 232 performs the parallax prediction process in step S25.
  • Information related to the parallax prediction (inter prediction) obtained in is supplied to the variable length coding unit 216 as header information.
  • step S27 the variable length encoding unit 216 performs variable length encoding on the quantized value from the quantization unit 215 to obtain encoded data.
  • variable length encoding unit 216 selects header information from the one in which the prediction image with the lower encoding cost is generated among the header information from each of the in-screen prediction unit 222 and the parallax prediction unit 232. Included in the header of the encoded data.
  • variable length encoding unit 216 supplies the encoded data to the accumulation buffer 217, and the process proceeds from step S27 to step S28.
  • variable-length encoding unit 216 (FIG. 12) is also supplied with disparity-related information (such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2)). .
  • the variable length encoding unit 216 also includes disparity related information in the header of the encoded data.
  • disparity-related information can be multiplexed in the multiplexing unit 4 (FIG. 4), for example, instead of being included in the header of the encoded data in the variable length encoding unit 216.
  • step S28 the accumulation buffer 217 temporarily stores the encoded data from the variable length encoding unit 216 and outputs it at a predetermined data rate.
  • the encoded data output from the accumulation buffer 217 is supplied to the multiplexing unit 32 (FIG. 4).
  • FIG. 15 is a flowchart illustrating the disparity prediction process performed by the disparity prediction unit 232 in FIG. 13 in step S25 in FIG.
  • step S41 the disparity prediction unit 232 acquires the MB index of the (next) target block supplied from the MB index calculation unit 231, and supplies the MB index to the disparity detection unit 241 and the prediction vector generation unit 243 for processing. Advances to step S42.
  • step S42 the parallax prediction unit 232 acquires a picture of the decoded color image C # 1, which is a reference picture, from the DPB 31, and also acquires a decoded parallax image D # 2.
  • the parallax prediction unit 232 supplies the decoded color image C # 1 picture to the parallax detection unit 241 and the parallax compensation unit 242, and also supplies the decoded parallax image D # 2 to the prediction vector generation unit 243. Then, the process proceeds to step S43.
  • step S43 the prediction vector generation unit 243 recognizes the (next) target block in the target picture supplied from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 243 uses each piece of macroblock using the encoded information stored in the encoded information buffer 246, the decoded parallax image D # 2 from the DPB 31, and other parallax-related information as necessary. For the type (FIG. 9), a prediction vector generation process for generating a prediction vector of the (next) target block is performed.
  • the prediction vector generation unit 243 supplies the prediction vector of the target block obtained by the prediction vector generation processing to the parallax detection unit 241, the parallax compensation unit 242, and the cost function calculation unit 244 as prediction vector information.
  • the process proceeds from step S43 to step S44.
  • step S44 the parallax detection unit 241 recognizes the target block in the target picture supplied from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the disparity detection unit 241 performs the ME for the (next) target block using the picture of the decoded color image C # 1 from the DPB 31 as a reference picture, thereby expressing the disparity of the target block with respect to the viewpoint # 1 A calculated disparity vector mv is detected.
  • the disparity detection unit 241 obtains a residual vector that is a difference between the calculated disparity vector mv of the target block and the prediction vector obtained from the prediction vector information supplied from the prediction vector generation unit 243, and the disparity compensation unit 242 The process proceeds from step S44 to step S45.
  • step S45 the parallax compensation unit 242 restores the calculated parallax vector mv of the target block from the residual vector from the parallax detection unit 241 and the prediction vector information from the prediction vector generation unit 243.
  • the parallax compensation unit 242 generates a predicted image of the (next) target block by performing MC according to the calculated parallax vector mv of the target block using the decoded color image C # 1 picture from the DPB 31 as a reference picture. To do.
  • the parallax compensation unit 242 acquires, as a predicted image, a corresponding block that is a block at a position shifted by the calculated parallax vector mv from the position of the target block in the picture of the decoded color image C # 1.
  • the parallax compensation unit 242 allocates the prediction image to the residual vector from the parallax detection unit 241 and the reference picture used to generate the prediction image (here, the picture of the decoded color image C # 1). This is supplied to the cost function calculation unit 244 together with the reference index being processed, and the process proceeds from step S45 to step S46.
  • step S46 the cost function calculation unit 244 obtains the encoding cost required for encoding the target block of the target picture from the screen rearrangement buffer 212 for each macroblock type (FIG. 9) according to a predetermined cost function.
  • the reference index, prediction image, and residual vector from the parallax compensation unit 242 are supplied to the mode selection unit 245 together with the reference vector, and the process proceeds to step S47.
  • step S47 the mode selection unit 245 detects the minimum cost, which is the minimum value, from the encoding costs for each macroblock type from the cost function calculation unit 244.
  • the mode selection unit 245 selects the macro block type for which the minimum cost is obtained as the optimum inter prediction mode, and the process proceeds from step S47 to step S48.
  • step S48 the mode selection unit 245 supplies the prediction image in the optimal inter prediction mode and the encoding cost (minimum cost) to the prediction image selection unit 224, and the process proceeds to step S49.
  • step S49 the mode selection unit 245 uses, as header information, mode-related information indicating the optimal inter prediction mode, a reference index of the optimal inter prediction mode (reference index for prediction), and a residual vector of the optimal inter prediction mode. And supplied to the variable length coding unit 216.
  • the mode selection unit 245 determines the prediction vector used for encoding the target block in the optimal inter prediction mode from the prediction vector information supplied from the prediction vector generation unit 243 to the cost function calculation unit 244. It recognizes and adds the prediction vector and the residual vector of optimal inter prediction mode, and restore
  • the mode selection unit 245 supplies the calculated disparity vector of the target block, the mode related information, and the reference index for prediction to the encoding information buffer 246 as the encoding information of the target block, and stores them. Return.
  • FIG. 16 is a flowchart for explaining the prediction vector generation process performed by the prediction vector generation unit 243 (FIG. 13) in step S43 of FIG.
  • step S51 the prediction vector generation unit 243, from the encoding information buffer 246, has already been encoded and is a peripheral color block around the target block of the color image C # 2, that is, for example, three blocks in FIG.
  • the encoding information of the peripheral color blocks CA to CC is acquired, and the process proceeds to step S52.
  • step S52 the prediction vector generation unit 243 determines, from the picture of the decoded parallax image D # 2 from the DPB 31 (a picture at the same time as the target picture), the block at the same position as the target block (the same position block) and the same position.
  • the peripheral parallax block around the block (peripheral parallax block at the same position as the peripheral color block whose encoding information was acquired in step S51), that is, for example, the three peripheral parallax blocks DA to DC in FIG. The process proceeds to step S53.
  • steps S53 to S56 a vector prediction process for generating a prediction vector of the target block is performed for each macroblock type, and the process returns.
  • step S53 the prediction vector generation unit 243 performs vector prediction processing for a macroblock type (16 ⁇ 16 type) that divides the target block into 16 ⁇ 16 pixel partitions, and the processing proceeds to step S54.
  • step S54 the prediction vector generation unit 243 performs vector prediction processing for a macroblock type (16 ⁇ 8 type) that divides the target block into 16 ⁇ 8 pixel partitions, and the process proceeds to step S55.
  • step S55 the prediction vector generation unit 243 performs vector prediction processing for the macroblock type (8 ⁇ 16 type) that divides the target block into 8 ⁇ 16 pixel partitions, and the processing proceeds to step S56.
  • step S56 the prediction vector generation unit 243 performs vector prediction processing for each macroblock type (8 ⁇ 8 or less type) that divides the target block into partitions of 8 ⁇ 8 pixels or less, and the processing returns.
  • FIG. 17 is a diagram for explaining vector prediction processing performed by the prediction vector generation unit 243 (FIG. 13) for each macroblock type in steps S53 to S56 in FIG.
  • the prediction vector generation unit 243 predicts the prediction image in the peripheral color blocks around the target block CX (for example, the three peripheral color blocks CA to CC in FIG. 3) of the color image C # 2.
  • a peripheral parallax block at the same position as the reference index matching block of (decoded) parallax image D # 2 for example, The difference between the three peripheral parallax blocks DA to DC in FIG. 3 and the same position block DX is obtained.
  • the prediction vector generation unit 243 in the vector prediction process, based on the difference between the peripheral disparity block at the same position as the reference index matching block and the same position block, the prediction vector of the disparity information utilization prediction method, and the MVC method are predicted as prediction vectors used for processing of the target block CX.
  • the prediction vector generation unit 243 for example, three peripheral color blocks used when generating a prediction vector of the color image C # 2 by, for example, the MVC method, that is, FIG. Based on the encoding information of the neighboring color block A adjacent to the left of the target block X, the neighboring color block B adjacent to the upper side, and the neighboring color block C adjacent diagonally to the upper right shown in FIG. The number of reference index matching blocks whose prediction reference index in A to C matches the target block X is obtained.
  • the range of the number of reference index matching blocks is 0 to 3.
  • the prediction vector generation unit 243 When the number of reference index matching blocks is 0, the prediction vector generation unit 243 generates a prediction vector of the target block using a disparity information utilization prediction method (disparity information utilization predictor).
  • the 0 vector is the prediction vector of the target block.
  • the disparity information utilization prediction method as described with reference to FIG. 13, from the disparity value ⁇ that is the pixel value of the block (the same position block) at the same position as the target block of the picture of the decoded parallax image D # 2.
  • the average value of the obtained shooting parallax vector d (d2) is set as the prediction vector of the target block.
  • the shooting parallax vector d (d2) obtained from the decoded parallax image D # 2 is a vector representing the parallax of the color image C # 2, by obtaining a prediction vector from such a shooting parallax vector d (d2), It is estimated that a prediction vector having better prediction accuracy than a 0 vector prediction vector obtained by the MVC method can be obtained.
  • the prediction vector generation unit 243 for the reference index matching block, the peripheral parallax block at the same position as the reference index matching block (peripheral parallax blocks DA to DC in FIG. 3).
  • SAD hereinafter also referred to as parallax SAD as a value corresponding to the difference from the same position block (same position block DX in FIG. 3).
  • the prediction vector generation unit 243 has a prediction accuracy of the prediction vector of the disparity information utilization prediction method and the prediction vector of the MVC method.
  • a prediction vector estimated to be high is generated as a prediction vector of the target block.
  • the prediction vector generation unit 243 generates a prediction vector of the target block using the MVC method.
  • the calculated disparity vector of the reference index matching block is the prediction vector of the target block.
  • the parallax SAD of the reference index matching block is equal to or less than a predetermined threshold
  • the same subject is included in the one reference index matching block and the target block. It is estimated that the image is reflected (the parallax is not significantly different) (the parallax is correlated).
  • a prediction vector having a prediction accuracy equal to or higher than the disparity information use prediction method for obtaining a prediction vector from the captured disparity vector d (d2) is obtained. Presumed to be obtained.
  • the prediction vector generation unit 243 When the number of reference index matching blocks is one, and the number of reference index matching blocks whose disparity SAD exceeds a predetermined threshold is one, that is, the number of reference index matching blocks is only one.
  • the prediction vector generation unit 243 When the disparity SAD of the reference index matching block exceeds a predetermined threshold value, the prediction vector generation unit 243 generates a prediction vector of the target block using a disparity information utilization prediction method.
  • the prediction accuracy of the disparity information use prediction method that obtains the prediction vector from the captured disparity vector d (d2) is better than the calculation disparity vector of such a reference index matching block as the prediction vector of the target block. It is estimated that a prediction vector is obtained.
  • the prediction vector generation unit 243 When the number of reference index matching blocks is two, of which the number of reference index matching blocks whose disparity SAD exceeds a predetermined threshold is zero, that is, the number of reference index matching blocks is two, When both of the disparity SADs of the two reference index matching blocks are equal to or less than a predetermined threshold, the prediction vector generation unit 243 generates a prediction vector of the target block using the MVC method.
  • the median using the calculated disparity vectors of the two (or more) reference index matching blocks is used.
  • a prediction vector of the target block is obtained by a prediction method (median predictor).
  • peripheral color blocks A to C two peripheral color blocks are reference index matching blocks, and when any of the parallax SADs of the two reference index matching blocks is equal to or less than a predetermined threshold, It is estimated that the same subject is captured in the two reference index matching blocks and the target block (there is no significant difference in parallax).
  • the calculated disparity vectors of two reference index matching blocks whose disparity SAD is equal to or less than a predetermined threshold are similar to each other, and the calculated disparity vector of the reference index matching block and the calculated disparity vector of the target block are similar.
  • the prediction vector is obtained from the shooting parallax vector d (d2) by using one of the calculated parallax vectors of the two reference index matching blocks whose parallax SAD is equal to or less than a predetermined threshold as the prediction vector of the target block. It is estimated that a prediction vector having a prediction accuracy equal to or higher than the disparity information utilization prediction method is obtained.
  • the parallax SAD is equal to the predetermined threshold. Since any calculated disparity vector of the following two reference index matching blocks is used as the prediction vector of the target block, a prediction vector with high prediction accuracy can be obtained.
  • the vector generation unit 243 generates a prediction vector of the target block using a disparity information utilization prediction method.
  • the median prediction scheme (median predictor) using the calculated disparity vectors of the two or more reference index matching blocks.
  • the prediction vector of the target block is obtained.
  • peripheral color blocks A to C used in the median prediction method two peripheral color blocks are reference index matching blocks, and the parallax of one reference index matching block of the two reference index matching blocks
  • SAD exceeds a predetermined threshold and the parallax SAD of the other reference index matching block is less than or equal to the predetermined threshold
  • different subjects are shown in one reference index matching block and the other reference index matching block It is presumed that there is a large difference in parallax, and it is presumed that the same subject appears in the other reference index matching block and the target block (there is no significant difference in parallax).
  • the calculated disparity vector of the reference index matching block whose disparity SAD exceeds the predetermined threshold (one) and the calculated disparity vector of the reference index matching block whose disparity SAD is equal to or smaller than the predetermined threshold are not similar.
  • a prediction vector with a prediction accuracy can be obtained by using a calculated disparity vector of a reference index matching block whose disparity SAD is equal to or less than a predetermined threshold as a prediction vector of the target block.
  • the two reference index matching blocks are one reference index matching block whose disparity SAD exceeds a predetermined threshold and one reference index matching block whose disparity SAD is equal to or less than the predetermined threshold
  • the calculated disparity vector of the reference index matching block whose disparity SAD is equal to or smaller than a predetermined threshold is not necessarily the prediction vector of the target block.
  • the calculated disparity vector of the peripheral color block other than the reference index matching block whose disparity SAD is equal to or less than a predetermined threshold value may be used as the prediction vector of the target block. Deteriorate.
  • the prediction vector generation unit 243 has the prediction accuracy.
  • the prediction vector of the target block is generated not by the worse MVC method (median prediction method) but by the disparity information utilization prediction method.
  • the prediction vector generation unit 243 uses the disparity information utilization prediction method, A prediction vector of the target block is generated.
  • the number of reference index matching blocks is two and any disparity SAD of the two reference index matching blocks exceeds a predetermined threshold
  • the number of reference index matching blocks described above is two.
  • the prediction accuracy of the median prediction method is deteriorated, and thus the disparity information utilization prediction method with relatively good prediction accuracy.
  • a prediction vector of the target block is generated.
  • the number of reference index matching blocks described above is two.
  • the shooting disparity It is estimated that a prediction vector having a prediction accuracy equal to or higher than the disparity information use prediction method for obtaining a prediction vector from the vector d (d2) is obtained.
  • the prediction vector generation unit 243 generates a prediction vector of the target block by the MVC method (median prediction method).
  • the prediction vector generation unit 243 uses the MVC method to Generate a prediction vector.
  • All the surrounding color blocks used in the median prediction method are reference index matching blocks, and the parallax SAD of one reference index matching block among the three reference index matching blocks exceeds a predetermined threshold, and the other two
  • the disparity SAD of the reference index matching blocks is equal to or smaller than a predetermined threshold
  • different objects are captured in one reference index matching block and the other two reference index matching blocks (the disparity is large).
  • the other two reference index matching blocks and the target block are estimated to contain the same subject (there is no significant difference in parallax).
  • the calculated disparity vectors of two reference index matching blocks whose disparity SAD is equal to or less than a predetermined threshold are similar.
  • a prediction vector is obtained from the captured parallax vector d (d2) by using one of the calculated parallax vectors of two reference index matching blocks whose parallax SAD is equal to or less than a predetermined threshold as the prediction vector of the target block. It is estimated that a prediction vector having a prediction accuracy equal to or higher than the disparity information utilization prediction method is obtained.
  • the prediction vector generation unit 243 uses the disparity information utilization prediction method, A prediction vector of the target block is generated.
  • a prediction vector of the target block is obtained by a prediction method (median predictor).
  • All the surrounding color blocks used in the median prediction method are reference index matching blocks, and the disparity SAD of two reference index matching blocks among the three reference index matching blocks exceeds a predetermined threshold, and the other 1
  • the disparity SAD of the reference index matching blocks is equal to or smaller than a predetermined threshold
  • different subjects are captured in the two reference index matching blocks and the other one reference index matching block (the disparity is large). It is estimated that there is a difference), and that the same subject is reflected in the other one reference index matching block and the target block (there is no significant difference in parallax).
  • the calculated disparity vectors of the two reference index matching blocks whose disparity SAD exceeds the predetermined threshold and the calculated disparity vector of the other one reference index matching block whose disparity SAD is equal to or smaller than the predetermined threshold are not similar.
  • a prediction vector with a prediction accuracy can be obtained by using a calculated disparity vector of a reference index matching block (one other) reference index matching block whose disparity SAD is equal to or less than a predetermined threshold as a prediction vector of the target block.
  • the median According to the prediction method, the calculated disparity vector of the reference index matching block whose disparity SAD is equal to or smaller than a predetermined threshold is not necessarily the prediction vector of the target block.
  • the calculated disparity vector of the peripheral color block other than the reference index matching block whose disparity SAD is equal to or less than a predetermined threshold value may be used as the prediction vector of the target block. Deteriorate.
  • the prediction vector generation unit 243 has the prediction accuracy.
  • the prediction vector of the target block is generated not by the worse MVC method (median prediction method) but by the disparity information utilization prediction method.
  • the number of reference index matching blocks is three and any of the three disparity SADs of the three reference index matching blocks exceeds a predetermined threshold, the number of reference index matching blocks described above is three. Similarly to the case where the disparity SAD of two reference index matching blocks out of the number exceeds a predetermined threshold, the prediction accuracy of the median prediction method is deteriorated, so that the prediction vector generation unit 243 has relatively good prediction accuracy.
  • a prediction vector of the target block is generated by the disparity information utilization prediction method.
  • prediction vector generation unit 243 performs vector prediction processing for macroblock types other than the 16 ⁇ 16 type as in the case of the 16 ⁇ 16 ⁇ type.
  • the object to be counted as the reference index matching block is, for example, a peripheral color block used when generating a prediction vector by the MVC method.
  • the peripheral color block used when generating the prediction vector by the MVC method is the peripheral color block A adjacent to the left of the target block X, as shown in FIG.
  • the three neighboring color blocks A and C are counted as reference index matching blocks.
  • the peripheral color block used when generating the prediction vector by the MVC method is only one of the peripheral color blocks A adjacent to the left of the target block X.
  • the one neighboring color block is counted as a reference index matching block.
  • the range of the number of reference index matching blocks is 0 to 1.
  • FIG. 18 is a flowchart for explaining vector prediction processing performed by the prediction vector generation unit 243 (FIG. 13) for each macroblock type in steps S53 to S56 of FIG.
  • the predictive vector generation unit 243 includes the peripheral color blocks around the target block (for example, the three peripheral color blocks CA to CC in FIG. 3) of the color image C # 2.
  • the number of reference index matching blocks in which a reference index representing a reference picture to be referred to for generating a predicted image matches the target block is determined.
  • step S61 when it is determined that the number of reference index matching blocks is 0, the process proceeds to step S67, and the prediction vector generation unit 243 determines from the decoded parallax image D # 2 by the disparity information utilization prediction method. The prediction vector of the target block is generated, and the process returns.
  • step S61 When it is determined in step S61 that the number of reference index matching blocks is one or more, the process proceeds to step S62, and the prediction vector generation unit 243 determines the reference index matching block for the reference index matching block. As the value corresponding to the difference between the peripheral parallax block of the decoded parallax image D # 2 (for example, the peripheral parallax blocks DA to DC in FIG. 3) and the same position block (same position block DX in FIG. 3) at the same position as The parallax SAD, which is the SAD, is obtained, and the process proceeds to step S63.
  • step S63 the predictive vector generation unit 243 determines whether the number of reference index matching blocks is one and the number of reference index matching blocks whose disparity SAD exceeds a predetermined threshold is one. .
  • step S63 When it is determined in step S63 that the number of reference index matching blocks is one and the number of reference index matching blocks whose disparity SAD exceeds a predetermined threshold is one, the process proceeds to step S67. Then, the prediction vector generation unit 243 generates a prediction vector of the target block from the decoded parallax image D # 2 by the disparity information utilization prediction method, and the process returns.
  • step S63 it is determined that the number of reference index matching blocks is not one, or even if the number of reference index matching blocks is one, the reference index matching block whose disparity SAD exceeds a predetermined threshold value
  • the process proceeds to step S64, and the prediction vector generation unit 243 has two reference index matching blocks and the disparity SAD exceeds a predetermined threshold value. It is determined whether or not the number of reference index matching blocks is one or more.
  • step S64 When it is determined in step S64 that the number of reference index matching blocks is two and the number of reference index matching blocks whose disparity SAD exceeds a predetermined threshold is one or more, the process proceeds to step S67.
  • the prediction vector generation unit 243 generates a prediction vector of the target block from the decoded parallax image D # 2 by the disparity information utilization prediction method, and the process returns.
  • step S64 it is determined that the number of reference index matching blocks is not two, or even if the number of reference index matching blocks is two, the reference index matching block whose disparity SAD exceeds a predetermined threshold value
  • the process proceeds to step S65, and the prediction vector generation unit 243 has three reference index matching blocks and the disparity SAD has a predetermined threshold value. It is determined whether or not the number of reference index matching blocks that exceed the number is two or more.
  • step S65 If it is determined in step S65 that the number of reference index matching blocks is three and the number of reference index matching blocks whose disparity SAD exceeds a predetermined threshold is two or more, the process proceeds to step S67.
  • the prediction vector generation unit 243 generates a prediction vector of the target block from the decoded parallax image D # 2 by the disparity information utilization prediction method, and the process returns.
  • step S65 it is determined that the number of reference index matching blocks is not three, or even if the number of reference index matching blocks is three, the reference index matching block whose disparity SAD exceeds a predetermined threshold value
  • the process proceeds to step S66, the prediction vector generation unit 243 generates a prediction vector of the target block by the MVC method, and the process returns.
  • the prediction vector of the disparity information utilization prediction method based on the disparity SAD corresponding to the difference between the peripheral disparity block at the same position as the reference index matching block and the same position block, the prediction vector of the disparity information utilization prediction method, and the MVC A prediction vector with high prediction accuracy can be obtained by generating a prediction vector estimated to have high prediction accuracy among the prediction vectors of the method as a prediction vector used for processing of the target block.
  • FIG. 19 is a block diagram illustrating a configuration example of an embodiment of a multi-view image decoder to which the present technology is applied.
  • the multi-viewpoint image decoder in FIG. 19 is, for example, a decoder that decodes data obtained by encoding images of a plurality of viewpoints using the MVC method.
  • the same processing as in the MVC method will be described as appropriate. Is omitted.
  • multi-viewpoint image decoder is not limited to a decoder that uses the MVC method.
  • the multiplexed data output from the multi-view image encoder of FIG. 4 is the color image C # 1 of the view # 1, which is the color image of the two views # 1 and # 2, and the view The color image C # 2 of # 2, and the parallax image D # 1 of viewpoint # 1, which is the parallax information image of the two viewpoints # 1 and # 2, and the parallax image D # 2 of viewpoint # 2 are decoded.
  • the multi-viewpoint image decoder includes a separation unit 301, decoders 311, 312, 321, 322, and a DPB 331.
  • the multiplexed data output from the multi-viewpoint image encoder in FIG. 4 is supplied to the separation unit 301 via a recording medium and a transmission medium (not shown).
  • the separation unit 301 from the multiplexed data supplied thereto, encodes color image C # 1, encoded data of color image C # 2, encoded data of parallax image D # 1, and parallax image D Separate the encoded data of # 2.
  • the separation unit 301 transmits the encoded data of the color image C # 1 to the decoder 311, the encoded data of the color image C # 2 to the decoder 312, and the encoded data of the parallax image D # 1 to the decoder 321.
  • the encoded data of the image D # 2 is supplied to the decoder 322, respectively.
  • the decoder 311 decodes the encoded data of the color image C # 1 from the separation unit 301, and outputs the color image C # 1 obtained as a result.
  • the decoder 312 decodes the encoded data of the color image C # 2 from the separation unit 301, and outputs the color image C # 2 obtained as a result.
  • the decoder 321 decodes the encoded data of the parallax image D # 1 from the separation unit 301 and outputs the parallax image D # 1 obtained as a result.
  • the decoder 322 decodes the encoded data of the parallax image D # 2 from the separation unit 301, and outputs the parallax image D # 2 obtained as a result.
  • the DPB 331 is a reference picture (candidate) for referencing a decoded image (decoded image) obtained by decoding a decoding target image in each of the decoders 311, 312, 321, and 322 when generating a predicted image. As a temporary store.
  • the decoders 311, 312, 321, and 322 decode the images that have been predictively encoded by the encoders 11, 12, 21, and 22 in FIG. 4, respectively.
  • the decoders 311, 312, 321, and 322 determine the predictive image used in the predictive encoding.
  • the decoded image used for generating the predicted image is temporarily stored in the DPB 331.
  • the DPB 331 is a shared buffer that temporarily stores decoded images (decoded images) obtained by the decoders 311, 312, 321, and 322.
  • the decoders 311, 312, 321, and 322 are respectively connected to the DPB 331.
  • a reference picture to be referenced for decoding the decoding target picture is selected from the stored decoded picture, and a predicted picture is generated using the reference picture.
  • DPB 331 is shared by decoders 311, 312, 321 and 322, each of decoders 311, 312, 321 and 322 has a decoded image obtained by itself and a decoded image obtained by another decoder. Images can also be referenced.
  • FIG. 20 is a block diagram illustrating a configuration example of the decoder 311 in FIG.
  • decoders 321 and 322 in FIG. 19 are also configured in the same manner as the decoder 311 and encode an image in accordance with, for example, the MVC method.
  • the decoder 311 includes an accumulation buffer 341, a variable length decoding unit 342, an inverse quantization unit 343, an inverse orthogonal transform unit 344, an operation unit 345, a deblocking filter 346, a screen rearrangement buffer 347, and a D / A conversion unit. 348, the intra prediction unit 349, the inter prediction unit 350, and the predicted image selection unit 351.
  • the storage buffer 341 is supplied with encoded data of the color image C # 1 from the separation unit 301 (FIG. 19).
  • the accumulation buffer 341 temporarily stores the encoded data supplied thereto and supplies the encoded data to the variable length decoding unit 342.
  • variable length decoding unit 342 restores the quantization value and header information by variable length decoding the encoded data from the accumulation buffer 341. Then, the variable length decoding unit 342 supplies the quantization value to the inverse quantization unit 343 and supplies the header information to the intra-screen prediction unit 349 and the inter prediction unit 350.
  • the inverse quantization unit 343 inversely quantizes the quantized value from the variable length decoding unit 342 into a transform coefficient and supplies the transform coefficient to the inverse orthogonal transform unit 344.
  • the inverse orthogonal transform unit 344 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 343, and supplies the transform coefficient to the arithmetic unit 345 in units of macroblocks.
  • the calculation unit 345 sets the macroblock supplied from the inverse orthogonal transform unit 344 as a target block to be decoded, and adds the predicted image supplied from the predicted image selection unit 351 to the target block as necessary. Thus, a decoded image is obtained and supplied to the deblocking filter 346.
  • the deblocking filter 346 performs, for example, the same filtering as the deblocking filter 121 of FIG. 8 on the decoded image from the arithmetic unit 345, and supplies the filtered decoded image to the screen rearrangement buffer 347.
  • the screen rearrangement buffer 347 temporarily stores and reads out the picture of the decoded image from the deblocking filter 346, thereby rearranging the picture arrangement to the original arrangement (display order), and D / A (Digital / Analog) This is supplied to the conversion unit 348.
  • the D / A conversion unit 348 When the D / A conversion unit 348 needs to output the picture from the screen rearrangement buffer 347 as an analog signal, the D / A conversion unit 348 performs D / A conversion on the picture.
  • the deblocking filter 346 supplies, to the DPB 331, decoded images of I pictures, P pictures, and Bs pictures, which are referenceable pictures, among the decoded images after filtering.
  • the DPB 331 stores the picture of the decoded image from the deblocking filter 346, that is, the picture of the color image C # 1, as a reference picture to be referred to when generating a predicted image used for temporally subsequent decoding. To do.
  • the DPB 331 is shared by the decoders 311, 312, 321, and 322, so that the color image C # 1 decoded by the decoder 311 and the color decoded by the decoder 312.
  • the picture of the image C # 2, the picture of the parallax image D # 1 decoded by the decoder 321 and the picture of the parallax image D # 2 decoded by the decoder 322 are also stored.
  • the intra prediction unit 349 recognizes whether the target block is encoded using a prediction image generated by intra prediction (intra prediction) based on the header information from the variable length decoding unit 342.
  • the intra-screen prediction unit 349 receives a picture including the target block from the DPB 331 as in the intra-screen prediction unit 122 of FIG. A portion (decoded image) that has already been decoded in the target picture) is read out. Then, the intra-screen prediction unit 349 supplies a part of the decoded image of the target picture read from the DPB 331 to the predicted image selection unit 351 as a predicted image of the target block.
  • the inter prediction unit 350 recognizes whether the target block is encoded using a prediction image generated by the inter prediction based on the header information from the variable length decoding unit 342.
  • the inter prediction unit 350 When the target block is encoded using a prediction image generated by inter prediction, the inter prediction unit 350, based on the header information from the variable length decoding unit 342, a prediction reference index, that is, the target block The reference index assigned to the reference picture used to generate the predicted image is recognized.
  • the inter prediction unit 350 reads out a reference picture to which a reference index for prediction is assigned from the reference pictures stored in the DPB 331.
  • the inter prediction unit 350 recognizes a shift vector (disparity vector, motion vector) used for generating the predicted image of the target block based on the header information from the variable length decoding unit 342, and the inter prediction unit in FIG. Similarly to 123, a prediction picture is generated by performing reference picture shift compensation (motion compensation that compensates for a shift for motion or parallax compensation that compensates for a shift for parallax) according to the shift vector.
  • a shift vector displacement vector, motion vector
  • motion vector motion vector used for generating the predicted image of the target block based on the header information from the variable length decoding unit 342, and the inter prediction unit in FIG.
  • a prediction picture is generated by performing reference picture shift compensation (motion compensation that compensates for a shift for motion or parallax compensation that compensates for a shift for parallax) according to the shift vector.
  • the inter prediction unit 350 acquires, as a predicted image, a block (corresponding block) at a position moved (shifted) from the position of the target block of the reference picture according to the shift vector of the target block.
  • the inter prediction unit 350 supplies the predicted image to the predicted image selection unit 351.
  • the prediction image selection unit 351 selects the prediction image when the prediction image is supplied from the intra-screen prediction unit 349, and selects the prediction image when the prediction image is supplied from the inter prediction unit 350. And supplied to the calculation unit 345.
  • FIG. 21 is a block diagram illustrating a configuration example of the decoder 312 in FIG.
  • the decoder 312 performs decoding of the encoded data of the color image C # 2 of the viewpoint # 2 to be decoded using the MVC method, that is, in the same manner as the local decoding performed by the encoder 12 of FIG.
  • a decoder 312 includes an accumulation buffer 441, a variable length decoding unit 442, an inverse quantization unit 443, an inverse orthogonal transform unit 444, a calculation unit 445, a deblocking filter 446, a screen rearrangement buffer 447, and a D / A conversion unit. 448, an intra-screen prediction unit 449, a predicted image selection unit 451, an MB index calculation unit 461, and a parallax prediction unit 462.
  • the storage buffer 441 through the intra-screen prediction unit 449 and the predicted image selection unit 451 are configured similarly to the storage buffer 341 through the intra-screen prediction unit 349 and the predicted image selection unit 351 of FIG. The description is omitted as appropriate.
  • the DPB 331 is supplied with a decoded image, that is, a picture of a decoded color image C # 2 that is a color image decoded by the decoder 312 from the deblocking filter 446, and is stored as a reference picture.
  • the DPB 331 includes a color image (decoded color image) C # 1 decoded by the decoder 311 and a parallax image (decoded parallax image) D decoded by the decoder 321.
  • the picture of # 1 and the picture of the parallax image (decoded parallax image) D # 2 decoded by the decoder 322 are also supplied and stored.
  • the decoded color image C # 1 obtained by the decoder 311 and the decoded parallax image D # 2 obtained by the decoder 322 are: Since it is used for decoding the color image C # 2 to be decoded, the decoded color image C # 1 obtained by the decoder 311 and the decoded parallax image D # 2 obtained by the decoder 322 are supplied to the DPB 331 in FIG. An arrow indicating that this is done is shown.
  • the MB index calculation unit 461 obtains the MB index of the target block and supplies it to the disparity prediction unit 462.
  • the parallax prediction unit 462 recognizes whether or not the target block is encoded using a prediction image generated by the parallax prediction (inter prediction) based on the header information from the variable length decoding unit 442.
  • the disparity prediction unit 462 based on the header information from the variable length decoding unit 442, a prediction reference index, that is, the target block
  • the reference index assigned to the reference picture used to generate the predicted image is recognized (acquired).
  • the disparity prediction unit 462 selects, as a reference picture, a picture to which a reference index for prediction is assigned among pictures of the decoded color image C # 1 stored in the DPB 331.
  • the disparity prediction unit 462 restores the calculated disparity vector used for generating the predicted image of the candidate block based on the header information from the variable length decoding unit 442, and similarly to the disparity prediction unit 232 in FIG. A predicted image is generated by performing parallax prediction according to the calculated parallax vector.
  • the disparity prediction unit 462 acquires, as a predicted image, a block (corresponding block) at a position moved (shifted) according to the calculated disparity vector of the target block from the position of the target block of the reference picture.
  • the parallax prediction unit 462 supplies the predicted image to the predicted image selection unit 451.
  • the decoder 322 is provided with a disparity prediction unit 462 that performs only disparity prediction among inter predictions.
  • the decoder 322 performs parallax prediction and temporal prediction (prediction image generation by the same method) as in the encoder 12. Is called.
  • FIG. 22 is a block diagram illustrating a configuration example of the parallax prediction unit 462 of FIG.
  • the parallax prediction unit 462 includes a prediction vector generation unit 471 and a parallax compensation unit 472.
  • the prediction vector generation unit 471 is supplied with the picture of the decoded parallax image D # 2 stored in the DPB 331 and is also supplied with the MB index from the MB index calculation unit 461.
  • the prediction vector generation unit 471 includes disparity related information such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (shooting parallax vector d2 of the viewpoint # 2) included in the header information from the variable length decoding unit 442 ( FIG. 4) is supplied.
  • the prediction vector generation unit 471 includes, for example, the left and upper blocks of the target block in the block of the color image C # 2 that has been already decoded and is included in the header information from the variable length decoding unit 442.
  • the neighboring color blocks adjacent to each other on the upper right, that is, for example, the coding information of the neighboring color blocks CA to CC in FIG. 3 and the coding information of the target block are supplied.
  • the coding information of the peripheral color block included in the header information from the variable length decoding unit 442 includes mode related information (macroblock type) of the peripheral color block and a reference index (reference index for prediction).
  • mode related information microblock type
  • reference index reference index for prediction
  • the predicted vector generation unit 471 is supplied from the disparity compensation unit 472 with the calculated disparity vector of the peripheral color block that has already been decoded.
  • the prediction vector generation unit 471 recognizes the target block in the target picture based on the MB index from the MB index calculation unit 461.
  • the prediction vector generation unit 471 receives the picture of the decoded parallax image D # 2 stored in the DPB 331, the parallax related information, the encoding information, the calculated parallax vector of the surrounding color block from the parallax compensation unit 472, and the like as necessary. In the same manner as the prediction vector generation unit 243 in FIG. 13, the prediction vector of the target block is generated and supplied to the parallax compensation unit 472.
  • the prediction vector generation unit 471 recognizes the macroblock mode of the target block based on the encoding information of the target block, and predicts the macroblock mode using the prediction vector generated by the disparity information use prediction method and the MVC method. Of the generated prediction vectors, a prediction vector estimated to have high prediction accuracy is generated as a prediction vector of the target block.
  • the disparity related information supplied to the prediction vector generation unit 471 is used when a prediction vector is generated by a disparity information utilization prediction method, as in the case of the prediction vector generation unit 243 of FIG.
  • the disparity compensation unit 472 is supplied with the prediction vector of the target block from the prediction vector generation unit 471, and includes the mode related information of the target block, the residual vector, and the header information from the variable length decoding unit 442, and A prediction reference index is supplied.
  • the picture of the decoded color image C # 1, which is a reference picture stored in the DPB 331, is supplied to the parallax compensation unit 472.
  • the disparity compensation unit 472 restores the calculated disparity vector mv of the target block by adding the residual vector from the variable length decoding unit 442 and the prediction vector from the prediction vector generation unit 471.
  • the disparity compensation unit 472 uses, as a reference picture, a picture to which a reference index for prediction from the variable-length decoding unit 442 is assigned among the pictures of the decoded color image C # 1 stored in the DPB 331.
  • the reference picture shift compensation (disparity compensation) is performed in the same manner as the MVC method using the calculated disparity vector mv of the target block, so that the macro block type represented by the mode-related information from the variable length decoding unit 442 Generate a predicted image of the block.
  • the disparity compensation unit 472 acquires a corresponding block that is a block at a position shifted by the calculated disparity vector mv from the position of the target block in the picture of the decoded color image C # 1 as a predicted image.
  • the parallax compensation unit 472 supplies the predicted image to the predicted image selection unit 451.
  • FIG. 23 is a flowchart for explaining a decoding process performed by the decoder 322 of FIG. 21 to decode the encoded data of the color image C # 2 of the viewpoint # 2.
  • step S111 the accumulation buffer 441 stores the encoded data of the color image C # 2 of the viewpoint # 2 supplied thereto, and the process proceeds to step S112.
  • step S112 the variable length decoding unit 442 restores the quantization value and header information by reading the encoded data stored in the accumulation buffer 441 and performing variable length decoding. Then, the variable length decoding unit 442 supplies the quantized value to the inverse quantization unit 443, and supplies the header information to the intra-screen prediction unit 449 and the disparity prediction unit 450, and the process proceeds to step S113. move on.
  • step S113 the inverse quantization unit 443 inversely quantizes the quantized value from the variable length decoding unit 442 into a transform coefficient, supplies the transform coefficient to the inverse orthogonal transform unit 444, and the process proceeds to step S114.
  • step S114 the inverse orthogonal transform unit 444 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 443, supplies the transform coefficient in units of macroblocks to the calculation unit 445, and the process proceeds to step S115.
  • step S115 the computing unit 445 supplies the macroblock from the inverse orthogonal transform unit 444 as a target block (residual image) to be decoded, and supplies the target block from the predicted image selecting unit 451 as necessary.
  • the decoded image is obtained by adding the predicted images.
  • the arithmetic unit 445 supplies the decoded image to the deblocking filter 446, and the process proceeds from step S115 to step S116.
  • step S116 the deblocking filter 446 performs filtering on the decoded image from the calculation unit 445, and outputs the decoded image (decoded color image C # 2) after the filtering to the DPB 331 and the screen rearrangement buffer 447.
  • the process proceeds to step S117.
  • step S117 the DPB 331 stores the decoded color image C # 2 from the deblocking filter 446, and the process proceeds to step S118.
  • step S118 the DPB 331 waits for the decoded color image C # 1 to be supplied from the decoder 311 that decodes the color image C # 1, and stores the decoded color image C # 1, and the process proceeds to step S119. Proceed to
  • step S119 the DPB 331 waits for the decoded parallax image D # 2 to be supplied from the decoder 322 that decodes the parallax image D # 2, stores the decoded parallax image D # 2, and the processing is performed in step S120. Proceed to
  • step S120 the intra prediction unit 449 and the disparity prediction unit 462 perform intra prediction on the next target block (the next macro block to be decoded) based on the header information supplied from the variable length decoding unit 442. It recognizes whether it is encoded using the prediction image produced
  • the intra prediction unit 449 When the next target block is encoded using a predicted image generated by intra prediction, the intra prediction unit 449 performs an intra prediction process (intra prediction process).
  • the intra-screen prediction unit 449 performs intra prediction (intra-screen prediction) for generating a predicted image (predicted image of intra prediction) from the picture of the decoded color image C # 2 stored in the DPB 331 for the next target block.
  • the prediction image is supplied to the prediction image selection unit 451, and the process proceeds from step S120 to step S121.
  • the disparity prediction unit 462 performs disparity prediction processing (inter prediction processing).
  • the disparity prediction unit 462 predicts the next target block included in the header information from the variable length decoding unit 442 among the pictures of the decoded color image C # 1 stored in the DPB 331.
  • a picture to which a reference index for use is assigned is selected as a reference picture.
  • the parallax prediction unit 462 generates a predicted image by performing parallax prediction (disparity compensation) using mode-related information included in the header information from the variable length decoding unit 442, and the predicted image is The image is supplied to the predicted image selection unit 451, and the process proceeds from step S120 to step S121.
  • step S ⁇ b> 121 the predicted image selection unit 451 selects the predicted image from the one of the intra-screen prediction unit 449 and the parallax prediction unit 462 to which the predicted image is supplied, and supplies the selected predicted image to the calculation unit 445. Then, the process proceeds to step S122.
  • the predicted image selected by the predicted image selection unit 451 in step S121 is used in the process of step S115 performed in the decoding of the next target block.
  • step S122 the screen rearrangement buffer 447 temporarily stores and reads the picture of the decoded parallax image D # 2 from the deblocking filter 446, whereby the picture rearrangement is rearranged, and the D / A conversion unit Then, the process proceeds to step S123.
  • step S123 when it is necessary to output the picture from the screen rearrangement buffer 447 as an analog signal, the D / A conversion unit 348 performs D / A conversion on the picture and outputs the picture.
  • FIG. 24 is a flowchart illustrating the parallax prediction process performed by the parallax prediction unit 462 in FIG. 22 in step S120 in FIG.
  • step S131 the parallax prediction unit 462 acquires the MB index of the (next) target block from the MB index calculation unit 461, and supplies the MB index of the target block to the prediction vector generation unit 471.
  • the disparity prediction unit 462 includes disparity related information such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2) included in the header information from the variable length decoding unit 442 (FIG. 4). ) And is supplied to the prediction vector generation unit 471.
  • the disparity prediction unit 462 acquires the encoding information (mode related information, residual vector, and prediction reference index) of the (next) target block included in the header information from the variable length decoding unit 442.
  • the prediction vector generation unit 471 and the parallax compensation unit 472 are supplied to the process, and the process proceeds from step S131 to step S132.
  • step S132 the parallax prediction unit 462 acquires a picture of the decoded parallax image D # 2 (a picture at the same time as the target picture) from the DPB 331, supplies the picture to the prediction vector generation unit 471, and the process proceeds to step S133. move on.
  • step S133 the prediction vector generation unit 471 recognizes the (next) target block in the target picture based on the MB index from the MB index calculation unit 461, and generates a prediction vector of the target block. I do.
  • generation part 471 supplies the prediction vector of the object block obtained by the prediction vector production
  • step S134 the parallax compensation unit 472 calculates the target block by adding the residual vector of the target block included in the header information from the variable length decoding unit 442 and the prediction vector from the prediction vector generation unit 471.
  • the disparity vector mv is restored, and the process proceeds to step S135.
  • the calculated disparity vector mv of the target block is supplied to the prediction vector generation unit 471.
  • the predicted vector generation unit 471 performs the predicted vector generation process in step S133 described above using the calculated parallax vector mv supplied from the parallax compensation unit 472 as the calculated parallax vector of the peripheral color block of the block that will be the target block later. Done.
  • step S135 the parallax compensation unit 472 acquires, from the DPB 331, the picture of the decoded color image C # 1 to which the prediction index of the target block is assigned as a reference picture, and the process proceeds to step S136.
  • step S136 the parallax compensation unit 472 generates a predicted image of the target block by performing MC on the picture of the decoded color image C # 1, which is a reference picture from the DPB 331, according to the calculated parallax vector mv of the target block. The process proceeds to step S137.
  • the disparity compensation unit 472 acquires a corresponding block that is a block at a position shifted by the calculated disparity vector mv from the position of the target block in the picture of the decoded color image C # 1 as a predicted image.
  • step S137 the parallax compensation unit 472 supplies the predicted image to the predicted image selection unit 451, and the process returns.
  • FIG. 25 is a flowchart for explaining the prediction vector generation process performed by the prediction vector generation unit 471 (FIG. 22) in step S133 of FIG.
  • step S141 the prediction vector generation unit 471 uses the peripheral color blocks (for example, the three peripheral colors in FIG. 3) of the color image C # 2 that have already been encoded from the header information from the variable length decoding unit 442.
  • the encoding information of the blocks CA to CC) is acquired, and the process proceeds to step S142.
  • step S142 the prediction vector generation unit 471 determines, from the picture of the decoded parallax image D # 2 from the DPB 331 (the picture at the same time as the target picture), the block at the same position as the target block (the same position block) and the same position.
  • the peripheral parallax blocks around the block (the block of the picture of the decoded parallax image D # 2 at the same position as the peripheral color block for which the encoding information was acquired in step S141) (for example, the three peripheral parallax blocks DA through FIG. DC) is acquired, and the process proceeds to step S143.
  • step S143 the prediction vector generation unit 471 uses the information acquired in steps S141 and S142 as necessary, and uses the macroblock as the optimal inter prediction mode represented by the mode-related information included in the coding information of the target block.
  • the prediction vector generation unit 471 uses the information acquired in steps S141 and S142 as necessary, and uses the macroblock as the optimal inter prediction mode represented by the mode-related information included in the coding information of the target block.
  • generation part 471 supplies the prediction vector of an object block to the parallax compensation part 472, and a process returns.
  • the MVC method (median prediction method) is adopted as another vector prediction method for the disparity information use prediction method.
  • FIG. 1 and FIG. 2 The SAD minimum prediction method described in FIG. 1 and FIG. 2 can be employed.
  • FIG. 26 is a diagram for explaining a method for estimating the prediction accuracy of the disparity information utilization prediction method and the MVC method (median prediction method) based on the coding cost.
  • the disparity information utilization prediction method and the median prediction method (MVC method) prediction accuracy is estimated, and a prediction vector is generated by a vector prediction method estimated to have good prediction accuracy among a disparity information use prediction method and a median prediction method.
  • the prediction accuracy of the method and the median prediction method can be estimated based on the coding cost of the target block.
  • the color image C # 2 includes a background and a rectangular foreground as an object existing on the near side of the background, and the color image C # 2
  • the target block CX is the upper left block of the rectangular foreground.
  • the surrounding color block CA adjacent to the left of the target block CX, the surrounding color block CB adjacent to the upper side, and the surrounding color block CC adjacent to the upper right are all background blocks.
  • the median prediction method (median Even if it is a predictor) or a SAD minimum prediction method (SAD minimum predictor)
  • the prediction accuracy of a prediction vector may deteriorate.
  • the prediction vector PMVD of the disparity information utilization prediction method (disparity information utilization predictor)
  • the encoding cost COSTD when the target block is encoded and the prediction of the median prediction method (median predictor)
  • a coding cost COSTC when the target block is coded is calculated using the vector PMVC.
  • the prediction vector with the smaller coding cost among the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the median prediction method is the prediction vector of the target block. Selected.
  • a predictor flag that is a flag indicating a smaller encoding cost (one selected as the prediction vector of the target block) Is transmitted to the decoder side.
  • one of the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the median prediction method is generated as a prediction vector of the target block based on the predictor flag.
  • FIG. 27 is a block diagram illustrating a configuration example of the disparity prediction unit 232 in FIG. 12 when the prediction accuracy is estimated based on the encoding cost.
  • the parallax prediction unit 232 includes a parallax detection unit 541, a parallax compensation unit 542, a prediction vector generation unit 543, a cost function calculation unit 544, a mode selection unit 545, and an encoding information buffer 546.
  • the parallax detection unit 541 is supplied with the picture of the decoded color image C # 1, which is the reference picture stored in the DPB 31, and also from the screen rearrangement buffer 212, the picture of the color image C # 2 to be encoded (target Picture).
  • the parallax detection unit 541 is supplied with the MB index of the target block from the MB index calculation unit 231 and the prediction vector information from the prediction vector generation unit 543.
  • the parallax detection unit 541 recognizes the target block in the target picture from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the parallax detection unit 541 performs ME using the target block and the picture of the decoded color image C # 1, which is a reference picture, in the same manner as the MVC method, so that the target block and the decoded color image C # 1 are processed.
  • a shift vector representing a shift from the corresponding block that minimizes the SAD with respect to the target block that is, a calculated disparity vector mv representing a parallax with respect to the viewpoint # 1 of the target block is detected for each macroblock type.
  • the disparity detection unit 541 recognizes the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the MVC method (median prediction method) from the prediction vector information from the prediction vector generation unit 543, and the prediction vector An encoding cost is calculated for each of PMVD and PMVC.
  • the prediction vector information supplied from the prediction vector generation unit 543 to the disparity detection unit 541 includes a prediction vector PMVD of the disparity information utilization prediction method and a predictor flag (for example, a 1-bit flag) indicating the prediction vector PMVD. ) And a prediction vector PMVC of the MVC method and a predictor flag representing the prediction vector PMVC.
  • the disparity detection unit 541 uses the prediction vector PMVD of the disparity information utilization prediction method to encode the encoding cost (coding cost for the prediction vector PMVD) COSTD and the MVC prediction vector PMVC when the target block is encoded.
  • D represents the SAD between the target block and the block (corresponding block) at the position moved from the target block by the calculated disparity vector mv in the picture of the decoded color image C # 1, and ⁇ Is a weight for R and is set according to the quantization step of the residual of the target block.
  • R is a value corresponding to the code amount of the residual vector, which is the difference between the calculated disparity vector mv and the prediction vector.
  • the larger the residual vector the larger the code amount.
  • the prediction vector that obtains the smaller one of the coding costs COSTD and COSTC (Hereinafter also referred to as a minimum cost prediction vector) is selected from the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the MVC method included in the prediction vector information supplied from the prediction vector generation unit 543 , The prediction vector of the target block.
  • the disparity detection unit 541 estimates that the prediction vector with the smaller encoding cost (minimum) among the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the MVC method has high prediction accuracy. Then, the prediction vector whose coding cost is low is selected as the prediction vector of the target block.
  • the parallax detection unit 541 obtains a residual vector that is a difference between the calculated parallax vector mv of the target block and the minimum cost prediction vector, and supplies the residual vector to the parallax compensation unit 542 together with a predictor flag representing the minimum cost prediction vector. To do.
  • the disparity compensation unit 542 is supplied with the residual vector of the calculated disparity vector mv and the predictor flag from the disparity detection unit 541, and also is a picture of the decoded color image C # 1 that is a reference picture stored in the DPB 31 Is supplied.
  • the prediction vector information is supplied from the prediction vector generation unit 543 to the parallax compensation unit 542.
  • the disparity compensation unit 542 is based on the predictor flag from the disparity detection unit 541, and includes the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the MVC method included in the prediction vector information from the prediction vector generation unit 543.
  • the minimum cost prediction vector as the prediction vector of the target block is selected from among them.
  • the disparity compensation unit 542 restores the calculated disparity vector mv of the target block by adding the residual vector from the disparity detection unit 541 and the prediction vector (minimum cost prediction vector) of the target block.
  • the disparity compensation unit 542 uses the decoded color image C # 1 picture from the DPB 31 as a reference picture, and performs displacement compensation (disparity compensation) of the reference picture using the calculated disparity vector mv of the target block. By performing in the same manner as above, a predicted image of the target block is generated for each macroblock type.
  • the parallax compensation unit 542 is assigned the prediction image to the residual vector from the parallax detection unit 541 and the reference picture used to generate the prediction image (here, the picture of the decoded color image C # 1). Together with the reference index and the predictor flag (predictor flag representing the minimum cost prediction vector) from the parallax detection unit 541, it is supplied to the cost function calculation unit 544.
  • the prediction vector generation unit 543 is supplied with the picture of the decoded parallax image D # 2 stored in the DPB 31, and is also supplied with the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 543 is supplied with parallax-related information (FIG. 4) such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (shooting parallax vector d2 of viewpoint # 2).
  • parallax-related information such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (shooting parallax vector d2 of viewpoint # 2).
  • the prediction vector generation unit 543 receives from the encoding information buffer 546 the peripheral color blocks around the target block of the color image C # 2, which have already been encoded, that is, for example, FIG. 26 (FIG. 3). Encoding information of the peripheral color blocks CA to CC is supplied.
  • the mode related information the calculated disparity vector, the reference index (prediction index) when the peripheral color block is encoded as the target block. Reference index).
  • the prediction vector generation unit 543 recognizes the target block in the target picture from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 543 uses the disparity related information, the picture of the decoded parallax image D # 2, and the like for each macroblock type (FIG. 9) in the same manner as the prediction vector generation unit 243 in FIG.
  • a prediction vector PMVD is generated by the information use prediction method, and a predictor flag representing the prediction vector PMVC of the disparity information use prediction method is generated.
  • the prediction vector generation unit 543 uses the encoding information of the peripheral color blocks CA to CC around the target block in the encoding information from the encoding information buffer 546 and the like, and the prediction vector generation unit 243 of FIG. Similarly, for each macroblock type (FIG. 9), a prediction vector PMVC is generated by the MVC method, and a predictor flag representing the prediction vector PMVC of the MVC method is generated.
  • the prediction vector generation unit 543 for each macroblock type (FIG. 9), the prediction vector PMVD of the disparity information utilization prediction method, the predictor flag representing the prediction vector PMVD, the prediction vector PMVC of the MVC method, And the predictor flag showing the prediction vector PMVC is supplied to the parallax detection part 541 and the parallax compensation part 542 as prediction vector information.
  • the cost function calculation unit 544 is supplied with the predicted image, the residual vector, the reference index, and the predictor flag from the parallax compensation unit 542, and also from the screen rearrangement unit buffer 212 with the target of the color image C # 2. A picture is supplied.
  • the cost function calculation unit 544 calculates the encoding cost required for encoding the target block of the target picture from the screen rearrangement buffer 212 for each macroblock type (FIG. 9). , According to a predetermined cost function.
  • the mode selection unit 545 sets the encoding cost together with the reference index, the predicted image, the residual vector, and the predictor flag. To supply.
  • the mode selection unit 545 detects the minimum cost, which is the minimum value, from the encoding costs for each macroblock type from the cost function calculation unit 544.
  • the mode selection unit 545 selects the macro block type for which the minimum cost is obtained as the optimal inter prediction mode.
  • the mode selection unit 545 includes mode-related information indicating the optimal inter prediction mode, a reference index of the optimal inter prediction mode (a reference index for prediction), a residual vector of the optimal inter prediction mode, and an optimal inter prediction mode.
  • mode-related information indicating the optimal inter prediction mode, a reference index of the optimal inter prediction mode (a reference index for prediction), a residual vector of the optimal inter prediction mode, and an optimal inter prediction mode.
  • the mode selection unit 545 supplies the prediction image and the encoding cost (minimum cost) in the optimal inter prediction mode to the prediction image selection unit 224.
  • the mode selection unit 545 also determines whether or not to encode the target block as a skip macroblock, similarly to the mode selection unit 245 of FIG.
  • the mode selection unit 545 obtains the calculated disparity vector of the target block used for encoding the target block in the optimal inter prediction mode from the disparity detection unit 541.
  • the mode selection unit 545 supplies the calculated disparity vector of the target block, the mode related information, and the reference index for prediction to the encoding information buffer 546 as the encoding information of the target block.
  • the encoding information buffer 546 temporarily stores the encoding information from the mode selection unit 546.
  • FIG. 28 is a flowchart for explaining the parallax prediction processing performed by the parallax prediction unit 232 of FIG. 27 in step S25 of FIG.
  • step S241 the disparity prediction unit 232 acquires the MB index of the (next) target block from the MB index calculation unit 231, and supplies the MB index to the disparity detection unit 541 and the prediction vector generation unit 543. Proceed to step S242.
  • step S242 the parallax prediction unit 232 acquires a picture of the decoded color image C # 1, which is a reference picture, from the DPB 31, and also acquires a decoded parallax image D # 2.
  • the parallax prediction unit 232 supplies the picture of the decoded color image C # 1 to the parallax detection unit 541 and the parallax compensation unit 542, and supplies the decoded parallax image D # 2 to the prediction vector generation unit 543. Then, the process proceeds to step S243.
  • step S243 the prediction vector generation unit 543 recognizes the (next) target block in the target picture supplied from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the predicted vector generation unit 543 uses the encoded information stored in the encoded information buffer 546, the decoded parallax image D # 2 stored in the DPB 31, other parallax-related information, and the like as necessary.
  • the macroblock type FIG. 9
  • a prediction vector generation process for generating a prediction vector of the (next) target block is performed.
  • the prediction vector generation unit 543 in the prediction vector generation process, for example, the prediction vector PMVD of the disparity information utilization prediction method, the predictor flag representing the prediction vector PMVD, the prediction vector PMVC of the MVC method, and A predictor flag representing the prediction vector PMVC is generated.
  • the prediction vector generation unit 543 includes a prediction vector PMVD of the disparity information utilization prediction method obtained by the prediction vector generation processing, a predictor flag representing the prediction vector PMVD, a prediction vector PMVC of the MVC method, and a prediction vector thereof
  • a predictor flag representing PMVC is supplied as prediction vector information to the parallax detection unit 541 and the parallax compensation unit 542, and the process proceeds from step S243 to step S244.
  • step S244 the parallax detection unit 541 recognizes the target block in the target picture supplied from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the disparity detection unit 541 performs a disparity vector detection process for detecting a calculated disparity vector mv for the (next) target block and selecting a prediction vector used for encoding the target block (calculation).
  • the disparity detection unit 541 performs ME using the picture of the decoded color image C # 1 from the DPB 31 as a reference picture for the (next) target block, as in the MVC scheme. Then, a calculated disparity vector mv representing the disparity of the target block with respect to the viewpoint # 1 is detected.
  • the disparity detection unit 541 uses the prediction vector PMVD of the disparity information utilization prediction method included in the prediction vector information from the prediction vector generation unit 543, and encodes the encoding cost when the target block is encoded (about the prediction vector PMVD). Encoding cost) COSTD.
  • the parallax detection unit 541 uses the MVC prediction vector PMVC included in the prediction vector information from the prediction vector generation unit 543 to encode the target block (coding for the prediction vector PMVC). Cost) Calculate COSTC.
  • the disparity detection unit 541 then obtains a prediction vector (minimum cost prediction vector) from which the smaller one of the coding costs COSTD and COSTC among the prediction vectors PMVD and PMVC is obtained as a prediction vector of the target block.
  • the disparity detection unit 541 obtains a residual vector that is the difference between the calculated disparity vector mv of the target block and the prediction vector that is the minimum cost prediction vector, and a predictor flag that represents the prediction vector (minimum cost prediction vector)
  • the data is supplied to the parallax compensation unit 542, and the process proceeds from step S244 to step S245.
  • step S245 the disparity compensation unit 542 restores the calculated disparity vector mv of the target block from the residual vector from the disparity detection unit 541, the predictor flag, and the prediction vector information from the prediction vector generation unit 543. .
  • the disparity compensation unit 542 generates a predicted image of the (next) target block by performing MC according to the calculated disparity vector mv of the target block using the decoded color image C # 1 picture from the DPB 31 as a reference picture. To do.
  • the parallax compensation unit 542 acquires a corresponding block that is a block at a position shifted by the calculated parallax vector mv from the position of the target block in the picture of the decoded color image C # 1 as a predicted image.
  • the parallax compensation unit 542 generates the prediction image, the residual vector from the parallax detection unit 541, the predictor flag, and the reference picture used to generate the prediction image (here, the decoded color image C #
  • the reference index assigned to (picture 1) is supplied to the cost function calculation unit 544, and the process proceeds from step S245 to step S246.
  • step S246 the cost function calculation unit 544 obtains, for each macroblock type (FIG. 9), an encoding cost required for encoding the target block of the target picture from the screen rearrangement buffer 212 according to a predetermined cost function.
  • the reference index, the predictor flag, the predicted image, and the residual vector from the parallax compensation unit 542 are supplied to the mode selection unit 545, and the process proceeds to step S247.
  • step S247 the mode selection unit 545 detects the minimum cost, which is the minimum value, from the encoding costs for each macroblock type from the cost function calculation unit 544.
  • the mode selection unit 545 selects the macro block type for which the minimum cost is obtained as the optimal inter prediction mode, and the process proceeds from step S247 to step S248.
  • step S248 the mode selection unit 545 supplies the prediction image in the optimal inter prediction mode and the encoding cost (minimum cost) to the prediction image selection unit 224, and the process proceeds to step S249.
  • the mode selection unit 545 includes mode-related information indicating the optimal inter prediction mode, a reference index of the optimal inter prediction mode (reference index for prediction), a residual vector of the optimal inter prediction mode, and the optimal inter prediction mode. Are supplied to the variable length coding unit 216 as header information.
  • step S249 the mode selection unit 545 acquires the calculated disparity vector of the target block used for encoding the target block in the optimal inter prediction mode from the disparity detection unit 541.
  • the mode selection unit 545 supplies the calculated disparity vector of the target block, the mode-related information, and the reference index for prediction to the encoding information buffer 546 as the encoding information of the target block, and stores them. Return.
  • FIG. 29 is a flowchart for explaining the prediction vector generation process performed by the prediction vector generation unit 543 in FIG. 27 in step S243 in FIG.
  • step S251 the prediction vector generation unit 543 outputs the peripheral color blocks (for example, three blocks in FIG. 26 (FIG. 3) of the target block of the color image C # 2 that have already been encoded from the encoding information buffer 546. Encoding information of the peripheral color blocks CA to CC) is acquired, and the process proceeds to step S252.
  • the peripheral color blocks for example, three blocks in FIG. 26 (FIG. 3) of the target block of the color image C # 2 that have already been encoded from the encoding information buffer 546. Encoding information of the peripheral color blocks CA to CC) is acquired, and the process proceeds to step S252.
  • step S252 the prediction vector generation unit 543 acquires a block (same position block) at the same position as the target block from the picture of the decoded parallax image D # 2 from the DPB 31 (picture at the same time as the target picture), and performs processing Advances to step S253.
  • steps S253 to S256 for each macroblock type, the encoding information acquired in step S251 and the same position block acquired in step S252 are used as necessary to predict the prediction vector PMVD of the disparity information utilization prediction method. And the vector prediction process which produces
  • step S253 the prediction vector generation unit 543 performs vector prediction processing for the 16 ⁇ 16 type, and the processing proceeds to step S254.
  • step S254 the prediction vector generation unit 543 performs vector prediction processing for the 16 ⁇ 8 type, and the process proceeds to step S255.
  • step S255 the prediction vector generation unit 543 performs vector prediction processing for the 8 ⁇ 16 type, and the process proceeds to step S256.
  • step S256 the prediction vector generation unit 543 performs vector prediction processing for the 8 ⁇ 8 or less type, and the processing returns.
  • FIG. 30 is a flowchart for explaining vector prediction processing performed by the prediction vector generation unit 543 of FIG. 27 for each macroblock type in steps S253 to S256 of FIG.
  • step S261 the prediction vector generation unit 543 obtains a prediction vector PMVC of the MVC scheme based on the coding information of the surrounding color block, as described in FIG. 11, and sets a predictor flag representing the prediction vector PMVC. The process proceeds to step S262.
  • step S262 the prediction vector generation unit 543 obtains the prediction vector PMVD of the disparity information utilization prediction method from the same position block, that is, the block at the same position as the target block of the decoded parallax image D # 2, and the prediction vector A predictor flag representing PMVD is generated, and the process returns.
  • FIG. 31 is a flowchart for explaining the parallax vector detection processing performed by the parallax detection unit 541 in FIG. 27 in S244 in FIG.
  • step S271 the disparity detection unit 541 detects the calculated disparity vector mv of the target block by performing ME using the decoded color image C # 1 picture from the DPB 31 as a reference picture for the target block, and the processing is performed. The process proceeds to step S272.
  • step S272 the parallax detection unit 541 uses the MVC prediction vector PMVC included in the prediction vector information from the prediction vector generation unit 543, and encodes the encoding cost (for the prediction vector PMVC) when the current block is encoded. (Coding cost) COSTC is calculated, and the process proceeds to step S273.
  • step S273 the disparity detection unit 541 encodes the target block using the prediction vector PMVD of the disparity information utilization prediction method (disparity information utilization predictor) included in the prediction vector information from the prediction vector generation unit 543. Encoding cost (coding cost for the prediction vector PMVD) COSTD is calculated, and the process proceeds to step S274.
  • step S274 the parallax detection unit 541 determines the magnitude relationship between the coding cost COSTC and the coding cost COSTD.
  • step S274 If it is determined in step S274 that the coding cost COSTC is greater than the coding cost COSTD, the process proceeds to step S275, and the disparity detection unit 541 uses the prediction vector PMVD of the disparity information utilization prediction method as the target block. Select the minimum cost prediction vector as the prediction vector, set the value “parallax image mode” indicating that the prediction vector of the target block is the prediction vector PMVD of the disparity information utilization prediction method in the predictor flag, and perform processing Will return.
  • step S274 If it is determined in step S274 that the encoding cost COSTC is not greater than the encoding cost COSTD, the process proceeds to step S276, and the disparity detection unit 541 uses the MVC prediction vector PMVC as the target block.
  • the minimum cost prediction vector is selected as the prediction vector, the value “MVC mode” indicating that the prediction vector of the target block is the prediction vector PMVC of the MVC scheme is set in the predictor flag, and the process returns.
  • the disparity prediction unit 232 of FIG. 27 generates the prediction vector PMVD of the disparity information utilization prediction method and the prediction vector PMVC of the MVC method as another vector prediction method, and uses the prediction vector PMVD.
  • the prediction cost is estimated to be higher when the coding cost is lower, the prediction vector used for the processing of the target block is selected, so that the code amount of the residual vector is reduced. A good prediction vector can be obtained.
  • the code amount of the residual vector is reduced, the code amount can be assigned to the residual of the target block, and as a result, the image quality of the decoded image of the color image C # 2 can be improved.
  • a predictor flag representing the one selected from the prediction vectors PMVD and PMVD as the prediction vector of the target block is generated and included in the header information of the encoded data.
  • the prediction vector of the target block can be easily obtained based on the predictor flag.
  • the predictor flag can be provided (transmitted) separately from the encoded data, in addition to being included in the header information of the encoded data.
  • FIG. 32 is a block diagram illustrating a configuration example of the parallax prediction unit 462 of FIG. 21 when the parallax prediction unit 232 of FIG. 12 is configured as illustrated in FIG.
  • the parallax prediction unit 462 is common to the case of FIG. 22 in that it includes a parallax compensation unit 472.
  • the parallax prediction unit 462 is different from the case of FIG. 22 in that it includes a prediction vector generation unit 671 instead of the prediction vector generation unit 471.
  • the prediction vector generation unit 671 is supplied with the picture of the decoded parallax image D # 2 stored in the DPB 331 and is also supplied with the MB index from the MB index calculation unit 461.
  • the prediction vector generation unit 671 includes parallax-related information such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2) included in the header information from the variable length decoding unit 442 ( FIG. 4) is supplied.
  • the prediction vector generation unit 671 includes peripheral color blocks (for example, FIG. 26 (FIG. 26)) that are included in the header information from the variable length decoding unit 442 and have already been decoded and are around the target block of the color image C # 2.
  • the encoding information of the peripheral color blocks CA to CC) in FIG. 3) and the encoding information of the target block are supplied.
  • the coding information of the peripheral color block included in the header information from the variable length decoding unit 442 includes mode related information (macroblock type) of the peripheral color block and a reference index (reference index for prediction).
  • mode related information microblock type
  • reference index reference index for prediction
  • the prediction vector generation unit 671 is supplied with the predictor flag of the target block included in the header information from the variable length decoding unit 442.
  • the predicted vector generation unit 671 is supplied from the parallax compensation unit 472 with the calculated parallax vectors of the peripheral color blocks that have already been decoded.
  • the prediction vector generation unit 671 recognizes the target block in the target picture based on the MB index from the MB index calculation unit 461.
  • the prediction vector generation unit 671 includes a predictor flag, disparity related information, and encoding information included in the header information from the variable length decoding unit 442, a picture of the decoded disparity image D # 2 stored in the DPB 331, and The calculated disparity vector of the surrounding color block from the disparity compensation unit 472 is used as necessary, and the prediction vector PMVD of the disparity information utilization prediction method or the prediction vector PMVC of the MVC method is used similarly to the prediction vector generation unit 543 of FIG. And is supplied to the parallax compensation unit 472 as a prediction vector of the target block.
  • the prediction vector generation unit 671 recognizes a vector prediction method for generating a prediction vector of the target block based on the predictor flag.
  • the prediction vector generation unit 671 recognizes the macroblock mode of the target block based on the encoding information of the target block, and for the macroblock mode, a predictor of the disparity information utilization prediction scheme and the MVC scheme.
  • a prediction vector of the target block is generated by the vector prediction method recognized based on the flag.
  • FIG. 33 is a flowchart for explaining the parallax prediction processing performed by the parallax prediction unit 462 of FIG. 32 in step S120 of FIG.
  • step S331 the disparity prediction unit 462 acquires the MB index of the (next) target block from the MB index calculation unit 461 and supplies the MB index of the target block to the prediction vector generation unit 671.
  • the disparity prediction unit 462 includes disparity related information such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2) included in the header information from the variable length decoding unit 442 (FIG. 4). ) And is supplied to the prediction vector generation unit 671.
  • the disparity prediction unit 462 also includes (next) target block coding information (mode related information, residual vector, and prediction reference index) included in the header information from the variable length decoding unit 442, and The predictor flag is acquired and supplied to the prediction vector generation unit 671 and the parallax compensation unit 472, and the process proceeds from step S331 to step S332.
  • target block coding information mode related information, residual vector, and prediction reference index
  • step S332 the parallax prediction unit 462 obtains a picture of the decoded parallax image D # 2 (a picture at the same time as the target picture) from the DPB 331, supplies the picture to the prediction vector generation unit 671, and the process proceeds to step S333. move on.
  • step S333 the prediction vector generation unit 671 recognizes the (next) target block in the target picture based on the MB index from the MB index calculation unit 461. Further, based on the predictor flag, the prediction vector generation unit 671 uses the information supplied in steps S331 and S332 as necessary, and uses the disparity information utilization prediction method or the MVC method to calculate the prediction vector of the target block. A prediction vector generation process to be generated is performed.
  • generation part 671 supplies the prediction vector of the object block obtained by the prediction vector production
  • steps S334 to S337 the same processes as in steps S134 to S137 of FIG. 24 are performed.
  • FIG. 34 is a flowchart illustrating the prediction vector generation process performed by the prediction vector generation unit 671 in FIG. 32 in step S333 in FIG.
  • step S341 the prediction vector generation unit 671 determines whether the predictor flag is set to the value “parallax image mode” or “MVC mode”.
  • step S341 If it is determined in step S341 that the predictor flag is set to the value “parallax image mode”, the process proceeds to step S342, and the prediction vector generation unit 671 determines the parallax from the decoded parallax image D # 2.
  • the prediction vector PMVD of the information usage prediction method (disparity information usage predictor) is generated as the prediction vector of the target block, and the process returns.
  • step S341 If it is determined in step S341 that the predictor flag is set to the value “MVC mode”, the process proceeds to step S343, and the prediction vector generation unit 671 includes the encoding information of the target block, and Then, using the encoding information of the surrounding color block and the calculated disparity vector as necessary, as described in FIG. 10, the MVC prediction vector PMVC is generated as the prediction vector of the target block, and the process returns. .
  • the prediction vector of the target block is the prediction vector PMVD of the disparity information use prediction method or the prediction vector PMVC of the MVC method, depending on the predictor flag. Therefore, the processing load is reduced compared to the prediction vector generation unit 471 in FIG.
  • the minimum cost prediction vector that is the prediction vector with the smaller encoding cost of the prediction vector of the disparity information utilization prediction method and the prediction vector of the MVC method is used as the target block.
  • the prediction vector is selected and the predictor flag representing the minimum cost prediction vector is transmitted to the decoder 312.
  • the encoder 12 for example, the prediction vector of the disparity information utilization prediction method and other 1 Among the above vectors, the vector with the lowest coding cost can be selected as the prediction vector of the target block.
  • encoding is performed among four vectors of prediction vectors of the disparity information utilization prediction method, neighboring color blocks CA and CB, and calculated disparity vectors of CC (FIG. 3) (FIG. 26).
  • the vector with the lowest cost can be selected as the prediction vector of the target block.
  • the predictor flag whether the prediction vector of the target block is one of the four vectors of the prediction vector of the disparity information utilization prediction method, the peripheral color blocks CA and CB, and the calculated disparity vector of CC. It becomes a flag showing.
  • 35 to 37 are diagrams showing examples of predictor flags included in the header information.
  • the predictor flag is included in the header information and supplied to the variable length encoding unit 216.
  • header information is included in the header of the encoded data.
  • 35 to 37 show predictor flags included in the header when the encoded data is MVC (AVC) encoded data.
  • the predictor flag can be set with a macroblock as a minimum unit.
  • the predictor flag is a macro block type (hereinafter also referred to as an 8 ⁇ 8 or more type) that divides the target block into a size of 8 ⁇ 8 pixels or more, that is, the target block is divided into 8 ⁇ 8 pixel partitions.
  • Macro block type (8 ⁇ 8 type), macro block type (16 ⁇ 8 type) that divides the target block into 16 ⁇ 8 pixel partitions, and macro block type that divides the target block into 8 ⁇ 16 pixel partitions ( 8 ⁇ 16 type) partition can be set as the minimum unit.
  • the predictor flag is a macroblock type (hereinafter referred to as “partition block”) that divides the target block into partitions having a size smaller than an 8 ⁇ 8 pixel partition, ie, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, or 4 ⁇ 4 pixel subpartitions.
  • partition block a macroblock type (hereinafter referred to as “partition block”) that divides the target block into partitions having a size smaller than an 8 ⁇ 8 pixel partition, ie, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, or 4 ⁇ 4 pixel subpartitions.
  • a partition (subpartition) of less than 8 ⁇ 8) can be set as the minimum unit.
  • FIG. 35 is a diagram showing a predictor flag set with a macroblock as a minimum unit.
  • FIG. 35 shows the syntax of mb_pred (mb_type) of the MVC method.
  • the predictor flag When the predictor flag is set with a macroblock as the minimum unit, the predictor flag is included in mb_pred (mb_type).
  • mv_pred_mode_l0 and mv_pred_mode_l1 indicate predictor flags.
  • mv_pred_mode_l0 is a predictor flag used when L0 prediction is performed
  • mv_pred_mode_l1 is a predictor flag used when L1 prediction is performed.
  • FIG. 36 is a diagram showing a predictor flag set with a partition of 8 ⁇ 8 or more type as a minimum unit.
  • FIG. 36 illustrates a partial syntax of mb_pred (mb_type) of the MVC method.
  • the predictor flag When setting the predictor flag as a minimum unit of a partition of 8 ⁇ 8 or more type, the predictor flag is included in mb_pred (mb_type).
  • mv_pred_mode_l0 [mbPartIdx] and mv_pred_mode_l1 [mbPartIdx] indicate predictor flags.
  • mv_pred_mode_l0 [mbPartIdx] is a predictor flag used when L0 prediction is performed
  • mv_pred_mode_l1 [mbPartIdx] is a predictor flag used when L1 prediction is performed.
  • the argument mbPartIdx of the predictor flags mv_pred_mode_l0 [mbPartIdx] and mv_pred_mode_l1 [mbPartIdx] is an index for distinguishing each partition of 8 ⁇ 8 or more type.
  • FIG. 37 is a diagram showing a predictor flag that is set with a partition of a type less than 8 ⁇ 8 as a minimum unit.
  • FIG. 37 shows a partial syntax of sub_mb_pred (mb_type) of the MVC method.
  • the predictor flag When the predictor flag is set with a partition of a type less than 8 ⁇ 8 as the minimum unit, the predictor flag is included in mb_pred (mb_type) and sub_mb_pred (mb_type).
  • FIG. 36 shows sub_mb_pred The predictor flag included in (mb_type) is shown.
  • mv_pred_mode_l0 [mbPartIdx] [subMbPartIdx] and mv_pred_mode_l1 [mbPartIdx] [subMbPartIdx] indicate predictor flags.
  • mv_pred_mode_l0 [mbPartIdx] [subMbPartIdx] is a predictor flag used when L0 prediction is performed
  • mv_pred_mode_l1 [mbPartIdx] [subMbPartIdx] is used when L1 prediction is performed. Predictor flag.
  • the argument subMbPartIdx of the predictor flags mv_pred_mode_l0 [mbPartIdx] [subMbPartIdx] and mv_pred_mode_l1 [mbPartIdx] [subMbPartIdx] is an index for distinguishing each partition of a type less than 8 ⁇ 8.
  • the predictor flag when the predictor flag is set with a macroblock as the minimum unit, an increase in the amount of encoded data header data (overhead data amount) can be minimized.
  • the predictor flag when the predictor flag is set with a partition (subpartition) of less than 8 ⁇ 8 as the minimum unit, the prediction vector can be controlled for each small-sized partition, so that the prediction accuracy is improved. be able to.
  • the predictor flag when the predictor flag is set as a minimum unit of a partition of 8 ⁇ 8 or more type, a case where the macroblock is set as the minimum unit while suppressing an increase in the data amount of the header of the encoded data, and 8 ⁇ Prediction accuracy that is intermediate between the case of using a partition of less than 8 as the minimum unit can be realized.
  • FIG. 38 is a diagram for explaining a method for estimating the prediction accuracy of the disparity information utilization prediction method and the MVC method (median prediction method) based on how the disparity vectors vary.
  • the disparity information utilization prediction method and the median prediction method (MVC method)
  • the prediction vector is generated by the vector prediction method estimated to have good prediction accuracy among the disparity information utilization prediction method and the median prediction method, but the disparity information utilization prediction method, and
  • the prediction accuracy of the median prediction method can be estimated based on the degree of variation in the calculated parallax vectors of the peripheral color blocks around the target block.
  • the color image C # 2 includes a background and a rectangular foreground as an object existing on the near side of the background, and the color image C # 2
  • the target block CX is the upper left block of the rectangular foreground.
  • the surrounding color block CA adjacent to the left of the target block CX, the surrounding color block CB adjacent to the upper side, and the surrounding color block CC adjacent to the upper right are all background blocks.
  • the median prediction method (median Even if it is a predictor) or a SAD minimum prediction method (SAD minimum predictor)
  • the prediction accuracy of a prediction vector may deteriorate.
  • variance is calculated as the degree of variation in the calculated disparity vectors of the surrounding color blocks CA or CC that have already been encoded (decoded) around the target block.
  • a prediction vector generated by a disparity information use prediction method (disparity information use predictor) based on the dispersion as the degree of dispersion of the calculated disparity vectors of the surrounding color blocks CA to CC, and other vectors
  • a prediction method for example, a prediction vector estimated to have high prediction accuracy among prediction vectors generated by a median prediction method (median predictor) is generated as a prediction vector used for processing of the target block CX.
  • a variance (hereinafter also referred to as a peripheral vector variance) as a degree of variation of the calculated parallax vectors of the peripheral color blocks CA to CC is obtained, and it is determined whether or not the variance is a predetermined threshold value or more.
  • the surrounding vector variance is not equal to or greater than a predetermined threshold, that is, if there is not much difference between the calculated disparity vectors of the surrounding color blocks CA or CC, the prediction accuracy of the prediction vector generated by the median prediction method is improved. It is estimated that there is no problem, and the prediction vector of the target block CX is generated by the median prediction method (MVC method).
  • the prediction vector generated by the disparity information utilization prediction method when the peripheral vector variance is equal to or greater than a predetermined threshold, that is, when the degree of variation in the calculated disparity vectors of the peripheral color blocks CA to CC is large, the prediction vector generated by the disparity information utilization prediction method However, it is estimated that the prediction accuracy is higher than the prediction vector generated by the median prediction method, and the prediction vector of the target block CX is generated by the disparity information utilization prediction method.
  • FIG. 39 is a block diagram illustrating a configuration example of the disparity prediction unit 232 in FIG. 12 when the prediction accuracy is estimated based on the encoding cost.
  • the disparity prediction unit 232 is common to the case of FIG. 13 in that it includes a disparity detection unit 241, a disparity compensation unit 242, a cost function calculation unit 244, a mode selection unit 245, and an encoding information buffer 246. .
  • the parallax prediction unit 232 is different from the case of FIG. 13 in that it includes a prediction vector generation unit 743 instead of the prediction vector generation unit 243.
  • the prediction vector generation unit 743 is supplied with the picture of the decoded parallax image D # 2 stored in the DPB 31, and is also supplied with the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 743 is supplied with parallax-related information (FIG. 4) such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (shooting parallax vector d2 of viewpoint # 2).
  • parallax-related information such as the maximum value dmax and the minimum value dmin of the shooting parallax vector d (shooting parallax vector d2 of viewpoint # 2).
  • the prediction vector generation unit 743 receives from the encoding information buffer 246 the peripheral color blocks around the target block of the color image C # 2 that have already been encoded (for example, the peripheral color blocks CA through FIG. 38). CC) encoding information is supplied.
  • the encoding information of the peripheral color block includes mode related information, a calculated disparity vector, a reference index (prediction index) when the peripheral color block is encoded as a target block. Reference index).
  • the predicted vector generation unit 743 recognizes the target block in the target picture from the screen rearrangement buffer 212 based on the MB index from the MB index calculation unit 231.
  • the prediction vector generation unit 743 encodes the encoding information of the peripheral color blocks around the target block (for example, the peripheral color blocks CA to CC in FIG. 38) among the encoding information from the encoding information buffer 246.
  • a prediction vector used for processing of the target block a prediction vector estimated to have high prediction accuracy among a prediction vector generated by the disparity information use prediction method and a prediction vector generated by the MVC method is used. Generate.
  • the prediction vector generation unit 743 generates a prediction vector for each macroblock type (FIG. 9), and supplies the prediction vector information to the parallax detection unit 241, the parallax compensation unit 242, and the cost function calculation unit 244.
  • FIG. 40 is a flowchart for explaining the prediction vector generation process performed by the prediction vector generation unit 743 in FIG. 39 in step S43 in FIG.
  • step S451 the prediction vector generation unit 743 receives the peripheral color block around the target block of the color image C # 2 that has already been encoded from the encoding information buffer 246, that is, for example, FIG. 38 (FIG. 3). ) Of the three neighboring color blocks CA to CC are acquired, and the process proceeds to step S452.
  • step S452 the prediction vector generation unit 743 acquires a block (same position block) at the same position as the target block from the picture of the decoded parallax image D # 2 from the DPB 31 (picture at the same time as the target picture), and performs processing Advances to step S453.
  • steps S453 to S456 vector prediction processing for generating a prediction vector of the target block is performed for each macroblock type using the information acquired in steps S451 and S452 as necessary, and the processing returns. .
  • step S453 the prediction vector generation unit 743 performs vector prediction processing for the 6 ⁇ 16 type, and the processing proceeds to step S454.
  • step S454 the prediction vector generation unit 743 performs vector prediction processing for the 16 ⁇ 8 type, and the processing proceeds to step S455.
  • step S455 the prediction vector generation unit 743 performs vector prediction processing for the 8 ⁇ 16 type, and the process proceeds to step S456.
  • step S456 the prediction vector generation unit 743 performs vector prediction processing for the 8 ⁇ 8 or less type, and the processing returns.
  • FIG. 41 is a flowchart for explaining vector prediction processing performed by the prediction vector generation unit 743 (FIG. 39) of FIG. 39 for each macroblock type in steps S453 to S456 of FIG.
  • step S461 the prediction vector generation unit 743 determines that the color image C # 2 includes the peripheral color blocks around the target block (for example, the three peripheral color blocks CA to CC in FIG. 38) based on the encoding information. The number of reference index matching blocks whose reference index matches the target block is determined.
  • step S461 If it is determined in step S461 that the number of reference index matching blocks is 0, the process proceeds to step S464, and the prediction vector generation unit 743 performs disparity information in the same manner as the prediction vector generation unit 243 in FIG.
  • the prediction vector of the target block is generated from the decoded parallax image D # 2 by the usage prediction method, and the process returns.
  • step S461 If it is determined in step S461 that the number of reference index matching blocks is 1, the process proceeds to step S465, and the prediction vector generation unit 743 generates a prediction vector of the target block by the MVC method. The process returns.
  • step S461 when it is determined in step S461 that the number of reference index matching blocks is 2 or more (here, 2 or 3), the process proceeds to step S462, and the prediction vector generation unit 743 A peripheral vector which is a variance as a variation degree of a calculated disparity vector of each of two or more reference index matching blocks among peripheral color blocks (for example, three peripheral color blocks CA to CC in FIG. 38) around the block. The variance is obtained, and the process proceeds to step S463.
  • step S463 the predicted vector generation unit 743 determines whether the peripheral vector variance is equal to or greater than a predetermined threshold.
  • step S463 If it is determined in step S463 that the peripheral vector variance is equal to or greater than a predetermined threshold, it is estimated that there is no correlation between the target block and the peripheral color block and the prediction accuracy of the MVC prediction vector is poor. Therefore, the process proceeds to step S464, and the prediction vector generation unit 743 generates a prediction vector of the target block from the decoded parallax image D # 2 by the disparity information utilization prediction method, and the process returns.
  • step S463 If it is determined in step S463 that the peripheral vector variance is not equal to or greater than the predetermined threshold value, it is estimated that the prediction accuracy of the prediction vector of the MVC method is good. Therefore, the process proceeds to step S465, and the prediction vector generation unit In step 743, a prediction vector of the target block is generated by the MVC method, and the process returns.
  • FIG. 42 is a block diagram illustrating a configuration example of the disparity prediction unit 462 in FIG. 21 when the disparity prediction unit 232 in FIG. 12 is configured as illustrated in FIG.
  • the disparity prediction unit 462 is common to the case of FIG. 22 in that it includes a disparity compensation unit 472.
  • the parallax prediction unit 462 is different from the case of FIG. 22 in that it includes a prediction vector generation unit 871 instead of the prediction vector generation unit 471.
  • the prediction vector generation unit 871 is supplied with the picture of the decoded parallax image D # 2 stored in the DPB 331 and is also supplied with the MB index from the MB index calculation unit 461.
  • the prediction vector generation unit 871 includes parallax-related information (such as the maximum value dmax and the minimum value dmin) of the shooting parallax vector d (the shooting parallax vector d2 of the viewpoint # 2) included in the header information from the variable length decoding unit 442 ( FIG. 4) is supplied.
  • parallax-related information such as the maximum value dmax and the minimum value dmin
  • the prediction vector generation unit 871 includes peripheral color blocks (for example, FIG. 38) around the elephant block of the color image C # 2 that have already been decoded and are included in the header information from the variable length decoding unit 442.
  • the encoding information of the peripheral color blocks CA to CC) and the encoding information of the target block are supplied.
  • the encoding information of the peripheral color block included in the header information from the variable length decoding unit 442 includes mode related information (macroblock type) of the peripheral color block, and reference The index (reference index for prediction) is included, and the encoding information of the target block included in the header information from the variable length decoding unit 442 includes mode related information (macroblock type) of the target block, residual vector, And a reference index (prediction reference index).
  • the predicted vector generation unit 871 is supplied from the parallax compensation unit 472 with the calculated parallax vectors of the peripheral color blocks that have already been decoded.
  • the prediction vector generation unit 871 recognizes the target block in the target picture based on the MB index from the MB index calculation unit 461.
  • the prediction vector generation unit 871 acquires the picture of the decoded parallax image D # 2 stored in the DPB 331, the parallax related information, the encoding information, and the calculated parallax vector of the peripheral color block from the parallax compensation unit 472 as necessary. In the same manner as in the prediction vector generation unit 743 of FIG. 39, a prediction vector of the target block is generated and supplied to the parallax compensation unit 472.
  • the prediction vector generation unit 871 recognizes the macroblock mode of the target block based on the encoding information of the target block, and uses the prediction vector generated by the disparity information utilization prediction method and the MVC method for the macroblock mode. Of the generated prediction vectors, a prediction vector estimated to have high prediction accuracy is generated as a prediction vector of the target block.
  • FIG. 43 is a flowchart illustrating the prediction vector generation process performed by the prediction vector generation unit 871 of FIG. 42 in step S133 of FIG.
  • step S541 the prediction vector generation unit 871 uses the peripheral color block (for example, the three peripheral colors in FIG. 38) of the color image C # 2 that has already been encoded from the header information from the variable length decoding unit 442.
  • the encoding information of blocks CA to CC) is acquired, and the process proceeds to step S542.
  • step S542 the prediction vector generation unit 871 acquires a block (same position block) at the same position as the target block from the picture of the decoded parallax image D # 2 from the DPB 331 (picture at the same time as the target picture), and performs processing Advances to step S543.
  • step S543 the prediction vector generation unit 871 uses the information acquired in steps S541 and S542 as necessary, and the macroblock as the optimal inter prediction mode represented by the mode-related information included in the encoding information of the target block. By performing the same vector prediction processing as described with reference to FIG. 41 for the mode, a prediction vector of the target block for the macroblock mode is generated.
  • generation part 871 supplies the prediction vector of an object block to the parallax compensation part 472, and a process returns.
  • the peripheral vector variance should be calculated with a smaller amount of computation than the disparity SAD. Therefore, it is possible to obtain a prediction vector with good prediction accuracy more easily than the case based on the parallax SAD described in FIG.
  • the MVC method (median prediction method) is adopted as another vector prediction method for the disparity information use prediction method.
  • FIG. The SAD minimum prediction method described with reference to FIGS. 1 and 2 can be employed.
  • FIG. 45 shows a configuration example of an embodiment of a computer in which a program for executing the series of processes described above is installed.
  • the program can be recorded in advance in a hard disk 805 or ROM 803 as a recording medium built in the computer.
  • the program can be stored (recorded) in a removable recording medium 811.
  • a removable recording medium 811 can be provided as so-called package software.
  • examples of the removable recording medium 811 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, and a semiconductor memory.
  • the program can be installed in the computer from the removable recording medium 811 as described above, or can be downloaded to the computer via a communication network or a broadcast network and installed in the built-in hard disk 805. That is, the program is transferred from a download site to a computer wirelessly via a digital satellite broadcasting artificial satellite, or wired to a computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
  • a network such as a LAN (Local Area Network) or the Internet.
  • the computer includes a CPU (Central Processing Unit) 802, and an input / output interface 810 is connected to the CPU 802 via a bus 801.
  • CPU Central Processing Unit
  • the CPU 802 executes a program stored in a ROM (Read Only Memory) 803 accordingly. .
  • the CPU 802 loads a program stored in the hard disk 805 to a RAM (Random Access Memory) 804 and executes it.
  • the CPU 802 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. Then, the CPU 802 outputs the processing result as necessary, for example, via the input / output interface 810, from the output unit 806, or from the communication unit 808, and further recorded on the hard disk 805.
  • the input unit 807 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 806 includes an LCD (Liquid Crystal Display), a speaker, and the like.
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, parallel processing or object processing).
  • the program may be processed by one computer (processor), or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
  • the present technology is not limited to encoding and decoding using MVC. That is, the present technology can be applied to a case where an image of a plurality of viewpoints is encoded and decoded using a prediction vector.
  • FIG. 46 illustrates a schematic configuration of a television apparatus to which the present technology 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, and an external interface unit 909. Furthermore, the television apparatus 900 includes a control unit 910, a user interface unit 911, and the like.
  • the tuner 902 selects a desired channel from the broadcast wave signal received by the antenna 901, demodulates it, and outputs the obtained encoded bit stream to the demultiplexer 903.
  • the demultiplexer 903 extracts video and audio packets of the program to be viewed from the encoded bit stream, and outputs the extracted packet data to the decoder 904. Further, the demultiplexer 903 supplies a packet of data such as EPG (Electronic Program Guide) to the control unit 910. If scrambling is being performed, descrambling is performed by a demultiplexer or the like.
  • EPG Electronic Program Guide
  • the decoder 904 performs packet decoding processing, and outputs video data generated by the decoding processing to the video signal processing unit 905 and audio data to the audio signal processing unit 907.
  • the video signal processing unit 905 performs noise removal, video processing according to user settings, and the like on the video data.
  • the video signal processing unit 905 generates video data of a program to be displayed on the display unit 906, image data by processing based on an application supplied via a network, and the like.
  • the video signal processing unit 905 generates video data for displaying a menu screen for selecting an item and the like, and superimposes the video data on the video data of the program.
  • the video signal processing unit 905 generates a drive signal based on the video data generated in this way, and drives the display unit 906.
  • the display unit 906 drives a display device (for example, a liquid crystal display element or the like) based on a drive signal from the video signal processing unit 905 to display a program video or the like.
  • a display device for example, a liquid crystal display element or the like
  • the audio signal processing unit 907 performs predetermined processing such as noise removal on the audio data, performs D / A conversion processing and amplification processing on the processed audio data, and outputs the audio data to the speaker 908.
  • the external interface unit 909 is an interface for connecting to an external device or a network, and transmits and receives data such as video data and audio data.
  • a user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 includes an operation switch, a remote control signal receiving unit, and the like, and supplies an operation signal corresponding to a user operation to the control unit 910.
  • the control unit 910 is configured using a CPU (Central Processing Unit), a memory, and the like.
  • the memory stores a program executed by the CPU, various data necessary for the CPU to perform processing, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU at a predetermined timing such as when the television device 900 is activated.
  • the CPU executes each program to control each unit so that the television device 900 operates in accordance with the user operation.
  • the television device 900 includes a bus 912 for connecting the tuner 902, the demultiplexer 903, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
  • the decoder 904 is provided with the function of the image processing apparatus (image processing method) of the present application. For this reason, a vector with high prediction accuracy can be obtained as a prediction vector of a disparity vector.
  • FIG. 47 illustrates a schematic configuration of a mobile phone to which the present technology is applied.
  • the cellular phone 920 includes a communication unit 922, an audio codec 923, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, and a control unit 931. These are connected to each other via a bus 933.
  • an antenna 921 is connected to the communication unit 922, and a speaker 924 and a microphone 925 are connected to the audio codec 923. Further, an operation unit 932 is connected to the control unit 931.
  • the mobile phone 920 performs various operations such as transmission / reception of voice signals, transmission / reception of e-mail and image data, image shooting, and data recording in various modes such as a voice call mode and a data communication mode.
  • the voice signal generated by the microphone 925 is converted into voice data and compressed by the voice codec 923 and supplied to the communication unit 922.
  • the communication unit 922 performs audio data modulation processing, frequency conversion processing, and the like to generate a transmission signal.
  • the communication unit 922 supplies a transmission signal to the antenna 921 and transmits it to a base station (not shown).
  • the communication unit 922 performs amplification, frequency conversion processing, demodulation processing, and the like of the reception signal received by the antenna 921, and supplies the obtained audio data to the audio codec 923.
  • the audio codec 923 performs data expansion of the audio data and conversion to an analog audio signal and outputs the result to the speaker 924.
  • the control unit 931 receives character data input by operating the operation unit 932 and displays the input characters on the display unit 930.
  • the control unit 931 generates mail data based on a user instruction or the like in the operation unit 932 and supplies the mail data to the communication unit 922.
  • the communication unit 922 performs mail data modulation processing, frequency conversion processing, and the like, and transmits the obtained transmission signal from the antenna 921.
  • the communication unit 922 performs amplification, frequency conversion processing, demodulation processing, and the like of the reception signal received by the antenna 921, and restores mail data. This mail data is supplied to the display unit 930 to display the mail contents.
  • the mobile phone 920 can also store the received mail data in a storage medium by the recording / playback unit 929.
  • the storage medium is any rewritable storage medium.
  • the storage medium is a removable medium such as a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card.
  • the image data generated by the camera unit 926 is supplied to the image processing unit 927.
  • the image processing unit 927 performs encoding processing of image data and generates encoded data.
  • the demultiplexing unit 928 multiplexes the encoded data generated by the image processing unit 927 and the audio data supplied from the audio codec 923 by a predetermined method, and supplies the multiplexed data to the communication unit 922.
  • the communication unit 922 performs modulation processing and frequency conversion processing of multiplexed data, and transmits the obtained transmission signal from the antenna 921.
  • the communication unit 922 performs amplification, frequency conversion processing, demodulation processing, and the like of the reception signal received by the antenna 921, and restores multiplexed data. This multiplexed data is supplied to the demultiplexing unit 928.
  • the demultiplexing unit 928 performs demultiplexing of the multiplexed data, and supplies the encoded data to the image processing unit 927 and the audio data to the audio codec 923.
  • the image processing unit 927 performs a decoding process on the encoded data to generate image data.
  • the image data is supplied to the display unit 930 and the received image is displayed.
  • the audio codec 923 converts the audio data into an analog audio signal, supplies the analog audio signal to the speaker 924, and outputs the received audio.
  • the image processing unit 927 is provided with the function of the image processing device (image processing method) of the present application. For this reason, a vector with high prediction accuracy can be obtained as a prediction vector of a disparity vector.
  • FIG. 48 illustrates a schematic configuration of a recording / reproducing apparatus to which the present technology is applied.
  • the recording / reproducing apparatus 940 records, for example, audio data and video data of a received broadcast program on a recording medium, and provides the recorded data to the user at a timing according to a user instruction.
  • the recording / reproducing device 940 can also acquire audio data and video data from another device, for example, and record them on a recording medium. Further, the recording / reproducing apparatus 940 decodes and outputs the audio data and video data recorded on the recording medium, thereby enabling image display and audio output on the monitor apparatus or the like.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface unit 942, an encoder 943, an HDD (Hard Disk Drive) unit 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) unit 948, a control unit 949, A user interface unit 950 is included.
  • Tuner 941 selects a desired channel from a broadcast signal received by an antenna (not shown).
  • the tuner 941 outputs an encoded bit stream obtained by demodulating the received signal of a desired channel to the selector 946.
  • the external interface unit 942 includes at least one of an IEEE 1394 interface, a network interface unit, a USB interface, a flash memory interface, and the like.
  • the external interface unit 942 is an interface for connecting to an external device, a network, a memory card, and the like, and receives data such as video data and audio data to be recorded.
  • the encoder 943 performs encoding by a predetermined method when the video data and audio data supplied from the external interface unit 942 are not encoded, and outputs an encoded bit stream to the selector 946.
  • the HDD unit 944 records content data such as video and audio, various programs, and other data on a built-in hard disk, and reads them from the hard disk during playback.
  • the disk drive 945 records and reproduces signals with respect to the mounted optical disk.
  • An optical disk such as a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.), Blu-ray disk, or the like.
  • the selector 946 selects one of the encoded bit streams from the tuner 941 or the encoder 943 and supplies it to either the HDD unit 944 or the disk drive 945 when recording video or audio. Further, the selector 946 supplies the encoded bit stream output from the HDD unit 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 performs a decoding process on the encoded bit stream.
  • the decoder 947 supplies the video data generated by performing the decoding process to the OSD unit 948.
  • the decoder 947 outputs audio data generated by performing the decoding process.
  • the OSD unit 948 generates video data for displaying a menu screen for selecting an item and the like, and superimposes it on the video data output from the decoder 947 and outputs the video data.
  • a user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes an operation switch, a remote control signal receiving unit, and the like, and supplies an operation signal corresponding to a user operation to the control unit 949.
  • the control unit 949 is configured using a CPU, a memory, and the like.
  • the memory stores programs executed by the CPU and various data necessary for the CPU to perform processing.
  • the program stored in the memory is read and executed by the CPU at a predetermined timing such as when the recording / reproducing apparatus 940 is activated.
  • the CPU executes the program to control each unit so that the recording / reproducing device 940 operates according to the user operation.
  • the decoder 947 is provided with the function of the image processing apparatus (image processing method) of the present application. For this reason, a vector with high prediction accuracy can be obtained as a prediction vector of a disparity vector.
  • FIG. 49 illustrates a schematic configuration of an imaging apparatus to which the present technology is applied.
  • the imaging device 960 images a subject, displays an image of the subject on a display unit, and records it on a recording medium as image data.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a camera signal processing unit 963, an image data processing unit 964, a display unit 965, an external interface unit 966, a memory unit 967, a media drive 968, an OSD unit 969, and a control unit 970. Have. In addition, a user interface unit 971 is connected to the control unit 970. Furthermore, the image data processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD unit 969, the control unit 970, and the like are connected via a bus 972.
  • the optical block 961 is configured using a focus lens, a diaphragm mechanism, and the like.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 is configured using a CCD or CMOS image sensor, generates an electrical signal corresponding to the optical image by photoelectric conversion, and supplies the electrical signal to the camera signal processing unit 963.
  • the camera signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the electrical signal supplied from the imaging unit 962.
  • the camera signal processing unit 963 supplies the image data after the camera signal processing to the image data processing unit 964.
  • the image data processing unit 964 performs an encoding process on the image data supplied from the camera signal processing unit 963.
  • the image data processing unit 964 supplies the encoded data generated by performing the encoding process to the external interface unit 966 and the media drive 968. Further, the image data processing unit 964 performs a decoding process on the encoded data supplied from the external interface unit 966 and the media drive 968.
  • the image data processing unit 964 supplies the image data generated by performing the decoding process to the display unit 965. Further, the image data processing unit 964 superimposes the processing for supplying the image data supplied from the camera signal processing unit 963 to the display unit 965 and the display data acquired from the OSD unit 969 on the image data. To supply.
  • the OSD unit 969 generates display data such as a menu screen and icons made up of symbols, characters, or figures and outputs them to the image data processing unit 964.
  • the external interface unit 966 includes, for example, a USB input / output terminal, and is connected to a printer when printing an image.
  • a drive is connected to the external interface unit 966 as necessary, a removable medium such as a magnetic disk or an optical disk is appropriately mounted, and a computer program read from them is installed as necessary.
  • the external interface unit 966 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the control unit 970 reads the encoded data from the memory unit 967 in accordance with an instruction from the user interface unit 971, and supplies the encoded data to the other device connected via the network from the external interface unit 966. it can.
  • the control unit 970 may acquire encoded data and image data supplied from another device via the network via the external interface unit 966 and supply the acquired data to the image data processing unit 964. it can.
  • any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory is used.
  • the recording medium may be any type of removable medium, and may be a tape device, a disk, or a memory card. Of course, a non-contact IC card or the like may be used.
  • media drive 968 and the recording medium may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
  • a non-portable storage medium such as a built-in hard disk drive or an SSD (Solid State Drive).
  • the control unit 970 is configured using a CPU, a memory, and the like.
  • the memory stores programs executed by the CPU, various data necessary for the CPU to perform processing, and the like.
  • the program stored in the memory is read and executed by the CPU at a predetermined timing such as when the imaging device 960 is activated.
  • the CPU executes the program to control each unit so that the imaging device 960 operates according to the user operation.
  • the image data processing unit 964 is provided with the function of the image processing apparatus (image processing method) of the present application. For this reason, a vector with high prediction accuracy can be obtained as a prediction vector of a disparity vector.

Abstract

本技術は、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができる画像処理装置、画像処理方法、及び、プログラムに関する。予測ベクトル生成部243は、視点#1と異なる視点#2の色画像C#2の処理対象の対象ブロックの、視点#1の色画像C#1に対する視差を表す視差ベクトルの予測ベクトルを、視点#2の色画像C#2の画素ごとの視差に関する視差情報を画素値として有する視点#2の視差情報画像D#2から生成する視差情報利用予測方式で生成する。本発明は、例えば、複数の視点の画像の符号化や復号において、予測画像を生成するのに用いられる視差ベクトルの予測ベクトルを生成する場合に適用できる。

Description

画像処理装置、画像処理方法、及び、プログラム
 本技術は、画像処理装置、画像処理方法、及び、プログラムに関し、ある視点の画像の、他の視点の画像に対する視差を表す視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができるようにする画像処理装置、画像処理方法、及び、プログラムに関する。
 3D(Dimension)画像等の複数の視点の画像を符号化する符号化方式としては、例えば、AVC(Advanced Video Coding)(H.264/AVC)方式を拡張したMVC(Multiview Video Coding)方式等がある。
 MVC方式では、符号化対象となる画像は、被写体からの光に対応する値を、画素値として有する色画像であり、複数の視点の色画像それぞれは、必要に応じて、その視点の色画像の他、他の視点の色画像をも参照して、符号化される。
 すなわち、MVC方式では、複数の視点の色画像のうちの、1つの視点の色画像が、ベースビュー(Base View)の画像とされ、他の視点の色画像は、ディペンデントビュー(Dependent View)の画像とされる。
 そして、ベースビューの色画像は、そのベースビューの画像のみを参照して符号化され、ディペンデントビューの色画像は、そのディペンデントビューの画像の他、他のビューの画像をも必要に応じて参照して符号化される。
 すなわち、ディペンデントビューの色画像については、必要に応じて、他のビューの色画像を参照して予測画像を生成する視差予測が行われ、その予測画像を用いて符号化される。
 ここで、ある視点#1の色画像を、ベースビューの画像とするとともに、他の視点#2の色画像を、ディペンデントビューの画像とする。
 MVC方式において、視点#2の色画像について、視点#1の色画像を参照して視差予測が行われ、その視差予測により得られる予測画像を用いて符号化(予測符号化)が行われる場合、視点#2の色画像の符号化対象の、例えば、マクロブロックである対象ブロックの、視点#1の色画像に対する視差を表す視差ベクトルが検出される。
 さらに、MVC方式では、対象ブロックの視差ベクトルを予測した予測ベクトルが求められ、視差ベクトルと予測ベクトルとの差分である残差ベクトルが符号化される。
 MVC方式において、残差ベクトルの符号量は、残差ベクトルが大であるほど多くなる傾向があるので、残差ベクトルの大きさが小さければ、つまり、予測ベクトルの予測精度が良ければ(予測ベクトルが視差ベクトルに似ているほど)、符号化効率を向上させることができる。
 ところで、近年においては、複数の視点の画像として、各視点の色画像の他に、各視点の色画像の画素ごとの視差に関する視差情報を、画素値として有する視差情報画像(デプス画像)を採用し、各視点の色画像と各視点の視差情報画像とを符号化する符号化方式として、例えば、MPEG3DV方式等の規格が策定されつつある。
 MPEG3DV方式では、各視点の色画像と、各視点の視差情報画像とのそれぞれが、原則として、MVC方式と同様にして符号化される。
 MVC方式では、色画像の対象ブロックの周辺のブロックの視差ベクトルから、対象ブロックの(視差ベクトルの)予測ベクトルが求められるが、対象ブロックが、例えば、前景となっているオブジェクトの境界部分である場合には、その対象ブロックの周辺のブロックとして、前景のブロックや、背景のブロック、さらには、オクルージョンが生じている部分のブロックが混在することがあるため、そのようなブロックから求められる、対象ブロックの予測ベクトルについては、予測精度が悪くなることがある。
 そこで、視差情報画像に基づいて、色画像の、対象ブロックの周辺のブロックの視差ベクトルのうちの1つを、対象ブロックの予測ベクトルとして選択する方法が提案されている(例えば、非特許文献1を参照)。
Tadashi Uchiumi, Makoto Ohtsu, Junsei Sato, Yoshiya Yamamoto, Atsutoshi Shimeno, "A Method of Disparity Vector Prediction using Depth Map", NTERNATIONAL ORGANISATION FOR STANDARDISATION, ORGANISATION INTERNATIONALE DE NORMALISATION, ISO/IEC JTC1/SC29/WG11,CODING OF MOVING PICTURES AND AUDIO, ISO/IEC JTC1/SC29/WG11, MPEG2010/M18367, October 2010, Guangzhou, CN
 上述のように、視差情報画像に基づいて、色画像の、対象ブロックの周辺のブロックの視差ベクトルのうちの1つを、対象ブロックの予測ベクトルとして選択するのでは、予測性の良い予測ベクトルを得ることが困難な場合がある。
 本技術は、このような状況に鑑みてなされたものであり、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができるようにするものである。
 本技術の一側面の画像処理装置、又は、プログラムは、第1の視点と異なる第2の視点の色画像の処理対象の対象ブロックの、前記第1の視点の色画像に対する視差を表す視差ベクトルの予測ベクトルを、前記第2の視点の色画像の画素ごとの視差に関するデプス情報を画素値として有する第2の視点のデプス画像から生成するデプス情報利用予測方式で生成する予測ベクトル生成部を備える画像処理装置、又は、画像処理装置として、コンピュータを機能させるためのプログラムである。
 本技術の一側面の画像処理方法は、第1の視点と異なる第2の視点の色画像の処理対象の対象ブロックの、前記第1の視点の色画像に対する視差を表す視差ベクトルの予測ベクトルを、前記第2の視点の色画像の画素ごとの視差に関するデプス情報を画素値として有する第2の視点のデプス画像から生成するデプス情報利用予測方式で生成するステップを含む画像処理方法である。
 以上のような一側面においては、第1の視点と異なる第2の視点の色画像の処理対象の対象ブロックの、前記第1の視点の色画像に対する視差を表す視差ベクトルの予測ベクトルが、予測ベクトルを前記第2の視点の色画像の画素ごとの視差に関するデプス情報を画素値として有する第2の視点のデプス画像から生成するデプス情報利用予測方式で生成される。
 なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 本技術によれば、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができる。
SAD最小予測方式を説明する図である。 SAD最小予測方式を説明する図である。 本技術の概要を説明する図である。 本技術を適用した多視点画像エンコーダの一実施の形態の構成例を示すブロック図である。 多視点画像エンコーダにおいて符号化の対象となる複数の視点の画像を生成する多視点画像生成装置の構成例を示すブロック図である。 MVC方式の予測符号化において、予測画像を生成するときに参照するピクチャを説明する図である。 MVC方式でのピクチャの符号化(及び復号)順を説明する図である。 エンコーダ11の構成例を示すブロック図である。 MVC(AVC)方式のマクロブロックタイプを説明する図である。 MVC(AVC)方式の予測ベクトル(PMV)を説明する図である。 MVC(AVC)方式の予測ベクトルと参照インデクスとの関係を説明する図である。 エンコーダ12の構成例を示すブロック図である。 視差予測部232の構成例を示すブロック図である。 視点#2の色画像C#2を符号化する符号化処理を説明するフローチャートである。 視差予測処理を説明するフローチャートである。 予測ベクトル生成処理を説明するフローチャートである。 ベクトル予測処理を説明する図である。 ベクトル予測処理を説明するフローチャートである。 本技術を適用した多視点画像デコーダの一実施の形態の構成例を示すブロック図である。 デコーダ311の構成例を示すブロック図である。 デコーダ312の構成例を示すブロック図である。 視差予測部462の構成例を示すブロック図である。 視点#2の色画像C#2の符号化データを復号する復号処理を説明するフローチャートである。 視差予測処理を説明するフローチャートである。 予測ベクトル生成処理を説明するフローチャートである。 符号化コストに基づいて、視差情報利用予測方式、及び、MVC方式の予測精度を推定する方法を説明する図である。 視差予測部232の構成例を示すブロック図である。 視差予測処理を説明するフローチャートである。 予測ベクトル生成処理を説明するフローチャートである。 ベクトル予測処理を説明するフローチャートである。 視差ベクトル検出処理を説明するフローチャートである。 視差予測部462の構成例を示すブロック図である。 視差予測処理を説明するフローチャートである。 予測ベクトル生成処理を説明するフローチャートである。 ヘッダ情報に含められる予測器フラグの例を示す図である。 ヘッダ情報に含められる予測器フラグの例を示す図である。 ヘッダ情報に含められる予測器フラグの例を示す図である。 視差ベクトルのばらつき具合に基づいて、視差情報利用予測方式、及び、MVC方式の予測精度を推定する方法を説明する図である。 視差予測部232の構成例を示すブロック図である。 予測ベクトル生成処理を説明するフローチャートである。 ベクトル予測処理を説明するフローチャートである。 視差予測部462の構成例を示すブロック図である。 予測ベクトル生成処理を説明するフローチャートである。 視差と奥行きについて説明する図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。 本技術を適用したテレビジョン装置の概略構成例を示す図である。 本技術を適用した携帯電話機の概略構成例を示す図である。 本技術を適用した記録再生装置の概略構成例を示す図である。 本技術を適用した撮像装置の概略構成例を示す図である。
 [本明細書におけるデプス画像(視差情報画像)の説明]
 図44は、視差と奥行きについて説明する図である。
 図44に示すように、被写体Mのカラー画像が、位置C1に配置されたカメラc1と位置C2に配置されたカメラc2により撮影される場合、被写体Mの、カメラc1(カメラc2)からの奥行方向の距離である奥行きZは、以下の式(a)で定義される。
Figure JPOXMLDOC01-appb-I000001
                            ・・・(a)
 なお、Lは、位置C1と位置C2の水平方向の距離(以下、カメラ間距離という)である。また、dは、カメラc1で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u1から、カメラc2で撮影されたカラー画像上の被写体Mの位置の、カラー画像の中心からの水平方向の距離u2を減算した値、即ち視差である。さらに、fは、カメラc1の焦点距離であり、式(a)では、カメラc1とカメラc2の焦点距離は同一であるものとしている。
 式(a)に示すように、視差dと奥行きZは、一意に変換可能である。従って、本明細書では、カメラc1とカメラc2により撮影された2視点のカラー画像の視差dを表す画像と奥行きZを表す画像とを総称して、デプス画像(視差情報画像)とする。
 なお、デプス画像(視差情報画像)は、視差dまたは奥行きZを表す画像であればよく、デプス画像(視差情報画像)の画素値としては、視差dまたは奥行きZそのものではなく、視差dを正規化した値、奥行きZの逆数1/Zを正規化した値等を採用することができる。
 視差dを8bit(0~255)で正規化した値Iは、以下の式(b)により求めることができる。なお、視差dの正規化ビット数は8bitに限定されず、10bit,12bitなど他のビット数にすることも可能である。
Figure JPOXMLDOC01-appb-M000002
 なお、式(b)において、Dmaxは、視差dの最大値であり、Dminは、視差dの最小値である。最大値Dmaxと最小値Dminは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
 また、奥行きZの逆数1/Zを8bit(0~255)で正規化した値yは、以下の式(c)により求めることができる。なお、奥行きZの逆数1/Zの正規化ビット数は8bitに限定されず、10bit,12bitなど他のビット数にすることも可能である。
Figure JPOXMLDOC01-appb-M000003
 なお、式(c)において、Zfarは、奥行きZの最大値であり、Znearは、奥行きZの最小値である。最大値Zfarと最小値Znearは、1画面単位で設定されてもよいし、複数画面単位で設定されてもよい。
 このように、本明細書では、視差dと奥行きZとは一意に変換可能であることを考慮して、視差dを正規化した値Iを画素値とする画像と、奥行きZの逆数1/Zを正規化した値yを画素値とする画像とを総称して、デプス画像(視差情報画像)とする。ここでは、デプス画像(視差情報画像)のカラーフォーマットは、YUV420又はYUV400であるものとするが、他のカラーフォーマットにすることも可能である。
 なお、デプス画像(視差情報画像)の画素値としてではなく、値I又は値yの情報自体に着目する場合には、値I又は値yを、デプス情報(視差情報)とする。更に、値I又は値yをマッピングしたものをデプスマップとする。
 以下、図面を参照して、本技術の一実施の形態について説明するが、その前に、前段階の準備として、複数の視点の色画像、及び、視差情報画像(デプス画像)を対象とした符号化、及び、復号において、視差ベクトルの予測ベクトルを求める方法の一例であるSAD最小予測方式(SAD最小予測器)について説明する。
 [SAD最小予測方式]
 図1は、非特許文献1において、視差ベクトルの予測ベクトルを求める方法として提案されているSAD最小予測方式を説明する図である。
 いま、複数の視点の画像として、2つの視点の色画像である視点#1の色画像C#1、及び、視点#1と異なる視点#2の色画像C#2、並びに、2つの視点の視差情報画像である視点#1の視差情報画像D#1、及び、視点#2の視差情報画像D#2があるとする。
 なお、視差情報画像D#i(ここでは、i=1,2)は、色画像C#iの画素ごとの視差に関する視差情報(デプス情報)を、画素値として有する画像である。
 また、ここでは、視点#1の色画像C#1、及び、視点#2の色画像C#2のうちの、視点#1の色画像C#1(のピクチャ)を参照ピクチャとして、視点#2の色画像C#2の予測画像を生成する視差予測において用いられる視差ベクトルの予測ベクトルを求めることとする。
 いま、視点#2の色画像C#2の、先頭からt番目(時刻t)のピクチャである第tピクチャのあるブロック(マクロブロック)CXが、符号化(又は復号)対象の対象ブロックであるとする。
 ここで、色画像C#2の対象ブロックを有するピクチャ、つまり、符号化対象のピクチャを、対象ピクチャともいう。
 MVC方式では、色画像C#2の対象ブロックCXの(視差ベクトルの)予測ベクトルが、その対象ブロックCXの周辺のブロック(以下、周辺色ブロックともいう)のうちの、(ラスタスキャン順で)既に符号化(復号)済みのブロックの視差ベクトルから求められる。 
 すなわち、MVC方式では、対象ブロックCXの左に隣接する周辺色ブロックCA、上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCそれぞれの視差ベクトルのメディアン(中央値)を、対象ブロックCXの予測ベクトルとして求めるベクトル予測方式(以下、メディアン予測方式、又は、メディアン予測器ともいう)によって、予測ベクトルが求められる。
 なお、メディアン予測方式において、対象ブロックCXの予測ベクトルとしてのメディアンの算出は、x成分とy成分とのそれぞれについて、独立に行われる。
 いま、図1に示すように、色画像C#2に、背景と、その背景の手前側に存在するオブジェクトとしての矩形の前景とが写っており、対象ブロックCXが、前景の境界部分のブロックであるとする。
 すなわち、例えば、対象ブロックCXが、矩形の前景の左上のブロックの右隣のブロックであるとする。
 この場合、対象ブロックCXの左に隣接する周辺色ブロックCAは、矩形の前景の左上のブロックとなる。また、対象ブロックCXの上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCは、背景のブロックとなる。
 色画像C#2において、前景と背景とでは、視差が比較的大きく異なるため、前景のブロックである対象ブロックCXと、背景のブロックである周辺色ブロックCB及びCCそれぞれとでは、視差ベクトルが大きく異なる。
 また、前景のブロックである対象ブロックCXと周辺色ブロックCAとでは、視差ベクトルがほぼ同様のベクトルとなる。
したがって、この場合、前景のブロックである対象ブロックCXの予測ベクトルとしては、例えば、前景のブロックである周辺色ブロックCAを採用することで、精度の良い予測ベクトルを求めることができる。
 しかしながら、メディアン予測方式(メディアン予測器)では、周辺色ブロックCA,CB、及び、CCそれぞれの視差ベクトルのメディアンが、対象ブロックCXの予測ベクトルとして求められるため、周辺色ブロックCAないしCCの中で、数が多い背景のブロックである周辺色ブロックCB及びCCの視差ベクトルが、前景のブロックである対象ブロックCXの予測ベクトルとして採用される。
 この場合、対象ブロックCXの予測ベクトルの予測精度は、悪くなる。
 そこで、SAD最小予測方式(SAD最小予測器)では、視差情報画像D#2の、対象ブロックCXと同一位置のブロックである同一位置ブロックDXと、その同一位置ブロックDXの周辺のブロック(以下、周辺視差ブロックともいう)のうちの、左、上、及び右斜め上に隣接するブロックDA,DB、及び、DCそれぞれとのSAD(Sum of Absolute Differences)が求められる。
 そして、SAD最小予測方式では、視差情報画像D#2の周辺視差ブロック(周辺デプスブロック)DA,DB、及び、DCのうちの、同一位置ブロックDXとのSADが最小の周辺視差ブロック(以下、SAD最小視差ブロックともいう)が検出され、色画像C#2の周辺色ブロックCAないしCCのうちの、SAD最小視差ブロックと同一位置の周辺色ブロックの視差ベクトルが、対象ブロックCXの予測ベクトルとして採用される。
視差情報画像D#2において、同一位置ブロックDXと周辺視差ブロックとのSADは、同一位置ブロックDXと周辺視差ブロックとが、例えば、同一のオブジェクトのブロックである場合等の、視差がない(少ない)被写体のブロックである場合に、小さくなる。
 図1の視差情報画像D#2については、同一位置ブロックDX、及び、周辺視差ブロックDAは、前景のブロックであり、周辺視差ブロックDB、及び、DCは、背景のブロックである。したがって、周辺視差ブロックDAないしDCの中では、同一位置ブロックDXと同様の前景のブロックである周辺視差ブロックDAが、同一位置ブロックDXとのSADが最小のSAD最小視差ブロックとなる。
 その結果、SAD最小予測方式では、色画像C#2の周辺色ブロックCAないしCCのうちの、SAD最小視差ブロックDAと同一位置の周辺色ブロックDAの視差ベクトルが、対象ブロックCXの予測ベクトルとして採用され、精度の良い予測ベクトルを求めることができる。
 以上のように、SAD最小予測方式では、視差情報画像D#2を用い、色画像C#2の周辺色ブロックCAないしCCの中で、対象ブロックCXと同一のオブジェクトが写っている周辺色ブロックCAが検出(判定)され、その周辺色ブロックCAの視差ベクトルが、対象ブロックCXの予測ベクトルに採用される。
 しかしながら、SAD最小予測方式は、メディアン予測方式と同様の予測精度(性能)となることがあり、また、メディアン予測方式よりも、予測精度が悪くなることがある。
 図2は、SAD最小予測方式(SAD最小予測器)が、メディアン予測方式と同様の予測精度となる場合と、メディアン予測方式(メディアン予測器)よりも、予測精度が悪くなる場合とを説明する図である。
 すなわち、図2のAは、SAD最小予測方式が、メディアン予測方式と同様の予測精度となる場合を説明する図である。
 図2のAでは、図1と同様に、色画像C#2に、背景と、その背景の手前側に存在するオブジェクトとしての矩形の前景とが写っている。
 そして、図2のAでは、対象ブロックCXが、矩形の前景の左上のブロックになっている。
 このため、対象ブロックCXの左に隣接する周辺色ブロックCA、上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCは、いずれも、背景のブロックになっている。
 以上のように、対象ブロックCXが、前景のブロックであり、周辺色ブロックCAないしCCが、背景のブロックになっている場合には、対象ブロックCXの視差ベクトルは、周辺色ブロックCAないしCCのうちのいずれの視差ベクトルとも大きく異なる(相関が低い)。
 したがって、周辺色ブロックCAないしCCの視差ベクトルのメディアンを、対象ブロックCXの予測ベクトルとして求めるメディアン予測方式であっても、視差情報画像D#2のSAD最小視差ブロックと同一位置の周辺色ブロックの視差ベクトルを、対象ブロックCXの予測ベクトルとして求めるSAD最小予測方式であっても、予測ベクトルの予測精度は悪くなる。
 図2のBは、SAD最小予測方式が、メディアン予測方式よりも、予測精度が悪くなる場合を説明する図である。
 図2のBでは、図1と同様に、色画像C#2に、背景と、その背景の手前側に存在するオブジェクトとしての矩形の前景とが写っている。
 さらに、図2のBでは、図1と同様に、対象ブロックCXが、矩形の前景の左上のブロックの右隣のブロックになっている。
 したがって、対象ブロックCXの左に隣接する周辺色ブロックCAは、矩形の前景の左上のブロックになっており、対象ブロックCXの上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCは、背景のブロックになっている。
 以上のように、対象ブロックCX、及び、周辺色ブロックCAが、前景のブロックであり、周辺色ブロックCB及びCCが、背景のブロックである場合、図1で説明したように、視差情報画像D#2の周辺視差ブロックDAないしDCのうちの、周辺視差ブロックDAが、SAD最小視差ブロックとなり、SAD最小予測方式によれば、SAD最小視差ブロックDAと同一位置の周辺色ブロックCAの視差ベクトルが、対象ブロックCXの予測ベクトルとして採用される。
 しかしながら、図2のBに示したように、対象ブロックCXの左に隣接する周辺色ブロックCAが、矩形の前景の左上のブロック(前景の境界に接するブロック、又は、境界を含むブロック)である場合には、オクルージョンの影響で、いずれも前景のブロックである対象ブロックCX、及び、周辺色ブロックCAそれぞれの予測ベクトルが、大きく異なるベクトル(相関のない(低い)ベクトル)になることがある。
 すなわち、色画像C#2のブロック(マクロブロック)については、その色画像C#2の視点#2とは異なる、例えば、視点#1の色画像C#1(のピクチャ)を参照ピクチャとして、ME(Motion Estimation)(動き検出)が行われることによって、参照ピクチャである色画像C#1(のピクチャ)において、例えば、色画像C#2のブロックとのSADを最小にする領域としてのブロック(以下、対応ブロックともいう)との位置のずれを表すベクトルであるずれベクトルが、視差ベクトルとして検出される。
 したがって、色画像C#2のブロックに写っている部分(テクスチャ)の全体が、色画像C#1にも写っていれば、色画像C#1に写っている、色画像C#2のブロックに写っている部分と同様の部分を対応ブロックとして、その対応ブロックとの位置のずれを表すずれベクトルが、視差ベクトルとして検出される。
 しかしながら、特に、前景の境界部分では、視差の影響により、オクルージョン、すなわち、視点#2の色画像#2には写っているが、視点#1の色画像#1には写っていない部分(や、色画像#1には写っているが、色画像#2には写っていない部分)が生じる。
 したがって、例えば、色画像C#2のブロックに写っている(前景の)部分の一部が、色画像C#1に写っていない場合があり、この場合、色画像C#2のブロックに写っている部分とは異なる部分が写っている色画像C#1のブロックが、対応ブロックとなり、視差と大きく異なるベクトルが、視差ベクトルとして検出されることがある。
 図2のBでは、前景の境界にある周辺色ブロックCAについて、オクルージョンの影響により、前景の視差とは大きく異なる視差ベクトルが検出されている。
 上述したように、SAD最小予測方式によれば、周辺色ブロックCAの視差ベクトルが、対象ブロックCXの予測ベクトルとして採用されるが、周辺色ブロックCAの視差ベクトルが、オクルージョンの影響により、前景の視差とは大きく異なる場合には、メディアン予測方式で求められる予測ベクトルの方が、予測精度が良いことがある。
 なお、図2で説明したことは、対象ブロックCXが、前景の左上の境界部分のブロックである場合の他、例えば、前景の右上の境界部分のブロックである場合等にも生じうる。
 そこで、本技術では、予測ベクトルを生成するベクトル予測方式として、視差情報画像から、対象ブロックの予測ベクトルを生成する視差情報利用予測方式を採用する。
 視差情報利用予測方式(デプス情報利用予測方式)によれば、視差情報画像(デプス画像)から、対象ブロックの予測ベクトルを生成するので、平均的に、予測精度が良い予測ベクトルを求めることができる。
 したがって、予測ベクトルの生成にあたっては、視差情報利用予測方式のみを採用することができる。
 但し、以下では、視差情報利用予測方式に加えて、例えば、MVC方式(のメディアン予測方式)等の他のベクトル予測方式も採用し、視差情報利用予測方式を含む複数のベクトル予測方式を、適応的に切り替える方法、すなわち、視差情報利用予測方式、及び、他のベクトル予測方式のそれぞれで生成される予測ベクトルの中から、予測精度が高いと推定される予測ベクトルを、対象ブロックの処理に用いる予測ベクトルとして採用する方法について説明する。
 [本技術の概要]
 図3は、本技術の概要を説明する図である。
 図3では、図2のAと同様に、色画像C#2に、背景と、その背景の手前側に存在するオブジェクトとしての矩形の前景とが写っており、色画像C#2の対象ブロックCXが、矩形の前景の左上のブロックになっている。
 このため、対象ブロックCXの左に隣接する周辺色ブロックCA、上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCは、いずれも、背景のブロックになっている。
 以上のように、対象ブロックCXが、前景のブロックであり、周辺色ブロックCAないしCCが、背景のブロックになっている場合には、図2のAで説明したように、メディアン予測方式(メディアン予測器)であっても、SAD最小予測方式(SAD最小予測器)であっても、予測ベクトルの予測精度は悪くなることがある。
 そこで、本技術では、視差情報画像D#2の、対象ブロックと同一位置のブロックである同一位置ブロックDXと、その同一位置ブロックDXの周辺のブロックのうちの、左、上、及び、右斜め上に隣接する周辺視差ブロックDA,DB、及び、DCそれぞれとの差に相当するSADが求められる。
 そして、本技術では、視差情報画像D#2の周辺視差ブロックDAないしDCそれぞれと同一位置ブロックDXとのSADに基づいて、視差情報利用予測方式(視差情報利用予測器)で生成される予測ベクトルと、他のベクトル予測方式としての、例えば、メディアン予測方式(メディアン予測器)で生成される予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルが、対象ブロックCXの処理に用いる予測ベクトルとして生成される。
 すなわち、本技術では、視差情報画像D#2の周辺視差ブロックDAないしDCの3個の周辺視差ブロックの中で、同一位置ブロックDXとのSADが所定の閾値以上である(又は、所定の閾値より大きい)周辺視差ブロックの数が判定される。
 ここで、周辺視差ブロックと同一位置ブロックDXとのSADによれば、その周辺視差ブロックと同一位置の色画像C#2の周辺色ブロックと、対象ブロックCX(同一位置ブロックDXと同一位置の色画像C#2のブロック)とに、同一のオブジェクトが写っているかどうかを判定(推定)することができる。
 すなわち、周辺視差ブロックの中で、同一位置ブロックDXとのSADが所定の閾値以上である周辺視差ブロックと同一位置の色画像C#2の周辺色ブロックには、対象ブロックCXとは異なるオブジェクトが写っていると推定される。
 本技術では、同一位置ブロックDXとのSADが所定の閾値以上である周辺視差ブロックの数が、例えば、半分以上の2個以上でない場合には、メディアン予測方式で生成される予測ベクトルの予測精度に問題がないと推定し、メディアン予測方式で、対象ブロックCXの予測ベクトルが生成される。
 一方、同一位置ブロックDXとのSADが所定の閾値以上である周辺視差ブロックの数が、半分以上の2個以上である場合には、視差情報利用予測方式で生成される予測ベクトルの方が、メディアン予測方式で生成される予測ベクトルよりも、予測精度が高いと推定し、視差情報利用予測方式で、対象ブロックCXの予測ベクトルが生成される。
 ここで、視差情報利用予測方式では、視差情報画像D#2から、色画像C#2の対象ブロックの予測ベクトルが生成される。
 すなわち、視差情報利用予測方式では、視差情報画像D#2の、対象ブロックと同一位置のブロック(同一位置ブロック)DXの画素値である視差情報を用いて、所定の演算を行うことにより、予測ベクトルが生成される。
 [本技術を適用した多視点画像エンコーダの一実施の形態]
 図4は、本技術を適用した多視点画像エンコーダの一実施の形態の構成例を示すブロック図である。
 図4の多視点画像エンコーダは、例えば、MVC方式を利用して、複数の視点の画像を符号化するエンコーダであり、以下では、MVC方式と同様の処理については、適宜、説明を省略する。
 なお、多視点画像エンコーダは、MVC方式を利用するエンコーダに限定されるものではない。
 また、以下では、複数の視点の画像として、2つのビューの色画像である視点#1の色画像C#1、及び、視点#2の色画像C#2、並びに、その2つのビューの視差情報画像である視点#1の視差情報画像D#1、及び、視点#2の視差情報画像D#2を採用することとする。
 さらに、例えば、視点#1の色画像C#1、及び、視差情報画像D#1を、ベースビューの画像とし、残りの視点#2の色画像C#2、及び、視差情報画像D#2を、ディペンデントビューの画像として扱うこととする。
 なお、複数の視点の画像としては、3つ以上の視点の色画像、及び、視差情報画像を採用することができ、その3つ以上の視点の色画像、及び、視差情報画像のうちの、任意の1つの視点の色画像、及び、視差情報画像を、ベースビューの画像とし、残りの視点の色画像、及び、視差情報画像を、ディペンデントビューの画像として扱うことができる。
 図4において、多視点画像エンコーダは、エンコーダ11,12,21,22,DPB31、及び、多重化部32を有する。
 エンコーダ11には、視点#1の色画像C#1と、視差関連情報(デプス関連情報)とが供給される。
 ここで、視差関連情報(デプス関連情報)は、視差情報(デプス情報)のメタデータであり、その詳細については、後述する。
 エンコーダ11は、視点#1の色画像C#1を、必要に応じて、視差関連情報を用いて符号化し、その結果得られる視点#1の色画像C#1の符号化データを、多重化部32に供給する。
 エンコーダ12には、視点#2の色画像C#2と、視差関連情報とが供給される。
 エンコーダ12は、視点#2の色画像C#2を、必要に応じて、視差関連情報を用いて符号化し、その結果得られる視点#2の色画像C#2の符号化データを、多重化部32に供給する。
 エンコーダ21には、視点#1の視差情報画像D#1と、視差関連情報とが供給される。
 エンコーダ21は、視点#1の視差情報画像D#1を、必要に応じて、視差関連情報を用いて符号化し、その結果得られる視点#1の視差情報画像D#1の符号化データを、多重化部32に供給する。
 エンコーダ22には、視点#2の視差情報画像D#2と、視差関連情報とが供給される。
 エンコーダ22は、視点#2の視差情報画像D#2を、必要に応じて、視差関連情報を用いて符号化し、その結果得られる視点#2の視差情報画像D#2の符号化データを、多重化部32に供給する。
 DPB31は、エンコーダ11,12,21、及び、22それぞれで、符号化対象の画像を符号化し、ローカルデコードすることにより得られるローカルデコード後の画像(デコード画像)を、予測画像の生成時に参照する参照ピクチャ(の候補)として一時記憶する。
 すなわち、エンコーダ11,12,21、及び、22は、符号化対象の画像を予測符号化する。そのため、エンコーダ11,12,21、及び、22は、予測符号化に用いる予測画像を生成するのに、符号化対象の画像を符号化した後、ローカルデコードを行って、デコード画像を得る。
 DPB31は、エンコーダ11,12,21、及び、22それぞれで得られるデコード画像を一時記憶する、いわば共用のバッファであり、エンコーダ11,12,21、及び、22それぞれは、DPB31に記憶されたデコード画像から、符号化対象の画像を符号化するのに参照する参照ピクチャを選択する。そして、エンコーダ11,12,21、及び、22それぞれは、参照ピクチャを用いて、予測画像を生成し、その予測画像を用いて、画像の符号化(予測符号化)を行う。
 DPB31は、エンコーダ11,12,21、及び、22で共用されるので、エンコーダ11,12,21、及び、22それぞれは、自身で得られたデコード画像の他、他のエンコーダで得られたデコード画像をも参照することができる。
 多重化部32は、エンコーダ11,12,21、及び、22のそれぞれからの符号化データを多重化し、その結果得られる多重化データを出力する。
 多重化部32が出力する多重化データは、図示せぬ記録媒体に記録され、又は、図示せぬ伝送媒体を介して伝送される。
 [多視点画像生成装置]
 図5は、図4の多視点画像エンコーダにおいて符号化の対象となる複数の視点の画像を生成する多視点画像生成装置の構成例を示すブロック図である。
 多視点画像生成装置では、複数の視点としての、例えば、2つの視点の画像を撮影するために、2つのカメラ41及び42が、異なる視点の色画像を撮影することができる位置に設置されている。
 ここで、本実施の形態では、説明を簡単にするために、カメラ41及び42は、ある水平面上の一直線上の異なる位置に、その直線に垂直な方向に光軸を向けて配置されていることとする。
 カメラ41は、そのカメラ41が配置されている位置で、被写体を撮影し、動画像である色画像C#1を出力する。
 さらに、カメラ41は、他の任意の1つのカメラであるカメラ42の位置を、基準の視点として、色画像C#1の各画素について、基準の視点に対する視差を表す視差ベクトルd1を出力する。
 カメラ42は、そのカメラ42が配置されている位置で、被写体を撮影し、動画像である色画像C#2を出力する。
 さらに、カメラ42は、他の任意の1つのカメラであるカメラ41の位置を、基準の視点として、色画像C#2の各画素について、基準の視点に対する視差を表す視差ベクトルd2を出力する。
 ここで、色画像の横(水平)方向を、x軸とし、縦(垂直)方向を、y軸とする2次元平面を、色画像平面ということとすると、カメラ41及び42は、色画像平面に直交する平面(水平面)上の一直線上に配置されている。したがって、視差ベクトルd1及びd2は、y成分が0で、x成分が、カメラ41及び42の水平方向の位置関係等に対応する値のベクトルとなる。
 なお、カメラ41及び42が出力する視差ベクトル(視差)d1及びd2を、色画像C#1及びC#2を用いたMEによって求められる視差を表す視差ベクトルと区別するために、以下、撮影視差ベクトルd1及びd2ともいう。
 カメラ41が出力する色画像C#1、及び、撮影視差ベクトルd1、並びに、カメラ42が出力する色画像C#2、及び、撮影視差ベクトルd2は、多視点画像情報生成部43に供給される。
 多視点画像情報生成部43は、カメラ41及び42からの色画像C#1を、そのまま出力する。
 また、多視点画像情報生成部43は、カメラ41からの撮影視差ベクトルd1から、色画像#1の画素ごとの視差に関する視差情報を求め、その視差情報を、画素値として有する視差情報画像D#1を生成して出力する。
 さらに、多視点画像情報生成部43は、カメラ42からの撮影視差ベクトルd2から、色画像#2の画素ごとの視差に関する視差情報を求め、その視差情報を、画素値として有する視差情報画像D#2を生成して出力する。
 上述したように、視差情報(デプス情報)としては、例えば、撮影視差ベクトルに対応する値である視差値(値I)や、被写体までの距離(奥行き)を表す奥行きZの正規化後の値yがある。
 いま、視差情報画像の画素値が、例えば、8ビットで表される0ないし255の整数値をとることとする。さらに、撮影視差ベクトル(のx成分)をdで表すとともに、(例えば、ピクチャや、1つのコンテンツとしての動画像等で)撮影視差ベクトル(のx成分)の最大値と最小値を、それぞれ、dmaxとdminと表すこととする。
 この場合、視差値ν(値I)は、上述したように、例えば、撮影視差ベクトル(のx成分)dと、その最大値dmax(Dmax)及び最小値dmin(Dmin)を用いて、例えば、式(1)に従って求められる。
   ν=255×(d-dmin)/(dmax-dmin)
                        ・・・(1)
 なお、式(1)の視差値νは、式(2)に従って、撮影視差ベクトル(のx成分)dに変換することができる。
   d=ν×(dmax-dmin)/255+dmin
                        ・・・(2)
 また、奥行きZは、カメラ41及び42が配置されている直線上から、被写体までの距離を表す。
 カメラ41については(カメラ42についても同様)、カメラ41と一直線上に配置されているカメラ42との距離(基準の視点との距離)である基線長をLと、カメラ41の焦点距離をfと、それぞれ表すこととすると、奥行きZは、撮影視差ベクトル(のx成分)d(d1)を用い、式(3)に従って求めることができる。
   Z=(L/d)×f
                        ・・・(3)
 視差情報である視差値νと奥行きZとは、式(1)ないし式(3)に従って相互に変換することができるので、等価な情報である。
 ここで、以下では、画素値として視差値νを有する視差情報画像(デプス画像)を、視差画像ともいい、画素値として、奥行きZの正規化後の値yを有する画像を、奥行き画像ともいう。
 なお、以下では、視差情報画像として、視差画像、及び、奥行き画像のうちの、例えば、視差画像を用いることとするが、視差情報画像としては、奥行き画像を用いることも可能である。
 多視点画像情報生成部43は、以上の色画像#1及び#2、並びに、視差画像D#1及び#2の他に、視差関連情報を出力する。
 すなわち、多視点画像情報生成部43には、外部から、カメラ41と42との距離(カメラ41及び42それぞれと、基準の視点との距離)である基線長L、及び、焦点距離fが供給される。
 多視点画像情報生成部43は、カメラ41からの撮影視差ベクトルd1、及び、カメラ41からの撮影視差ベクトルd2のそれぞれについて、撮影視差ベクトル(のx成分)dの最大値dmax及び最小値dminを検出する。
 そして、多視点画像情報生成部43は、撮影視差ベクトルdの最大値dmax及び最小値dmin、並びに、基線長L、及び、焦点距離fを、視差関連情報として出力する。
 多視点画像情報生成部43が出力する色画像C#1及びC#2、視差画像D#1及びD#2、並びに、視差関連情報は、図4の多視点画像エンコーダに供給される。
 なお、ここでは、説明を簡単にするため、カメラ41及び42を、色画像平面に直交する同一の平面上の一直線上に配置し、撮影視差ベクトルd(d1及びd2)が、y成分が0のベクトルであることとしたが、カメラ41及び42それぞれは、色画像平面に直交する異なる平面上に配置することができる。この場合、撮影視差ベクトルdは、x成分及びy成分とも、0以外の値になりうるベクトルとなる。
 [MVC方式の概要]
 図6は、MVC方式の予測符号化において、予測画像を生成するときに参照するピクチャを説明する図である。
 いま、ベースビューの画像である視点#1の画像のピクチャを、(表示)時刻順に、p11,p12,p13,・・・と表すとともに、ディペンデントビューの画像である視点#2の画像のピクチャを、時刻順に、p21,p22,p23,・・・と表すこととする。
 ベースビューのピクチャである、例えば、ピクチャp12は、そのベースビューのピクチャである、例えば、ピクチャp11やp13を、必要に応じて参照して、予測符号化される。
 すなわち、ベースビューのピクチャp12については、そのベースビューの他の時刻のピクチャであるピクチャp11やp13のみを参照し、予測(予測画像の生成)を行うことができる。
 また、ディペンデントビューのピクチャである、例えば、ピクチャp22は、そのディペンデントビューのピクチャである、例えば、ピクチャp21やp23、さらには、他のビューであるベースビューのピクチャp12を、必要に応じて参照して、予測符号化される。
 すなわち、ディペンデントビューのピクチャp22は、そのディペンデントビューの他の時刻のピクチャであるピクチャp21やp23の他、他のビューのピクチャであるベースビューのピクチャp12を参照し、予測を行うことができる。
 ここで、符号化対象のピクチャと同一のビューの(他の時刻の)ピクチャを参照して行われる予測を、時間予測ともいい、符号化対象のピクチャと異なるビューのピクチャを参照して行われる予測を、視差予測ともいう。
 以上のように、MVC方式では、ベースビューのピクチャについては、時間予測のみを行うことができ、ディペンデントビューのピクチャについては、時間予測と視差予測を行うことができる。
 なお、MVC方式において、視差予測において参照する、符号化対象のピクチャと異なるビューのピクチャは、符号化対象のピクチャと同一の時刻のピクチャでなければならない。
 図4の多視点画像エンコーダを構成するエンコーダ11,12,21、及び、22は、原則として、MVC方式に従って、予測(予測画像の生成)を行う。
 図7は、MVC方式でのピクチャの符号化(及び復号)順を説明する図である。
 図6と同様に、ベースビューの画像である視点#1の画像のピクチャを、(表示)時刻順に、p11,p12,p13,・・・と表すとともに、ディペンデントビューの画像である視点#2の画像のピクチャを、時刻順に、p21,p22,p23,・・・と表すこととする。
 いま、説明を簡単にするために、各ビューのピクチャが、時刻順に符号化されることとすると、まず、ベースビューの最初の時刻t=1のピクチャp11が符号化され、その後、ディペンデントビューの、同一時刻t=1のピクチャp21が符号化される。
 ディペンデントビューの、同一時刻t=1のピクチャ(すべて)の符号化が終了すると、ベースビューの次の時刻t=2のピクチャp12が符号化され、その後、ディペンデントビューの、同一時刻t=2のピクチャp22が符号化される。
 以下、同様の順番で、ベースビューのピクチャ、及び、ディペンデントビューのピクチャは、符号化されていく。
 図4の多視点画像エンコーダを構成するエンコーダ11,12,21、及び、22では、MVC方式に従った順番で、ピクチャが符号化される。
 [エンコーダ11の構成例]
 図8は、図4のエンコーダ11の構成例を示すブロック図である。
 なお、図4のエンコーダ21及び22も、エンコーダ11と同様に構成され、例えば、MVC方式に従って、画像の符号化を行う。
 図8において、エンコーダ11は、A/D(Analog/Digital)変換部111、画面並び替えバッファ112、演算部113、直交変換部114、量子化部115、可変長符号化部116、蓄積バッファ117、逆量子化部118、逆直交変換部119、演算部120、デブロッキングフィルタ121、画面内予測部122、インター予測部123、及び、予測画像選択部124を有する。
 A/D変換部111には、符号化対象の画像(動画像)であるビュー#1の色画像C#1のピクチャが、表示順に、順次、供給される。
 A/D変換部111は、そこに供給されるピクチャが、アナログ信号である場合には、そのアナログ信号をA/D変換し、画面並び替えバッファ112に供給する。
 画面並び替えバッファ112は、A/D変換部111からのピクチャを一時記憶し、あらかじめ決められたGOP(Group of Pictures)の構造に応じて、ピクチャを読み出すことで、ピクチャの並びを、表示順から、符号化順(復号順)に並び替える並び替えを行う。
 画面並び替えバッファ112から読み出されたピクチャは、演算部113、画面内予測部122、及び、インター予測部123に供給される。
 演算部113には、画面並び替えバッファ112から、ピクチャが供給される他、予測画像選択部124から、画面内予測部122、又は、インター予測部123で生成された予測画像が供給される。
 演算部113は、画面並び替えバッファ112から読み出されたピクチャを、符号化対象の対象ピクチャとし、さらに、対象ピクチャを構成するマクロブロックを、順次、符号化対象の対象ブロックとする。
 そして、演算部113は、対象ブロックの画素値から、予測画像選択部124から供給される予測画像の画素値を減算した減算値を、必要に応じて演算し、直交変換部114に供給する。
 直交変換部114は、演算部113からの対象ブロック(の画素値、又は、予測画像が減算された残差)に対して、離散コサイン変換や、カルーネン・レーベ変換等の直交変換を施し、その結果得られる変換係数を、量子化部115に供給する。
 量子化部115は、直交変換部114から供給される変換係数を量子化し、その結果得られる量子化値を、可変長符号化部116に供給する。
 可変長符号化部116は、量子化部115からの量子化値に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)等)や、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)等)等の可逆符号化を施し、その結果得られる符号化データを、蓄積バッファ117に供給する。
 なお、可変長符号化部116には、量子化部115から量子化値が供給される他、画面内予測部122やインター予測部123から、符号化データのヘッダに含めるヘッダ情報が供給される。
 可変長符号化部116は、画面内予測部122やインター予測部123からの、ヘッダ情報を符号化し、符号化データのヘッダに含める。
 蓄積バッファ117は、可変長符号化部116からの符号化データを一時記憶し、所定のデータレートで出力する。
 蓄積バッファ117から出力された符号化データは、多重化部32(図4)に供給される。
 量子化部115で得られた量子化値は、可変長符号化部116に供給される他、逆量子化部118にも供給され、逆量子化部118、逆直交変換部119、及び、演算部120において、ローカルデコードが行われる。
 すなわち、逆量子化部118は、量子化部115からの量子化値を、変換係数に逆量子化し、逆直交変換部119に供給する。
 逆直交変換部119は、逆量子化部118からの変換係数を逆直交変換し、演算部120に供給する。
 演算部120は、逆直交変換部119から供給されるデータに対して、必要に応じて、予測画像選択部124から供給される予測画像の画素値を加算することで、対象ブロックを復号(ローカルデコード)したデコード画像を得て、デブロッキングフィルタ121に供給する。
 デブロッキングフィルタ121は、演算部120からのデコード画像をフィルタリングすることにより、デコード画像に生じたブロック歪を除去(低減)し、DPB31(図4)に供給する。
 ここで、DPB31は、デブロッキングフィルタ121からのデコード画像、すなわち、エンコーダ11において符号化されてローカルデコードされた色画像C#1のピクチャを、時間的に後に行われる予測符号化(演算部113で予測画像の減算が行われる符号化)に用いる予測画像を生成するときに参照する参照ピクチャ(の候補)として記憶する。
 図4で説明したように、DPB31は、エンコーダ11,12,21、及び、22で共用されるので、エンコーダ11において符号化されてローカルデコードされた色画像C#1のピクチャの他、エンコーダ12において符号化されてローカルデコードされた色画像C#2のピクチャ、エンコーダ21において符号化されてローカルデコードされた視差画像D#1のピクチャ、及び、エンコーダ22において符号化されてローカルデコードされた視差画像D#2のピクチャも記憶する。
 なお、逆量子化部118、逆直交変換部119、及び、演算部120によるローカルデコードは、例えば、参照ピクチャとなることが可能な参照可能ピクチャであるIピクチャ、Pピクチャ、及び、Bsピクチャを対象として行われ、DPB31では、Iピクチャ、Pピクチャ、及び、Bsピクチャのデコード画像が記憶される。
 画面内予測部122は、対象ピクチャが、イントラ予測(画面内予測)され得るIピクチャ、Pピクチャ、又は、Bピクチャ(Bsピクチャを含む)である場合に、DPB31から、対象ピクチャのうちの、既にローカルデコードされている部分(デコード画像)を読み出す。そして、画面内予測部122は、DPB31から読み出した、対象ピクチャのうちのデコード画像の一部を、画面並び替えバッファ112から供給される対象ピクチャの対象ブロックの予測画像とする。
 さらに、画面内予測部122は、予測画像を用いて対象ブロックを符号化するのに要する符号化コスト、すなわち、対象ブロックの、予測画像に対する残差等を符号化するのに要する符号化コストを求め、予測画像とともに、予測画像選択部124に供給する。
 インター予測部123は、対象ピクチャが、インター予測され得るPピクチャ、又は、Bピクチャ(Bsピクチャを含む)である場合に、DPB31から、対象ピクチャより前に符号化されてローカルデコードされた1以上のピクチャを、参照ピクチャとして読み出す。
 また、インター予測部123は、画面並び替えバッファ112からの対象ピクチャの対象ブロックと、参照ピクチャとを用いたMEによって、対象ブロックと、参照ピクチャの、対象ブロックに対応する対応ブロック(例えば、対象ブロックとのSADを最小にするブロック)とのずれ(視差、動き)を表すずれベクトルを検出する。
 ここで、参照ピクチャが、対象ピクチャと同一のビューのピクチャである場合、対象ブロックと参照ピクチャとを用いたMEによって検出されるずれベクトルは、対象ブロックと、参照ピクチャとの間の動き(時間的なずれ)を表す動きベクトルとなる。
 また、参照ピクチャが、対象ピクチャと異なるビューのピクチャである場合、対象ブロックと参照ピクチャとを用いたMEによって検出されるずれベクトルは、対象ブロックと、参照ピクチャとの間の視差(空間的なずれ)を表す視差ベクトルとなる。
 以上のように、MEによって求められる視差ベクトルを、図5で説明した撮影視差ベクトルと区別するために、計算視差ベクトルともいう。
 本実施の形態では、説明を簡単にするため、撮影視差ベクトルは、y成分が0のベクトルであることとしたが、MEによって検出される計算視差ベクトルは、対象ブロックと、参照ピクチャの、対象ブロックとのSAD等を最小にするブロック(対応ブロック)とのずれ(位置関係)を表すので、y成分が0になるとは限らない。
 インター予測部123は、対象ブロックのずれベクトルに従って、DPB31からの参照ピクチャのMC(Motion Compensation)であるずれ補償(動き分のずれを補償する動き補償、又は、視差分のずれを補償する視差補償)を行うことで、予測画像を生成する。
 すなわち、インター予測部123は、参照ピクチャの、対象ブロックの位置から、その対象ブロックのずれベクトルに従って移動した(ずれた)位置のブロック(領域)である対応ブロックを、予測画像として取得する。
 さらに、インター予測部123は、対象ブロックを予測画像を用いて符号化するのに要する符号化コストを、後述するマクロブロックタイプ等が異なるインター予測モードごとに求める。
 そして、インター予測部123は、符号化コストが最小のインター予測モードを、最適なインター予測モードである最適インター予測モードとして、その最適インター予測モードで得られた予測画像と符号化コストとを、予測画像選択部124に供給する。
 ここで、ずれベクトル(視差ベクトル、動きベクトル)に基づいて、予測画像を生成することを、ずれ予測(視差予測、動き予測)、又は、ずれ補償(視差補償、動き補償)ともいう。なお、ずれ予測には、必要に応じて、ずれベクトルの検出が含まれる。
 予測画像選択部124は、画面内予測部122、及び、インター予測部123それぞれからの予測画像のうちの、符号化コストが小さい方を選択し、演算部113、及び、120に供給する。
 なお、画面内予測部122は、イントラ予測に関する情報を、ヘッダ情報として、可変長符号化部116に供給し、インター予測部123は、インター予測に関する情報(ずれベクトルの情報や、参照ピクチャに割り当てられている参照インデクス等)を、ヘッダ情報として、可変長符号化部116に供給する。
 可変長符号化部116は、画面内予測部122、及び、インター予測部123それぞれからのヘッダ情報のうちの、符号化コストが小さい予測画像が生成された方からのヘッダ情報を選択し、符号化データのヘッダに含める。
 [マクロブロックタイプ]
 図9は、MVC(AVC)方式のマクロブロックタイプを説明する図である。
 MVC方式では、対象ブロックとなるマクロブロックは、横×縦が16×16画素のブロックであるが、ME(及び、予測画像の生成)は、マクロブロックをパーティションに分割して、パーティションごとに行うことができる。
 すなわち、MVC方式では、マクロブロックを、16×16画素、16×8画素、8×16画素、又は8×8画素のうちのいずれかのパーティションに分割して、各パーティションごとに、MEを行って、すれベクトル(動きベクトル、又は、計算視差ベクトル)を検出することができる。
 また、MVC方式では、8×8画素のパーティションは、さらに、8×8画素、8×4画素、4×8画素、又は4×4画素のうちのいずれかのサブパーティションに分割し、各サブパーティションごとに、MEを行って、すれベクトル(動きベクトル、又は、計算視差ベクトル)を検出することができる。
 マクロブロックタイプは、マクロブロックを、どのようなパーティション(さらには、サブパーティション)に分割するかを表す。
 インター予測部123(図8)のインター予測では、各マクロブロックタイプの符号化コストが、各インター予測モードの符号化コストとして算出され、符号化コストが最小のインター予測モード(マクロブロックタイプ)が、最適インター予測モードとして選択される。
 [予測ベクトル(PMV(Predicted Motion Vector))]
 図10は、MVC(AVC)方式の予測ベクトル(PMV)を説明する図である。
 インター予測部123(図8)のインター予測では、MEによって、対象ブロックのずれベクトル(動きベクトル、又は、計算視差ベクトル)が検出され、そのずれベクトルを用いて、予測画像が生成される。
 ずれベクトルは、復号側において、画像を復号するのに必要であるため、ずれベクトルの情報を符号化して、符号化データに含める必要があるが、ずれベクトルを、そのまま符号化すると、ずれベクトルの符号量が多くなって、符号化効率が劣化することがある。
 すなわち、MVC方式では、図9に示したように、マクロブロックが、8×8画素のパーティションに分割され、さらに、その8×8画素のパーティションそれぞれが、4×4画素のサブパーティションに分割されることがある。この場合、1つのマクロブロックは、最終的には、4×4個のサブパーティションに分割されるため、1つのマクロブロックに対して、16(=4×4)個のずれベクトルが生じることがあり、ずれベクトルを、そのまま符号化すると、ずれベクトルの符号量が多くなって、符号化効率が劣化する。
 そこで、MVC(AVC)方式では、ずれベクトルを予測するベクトル予測が行われ、そのベクトル予測によって得られる予測ベクトルに対する、ずれベクトルの残差(残差ベクトル)が符号化される。
 例えば、符号化対象の対象ブロックXであるマクロブロックが、16×16画素のパーティションに分割される(対象ブロックXが、そのまま、パーティションとされる)場合、そのパーティションである対象ブロックXについては、メディアン予測方式で、予測ベクトルPMVXが生成される。
 すなわち、16×16画素のパーティションについては、予測ベクトルPMVXが、対象ブロックXの左に隣接するマクロブロックAのずれベクトルmvA、上に隣接するマクロブロックBのずれベクトルmvB、及び、右斜め上に隣接するマクロブロックCのずれベクトルmvCから、式(4)に従って算出される。
   PMVX=med(mvA,mvB,mvC)
                        ・・・(4)
 ここで、式(4)において、med()は、かっこ内の値のメディアン(中央値)を表す。
 なお、対象ブロックXが、ピクチャの右端のマクロブロックである場合等、マクロブロックCのずれベクトルmvCが、利用可能でない(unavailableである)場合には、ずれベクトルmvCに代えて、対象ブロックXの左斜め上に隣接するマクロブロックのずれベクトルを用いて、予測ベクトルPMVXが算出される。
 また、式(4)に従った予測ベクトルPMVXの算出は、x成分とy成分とのそれぞれについて、独立に行われる。
 例えば、符号化対象の対象ブロックXであるマクロブロックが、8×8画素の4つのパーティションX1,X2,X3、及び、X4に分割される場合、例えば、右上のパーティションX2については、メディアン予測方式で、すなわち、パーティションX2の左に隣接するパーティションX1のずれベクトル、上に隣接するマクロブロックBのずれベクトル、及び、右斜め上に隣接するマクロブロックCのずれベクトルのメディアンが、予測ベクトルとして算出される。
 その他のパーティションX1,X3、及び、X4については、MVC(AVC)方式に規定されているように、予測ベクトルが算出される。
 例えば、符号化対象の対象ブロックXであるマクロブロックが、8×16画素の2つの左右のパーティションXL及びXRに分割される場合、左のパーティションXLについては、その左のパーティションXLの左に隣接するマクロブロックAのずれベクトルが、そのまま、予測ベクトルとされる。
 また、右のパーティションXRについては、その右のパーティションXLの右上に隣接するマクロブロックCのずれベクトルが、そのまま、予測ベクトルとされる。
 例えば、符号化対象の対象ブロックXであるマクロブロックが、16×8画素の2つの上下のパーティションXU及びXDに分割される場合、下のパーティションXDについては、その下のパーティションXDの左に隣接するマクロブロックAのずれベクトルが、そのまま、予測ベクトルとされる。
 また、上のパーティションXUについては、その上のパーティションXUの上に隣接するマクロブロックBのずれベクトルが、そのまま、予測ベクトルとされる。
 インター予測部123(図8)では、対象ブロックXのずれベクトルmvXと、その予測ベクトルPMVXとの差分である残差ベクトルmvX-PMVが、ヘッダ情報に含められる。
 図11は、MVC(AVC)方式で生成される予測ベクトルと参照インデクスとの関係を説明する図である。
 MVC方式で生成される予測ベクトルは、対象ブロックの周辺のマクロブロックの予測画像の生成に用いられる参照ピクチャに割り当てられている参照インデクス(以下、予測用の参照インデクスともいう)によって異なる。
 ここで、MVC(AVC)方式の参照ピクチャ(となりうるピクチャ)と、参照インデクスについて説明する。
 AVC方式では、予測画像を生成するときに、複数のピクチャを、参照ピクチャとすることができる。
 そして、AVC方式のコーデックでは、参照ピクチャは、デコード(ローカルデコード)後に、DPBと呼ばれるバッファに記憶される。
 DPBでは、短期間に参照されるピクチャは、短時間参照ピクチャ(used for short-term reference)として、長期間にわたって参照されるピクチャは、長時間参照ピクチャ(used for long-term reference)として、参照されないピクチャは、非参照ピクチャ(unused for reference)として、それぞれマーキングされる。
 DPBを管理する管理方式としては、移動窓メモリ管理方式(Sliding window process)と、適応メモリ管理方式(Adaptive memory control process)との2種類がある。
 移動窓メモリ管理方式では、DPBが、FIFO(First In First Out)方式で管理され、DPBに記憶されたピクチャは、frame_numの小さいピクチャから順に開放される(非参照ピクチャとなる)。
 すなわち、移動窓メモリ管理方式では、I(Intra)ピクチャ、P(Predictive)ピクチャ、及び、参照可能なB(Bi-directional Predictive)ピクチャであるBsピクチャは、短時間参照ピクチャとして、DPBに記憶される。
 そして、DPBが参照ピクチャ(となりうる参照ピクチャ)を記憶することができるだけの参照ピクチャが記憶された後は、DPBに記憶された短時間参照ピクチャの中で、最も早く(古い)短時間参照ピクチャが開放される。
 なお、DPBに、長時間参照ピクチャが記憶されている場合、移動窓メモリ管理方式は、DPBに記憶されている長時間参照ピクチャには、影響しない。すなわち、移動窓メモリ管理方式において、参照ピクチャの中で、FIFO方式で管理されるのは、短時間参照ピクチャだけである。
 適応メモリ管理方式では、MMCO(Memory management control operation)と呼ばれるコマンドを用いて、DPBに記憶されるピクチャが管理される。
 MMCOコマンドによれば、DPBに記憶される参照ピクチャを対象として、短時間参照ピクチャを非参照ピクチャに設定することや、短時間参照ピクチャに対し、長時間参照ピクチャを管理するための参照インデクスであるlong-term frame indexを割り当てることで、短時間参照ピクチャを長時間参照ピクチャに設定すること、long-term frame indexの最大値を設定すること、すべての参照ピクチャを非参照ピクチャに設定すること等を行うことができる。
 AVC方式では、DPBに記憶された参照ピクチャの動き補償(ずれ補償)を行うことで、予測画像を生成するインター予測が行われるが、Bピクチャ(Bsピクチャを含む)のインター予測には、最大で、2ピクチャの参照ピクチャを用いることができる。その2ピクチャの参照ピクチャを用いるインター予測は、それぞれ、L0(List 0)予測、及び、L1(List 1)予測と呼ばれる。
 Bピクチャ(Bsピクチャを含む)については、インター予測として、L0予測、若しくは、L1予測、又は、L0予測とL1予測との両方が用いられる。Pピクチャについては、インター予測として、L0予測だけが用いられる。
 インター予測において、予測画像の生成に参照する参照ピクチャは、参照リスト(Reference Picture List)により管理される。
 参照リストでは、予測画像の生成に参照する参照ピクチャ(となりうる参照ピクチャ)を指定するためのインデクスである参照インデクス(Reference Index)が、DPBに記憶された参照ピクチャ(になりうるピクチャ)に割り当てられる。
 対象ピクチャが、Pピクチャである場合、上述したように、Pピクチャについては、インター予測として、L0予測だけが用いられるので、参照インデクスの割り当ては、L0予測についてだけ行われる。
 また、対象ピクチャが、Bピクチャ(Bsピクチャを含む)である場合、上述したように、Bピクチャについては、インター予測として、L0予測とL1予測との両方が用いられることがあるので、参照インデクスの割り当ては、L0予測とL1予測との両方について行われる。
 ここで、L0予測についての参照インデクスを、L0インデクスともいい、L1予測についての参照インデクスを、L1インデクスともいう。
 対象ピクチャが、Pピクチャである場合、AVC方式のデフォルト(既定値)では、DPBに記憶された参照ピクチャに対し、復号順が後の参照ピクチャほど、値が小さい参照インデクス(L0インデクス)が割り当てられる。
 参照インデクスは、0以上の整数値であり、最小値は、0である。したがって、対象ピクチャが、Pピクチャである場合には、対象ピクチャの直前に復号された参照ピクチャに、L0インデクスとして、0が割り当てられる。
 対象ピクチャが、Bピクチャ(Bsピクチャを含む)である場合、AVCのデフォルトでは、DPBに記憶された参照ピクチャに対し、POC(Picture Order Count)順、つまり、表示順に、参照インデクス(L0インデクス、及び、L1インデクス)が割り当てられる。
 すなわち、L0予測については、表示順で、対象ピクチャの時間的に前の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL0インデクスが割り当てられ、その後、表示順で、対象ピクチャの時間的に後の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL0インデクスが割り当てられる。
 また、L1予測については、表示順で、対象ピクチャの時間的に後の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL1インデクスが割り当てられ、その後、表示順で、対象ピクチャの時間的に前の参照ピクチャに対し、対象ピクチャに近い参照ピクチャほど、値が小さいL1インデクスが割り当てられる。
 なお、以上のAVC方式のデフォルトでの参照インデクス(L0インデクス、及び、L1インデクス)の割り当ては、短時間参照ピクチャを対象として行われる。長時間参照ピクチャへの参照インデクスの割り当ては、短時間参照ピクチャに、参照インデクスが割り当てられた後に行われる。
 したがって、AVCのデフォルトでは、長時間参照ピクチャには、短時間参照ピクチャよりも大きい値の参照インデクスが割り当てられる。
 AVC方式において、参照インデクスの割り当てとしては、以上のようなデフォルトの方法で割り当てを行う他、Reference Picture List Reorderingと呼ばれるコマンド(以下、RPLRコマンドともいう)を用いて、任意の割り当てを行うことができる。
 なお、RPLRコマンドを用いて、参照インデクスの割り当てが行われた後、参照インデクスが割り当てられていない参照ピクチャがある場合には、その参照ピクチャには、参照インデクスが、デフォルトの方法で割り当てられる。
 MVC(AVC)方式では、対象ブロックXのずれベクトルmvXの予測ベクトルPMVXは、図11に示すように、対象ブロックXの左に隣接するマクロブロックA、上に隣接するマクロブロックB、及び、右斜め上に隣接するマクロブロックCそれぞれの予測用の参照インデクス(マクロブロックA,B、及び、Cそれぞれの予測画像の生成に用いられた参照ピクチャに割り当てられている参照インデクス)によって異なる方法で求められる。
 すなわち、いま、対象ブロックXの予測用の参照インデクスref_idxが、例えば、0であるとする。
 図11のAに示すように、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが対象ブロックXと同一の0であるマクロブロックが、1つだけ存在する場合には、その1つのマクロブロック(予測用の参照インデクスref_idxが0のマクロブロック)のずれベクトルが、対象ブロックXのずれベクトルmvXの予測ベクトルPMVXとされる。
 ここで、図11のAでは、対象ブロックXに隣接する3つのマクロブロックAないしCのうちの、マクロブロックBだけが、予測用の参照インデクスref_idxが0のマクロブロックになっており、そのため、マクロブロックAのずれベクトルmvBが、対象ブロックX(のずれベクトルmvX)の予測ベクトルPMVXとされる。
 また、図11のBに示すように、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが対象ブロックXと同一の0であるマクロブロックが、2つ以上存在する場合には、その、予測用の参照インデクスref_idxが0の2つ以上のマクロブロックのずれベクトルのメディアンが、対象ブロックXの予測ベクトルPMVXとされる(メディアン予測方式で、予測ベクトルPMVXが求められる)。
 ここで、図11のBでは、対象ブロックXに隣接する3つのマクロブロックAないしCのすべてが、予測用の参照インデクスref_idxが0のマクロブロックになっており、そのため、マクロブロックAのずれベクトルmvA、マクロブロックBのずれベクトルmvB、及び、マクロブロックCのずれベクトルmvCのメディアンmed(mvA,mvB,mvC)が、対象ブロックXの予測ベクトルPMVXとされる。
 また、図11のCに示すように、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが対象ブロックXと同一の0であるマクロブロックが、1つも存在しない場合には、0ベクトルが、対象ブロックXの予測ベクトルPMVXとされる。
 ここで、図11のCでは、対象ブロックXに隣接する3つのマクロブロックAないしCの中に、予測用の参照インデクスref_idxが0のマクロブロックは存在しないので、0ベクトルが、対象ブロックXの予測ベクトルPMVXとされる。
 なお、MVC(AVC)方式では、対象ブロックXの予測用の参照インデクスref_idxが0である場合、対象ブロックXをスキップマクロブロック(スキップモード)として符号化することができる。
 スキップマクロブロックについては、対象ブロックの残差も、残差ベクトルも符号化されない。そして、復号時には、予測ベクトルが、そのまま、スキップマクロブロックのずれベクトルに採用され、参照ピクチャの、スキップマクロブロックの位置からずれベクトル(予測ベクトル)だけずれた位置のブロック(対応ブロック)のコピーが、スキップマクロブロックの復号結果とされる。
 対象ブロックをスキップマクロブロックとするか否かは、エンコーダの仕様によるが、例えば、符号化データの符号量や、対象ブロックの符号化コスト等に基づいて決定(判定)される。
 [エンコーダ12の構成例]
 図12は、図4のエンコーダ12の構成例を示すブロック図である。
 エンコーダ12は、符号化対象の画像である視点(ビュー)#2の色画像C#2の符号化を、MVC方式を利用して行うが、そのときの予測ベクトルの生成(ベクトル予測)を、図3で説明したようにして行う。
 図12において、エンコーダ12は、A/D変換部211、画面並び替えバッファ212、演算部213、直交変換部214、量子化部215、可変長符号化部216、蓄積バッファ217、逆量子化部218、逆直交変換部219、演算部220、デブロッキングフィルタ221、画面内予測部222、予測画像選択部224、MBインデクス計算部231、及び、視差予測部232を有する。
 A/D変換部211ないし画面内予測部222、及び、予測画像選択部224は、図8のエンコーダ11のA/D変換部111ないし画面内予測部122、及び、予測画像選択部124と、それぞれ同様に構成されるので、その説明は、適宜省略する。
 図12において、DPB31には、デブロッキングフィルタ221から、デコード画像、すなわち、エンコーダ12において符号化されてローカルデコードされた色画像(以下、デコード色画像ともいう)C#2のピクチャが供給され、参照ピクチャ(となりうるピクチャ)として記憶される。
 また、DPB31には、図4や図8で説明したように、エンコーダ11において符号化されてローカルデコードされた色画像(デコード色画像)C#1のピクチャ、エンコーダ21において符号化されてローカルデコードされた視差画像(デコード視差画像)D#1、及び、エンコーダ22において符号化されてローカルデコードされた視差画像(デコード視差画像)D#2のピクチャも供給されて記憶される。
 エンコーダ12では、デブロッキングフィルタ221からのデコード色画像C#2のピクチャの他、エンコーダ11で得られるデコード色画像C#1のピクチャ、及び、エンコーダ22で得られるデコード視差画像D#2が、符号化対象である色画像C#2の符号化に用いられる。このため、図12では、エンコーダ11で得られるデコード色画像C#1、及び、エンコーダ22で得られるデコード視差画像D#2が、DPB31に供給されることを示す矢印を、図示してある。
 MBインデクス計算部231は、視差予測部232において予測画像を生成する色画像C#2の対象ブロック(の位置)を特定するための情報であるMBインデクスを求め(計算し)、視差予測部232に供給する。
 視差予測部232には、視差関連情報(図4)としての、撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin、基線長L、焦点距離fが供給される。
 視差予測部232は、視差関連情報、さらには、DPB31に記憶されたデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)を必要に応じて用い、DPB31に記憶された視点#1のデコード色画像D#1のピクチャを参照ピクチャとして、対象ブロックの視差予測(予測画像の生成)を行う。
 すなわち、視差予測部232は、DPB31に記憶されたデコード色画像C#1のピクチャを参照ピクチャとして、MEを行うことにより、対象ブロックの計算視差ベクトルを求める。
 さらに、視差予測部232は、対象ブロックの計算視差ベクトルに従って、DPB31に記憶されたデコード色画像C#1のピクチャを参照ピクチャとするMCを行うことにより、対象ブロックの予測画像を生成する。
 また、視差予測部232は、各マクロブロックタイプについて、参照ピクチャから視差予測によって得られる予測画像を用いた対象ブロックの符号化(予測符号化)に要する符号化コストを算出する。
 そして、視差予測部232は、符号化コストが最小のマクロブロックタイプを、最適インター予測モードとして選択し、その最適インター予測モードで生成された予測画像を、予測画像選択部224に供給する。
 さらに、視差予測部232は、最適インター予測モード等の情報を、ヘッダ情報として、可変長符号化部216に出力する。
 なお、上述したように、参照ピクチャには、参照インデクスが割り当てられており、視差予測部232において、最適インター予測モードで生成された予測画像を生成するときに参照された参照ピクチャに割り当てられた参照インデクスは、対象ブロックの予測用の参照インデクスに選択され、ヘッダ情報の1つとして、可変長符号化部216に出力される。
 また、図12においては、説明を簡単にするために、エンコーダ12に、インター予測のうちの視差予測だけを行う視差予測部232を設けてあるが、エンコーダ12では、図8のエンコーダ11のインター予測部123と同様に、視差予測の他、時間予測も行うことができる。
 エンコーダ12において、視差予測、及び、時間予測の両方を行う場合、視差予測で参照されうる参照ピクチャであるデコード色画像C#1のピクチャと、時間予測で参照されうる参照ピクチャであるデコード色画像C#2のピクチャ(対象ピクチャとは時刻が異なる他時刻ピクチャ)とに、参照インデクスが割り当てられる。
 そして、エンコーダ12では、視差予測で生成される予測画像と、時間予測で生成される予測画像とのうちの、例えば、対象ブロックの符号化コストが小さい方の予測画像を生成するのに参照された参照ピクチャに割り当てられた参照インデクスが、対象ブロックの予測用の参照インデクスに選択され、ヘッダ情報の1つとされる。
 図13は、図12の視差予測部232の構成例を示すブロック図である。
 図13において、視差予測部232は、視差検出部241、視差補償部242、予測ベクトル生成部243、コスト関数算出部244、モード選択部245、並びに、符号化情報バッファ246を有する。
視差検出部241には、DPB31に記憶された参照ピクチャであるデコード色画像C#1のピクチャが供給されるとともに、画面並び替えバッファ212から、符号化対象の色画像C#2のピクチャ(対象ピクチャ)が供給される。
 さらに、視差検出部241には、MBインデクス計算部231から、対象ブロックのMBインデクスが供給されるとともに、予測ベクトル生成部243から予測ベクトル情報が供給される。
 視差検出部241は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212からの対象ピクチャにおける対象ブロックを認識する。
 そして、視差検出部241は、MVC方式と同様に、対象ブロックと、参照ピクチャであるデコード色画像C#1のピクチャとを用いてMEを行うことにより、対象ブロックと、デコード色画像C#1のピクチャにおいて、例えば、対象ブロックとのSADを最小にする対応ブロックとのずれを表すずれベクトル、すなわち、対象ブロックの、視点#1に対する視差を表す計算視差ベクトルmvを、マクロブロックタイプごとに検出する。
 なお、ここでは、説明を簡単にするため、デコード色画像C#1のピクチャにおいて、対象ブロックとのSADを最小にするブロックを、計算視差ベクトルmvを求めるのに用いる対応ブロックとしているが、視差検出部241では、その他、例えば、式COST=D+λRで表される、対象ブロックの符号化コストCOSTを最小にする対応ブロック(ひいては、計算視差ベクトルmv)を検出することができる。
 ここで、式COST=D+λRにおいて、Dは、対象ブロックと、デコード色画像C#1のピクチャの、対象ブロックから計算視差ベクトルmvだけ移動した位置のブロックとのSADを表し、λは、Rに対する重みであり、対象ブロックの残差(対象ブロックと対応ブロックとの残差)の量子化ステップに応じて設定される。
 また、式COST=D+λRにおいて、Rは、計算視差ベクトルmvの符号量に相当する値である。
 なお、MVC方式では、計算視差ベクトルmvとその予測ベクトルとの残差ベクトルが符号化されるので、値Rとしては、残差ベクトルの符号量に相当する値を採用することができる。
 値Rとして、残差ベクトルの符号量に相当する値を採用する場合、視差検出部241は、予測ベクトルを、予測ベクトル生成部243から供給される予測ベクトル情報から認識し、その予測ベクトルと、計算視差ベクトルmvとから、残差ベクトルを求める。
 視差検出部241は、対象ブロックの計算視差ベクトルmvを検出すると、その計算視差ベクトルmvと、予測ベクトル生成部243から供給される予測ベクトル情報から得られる予測ベクトルとの差分である残差ベクトルを求め、視差補償部242に供給する。
 視差補償部242には、視差検出部241から、計算視差ベクトルmvの残差ベクトルが供給される他、DPB31に記憶された参照ピクチャであるデコード色画像C#1のピクチャが供給される。
 さらに、視差補償部242には、予測ベクトル生成部243から予測ベクトル情報が供給される。
 視差補償部242は、視差検出部241からの残差ベクトルと、予測ベクトル生成部243からの予測ベクトル情報とから、対象ブロックの計算視差ベクトルmvを復元する。
 さらに、視差補償部242は、DPB31からのデコード色画像C#1のピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、対象ブロックの計算視差ベクトルmvを用いて、MVC方式と同様にして行うことで、対象ブロックの予測画像を、マクロブロックタイプごとに生成する。
 すなわち、視差補償部242は、デコード色画像C#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmvだけずれた位置のブロックである対応ブロックを、予測画像として取得する。
 そして、視差補償部242は、予測画像を、視差検出部241からの残差ベクトル、及び、予測画像を生成するのに用いた参照ピクチャ(ここでは、デコード色画像C#1のピクチャ)に割り当てられている参照インデクスとともに、コスト関数算出部244に供給する。
 予測ベクトル生成部243には、DPB31記憶されたデコード視差画像D#2のピクチャが供給されるとともに、MBインデクス計算部231からMBインデクスが供給される。
 また、予測ベクトル生成部243には、撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)が供給される。
 さらに、予測ベクトル生成部243には、符号化情報バッファ246から、既に符号化が行われた、色画像C#2の、対象ブロックの周辺の周辺色ブロック、すなわち、例えば、図3の周辺色ブロックCAないしCCの符号化情報が供給される。
 ここで、周辺色ブロックの符号化情報には、その周辺色ブロックが、対象ブロックとして符号化されたときの、後述するモード関連情報、計算視差ベクトル、参照インデクス(予測用の参照インデクス)が含まれる。
 予測ベクトル生成部243は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212からの対象ピクチャにおける対象ブロックを認識する。
 さらに、予測ベクトル生成部243は、符号化情報バッファ246からの周辺色ブロックCAないしCCそれぞれの符号化情報に基づき、視差情報利用予測方式で生成される予測ベクトルと、MVC方式で生成される予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの処理に用いる予測ベクトルとして生成する。
 予測ベクトル生成部243は、各マクロブロックタイプ(図9)について、予測ベクトルを生成し、予測ベクトル情報として、視差検出部241、視差補償部242、及び、コスト関数算出部244に供給する。
 ここで、予測ベクトル生成部243に供給される視差関連情報は、予測ベクトルを、視差情報利用予測方式で生成するときに用いられる。
 すなわち、視差情報利用予測方式で、予測ベクトルを生成する場合、予測ベクトル生成部243は、DPB31からのデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)の、対象ブロックと同一位置のブロック(同一位置ブロック)の画素値である視差値νを、視差関連情報に含まれる撮影視差ベクトルd(d2)の最大値dmax及び最小値dminを用い、式(2)に従って、画素ごとの撮影視差ベクトルd(d2)に変換する。
 ここで、視差情報画像として、視差画像ではなく、奥行き画像を用いる場合には、視差関連情報に含まれる基線長L、及び、焦点距離fを用い、式(3)に従って、奥行き画像の画素値である値yの正規化前の値である奥行きZが、撮影視差ベクトルdに変換される。
 そして、予測ベクトル生成部243は、同一位置ブロックの各画素の撮影視差ベクトルd(d2)の、例えば、平均値(平均ベクトル)を求める演算を行い、その平均値を、視差情報利用予測方式の予測ベクトルとする。
 コスト関数算出部244には、視差補償部242から、予測画像、残差ベクトル、及び、参照インデクスが供給されるとともに、予測ベクトル生成部243から、予測ベクトル情報が供給されるとともに、画面並び替え部バッファ212から、色画像C#2の対象ピクチャが供給される。
 コスト関数算出部244は、マクロブロックタイプ(図9)ごとに、画面並び替えバッファ212からの対象ピクチャの対象ブロックの符号化に要する符号化コストを、符号化コストを算出する所定のコスト関数に従って求める。
 すなわち、コスト関数算出部244は、視差補償部242からの残差ベクトル情報から認識される残差ベクトルの符号量に対応する値MVを求めるとともに、視差補償部242からの参照インデクス(予測用の参照インデクス)の符号量に対応する値INを求める。
 さらに、コスト関数算出部244は、視差補償部242からの予測画像に対する、対象ブロックの残差に対応する値DであるSADを求める。
 そして、コスト関数算出部244は、例えば、λ1及びλ2を重みとして、式COST=D+λ1×MV+λ2×INに従い、マクロブロックタイプごとの符号化コストCOSTを求める。
 コスト関数算出部244は、マクロブロックタイプごとの符号化コスト(コスト関数値)を求めると、符号化コストを、参照インデクス、予測画像、及び、残差ベクトルとともに、モード選択部245に供給する。
 モード選択部245は、コスト関数算出部244からのマクロブロックタイプごとの符号化コストの中から、最小値である最小コストを検出する。
 さらに、モード選択部245は、最小コストが得られたマクロブロックタイプを、最適インター予測モードに選択する。
 そして、モード選択部245は、最適インター予測モードを表すモード関連情報、最適インター予測モードの参照インデクス(予測用の参照インデクス)、及び、最適インター予測モードの残差ベクトル等を、ヘッダ情報として、可変長符号化部216に供給する。
 さらに、モード選択部245は、最適インター予測モードの予測画像と符号化コスト(最小コスト)を、予測画像選択部224に供給する。
 なお、モード選択部245は、最小コストが得られた参照インデクスが、値が0の参照インデクスである場合には、例えば、最小コスト等に基づいて、対象ブロックを、スキップマクロブロックとして符号化するかどうかの判定を行う。
 モード選択部245において、対象ブロックを、スキップマクロブロックとして符号化すると判定された場合、最適インター予測モードは、対象ブロックを、スキップマクロブロックとして符号化するスキップモードとされる。
 また、モード選択部245は、予測ベクトル生成部243からコスト関数算出部244に供給される予測ベクトル情報から、最適インター予測モードでの対象ブロックの符号化に用いられた予測ベクトルを認識し、その予測ベクトルと、最適インター予測モードの残差ベクトルとを加算することで、対象ブロックの計算視差ベクトルを復元する。
 そして、モード選択部245は、対象ブロックの計算視差ベクトル、モード関連情報、及び、予測用の参照インデクスを、対象ブロックの符号化情報として、符号化情報バッファ246に供給する。
 符号化情報バッファ246は、モード選択部246からの符号化情報を一時記憶する。
 図14は、図12のエンコーダ12が行う、視点#2の色画像C#2を符号化する符号化処理を説明するフローチャートである。
 ステップS11において、A/D変換部211は、そこに供給される視点#2の色画像C#2のピクチャのアナログ信号をA/D変換し、画面並び替えバッファ212に供給して、処理は、ステップS12に進む。
 ステップS12では、画面並び替えバッファ212は、A/D変換部211からの色画像C#2のピクチャを一時記憶し、あらかじめ決められたGOPの構造に応じて、ピクチャを読み出すことで、ピクチャの並びを、表示順から、符号化順(復号順)に並び替える並び替えを行う。
 画面並び替えバッファ212から読み出されたピクチャは、演算部213、画面内予測部222、及び、視差予測部232に供給され、処理は、ステップS12からステップS13に進む。 
 ステップS13では、演算部213は、画面並び替えバッファ212からの色画像C#2のピクチャを、符号化対象の対象ピクチャとし、さらに、対象ピクチャを構成するマクロブロックを、順次、符号化対象の対象ブロックとする。
 そして、演算部213は、対象ブロックの画素値と、予測画像選択部224から供給される予測画像の画素値との差分(残差)を、必要に応じて演算し、直交変換部214に供給して、処理は、ステップS13からステップS14に進む。
 ステップS14では、直交変換部214は、演算部213からの対象ブロックに対して直交変換を施し、その結果得られる変換係数を、量子化部215に供給して、処理は、ステップS15に進む。
 ステップS15において、量子化部215は、直交変換部214から供給される変換係数を量子化し、その結果得られる量子化値を、逆量子化部218、及び、可変長符号化部216に供給して、処理は、ステップS16に進む。
 ステップS16では、逆量子化部218は、量子化部215からの量子化値を、変換係数に逆量子化し、逆直交変換部219に供給して、処理は、ステップS17に進む。
 ステップS17では、逆直交変換部219は、逆量子化部218からの変換係数を逆直交変換し、演算部220に供給して、処理は、ステップS18に進む。
 ステップS18では、演算部220は、逆直交変換部219から供給されるデータに対して、必要に応じて、予測画像選択部224から供給される予測画像の画素値を加算することで、対象ブロックを復号(ローカルデコード)したデコード色画像C#2を求める。そして、演算部220は、対象ブロックをローカルデコードしたデコード色画像C#2を、デブロッキングフィルタ221に供給して、処理は、ステップS18からステップS19に進む。
 ステップS19では、デブロッキングフィルタ221は、演算部220からのデコード色画像C#2をフィルタリングし、DPB31(図4)に供給して、処理は、ステップS20に進む。
 ステップS20では、DPB31が、デブロッキングフィルタ221からのデコード色画像C#2を記憶し、処理は、ステップS21に進む。
 ステップS21では、DPB31が、色画像D#1を符号化するエンコーダ11から、その色画像C#1を符号化して、ローカルデコードすることにより得られるデコード色画像C#1が供給されるのを待って、そのデコード色画像C#1を記憶し、処理は、ステップS22に進む。
 ステップS22では、DPB31が、視差画像D#2を符号化するエンコーダ22から、その視差画像D#2を符号化して、ローカルデコードすることにより得られるデコード視差画像D#2が供給されるのを待って、そのデコード視差画像D#2を記憶し、処理は、ステップS23に進む。
 ステップS23では、MBインデクス計算部231が、次に符号化の対象となるマクロブロックである次の対象ブロックのMBインデクスを求め、視差予測部232に供給して、処理は、ステップS24に進む。
 ステップS24では、画面内予測部222は、次の対象ブロックについて、イントラ予測処理(画面内予測処理)を行う。
 すなわち、画面内予測部222は、次の対象ブロックについて、DPB31に記憶されたデコード色画像C#2のピクチャから、予測画像(イントラ予測の予測画像)を生成するイントラ予測(画面内予測)を行う。
 そして、画面内予測部222は、イントラ予測の予測画像を用いて、次の対象ブロックを符号化するのに要する符号化コストを求め、イントラ予測の予測画像とともに、予測画像選択部224に供給して、処理は、ステップS24からステップS25に進む。
 ステップS25では、視差予測部232は、次の対象ブロックについて、デコード色画像C#1のピクチャを、参照ピクチャとして、視差予測処理を行う。
 すなわち、視差予測部232は、次の対象ブロックについて、DPB31に記憶されたデコード色画像C#1のピクチャを用いて、視差予測を行うことにより、マクロブロックタイプ等が異なるインター予測モードごとに、予測画像や符号化コスト等を求める。
 さらに、視差予測部232は、符号化コストが最小のインター予測モードを、最適インター予測モードとして、その最適インター予測モードの予測画像を、符号化コストとともに、予測画像選択部224に供給して、処理は、ステップS25からステップS26に進む。
 ステップS26では、予測画像選択部224は、画面内予測部222からの予測画像(イントラ予測の予測画像)、及び、視差予測部232からの予測画像(インター予測の予測画像)のうちの、例えば、符号化コストが小さい方の予測画像を選択し、演算部213及び220に供給して、処理は、ステップS27に進む。
 ここで、予測画像選択部224がステップS26で選択する予測画像が、次の対象ブロックの符号化で行われるステップS13やS18の処理で用いられる。
 また、画面内予測部222は、ステップS24のイントラ予測処理において得られるイントラ予測に関する情報を、ヘッダ情報として、可変長符号化部216に供給し、視差予測部232は、ステップS25の視差予測処理で得られる視差予測(インター予測)に関する情報(最適インター予測モードを表すモード関連情報等)を、ヘッダ情報として、可変長符号化部216に供給する。
 ステップS27では、可変長符号化部216は、量子化部215からの量子化値に対して、可変長符号化を施し、符号化データを得る。
 さらに、可変長符号化部216は、画面内予測部222、及び、視差予測部232それぞれからのヘッダ情報のうちの、符号化コストが小さい予測画像が生成された方からのヘッダ情報を選択し、符号化データのヘッダに含める。
 そして、可変長符号化部216は、符号化データを、蓄積バッファ217に供給して、処理は、ステップS27からステップS28に進む。
 ここで、可変長符号化部216(図12)には、その他、視差関連情報(撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等)も供給される。可変長符号化部216は、視差関連情報も、符号化データのヘッダ等に含める。
 なお、視差関連情報は、可変長符号化部216において、符号化データのヘッダに含めるのではなく、例えば、多重化部4(図4)において多重化することができる。
ステップS28では、蓄積バッファ217は、可変長符号化部216からの符号化データを一時記憶し、所定のデータレートで出力する。
 蓄積バッファ217から出力された符号化データは、多重化部32(図4)に供給される。
 エンコーダ12では、以上のステップS11ないしS28の処理が、適宜繰り返し行われる。
 図15は、図14のステップS25で、図13の視差予測部232が行う視差予測処理を説明するフローチャートである。
ステップS41において、視差予測部232は、MBインデクス計算部231から供給される(次の)対象ブロックのMBインデクスを取得し、視差検出部241、及び、予測ベクトル生成部243に供給して、処理は、ステップS42に進む。
 ステップS42において、視差予測部232は、DPB31から、参照ピクチャであるデコード色画像C#1のピクチャを取得するとともに、デコード視差画像D#2を取得する。
 そして、視差予測部232は、デコード色画像C#1のピクチャを、視差検出部241、及び、視差補償部242に供給するとともに、デコード視差画像D#2を、予測ベクトル生成部243に供給して、処理は、ステップS43に進む。
 ステップS43では、予測ベクトル生成部243は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212から供給される対象ピクチャにおける(次の)対象ブロックを認識する。
 さらに、予測ベクトル生成部243は、符号化情報バッファ246に記憶された符号化情報や、DPB31からのデコード視差画像D#2、その他、視差関連情報等を必要に応じて用いて、各マクロブロックタイプ(図9)について、(次の)対象ブロックの予測ベクトルを生成する予測ベクトル生成処理を行う。
 そして、予測ベクトル生成部243は、予測ベクトル生成処理によって得られた対象ブロックの予測ベクトルを、予測ベクトル情報として、視差検出部241、視差補償部242、及び、コスト関数算出部244に供給し、処理は、ステップS43からステップS44に進む。
 ステップS44では、視差検出部241は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212から供給される対象ピクチャにおける対象ブロックを認識する。
 そして、視差検出部241は、(次の)対象ブロックについて、DPB31からのデコード色画像C#1のピクチャを参照ピクチャとして用いてMEを行うことにより、対象ブロックの、視点#1に対する視差を表す計算視差ベクトルmvを検出する。
 さらに、視差検出部241は、対象ブロックの計算視差ベクトルmvと、予測ベクトル生成部243から供給される予測ベクトル情報から得られる予測ベクトルとの差分である残差ベクトルを求めて、視差補償部242に供給し、処理は、ステップS44からステップS45に進む。
 ステップS45では、視差補償部242は、視差検出部241からの残差ベクトルと、予測ベクトル生成部243からの予測ベクトル情報とから、対象ブロックの計算視差ベクトルmvを復元する。
 さらに、視差補償部242は、DPB31からのデコード色画像C#1のピクチャを、参照ピクチャとして、対象ブロックの計算視差ベクトルmvに従ってMCを行うことにより、(次の)対象ブロックの予測画像を生成する。
 すなわち、視差補償部242は、デコード色画像C#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmvだけずれた位置のブロックである対応ブロックを、予測画像として取得する。
 そして、視差補償部242は、予測画像を、視差検出部241からの残差ベクトル、及び、予測画像を生成するのに用いた参照ピクチャ(ここでは、デコード色画像C#1のピクチャ)に割り当てられている参照インデクスとともに、コスト関数算出部244に供給して、処理は、ステップS45からステップS46に進む。
 ステップS46では、コスト関数算出部244は、マクロブロックタイプ(図9)ごとに、画面並び替えバッファ212からの対象ピクチャの対象ブロックの符号化に要する符号化コストを、所定のコスト関数に従って求め、視差補償部242からの参照インデクス、予測画像、及び、残差ベクトルとともに、モード選択部245に供給して、処理は、ステップS47に進む。
 ステップS47では、モード選択部245は、コスト関数算出部244からのマクロブロックタイプごとの符号化コストの中から、最小値である最小コストを検出する。
 さらに、モード選択部245は、最小コストが得られたマクロブロックタイプを、最適インター予測モードに選択して、処理は、ステップS47からステップS48に進む。
 ステップS48では、モード選択部245は、最適インター予測モードの予測画像と符号化コスト(最小コスト)を、予測画像選択部224に供給して、処理は、ステップS49に進む。
 ステップS49では、モード選択部245は、最適インター予測モードを表すモード関連情報、最適インター予測モードの参照インデクス(予測用の参照インデクス)、及び、最適インター予測モードの残差ベクトルを、ヘッダ情報として、可変長符号化部216に供給する。
 さらに、ステップS49では、モード選択部245は、予測ベクトル生成部243からコスト関数算出部244に供給される予測ベクトル情報から、最適インター予測モードでの対象ブロックの符号化に用いられた予測ベクトルを認識し、その予測ベクトルと、最適インター予測モードの残差ベクトルとを加算することで、対象ブロックの計算視差ベクトルを復元する。
 そして、モード選択部245は、対象ブロックの計算視差ベクトル、モード関連情報、及び、予測用の参照インデクスを、対象ブロックの符号化情報として、符号化情報バッファ246に供給して記憶させ、処理はリターンする。
 図16は、図15のステップS43で予測ベクトル生成部243(図13)が行う予測ベクトル生成処理を説明するフローチャートである。
 ステップS51において、予測ベクトル生成部243は、符号化情報バッファ246から、既に符号化が行われた、色画像C#2の対象ブロックの周辺の周辺色ブロック、すなわち、例えば、図3の3個の周辺色ブロックCAないしCCの符号化情報を取得し、処理は、ステップS52に進む。
 ステップS52では、予測ベクトル生成部243は、DPB31からのデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)から、対象ブロックと同一位置のブロック(同一位置ブロック)と、その同一位置ブロックの周辺の周辺視差ブロック(ステップS51で符号化情報が取得された周辺色ブロックと同一位置の周辺視差ブロック)、すなわち、例えば、図3の3個の周辺視差ブロックDAないしDCを取得し、処理は、ステップS53に進む。
 以下、ステップS53ないしS56では、各マクロブロックタイプについて、対象ブロックの予測ベクトルを生成するベクトル予測処理が行われ、処理は、リターンする。
 すなわち、ステップS53において、予測ベクトル生成部243は、対象ブロックを16×16画素のパーティションに分割するマクロブロックタイプ(16×16タイプ)について、ベクトル予測処理を行い、処理は、ステップS54に進む。
 ステップS54では、予測ベクトル生成部243は、対象ブロックを16×8画素のパーティションに分割するマクロブロックタイプ(16×8タイプ)について、ベクトル予測処理を行い、処理は、ステップS55に進む。
 ステップS55では、予測ベクトル生成部243は、対象ブロックを8×16画素のパーティションに分割するマクロブロックタイプ(8×16タイプ)について、ベクトル予測処理を行い、処理は、ステップS56に進む。
 ステップS56では、予測ベクトル生成部243は、対象ブロックを8×8画素以下のパーティションに分割する各マクロブロックタイプ(8×8以下タイプ)について、ベクトル予測処理を行い、処理はリターンする。
 図17は、図16のステップS53ないしS56で予測ベクトル生成部243(図13)が各マクロブロックタイプについて行うベクトル予測処理を説明する図である。
 予測ベクトル生成部243は、ベクトル予測処理において、色画像C#2の、対象ブロックCXの周辺の周辺色ブロック(例えば、図3の3個の周辺色ブロックCAないしCC)の中の、予測画像を生成するのに参照する参照ピクチャを表す参照インデクスが、対象ブロックと一致する参照インデクス一致ブロックについて、(デコード)視差画像D#2の、参照インデクス一致ブロックと同一位置の周辺視差ブロック(例えば、図3の3個の周辺視差ブロックDAないしDC)と、同一位置ブロックDXとの差を求める。
 さらに、予測ベクトル生成部243は、ベクトル予測処理において、参照インデクス一致ブロックと同一位置の周辺視差ブロックと、同一位置ブロックとの差に基づいて、視差情報利用予測方式の予測ベクトル、及び、MVC方式の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックCXの処理に用いる予測ベクトルとして生成する。
 すなわち、例えば、16×16タイプについては、予測ベクトル生成部243は、色画像C#2の、例えば、MVC方式で予測ベクトルを生成するときに用いられる3個の周辺色ブロック、つまり、図10に示した、対象ブロックXの左に隣接する周辺色ブロックA、上に隣接する周辺色ブロックB、及び、右斜め上に隣接する周辺色ブロックCの符号化情報に基づいて、その周辺色ブロックAないしCの中の、予測用の参照インデクスが、対象ブロックXと一致する参照インデクス一致ブロックの数を求める。
 ここで、16×16タイプについては、参照インデクス一致ブロックの数の範囲は、0ないし3個となる。
 参照インデクス一致ブロックの数が0個である場合、予測ベクトル生成部243は、視差情報利用予測方式(視差情報利用予測器)で、対象ブロックの予測ベクトルを生成する。
 ここで、MVC方式では、参照インデクス一致ブロックの数が0個である場合、図11で説明したように、0ベクトルが、対象ブロックの予測ベクトルとされる。
 一方、視差情報利用予測方式によれば、図13で説明したように、デコード視差画像D#2のピクチャの、対象ブロックと同一位置のブロック(同一位置ブロック)の画素値である視差値νから求められる撮影視差ベクトルd(d2)の平均値が、対象ブロックの予測ベクトルとされる。
 デコード視差画像D#2から求められる撮影視差ベクトルd(d2)は、色画像C#2の視差を表すベクトルであるから、そのような撮影視差ベクトルd(d2)から予測ベクトルを求めることにより、MVC方式で求められる0ベクトルの予測ベクトルよりも、予測精度が良い予測ベクトルが得られると推定される。
 参照インデクス一致ブロックの数が1個以上である場合、予測ベクトル生成部243は、参照インデクス一致ブロックについて、その参照インデクス一致ブロックと同一位置の周辺視差ブロック(図3の周辺視差ブロックDAないしDC)と、同一位置ブロック(図3の同一位置ブロックDX)との差に対応する値としてのSAD(以下、視差SADともいう)を求める。
 そして、予測ベクトル生成部243は、視差SADが所定の閾値を超える参照インデクス一致ブロックの数に基づいて、視差情報利用予測方式の予測ベクトル、及び、MVC方式の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの予測ベクトルとして生成する。
 すなわち、参照インデクス一致ブロックの数が1個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が0個である場合、つまり、参照インデクス一致ブロックの数が1個だけであり、その参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、予測ベクトル生成部243は、MVC方式で、対象ブロックの予測ベクトルを生成する。
 ここで、MVC方式では、参照インデクス一致ブロックの数が1個である場合、図11で説明したように、その参照インデクス一致ブロックの計算視差ベクトルが、対象ブロックの予測ベクトルとされる。
 参照インデクス一致ブロックの数が1個だけであり、その参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、その1個の参照インデクス一致ブロックと、対象ブロックとには、同一の被写体が写っている(視差に大きな違いがない)(視差に相関がある)と推定される。
 したがって、そのような参照インデクス一致ブロックの計算視差ベクトルを、対象ブロックの予測ベクトルとすることで、撮影視差ベクトルd(d2)から予測ベクトルを求める視差情報利用予測方式以上の予測精度の予測ベクトルが得られると推定される。
 参照インデクス一致ブロックの数が1個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が1個である場合、つまり、参照インデクス一致ブロックの数が1個だけであり、その参照インデクス一致ブロックの視差SADが所定の閾値を超える場合、予測ベクトル生成部243は、視差情報利用予測方式で、対象ブロックの予測ベクトルを生成する。
 ここで、参照インデクス一致ブロックの視差SADが所定の閾値を超える場合、その参照インデクス一致ブロックと、対象ブロックとには、異なる被写体が写っている(視差に大きな違いがある)(視差に相関がない)と推定される。 
 したがって、そのような参照インデクス一致ブロックの計算視差ベクトルを、対象ブロックの予測ベクトルとするよりも、撮影視差ベクトルd(d2)から予測ベクトルを求める視差情報利用予測方式の方が、予測精度が良い予測ベクトルが得られると推定される。
 参照インデクス一致ブロックの数が2個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が0個である場合、つまり、参照インデクス一致ブロックの数が2個であり、その2個の参照インデクス一致ブロックの視差SADのいずれも所定の閾値以下である場合、予測ベクトル生成部243は、MVC方式で、対象ブロックの予測ベクトルを生成する。
 ここで、MVC方式では、参照インデクス一致ブロックの数が2個(以上)である場合、図11で説明したように、その2個(以上)の参照インデクス一致ブロックの計算視差ベクトルを用いたメディアン予測方式(メディアン予測器)により、対象ブロックの予測ベクトルが求められる。
 そして、周辺色ブロックAないしCのうちの、2個の周辺色ブロックが、参照インデクス一致ブロックであり、その2個の参照インデクス一致ブロックの視差SADのいずれも所定の閾値以下である場合、その2個の参照インデクス一致ブロックと、対象ブロックとには、同一の被写体が写っている(視差に大きな違いがない)と推定される。
 したがって、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックの計算視差ベクトルどうし、さらには、その参照インデクス一致ブロックの計算視差ベクトルと対象ブロックの計算視差ベクトルとは、似ている。 
 よって、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックの計算視差ベクトルのうちのいずれかを、対象ブロックの予測ベクトルとすることにより、撮影視差ベクトルd(d2)から予測ベクトルを求める視差情報利用予測方式以上の予測精度の予測ベクトルが得られると推定される。
 3個の周辺色ブロックAないしCの中に、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックが含まれる場合には、メディアン予測方式によれば、その、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックのうちのいずれかの計算視差ベクトルが、対象ブロックの予測ベクトルとされるので、予測精度の良い予測ベクトルを得ることができる。
 参照インデクス一致ブロックの数が2個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が1個である場合、つまり、参照インデクス一致ブロックの数が2個であり、その2個の参照インデクス一致ブロックのうちの1個の参照インデクス一致ブロックの視差SADが所定の閾値を超え、他の1個の参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、予測ベクトル生成部243は、視差情報利用予測方式で、対象ブロックの予測ベクトルを生成する。
 ここで、MVC方式では、上述したように、参照インデクス一致ブロックの数が2個以上である場合、その2個以上の参照インデクス一致ブロックの計算視差ベクトルを用いたメディアン予測方式(メディアン予測器)により、対象ブロックの予測ベクトルが求められる。
 メディアン予測方式に用いられる周辺色ブロックAないしCのうちの、2個の周辺色ブロックが、参照インデクス一致ブロックであり、その2個の参照インデクス一致ブロックのうちの一方の参照インデクス一致ブロックの視差SADが所定の閾値を超え、他方の参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、一方の参照インデクス一致ブロックと、他方の参照インデクス一致ブロックとには、異なる被写体が写っており(視差に大きな違いがある)と推定されるとともに、他方の参照インデクス一致ブロックと、対象ブロックとには、同一の被写体が写っている(視差に大きな違いがない)と推定される。
 したがって、視差SADが所定の閾値を超える(一方の)参照インデクス一致ブロックの計算視差ベクトルと、視差SADが所定の閾値以下の(他方の)参照インデクス一致ブロックの計算視差ベクトルは、似ていない。
 また、視差SADが所定の閾値以下の参照インデクス一致ブロックの計算視差ベクトルを、対象ブロックの予測ベクトルとすることにより、予測精度の予測ベクトルが得られると推定される。
 しかしながら、2個の参照インデクス一致ブロックが、視差SADが所定の閾値を超える1個の参照インデクス一致ブロックと、視差SADが所定の閾値以下の1個の参照インデクス一致ブロックとである場合には、メディアン予測方式によれば、視差SADが所定の閾値以下の参照インデクス一致ブロックの計算視差ベクトルが、対象ブロックの予測ベクトルとされるとは限らない。
 すなわち、メディアン予測方式によれば、視差SADが所定の閾値以下の参照インデクス一致ブロック以外の周辺色ブロックの計算視差ベクトルが、対象ブロックの予測ベクトルとされることがあり、その場合、予測精度が悪くなる。
 そこで、参照インデクス一致ブロックの数が2個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が1個である場合には、予測ベクトル生成部243は、予測精度が悪くなるMVC方式(メディアン予測方式)ではなく、視差情報利用予測方式で、対象ブロックの予測ベクトルを生成する。
 参照インデクス一致ブロックの数が2個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が2個である場合、予測ベクトル生成部243は、視差情報利用予測方式で、対象ブロックの予測ベクトルを生成する。
 すなわち、参照インデクス一致ブロックの数が2個であり、その2個の参照インデクス一致ブロックのいずれの視差SADも所定の閾値を超える場合、上述の、参照インデクス一致ブロックの数が2個であり、その2個のうちの1個の参照インデクス一致ブロックの視差SADが所定の閾値を超える場合と同様に、メディアン予測方式の予測精度は悪くなるので、相対的に予測精度が良い視差情報利用予測方式で、対象ブロックの予測ベクトルが生成される。
 参照インデクス一致ブロックの数が3個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が0個である場合、上述の、参照インデクス一致ブロックの数が2個であり、その2個の参照インデクス一致ブロックのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が0個である場合と同様に、MVC方式(メディアン予測方式)によれば、撮影視差ベクトルd(d2)から予測ベクトルを求める視差情報利用予測方式以上の予測精度の予測ベクトルが得られると推定される。
 このため、予測ベクトル生成部243は、MVC方式(メディアン予測方式)で、対象ブロックの予測ベクトルを生成する。
 参照インデクス一致ブロックの数が3個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が1個である場合、つまり、3個の参照インデクス一致ブロックのうちの1個の参照インデクス一致ブロックの視差SADが所定の閾値を超え、他の2個の参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、予測ベクトル生成部243は、MVC方式で、対象ブロックの予測ベクトルを生成する。
 ここで、MVC方式では、上述したように、参照インデクス一致ブロックの数が3個である場合、その3個の参照インデクス一致ブロックである3個の周辺色ブロックの計算視差ベクトルを用いたメディアン予測方式(メディアン予測器)により、対象ブロックの予測ベクトルが求められる。
 メディアン予測方式に用いられる周辺色ブロックすべてが、参照インデクス一致ブロックであり、その3個の参照インデクス一致ブロックのうちの1個の参照インデクス一致ブロックの視差SADが所定の閾値を超え、他の2個の参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、1個の参照インデクス一致ブロックと、他の2個の参照インデクス一致ブロックとには、異なる被写体が写っており(視差に大きな違いがある)と推定されるとともに、他の2個の参照インデクス一致ブロックと、対象ブロックとには、同一の被写体が写っている(視差に大きな違いがない)と推定される。
 したがって、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックの計算視差ベクトルどうしは、似ている。
 そして、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックの計算視差ベクトルのうちのいずれかを、対象ブロックの予測ベクトルとすることにより、撮影視差ベクトルd(d2)から予測ベクトルを求める視差情報利用予測方式以上の予測精度の予測ベクトルが得られると推定される。
 3個の周辺色ブロックに、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックが含まれる場合には、メディアン予測方式によれば、その、視差SADが所定の閾値以下の2個の参照インデクス一致ブロックのうちのいずれかの計算視差ベクトルが、対象ブロックの予測ベクトルとされるので、予測精度の良い予測ベクトルを得ることができる。
 参照インデクス一致ブロックの数が3個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が2個である場合、つまり、3個の参照インデクス一致ブロックのうちの2個の参照インデクス一致ブロックの視差SADが所定の閾値を超え、他の1個の参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、予測ベクトル生成部243は、視差情報利用予測方式で、対象ブロックの予測ベクトルを生成する。
 ここで、MVC方式では、上述したように、参照インデクス一致ブロックの数が3個である場合、その3個以上の参照インデクス一致ブロックである3個の周辺色ブロックの計算視差ベクトルを用いたメディアン予測方式(メディアン予測器)により、対象ブロックの予測ベクトルが求められる。
 メディアン予測方式に用いられる周辺色ブロックすべてが、参照インデクス一致ブロックであり、その3個の参照インデクス一致ブロックのうちの2個の参照インデクス一致ブロックの視差SADが所定の閾値を超え、他の1個の参照インデクス一致ブロックの視差SADが所定の閾値以下である場合、2個の参照インデクス一致ブロックと、他の1個の参照インデクス一致ブロックとには、異なる被写体が写っており(視差に大きな違いがある)と推定されるとともに、他の1個の参照インデクス一致ブロックと、対象ブロックとには、同一の被写体が写っている(視差に大きな違いがない)と推定される。
 したがって、視差SADが所定の閾値を超える2個の参照インデクス一致ブロックの計算視差ベクトルと、視差SADが所定の閾値以下の他の1個の参照インデクス一致ブロックの計算視差ベクトルは、似ていない。
 また、視差SADが所定の閾値以下の(他の1個の)参照インデクス一致ブロックの計算視差ベクトルを、対象ブロックの予測ベクトルとすることにより、予測精度の予測ベクトルが得られると推定される。
 しかしながら、3個の周辺色ブロックが、視差SADが所定の閾値を超える2個の参照インデクス一致ブロックと、視差SADが所定の閾値以下の1個の参照インデクス一致ブロックとである場合には、メディアン予測方式によれば、視差SADが所定の閾値以下の参照インデクス一致ブロックの計算視差ベクトルが、対象ブロックの予測ベクトルとされるとは限らない。
 すなわち、メディアン予測方式によれば、視差SADが所定の閾値以下の参照インデクス一致ブロック以外の周辺色ブロックの計算視差ベクトルが、対象ブロックの予測ベクトルとされることがあり、その場合、予測精度が悪くなる。
 そこで、参照インデクス一致ブロックの数が3個であり、そのうちの、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が2個である場合には、予測ベクトル生成部243は、予測精度が悪くなるMVC方式(メディアン予測方式)ではなく、視差情報利用予測方式で、対象ブロックの予測ベクトルを生成する。
 参照インデクス一致ブロックの数が3個であり、その3個の参照インデクス一致ブロックのいずれの視差SADも所定の閾値を超える場合、上述の、参照インデクス一致ブロックの数が3個であり、その3個のうちの2個の参照インデクス一致ブロックの視差SADが所定の閾値を超える場合と同様に、メディアン予測方式の予測精度は悪くなるので、予測ベクトル生成部243では、相対的に予測精度が良い視差情報利用予測方式で、対象ブロックの予測ベクトルが生成される。
 なお、予測ベクトル生成部243は、16×16タイプ以外のマクロブロックタイプについても、16×16×タイプの場合と同様に、ベクトル予測処理を行う。
 但し、参照インデクス一致ブロックとしてカウントする対象は、例えば、MVC方式で予測ベクトルを生成するときに用いられる周辺色ブロックとなる。
 すなわち、例えば、16×16タイプについては、MVC方式で予測ベクトルを生成するときに用いられる周辺色ブロックは、図10に示したように、対象ブロックXの左に隣接する周辺色ブロックA、上に隣接する周辺色ブロックB、及び、右斜め上に隣接する周辺色ブロックCの3つであるため、その3つの周辺色ブロックAないしCが、参照インデクス一致ブロックとしてカウントする対象となる。
 また、例えば、8×16タイプや、16×8タイプについては、MVC方式で予測ベクトルを生成するときに用いられる周辺色ブロックが、対象ブロックXの左に隣接する周辺色ブロックAの1つだけや、上に隣接する周辺色ブロックBの1つだけ、右斜め上に隣接する周辺色ブロックCの1つだけであるため、その1つの周辺色ブロックが、参照インデクス一致ブロックとしてカウントする対象となる。
 したがって、8×16タイプや、16×8タイプについては、参照インデクス一致ブロックの数の範囲は、0ないし1個となる。
 図18は、図16のステップS53ないしS56で予測ベクトル生成部243(図13)が各マクロブロックタイプについて行うベクトル予測処理を説明するフローチャートである。
 ステップS61において、予測ベクトル生成部243は、符号化情報に基づき、色画像C#2の、対象ブロックの周辺の周辺色ブロック(例えば、図3の3個の周辺色ブロックCAないしCC)の中の、予測画像を生成するのに参照する参照ピクチャを表す参照インデクスが、対象ブロックと一致する参照インデクス一致ブロックの数を判定する。
 ステップS61において、参照インデクス一致ブロックの数が0個であると判定された場合、処理は、ステップS67に進み、予測ベクトル生成部243は、視差情報利用予測方式によって、デコード視差画像D#2から、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 また、ステップS61において、参照インデクス一致ブロックの数が1個以上であると判定された場合、処理は、ステップS62に進み、予測ベクトル生成部243は、参照インデクス一致ブロックについて、その参照インデクス一致ブロックと同一位置の、デコード視差画像D#2の周辺視差ブロック(例えば、図3の周辺視差ブロックDAないしDC)と、同一位置ブロック(図3の同一位置ブロックDX)との差に対応する値としてのSADである視差SADを求め、処理は、ステップS63に進む。
 ステップS63では、予測ベクトル生成部243は、参照インデクス一致ブロックの数が1個であり、かつ、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、1個であるかどうかを判定する。
 ステップS63において、参照インデクス一致ブロックの数が1個であり、かつ、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、1個であると判定された場合、処理は、ステップS67に進み、予測ベクトル生成部243は、視差情報利用予測方式によって、デコード視差画像D#2から、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 また、ステップS63において、参照インデクス一致ブロックの数が1個でないと判定されるか、又は、参照インデクス一致ブロックの数が1個であっても、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、1個でないと判定された場合、処理は、ステップS64に進み、予測ベクトル生成部243は、参照インデクス一致ブロックの数が2個であり、かつ、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、1個以上であるかどうかを判定する。
 ステップS64において、参照インデクス一致ブロックの数が2個であり、かつ、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、1個以上であると判定された場合、処理は、ステップS67に進み、予測ベクトル生成部243は、視差情報利用予測方式によって、デコード視差画像D#2から、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 また、ステップS64において、参照インデクス一致ブロックの数が2個でないと判定されるか、又は、参照インデクス一致ブロックの数が2個であっても、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、1個以上でないと判定された場合、処理は、ステップS65に進み、予測ベクトル生成部243は、参照インデクス一致ブロックの数が3個であり、かつ、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、2個以上であるかどうかを判定する。
 ステップS65において、参照インデクス一致ブロックの数が3個であり、かつ、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、2個以上であると判定された場合、処理は、ステップS67に進み、予測ベクトル生成部243は、視差情報利用予測方式によって、デコード視差画像D#2から、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 また、ステップS65において、参照インデクス一致ブロックの数が3個でないと判定されるか、又は、参照インデクス一致ブロックの数が3個であっても、視差SADが所定の閾値を超える参照インデクス一致ブロックの数が、2個以上でないと判定された場合、処理は、ステップS66に進み、予測ベクトル生成部243は、MVC方式によって、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 以上のように、ベクトル予測処理において、参照インデクス一致ブロックと同一位置の周辺視差ブロックと、同一位置ブロックとの差に対応する視差SADに基づいて、視差情報利用予測方式の予測ベクトル、及び、MVC方式の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの処理に用いる予測ベクトルとして生成することにより、予測精度の良い予測ベクトルを得ることができる。
 [本技術を適用した多視点画像デコーダの一実施の形態]
 図19は、本技術を適用した多視点画像デコーダの一実施の形態の構成例を示すブロック図である。
 図19の多視点画像デコーダは、例えば、MVC方式を利用して、複数の視点の画像を符号化したデータを復号するデコーダであり、以下では、MVC方式と同様の処理については、適宜、説明を省略する。
 なお、多視点画像デコーダは、MVC方式を利用するデコーダに限定されるものではない。
 図19の多視点画像デコーダでは、図4の多視点画像エンコーダが出力する多重化データが、2つの視点#1及び#2の色画像である視点#1の色画像C#1、及び、視点#2の色画像C#2、並びに、その2つの視点#1及び#2の視差情報画像である視点#1の視差画像D#1、及び、視点#2の視差画像D#2に復号される。
 図19において、多視点画像デコーダは、分離部301、デコーダ311,312,321,322、及び、DPB331を有する。
 図4の多視点画像エンコーダが出力する多重化データは、図示せぬ記録媒体や伝送媒体を介して、分離部301に供給される。
 分離部301は、そこに供給される多重化データから、色画像C#1の符号化データ、色画像C#2の符号化データ、視差画像D#1の符号化データ、及び、視差画像D#2の符号化データを分離する。
 そして、分離部301は、色画像C#1の符号化データをデコーダ311に、色画像C#2の符号化データをデコーダ312に、視差画像D#1の符号化データをデコーダ321に、視差画像D#2の符号化データをデコーダ322に、それぞれ供給する。
 デコーダ311は、分離部301からの色画像C#1の符号化データを復号し、その結果得られる色画像C#1を出力する。
 デコーダ312は、分離部301からの色画像C#2の符号化データを復号し、その結果得られる色画像C#2を出力する。
 デコーダ321は、分離部301からの視差画像D#1の符号化データを復号し、その結果得られる視差画像D#1を出力する。
 デコーダ322は、分離部301からの視差画像D#2の符号化データを復号し、その結果得られる視差画像D#2を出力する。
 DPB331は、デコーダ311,312,321、及び、322それぞれで、復号対象の画像を復号することにより得られる復号後の画像(デコード画像)を、予測画像の生成時に参照する参照ピクチャ(の候補)として一時記憶する。
 すなわち、デコーダ311,312,321、及び、322は、それぞれ、図4のエンコーダ11,12,21、及び、22で予測符号化された画像を復号する。
 予測符号化された画像を復号するには、その予測符号化で用いられた予測画像が必要であるため、デコーダ311,312,321、及び、322は、予測符号化で用いられた予測画像を生成するために、復号対象の画像を復号した後、予測画像の生成に用いる、復号後の画像を、DPB331に一時記憶させる。
 DPB331は、デコーダ311,312,321、及び、322それぞれで得られる復号後の画像(デコード画像)を一時記憶する共用のバッファであり、デコーダ311,312,321、及び、322それぞれは、DPB331に記憶されたデコード画像から、復号対象の画像を復号するのに参照する参照ピクチャを選択し、その参照ピクチャを用いて、予測画像を生成する。
 DPB331は、デコーダ311,312,321、及び、322で共用されるので、デコーダ311,312,321、及び、322それぞれは、自身で得られたデコード画像の他、他のデコーダで得られたデコード画像をも参照することができる。
 [デコーダ311の構成例]
 図20は、図19のデコーダ311の構成例を示すブロック図である。
 なお、図19のデコーダ321及び322も、デコーダ311と同様に構成され、例えば、MVC方式に従って、画像の符号化を行う。
 図20において、デコーダ311は、蓄積バッファ341、可変長復号部342、逆量子化部343、逆直交変換部344、演算部345、デブロッキングフィルタ346、画面並び替えバッファ347、D/A変換部348、画面内予測部349、インター予測部350、及び、予測画像選択部351を有する。
 蓄積バッファ341には、分離部301(図19)から、色画像C#1の符号化データが供給される。
 蓄積バッファ341は、そこに供給される符号化データを一時記憶し、可変長復号部342に供給する。
 可変長復号部342は、蓄積バッファ341からの符号化データを可変長復号することにより、量子化値やヘッダ情報を復元する。そして、可変長復号部342は、量子化値を、逆量子化部343に供給し、ヘッダ情報を、画面内予測部349、及び、インター予測部350に供給する。
 逆量子化部343は、可変長復号部342からの量子化値を、変換係数に逆量子化し、逆直交変換部344に供給する。
 逆直交変換部344は、逆量子化部343からの変換係数を逆直交変換し、マクロブロック単位で、演算部345に供給する。
 演算部345は、逆直交変換部344から供給されるマクロブロックを復号対象の対象ブロックとして、その対象ブロックに対して、必要に応じて、予測画像選択部351から供給される予測画像を加算することで、デコード画像を求め、デブロッキングフィルタ346に供給する。
 デブロッキングフィルタ346は、演算部345からのデコード画像に対して、例えば、図8のデブロッキングフィルタ121と同様のフィルタリングを行い、そのフィルタリング後のデコード画像を、画面並び替えバッファ347に供給する。
 画面並び替えバッファ347は、デブロッキングフィルタ346からのデコード画像のピクチャを一時記憶して読み出すことで、ピクチャの並びを、元の並び(表示順)に並び替え、D/A(Digital/Analog)変換部348に供給する。
 D/A変換部348は、画面並び替えバッファ347からのピクチャをアナログ信号で出力する必要がある場合に、そのピクチャをD/A変換して出力する。
 また、デブロッキングフィルタ346は、フィルタリング後のデコード画像のうちの、参照可能ピクチャであるIピクチャ、Pピクチャ、及び、Bsピクチャのデコード画像を、DPB331に供給する。
 ここで、DPB331は、デブロッキングフィルタ346からのデコード画像のピクチャ、すなわち、色画像C#1のピクチャを、時間的に後に行われる復号に用いる予測画像を生成するときに参照する参照ピクチャとして記憶する。
 図19で説明したように、DPB331は、デコーダ311,312,321、及び、322で共用されるので、デコーダ311において復号された色画像C#1のピクチャの他、デコーダ312において復号された色画像C#2のピクチャ、デコーダ321において復号された視差画像D#1のピクチャ、及び、デコーダ322において復号された視差画像D#2のピクチャも記憶する。
 画面内予測部349は、可変長復号部342からのヘッダ情報に基づき、対象ブロックが、イントラ予測(画面内予測)で生成された予測画像を用いて符号化されているかどうかを認識する。
 対象ブロックが、イントラ予測で生成された予測画像を用いて符号化されている場合、画面内予測部349は、図8の画面内予測部122と同様に、DPB331から、対象ブロックを含むピクチャ(対象ピクチャ)のうちの、既に復号されている部分(デコード画像)を読み出す。そして、画面内予測部349は、DPB331から読み出した、対象ピクチャのうちのデコード画像の一部を、対象ブロックの予測画像として、予測画像選択部351に供給する。
 インター予測部350は、可変長復号部342からのヘッダ情報に基づき、対象ブロックが、インター予測で生成された予測画像を用いて符号化されているかどうかを認識する。
 対象ブロックが、インター予測で生成された予測画像を用いて符号化されている場合、インター予測部350は、可変長復号部342からのヘッダ情報に基づき、予測用の参照インデクス、すなわち、対象ブロックの予測画像の生成に用いられた参照ピクチャに割り当てられている参照インデクスを認識する。
 そして、インター予測部350は、DPB331に記憶されている参照ピクチャから、予測用の参照インデクスが割り当てられている参照ピクチャを読み出す。
 さらに、インター予測部350は、可変長復号部342からのヘッダ情報に基づき、対象ブロックの予測画像の生成に用いられたずれベクトル(視差ベクトル、動きベクトル)を認識し、図8のインター予測部123と同様に、そのずれベクトルに従って、参照ピクチャのずれ補償(動き分のずれを補償する動き補償、又は、視差分のずれを補償する視差補償)を行うことで、予測画像を生成する。
 すなわち、インター予測部350は、参照ピクチャの、対象ブロックの位置から、その対象ブロックのずれベクトルに従って移動した(ずれた)位置のブロック(対応ブロック)を、予測画像として取得する。
 そして、インター予測部350は、予測画像を、予測画像選択部351に供給する。
 予測画像選択部351は、画面内予測部349から予測画像が供給される場合には、その予測画像を、インター予測部350から予測画像が供給される場合には、その予測画像を、それぞれ選択し、演算部345に供給する。
 [デコーダ322の構成例]
 図21は、図19のデコーダ312の構成例を示すブロック図である。
 デコーダ312は、復号対象である視点#2の色画像C#2の符号化データの復号を、MVC方式を利用して、すなわち、図12のエンコーダ12で行われるローカルデコードと同様にして行う。
 図21において、デコーダ312は、蓄積バッファ441、可変長復号部442、逆量子化部443、逆直交変換部444、演算部445、デブロッキングフィルタ446、画面並び替えバッファ447、D/A変換部448、画面内予測部449、予測画像選択部451、MBインデクス計算部461、及び、視差予測部462を有する。
 蓄積バッファ441ないし画面内予測部449、及び、予測画像選択部451は、図20の蓄積バッファ341ないし画面内予測部349、及び、予測画像選択部351と、それぞれ同様に構成されるので、その説明は、適宜省略する。
 図21において、DPB331には、デブロッキングフィルタ446から、デコード画像、すなわち、デコーダ312において復号された色画像であるデコード色画像C#2のピクチャが供給され、参照ピクチャとして記憶される。
 また、DPB331には、図19や図20で説明したように、デコーダ311において復号された色画像(デコード色画像)C#1のピクチャ、デコーダ321において復号された視差画像(デコード視差画像)D#1のピクチャ、及び、デコーダ322において復号された視差画像(デコード視差画像)D#2のピクチャも供給されて記憶される。
 但し、デコーダ312では、デブロッキングフィルタ446からのデコード色画像C#2のピクチャの他、デコーダ311で得られるデコード色画像C#1、及び、デコーダ322で得られるデコード視差画像D#2が、復号対象である色画像C#2の復号に用いられるので、図21では、デコーダ311で得られるデコード色画像C#1、及び、デコーダ322で得られるデコード視差画像D#2が、DPB331に供給されることを示す矢印を、図示してある。
MBインデクス計算部461は、図12のMBインデクス計算部231と同様に、対象ブロックのMBインデクスを求め、視差予測部462に供給する。
 視差予測部462は、可変長復号部442からのヘッダ情報に基づき、対象ブロックが、視差予測(インター予測)で生成された予測画像を用いて符号化されているかどうかを認識する。
 対象ブロックが、視差予測で生成された予測画像を用いて符号化されている場合、視差予測部462は、可変長復号部442からのヘッダ情報に基づき、予測用の参照インデクス、すなわち、対象ブロックの予測画像の生成に用いられた参照ピクチャに割り当てられている参照インデクスを認識(取得)する。
 そして、視差予測部462は、DPB331に記憶されているデコード色画像C#1のピクチャのうちの、予測用の参照インデクスが割り当てられているピクチャを、参照ピクチャとして選択する。
 さらに、視差予測部462は、可変長復号部442からのヘッダ情報に基づき、候補ブロックの予測画像の生成に用いられた計算視差ベクトルを復元し、図12の視差予測部232と同様に、その計算視差ベクトルに従って、視差予測を行うことで、予測画像を生成する。
 すなわち、視差予測部462は、参照ピクチャの、対象ブロックの位置から、その対象ブロックの計算視差ベクトルに従って移動した(ずれた)位置のブロック(対応ブロック)を、予測画像として取得する。
 そして、視差予測部462は、予測画像を、予測画像選択部451に供給する。
 なお、図21においては、説明を簡単にするため、図12のエンコーダ12の場合と同様に、デコーダ322に、インター予測のうちの視差予測だけを行う視差予測部462を設けてあるが、図12のエンコーダ12が、視差予測の他、時間予測も行う場合には、デコーダ322でも、エンコーダ12で行われるのと同様にして、視差予測、及び、時間予測(による予測画像の生成)が行われる。
 図22は、図21の視差予測部462の構成例を示すブロック図である。
 図22において、視差予測部462は、予測ベクトル生成部471、及び、視差補償部472を有する。
 予測ベクトル生成部471には、DPB331記憶されたデコード視差画像D#2のピクチャが供給されるとともに、MBインデクス計算部461からMBインデクスが供給される。
 また、予測ベクトル生成部471には、可変長復号部442からのヘッダ情報に含まれる撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)が供給される。
 さらに、予測ベクトル生成部471には、可変長復号部442からのヘッダ情報に含まれる、既に復号が行われた、色画像C#2のブロックのうちの、対象ブロックの、例えば、左、上、右斜め上にそれぞれ隣接する周辺色ブロック、すなわち、例えば、図3の周辺色ブロックCAないしCCの符号化情報、及び、対象ブロックの符号化情報が供給される。
 ここで、可変長復号部442からのヘッダ情報に含まれる周辺色ブロックの符号化情報には、その周辺色ブロックのモード関連情報(マクロブロックタイプ)、及び、参照インデクス(予測用の参照インデクス)が含まれ、可変長復号部442からのヘッダ情報に含まれる対象ブロックの符号化情報には、その対象ブロックのモード関連情報(マクロブロックタイプ)、残差ベクトル、及び、参照インデクス(予測用の参照インデクス)が含まれる。
 また、予測ベクトル生成部471には、視差補償部472から、既に復号が行われた周辺色ブロックの計算視差ベクトルが供給される。
 予測ベクトル生成部471は、MBインデクス計算部461からのMBインデクスに基づいて、対象ピクチャにおける対象ブロックを認識する。
 さらに、予測ベクトル生成部471は、DPB331記憶されたデコード視差画像D#2のピクチャ、視差関連情報、符号化情報、及び、視差補償部472からの周辺色ブロックの計算視差ベクトル等を必要に応じて用い、図13の予測ベクトル生成部243と同様に、対象ブロックの予測ベクトルを生成し、視差補償部472に供給する。
 すなわち、予測ベクトル生成部471は、対象ブロックの符号化情報に基づき、対象ブロックのマクロブロックモードを認識し、そのマクロブロックモードについて、視差情報利用予測方式で生成される予測ベクトルと、MVC方式で生成される予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの予測ベクトルとして生成する。
 ここで、予測ベクトル生成部471に供給される視差関連情報は、図13の予測ベクトル生成部243の場合と同様に、予測ベクトルを、視差情報利用予測方式で生成するときに用いられる。
 視差補償部472には、予測ベクトル生成部471から対象ブロックの予測ベクトルが供給される他、可変長復号部442からのヘッダ情報に含まれる、対象ブロックのモード関連情報、残差ベクトル、及び、予測用の参照インデクスが供給される。
 さらに、視差補償部472には、DPB331に記憶された参照ピクチャであるデコード色画像C#1のピクチャが供給される。
 視差補償部472は、可変長復号部442からの残差ベクトルと、予測ベクトル生成部471からの予測ベクトルとを加算することで、対象ブロックの計算視差ベクトルmvを復元する。
 さらに、視差補償部472は、DPB331に記憶されたデコード色画像C#1のピクチャのうちの、可変長復号部442からの予測用の参照インデクスが割り当てられているピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、対象ブロックの計算視差ベクトルmvを用いて、MVC方式と同様にして行うことで、可変長復号部442からのモード関連情報が表すマクロブロックタイプについて、対象ブロックの予測画像を生成する。
 すなわち、視差補償部472は、デコード色画像C#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmvだけずれた位置のブロックである対応ブロックを、予測画像として取得する。
 そして、視差補償部472は、予測画像を、予測画像選択部451に供給する。
 図23は、図21のデコーダ322が行う、視点#2の色画像C#2の符号化データを復号する復号処理を説明するフローチャートである。
 ステップS111において、蓄積バッファ441は、そこに供給される視点#2の色画像C#2の符号化データを記憶し、処理は、ステップS112に進む。
 ステップS112では、可変長復号部442は、蓄積バッファ441に記憶された符号化データを読み出して可変長復号することにより、量子化値やヘッダ情報を復元する。そして、可変長復号部442は、量子化値を、逆量子化部443に供給し、ヘッダ情報を、画面内予測部449、及び、視差予測部450に供給して、処理は、ステップS113に進む。
 ステップS113では、逆量子化部443は、可変長復号部442からの量子化値を、変換係数に逆量子化し、逆直交変換部444に供給して、処理は、ステップS114に進む。
 ステップS114では、逆直交変換部444は、逆量子化部443からの変換係数を逆直交変換し、マクロブロック単位で、演算部445に供給して、処理は、ステップS115に進む。
 ステップS115では、演算部445は、逆直交変換部444からのマクロブロックを復号対象の対象ブロック(残差画像)として、その対象ブロックに対して、必要に応じて、予測画像選択部451から供給される予測画像を加算することで、デコード画像を求める。そして、演算部445は、デコード画像を、デブロッキングフィルタ446に供給し、処理は、ステップS115からステップS116に進む。
 ステップS116では、デブロッキングフィルタ446は、演算部445からのデコード画像に対して、フィルタリングを行い、そのフィルタリング後のデコード画像(デコード色画像C#2)を、DPB331、及び、画面並び替えバッファ447に供給して、処理は、ステップS117に進む。
 ステップS117では、DPB331が、デブロッキングフィルタ446からのデコード色画像C#2を記憶し、処理は、ステップS118に進む。
 ステップS118では、DPB331が、色画像C#1を復号するデコーダ311から、デコード色画像C#1が供給されるのを待って、そのデコード色画像C#1を記憶し、処理は、ステップS119に進む。
 ステップS119では、DPB331が、視差画像D#2を復号するデコーダ322から、デコード視差画像D#2が供給されるのを待って、そのデコード視差画像D#2を記憶し、処理は、ステップS120に進む。
 ステップS120では、画面内予測部449、及び、視差予測部462が、可変長復号部442から供給されるヘッダ情報に基づき、次の対象ブロック(次に復号対象となるマクロブロック)が、イントラ予測(画面内予測)、及び、視差予測(インター予測)のうちのいずれの予測方式で生成された予測画像を用いて符号化されているかを認識する。
 そして、次の対象ブロックが、画面内予測で生成された予測画像を用いて符号化されている場合には、画面内予測部449が、イントラ予測処理(画面内予測処理)を行う。
 すなわち、画面内予測部449は、次の対象ブロックについて、DPB331に記憶されたデコード色画像C#2のピクチャから、予測画像(イントラ予測の予測画像)を生成するイントラ予測(画面内予測)を行い、その予測画像を、予測画像選択部451に供給して、処理は、ステップS120からステップS121に進む。
 また、次の対象ブロックが、視差予測(インター予測)で生成された予測画像を用いて符号化されている場合には、視差予測部462が、視差予測処理(インター予測処理)を行う。
 すなわち、視差予測部462は、次の対象ブロックについて、DPB331に記憶されたデコード色画像C#1のピクチャのうちの、可変長復号部442からのヘッダ情報に含まれる、次の対象ブロックの予測用の参照インデクスが割り当てられているピクチャを参照ピクチャに選択する。
 さらに、視差予測部462は、可変長復号部442からのヘッダ情報に含まれるモード関連情報等を用いて、視差予測(視差補償)を行うことにより、予測画像を生成し、その予測画像を、予測画像選択部451に供給して、処理は、ステップS120からステップS121に進む。
 ステップS121では、予測画像選択部451は、画面内予測部449、及び、視差予測部462のうちの、予測画像が供給される方からの、その予測画像を選択し、演算部445に供給して、処理は、ステップS122に進む。
 ここで、予測画像選択部451がステップS121で選択する予測画像が、次の対象ブロックの復号で行われるステップS115の処理で用いられる。
 ステップS122では、画面並び替えバッファ447が、デブロッキングフィルタ446からのデコード視差画像D#2のピクチャを一時記憶して読み出すことで、ピクチャの並びを、元の並びに並び替え、D/A変換部448に供給して、処理は、ステップS123に進む。
 ステップS123では、D/A変換部348は、画面並び替えバッファ447からのピクチャをアナログ信号で出力する必要がある場合に、そのピクチャをD/A変換して出力する。
 デコーダ312では、以上のステップS111ないしS123の処理が、適宜繰り返し行われる。
 図24は、図23のステップS120で、図22の視差予測部462が行う視差予測処理を説明するフローチャートである。
 ステップS131において、視差予測部462は、MBインデクス計算部461から、(次の)対象ブロックのMBインデクスを取得し、予測ベクトル生成部471に供給する。
 さらに、視差予測部462は、可変長復号部442からのヘッダ情報に含まれる撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)を取得し、予測ベクトル生成部471に供給する。
 また、視差予測部462は、可変長復号部442からのヘッダ情報に含まれる(次の)対象ブロックの符号化情報(モード関連情報、残差ベクトル、及び、予測用の参照インデクス)を取得し、予測ベクトル生成部471、及び、視差補償部472に供給して、処理は、ステップS131からステップS132に進む。
 ステップS132において、視差予測部462は、DPB331から、デコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)を取得し、予測ベクトル生成部471に供給して、処理は、ステップS133に進む。
 ステップS133では、予測ベクトル生成部471は、MBインデクス計算部461からのMBインデクスに基づいて、対象ピクチャにおける(次の)対象ブロックを認識し、その対象ブロックの予測ベクトルを生成する予測ベクトル生成処理を行う。
 そして、予測ベクトル生成部471は、予測ベクトル生成処理によって得られた対象ブロックの予測ベクトルを、視差補償部472に供給し、処理は、ステップS133からステップS134に進む。
 ステップS134では、視差補償部472は、可変長復号部442からのヘッダ情報に含まれる対象ブロックの残差ベクトルと、予測ベクトル生成部471からの予測ベクトルとを加算することにより、対象ブロックの計算視差ベクトルmvを復元し、処理は、ステップS135に進む。
 なお、視差補償部472では、対象ブロックの計算視差ベクトルmvが、予測ベクトル生成部471に供給される。予測ベクトル生成部471では、視差補償部472から供給されるの計算視差ベクトルmvを、後に対象ブロックとなるブロックの周辺色ブロックの計算視差ベクトルとして用いて、上述のステップS133の予測ベクトル生成処理が行われる。
 ステップS135では、視差補償部472は、DPB331から、対象ブロックの予測用インデクスが割り当てられているデコード色画像C#1のピクチャを、参照ピクチャとして取得して、処理は、ステップS136に進む。
 ステップS136では、視差補償部472は、DPB331からの参照ピクチャであるデコード色画像C#1のピクチャについて、対象ブロックの計算視差ベクトルmvに従ってMCを行うことにより、対象ブロックの予測画像を生成して、処理は、ステップS137に進む。
 すなわち、視差補償部472は、デコード色画像C#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmvだけずれた位置のブロックである対応ブロックを、予測画像として取得する。
 ステップS137では、視差補償部472は、予測画像を、予測画像選択部451に供給して、処理はリターンする。
 図25は、図24のステップS133で予測ベクトル生成部471(図22)が行う予測ベクトル生成処理を説明するフローチャートである。
 ステップS141において、予測ベクトル生成部471は、可変長復号部442からのヘッダ情報から、既に符号化が行われた、色画像C#2の周辺色ブロック(例えば、図3の3個の周辺色ブロックCAないしCC)の符号化情報を取得し、処理は、ステップS142に進む。
 ステップS142では、予測ベクトル生成部471は、DPB331からのデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)から、対象ブロックと同一位置のブロック(同一位置ブロック)と、その同一位置ブロックの周辺の周辺視差ブロック(ステップS141で符号化情報を取得した周辺色ブロックと同一位置の、デコード視差画像D#2のピクチャのブロック)(例えば、図3の3個の周辺視差ブロックDAないしDC)を取得し、処理は、ステップS143に進む。
 ステップS143では、予測ベクトル生成部471は、ステップS141及びS142で取得した情報等を必要に応じて用いて、対象ブロックの符号化情報に含まれるモード関連情報が表す最適インター予測モードとしてのマクロブロックモードについて、図17及び図18で説明したのと同様のベクトル予測処理を行うことで、そのマクロブロックモードについての対象ブロックの予測ベクトルを生成する。
 そして、予測ベクトル生成部471は、対象ブロックの予測ベクトルを、視差補償部472に供給して、処理はリターンする。
 なお、以上においては、視差情報利用予測方式の他のベクトル予測方式として、MVC方式(メディアン予測方式)を採用したが、視差情報利用予測方式の他のベクトル予測方式としては、その他、例えば、図1及び図2で説明したSAD最小予測方式等を採用することができる。
 [符号化コストに基づいて、予測精度を推定する方法]
 図26は、符号化コストに基づいて、視差情報利用予測方式、及び、MVC方式(メディアン予測方式)の予測精度を推定する方法を説明する図である。
 ここで、図3では、視差(情報)画像D#2の周辺視差ブロックDAないしDCそれぞれと同一位置ブロックDXとのSAD(視差SAD)に基づいて、視差情報利用予測方式、及び、メディアン予測方式(MVC方式)の予測精度を推定し、視差情報利用予測方式、及び、メディアン予測方式のうちの、予測精度が良いと推定されるベクトル予測方式で、予測ベクトルを生成したが、視差情報利用予測方式、及び、メディアン予測方式の予測精度は、その他、対象ブロックの符号化コストに基づいて推定することができる。
 図26では、図2のA及び図3と同様に、色画像C#2に、背景と、その背景の手前側に存在するオブジェクトとしての矩形の前景とが写っており、色画像C#2の対象ブロックCXが、矩形の前景の左上のブロックになっている。
 このため、対象ブロックCXの左に隣接する周辺色ブロックCA、上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCは、いずれも、背景のブロックになっている。
 以上のように、対象ブロックCXが、前景のブロックであり、周辺色ブロックCAないしCCが、背景のブロックになっている場合には、図2のAで説明したように、メディアン予測方式(メディアン予測器)であっても、SAD最小予測方式(SAD最小予測器)であっても、予測ベクトルの予測精度は悪くなることがある。
 そこで、本技術では、視差情報利用予測方式(視差情報利用予測器)の予測ベクトルPMVDを用いて、対象ブロックを符号化したときの符号化コストCOSTDと、メディアン予測方式(メディアン予測器)の予測ベクトルPMVCを用いて、対象ブロックを符号化したときの符号化コストCOSTCとが算出される。
 そして、符号化コストCOSTD及びCOSTCに基づき、視差情報利用予測方式の予測ベクトルPMVD、及び、メディアン予測方式の予測ベクトルPMVCのうちの、符号化コストが小さい方の予測ベクトルが、対象ブロックの予測ベクトルに選択される。
 なお、以上のように、符号化コストCOSTD及びCOSTCに基づき、対象ブロックの予測ベクトルを選択する場合には、デコーダ側では、符号化コストCOSTD及びCOSTCを算出することが困難であるため、本技術では、視差情報利用予測方式の予測ベクトルPMVD、及び、メディアン予測方式の予測ベクトルPMVCのうちの符号化コストが小さい方(対象ブロックの予測ベクトルに選択された方)を表すフラグである予測器フラグを、デコーダ側に送信する。
 そして、デコーダ側では、予測器フラグに基づいて、視差情報利用予測方式の予測ベクトルPMVD、及び、メディアン予測方式の予測ベクトルPMVCのうちの一方が、対象ブロックの予測ベクトルとして生成される。
 図27は、符号化コストに基づいて、予測精度を推定する場合の、図12の視差予測部232の構成例を示すブロック図である。
 図27において、視差予測部232は、視差検出部541、視差補償部542、予測ベクトル生成部543、コスト関数算出部544、モード選択部545、並びに、符号化情報バッファ546を有する。
 視差検出部541には、DPB31に記憶された参照ピクチャであるデコード色画像C#1のピクチャが供給されるとともに、画面並び替えバッファ212から、符号化対象の色画像C#2のピクチャ(対象ピクチャ)が供給される。
 さらに、視差検出部541には、MBインデクス計算部231から、対象ブロックのMBインデクスが供給されるとともに、予測ベクトル生成部543から予測ベクトル情報が供給される。
 視差検出部541は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212からの対象ピクチャにおける対象ブロックを認識する。
 そして、視差検出部541は、MVC方式と同様に、対象ブロックと、参照ピクチャであるデコード色画像C#1のピクチャとを用いてMEを行うことにより、対象ブロックと、デコード色画像C#1のピクチャにおいて、対象ブロックとのSADを最小にする対応ブロックとのずれを表すずれベクトル、すなわち、対象ブロックの、視点#1に対する視差を表す計算視差ベクトルmvを、マクロブロックタイプごとに検出する。
 さらに、視差検出部541は、予測ベクトル生成部543からの予測ベクトル情報から、視差情報利用予測方式の予測ベクトルPMVDと、MVC方式(メディアン予測方式)の予測ベクトルPMVCとを認識し、その予測ベクトルPMVD及びPMVCそれぞれについて、符号化コストを算出する。
 すなわち、予測ベクトル生成部543から視差検出部541に供給される予測ベクトル情報には、視差情報利用予測方式の予測ベクトルPMVD、及び、その予測ベクトルPMVDを表す予測器フラグ(例えば、1ビットのフラグ)と、MVC方式の予測ベクトルPMVC、及び、その予測ベクトルPMVCを表す予測器フラグとが含まれている。
 視差検出部541は、視差情報利用予測方式の予測ベクトルPMVDを用いて、対象ブロックを符号化したときの符号化コスト(予測ベクトルPMVDについての符号化コスト)COSTDと、MVC方式の予測ベクトルPMVCを用いて、対象ブロックを符号化したときの符号化コスト(予測ベクトルPMVCについての符号化コスト)COSTCとを、例えば、式COST=D+λRに従って算出する。
 ここで、式COST=D+λRにおいて、Dは、対象ブロックと、デコード色画像C#1のピクチャの、対象ブロックから計算視差ベクトルmvだけ移動した位置のブロック(対応ブロック)とのSADを表し、λは、Rに対する重みであり、対象ブロックの残差の量子化ステップに応じて設定される。
 また、式COST=D+λRにおいて、Rは、計算視差ベクトルmvと予測ベクトルとの差である残差ベクトルの符号量に相当する値である。MVC方式では、残差ベクトルの大きさが大であるほど、符号量は大になる。
 視差検出部541は、予測ベクトルPMVDについての符号化コストCOSTDと、予測ベクトルPMVCについての符号化コストCOSTCとを求めると、その符号化コストCOSTD及びCOSTCのうちの小さい方のコストが得られる予測ベクトル(以下、最小コスト予測ベクトルともいう)を、予測ベクトル生成部543から供給される予測ベクトル情報に含まれる視差情報利用予測方式の予測ベクトルPMVD、及び、MVC方式の予測ベクトルPMVCの中から選択し、対象ブロックの予測ベクトルとする。
 すなわち、視差検出部541は、視差情報利用予測方式の予測ベクトルPMVD、及び、MVC方式の予測ベクトルPMVCのうちの、符号化コストが小さい方(最小)の予測ベクトルの予測精度が高いと推定し、その符号化コストが小さい予測ベクトルを、対象ブロックの予測ベクトルに選択する。
 そして、視差検出部541は、対象ブロックの計算視差ベクトルmvと、最小コスト予測ベクトルとの差分である残差ベクトルを求め、その最小コスト予測ベクトルを表す予測器フラグとともに、視差補償部542に供給する。
 視差補償部542には、視差検出部541から、計算視差ベクトルmvの残差ベクトル、及び、予測器フラグが供給される他、DPB31に記憶された参照ピクチャであるデコード色画像C#1のピクチャが供給される。
 さらに、視差補償部542には、予測ベクトル生成部543から予測ベクトル情報が供給される。
 視差補償部542は、視差検出部541からの予測器フラグに基づき、予測ベクトル生成部543からの予測ベクトル情報に含まれる視差情報利用予測方式の予測ベクトルPMVD、及び、MVC方式の予測ベクトルPMVCの中から、対象ブロックの予測ベクトルとしての最小コスト予測ベクトルを選択する。
 さらに、視差補償部542は、視差検出部541からの残差ベクトルと、対象ブロックの予測ベクトル(最小コスト予測ベクトル)とを加算することで、対象ブロックの計算視差ベクトルmvを復元する。
 そして、視差補償部542は、DPB31からのデコード色画像C#1のピクチャを、参照ピクチャとして、その参照ピクチャのずれ補償(視差補償)を、対象ブロックの計算視差ベクトルmvを用いて、MVC方式と同様にして行うことで、対象ブロックの予測画像を、マクロブロックタイプごとに生成する。
 そして、視差補償部542は、予測画像を、視差検出部541からの残差ベクトル、予測画像を生成するのに用いた参照ピクチャ(ここでは、デコード色画像C#1のピクチャ)に割り当てられている参照インデクス、及び、視差検出部541からの予測器フラグ(最小コスト予測ベクトルを表す予測器フラグ)とともに、コスト関数算出部544に供給する。
 予測ベクトル生成部543には、DPB31記憶されたデコード視差画像D#2のピクチャが供給されるとともに、MBインデクス計算部231からMBインデクスが供給される。
 また、予測ベクトル生成部543には、撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)が供給される。
 さらに、予測ベクトル生成部543には、符号化情報バッファ546から、既に符号化が行われた、色画像C#2の対象ブロックの周辺の周辺色ブロック、すなわち、例えば、図26(図3)の周辺色ブロックCAないしCCの符号化情報が供給される。
 ここで、周辺色ブロックの符号化情報には、図13の場合と同様に、その周辺色ブロックが、対象ブロックとして符号化されたときのモード関連情報、計算視差ベクトル、参照インデクス(予測用の参照インデクス)が含まれる。
 予測ベクトル生成部543は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212からの対象ピクチャにおける対象ブロックを認識する。
 さらに、予測ベクトル生成部543は、視差関連情報や、デコード視差画像D#2のピクチャ等を用い、図13の予測ベクトル生成部243と同様にして、各マクロブロックタイプ(図9)について、視差情報利用予測方式で、予測ベクトルPMVDを生成するとともに、その視差情報利用予測方式の予測ベクトルPMVCを表す予測器フラグを生成する。
 また、予測ベクトル生成部543は、符号化情報バッファ546からの符号化情報のうちの、対象ブロックの周辺の周辺色ブロックCAないしCCの符号化情報等を用い、図13の予測ベクトル生成部243と同様にして、各マクロブロックタイプ(図9)について、MVC方式で、予測ベクトルPMVCを生成するとともに、そのMVC方式の予測ベクトルPMVCを表す予測器フラグを生成する。
 そして、予測ベクトル生成部543は、各マクロブロックタイプ(図9)についての、視差情報利用予測方式の予測ベクトルPMVD、及び、その予測ベクトルPMVDを表す予測器フラグと、MVC方式の予測ベクトルPMVC、及び、その予測ベクトルPMVCを表す予測器フラグとを、予測ベクトル情報として、視差検出部541、及び、視差補償部542に供給する。
 コスト関数算出部544には、視差補償部542から、予測画像、残差ベクトル、参照インデクス、及び、予測器フラグが供給される他、画面並び替え部バッファ212から、色画像C#2の対象ピクチャが供給される。
 コスト関数算出部544は、図13のコスト関数算出部244と同様に、マクロブロックタイプ(図9)ごとに、画面並び替えバッファ212からの対象ピクチャの対象ブロックの符号化に要する符号化コストを、所定のコスト関数に従って求める。
 コスト関数算出部544は、マクロブロックタイプごとの符号化コスト(コスト関数値)を求めると、符号化コストを、参照インデクス、予測画像、残差ベクトル、及び、予測器フラグとともに、モード選択部545に供給する。
 モード選択部545は、コスト関数算出部544からのマクロブロックタイプごとの符号化コストの中から、最小値である最小コストを検出する。
 さらに、モード選択部545は、最小コストが得られたマクロブロックタイプを、最適インター予測モードに選択する。
 そして、モード選択部545は、最適インター予測モードを表すモード関連情報、最適インター予測モードの参照インデクス(予測用の参照インデクス)、及び、最適インター予測モードの残差ベクトル、及び、最適インター予測モードの予測器フラグ等を、ヘッダ情報として、可変長符号化部216に供給する。
 さらに、モード選択部545は、最適インター予測モードの予測画像と符号化コスト(最小コスト)を、予測画像選択部224に供給する。
 なお、モード選択部545では、その他、図13のモード選択部245と同様に、対象ブロックを、スキップマクロブロックとして符号化するかどうかの判定も行われる。
 また、モード選択部545は、視差検出部541から、最適インター予測モードでの対象ブロックの符号化に用いられた対象ブロックの計算視差ベクトルを取得する。
 そして、モード選択部545は、対象ブロックの計算視差ベクトル、モード関連情報、及び、予測用の参照インデクスを、対象ブロックの符号化情報として、符号化情報バッファ546に供給する。
 符号化情報バッファ546は、モード選択部546からの符号化情報を一時記憶する。
 図28は、図14のステップS25で、図27の視差予測部232が行う視差予測処理を説明するフローチャートである。
 ステップS241において、視差予測部232は、MBインデクス計算部231から、(次の)対象ブロックのMBインデクスを取得し、視差検出部541、及び、予測ベクトル生成部543に供給して、処理は、ステップS242に進む。
 ステップS242において、視差予測部232は、DPB31から、参照ピクチャであるデコード色画像C#1のピクチャを取得するとともに、デコード視差画像D#2を取得する。
 そして、視差予測部232は、デコード色画像C#1のピクチャを、視差検出部541、及び、視差補償部542に供給するとともに、デコード視差画像D#2を、予測ベクトル生成部543に供給して、処理は、ステップS243に進む。
 ステップS243では、予測ベクトル生成部543は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212から供給される対象ピクチャにおける(次の)対象ブロックを認識する。
 さらに、予測ベクトル生成部543は、符号化情報バッファ546に記憶された符号化情報や、DPB31に記憶されたデコード視差画像D#2、その他、視差関連情報等を必要に応じて用いて、各マクロブロックタイプ(図9)について、(次の)対象ブロックの予測ベクトルを生成する予測ベクトル生成処理を行う。
 ここで、予測ベクトル生成部543では、予測ベクトル生成処理において、例えば、視差情報利用予測方式の予測ベクトルPMVD、及び、その予測ベクトルPMVDを表す予測器フラグと、MVC方式の予測ベクトルPMVC、及び、その予測ベクトルPMVCを表す予測器フラグが生成される。
 予測ベクトル生成部543は、予測ベクトル生成処理によって得られた視差情報利用予測方式の予測ベクトルPMVD、及び、その予測ベクトルPMVDを表す予測器フラグと、MVC方式の予測ベクトルPMVC、及び、その予測ベクトルPMVCを表す予測器フラグを、予測ベクトル情報として、視差検出部541、及び、視差補償部542に供給し、処理は、ステップS243からステップS244に進む。
 ステップS244では、視差検出部541は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212から供給される対象ピクチャにおける対象ブロックを認識する。
 そして、視差検出部541は、(次の)対象ブロックについて、計算視差ベクトルmvを検出するとともに、その対象ブロックの符号化に用いる予測ベクトルを選択する(計算)視差ベクトル検出処理を行う。
 すなわち、視差ベクトル検出処理では、視差検出部541は、MVC方式と同様に、(次の)対象ブロックについて、DPB31からのデコード色画像C#1のピクチャを参照ピクチャとして用いてMEを行うことにより、対象ブロックの、視点#1に対する視差を表す計算視差ベクトルmvを検出する。
 さらに、視差検出部541は、予測ベクトル生成部543からの予測ベクトル情報に含まれる視差情報利用予測方式の予測ベクトルPMVDを用いて、対象ブロックを符号化したときの符号化コスト(予測ベクトルPMVDについての符号化コスト)COSTDを算出する。
 また、視差検出部541は、予測ベクトル生成部543からの予測ベクトル情報に含まれるMVC方式の予測ベクトルPMVCを用いて、対象ブロックを符号化したときの符号化コスト(予測ベクトルPMVCについての符号化コスト)COSTCを算出する。
 そして、視差検出部541は、予測ベクトルPMVD及びPMVCの中で、符号化コストCOSTD及びCOSTCのうちの小さい方の符号化コストが得られる予測ベクトル(最小コスト予測ベクトル)を、対象ブロックの予測ベクトルに選択する。
 さらに、視差検出部541は、対象ブロックの計算視差ベクトルmvと、最小コスト予測ベクトルである予測ベクトルとの差分である残差ベクトルを求め、その予測ベクトル(最小コスト予測ベクトル)を表す予測器フラグとともに、視差補償部542に供給して、処理は、ステップS244からステップS245に進む。
 ステップS245では、視差補償部542は、視差検出部541からの残差ベクトル、及び、予測器フラグと、予測ベクトル生成部543からの予測ベクトル情報とから、対象ブロックの計算視差ベクトルmvを復元する。
 さらに、視差補償部542は、DPB31からのデコード色画像C#1のピクチャを、参照ピクチャとして、対象ブロックの計算視差ベクトルmvに従ってMCを行うことにより、(次の)対象ブロックの予測画像を生成する。
 すなわち、視差補償部542は、デコード色画像C#1のピクチャの、対象ブロックの位置から、計算視差ベクトルmvだけずれた位置のブロックである対応ブロックを、予測画像として取得する。
 そして、視差補償部542は、予測画像を、視差検出部541からの残差ベクトル、及び、予測器フラグ、並びに、予測画像を生成するのに用いた参照ピクチャ(ここでは、デコード色画像C#1のピクチャ)に割り当てられている参照インデクスとともに、コスト関数算出部544に供給して、処理は、ステップS245からステップS246に進む。
 ステップS246では、コスト関数算出部544は、マクロブロックタイプ(図9)ごとに、画面並び替えバッファ212からの対象ピクチャの対象ブロックの符号化に要する符号化コストを、所定のコスト関数に従って求め、視差補償部542からの参照インデクス、予測器フラグ、予測画像、及び、残差ベクトルとともに、モード選択部545に供給して、処理は、ステップS247に進む。
 ステップS247では、モード選択部545は、コスト関数算出部544からのマクロブロックタイプごとの符号化コストの中から、最小値である最小コストを検出する。
 さらに、モード選択部545は、最小コストが得られたマクロブロックタイプを、最適インター予測モードに選択して、処理は、ステップS247からステップS248に進む。
 ステップS248では、モード選択部545は、最適インター予測モードの予測画像と符号化コスト(最小コスト)を、予測画像選択部224に供給して、処理は、ステップS249に進む。
 ステップS249では、モード選択部545は、最適インター予測モードを表すモード関連情報、最適インター予測モードの参照インデクス(予測用の参照インデクス)、最適インター予測モードの残差ベクトル、及び、最適インター予測モードの予測器フラグを、ヘッダ情報として、可変長符号化部216に供給する。
 さらに、ステップS249では、モード選択部545は、視差検出部541から、最適インター予測モードでの対象ブロックの符号化に用いられた対象ブロックの計算視差ベクトルを取得する。
 そして、モード選択部545は、対象ブロックの計算視差ベクトル、モード関連情報、及び、予測用の参照インデクスを、対象ブロックの符号化情報として、符号化情報バッファ546に供給して記憶させ、処理はリターンする。
 図29は、図28のステップS243で図27の予測ベクトル生成部543が行う予測ベクトル生成処理を説明するフローチャートである。
 ステップS251において、予測ベクトル生成部543は、符号化情報バッファ546から、既に符号化が行われた、色画像C#2の対象ブロックの周辺色ブロック(例えば、図26(図3)の3個の周辺色ブロックCAないしCC)の符号化情報を取得し、処理は、ステップS252に進む。
 ステップS252では、予測ベクトル生成部543は、DPB31からのデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)から、対象ブロックと同一位置のブロック(同一位置ブロック)を取得し、処理は、ステップS253に進む。
 以下、ステップS253ないしS256では、各マクロブロックタイプについて、ステップS251で取得した符号化情報、及び、ステップS252で取得した同一位置ブロックを必要に応じて用いて、視差情報利用予測方式の予測ベクトルPMVD、及び、その予測ベクトルPMVDを表す予測器フラグと、MVC方式の予測ベクトルPMVC、及び、その予測ベクトルPMVCを表す予測器フラグとを生成するベクトル予測処理が行われ、処理は、リターンする。
 すなわち、ステップS253において、予測ベクトル生成部543は、16×16タイプについて、ベクトル予測処理を行い、処理は、ステップS254に進む。
 ステップS254では、予測ベクトル生成部543は、16×8タイプについて、ベクトル予測処理を行い、処理は、ステップS255に進む。
 ステップS255では、予測ベクトル生成部543は、8×16タイプについて、ベクトル予測処理を行い、処理は、ステップS256に進む。
 ステップS256では、予測ベクトル生成部543は、8×8以下タイプについて、ベクトル予測処理を行い、処理はリターンする。
 図30は、図29のステップS253ないしS256で図27の予測ベクトル生成部543が各マクロブロックタイプについて行うベクトル予測処理を説明するフローチャートである。
 ステップS261において、予測ベクトル生成部543は、周辺色ブロックの符号化情報に基づき、図11で説明したようにして、MVC方式の予測ベクトルPMVCを求めるとともに、その予測ベクトルPMVCを表す予測器フラグを生成し、処理は、ステップS262に進む。
 ステップS262では、予測ベクトル生成部543は、同一位置ブロック、すなわち、デコード視差画像D#2の、対象ブロックと同一位置のブロックから、視差情報利用予測方式の予測ベクトルPMVDを求めるとともに、その予測ベクトルPMVDを表す予測器フラグを生成し、処理はリターンする。
 図31は、図28のS244において図27の視差検出部541が行う視差ベクトル検出処理を説明するフローチャートである。
 ステップS271において、視差検出部541は、対象ブロックについて、DPB31からのデコード色画像C#1のピクチャを参照ピクチャとして用いてMEを行うことにより、対象ブロックの計算視差ベクトルmvを検出し、処理は、ステップS272に進む。
 ステップS272では、視差検出部541は、予測ベクトル生成部543からの予測ベクトル情報に含まれるMVC方式の予測ベクトルPMVCを用いて、対象ブロックを符号化したときの符号化コスト(予測ベクトルPMVCについての符号化コスト)COSTCを算出し、処理は、ステップS273に進む。
 ステップS273では、視差検出部541は、予測ベクトル生成部543からの予測ベクトル情報に含まれる視差情報利用予測方式(視差情報利用予測器)の予測ベクトルPMVDを用いて、対象ブロックを符号化したときの符号化コスト(予測ベクトルPMVDについての符号化コスト)COSTDを算出し、処理は、ステップS274に進む。
 ステップS274では、視差検出部541は、符号化コストCOSTCと、符号化コストCOSTDとの大小関係を判定する。
 ステップS274において、符号化コストCOSTCが、符号化コストCOSTDより大きいと判定された場合、処理は、ステップS275に進み、視差検出部541は、視差情報利用予測方式の予測ベクトルPMVDを、対象ブロックの予測ベクトルとしての最小コスト予測ベクトルに選択し、対象ブロックの予測ベクトルが、視差情報利用予測方式の予測ベクトルPMVDであることを表す値「視差画像モード」を、予測器フラグに設定して、処理はリターンする。
 また、ステップS274において、符号化コストCOSTCが、符号化コストCOSTDより大きくないと判定された場合、処理は、ステップS276に進み、視差検出部541は、MVC方式の予測ベクトルPMVCを、対象ブロックの予測ベクトルとしての最小コスト予測ベクトルに選択し、対象ブロックの予測ベクトルが、MVC方式の予測ベクトルPMVCであることを表す値「MVCモード」を、予測器フラグに設定して、処理はリターンする。
 以上のように、図27の視差予測部232において、視差情報利用予測方式の予測ベクトルPMVDと、他のベクトル予測方式としてのMVC方式の予測ベクトルPMVCとを生成し、予測ベクトルPMVDとを用いた場合と、予測ベクトルPMVCとを用いた場合とのそれぞれについて、対象ブロックの符号化に要する符号化コストCOSTD及びCOSTCを算出し、符号化コストCOSTD及びCOSTCに基づいて、予測ベクトルPMVD及びPMVDのうちの、符号化コストが小さい方が、予測精度が高いと推定される予測ベクトルであるとして、対象ブロックの処理に用いる予測ベクトルに選択することにより、残差ベクトルの符号量が少なくなる、予測精度の良い予測ベクトルを得ることができる。
 また、残差ベクトルの符号量が少なくなることにより、対象ブロックの残差に、符号量を割り当てることができ、その結果、色画像C#2の復号画像の画質を向上させることができる。
 なお、図27の視差予測部232では、予測ベクトルPMVD及びPMVDのうちの、対象ブロックの予測ベクトルに選択された方を表す予測器フラグが生成され、符号化データのヘッダ情報に含められるので、デコーダ側では、その予測器フラグに基づいて、対象ブロックの予測ベクトルを、容易に求めることができる。
 ここで、予測器フラグは、符号化データのヘッダ情報に含める他、符号化データとは、別に提供(送信)することが可能である。
 図32は、図12の視差予測部232が図27に示したように構成される場合の、図21の視差予測部462の構成例を示すブロック図である。
 なお、図中、図22の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は適宜省略する。
 図32において、視差予測部462は、視差補償部472を有する点で、図22の場合と共通する。
 但し、図32において、視差予測部462は、予測ベクトル生成部471に代えて、予測ベクトル生成部671を有する点で、図22の場合と相違する。
 予測ベクトル生成部671には、DPB331記憶されたデコード視差画像D#2のピクチャが供給されるとともに、MBインデクス計算部461からMBインデクスが供給される。
 また、予測ベクトル生成部671には、可変長復号部442からのヘッダ情報に含まれる撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)が供給される。
 さらに、予測ベクトル生成部671には、可変長復号部442からのヘッダ情報に含まれる、既に復号が行われた、色画像C#2の対象ブロックの周辺の周辺色ブロック(例えば、図26(図3)の周辺色ブロックCAないしCC)の符号化情報、及び、対象ブロックの符号化情報が供給される。
 ここで、可変長復号部442からのヘッダ情報に含まれる周辺色ブロックの符号化情報には、その周辺色ブロックのモード関連情報(マクロブロックタイプ)、及び、参照インデクス(予測用の参照インデクス)が含まれ、可変長復号部442からのヘッダ情報に含まれる対象ブロックの符号化情報には、その対象ブロックのモード関連情報(マクロブロックタイプ)、残差ベクトル、及び、参照インデクス(予測用の参照インデクス)が含まれる。
 また、予測ベクトル生成部671には、可変長復号部442からのヘッダ情報に含まれる対象ブロックの予測器フラグが供給される。
 さらに、予測ベクトル生成部671には、視差補償部472から、既に復号が行われた周辺色ブロックの計算視差ベクトルが供給される。
 予測ベクトル生成部671は、MBインデクス計算部461からのMBインデクスに基づいて、対象ピクチャにおける対象ブロックを認識する。
 さらに、予測ベクトル生成部671は、可変長復号部442からのヘッダ情報に含まれる予測器フラグ、視差関連情報、及び、符号化情報、DPB331記憶されたデコード視差画像D#2のピクチャ、及び、視差補償部472からの周辺色ブロックの計算視差ベクトルを必要に応じて用い、図27の予測ベクトル生成部543と同様に、視差情報利用予測方式の予測ベクトルPMVD、又は、MVC方式の予測ベクトルPMVCを生成し、対象ブロックの予測ベクトルとして、視差補償部472に供給する。
 すなわち、予測ベクトル生成部671は、予測器フラグに基づいて、対象ブロックの予測ベクトルを生成するベクトル予測方式を認識する。
 さらに、予測ベクトル生成部671は、対象ブロックの符号化情報に基づき、対象ブロックのマクロブロックモードを認識し、そのマクロブロックモードについて、視差情報利用予測方式、及び、MVC方式のうちの、予測器フラグに基づいて認識した方のベクトル予測方式で、対象ブロックの予測ベクトルを生成する。
 図33は、図23のステップS120で、図32の視差予測部462が行う視差予測処理を説明するフローチャートである。
 ステップS331において、視差予測部462は、MBインデクス計算部461から、(次の)対象ブロックのMBインデクスを取得し、予測ベクトル生成部671に供給する。
 さらに、視差予測部462は、可変長復号部442からのヘッダ情報に含まれる撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)を取得し、予測ベクトル生成部671に供給する。
 また、視差予測部462は、可変長復号部442からのヘッダ情報に含まれる(次の)対象ブロックの符号化情報(モード関連情報、残差ベクトル、及び、予測用の参照インデクス)、及び、予測器フラグを取得し、予測ベクトル生成部671、及び、視差補償部472に供給して、処理は、ステップS331からステップS332に進む。
 ステップS332において、視差予測部462は、DPB331から、デコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)を取得し、予測ベクトル生成部671に供給して、処理は、ステップS333に進む。
 ステップS333では、予測ベクトル生成部671は、MBインデクス計算部461からのMBインデクスに基づいて、対象ピクチャにおける(次の)対象ブロックを認識する。さらに、予測ベクトル生成部671は、予測器フラグに基づき、ステップS331及びS332で供給される情報を必要に応じて用いて、視差情報利用予測方式、又は、MVC方式で、対象ブロックの予測ベクトルを生成する予測ベクトル生成処理を行う。
 そして、予測ベクトル生成部671は、予測ベクトル生成処理によって得られた対象ブロックの予測ベクトルを、視差補償部472に供給し、処理は、ステップS333からステップS334に進む。
 以下、ステップS334ないしS337では、図24のステップS134ないしS137とそれぞれ同様の処理が行われる。
 図34は、図33のステップS333で図32の予測ベクトル生成部671が行う予測ベクトル生成処理を説明するフローチャートである。
 ステップS341において、予測ベクトル生成部671は、予測器フラグが、値「視差画像モード」及び「MVCモード」のうちのいずれに設定されているかを判定する。
 ステップS341において、予測器フラグが、値「視差画像モード」に設定されていると判定された場合、処理は、ステップS342に進み、予測ベクトル生成部671は、デコード視差画像D#2から、視差情報利用予測方式(視差情報利用予測器)の予測ベクトルPMVDを、対象ブロックの予測ベクトルとして生成し、処理はリターンする。
 また、ステップS341において、予測器フラグが、値「MVCモード」に設定されていると判定された場合、処理は、ステップS343に進み、予測ベクトル生成部671は、対象ブロックの符号化情報、並びに、周辺色ブロックの符号化情報及び計算視差ベクトルを必要に応じて用いて、図10で説明したようにして、MVC方式の予測ベクトルPMVCを、対象ブロックの予測ベクトルとして生成し、処理はリターンする。
 以上のように、図32の予測ベクトル生成部671では、予測器フラグによって、対象ブロックの予測ベクトルが、視差情報利用予測方式の予測ベクトルPMVDであるか、又は、MVC方式の予測ベクトルPMVCであるかを認識することができるので、図22の予測ベクトル生成部471に比較して、処理の負荷が軽減される。
 なお、以上においては、エンコーダ12において、視差情報利用予測方式の予測ベクトルと、MVC方式の予測ベクトルとのうちの、符号化コストが小さい方の予測ベクトルである最小コスト予測ベクトルを、対象ブロックの予測ベクトルに選択し、その最小コスト予測ベクトルを表す予測器フラグを、デコーダ312に送信することとしたが、その他、エンコーダ12では、例えば、視差情報利用予測方式の予測ベクトル、及び、その他の1以上のベクトルの中で、符号化コストが最小のベクトルを、対象ブロックの予測ベクトルに選択することができる。
 すなわち、エンコーダ12では、例えば、視差情報利用予測方式の予測ベクトル、周辺色ブロックCA,CB、及び、CC(図3)(図26)の計算視差ベクトルの4個のベクトルの中で、符号化コストが最小のベクトルを、対象ブロックの予測ベクトルに選択することができる。
 この場合、予測器フラグは、対象ブロックの予測ベクトルが、視差情報利用予測方式の予測ベクトル、周辺色ブロックCA,CB、及び、CCの計算視差ベクトルの4個のベクトルのうちのいずれであるかを表すフラグとなる。
 図35ないし図37は、ヘッダ情報に含められる予測器フラグの例を示す図である。
 図27で説明したように、モード選択部545において、予想器フラグは、ヘッダ情報に含められて、可変長符号化部216に供給される。
 可変長符号化部216では、ヘッダ情報が、符号化データのヘッダに含められる。
 図35ないし図37は、符号化データがMVC(AVC)方式の符号化データである場合に、そのヘッダに含められる予測器フラグを示している。
 ここで、予測器フラグは、マクロブロックを最小単位として設定することができる。
 また、予測器フラグは、対象ブロックを8×8画素のパーティション以上のサイズに分割するマクロブロックタイプ(以下、8×8以上タイプともいう)、すなわち、対象ブロックを8×8画素のパーティションに分割するマクロブロックタイプ(8×8タイプ)や、対象ブロックを16×8画素のパーティションに分割するマクロブロックタイプ(16×8タイプ)、対象ブロックを8×16画素のパーティションに分割するマクロブロックタイプ(8×16タイプ)のパーティションを最小単位として設定することができる。
 さらに、予測器フラグは、対象ブロックを8×8画素のパーティションより小さいサイズのパーティション、すなわち、8×4画素、4×8画素、又は4×4画素のサブパーティションに分割するマクロブロックタイプ(以下、8×8未満タイプともいう)のパーティション(サブパーティション)を最小単位として設定することができる。
 図35は、マクロブロックを最小単位として設定される予測器フラグを示す図である。
 すなわち、図35は、MVC方式のmb_pred(mb_type)のシンタクスを示している。
 予測器フラグを、マクロブロックを最小単位として設定する場合、予測器フラグは、mb_pred(mb_type)に含められる。
 図35において、mv_pred_mode_l0及びmv_pred_mode_l1が、予測器フラグを示している。
 また、図35において、mv_pred_mode_l0は、L0予測が行われる場合に使用される予測器フラグであり、mv_pred_mode_l1は、L1予測が行われる場合に使用される予測器フラグである。
 図36は、8×8以上タイプのパーティションを最小単位として設定される予測器フラグを示す図である。
 すなわち、図36は、MVC方式のmb_pred(mb_type)の一部のシンタクスを示している。
 予測器フラグを、8×8以上タイプのパーティションを最小単位として設定する場合、予測器フラグは、mb_pred(mb_type)に含められる。
 図36において、mv_pred_mode_l0[mbPartIdx]及びmv_pred_mode_l1[mbPartIdx]が、予測器フラグを示している。
 また、図36において、mv_pred_mode_l0[mbPartIdx]は、L0予測が行われる場合に使用される予測器フラグであり、mv_pred_mode_l1[mbPartIdx]は、L1予測が行われる場合に使用される予測器フラグである。
 なお、予測器フラグmv_pred_mode_l0[mbPartIdx]及びmv_pred_mode_l1[mbPartIdx]の引数mbPartIdxは、8×8以上タイプの各パーティションを区別するためのインデクスである。
 図37は、8×8未満タイプのパーティションを最小単位として設定される予測器フラグを示す図である。
 すなわち、図37は、MVC方式のsub_mb_pred(mb_type)の一部のシンタクスを示している。
 予測器フラグを、8×8未満タイプのパーティションを最小単位として設定する場合、予測器フラグは、mb_pred(mb_type)、及び、sub_mb_pred(mb_type)に含められる。
 なお、予測器フラグを、8×8未満タイプのパーティションを最小単位として設定する場合に、mb_pred(mb_type)に含められる、予測器フラグは、図36に示した通りであり、図37は、sub_mb_pred(mb_type)に含められる予測器フラグを示している。
 図37において、mv_pred_mode_l0[mbPartIdx][subMbPartIdx]及びmv_pred_mode_l1[mbPartIdx][subMbPartIdx]が、予測器フラグを示している。
 また、図37において、mv_pred_mode_l0[mbPartIdx][subMbPartIdx]は、L0予測が行われる場合に使用される予測器フラグであり、mv_pred_mode_l1[mbPartIdx][subMbPartIdx]は、L1予測が行われる場合に使用される予測器フラグである。
 なお、予測器フラグmv_pred_mode_l0[mbPartIdx][subMbPartIdx]及びmv_pred_mode_l1[mbPartIdx][subMbPartIdx]の引数subMbPartIdxは、8×8未満タイプの各パーティションを区別するためのインデクスである。
 ここで、予測器フラグを、マクロブロックを最小単位として設定する場合には、符号化データのヘッダのデータ量(オーバーヘッドのデータ量)の増加を最小限に抑えることができる。
 一方、予測器フラグを、8×8未満タイプのパーティション(サブパーティション)を最小単位として設定する場合には、小さいサイズのパーティションごとに、予測ベクトルを制御することができるので、予測精度を向上させることができる。
 また、予測器フラグを、8×8以上タイプのパーティションを最小単位として設定する場合には、符号化データのヘッダのデータ量の増加を抑えつつ、マクロブロックを最小単位とする場合と、8×8未満タイプのパーティションを最小単位とする場合との中間の予測精度を実現することができる。
 [視差ベクトルのばらつき具合に基づいて、予測精度を推定する方法]
 図38は、視差ベクトルのばらつき具合に基づいて、視差情報利用予測方式、及び、MVC方式(メディアン予測方式)の予測精度を推定する方法を説明する図である。
 ここで、図3では、視差(情報)画像D#2の周辺視差ブロックDAないしDCそれぞれと同一位置ブロックDXとの視差SADに基づいて、視差情報利用予測方式、及び、メディアン予測方式(MVC方式)の予測精度を推定し、視差情報利用予測方式、及び、メディアン予測方式のうちの、予測精度が良いと推定されるベクトル予測方式で、予測ベクトルを生成したが、視差情報利用予測方式、及び、メディアン予測方式の予測精度は、その他、対象ブロックの周辺の周辺色ブロックの計算視差ベクトルのばらつき具合に基づいて推定することができる。
 図38では、図2のA及び図3と同様に、色画像C#2に、背景と、その背景の手前側に存在するオブジェクトとしての矩形の前景とが写っており、色画像C#2の対象ブロックCXが、矩形の前景の左上のブロックになっている。
 このため、対象ブロックCXの左に隣接する周辺色ブロックCA、上に隣接する周辺色ブロックCB、及び、右斜め上に隣接する周辺色ブロックCCは、いずれも、背景のブロックになっている。
 以上のように、対象ブロックCXが、前景のブロックであり、周辺色ブロックCAないしCCが、背景のブロックになっている場合には、図2のAで説明したように、メディアン予測方式(メディアン予測器)であっても、SAD最小予測方式(SAD最小予測器)であっても、予測ベクトルの予測精度は悪くなることがある。
 そこで、本技術では、対象ブロックの周辺の、既に符号化(復号)された周辺色ブロックCAないしCCそれぞれの計算視差ベクトルのばらつき具合としての、例えば、分散(や標準偏差等)が求められる。
 そして、本技術では、周辺色ブロックCAないしCCそれぞれの計算視差ベクトルのばらつき具合としての分散に基づいて、視差情報利用予測方式(視差情報利用予測器)で生成される予測ベクトルと、他のベクトル予測方式としての、例えば、メディアン予測方式(メディアン予測器)で生成される予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルが、対象ブロックCXの処理に用いる予測ベクトルとして生成される。
 すなわち、本技術では、周辺色ブロックCAないしCCそれぞれの計算視差ベクトルのばらつき具合としての分散(以下、周辺ベクトル分散ともいう)が求められ、その分散が所定の閾値以上であるかどうかが判定される。
 そして、周辺ベクトル分散が、所定の閾値以上でない場合、すなわち、周辺色ブロックCAないしCCそれぞれの計算視差ベクトルに、それほど違いがない場合には、メディアン予測方式で生成される予測ベクトルの予測精度に問題がないと推定し、メディアン予測方式(MVC方式)で、対象ブロックCXの予測ベクトルが生成される。
 一方、周辺ベクトル分散が、所定の閾値以上である場合、すなわち、周辺色ブロックCAないしCCそれぞれの計算視差ベクトルのばらつき具合が、大きい場合には、視差情報利用予測方式で生成される予測ベクトルの方が、メディアン予測方式で生成される予測ベクトルよりも、予測精度が高いと推定し、視差情報利用予測方式で、対象ブロックCXの予測ベクトルが生成される。
 図39は、符号化コストに基づいて、予測精度を推定する場合の、図12の視差予測部232の構成例を示すブロック図である。
 なお、図中、図13の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図39において、視差予測部232は、視差検出部241、視差補償部242、コスト関数算出部244、モード選択部245、及び、符号化情報バッファ246を有する点で、図13の場合と共通する。
 但し、図39では、視差予測部232は、予測ベクトル生成部243に代えて、予測ベクトル生成部743を有する点で、図13の場合と異なる。
 予測ベクトル生成部743には、DPB31記憶されたデコード視差画像D#2のピクチャが供給されるとともに、MBインデクス計算部231からMBインデクスが供給される。
 また、予測ベクトル生成部743には、撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)が供給される。
 さらに、予測ベクトル生成部743には、符号化情報バッファ246から、既に符号化が行われた、色画像C#2の対象ブロックの周辺の周辺色ブロック(例えば、図38の周辺色ブロックCAないしCC)の符号化情報が供給される。
 ここで、周辺色ブロックの符号化情報には、図13で説明したように、その周辺色ブロックが、対象ブロックとして符号化されたときのモード関連情報、計算視差ベクトル、参照インデクス(予測用の参照インデクス)が含まれる。
 予測ベクトル生成部743は、MBインデクス計算部231からのMBインデクスに基づいて、画面並び替えバッファ212からの対象ピクチャにおける対象ブロックを認識する。
 さらに、予測ベクトル生成部743は、符号化情報バッファ246からの符号化情報のうちの、対象ブロックの周辺の周辺色ブロック(例えば、図38の周辺色ブロックCAないしCC)それぞれの符号化情報等に基づき、視差情報利用予測方式で生成される予測ベクトルと、MVC方式で生成される予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの処理に用いる予測ベクトルとして生成する。
 予測ベクトル生成部743は、各マクロブロックタイプ(図9)について、予測ベクトルを生成し、予測ベクトル情報として、視差検出部241、視差補償部242、及び、コスト関数算出部244に供給する。
 図40は、図15のステップS43で図39の予測ベクトル生成部743が行う予測ベクトル生成処理を説明するフローチャートである。
 ステップS451において、予測ベクトル生成部743は、符号化情報バッファ246から、既に符号化が行われた、色画像C#2の対象ブロックの周辺の周辺色ブロック、すなわち、例えば、図38(図3)の3個の周辺色ブロックCAないしCCの符号化情報を取得し、処理は、ステップS452に進む。
 ステップS452では、予測ベクトル生成部743は、DPB31からのデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)から、対象ブロックと同一位置のブロック(同一位置ブロック)を取得し、処理は、ステップS453に進む。
 以下、ステップS453ないしS456では、各マクロブロックタイプについて、ステップS451及びS452で取得した情報を必要に応じて用いて、対象ブロックの予測ベクトルを生成するベクトル予測処理が行われ、処理は、リターンする。
 すなわち、ステップS453において、予測ベクトル生成部743は、6×16タイプについて、ベクトル予測処理を行い、処理は、ステップS454に進む。
 ステップS454では、予測ベクトル生成部743は、16×8タイプについて、ベクトル予測処理を行い、処理は、ステップS455に進む。
 ステップS455では、予測ベクトル生成部743は、8×16タイプについて、ベクトル予測処理を行い、処理は、ステップS456に進む。
 ステップS456では、予測ベクトル生成部743は、8×8以下タイプについて、ベクトル予測処理を行い、処理はリターンする。
 図41は、図40のステップS453ないしS456で図39の予測ベクトル生成部743(図39)が各マクロブロックタイプについて行うベクトル予測処理を説明するフローチャートである。
 ステップS461において、予測ベクトル生成部743は、符号化情報に基づき、色画像C#2の、対象ブロックの周辺の周辺色ブロック(例えば、図38の3個の周辺色ブロックCAないしCC)の中の、参照インデクスが、対象ブロックと一致する参照インデクス一致ブロックの数を判定する。
 ステップS461において、参照インデクス一致ブロックの数が0個であると判定された場合、処理は、ステップS464に進み、予測ベクトル生成部743は、図13の予測ベクトル生成部243と同様に、視差情報利用予測方式によって、デコード視差画像D#2から、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 また、ステップS461において、参照インデクス一致ブロックの数が1個であると判定された場合、処理は、ステップS465に進み、予測ベクトル生成部743は、MVC方式によって、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 一方、ステップS461において、参照インデクス一致ブロックの数が2個以上(ここでは、2個又は3個)であると判定された場合、処理は、ステップS462に進み、予測ベクトル生成部743は、対象ブロックの周辺の周辺色ブロック(例えば、図38の3個の周辺色ブロックCAないしCC)のうちの、2個以上の参照インデクス一致ブロックそれぞれの計算視差ベクトルのばらつき具合としての分散である周辺ベクトル分散を求め、処理は、ステップS463に進む。
 ステップS463では、予測ベクトル生成部743は、周辺ベクトル分散が、所定の閾値以上であるかどうかを判定する。
 ステップS463において、周辺ベクトル分散が、所定の閾値以上であると判定された場合、対象ブロックと周辺色ブロックとの間で、視差の相関がなく、MVC方式の予測ベクトルの予測精度が悪いと推定されるので、処理は、ステップS464に進み、予測ベクトル生成部743は、視差情報利用予測方式によって、デコード視差画像D#2から、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 また、ステップS463において、周辺ベクトル分散が、所定の閾値以上でないと判定された場合、MVC方式の予測ベクトルの予測精度が良いと推定されるので、処理は、ステップS465に進み、予測ベクトル生成部743は、MVC方式によって、対象ブロックの予測ベクトルを生成し、処理は、リターンする。
 図42は、図12の視差予測部232が図39に示したように構成される場合の、図21の視差予測部462の構成例を示すブロック図である。
 なお、図中、図22の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は適宜省略する。
 図42において、視差予測部462は、視差補償部472を有する点で、図22の場合と共通する。
 但し、図42において、視差予測部462は、予測ベクトル生成部471に代えて、予測ベクトル生成部871を有する点で、図22の場合と相違する。
 予測ベクトル生成部871には、DPB331記憶されたデコード視差画像D#2のピクチャが供給されるとともに、MBインデクス計算部461からMBインデクスが供給される。
 また、予測ベクトル生成部871には、可変長復号部442からのヘッダ情報に含まれる撮影視差ベクトルd(視点#2の撮影視差ベクトルd2)の最大値dmax及び最小値dmin等の視差関連情報(図4)が供給される。
 さらに、予測ベクトル生成部871には、可変長復号部442からのヘッダ情報に含まれる、既に復号が行われた、色画像C#2の象ブロックの周辺の周辺色ブロック(例えば、図38の周辺色ブロックCAないしCC)の符号化情報、及び、対象ブロックの符号化情報が供給される。
 ここで、図22の場合と同様に、可変長復号部442からのヘッダ情報に含まれる周辺色ブロックの符号化情報には、その周辺色ブロックのモード関連情報(マクロブロックタイプ)、及び、参照インデクス(予測用の参照インデクス)が含まれ、可変長復号部442からのヘッダ情報に含まれる対象ブロックの符号化情報には、その対象ブロックのモード関連情報(マクロブロックタイプ)、残差ベクトル、及び、参照インデクス(予測用の参照インデクス)が含まれる。
 また、予測ベクトル生成部871には、視差補償部472から、既に復号が行われた周辺色ブロックの計算視差ベクトルが供給される。
 予測ベクトル生成部871は、MBインデクス計算部461からのMBインデクスに基づいて、対象ピクチャにおける対象ブロックを認識する。
 さらに、予測ベクトル生成部871は、DPB331記憶されたデコード視差画像D#2のピクチャ、視差関連情報、符号化情報、及び、視差補償部472からの周辺色ブロックの計算視差ベクトルを必要に応じて用い、図39の予測ベクトル生成部743と同様に、対象ブロックの予測ベクトルを生成し、視差補償部472に供給する。
 すなわち、予測ベクトル生成部871は、対象ブロックの符号化情報に基づき、対象ブロックのマクロブロックモードを認識し、そのマクロブロックモードについて、視差情報利用予測方式で生成される予測ベクトルと、MVC方式で生成される予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの予測ベクトルとして生成する。
 図43は、図24のステップS133で図42の予測ベクトル生成部871が行う予測ベクトル生成処理を説明するフローチャートである。
 ステップS541において、予測ベクトル生成部871は、可変長復号部442からのヘッダ情報から、既に符号化が行われた、色画像C#2の周辺色ブロック(例えば、図38の3個の周辺色ブロックCAないしCC)の符号化情報を取得し、処理は、ステップS542に進む。
 ステップS542では、予測ベクトル生成部871は、DPB331からのデコード視差画像D#2のピクチャ(対象ピクチャと同一時刻のピクチャ)から、対象ブロックと同一位置のブロック(同一位置ブロック)を取得し、処理は、ステップS543に進む。
 ステップS543では、予測ベクトル生成部871は、ステップS541及びS542で取得した情報等を必要に応じて用いて、対象ブロックの符号化情報に含まれるモード関連情報が表す最適インター予測モードとしてのマクロブロックモードについて、図41で説明したのと同様のベクトル予測処理を行うことで、そのマクロブロックモードについての対象ブロックの予測ベクトルを生成する。
 そして、予測ベクトル生成部871は、対象ブロックの予測ベクトルを、視差補償部472に供給して、処理はリターンする。
 以上のように、色画像C#2の、対象ブロックの周辺の周辺色ブロックの計算視差ベクトルのばらつき具合としての周辺ベクトル分散に基づいて、視差情報利用予測方式の予測ベクトル、及び、MVC方式の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、対象ブロックの処理に用いる予測ベクトルとして生成する場合には、周辺ベクトル分散の方が、視差SADよりも少ない演算量で求めることができるので、図3で説明した視差SADに基づく場合よりも容易に、予測精度の良い予測ベクトルを得ることができる。
 なお、以上においては、視差情報利用予測方式の他のベクトル予測方式として、MVC方式(メディアン予測方式)を採用したが、視差情報利用予測方式の他のベクトル予測方式としては、その他、例えば、図1及び図2で説明したSAD最小予測方式を採用することができる。
 [本技術を適用したコンピュータの説明]
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 そこで、図45は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク805やROM803に予め記録しておくことができる。
 あるいはまた、プログラムは、リムーバブル記録媒体811に格納(記録)しておくことができる。このようなリムーバブル記録媒体811は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体811としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体811からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク805にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
 コンピュータは、CPU(Central Processing Unit)802を内蔵しており、CPU802には、バス801を介して、入出力インタフェース810が接続されている。
 CPU802は、入出力インタフェース810を介して、ユーザによって、入力部807が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)803に格納されているプログラムを実行する。あるいは、CPU802は、ハードディスク805に格納されたプログラムを、RAM(Random Access Memory)804にロードして実行する。
 これにより、CPU802は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU802は、その処理結果を、必要に応じて、例えば、入出力インタフェース810を介して、出力部806から出力、あるいは、通信部808から送信、さらには、ハードディスク805に記録等させる。
 なお、入力部807は、キーボードや、マウス、マイク等で構成される。また、出力部806は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 すなわち、本技術は、MVCを利用した符号化、及び、復号に限定されるものではない。すなわち、本技術は、予測ベクトルを用いて、複数の視点の画像の符号化、及び、復号を行う場合に適用することができる。
 [テレビジョン装置の構成例]
 図46は、本技術を適用したテレビジョン装置の概略構成を例示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
 チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
 デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
 映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
 表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
 音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
 外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
 制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
 制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置900の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置900がユーザ操作に応じた動作となるように各部を制御する。
 なお、テレビジョン装置900では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
 このように構成されたテレビジョン装置では、デコーダ904に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができる。
 [携帯電話機の構成例]
 図47は、本技術を適用した携帯電話機の概略構成を例示している。携帯電話機920は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
 また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
 携帯電話機920は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
 また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
 なお、携帯電話機920は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアである。
 データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い、符号化データを生成する。
 多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い、画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
 このように構成された携帯電話装置では、画像処理部927に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができる。
 [記録再生装置の構成例]
 図48は、本技術を適用した記録再生装置の概略構成を例示している。記録再生装置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に出力する。
 外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
 エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
 HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
 ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)やBlu-rayディスク等である。
 セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかの符号化ビットストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力された符号化ビットストリームをデコーダ947に供給する。
 デコーダ947は、符号化ビットストリームの復号化処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
 OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
 制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
 制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置940の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置940がユーザ操作に応じた動作となるように各部を制御する。
 このように構成された記録再生装置では、デコーダ947に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができる。
 [撮像装置の構成例]
 図49は、本技術を適用した撮像装置の概略構成を例示している。撮像装置960は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
 光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
 カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
 画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
 OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
 外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メモリ部967から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
 メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であってもよい。
 また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 制御部970は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ等を記憶する。メモリに記憶されているプログラムは、撮像装置960の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、撮像装置960がユーザ操作に応じた動作となるように各部を制御する。
 このように構成された撮像装置では、画像データ処理部964に本願の画像処理装置(画像処理方法)の機能が設けられる。このため、視差ベクトルの予測ベクトルとして、予測精度の良いベクトルを求めることができる。
 11,12,21,22 エンコーダ, 31 DPB, 32 多重化部, 41,42 カメラ, 43 多視点画像情報生成部, 111 A/D変換部, 112 画面並び替えバッファ, 113 演算部, 114 直交変換部, 115 量子化部, 116 可変長符号化部, 117 蓄積バッファ, 118 逆量子化部, 119 逆直交変換部, 120 演算部, 121 デブロッキングフィルタ, 122 画面内予測部, 123 インター予測部, 124 予測画像選択部, 211 A/D変換部, 212 画面並び替えバッファ, 213 演算部, 214 直交変換部, 215 量子化部, 216 可変長符号化部, 217 蓄積バッファ, 218 逆量子化部, 219 逆直交変換部, 220 演算部, 221 デブロッキングフィルタ, 222 画面内予測部, 224 予測画像選択部, 231 MBインデクス計算部, 232 視差予測部, 241 視差検出部, 242 視差補償部, 243 予測ベクトル生成部, 244 コスト関数算出部, 245 モード選択部, 246 符号化情報バッファ, 301 分離部, 311,312,321,322 デコーダ, 331 DPB, 341 蓄積バッファ, 342 可変長復号部, 343 逆量子化部, 344 逆直交変換部, 345 演算部, 346 デブロッキングフィルタ, 347 画面並び替え部, 348 D/A変換部, 349 画面内予測部, 350 インター予測部, 351 予測画像選択部, 441 蓄積バッファ, 442 可変長復号部, 443 逆量子化部, 444 逆直交変換部, 445 演算部, 446 デブロッキングフィルタ, 447 画面並び替え部, 448 D/A変換部, 449 画面内予測部, 451 予測画像選択部, 461 MBインデクス計算部, 462 視差予測部, 471 予測ベクトル生成部, 472 視差補償部, 541 視差検出部, 542 視差補償部, 543 予測ベクトル生成部, 544 コスト関数算出部, 545 モード選択部, 546 符号化情報バッファ, 671,743,871 予測ベクトル生成部, 801 バス, 802 CPU, 803 ROM, 804 RAM, 805 ハードディスク, 806 出力部, 807 入力部, 808 通信部, 809 ドライブ, 810 入出力インタフェース, 811 リムーバブル記録媒体

Claims (12)

  1.  第1の視点と異なる第2の視点の色画像の処理対象の対象ブロックの、前記第1の視点の色画像に対する視差を表す視差ベクトルの予測ベクトルを、前記第2の視点の色画像の画素ごとの視差に関するデプス情報を画素値として有する第2の視点のデプス画像から生成するデプス情報利用予測方式で生成する予測ベクトル生成部を備える
     画像処理装置。
  2.  前記予測ベクトル生成部は、前記デプス情報利用予測方式で生成される第1の予測ベクトルと、他のベクトル予測方式で生成される第2の予測ベクトルとのうちの、予測精度が高いと推定される予測ベクトルを、前記対象ブロックの処理に用いる予測ベクトルとして生成する
     請求項1に記載の画像処理装置。
  3.  前記予測ベクトル生成部は、
      前記第2の視点のデプス画像の、前記対象ブロックと同一位置のブロックである同一位置ブロックと、その同一位置ブロックの周辺のブロックである周辺デプスブロックとの差に基づいて、前記第1の予測ベクトル、及び、前記第2の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、前記対象ブロックの処理に用いる予測ベクトルとして生成する
     請求項2に記載の画像処理装置。
  4.  前記予測ベクトル生成部は、
      前記第2の視点の色画像の、前記対象ブロックの周辺のブロックである周辺色ブロックの中の、予測画像を生成するのに参照する参照ピクチャを表す参照インデクスが、前記対象ブロックと一致する参照インデクス一致ブロックについて、前記第2の視点のデプス画像の、前記参照インデクス一致ブロックと同一位置の前記周辺デプスブロックと、前記同一位置ブロックとの差を求め、
     前記参照インデクス一致ブロックと同一位置の前記周辺デプスブロックと、前記同一位置ブロックとの差に基づいて、前記第1の予測ベクトル、及び、前記第2の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、前記対象ブロックの処理に用いる予測ベクトルとして生成する
     請求項3に記載の画像処理装置。
  5.  前記予測ベクトル生成部は、前記第2の視点の色画像の、前記対象ブロックの周辺のブロックである周辺色ブロックの視差ベクトルのばらつき具合に基づいて、前記第1の予測ベクトル、及び、前記第2の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、前記対象ブロックの処理に用いる予測ベクトルとして生成する
     請求項2に記載の画像処理装置。
  6.  前記予測ベクトル生成部は、
      前記第2の視点の色画像の、前記対象ブロックの周辺のブロックである周辺色ブロックの中の、予測画像を生成するのに参照する参照ピクチャを表す参照インデクスが、前記対象ブロックと一致する参照インデクス一致ブロックの視差ベクトルのばらつき具合を求め、
      前記参照インデクス一致ブロックの視差ベクトルのばらつき具合に基づいて、前記第1の予測ベクトル、及び、前記第2の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、前記対象ブロックの処理に用いる予測ベクトルとして生成する
     請求項5に記載の画像処理装置。
  7.  前記対象ブロックを、視差ベクトルを検出するパーティションに分割するパターンを表すブロックタイプごとに、前記対象ブロックの符号化に要する符号化コストを算出するコスト算出部と、
     前記符号化コストに基づいて、前記対象ブロックを符号化するブロックタイプを選択する選択部と
     をさらに備え、
     前記予測ベクトル生成部は、各ブロックタイプについて、前記デプス情報利用予測方式で予測ベクトルを生成する
     請求項1に記載の画像処理装置。
  8.  前記予測ベクトル生成部は、前記デプス情報利用予測方式で生成される第1の予測ベクトルと、他のベクトル予測方式で生成される第2の予測ベクトルとを生成し、
      前記第1の予測ベクトルとを用いた場合と、前記第2の予測ベクトルとを用いた場合とのそれぞれについて、前記対象ブロックの符号化に要する符号化コストを算出し、
      前記符号化コストに基づいて、前記第1の予測ベクトル、及び、前記第2の予測ベクトルのうちの、予測精度が高いと推定される予測ベクトルを、前記対象ブロックの処理に用いる予測ベクトルとして選択し、
      前記第1の予測ベクトル、及び、前記第2の予測ベクトルのうちの、前記対象ブロックの処理に用いる予測ベクトルとして選択された方を表すフラグを出力する処理部をさらに備える
     請求項1に記載の画像処理装置。
  9.  前記予測ベクトル生成部は、前記デプス情報利用予測方式で生成される第1の予測ベクトルと、他のベクトル予測方式で生成される第2の予測ベクトルとのうちの、前記対象ブロックの処理に用いる予測ベクトルとして選択された方を表すフラグを取得し、そのフラグに基づいて、前記第1の予測ベクトル、又は、前記第2の予測ベクトルを生成する
     請求項1に記載の画像処理装置。
  10.  前記予測ベクトル生成部は、前記第2の視点のデプス画像の、前記対象ブロックと同一位置のブロックである同一位置ブロックの画素値であるデプス情報から求められる視差を表すベクトルの平均値を、前記デプス情報利用予測方式の予測ベクトルとして生成する
     請求項1に記載の画像処理装置。
  11.  第1の視点と異なる第2の視点の色画像の処理対象の対象ブロックの、前記第1の視点の色画像に対する視差を表す視差ベクトルの予測ベクトルを、前記第2の視点の色画像の画素ごとの視差に関するデプス情報を画素値として有する第2の視点のデプス画像から生成するデプス情報利用予測方式で生成する
     ステップを含む画像処理方法。
  12.  第1の視点と異なる第2の視点の色画像の処理対象の対象ブロックの、前記第1の視点の色画像に対する視差を表す視差ベクトルの予測ベクトルを、前記第2の視点の色画像の画素ごとの視差に関するデプス情報を画素値として有する第2の視点のデプス画像から生成するデプス情報利用予測方式で生成する予測ベクトル生成部
     として、コンピュータを機能させるためのプログラム。
PCT/JP2012/056082 2011-03-18 2012-03-09 画像処理装置、画像処理方法、及び、プログラム WO2012128068A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/002,765 US9363500B2 (en) 2011-03-18 2012-03-09 Image processing device, image processing method, and program
JP2013505884A JP6061150B2 (ja) 2011-03-18 2012-03-09 画像処理装置、画像処理方法、及び、プログラム
CN201280012725.1A CN103430549B (zh) 2011-03-18 2012-03-09 图像处理装置和图像处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011061792 2011-03-18
JP2011-061792 2011-03-18

Publications (1)

Publication Number Publication Date
WO2012128068A1 true WO2012128068A1 (ja) 2012-09-27

Family

ID=46879222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/056082 WO2012128068A1 (ja) 2011-03-18 2012-03-09 画像処理装置、画像処理方法、及び、プログラム

Country Status (4)

Country Link
US (1) US9363500B2 (ja)
JP (1) JP6061150B2 (ja)
CN (1) CN103430549B (ja)
WO (1) WO2012128068A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546747A (zh) * 2013-09-29 2014-01-29 北京航空航天大学 一种基于彩色视频编码模式的深度图序列分形编码方法
JP2014116900A (ja) * 2012-12-12 2014-06-26 Nippon Hoso Kyokai <Nhk> 画像処理装置及び画像処理プログラム
CN103916652A (zh) * 2013-01-09 2014-07-09 浙江大学 视差矢量生成方法及装置
CN104104933A (zh) * 2013-04-12 2014-10-15 浙江大学 一种视差矢量生成方法及装置
WO2015051498A1 (en) * 2013-10-08 2015-04-16 Mediatek Singapore Pte. Ltd. Methods for view synthesis prediction
CN104581182A (zh) * 2013-10-18 2015-04-29 浙江大学 一种视点合成预测中的深度视差矢量的确定方法和装置
CN104883553A (zh) * 2014-02-28 2015-09-02 株式会社理光 视差值导出设备及方法、装备控制系统、可移动装置
JP2016507969A (ja) * 2013-01-04 2016-03-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビュー間またはレイヤ間参照ピクチャについてのビットストリーム制約および動きベクトル制限
RU2625526C2 (ru) * 2013-01-08 2017-07-14 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала
JP2017204898A (ja) * 2017-08-24 2017-11-16 シャープ株式会社 画像復号装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103416064A (zh) * 2011-03-18 2013-11-27 索尼公司 图像处理设备、图像处理方法和程序
US9350972B2 (en) * 2011-04-28 2016-05-24 Sony Corporation Encoding device and encoding method, and decoding device and decoding method
JP6039178B2 (ja) * 2011-09-15 2016-12-07 シャープ株式会社 画像符号化装置、画像復号装置、並びにそれらの方法及びプログラム
JP6003983B2 (ja) * 2012-06-22 2016-10-05 株式会社ニコン 画像処理装置、撮像装置および画像処理プログラム
WO2014010464A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 予測ベクトル生成装置、画像符号化装置、画像復号装置、予測ベクトル生成方法、およびプログラム
US9595083B1 (en) * 2013-04-16 2017-03-14 Lockheed Martin Corporation Method and apparatus for image producing with predictions of future positions
US10045014B2 (en) * 2013-07-15 2018-08-07 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3D video coding
WO2015058397A1 (en) 2013-10-25 2015-04-30 Microsoft Technology Licensing, Llc Representing blocks with hash values in video and image coding and decoding
WO2015058395A1 (en) 2013-10-25 2015-04-30 Microsoft Technology Licensing, Llc Hash-based block matching in video and image coding
WO2015085575A1 (en) 2013-12-13 2015-06-18 Mediatek Singapore Pte. Ltd. Methods for background residual prediction
WO2015131326A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
WO2015131325A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
CN105706450B (zh) 2014-06-23 2019-07-16 微软技术许可有限责任公司 根据基于散列的块匹配的结果的编码器决定
US9888229B2 (en) * 2014-06-23 2018-02-06 Ricoh Company, Ltd. Disparity estimation for multiview imaging systems
KR102358276B1 (ko) 2014-09-30 2022-02-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
MX362021B (es) * 2014-10-08 2019-01-04 Lg Electronics Inc Metodo de codificacion de imagen de profundidad y dispositivo en codificacion de video.
JP2017103744A (ja) * 2015-12-04 2017-06-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
US10554947B1 (en) * 2015-12-16 2020-02-04 Marvell International Ltd. Method and apparatus for stereo vision matching including disparity refinement based on matching merit values
DE102017103588A1 (de) * 2016-02-24 2017-08-24 Jtekt Corporation Analysevorrichtung und analysesystem
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN113055670B (zh) * 2021-03-08 2024-03-19 浙江裕瀚科技有限公司 一种基于hevc/h.265的视频编码的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009131688A2 (en) * 2008-04-25 2009-10-29 Thomson Licensing Inter-view skip modes with depth
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法
JP2010233135A (ja) * 2009-03-30 2010-10-14 Kddi R & D Laboratories Inc 動画像符号化装置および動画像復号装置
JP2012080242A (ja) * 2010-09-30 2012-04-19 Sharp Corp 予測ベクトル生成方法、画像符号化方法、画像復号方法、予測ベクトル生成装置、画像符号化装置、画像復号装置、予測ベクトル生成プログラム、画像符号化プログラムおよび画像復号プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7671894B2 (en) * 2004-12-17 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method and system for processing multiview videos for view synthesis using skip and direct modes
US8644386B2 (en) * 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
KR100667830B1 (ko) * 2005-11-05 2007-01-11 삼성전자주식회사 다시점 동영상을 부호화하는 방법 및 장치
ZA200805337B (en) * 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
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
KR101336204B1 (ko) * 2006-08-18 2013-12-03 주식회사 케이티 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법
CN101222639B (zh) * 2007-01-09 2010-04-21 华为技术有限公司 多视点视频技术中的视间预测方法、编码器和解码器
KR20080066522A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
US8953684B2 (en) * 2007-05-16 2015-02-10 Microsoft Corporation Multiview coding with geometry-based disparity prediction
CN100563339C (zh) * 2008-07-07 2009-11-25 浙江大学 一种利用深度信息的多通道视频流编码方法
KR101625058B1 (ko) * 2008-11-10 2016-05-27 엘지전자 주식회사 시점간 예측을 이용한 비디오 신호 처리 방법 및 장치
EP2400759B1 (en) * 2009-02-23 2014-08-27 Nippon Telegraph And Telephone Corporation Multi-view image encoding and decoding using localized illumination and color correction
JP2010222819A (ja) 2009-03-23 2010-10-07 Kubota Corp 有孔ブロック
KR20110007928A (ko) * 2009-07-17 2011-01-25 삼성전자주식회사 다시점 영상 부호화 및 복호화 방법과 장치
KR101660312B1 (ko) * 2009-09-22 2016-09-27 삼성전자주식회사 3차원 비디오의 움직임 탐색 장치 및 방법
KR101807886B1 (ko) * 2009-10-14 2017-12-11 돌비 인터네셔널 에이비 깊이 맵 처리를 위한 방법 및 디바이스
CN101729891B (zh) * 2009-11-05 2012-06-20 宁波大学 一种多视点深度视频的编码方法
KR101628383B1 (ko) * 2010-02-26 2016-06-21 연세대학교 산학협력단 영상 처리 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009131688A2 (en) * 2008-04-25 2009-10-29 Thomson Licensing Inter-view skip modes with depth
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法
JP2010233135A (ja) * 2009-03-30 2010-10-14 Kddi R & D Laboratories Inc 動画像符号化装置および動画像復号装置
JP2012080242A (ja) * 2010-09-30 2012-04-19 Sharp Corp 予測ベクトル生成方法、画像符号化方法、画像復号方法、予測ベクトル生成装置、画像符号化装置、画像復号装置、予測ベクトル生成プログラム、画像符号化プログラムおよび画像復号プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIN'YA SHIMIZU ET AL.: "Efficient Multi-view Video Coding using Multi-view Depth Map", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 63, no. 4, 1 April 2009 (2009-04-01), pages 524 - 532 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014116900A (ja) * 2012-12-12 2014-06-26 Nippon Hoso Kyokai <Nhk> 画像処理装置及び画像処理プログラム
US10021414B2 (en) 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
JP2016507969A (ja) * 2013-01-04 2016-03-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビュー間またはレイヤ間参照ピクチャについてのビットストリーム制約および動きベクトル制限
RU2625526C2 (ru) * 2013-01-08 2017-07-14 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала
US10123007B2 (en) 2013-01-08 2018-11-06 Lg Electronics Inc. Method and apparatus for processing video signal
CN103916652A (zh) * 2013-01-09 2014-07-09 浙江大学 视差矢量生成方法及装置
CN104104933A (zh) * 2013-04-12 2014-10-15 浙江大学 一种视差矢量生成方法及装置
CN103546747A (zh) * 2013-09-29 2014-01-29 北京航空航天大学 一种基于彩色视频编码模式的深度图序列分形编码方法
WO2015051498A1 (en) * 2013-10-08 2015-04-16 Mediatek Singapore Pte. Ltd. Methods for view synthesis prediction
CN104581182A (zh) * 2013-10-18 2015-04-29 浙江大学 一种视点合成预测中的深度视差矢量的确定方法和装置
CN104883553A (zh) * 2014-02-28 2015-09-02 株式会社理光 视差值导出设备及方法、装备控制系统、可移动装置
US9747524B2 (en) 2014-02-28 2017-08-29 Ricoh Company, Ltd. Disparity value deriving device, equipment control system, movable apparatus, and robot
JP2017204898A (ja) * 2017-08-24 2017-11-16 シャープ株式会社 画像復号装置

Also Published As

Publication number Publication date
CN103430549B (zh) 2017-05-10
US20130335527A1 (en) 2013-12-19
CN103430549A (zh) 2013-12-04
JPWO2012128068A1 (ja) 2014-07-24
US9363500B2 (en) 2016-06-07
JP6061150B2 (ja) 2017-01-18

Similar Documents

Publication Publication Date Title
JP6061150B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
WO2012128242A1 (ja) 画像処理装置、画像処理方法、及び、プログラム
EP3047649B1 (en) Combined bi-predictive merging candidates for 3d video coding
JP6522629B2 (ja) 3dビデオコード化のためのブロックベースの高度残差予測
WO2012147622A1 (ja) 画像処理装置、及び、画像処理方法
WO2012121052A1 (ja) 画像処理装置、画像処理方法、及び、プログラム
WO2012157443A1 (ja) 画像処理装置、及び、画像処理方法
KR101702822B1 (ko) 화상 처리 장치 및 방법
US9350972B2 (en) Encoding device and encoding method, and decoding device and decoding method
JP7477495B2 (ja) インター予測モードに基づいた映像処理方法及びそのための装置
WO2015192286A1 (en) Simplified shifting merge candidate and merge list derivation in 3d-hevc
KR20200034806A (ko) 복호 장치 및 복호 방법, 및 부호화 장치 및 부호화 방법
JPWO2012017858A1 (ja) 画像処理装置と画像処理方法
CN103891285A (zh) 图像处理装置和方法
EP3117606B1 (en) Simplified advanced residual prediction for 3d-hevc
KR20230022285A (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2012128241A1 (ja) 画像処理装置、画像処理方法、及び、プログラム
JP6232117B2 (ja) 画像符号化方法、画像復号方法、及び記録媒体
WO2013157439A1 (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: 12760774

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013505884

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14002765

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12760774

Country of ref document: EP

Kind code of ref document: A1