WO2016125685A1 - 画像復号装置、画像符号化装置および予測ベクトル導出装置 - Google Patents

画像復号装置、画像符号化装置および予測ベクトル導出装置 Download PDF

Info

Publication number
WO2016125685A1
WO2016125685A1 PCT/JP2016/052532 JP2016052532W WO2016125685A1 WO 2016125685 A1 WO2016125685 A1 WO 2016125685A1 JP 2016052532 W JP2016052532 W JP 2016052532W WO 2016125685 A1 WO2016125685 A1 WO 2016125685A1
Authority
WO
WIPO (PCT)
Prior art keywords
flag
prediction
unit
intra
mode
Prior art date
Application number
PCT/JP2016/052532
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 US15/547,663 priority Critical patent/US10306235B2/en
Publication of WO2016125685A1 publication Critical patent/WO2016125685A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Definitions

  • the present invention relates to an image decoding device, an image encoding device, and a prediction vector derivation device.
  • the multi-view image encoding technique includes a parallax predictive encoding that reduces the amount of information by predicting a parallax between images when encoding images of a plurality of viewpoints, and a decoding method corresponding to the encoding method.
  • a vector representing the parallax between viewpoint images is called a displacement vector.
  • the displacement vector is a two-dimensional vector having a horizontal element (x component) and a vertical element (y component), and is calculated for each block which is an area obtained by dividing one image.
  • x component horizontal element
  • y component vertical element
  • each viewpoint image is encoded as a different layer in each of a plurality of layers.
  • a method for encoding a moving image composed of a plurality of layers is generally referred to as scalable encoding or hierarchical encoding.
  • scalable coding high coding efficiency is realized by performing prediction between layers.
  • a reference layer without performing prediction between layers is called a base layer, and other layers are called enhancement layers.
  • Scalable encoding in the case where a layer is composed of viewpoint images is referred to as view scalable encoding.
  • the base layer is also called a base view
  • the enhancement layer is also called a non-base view.
  • scalable coding when a layer is composed of a texture layer (image layer) and a depth layer (distance image layer) is called three-dimensional scalable coding.
  • scalable coding in addition to view scalable coding, spatial scalable coding (pictures with low resolution as the base layer and pictures with high resolution in the enhancement layer), SNR scalable coding (image quality as the base layer) Low picture, high resolution picture as an enhancement layer).
  • a base layer picture may be used as a reference picture in coding an enhancement layer picture.
  • the prediction parameter of the prediction unit is derived by selecting the element specified by the merge index (merge_index) from the merge candidate list constructed with the merge candidate as an element as the prediction parameter.
  • Inter-layer motion prediction is known as a technique for using a motion vector of another layer (different view) for prediction of a motion vector of a target layer.
  • motion prediction is performed with reference to a motion vector of a picture of a viewpoint different from the target picture.
  • IV prediction inter-view prediction
  • IVShift prediction inter-view shift prediction
  • Non-Patent Document 1 in the sequence parameter set (SPS), an on / off flag of a texture extension tool such as residual prediction and an on / off flag of a depth extension tool such as wedgelet division prediction and contour division prediction are defined, and a loop variable There is known a technique for sequentially decoding and encoding both of them using the.
  • SPS sequence parameter set
  • Non-Patent Document 1 has a problem that the on / off flag of the texture extension tool and the on / off flag of the depth extension tool cannot be set independently.
  • Non-Patent Document 1 even when either the intra SDC wedge division flag IntraSdcWedgeFlag or the intra contour division flag IntraContourFlag is 1, depth_intra_mode_flag for selecting the wedge division mode and the contour division mode is decoded. There was a problem of decoding.
  • One aspect of the present invention includes a sequence parameter set (SPS) including at least a first flag indicating whether to use an intra-contour mode and a second flag indicating whether to use an intra-wedge mode;
  • a receiving unit that receives at least a coded flag including a third flag indicating whether the intra-contour mode or the intra-wedge mode is used in a prediction unit; the first flag; the second flag
  • a decoding unit that decodes at least one of the third flags, and a prediction unit that performs prediction using a fourth flag that identifies one of the intra-contour mode and the intra-wedge mode
  • the decoding unit When the value of the first flag is 1, the value of the second flag is 1 and the value indicating that the value of the third flag is used, the decoding unit
  • the fourth flag is decoded from the data and the encoded data does not include the fourth flag, the fourth flag is obtained from the logical operation of the first flag and the second flag.
  • This is an estimated image decoding apparatus.
  • One aspect of the present invention includes a sequence parameter set (SPS) including at least a first flag indicating whether to use an intra-contour mode and a second flag indicating whether to use an intra-wedge mode; Receiving at least encoded data including a third flag indicating whether the intra-contour mode or the intra-wedge mode is used in a prediction unit, the first flag, the second flag, and Decoding at least one flag of the third flag, and performing prediction using a fourth flag that identifies one of the intra-contour mode and the intra-wedge mode; The decoding step includes using a value of the first flag as 1, a value of the second flag as 1 and a value of the third flag.
  • SPS sequence parameter set
  • the fourth flag is decoded from the encoded data, and when the encoded flag does not include the fourth flag, the fourth flag is the first flag and the first flag.
  • This is an image decoding method estimated from a logical operation of two flags.
  • One aspect of the present invention includes a sequence parameter set (SPS) including at least a first flag indicating whether to use an intra-contour mode and a second flag indicating whether to use an intra-wedge mode;
  • a receiving unit that receives at least a coded flag including a third flag indicating whether the intra-contour mode or the intra-wedge mode is used in a prediction unit; the first flag; the second flag
  • a decoding unit that decodes at least one of the third flags, and a prediction unit that performs prediction using a fourth flag that identifies one of the intra-contour mode and the intra-wedge mode
  • the decoding unit When the value of the first flag is 1, the value of the second flag is 1 and the value indicating that the value of the third flag is used, the decoding unit
  • the fourth flag is obtained from the logical operation of the first flag and the second flag.
  • the processing can be simplified because the reference position in the reference picture can be derived without changing the disparity vector.
  • the on / off flag of the texture extension tool and the on / off flag of the depth extension tool can be set independently.
  • the depth_intra_mode_flag for selecting the wedge division mode and the contour division mode is derived without decoding from the encoded data. Therefore, the useless flag is not decoded.
  • FIG. 1 is a schematic diagram illustrating a configuration of an image transmission system according to an embodiment of the present invention. It is a figure which shows the hierarchical structure of the data of the encoding stream which concerns on this embodiment.
  • FIG. 6 is a diagram showing division mode patterns, wherein (a) to (h) are division modes of 2N ⁇ 2N, 2N ⁇ N, 2N ⁇ nU, 2N ⁇ nD, N ⁇ 2N, nL ⁇ 2N, and nR, respectively.
  • the partition shapes in the case of ⁇ 2N and N ⁇ N are shown. It is a conceptual diagram which shows an example of a reference picture list. It is a conceptual diagram which shows the example of a reference picture. It is the schematic which shows the structure of the image decoding apparatus 31 which concerns on this embodiment. It is the schematic which shows the structure of the inter prediction parameter decoding part 303 which concerns on this embodiment. It is the schematic which shows the structure of the merge mode parameter derivation
  • FIG. 1 It is a figure which shows prediction mode predModeIntra of this embodiment. It is a figure which shows the structure of DMM prediction part 145T of this embodiment. It is a block diagram which shows the structure of the image coding apparatus 11 of this embodiment. It is the schematic which shows the structure of the inter prediction parameter encoding part 112 of this embodiment. It is a figure explaining the position (xRefIV, yRefIV) of the interview merge candidate IV of a comparative example, and the position (xRefIVShift, yRefIVShift) of the interview shift merge candidate IVShift. The syntax structure of the parameter set of a comparative example is shown.
  • FIG. 2 is a schematic diagram showing the configuration of the image transmission system 1 according to the present embodiment.
  • the image transmission system 1 is a system that transmits a code obtained by encoding a plurality of layer images and displays an image obtained by decoding the transmitted code.
  • the image transmission system 1 includes an image encoding device 11, a network 21, an image decoding device 31, and an image display device 41.
  • the signal T indicating a plurality of layer images (also referred to as texture images) is input to the image encoding device 11.
  • a layer image is an image that is viewed or photographed at a certain resolution and a certain viewpoint.
  • each of the plurality of layer images is referred to as a viewpoint image.
  • the viewpoint corresponds to the position or observation point of the photographing apparatus.
  • the plurality of viewpoint images are images taken by the left and right photographing devices toward the subject.
  • the image encoding device 11 encodes each of the signals to generate an encoded stream Te (encoded data). Details of the encoded stream Te will be described later.
  • a viewpoint image is a two-dimensional image (planar image) observed at a certain viewpoint.
  • the viewpoint image is indicated by, for example, a luminance value or a color signal value for each pixel arranged in a two-dimensional plane.
  • one viewpoint image or a signal indicating the viewpoint image is referred to as a picture.
  • the plurality of layer images include a base layer image having a low resolution and an enhancement layer image having a high resolution.
  • SNR scalable encoding is performed using a plurality of layer images
  • the plurality of layer images are composed of a base layer image with low image quality and an extended layer image with high image quality.
  • view scalable coding, spatial scalable coding, and SNR scalable coding may be arbitrarily combined.
  • encoding and decoding of an image including at least a base layer image and an image other than the base layer image is handled as the plurality of layer images.
  • the image on the reference side is referred to as a first layer image
  • the image on the reference side is referred to as a second layer image.
  • the base layer image is treated as a first layer image and the enhancement layer image is treated as a second layer image.
  • the enhancement layer image include an image of a viewpoint other than the base view and a depth image.
  • a depth image (also referred to as depth map, “depth image”, or “distance image”) is a signal value (“depth value”) corresponding to the distance from the viewpoint (shooting device, etc.) of the subject or background included in the subject space. ”,“ Depth value ”,“ depth ”, etc.), and is an image signal composed of signal values (pixel values) for each pixel arranged in a two-dimensional plane.
  • the pixels constituting the depth image correspond to the pixels constituting the viewpoint image. Therefore, the depth map is a clue for representing the three-dimensional object space by using the viewpoint image which is a reference image signal obtained by projecting the object space onto the two-dimensional plane.
  • the network 21 transmits the encoded stream Te generated by the image encoding device 11 to the image decoding device 31.
  • the network 21 is the Internet, a wide area network (WAN: Wide Area Network), a small network (LAN: Local Area Network), or a combination thereof.
  • the network 21 is not necessarily limited to a bidirectional communication network, and may be a unidirectional or bidirectional communication network that transmits broadcast waves such as terrestrial digital broadcasting and satellite broadcasting.
  • the network 21 may be replaced by a storage medium that records an encoded stream Te such as a DVD (Digital Versatile Disc) or a BD (Blue-ray Disc).
  • the image decoding device 31 decodes each of the encoded streams Te transmitted by the network 21, and generates a plurality of decoded layer images Td (decoded viewpoint images Td).
  • the image display device 41 displays all or part of the plurality of decoded layer images Td generated by the image decoding device 31. For example, in view scalable coding, a 3D image (stereoscopic image) and a free viewpoint image are displayed in all cases, and a 2D image is displayed in some cases.
  • the image display device 41 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • the spatial scalable coding and SNR scalable coding when the image decoding device 31 and the image display device 41 have a high processing capability, a high-quality enhancement layer image is displayed and only a lower processing capability is provided. Displays a base layer image that does not require higher processing capability and display capability as an extension layer.
  • FIG. 3 is a diagram showing a hierarchical structure of data in the encoded stream Te.
  • the encoded stream Te illustratively includes a sequence and a plurality of pictures constituting the sequence.
  • (A) to (f) of FIG. 3 respectively show a sequence layer that defines a sequence SEQ, a picture layer that defines a picture PICT, a slice layer that defines a slice S, a slice data layer that defines slice data, and a slice data.
  • Coding Unit CU
  • sequence layer In the sequence layer, a set of data referred to by the image decoding device 31 for decoding a sequence SEQ to be processed (hereinafter also referred to as a target sequence) is defined.
  • the sequence SEQ includes a video parameter set (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an additional extension.
  • Information SEI Supplemental Enhancement Information
  • # indicates the layer ID.
  • FIG. 3 shows an example in which encoded data of # 0 and # 1, that is, layer 0 and layer 1, exists.
  • the video parameter set VPS is a set of encoding parameters common to a plurality of moving images, a plurality of layers included in the moving image, and encoding parameters related to individual layers in a moving image composed of a plurality of layers.
  • a set is defined.
  • the sequence parameter set SPS defines a set of encoding parameters that the image decoding device 31 refers to in order to decode the target sequence. For example, the width and height of the picture are defined.
  • a set of encoding parameters referred to by the image decoding device 31 in order to decode each picture in the target sequence is defined.
  • a quantization width reference value (pic_init_qp_minus26) used for picture decoding and a flag (weighted_pred_flag) indicating application of weighted prediction are included.
  • a plurality of PPS may exist. In that case, one of a plurality of PPSs is selected from each picture in the target sequence.
  • Picture layer In the picture layer, a set of data referred to by the image decoding device 31 for decoding a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in FIG. 3B, the picture PICT includes slices S0 to SNS-1 (NS is the total number of slices included in the picture PICT).
  • slice layer In the slice layer, a set of data referred to by the image decoding device 31 for decoding the slice S to be processed (also referred to as a target slice) is defined. As shown in FIG. 3C, the slice S includes a slice header SH and slice data SDATA.
  • the slice header SH includes a coding parameter group that the image decoding device 31 refers to in order to determine a decoding method of the target slice.
  • the slice type designation information (slice_type) that designates the slice type is an example of an encoding parameter included in the slice header SH.
  • I slice using only intra prediction at the time of encoding (2) P slice using unidirectional prediction or intra prediction at the time of encoding, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding may be used.
  • the slice header SH may include a reference (pic_parameter_set_id) to the picture parameter set PPS included in the sequence layer.
  • the slice data layer a set of data referred to by the image decoding device 31 in order to decode the slice data SDATA to be processed is defined.
  • the slice data SDATA includes a coded tree block (CTB).
  • the CTB is a fixed-size block (for example, 64 ⁇ 64) constituting a slice, and may be referred to as a maximum coding unit (LCU).
  • the coding tree layer defines a set of data referred to by the image decoding device 31 in order to decode a coding tree block to be processed.
  • the coding tree unit is divided by recursive quadtree division.
  • a tree-structured node obtained by recursive quadtree partitioning is called a coding tree.
  • An intermediate node of the quadtree is a coded tree unit (CTU), and the coded tree block itself is also defined as the highest CTU.
  • the CTU includes a split flag (split_flag). When the split_flag is 1, the CTU is split into four coding tree units CTU.
  • the coding tree unit CTU is divided into four coding units (CU: Coded Unit).
  • the coding unit CU is a terminal node of the coding tree layer and is not further divided in this layer.
  • the encoding unit CU is a basic unit of the encoding process.
  • the size of the coding unit CU is any of 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels. Can take.
  • the encoding unit layer defines a set of data referred to by the image decoding device 31 in order to decode the processing target encoding unit.
  • the encoding unit includes a CU header CUH, a prediction unit (prediction unit), a conversion tree, and a CU header CUF.
  • the CU header CUH it is defined whether the coding unit is a unit using intra prediction or a unit using inter prediction.
  • the encoding unit indicates a residual prediction index iv_res_pred_weight_idx indicating a weight used for residual prediction (or whether or not to perform residual prediction), and illuminance indicating whether or not illuminance compensation prediction is used.
  • a compensation flag ic_flag is included.
  • the encoding unit is the root of a prediction unit (PU) and a transform tree (TT).
  • the CU header CUF is included between the prediction unit and the conversion tree or after the conversion tree.
  • the encoding unit is divided into one or a plurality of prediction blocks, and the position and size of each prediction block are defined.
  • the prediction block is one or a plurality of non-overlapping areas constituting the coding unit.
  • the prediction unit includes one or a plurality of prediction blocks obtained by the above-described division.
  • Prediction processing is performed for each prediction block.
  • a prediction block that is a unit of prediction is also referred to as a prediction unit. More specifically, since prediction is performed in units of color components, hereinafter, blocks for each color component, such as a luminance prediction block and a color difference prediction block, are referred to as prediction blocks, and blocks of multiple color components (luminance prediction blocks). A block and a color difference prediction block) are collectively called a prediction unit.
  • a block whose index cIdx (colour_component Idx) indicating a color component type is 0 indicates a luminance block (predicted luminance block) (usually displayed as L or Y), and a block whose cIdx is 1 or 2 is Cb,
  • the Cr color difference block (color difference prediction block) is shown.
  • Intra prediction is prediction within the same picture
  • inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
  • the division method is encoded by the encoded data division mode part_mode.
  • a prediction block whose division mode is asymmetric division is also referred to as an AMP block. Since the number of divisions is one of 1, 2, and 4, PUs included in the CU are 1 to 4. These PUs are expressed as PU0, PU1, PU2, and PU3 in order.
  • 4 (a) to 4 (h) specifically show the positions of the PU partition boundaries in the CU for each partition mode.
  • FIG. 4A shows a 2N ⁇ 2N division mode in which no CU is divided.
  • FIGS. 4B and 4E show the shapes of partitions when the division modes are 2N ⁇ N and N ⁇ 2N, respectively.
  • FIG. 4H shows the shape of the partition when the division mode is N ⁇ N.
  • the numbers assigned to the respective regions indicate the region identification numbers, and the regions are processed in the order of the identification numbers. That is, the identification number represents the scan order of the area.
  • a specific value of N is defined by the size of the CU to which the PU belongs, and specific values of nU, nD, nL, and nR are determined according to the value of N.
  • 32 ⁇ 32 pixel CUs are 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, 32 ⁇ 16 pixels, 32 ⁇ 8 pixels, 32 ⁇ 24 pixels, 8 ⁇ 32 pixels, and 24 ⁇ 32. It can be divided into prediction blocks for inter prediction of pixels.
  • the encoding unit is divided into one or a plurality of transform blocks, and the position and size of each transform block are defined.
  • the transform block is one or a plurality of non-overlapping areas constituting the encoding unit.
  • the conversion tree includes one or a plurality of conversion blocks obtained by the above division.
  • the division in the transformation tree includes the one in which an area having the same size as that of the encoding unit is assigned as the transformation block, and the one in the recursive quadtree division like the above-described division in the tree block.
  • a transform block that is a unit of transformation is also referred to as a transform unit (TU).
  • TT information TTI is information related to TT included in the CU.
  • the TT information TTI is a set of information regarding each of one or a plurality of TUs included in the TT, and is referred to when the moving image decoding apparatus 1 decodes residual data.
  • a TU may be referred to as a conversion block.
  • the TT information TTI includes TT division information SP_TU that designates a division pattern of the target CU into each conversion block, and TU information TUI 1 to TUI NT (NT is the total number of conversion blocks included in the target CU). .
  • TT division information SP_TU is information for determining the shape and size of each TU included in the target CU and the position in the target CU.
  • the TT division information SP_TU can be realized from information (split_transform_unit_flag) indicating whether or not the target node is divided and information (trafoDepth) indicating the depth of the division.
  • the TU partition information SP_TU includes information on whether or not a non-zero conversion coefficient exists in each TU.
  • non-zero coefficient existence information CBF; CodedCodeBlock Flag
  • CBF relating to luminance luma is called cbf_luma
  • CBF relating to color difference Cb is called cbf_cb
  • CBF relating to color difference Cr is called cbf_cr.
  • non-zero coefficient existence information also referred to as rqt_root_flag,, or no_residual_data_flag
  • prediction residual DC information representing an average (DC) value of the prediction residual is obtained for each region or regions in the TU.
  • An SDC flag sdc_flag indicating whether or not to perform encoding is included.
  • DC coding by region is also called Segment-wiseSDC Coding (SDC).
  • SDC Segment-wiseSDC Coding
  • DC coding by region in intra prediction is called intra SDC
  • DC coding by region in inter prediction is called inter SDC.
  • the prediction image of the prediction unit is derived by a prediction parameter associated with the prediction unit.
  • the prediction parameters include a prediction parameter for intra prediction or a prediction parameter for inter prediction.
  • prediction parameters for inter prediction inter prediction (inter prediction parameters) will be described.
  • the inter prediction parameter includes prediction use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and vectors mvL0 and mvL1.
  • the prediction use flags predFlagL0 and predFlagL1 are flags indicating whether or not reference picture lists called L0 list and L1 list are used, respectively, and a reference picture list corresponding to a value of 1 is used.
  • the prediction use flag information can also be expressed by an inter prediction identifier inter_pred_idc described later. Normally, a prediction use flag is used in a prediction image generation unit and a prediction parameter memory, which will be described later, and an inter prediction identifier inter_pred_idc is used when decoding information about which reference picture list is used from encoded data. .
  • Syntax elements for deriving inter prediction parameters included in the encoded data include, for example, a partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector flag mvp_LX_flag, and a difference There is a vector mvdLX.
  • LX is a description method used when L0 prediction and L1 prediction are not distinguished. By replacing LX with L0 and L1, parameters for the L0 list and parameters for the L1 list are distinguished (the same applies hereinafter).
  • refIdxL0 is a reference picture index used for L0 prediction
  • refIdxL1 is a reference picture index used for L1 prediction
  • refIdx (refIdxLX) is a notation used when refIdxL0 and refIdxL1 are not distinguished.
  • FIG. 5 is a conceptual diagram showing an example of the reference picture list RefPicListX.
  • the reference picture list RefPicListX five rectangles arranged in a line on the left and right indicate reference pictures, respectively.
  • the codes P1, P2, Q0, P3, and P4 shown in order from the left end to the right are codes indicating respective reference pictures.
  • P such as P1 indicates the viewpoint P
  • Q of Q0 indicates a viewpoint Q different from the viewpoint P.
  • the subscripts P and Q indicate the picture order number POC.
  • a downward arrow directly below refIdxLX indicates that the reference picture index refIdxLX is an index that refers to the reference picture Q0 in the reference picture memory 306.
  • FIG. 6 is a conceptual diagram illustrating an example of a reference picture.
  • the horizontal axis indicates the display time
  • the vertical axis indicates the viewpoint.
  • the rectangles shown in FIG. 6 with 2 rows and 3 columns (6 in total) indicate pictures.
  • the rectangle in the second column from the left in the lower row indicates a picture to be decoded (target picture), and the remaining five rectangles indicate reference pictures.
  • a reference picture Q0 indicated by an upward arrow from the target picture is a picture that has the same display time as the target picture and a different viewpoint (view ID). In the displacement prediction based on the target picture, the reference picture Q0 is used.
  • a reference picture P1 indicated by a left-pointing arrow from the target picture is a past picture at the same viewpoint as the target picture.
  • a reference picture P2 indicated by a right-pointing arrow from the target picture is a future picture at the same viewpoint as the target picture. In motion prediction based on the target picture, the reference picture P1 or P2 is used.
  • >> is a right shift
  • is a left shift. Therefore, as the inter prediction parameter, the prediction use flags predFlagL0 and predFlagL1 may be used, or the inter prediction identifier inter_pred_idc may be used.
  • the determination using the prediction usage flags predFlagL0 and predFlagL1 may be replaced with the inter prediction identifier inter_pred_idc.
  • the determination using the inter prediction identifier inter_pred_idc can be replaced with the prediction use flags predFlagL0 and predFlagL1.
  • the prediction parameter decoding (encoding) method includes a merge mode and an AMVP (Adaptive Motion Vector Prediction) mode.
  • the merge flag merge_flag is a flag for identifying these.
  • the prediction parameter of the target PU is derived using the prediction parameter of the already processed block.
  • the merge mode is a mode that uses the prediction parameter already derived without including the prediction use flag predFlagLX (inter prediction identifier inter_pred_idc), the reference picture index refIdxLX, and the vector mvLX in the encoded data.
  • the AMVP mode is an inter prediction identifier.
  • inter_pred_idc reference picture index refIdxLX
  • vector mvLX are included in the encoded data.
  • the vector mvLX is encoded as a prediction vector flag mvp_LX_flag indicating a prediction vector and a difference vector (mvdLX).
  • Inter prediction identifier inter_pred_idc is data indicating the type and number of reference pictures, and takes one of the values Pred_L0, Pred_L1, and Pred_BI.
  • Pred_L0 and Pred_L1 indicate that reference pictures stored in reference picture lists called an L0 list and an L1 list are used, respectively, and that both use one reference picture (single prediction).
  • Prediction using the L0 list and the L1 list are referred to as L0 prediction and L1 prediction, respectively.
  • Pred_BI indicates that two reference pictures are used (bi-prediction), and indicates that two reference pictures stored in the L0 list and the L1 list are used.
  • the prediction vector flag mvp_LX_flag is an index indicating a prediction vector
  • the reference picture index refIdxLX is an index indicating a reference picture stored in the reference picture list.
  • the merge index merge_idx is an index that indicates whether one of the prediction parameter candidates (merge candidates) derived from the processed block is used as a prediction parameter of the prediction unit (target block).
  • the vector mvLX includes a motion vector and a displacement vector (disparity vector).
  • a motion vector is a positional shift between the position of a block in a picture at a certain display time of a layer and the position of the corresponding block in a picture of the same layer at a different display time (for example, an adjacent discrete time). It is a vector which shows.
  • the displacement vector is a vector indicating a positional shift between the position of a block in a picture at a certain display time of a certain layer and the position of a corresponding block in a picture of a different layer at the same display time.
  • the pictures in different layers may be pictures from different viewpoints or pictures with different resolutions.
  • a displacement vector corresponding to pictures of different viewpoints is called a disparity vector.
  • a vector mvLX A prediction vector and a difference vector related to the vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively.
  • Whether the vector mvLX and the difference vector mvdLX are motion vectors or displacement vectors is determined using a reference picture index refIdxLX associated with the vectors.
  • FIG. 7 is a schematic diagram illustrating a configuration of the image decoding device 31 according to the present embodiment.
  • the image decoding device 31 includes a variable length decoding unit 301, a prediction parameter decoding unit 302, a reference picture memory (reference image storage unit, frame memory) 306, a prediction parameter memory (prediction parameter storage unit, frame memory) 307, a prediction image generation unit 308, an inverse quantization / inverse DCT unit 311, an adder 312, and a depth DV derivation unit 351 (not shown).
  • the prediction parameter decoding unit 302 includes an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304.
  • the predicted image generation unit 308 includes an inter predicted image generation unit 309 and an intra predicted image generation unit 310.
  • the variable length decoding unit 301 performs entropy decoding on the encoded stream Te input from the outside, and separates and decodes individual codes (syntax elements).
  • the separated codes include prediction information for generating a prediction image and residual information for generating a difference image.
  • FIG. 16 is a diagram showing a syntax configuration of the sequence parameter set extension sps_3d_extension.
  • the sequence parameter set extension sps_3d_extension is a part of the sequence parameter set, and is included in the sequence parameter set when the extension flag sps_3d_extension_flag of the default sequence parameter set is 1.
  • the texture depth common parameters are the inter-view prediction flag iv_mv_pred_flag [d] and the inter-view scaling flag iv_mv_scaling_flag [d], and the texture parameters are the sub-block size log2_sub_pb_size_minus3 [d], the residual prediction flag iv_res_pred_flag [ d], depth refinement flag depth_refinement_flag [d], view synthesis prediction flag view_synthesis_pred_flag [d], depth base block division flag depth_based_blk_part_flag [d].
  • the texture depth common parameters are the inter-view prediction flag iv_mv_pred_flag [d] and the inter-view scaling flag iv_mv_scaling_flag [d], and the depth parameter is the motion parameter inheritance flag mpi_flag [d], the motion parameter inheritance sub-block Size log2_mpi_sub_pb_size_minus3 [d], intra contour partition flag intra_contour_flag [d], intra SDC wedge partition flag intra_sdc_wedge_flag [d], quadtree partition prediction flag qt_pred_flag [d], inter SDC flag inter_sdc_tra ].
  • variable length decoding unit 301 configured as described above is a parameter used for a texture picture, and is common to texture and depth.
  • Parameters and texture parameters (sub-block size log2_sub_pb_size_minus3 [d], residual prediction flag iv_res_pred_flag [d], depth refinement flag depth_refinement_flag [d], view synthesis prediction flag view_synthesis_pred_flag [d], depth-based block division flag depth_flag_part [] Only can be decrypted.
  • the texture present flag 3d_sps_param_present_flag [0] is 0 and the depth present flag 3d_sps_param_present_flag [1] is 1
  • the texture depth common parameter which is a parameter used for the depth picture, and the depth parameter (motion parameter inheritance flag) mpi_flag [d]
  • d] only the intra single mode flag intra_single_flag [d]) can be decoded.
  • the sequence parameter set extension sps_3d_extension has parameters related to both texture and depth, so the texture parameter and depth picture can refer to the same sequence parameter set to set on / off of both the texture and depth tools. . Conversely, one sequence parameter can be referenced (shared) between the texture picture and the depth picture. Sharing such a parameter set is called parameter set sharing. Conversely, although description is omitted in the present invention, in the case of a sequence parameter set having only texture or depth only parameters, one sequence parameter set cannot be shared between the texture picture and the depth picture.
  • variable-length decoding unit 301 determines, based on the value of the parameter (syntax element) decoded above, an inter-view prediction flag IvMvPredFlag, an inter-view scaling flag IvMvScalingFlag, and a residual prediction flag IvResPredFlag, which are on / off flags of each extended tool.
  • View synthesis prediction flag ViewSynthesisPredFlag depth base block partition flag DepthBasedBlkPartFlag, depth refinement flag DepthRefinementFlag, motion parameter inheritance flag MpiFlag, intra contour partition flag IntraContourFlag, intra SDC wedge partition flag IntraSdcWedgeFlag, quad tree partition prediction flag QtPredSlag, An intra single prediction flag IntraSingleFlag and a disparity derivation flag DisparityDerivationFlag are derived.
  • an on / off flag is derived from the syntax element so that the on / off flag of the extension tool is set to 1 only when the layer ID of the target layer is larger than 0 so that an unexpected operation does not occur in the decoding device. (The on / off flag is derived so that the depth / texture extension tool becomes 1 only when the depth / texture exists), but the value of the syntax element may be directly used as the on / off flag.
  • a depth coding tool that performs block prediction by dividing a region using a wedgelet pattern derived from a wedgelet pattern table is derived from DMM1 prediction (wedgelet division prediction) and texture pixel values.
  • a depth coding tool that performs block prediction by dividing a region using a wedgelet pattern is called DMM4 prediction (contour division prediction).
  • the intra SDC wedge division flag IntraSdcWedgeFlag is a flag for controlling whether or not to use a DMM1 prediction (wedgelet division prediction) tool, and the intra contour division flag IntraContourFlag uses a DMM4 prediction (contour division prediction) tool. It is a flag that controls whether or not.
  • IvMvPredFlag (nuh_layer_id> 0) && NumRefListLayers [nuh_layer_id]> 0 && iv_mv_pred_flag [DepthFlag]
  • IvMvScalingFlag (nuh_layer_id> 0) && iv_mv_scaling_flag [DepthFlag]
  • SubPbSize 1 ⁇ (nuh_layer_id> 0?
  • Iv_mv_pred_flag when iv_mv_pred_flag [DepthFlag] is 0, IvMvPredFlag is 0, when iv_mv_scaling_flag [DepthFlag] is 0, IvMvScalingFlag is 0, and when iv_res_pred_flag [DepthFlag] is 0, If ViewSynthesisPredFlag is 0, depth_based_blk_part_flag [DepthFlag] is 0, DepthBasedBlkPartFlag is 0, depth_refinement_flag [DepthFlag] is 0, DepthRefinementFlag is mpi_flag [DepthFlag] is 0 IntraContourFlag is 0 when 0, IntraSdcWedgeFlag is 0 when intra_sdc_wedge_flag [DepthFlag] is 0, QtPredFlag is 0 when qt_pred_flag [DepthF
  • the decoding apparatus that decodes parameters (syntax elements) corresponding to each value of the loop coefficient d from 0 to 1 in the parameter set corresponds to each loop variable d.
  • Present flag 3d_sps_param_present_flag [k] indicating whether or not a parameter (syntax element) to be present exists in the parameter set (sequence parameter set extension), and when present flag 3d_sps_param_present_flag [d] is 1, the loop variable d
  • the parameter (syntax element) corresponding to is decoded.
  • the image decoding device 31 When the variable length decoding unit 301 decodes a syntax group corresponding to each value of the loop coefficient d from 0 to 1 in the parameter set, the image decoding device 31 according to the present embodiment has a syntax corresponding to each loop variable d.
  • the present flag 3d_sps_param_present_flag [k] is 1, a syntax group corresponding to the loop variable d is decoded.
  • the tool used in the texture picture can be turned on / off with the present flag 3d_sps_param_present_flag [0], and the tool used with the texture picture can be turned on / off independently using the present flag 3d_sps_param_present_flag [1].
  • variable length decoding unit 301 included in the image decoding device 31 decodes a syntax group indicating on / off of a tool, and decodes a parameter according to a loop variable d from 0 to 1, when d is 0.
  • the on / off flag of the texture extension tool is decoded.
  • the variable length decoding unit 301 decodes at least the view synthesis prediction flag view_synthesis_pred_flag when d is 0, and decodes at least the intra SDC wedge division flag intra_sdc_wedge_flag when d is 1.
  • the texture picture refers to the parameter set referenced by the texture
  • the depth picture refers to the parameter set used by the depth, the texture picture or depth picture It is possible to decode parameters used only in the above.
  • FIG. 25 shows a syntax configuration of the parameter set of the comparative example.
  • the parameters used in the texture picture, the depth picture since there is no present flag 3d_sps_param_present_flag [d] corresponding to each loop variable d, the parameters used in the texture picture, the depth picture, even in the parameter set used (referenced) only in the texture picture In this case, both parameters used in the above are required to be decoded, and a wasteful code amount is generated in the parameters used in the depth picture.
  • the parameter is used only for the texture picture, the parameter used for the depth picture exists in the encoded data, and decoding will cause unnecessary confusion.
  • the decoding device has a problem that an extra storage memory for holding parameters that are eventually unnecessary is required.
  • the variable length decoding unit 301 outputs a part of the separated code to the prediction parameter decoding unit 302.
  • Some of the separated codes are, for example, prediction mode PredMode, split mode part_mode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, difference vector mvdLX, residual prediction index iv_res_pred_weight_idx, illumination compensation flag ic_flag, depth intra extended non-use flag dim_not_present_flag, depth intra prediction mode flag depth_intra_mode_flag, wedge pattern index wedge_full_tab_idx, and the like.
  • variable length decoding unit 301 outputs the quantized coefficient to the inverse quantization / inverse DCT unit 311.
  • This quantization coefficient is a coefficient obtained by performing quantization and performing DCT (Discrete Cosine Transform) on the residual signal in the encoding process.
  • the variable length decoding unit 301 outputs the depth DV conversion table DepthToDisparityB to the depth DV deriving unit 351.
  • BitDepthY indicates the bit depth of the pixel value corresponding to the luminance signal, and takes, for example, 8 as the value.
  • the prediction parameter decoding unit 302 receives a part of the code from the variable length decoding unit 301 as an input.
  • the prediction parameter decoding unit 302 decodes the prediction parameter corresponding to the prediction mode indicated by the prediction mode PredMode that is a part of the code.
  • the prediction parameter decoding unit 302 outputs the prediction mode PredMode and the decoded prediction parameter to the prediction parameter memory 307 and the prediction image generation unit 308.
  • the inter prediction parameter decoding unit 303 decodes the inter prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the variable length decoding unit 301.
  • the inter prediction parameter decoding unit 303 outputs the decoded inter prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307. Details of the inter prediction parameter decoding unit 303 will be described later.
  • the intra prediction parameter decoding unit 304 decodes the intra prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the variable length decoding unit 301.
  • the intra prediction parameter is a parameter used in a process of predicting a picture block within one picture, for example, an intra prediction mode IntraPredMode.
  • the intra prediction parameter decoding unit 304 outputs the decoded intra prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307.
  • the reference picture memory 306 stores the decoded picture block recSamples generated by the adding unit 312 at the position of the decoded picture block.
  • the prediction parameter memory 307 stores the prediction parameter in a predetermined position for each decoding target picture and block. Specifically, the prediction parameter memory 307 stores the inter prediction parameter decoded by the inter prediction parameter decoding unit 303, the intra prediction parameter decoded by the intra prediction parameter decoding unit 304, and the prediction mode PredMode separated by the variable length decoding unit 301. To do.
  • the stored inter prediction parameters include, for example, a prediction use flag predFlagLX, a reference picture index refIdxLX, and a vector mvLX.
  • the prediction image generation unit 308 receives the prediction mode PredMode and the prediction parameter from the prediction parameter decoding unit 302. Further, the predicted image generation unit 308 reads a reference picture from the reference picture memory 306. The prediction image generation unit 308 generates prediction picture blocks predSamples (prediction images) using the input prediction parameter and the read reference picture in the prediction mode indicated by the prediction mode PredMode.
  • the inter prediction image generation unit 309 uses the inter prediction parameters input from the inter prediction parameter decoding unit 303 and the read reference pictures to perform prediction picture block predSamples by inter prediction. Is generated.
  • the prediction picture block predSamples corresponds to the prediction unit PU.
  • the PU corresponds to a part of a picture composed of a plurality of pixels as a unit for performing the prediction process as described above, that is, a target block on which the prediction process is performed at a time.
  • the inter predicted image generation unit 309 is located at the position indicated by the vector mvLX with reference to the prediction unit from the reference picture RefPicListLX [refIdxLX] indicated by the reference picture index refIdxLX.
  • a reference picture block is read from the reference picture memory 306.
  • the inter prediction image generation unit 309 performs motion compensation on the read reference picture block to generate prediction picture blocks predSamplesLX.
  • the inter prediction image generation unit 309 further generates prediction picture blocks predSamples by weighted prediction from the prediction picture blocks predSamplesL0 and predSamplesL1 derived from the reference pictures in each reference picture list, and outputs the prediction picture blocks predSamples to the addition unit 312.
  • the intra predicted image generation unit 310 When the prediction mode PredMode indicates the intra prediction mode, the intra predicted image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the reference picture memory 306, a reference picture block that is a decoding target picture and is in a predetermined range from a prediction unit among blocks that have already been processed.
  • the predetermined range is, for example, the range of adjacent blocks on the left, upper left, upper, and upper right, and differs depending on the intra prediction mode.
  • the intra predicted image generation unit 310 performs prediction in the prediction mode indicated by the intra prediction mode IntraPredMode for the read reference picture block, generates predicted picture block predSamples, and outputs the prediction picture block predSamples to the adding unit 312.
  • the inverse quantization / inverse DCT unit 311 inversely quantizes the quantization coefficient input from the variable length decoding unit 301 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 311 performs inverse DCT (Inverse Discrete Cosine Transform) on the obtained DCT coefficient to calculate a decoded residual signal.
  • the inverse quantization / inverse DCT unit 311 outputs the calculated decoded residual signal to the adder 312.
  • the addition unit 312 performs pixel value processing on the prediction picture block predSamples input from the inter prediction image generation unit 309 and the intra prediction image generation unit 310 and the signal value resSamples of the decoded residual signal input from the inverse quantization / inverse DCT unit 311 for each pixel.
  • the adder 312 outputs the generated decoded picture block recSamples to the reference picture memory 306.
  • the decoded picture block is integrated for each picture.
  • a loop filter such as a deblocking filter and an adaptive offset filter is applied to the decoded picture.
  • the decoded picture is output to the outside as a decoded layer image Td.
  • variable length decoding unit 301 decodes sdc_flag when sdcEnableFlag is 1 as indicated by SYN00 in FIG.
  • decoding of the flag sdc_flag indicating whether to enable the SDC mode is controlled according to the depth on / off flags InterSdcFlag and IntraSdcWedgeFlag derived from the depth syntax elements inter_sdc_flag and intra_sdc_wedge_flag of the sequence parameter set extension.
  • inter_sdc_flag and intra_sdc_wedge_flag are 0, sdc_flag is not decoded and the SDC mode is invalid.
  • inter_sdc_flag and intra_sdc_wedge_flag are 1, if the picture is depth and depth is available, InterSdcFlag and IntraSdcWedgeFlag are 1, and sdc_flag is decoded when 2Nx2N.
  • the variable length decoding unit 301 decodes the intra prediction mode extension intra_mode_ext () in the case of IntraSdcWedgeFlagedge
  • IntraContourFlag when at least one of IntraSdcWedgeFlag and IntraContourFlag is 1), as indicated by SYN01 in FIG.
  • IntraSdcWedgeFlag is a flag (DMM1 prediction mode availability flag) indicating whether or not DMM1 prediction is possible in the depth encoding tool
  • IntraContourFlag is a flag indicating whether or not DMM4 prediction is possible.
  • the intra prediction mode extension intra_mode_ext () according to the depth on / off flags IntraSdcWedgeFlag and IntraContourFlag derived from inter_sdc_flag and intra_contour_flag that are parameters (syntax elements) used in the depth picture of the sequence parameter set extension Is controlled.
  • IntraSdcWedgeFlag and IntraContourFlag are both 0, intra prediction mode extension intra_mode_ext () is not decoded. In this case, DMM1 prediction and DMM4 prediction are not performed.
  • IntraSdcWedgeFlag 0 and IntraContourFlag is 1, the syntax element related to DMM1 in the intra prediction mode extension intra_mode_ext () is not decoded. In this case, no DMM1 prediction is performed.
  • IntraContourFlag 0 and IntraSdcWedgeFlag is 1, the syntax element related to DMM4 in the intra prediction mode extension intra_mode_ext () is not decoded. In this case, DMM4 prediction is not performed.
  • the variable length decoding unit 301 decodes the depth intra extended non-use flag dim_not_present_flag (SYN01A in FIG. 17B).
  • the value of the flag is estimated to be 1 (the depth intra extension is not performed).
  • dim_not_present_flag is a flag indicating the presence / absence of depth intra prediction.
  • the intra prediction mode numbers “0” to “34” that are conventional intra prediction schemes in the target PU.
  • variable length decoding unit 301 does not decode the depth intra prediction mode flag depth_intra_mode_flag for the target PU (not in the encoded data). Further, when dim_not_present_flag is 0, it indicates that depth intra extension is used, and the variable length decoding unit 301 decodes the depth intra prediction mode flag depth_intra_mode_flag.
  • variable length decoding unit 301 further decodes depth_intra_mode_flag and derives the depth intra mode DepthIntraMode of the target PU by the following equation.
  • DepthIntraMode [x0] [y0] dim_not_present_flag [x0] [y0]? -1: depth_intra_mode_flag [x0] [y0]
  • DepthIntraMode is -1
  • prediction other than extended prediction here, Angular prediction, DC prediction, Planar prediction
  • the wedgelet stored in the wedgelet pattern table A flag indicating DMM1 prediction (INTRA_DEP_WEDGE, INTRA_WEDGE) that performs region division according to a pattern, and DMM4 prediction (INTRA_DEP_CONTOUR, INTRA_CONTOUR) that performs region division according to a texture contour in the case of 1.
  • the variable length decoding unit 301 does not perform DMM prediction, and therefore sets the depth intra mode DepthIntraMode to -1 and the depth intra extension non-use flag is 0.
  • the depth intra prediction mode flag depth_intra_mode_flag shown in SYN01B of FIG. 17 is decoded, and depth_intra_mode_flag is set in DepthIntraMode.
  • DepthIntraMode [x0] [y0] dim_not_present_flag [x0] [y0]?
  • the intra extended prediction parameter intra_mode_ext () decoded by the variable length decoding unit 301 is not limited to the configuration illustrated in FIG. 17, and may be the configuration illustrated in FIG. 18.
  • FIG. 18 shows a modification of the intra extended prediction parameter intra_mode_ext ().
  • variable length decoding unit 301 When decoding a modified example of the intra extended prediction parameter intra_mode_ext (), the variable length decoding unit 301 is (! Dim_not_present_flag [x0] [y0] && IntraSdcWedgeFlag && IntraContourFlag), that is, dim_not_present_flag is 0 and IntraSdcWedgeFlag is 1, When IntraContourFlag is 1, depth_intra_mode_flag is decoded from the encoded data.
  • depth_intra_mode_flag does not exist in the encoded data, and the variable-length decoding unit 301 does not decode from the encoded data.
  • the value is derived by the following formula based on IntraSdcWedgeFlag and IntraContourFlag.
  • variable length decoding unit 301 may derive the depth_intra_mode_flag based on IntraSdcWedgeFlag using the following formula.
  • variable length decoding unit 301 may derive the depth_intra_mode_flag based on IntraContourFlag using the following formula.
  • variable length decoding unit 301 may derive the depth_intra_mode_flag based on IntraSdcWedgeFlag and IntraContourFlag using the following formula.
  • depth_intra_mode_flag [x0] [y0] IntraContourFlag? 1: (IntraSdcWedgeFlag? 0: -1)
  • the variable length decoding unit 301 may derive the depth_intra_mode_flag by the following formula based on the IntraSdcWedgeFlag and the IntraContourFlag.
  • the flag depth_intra_mode_flag for determining the mode is redundant.
  • variable length decoding unit 301 of the modification described with reference to FIG. 18 does not decode depth_intra_mode_flag in the encoded data when either one of IntraSdcWedgeFlag and IntraContourFlag is 1, and thus has the effect of omitting redundant code decoding. Play.
  • the variable length decoding unit 301 of the modified example performs the logical operation of IntraSdcWedgeFlag and IntraContourFlag (or the logical operation of IntraSdcWedgeFlag, or IntraContourFlag without decoding the encoded data when depth_intra_mode_flag does not exist in the encoded data. ),
  • the value of depth_intra_mode_flag can be derived.
  • DepthIntraMode can be derived even when depth_intra_mode_flag does not exist in the encoded data.
  • DepthIntraMode (depth_intra_mode_flag) used in the decoding process does not become an indefinite value, and in the worst case, the risk of performing an undefined operation that causes the process to crash is prevented. There is an effect.
  • variable length decoding unit 301 may derive DepthIntraMode using one of the following equations.
  • DepthIntraMode [x0] [y0] dim_not_present_flag [x0] [y0]? -1: (IntraContourFlag && IntraSdcWedgeFlag?
  • DepthIntraMode [x0] [y0] dim_not_present_flag [x0] [y0]? -1: (IntraContourFlag? 1: (IntraSdcWedgeFlag?
  • DepthIntraMode can be derived from the logical operation of (1) or the logical operation of IntraContourFlag). As a result, even when depth_intra_mode_flag does not exist in the encoded data, DepthIntraMode used for the decoding process does not become an indefinite value, and in the worst case, there is an effect of preventing the risk of performing an undefined operation that causes the process to crash. .
  • the image decoding apparatus 31 includes the variable length decoding unit 301 that decodes IntraSdcWedgeFlag, IntraContourFlag, dim_not_present_flag, and depth_intra_mode_flag, and the DMM prediction unit 145T that performs DMM prediction.
  • the variable length decoding unit 301 may derive the depth_intra_mode_flag from the logical operation of!
  • IntraSdcWedgeFlag
  • the pre-variable length decoding unit 301 has a dim_not_present_flag of 0, an IntraSdcWedgeFlag of 1,
  • IntraContourFlag is 1, depth_intra_mode_flag may be decoded from the encoded data, and DepthIntraMode may be derived from the logical expression of dim_not_present_flag, IntraContourFlag, IntraSdcWedgeFlag, and dim_not_present_flag.
  • the variable length decoding unit 301 sets a prediction mode number (INTRA_WEDGE) indicating DMM1 prediction to the prediction mode predModeIntra. Further, the wedge pattern index wedge_full_tab_idx that specifies the wedge pattern indicating the division pattern in the PU is decoded. Further, the DMM flag DmmFlag is set to 1. When the DMM flag is 1, it indicates that DMM1 prediction is used, and when it is 0, it indicates that DMM4 prediction is used.
  • the variable length decoding unit 301 sets a prediction mode number (INTRA_CONTOUR) indicating DMM1 prediction to the prediction mode predModeIntra. Further, the DMM flag DmmFlag is set to 0.
  • the variable length decoding unit 301 decodes the MPM flag mpm_flag indicating whether the intra prediction mode of the target PU matches the estimated prediction mode MPM.
  • the flag indicates that the intra prediction mode of the target PU matches the estimated prediction mode MPM.
  • the prediction mode numbers “0” to “34” DC prediction, Planar prediction, Angular Among any prediction, this indicates any prediction mode except the estimated prediction mode MPM.
  • variable length decoding unit 301 further decodes the MPM index mpm_idx designating the estimated prediction mode MPM, and sets the estimated prediction mode indicated by the mpm_idx to the prediction mode predModeIntra.
  • variable length decoding unit 301 further decodes an index rem_idx for designating a prediction mode other than the MPM, and a prediction mode number excluding the estimated prediction mode MPM identified from the rem_idx ' Any prediction mode number in 0 'to' 34 '(DC prediction, Planar prediction, or Angular prediction) is set to the prediction mode predModeIntra.
  • the variable length decoding unit 301 further includes a DC offset information decoding unit 111 (not shown), and the DC offset information decoding unit 111 decodes the DC offset information included in the target CU.
  • the DC offset information decoding unit 111 derives a CU DC offset information presence / absence flag cuDepthDcPresentFlag indicating the presence / absence of DC offset information in the target CU by the following equation.
  • cuDepthDcPresentFlag (sdc_flag
  • the intra-CU DC offset information presence / absence flag is 1, it indicates that DC offset information can exist in the target CU.
  • the flag is 0, it indicates that no DC offset information exists in the target CU.
  • the DC offset information decoding unit 111 corrects the depth prediction value of the region divided into one or more in the PU for each PU in the target CU. DC offset information is decoded.
  • the DC offset information decoding unit 111 derives an intra-PU DC offset information presence / absence flag puDepthDcPresentFlag indicating whether or not DC offset information related to the target PU can exist.
  • puDepthDcPresentFlag (DepthIntraMode
  • the DC offset information flag in PU is 1, it indicates that DC offset information can exist in the target PU, and when the flag is 0, it indicates that DC offset information does not exist in the target PU.
  • the DC offset information decoding unit 111 derives the number of divided areas dcNumSeg of the target PU based on the DMM flag of the target PU by the following formula.
  • dcNumSeg DmmFlag? 2: 1 That is, when the DMM flag is 1, the number of divided areas dcNumSeg of the target PU is set to 2, and when the DMM flag is 0, dcNumSeg is set to 1.
  • the DC offset information decoding unit 111 based on DC offset information (DC offset information presence / absence flag depth_dc_flag, DC offset absolute value depth_dc_abs [i], DC offset code depth_dc_sign_flag [i]), and the number of divided regions dcNumSeg
  • DcOffset [i] ! Depth_dc_offset_flag?
  • the derivation formula of the DC offset value is not limited to the above, and can be changed within a practicable range.
  • the DC offset value may be derived from the following equation.
  • DcOffset [i] (1-2 * depth_dc_sign_flag [i]) * (depth_dc_abs [i] + dcNumSeg-2) (Details of intra prediction image generation unit)
  • the configuration of the intra predicted image generation unit 310 will be described in more detail with reference to FIG.
  • FIG. 19 is a functional block diagram illustrating a configuration example of the intra predicted image generation unit 310. In addition, this structural example has illustrated the functional block which concerns on the prediction image production
  • FIG. 19 is a functional block diagram illustrating a configuration example of the intra predicted image generation unit 310. In addition, this structural example has illustrated the functional block which concerns on the prediction image production
  • the intra predicted image generation unit 310 includes a prediction unit setting unit 141, a reference pixel setting unit 142, a switch 143, a reference pixel filter unit 144, and a predicted image derivation unit 145.
  • the prediction unit setting unit 141 sets the PU included in the target CU as the target PU in a prescribed setting order, and outputs information about the target PU (target PU information).
  • the target PU information includes at least the size nS of the target PU, the position of the target PU in the CU, and the index (luminance color difference index cIdx) indicating the luminance or color difference plane of the target PU.
  • the switch 143 outputs the reference pixel to the corresponding output destination based on the luminance / color difference index cIdx and the prediction mode predModeIntra among the input target PU information. More specifically, the luminance color difference index cIdx is 0 (the pixel to be processed is luminance), and the prediction mode predModeIntra is 0 to 34 (the prediction mode is Planar prediction or DC prediction, Alternatively, when Angular prediction is performed (predModeIntra ⁇ 35), the switch 143 outputs the input reference pixel to the reference pixel filter unit 144.
  • the switch 143 outputs the input reference pixel to the predicted image deriving unit 145.
  • the reference pixel filter unit 144 applies a filter to the input reference pixel value, and outputs a reference pixel value after the filter application. Specifically, the reference pixel filter unit 144 determines whether to apply the filter according to the target PU size and the prediction mode predModeIntra.
  • the predicted image deriving unit 145 generates and outputs a predicted image predSamples of the target PU based on the input PU information (prediction mode predModeIntra, luminance color difference index cIdx, PU size nS) and the reference pixel p [x] [y]. To do. Detailed description of the predicted image deriving unit 145 will be described later.
  • the predicted image derivation unit 145 further includes a DC prediction unit 145D, a Planar prediction unit 145P, an Angular prediction unit 145A, and a DMM prediction unit 145T.
  • the predicted image derivation unit 145 selects a prediction method used for generating a predicted image based on the input prediction mode predModeIntra.
  • the selection of the prediction method is realized by selecting a prediction method corresponding to the prediction mode number of the input prediction mode predModeIntra based on the definition of FIG.
  • the predicted image deriving unit 145 derives a predicted image corresponding to the selection result of the prediction method. More specifically, the prediction image deriving unit 145, when the prediction method is Planar prediction, DC prediction, Angular prediction, and DMM prediction, respectively, Planar prediction unit 145P, DC prediction unit 145D, Angular prediction unit 145A, and A predicted image is derived by the DMM prediction unit 145T.
  • the DC prediction unit 145D derives a DC prediction value corresponding to the average value of the pixel values of the input reference pixels, and outputs a prediction image using the derived DC prediction value as a pixel value.
  • the Planar prediction unit 145P generates and outputs a prediction image based on pixel values derived by linearly adding a plurality of reference pixels according to the distance to the prediction target pixel.
  • the Angular prediction unit 145A generates and outputs a prediction image corresponding to the target PU using reference pixels in a prediction direction (reference direction) corresponding to the input prediction mode predModeIntra.
  • main reference pixels are set according to the value of the prediction mode predModeIntra, and the predicted image is generated with reference to the main reference pixels in units of lines or columns in the PU.
  • the DMM prediction unit 145T generates and outputs a prediction image corresponding to the target PU based on DMM prediction (also referred to as depth modeling mode or depth intra prediction) corresponding to the input prediction mode predModeIntra.
  • DMM prediction also referred to as depth modeling mode or depth intra prediction
  • the depth map is mainly characterized by having an edge region representing the object boundary and a flat region (almost constant depth value) representing the object area.
  • the target block is divided into two regions R0 and R1 along the edge of the object, and pattern information representing the region to which each pixel belongs.
  • a wedgelet pattern WedgePattern [x] [y] is derived.
  • Wedgelet pattern WedgePattern [x] [y] is a matrix with the size of the target block (target PU) width x height, and 0 or 1 is set for each element (x, y), and the target It indicates which of the two regions R0 and R1 each pixel of the block belongs to.
  • FIG. 21 is a functional block diagram showing a configuration example of the DMM prediction unit 145T. As shown in the figure, a DC predicted image deriving unit 145T1, a DMM1 wedgelet pattern deriving unit 145T2, and a DMM4 contour pattern deriving unit 145T3 are provided.
  • the DMM prediction unit 145T activates the wedgelet pattern generation means (DMM1 wedgelet pattern deriving unit, DMM4 contour pattern deriving unit) corresponding to the input prediction mode predModeIntra, and the wedgelet pattern wedgePattern [ x] [y] is generated. More specifically, when the prediction mode predModeIntra is the prediction mode number “35”, that is, in the INTRA_DEP_WEDG mode, the DMM1 wedgelet pattern deriving unit 145T2 is activated. On the other hand, when the prediction mode predModeIntra is the prediction mode number “36”, that is, in the INTRA_DEP_CONTOUR mode, the DMM4 contour pattern deriving unit 145T3 is activated. Thereafter, the DMM prediction unit 145T activates the DC prediction image derivation unit 145T1 to acquire a prediction image of the target PU.
  • DMM1 wedgelet pattern deriving unit, DMM4 contour pattern deriving unit corresponding to the input prediction mode predModeIn
  • the DC prediction image derivation unit 145T1 roughly divides the target PU into two regions based on the wedgelet pattern wedgePattern [x] [y] of the target PU, and inputs the PT information and the reference pixel p. Based on [x] [y], a prediction value related to the region R and a prediction value related to the region R1 are derived, and the prediction value derived for each region is set to the prediction image predSamples [x] [y] and is derived.
  • the DMM1 wedgelet pattern deriving unit 145T2 further includes a DMM1 wedgelet pattern table deriving unit 145T6, a buffer 145T5, and a wedgelet pattern table generating unit 145T4.
  • the DMM1 wedgelet pattern deriving unit 145T2 activates the wedgelet pattern table generation unit 145T4 only at the first activation, and generates a wedgelet pattern table WedgePatternTable for each block size.
  • the generated wedgelet pattern table is stored in the buffer 145T5.
  • the DMM1 wedgelet pattern table deriving unit 145T6 determines the wedgelet pattern wedgePattern [x] [x] from the wedgelet pattern table WedgePatternTable stored in the buffer 145T5 based on the input target PU size nS and the wedgelet pattern index wedge_full_tab_idx. y] is derived and output to the DC predicted image deriving unit 145T1.
  • the buffer 145T5 records a wedgelet pattern table WedgePatternTable for each block size supplied from the wedgelet pattern table generation unit 145T4.
  • [DMM1 wedgelet pattern table derivation unit 145T6] Based on the input target PU size nS and wedgelet pattern index wedge_full_tab_idx, the DMM1 wedgelet pattern table deriving unit 145T6 uses the wedgelet pattern table wedgePattern [ x] [y] is derived and output to the DC predicted image deriving unit 145T1.
  • log2 (nS) is a logarithmic value based on 2 of the target PU size nS.
  • the DMM4 contour pattern deriving unit 145T3 uses the wedgelet pattern wedgePattern [x] [y] indicating the division pattern of the target PU based on the decoded pixel value recTexPic of the luminance on the viewpoint image TexturePic corresponding to the target PU on the depth map DepthPic. And output to the DC predicted image derivation unit 145T1.
  • the DMM4 contour pattern deriving unit binarizes the two blocks R0 and R1 of the target PU on the depth map by the average value of the luminance of the target block on the corresponding viewpoint image TexturePic. It derives by that.
  • the DMM4 contour pattern deriving unit 145T3 reads, from the external frame memory 16, the luminance decoded pixel value recTextPic of the corresponding block on the viewpoint image TexturePic corresponding to the target PU from the external frame memory 16, and the reference pixel refSamples [x].
  • the threshold value threshVals is derived from the pixel values at the four corners of the corresponding block by the following equation.
  • threshVal (efSamples [0] [0] + refSamples [0] [nS-1] + refSamples [nS-1] [0] + refSamples [nS-1] [nS-1]) >> 2
  • the DMM4 contour pattern deriving unit 145T3 refers to the derived threshold value threshVal and the reference pixel refSamples [x] [y] to obtain a wedgelet pattern wedgePattern [x] [y] indicating the division pattern of the target PU as follows. Derived by the formula and output.
  • wedgePattern [x] [y] (refSamples [x] [y]> threshVal) That is, when the reference pixel refSamples [x] [y] is larger than the threshold value threshVal, 1 is set to the element (x, y) of the wedge pattern. When the reference pixel refSamples [x] [y] is equal to or less than the threshold value threshVal, 0 is set to the element (x, y) of the wedgelet pattern.
  • FIG. 8 is a schematic diagram illustrating a configuration of the inter prediction parameter decoding unit 303 according to the present embodiment.
  • the inter prediction parameter decoding unit 303 includes an inter prediction parameter decoding control unit 3031, an AMVP prediction parameter deriving unit 3032, an adding unit 3035, a merge mode parameter deriving unit 3036, and a displacement deriving unit 30363.
  • the inter prediction parameter decoding control unit 3031 instructs the variable length decoding unit 301 to decode a code related to inter prediction (syntax element decoding), and the code (syntax element) included in the encoded data is, for example, a division mode part_mode, Merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, difference vector mvdLX, residual prediction index iv_res_pred_weight_idx, illumination compensation flag ic_flag, DBBP flag dbbp_flag are extracted.
  • the unit 3031 expresses that a certain syntax element is extracted, it means that the variable length decoding unit 301 is instructed to decode a certain syntax element, and the corresponding syntax element is read from the encoded data.
  • the inter prediction parameter decoding control unit 3031 extracts the merge index merge_idx from the encoded data when the merge flag merge_flag is 1, that is, when the prediction unit is in the merge mode.
  • the inter prediction parameter decoding control unit 3031 outputs the extracted residual prediction index iv_res_pred_weight_idx, the illumination compensation flag ic_flag, and the merge index merge_idx to the merge mode parameter deriving unit 3036.
  • the inter prediction parameter decoding control unit 3031 uses the variable length decoding unit 301 to calculate the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the prediction vector. A flag mvp_LX_flag and a difference vector mvdLX are extracted.
  • the inter prediction parameter decoding control unit 3031 outputs the prediction use flag predFlagLX derived from the extracted inter prediction identifier inter_pred_idc and the reference picture index refIdxLX to the AMVP prediction parameter derivation unit 3032 and the prediction image generation unit 308, and also the prediction parameter memory 307 To remember.
  • the inter prediction parameter decoding control unit 3031 outputs the extracted prediction vector flag mvp_LX_flag to the AMVP prediction parameter derivation unit 3032 and outputs the extracted difference vector mvdLX to the addition unit 3035.
  • the inter prediction parameter decoding control unit 3031 decodes cu_skip_flag, pred_mode, and part_mode.
  • cu_skip_flag is a flag indicating whether or not the target CU is skipped.
  • PartMode is limited to 2N ⁇ 2N, and decoding of the split mode part_mode is omitted.
  • the division mode part_mode decoded from the encoded data is set to the division mode PredMode.
  • the inter prediction parameter decoding control unit 3031 includes a displacement vector (NBDV) derived at the time of deriving the inter prediction parameter, and a VSP mode flag VspModeFlag that is a flag indicating whether to perform view synthesis prediction (VSP, ViewSynthesisPrediction), It outputs to the inter estimated image generation part 309.
  • NBDV displacement vector
  • VspModeFlag VspModeFlag
  • FIG. 9 is a schematic diagram illustrating a configuration of the merge mode parameter deriving unit 3036 (predicted vector deriving device) according to the present embodiment.
  • the merge mode parameter derivation unit 3036 includes a merge candidate derivation unit 30361, a merge candidate selection unit 30362, and a bi-prediction restriction unit 30363.
  • the merge candidate derivation unit 30361 includes a merge candidate storage unit 303611, an extended merge candidate derivation unit 30370, and a basic merge candidate derivation unit 30380.
  • the merge candidate storage unit 303611 stores the merge candidates input from the extended merge candidate derivation unit 30370 and the basic merge candidate derivation unit 30380 in the merge candidate list mergeCandList.
  • the merge candidate includes a prediction usage flag predFlagLX, a vector mvLX, and a reference picture index refIdxLX, and may further include a VSP mode flag VspModeFlag, a displacement vector MvDisp, a layer IDRefViewIdx, and the like.
  • the merge candidates stored in the merge candidate list mergeCandList are associated with indexes 0, 1, 2,... N from the top candidate in the list.
  • FIG. 10 shows an example of the merge candidate list mergeCandList derived by the merge candidate deriving unit 30361.
  • the parentheses are nicknames of merge candidates, and in the case of spatial merge candidates, they correspond to the positions of reference blocks used for derivation.
  • join merge candidates join bi-predictive merge candidates
  • zero merge candidates zero motion merge candidates, zero motion merge vectors, and candidates
  • the extended merge candidate list extMergeCandList includes a texture merge candidate (T), an interview merge candidate (IV), a spatial merge candidate (A1), a spatial merge candidate (B1), a VSP merge candidate (VSP), and a spatial merge candidate (B0).
  • the parentheses are nicknames of merge candidates. Further, there are join merge candidates and zero merge candidates after that, but they are omitted in FIG. In the figure, the displacement shift merge candidate (DIShift) is omitted. Further, the depth merge candidate (D) may be added after the texture merge candidate after the extended merge candidate list.
  • the merge mode parameter derivation unit 3036 constructs a basic merge candidate list baseMergeCandidate [] and an extended merge candidate list extMergeCandidate [].
  • a configuration in which the merge candidate storage unit 303611 included in the merge mode parameter deriving unit 3036 constructs a list is shown, but the present invention is not limited to the merge candidate storage unit 303611.
  • the merge candidate derivation unit 30361 may derive not only individual merge candidates but also a merge candidate list.
  • the extended merge candidate list extMergeCandList and the basic merge candidate list baseMergeCandList are constructed by the following processing.
  • differentMotion (N, A 1 ))) extMergeCandList [i ++] A 1 if (availableFlagB 1 && (!
  • availableFlagN indicates whether or not the merge candidate N is available. 1 if available, 0 if not available.
  • differentMotion (N, M) is a function for identifying whether or not the merge candidate N and the merge candidate M have different motion information (prediction parameters), the prediction flag predFlag, the motion vector mvLX, the reference index refIdx is L0, When it differs in any of L1, that is, when one or more of the following conditions are satisfied, 1 is set and 0 is set otherwise.
  • the VSP candidate is an additional merge candidate list extMergeCandList except when the view synthesis prediction feasible availableFlagVSP is 1, the A1 availability flag is 1, and the VspModeFlag at the A1 position is 1.
  • the view synthesis prediction feasible availableFlagVSP is 1 only when one of the view_synthesis_pred_flag [DepthFlag] of the texture extension tool decoded from the sequence parameter set extension is 1 (when ViewSynthesisPredFlag is 1). Therefore, on / off of the tool, which is whether or not to use VSP that is viewpoint synthesis prediction for the merge candidate N, is controlled by view_synthesis_pred_flag.
  • the merge candidate selection unit 30362 selects, from the merge candidates stored in the merge candidate storage unit 303611, a merge candidate to which an index corresponding to the merge index merge_idx input from the inter prediction parameter decoding control unit 3031 is assigned. As an inter prediction parameter. That is, if the merge candidate list is mergeCandList, the prediction parameter indicated by mergeCandList [merge_idx] is selected and output to the bi-prediction restriction unit 30363.
  • the merge candidate selection unit 30362 refers to the VSP mode flag VspModeFlag of the adjacent block and determines whether or not the merge candidate N is the VSP. Further, the VSP mode flag VspModeFlag at the position of the target block is set for reference in subsequent blocks. Specifically, when the view synthesis prediction feasible availableFlagVSP is 1, N is the spatial merge candidate A1, and the adjacent block A1 is VSP (VspModeFlag [xPb-1] [yPb + nPbH-1] is 1), The target block merge candidate N is set to VSP.
  • view synthesis prediction feasible availableFlagVSP is set by the on / off flag of the texture extension tool decoded from the sequence parameter set extension, on / off of the tool whether or not to use the VSP that is the view synthesis prediction as the merge candidate N is Controlled by view_synthesis_pred_flag.
  • VspModeFlag indicating whether it is a merge candidate at the position of the target block is set to 1.
  • the inter-view merge candidate has the same POC as the target picture identified by the later-described displacement vector deriving unit 352 in the inter-layer merge candidate deriving unit 30371 (inter-view merge candidate deriving unit), and has a different view ID (refViewIdx). It is derived by reading a prediction parameter such as a motion vector from the reference block of the reference picture ivRefPic. This process is called an inter-view motion candidate derivation process.
  • the inter-layer merge candidate derivation unit 30371 refers to a reference picture prediction parameter (such as a motion vector) of a layer different from the target picture (viewpoint different from the target picture), and performs an interview Merge candidate IV and interview shift merge candidate IVShift are derived.
  • a reference picture prediction parameter such as a motion vector
  • the inter-layer merge candidate derivation unit 30371 sets the upper left coordinates of the block to (xPb, yPb), the block width and height to nPbW, nPbH, and the displacement vector derived from the displacement vector derivation unit 352 to (mvDisp [0], mvDisp In the case of [1]), the reference coordinates (xRef, yRef) are derived from the following formula, and the interview merge candidate IV is derived.
  • xRefIVFull xPb + (nPbW >> 1) + ((mvDisp [0] + 2) >> 2)
  • yRefIVFull yPb + (nPbH >> 1) + ((mvDisp [1] + 2) >> 2)
  • xRefIV Clip3 (0, PicWidthInSamplesL-1, (xRefIVFull >> 3) ⁇ 3)
  • yRefIV Clip3 (0, PicHeightInSamplesL-1, (yRefIVFull >> 3) ⁇ 3)
  • the inter-layer merge candidate derivation unit 30371 is the horizontal direction of the disparity vector converted to the integer precision of the target block.
  • the inter-layer merge candidate derivation unit 30371 clips the intermediate coordinates (xRef, yRef) within the screen size (PicWidthInSamplesL, PicHeightInSamplesL), and then performs 3 bits on the right and 3 bits on the left.
  • M 8
  • M 8
  • M 8
  • M 16
  • xRef Clip3 (0, PicWidthInSamplesL-1, (xRefFull >> 4) ⁇ 4)
  • yRef Clip3 (0, PicHeightInSamplesL-1, (yRefFull >> 4) ⁇ 4)
  • the inter-layer merge candidate derivation unit 30371 sets the upper left coordinates of the block to (xPb, yPb), the width and height of the block to nPbW, nPbH, and the displacement vector derived from the displacement vector derivation unit 352 to (mvDisp [0], mvDisp [1]), the reference coordinates (xRef, yRef) are derived from the following equations to derive the interview shift merge candidate IVShift.
  • xRefIVShiftFull xPb + (nPbW + K) + ((mvDisp [0] + 2) >> 2)
  • yRefIVShiftFull yPb + (nPbH + K) + ((mvDisp [1] + 2) >> 2)
  • xRefIVShift Clip3 (0, PicWidthInSamplesL-1, (xRefIVShiftFull >> 3) ⁇ 3)
  • yRefIVShift Clip3 (0, PicHeightInSamplesL-1, (yRefIVShiftFull >> 3) ⁇ 3)
  • K is a constant from M-8 to M-1 when the reference position limit is a multiple of M.
  • variable offsetBLFlag which is 1 for the inter-view merge candidate (IV) and 0 for the inter-view shift merge candidate (IVShift) may be derived using the following equation.
  • xRefFull xPb + (offsetBLFlag? (nPbW + K): (nPbW >> 1) + ((mvDisp [0] + 2) >> 2))
  • yRefFull yPb + (offsetBLFlag?
  • xRef Clip3 (0, PicWidthInSamplesL-1, (xRefFull >> 4) ⁇ 4)
  • yRef Clip3 (0, PicHeightInSamplesL-1, (yRefFull >> 4) ⁇ 4) Since constant K is a reference position restriction when M is 16, K is a constant from M-8 to M-1, and K is a constant from 8 to 15.
  • FIG. 1 is a diagram illustrating the position of the interview merge candidate IV (xRefIV, yRefIV) and the position of the interview shift merge candidate IVShift (xRefIVShift, yRefIVShift) according to the present embodiment.
  • the position of the inter-view merge candidate IV (xRefIV, yRefIV) is the position obtained by adding only the normalized disparity vector to the position (xPb, yPb) of the target block, and the half of the block size (nPbW / 2, It is derived from a position (xRefIVFull, yRefIVFull) obtained by adding a displacement (nPbW >> 1, nPbH >> 1) corresponding to nPbH / 2).
  • the position (xRefIVShift, yRefIVShift) of the inter-view shift merge candidate IVShift is added to the block size by a predetermined constant at the position obtained by adding the normalized disparity vector to the position (xPb, yPb) of the target block. It is derived from the position (xRefIVShiftFull, yRefIVShiftFull) added by the displacement (nPbW + K, nPbH + K).
  • the inter-layer merge candidate derivation unit 30371 uses the inter-view motion candidate derivation unit 3037111 to further calculate the inter-view merge candidate IV from the motion vectors located at the derived reference block coordinates (xRefIV, yRefIV), (xRefIVShift, yRefIVShift). Then, a motion vector of the inter-view shift merge candidate IVShift is derived.
  • both the inter-view merge candidate IV and the inter-view merge shift candidate IVShift are the same normalized disparity vectors (IV ( ⁇ mvDisp [0] + 2) >> 2), (mvDisp [ 1] + 2) >> 2)) is used, so that the processing is easy.
  • FIG. 15 is a diagram for explaining the necessity of the constant K.
  • nPbW and the disparity vector MvDisp [0] are changed with respect to K from ⁇ 1 to 4
  • M 8
  • block size nPbW and disparity vector MvDisp [0] may be replaced with nPbH and MvDisp [1].
  • the inter-view merge candidate reference position xRefIV is often equal to the inter-view shift merge candidate reference position xRefIVShift.
  • the inter-view merge candidate reference position xRefIV and the inter-view shift merge candidate reference position xRefIVShift are equal only when the disparity vector vector MvDisp [0] is small.
  • the position in the vertical direction when the parallax vector is almost 0 but not necessarily 0 Can be set to the same position in the inter-view merge candidate reference position and the inter-view shift merge candidate.
  • the inter-layer merge candidate derivation unit 30371 derives an inter-view motion candidate (not shown) based on each reference block position (xRef, yRef) for each of the inter-view merge candidate IV and the inter-view shift merge candidate IVShift.
  • an inter-view motion candidate derivation process is performed.
  • the inter-view motion candidate derivation unit 3037111 derives the upper left coordinates of the prediction unit (luminance prediction block) on the reference picture ivRefPic including the coordinates indicated by the reference block position (xRef, yRef) as (xIvRefPb, yIvRefPb).
  • the inter-view motion candidate derivation unit 3037111 performs prediction unit on the reference picture ivRefPic for the index i from 0 to the reference picture list element number ⁇ 1 (num_ref_idx_lX_active_minus1).
  • PicOrderCnt (RefPicListLYIvRef [refIdxLYIvRef [xIvRefPb] [yIvRefPb]]) that is the POC of the current picture and PicOrderCnt (RefPicListLX [i]) that is the POC of the reference picture of the target prediction unit are equal (that is, mvLYIvRef When xIvRefPb] [yIvRefPb] is a displacement vector), the predictable flag availableFlagLXInterView, the vector mvLXInterView, and the reference picture index refIdxLX are derived by the following equations.
  • prediction parameters may be assigned in units of sub-blocks obtained by further dividing the prediction unit. For example, when the width and height of the prediction unit are nPbW and nPbH, and the minimum size of the subblock is SubPbSize, the width nSbW and the height nSbH of the subblock are derived by the following equations.
  • the reference picture index spRefIdxLX [xBlk] [yBlk] and the prediction usage flag spPredFlagLX [xBlk] [yBlk] are derived.
  • (xBlk, yBlk) are relative coordinates in the prediction unit of the sub-block (coordinates based on the upper left coordinate of the prediction unit), and from 0 (nPbW / nSbW-1), 0 to (nPbH / nSbH Takes an integer value of-1). If the coordinates of the prediction unit are (xPb, yPb) and the relative coordinates (xBlk, yBlk) in the prediction unit of the sub-block, the coordinates in the picture of the sub-block are (xPb + xBlk * nSbW, yPb + yBlk * nSbH) Expressed.
  • the in-picture coordinates (xPb + xBlk * nSbW, yPb + yBlk * nSbH) of the sub-block, the width nSbW and the height nSbH of the sub-block are input to the inter-view motion candidate derivation unit 3037111 (xPb, yPb), nPbW, nPbH
  • the inter-view motion candidate derivation process is performed on a sub-block basis.
  • the inter-view motion candidate derivation unit 3037111 corresponds to the sub-block from the inter-merge candidate vector mvLXInterView, the reference picture index refIdxLXInterView, and the prediction usage flag availableFlagLXInterView for the sub-block for which the predictable flag availableFlagLXInterView is 0.
  • a vector spMvLX, a reference picture index spRefIdxLX, and a prediction use flag spPredFlagLX are derived by the following equations.
  • xBlk and yBlk are sub-block addresses and take values from 0 to (nPbW / nSbW-1) and from 0 to (nPbH / nSbH-1), respectively.
  • the inter-view motion candidate derivation unit 3037111 is derived by performing the inter-view motion candidate derivation process.
  • the inter-view motion candidate deriving unit 303711 included in the merge mode parameter deriving unit 1121 (prediction vector deriving device) of the present embodiment uses an inter-block motion flag as an offsetFlag for controlling the reference position.
  • an inter-block motion flag as an offsetFlag for controlling the reference position.
  • the depth merge candidate D is derived by a depth merge candidate derivation unit (not shown) in the extended merge candidate derivation unit 30370.
  • the depth merge candidate D predicts the depth value dispDerivedDepthVal obtained by converting the displacement mvLXD [xRef] [yRef] [0] of the prediction block of the coordinates (xRef, yRef) input from the displacement derivation unit 30363 by the following equation: It is a merge candidate as a pixel value of an image.
  • DispToDepthF DispToDepthF (refViewIdx, dispVal)
  • DispToDepthF (X, Y) is a function for deriving a depth value from the displacement Y when a picture with a view index X is used as a reference picture.
  • FIG. 24 is a diagram for explaining the position (xRefIV, yRefIV) of the inter-view merge candidate IV and the position (xRefIVShift, yRefIVShift) of the inter-view shift merge candidate IVShift of the comparative example.
  • the disparity vector mvDisp of the target block is corrected with the sizes nPbW and nPbH of the target block as the reference position of the inter-view shift merge candidate IVShift, and the following disparity vectors Derives mvDisp ⁇ .
  • mvDisp ⁇ [0] mvDisp [0] + nPbW * 2 + 4 + 2
  • mvDisp ⁇ [1] mvDisp [1] + nPbH * 2 + 4 + 2
  • the reference block position (xRef, yRef) is derived by the following equation using the modified disparity vector mvDisp ′.
  • xRefFull xPb + (nPbW >> 1) + ((mvDisp [0] + 2) >> 2)
  • yRefFull yPb + (nPbH >> 1) + ((mvDisp [1] + 2) >> 2)
  • xRef Clip3 (0, PicWidthInSamplesL-1, (xRefFull >> 3) ⁇ 3)
  • yRef Clip3 (0, PicHeightInSamplesL-1, (yRefFull >> 3) ⁇ 3) (Effect of merge mode parameter deriving unit of this embodiment)
  • the position of the target block without deriving the reference block position (xRef, yRef) from the target block sizes nPbW and nPb and the modified disparity vector. Further, since the reference block position (xRef, yRef) is directly derived from the disparity vector mvDisp and the
  • the reference position is normalized to a multiple of M
  • the direct reference block position (xRef, yRef) is derived.
  • the reference block position (xRef, yRef) of the inter-view shift merge candidate IV is also obtained when the process of normalizing the reference position to a multiple of 8 is performed, such as performing the left 3-bit shift after the right 3-bit shift.
  • the reference block position (xRef, yRef) of the inter-view shift merge candidate IVShift is different. Therefore, there is an effect that the two merge candidates can be differentiated.
  • the displacement merge candidate derivation unit 30373 derives a displacement merge candidate (DI) and a shift displacement merge candidate (DIShift) from the displacement vector input from the displacement vector derivation unit 352. Based on the input displacement vector (mvDisp [0], mvDisp [1]), the displacement merge candidate derivation unit 30373 converts a vector whose horizontal component is mvDisp [0] and whose vertical component is 0 into a displacement merge candidate ( DI) is generated by the following equation.
  • DepthFlag is a variable that is 1 for depth and 0 for texture.
  • the displacement merge candidate derivation unit 30373 stores the generated vector and the reference picture index refIdxLX of the previous layer image pointed to by the displacement vector (for example, the index of the base layer image having the same POC as the decoding target picture) as a merge candidate. Output to the unit 303611.
  • the displacement merge candidate derivation unit 30373 derives, as a shift displacement merge candidate (DI), a merge candidate having a vector obtained by shifting the displacement merge candidate in the horizontal direction by the following expression.
  • DI shift displacement merge candidate
  • VSP merge candidate The VSP merge candidate derivation unit 30374 (hereinafter, VSP prediction unit 30374) derives a VSP (View Synthesis Prediction) merge candidate when the view synthesis prediction flag ViewSynthesisPredFlag is 1. That is, the view synthesis prediction feasible availableFlagVSP is derived by the following formula, and the VSP merge candidate is derived only when the availableFlagVSP is 1, and the VSP merge candidate is not derived when the availableFlagVSP is 0. AvailableFlagVSP is set to 0 when one or more of the following conditions (1) to (5) are satisfied.
  • the VSP prediction unit 30374 divides the prediction unit into a plurality of sub-blocks (sub-prediction units), and sets the vector mvLX, the reference picture index refIdxLX, and the view ID RefViewIdx for each divided sub-block.
  • the VSP prediction unit 30374 outputs the derived VSP merge candidate to the merge candidate storage unit 303611.
  • the partition division unit (not shown) of the VSP prediction unit 30374 selects either a horizontally long rectangle (here 8 ⁇ 4) or a vertically long rectangle (here 4 ⁇ 8) according to the partition flag horSplitFlag derived by the partition flag deriving unit 353.
  • the sub-block size is determined by selection. Specifically, the sub-block width nSubBlkW and height nSubBlkH are set using the following equations.
  • a depth vector deriving unit (not shown) of the VSP prediction unit 30374 converts the motion vector disparitySampleArray [] derived from the depth DV deriving unit 351 into the horizontal component motion vector mvLX [ A vector mvLX [] is derived using 0], 0 as a vertical component motion vector mvLX [1], and a prediction parameter of a VSP merge candidate is derived.
  • the VSP prediction unit 30374 controls whether or not to add the VSP merge candidate to the merge candidate list mergeCandList according to the residual prediction index iv_res_pred_weight_idx and the illumination compensation flag ic_flag input from the inter prediction parameter decoding control unit 3031. Also good. Specifically, the VSP prediction unit 30374 may add the VSP merge candidate to the elements of the merge candidate list mergeCandList only when the residual prediction index iv_res_pred_weight_idx is 0 and the illumination compensation flag ic_flag is 0.
  • the basic merge candidate derivation unit 30380 includes a spatial merge candidate derivation unit 30382, a temporal merge candidate derivation unit 30382, a merge merge candidate derivation unit 30383, and a zero merge candidate derivation unit 30384.
  • the basic merge candidate is a merge candidate used in the base layer, that is, a merge candidate used in HEVC (for example, HEVC main profile) instead of scalable, and includes at least one of a spatial merge candidate and a temporal merge candidate.
  • the spatial merge candidate derivation unit 30381 reads the prediction parameters (prediction usage flag predFlagLX, vector mvLX, reference picture index refIdxLX) stored in the prediction parameter memory 307 according to a predetermined rule, and uses the read prediction parameters as spatial merge candidates. To derive. Prediction parameters to be read are predictions related to each of adjacent blocks that are blocks within a predetermined range from the prediction unit (for example, all or a part of blocks that touch the lower left end, the upper left end, and the upper right end of the prediction unit, respectively). It is a parameter.
  • the derived spatial merge candidate is stored in the merge candidate storage unit 303611.
  • VSP mode flag VspModeFlag is set to 0 for merge candidates derived by the time merge candidate derivation unit 30382, the merge merge candidate derivation unit 30383, and the zero merge candidate derivation unit 30384.
  • the temporal merge candidate derivation unit 30382 reads out the prediction parameter of the block in the reference image including the lower right coordinates of the prediction unit from the prediction parameter memory 307 and sets it as a merge candidate.
  • the reference image can be specified by using, for example, the collocated picture col_ref_idx specified by the slice header and the reference picture index refIdxLX specified by RefPicListX [col_ref_idx] specified by the reference picture list RefPicListX. It is stored in the merge candidate storage unit 303611.
  • the merge merge candidate derivation unit 30383 derives a merge merge candidate by combining two different derived merge candidate vectors and reference picture indexes that have already been derived and stored in the merge candidate storage unit 303611 as L0 and L1 vectors, respectively. To do.
  • the derived merge candidates are stored in the merge candidate storage unit 303611.
  • the zero merge candidate derivation unit 30384 derives merge candidates whose reference picture index refIdxLX is i and whose X component and Y component of the vector mvLX are both 0 until the number of derived merge candidates reaches the maximum value.
  • the value of i indicating the reference picture index refIdxLX is assigned in order from 0.
  • the derived merge candidates are stored in the merge candidate storage unit 303611.
  • the AMVP prediction parameter derivation unit 3032 reads a vector stored in the prediction parameter memory 307 based on the reference picture index refIdx, and generates a vector candidate list mvpListLX.
  • the AMVP prediction parameter derivation unit 3032 selects the vector mvpListLX [mvp_lX_flag] indicated by the prediction vector flag mvp_LX_flag as the prediction vector mvpLX from the vector candidates mvpListLX.
  • the AMVP prediction parameter derivation unit 3032 adds the prediction vector mvpLX and the difference vector mvdLX input from the inter prediction parameter decoding control unit to calculate the vector mvLX, and outputs the vector mvLX to the prediction image generation unit 308.
  • the inter prediction parameter decoding control unit 3031 includes a partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector flag mvp_LX_flag, a difference vector mvdLX, a prediction unit including L0 prediction (PRED_L0), Inter prediction identifiers inter_pred_idc indicating L1 prediction (PRED_L1) and bi-prediction (PRED_BI) are decoded.
  • partition mode part_mode includes a partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector flag mvp_LX_flag, a difference vector mvdLX, a prediction unit including L0 prediction (PRED_L0), Inter prediction
  • the residual prediction index decoding unit uses the variable length decoding unit 301 to set a residual prediction flag IvResPredFlag to 1, and a reference picture usage flag RpRefPicAvailFlag to indicate that a reference picture used for residual prediction is present in the DPB.
  • a residual prediction flag IvResPredFlag 1
  • a reference picture usage flag RpRefPicAvailFlag to indicate that a reference picture used for residual prediction is present in the DPB.
  • the coding unit CU is inter prediction (CuPredMode [x0] [y0] is other than intra prediction)
  • the partition mode PartMode (part_mode) of the coding unit CU is 2Nx2N
  • the residual prediction index from the coded data. Decode iv_res_pred_weight_idx.
  • the residual prediction index decoding unit sets (infers) 0 to iv_res_pred_weight_idx.
  • the residual prediction flag IvResPredFlag 1
  • the residual prediction index iv_res_pred_weight_idx is 0 without being decoded from the encoded data.
  • Residual prediction flag IvResPredFlag can control on / off of residual prediction, which is a texture expansion tool.
  • the residual prediction index decoding unit outputs the decoded residual prediction index iv_res_pred_weight_idx to the merge mode parameter derivation unit 3036 and the inter prediction image generation unit 309.
  • the residual prediction index is a parameter for changing the operation of residual prediction. In this embodiment, it is an index indicating the weight of residual prediction, and takes values of 0, 1, and 2. When iv_res_pred_weight_idx is 0, residual prediction is not performed. Note that the vector used for residual prediction may be changed instead of changing the weight of residual prediction according to the index. Instead of the residual prediction index, a flag (residual prediction flag) indicating whether to perform residual prediction may be used.
  • the illuminance compensation flag decoding unit uses the variable length decoding unit 301 to decode the illuminance compensation flag ic_flag from the encoded data when the division mode PartMode is 2Nx2N. In other cases, the illuminance compensation flag decoding unit sets (infers) 0 to ic_flag. The illuminance compensation flag decoding unit outputs the decoded illuminance compensation flag ic_flag to the merge mode parameter derivation unit 3036 and the inter predicted image generation unit 309.
  • the displacement vector deriving unit 352, the division flag deriving unit 353, and the depth DV deriving unit 351 which are means used for deriving the prediction parameters, will be described in order.
  • the displacement vector deriving unit 352 stores the displacement vector (hereinafter referred to as MvDisp [x] [y] or mvDisp [x] [y]) of the encoding unit (target CU) to which the target PU belongs to the encoding unit. From adjacent blocks temporally or temporally. Specifically, a block Col that is temporally adjacent to the target CU, a second block AltCol that is temporally adjacent, a block A1 that is spatially adjacent to the left, and a block B1 that is adjacent to the top are used as reference blocks. A block prediction flag predFlagLX, a reference picture index refIdxLX, and a vector mvLX are extracted in order.
  • the displacement vector deriving unit 352 When the extracted vector mvLX is a displacement vector, the displacement vector of the adjacent block is output. If there is no displacement vector in the prediction parameter of the adjacent block, the prediction parameter of the next adjacent block is read and the displacement vector is derived in the same manner. If displacement vectors cannot be derived in all adjacent blocks, a zero vector is output as a displacement vector.
  • the displacement vector deriving unit 352 also outputs a reference picture index and a view ID (RefViewIdx [x] [y], where (xP, yP) are coordinates) of the block from which the displacement vector is derived.
  • the displacement vector obtained as above is called NBDV (Neighbour Base Base Disparity Vector).
  • the displacement vector deriving unit 352 further outputs the obtained displacement vector NBDV to the depth DV deriving unit 351.
  • the depth DV deriving unit 351 derives a displacement vector disparitySampleArray derived from depth.
  • the displacement vector is updated by using the displacement vector disparitySampleArray as a horizontal vector mvLX [0] of the motion vector as a displacement vector.
  • DoNBDV Depth Orientated Neighbour Base Disparity Vector
  • the displacement vector deriving unit 352 outputs the displacement vector (DoNBDV) to the inter-layer merge candidate deriving unit 30371, the displacement merge candidate deriving unit 30373, and the VSP merge candidate deriving unit 30374. Further, the obtained displacement vector (NBDV) is output to the inter predicted image generation unit 309.
  • the division flag deriving unit 353 refers to the depth image corresponding to the target block and derives the division flag horSplitFlag. The following description will be made assuming that the coordinates of the target block set as the input of the division flag deriving unit 353 are (xP, yP), the width and height are nPSW, nPSH, and the displacement vector is mvDisp.
  • the division flag deriving unit 353 refers to the depth image when the width and height of the target block are equal, but when the width and height of the target block are not equal, the division flag deriving unit 353 refers to the division flag without referring to the depth image. Deriving horSplitFlag may be derived. Details of the division flag deriving unit 353 will be described below.
  • the division flag deriving unit 353 reads, from the reference picture memory 306, a depth image refDepPels that has the same POC as the decoding target picture and has the same view ID as the view ID (RefViewIdx) of the reference picture indicated by the displacement vector mvDisp.
  • the division flag deriving unit 353 derives coordinates (xTL, yTL) obtained by shifting the upper left coordinates (xP, yP) of the target block by the displacement vector MvDisp by the following formula.
  • xTL xP + ((mvDisp [0] + 2) >> 2)
  • yTL yP + ((mvDisp [1] + 2) >> 2)
  • mvDisp [0] and mvDisp [1] are the X component and the Y component of the displacement vector MvDisp, respectively.
  • the derived coordinates (xTL, yTL) indicate the coordinates of the block corresponding to the target block on the depth image refDepPels.
  • (nPSH% 8! 0)
  • the split flag deriving unit 353 determines that the horSplitFlag is 1 when the height of the target block is not a multiple of 8 (when nPSH% 8 is true), and In this case, 0 is set.
  • horSplitFlag 1
  • target block width is other than a multiple of 8 (when nPSW% 8 is true) Is set to 0 in horSplitFlag.
  • the division flag deriving unit 353 derives the sub block size from the depth value.
  • the sub-block size is derived from the comparison of the four points (TL, TR, BL, BR) at the corners of the prediction block.
  • the flag minSubBlkSizeFlag is 0, the pixel value of the depth image of the upper left (TL) coordinates of the target block is refDepPelsP0, the pixel value of the upper right end (TR) is refDepPelsP1, the pixel value of the lower left end (BL) is refDepPelsP2, and the lower right end
  • the split flag derivation unit 353 outputs horSplitFlag to the VSP prediction unit 30374.
  • the division flag deriving unit 353 may derive as follows. When the width nPSW and the height nPSH of the target block are different, it is derived by the following formula according to the width and height of the target block.
  • the target block of the division flag deriving unit 353 is a prediction unit in the case of viewpoint synthesis prediction, and a block having the same width and height in the case of DBBP. In the case of DBBP, since the width and the height are equal, in the above derivation method, the division flag horSplitFlag is derived with reference to the four corners of the depth image.
  • the depth DV deriving unit 351 derives disparity arrays disparitySamples (horizontal vectors), which are horizontal components of depth-derived displacement vectors, in designated block units (sub-blocks).
  • the input of the depth DV derivation unit 351 includes the depth DV conversion table DepthToDisparityB, the block width nBlkW and height nBlkH, the split flag splitFlag, the depth image refDepPels, and the coordinates (xTL, yTL) of the corresponding block on the depth image refDepPels.
  • View IDrefViewIdx output is disparity array disparitySamples (horizontal vector).
  • the depth DV deriving unit 351 sets a pixel to be used for deriving the depth representative value maxDep for each target block. Specifically, when the relative coordinates from the prediction block (xTL, yTL) at the upper left of the target block are (xSubB, ySubB), the X coordinate xP0 at the left end of the sub block, the X coordinate xP1 at the right end, and the upper end The Y coordinate yP0 and the Y coordinate yP1 of the lower end are obtained from the following equations.
  • xP0 Clip3 (0, pic_width_in_luma_samples-1, xTL + xSubB)
  • yP0 Clip3 (0, pic_height_in_luma_samples-1, yTL + ySubB)
  • xP1 Clip3 (0, pic_width_in_luma_samples-1, xTL + xSubB + nBlkW-1)
  • yP1 Clip3 (0, pic_height_in_luma_samples-1, yTL + ySubB + nBlkH-1)
  • pic_width_in_luma_samples and pic_height_in_luma_samples represent the width and height of the image, respectively.
  • the depth DV deriving unit 351 derives the depth representative value maxDep of the target block. Specifically, pixel values refDepPels [xP0] [yP0], refDepPels [xP0] [yP1], refDepPels [xP1] [yP0], refDepPels [xP1] [yP1] [yP1 ], The representative depth value maxDep is derived from the following equation.
  • the function Max (x, y) is a function that returns x if the first argument x is greater than or equal to the second argument y, and returns y otherwise.
  • the depth DV deriving unit 351 uses the representative depth value maxDep, the depth DV conversion table DepthToDisparityB, and the view ID refViewIdx of the layer indicated by the displacement vector (NBDV) to target the disparity array disparitySamples that is the horizontal component of the displacement vector derived from the depth. For each pixel (x, y) in the block (where x is a value from 0 to nBlkW-1, and y is a value from 0 to nBlkH-1), it is derived by the following equation.
  • the depth DV deriving unit 351 outputs the derived parallax array disparitySamples [] to the displacement vector deriving unit 352 as the displacement vector DoNBDV (a horizontal component thereof).
  • the depth DV deriving unit 351 also outputs the displacement vector (the horizontal component thereof) to the VSP prediction unit 30374.
  • FIG. 11 is a schematic diagram illustrating a configuration of the inter predicted image generation unit 309 according to the present embodiment.
  • the inter predicted image generation unit 309 includes a motion displacement compensation unit 3091, a residual prediction unit 3092, an illuminance compensation unit 3093, and a weighted prediction unit 3096.
  • the inter prediction image generation unit 309 performs processing in units of subblocks when the subblock motion compensation flag subPbMotionFlag input from the inter prediction parameter decoding unit 303 is 1, and performs prediction when the subblock motion compensation flag subPbMotionFlag is 0. The following processing is performed for each unit.
  • the sub-block motion compensation flag subPbMotionFlag is set to 1 when the inter-view merge candidate is selected as the merge mode or when the VSP merge candidate is selected.
  • the inter prediction image generation unit 309 derives prediction images predSamples using the motion displacement compensation unit 3091 based on the prediction parameters.
  • the inter predicted image generation unit 309 sets the residual prediction execution flag resPredFlag to 1 indicating that residual prediction is to be performed, and the motion displacement compensation unit 3091 The result is output to the difference prediction unit 3092.
  • the residual prediction execution flag resPredFlag is set to 0 and output to the motion displacement compensation unit 3091 and the residual prediction unit 3092.
  • the L0 motion compensation image predSamplesL0 or the L1 motion compensation image predSamplesL1 is derived.
  • L0 motion compensated images predSamplesL0 and L1 motion compensated images predSamplesL1 are derived and output to the weighted prediction unit 3096.
  • the weighted prediction unit 3096 derives a predicted image predSamples from one motion compensated image predSamplesL0 or predSamplesL1 in the case of uni-prediction, and calculates a predicted image predSamples from two two motion compensated images predSamplesL0 and predSamplesL1 in the case of bi-prediction. To derive.
  • the motion displacement compensation unit 3091 generates a motion prediction image predSampleLX based on the prediction use flag predFlagLX, the reference picture index refIdxLX, and the vector mvLX (motion vector or displacement vector).
  • the motion displacement compensation unit 3091 reads out a block at a position shifted by the vector mvLX from the reference picture memory 306, starting from the position of the prediction unit of the reference picture specified by the reference picture index refIdxLX, and interpolates the predicted image. Generate.
  • a prediction image is generated by applying a filter called a motion compensation filter (or displacement compensation filter) for generating a pixel at a decimal position.
  • the vector mvLX is a motion vector
  • the above process is called motion compensation
  • the vector mvLX is a displacement vector
  • it is collectively referred to as motion displacement compensation
  • the prediction image of L0 prediction is referred to as predSamplesL0
  • the prediction image of L1 prediction is referred to as predSamplesL1. If the two are not distinguished, they are called predSamplesLX.
  • These output images are also referred to as prediction images predSamplesLX.
  • the input image is expressed as predSamplesLX and the output image is expressed as predSamplesLX ′.
  • the motion displacement compensation unit 3091 When the residual prediction execution flag resPredFlag is 0, the motion displacement compensation unit 3091 generates a motion compensated image predSamplesLX by using a motion compensation filter having 8 taps for the luminance component and 4 taps for the chrominance component.
  • the residual prediction execution flag resPredFlag When the residual prediction execution flag resPredFlag is 1, a motion compensation image predSamplesLX is generated by a 2-tap motion compensation filter for both the luminance component and the chrominance component.
  • the motion displacement compensation unit 3091 performs motion compensation in units of sub-blocks. Specifically, a vector of sub-blocks of coordinates (xCb, yCb), a reference picture index, and a reference list use flag are derived from the following expressions.
  • SubPbRefIdxL0 [xCb + x] [yCb + y]: refIdxL0 RefIdxL1 [xCb + x] [yCb + y] subPbMotionFlag?
  • SubPbRefIdxL1 [xCb + x] [yCb + y]: refIdxL1 PredFlagL0 [xCb + x] [yCb + y] subPbMotionFlag?
  • SubPbPredFlagL0 [xCb + x] [yCb + y]: predFlagL0 PredFlagL1 [xCb + x] [yCb + y] subPbMotionFlag?
  • SubPbMvLX, SubPbRefIdxLX, and SubPbPredFlagLX (X is 0, 1) correspond to subPbMvLX, subPbRefIdxLX, and subPbPredFlagLX described in the inter-layer merge candidate derivation unit 30371.
  • the residual prediction unit 3092 performs residual prediction when the residual prediction execution flag resPredFlag is 1. When the residual prediction execution flag resPredFlag is 0, the residual prediction unit 3092 outputs the input predicted image predSamplesLX as it is.
  • the refResSamples residual prediction is performed by estimating the residual of the motion compensated image predSamplesLX generated by motion prediction or displacement prediction and adding it to the predicted image predSamplesLX of the target layer. Specifically, when the prediction unit is motion prediction, it is assumed that a residual similar to the reference layer also occurs in the target layer, and the residual of the reference layer already derived is estimated as the residual of the target layer. Use as a value.
  • the prediction unit is displacement prediction, a residual between a reference layer picture and a target layer picture at a time (POC) different from that of the target picture is used as an estimated value of the residual.
  • the residual prediction unit 3092 Similar to the motion displacement compensation unit 3091, the residual prediction unit 3092 also performs residual prediction on a sub-block basis when the sub-block motion compensation flag subPbMotionFlag is 1.
  • FIG. 12 is a block diagram showing the configuration of the residual prediction unit 3092.
  • the residual prediction unit 3092 includes a reference image interpolation unit 30922 and a residual synthesis unit 30923.
  • the reference image interpolation unit 30922 receives the vector mvLX and the residual prediction displacement vector mvDisp input from the inter prediction parameter decoding unit 303, and the reference picture stored in the reference picture memory 306. Are used to generate two residual prediction motion compensated images (corresponding block rpPicLX, reference block rpRefPicLX).
  • DiffPicOrderCnt (X, Y) indicates the difference between the POC of picture X and picture Y (the same applies hereinafter).
  • the target block is assumed to be subject to displacement prediction and ivRefFlag is set to 1. Otherwise, ivRefFlag is set to 0, assuming that motion prediction is applied to the target block.
  • FIG. 13 is a diagram for explaining the corresponding block rpPicLX and the reference block rpRefPicLX when the vector mvLX is a motion vector (when the interview prediction flag ivRefFlag is 0).
  • the corresponding block corresponding to the prediction unit on the target layer is a displacement vector mvDisp that is a vector indicating the positional relationship between the reference layer and the target layer, starting from the position of the prediction unit of the image on the reference layer. It is located in a block that is displaced by a certain amount.
  • FIG. 14 is a diagram for explaining the corresponding block rpPicLX and the reference block rpRefPicLX when the vector mvLX is a displacement vector (when the interview prediction flag ivRefFlag is 1).
  • the corresponding block rpPicLX is a block on the reference picture rpPic that has a different time from the target picture and the same view ID as the target picture.
  • the corresponding block rpPicLX is located in a block that is shifted by the vector mvT starting from the position of the prediction unit (target block).
  • the residual prediction unit 3092 includes reference pictures rpPic and rpPicRef that are reference pictures to be referred to in derivation of the residual prediction motion compensated images (rpPicLX and rpRefPicLX), and the position of the reference block (the reference block based on the coordinates of the target block). Relative coordinates) vectors mvRp and mvRpRef are derived.
  • the residual prediction unit 3092 sets a picture having the same display time (POC) or the same view ID as the target picture to which the target block belongs as rpPic.
  • the residual prediction unit 3092 when the target block is motion prediction (when the interview prediction flag ivRefFlag is 0), the residual prediction unit 3092 has the same POC of the reference picture rpPic and PicOrderCntVal that is the POC of the target picture, and the reference The view ID of the picture rpPic and the reference view ID RefViewIdx [xP] [yP] of the prediction unit (this is different from the view ID of the target picture).
  • the reference picture rpPic is derived from the above condition.
  • the residual prediction unit 3092 sets the displacement vector MvDisp to the rpPic vector mvRp.
  • the residual prediction unit 3092 sets the reference picture used for generating the predicted image of the target block to rpPic when the target block is displacement prediction (when the interview prediction flag ivRefFlag is 1). That is, when the reference index of the target block is RpRefIdxLY and the reference picture list is RefPicListY, the reference picture rpPic is derived from RefPicListY [RpRefIdxLY]. Furthermore, a residual prediction vector deriving unit 30924 (not shown) included in the residual prediction unit 3092 is included.
  • the residual prediction vector deriving unit 30924 is the same POC as the target picture to which the target block vector mvLX (which is equal to the displacement vector MvDisp) points to the rpPic vector mvRp.
  • MvT which is a vector of the prediction unit is derived, and the motion vector mvT is set to mvRp.
  • the residual prediction unit 3092 sets a reference picture having a display time (POC) different from that of the target picture and a different view ID as rpPicRef.
  • POC display time
  • the residual prediction unit 3092 has the same POC of the reference picture rpPicRef and the POC of the reference picture RefPicListY [RpRefIdxLY] of the target block.
  • the reference picture rpPicRef is derived from the condition that the view ID of the reference picture rpPicRef and the view ID RefViewIdx [xxP] [yP] of the reference picture of the displacement vector MvDisp are equal.
  • the residual prediction unit 3092 sets the vector mvLX obtained by scaling the motion vector of the prediction block to the vector mvRpRef of rpPicRef and the sum (mvRp + mvLX) of the vector mvRp.
  • the residual prediction unit 3092 When the target prediction unit is displacement prediction (when the inter prediction prediction flag ivRefFlag is 1), the residual prediction unit 3092 has the POC of the reference picture rpPicRef equal to the POC of the reference picture rpPic and the view ID of the reference picture rpPicRef.
  • the reference picture rpPicRef is derived from the condition that the view IDs RefViewIdx [xP] [yP] of the prediction units are equal. Further, the residual prediction unit 3092 sets the motion vector mvLX of the prediction block and the sum (mvRp + mvLX) of the prediction block to the vector mvRpRef of the rpPicRef.
  • mvRp and mvRpRef are derived as follows.
  • the residual prediction vector deriving unit 30924 receives the reference picture, the target block coordinates (xP, yP), the target block size nPSW, nPSH, and the vector mvLX, and receives motion compensation parameters (vector, reference picture) of the prediction unit on the reference picture.
  • the vector mvT and view ID are derived from the index and view ID).
  • the residual prediction vector deriving unit 30924 derives the reference coordinates (xRef, yRef) as the center coordinates of the block at the position shifted by the vector mvLX from the target block on the reference picture instructed as an input by the following expression: To do.
  • xRef Clip3 (0, PicWidthInSamplesL-1, xP + (nPSW >> 1) + ((mvDisp [0] + 2) >> 2))
  • yRef Clip3 (0, PicHeightInSamplesL-1, yP + (nPSH >> 1) + ((mvDisp [1] + 2) >> 2))
  • the residual prediction vector deriving unit 30924 derives a refPU vector mvLX and a reference picture index refPicLX that are prediction units including reference block coordinates (xRef, yRef).
  • the target prediction unit is displacement prediction (DiffPicOrderCnt (currPic, refPic) is 0) and the reference prediction unit refPU is motion prediction (DiffPicOrderCnt (refPic, refPicListRefX [refIdxLX]) is non-zero)
  • the refPU vector is mvT
  • the referable flag availFlagT is set to 1.
  • the residual prediction vector deriving unit 30924 derives a vector of prediction units on a picture different from the current picture.
  • the residual prediction vector deriving unit 30924 derives the following reference block coordinates (xRef, yRef) using the target block coordinates (xP, yP), the target block sizes nPbW, nPbH, and the displacement vector mvDisp as inputs.
  • xRef Clip3 (0, PicWidthInSamplesL-1, xP + (nPSW >> 1) + ((mvDisp [0] + 2) >> 2))
  • yRef Clip3 (0, PicHeightInSamplesL-1, yP + (nPSH >> 1) + ((mvDisp [1] + 2) >> 2))
  • the residual prediction vector deriving unit 30924 derives a refPU vector mvLX and a reference picture index refPicLX that are prediction units including reference block coordinates (xRef, yRef).
  • the reference flag availFlagT is set to 1. To do.
  • a block vector having the same POC as the target picture and a picture with a different view ID as a reference picture can be derived as mvT.
  • the reference image interpolation unit 30922 generates an interpolation image of the reference block rpPicLX by setting the vector mvC to the vector mvLX.
  • a pixel at a position where the coordinates (x, y) of the pixel of the interpolation image is shifted by the vector mvLX of the prediction unit is derived by linear interpolation (bilinear interpolation).
  • the reference image interpolation unit 30922 uses the X of the pixel R0 with integer precision corresponding to the case where the pixel coordinates of the prediction unit are (xP, yP).
  • X & 3 is a mathematical expression for extracting only the lower 2 bits of X.
  • the reference image interpolation unit 30922 generates an interpolation pixel predPartLX [x] [y] in consideration of the fact that the vector mvLX has a 1/4 pel decimal precision.
  • xA Clip3 (0, picWidthInSamples-1, xInt)
  • xB Clip3 (0, picWidthInSamples-1, xInt + 1)
  • xC Clip3 (0, picWidthInSamples-1, xInt)
  • xD Clip3 (0, picWidthInSamples-1, xInt + 1)
  • yA Clip3 (0, picHeightInSamples-1, yInt)
  • yB Clip3 (0, picHeightInSamples-1,
  • the integer pixel A is a pixel corresponding to the pixel R0
  • the integer pixels B, C, and D are integer precision pixels adjacent to the right, bottom, and bottom right of the integer pixel A, respectively.
  • the reference image interpolation unit 30922 includes reference pixels refPicLX [xA] [yA], refPicLX [xB] [yB], refPicLX [xC] [yC], and refPicLX [corresponding to the integer pixels A, B, C, and D, respectively.
  • xD] [yD] is read from the reference picture memory 306.
  • the reference image interpolation unit 30922 then subtracts the X component of the reference pixel refPicLX [xA] [yA], refPicLX [xB] [yB], refPicLX [xC] [yC], refPicLX [xD] [yD] and the vector mvLX.
  • An interpolated pixel predPartLX [x] [y] which is a pixel shifted by a fractional part of the vector mvLX from the pixel R0, is derived by linear interpolation (bilinear interpolation) using the part xFrac and the fractional part yFrac of the Y component.
  • predPartLX [x] [y] (refPicLX [xA] [yA] * (8-xFrac) * (8-yFrac) + refPicLX [xB] [yB] * (8-yFrac) * xFrac + refPicLX [xC] [ yC] * (8-xFrac) * yFrac + refPicLX [xD] [yD] * xFrac * yFrac)
  • the four-point pixels around the target pixel are used for deriving by one-step bilinear interpolation.
  • horizontal linear interpolation and vertical linear interpolation are separated, and the remaining pixels are separated by two-step linear interpolation.
  • a difference prediction interpolation image may be generated.
  • the reference image interpolation unit 30922 performs the above-described interpolation pixel derivation process on each pixel in the prediction unit, and sets a set of interpolation pixels as an interpolation block predPartLX.
  • the reference image interpolation unit 30922 outputs the derived interpolation block predPartLX to the residual synthesis unit 30923 as the corresponding block rpPicLX.
  • the reference image interpolation unit 30922 derives the reference block rpRefPicLX by performing the same processing except that the corresponding block rpPicLX is derived and the displacement vector mvLX is replaced with the vector mvR.
  • the reference image interpolation unit 30922 outputs the reference block rpRefPicLX to the residual synthesis unit 30923.
  • the residual synthesis unit 30923 derives a residual from the difference between the two residual prediction motion compensated images (rpPicLX, rpRefPicLX), and uses this residual in the motion compensated image.
  • a predicted image is derived by adding the predicted images.
  • the residual synthesis unit 30923 derives a corrected predicted image predSamplesLX ′ from the predicted image predSamplesLX, the corresponding block rpPicLX, the reference block rpRefPicLX, and the residual prediction index iv_res_pred_weight_idx.
  • the corrected predicted image predSamplesLX ⁇ predSamplesLX ⁇ [x] [y] predSamplesLX [x] [y] + ((rpPicLX [x] [y]-rpRefPicLX [x] [y]) >> (iv_res_pred_weight_idx-1)) It is calculated using the following formula. x is 0 to the width of the prediction block ⁇ 1, and y is 0 to the height of the prediction block ⁇ 1. When the residual prediction execution flag resPredFlag is 0, the residual synthesis unit 30923 outputs the predicted image predSamplesLX as it is as in the following equation.
  • predSamplesLX ⁇ [x] [y] predSamplesLX [x] [y] (Illuminance compensation)
  • the illumination compensation unit 3093 performs illumination compensation on the input predicted image predSamplesLX.
  • the illumination compensation flag ic_flag is 0, the input predicted image predSamplesLX is output as it is.
  • the weighted prediction unit 3096 derives the predicted image predSamples from the L0 motion compensated image predSampleL0 or the L1 motion compensated image predSampleL1. .
  • the prediction from L0 and the prediction from L1 are respectively derived using the following equations.
  • predSamples [x] [y] Clip3 (0, (1 ⁇ bitDepth)-1, predSamplesL0 [x] [y] * w0 + o0)
  • predSamples [x] [y] Clip3 (0, (1 ⁇ bitDepth)-1, predSamplesL1 [x] [y] * w1 + o1))
  • bitDepth is a value indicating the bit depth.
  • bitDepth is a value indicating the bit depth.
  • FIG. 22 is a block diagram illustrating a configuration of the image encoding device 11 according to the present embodiment.
  • the image encoding device 11 includes a prediction image generation unit 101, a subtraction unit 102, a DCT / quantization unit 103, a variable length encoding unit 104, an inverse quantization / inverse DCT unit 105, an addition unit 106, a prediction parameter memory (prediction parameter).
  • a storage unit, a frame memory) 108, a reference picture memory (reference image storage unit, frame memory) 109, an encoding parameter determination unit 110, and a prediction parameter encoding unit 111 are configured.
  • the prediction parameter encoding unit 111 includes an inter prediction parameter encoding unit 112 and an intra prediction parameter encoding unit 113.
  • the predicted image generation unit 101 generates predicted picture block predSamples for each block that is an area obtained by dividing the picture for each viewpoint of the layer image T input from the outside.
  • the predicted image generation unit 101 reads the reference picture block from the reference picture memory 109 based on the prediction parameter input from the prediction parameter encoding unit 111.
  • the prediction parameter input from the prediction parameter encoding unit 111 is, for example, a motion vector or a displacement vector.
  • the predicted image generation unit 101 reads the reference picture block of the block at the position indicated by the motion vector or the displacement vector predicted from the encoded prediction unit.
  • the predicted image generation unit 101 generates predicted picture blocks predSamples using one prediction method among a plurality of prediction methods for the read reference picture block.
  • the predicted image generation unit 101 outputs the generated predicted picture block predSamples to the subtraction unit 102 and the addition unit 106. Note that since the predicted image generation unit 101 performs the same operation as the predicted image generation unit 308 already described, details of generation of the predicted picture block predSamples are omitted.
  • the predicted image generation unit 101 calculates an error value based on a difference between a signal value for each pixel of a block included in the layer image and a signal value for each corresponding pixel of the predicted picture block predSamples. Select the prediction method to minimize. Note that the method of selecting the prediction method is not limited to this.
  • the plurality of prediction methods are intra prediction, motion prediction, and merge mode.
  • Motion prediction is prediction between display times among the above-mentioned inter predictions.
  • the merge mode is a prediction that uses the same reference picture block and prediction parameter as a block that has already been encoded and is within a predetermined range from the prediction unit.
  • the plurality of prediction methods are intra prediction, motion prediction, merge mode (including viewpoint synthesis prediction), and displacement prediction.
  • the displacement prediction (disparity prediction) is prediction between different layer images (different viewpoint images) in the above-described inter prediction. For displacement prediction (disparity prediction), there are predictions with and without additional prediction (residual prediction and illuminance compensation).
  • the predicted image generation unit 101 When the intra prediction is selected, the predicted image generation unit 101 outputs a prediction mode PredMode indicating the intra prediction mode used when generating the predicted picture block predSamples to the prediction parameter encoding unit 111.
  • the prediction image generation unit 101 stores the motion vector mvLX used when generating the prediction picture block predSamples in the prediction parameter memory 108 and outputs the motion vector mvLX to the inter prediction parameter encoding unit 112.
  • the motion vector mvLX indicates a vector from the position of the encoded prediction unit to the position of the reference picture block when the predicted picture block predSamples is generated.
  • the information indicating the motion vector mvLX may include information indicating a reference picture (for example, a reference picture index refIdxLX, a picture order number POC), and may represent a prediction parameter.
  • the predicted image generation unit 101 outputs a prediction mode PredMode indicating the inter prediction mode to the prediction parameter encoding unit 111.
  • the prediction image generation unit 101 When the prediction image generation unit 101 selects the displacement prediction, the prediction image generation unit 101 stores the displacement vector used when generating the prediction picture block predSamples in the prediction parameter memory 108 and outputs it to the inter prediction parameter encoding unit 112.
  • the displacement vector dvLX indicates a vector from the position of the encoded prediction unit to the position of the reference picture block when the predicted picture block predSamples is generated.
  • the information indicating the displacement vector dvLX may include information indicating a reference picture (for example, reference picture index refIdxLX, view IDview_id) and may represent a prediction parameter.
  • the predicted image generation unit 101 outputs a prediction mode PredMode indicating the inter prediction mode to the prediction parameter encoding unit 111.
  • the predicted image generation unit 101 When the merge mode is selected, the predicted image generation unit 101 outputs a merge index merge_idx indicating the selected reference picture block to the inter prediction parameter encoding unit 112. Further, the predicted image generation unit 101 outputs a prediction mode PredMode indicating the merge mode to the prediction parameter encoding unit 111.
  • the prediction image generation unit 101 performs the viewpoint in the VSP prediction unit 30374 included in the prediction image generation unit 101 as described above. Perform synthetic prediction. Further, in the motion prediction, displacement prediction, and merge mode, the prediction image generation unit 101 includes the prediction image generation unit 101 as described above when the residual prediction execution flag resPredFlag indicates that the residual prediction is performed. The residual prediction unit 3092 performs residual prediction.
  • the subtraction unit 102 subtracts the signal value of the prediction picture block predSamples input from the prediction image generation unit 101 for each pixel from the signal value of the corresponding block of the layer image T input from the outside, and generates a residual signal. Generate.
  • the subtraction unit 102 outputs the generated residual signal to the DCT / quantization unit 103 and the encoding parameter determination unit 110.
  • the DCT / quantization unit 103 performs DCT on the residual signal input from the subtraction unit 102 and calculates a DCT coefficient.
  • the DCT / quantization unit 103 quantizes the calculated DCT coefficient to obtain a quantization coefficient.
  • the DCT / quantization unit 103 outputs the obtained quantization coefficient to the variable length coding unit 104 and the inverse quantization / inverse DCT unit 105.
  • the variable length coding unit 104 receives a quantization coefficient from the DCT / quantization unit 103 and a coding parameter from the coding parameter determination unit 110.
  • the input encoding parameters include codes such as a reference picture index refIdxLX, a prediction vector flag mvp_LX_flag, a difference vector mvdLX, a prediction mode PredMode, a merge index merge_idx, a residual prediction index iv_res_pred_weight_idx, and an illumination compensation flag ic_flag.
  • the variable length encoding unit 104 generates an encoded stream Te by entropy encoding the input quantization coefficient and encoding parameter, and outputs the generated encoded stream Te to the outside.
  • the inverse quantization / inverse DCT unit 105 inversely quantizes the quantization coefficient input from the DCT / quantization unit 103 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 105 performs inverse DCT on the obtained DCT coefficient to calculate a decoded residual signal.
  • the inverse quantization / inverse DCT unit 105 outputs the calculated decoded residual signal to the addition unit 106 and the encoding parameter determination unit 110.
  • the addition unit 106 adds the signal value of the prediction picture block predSamples input from the prediction image generation unit 101 and the signal value of the decoded residual signal input from the inverse quantization / inverse DCT unit 105 for each pixel, and refers to them. Generate a picture block.
  • the adding unit 106 stores the generated reference picture block in the reference picture memory 109.
  • the prediction parameter memory 108 stores the prediction parameter generated by the prediction parameter encoding unit 111 at a predetermined position for each picture and block to be encoded.
  • the reference picture memory 109 stores the reference picture block generated by the adding unit 106 at a predetermined position for each picture and block to be encoded.
  • the encoding parameter determination unit 110 selects one set from among a plurality of sets of encoding parameters.
  • the encoding parameter is a parameter to be encoded that is generated in association with the above-described prediction parameter or the prediction parameter.
  • the predicted image generation unit 101 generates predicted picture blocks predSamples using each of these sets of encoding parameters.
  • the encoding parameter determination unit 110 calculates a cost value indicating the amount of information and the encoding error for each of a plurality of sets.
  • the cost value is, for example, the sum of a code amount and a square error multiplied by a coefficient ⁇ .
  • the code amount is the information amount of the encoded stream Te obtained by entropy encoding the quantization error and the encoding parameter.
  • the square error is the sum between pixels regarding the square value of the residual value of the residual signal calculated by the subtracting unit 102.
  • the coefficient ⁇ is a real number larger than a preset zero.
  • the encoding parameter determination unit 110 selects a set of encoding parameters that minimizes the calculated cost value. Thereby, the variable length coding unit 104 outputs the selected set of coding parameters to the outside as the coded stream Te, and does not output the set of unselected coding parameters.
  • the prediction parameter encoding unit 111 derives a prediction parameter used when generating a prediction picture based on the parameter input from the prediction image generation unit 101, and encodes the derived prediction parameter to generate a set of encoding parameters. To do.
  • the prediction parameter encoding unit 111 outputs the generated set of encoding parameters to the variable length encoding unit 104.
  • the prediction parameter encoding unit 111 stores, in the prediction parameter memory 108, a prediction parameter corresponding to the set of the generated encoding parameters selected by the encoding parameter determination unit 110.
  • the prediction parameter encoding unit 111 operates the inter prediction parameter encoding unit 112 when the prediction mode PredMode input from the predicted image generation unit 101 indicates the inter prediction mode.
  • the prediction parameter encoding unit 111 operates the intra prediction parameter encoding unit 113 when the prediction mode PredMode indicates the intra prediction mode.
  • the inter prediction parameter encoding unit 112 derives an inter prediction parameter based on the prediction parameter input from the encoding parameter determination unit 110.
  • the inter prediction parameter encoding unit 112 includes the same configuration as the configuration in which the inter prediction parameter decoding unit 303 derives the inter prediction parameter as a configuration for deriving the inter prediction parameter.
  • the configuration of the inter prediction parameter encoding unit 112 will be described later.
  • the intra prediction parameter encoding unit 113 determines the intra prediction mode IntraPredMode indicated by the prediction mode PredMode input from the encoding parameter determination unit 110 as a set of inter prediction parameters.
  • the inter prediction parameter encoding unit 112 is means corresponding to the inter prediction parameter decoding unit 303.
  • FIG. 23 is a schematic diagram illustrating a configuration of the inter prediction parameter encoding unit 112 according to the present embodiment.
  • the inter prediction parameter encoding unit 112 includes a merge mode parameter deriving unit 1121, an AMVP prediction parameter deriving unit 1122, a subtracting unit 1123, and an inter prediction parameter encoding control unit 1126.
  • the merge mode parameter deriving unit 1121 (prediction vector deriving device) has the same configuration as the merge mode parameter deriving unit 3036 (see FIG. 9).
  • the configuration and effect of the merge mode parameter deriving unit 3036 are achieved.
  • at least the merge mode parameter deriving unit 3036 derives a spatial merge candidate, a temporal merge candidate, a join merge candidate, and a zero merge candidate as basic merge candidates, and at least an inter-view merge candidate IV, displacement as an extended merge candidate
  • a merge mode parameter deriving unit having a merge candidate deriving unit for deriving a merge candidate DI and an inter-view shift merge candidate IVShift, wherein the first group of extended merge candidates, the first group of basic merge candidates, and the second group of extended merge candidates In the order of the second group of basic merge candidates, the merge candidates are stored in the merge candidate list.
  • the merge mode parameter deriving unit 1121 (prediction vector deriving device) of the present embodiment derives the position of the target block without deriving the reference block position (xRef, yRef) from the disparity vector corrected with the target block sizes nPbW and nPb. Further, since the reference block position (xRef, yRef) is directly derived from the disparity vector mvDisp and the target block sizes nPbW and nPbH, there is an effect that the processing is simplified.
  • the AMVP prediction parameter derivation unit 1122 has the same configuration as the AMVP prediction parameter derivation unit 3032 described above.
  • the subtraction unit 1123 subtracts the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 1122 from the vector mvLX input from the coding parameter determination unit 110 to generate a difference vector mvdLX.
  • the difference vector mvdLX is output to the inter prediction parameter encoding control unit 1126.
  • the inter prediction parameter coding control unit 1126 instructs the variable length coding unit 104 to decode a code related to inter prediction (syntax element decoding), and, for example, a code (syntax element) included in the coded data.
  • a code related to inter prediction syntax element decoding
  • Part_mode merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, and difference vector mvdLX are encoded.
  • the inter prediction parameter coding control unit 1126 includes a residual prediction index coding unit 10311, an illumination compensation flag coding unit 10312, a merge index coding unit, a vector candidate index coding unit, a split mode coding unit, and a merge flag code. And an inter prediction identifier encoding unit, a reference picture index encoding unit, and a vector difference encoding unit.
  • the division mode encoding unit, the merge flag encoding unit, the merge index encoding unit, the inter prediction identifier encoding unit, the reference picture index encoding unit, the vector candidate index encoding unit, and the vector difference encoding unit are respectively divided mode part_mode , Merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, and difference vector mvdLX are encoded.
  • the residual prediction index encoding unit 10311 encodes the residual prediction index iv_res_pred_weight_idx to indicate whether or not residual prediction is performed.
  • the illuminance compensation flag encoding unit 10312 encodes the illuminance compensation flag ic_flag to indicate whether or not illuminance compensation is performed.
  • the inter prediction parameter encoding control unit 1126 uses the variable index encoding unit to merge the merge index merge_idx input from the encoding parameter determination unit 110.
  • the data is output to 104 and encoded.
  • the inter prediction parameter encoding control unit 1126 performs the following process when the prediction mode PredMode input from the predicted image generation unit 101 indicates the inter prediction mode.
  • the inter prediction parameter encoding control unit 1126 integrates the reference picture index refIdxLX and the prediction vector flag mvp_LX_flag input from the encoding parameter determination unit 110 and the difference vector mvdLX input from the subtraction unit 1123.
  • the inter prediction parameter encoding control unit 1126 outputs the integrated code to the variable length encoding unit 104 to be encoded.
  • the predicted image generation unit 101 is a means corresponding to the predicted image generation unit 308 described above, and the process of generating a predicted image from the prediction parameters is the same.
  • the predicted image generation unit 101 also includes the above-described residual synthesis unit 30923 in the same manner as the predicted image generation unit 308. That is, residual prediction is not performed when the size of the target block (predicted block) is equal to or smaller than a predetermined size. Also, the predicted image generation unit 101 of the present embodiment performs residual prediction only when the division mode part_mode of the coding unit CU is 2N ⁇ 2N. That is, the residual prediction index iv_res_pred_weight_idx is set to 0. Also, the residual prediction index encoding unit 10311 of the present embodiment encodes the residual prediction index iv_res_pred_weight_idx only when the division mode part_mode of the encoding unit CU is 2N ⁇ 2N.
  • the image encoding device including the residual prediction unit 3092 is the image encoding device including the residual prediction index encoding unit that encodes the residual prediction index, and the division mode of the encoding unit including the target block is 2N ⁇ . In the case of 2N, the residual prediction index is encoded. In other cases, the residual prediction index is not encoded, and when the residual prediction index is other than 0, residual prediction is performed.
  • the image encoding device 11 encodes each loop variable d when the variable length encoding unit 104 encodes a syntax group corresponding to each value of the loop coefficient d from 0 to 1 in the parameter set.
  • a present flag 3d_sps_param_present_flag [k] indicating whether or not a corresponding syntax group exists in the parameter is encoded, and when the present flag 3d_sps_param_present_flag [k] is 1, the syntax group corresponding to the loop variable d is Encode.
  • the tool used in the texture picture can be turned on / off with the present flag 3d_sps_param_present_flag [0], and the tool used with the texture picture can be turned on / off independently with the present flag 3d_sps_param_present_flag [1].
  • the texture picture refers to the parameter set referenced by the texture
  • the depth picture refers to the parameter set used by the depth, the texture picture or depth picture It is possible to decode parameters used only in the above.
  • the present invention can also be expressed as follows. ⁇ Aspect 1>
  • the reference block coordinates of the inter-view merge candidate IV are normalized to the multiple of 8 or 16 as the sum of the upper left coordinates of the target block and the target block size 1/2 and the disparity vector converted to the integer precision of the target block Derived from the normalized value
  • the reference block coordinates of the inter-view shift merge candidate IVShift, the upper left coordinates of the target block, the size of the target block, a predetermined constant K, and the sum of the disparity vectors converted to the integer precision of the target block are a multiple of 8 or a multiple of 16 Derived from the value normalized to
  • a prediction vector deriving device characterized by deriving motion vectors of an inter-view merge candidate IV and an inter-view shift merge candidate IVShift from a motion vector located at a derived reference block coordinate.
  • the prediction vector deriving device according to any one of aspects 1 to 4, wherein the predetermined constant K is between M-8 and M-1 when the reference block coordinate limit is a multiple of M.
  • the prediction vector deriving device according to aspect 5, wherein the predetermined constant K is any one of 1, 2, and 3.
  • a present flag 3d_sps_param_present_flag indicating whether or not a syntax group corresponding to each loop variable d exists in the parameter
  • An image decoding apparatus wherein [k] is decoded, and when the present flag 3d_sps_param_present_flag [k] is 1, a syntax group corresponding to the loop variable d is decoded.
  • the image decoding apparatus decodes at least the V ⁇ viewpoint synthesis prediction flag view_synthesis_pred_flag when d is 0, and decodes at least the intra SDC wedge division flag intra_sdc_wedge_flag when d is 1
  • an image decoding apparatus including a variable length decoding unit that decodes IntraSdcWedgeFlag, IntraContourFlag, dim_not_present_flag and depth_intra_mode_flag, and a DMM prediction unit that performs DMM prediction
  • the variable length decoding unit decodes depth_intra_mode_flag from the encoded data when dim_not_present_flag is 0, IntraSdcWedgeFlag is 1 and IntraContourFlag is 1, and when the depth_intra_mode_flag is not present in the encoded data, the variable length decoding unit
  • An image decoding apparatus wherein depth_intra_mode_flag is derived from a logical operation of IntraSdcWedgeFlag and IntraContourFlag.
  • ⁇ Aspect 14> In an image decoding apparatus including a variable length decoding unit that decodes IntraSdcWedgeFlag, IntraContourFlag, dim_not_present_flag and depth_intra_mode_flag, and a DMM prediction unit that performs DMM prediction,
  • the variable length decoding unit decodes the depth_intra_mode_flag from the encoded data, derives the DepthIntraMode from the dim_not_present_flag, IntraContourFlag, IntraSdcWedgeFlag and the dim_not_present_flag feature
  • An image decoding device When the dim_not_present_flag is 0, the IntraSdcWedgeFlag is 1, and the IntraContourFlag is 1, the variable length decoding unit decodes the depth_intra_mode_flag from the encoded data, derives the DepthIntraMode from the dim_not_present_flag, IntraContourFlag, IntraSdcWedgeFlag
  • a sequence parameter set including at least a first flag indicating whether to use the intra contour mode and a second flag indicating whether to use the intra wedge mode; and at least the intra contour mode or the intra a receiving unit that receives encoded data including a third flag indicating whether the wedge mode is used in a prediction unit;
  • a decoding unit that decodes at least one of the first flag, the second flag, and the third flag;
  • a prediction unit that performs prediction using a fourth flag that identifies one of the intra contour mode and the intra wedge mode; When the value of the first flag is 1, the value of the second flag is 1 and the value indicating that the value of the third flag is used, the decoding unit determines from the encoded data that the first flag is used.
  • the image decoding device estimated by: ⁇ Aspect 19> A sequence parameter set (SPS) including at least a first flag indicating whether to use the intra contour mode and a second flag indicating whether to use the intra wedge mode; and at least the intra contour mode or the intra receiving encoded data including a third flag indicating whether wedge mode is used in prediction units; Decoding at least one of the first flag, the second flag, and the third flag; Predicting using a fourth flag that identifies one of the intra contour mode and the intra wedge mode, In the decoding step, when the value of the first flag is 1, the value of the second flag is 1 and the value indicating that the values of the third flag are used, the encoded data is Decrypt the fourth flag, An image decoding method in which, when the encoded data does not include the fourth flag, the fourth flag is estimated from a logical operation of the first flag and the second flag.
  • SPS sequence parameter set
  • a sequence parameter set including at least a first flag indicating whether to use the intra contour mode and a second flag indicating whether to use the intra wedge mode; and at least the intra contour mode or the intra a receiving unit that receives encoded data including a third flag indicating whether the wedge mode is used in a prediction unit;
  • a decoding unit that decodes at least one of the first flag, the second flag, and the third flag;
  • a prediction unit that performs prediction using a fourth flag that identifies one of the intra contour mode and the intra wedge mode;
  • the decoding unit determines from the encoded data that the first flag is used. 4 flag is decoded, When the encoded data does not include the fourth flag, the fourth flag is an image encoding device that is estimated from a logical operation of the first flag and the second flag.
  • variable length decoding unit 301 the prediction parameter decoding unit 302, the prediction image generation unit 101, the DCT / quantization unit 103, the variable length Encoding unit 104, inverse quantization / inverse DCT unit 105, encoding parameter determination unit 110, prediction parameter encoding unit 111, variable length decoding unit 301, prediction parameter decoding unit 302, prediction image generation unit 308, inverse quantization /
  • the inverse DCT unit 311 may be realized by a computer.
  • the program for realizing the control function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by a computer system and executed.
  • the “computer system” is a computer system built in either the image encoding device 11 or the image decoding device 31 and includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, and a hard disk incorporated in a computer system.
  • the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
  • a volatile memory inside a computer system serving as a server or a client may be included and a program that holds a program for a certain period of time.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
  • part or all of the image encoding device 11 and the image decoding device 31 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
  • LSI Large Scale Integration
  • Each functional block of the image encoding device 11 and the image decoding device 31 may be individually made into a processor, or a part or all of them may be integrated into a processor.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where an integrated circuit technology that replaces LSI appears due to progress in semiconductor technology, an integrated circuit based on the technology may be used.
  • the present invention can be suitably applied to an image decoding apparatus that decodes encoded data obtained by encoding image data and an image encoding apparatus that generates encoded data obtained by encoding image data. Further, the present invention can be suitably applied to the data structure of encoded data generated by an image encoding device and referenced by the image decoding device.

Landscapes

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

Abstract

 従来のインタービューシフト予測の動きベクトル導出では、参照する位置を決定処理が複雑になるという課題があった。また、シーケンスパラメータセットでは、テクスチャ拡張ツールのオンオフフラグと、デプス拡張ツールのオンオフフラグを独立に設定できないという課題があった。また、イントラSDCウェッジ分割フラグIntraSdcWedgeFlagとイントラ輪郭分割フラグIntraContourFlagのいずれか一方が1の場合にも、意味無くウェッジ分割モードと輪郭分割モードを選択するdepth_intra_mode_flagを復号するという課題があった。 予測ベクトル導出装置は、インタービューマージ候補IVの参照ブロック座標を、対象ブロックの左上座標と対象ブロックのサイズの1/2と、対象ブロックの整数精度に換算した視差ベクトルの和を、8の倍数もしくは16の倍数に正規化した値から導出し、インタービューシフトマージ候補IVShiftの参照ブロック座標を、対象ブロックの左上座標と対象ブロックのサイズと0から4の所定の定数と、対象ブロックの整数精度に換算した視差ベクトルの和を、8の倍数もしくは16の倍数に正規化した値から導出し、導出された参照ブロック座標に位置する動きベクトルから、インタービューマージ候補IV、インタービューシフトマージ候補IVShiftの動きベクトルを導出する。

Description

画像復号装置、画像符号化装置および予測ベクトル導出装置
 本発明は、画像復号装置、画像符号化装置および予測ベクトル導出装置に関する。
 複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素(x成分)と垂直方向の要素(y成分)を有する2次元のベクトルであり、1つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ(画像レイヤ)とデプスレイヤ(距離画像レイヤ)から構成される場合のスケーラブル符号化は、3次元スケーラブル符号化と呼ばれる。
 また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化(ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理)、SNRスケーラブル符号化(ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理)等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。
 HEVCでは、マージモードと呼ばれる既に処理されたブロックの予測情報を再利用する手法が知られている。マージモードでは、マージ候補を要素として構築されるマージ候補リストからマージインデックス(merge_index)で指定される要素を予測パラメータとして選択することで、予測ユニットの予測パラメータが導出される。
 別レイヤ(別ビュー)の動きベクトルを、対象レイヤの動きベクトルの予測に用いる技術として、インターレイヤ動き予測(視点間動き予測)が知られている。インターレイヤ動き予測では、対象ピクチャとは異なる視点のピクチャの動きベクトルを参照し動き予測を行う。非特許文献1では、インターレイヤ動き予測の参照位置として、インタービュー予測(IV予測)とインタービューシフト予測(IVShift予測)がある。インタービュー予測(IV予測)は、対象レイヤの中心位置に、視差ベクトル分の変位を加算した位置の動きベクトルを参照する。インタービューシフト予測(IVShift予測)は、対象レイヤの中心位置に、対象ブロックのサイズで補正後の視差ベクトル分の変位を加算した位置の動きベクトルを参照する。
 さらに非特許文献1では、シーケンスパラメータセット(SPS)において、残差予測等のテクスチャ拡張ツールのオンオフフラグと、ウェッジレット分割予測、輪郭分割予測などのデプス拡張ツールのオンオフフラグを規定し、ループ変数を用いて両者を順に復号・符号化する技術が知られている。
G. Tech, K. Wegner, Y. Chen, S. Yea, "3D-HEVC Draft Text 6", JCT3V-J1001_v6, JCT-3V 10th Meeting: Strasbourg, FR, 18-24 Oct. 2014(2014年12月6日公開)
 非特許文献1のインタービューシフト予測(IVShift)の予測ベクトル導出処理では、参照ピクチャ中の参照位置を、予測ユニットのサイズに応じて変更後の視差ベクトルを用いているため、インタービュー予測(IV)と異なり、処理が複雑になるという課題があった。
 また、非特許文献1のシーケンスパラメータセットでは、テクスチャ拡張ツールのオンオフフラグと、デプス拡張ツールのオンオフフラグを独立に設定できないという課題があった。
 また、非特許文献1では、イントラSDCウェッジ分割フラグIntraSdcWedgeFlagとイントラ輪郭分割フラグIntraContourFlagのいずれか一方が1の場合にも、ウェッジ分割モードと輪郭分割モードを選択するdepth_intra_mode_flagを復号するため、無駄なフラグを復号するという課題があった。
 本発明の1つの形態は、少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信する受信部と、前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号する復号部と、前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行う予測部とを備え、前記復号部は、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像復号装置である。
 本発明の1つの形態は、少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信するステップと、前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号するステップと、前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行うステップとを少なくとも含み、前記復号するステップは、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像復号方法である。
 本発明の1つの形態は、少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信する受信部と、前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号する復号部と、前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行う予測部とを備え、前記復号部は、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像符号化装置である。
 本発明のインタービューシフト予測(IVShift)の動きベクトル導出によれば、参照ピクチャ中の参照位置を、視差ベクトルを変更することなく導出することができることから処理が簡略化される。
 本発明によれば、テクスチャ拡張ツールのオンオフフラグと、デプス拡張ツールのオンオフフラグを独立に設定可能となる。
 本発明によれば、イントラSDCウェッジ分割フラグIntraSdcWedgeFlagとイントラ輪郭分割フラグIntraContourFlagのいずれか一方が1の場合には、ウェッジ分割モードと輪郭分割モードを選択するdepth_intra_mode_flagを符号化データから復号せずに導出するため、無駄なフラグを復号することがなくなる。
本実施形態のインタービューマージ候補IVの位置(xRefIV、yRefIV)、インタービューシフトマージ候補IVShiftの位置(xRefIVShift、yRefIVShift)を説明する図である。 本発明の実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る符号化ストリームのデータの階層構造を示す図である。 分割モードのパターンを示す図であり、(a)~(h)は、それぞれ、分割モードが、2N×2N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、および、N×Nの場合のパーティション形状について示している。 参照ピクチャリストの一例を示す概念図である。 参照ピクチャの例を示す概念図である。 本実施形態に係る画像復号装置31の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。 本実施形態に係るマージモードパラメータ導出部3036の構成を示す概略図である。 マージ候補リストの一例を示す図である。 本実施形態に係るインター予測画像生成部309の構成を示す概略図である。 本実施形態に係る残差予測部3092の構成を示す概略図である。 本実施形態に係る残差予測の概念図(動きベクトルの場合)である。 本実施形態に係る残差予測の概念図(視差ベクトルの場合)である。 本実施形態のインタービューシフトマージ候補IVShiftにおける定数Kの影響を示す図である。 本実施形態のシーケンスパラメータセット拡張sps_3d_extensionのシンタックス構成を示す図である。 本実施形態の予測パラメータとイントラ拡張予測パラメータのシンタックス構成を示す図である。 本実施形態のイントラ拡張予測パラメータintra_mode_ext()の変形例のシンタックス構成を示す図である。 本実施形態のイントラ予測画像生成部310の構成例について示す機能ブロック図である。 本実施形態の予測モードpredModeIntraを示す図である。 本実施形態のDMM予測部145Tの構成を示す図である。 本実施形態の画像符号化装置11の構成を示すブロック図である。 本実施形態のインター予測パラメータ符号化部112の構成を示す概略図である。 比較例のインタービューマージ候補IVの位置(xRefIV、yRefIV)、インタービューシフトマージ候補IVShiftの位置(xRefIVShift、yRefIVShift)を説明する図である。 比較例のパラメータセットのシンタックス構成を示す。
 以下、図面を参照しながら本発明の実施形態について説明する。
 図2は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
 画像伝送システム1は、複数のレイヤ画像を符号化した符号を伝送し、伝送された符号を復号した画像を表示するシステムである。画像伝送システム1は、画像符号化装置11、ネットワーク21、画像復号装置31及び画像表示装置41を含んで構成される。
 画像符号化装置11には、複数のレイヤ画像(テクスチャ画像ともいう)を示す信号Tが入力される。レイヤ画像とは、ある解像度及びある視点で視認もしくは撮影される画像である。複数のレイヤ画像を用いて3次元画像を符号化するビュースケーラブル符号化を行う場合、複数のレイヤ画像のそれぞれは、視点画像と呼ばれる。ここで、視点は撮影装置の位置又は観測点に相当する。例えば、複数の視点画像は、被写体に向かって左右の撮影装置のそれぞれが撮影した画像である。画像符号化装置11は、この信号のそれぞれを符号化して符号化ストリームTe(符号化データ)を生成する。符号化ストリームTeの詳細については、後述する。視点画像とは、ある視点において観測される2次元画像(平面画像)である。視点画像は、例えば2次元平面内に配置された画素毎の輝度値、又は色信号値で示される。以下では、1枚の視点画像又は、その視点画像を示す信号をピクチャ(picture)と呼ぶ。また、複数のレイヤ画像を用いて空間スケーラブル符号化を行う場合、その複数のレイヤ画像は、解像度の低いベースレイヤ画像と、解像度の高い拡張レイヤ画像からなる。複数のレイヤ画像を用いてSNRスケーラブル符号化を行う場合、その複数のレイヤ画像は、画質の低いベースレイヤ画像と、画質の高い拡張レイヤ画像からなる。なお、ビュースケーラブル符号化、空間スケーラブル符号化、SNRスケーラブル符号化を任意に組み合わせて行っても良い。本実施形態では、複数のレイヤ画像として、少なくともベースレイヤ画像と、ベースレイヤ画像以外の画像(拡張レイヤ画像)を含む画像の符号化および復号を扱う。複数のレイヤのうち、画像もしくは符号化パラメータにおいて参照関係(依存関係)にある2つのレイヤについて、参照される側の画像を、第1レイヤ画像、参照する側の画像を第2レイヤ画像と呼ぶ。例えば、ベースレイヤを参照して符号化される(ベースレイヤ以外の)エンハンスレイヤ画像がある場合、ベースレイヤ画像を第1レイヤ画像、エンハンスレイヤ画像を第2レイヤ画像として扱う。なお、エンハンスレイヤ画像の例としては、ベースビュー以外の視点の画像やデプス画像などがある。
 デプス画像(depth map、「深度画像」、「距離画像」とも言う)とは、被写空間に含まれる被写体や背景の、視点(撮影装置等)からの距離に対応する信号値(「デプス値」、「深度値」、「デプス」等と呼ぶ)であって、二次元平面に配置された画素毎の信号値(画素値)からなる画像信号である。デプス画像を構成する画素は、視点画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である視点画像を用いて、三次元の被写空間を表すための手がかりとなる。
 ネットワーク21は、画像符号化装置11が生成した符号化ストリームTeを画像復号装置31に伝送する。ネットワーク21は、インターネット(internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)又はこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上波ディジタル放送、衛星放送等の放送波を伝送する一方向又は双方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc)、BD(Blue-ray Disc)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
 画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した複数の復号レイヤ画像Td(復号視点画像Td)を生成する。
 画像表示装置41は、画像復号装置31が生成した複数の復号レイヤ画像Tdの全部又は一部を表示する。例えば、ビュースケーラブル符号化においては、全部の場合、3次元画像(立体画像)や自由視点画像が表示され、一部の場合、2次元画像が表示される。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31、画像表示装置41が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
  <符号化ストリームTeの構造>
 本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
 図3は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図3の(a)~(f)は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位(Coding Unit;CU)を規定する符号化ユニットレイヤを示す図である。
  (シーケンスレイヤ)
 シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図3の(a)に示すように、ビデオパラメータセット(Video Parameter Set)シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図3では、#0と#1すなわちレイヤ0とレイヤ1の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図3の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図3の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。
 なお、スライスヘッダSHには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
  (スライスデータレイヤ)
 スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図3の(d)に示すように、符号化ツリーブロック(CTB:Coded Tree Block)を含んでいる。CTBは、スライスを構成する固定サイズ(例えば64×64)のブロックであり、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
  (符号化ツリーレイヤ)
 符号化ツリーレイヤは、図3の(e)に示すように、処理対象の符号化ツリーブロックを復号するために画像復号装置31が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割により分割される。再帰的な4分木分割により得られる木構造のノードのことを符号化ツリー(coding tree)と称する。4分木の中間ノードは、符号化ツリーユニット(CTU:Coded Tree Unit)であり、符号化ツリーブロック自身も最上位のCTUとして規定される。CTUは、分割フラグ(split_flag)を含み、split_flagが1の場合には、4つの符号化ツリーユニットCTUに分割される。split_flagが0の場合には、符号化ツリーユニットCTUは4つの符号化ユニット(CU:Coded Unit)に分割される。符号化ユニットCUは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
 また、符号化ツリーブロックCTBのサイズ64×64画素の場合には、符号化ユニットCUのサイズは、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
  (符号化ユニットレイヤ)
 符号化ユニットレイヤは、図3の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、CUヘッダCUH、予測ユニット(予測単位)、変換ツリー、CUヘッダCUFから構成される。CUヘッダCUHでは、符号化ユニットが、イントラ予測を用いるユニットであるか、インター予測を用いるユニットであるかなどが規定される。また、CUヘッダCUHには、符号化ユニットが、残差予測に用いる重み(もしくは残差予測を行うか否か)を示す残差予測インデックスiv_res_pred_weight_idxや、照度補償予測を用いるか否かを示す照度補償フラグic_flagを含む。符号化ユニットは、予測ユニット(prediction unit;PU、予測ユニット)および変換ツリー(transform tree;TT)のルートとなる。CUヘッダCUFは、予測ユニットと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
 予測ユニットは、符号化ユニットが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ユニットは、上述の分割により得られた1または複数の予測ブロックを含む。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測ユニットとも称する。より詳細には予測は色コンポーネント単位で行われるため、以下では、輝度の予測ブロック、色差の予測ブロックなど、色コンポーネント毎のブロックを、予測ブロックと呼び、複数の色コンポーネントのブロック(輝度の予測ブロック、色差の予測ブロック)を合わせて、予測ユニットと呼ぶ。色コンポーネントの種類を示すインデックスcIdx(colour_component Idx)が0のブロックが輝度ブロック(輝度の予測ブロック)を示し(通例、LもしくはYと表示される)、cIdxが1もしくは2のブロックは各々Cb, Crの色差ブロック(色差の予測ブロック)を示す。
 予測ユニットにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 イントラ予測の場合、分割方法は、2N×2N(符号化ユニットと同一サイズ)と、N×Nとがある。
 また、インター予測の場合、分割方法は、符号化データの分割モードpart_modeにより符号化される。分割モードpart_modeによって指定される分割モードには、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(AMP:asymmetric motion partitions)である。なお、N=2m(mは1以上の任意の整数)を意味している。以下、分割モードが非対称的分割である予測ブロックをAMPブロックとも呼称する。分割数は1、2、4のいずれかであるため、CUに含まれるPUは1個から4個である。これらのPUを順にPU0、PU1、PU2、PU3と表現する。
 図4(a)~(h)に、それぞれの分割モードについて、CUにおけるPU分割の境界の位置を具体的に図示している。
 図4(a)は、CUの分割を行わない2N×2Nの分割モードを示している。また、図4(b)および(e)は、それぞれ、分割モードが、2N×N、および、N×2Nである場合のパーティションの形状について示している。また、図4(h)は、分割モードが、N×Nである場合のパーティションの形状を示している。
 また、図4(c)、(d)、(f)および(g)は、それぞれ非対称的分割(AMP)である、2N×nU、2N×nD、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。
 また、図4(a)~(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
 インター予測の場合の予測ブロックでは、上記8種類の分割モードのうち、N×N(図4(h))以外の7種類が定義されている。
 また、Nの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、32×32画素のCUは、32×32画素、32×16画素、16×32画素、32×16画素、32×8画素、32×24画素、8×32画素、および、24×32画素のインター予測の予測ブロックへ分割できる。
 また、変換ツリーにおいては、符号化ユニットが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
 TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことを変換ブロックと称することもある。
 TT情報TTIは、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI1~TUINT(NTは、対象CUに含まれる変換ブロックの総数)を含んでいる。
 TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
 また、TU分割情報SP_TUには、各TUに非ゼロの変換係数が存在するか否かの情報が含まれる。例えば、個々のTUに対する非ゼロ係数の存否情報(CBF;Coded Block Flag)がり、色空間毎に、輝度lumaに関するCBFをcbf_luma、色差Cbに関するCBFをcbf_cb、色差Crに関するCBFをcbf_crと称する。また、複数のTUに対する非ゼロ係数の存否情報(rqt_root_flag, 又はno_residual_data_flagとも称する)がTU分割情報SP_TUに含まれる。また、各TUに対する非ゼロの変換係数を符号化する代わりに、TUにおいて、1又は複数の領域毎に、予測残差の平均(DC)値を表わす予測残差DC情報(DCオフセット情報)を符号化する(領域別DC符号化を行う)か否かを示すSDCフラグsdc_flagが含まれる。なお、領域別DC符号化は、Segment-wise DC Coding (SDC)とも呼ばれる。特に、イントラ予測における領域別DC符号化を、イントラSDCと呼び、インター予測における領域別DC符号化をインターSDCと呼ぶ。なお、領域別DC符号化が適用される場合、CUサイズ、PUサイズ、及びTUサイズは等しくてもよい。
  (予測パラメータ)
 予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、ベクトルmvL0、mvL1から構成される。予測利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、1をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。2つの参照ピクチャリストが用いられる場合、つまり、(predFlagL0,predFlagL1) = (1, 1)の場合が、双予測に対応し、1つの参照ピクチャリストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。なお、予測利用フラグの情報は、後述のインター予測識別子inter_pred_idcで表現することもできる。通常、後述の予測画像生成部、予測パラメータメモリでは、予測利用フラグが用いれ、符号化データから、どの参照ピクチャリストが用いられるか否かの情報を復号する場合にはインター予測識別子inter_pred_idcが用いられる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXがある。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する(以降同様)。例えば、refIdxL0はL0予測に用いる参照ピクチャインデックス、refIdxL1はL1予測に用いる参照ピクチャインデックス、refIdx(refIdxLX)は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
  (参照ピクチャリストの一例)
 次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、参照ピクチャメモリ306に記憶された参照ピクチャからなる列である。図5は、参照ピクチャリストRefPicListXの一例を示す概念図である。参照ピクチャリストRefPicListXにおいて、左右に一列に配列された5個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号、P1、P2、Q0、P3、P4は、それぞれの参照ピクチャを示す符号である。P1等のPとは、視点Pを示し、そしてQ0のQとは、視点Pとは異なる視点Qを示す。P及びQの添字は、ピクチャ順序番号POCを示す。refIdxLXの真下の下向きの矢印は、参照ピクチャインデックスrefIdxLXが、参照ピクチャメモリ306において参照ピクチャQ0を参照するインデックスであることを示す。
  (参照ピクチャの例)
 次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図6は、参照ピクチャの例を示す概念図である。図6において、横軸は表示時刻を示し、縦軸は視点を示す。図6に示されている、縦2行、横3列(計6個)の長方形は、それぞれピクチャを示す。6個の長方形のうち、下行の左から2列目の長方形は復号対象のピクチャ(対象ピクチャ)を示し、残りの5個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから上向きの矢印で示される参照ピクチャQ0は対象ピクチャと同表示時刻であって視点(ビューID)が異なるピクチャである。対象ピクチャを基準とする変位予測においては、参照ピクチャQ0が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャP1は、対象ピクチャと同じ視点であって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャP2は、対象ピクチャと同じ視点であって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャP1又はP2が用いられる。
  (インター予測識別子と予測利用フラグ)
 インター予測識別子inter_pred_idcと、予測利用フラグpredFlagL0、predFlagL1の関係は
 inter_pred_idc = (predFlagL1<<1) + predFlagL0
 predFlagL0 =inter_pred_idc & 1
 predFlagL1 =inter_pred_idc >> 1
の式を用いて相互に変換可能である。ここで、>>は右シフト、<<は左シフトである。そのため、インター予測パラメータとしては、予測利用フラグpredFlagL0、predFlagL1を用いても良いし、インター予測識別子inter_pred_idcを用いてもよい。また、以下、予測利用フラグpredFlagL0、predFlagL1を用いた判定は、インター予測識別子inter_pred_idcに置き替えても可能である。逆に、インター予測識別子inter_pred_idcを用いた判定は、予測利用フラグpredFlagL0、predFlagL1に置き替えても可能である。
  (マージモードとAMVP予測)
 予測パラメータの復号(符号化)方法には、マージ(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージモードでも、AMVPモードでも、既に処理済みのブロックの予測パラメータを用いて、対象PUの予測パラメータが導出される。マージモードは、予測利用フラグpredFlagLX(インター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めるモードである。なおベクトルmvLXは、予測ベクトルを示す予測ベクトルフラグmvp_LX_flagと差分ベクトル(mvdLX)として符号化される。
 インター予測識別子inter_pred_idcは、参照ピクチャの種類および数を示すデータであり、Pred_L0、Pred_L1、Pred_BIの何れかの値をとる。Pred_L0、Pred_L1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストに記憶された参照ピクチャが用いられることを示し、共に1枚の参照ピクチャを用いること(単予測)を示す。L0リスト、L1リストを用いた予測を各々L0予測、L1予測と呼ぶ。Pred_BIは2枚の参照ピクチャを用いること(双予測)を示し、L0リストとL1リストに記憶された参照ピクチャの2つを用いることを示す。予測ベクトルフラグmvp_LX_flagは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを予測ユニット(対象ブロック)の予測パラメータとして用いるかを示すインデックスである。
  (動きベクトルと変位ベクトル)
 ベクトルmvLXには、動きベクトルと変位ベクトル(disparity vector、視差ベクトル)がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻(例えば、隣接する離散時刻)における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
  (画像復号装置の構成)
 次に、本実施形態に係る画像復号装置31の構成について説明する。図7は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、可変長復号部301、予測パラメータ復号部302、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)306、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)307、予測画像生成部308、逆量子化・逆DCT部311、加算部312、及び図示されないデプスDV導出部351を含んで構成される。
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
 可変長復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
 図16は、シーケンスパラメータセット拡張sps_3d_extensionのシンタックス構成を示す図である。シーケンスパラメータセット拡張sps_3d_extensionは、シーケンスパラメータセットの一部であり、デフォルトのシーケンスパラメータセットの拡張フラグsps_3d_extension_flagが1の場合にシーケンスパラメータセットに含まれる。
 可変長復号部301は、シーケンスパラメータセット拡張sps_3d_extensionから、ツールオンオフフラグを含むパラメータを復号する。具体的には、0から1の値のループ変数dに対して、図のSN0001に示すプレゼントフラグ3d_sps_param_present_flag[d]を復号する。可変長復号部301は、プレゼントフラグ3d_sps_param_present_flag[d]が1であるループ変数d(d=0もしくはd=1)に対して、対応するシンタックス要素を復号する。すなわち、対象ピクチャがテクスチャであることを示すd=0のプレゼントフラグ3d_sps_param_present_flag[0]が1の場合には、図のSN0002に示すテクスチャデプス共通パラメータと、図のSN0003に示すテクスチャパラメータを復号する。
 本実施形態では、テクスチャデプス共通のパラメータは、インタービュー予測フラグiv_mv_pred_flag[ d ]、インタービュースケーリングフラグiv_mv_scaling_flag[ d ]であり、テクスチャパラメータは、サブブロックサイズlog2_sub_pb_size_minus3[ d ]、残差予測フラグiv_res_pred_flag[ d ]、デプスリファインフラグdepth_refinement_flag[ d ]、視点合成予測フラグview_synthesis_pred_flag[ d ]、デプスベースブロック分割フラグdepth_based_blk_part_flag[ d ]である。可変長復号部301は、対象ピクチャがデプスであることを示すd=1のプレゼントフラグ3d_sps_param_present_flag[1]が1の場合には、図のSN0002に示すテクスチャデプス共通パラメータと、図のSN0004に示すデプスパラメータを復号する。既に説明したように、テクスチャデプス共通パラメータは、インタービュー予測フラグiv_mv_pred_flag[ d ]、インタービュースケーリングフラグiv_mv_scaling_flag[ d ]であり、デプスパラメータは、動きパラメータ継承フラグmpi_flag[ d ]、動きパラメータ継承サブブロックサイズlog2_mpi_sub_pb_size_minus3[ d]、イントラ輪郭分割フラグintra_contour_flag[ d ]、イントラSDCウェッジ分割フラグintra_sdc_wedge_flag[ d ]、クアッドツリー分割予測フラグqt_pred_flag[ d ]、インターSDCフラグinter_sdc_flag[ d ]、イントラシングルモードフラグintra_single_flag[ d ]である。
 上記構成の可変長復号部301は、テクスチャのプレゼントフラグ3d_sps_param_present_flag[0]が1、デプスのプレゼントフラグ3d_sps_param_present_flag[1]が0の場合には、テクスチャピクチャに使用されるパラメータである、テクスチャ、デプス共通パラメータと、テクスチャパラメータ(サブブロックサイズlog2_sub_pb_size_minus3[ d ]、残差予測フラグiv_res_pred_flag[ d ]、デプスリファインフラグdepth_refinement_flag[ d ]、視点合成予測フラグview_synthesis_pred_flag[ d ]、デプスベースブロック分割フラグdepth_based_blk_part_flag[ d ])だけを復号することができる。また、テクスチャのプレゼントフラグ3d_sps_param_present_flag[0]が0、デプスのプレゼントフラグ3d_sps_param_present_flag[1]が1の場合には、デプスピクチャに使用されるパラメータであるテクスチャデプス共通パラメータと、デプスパラメータ(動きパラメータ継承フラグmpi_flag[ d ]、動きパラメータ継承サブブロックサイズlog2_mpi_sub_pb_size_minus3[ d ]、イントラ輪郭分割フラグintra_contour_flag[ d ]、イントラSDCウェッジ分割フラグintra_sdc_wedge_flag[ d ]、クアッドツリー分割予測フラグqt_pred_flag[ d ]、インターSDCフラグinter_sdc_flag[ d ]、イントラシングルモードフラグintra_single_flag[ d ])だけを復号することができる。また、テクスチャのプレゼントフラグ3d_sps_param_present_flag[0]が1、デプスのプレゼントフラグ3d_sps_param_present_flag[1]が1の場合には、テクスチャ及びデプスに関するパラメータを復号することができる。
 シーケンスパラメータセット拡張sps_3d_extensionは、テクスチャ、デプスの両方に関するパラメータを有するため、テクスチャのピクチャとデプスのピクチャで同じシーケンスパラメータセットを参照して、テクスチャ、デプスの両者のツールのオンオフを設定することができる。逆にいえば、テクスチャのピクチャとデプスのピクチャで1つのシーケンスパラメータを参照(共有)することができる。このようなパラメータセットを共有することは、パラメータセットシェアリングと呼ばれる。逆に、本発明では説明を省略するが、テクスチャのみもしくはデプスのみのパラメータだけを有するシーケンスパラメータセットの場合には、テクスチャのピクチャとデプスのピクチャで1つのシーケンスパラメータセットを共有することはできない。
 続いて、可変長復号部301は、上記で復号したパラメータ(シンタックス要素)の値から、各拡張ツールのオンオフフラグである、インタービュ予測フラグIvMvPredFlag、インタービュースケーリングフラグIvMvScalingFlag、残差予測フラグIvResPredFlag、視点合成予測フラグViewSynthesisPredFlag、デプスベースブロック分割フラグDepthBasedBlkPartFlag、デプスリファインフラグDepthRefinementFlag、動きパラメータ継承フラグMpiFlag、イントラ輪郭分割フラグIntraContourFlag、イントラSDCウェッジ分割フラグIntraSdcWedgeFlag、クアッドツリー分割予測フラグQtPredFlag、インターSDCフラグInterSdcFlag、イントラシングル予測フラグIntraSingleFlag、視差導出フラグDisparityDerivationFlagを導出する。下記では、復号装置で予期せぬ動作が生じないように、対象レイヤのレイヤIDが0より大きい場合に限り拡張ツールのオンオフフラグを1になるように、シンタックス要素からオンオフフラグを導出している(デプス/テクスチャが存在する場合のみデプス/テクスチャ拡張ツールが1になるようにオンオフフラグを導出している)が、単に、シンタックス要素の値を直接オンオフフラグに用いても構わない。
 なお、本実施形態ではウェッジレットパターンテーブルから導出されるウェッジレットパターンを用いて領域を分割してブロック予測を行うデプス符号化ツールをDMM1予測(ウェッジレット分割予測)、テクスチャの画素値から導出されるウェッジレットパターンを用いて領域を分割してブロック予測を行うデプス符号化ツールをDMM4予測(輪郭分割予測)と呼ぶ。イントラSDCウェッジ分割フラグIntraSdcWedgeFlagは、DMM1予測(ウェッジレット分割予測)のツールを利用するか否かを制御するフラグであり、イントラ輪郭分割フラグIntraContourFlagは、DMM4予測(輪郭分割予測)のツールを利用するか否かを制御するフラグである。
IvMvPredFlag = ( nuh_layer_id > 0 ) &&
NumRefListLayers[ nuh_layer_id ] > 0 && iv_mv_pred_flag[ DepthFlag ]
IvMvScalingFlag = ( nuh_layer_id > 0 ) && iv_mv_scaling_flag[ DepthFlag ]
SubPbSize = 1 << ( nuh_layer_id > 0 ? log2_sub_pb_size_minus3[ DepthFlag ] + 3 : CtbLog2SizeY )
IvResPredFlag = ( nuh_layer_id > 0 ) &&
NumRefListLayers[ nuh_layer_id ] > 0 && iv_res_pred_flag[ DepthFlag ]
ViewSynthesisPredFlag = ( nuh_layer_id > 0 ) && 
NumRefListLayers[ nuh_layer_id ] > 0 &&
view_synthesis_pred_flag[ DepthFlag ] && depthOfRefViewsAvailFlag
DepthBasedBlkPartFlag = ( nuh_layer_id > 0 ) &&
depth_based_blk_part_flag[ DepthFlag ] && depthOfRefViewsAvailFlag
DepthRefinementFlag = ( nuh_layer_id > 0 ) &&
depth_refinement_flag[ DepthFlag ] && depthOfRefViewsAvailFlag
MpiFlag = ( nuh_layer_id > 0 ) && mpi_flag[ DepthFlag ] && 
textOfCurViewAvailFlag
MpiSubPbSize = 1 << ( log2_mpi_sub_pb_size_minus3[ DepthFlag ] + 3 )
IntraContourFlag = ( nuh_layer_id > 0 ) && 
intra_contour_flag[ DepthFlag ] && textOfCurViewAvailFlag
IntraSdcWedgeFlag = ( nuh_layer_id > 0 ) && intra_sdc_wedge_flag[ DepthFlag ]
QtPredFlag = ( nuh_layer_id > 0 ) && qt_pred_flag[ DepthFlag ] && textOfCurViewAvailFlag
InterSdcFlag = ( nuh_layer_id > 0 ) && inter_sdc_flag[ DepthFlag ]
IntraSingleFlag = ( nuh_layer_id > 0 ) && intra_single_flag[ DepthFlag ]
DisparityDerivationFlag = IvMvPredFlag | | IvResPredFlag | |
ViewSynthesisPredFlag | | DepthBasedBlkPartFlag
 ここで、nuh_layer_idは対象レイヤのレイヤID、NumRefListLayers[ nuh_layer_id ]は対象レイヤの参照レイヤ数、depthOfRefViewsAvailFlagは、対象レイヤに対応するデプスが存在するか否かを示すフラグ、textOfCurViewAvailFlagは対象レイヤに対応するテクスチャが存在するか否かを示すフラグである。上記のように、iv_mv_pred_flag[ DepthFlag ]が0の場合にIvMvPredFlagは0、iv_mv_scaling_flag[ DepthFlag ]が0の場合にIvMvScalingFlagは0、iv_res_pred_flag[ DepthFlag ]が0の場合にIvResPredFlagは0、view_synthesis_pred_flag[ DepthFlag ]が0の場合にViewSynthesisPredFlagは0、depth_based_blk_part_flag[ DepthFlag ]が0の場合にDepthBasedBlkPartFlagは0、depth_refinement_flag[ DepthFlag ]が0の場合にDepthRefinementFlagは、mpi_flag[ DepthFlag ]が0の場合にMpiFlagは0、intra_contour_flag[ DepthFlag ]が0の場合にIntraContourFlagは0、intra_sdc_wedge_flag[ DepthFlag ]が0の場合にIntraSdcWedgeFlagは0、qt_pred_flag[ DepthFlag ]が0の場合にQtPredFlagは0、inter_sdc_flag[ DepthFlag ]が0の場合にInterSdcFlagは0、intra_single_flag[ DepthFlag ]が0の場合にIntraSingleFlagは0となる。
 本実施形態のシーケンスパラメータセット拡張sps_3d_extensionの構成によれば、パラメータセットにおいて0から1のループ係数dの各値に対応するパラメータ(シンタックス要素)を復号する復号装置において、各ループ変数dに対応するパラメータ(シンタックス要素)がパラメータセット(シーケンスパラメータセット拡張)に存在するか否かを示すプレゼントフラグ3d_sps_param_present_flag[k]を復号し、プレゼントフラグ3d_sps_param_present_flag[d]が1の場合に、そのループ変数dに対応するパラメータ(シンタックス要素)を復号する。
 本実施形態の画像復号装置31は、可変長復号部301において、パラメータセットにおいて0から1のループ係数dの各値に対応するシンタックス群を復号する際に、各ループ変数dに対応するシンタックス群が前記パラメータに存在するか否かを示すプレゼントフラグ3d_sps_param_present_flag[k]を復号し、前記プレゼントフラグ3d_sps_param_present_flag[k]が1の場合に、そのループ変数dに対応するシンタックス群を復号する。これにより、テクスチャピクチャで使用されるツールをプレゼントフラグ3d_sps_param_present_flag[0]でオンオフし、テクスチャピクチャで使用されるツールをプレゼントフラグ3d_sps_param_present_flag[1]を用いて独立にオンオフすることができる。
 また、画像復号装置31の備える可変長復号部301は、ツールのオンオフを示すシンタックス群を復号し、0から1のループ変数dに応じてパラメータを復号する際に、dが0の場合に、テクスチャ拡張ツールのオンオフフラグを復号し、dが1の場合にデプス拡張ツールのオンオフフラグを復号する。より具体的には、可変長復号部301は、dが0の場合に、少なくとも視点合成予測フラグview_synthesis_pred_flagを復号し、dが1の場合に少なくともイントラSDCウェッジ分割フラグintra_sdc_wedge_flagを復号する。
 これにより、テクスチャのピクチャとデプスのピクチャでパラメータセットを共有せず、テクスチャのピクチャはテクスチャで参照するパラメータセット、デプスのピクチャはデプスで使用するパラメータセットを参照する場合において、テクスチャピクチャもしくはデプスピクチャのみで使用されるパラメータを復号することができるという効果を奏する。
 (比較例のシーケンスパラメータセット拡張sps_3d_extension)
 図25は、比較例のパラメータセットのシンタックス構成を示す。比較例のシンタックス構成では、各ループ変数dに対応するプレゼントフラグ3d_sps_param_present_flag[d]が存在しないため、テクスチャピクチャのみで使用(参照)されるパラメータセットにおいてもテクスチャピクチャで使用されるパラメータ、デプスピクチャで使用されるパラメータ両方の復号が必要であり、デプスピクチャで使用されるパラメータにおいて無駄な符号量が発生する。また、テクスチャピクチャのみで使用されるパラメータであるにも関わらずデプスピクチャで使用されるパラメータが符号化データ中に存在し、復号することは、不要な混乱を与えることになる。また、復号装置において、結局は不要となるパラメータを保持する余分な格納メモリが必要になるという課題がある。
 同様に、比較例では、デプスピクチャのみで使用(参照)されるパラメータセットにおいてもテクスチャピクチャで使用されるパラメータと、デプスピクチャで使用されるパラメータの両方の復号が必要であり、テクスチャピクチャで使用されるパラメータにおいて冗長な符号量が発生する。本実施形態の構成であれば、テクスチャピクチャで使用されるパラメータのみ、もしくは、デプスピクチャで使用されるパラメータのみを復号することが可能である。すなわち、テクスチャ拡張ツールのプレゼントフラグ3d_sps_param_present_flag[0]=1、デプス拡張ツールのプレゼントフラグ3d_sps_param_present_flag[1]=0とすればデプスピクチャで使用されるパラメータの復号は不要である。
 同様に、テクスチャ拡張ツールのプレゼントフラグ3d_sps_param_present_flag[0]=0、デプス拡張ツールのプレゼントフラグ3d_sps_param_present_flag[1]=1とすればテクスチャピクチャで使用されるパラメータの復号は不要であり、デプスピクチャで使用されるパラメータのみを定義可能である。
 可変長復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードPredMode、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flag、デプスイントラ拡張非使用フラグdim_not_present_flag、デプスイントラ予測モードフラグdepth_intra_mode_flag、ウェッジパターンインデックスwedge_full_tab_idx等である。どの符号を復号するか否かの制御は、予測パラメータ復号部302の指示に基づいて行われる。可変長復号部301は、量子化係数を逆量子化・逆DCT部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)を行い量子化して得られる係数である。可変長復号部301は、デプスDV変換テーブルDepthToDisparityBを、デプスDV導出部351に出力する。このデプスDV変換テーブルDepthToDisparityBは、デプス画像の画素値を視点画像間の変位を示す視差に変換するためのテーブルであり、デプスDV変換テーブルDepthToDisparityBの要素DepthToDisparityB[d]は、傾きcp_scaleとオフセットcp_off、傾きの精度cp_precisionを用いて、
  log2Div = BitDepthY - 1 + cp_precision
  offset = ( cp_off << BitDepthY ) + ( ( 1 << log2Div ) >> 1 )
  scale = cp_scale
  DepthToDisparityB[ d ] = ( scale * d + offset ) >> log2Div
の式によって求めることができる。パラメータcp_scale、cp_off、cp_precisionは参照する視点毎に符号化データ中のパラメータセットから復号する。なお、BitDepthYは輝度信号に対応する画素値のビット深度を示しており、例えば、値として8をとる。
 予測パラメータ復号部302は、可変長復号部301から符号の一部を入力として受け取る。予測パラメータ復号部302は、符号の一部である予測モードPredModeが示す予測モードに対応する予測パラメータを復号する。予測パラメータ復号部302は、予測モードPredModeと復号した予測パラメータを予測パラメータメモリ307と予測画像生成部308に出力する。
 インター予測パラメータ復号部303は、可変長復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。
 イントラ予測パラメータ復号部304は、可変長復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、ピクチャブロックを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 参照ピクチャメモリ306は、加算部312が生成した復号ピクチャブロックrecSamplesを、復号ピクチャブロックの位置に記憶する。
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及び可変長復号部301が分離した予測モードPredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。
 予測画像生成部308には、予測パラメータ復号部302から予測モードPredMode及び予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードPredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックpredSamples(予測画像)を生成する。
 ここで、予測モードPredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックpredSamplesを生成する。予測ピクチャブロックpredSamplesは予測ユニットPUに対応する。PUは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり1度に予測処理が行われる対象ブロックに相当する。
 インター予測画像生成部309は、予測利用フラグpredFlagLXが1である参照ピクチャリストRefPicListLXに対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャRefPicListLX[refIdxLX]から、予測ユニットを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックに動き補償を行って予測ピクチャブロックpredSamplesLXを生成する。インター予測画像生成部309は、さらに各参照ピクチャリストの参照ピクチャから導出された予測ピクチャブロックpredSamplesL0、predSamplesL1から重み付予測により予測ピクチャブロックpredSamplesを生成し、加算部312に出力する。
 予測モードPredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に処理されたブロックのうち予測ユニットから予め定めた範囲にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、例えば、左、左上、上、右上の隣接ブロックの範囲でありイントラ予測モードによって異なる。
 イントラ予測画像生成部310は、読み出した参照ピクチャブロックについてイントラ予測モードIntraPredModeが示す予測モードで予測を行って予測ピクチャブロックpredSamplesを生成し、加算部312に出力する。
 逆量子化・逆DCT部311は、可変長復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部311は、求めたDCT係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、復号残差信号を算出する。逆量子化・逆DCT部311は、算出した復号残差信号を加算部312に出力する。
 加算部312は、インター予測画像生成部309及びイントラ予測画像生成部310から入力された予測ピクチャブロックpredSamplesと逆量子化・逆DCT部311から入力された復号残差信号の信号値resSamplesを画素毎に加算して、復号ピクチャブロックrecSamplesを生成する。加算部312は、生成した復号ピクチャブロックrecSamplesを参照ピクチャメモリ306に出力する。復号ピクチャブロックはピクチャ毎に統合される。復号されたピクチャには、デブロックフィルタおよび適応オフセットフィルタが適用などのループフィルタが適用される。復号されたピクチャは復号レイヤ画像Tdとして外部に出力する。
 可変長復号部301は、図17のSYN00に示すようにsdcEnableFlagが1の場合にsdc_flagを復号する。sdcEnableFlagは以下の式により導出する。
if (CuPredMode == MODE_INTRA) 
sdcEnableFlag = (inter_sdc_flag && PartMode == PART_2Nx2N)
else if (CuPredMode == MODE_INTRA)
sdcEnableFlag = (intra_sdc_wedge_flag && PartMode == PART_2Nx2N)
else 
sdcEnableFalg = 0
 すなわち、予測モードCuPredMode[ x0 ][ y0 ]がインター予測MODE_INTERである場合InterSdcFlagが真(1)かつ分割モードPartModeが2Nx2Nの場合、sdcEnableFlagを1とする。それ以外で、予測モードCuPredMode[ x0 ][ y0 ]がイントラ予測MODE_INTRAである場合、(IntraSdcWedgeFlagが真(1)かつ分割モードPartModeが2Nx2N)の値をsdcEnableFlagへ設定する。それ以外の場合には、sdcEnableFlagを0とする。
 上記構成によれば、シーケンスパラメータセット拡張のデプスのシンタックス要素inter_sdc_flag、intra_sdc_wedge_flagから導出されるデプスのオンオフフラグInterSdcFlag、IntraSdcWedgeFlagに応じて、SDCモードを有効にするかを示すフラグsdc_flagの復号が制御される。inter_sdc_flag、intra_sdc_wedge_flagが共に0の場合には、sdc_flagの復号は行われず、SDCモードは無効となる。inter_sdc_flag、intra_sdc_wedge_flagが共に1の場合には、ピクチャがデプスかつデプスが利用可能であれば、InterSdcFlag、IntraSdcWedgeFlagが1となり、2Nx2Nの場合に、sdc_flagの復号が行われる。
 可変長復号部301は、図17のSYN01に示すように、IntraSdcWedgeFlag | | IntraContourFlagの場合(IntraSdcWedgeFlag、IntraContourFlagの少なくとも一方が1の場合)に、イントラ予測モード拡張intra_mode_ext()を復号する。ここでIntraSdcWedgeFlagは、デプス符号化ツールにおいて、DMM1予測の可否を示すフラグ(DMM1予測モード可否フラグ)であり、IntraContourFlagは、DMM4予測の可否を示すフラグである。
 上記構成によれば、シーケンスパラメータセット拡張のデプスピクチャで使用されるパラメータ(シンタックス要素)であるinter_sdc_flag、intra_contour_flagから導出されるデプスのオンオフフラグIntraSdcWedgeFlag、IntraContourFlagに応じて、イントラ予測モード拡張intra_mode_ext()の復号が制御される。
 (1)IntraSdcWedgeFlag、IntraContourFlagが共に0の場合、イントラ予測モード拡張intra_mode_ext()復号されない。この場合、DMM1予測及びDMM4予測は行われない。
 (2)IntraSdcWedgeFlagが0かつIntraContourFlagが1の場合、イントラ予測モード拡張intra_mode_ext()の内DMM1に関するシンタックス要素は復号されない。この場合、DMM1予測は行われない。
 (3)IntraContourFlagが0かつIntraSdcWedgeFlagが1の場合、イントラ予測モード拡張intra_mode_ext()内DMM4に関するシンタックス要素は復号されない。この場合、DMM4予測は行われない。
 まず、可変長復号部301は、対象PUサイズが32×32以下の場合(logPbSize<6)、デプスイントラ拡張非使用フラグdim_not_present_flag(図17(b)のSYN01A)を復号する。対象PUサイズが32×32より大きい場合には、該フラグの値を1(デプスイントラ拡張を行わない)と推定する。dim_not_present_flagは、デプスイントラ予測の有無を示すフラグであり、dim_not_present_flagの値が1の場合、デプスイントラ拡張を使用せず、対象PUでは従来のイントラ予測方式であるイントラ予測モード番号‘0’~‘34’(DC予測、Planar予測、Angular予測)のいずれかのイントラ予測方式が利用されることを示す。dim_not_present_flagが1の場合には、可変長復号部301は対象PUに関するデプスイントラ予測モードフラグdepth_intra_mode_flagを復号しない(符号化データ中にない)。また、dim_not_present_flagが0の場合は、デプスイントラ拡張が使用されることを示し、可変長復号部301はデプスイントラ予測モードフラグdepth_intra_mode_flagを復号する。
 また、可変長復号部301は、復号したデプスイントラ拡張非使用フラグdim_not_present_flagが0の場合にはさらに、depth_intra_mode_flagを復号し、対象PUのデプスイントラモードDepthIntraModeを下記式により導出する。
DepthIntraMode[ x0 ][ y0 ] = dim_not_present_flag[ x0 ][ y0 ] ? -1 : depth_intra_mode_flag[ x0 ][ y0 ]
  ここで、DepthIntraModeが-1の場合には、拡張予測以外の予測(ここではAngular予測、DC予測、Planar予測)を示し、DepthIntraModeが0の場合には、ウェッジレットパターンテーブルに格納されたウェッジレットパターンにより領域分割を行うDMM1予測(INTRA_DEP_WEDGE、INTRA_WEDGE)、1の場合には、テクスチャの輪郭により領域分割を行うDMM4予測(INTRA_DEP_CONTOUR、INTRA_CONTOUR)を示すフラグである。
 すなわち、可変長復号部301は、デプスイントラ拡張非使用フラグdim_not_present_flagが1の場合には、DMM予測を行わないのでデプスイントラモードDepthIntraModeに-1を設定し、デプスイントラ拡張非使用フラグが0の場合には、図17のSYN01Bに示すデプスイントラ予測モードフラグdepth_intra_mode_flagを復号して、DepthIntraModeにdepth_intra_mode_flagを設定する。
DepthIntraMode[ x0 ][ y0 ] = 
dim_not_present_flag[ x0 ][ y0 ] ? -1 : depth_intra_mode_flag[ x0 ][ y0 ]
 (可変長復号部301の別の構成)
 可変長復号部301が復号するイントラ拡張予測パラメータintra_mode_ext()は、図17に示す構成に限らず、図18に示す構成でも良い。図18は、イントラ拡張予測パラメータintra_mode_ext()の変形例を示す。
 イントラ拡張予測パラメータintra_mode_ext()の変形例を復号する場合、可変長復号部301は(!dim_not_present_flag[ x0 ][ y0 ] && IntraSdcWedgeFlag && IntraContourFlag)の場合、すなわち、、dim_not_present_flagが0、かつIntraSdcWedgeFlagが1、かつIntraContourFlagが1の場合に、depth_intra_mode_flagを符号化データから復号する。それ以外の場合(dim_not_present_flagが1、又はIntraSdcWedgeFlagが0、又はIntraContourFlagが1)には、depth_intra_mode_flagは符号化データに存在せず、可変長復号部301は、符号化データから復号することなしにdim_not_present_flagの値を、IntraSdcWedgeFlag及びIntraContourFlagに基づいて以下の式により導出する。
 depth_intra_mode_flag[ x0 ][ y0 ] = !IntraSdcWedgeFlag | | IntraContourFlag
 または、以下の式を用いてもよい。
 depth_intra_mode_flag[ x0 ][ y0 ] = IntraSdcWedgeFlag | | !IntraContourFlag
 もしくは、可変長復号部301は、depth_intra_mode_flagが符号化データに存在しない場合には、以下の式によりIntraSdcWedgeFlagに基づいてdepth_intra_mode_flagを導出しても良い。
 depth_intra_mode_flag[ x0 ][ y0 ] = IntraSdcWedgeFlag
 もしくは、可変長復号部301は、depth_intra_mode_flagが符号化データに存在しない場合には、以下の式によりIntraContourFlagに基づいてdepth_intra_mode_flagを導出しても良い。
 depth_intra_mode_flag[ x0 ][ y0 ] = IntraContourFlag
 もしくは、可変長復号部301は、depth_intra_mode_flagが符号化データに存在しない場合には、以下の式によりIntraSdcWedgeFlag及びIntraContourFlagに基づいてdepth_intra_mode_flagを導出しても良い。
 depth_intra_mode_flag[ x0 ][ y0 ] = IntraContourFlag ? 1 : (IntraSdcWedgeFlag ? 0 : -1)
 もしくは、可変長復号部301は、depth_intra_mode_flagが符号化データに存在しない場合には、IntraSdcWedgeFlag及びIntraContourFlagに基づいて以下の式によりdepth_intra_mode_flagを導出しても良い。
 depth_intra_mode_flag[ x0 ][ y0 ] = IntraSdcWedgeFlag ? 0 : (IntraContourFlag ? 1 : -1)
 IntraSdcWedgeFlagとIntraContourFlagのいずれか一方が1の場合には、ウェッジレットパターンにより領域分割を行うDMM1予測(INTRA_DEP_WEDGE)かテクスチャにより領域分割を行うDMM4予測(INTRA_DEP_CONTOUR)の一方しか発生しないため、2つのDMM予測モードを判別するためのフラグdepth_intra_mode_flagは冗長である。
 図18を用いて説明した変形例の可変長復号部301は、IntraSdcWedgeFlagとIntraContourFlagのいずれか一方が1の場合に、符号化データにdepth_intra_mode_flagを復号しないため、冗長な符号の復号を省略する効果を奏する。また、変形例の可変長復号部301は、depth_intra_mode_flagが符号化データ中に存在しない場合に、符号化データを復号することなしに、IntraSdcWedgeFlagとIntraContourFlagの論理演算(もしくは、IntraSdcWedgeFlagの論理演算、もしくはIntraContourFlagの論理演算)から、depth_intra_mode_flagの値を導出することができる。すなわち、depth_intra_mode_flagが符号化データ中に存在しない場合にも、DepthIntraModeを導出することができる。これによりdepth_intra_mode_flagが符号化データに存在しない場合にも、復号処理に用いられるDepthIntraMode(depth_intra_mode_flag)が不定値となることはなく最悪の場合、処理がクラッシュするような未定義の動作を行う危険を防ぐ効果を奏する。
 さらに、可変長復号部301は、DepthIntraModeを以下の式のいずれかで導出してもよい。
DepthIntraMode[ x0 ][ y0 ] = dim_not_present_flag[ x0 ][ y0 ] ? -1 : (IntraContourFlag&&IntraSdcWedgeFlag ? depth_intra_mode_flag : (!IntraSdcWedgeFlag | | IntraContourFlag)
DepthIntraMode[ x0 ][ y0 ] = dim_not_present_flag[ x0 ][ y0 ] ? -1 : (IntraContourFlag ? 1 : (IntraSdcWedgeFlag ? 0 : depth_intra_mode_flag))
DepthIntraMode[ x0 ][ y0 ] = dim_not_present_flag[ x0 ][ y0 ] ? 
-1 : (intraSdcWedgeFlag ? 0 : (IntraContourFlag ? 1 : depth_intra_mode_flag))
 上記の構成の変形例の可変長復号部301によらば、depth_intra_mode_flagが符号化データ中に存在しない場合に、符号化データを復号することなしに、dim_not_present_flagとIntraSdcWedgeFlagとIntraContourFlagの論理演算(もしくは、IntraSdcWedgeFlagの論理演算、もしくはIntraContourFlagの論理演算)からDepthIntraModeの値を導出することができる。これによりdepth_intra_mode_flagが符号化データに存在しない場合にも、復号処理に用いられるDepthIntraModeが不定値となることはなく最悪の場合、処理がクラッシュするような未定義の動作を行う危険を防ぐ効果を奏する。
 上記のように、本実施形態では、IntraSdcWedgeFlag、IntraContourFlag、dim_not_present_flagとdepth_intra_mode_flagを復号する可変長復号部301と、DMM予測を行うDMM予測部145Tを備える画像復号装置31であり、可変長復号部301は、dim_not_present_flagが0、IntraSdcWedgeFlagが1、IntraContourFlagが1の場合に、depth_intra_mode_flagを符号化データから復号し、depth_intra_mode_flagが符号化データに存在しない場合には、可変長復号部301は、depth_intra_mode_flagをIntraSdcWedgeFlagとIntraContourFlagの論理演算から導出する。また、可変長復号部301は、depth_intra_mode_flagが符号化データに存在しない場合には、depth_intra_mode_flagを!IntraSdcWedgeFlag||IntraContourFlagの論理演算から導出しても良い。また、IntraSdcWedgeFlag、IntraContourFlag、dim_not_present_flagとdepth_intra_mode_flagを復号する可変長復号部301と、DMM予測を行うDMM予測部を備える画像復号装置31において、前可変長復号部301は、dim_not_present_flagが0、IntraSdcWedgeFlagが1、IntraContourFlagが1の場合に、depth_intra_mode_flagを符号化データから復号し、DepthIntraModeをdim_not_present_flag、IntraContourFlag、IntraSdcWedgeFlagの論理式とdim_not_present_flagから導出しても良い。また可変長復号部301は
DepthIntraMode=dim_not_present_flag[ x0 ][ y0 ] ? -1 : (IntraContourFlag&&IntraSdcWedgeFlag ? depth_intra_mode_flag : (!IntraSdcWedgeFlag | | IntraContourFlag)の式により、DepthIntraModeを導出しても良い。
 (デプスイントラモードが0の場合)
 可変長復号部301は、デプスイントラモードDepthIntraModeが0の場合、すなわち、デプスイントラ予測がDMM1予測である場合、予測モードpredModeIntraへ、DMM1予測を示す予測モード番号(INTRA_WEDGE)を設定する。さらに、PU内の分割パターンを示すウェッジパターンを指定するウェッジパターンインデックスwedge_full_tab_idxを復号する。さらに、DMMフラグDmmFlagを1へ設定する。なお、DMMフラグは1の場合、DMM1予測を使用することを表わし、0の場合、DMM4予測を使用することを表わす。
 (デプスイントラモードが1の場合)
 可変長復号部301は、デプスイントラモードDepthIntraModeが1の場合、すなわち、デプスイントラ予測がDMM4予測である場合、予測モードpredModeIntraへ、DMM1予測を示す予測モード番号(INTRA_CONTOUR)を設定する。さらに、DMMフラグDmmFlag を0へ設定する。
 (デプスイントラ拡張非使用フラグが0の場合)
 可変長復号部301は、デプスイントラ拡張非使用フラグdim_not_present_flagが0の場合、対象PUのイントラ予測モードが推定予測モードMPMと一致するか否かを示すMPMフラグmpm_flagを復号する。該フラグが1の場合、対象PUのイントラ予測モードが推定予測モードMPMと一致することを示し、該フラグが0の場合、予測モード番号‘0’~‘34’(DC予測、Planar予測、Angular予測のいずれか)の中で、推定予測モードMPMを除くいずれかの予測モードであることを示す。
 可変長復号部301は、MPMフラグが1の場合、さらに、推定予測モードMPMを指定するMPMインデックスmpm_idxを復号して、該mpm_idxが示す推定予測モードを、予測モードpredModeIntraへ設定する。
 可変長復号部301は、MPMフラグが0の場合、さらに、MPM以外の予測モードを指定するためのインデックスrem_idxを復号して、該rem_idxから特定される、推定予測モードMPMを除く予測モード番号‘0’~‘34’(DC予測、Planar予測、Angular予測のいずれか)の中でいずれかの予測モード番号を、予測モードpredModeIntraへ設定する。
 (DCオフセット情報)
 可変長復号部301は、さらに、図示しないDCオフセット情報復号部111を備え、該DCオフセット情報復号部111によって、対象CU内に含まれるDCオフセット情報の復号を行う。
 より具体的には、DCオフセット情報復号部111は、対象CU内にDCオフセット情報の有無を示すCU内DCオフセット情報有無フラグcuDepthDcPresentFlagを下記式により導出する。
cuDepthDcPresentFlag = ( sdc_flag || (CuPredMode == MODE_INTRA ) )
 すなわち、SDCフラグsdc_flagが1、又は、予測タイプ情報CuPredModeがイントラ予測である場合に、該CU内DCオフセット情報有無フラグは1(真)に設定され、それ以外の場合(SDCフラグが0(偽)、かつ、インター予測の場合)は、0(偽)に設定される。該CU内DCオフセット情報有無フラグが1の場合、対象CU内にDCオフセット情報が存在しうることを示し、該フラグが0の場合、対象CU内にDCオフセット情報が存在しないことを示す。
 続いて、DCオフセット情報復号部111は、CU内DCオフセット情報有無フラグが1の場合、対象CU内のPU毎に、該PU内の1又は複数に分割された領域のデプス予測値を補正するためのDCオフセット情報を復号する。
 より具体的には、まず、DCオフセット情報復号部111は、対象PUに関するDCオフセット情報が存在しうるか否かを示すPU内DCオフセット情報有無フラグpuDepthDcPresentFlagを下記式により導出する。
puDepthDcPresentFlag = ( DepthIntraMode || sdc_flag )
 すなわち、対象PUのDMMフラグが1、又はSDCフラグが1の場合、該PU内DCオフセット情報有無フラグが1(真)に設定され、それ以外の場合(DepthIntraMode==0 && sdc_flag==0)は、0(偽)に設定される。該PU内DCオフセット情報フラグが1の場合、対象PU内にDCオフセット情報が存在しうることを示し、該フラグが0の場合、対象PU内にDCオフセット情報が存在しないことを示す。
 DCオフセット情報復号部111は、対象PUの分割領域数dcNumSegを、対象PUのDMMフラグに基づいて、下記式により導出する。
dcNumSeg = DmmFlag ? 2 : 1
 すなわち、DMMフラグが1の場合には、対象PUの分割領域数dcNumSegを2に設定し、該DMMフラグが0の場合には、dcNumSegを1に設定する。なお、X ? Y: Zは、Xが真(0以外)の場合Y、偽(0)の場合Zを選択する3項演算子である。
 DCオフセット情報復号部111は、DCオフセット情報(DCオフセット情報有無フラグdepth_dc_flag, DCオフセット絶対値depth_dc_abs[i]、DCオフセット符号depth_dc_sign_flag[i])、及び分割領域数dcNumSegに基づいて、各PU内の分割領域Ri(i=0..dcNumSeg-1)に対応するDCオフセット値DcOffset[i]を下記式により導出する。
DcOffset[i] = !depth_dc_offset_flag ? 0 : 
( 1 - 2*depth_dc_sign_flag[i] ) * ( depth_dc_abs[i] + dcNumSeg - 2 )
 すなわち、DCオフセット情報有無フラグが0の場合、分割領域RiのDCオフセット値DcOffset[i]を0へ設定し、DCオフセット情報有無フラグが1の場合には、depth_dc_sign_flag[i]、depth_dc_abs[i]、分割領域数dcNumSegに基づいて、分割領域RiのDCオフセット値DcOffset[i]を設定する。
 なお、DCオフセット値の導出式は、上記に限定されず、実施可能な範囲で変更可能である。例えば、DCオフセット値は、下記式によって導出してもよい。
DcOffset[i] = 
( 1 - 2*depth_dc_sign_flag[i] ) * ( depth_dc_abs[i] + dcNumSeg - 2 )
 (イントラ予測画像生成部の詳細)
 図19を用いてイントラ予測画像生成部310の構成についてさらに詳しく説明する。図19はイントラ予測画像生成部310の構成例について示す機能ブロック図である。なお、本構成例は、イントラ予測画像生成部310の機能のうち、イントラCUの予測画像生成に係る機能ブロックを図示している。
 図19に示すように、イントラ予測画像生成部310は、予測単位設定部141、参照画素設定部142、スイッチ143、参照画素フィルタ部144、および予測画像導出部145を備える。
 予測単位設定部141は、対象CUに含まれるPUを規定の設定順序で対象PUに設定し、対象PUに関する情報(対象PU情報)を出力する。対象PU情報には、対象PUのサイズnS、対象PUのCU内の位置、対象PUの輝度または色差プレーンを示すインデックス(輝度色差インデックスcIdx)が少なくとも含まれる。
 スイッチ143は、入力される対象PU情報のうち、輝度色差インデックスcIdx、および予測モードpredModeIntraとに基づいて、参照画素を対応する出力先へ出力する。より具体的には、輝度色差インデックスcIdxが0であり(処理対象の画素が輝度である)、かつ、予測モードpredModeIntraが、0~34である(予測モードが、Planar予測、又は、DC予測、又は、Angular予測である(predModeIntra<35))とき、スイッチ143は、入力される参照画素を、参照画素フィルタ部144へ出力する。それ以外の場合、すなわち、輝度色差インデックスcIdxが1である(処理対象の画素が色差である)、又は、予測モードpredModeIntraが、予測モード番号‘35’に割り当てられたデプスイントラ予測である(predModeIntra>=35)とき、スイッチ143は、入力される参照画素を、予測画像導出部145へ出力する。
 参照画素フィルタ部144は、入力される参照画素値にフィルタを適用して、フィルタ適用後の参照画素値を出力する。具体的には、参照画素フィルタ部144は、フィルタの適用有無を、対象PUサイズと予測モードpredModeIntraとに応じて決定する。
 予測画像導出部145は、入力されるPU情報(予測モードpredModeIntra、輝度色差インデックスcIdx、PUサイズnS)と参照画素p[x][y]に基づいて対象PUの予測画像predSamplesを生成して出力する。予測画像導出部145の詳細な説明は後述する。
  (予測画像導出部145の詳細)
 続いて、予測画像導出部145の詳細について説明する。図19に示すように、予測画像導出部145は、さらに、DC予測部145D、Planar予測部145P、Angular予測部145A、及びDMM予測部145Tを備える。
 予測画像導出部145は、入力される予測モードpredModeIntraに基づいて予測画像生成に用いる予測方式を選択する。予測方式の選択は、図20の定義に基づいて、入力される予測モードpredModeIntraの予測モード番号に対応する予測方式を選択することで実現される。
 さらに、予測画像導出部145は、予測方式の選択結果に応じた予測画像を導出する。より具体的には、予測画像導出部145は、予測方式が、Planar予測、DC予測、Angular予測、及びDMM予測の場合、それぞれ、Planar予測部145P、DC予測部145D、Angular予測部145A、及びDMM予測部145Tにより予測画像を導出する。
 DC予測部145Dは、入力される参照画素の画素値の平均値に相当するDC予測値を導出し、導出されたDC予測値を画素値とする予測画像を出力する。
 Planar予測部145Pは、予測対象画素との距離に応じて複数の参照画素を線形加算することで導出した画素値により予測画像を生成して出力する。
  [Angular予測部145A]
 Angular予測部145Aは、入力される予測モードpredModeIntraに対応する予測方向(参照方向)の参照画素を用いて対象PU内に対応する予測画像を生成して出力する。Angular予測による予測画像の生成処理では、予測モードpredModeIntraの値に応じて主参照画素を設定し、予測画像をPU内のラインまたはコラムの単位で主参照画素を参照して生成する。
  [DMM予測部145T]
 DMM予測部145Tは、入力される予測モードpredModeIntraに対応するDMM予測(Depth Modeling Mode,デプスイントラ予測ともいう)に基づいて、対象PU内に対応する予測画像を生成して出力する。
 DMM予測部145Tの詳細な説明に先だって、DMM予測の概略について説明する。デプスマップは、主に、オブジェクト境界を表わすエッジ領域、及びオブジェクトエリアを表わす平坦領域(ほぼデプス値が一定)を有するという特徴がある。まず、DMM予測では、基本的に、デプスマップの画像的特徴を利用し、対象ブロックを、オブジェクトのエッジに沿った2つの領域R0、R1に分割し、各画素が属する領域を表わすパターン情報であるウェッジレットパターンWedgePattern[x][y]を導出する。
 ウェッジレットパターンWedgePattern[x][y]は、対象ブロック(対象PU)の幅×高さ分の大きさがあるマトリックスであり、要素(x,y)毎に0、又は1が設定され、対象ブロックの各画素が2つの領域R0、R1のどちらに属するかを示す。
 以下では、図21を参照しがら、DMM予測部145Tの構成について説明する。図21は、DMM予測部145Tの構成例のついて示す機能ブロック図である。図に示すように、DC予測画像導出部145T1、DMM1ウェッジレットパターン導出部145T2、及びDMM4輪郭パターン導出部145T3を備える。
 DMM予測部145Tは、入力される予測モードpredModeIntraに対応するウェッジレットパターン生成手段(DMM1ウェッジレットパターン導出部、DMM4輪郭パターン導出部)を起動させ、対象PUの分割パターンを示すウェッジレットパターンwedgePattern[x][y]を生成する。より具体的には、予測モードpredModeIntraが、予測モード番号‘35’である場合、すなわち、INTRA_DEP_WEDGモードでは、DMM1ウェッジレットパターン導出部145T2を起動する。一方、予測モードpredModeIntraが、予測モード番号‘36’である場合、すなわち、INTRA_DEP_CONTOURモードでは、DMM4輪郭パターン導出部145T3を起動する。その後、DMM予測部145Tは、DC予測画像導出部145T1を起動して、対象PUの予測画像を取得する。
   [DC予測画像導出部145T1]
 DC予測画像導出部145T1は、概略的には、対象PUのウェッジレットパターンwedgePattern[x][y]に基づいて、対象PUを2つの領域に分割し、入力されたPT情報、及び参照画素p[x][y]に基づいて領域Rに関する予測値、及び領域R1に関する予測値を導出し、各領域に導出した予測値を予測画像predSamples[x][y]に設定して導出する。
  [DMM1ウェッジレットパターン導出部145T2]
 DMM1ウェッジレットパターン導出部145T2は、さらに、DMM1ウェッジレットパターンテーブル導出部145T6、バッファ145T5、及びウェッジレットパターンテーブル生成部145T4を備える。概略的には、DMM1ウェッジレットパターン導出部145T2は、初回起動時のみ、ウェッジレットパターンテーブル生成部145T4を起動させ、ブロックサイズ毎のウェッジレットパターンテーブルWedgePatternTableを生成する。 次に、生成したウェッジレットパターンテーブルをバッファ145T5に格納する。続いて、DMM1ウェッジレットパターンテーブル導出部145T6は、入力される対象PUサイズnS、ウェッジレットパターンインデックスwedge_full_tab_idxに基づいて、バッファ145T5に格納されたウェッジレットパターンテーブルWedgePatternTableからウェッジレットパターンwedgePattern[x][y]を導出して、DC予測画像導出部145T1へ出力する。
   [バッファ145T5]
 バッファ145T5は、ウェッジレットパターンテーブル生成部145T4より供給されるブロックサイズ別のウェッジレットパターンテーブルWedgePatternTableを記録する。
   [DMM1ウェッジレットパターンテーブル導出部145T6]
 DMM1ウェッジレットパターンテーブル導出部145T6は、入力される対象PUサイズnS、ウェッジレットパターンインデックスwedge_full_tab_idxに基づいて、バッファ145T5に格納されたウェッジレットパターンテーブルWedgePatternTableから、対象PUへ適用するウェッジレットパターンwedgePattern[x][y]を導出し、DC予測画像導出部145T1へ出力する。
wedgePattern[x][y] = WedgePatternTable[log2(nS)][wedge_full_tab_idx][x][y],
with x = 0..nS-1, y = 0..nS-1
ここで、log2(nS)は、対象PUサイズnSの2を底とする対数値である。
   [ウェッジレットパターンテーブル生成部145T6]
 ウェッジレットパターンテーブル生成部145T6は、6種類のウェッジ方向wedgeOri(wedgeOri=0..5)毎の各始点S(xs,ys), 終点E(xe,ye)に対応するウェッジレットパターンをブロックサイズ別に生成し、ウェッジレットパターンテーブルWedgePatternTableへ追加する。
 以上、ウェッジレットパターンテーブル生成部145T6は、log2BlkSizeを変数として、log2BlkSize=log2(nMinS)..log2(nMaxS)までの範囲で、ブロックサイズ毎に、(1<<log2BlkSize)×(1<<log2BlkSize)のウェッジレットパターンテーブルWedgePatternTableを生成することができる。
   [DMM4輪郭パターン導出部145T3]
 DMM4輪郭パターン導出部145T3は、対象PUの分割パターンを示すウェッジレットパターンwedgePattern[x][y]を、デプスマップDepthPic上の対象PUに対応する視点画像TexturePic上の輝度の復号画素値recTexPicに基づいて導出し、DC予測画像導出部145T1へ出力する。概略的には、DMM4輪郭パターン導出部は、デプスマップ上の対象PUの2つの領域R0、R1を、対応する視点画像TexturePic上の対象ブロックの輝度の平均値によって、対象ブロックを二値化することで導出する。
 まず、DMM4輪郭パターン導出部145T3は、外部のフレームメモリ16より、対象PUに対応する視点画像TexturePic上の対応ブロックの輝度復号画素値recTextPicを外部のフレームメモリ16より読み出し、参照画素refSamples[x][y]へ下記式によって設定する。
refSamples[x][y] = recTexPic[xB + x][yB + y], with x=0..nS-1, y=0..nS-1
 参照画素refSamples[x][y]に基づいて、対応ブロックの4隅の画素値から閾値threshValsを下記式で導出する。
threshVal = (efSamples[0][0] + refSamples[0][nS-1] + refSamples[nS-1][0] + refSamples[nS-1][nS-1]) >> 2
 続いて、DMM4輪郭パターン導出部145T3は、導出した閾値threshVal、及び参照画素refSamples[x][y]を参照して、対象PUの分割パターンを示すウェッジレットパターンwedgePattern[x][y]を下記式により導出して出力する。
wedgePattern[x][y] = (refSamples[x][y]>threshVal)
 すなわち、参照画素refSamples[x][y]が、閾値threshValより大きい場合には、ウェッジパターンの要素(x,y)に1を設定する。参照画素refSamples[x][y]が、閾値threshVal以下の場合には、ウェッジレットパターンの要素(x,y)に0を設定する。
 (インター予測パラメータ復号部の構成)
 次に、インター予測パラメータ復号部303の構成について説明する。図8は、本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。インター予測パラメータ復号部303は、インター予測パラメータ復号制御部3031、AMVP予測パラメータ導出部3032、加算部3035及びマージモードパラメータ導出部3036、変位導出部30363を含んで構成される。
 インター予測パラメータ復号制御部3031は、インター予測に関連する符号(シンタックス要素の復号を可変長復号部301に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flag、DBBPフラグdbbp_flagを抽出する。インター予測パラメータ復号制御部3031が、あるシンタックス要素を抽出すると表現する場合は、あるシンタックス要素の復号を可変長復号部301に指示し、該当のシンタックス要素を符号化データから読み出すことを意味する。
 インター予測パラメータ復号制御部3031は、マージフラグmerge_flagが1、すなわち、予測ユニットがマージモードの場合、マージインデックスmerge_idxを符号化データから抽出する。インター予測パラメータ復号制御部3031は、抽出した残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flag及びマージインデックスmerge_idxをマージモードパラメータ導出部3036に出力する。
 インター予測パラメータ復号制御部3031は、マージフラグmerge_flagが0、すなわち、予測ブロックがAMVP予測モードの場合、可変長復号部301を用いて符号化データからインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを抽出する。インター予測パラメータ復号制御部3031は、抽出したインター予測識別子inter_pred_idcから導出した予測利用フラグpredFlagLXと、参照ピクチャインデックスrefIdxLXをAMVP予測パラメータ導出部3032及び予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号制御部3031は、抽出した予測ベクトルフラグmvp_LX_flagをAMVP予測パラメータ導出部3032に出力し抽出した差分ベクトルmvdLXを加算部3035に出力する。
 インター予測パラメータ復号制御部3031は、cu_skip_flag、pred_mode、part_modeを復号する。ここで、cu_skip_flagは対象CUがスキップであるか否かを示すフラグである。スキップの場合にはPartModeは2N×2Nに限定され、分割モードpart_modeの復号は省略される。符号化データから復号した分割モードpart_modeは分割モードPredModeにセットされる。
 また、インター予測パラメータ復号制御部3031は、インター予測パラメータ導出時に導出された変位ベクトル(NBDV)、及び視点合成予測(VSP、ViewSynthesisPrediction)を行うか否かを示すフラグであるVSPモードフラグVspModeFlagを、インター予測画像生成部309に出力する。
 図9は、本実施形態に係るマージモードパラメータ導出部3036(予測ベクトル導出装置)の構成を示す概略図である。マージモードパラメータ導出部3036は、マージ候補導出部30361とマージ候補選択部30362、双予測制限部30363を備える。マージ候補導出部30361は、マージ候補格納部303611と、拡張マージ候補導出部30370と基本マージ候補導出部30380を含んで構成される。
 マージ候補格納部303611は、拡張マージ候補導出部30370及び基本マージ候補導出部30380から入力されたマージ候補をマージ候補リストmergeCandListに格納する。なお、マージ候補は、予測利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLXから構成され、さらに、VSPモードフラグVspModeFlag、変位ベクトルMvDisp、レイヤIDRefViewIdxなどを含んでも良い。マージ候補格納部303611において、マージ候補リストmergeCandListに格納されたマージ候補は、リスト先頭の候補から0、1、2・・・Nのインデックスが対応づけられる。
 図10は、マージ候補導出部30361が導出するマージ候補リストmergeCandListの例を示すものである。図10(a)は、ベースレイヤ(レイヤIDnal_unit_layer=0のレイヤ)において、マージ候補格納部303611が導出するマージ候補を示す。2つのマージ候補が同じ予測パラメータである場合に順番を詰める処理(プルーニング処理)を除くと、マージインデックス順に、空間マージ候補(A1)、空間マージ候補(B1)、空間マージ候補(B0)、空間マージ候補(A0)、空間マージ候補(B2)の順になる。なお、括弧内は、マージ候補のニックネームであり、空間マージ候補の場合には、導出に用いる参照ブロックの位置に対応する。また、それ以降に、結合マージ候補(結合双予測マージ候補、combined bi-predictive merging candidates)、ゼロマージ候補(ゼロ動きマージ候補、zero motion vector merging candidates)があるが、図10では省略している。これらのマージ候補、つまり、空間マージ候補、時間マージ候補、結合マージ候補、ゼロマージ候補は、基本マージ候補導出部30380により導出される。図10(b)は、ベースレイヤ以外のレイヤであるエンハンスメントレイヤ(レイヤID nal_unit_layer!=0のレイヤ)においてマージ候補格納部303611が導出するマージ候補リスト(拡張マージ候補リスト)を示す。拡張マージ候補リストextMergeCandListは、テクスチャマージ候補(T)、インタービュ-マージ候補(IV)、空間マージ候補(A1)、空間マージ候補(B1)、VSPマージ候補(VSP)、空間マージ候補(B0)、変位マージ候補(DI)、空間マージ候補(A0)、空間マージ候補(B2)、インタービューシフトマージ候補(IVShift)、変位シフトマージ候補(DIShift)、時間マージ候補(Col)の順になる。なお、括弧内は、マージ候補のニックネームである。また、それ以降に、結合マージ候補、ゼロマージ候補があるが、図10では省略している。なお図では、変位シフトマージ候補(DIShift)を省略している。また、デプスマージ候補(D)を、テクスチャマージ候補の後に拡張マージ候補リストの後ろに追加しても良い。
 マージモードパラメータ導出部3036は、基本マージ候補リストbaseMergeCandidate[]と拡張マージ候補リストextMergeCandidate[]を構築する。以下では、マージモードパラメータ導出部3036に含まれるマージ候補格納部303611がリストの構築を行う構成を示すが、マージ候補格納部303611に限らない。例えば、マージ候補導出部30361が個々のマージ候補を導出するだけでなくマージ候補リストを導出しても良い。
 拡張マージ候補リストextMergeCandList、基本マージ候補リストbaseMergeCandListは、以下の処理により構築される。
i = 0
if( availableFlagT )
extMergeCandList[ i++ ] = T
if( availableFlagIV && ( !availableFlagT | | differentMotion( T, IV ) ) )
extMergeCandList[ i++ ] = IV
N = DepthFlag ? T : IV
if( availableFlagA1 && ( !availableFlagN | | differentMotion( N, A1 ) ) )
extMergeCandList[ i++ ] = A1
if( availableFlagB1 && ( !availableFlagN | | differentMotion( N, B1 ) ) )
extMergeCandList[ i++ ] = B1
if( availableFlagVSP && !( availableFlagA1 && VspModeFlag[ xPb - 1 ][ yPb + nPbH - 1 ] ) && 
i < ( 5 + NumExtraMergeCand ) )
extMergeCandList[ i++ ] = VSP      処理(A-1)
if( availableFlagB0 )
extMergeCandList[ i++ ] = B0
if( availableFlagDI && ( !availableFlagA1 | | differentMotion( A1, DI ) ) && 
( !availableFlagB1 | | differentMotion( B1, DI ) ) && 
( i < ( 5 + NumExtraMergeCand ) ) )
extMergeCandList[ i++ ] = DI
if( availableFlagA0 && i < ( 5 + NumExtraMergeCand ) )
extMergeCandList[ i++ ] = A0
if( availableFlagB2 && i < ( 5 + NumExtraMergeCand ) )
extMergeCandList[ i++ ] = B2
if( availableFlagIVShift && i < ( 5 + NumExtraMergeCand ) && 
 
( !availableFlagIV | | differentMotion( IV, IVShift ) ) )
extMergeCandList[ i++ ] = IVShift
if( availableFlagDIShift && i < ( 5 + NumExtraMergeCand ) )
extMergeCandList[ i++ ] = DIShift
j = 0
while( i < MaxNumMergeCand ) {
N = baseMergeCandList[ j++ ]
if( N != A1 && N != B1 && N != B0 && N != A0
&& N != B2 )
extMergeCandList[ i++ ] = N
}
 ここで、availableFlagNは、マージ候補Nが利用可能か否かを示す。利用可能であれば1、利用可能でなければ0となる。differentMotion( N, M )はマージ候補Nとマージ候補Mが異なる動き情報(予測パラメータ)を有しているか否かを識別する関数であり、予測フラグpredFlag、動きベクトルmvLX、参照インデックスrefIdxがL0、L1の何れかで異なる場合、すなわち、以下の条件を1つ以上満たす場合に1、それ以外に0となる。
  predFlagLXN != predFlagLXM (X=0.. 1)
  mvLXN != mvLXM (X=0.. 1)
  refIdxLXN != refIdxLXM (X=0.. 1)
 例えば、( !availableFlagT | | differentMotion( T, IV ) )は、テクスチャマージ候補Tが利用可能(availableFlagT)であり、テクスチャマージ候補Tとインタビューマージ候補IVが同じ予測パラメータをもてば(differentMotion( T, IV )==0)、プルーニングを行い、インタビューマージ候補IVを拡張マージ候補リストに追加しないことを示す。式F5では、追加しない場合の否定となる場合にマージ候補の追加を行うことで、上記、処理を行っている。すなわち、テクスチャマージ候補Tが利用可能ではない(!availableFlagT)、もしくは、テクスチャマージ候補Tとインタビューマージ候補IVが異なる予測パラメータをもてば(differentMotion( T, IV ))、プルーニングは行われず、インタビューマージ候補IVを拡張マージ候補リストに追加する。
 なお、上記処理(A-1)で示すようにVSP候補は、視点合成予測実施可能availableFlagVSPが1かつ、A1の利用可能フラグが1かつA1位置のVspModeFlagが1の場合以外に追加マージ候補リストextMergeCandListに追加される。視点合成予測実施可能availableFlagVSPは、シーケンスパラメータセット拡張から復号されるテクスチャ拡張ツールのオンオフフラグの1つのview_synthesis_pred_flag[ DepthFlag ]が1の場合(ViewSynthesisPredFlagが1の場合)にのみ1となる。よって、マージ候補Nに視点合成予測であるVSPを用いるか否かであるツールのオンオフは、view_synthesis_pred_flagにより制御される。
 (マージ候補候補選択)
 マージ候補選択部30362は、マージ候補格納部303611に格納されているマージ候補のうち、インター予測パラメータ復号制御部3031から入力されたマージインデックスmerge_idxに対応するインデックスが割り当てられたマージ候補を、対象PUのインター予測パラメータとして選択する。つまり、マージ候補リストをmergeCandListとするとmergeCandList[merge_idx]で示される予測パラメータを選択し、双予測制限部30363に出力する。
 具体的には、マージ候補選択部30362は、予測ユニットのサイズ(横nOrigPbW、縦nOrigPbH)に応じて、merge_idxで示されるマージ候補Nを基本マージ候補リストもしくは拡張マージ候補リストから導出する。
If ( nOrigPbW + nOrigPbH == 12),
 N = baseMergeCandList[ merge_idx ]
else, ( ( nOrigPbW + nOrigPbH ) != 12 ), 
 N = extMergeCandList[ merge_idx ]
 すなわち、PUサイズが小さい場合には、基本マージ候補リストbaseMergeCandidateListを用い、それ以外の場合には拡張マージ候補リストextMergeCandidateListを用いる。
 マージ候補選択部30362は、隣接ブロックのVSPモードフラグVspModeFlagを参照してマージ候補NをVSPとするかを決定する。また、後続のブロックで参照するために、対象ブロックの位置のVSPモードフラグVspModeFlagを設定する。具体的には、視点合成予測実施可能availableFlagVSPが1かつ、Nが空間マージ候補A1で、隣接ブロックA1がVSPである(VspModeFlag[ xPb - 1 ][ yPb + nPbH - 1 ]が1)の場合、対象ブロックのマージ候補NをVSPに設定する。視点合成予測実施可能availableFlagVSPは、シーケンスパラメータセット拡張から復号されるテクスチャ拡張ツールのオンオフフラグにより設定されるため、マージ候補Nに視点合成予測であるVSPを用いるか否かであるツールのオンオフは、view_synthesis_pred_flagにより制御される。
 また、対象ブロックのマージ候補NがVSPの場合、対象ブロックの位置のマージ候補であるかを示すフラグVspModeFlagを1に設定する。
 (インタービューマージ候補)
 インタービューマージ候補は、レイヤ間マージ候補導出部30371(インタービューマージ候補導出部)において、後述の変位ベクトル導出部352が特定した対象ピクチャと同一POCを有し、異なるビューID(refViewIdx)を有する参照ピクチャivRefPicの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。この処理をインタービュー動き候補導出処理と呼ぶ。
 レイヤ間マージ候補導出部30371は、インタービュー予測フラグIvMvPredFlagが1の場合に、対象ピクチャとは異なるレイヤ(対象ピクチャとは異なる視点)の参照ピクチャの予測パラメータ(動きベクトルなど)を参照し、インタビューマージ候補IVと、インタビューシフトマージ候補IVShiftを導出する。
 レイヤ間マージ候補導出部30371は、ブロックの左上座標を(xPb、yPb)、ブロックの幅と高さをnPbW、nPbH、変位ベクトル導出部352から導出される変位ベクトルを(mvDisp[0], mvDisp[1])とする場合に、参照座標(xRef, yRef)を以下の式から導出し、インタビューマージ候補IVを導出する。
  xRefIVFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yRefIVFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
  xRefIV = Clip3( 0, PicWidthInSamplesL - 1, ( xRefIVFull >> 3 ) << 3 )
  yRefIV = Clip3( 0, PicHeightInSamplesL - 1, ( yRefIVFull >> 3 ) << 3 )
 ここで、レイヤ間マージ候補導出部30371は対象ブロック視差ベクトルの水平方向をmvDisp[0]、垂直方向をmvDisp[1])とした場合に、対象ブロックの整数精度に換算した視差ベクトルの水平方向を( mvDisp[ 0 ] + 2 ) >> 2、垂直方向を( ( mvDisp[ 1 ] + 2 ) >> 2 )により導出している。すなわち、N分の1画素精度の視差ベクトルmvDispを整数精度に正規化するために、ラウンド制御用の定数(N/2)を加算した後に、log2(N)だけ右シフトすることで1/Nとして、正規化している。ここでは視差ベクトルは4分の1精度、すなわちN=4を考慮しているのでラウンド用定数は2、右シフトは2(=log2(4))を用いる。 
 また、ここで、レイヤ間マージ候補導出部30371は、中間座標(xRef, yRef)を画面サイズ内(PicWidthInSamplesL、PicHeightInSamplesL)にクリップした上で、右に3ビット、左に3ビットすることによりMの倍数(ここではM=8)に制限する。これにより、参照ピクチャで動きベクトルを参照する位置がM×Mグリッドに制限されるため、M×M単位で動きベクトルを格納すれば良く、動きベクトル格納に必要なメモリ量が小さくなる。なお、Mは8に限らず16でも良い。この場合、以下のように右に4ビット、左に4ビットシフトして16の倍数に制限しても良い(以下、同様)
  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 4 ) << 4 )
  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 4 ) << 4 )
 レイヤ間マージ候補導出部30371は、ブロックの左上座標を(xPb、yPb)、ブロックの幅と高さをnPbW、nPbH、変位ベクトル導出部352から導出される変位ベクトルを(mvDisp[0], mvDisp[1])とする場合に、参照座標(xRef, yRef)を以下の式から導出しインタビューシフトマージ候補IVShiftを導出する。
  xRefIVShiftFull = xPb + ( nPbW + K ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yRefIVShiftFull = yPb + ( nPbH + K ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
  xRefIVShift = Clip3( 0, PicWidthInSamplesL - 1, ( xRefIVShiftFull >> 3 ) << 3 )
  yRefIVShift = Clip3( 0, PicHeightInSamplesL - 1, ( yRefIVShiftFull >> 3 ) << 3 )
 ここで定数Kは、参照位置制限をMの倍数とする場合には、M-8からM-1の定数とする。ここではM=8であるためKは0から7の定数である。
 なお、インタービューマージ候補(IV)の場合に1、インタービューシフトマージ候補(IVShift)の場合に0となる変数offsetBLFlagを用いて以下の式を用いて、導出しても良い。
xRefFull = xPb + 
(offsetBLFlag? (nPbW + K ) : ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + 2) >> 2 ))
yRefFull = yPb + 
(offsetBLFlag? (nPbH + K ) : ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + 2) >> 2 ))
  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
 上記のように定数Kは0から7の所定の定数とするが、発明者らの実験ではKが1、2、3の何れかである場合に特に符号化効率上好適であることが得られた。
 なお、参照ブロック座標を16の倍数に制限する場合には、上記式において、xRef、及びyRefの導出式を下記式に置き換えればよい。
  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 4 ) << 4 )
  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 4 ) << 4 )
 なお、定数Kは、参照位置制限をMが16の場合であるから、M-8からM-1の定数として、Kは8から15の定数とする。
 図1は、本実施形態のインタービューマージ候補IVの位置(xRefIV、yRefIV)、インタービューシフトマージ候補IVShiftの位置(xRefIVShift、yRefIVShift)を説明する図である。
 図に示すとおり、インタービューマージ候補IVの位置(xRefIV、yRefIV)は、対象ブロックの位置(xPb, yPb)に正規化された視差ベクトルだけ加算した位置に、ブロックサイズの半分(nPbW/2、nPbH/2)に相当する変位(nPbW>>1, nPbH>>1)だけ加算した位置(xRefIVFull、yRefIVFull)から導出される。
 図に示すとおり、インタービューシフトマージ候補IVShiftの位置(xRefIVShift、yRefIVShift)は、対象ブロックの位置(xPb, yPb)に正規化された視差ベクトルだけ加算した位置に、ブロックサイズに所定の定数だけ加算した変位(nPbW+K, nPbH+K)だけ加算した位置(xRefIVShiftFull、yRefIVShiftFull)から導出される。
 レイヤ間マージ候補導出部30371は、インタービュー動き候補導出部303711を利用して、さらに導出した参照ブロック座標(xRefIV、yRefIV)、(xRefIVShift、yRefIVShift)に位置する動きベクトルから、インタービューマージ候補IV、インタービューシフトマージ候補IVShiftの動きベクトルを導出する。
 本実施形態では、インタービューマージ候補IV、インタービューマージシフト候補IVShiftのどちらの場合も、同じ正規化された視差ベクトルである、( ( mvDisp[ 0 ] + 2) >> 2 )、 ( mvDisp[ 1 ] + 2) >> 2 ))を用いるため処理が容易であるという効果を奏する。
 図15は、定数Kの必要性を説明する図である。図15では、-1から4までのKについて、ブロックサイズnPbWと視差ベクトルMvDisp[0]を変化させた場合に、8の倍数(M=8)で正規化された参照位置であるxRefIVとxRefIVShiftがどのように変化するかを示す図である。なお垂直方向の位置yRefIVとyRefIVShiftについては、ブロックサイズnPbWと視差ベクトルMvDisp[0]をnPbH、MvDisp[1]に置き変えればよい。図に示すようにK=-1、0のときには、インタービューマージ候補の参照位置xRefIVとインタービューシフトマージ候補の参照位置xRefIVShiftが等しくなることが多いことが分かる。それに対しK=1、2、3ではインタービューマージ候補の位置xRefIVとインタービューシフトマージ候補の参照位置xRefIVShiftが一部の場合で等しくなる、K=4では2つの候補の参照位置xRefIVとxRefIVShiftが等しい場合がなくなる。K=1、2、3の場合には視差ベクトルベクトルMvDisp[0]が小さい場合にのみ、インタービューマージ候補の参照位置xRefIVとインタービューシフトマージ候補の参照位置xRefIVShiftが等しくなる状態にある。この場合、3次元動画の典型的なケースであるカメラを水平に配置した場合(垂直視差ベクトルがほぼ0の場合)に視差ベクトルがほぼ0であるが0とは限らない場合に垂直方向の位置をインタービューマージ候補の参照位置とインタービューシフトマージ候補で同じ位置とすることができる。
 次に、レイヤ間マージ候補導出部30371は、インタービューマージ候補IV、インタービューシフトマージ候補IVShiftの各々に対して、各参照ブロック位置(xRef, yRef)に基づいて、図示しないインタービュー動き候補導出部303711において、インタービュー動き候補導出処理を行う。
 インタービュー動き候補導出部303711は、参照ブロック位置(xRef, yRef)で示される座標を含む参照ピクチャivRefPic上の予測ユニット(輝度予測ブロック)の左上座標を(xIvRefPb,yIvRefPb)として導出する。さらに、参照ピクチャivRefPic上の座標(x, y)での予測ユニットが備える参照ピクチャリスト、予測リストフラグ、ベクトル、参照ピクチャインデックスrefPicListLYIvRef, predFlagLYIvRef[ x ][ y ], mvLYIvRef[ x ][ y ], refIdxLYIvRef[ x ][ y ]から、以下の処理により、動き候補の予測パラメーラである予測可能フラグavailableFlagLXInterView、ベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXを導出する。
  (availFlagLXInterView,mvLXInterView,refIdxLXの導出処理)
 インタービュー動き候補導出部303711は、予測利用フラグpredFlagLYIvRef[ xIvRefPb ][ yIvRefPb ]が1の場合には、0から参照ピクチャリスト要素数-1(num_ref_idx_lX_active_minus1)のインデックスiについて、参照ピクチャivRefPic上の予測ユニットのPOCであるPicOrderCnt( refPicListLYIvRef[ refIdxLYIvRef[ xIvRefPb ][ yIvRefPb ] ])と対象予測ユニットの参照ピクチャのPOCであるPicOrderCnt( RefPicListLX[i ] )が等しいか否かを判定し、等しい場合(すなわちmvLYIvRef[ xIvRefPb ][ yIvRefPb ]が変位ベクトルである場合に)、予測可能フラグavailableFlagLXInterView、ベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXを以下の式により導出する。
  availableFlagLXInterView = 1
  mvLXInterView = mvLYIvRef[ xIvRefPb ][ yIvRefPb ]
  refIdxLX = i
 すなわち、インタービュー動き候補導出部303711は、対象予測ユニットが参照する参照ピクチャと、参照ピクチャivRefPic上の予測ユニットが参照する参照ピクチャが同一の場合には、参照ピクチャivRefPic上の予測ユニットの予測パラメータを用いて、ベクトルmvLXInterViewと参照ピクチャインデックスrefIdxLXを導出する。
 なお、インタービューマージ候補では、予測ユニットをさらに分割したサブブロック単位で予測パラメータを割り当てても構わない。例えば、予測ユニットの幅と高さがnPbW、nPbH、サブブロックの最小サイズがSubPbSizeの場合には、サブブロックの幅nSbWと高さnSbHを以下の式により導出する。
 minSize = DepthFlag ? MpiSubPbSize : SubPbSize
 nSbW = ( nPbW % minSize != 0 | | nPbH % minSize != 0 ) ? nPbW : minSize
 nSbH = ( nPbW % minSize != 0 | | nPbH % minSize != 0 ) ? nPbH : minSize 続いて、上述のインタービュー動き候補導出部303711により各サブブロックに対して、ベクトルspMvLX[ xBlk ][ yBlk ]、参照ピクチャインデックスspRefIdxLX[ xBlk ][ yBlk ]、予測利用フラグspPredFlagLX[ xBlk ][ yBlk ]を導出する。
 ここで(xBlk、yBlk)は、サブブロックの予測ユニット内の相対座標(予測ユニットの左上座標を基準とした座標)であり、各々0から( nPbW / nSbW - 1 )、0から( nPbH / nSbH- 1 )の整数値をとる。予測ユニットの座標を(xPb、yPb)、サブブロックの予測ユニット内の相対座標(xBlk、yBlk)とすると、サブブロックのピクチャ内座標は、 (xPb+xBlk*nSbW,yPb+yBlk*nSbH)で表現される。
 サブブロックのピクチャ内座標(xPb+xBlk*nSbW,yPb+yBlk*nSbH)、サブブロックの幅nSbWと高さnSbHを、インタービュー動き候補導出部303711の入力の(xPb、yPb)、nPbW、nPbHとして、サブブロック単位で、インタービュー動き候補導出処理を行う。 インタービュー動き候補導出部303711は、上記処理において、予測可能フラグavailableFlagLXInterViewが0となったサブブロックについては、インタービューマージ候補のベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXInterView、予測利用フラグavailableFlagLXInterViewからサブブロックに対応するベクトルspMvLX、参照ピクチャインデックスspRefIdxLX、予測利用フラグspPredFlagLX、を以下の式により導出する。
  spMvLX[ xBlk ][ yBlk ] = mvLXInterView
  spRefIdxLX[ xBlk ][ yBlk ] = refIdxLXInterView
  spPredFlagLX[ xBlk ][ yBlk ] = availableFlagLXInterView
 なお、xBlk、yBlkはサブブロックアドレスであり、各々0から( nPbW / nSbW - 1 )、0から( nPbH / nSbH - 1 )の値をとる。なお、インタービューマージ候補のベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXInterView、予測利用フラグavailableFlagLXInterViewは、( xPb + ( nPbW / nSbW / 2 ) * nSbW, yPb + ( nPbH / nSbH / 2 ) * nSbH )を参照ブロック座標としてインタービュー動き候補導出部303711インタービュー動き候補導出処理を行うことで導出する。 なお、サブブロック単位で導出する場合には、本実施形態のマージモードパラメータ導出部1121(予測ベクトル導出装置)の備えるインタービュー動き候補導出部303711は、参照位置を制御するパラメータのoffsetFlagとして、インタービューシフトマージ候補(IVShift)ではなく、インタービューマージ候補(IV)の参照位置を用いるために0を設定する。
 (デプスマージ候補)
 デプスマージ候補Dは、拡張マージ候補導出部30370内の図示しないデプスマージ候補導出部において、導出される。デプスマージ候補Dは、変位導出部30363から入力される座標(xRef, yRef)の予測ブロックの変位mvLXD[ xRef ][ yRef ][ 0 ]を以下の式により変換して得られるデプス値dispDerivedDepthValを、予測画像の画素値とするマージ候補である。
 dispVal = mvLXD[ xRef ][ yRef ][ 0 ]
 dispDerivedDepthVal = DispToDepthF( refViewIdx, dispVal )
 ここでDispToDepthF(X, Y)はビューインデックスXのピクチャを参照ピクチャとする場合に、変位Yからデプス値を導出する関数である。
 (インタービューシフトマージ候補の比較例の構成)
 以下、本実施形態のインタービューシフトマージ候補と対比して、比較例のインタービューシフトマージ候補を説明する。図24は、比較例のインタービューマージ候補IVの位置(xRefIV、yRefIV)、インタービューシフトマージ候補IVShiftの位置(xRefIVShift、yRefIVShift)を説明する図である。
 図24に示すように、比較例のインタービューシフトマージ候補では、インタービューシフトマージ候補IVShiftの参照位置として、対象ブロックの視差ベクトルmvDispを対象ブロックのサイズnPbW、nPbHで修正して以下の視差ベクトルmvDisp´を導出する。
 mvDisp´[0] = mvDisp[ 0 ] + nPbW * 2 + 4 + 2
 mvDisp´[1] = mvDisp[ 1 ] + nPbH * 2 + 4 + 2
 さらに、上記、修正視差ベクトルmvDisp´を利用して以下の式で、参照ブロック位置(xRef, yRef)を導出する。
  xRefFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yRefFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
 (本実施形態のマージモードパラメータ導出部の効果)
 本実施形態のマージモードパラメータ導出部1121(予測ベクトル導出装置)では、対象ブロックのサイズnPbW、nPbと修正された視差ベクトルから参照ブロック位置(xRef, yRef)を導出することなく、対象ブロックの位置と視差ベクトルmvDispと対象ブロックのサイズnPbW、nPbHから直接参照ブロック位置(xRef, yRef)を導出するため処理が簡単になるという効果を奏する。
 また、直接参照ブロック位置(xRef, yRef)として、整数化した視差ベクトルmvDispを加算した対象ブロックの位置にサイズnPbW+K、サイズnPbW+Kを加えた後に、参照位置をMの倍数に正規化する処理を行い、直接参照ブロック位置(xRef, yRef)を導出する。この場合、右3ビットシフト後に左3ビットシフトを行うような、8の倍数に参照位置を正規化する処理を行った場合にも、インタービューシフトマージ候補IVの参照ブロック位置(xRef, yRef)と、インタービューシフトマージ候補IVShiftの参照ブロック位置(xRef, yRef)が異なることが多くなる。従って、2つのマージ候補を差別化することができるという効果を奏する。
 (変位マージ候補)
 変位マージ候補導出部30373は、変位ベクトル導出部352から入力される変位ベクトルから、変位マージ候補(DI)、シフト変位マージ候補(DIShift)を導出する。変位マージ候補導出部30373は、入力された変位ベクトル(mvDisp[0], mvDisp[1])に基づいて、水平成分がmvDisp[0]であり、垂直成分が0であるベクトルを変位マージ候補(DI)として、以下の式により生成する。
  mvL0DI[ 0 ] = DepthFlag ? ( mvDisp[ 0 ] + 2 ) >> 2 : mvDisp[ 0 ] 
  mvL0DI[ 1 ] = 0
 ここで、DepthFlagは、デプスの場合に1、テクスチャの場合に0となる変数である。
 変位マージ候補導出部30373は、生成したベクトルと、変位ベクトルが指す先のレイヤ画像の参照ピクチャインデックスrefIdxLX(例えば、復号対象ピクチャと同一POCを持つベースレイヤ画像のインデックス)をマージ候補としてマージ候補格納部303611に出力する。
 変位マージ候補導出部30373は、シフト変位マージ候補(DI)として、変位マージ候補を水平方向にずらしたベクトルを有するマージ候補を以下の式により導出する。
  mvLXDIShift[ 0 ] = mvL0DI[ 0 ] + 4 
  mvLXDIShift[ 1 ] = mvL0DI[ 1 ]
 (VSPマージ候補)
 VSPマージ候補導出部30374(以下、VSP予測部30374)は、視点合成予測フラグViewSynthesisPredFlagが1の場合に、VSP(視点合成予測:View Synthesis Prediction)マージ候補を導出する。すなわち、以下の式により視点合成予測実施可能availableFlagVSPを導出し、availableFlagVSPが1の場合のみVSPマージ候補を導出し、availableFlagVSPが0の場合にはVSPマージ候補を導出しない。以下の(1)~(5)の条件が1つもしくは1つ以上満たす場合には、availableFlagVSPを0とする。
 (1)ViewSynthesisPredFlagが0である
 (2)DispAvailFlagが0である
 (3)ic_flag[ xCb ][ yCb ]が1である
 (4)iv_res_pred_weight_idx[ xCb ][ yCb ] が0ではない
 (5)dbbp_flag[ xCb ][ yCb ]が1である.
 VSP予測部30374は、予測ユニットを複数のサブブロック(サブ予測ユニット)に分割し、分割したサブブロック単位で、ベクトルmvLXと参照ピクチャインデックスrefIdxLX、ビューIDRefViewIdxを設定する。VSP予測部30374は、導出したVSPマージ候補をマージ候補格納部303611に出力する。
 VSP予測部30374の図示しないパーティション分割部は、分割フラグ導出部353の導出した分割フラグhorSplitFlagに応じて、横長長方形(ここでは8×4)と縦長長方形(ここでは4×8)のいずれかを選択することでサブブロックサイズを決定する。具体的には、以下の式を用いてサブブロックの幅nSubBlkWと高さnSubBlkHを設定する。
 nSubBlkW = horSplitFlag ? 8 : 4
 nSubBlkH = horSplitFlag ? 4 : 8
 VSP予測部30374の図示しないデプスベクトル導出部は、導出されたサブブロックサイズの各々のサブブロックに対して、デプスDV導出部351から導出された動きベクトルdisparitySampleArray[]を水平成分の動きベクトルmvLX[0]、0を垂直成分の動きベクトルmvLX[1]としてベクトルmvLX[]を導出し、VSPマージ候補の予測パラメータを導出する。
 また、VSP予測部30374は、インター予測パラメータ復号制御部3031から入力された残差予測インデックスiv_res_pred_weight_idx及び照度補償フラグic_flagに応じてVSPマージ候補をマージ候補リストmergeCandListに追加するか否かを制御してもよい。具体的には、VSP予測部30374は、残差予測インデックスiv_res_pred_weight_idxが0、かつ、照度補償フラグic_flagが0の場合のみ、マージ候補リストmergeCandListの要素にVSPマージ候補を追加しても良い。
 基本マージ候補導出部30380は、空間マージ候補導出部30381と時間マージ候補導出部30382と結合マージ候補導出部30383とゼロマージ候補導出部30384を含んで構成される。基本マージ候補は、ベースレイヤで用いられるマージ候補であり、すなわち、スケーラブルではなくHEVC(例えばHEVCメインプロファイル)で用いられるマージ候補であり、少なくとも空間マージ候補、時間マージ候補の何れかを含む。
 空間マージ候補導出部30381は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータ(予測利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX)を読み出し、読み出した予測パラメータを空間マージ候補として導出する。読み出される予測パラメータは、予測ユニットから予め定めた範囲内にあるブロック(例えば、予測ユニットの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部)である隣接ブロックのそれぞれに係る予測パラメータである。導出された空間マージ候補はマージ候補格納部303611に格納される。
 以下、時間マージ候補導出部30382、結合マージ候補導出部30383、ゼロマージ候補導出部30384が導出するマージ候補では、VSPモードフラグVspModeFlagを0に設定する。
 時間マージ候補導出部30382は、予測ユニットの右下の座標を含む参照画像中のブロックの予測パラメータを予測パラメータメモリ307から読みだしマージ候補とする。参照画像の指定方法は、例えば、スライスヘッダで指定されるコロケートピクチャcol_ref_idxと、参照ピクチャリストRefPicListXから指定されるRefPicListX[col_ref_idx]で指定される参照ピクチャインデックスrefIdxLXを用いればよい導出されたマージ候補はマージ候補格納部303611に格納される。
 結合マージ候補導出部30383は、既に導出されマージ候補格納部303611に格納された2つの異なる導出済マージ候補のベクトルと参照ピクチャインデックスを、それぞれL0、L1のベクトルとして組み合わせることで結合マージ候補を導出する。導出されたマージ候補はマージ候補格納部303611に格納される。
 ゼロマージ候補導出部30384は、参照ピクチャインデックスrefIdxLXがiであり、ベクトルmvLXのX成分、Y成分が共に0であるマージ候補を、導出したマージ候補数が最大値に達するまで導出する。参照ピクチャインデックスrefIdxLXを示すiの値は、0から順に割り振られる。導出されたマージ候補はマージ候補格納部303611に格納される。
 AMVP予測パラメータ導出部3032は、参照ピクチャインデックスrefIdxに基づいて予測パラメータメモリ307が記憶するベクトルを読み出し、ベクトル候補リストmvpListLXを生成する。AMVP予測パラメータ導出部3032は、ベクトル候補mvpListLXから、予測ベクトルフラグmvp_LX_flagが示すベクトルmvpListLX[ mvp_lX_flag]を予測ベクトルmvpLXとして選択する。AMVP予測パラメータ導出部3032は、予測ベクトルmvpLXとインター予測パラメータ復号制御部から入力された差分ベクトルmvdLXを加算してベクトルmvLXを算出し、ベクトルmvLXを予測画像生成部308に出力する。
 インター予測パラメータ復号制御部3031は、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測ユニットが、L0予測(PRED_L0)、L1予測(PRED_L1)、双予測(PRED_BI)を示すインター予測識別子inter_pred_idcを復号する。
 残差予測インデックス復号部は、可変長復号部301を用いて、残差予測フラグIvResPredFlagが1、かつ、残差予測に用いる参照ピクチャがDPBに存在することを示す参照ピクチャ利用フラグRpRefPicAvailFlagが1、かつ、符号化ユニットCUがインター予測である(CuPredMode[ x0 ][ y0 ]がイントラ予測以外)かつ、符号化ユニットCUの分割モードPartMode(part_mode)が2Nx2Nの場合に符号化データから残差予測インデックスiv_res_pred_weight_idxを復号する。
 rpEnableFlag = IvResPredFlag && RpRefPicAvailFlag && ( CuPredMode[ x0 ][ y0 ] != MODE_INTRA ) && ( PartMode = = PART_2Nx2N )
 それ以外の場合には、残差予測インデックス復号部は、iv_res_pred_weight_idxに0を設定(infer)する。残差予測フラグIvResPredFlagが1の場合には、残差予測インデックスiv_res_pred_weight_idxは符号化データから復号されず0になる。残差予測フラグIvResPredFlagにより、テクスチャ拡張ツールである残差予測のオンオフを制御できる。残差予測インデックス復号部は、復号された残差予測インデックスiv_res_pred_weight_idxをマージモードパラメータ導出部3036とインター予測画像生成部309に出力する。残差予測インデックスは、残差予測の動作を変更するためのパラメータである。本実施形態では、残差予測の重みを示すインデックスであり、0、1、2の値をとる。iv_res_pred_weight_idxが0の場合には、残差予測は行わない。なお、インデックスに応じて残差予測の重みを変化させるのではなく、残差予測に用いるベクトルを変化させても良い。なお、残差予測インデックスではなく、残差予測を行うか否かを示すフラグ(残差予測フラグ)としても良い。
 照度補償フラグ復号部は、可変長復号部301を用いて、分割モードPartModeが2Nx2Nの場合に符号化データから照度補償フラグic_flagを復号する。それ以外の場合には、照度補償フラグ復号部は、ic_flagに0を設定(infer)する。照度補償フラグ復号部は、復号された照度補償フラグic_flagをマージモードパラメータ導出部3036とインター予測画像生成部309に出力する。 
 以下、予測パラメータ導出に用いる手段である変位ベクトル導出部352、分割フラグ導出部353、デプスDV導出部351を順に説明する。
 (変位ベクトル導出部352)
 変位ベクトル導出部352は、対象PUが属する符号化ユニット(対象CU)の変位ベクトル(以下、MvDisp[x][y]、もしくはmvDisp[x][y]と示す)を、符号化ユニットに空間的もしくは時間的に隣接するブロックから抽出する。具体的には、対象CUに時間的に隣接するブロックCol、時間的に隣接する第2のブロックAltCol、空間的に左に隣接するブロックA1、上に隣接するブロックB1を参照ブロックとして、その参照ブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを順に抽出する。 抽出したベクトルmvLXが変位ベクトルである場合には、その隣接ブロックの変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合には、次の隣接ブロックの予測パラメータを読み出し同様に変位ベクトルを導出する。全ての隣接ブロックにおいて変位ベクトルが導出できない場合には、ゼロベクトルを変位ベクトルとして出力する。変位ベクトル導出部352は、また、変位ベクトルを導出したブロックの参照ピクチャインデックス及びビューID(RefViewIdx[x][y]、ここで(xP、yP)は座標)を出力する。
 上記により得られた変位ベクトルはNBDV(Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部352は、さらに得られた変位ベクトルNBDVをデプスDV導出部351に出力する。デプスDV導出部351は、デプス由来の変位ベクトルdisparitySampleArrayを導出する。変位ベクトルdisparitySampleArrayを動きベクトルの水平成分mvLX[0]として、変位ベクトルとすることにより変位ベクトルを更新する。更新された変位ベクトルは、DoNBDV(Depth Orientated Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部352は、変位ベクトル(DoNBDV)をレイヤ間マージ候補導出部30371、変位マージ候補導出部30373及びVSPマージ候補導出部30374に出力する。さらに、得られた変位ベクトル(NBDV)を、インター予測画像生成部309に出力する。
 (分割フラグ導出部353)
 分割フラグ導出部353は、対象ブロックに対応するデプス画像を参照し、分割フラグhorSplitFlagを導出する。分割フラグ導出部353の入力として設定される対象ブロックの座標を(xP, yP)、幅と高さをnPSW、nPSH、変位ベクトルをmvDispであるとして以下、説明する。分割フラグ導出部353は、対象ブロックの幅と高さが等しい場合にはデプス画像を参照するが、対象ブロックの幅と高さが等しくない場合には、デプス画像を参照せずに、分割フラグhorSplitFlagを導出するを導出しても良い。以下、分割フラグ導出部353の詳細を説明する。
 分割フラグ導出部353は、参照ピクチャメモリ306から、復号対象ピクチャと同一POCを持ち、なお且つ、変位ベクトルmvDispが示す参照ピクチャのビューID(RefViewIdx)と同じビューIDであるデプス画像refDepPelsを読み出す。
 次に、分割フラグ導出部353は、対象ブロックの左上の座標(xP、yP)を変位ベクトルMvDispだけずらした座標(xTL, yTL)を、以下の式により導出する。
  xTL = xP + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yTL = yP + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
 ここで、mvDisp[ 0 ]、mvDisp[ 1 ]は、それぞれ変位ベクトルMvDispのX成分とY成分である。導出する座標(xTL, yTL)は、デプス画像refDepPels上の対象ブロックに対応するブロックの座標を示すものである。
 分割フラグ導出部353は、対象ブロックの幅nPSWもしくは高さnPSHが8の倍数以外の場合に、以下の式によりフラグminSubBlkSizeFlagを1に設定する。
minSubBlkSizeFlag = ( nPSW % 8 != 0) | | ( nPSH % 8 != 0 )
 分割フラグ導出部353は、フラグminSubBlkSizeFlagが1の場合、以下の式により、対象ブロックの高さが8の倍数以外の場合(nPSH % 8が真の場合)には、horSplitFlagに1、それ以外の場合には、0を設定する。
 horSplitFlag = ( nPSH % 8 ! = 0 )
 すなわち、対象ブロックの高さが8の倍数以外の場合(nPSH % 8が真の場合)には、horSplitFlagに1、対象ブロックの幅が8の倍数以外の場合(nPSW % 8が真の場合)には、horSplitFlagに0が設定される。
 分割フラグ導出部353は、デプス値からサブブロックサイズを導出する。予測ブロックのコーナーの4点(TL、TR、BL、BR)の比較から、サブブロックサイズを導出する。フラグminSubBlkSizeFlagが0の場合、対象ブロックの左上端(TL)の座標のデプス画像の画素値をrefDepPelsP0、右上端(TR)の画素値をrefDepPelsP1、左下端(BL)の画素値をrefDepPelsP2、右下端(BR)の画素値をrefDepPelsP3とした場合、
  horSplitFlag=( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )
の条件式(horSplitFlag)が成立するかを判定する。なお、horSplitFlagの導出には、符号を変更した以下の式を用いても良い。
  horSplitFlag=( refDepPelsP0 < refDepPelsP3 ) == ( refDepPelsP1 < refDepPelsP2 )
 分割フラグ導出部353は、horSplitFlagを、VSP予測部30374に出力する。
 なお、分割フラグ導出部353は、以下のように導出しても良い。対象ブロックの幅nPSWと高さnPSHが異なる場合には、対象ブロックの幅と高さに応じて以下の式により導出する。
 nPSW > nPSHであれば、horSplitFlag=1
 それ以外でnPSH > nPSWであれば、horSplitFlag=0
 それ以外、対象ブロックの幅と高さが等しい場合にはデプスを参照して以下の式に応じて導出する。
  horSplitFlag=( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )
 なお、分割フラグ導出部353の対象ブロックは、視点合成予測の場合には予測ユニット、DBBPの場合には幅と高さが等しいブロックである。DBBPの場合には幅と高さが等しいため、上記の導出方法では、デプス画像の4隅を参照して分割フラグhorSplitFlagが導出される。
  (デプスDV導出部351)
 デプスDV導出部351は、指定されたブロック単位(サブブロック)で、デプス由来の変位ベクトルの水平成分である視差配列disparitySamples(水平ベクトル)を導出する。デプスDV導出部351の入力は、デプスDV変換テーブルDepthToDisparityB、ブロックの幅nBlkWと高さnBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、デプス画像refDepPels上の対応ブロックの座標(xTL, yTL)と、ビューIDrefViewIdx、出力は視差配列disparitySamples(水平ベクトル)である。以下の処理により、
 デプスDV導出部351は、対象ブロックごとにデプス代表値maxDep導出に用いる画素を設定する。具体的には、対象ブロックの左上の予測ブロック(xTL, yTL)からの相対座標を(xSubB、ySubB)とした場合、サブブロックの左端のX座標xP0と、右端のX座標xP1と、上端のY座標yP0と、下端のY座標yP1を、以下の式より求める。
  xP0 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB )
  yP0 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB ) 
  xP1 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB + nBlkW - 1 )
  yP1 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB + nBlkH - 1 )
 ここで、pic_width_in_luma_samplesとpic_height_in_luma_samplesは、それぞれ画像の幅と高さを表す。
 次に、デプスDV導出部351は、対象ブロックのデプスの代表値maxDepを導出する。具体的には、サブブロックのコーナーおよびその付近4点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP0 ][ yP1 ]、refDepPels[ xP1 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値である代表デプス値maxDepを、以下の式より導出する。
  maxDep = 0
  maxDep = Max( maxDep, refDepPels[ xP0 ][ yP0 ] )
  maxDep = Max( maxDep, refDepPels[ xP0 ][ yP1 ] )
  maxDep = Max( maxDep, refDepPels[ xP1 ][ yP0 ] )
  maxDep = Max( maxDep, refDepPels[ xP1 ][ yP1 ] )
 ここで、また、関数Max(x,y)は、第1引数xが第2引数y以上であればxを、そうでなければyを返す関数である。
 デプスDV導出部351は、代表デプス値maxDepとデプスDV変換テーブルDepthToDisparityBと、変位ベクトル(NBDV)が示すレイヤのビューIDrefViewIdxを用いて、デプス由来の変位ベクトルの水平成分である視差配列disparitySamplesを、対象ブロック内の画素(x、y)(xは0からnBlkW-1、yは0からnBlkH-1の値を取る)ごとに、以下の式により導出する。
  disparitySamples[x][y] = DepthToDisparityB[refViewIdx][maxDep]・・(式A)
 デプスDV導出部351は、導出した視差配列disparitySamples[]を変位ベクトルDoNBDV(の水平成分)として、変位ベクトル導出部352に出力する。デプスDV導出部351は、また、VSP予測部30374に変位ベクトル(の水平成分)として出力する。
   (インター予測画像生成部309)
 図11は、本実施形態に係るインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き変位補償部3091、残差予測部3092、照度補償部3093、重み付け予測部3096を含んで構成される。
 インター予測画像生成部309は、インター予測パラメータ復号部303から入力されるサブブロック動き補償フラグsubPbMotionFlagが1の場合にはサブブロック単位で処理し、サブブロック動き補償フラグsubPbMotionFlagが0の場合には予測ユニット単位で以下の処理を行う。なお、サブブロック動き補償フラグsubPbMotionFlagはマージモードとして、インタービューマージ候補が選択された場合、もしくは、VSPマージ候補が選択された場合に1となる。インター予測画像生成部309は、予測パラメータを動き変位補償部3091により、予測画像predSamplesを導出する。また、インター予測画像生成部309は、残差予測インデックスiv_res_pred_weight_idxが0ではない場合に、残差予測実施フラグresPredFlagに残差予測を実行することを示す1を設定し、動き変位補償部3091と残差予測部3092に出力する。一方、残差予測インデックスiv_res_pred_weight_idxが0である場合に、残差予測実施フラグresPredFlagに0を設定し、動き変位補償部3091と残差予測部3092に出力する。
 動き変位補償部3091、残差予測部3092、照度予測部3093、単予測(predFlagL0=1もしくはpredFlagL1=1)の場合にはL0の動き補償画像predSamplesL0もしくはL1の動き補償画像predSamplesL1を導出し、双予測(predFlagL0=1かつpredFlagL1=1)の場合には、L0の動き補償画像predSamplesL0とL1の動き補償画像predSamplesL1を導出し、重み付け予測部3096に出力する。重み付け予測部3096は単予測の場合には、1つの動き補償画像predSamplesL0もしくはpredSamplesL1から予測画像predSamplesを導出し、双予測の場合には、2つの2つの動き補償画像predSamplesL0とpredSamplesL1から予測画像predSamplesを導出する。
  (動き変位補償)
 動き変位補償部3091は、予測利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLX(動きベクトル、又は変位ベクトル)に基づいて、動き予測画像predSampleLXを生成する。動き変位補償部3091は、参照ピクチャメモリ306から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャの予測ユニットの位置を起点として、ベクトルmvLXだけずれた位置にあるブロックを読み出し補間することによって予測画像を生成する。ここで、ベクトルmvLXが整数ベクトルでない場合には、動き補償フィルタ(もしくは変位補償フィルタ)と呼ばれる小数位置の画素を生成するためのフィルタを施して、予測画像を生成する。一般に、ベクトルmvLXが動きベクトルの場合、上記処理を動き補償と呼び、変位ベクトルの場合は変位補償と呼ぶ。ここでは総称して動き変位補償と表現する。以下、L0予測の予測画像をpredSamplesL0、L1予測の予測画像をpredSamplesL1と呼ぶ。両者を区別しない場合predSamplesLXと呼ぶ。以下、動き変位補償部3091で得られた予測画像predSamplesLXに、さらに残差予測および照度補償が行われる例を説明するが、これらの出力画像もまた、予測画像predSamplesLXと呼ぶ。なお、以下の残差予測および照度補償において、入力画像と出力画像を区別する場合には、入力画像をpredSamplesLX、出力画像をpredSamplesLX´と表現する。
 動き変位補償部3091は、残差予測実施フラグresPredFlagが0の場合には、輝度成分は8タップ、色差成分は4タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。残差予測実施フラグresPredFlagが1の場合には、輝度成分、色差成分ともに2タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。
 なお、サブブロック動き補償フラグsubPbMotionFlagが1の場合に、動き変位補償部3091は、サブブロック単位で動き補償を行う。具体的には、座標(xCb, yCb)のサブブロックのベクトル、参照ピクチャインデックス、参照リスト利用フラグを、以下の式から導出する。
 MvL0[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbMvL0[xCb+x][ yCb+y] : mvL0
 MvL1[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbMvL1[xCb+x][ yCb+y] : mvL1
 RefIdxL0[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbRefIdxL0[xCb+x][ yCb+y] : refIdxL0
 RefIdxL1[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbRefIdxL1[xCb+x][ yCb+y] : refIdxL1
 PredFlagL0[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbPredFlagL0[xCb+x][ yCb+y] : predFlagL0
 PredFlagL1[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbPredFlagL1[xCb+x][ yCb+y] : predFlagL1
 ここで、SubPbMvLX、SubPbRefIdxLX、SubPbPredFlagLX(Xは0, 1)は、レイヤ間マージ候補導出部30371で説明したsubPbMvLX、subPbRefIdxLX、subPbPredFlagLXに対応する。
  (残差予測)
 残差予測部3092は、残差予測実施フラグresPredFlagが1の場合に、残差予測を行う。残差予測部3092は、残差予測実施フラグresPredFlagが0の場合には、入力された予測画像predSamplesLXをそのまま出力する。refResSamples残差予測は、動き予測もしくは変位予測により生成される動き補償画像predSamplesLXの残差を推定し、対象レイヤの予測画像predSamplesLXに加えることにより行われる。具体的には、予測ユニットが動き予測の場合には、参照レイヤと同様の残差が対象レイヤにも生じると仮定して、既に導出された参照レイヤの残差を対象レイヤの残差の推定値として用いる。予測ユニットが変位予測の場合には、対象ピクチャとは異なる時刻(POC)の参照レイヤのピクチャと対象レイヤのピクチャの残差を、残差の推定値として用いる。
 残差予測部3092も、動き変位補償部3091と同様、サブブロック動き補償フラグsubPbMotionFlagが1の場合に、サブブロック単位で残差予測を行う。
 図12は残差予測部3092の構成を示すブロック図である。残差予測部3092は、参照画像補間部30922と、残差合成部30923から構成される。
 参照画像補間部30922は、残差予測実施フラグresPredFlagが1の場合には、インター予測パラメータ復号部303から入力されたベクトルmvLXと残差予測変位ベクトルmvDisp、参照ピクチャメモリ306に格納された参照ピクチャを用いて、2つの残差予測動き補償画像(対応ブロックrpPicLX、参照ブロックrpRefPicLX)を生成する。
 残差予測部3092は、対象ブロックが動き予測であるか変位予測であるかを示すフラグであるインタービュ予測フラグivRefFlagを( DiffPicOrderCnt( currPic, RefPicListX[ refIdxLX ] ) = = 0 )により導出する。ここでDiffPicOrderCnt(X, Y)はピクチャXとピクチャYのPOCの差分を示す(以下同様)。従って、対象ピクチャcurrPicのPOCと、参照ピクチャインデックスrefIdxLXと参照ピクチャリストRefPicListXで示される参照ピクチャRefPicListX[ refIdxLX ]のPOCが0である場合には、対象ブロックは変位予測が適用されるとしてivRefFlagを1に設定され、それ以外の場合には対象ブロックには動き予測が適用されるとしてivRefFlagを0に設定される。
 図13は、ベクトルmvLXが動きベクトルである場合(インタービュ予測フラグivRefFlagが0の場合)の対応ブロックrpPicLXと参照ブロックrpRefPicLXを説明するための図である。図13に示すように、対象レイヤ上の予測ユニットに対応する対応ブロックは、参照レイヤ上の画像の予測ユニットの位置を起点として、参照レイヤと対象レイヤの位置関係を示すベクトルである変位ベクトルmvDispだけずれた位置になるブロックに位置する。
 図14は、ベクトルmvLXが変位ベクトルである場合(インタービュ予測フラグivRefFlagが1の場合)の対応ブロックrpPicLXと参照ブロックrpRefPicLXを説明するための図である。図14に示すように、対応ブロックrpPicLXは、対象ピクチャとは異なる時刻かつ対象ピクチャと同じビューIDである参照ピクチャrpPic上のブロックである。残差予測部3092は、対象ブロックのベクトルmvLX(=変位ベクトルmvDisp)が指し示す先のピクチャmvPicT上の予測ユニットのベクトルであるmvTを導出する。対応ブロックrpPicLXは、予測ユニット(対象ブロック)の位置を起点として、ベクトルmvTだけずれた位置になるブロックに位置する。
 (残差予測用参照ピクチャの導出)
 残差予測部3092は、残差予測動き補償画像(rpPicLX、rpRefPicLX)の導出において参照する参照ピクチャである参照ピクチャrpPic、rpPicRefと、参照ブロックの位置(対象ブロックの座標を基準とした参照ブロックの相対座標)を示すベクトルmvRp、mvRpRefを導出する。
 残差予測部3092は、対象ブロックの属する対象ピクチャと同じ表示時刻(POC)もしくは同じビューIDであるピクチャをrpPicとして設定する。
 具体的には、残差予測部3092は、対象ブロックが動き予測の場合(インタービュ予測フラグivRefFlagが0の場合)、参照ピクチャrpPicのPOCと対象ピクチャのPOCであるPicOrderCntValが等しく、かつ、参照ピクチャrpPicのビューIDと予測ユニットの参照ビューIDRefViewIdx[ xP ][ yP ](これは対象ピクチャのビューIDは異なる)が等しい。という条件から参照ピクチャrpPicを導出する。さらに、残差予測部3092は、上記rpPicのベクトルmvRpに、変位ベクトルMvDispを設定する。
 残差予測部3092は、対象ブロックが変位予測の場合(インタービュ予測フラグivRefFlagが1の場合)、対象ブロックの予測画像生成に用いる参照ピクチャをrpPicに設定する。すなわち、対象ブロックの参照インデックスがRpRefIdxLY、参照ピクチャリストがRefPicListYの場合、参照ピクチャrpPicはRefPicListY[ RpRefIdxLY ]から導出される。さらに、残差予測部3092に含まれる図示しない残差予測用ベクトル導出部30924を含む。残差予測用ベクトル導出部30924は、上記rpPicのベクトルmvRpに、対象ブロックのベクトルmvLX(これは変位ベクトルMvDispと等しい)が指し示す先の、対象ピクチャと同一POCで、ビューIDの異なるピクチャ上の予測ユニットのベクトルであるmvTを導出し、その動きベクトルmvTをmvRpに設定する。
 次に残差予測部3092は、対象ピクチャと異なる表示時刻(POC)かつ異なるビューIDを備える参照ピクチャをrpPicRefとして設定する。
 具体的には、残差予測部3092は、対象ブロックが動き予測の場合(インタービュ予測フラグivRefFlagが0の場合)、参照ピクチャrpPicRefのPOCと対象ブロックの参照ピクチャRefPicListY[ RpRefIdxLY ]のPOCが等しく、かつ、参照ピクチャrpPicRefのビューIDと変位ベクトルMvDispの参照ピクチャのビューIDRefViewIdx[ xP ][ yP ]が等しいという条件から参照ピクチャrpPicRefを導出する。さらに、残差予測部3092は、上記rpPicRefのベクトルmvRpRefに予測ブロックの動きベクトルをスケーリングしたベクトルmvLXと、ベクトルmvRpの和(mvRp+mvLX)を設定する。
 残差予測部3092は、対象予測ユニットが変位予測の場合(インタービュ予測フラグivRefFlagが1の場合)、参照ピクチャrpPicRefのPOCが参照ピクチャrpPicのPOCと等しく、かつ、参照ピクチャrpPicRefのビューIDと予測ユニットのビューIDRefViewIdx[ xP ][ yP ]が等しいという条件から参照ピクチャrpPicRefを導出する。さらに、残差予測部3092は、上記rpPicRefのベクトルmvRpRefに予測ブロックの動きベクトルmvLXと、ベクトルmvRpの和(mvRp+mvLX)を設定する。
 すなわち、残差予測部3092では、mvRpとmvRpRefは、以下のように導出される。
 インタービュ予測フラグivRefFlagが0の場合
  mvRp = MvDisp               式(B-1)
  mvRpRef = mvRp + mvLX (=mvLX + MvDisp)  式(B-2)
 インタービュ予測フラグivRefFlagが1の場合
  mvRp = mvT                式(B-3)
  mvRpRef = mvRp + mvLX (=mvLX + mvT)    式(B-4)
 (残差予測用ベクトル導出部30924)
 残差予測用ベクトル導出部30924は、対象ピクチャと異なるピクチャ上の予測ユニットのベクトルmvTを導出する。残差予測用ベクトル導出部30924は、参照ピクチャ、対象ブロック座標(xP, yP)、対象ブロックサイズnPSW, nPSH、ベクトルmvLXを入力とし、参照ピクチャ上の予測ユニットの動き補償パラメータ(ベクトル、参照ピクチャインデックス、ビューID)からベクトルmvT及びビューIDを導出する。残差予測用ベクトル導出部30924は、入力として指示された参照ピクチャ上の、対象ブロックからベクトルmvLXだけずれた位置にあるブロックの中心座標として、参照座標(xRef, yRef)を以下の式により導出する。
xRef = Clip3( 0, PicWidthInSamplesL - 1, xP + ( nPSW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 ) )
yRef = Clip3( 0, PicHeightInSamplesL - 1, yP + ( nPSH >> 1 ) + ( ( mvDisp[ 1 ]
+ 2 ) >> 2 ) )
 残差予測用ベクトル導出部30924は、参照ブロック座標(xRef, yRef)を含む予測ユニットであるrefPUのベクトルmvLXと参照ピクチャインデックスrefPicLXを導出する。
 対象予測ユニットが変位予測(DiffPicOrderCnt (currPic, refPic)が0)かつ参照予測ユニットrefPUが動き予測の場合(DiffPicOrderCnt(refPic, refPicListRefX[ refIdxLX ])が0以外)の場合には、refPUのベクトルをmvTとし、参照可能フラグavailFlagTを1とする。上記処理により、対象ピクチャと同一POCで、ビューIDの異なるピクチャを参照ピクチャとするブロックのベクトルをmvTとして導出できる。
 残差予測用ベクトル導出部30924は、対象ピクチャと異なるピクチャ上の予測ユニットのベクトルを導出する。残差予測用ベクトル導出部30924は、対象ブロック座標(xP, yP)、対象ブロックサイズnPbW, nPbH、変位ベクトルmvDispを入力として、以下の参照ブロック座標(xRef, yRef)を導出する。
xRef = Clip3( 0, PicWidthInSamplesL - 1, xP + ( nPSW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 ) )
yRef = Clip3( 0, PicHeightInSamplesL - 1, yP + ( nPSH >> 1 ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 ) )
 残差予測用ベクトル導出部30924は、参照ブロック座標(xRef, yRef)を含む予測ユニットであるrefPUのベクトルmvLXと参照ピクチャインデックスrefPicLXを導出する。
 対象予測ユニットが動き予測(DiffPicOrderCnt( currPic, refPic)が0以外)、参照予測ユニットrefPUが変位予測の場合(DiffPicOrderCnt( refPic, refPicListRefX[ refIdxLX ])が0)には、参照可能フラグavailFlagTを1とする。これにより、対象ピクチャと同一POCで、ビューIDの異なるピクチャを参照ピクチャとするブロックのベクトルをmvTとして導出できる。
 (参照画像補間部30922)
 参照画像補間部30922は、参照ブロックrpPicLXの補間画像をベクトルmvLXに上記ベクトルmvCを設定して生成する。補間画像の画素の座標(x,y)を、予測ユニットのベクトルmvLXだけずらした位置の画素を線形補間(双線形補間)により導出する。変位ベクトルLXが1/4ペルの小数精度であることを考慮し、参照画像補間部30922は、予測ユニットの画素の座標が(xP、yP)である場合に対応する整数精度の画素R0のX座標xIntとY座標yInt、及び変位ベクトルmvDispのX成分の小数部分xFracとY成分の小数部分yFracを、以下の(式C-1)
 xInt = xPb + ( mvLX[ 0 ] >> 2 )
 yInt = yPb + ( mvLX[ 1 ] >> 2 )
 xFrac = mvLX[ 0 ] & 3 
 yFrac = mvLX[ 1 ] & 3 
の式により導出する。ここで、X & 3は、Xの下位2ビットのみを取り出す数式である。
 次に、参照画像補間部30922は、ベクトルmvLXが1/4ペルの小数精度であることを考慮し、補間画素predPartLX[ x ][ y ]を生成する。まず、整数画素A(xA,yB)、B(xB,yB)、C(xC,yC)及びD(xD,yD)の座標を、以下の(式C-2)
 xA = Clip3( 0, picWidthInSamples - 1, xInt )
 xB = Clip3( 0, picWidthInSamples - 1, xInt + 1 )
 xC = Clip3( 0, picWidthInSamples - 1, xInt )
 xD = Clip3( 0, picWidthInSamples - 1, xInt + 1 ) 
 yA = Clip3( 0, picHeightInSamples - 1, yInt )
 yB = Clip3( 0, picHeightInSamples - 1, yInt )
 yC = Clip3( 0, picHeightInSamples - 1, yInt + 1 ) 
 yD = Clip3( 0, picHeightInSamples - 1, yInt + 1 )
の式により導出する。ここで、整数画素Aは画素R0に対応した画素であり、整数画素B,C,Dはそれぞれ整数画素Aの右、下、右下に隣接する整数精度の画素である。参照画像補間部30922は、各整数画素A、B、C、及びDに対応する参照画素refPicLX[ xA][ yA ]、refPicLX[ xB ][ yB ]、refPicLX[ xC ][ yC ]、及びrefPicLX[ xD ][ yD ]を参照ピクチャメモリ306から読み出す。
 そして、参照画像補間部30922は、参照画素refPicLX[ xA ][ yA ]、refPicLX[ xB][ yB ]、refPicLX[ xC ][ yC ]、refPicLX[ xD ][ yD ]とベクトルmvLXのX成分の小数部分xFracとY成分の小数部分yFracを用いて、画素R0からベクトルmvLXの小数部分だけずらした位置の画素である補間画素predPartLX[ x ][ y ]を線形補間(双線形補間)により導出する。具体的には、以下の式(C-3)
 predPartLX[ x ][ y ] = (refPicLX[ xA ][ yA ] * ( 8 - xFrac ) * ( 8 - yFrac ) + refPicLX[ xB ][ yB ] * ( 8 - yFrac ) * xFrac + refPicLX[ xC ][ yC ] * ( 8 - xFrac ) * yFrac + refPicLX[ xD ][ yD ] * xFrac * yFrac ) >> 6
の式により導出する。
 なお、上記では対象画素の周囲の4点の画素を用いて1ステップの双線形補間により導出しているが、水平方向の線形補間と垂直方向の線形補間を分離し2ステップの線形補間により残差予測補間画像を生成しても良い。
 参照画像補間部30922は、上記の補間画素導出処理を、予測ユニット内の各画素に対して行い、補間画素の集合を補間ブロックpredPartLXとする。参照画像補間部30922は、導出した補間ブロックpredPartLXを、対応ブロックrpPicLXとして、残差合成部30923に出力する。
 参照画像補間部30922は、対応ブロックrpPicLXを導出した処理と、変位ベクトルmvLXをベクトルmvRに置き換えている点を除いて、同様の処理を行うことで、参照ブロックrpRefPicLXを導出する。参照画像補間部30922は、参照ブロックrpRefPicLXを残差合成部30923に出力する。
 (残差合成部30923)
 残差合成部30923は、残差予測実施フラグresPredFlagが1の場合には、2つの残差予測動き補償画像(rpPicLX、rpRefPicLX)の差分から残差を導出し、動き補償画像にこの残差を加算することにより予測画像を導出する。具体的には、残差合成部30923は、予測画像predSamplesLX、対応ブロックrpPicLX、参照ブロックrpRefPicLX及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX´を導出する。補正予測画像predSamplesLX´は、
 predSamplesLX´[x][y] = predSamplesLX[x][y] + ((rpPicLX[x][y] - rpRefPicLX[x][y]) >> (iv_res_pred_weight_idx - 1))
の式を用いて求める。xは0から予測ブロックの幅-1、yは0から予測ブロックの高さ-1である。残差合成部30923は、残差予測実施フラグresPredFlagが0の場合には、以下の式のように予測画像predSamplesLXをそのまま出力する。
 predSamplesLX´[x][y] = predSamplesLX[x][y]
  (照度補償)
 照度補償部3093は、照度補償フラグic_flagが1の場合に、入力された予測画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_flagが0の場合には、入力された予測画像predSamplesLXをそのまま出力する。
  (重み付け予測)
 重み付け予測部3096は、単予測の場合(predFlagL0=1/ predFlagL1=0もしくはpredFlagL0=0/ predFlagL1=1)には、L0の動き補償画像predSampleL0もしくはL1の動き補償画像predSampleL1から予測画像predSamplesを導出する。具体的には、L0からの予測、L1からの予測に対して各々、下記式を用いて導出する。
predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, predSamplesL0[ x ][ y ] * w0 + o0 )
predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, predSamplesL1[ x ][ y ] * w1 + o1 ))
 ここで、w0, w1, o0, o1は、各々、パラメータセットで符号化されるウェイトおよびオフセットである。bitDepthはビットデプスを示す値である。
 重み付け予測部3096は、双予測の場合(predFlagL0=1/ predFlagL1=1)には、L0の動き補償画像predSampleL0とL1の動き補償画像predSampleL1の重み付き予測から予測画像を生成する。
  ( predSamplesL0 [ x ][ y ] * w0 + predSamplesL1[ x ][ y ] * w1 +
  ( ( o0 + o1 + 1 ) << log2Wd ) ) >> ( log2Wd + 1 ) )
 ここで、w0, w1, o0, o1、log2Wdは、各々、パラメータセットで符号化されるウェイトおよびオフセットおよびシフト値。bitDepthはビットデプスを示す値である。
  (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図22は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、DCT・量子化部103、可変長符号化部104、逆量子化・逆DCT部105、加算部106、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111、を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
 予測画像生成部101は、外部から入力されたレイヤ画像Tの視点毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックpredSamplesを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から参照ピクチャブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部101は、符号化予測ユニットを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いて予測ピクチャブロックpredSamplesを生成する。予測画像生成部101は、生成した予測ピクチャブロックpredSamplesを減算部102と加算部106に出力する。なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作であるため予測ピクチャブロックpredSamplesの生成の詳細は省略する。
 予測画像生成部101は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックpredSamplesの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。なお、予測方式を選択する方法は、これには限られない。
 符号化対象のピクチャがベースビューのピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測及びマージモードである。動き予測とは、上述のインター予測のうち、表示時刻間の予測である。マージモードとは、既に符号化されたブロックであって、予測ユニットから予め定めた範囲内にあるブロックと同一の参照ピクチャブロック及び予測パラメータを用いる予測である。符号化対象のピクチャがベースビュー以外のピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測、マージモード(視点合成予測を含む)、及び変位予測である。変位予測(視差予測)とは、上述のインター予測のうち、別レイヤ画像(別視点画像)間の予測である。変位予測(視差予測)に対して、追加予測(残差予測および照度補償)を行う場合と行わない場合の予測がある。
 予測画像生成部101は、イントラ予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いたイントラ予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
 予測画像生成部101は、動き予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いた動きベクトルmvLXを予測パラメータメモリ108に記憶し、インター予測パラメータ符号化部112に出力する。動きベクトルmvLXは、符号化予測ユニットの位置から予測ピクチャブロックpredSamplesを生成する際の参照ピクチャブロックの位置までのベクトルを示す。動きベクトルmvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ピクチャ順序番号POC)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部101は、インター予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
 予測画像生成部101は、変位予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いた変位ベクトルを予測パラメータメモリ108に記憶し、インター予測パラメータ符号化部112に出力する。変位ベクトルdvLXは、符号化予測ユニットの位置から予測ピクチャブロックpredSamplesを生成する際の参照ピクチャブロックの位置までのベクトルを示す。変位ベクトルdvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ビューIDview_id)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部101は、インター予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
 予測画像生成部101は、マージモードを選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部112に出力する。また、予測画像生成部101は、マージモードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
 上記の、マージモードにおいて、予測画像生成部101は、VSPモードフラグVspModeFlagが視点合成予測を行うことを示す場合には、既に説明したように予測画像生成部101に含まれるVSP予測部30374において視点合成予測を行う。また、動き予測、変位予測、マージモードにおいて、予測画像生成部101は、残差予測実施フラグresPredFlagが残差予測を行うことを示す場合には、既に説明したように予測画像生成部101に含まれる残差予測部3092において残差予測を行う。
 減算部102は、予測画像生成部101から入力された予測ピクチャブロックpredSamplesの信号値を、外部から入力されたレイヤ画像Tの対応するブロックの信号値から画素毎に減算して、残差信号を生成する。減算部102は、生成した残差信号をDCT・量子化部103と符号化パラメータ決定部110に出力する。
 DCT・量子化部103は、減算部102から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部103は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部103は、求めた量子化係数を可変長符号化部104及び逆量子化・逆DCT部105に出力する。
 可変長符号化部104には、DCT・量子化部103から量子化係数が入力され、符号化パラメータ決定部110から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測モードPredMode、マージインデックスmerge_idx、残差予測インデックスiv_res_pred_weight_idx、及び照度補償フラグic_flag等の符号がある。
 可変長符号化部104は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
 逆量子化・逆DCT部105は、DCT・量子化部103から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部105は、求めたDCT係数について逆DCTを行い、復号残差信号を算出する。逆量子化・逆DCT部105は、算出した復号残差信号を加算部106、及び符号化パラメータ決定部110に出力する。
 加算部106は、予測画像生成部101から入力された予測ピクチャブロックpredSamplesの信号値と逆量子化・逆DCT部105から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部106は、生成した参照ピクチャブロックを参照ピクチャメモリ109に記憶する。
 予測パラメータメモリ108は、予測パラメータ符号化部111が生成した予測パラメータを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
 参照ピクチャメモリ109は、加算部106が生成した参照ピクチャブロックを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いて予測ピクチャブロックpredSamplesを生成する。
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、可変長符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。
 予測パラメータ符号化部111は、予測画像生成部101から入力されたパラメータに基づいて予測ピクチャを生成する際に用いる予測パラメータを導出し、導出した予測パラメータを符号化して符号化パラメータのセットを生成する。予測パラメータ符号化部111は、生成した符号化パラメータのセットを可変長符号化部104に出力する。
 予測パラメータ符号化部111は、生成した符号化パラメータのセットのうち符号化パラメータ決定部110が選択したものに対応する予測パラメータを予測パラメータメモリ108に記憶する。
 予測パラメータ符号化部111は、予測画像生成部101から入力された予測モードPredModeがインター予測モードを示す場合、インター予測パラメータ符号化部112を動作させる。予測パラメータ符号化部111は、予測モードPredModeがイントラ予測モードを示す場合、イントラ予測パラメータ符号化部113を動作させる。
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいてインター予測パラメータを導出する。インター予測パラメータ符号化部112は、インター予測パラメータを導出する構成として、インター予測パラメータ復号部303がインター予測パラメータを導出する構成と同一の構成を含む。インター予測パラメータ符号化部112の構成については、後述する。
 イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力された予測モードPredModeが示すイントラ予測モードIntraPredModeをインター予測パラメータのセットとして定める。
  (インター予測パラメータ符号化部の構成)
 次に、インター予測パラメータ符号化部112の構成について説明する。インター予測パラメータ符号化部112は、インター予測パラメータ復号部303に対応する手段である。図23は、本実施形態に係るインター予測パラメータ符号化部112の構成を示す概略図である。インター予測パラメータ符号化部112は、マージモードパラメータ導出部1121、AMVP予測パラメータ導出部1122、減算部1123、及びインター予測パラメータ符号化制御部1126を含んで構成される。
 マージモードパラメータ導出部1121(予測ベクトル導出装置)は、上述のマージモードパラメータ導出部3036(図9参照)と同様な構成を有する。マージモードパラメータ導出部3036の構成と効果を奏する。具体的には少なくとも、マージモードパラメータ導出部3036は、基本マージ候補として、空間マージ候補、時間マージ候補、結合マージ候補、ゼロマージ候補を導出し、拡張マージ候補として、少なくともインタービューマージ候補IV、変位マージ候補DI、インタービューシフトマージ候補IVShiftを導出するマージ候補導出部を有するマージモードパラメータ導出部であり、第1グループの拡張マージ候補、第1グループの基本マージ候補、第2グループの拡張マージ候補、第2グループの基本マージ候補の順にマージ候補リストに格納する。
 本実施形態のマージモードパラメータ導出部1121(予測ベクトル導出装置)は、対象ブロックのサイズnPbW、nPbで修正された視差ベクトルから参照ブロック位置(xRef, yRef)を導出することなく、対象ブロックの位置と視差ベクトルmvDispと対象ブロックのサイズnPbW、nPbHから直接参照ブロック位置(xRef, yRef)を導出するため処理が簡単になるという効果を奏する。
 AMVP予測パラメータ導出部1122は、上述のAMVP予測パラメータ導出部3032と同様な構成を有する。
 減算部1123は、符号化パラメータ決定部110から入力されたベクトルmvLXからAMVP予測パラメータ導出部1122から入力された予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはインター予測パラメータ符号化制御部1126に出力する。
 インター予測パラメータ符号化制御部1126は、インター予測に関連する符号(シンタックス要素の復号を可変長符号化部104に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。
 インター予測パラメータ符号化制御部1126は、残差予測インデックス符号化部10311、照度補償フラグ符号化部10312、、マージインデックス符号化部、ベクトル候補インデックス符号化部、分割モード符号化部、マージフラグ符号化部、インター予測識別子符号化部、参照ピクチャインデックス符号化部、ベクトル差分符号化部を含んで構成される。分割モード符号化部、マージフラグ符号化部、マージインデックス符号化部、インター予測識別子符号化部、参照ピクチャインデックス符号化部、ベクトル候補インデックス符号化部、ベクトル差分符号化部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。
 残差予測インデックス符号化部10311は、残差予測が行われるか否かを示すために、残差予測インデックスiv_res_pred_weight_idxを符号化する。
 照度補償フラグ符号化部10312は、照度補償が行われるか否かを示すために、照度補償フラグic_flagを符号化する。
 インター予測パラメータ符号化制御部1126は、予測画像生成部101から入力された予測モードPredModeがマージモードを示す場合には、符号化パラメータ決定部110から入力されたマージインデックスmerge_idxを可変長符号化部104に出力し、符号化させる。
 また、インター予測パラメータ符号化制御部1126は、予測画像生成部101から入力された予測モードPredModeがインター予測モードを示す場合には、次の処理を行う。
 インター予測パラメータ符号化制御部1126は、符号化パラメータ決定部110から入力された参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flag、減算部1123から入力された差分ベクトルmvdLXを統合する。インター予測パラメータ符号化制御部1126は、統合した符号を可変長符号化部104に出力し、符号化させる。
 予測画像生成部101は、上述の予測画像生成部308に対応する手段であり、予測パラメータから、予測画像を生成する処理は同一である。
 本実施形態では、予測画像生成部101も、予測画像生成部308と同様、本実施形態も上述の残差合成部30923を備える。すなわち、対象ブロック(予測ブロック)のサイズが所定のサイズ以下の場合には、残差予測を行わない。また、本実施形態の予測画像生成部101は、符号化ユニットCUの分割モードpart_modeが2N×2Nの場合にのみ、残差予測を行う。すなわち、残差予測インデックスiv_res_pred_weight_idxを0として処理する。また、本実施形態の残差予測インデックス符号化部10311では、符号化ユニットCUの分割モードpart_modeが2N×2Nの場合にのみ、残差予測インデックスiv_res_pred_weight_idxを符号化する。
 残差予測部3092を備える画像符号化装置は、残差予測インデックスを符号化する残差予測インデックス符号化部を備える画像符号化装置において、対象対象ブロックを含む符号化ユニットの分割モードが2N×2Nの場合に、残差予測インデックスを符号化し、それ以外の場合には、残差予測インデックスを符号化せず、残差予測インデックスが0以外の場合に、残差予測を行う。
 本実施形態の画像符号化装置11は、可変長符号化部104において、パラメータセットにおいて0から1のループ係数dの各値に対応するシンタックス群を符号化する際に、各ループ変数dに対応するシンタックス群が前記パラメータに存在するか否かを示すプレゼントフラグ3d_sps_param_present_flag[k]を符号化し、前記プレゼントフラグ3d_sps_param_present_flag[k]が1の場合に、そのループ変数dに対応するシンタックス群を符号化する。これにより、テクスチャピクチャで使用されるツールをプレゼントフラグ3d_sps_param_present_flag[0]でオンオフし、テクスチャピクチャで使用されるツールをプレゼントフラグ3d_sps_param_present_flag[1]で独立にオンオフすることができる。 これにより、テクスチャのピクチャとデプスのピクチャでパラメータセットを共有せず、テクスチャのピクチャはテクスチャで参照するパラメータセット、デプスのピクチャはデプスで使用するパラメータセットを参照する場合において、テクスチャピクチャもしくはデプスピクチャのみで使用されるパラメータを復号することができるという効果を奏する。
 また、本発明は、以下のように表現することも出来る。
<態様1>
 インタービューマージ候補IVの参照ブロック座標を、対象ブロックの左上座標と対象ブロックのサイズの1/2と、対象ブロックの整数精度に換算した視差ベクトルの和を、8の倍数もしくは16の倍数に正規化した値から導出し、
 インタービューシフトマージ候補IVShiftの参照ブロック座標を、対象ブロックの左上座標と対象ブロックのサイズと所定の定数Kと、対象ブロックの整数精度に換算した視差ベクトルの和を、8の倍数もしくは16の倍数に正規化した値から導出し、
 導出された参照ブロック座標に位置する動きベクトルから、インタービューマージ候補IV、インタービューシフトマージ候補IVShiftの動きベクトルを導出することを特徴とする予測ベクトル導出装置。
<態様2>
 前記対象ブロックの前記視差ベクトルの水平方向をmvDisp[0]、垂直方向をmvDisp[1])とした場合に、対象ブロックの整数精度に換算した視差ベクトルの水平方向を( mvDisp[ 0 ] + 2 ) >> 2、垂直方向を( ( mvDisp[ 1 ] + 2 ) >> 2 )により導出することを特徴とする態様1に記載の予測ベクトル導出装置。
<態様3>
 前記対象ブロックの前記左上座標を(xPb, yPb)と前記対象ブロックの前記サイズを(nPbW, nPbH)とする場合に、インタービューマージ候補IVの参照ブロック座標(xRefIV, yRefIV)を、
  xRefIVFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yRefIVFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
  xRefIV = Clip3( 0, PicWidthInSamplesL - 1, ( xRefIVFull >> 3 ) << 3 )
  yRefIV = Clip3( 0, PicHeightInSamplesL - 1, ( yRefIVFull >> 3 ) << 3 )
インタービューシフトマージ候補IVShiftの参照ブロック座標(xRefIVShift, yRefIVShift)を、所定の定数をKとして、
  xRefIVShiftFull = xPb + ( nPbW + K ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yRefIVShiftFull = yPb + ( nPbH + K ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
  xRefIVShift = Clip3( 0, PicWidthInSamplesL - 1, ( xRefIVShiftFull >> 3 ) << 3 )
  yRefIVShift = Clip3( 0, PicHeightInSamplesL - 1, ( yRefIVShiftFull >> 3 ) << 3 )
 により導出することを特徴とする態様2に記載の予測ベクトル導出装置。
<態様4>
 インタービューマージシフト候補IVShiftの場合に1、それ以外の場合に0となる変数offsetFlagを用いて、参照ブロック座標(xRefIV, yRefIV)を、インタービューマージ候補IVの参照ブロック座標(xRef, yRef)と、インタービューシフトマージ候補IVShiftの参照ブロック座標(xRef, yRef)を、所定の定数をKとして、
  xRefFull = xPb + (offsetFlag ? (nPbW + K) : ( nPbW >> 1 )) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
  yRefFull = yPb + (offsetFlag ? (nPbH + K) : ( nPbH >> 1 )) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
 により導出することを特徴とする態様3に記載の予測ベクトル導出装置。
<態様5>
 所定の定数Kは、参照ブロック座標の制限がMの倍数である場合、M-8からM-1の間であることを特徴とする態様1から4に記載の予測ベクトル導出装置。
<態様6>
 所定の定数Kが1、2または3の何れかである態様5に記載の予測ベクトル導出装置。
<態様7>
 態様1から請求項6のいずれかの予測ベクトル導出装置を備える画像復号装置。
<態様8>
 態様1から態様6のいずれかの予測ベクトル導出装置を備える画像符号化装置。
<態様9>
 パラメータセットにおいて0から1のループ係数dの各値に対応するシンタックス群を復号する復号装置において、各ループ変数dに対応するシンタックス群が前記パラメータに存在するか否かを示すプレゼントフラグ3d_sps_param_present_flag[k]を復号し、前記プレゼントフラグ3d_sps_param_present_flag[k]が1の場合に、そのループ変数dに対応するシンタックス群を復号することを特徴とする画像復号装置。
<態様10>
 前記画像復号装置は、ツールのオンオフを示すシンタックス群を復号することを特徴とする態様9に記載の画像復号装置。
<態様11>
 前記画像復号装置は、dが0の場合に、少なくともV\視点合成予測フラグview_synthesis_pred_flagを復号し、dが1の場合に少なくともイントラSDCウェッジ分割フラグintra_sdc_wedge_flag を復号することを特徴とする態様9または10に記載の画像復号装置。
<態様12>
 IntraSdcWedgeFlag、IntraContourFlag、dim_not_present_flagとdepth_intra_mode_flagを復号する可変長復号部と、DMM予測を行うDMM予測部を備える画像復号装置において、
 前記可変長復号部は、dim_not_present_flagが0、IntraSdcWedgeFlagが1、IntraContourFlagが1の場合に、depth_intra_mode_flagを符号化データから復号し、depth_intra_mode_flagが符号化データに存在しない場合には、前記可変長復号部は、depth_intra_mode_flagをIntraSdcWedgeFlagとIntraContourFlagの論理演算から導出することを特徴とする画像復号装置。
<態様13>
 前記可変長復号部は、depth_intra_mode_flagが符号化データに存在しない場合には、depth_intra_mode_flagを!IntraSdcWedgeFlag||IntraContourFlagの論理演算から導出することを特徴とする態様12に記載の画像復号装置。
<態様14>
 IntraSdcWedgeFlag、IntraContourFlag、dim_not_present_flagとdepth_intra_mode_flagを復号する可変長復号部と、DMM予測を行うDMM予測部を備える画像復号装置において、
 前記可変長復号部は、dim_not_present_flagが0、IntraSdcWedgeFlagが1、IntraContourFlagが1の場合に、depth_intra_mode_flagを符号化データから復号し、DepthIntraModeをdim_not_present_flag、IntraContourFlag、IntraSdcWedgeFlagの論理式とdim_not_present_flagから導出することを特徴とする画像復号装置。
<態様15>
 前記可変長復号部は、
 DepthIntraMode=dim_not_present_flag[ x0 ][ y0 ] ? -1 : (IntraContourFlag&&IntraSdcWedgeFlag ? depth_intra_mode_flag : (!IntraSdcWedgeFlag | | IntraContourFlag)の式により、DepthIntraModeを導出することを特徴とする態様14に記載の画像復号装置。
<態様16>
 少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信する受信部と、
 前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号する復号部と、
 前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行う予測部とを備え、
 前記復号部は、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、
 前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像復号装置。
<態様17>
 前記第1のフラグは、IntraContourFlagであり、前記第2のフラグは、IntraSdcWedgeFlagであり、前記第3のフラグは、dim_not_present_flagであり、前記第4のフラグは、depth_intra_mode_flagである態様16に記載の画像復号装置。
<態様18>
 前記depth_intra_mode_flagは、
  depth_intra_mode_flag[ x0 ][ y0 ] = (!IntraSdcWedgeFlag | | IntraContourFlag)
により推定される態様17に記載の画像復号装置。
<態様19>
 少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信するステップと、
 前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号するステップと、
 前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行うステップとを少なくとも含み、
 前記復号するステップは、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、
 前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像復号方法。
<態様20>
 少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信する受信部と、
 前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号する復号部と、
 前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行う予測部とを備え、
 前記復号部は、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、
 前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像符号化装置。
 なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、可変長復号部301、予測パラメータ復号部302、予測画像生成部101、DCT・量子化部103、可変長符号化部104、逆量子化・逆DCT部105、符号化パラメータ決定部110、予測パラメータ符号化部111、可変長復号部301、予測パラメータ復号部302、予測画像生成部308、逆量子化・逆DCT部311をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
 以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
 本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
   1 画像伝送システム
  11 画像符号化装置
 101 予測画像生成部
 102 減算部
 103 DCT・量子化部
 10311 残差予測インデックス符号化部
 10312 照度補償フラグ符号化部
 104 可変長符号化部
 105 逆量子化・逆DCT部
 106 加算部
 108 予測パラメータメモリ(フレームメモリ)
 109 参照ピクチャメモリ(フレームメモリ)
 110 符号化パラメータ決定部
 111 予測パラメータ符号化部
 112 インター予測パラメータ符号化部
 1121 マージモードパラメータ導出部
 1122 AMVP予測パラメータ導出部
 1123 減算部
 1126 インター予測パラメータ符号化制御部
 113 イントラ予測パラメータ符号化部
 141 予測単位設定部
 142 参照画素設定部
 143 スイッチ
 145 予測画像導出部
 145D DC予測部
 145P Planar予測部
 145A Angular予測部
 145T DMM予測部
 145T1 DC予測画像導出部
 145T2 DMM1ウェッジレットパターン導出部
 145T3 DMM4輪郭パターン導出部
 145T4 ウェッジレットパターンテーブル生成部
 145T5 バッファ
 145T6 DMM1ウェッジレットパターンテーブル導出部
  21 ネットワーク
  31 画像復号装置
 301 可変長復号部
 302 予測パラメータ復号部
 303 インター予測パラメータ復号部
 3031 インター予測パラメータ復号制御部
 3032 AMVP予測パラメータ導出部
 3036 マージモードパラメータ導出部(マージモードパラメータ導出装置、予測ベクトル導出装置)
 30361 マージ候補導出部
 303611 マージ候補格納部
 30362 マージ候補選択部
 30370 拡張マージ候補導出部
 30371 レイヤ間マージ候補導出部(インタービューマージ候補導出部)
 30373 変位マージ候補導出部
 30374 VSPマージ候補導出部(VSP予測部、視点合成予測手段、パーティション分割部、デプスベクトル導出部)
 30380 基本マージ候補導出部
 30381 空間マージ候補導出部
 30382 時間マージ候補導出部
 30383 結合マージ候補導出部
 30384 ゼロマージ候補導出部
 304 イントラ予測パラメータ復号部
 306 参照ピクチャメモリ(フレームメモリ)
 307 予測パラメータメモリ(フレームメモリ)
 308 予測画像生成部
 309 インター予測画像生成部
 3091 動き変位補償部
 3092 残差予測部
 30922 参照画像補間部
 30923 残差合成部
 30924 残差予測用ベクトル導出部
 3093 照度補償部
 3096 重み付け予測部
 310 イントラ予測画像生成部
 311 逆量子化・逆DCT部
 312 加算部
 351 デプスDV導出部
 352 変位ベクトル導出部
 353 分割フラグ導出部
  41 画像表示装置

 

Claims (5)

  1.  少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信する受信部と、
     前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号する復号部と、
     前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行う予測部とを備え、
     前記復号部は、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、
     前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像復号装置。
  2.  前記第1のフラグは、IntraContourFlagであり、前記第2のフラグは、IntraSdcWedgeFlagであり、前記第3のフラグは、dim_not_present_flagであり、前記第4のフラグは、depth_intra_mode_flagである請求項1に記載の画像復号装置。
  3.  前記depth_intra_mode_flagは、
      depth_intra_mode_flag[ x0 ][ y0 ] = (!IntraSdcWedgeFlag | | IntraContourFlag)
    により推定されるこ請求項2に記載の画像復号装置。
  4.  少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信するステップと、
     前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号するステップと、
     前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行うステップとを少なくとも含み、
     前記復号するステップは、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、
     前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像復号方法。
  5.  少なくともintra contourモードを使用するか否かを示す第1のフラグおよびintra wedgeモードを使用するか否かを示す第2のフラグを含むシーケンスパラメーターセット(SPS)と、少なくとも該intra contourモード又は該intra wedgeモードが予測単位で使用されるか否かを示す第3のフラグを含む符号化データとを受信する受信部と、
     前記第1のフラグ、前記第2のフラグおよび前記第3のフラグのうち、少なくとも1つのフラグを復号する復号部と、
     前記intra contourモードと前記intra wedgeモードのうちの1つを特定する第4のフラグを用いて、予測を行う予測部とを備え、
     前記復号部は、前記第1のフラグの値が1、前記第2のフラグの値が1および前記第3のフラグの値が使用されることを示す値の場合、前記符号化データから前記第4のフラグを復号し、
     前記符号化データに前記第4のフラグが含まれない場合、前記第4のフラグは、前記第1のフラグおよび前記第2のフラグの論理演算から推定される画像符号化装置。
PCT/JP2016/052532 2015-02-02 2016-01-28 画像復号装置、画像符号化装置および予測ベクトル導出装置 WO2016125685A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/547,663 US10306235B2 (en) 2015-02-02 2016-01-28 Image decoding apparatus, image coding apparatus, and prediction-vector deriving device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-018412 2015-02-02
JP2015018412A JP2018050091A (ja) 2015-02-02 2015-02-02 画像復号装置、画像符号化装置および予測ベクトル導出装置

Publications (1)

Publication Number Publication Date
WO2016125685A1 true WO2016125685A1 (ja) 2016-08-11

Family

ID=56564032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/052532 WO2016125685A1 (ja) 2015-02-02 2016-01-28 画像復号装置、画像符号化装置および予測ベクトル導出装置

Country Status (3)

Country Link
US (1) US10306235B2 (ja)
JP (1) JP2018050091A (ja)
WO (1) WO2016125685A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113475077A (zh) * 2019-02-24 2021-10-01 北京字节跳动网络技术有限公司 调色板模式使用指示的独立编解码
US11924432B2 (en) 2019-07-20 2024-03-05 Beijing Bytedance Network Technology Co., Ltd Condition dependent coding of palette mode usage indication

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2531271A (en) * 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
WO2017137444A1 (en) 2016-02-09 2017-08-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for picture/video data streams allowing efficient reducibility or efficient random access
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
CA3114825A1 (en) * 2016-10-10 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding image
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10832430B2 (en) * 2016-12-23 2020-11-10 Intel Corporation Efficient sub-pixel disparity estimation for all sub-aperture images from densely sampled light field cameras
JP6433559B1 (ja) 2017-09-19 2018-12-05 キヤノン株式会社 提供装置および提供方法、プログラム
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
WO2019227297A1 (zh) * 2018-05-28 2019-12-05 华为技术有限公司 一种视频图像的帧间预测方法、装置及编解码器
JP7104186B2 (ja) 2018-06-05 2022-07-20 北京字節跳動網絡技術有限公司 Ibcとatmvpとの間でのインタラクション
EP4307671A3 (en) 2018-06-21 2024-02-07 Beijing Bytedance Network Technology Co., Ltd. Sub-block mv inheritance between color components
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
WO2020065518A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
EP3878175B1 (en) * 2018-11-08 2024-03-27 InterDigital VC Holdings, Inc. Quantization for video encoding or decoding based on the surface of a block
CN112997495B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 当前图片参考中的取整
CN111436228A (zh) 2018-11-12 2020-07-21 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
WO2020098782A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Weights in combined inter intra prediction mode
WO2020162797A1 (en) * 2019-02-07 2020-08-13 Huawei Technologies Co., Ltd. Method and apparatus of intra prediction mode signaling
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
WO2020182167A1 (en) * 2019-03-12 2020-09-17 Zhejiang Dahua Technology Co., Ltd. Systems and methods for image coding
CN113302929A (zh) * 2019-06-24 2021-08-24 华为技术有限公司 几何分割模式的样本距离计算
WO2021110045A1 (en) * 2019-12-03 2021-06-10 Huawei Technologies Co., Ltd. Coding method, device, system with merge mode
CN115398913A (zh) 2020-02-29 2022-11-25 抖音视界有限公司 高级语法元素的约束
US20230147701A1 (en) * 2020-04-02 2023-05-11 Sharp Kabushiki Kaisha Video decoding apparatus and video decoding method
WO2021208896A1 (en) * 2020-04-13 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Signalling of flags in picture parameter set
EP4140137A4 (en) 2020-05-22 2024-01-24 Beijing Bytedance Network Tech Co Ltd SIGNALING OF GENERAL COMPULSORY FLAGS

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014160880A1 (en) * 2013-03-27 2014-10-02 Qualcomm Incorporated Depth coding modes signaling of depth data for 3d-hevc

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150106380A (ko) * 2014-03-11 2015-09-21 삼성전자주식회사 인터 레이어 비디오 부복호화를 위한 깊이 영상의 예측 모드 전송 방법 및 장치
JP6367965B2 (ja) * 2014-03-31 2018-08-01 サムスン エレクトロニクス カンパニー リミテッド デプス映像を符号化または復号する方法、及びその装置
KR20170023000A (ko) * 2014-06-20 2017-03-02 삼성전자주식회사 인터 레이어 비디오 부복호화를 위한 깊이 영상의 예측 모드 전송 방법 및 장치
WO2015199040A1 (ja) * 2014-06-24 2015-12-30 シャープ株式会社 Dmm予測部、画像復号装置、および画像符号化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014160880A1 (en) * 2013-03-27 2014-10-02 Qualcomm Incorporated Depth coding modes signaling of depth data for 3d-hevc

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GERHARD TECH ET AL.: "3D-HEVC Draft Text 6", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING, Strasbourg, FR, pages 7,15 - 17,31 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113475077A (zh) * 2019-02-24 2021-10-01 北京字节跳动网络技术有限公司 调色板模式使用指示的独立编解码
CN113475077B (zh) * 2019-02-24 2023-11-17 北京字节跳动网络技术有限公司 调色板模式使用指示的独立编解码
US11924432B2 (en) 2019-07-20 2024-03-05 Beijing Bytedance Network Technology Co., Ltd Condition dependent coding of palette mode usage indication

Also Published As

Publication number Publication date
JP2018050091A (ja) 2018-03-29
US10306235B2 (en) 2019-05-28
US20180041762A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
WO2016125685A1 (ja) 画像復号装置、画像符号化装置および予測ベクトル導出装置
JP6469588B2 (ja) 残差予測装置、画像復号装置、画像符号化装置、残差予測方法、画像復号方法、および画像符号化方法
JP6441236B2 (ja) 画像復号装置及び画像符号化装置
US9571850B2 (en) Image decoding device and image encoding device
US20190098338A1 (en) Predicted image generation device, image decoding device, and image encoding device
WO2015056719A1 (ja) 画像復号装置、画像符号化装置
US20160191933A1 (en) Image decoding device and image coding device
JPWO2014103529A1 (ja) 画像復号装置、およびデータ構造
WO2015056620A1 (ja) 画像復号装置、画像符号化装置
JP6118199B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体。
WO2014103600A1 (ja) 符号化データ構造、および画像復号装置
WO2015141696A1 (ja) 画像復号装置、画像符号化装置および予測装置
JP2016066864A (ja) 画像復号装置、画像符号化装置およびマージモードパラメータ導出装置
WO2016056587A1 (ja) 変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置
JP2017135432A (ja) 視点合成予測装置、画像復号装置及び画像符号化装置
WO2015190510A1 (ja) 視点合成予測装置、画像復号装置及び画像符号化装置
JP6401707B2 (ja) 画像復号装置、画像復号方法、および記録媒体
JP2015080053A (ja) 画像復号装置、及び画像符号化装置
JP2015015626A (ja) 画像復号装置および画像符号化装置
JP2014204327A (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: 16746516

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15547663

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: JP

122 Ep: pct application non-entry in european phase

Ref document number: 16746516

Country of ref document: EP

Kind code of ref document: A1