WO2016056587A1 - Displacement arrangement derivation device, displacement vector derivation device, default reference view index derivation device, and depth lookup table derivation device - Google Patents

Displacement arrangement derivation device, displacement vector derivation device, default reference view index derivation device, and depth lookup table derivation device Download PDF

Info

Publication number
WO2016056587A1
WO2016056587A1 PCT/JP2015/078465 JP2015078465W WO2016056587A1 WO 2016056587 A1 WO2016056587 A1 WO 2016056587A1 JP 2015078465 W JP2015078465 W JP 2015078465W WO 2016056587 A1 WO2016056587 A1 WO 2016056587A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
index
unit
depth
value
Prior art date
Application number
PCT/JP2015/078465
Other languages
French (fr)
Japanese (ja)
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 シャープ株式会社
Publication of WO2016056587A1 publication Critical patent/WO2016056587A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to a displacement array deriving device, a displacement vector deriving device, a default reference view index deriving device, and a depth lookup table deriving 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.
  • Non-Patent Document 1 there is known a displacement array deriving device for deriving a representative depth value from the maximum value of four depth values of a sub-block corner in view synthesis prediction and deriving a horizontal vector from the representative depth value.
  • Non-Patent Document 1 there is known a displacement vector deriving device that sets a displacement vector of an adjacent block as a derived vector when the mode of the adjacent block is a skip mode.
  • Non-Patent Document 1 there is known a default reference view index deriving device for searching whether a default reference view index set in order from 0 exists in a reference picture in a reference picture list.
  • Non-Patent Document 1 two candidates i-1 and i are used as index candidates corresponding to the depth value d, and a value closer to the depth value d in the index depth conversion table Idx2DepthValue out of the two indexes idxLower and idxUpper.
  • Depth lookup table derivation device that derives the depth index conversion table DepthValue2Idx, which is a table that converts the depth value d into the corresponding index when the index depth conversion table Idx2DepthValue is given by using the index converted to Are known.
  • Non-Patent Document 1 Since the displacement array deriving device of Non-Patent Document 1 uses four points of sub-blocks, the processing amount of depth access is large, and the representative depth values are similar between the sub-blocks, so that the efficiency is not high. is there.
  • Non-Patent Document 1 In the displacement vector deriving device of Non-Patent Document 1, it is necessary to distinguish between the case where the merge candidate is used in the skip mode or the case where the inter mode merge flag is 1, and there is a problem that the implementation becomes complicated.
  • the default reference view index derivation device of Non-Patent Document 1 has a problem that the implementation is complicated because the reference picture list is referred to a plurality of times in order to search for the default reference view index set in order from 0.
  • One aspect of the present invention is to derive a representative depth value using two horizontally located depth values in a sub-block and to derive a displacement vector from the derived representative depth value in disparity synthesis prediction.
  • the displacement vector deriving device for deriving a derived vector the displacement vector deriving device is configured such that the adjacent block is in a mode in which the adjacent block mode is the skip mode or the adjacent mode is the inter mode and the merge flag is 1.
  • the displacement vector is set as a derived vector.
  • One form of the present invention is that, for a certain index i, the value Idx2DepthValue [i-1] of the index depth conversion table Idx2DepthValue of the index i-1, the absolute difference value of the variable d, and the value of the index depth conversion table Idx2DepthValue of the index i.
  • the difference absolute value between Idx2DepthValue [i] and the variable d is compared, and the index when the difference absolute value is small is set in the depth index conversion table DepthValue2Idx.
  • a displacement array deriving device it is possible to provide a displacement array deriving device, a displacement vector deriving device, a default reference view index deriving device, and a depth lookup table deriving device that can be easily implemented.
  • 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.
  • VSP prediction part 30374 VSP prediction part 30374.
  • A is an example showing an edge boundary of an object on a block
  • B is a division pattern (wedgePattern) indicating that the block is divided into two regions (P1, P2) along the edge boundary of the object.
  • C is an example in which a predicted value is assigned to each of the divided areas. It is the schematic which shows the structure of the inter estimated image generation part 309 which concerns on this embodiment.
  • 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).
  • 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 an entropy 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, and a prediction image generation unit 308.
  • An inverse quantization / inverse DCT unit 311, an addition unit 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 entropy 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.
  • the entropy 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 and illuminance compensation flag ic_flag. Control of which code to decode is performed based on an instruction from the prediction parameter decoding unit 302.
  • the entropy decoding unit 301 outputs the quantization 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 entropy 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 entropy decoding unit 301 also decodes the depth index conversion table DepthValue2Idx [] from the encoded data.
  • the prediction parameter decoding unit 302 receives a part of the code from the entropy 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 entropy 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 refers to the prediction parameter stored in the prediction parameter memory 307 on the basis of the code input from the entropy decoding unit 301 and decodes the intra prediction parameter.
  • 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 entropy decoding unit 301. .
  • 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 entropy 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.
  • the intra predicted image generation unit 310 further includes a DC prediction unit 145D, a Planar prediction unit 145P, an Angular prediction unit 145A, and a DMM prediction unit 145T.
  • the intra predicted image generation unit 310 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 intra predicted image generation unit 310 derives a predicted image corresponding to the selection result of the prediction method. More specifically, the intra prediction image generation unit 310, 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, The DMM prediction unit 145T derives a predicted image.
  • 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
  • FIG. 16 is a conceptual diagram of DMM prediction executed in the DMM prediction unit 145T.
  • the depth map mainly has an edge region representing an object boundary and a flat region (substantially constant depth value) representing an object area.
  • the target block is divided into two regions P1 and P2 along the edge of the object, and as shown in FIG.
  • Wedge pattern (wedgelet pattern) WedgePattern [x] [y] is a matrix with the size of the width x height of the target block (target PU), and 0 or 1 for each element (x, y) It is set and indicates which of the two regions P1 and P2 each pixel of the target block belongs to. In the example of FIG. 16 (b), if the value of the element is 0, it belongs to the region P1, and if it is 1, it belongs to the region P2. Next, as shown in FIG. 16 (c), a prediction image is generated by filling the respective depth prediction values in the regions P1 and P2.
  • wedge pattern a wedge pattern divided by a line segment called a wedgelet
  • wedge pattern and the wedgelet pattern are the same (two-dimensional pattern divided into two regions). There is no particular need to distinguish.
  • a wedge pattern (wedgelet pattern) is also simply called a pattern.
  • FIG. 1 is a functional block diagram showing a configuration example of the DMM prediction unit 145T.
  • the DMM prediction unit 145T includes a wedge pattern derivation unit 145T2, a depth prediction pixel derivation unit 145T3, a wedgelet pattern generation unit 145T4, a wedge pattern table 145T5, and a depth lookup table derivation unit 146.
  • the DMM prediction unit 145T activates the wedge pattern generation unit corresponding to the input prediction mode predModeIntra, and generates a wedge pattern wedgePattern [x] [y] indicating the division pattern of the target PU. More specifically, when the prediction mode predModeIntra is the prediction mode number ‘35’, that is, in the INTRA_DMM_WEDGEFULL mode, the wedge 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_DMM_CPCREDTEX mode, it is activated.
  • wedge pattern deriving unit 145T2 Based on the input target PU size nS, wedge pattern index wedge_full_tab_idx, preset reference wedge pattern size nBS, and reference wedge pattern number NumWedgePattern [log2 (nBS)], the wedge pattern deriving unit 145T2
  • the wedge pattern table wedgePattern [x] [y] to be applied to the target PU is derived from the wedge pattern table WedgePatternTable stored in, and is output to the depth prediction pixel deriving unit 145T3.
  • log2 (nS) is a logarithmic value with 2 as the target PU size.
  • the depth prediction pixel deriving unit 145T3 divides the target PU into two regions based on the wedge pattern wedgePattern [x] [y] indicating the division pattern of the target PU (for example, the region P1, shown in FIG. 16C), P2), a prediction value related to the region P1 and a prediction value related to the region P2 are derived on the basis of the input PT information and the reference pixel p [x] [y], and the prediction value derived in each region is calculated as a prediction image predSamples [ Derived by setting x] [y].
  • the depth prediction pixel deriving unit 145T3 derives a depth prediction value (DC prediction value) to be allocated to the two divided regions.
  • a region composed of elements having the same value as the upper leftmost element wedgePattern [0] [0] of the wedgelet pattern is defined as a region P1
  • a region composed of elements having a different value from the uppermost leftmost element wedgePattern [0] [0] is defined as a region. It is assumed that the DC predicted value for the region P1 is dcValLT and the DC predicted value for the region P2 is dcValBR.
  • the depth prediction pixel deriving unit 145T3 derives DC prediction values dcValLT and dcValBR according to the derived vertical edge flag verEdgeFlag and horizontal edge flag horEdgeFlag.
  • each DC prediction value is derived by the following procedure.
  • the depth prediction pixel deriving unit 145T3 calculates the average value of the reference pixel p [-1] [0] and the reference pixel p [0] [-1] adjacent to the left and upper left of the target PU according to the following formula.
  • dcValLT (p [-1] [0] + p [0] [-1]) >> 1
  • a DC predicted value dcValBR is derived according to the horizontal edge flag horEdgeFlag.
  • the reference pixel p [-1] [(nS-1) >> 1] adjacent to the left of the central pixel on the left side of the target PU Is the DC predicted value dcValLT of the region P1
  • the reference pixel p [-1] [nS-1] adjacent above the upper right pixel of the target PU is the DC predicted value dcValBR of the region P2.
  • the depth prediction pixel deriving unit 145T3 the derived DC predicted values dcValBR and dcValLT of each region, the DC offset presence / absence flag depth_dc_flag of each region of the target PU supplied from the entropy decoding unit 31, and the DC offset value DcOffset [ ], Predictive image predSamples [x] [y] of the target PU is derived.
  • dcOffset DcOffset [wedgePattern [x] [y]] That is, the DC offset value dcOffset [wedgePattern [x] [y]] corresponding to the value of the wedgelet pattern wedgePattern [x] [y] is set to the DC offset value dcOffset of the target pixel.
  • the depth prediction pixel derivation unit 145T3 sets the sum of the derived target pixel DC prediction value predDcVal and the target pixel DC offset value dcOffset as the prediction value of the target pixel.
  • the depth prediction pixel derivation unit 145T3 calculates the sum of the target pixel DC offset value dcOffset after converting the derived target pixel DC prediction value predDcVal into an index using the depth index conversion table DepthValue2Idx []. Then, it is clipped, and further converted into a pixel by the index depth conversion table Idx2DepthValue [] to obtain the predicted value of the target pixel.
  • predSamples [x] [y] Idx2DepthValue [Clip1 Y (DepthValue2Idx [predDcVal] + dcOffset)]
  • the Dlt flag (DltFlag) is a flag decoded by the entropy decoding unit 31 from VPS or the like.
  • the index depth conversion table Idx2DepthValue [] is decoded by the entropy decoding unit 31 from a picture parameter set (PPS) or the like.
  • the depth index conversion table DepthValue2Idx [] is derived from the index depth conversion table Idx2DepthValue [] in the depth lookup table derivation unit 146 described later.
  • the depth prediction pixel deriving unit 145T3 can derive the prediction image predSamples [x] [y] of the target PU.
  • the wedge pattern deriving unit 145T2 activates the wedgelet pattern generation unit 145T4 only at the first activation, and generates a wedge pattern table WedgePatternTable for each block size.
  • the generated wedge pattern table is stored in the wedge pattern table 145T5.
  • a start point S (xS, yS) and an end point E (xE, yE) are set in the wedgelet pattern.
  • the starting point and the ending point are set on the sides of the rectangle that forms the pattern.
  • a line segment is drawn between the start point S and the end point E using Bresenham's algorithm.
  • the wedgelet pattern wedgePattern [x] [y] is generated by setting the element corresponding to the coordinates on the line segment and on the left side of the line segment to 1.
  • patternSize is the size (vertical width, horizontal width) of the block for generating the wedgelet pattern.
  • the depth lookup table derivation unit 146 derives a depth index conversion table DepthValue2Idx [] for converting a depth value into an index value from an index depth conversion table Idx2DepthValue [] that converts an index value into a depth value.
  • FIG. 19 is a flowchart showing the operation of the depth lookup table derivation unit 146.
  • the depth lookup table derivation unit 146 performs the processing from S3001 to S3008 on the depth value d (variable d) from 0 to 2 to the bit depth BitDepthY raised to ⁇ 1 ((1 ⁇ BitDepthY) -1). .
  • the depth lookup table derivation unit 146 performs the processing from S3003 to S3004 for i from 1 to the number of DLT depth values NumDepthValuesInDlt [nuh_layer_id] -2.
  • the depth lookup table derivation unit 146 first index that satisfies the condition (Idx2DepthValue [i]> d) where the value Idx2DepthValue [i] obtained by converting the index i with the index depth conversion table Idx2DepthValue [] is greater than the depth value d If i is found and found, 1 is set in foundFlag and the process proceeds to S3005.
  • the depth lookup table derivation unit 146 obtains a value Idx2DepthValue [i-1] obtained by converting i-1 (low-side index candidate idxLower) having a value smaller by 1 than the index i using the index depth conversion table Idx2DepthValue.
  • S3008 End of depth value loop. d is incremented by 1, and if d is less than (1 ⁇ BitDepthY), the loop continues. If d is (1 ⁇ BitDepthY), the process ends.
  • the depth lookup table derivation unit 146 may perform the following processing in order to process more safely when the number of elements NumDepthValuesInDlt [nuh_layer_id] of the index depth conversion table Idx2DepthValue [] table is 1.
  • the depth look-up table deriving unit 146 (depth look-up table deriving device) according to the present embodiment is an Idx2DepthValue [i] that exceeds a certain depth value d as an index value candidate (index candidate) to be converted into a certain depth value d.
  • the depth lookup table derivation device obtains a value i incremented by 1 for a variable d from 0 to (1 ⁇ BitDepthY) ⁇ 1, and a value Idx2DepthValue [i] at the value i of the index depth conversion table Idx2DepthValue.
  • the value i is derived under the condition of the first value that becomes greater than the variable d.
  • the depth lookup table derivation device calculates the value of the index depth conversion table Idx2DepthValue of the index i-1, the absolute difference value of the variable d, the value of the index depth conversion table Idx2DepthValue of the index i, and the absolute difference value of the variable d.
  • i-1 is set to the depth index conversion table DepthValue2Idx [d] of the variable d. Otherwise, i is set to the depth index conversion table DepthValue2Idx [d of the variable d. ] Is set.
  • two candidates i-1 and i are used as index candidates corresponding to the depth value d, and the index depth of the two index candidates i-1 and i is determined.
  • the candidate whose value after conversion in the conversion table Idx2DepthValue [] is closer to the depth value d is derived as the index value DepthValue2Idx [d] when the depth value d is converted in the depth index conversion table DepthValue2Idx [] to be derived To do.
  • the depth lookup table derivation device derives two candidates i-1 by deriving one index i satisfying that a value obtained by converting i by the index depth conversion table Idx2DepthValue is larger than the variable d as an index i. Since i and i can be derived, the depth index conversion table DepthValue2Idx can be easily derived as compared to a method of independently deriving two candidates as in a comparative example described later.
  • the depth lookup table derivation unit 146 may perform the processing shown in the following pseudo code.
  • the depth lookup table derivation unit 146 performs the following processing on the depth value d (variable d) from 0 to 2 to the bit depth BitDepthY raised to ⁇ 1 ((1 ⁇ BitDepthY) -1). First, 0 is set to the row candidate idxLower, and 0 is set to the discovery flag foundFlag.
  • the depth lookup table derivation unit 146 converts the index I from the index depth conversion table Idx2DepthValue [] to the value from 1 to the number of DLT depth values NumDepthValuesInDlt [nuh_layer_id] ⁇ 1.
  • the depth lookup table derivation unit 146 calculates the absolute value (difference absolute value) of the difference between the value Idx2DepthValue [idxLower] obtained by converting the derived row candidate idxLower using the index depth conversion table Idx2DepthValue, and the upper candidate idxUpper. Compare the absolute value (difference absolute value) of the difference between the value Idx2DepthValue [idxUpper] obtained by converting with the index depth conversion table Idx2DepthValue and the variable d.
  • the depth lookup table deriving unit 146 increments d by 1, and continues the loop if d is less than (1 ⁇ BitDepthY). If d is (1 ⁇ BitDepthY), the process ends.
  • the depth lookup table derivation unit 146 derives the row candidate idxLower as the value of the first index i ⁇ 1 of Idx2DepthValue [i] exceeding a certain depth value d. Further, the depth lookup table deriving unit 146 sets the row-side index candidate idxLower and the upper-side index candidate idxUpper as index value candidates (index candidates) to be converted into a certain depth value d, and sets the row-side index.
  • the depth lookup table derivation unit 146 sets the upper candidate idxUpper as the first index value +1 of Idx2DepthValue [i] less than a certain depth value d as in the following pseudo code:
  • idxLower idxUpper-1
  • the depth lookup table derivation unit 146 depth lookup table derivation device determines the value Idx2DepthValue [idxLower] of the index depth conversion table Idx2DepthValue of the above-mentioned index candidate idxLower on the row side (i-1 in the following example).
  • the value Idx2DepthValue [i] of the depth conversion table Idx2DepthValue is compared with the absolute difference value of the variable d.
  • the depth lookup table derivation device of the comparative example derives two index candidates idxLower and idxUpper independently for each depth value d, and the value of the index depth conversion table Idx2DepthValue of the index idxLower And the difference absolute value of the variable d and the index depth conversion table Idx2DepthValue of
  • idxLower is set to the depth index conversion table of the variable d.
  • DepthValue2Idx [d] otherwise set idxUpper to the depth index conversion table DepthValue2Idx [d] for variable d.
  • the depth lookup table derivation device of the comparative example needs to derive two candidates idxLower and idxUpper independently, it finds the first index i of Idx2DepthValue [i] exceeding a certain depth value d and sets it to i-1 and i
  • the processing is more complicated than the depth lookup table derivation device of this embodiment that derives two candidates (row candidate idxLower and upper candidate idxUpper) based on this.
  • 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 (merge mode parameter deriving device), and a displacement deriving unit 30363.
  • the inter prediction parameter decoding control unit 3031 instructs the entropy decoding unit 301 to decode a code related to the inter prediction (the syntax element) includes, for example, a division mode part_mode, a merge included in the encoded data.
  • a 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, and illumination compensation flag ic_flag are extracted.
  • the syntax element is extracted, it means that the entropy decoding unit 301 is instructed to decode a certain syntax element, and the corresponding syntax element is read out 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 entropy decoding unit 301 to calculate the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the prediction vector flag. mvp_LX_flag and 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.
  • FIG. 20 and FIG. 21 are syntax tables relating to the prediction parameters of the present embodiment.
  • the inter prediction parameter decoding control unit 3031 decodes cu_skip_flag, pred_mode, part_mode, merge_flag, and merge_idx indicated in SE1001 to SE1006 in the figure.
  • 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 displays the displacement vector (NBDV) derived when the inter prediction parameter is derived and the VSP mode flag VspModeFlag that is a flag indicating whether to perform viewpoint synthesis prediction, as an inter prediction image generation unit.
  • the inter prediction parameter decoding control unit 3031 sets MODE_SKIP to the CU prediction mode CuPredMode [xN] [yN] of the target block.
  • CU prediction mode is set according to pred_mode.
  • pred_mode is 0, MODE_INTER is set in CU prediction mode CuPredMode [xN] [yN].
  • FIG. 9 is a schematic diagram illustrating a configuration of the merge mode parameter deriving unit 3036 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. 11 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. Further, after that, there are join merge candidates (join bi-predictive merge candidates, combined bi-predictive merging candidates) and zero merge candidates (zero motion merge candidates, zero motion vector merging candidates), which are omitted in FIG.
  • the merge mode parameter deriving unit 3036 constructs a basic merge list baseMergeCandidate [] and an extended merge 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.
  • FIG. 12 is a diagram showing the position of an adjacent block that is referenced by a spatial merge candidate.
  • A0, A1, B0, B1, and B2 each correspond to the position shown in FIG. 12, and the coordinates are as follows.
  • the positions of adjacent blocks are as follows.
  • the extended merge candidate derivation unit 30370 includes an inter-layer merge candidate derivation unit 30371 (interview merge candidate derivation unit 30371), a displacement merge candidate derivation unit 30373, and a VSP merge candidate derivation unit 30374 (VSP prediction unit 30374). .
  • the extended merge candidate is a merge candidate different from a basic merge candidate described later, and includes at least a texture merge candidate (T), an interview merge candidate (IvMC), a displacement merge candidate (IvDC), a VSP merge candidate (VSP), Either an inter-view shift merge candidate (IvMCShift) or a displacement shift merge candidate (IvDCShift) is included.
  • T texture merge candidate
  • IvMC interview merge candidate
  • IvDC displacement merge candidate
  • VSP VSP merge candidate
  • Either an inter-view shift merge candidate (IvMCShift) or a displacement shift merge candidate (IvDCShift) is included.
  • the inter-layer merge candidate derivation unit 30371 derives a texture merge candidate (T), an inter-view merge candidate (IvMC), and an inter-view shift merge candidate (IvMCShift). For these merge candidates, a block corresponding to a prediction unit is selected from reference pictures of different layers (for example, a base layer and a base view) having the same POC as the target picture, and a prediction parameter that is a motion vector included in the block is selected as a prediction parameter. It is derived by reading from the memory 307.
  • the texture merge candidate (T) is derived by the inter-layer merge candidate deriving unit 30371 when the target picture is depth.
  • the texture merge candidate (T) is derived by specifying a reference block from a depth picture having the same view ID as the target picture and reading a motion vector of the reference block.
  • the coordinates (xRef, yRef) of the reference block are derived from the following equations when the upper left coordinates of the prediction unit are xPb and yPb, and the width and height of the prediction unit are nPbW and nPbH.
  • the motion vector of the reference block is textMvLX
  • the motion vector mvLXT of the texture merge candidate is derived by the following formula.
  • prediction parameters may be assigned in units of sub-blocks obtained by further dividing the prediction unit.
  • the inter-view merge candidate moves from the reference block of the reference picture ivRefPic having the same POC as the target picture specified by the later-described displacement vector deriving unit 352 in the inter-layer merge candidate deriving unit 30371 and having a different view ID (refViewIdx). It is derived by reading prediction parameters such as vectors. This process is called a temporal inter-view motion candidate derivation process.
  • the inter-layer merge candidate derivation unit 30371 is first derived from the upper left coordinates of the block (xPb, yPb), the block width and height from the nPbW, nPbH, and the displacement vector derivation unit 352.
  • Reference coordinates (xRef, yRef) are derived from the following equations when the displacement vector to be used is (mvDisp [0], mvDisp [1]).
  • 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)
  • the inter-layer merge candidate derivation unit 30371 performs temporal inter-view motion candidate derivation processing in a temporal inter-view motion candidate derivation unit 303711 (not shown).
  • the temporal inter-view motion candidate derivation unit 3037111 derives the reference block position (xRef, yRef) from the block coordinates (xPb, yPb), the block width nPbW, nPbH, and the block displacement vector mvDisp by the above processing, and A vector of a temporal interview motion candidate is derived by referring to the vector of the prediction unit on the reference picture ivRefPic located at the reference block position (xRef, yRef).
  • the upper left coordinate of the prediction unit (luminance prediction block) on the reference picture ivRefPic including the coordinates indicated by the reference block position (xRef, yRef) is (xIvRefPb, yIvRefPb), and the reference picture list included in the prediction unit on the reference picture ivRefPic , RefPicListLYIvRef, predFlagLYIvRef [x] [y], mvLYIvRef [x] [y], refIdxLYIvRef [x] [y].
  • the temporal inter-view motion candidate derivation unit 3037111 predicts 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). It is determined whether PicOrderCnt (PrefPicListLYIvRef [refIdxLYIvRef [xIvRefPb] [yIvRefPb]])) of the unit's POC is equal to PicOrderCnt (RefPicListLX [i]) of the reference picture of the target prediction unit.
  • 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.
  • the inter-view shift merge candidate IvMCShift is also a prediction parameter such as a motion vector from a reference block of a picture having the same POC as the target picture specified by the displacement vector deriving unit 352 in the inter-layer merge candidate deriving unit 30371 and having a different view ID. It is derived by reading.
  • the coordinates (xRef, yRef) of the reference block, the upper left coordinates of the prediction unit are xPb, yPb, the width and height of the prediction unit are nPbW, nPbH, and the displacement vector derived from the displacement vector deriving unit 352 is mvDisp [0], When mvDisp [1], it is derived from the following equation.
  • xRefFull xPb + (nPbW >> 1) + ((mvDisp [0] + nPbW * 2 + 4 + 2) >> 2)
  • yRefFull yPb + (nPbH >> 1) + ((mvDisp [1] + nPbH * 2 + 4 + 2) >> 2)
  • xRef Clip3 (0, PicWidthInSamplesL-1, (xRefFull >> 3) ⁇ 3)
  • yRef Clip3 (0, PicHeightInSamplesL-1, (yRefFull >> 3) ⁇ 3) (Displacement merge candidate)
  • the displacement merge candidate derivation unit 30373 derives a displacement merge candidate (IvDC) and a displacement shift merge candidate (IvDCShift) from the displacement vector input from the displacement vector derivation unit 352.
  • 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 ( IvDC) is generated by the following equation.
  • DepthFlag is a variable that becomes 1 in the case of depth.
  • 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 displacement shift merge candidate (IvDC), a merge candidate having a vector obtained by shifting the displacement merge candidate in the horizontal direction by the following equation.
  • IvDC displacement shift 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.
  • 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.
  • FIG. 14 is a block diagram showing the relationship between the VSP prediction unit 30374 and other means.
  • the VSP prediction unit 30374 operates using the split flag horSplitFlag derived by the split flag deriving unit 353 and the displacement vector derived by the depth DV deriving unit 351.
  • 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.
  • the VSP prediction unit 30374 uses the motion vector disparitySampleArray [] derived from the depth DV derivation unit 351 as the horizontal component motion vector mvLX [0], and 0 as the vertical component.
  • the vector mvLX [] is derived as the motion vector mvLX [1], and the prediction parameter of the 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 only has a residual prediction index iv_res_pred_weight_idx of 0 and an illumination compensation flag ic_flag of 0.
  • 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.
  • the spatial merge candidate derivation unit 30381 sets a merge candidate VSP mode flag mergeCandIsVspFlag that is derived by inheriting the VSP mode flag VspModeFlag of the adjacent block. That is, when the VSP mode flag VspModeFlag of the adjacent block is 1, the VSP mode flag mergeCandIsVspFlag of the corresponding spatial merge candidate is 1, and otherwise, the VSP mode flag mergeCandIsVspFlag is 0.
  • 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.
  • FIG. 10 is a schematic diagram showing the configuration of the AMVP prediction parameter derivation unit 3032 according to this embodiment.
  • the AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033, a prediction vector selection unit 3034, and an inter prediction identifier derivation unit 3035.
  • the vector candidate derivation unit 3033 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 reference block is a block (for example, a block at the lower left end, an upper right end, or a temporally adjacent block of the prediction unit) at a predetermined position based on the position of the prediction unit.
  • the prediction vector selection unit 3034 selects the vector mvpListLX [mvp_lX_flag] indicated by the prediction vector flag mvp_LX_flag input from the inter prediction parameter decoding control unit 3031 among the vector candidates mvpListLX derived by the vector candidate derivation unit 3033 as the prediction vector mvpLX. .
  • the prediction vector selection unit 3034 outputs the selected prediction vector mvpLX to the addition unit 3035.
  • the addition unit 3035 adds the prediction vector mvpLX input from the prediction vector selection unit 3034 and the difference vector mvdLX input from the inter prediction parameter decoding control unit to calculate a vector mvLX.
  • the adding unit 3035 outputs the calculated vector mvLX to the predicted image generation unit 308.
  • the inter prediction parameter decoding control unit 3031 includes a split mode decoding unit 30311, an inter prediction identifier decoding unit 30312, a merge flag decoding unit, a merge index decoding unit, an inter prediction identifier decoding unit, a reference picture index decoding unit, a vector candidate index decoding unit, A vector difference decoding unit, a residual prediction index decoding unit, and an illuminance compensation flag decoding unit are configured.
  • the partition mode decoding unit, the merge flag decoding unit, the merge index decoding unit, the reference picture index decoding unit, the vector candidate index decoding unit, and the vector difference decoding unit are respectively divided mode part_mode, merge flag merge_flag, merge index merge_idx, and inter prediction identifier.
  • inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, and difference vector mvdLX are decoded.
  • the prediction unit decodes an inter prediction identifier inter_pred_flag indicating L0 prediction (PRED_L0), L0 prediction (PRED_L1), and bi-prediction (PRED_BI).
  • the residual prediction index decoding unit uses the entropy decoding unit 301 to decode the residual prediction index iv_res_pred_weight_idx from the encoded data when the division mode PartMode (part_mode) of the encoding unit CU is 2Nx2N. In other cases, the residual prediction index decoding unit sets (infers) 0 to iv_res_pred_weight_idx. 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.
  • it is an index indicating the weight of residual prediction, and takes values of 0, 1, and 2.
  • iv_res_pred_weight_idx When iv_res_pred_weight_idx is 0, residual prediction is not performed.
  • the vector used for residual prediction may be changed instead of changing the weight of residual prediction according to the index.
  • a flag (residual prediction flag) indicating whether to perform residual prediction may be used.
  • the illuminance compensation flag decoding unit uses the entropy 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 includes a displacement vector (hereinafter referred to as MvDisp [x] [y] or mvDisp [x] [y]) and a reference picture index refIdxLX of the coding unit (target CU) to which the target PU belongs.
  • the view index refViewIdx is extracted from a block that is spatially or temporally adjacent to the coding unit.
  • 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 upper side are used as reference blocks.
  • a block prediction flag predFlagLX, a reference picture index refIdxLX, and a vector mvLX are extracted in order.
  • 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.
  • FIG. 22 is a flowchart showing the operation of the displacement vector deriving unit 352 according to this embodiment.
  • the displacement vector deriving unit 352 sets the displacement vector availability flag dvAbailableFlag to 0 and starts processing.
  • the displacement vector deriving unit 352 derives a displacement vector from the temporal adjacent block.
  • the displacement vector mvDisp and the reference view index refViewIdx are derived from the block Col temporally adjacent to the target CU and the second block AltCol temporally adjacent.
  • refViewIdx the reference view index
  • 1 is set to the displacement vector availability flag dvAbailableFlag, and 0 when the displacement vector is not derived.
  • the displacement vector deriving unit 352 derives the displacement vector and the derived displacement vector by the adjacent block displacement vector deriving unit 3521 provided therein. Specific processing will be described later.
  • the displacement vector deriving unit 352 is expressed by the following equation: Then, the derived displacement vector ivpMvDispN is set in the displacement vector mvDisp, the derived reference view index refViewIdxN is set in the reference view index refViewIdx, and the process is terminated. Otherwise, the process proceeds to S1006.
  • N is A1 or B1, and indicates an adjacent block of the target block from which the derived displacement vector is derived.
  • the displacement vector deriving unit 352 ends the process. Otherwise, the process proceeds to S1007.
  • the displacement vector deriving unit 352 sets the default reference view index DefaultRefViewIdx derived by the default reference view index deriving unit 3522 provided therein to the reference view index refViewIdx, and sets (0, 0) to the displacement vector mvDisp. . Specific processing will be described later.
  • the displacement vector deriving unit 352 calls a depth DV deriving unit 352 described later, and derives a depth refined displacement vector mvRefinedDisp from the displacement vector mvDisp.
  • 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.
  • FIG. 23 is a flowchart showing the operation of the adjacent displacement vector deriving unit 3521 according to this embodiment.
  • the adjacent displacement vector deriving unit 3521 derives the displacement vector mvDisp and the derived displacement vector ivpMvDispN from the blocks A1 and B1 adjacent to the target block.
  • the adjacent displacement vector deriving unit 3521 also derives a reference view index refViewIdx and a derived reference view index refViewIdxN.
  • the adjacent displacement vector deriving unit 3521 performs a search by performing S1012 to S1017, assuming that blocks A1 and B1 adjacent to the target block are N.
  • N A1
  • N B1
  • the coordinates (xCb + nCbS-1, yCb-1) of the upper left pixel of the adjacent block B1 are set.
  • (xCb, yCb) is the coordinates of the target CU
  • nCbS is the width and height of the target CU.
  • the adjacent displacement vector deriving unit 3521 refers to the reference picture index RefIdxLX [yN] [xN] of the coordinates (xX, yN) of the adjacent block N.
  • the reference picture index RefIdxLX [yN] [xN] of the adjacent block is 0 or more, that is, when the reference picture of the reference picture list is used in the adjacent block N (when inter prediction is also used in the adjacent block).
  • the process proceeds to S1013. Otherwise, the process proceeds to S1017, and the process for the next adjacent block is continued.
  • the adjacent displacement vector deriving unit 3521 determines whether the adjacent block N is an inter-view block that has been inter-predicted using inter-view. If the adjacent block N is an inter-view block, the process proceeds to S1014. Set the displacement vector. Otherwise, the process proceeds to S1015 to perform a derived displacement vector derivation process for adjacent blocks.
  • any of the following methods can be used to determine whether the block is an inter-view block.
  • the POC of the reference picture RefPicListX [RefIdxLX [xN] [yN]] of the adjacent block N is equal to PicOrderCntVal that is the POC of the target picture, it is determined that the block is an inter-view block.
  • the view ID can also be used to determine whether the block is an inter-view block. That is, when the view ID of the reference picture RefPicListX [RefIdxLX [xN] [yN]] of the adjacent block N is equal to the view ID of the target picture, it is determined that the block is an inter-view block.
  • the adjacent displacement vector deriving unit 3521 derives the displacement vector MvLXN [xN] [yN] of the adjacent block as a displacement vector mvDisp by the following formula,
  • the view index ViewIdx (RefPicListX [RefIdxLX [xN] [yN]]) is derived as the reference view index refViewIdx, and 1 is set to the displacement vector utilization flag dvAvailFlag.
  • mvDisp MvLXN [xN] [yN]
  • refViewIdx ViewIdx (RefPicListX [RefIdxLX [xN] [yN]])
  • dvAvailFlag 1
  • ViewIdx (X) is a function for deriving the view index of the reference picture X.
  • RefPicListX [RefIdxLX [xN] [yN]] is a reference picture on the reference picture list RefPicListX [] pointed to by the reference picture index RefIdxLX [xN] [yN] of adjacent blocks xN and yN.
  • the adjacent displacement vector deriving unit 3521 proceeds to S1016 and derives a derived displacement vector. Otherwise, the process proceeds to S1017, and the process for the next adjacent block is continued. Note that the adjacent displacement vector deriving unit 3521 determines whether the adjacent block N is a block that has been predicted in the merge mode depending on whether any of the following conditions is true.
  • ivpMvDispN MvRefinedDisp [xN] [yN]
  • the adjacent block displacement vector deriving unit 3521 (displacement vector deriving unit 352) having the above configuration sequentially searches for spatially adjacent blocks. If the adjacent block is an inter-view block, the displacement vector is targeted.
  • a displacement vector deriving device that outputs a displacement vector of a block and derives a derived vector otherwise.
  • the adjacent block displacement vector deriving unit 3521 sets the displacement vector of the adjacent block as the derived vector when the mode of the adjacent block is the skip mode or when the adjacent mode is the inter mode and the merge flag is 1.
  • the adjacent block displacement vector deriving unit 3521 configured as described above selects one of the merge candidate lists and uses it as a prediction parameter when the mode is the skip mode or when the inter mode and the merge flag are 1. However, since it is not necessary to distinguish the previous two cases, there is an effect that the mounting is easy.
  • Default reference view index deriving unit 3522 a method for deriving the default reference view index DefaultRefViewIdx used in the displacement vector deriving unit 352 when the displacement vector of the temporally adjacent block and the displacement vector of the spatially adjacent block and the derived displacement vector are not available will be described.
  • FIG. 24 is a flowchart showing the operation of the default reference view index deriving unit 3522.
  • the default reference view index deriving unit 3522 performs the processing from S2003 to S2005 on the reference picture list RefPicListX indicated by X with respect to the index i of the reference picture number NumRefPicsLX-1 from 0.
  • the default reference view index deriving unit 3522 sets the view index of the reference picture RefPicListX [i] in DefaultRefViewIdx, and sets 1 in DefaultRefViewIdxAvailableFlag.
  • DefaultRefViewIdxAvailableFlag is equal to 1.
  • ViewIdx (RefPicListX [i]) is not equal to the view index of the target picture.
  • PicOrderCnt (RefPicListX [i]), which is the POC of RefPicListX [i]
  • PicOrderCntVal which is the POC of the target picture.
  • the default reference view index deriving unit 3522 configured as described above, the default reference view index can be derived by searching the reference picture list once. There is an effect that derivation of the reference view index becomes easy.
  • reference pictures having a view ID different from the target picture and having a POC equal to the target picture are searched in order from the top of the reference picture list.
  • the view index of the first reference picture found is used.
  • a view index of a reference picture that is more suitable for encoding efficiency can be used as a default view index.
  • the reference picture stored near the beginning of the reference picture is often more effective for prediction of the target picture, so the default reference view index derivation unit of this configuration that preferentially selects the reference picture stored near the beginning 3522 can derive a view index of a viewpoint different from the target picture that is most effective in encoding efficiency as a default view index.
  • the default reference view index deriving unit 3522 may perform the following processing in S2003 ′ instead of S2003 (referred to as a default reference view index deriving unit 3522 ′). ).
  • the default reference view index deriving unit 3522 ′ configured as described above searches for a reference picture having a view ID different from that of the target picture in order from the top of the reference picture list, and uses the view index of the reference picture found first. According to this configuration, there is an effect that a view index of a reference picture that is more suitable for encoding efficiency can be used as a default view index.
  • the default reference view index deriving unit 3522 may perform the processing of the next S2003 ′′ instead of S2003 (referred to as a default reference view index deriving unit 3522 ′).
  • the default reference view index deriving unit 3522 ′′ having the above configuration, reference pictures having a POC equal to the target picture are searched in order from the top of the reference picture list, and the view index of the reference picture that is found first is used. According to this configuration, there is an effect that a view index of a reference picture that is more suitable for encoding efficiency can be used as a default view index.
  • the default reference view index deriving process is as follows.
  • DefaultRefViewIdxAvailableFlag is equal to 1.
  • RefPicOrderCnt (RefPicListX [i]), which is the POC of RefPicListX [i], is equal to PicOrderCntVal, which is the POC of the target picture.
  • the default reference view index derivation unit of the comparative example is different from the default reference view index derivation unit 3522 of the present embodiment, and processing is heavy because there is a loop related to curViewIdx. Also, since the view ID close to the top of the reference picture list is preferentially selected as in the present embodiment, the view ID close to 0 is preferentially selected in the comparative example, so that the coding efficiency does not increase. There is.
  • 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.
  • the division flag deriving unit 353 sets the flag minSubBlkSizeFlag to 1 according to the following expression when the width nPSW or the height nPSH of the target block is other than a multiple of 8.
  • (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.
  • the depth DV deriving unit 351 derives displacement 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 displacement array disparitySamples (horizontal vector).
  • the displacement array deriving process of the depth DV deriving unit 351 is switched depending on whether or not the parallax synthesis prediction is performed.
  • the depth DV deriving unit 351 sets a pixel used for deriving the depth representative value maxDep for each target block. Specifically, as shown in FIG. 13, when the relative coordinates from the upper left prediction block (xTL, yTL) of the target block are (xSubB, ySubB), the X coordinate xP0 of the left end of the sub block and the right end The X coordinate xP1, the upper end Y coordinate yP0, and the lower end Y coordinate yP1 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 + nSubBlkW-1)
  • yP1 Clip3 (0, pic_height_in_luma_samples-1, yTL + ySubB + nSubBlkH-1)
  • pic_width_in_luma_samples and pic_height_in_luma_samples represent the width and height of the image, respectively.
  • FIG. 18 is a diagram illustrating an operation of the depth DV deriving unit 351 in the case of disparity synthesis prediction according to the present embodiment.
  • the depth DV deriving unit 351 derives a representative depth value using the depth values of two points in the horizontal direction illustrated in FIG. .
  • the depth DV deriving unit 351 determines the Y coordinate when the upper left coordinate of the target prediction unit is (xTL, yTL), the upper left coordinate of the subblock is (xSubB, ySubB), and the width and height of the subblock are nSubBlkW, nSubBlkH.
  • the depth DV deriving unit 351 derives the coordinates of two points by the following formula.
  • xP0 Clip3 (0, pic_width_in_luma_samples-1, xTL + xSubB)
  • xP1 Clip3 (0, pic_width_in_luma_samples-1, xTL + xSubB + nSubBlkW-1)
  • yP0 Clip3 (0, pic_height_in_luma_samples-1, yTL + ySubB + nSubBlkH / 2-1)
  • the depth DV deriving unit 351 calculates the representative depth value maxDep from the maximum values of the pixel values refDepPels [xP0] [yP0] and refDepPels [xP1] [yP1] of the following two depth images of the sub-block, Derived from the equation.
  • maxDep Max (refDepPels [xP0] [yP0], refDepPels [xP1] [yP0])
  • 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 IDrefViewIdx of the layer indicated by the displacement vector (NBDV) to target the displacement 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 displacement array disparitySamples [] to the displacement vector deriving unit 352 as the displacement vector DoNBDV (horizontal component thereof).
  • the depth DV deriving unit 351 also outputs the displacement vector (the horizontal component thereof) to the VSP prediction unit 30374.
  • the depth DV deriving unit 351 having the above-described configuration, only two points located horizontally are used in the view synthesis prediction mode, so that the number of depth pixel accesses and the calculation amount of the representative depth value are small. Play.
  • the depth DV deriving unit 351 having the above configuration, in the case of disparity synthesis prediction (VSP merge mode), only two points located horizontally are used, so that encoding efficiency is improved. There is an effect. Normally, a more robust representative depth value can be derived by referring to a plurality of depth values instead of one depth value in a certain block (sub-block). Therefore, in the prior art, with emphasis on robustness, representative depth values are derived by referring to the depth values of four points in subblock units.
  • the method of referring to many points is based on the depth representative values that are different for each sub-block. This reduces the effect of viewpoint synthesis prediction that different parallax vectors can be derived and used in units.
  • viewpoint synthesis prediction a displacement vector is generated only in the horizontal direction, and the maximum effect is exhibited when the displacement vector is 0 in the vertical direction.
  • the sub-block (depth block) used for deriving the representative depth value in the disparity synthesis prediction is located at a position shifted by the displacement vector with respect to the target block, and the displacement vector error also refers to the depth when the representative depth value is derived.
  • the depth DV deriving unit 351 having the above-described configuration, a plurality of positions (xP0, xP1) are used for the horizontal component that may cause a slip, and one vertical component that is unlikely to cause a shift.
  • yP0 the number of referenced depth values is reduced from four to two while maintaining the robustness of the derived representative depth value, thereby making it possible to take advantage of the characteristics of sub-blocks. A value is derived.
  • FIG. 27 is a diagram illustrating an operation of the depth DV deriving unit (displacement arrangement deriving device) in the case of the disparity synthesis prediction of the comparative example.
  • the displacement array deriving device of the comparative example also uses the pixel values refDepPels [xP0] [yP0], refDepPels [xP0] [yP1], refDepPels [xP1] [yP0] at the four corners of the sub-block in the case of parallax synthesis
  • the representative depth value maxDep which is the maximum value of refDepPels [xP1] [yP1] is derived from the following equation.
  • the depth DV deriving unit (displacement array deriving device) of the comparative example has a problem that the processing amount is larger than that of the depth DV deriving unit 351 according to the present embodiment.
  • FIG. 17 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 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 in units of subblocks when the subblock motion compensation flag subPbMotionFlag is 1. When the residual prediction execution flag resPredFlag is 1, the residual prediction unit 3092 derives a residual from the difference between the two residual prediction motion compensated images (rpSamplesLX, rpRefSamplesLX), 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 rpSamplesLX, the reference block rpRefSamplesLX, and the residual prediction index iv_res_pred_weight_idx.
  • the corrected predicted image predSamplesLX ⁇ predSamplesLX ⁇ [x] [y] predSamplesLX [x] [y] + ((rpSamplesLX [x] [y]-rpRefSamplesLX [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.
  • bitDepth is a value indicating the bit depth.
  • bitDepth is a value indicating the bit depth.
  • FIG. 25 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, an entropy encoding unit 104, an inverse quantization / inverse DCT unit 105, an addition unit 106, a prediction parameter memory (prediction parameter storage). Section, frame memory) 108, reference picture memory (reference image storage unit, frame memory) 109, coding parameter determination unit 110, and prediction parameter coding unit 111.
  • 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 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 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 predicted image generation unit 101 performs viewpoint synthesis prediction in the VSP prediction unit 30374. 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 entropy encoding unit 104 and the inverse quantization / inverse DCT unit 105.
  • the entropy coding unit 104 receives the quantization coefficient from the DCT / quantization unit 103 and the 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 entropy 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. As a result, the entropy encoding unit 104 outputs the selected set of encoding parameters to the outside as the encoded stream Te, and does not output the set of unselected encoding 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 entropy 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. 26 is a schematic diagram illustrating the 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 AMVP prediction parameter derivation unit 1122 has the same configuration as the AMVP prediction parameter derivation unit 3032 (see FIG. 10).
  • 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 entropy coding unit 104 to decode a code related to inter prediction (the syntax element) includes, for example, a code (syntax element) included in the coded data. , 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 merge index merge_idx input from the encoding parameter determination unit 110 as the entropy encoding unit 104. To be 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 entropy 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 of the image encoding device 11 includes the already described intra predicted image generation unit 310 (DMM prediction unit 145T).
  • the MM prediction unit 145T includes the depth lookup table derivation unit 146 already described. Thereby, there is an effect that the depth index conversion table DepthValue2Idx is easily derived.
  • the inter prediction parameter encoding control unit 1126 of the image encoding device 11 of the present embodiment includes a displacement vector deriving unit 352 (adjacent block displacement vector deriving unit 3521).
  • the adjacent block displacement vector deriving unit 3521 according to the present embodiment is a case where the mode used to select one of the merge candidate lists and use it as a prediction parameter is the skip mode, and the case where the inter mode and the merge flag are 1. In some cases, there is no need to distinguish between the previous two cases, so that there is an effect that mounting is easy.
  • the inter prediction parameter encoding control unit 1126 of the image encoding device 11 includes a displacement vector deriving unit 352 (default reference view index deriving unit 3522). According to the default reference view index deriving unit 3522 of the present embodiment, it is possible to derive the default reference view index by searching the reference picture list once, so that it is easy to derive the default reference view index. Play.
  • the image encoding device 11 and the image decoding device 31 in the above-described embodiment 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.
  • One aspect of the present invention is to derive a representative depth value using two horizontally located depth values in a sub-block and to derive a displacement vector from the derived representative depth value in disparity synthesis prediction.
  • the displacement array deriving device is configured such that the upper left coordinates of the target prediction unit are (xTL, yTL), the upper left coordinates of the sub block are (xSubB, ySubB), and the width and height of the sub block are nSubBlkW, nSubBlkH.
  • YTL + ySubB + nSubBlkH / 2-1 where the Y coordinate is the center of the sub-block, the first point where the X coordinate is xTL + xSubB, and yTL + ySubB + ⁇ ⁇ nSubBlkH where the Y coordinate is the center of the sub-block / 2-1, Deriving the second point whose x-coordinate is xTL + xSubB + nSubBlkB-1, and deriving the maximum value of the depth value of the first point and the depth value of the second point as the representative depth value It is characterized by.
  • the displacement vector deriving device for deriving a derived vector the displacement vector deriving device is configured such that the adjacent block is in a mode in which the adjacent block mode is the skip mode or the adjacent mode is the inter mode and the merge flag is 1.
  • the displacement vector is set as a derived vector.
  • One form of the present invention is that, for a certain index i, the value Idx2DepthValue [i-1] of the index depth conversion table Idx2DepthValue of the index i-1, the absolute difference value of the variable d, and the value of the index depth conversion table Idx2DepthValue of the index i.
  • the difference absolute value between Idx2DepthValue [i] and the variable d is compared, and the index when the difference absolute value is small is set in the depth index conversion table DepthValue2Idx.
  • the depth look-up table derivation device is configured such that the index i value Idx2DepthValue [i of the index depth conversion table Idx2DepthValue for an index i to be incremented with respect to a variable d from 0 to a predetermined value.
  • i-1 is set to the depth index conversion table DepthValue2Idx [d] of the variable d. Otherwise, i is set to the depth index conversion table DepthValue2Idx [d of the variable d. ] Is set.
  • 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

In the displacement arrangement derivation device in non-patent document 1, since four subblock points are used, the large amount of processing for depth access is a problem. In the displacement vector derivation device in non-patent document 1, there is a problem in that implementation is complicated because it is necessary, when merge candidates are used, to distinguish between cases of skip mode and cases of inter mode where a merge flag is 1. In the default reference view index derivation device in non-patent document 1, there is a problem in that implementation is complicated because a reference picture list is consulted multiple times in order to search a default reference view index that is set in order from 0. In the depth lookup table derivation device in non-patent document 1, there is a problem in that implementation is complicated because two candidates idxLower and idxUpper are derived and compared. The present invention provides: a displacement arrangement derivation device that derives a representative depth value using depth values for two points located horizontally in a subblock, and derives a displacement vector from the derived representative depth value; a displacement vector derivation device that, in the event that the mode of an adjacent block is skip mode or the adjacent mode is inter mode and a merge flag is 1, configures the displacement vector of the adjacent block to the derived vector; a default reference view index derivation device that, in the event that the view index of a reference picture differs from the view index of a target picture and the POC of the reference picture is equal to the POC of the target picture, configures the view index of the reference picture to a default reference view index; and a depth lookup table derivation device that configures, as a depth index conversion table DepthValue2Idx, the index candidate, from among an i-1 index candidate and an i index candidate, in which the absolute value of difference between an Idx2DepthValue [] value of the index candidate and a variable is smaller.

Description

変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置Displacement array deriving device, displacement vector deriving device, default reference view index deriving device, and depth lookup table deriving device
 本発明は、変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置に関する。 The present invention relates to a displacement array deriving device, a displacement vector deriving device, a default reference view index deriving device, and a depth lookup table deriving device.
 複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素(x成分)と垂直方向の要素(y成分)を有する2次元のベクトルであり、1つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ(画像レイヤ)とデプスレイヤ(距離画像レイヤ)から構成される場合のスケーラブル符号化は、3次元スケーラブル符号化と呼ばれる。 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. Has been proposed. 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. In order to acquire images from a plurality of viewpoints, it is common to use cameras arranged at the respective viewpoints. In multi-viewpoint encoding, 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. In 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. At this time, the base layer is also called a base view, and the enhancement layer is also called a non-base view. Furthermore, in addition to view scalable, 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.
 また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化(ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理)、SNRスケーラブル符号化(ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理)等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。 For 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). In scalable coding, for example, a base layer picture may be used as a reference picture in coding an enhancement layer picture.
 HEVCでは、マージモードと呼ばれる既に処理されたブロックの予測情報を再利用する手法が知られている。マージモードでは、マージ候補を要素として構築されるマージ候補リストからマージインデックス(merge_index)で指定される要素を予測パラメータとして選択することで、予測ユニットの予測パラメータが導出される。 In HEVC, a technique called reusing the prediction information of already processed blocks called merge mode is known. In the merge mode, 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.
 非特許文献1では、視点合成予測においてサブブロックコーナーの4点のデプス値の最大値から代表デプス値を導出し、代表デプス値から水平方向のベクトルを導出する変位配列導出装置が知られている。 In Non-Patent Document 1, there is known a displacement array deriving device for deriving a representative depth value from the maximum value of four depth values of a sub-block corner in view synthesis prediction and deriving a horizontal vector from the representative depth value. .
 非特許文献1では、隣接ブロックのモードがスキップモードである場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定する変位ベクトル導出装置が知られている。 In Non-Patent Document 1, there is known a displacement vector deriving device that sets a displacement vector of an adjacent block as a derived vector when the mode of the adjacent block is a skip mode.
 非特許文献1では、0から順に設定されるデフォルト参照ビューインデックスが、参照ピクチャリスト中の参照ピクチャに存在するかを探索することデフォルト参照ビューインデックス導出装置が知られている。 In Non-Patent Document 1, there is known a default reference view index deriving device for searching whether a default reference view index set in order from 0 exists in a reference picture in a reference picture list.
 非特許文献1では、デプス値dに対応するインデックスの候補としてi-1とiの2つの候補を用い、2つのインデックスidxLower、idxUpperのうち、インデックスデプス変換テーブルIdx2DepthValueでよりデプス値dに近い値に変換されるインデックスを用いることで、インデックスデプス変換テーブルIdx2DepthValueが与えられた際に、デプス値dを対応するインデックスに変換するテーブルであるデプスインデックス変換テーブルDepthValue2Idxを導出するデプスルックアップテーブル導出装置が知られている。 In Non-Patent Document 1, two candidates i-1 and i are used as index candidates corresponding to the depth value d, and a value closer to the depth value d in the index depth conversion table Idx2DepthValue out of the two indexes idxLower and idxUpper. Depth lookup table derivation device that derives the depth index conversion table DepthValue2Idx, which is a table that converts the depth value d into the corresponding index when the index depth conversion table Idx2DepthValue is given by using the index converted to Are known.
 非特許文献1の変位配列導出装置では、サブブロックの4点を用いるため、デプスアクセスの処理量が大きく、また、サブブロック間で代表デプス値が類似することから、効率が高くないという課題がある。 Since the displacement array deriving device of Non-Patent Document 1 uses four points of sub-blocks, the processing amount of depth access is large, and the representative depth values are similar between the sub-blocks, so that the efficiency is not high. is there.
 非特許文献1の変位ベクトル導出装置では、マージ候補を用いる場合をスキップモードであるか、インターモードのマージフラグが1の場合かで区別する必要があり、実装が複雑になるという課題がある。 In the displacement vector deriving device of Non-Patent Document 1, it is necessary to distinguish between the case where the merge candidate is used in the skip mode or the case where the inter mode merge flag is 1, and there is a problem that the implementation becomes complicated.
 非特許文献1のデフォルト参照ビューインデックス導出装置は、0から順に設定されるデフォルト参照ビューインデックスを探索するために、複数回参照ピクチャリストを参照するため、実装が複雑になるという課題がある。 The default reference view index derivation device of Non-Patent Document 1 has a problem that the implementation is complicated because the reference picture list is referred to a plurality of times in order to search for the default reference view index set in order from 0.
 非特許文献1のデプスルックアップテーブル導出装置では、2つの候補idxLower、idxUpperを導出し比較を行うため、実装が複雑になるという課題がある。 In the depth lookup table derivation device of Non-Patent Document 1, since two candidates idxLower and idxUpper are derived and compared, there is a problem that the implementation becomes complicated.
 本発明の1つの形態は、視差合成予測において、サブブロック中の水平に位置する2点のデプス値を利用して代表デプス値を導出し、導出した代表デプス値から変位ベクトルを導出することを特徴とする。 One aspect of the present invention is to derive a representative depth value using two horizontally located depth values in a sub-block and to derive a displacement vector from the derived representative depth value in disparity synthesis prediction. Features.
 本発明の1つの形態は、空間的に隣接するブロックを順に探索して、前記隣接するブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置において、前記変位ベクトル導出装置は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが1の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定することを特徴とする。 According to one aspect of the present invention, spatially adjacent blocks are sequentially searched, and when the adjacent block is an inter-view block, the displacement vector is output as a displacement vector of the target block, and the other blocks In this case, in the displacement vector deriving device for deriving a derived vector, the displacement vector deriving device is configured such that the adjacent block is in a mode in which the adjacent block mode is the skip mode or the adjacent mode is the inter mode and the merge flag is 1. The displacement vector is set as a derived vector.
 本発明の1つの形態は、X=0、1で指定される参照ピクチャリストLXの0から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのPOCが対象ピクチャのPOCと等しい場合に、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定する。 According to one aspect of the present invention, reference pictures from 0 to a reference picture number NumRefPicsLX-1 in a reference picture list LX specified by X = 0 and 1 are searched in order, and the view index of the reference picture is the view of the target picture. Unlike the index, when the POC of the reference picture is equal to the POC of the target picture, the view index of the reference picture is set as a default reference view index.
 本発明の1つの形態は、あるインデックスiについて、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前記差分絶対値の小さい場合のインデックスをデプスインデックス変換テーブルDepthValue2Idxに設定する。 One form of the present invention is that, for a certain index i, the value Idx2DepthValue [i-1] of the index depth conversion table Idx2DepthValue of the index i-1, the absolute difference value of the variable d, and the value of the index depth conversion table Idx2DepthValue of the index i. The difference absolute value between Idx2DepthValue [i] and the variable d is compared, and the index when the difference absolute value is small is set in the depth index conversion table DepthValue2Idx.
 本発明によれば、実装が容易な、変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置を提供できる。 According to the present invention, it is possible to provide a displacement array deriving device, a displacement vector deriving device, a default reference view index deriving device, and a depth lookup table deriving device that can be easily implemented.
本実施例に係るDMM予測部145Tの構成を示すブロック図である。It is a block diagram which shows the structure of the DMM prediction part 145T which concerns on a present Example. 本発明の実施形態に係る画像伝送システムの構成を示す概略図である。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. 分割モードのパターンを示す図であり、(a)~(h)は、それぞれ、分割モードが、2N×2N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、および、N×Nの場合のパーティション形状について示している。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. 本実施形態に係る画像復号装置31の構成を示す概略図である。It is the schematic which shows the structure of the image decoding apparatus 31 which concerns on this embodiment. 本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。It is the schematic which shows the structure of the inter prediction parameter decoding part 303 which concerns on this embodiment. 本実施形態に係るマージモードパラメータ導出部3036の構成を示す概略図である。It is the schematic which shows the structure of the merge mode parameter derivation | leading-out part 3036 which concerns on this embodiment. 本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。It is the schematic which shows the structure of the AMVP prediction parameter derivation | leading-out part 3032 which concerns on this embodiment. マージ候補リストの一例を示す図である。It is a figure which shows an example of a merge candidate list. 空間マージ候補が参照する隣接ブロックの位置を示す図であるIt is a figure which shows the position of the adjacent block which a space merge candidate refers to 本実施形態に係る分割モード、分割フラグ導出においてデプスの参照位置を示す図である。It is a figure which shows the reference position of a depth in the division mode which concerns on this embodiment, and division flag derivation. 本実施形態のVSPマージ候補導出部30374(VSP予測部30374)の構成を示す図である。It is a figure which shows the structure of the VSP merge candidate derivation | leading-out part 30374 (VSP prediction part 30374) of this embodiment. 上記動画像復号装置で利用されるイントラ予測方式の分類と対応する予測モード番号の例を示す図である。It is a figure which shows the example of the prediction mode number corresponding to the classification | category of the intra prediction method utilized with the said moving image decoding apparatus. DMM予測の概略について説明する図である。(a)はブロック上のオブジェクトのエッジ境界を示す例であり、(b)は該ブロックを、オブジェクトのエッジ境界に沿って2つ領域(P1、P2)へ分割することを示す分割パターン(wedgePattern)の一例を示し、(c)上記各分割された領域へ予測値を割り当てた一例である。It is a figure explaining the outline of DMM prediction. (A) is an example showing an edge boundary of an object on a block, and (b) is a division pattern (wedgePattern) indicating that the block is divided into two regions (P1, P2) along the edge boundary of the object. (C) is an example in which a predicted value is assigned to each of the divided areas. 本実施形態に係るインター予測画像生成部309の構成を示す概略図である。It is the schematic which shows the structure of the inter estimated image generation part 309 which concerns on this embodiment. 本実施形態に係る視差合成予測の場合のデプスDV導出部351の動作を示す図である。It is a figure which shows operation | movement of the depth DV derivation | leading-out part 351 in the case of the parallax synthesis prediction which concerns on this embodiment. 本実施形態に係るデプスルックアップテーブル導出部146の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the depth lookup table derivation | leading-out part 146 which concerns on this embodiment. 本実施形態のインター予測パラメータに関するシンタックス表である。It is a syntax table regarding the inter prediction parameter of this embodiment. 本実施形態のインター予測パラメータに関するシンタックス表である。It is a syntax table regarding the inter prediction parameter of this embodiment. 本実施形態に係る変位ベクトル導出部352の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the displacement vector derivation | leading-out part 352 which concerns on this embodiment. 本実施形態に係る隣接変位ベクトル導出部3521の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the adjacent displacement vector derivation | leading-out part 3521 which concerns on this embodiment. 本実施形態に係るデフォルト参照ビューインデックス導出部3522の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the default reference view index derivation | leading-out part 3522 which concerns on this embodiment. 本実施形態に係る画像符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image coding apparatus which concerns on this embodiment. 本実施形態に係るインター予測パラメータ符号化部112の構成を示す概略図である。It is the schematic which shows the structure of the inter prediction parameter encoding part 112 which concerns on this embodiment. 比較例の視差合成予測の場合のデプスDV導出部の動作を示す図である。It is a figure which shows operation | movement of the depth DV derivation | leading-out part in the case of the parallax synthesis prediction of a comparative example.
 以下、図面を参照しながら本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 図2は、本実施形態に係る画像伝送システム1の構成を示す概略図である。 FIG. 2 is a schematic diagram showing the configuration of the image transmission system 1 according to the present embodiment.
 画像伝送システム1は、複数のレイヤ画像を符号化した符号を伝送し、伝送された符号を復号した画像を表示するシステムである。画像伝送システム1は、画像符号化装置11、ネットワーク21、画像復号装置31及び画像表示装置41を含んで構成される。 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.
 画像符号化装置11には、複数のレイヤ画像(テクスチャ画像ともいう)を示す信号Tが入力される。レイヤ画像とは、ある解像度及びある視点で視認もしくは撮影される画像である。複数のレイヤ画像を用いて3次元画像を符号化するビュースケーラブル符号化を行う場合、複数のレイヤ画像のそれぞれは、視点画像と呼ばれる。ここで、視点は撮影装置の位置又は観測点に相当する。例えば、複数の視点画像は、被写体に向かって左右の撮影装置のそれぞれが撮影した画像である。画像符号化装置11は、この信号のそれぞれを符号化して符号化ストリームTe(符号化データ)を生成する。符号化ストリームTeの詳細については、後述する。視点画像とは、ある視点において観測される2次元画像(平面画像)である。視点画像は、例えば2次元平面内に配置された画素毎の輝度値、又は色信号値で示される。以下では、1枚の視点画像又は、その視点画像を示す信号をピクチャ(picture)と呼ぶ。また、複数のレイヤ画像を用いて空間スケーラブル符号化を行う場合、その複数のレイヤ画像は、解像度の低いベースレイヤ画像と、解像度の高い拡張レイヤ画像からなる。複数のレイヤ画像を用いてSNRスケーラブル符号化を行う場合、その複数のレイヤ画像は、画質の低いベースレイヤ画像と、画質の高い拡張レイヤ画像からなる。なお、ビュースケーラブル符号化、空間スケーラブル符号化、SNRスケーラブル符号化を任意に組み合わせて行っても良い。本実施形態では、複数のレイヤ画像として、少なくともベースレイヤ画像と、ベースレイヤ画像以外の画像(拡張レイヤ画像)を含む画像の符号化および復号を扱う。複数のレイヤのうち、画像もしくは符号化パラメータにおいて参照関係(依存関係)にある2つのレイヤについて、参照される側の画像を、第1レイヤ画像、参照する側の画像を第2レイヤ画像と呼ぶ。例えば、ベースレイヤを参照して符号化される(ベースレイヤ以外の)エンハンスレイヤ画像がある場合、ベースレイヤ画像を第1レイヤ画像、エンハンスレイヤ画像を第2レイヤ画像として扱う。なお、エンハンスレイヤ画像の例としては、ベースビュー以外の視点の画像やデプス画像などがある。 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. When performing view scalable coding in which a three-dimensional image is coded using a plurality of layer images, each of the plurality of layer images is referred to as a viewpoint image. Here, the viewpoint corresponds to the position or observation point of the photographing apparatus. For example, 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. Hereinafter, one viewpoint image or a signal indicating the viewpoint image is referred to as a picture. In addition, when performing spatial scalable coding using a plurality of layer images, the plurality of layer images include a base layer image having a low resolution and an enhancement layer image having a high resolution. When 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. Note that view scalable coding, spatial scalable coding, and SNR scalable coding may be arbitrarily combined. In the present embodiment, encoding and decoding of an image including at least a base layer image and an image other than the base layer image (enhancement layer image) is handled as the plurality of layer images. Of the multiple layers, for two layers that have a reference relationship (dependency relationship) in the image or encoding parameter, the image on the reference side is referred to as a first layer image, and the image on the reference side is referred to as a second layer image. . For example, when there is an enhancement layer image (other than the base layer) that is encoded with reference to the base layer, the base layer image is treated as a first layer image and the enhancement layer image is treated as a second layer image. Note that examples of the enhancement layer image include an image of a viewpoint other than the base view and a depth image.
 デプス画像(depth map、「深度画像」、「距離画像」とも言う)とは、被写空間に含まれる被写体や背景の、視点(撮影装置等)からの距離に対応する信号値(「デプス値」、「深度値」、「デプス」等と呼ぶ)であって、二次元平面に配置された画素毎の信号値(画素値)からなる画像信号である。デプス画像を構成する画素は、視点画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である視点画像を用いて、三次元の被写空間を表すための手がかりとなる。 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.
 ネットワーク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を記録した記憶媒体で代替されても良い。 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).
 画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した複数の復号レイヤ画像Td(復号視点画像Td)を生成する。 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).
 画像表示装置41は、画像復号装置31が生成した複数の復号レイヤ画像Tdの全部又は一部を表示する。例えば、ビュースケーラブル符号化においては、全部の場合、3次元画像(立体画像)や自由視点画像が表示され、一部の場合、2次元画像が表示される。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31、画像表示装置41が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。 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. In addition, in 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.
  <符号化ストリームTeの構造>
 本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
<Structure of Encoded Stream Te>
Prior to detailed description of the image encoding device 11 and the image decoding device 31 according to the present embodiment, the data structure of the encoded stream Te generated by the image encoding device 11 and decoded by the image decoding device 31 will be described. .
 図3は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図3の(a)~(f)は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位(Coding Unit;CU)を規定する符号化ユニットレイヤを示す図である。 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. It is a figure which shows the encoding unit layer which prescribes | regulates the encoding tree layer which prescribes | regulates the encoding tree unit contained, and the coding unit (Coding Unit; CU) contained in a coding tree.
  (シーケンスレイヤ)
 シーケンスレイヤでは、処理対象のシーケンス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の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
(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. As shown in FIG. 3A, 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) is included. Here, the value indicated after # 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.
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。 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.
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。 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.
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。 In the picture parameter set PPS, 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. For example, 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.
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図3の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
(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).
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。 It should be noted that, hereinafter, when it is not necessary to distinguish each of the slices S0 to SNS-1, the subscripts may be omitted. The same applies to data included in an encoded stream Te described below and to which other subscripts are attached.
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図3の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
(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.
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。 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.
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。 As slice types that can be specified by the slice type specification information, (1) 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.
 なお、スライスヘッダSHには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。 In addition, the slice header SH may include a reference (pic_parameter_set_id) to the picture parameter set PPS included in the sequence layer.
  (スライスデータレイヤ)
 スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図3の(d)に示すように、符号化ツリーブロック(CTB:Coded Tree Block)を含んでいる。CTBは、スライスを構成する固定サイズ(例えば64×64)のブロックであり、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
(Slice data layer)
In 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. As shown in FIG. 3D, 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).
  (符号化ツリーレイヤ)
 符号化ツリーレイヤは、図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は、符号化処理の基本的な単位となる。
(Encoding tree layer)
As shown in (e) of FIG. 3, 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. When split_flag is 0, 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.
 また、符号化ツリーブロックCTBのサイズ64×64画素の場合には、符号化ユニットCUのサイズは、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。 When the size of the coding tree block CTB is 64 × 64 pixels, 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.
  (符号化ユニットレイヤ)
 符号化ユニットレイヤは、図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は、予測ユニットと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
(Encoding unit layer)
As shown in (f) of FIG. 3, 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. Specifically, the encoding unit includes a CU header CUH, a prediction unit (prediction unit), a conversion tree, and a CU header CUF. In the CU header CUH, it is defined whether the coding unit is a unit using intra prediction or a unit using inter prediction. In the CU header CUH, 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.
 予測ユニットは、符号化ユニットが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ユニットは、上述の分割により得られた1または複数の予測ブロックを含む。 In the prediction unit, the encoding unit is divided into one or a plurality of prediction blocks, and the position and size of each prediction block are defined. In other words, the prediction block is one or a plurality of non-overlapping areas constituting the coding unit. Further, the prediction unit includes one or a plurality of prediction blocks obtained by the above-described division.
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測ユニットとも称する。より詳細には予測は色コンポーネント単位で行われるため、以下では、輝度の予測ブロック、色差の予測ブロックなど、色コンポーネント毎のブロックを、予測ブロックと呼び、複数の色コンポーネントのブロック(輝度の予測ブロック、色差の予測ブロック)を合わせて、予測ユニットと呼ぶ。色コンポーネントの種類を示すインデックスcIdx(colour_component Idx)が0のブロックが輝度ブロック(輝度の予測ブロック)を示し(通例、LもしくはYと表示される)、cIdxが1もしくは2のブロックは各々Cb, Crの色差ブロック(色差の予測ブロック)を示す。 Prediction processing is performed for each prediction block. Hereinafter, 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.
 予測ユニットにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。 分割 There are roughly two types of division in the prediction unit: intra prediction and inter prediction. Intra prediction is prediction within the same picture, and inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
 イントラ予測の場合、分割方法は、2N×2N(符号化ユニットと同一サイズ)と、N×Nとがある。 In the case of intra prediction, there are 2N × 2N (the same size as the encoding unit) and N × N division methods.
 また、インター予測の場合、分割方法は、符号化データの分割モード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と表現する。 Also, in the case of inter prediction, the division method is encoded by the encoded data division mode part_mode. The division mode specified by the division mode part_mode includes the following eight types of patterns in total, assuming that the size of the target CU is 2N × 2N pixels. 4N symmetric splitting of 2N × 2N pixels, 2N × N pixels, N × 2N pixels, and N × N pixels, and 2N × nU pixels, 2N × nD pixels, nL × 2N pixels, And four asymmetric partitions (AMP) of nR × 2N pixels. Note that N = 2m (m is an arbitrary integer of 1 or more). Hereinafter, 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)~(h)に、それぞれの分割モードについて、CUにおけるPU分割の境界の位置を具体的に図示している。 4 (a) to 4 (h) specifically show the positions of the PU partition boundaries in the CU for each partition mode.
 図4(a)は、CUの分割を行わない2N×2Nの分割モードを示している。また、図4(b)および(e)は、それぞれ、分割モードが、2N×N、および、N×2Nである場合のパーティションの形状について示している。また、図4(h)は、分割モードが、N×Nである場合のパーティションの形状を示している。 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.
 また、図4(c)、(d)、(f)および(g)は、それぞれ非対称的分割(AMP)である、2N×nU、2N×nD、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。 4 (c), (d), (f), and (g) are 2N × nU, 2N × nD, nL × 2N, and nR × 2N, which are asymmetric divisions (AMP), respectively. Shows the shape of the partition.
 また、図4(a)~(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。 Further, in FIGS. 4A to 4H, 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.
 インター予測の場合の予測ブロックでは、上記8種類の分割モードのうち、N×N(図4(h))以外の7種類が定義されている。 In the prediction block in the case of inter prediction, seven types other than N × N (FIG. 4 (h)) are defined among the eight types of division modes.
 また、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画素のインター予測の予測ブロックへ分割できる。 Further, 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. For example, 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.
 また、変換ツリーにおいては、符号化ユニットが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。 Also, in the transform tree, the encoding unit is divided into one or a plurality of transform blocks, and the position and size of each transform block are defined. In other words, 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.
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。 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.
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。 Conversion processing is performed for each conversion block. Hereinafter, a transform block that is a unit of transformation is also referred to as a transform unit (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が用いられる。
(Prediction parameter)
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. Hereinafter, prediction parameters for 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. In this specification, when “flag indicating whether or not XX” is described, 1 is XX, 0 is not XX, 1 is true and 0 is false in logical negation and logical product. (The same applies hereinafter). However, other values can be used as true values and false values in an actual apparatus or method. When two reference picture lists are used, that is, (predFlagL0, predFlagL1) = (1, 1) corresponds to bi-prediction, and when one reference picture list is used, that is, (predFlagL0, predFlagL1) = ( 1, 0) or (predFlagL0, predFlagL1) = (0, 1) corresponds to single prediction. Note that 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. .
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モード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を区別しない場合に用いられる表記である。 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. Note that 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). For example, refIdxL0 is a reference picture index used for L0 prediction, refIdxL1 is a reference picture index used for L1 prediction, and refIdx (refIdxLX) is a notation used when refIdxL0 and refIdxL1 are not distinguished.
  (参照ピクチャリストの一例)
 次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、参照ピクチャメモリ306に記憶された参照ピクチャからなる列である。図5は、参照ピクチャリストRefPicListXの一例を示す概念図である。参照ピクチャリストRefPicListXにおいて、左右に一列に配列された5個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号、P1、P2、Q0、P3、P4は、それぞれの参照ピクチャを示す符号である。P1等のPとは、視点Pを示し、そしてQ0のQとは、視点Pとは異なる視点Qを示す。P及びQの添字は、ピクチャ順序番号POCを示す。refIdxLXの真下の下向きの矢印は、参照ピクチャインデックスrefIdxLXが、参照ピクチャメモリ306において参照ピクチャQ0を参照するインデックスであることを示す。
(Example of reference picture list)
Next, an example of the reference picture list will be described. The reference picture list is a column composed of reference pictures stored in the reference picture memory 306. FIG. 5 is a conceptual diagram showing an example of the reference picture list RefPicListX. In 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, and 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.
  (参照ピクチャの例)
 次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図6は、参照ピクチャの例を示す概念図である。図6において、横軸は表示時刻を示し、縦軸は視点を示す。図6に示されている、縦2行、横3列(計6個)の長方形は、それぞれピクチャを示す。6個の長方形のうち、下行の左から2列目の長方形は復号対象のピクチャ(対象ピクチャ)を示し、残りの5個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから上向きの矢印で示される参照ピクチャQ0は対象ピクチャと同表示時刻であって視点(ビューID)が異なるピクチャである。対象ピクチャを基準とする変位予測においては、参照ピクチャQ0が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャP1は、対象ピクチャと同じ視点であって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャP2は、対象ピクチャと同じ視点であって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャP1又はP2が用いられる。
(Reference picture example)
Next, an example of a reference picture used for deriving a vector will be described. FIG. 6 is a conceptual diagram illustrating an example of a reference picture. In FIG. 6, the horizontal axis indicates the display time, and the vertical axis indicates the viewpoint. The rectangles shown in FIG. 6 with 2 rows and 3 columns (6 in total) indicate pictures. Among the six rectangles, 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.
  (インター予測識別子と予測利用フラグ)
 インター予測識別子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に置き替えても可能である。
(Inter prediction identifier and prediction usage flag)
The relationship between the inter prediction identifier inter_pred_idc and the prediction usage flags predFlagL0 and predFlagL1 is inter_pred_idc = (predFlagL1 << 1) + predFlagL0
predFlagL0 = inter_pred_idc & 1
predFlagL1 = inter_pred_idc >> 1
Can be converted to each other. Here, >> is a right shift, and << 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. In addition, hereinafter, the determination using the prediction usage flags predFlagL0 and predFlagL1 may be replaced with the inter prediction identifier inter_pred_idc. Conversely, the determination using the inter prediction identifier inter_pred_idc can be replaced with the prediction use flags predFlagL0 and 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)として符号化される。
(Merge mode and AMVP prediction)
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. In both the merge mode and the AMVP mode, 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. In this mode, inter_pred_idc, reference picture index refIdxLX, and 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_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は、処理が完了したブロックから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを予測ユニット(対象ブロック)の予測パラメータとして用いるかを示すインデックスである。 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, and 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).
  (動きベクトルと変位ベクトル)
 ベクトルmvLXには、動きベクトルと変位ベクトル(disparity vector、視差ベクトル)がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻(例えば、隣接する離散時刻)における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
(Motion vector and displacement vector)
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. In particular, a displacement vector corresponding to pictures of different viewpoints is called a disparity vector. In the following description, when a motion vector and a displacement vector are not distinguished, they are simply referred to as 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.
  (画像復号装置の構成)
 次に、本実施形態に係る画像復号装置31の構成について説明する。図7は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部302、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)306、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)307、予測画像生成部308、逆量子化・逆DCT部311、加算部312、及び図示されないデプスDV導出部351を含んで構成される。
(Configuration of image decoding device)
Next, the configuration of the image decoding device 31 according to the present embodiment will be described. 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 an entropy 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, and a prediction image generation unit 308. , An inverse quantization / inverse DCT unit 311, an addition unit 312, and a depth DV derivation unit 351 (not shown).
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。 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.
 エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。 The entropy 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.
 エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードPredMode、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flagである。どの符号を復号するか否かの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆DCT部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(DiscreteCosine 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をとる。
The entropy 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 and illuminance compensation flag ic_flag. Control of which code to decode is performed based on an instruction from the prediction parameter decoding unit 302. The entropy decoding unit 301 outputs the quantization 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 entropy decoding unit 301 outputs the depth DV conversion table DepthToDisparityB to the depth DV deriving unit 351. The depth DV conversion table DepthToDisparityB is a table for converting the pixel value of the depth image into a parallax indicating the displacement between the viewpoint images, and an element DepthToDisparityB [d] of the depth DV conversion table DepthToDisparityB has an inclination cp_scale and an offset cp_off, Using the slope precision cp_precision,
log2Div = BitDepthY-1 + cp_precision
offset = (cp_off << BitDepthY) + ((1 << log2Div) >> 1)
scale = cp_scale
DepthToDisparityB [d] = (scale * d + offset) >> log2Div
It can be calculated by the following formula. The parameters cp_scale, cp_off, and cp_precision are decoded from the parameter set in the encoded data for each viewpoint to be referred to. BitDepthY indicates the bit depth of the pixel value corresponding to the luminance signal, and takes, for example, 8 as the value.
 エントロピー復号部301は、またデプスインデックス変換テーブルDepthValue2Idx[]を符号化データから復号する。 The entropy decoding unit 301 also decodes the depth index conversion table DepthValue2Idx [] from the encoded data.
 予測パラメータ復号部302は、エントロピー復号部301から符号の一部を入力として受け取る。予測パラメータ復号部302は、符号の一部である予測モードPredModeが示す予測モードに対応する予測パラメータを復号する。予測パラメータ復号部302は、予測モードPredModeと復号した予測パラメータを予測パラメータメモリ307と予測画像生成部308に出力する。 The prediction parameter decoding unit 302 receives a part of the code from the entropy 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.
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。 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 entropy 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.
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、ピクチャブロックを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。 The intra prediction parameter decoding unit 304 refers to the prediction parameter stored in the prediction parameter memory 307 on the basis of the code input from the entropy decoding unit 301 and decodes the intra prediction parameter. 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.
 参照ピクチャメモリ306は、加算部312が生成した復号ピクチャブロックrecSamplesを、復号ピクチャブロックの位置に記憶する。 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.
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードPredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。 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 entropy decoding unit 301. . The stored inter prediction parameters include, for example, a prediction use flag predFlagLX, a reference picture index refIdxLX, and a vector mvLX.
 予測画像生成部308には、予測パラメータ復号部302から予測モードPredMode及び予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードPredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックpredSamples(予測画像)を生成する。 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.
 ここで、予測モードPredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックpredSamplesを生成する。予測ピクチャブロックpredSamplesは予測ユニットPUに対応する。PUは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり1度に予測処理が行われる対象ブロックに相当する。 Here, when the prediction mode PredMode indicates the inter prediction mode, 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.
 インター予測画像生成部309は、予測利用フラグpredFlagLXが1である参照ピクチャリストRefPicListLXに対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャRefPicListLX[refIdxLX]から、予測ユニットを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックに動き補償を行って予測ピクチャブロックpredSamplesLXを生成する。インター予測画像生成部309は、さらに各参照ピクチャリストの参照ピクチャから導出された予測ピクチャブロックpredSamplesL0、predSamplesL1から重み付予測により予測ピクチャブロックpredSamplesを生成し、加算部312に出力する。 For the reference picture list RefPicListLX in which the prediction usage flag predFlagLX is 1, 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.
 予測モードPredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に処理されたブロックのうち予測ユニットから予め定めた範囲にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、例えば、左、左上、上、右上の隣接ブロックの範囲でありイントラ予測モードによって異なる。 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.
 イントラ予測画像生成部310は、読み出した参照ピクチャブロックについてイントラ予測モードIntraPredModeが示す予測モードで予測を行って予測ピクチャブロックpredSamplesを生成し、加算部312に出力する。 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.
 逆量子化・逆DCT部311は、エントロピー復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部311は、求めたDCT係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、復号残差信号を算出する。逆量子化・逆DCT部311は、算出した復号残差信号を加算部312に出力する。 The inverse quantization / inverse DCT unit 311 inversely quantizes the quantization coefficient input from the entropy 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.
 加算部312は、インター予測画像生成部309及びイントラ予測画像生成部310から入力された予測ピクチャブロックpredSamplesと逆量子化・逆DCT部311から入力された復号残差信号の信号値resSamplesを画素毎に加算して、復号ピクチャブロックrecSamplesを生成する。加算部312は、生成した復号ピクチャブロックrecSamplesを参照ピクチャメモリ306に出力する。復号ピクチャブロックはピクチャ毎に統合される。復号されたピクチャには、デブロックフィルタおよび適応オフセットフィルタが適用などのループフィルタが適用される。復号されたピクチャは復号レイヤ画像Tdとして外部に出力する。 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. To generate a decoded picture block recSamples. 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.
 (イントラ予測画像生成部310)
 イントラ予測画像生成部310は、さらに、DC予測部145D、Planar予測部145P、Angular予測部145A、及びDMM予測部145Tを備える。
(Intra prediction image generation unit 310)
The intra predicted image generation unit 310 further includes a DC prediction unit 145D, a Planar prediction unit 145P, an Angular prediction unit 145A, and a DMM prediction unit 145T.
 イントラ予測画像生成部310は、入力される予測モードpredModeIntraに基づいて予測画像生成に用いる予測方式を選択する。予測方式の選択は、前述の図15の定義に基づいて、入力される予測モードpredModeIntraの予測モード番号に対応する予測方式を選択することで実現される。 The intra predicted image generation unit 310 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.
 さらに、イントラ予測画像生成部310は、予測方式の選択結果に応じた予測画像を導出する。より具体的には、イントラ予測画像生成部310は、予測方式が、Planar予測、DC予測、Angular予測、及びDMM予測の場合、それぞれ、Planar予測部145P、DC予測部145D、Angular予測部145A、及びDMM予測部145Tにより予測画像を導出する。 Further, the intra predicted image generation unit 310 derives a predicted image corresponding to the selection result of the prediction method. More specifically, the intra prediction image generation unit 310, 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, The DMM prediction unit 145T derives a predicted image.
 DC予測部145Dは、入力される参照画素の画素値の平均値に相当するDC予測値を導出し、導出されたDC予測値を画素値とする予測画像を出力する。 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.
 Planar予測部145Pは、予測対象画素との距離に応じて複数の参照画素を線形加算することで導出した画素値により予測画像を生成して出力する。 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.
  [Angular予測部145A]
 Angular予測部145Aは、入力される予測モードpredModeIntraに対応する予測方向(参照方向)の参照画素を用いて対象PU内に対応する予測画像を生成して出力する。Angular予測による予測画像の生成処理では、予測モードpredModeIntraの値に応じて主参照画素を設定し、予測画像をPU内のラインまたはコラムの単位で主参照画素を参照して生成する。
[Angular prediction unit 145A]
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. In the process of generating a predicted image by Angular prediction, 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.
  [DMM予測部145T]
 DMM予測部145Tは、入力される予測モードpredModeIntraに対応するDMM予測(Depth Modeling Mode,デプスイントラ予測ともいう)に基づいて、対象PU内に対応する予測画像を生成して出力する。
[DMM prediction unit 145T]
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予測部145Tの詳細な説明に先だって、図16を参照しながら、DMM予測の概略について説明する。図16は、DMM予測部145Tにおいて実行されるDMM予測の概念図である。デプスマップは、主に、図16(a)に示すように、オブジェクト境界を表わすエッジ領域、及びオブジェクトエリアを表わす平坦領域(ほぼデプス値が一定)を有するという特徴がある。まず、DMM予測では、基本的に、デプスマップの画像的特徴を利用し、対象ブロックを、オブジェクトのエッジに沿った2つの領域P1、P2に分割し、図16(b)に示すように、各画素が属する領域を表わすパターン情報であるウェッジパターンWedgePattern[x][y]を導出する。 Prior to detailed description of the DMM prediction unit 145T, an outline of DMM prediction will be described with reference to FIG. FIG. 16 is a conceptual diagram of DMM prediction executed in the DMM prediction unit 145T. As shown in FIG. 16A, the depth map mainly has an edge region representing an object boundary and a flat region (substantially constant depth value) representing an object area. First, in the DMM prediction, basically, using the image feature of the depth map, the target block is divided into two regions P1 and P2 along the edge of the object, and as shown in FIG. A wedge pattern WedgePattern [x] [y], which is pattern information representing a region to which each pixel belongs, is derived.
 ウェッジパターン(ウェッジレットパターン)WedgePattern[x][y]は、対象ブロック(対象PU)の幅×高さ分の大きさがあるマトリックスであり、要素(x,y)毎に0、又は1が設定され、対象ブロックの各画素が2つの領域P1、P2のどちらに属するかを示す。図16 (b)の例では、要素の値が0であれば、領域P1に属し、1であれば、領域P2に属すこととなる。次に、図16 (c)に示すように、各領域P1、及びP2を各々のデプス予測値を埋めることによって予測画像を生成する。 Wedge pattern (wedgelet pattern) WedgePattern [x] [y] is a matrix with the size of the width x height of the target block (target PU), and 0 or 1 for each element (x, y) It is set and indicates which of the two regions P1 and P2 each pixel of the target block belongs to. In the example of FIG. 16 (b), if the value of the element is 0, it belongs to the region P1, and if it is 1, it belongs to the region P2. Next, as shown in FIG. 16 (c), a prediction image is generated by filling the respective depth prediction values in the regions P1 and P2.
 以下、ウェッジレットと呼ばれる線分により分割されたウェッジパターンを便宜的にウェッジレットパターンと呼ぶが、ウェッジパターン、ウェッジレットパターンも同じもの(2つの領域に分割された2次元パターン)であるため、特に区別しなくても良い。なお、ウェッジパターン(ウェッジレットパターン)を単にパターンとも呼ぶ。 Hereinafter, a wedge pattern divided by a line segment called a wedgelet is called a wedgelet pattern for convenience, but the wedge pattern and the wedgelet pattern are the same (two-dimensional pattern divided into two regions). There is no particular need to distinguish. A wedge pattern (wedgelet pattern) is also simply called a pattern.
 以下では、図1を参照しがら、DMM予測部145Tの構成について説明する。図1は、DMM予測部145Tの構成例のついて示す機能ブロック図である。 Hereinafter, the configuration of the DMM prediction unit 145T will be described with reference to FIG. FIG. 1 is a functional block diagram showing a configuration example of the DMM prediction unit 145T.
 図1に示すように、DMM予測部145Tは、ウェッジパターン導出部145T2、及びデプス予測画素導出部145T3、ウェッジレットパターン生成部145T4、ウェッジパターンテーブル145T5、デプスルックアップテーブル導出部146を備える。 1, the DMM prediction unit 145T includes a wedge pattern derivation unit 145T2, a depth prediction pixel derivation unit 145T3, a wedgelet pattern generation unit 145T4, a wedge pattern table 145T5, and a depth lookup table derivation unit 146.
 DMM予測部145Tは、入力される予測モードpredModeIntraに対応するウェッジパターン生成手段を起動させ、対象PUの分割パターンを示すウェッジパターンwedgePattern[x][y]を生成する。より具体的には、予測モードpredModeIntraが、予測モード番号‘35’である場合、すなわち、INTRA_DMM_WEDGEFULLモードでは、ウェッジパターン導出部145T2を起動する。一方、予測モードpredModeIntraが、予測モード番号‘36’である場合、すなわち、INTRA_DMM_CPCREDTEXモードでは、を起動する。 The DMM prediction unit 145T activates the wedge pattern generation unit corresponding to the input prediction mode predModeIntra, and generates a wedge pattern wedgePattern [x] [y] indicating the division pattern of the target PU. More specifically, when the prediction mode predModeIntra is the prediction mode number ‘35’, that is, in the INTRA_DMM_WEDGEFULL mode, the wedge 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_DMM_CPCREDTEX mode, it is activated.
  [ウェッジパターン導出部145T2]
 ウェッジパターン導出部145T2は、入力される対象PUサイズnS、ウェッジパターンインデックスwedge_full_tab_idx、予め設定された参照ウェッジパターンサイズnBS、及び参照ウェッジパターン数NumWedgePattern[log2(nBS)]に基づいて、ウェッジパターンテーブル145T5に格納されたウェッジパターンテーブルWedgePatternTableから、対象PUへ適用するウェッジパターンwedgePattern[x][y]を導出し、デプス予測画素導出部145T3へ出力する。
wedgePattern[x][y] = WedgePatternTable[log2(nS)][wedge_full_tab_idx][x][y],
with x = 0..nS-1, y = 0..nS-1
ここで、log2(nS)は、対象PUサイズの2を底とする対数値である。
[Wedge pattern deriving unit 145T2]
Based on the input target PU size nS, wedge pattern index wedge_full_tab_idx, preset reference wedge pattern size nBS, and reference wedge pattern number NumWedgePattern [log2 (nBS)], the wedge pattern deriving unit 145T2 The wedge pattern table wedgePattern [x] [y] to be applied to the target PU is derived from the wedge pattern table WedgePatternTable stored in, and is output to the depth prediction pixel deriving unit 145T3.
wedgePattern [x] [y] = WedgePatternTable [log2 (nS)] [wedge_full_tab_idx] [x] [y],
with x = 0..nS-1, y = 0..nS-1
Here, log2 (nS) is a logarithmic value with 2 as the target PU size.
   [デプス予測画素導出部145T3]
 デプス予測画素導出部145T3は、対象PUの分割パターンを示すウェッジパターンwedgePattern[x][y]に基づいて、対象PUを2つの領域に分割し(例えば、図16 (c)に示す領域P1、P2)、入力されたPT情報、及び参照画素p[x][y]に基づいて領域P1に関する予測値、及び領域P2に関する予測値を導出し、各領域に導出した予測値を予測画像predSamples[x][y]に設定して導出する。
[Depth prediction pixel deriving unit 145T3]
The depth prediction pixel deriving unit 145T3 divides the target PU into two regions based on the wedge pattern wedgePattern [x] [y] indicating the division pattern of the target PU (for example, the region P1, shown in FIG. 16C), P2), a prediction value related to the region P1 and a prediction value related to the region P2 are derived on the basis of the input PT information and the reference pixel p [x] [y], and the prediction value derived in each region is calculated as a prediction image predSamples [ Derived by setting x] [y].
 続いて、デプス予測画素導出部145T3は、分割された2領域に割り当てるデプスの予測値(DC予測値)を導出する。便宜上、ウェッジレットパターンの最左上要素wedgePattern[0][0]と同じ値を有する要素からなる領域を領域P1、最左上要素wedgePattern[0][0]と異なる値を有する要素からなる領域を領域P2とし、領域P1に関するDC予測値はdcValLT、領域P2に関するDC予測値はdcValBRであるとする。 Subsequently, the depth prediction pixel deriving unit 145T3 derives a depth prediction value (DC prediction value) to be allocated to the two divided regions. For convenience, a region composed of elements having the same value as the upper leftmost element wedgePattern [0] [0] of the wedgelet pattern is defined as a region P1, and a region composed of elements having a different value from the uppermost leftmost element wedgePattern [0] [0] is defined as a region. It is assumed that the DC predicted value for the region P1 is dcValLT and the DC predicted value for the region P2 is dcValBR.
 デプス予測画素導出部145T3は、導出した垂直エッジフラグverEdgeFlag、水平エッジフラグhorEdgeFlagに応じて、DC予測値dcValLT、dcValBRを導出する。 The depth prediction pixel deriving unit 145T3 derives DC prediction values dcValLT and dcValBR according to the derived vertical edge flag verEdgeFlag and horizontal edge flag horEdgeFlag.
 (1)垂直エッジフラグvertEdgeFlagと水平エッジフラグhorEdgeFlagが等しい場合(vertEdgeFlag==horEdgeFlag)、以下の手順で、各DC予測値を導出する。 (1) When the vertical edge flag vertEdgeFlag is equal to the horizontal edge flag horEdgeFlag (vertEdgeFlag == horEdgeFlag), each DC prediction value is derived by the following procedure.
 デプス予測画素導出部145T3は、下記式により、対象PUの最左上画素の左、及び上に隣接する参照画素p[-1][0]と参照画素p[0][-1]の平均値をdcValLTへ設定する。
dcValLT = (p[-1][0] + p[0][-1]) >> 1
 続いて、水平エッジフラグhorEdgeFlagに応じて、DC予測値dcValBRを導出する。水平エッジフラグhorEdgeFlagが1の場合、対象PUの最左下画素の左に隣接する参照画素p[-1][nS-1]と、対象PUの最右上画素の上に隣接する参照画素p[nS-1][-1]の平均値をDC予測値dcValBRへ設定する。
dcValBR = (p[-1][nS-1] + p[nS-1][-1]) >> 1
 水平エッジフラグhorEdgeFlagが0(horEdgeFlag==0)の場合、参照画素の水平方向のエッジ強度(画素差)horAbsDiffと、垂直方向のエッジ強度(画素差)verAbsDiffとを比較して、強度(画素差)の大きい方向の参照画素に基づいて、DC予測値を導出する。すなわち、水平方向のエッジ強度horAbsDiffが、垂直方向のエッジ強度verAbsDiffより大きい場合には、参照画素p[2*nS-1][-1]をDC予測値dcValBRへ設定する。それ以外の場合(horAbsDiff<=vertAbsDiff)、参照画素p[-1][2*nS-1]をDC予測値dcValBRへ設定する。
verAbsDiff = Abs(p[-1][0] - p[-1][2*nS - 1])
horAbsDiff = Abs(p[0][-1] - p[2*nS - 1][-1])
dcValBR = (horAbsDiff > verAbsDiff ) ? p[2*nS - 1][-1] : p[-1][2*nS-1]
 (2)垂直エッジフラグvertEdgeFlagと水平エッジフラグhorEdgeFlagが異なる場合(vertEdgeFlag!=horEdgeFlag)、以下の手順で、各DC予測値を導出する。
dcValLT = horEdgeFlag ? p[(nS-1)>>1][-1] : p[-1][(nS-1)>>1]
dcValBR = horEdgeFlag ? p[-1][nS - 1] : p[nS - 1][-1]
すなわち、水平エッジフラグhorEdgeFlagが1の場合(垂直エッジフラグvertEdgeFlagが0)には、対象PUの上辺の中央画素の上に隣接する参照画素p[(nS-1)>>1][-1]を領域P1のDC予測値dcValLTとし、対象PUの最左下画素の左に隣接する参照画素p[-1][nS-1]を領域P2のDC予測値dcValBRとする。一方、水平エッジフラグhorEdgeFlagが0の場合(垂直エッジフラグvertEdgeFlagが1)には、対象PUの左辺の中央画素の左に隣接する参照画素p[-1][(nS-1)>>1]を領域P1のDC予測値dcValLTとし、対象PUの最右上画素の上に隣接する参照画素p[-1][nS-1]を領域P2のDC予測値dcValBRとする。
The depth prediction pixel deriving unit 145T3 calculates the average value of the reference pixel p [-1] [0] and the reference pixel p [0] [-1] adjacent to the left and upper left of the target PU according to the following formula. To dcValLT.
dcValLT = (p [-1] [0] + p [0] [-1]) >> 1
Subsequently, a DC predicted value dcValBR is derived according to the horizontal edge flag horEdgeFlag. When the horizontal edge flag horEdgeFlag is 1, the reference pixel p [-1] [nS-1] adjacent to the left of the lower left pixel of the target PU and the reference pixel p [nS adjacent to the upper right pixel of the target PU -1] Set the average value of [-1] to the DC predicted value dcValBR.
dcValBR = (p [-1] [nS-1] + p [nS-1] [-1]) >> 1
When the horizontal edge flag horEdgeFlag is 0 (horEdgeFlag == 0), the horizontal edge strength (pixel difference) horAbsDiff of the reference pixel is compared with the vertical edge strength (pixel difference) verAbsDiff to determine the strength (pixel difference). The DC prediction value is derived based on the reference pixels in the larger direction. That is, when the horizontal edge strength horAbsDiff is larger than the vertical edge strength verAbsDiff, the reference pixel p [2 * nS-1] [-1] is set to the DC predicted value dcValBR. In other cases (horAbsDiff <= vertAbsDiff), the reference pixel p [-1] [2 * nS-1] is set to the DC predicted value dcValBR.
verAbsDiff = Abs (p [-1] [0]-p [-1] [2 * nS-1])
horAbsDiff = Abs (p [0] [-1]-p [2 * nS-1] [-1])
dcValBR = (horAbsDiff> verAbsDiff)? p [2 * nS-1] [-1]: p [-1] [2 * nS-1]
(2) When the vertical edge flag vertEdgeFlag and the horizontal edge flag horEdgeFlag are different (vertEdgeFlag! = HorEdgeFlag), each DC prediction value is derived by the following procedure.
dcValLT = horEdgeFlag? p [(nS-1) >> 1] [-1]: p [-1] [(nS-1) >> 1]
dcValBR = horEdgeFlag? p [-1] [nS-1]: p [nS-1] [-1]
That is, when the horizontal edge flag horEdgeFlag is 1 (vertical edge flag vertEdgeFlag is 0), the reference pixel p [(nS-1) >> 1] [-1] adjacent to the central pixel on the upper side of the target PU Is the DC predicted value dcValLT of the region P1, and the reference pixel p [-1] [nS-1] adjacent to the left of the lower leftmost pixel of the target PU is the DC predicted value dcValBR of the region P2. On the other hand, when the horizontal edge flag horEdgeFlag is 0 (vertical edge flag vertEdgeFlag is 1), the reference pixel p [-1] [(nS-1) >> 1] adjacent to the left of the central pixel on the left side of the target PU Is the DC predicted value dcValLT of the region P1, and the reference pixel p [-1] [nS-1] adjacent above the upper right pixel of the target PU is the DC predicted value dcValBR of the region P2.
 続いて、デプス予測画素導出部145T3は、導出した各領域のDC予測値dcValBR、dcValLTと、エントロピー復号部31より供給される対象PUの各領域のDCオフセット有無フラグdepth_dc_flag、及びDCオフセット値DcOffset[]に基づいて、対象PUの予測画像predSamples[x][y]を導出する。 Subsequently, the depth prediction pixel deriving unit 145T3, the derived DC predicted values dcValBR and dcValLT of each region, the DC offset presence / absence flag depth_dc_flag of each region of the target PU supplied from the entropy decoding unit 31, and the DC offset value DcOffset [ ], Predictive image predSamples [x] [y] of the target PU is derived.
 まず、ウェッジレットパターンwedgePattern[x][y]を参照して、対象PU内画素位置(x,y)が領域P1に属する場合(wedgePattern[x][y] == wedgePattern[0][0])、対象画素DC予測値predDcValを、dcValLTへ設定し、対象画素が領域P2に属する場合(wedgePattern[x][y] != wedgePattern[0][0])、対象画素DC予測値predDCValを、dcValBRへ設定する。 First, referring to the wedgelet pattern wedgePattern [x] [y], when the pixel position (x, y) in the target PU belongs to the region P1 (wedgePattern [x] [y] == wedgePattern [0] [0] ), When the target pixel DC predicted value predDcVal is set to dcValLT and the target pixel belongs to the region P2 (wedgePattern [x] [y]! = WedgePattern [0] [0]), the target pixel DC predicted value predDCVal is Set to dcValBR.
 predDcVal = (wedgePattern[x][y] == wedgePattern[0][0]) ? dcValLT : dcValBR
 次に、DCオフセット値DcOffset[]を参照して、対象画素DCオフセット値dcOffsetを設定する。
dcOffset = DcOffset[wedgePattern[x][y]]
すなわち、ウェッジレットパターンwedgePattern[x][y]の値に対応するDCオフセット値dcOffset[wedgePattern[x][y]]を、対象画素のDCオフセット値dcOffsetへ設定する。
predDcVal = (wedgePattern [x] [y] == wedgePattern [0] [0])? dcValLT: dcValBR
Next, the target pixel DC offset value dcOffset is set with reference to the DC offset value DcOffset [].
dcOffset = DcOffset [wedgePattern [x] [y]]
That is, the DC offset value dcOffset [wedgePattern [x] [y]] corresponding to the value of the wedgelet pattern wedgePattern [x] [y] is set to the DC offset value dcOffset of the target pixel.
 デプス予測画素導出部145T3は、Dltフラグ(DltFlag)が0の場合、導出した対象画素DC予測値predDcValと対象画素DCオフセット値dcOffsetの和を、対象画素の予測値とする。
predSamples[x][y] = predDcVal + dcOffset, with x=0..nS-1, y=0..nS-1
 デプス予測画素導出部145T3は、Dltフラグ(DltFlag)が1の場合、導出した対象画素DC予測値predDcValをデプスインデックス変換テーブルDepthValue2Idx[]でインデックスに変換後、対象画素DCオフセット値dcOffsetの和を算出、クリップし、さらにインデックスデプス変換テーブルIdx2DepthValue[]で画素に変換することで、対象画素の予測値とする。
When the Dlt flag (DltFlag) is 0, the depth prediction pixel derivation unit 145T3 sets the sum of the derived target pixel DC prediction value predDcVal and the target pixel DC offset value dcOffset as the prediction value of the target pixel.
predSamples [x] [y] = predDcVal + dcOffset, with x = 0..nS-1, y = 0..nS-1
When the Dlt flag (DltFlag) is 1, the depth prediction pixel derivation unit 145T3 calculates the sum of the target pixel DC offset value dcOffset after converting the derived target pixel DC prediction value predDcVal into an index using the depth index conversion table DepthValue2Idx []. Then, it is clipped, and further converted into a pixel by the index depth conversion table Idx2DepthValue [] to obtain the predicted value of the target pixel.
 predSamples[ x ][ y ] = Idx2DepthValue[ Clip1Y( DepthValue2Idx[ predDcVal ] +dcOffset ) ]
 なお、Dltフラグ(DltFlag)はVPSなどから、エントロピー復号部31において復号されるフラグである。インデックスデプス変換テーブルIdx2DepthValue[]は、ピクチャパラメータセット(PPS)などから、エントロピー復号部31において復号される。デプスインデックス変換テーブルDepthValue2Idx[]は、後述のデプスルックアップテーブル導出部146において、インデックスデプス変換テーブルIdx2DepthValue[]から導出される。
predSamples [x] [y] = Idx2DepthValue [Clip1 Y (DepthValue2Idx [predDcVal] + dcOffset)]
The Dlt flag (DltFlag) is a flag decoded by the entropy decoding unit 31 from VPS or the like. The index depth conversion table Idx2DepthValue [] is decoded by the entropy decoding unit 31 from a picture parameter set (PPS) or the like. The depth index conversion table DepthValue2Idx [] is derived from the index depth conversion table Idx2DepthValue [] in the depth lookup table derivation unit 146 described later.
 以上のようにして、デプス予測画素導出部145T3は、対象PUの予測画像predSamples[x][y]を導出することができる。 As described above, the depth prediction pixel deriving unit 145T3 can derive the prediction image predSamples [x] [y] of the target PU.
   [ウェッジレットパターン生成部145T4]
 ウェッジパターン導出部145T2は、初回起動時のみ、ウェッジレットパターン生成部145T4を起動させ、ブロックサイズ毎のウェッジパターンテーブルWedgePatternTableを生成する。次に、生成したウェッジパターンテーブルをウェッジパターンテーブル145T5に格納する。次に、ウェッジレットパターン内に、始点S(xS,yS)と終点E(xE,yE)を設定する。始点と終点は、パターンを構成する四角形の辺上に設定される。次に、始点Sと終点Eの間をBresenhamのアルゴリズムを用いて線分を引く。例えば、その線分上及び線分より左側の座標に対応する要素を1に設定することで、ウェッジレットパターンwedgePattern[x][y]が生成される。ここで、patternSize は、ウェッジレットパターンを生成するブロックのサイズ(縦幅、横幅)である。
[Wedgelet pattern generator 145T4]
The wedge pattern deriving unit 145T2 activates the wedgelet pattern generation unit 145T4 only at the first activation, and generates a wedge pattern table WedgePatternTable for each block size. Next, the generated wedge pattern table is stored in the wedge pattern table 145T5. Next, a start point S (xS, yS) and an end point E (xE, yE) are set in the wedgelet pattern. The starting point and the ending point are set on the sides of the rectangle that forms the pattern. Next, a line segment is drawn between the start point S and the end point E using Bresenham's algorithm. For example, the wedgelet pattern wedgePattern [x] [y] is generated by setting the element corresponding to the coordinates on the line segment and on the left side of the line segment to 1. Here, patternSize is the size (vertical width, horizontal width) of the block for generating the wedgelet pattern.
 (デプスルックアップテーブル導出部146)
 デプスルックアップテーブル導出部146は、インデックスの値をデプス値に変換するインデックスデプス変換テーブルIdx2DepthValue[]から、デプス値をインデックスの値に変換するデプスインデックス変換テーブルDepthValue2Idx[]を導出する。
(Depth lookup table derivation unit 146)
The depth lookup table derivation unit 146 derives a depth index conversion table DepthValue2Idx [] for converting a depth value into an index value from an index depth conversion table Idx2DepthValue [] that converts an index value into a depth value.
 図19は、デプスルックアップテーブル導出部146の動作を示すフローチャートである。デプスルックアップテーブル導出部146は、以下の擬似コードに示す処理をする。
for( d = 0; d < ( 1 << BitDepthY) ; d++ )  (S3001、S3008)
{
 foundFlag = 0 
 for( i = 1; i < NumDepthValuesInDlt[ nuh_layer_id ] - 1 && !foundFlag; i++ )  (S3002)
 {
  if( Idx2DepthValue[ i ] > d ) {  (S3003)
   foundFlag = 1
  }
 }
 if( Abs( d - Idx2DepthValue[ i-1 ] ) < Abs ( d - Idx2DepthValue[ i ] ) )    (S3005)
  DepthValue2Idx[ d ] = i-1  (S3006)
 else
  DepthValue2Idx[ d ] = i  (S3007)
}
 ここで、NumDepthValuesInDlt[ nuh_layer_id ]は、DLTデプス値の数である。
FIG. 19 is a flowchart showing the operation of the depth lookup table derivation unit 146. The depth lookup table derivation unit 146 performs the processing shown in the following pseudo code.
for (d = 0; d <(1 <<BitDepthY); d ++) (S3001, S3008)
{
foundFlag = 0
for (i = 1; i <NumDepthValuesInDlt [nuh_layer_id]-1 &&! foundFlag; i ++) (S3002)
{
if (Idx2DepthValue [i]> d) {(S3003)
foundFlag = 1
}
}
if (Abs (d-Idx2DepthValue [i-1]) <Abs (d-Idx2DepthValue [i])) (S3005)
DepthValue2Idx [d] = i-1 (S3006)
else
DepthValue2Idx [d] = i (S3007)
}
Here, NumDepthValuesInDlt [nuh_layer_id] is the number of DLT depth values.
 (S3001)デプス値ループの開始。デプスルックアップテーブル導出部146は、0から2のビットデプスBitDepthY乗―1(( 1 << BitDepthY) -1)までのデプス値d(変数d)に対して、S3001からS3008までの処理を行う。 (S3001) Start of the depth value loop. The depth lookup table derivation unit 146 performs the processing from S3001 to S3008 on the depth value d (variable d) from 0 to 2 to the bit depth BitDepthY raised to −1 ((1 << BitDepthY) -1). .
 (S3002)インデックスiのループの開始。デプスルックアップテーブル導出部146は、1からDLTデプス値の数NumDepthValuesInDlt[ nuh_layer_id ]-2までのiに対して、S3003からS3004の処理を行う。 (S3002) Start of index i loop. The depth lookup table derivation unit 146 performs the processing from S3003 to S3004 for i from 1 to the number of DLT depth values NumDepthValuesInDlt [nuh_layer_id] -2.
 (S3003)デプスルックアップテーブル導出部146は、インデックスiをインデックスデプス変換テーブルIdx2DepthValue[]で変換した値Idx2DepthValue[i]がデプス値dより大きい条件(Idx2DepthValue[i] > d)を満たす最初のインデックスiを走査し、見つけたらfoundFlagに1を設定してS3005に遷移する。 (S3003) The depth lookup table derivation unit 146 first index that satisfies the condition (Idx2DepthValue [i]> d) where the value Idx2DepthValue [i] obtained by converting the index i with the index depth conversion table Idx2DepthValue [] is greater than the depth value d If i is found and found, 1 is set in foundFlag and the process proceeds to S3005.
 (S3004)インデックスiのループの終了。iを1だけインクリメントしてループを継続しS3003の処理を繰り返す。S3003の処理で条件を満たすインデックスiが発見された場合(foundFlag=1の場合)、ループを終了し、S3005に遷移する。 (S3004) End of the loop of index i. i is incremented by 1 and the loop is continued to repeat the processing of S3003. When the index i satisfying the condition is found in the process of S3003 (when foundFlag = 1), the loop is terminated and the process proceeds to S3005.
 (S3005)デプスルックアップテーブル導出部146は、インデックスiより1だけ小さい値のi-1(ロー側インデックス候補idxLower)をインデックスデプス変換テーブルIdx2DepthValueで変換してえられる値Idx2DepthValue[i-1]と変数dの差の絶対値(差分絶対値)と、インデックスi(アッパー側インデックス候補idxUpper)をインデックスデプス変換テーブルIdx2DepthValue変換してえられる値Idx2DepthValue[i]と変数dの差の絶対値(差分絶対値)を比較し、前者が後者よりも小さい場合には、S3006に遷移しそれ以外であればS3007に遷移する。 (S3005) The depth lookup table derivation unit 146 obtains a value Idx2DepthValue [i-1] obtained by converting i-1 (low-side index candidate idxLower) having a value smaller by 1 than the index i using the index depth conversion table Idx2DepthValue. The absolute value of the difference between the variable d (absolute difference value) and the value Idx2DepthValue [i] obtained by converting the index i (upper index candidate idxUpper) to the index depth conversion table Idx2DepthValue and the variable d (absolute difference) Value), if the former is smaller than the latter, the process proceeds to S3006; otherwise, the process proceeds to S3007.
 (S3006)デプスルックアップテーブル導出部146は、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]にi-1を設定する(DepthValue2Idx[ d ] = i-1)
 (S3007)デプスルックアップテーブル導出部146は、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]にiを設定する(DepthValue2Idx[ d ] = i)
 (S3008)デプス値ループの終端。dを1だけインクリメントし、dが( 1 << BitDepthY)未満であればループを継続する。dが( 1 << BitDepthY)の場合、処理を終了する。
(S3006) The depth lookup table derivation unit 146 sets i-1 to the value DepthValue2Idx [d] of the DepthValue2Idx table using the variable d as an index (DepthValue2Idx [d] = i-1).
(S3007) The depth lookup table derivation unit 146 sets i to the value DepthValue2Idx [d] of the DepthValue2Idx table using the variable d as an index (DepthValue2Idx [d] = i).
(S3008) End of depth value loop. d is incremented by 1, and if d is less than (1 << BitDepthY), the loop continues. If d is (1 << BitDepthY), the process ends.
 なお、インデックスデプス変換テーブルIdx2DepthValue[]テーブルの要素数NumDepthValuesInDlt[ nuh_layer_id ]が1の場合により安全に処理するためにデプスルックアップテーブル導出部146は、以下の処理としても良い。
if(NumDepthValuesInDlt[ nuh_layer_id ] == 1)
 DepthValue2Idx[ d ] = 0
else if( Abs( d - Idx2DepthValue[ i-1 ] ) < Abs ( d - Idx2DepthValue[ i ] ) )    (S3005)
 DepthValue2Idx[ d ] = i-1  (S3006)
else
 DepthValue2Idx[ d ] = i  (S3007)
 すなわち、インデックスデプス変換テーブルIdx2DepthValue[]テーブルの要素数NumDepthValuesInDlt[ nuh_layer_id ]が1の場合には、0から2のビットデプスBitDepthY乗―1(( 1 << BitDepthY) -1)までのデプス値dに対して、DepthValue2Idx[ d ]に0を設定する。
Note that the depth lookup table derivation unit 146 may perform the following processing in order to process more safely when the number of elements NumDepthValuesInDlt [nuh_layer_id] of the index depth conversion table Idx2DepthValue [] table is 1.
if (NumDepthValuesInDlt [nuh_layer_id] == 1)
DepthValue2Idx [d] = 0
else if (Abs (d-Idx2DepthValue [i-1]) <Abs (d-Idx2DepthValue [i])) (S3005)
DepthValue2Idx [d] = i-1 (S3006)
else
DepthValue2Idx [d] = i (S3007)
That is, when the number of elements NumDepthValuesInDlt [nuh_layer_id] in the index depth conversion table Idx2DepthValue [] table is 1, the depth value d from 0 to 2 to the bit depth BitDepthY-1 ((1 << BitDepthY) -1). On the other hand, 0 is set in DepthValue2Idx [d].
 本実施形態のデプスルックアップテーブル導出部146(デプスルックアップテーブル導出装置)は、あるデプス値dに変換されるインデックス値の候補(インデックス候補)として、、あるデプス値dを超えるIdx2DepthValue[ i ]の最初のインデックスiであるインデックスの値iを導出して、i-1とiを2つのインデックス候補(ロー候補idxLower=i-1、アッパーidxUpper=i)として設定し、ロー側のインデックス候補(i-1)のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]とデプス値dの差分絶対値と、アッパー側のインデックス候補(i)のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、差分絶対値の小さい場合のインデックス候補(ロー候補idxLower=i-1もしくはアッパー候補idxUpper=i)を、デプス値dのデプスインデックス変換テーブルDepthValue2Idxの値DepthValue2Idx[ d ]に設定する。 The depth look-up table deriving unit 146 (depth look-up table deriving device) according to the present embodiment is an Idx2DepthValue [i] that exceeds a certain depth value d as an index value candidate (index candidate) to be converted into a certain depth value d. The index value i, which is the first index i of, is derived, i-1 and i are set as two index candidates (row candidate idxLower = i-1, upper idxUpper = i), and the row-side index candidate ( i-1) index depth conversion table Idx2DepthValue value Idx2DepthValue [i-1] and depth value d difference absolute value, upper index candidate (i) index depth conversion table Idx2DepthValue value Idx2DepthValue [i] and variable Compare the difference absolute values of d, and index candidates (row candidate idxLower = i-1 or upper candidate idxUpper = i) when the difference absolute value is small are It is set to a value DepthValue2Idx depth index conversion table DepthValue2Idx value d [d].
 デプスルックアップテーブル導出装置は、0から(1<<BitDepthY)-1までの変数dに対して、1ずつインクリメントされる値iを、インデックスデプス変換テーブルIdx2DepthValueの値iでの値Idx2DepthValue[i]が変数dよりも大きくなる最初の値との条件で、値iを導出する。さらに、デプスルックアップテーブル導出装置は、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にi-1を変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはiを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定することを特徴とする。 The depth lookup table derivation device obtains a value i incremented by 1 for a variable d from 0 to (1 << BitDepthY) −1, and a value Idx2DepthValue [i] at the value i of the index depth conversion table Idx2DepthValue. The value i is derived under the condition of the first value that becomes greater than the variable d. Further, the depth lookup table derivation device calculates the value of the index depth conversion table Idx2DepthValue of the index i-1, the absolute difference value of the variable d, the value of the index depth conversion table Idx2DepthValue of the index i, and the absolute difference value of the variable d. When the absolute value of the former difference is small, i-1 is set to the depth index conversion table DepthValue2Idx [d] of the variable d. Otherwise, i is set to the depth index conversion table DepthValue2Idx [d of the variable d. ] Is set.
 以上の構成のデプスルックアップテーブル導出装置によれば、デプス値dに対応するインデックスの候補としてi-1とiの2つの候補を用い、2つのインデックス候補i-1、iのうち、インデックスデプス変換テーブルIdx2DepthValue[]で変換後の値がよりデプス値dに近い値となる候補を、導出対象のデプスインデックス変換テーブルDepthValue2Idx[]でデプス値dを変換した場合のインデックス値DepthValue2Idx[ d ]として導出する。デプスルックアップテーブル導出装置は、あるインデックスiとして、インデックスデプス変換テーブルIdx2DepthValueでiを変換して得られる値が変数dより大きいことを満たすインデックスiを一つ導出することにより2つの候補i-1とiを導出することができるため、後述の比較例のように2つの候補を独立して導出する方法などに比べ、デプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。 According to the depth lookup table derivation device having the above configuration, two candidates i-1 and i are used as index candidates corresponding to the depth value d, and the index depth of the two index candidates i-1 and i is determined. The candidate whose value after conversion in the conversion table Idx2DepthValue [] is closer to the depth value d is derived as the index value DepthValue2Idx [d] when the depth value d is converted in the depth index conversion table DepthValue2Idx [] to be derived To do. The depth lookup table derivation device derives two candidates i-1 by deriving one index i satisfying that a value obtained by converting i by the index depth conversion table Idx2DepthValue is larger than the variable d as an index i. Since i and i can be derived, the depth index conversion table DepthValue2Idx can be easily derived as compared to a method of independently deriving two candidates as in a comparative example described later.
 (デプスルックアップテーブル導出部146の別の構成)
 また、デプスルックアップテーブル導出部146は、以下の擬似コードに示す処理をしても良い。以下は、あるデプス値dを超えるIdx2DepthValue[ i ]の最初のインデックスiであるインデックスの値iを導出して、i-1とiを2つのインデックス候補(ロー候補idxLower=i-1、アッパーidxUpper=i)として設定する方法の、もう一つの処理例である。
for( d = 0; d < ( 1 << BitDepthY) ; d++ )
{
 foundFlag = 0 
 idxLower = 0
 for( i = 1; i < NumDepthValuesInDlt[ nuh_layer_id ] && !foundFlag; i++ )
 {
  if( Idx2DepthValue[ i ] > d ) {
   idxLower = i - 1
   foundFlag = 1
  }
 }
 idxUpper = foundFlag ? idxLower + 1 : NumDepthValuesInDlt[ nuh_layer_id ] - 1
 if( Abs( d - Idx2DepthValue[ idxLower ] ) < Abs ( d - Idx2DepthValue[ idxUpper ] ) )  (S3005)
  DepthValue2Idx[ d ] = idxLower (S3006)
 else
  DepthValue2Idx[ d ] = idxUpper (S3007)
}
 上記擬似コードの処理を説明すると以下の通りである。
(Another configuration of the depth lookup table derivation unit 146)
Further, the depth lookup table derivation unit 146 may perform the processing shown in the following pseudo code. The following derives the index value i which is the first index i of Idx2DepthValue [i] exceeding a certain depth value d, and i-1 and i are two index candidates (row candidate idxLower = i-1, upper idxUpper = i) is another processing example of the method of setting.
for (d = 0; d <(1 <<BitDepthY); d ++)
{
foundFlag = 0
idxLower = 0
for (i = 1; i <NumDepthValuesInDlt [nuh_layer_id] &&! foundFlag; i ++)
{
if (Idx2DepthValue [i]> d) {
idxLower = i-1
foundFlag = 1
}
}
idxUpper = foundFlag? idxLower + 1: NumDepthValuesInDlt [nuh_layer_id]-1
if (Abs (d-Idx2DepthValue [idxLower]) <Abs (d-Idx2DepthValue [idxUpper]))) (S3005)
DepthValue2Idx [d] = idxLower (S3006)
else
DepthValue2Idx [d] = idxUpper (S3007)
}
The processing of the pseudo code will be described as follows.
 デプスルックアップテーブル導出部146は、0から2のビットデプスBitDepthY乗―1(( 1 << BitDepthY) -1)までのデプス値d(変数d)に対して以下の処理を行う。最初に、ロー候補idxLowerに0、発見フラグfoundFlagに0を設定する。 The depth lookup table derivation unit 146 performs the following processing on the depth value d (variable d) from 0 to 2 to the bit depth BitDepthY raised to −1 ((1 << BitDepthY) -1). First, 0 is set to the row candidate idxLower, and 0 is set to the discovery flag foundFlag.
 デプスルックアップテーブル導出部146は、1からDLTデプス値の数NumDepthValuesInDlt[ nuh_layer_id ]-1までのiに対して、インデックスiをインデックスデプス変換テーブルIdx2DepthValue[]で変換した値Idx2DepthValue[i]がデプス値dより大きい条件(Idx2DepthValue[i] > d)を満たす最初のインデックスiを走査し、見つめたらfoundFlag=1として、そのときのiから1引いた値(i-1)をロー候補idxLowerに設定する。 The depth lookup table derivation unit 146 converts the index I from the index depth conversion table Idx2DepthValue [] to the value from 1 to the number of DLT depth values NumDepthValuesInDlt [nuh_layer_id] −1. The value Idx2DepthValue [i] is the depth value. Scan the first index i that satisfies the condition (Idx2DepthValue [i]> d) greater than d, and if found, set foundFlag = 1 and set the value (i-1) minus 1 from i at that time to the row candidate idxLower .
 デプスルックアップテーブル導出部146は、ロー候補idxLower+1をアッパー候補idxUpperに設定する。より詳細には、デプスルックアップテーブル導出部146は、ロー候補が発見されている場合(foundFlag=1の場合)には、ロー候補idxLower+1をアッパー候補idxUpperに設定し、それ以外の場合には、DLTデプス値の数NumDepthValuesInDlt[ nuh_layer_id ]-1をアッパー候補idxUpperに設定する。 The depth lookup table derivation unit 146 sets the row candidate idxLower + 1 as the upper candidate idxUpper. More specifically, the depth lookup table derivation unit 146 sets the row candidate idxLower + 1 to the upper candidate idxUpper when a row candidate is found (when foundFlag = 1), and otherwise, The number of DLT depth values NumDepthValuesInDlt [nuh_layer_id] -1 is set as the upper candidate idxUpper.
 デプスルックアップテーブル導出部146は、導出したロー候補idxLowerをインデックスデプス変換テーブルIdx2DepthValueで変換してえられる値Idx2DepthValue[idxLower]と変数dの差の絶対値(差分絶対値)と、アッパー候補idxUpperをインデックスデプス変換テーブルIdx2DepthValueで変換してえられる値Idx2DepthValue[idxUpper]と変数dの差の絶対値(差分絶対値)を比較し、前者が後者よりも小さい場合には、ロー候補idxLowerを、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]に設定する(DepthValue2Idx[ d ] = idxLower)。逆の場合には、アッパー候補idxUpperを、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]に設定する(DepthValue2Idx[ d ] = idxUpper)。 The depth lookup table derivation unit 146 calculates the absolute value (difference absolute value) of the difference between the value Idx2DepthValue [idxLower] obtained by converting the derived row candidate idxLower using the index depth conversion table Idx2DepthValue, and the upper candidate idxUpper. Compare the absolute value (difference absolute value) of the difference between the value Idx2DepthValue [idxUpper] obtained by converting with the index depth conversion table Idx2DepthValue and the variable d. If the former is smaller than the latter, the row candidate idxLower Set to the value DepthValue2Idx [d の] of the DepthValue2Idx table using as an index (DepthValue2Idx [d] = idxLower). In the opposite case, the upper candidate idxUpper is set to the value DepthValue2Idx [d] of the DepthValue2Idx table with the variable d as an index (DepthValue2Idx [d] = idxUpper).
 デプスルックアップテーブル導出部146は、dを1だけインクリメントし、dが( 1 << BitDepthY)未満であればループを継続する。dが( 1 << BitDepthY)の場合、処理を終了する。 The depth lookup table deriving unit 146 increments d by 1, and continues the loop if d is less than (1 << BitDepthY). If d is (1 << BitDepthY), the process ends.
 本実施形態のデプスルックアップテーブル導出部146(デプスルックアップテーブル導出装置)は、あるデプス値dを超えるIdx2DepthValue[ i ]の最初のインデックスi-1の値として、ロー候補idxLowerを導出する。さらに、デプスルックアップテーブル導出部146は、あるデプス値dに変換されるインデックス値の候補(インデックス候補)として、ロー側のインデックス候補idxLowerとアッパー側のインデックス候補idxUpperを設定し、ロー側のインデックス候補idxLowerのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[idxLower]とデプス値dの差分絶対値と、アッパー側のインデックス候補(idxUpper)のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[idxUpper]と変数dの差分絶対値を比較し、差分絶対値の小さい場合のインデックス候補(idxLowerもしくはidxUpper)を、デプス値dのデプスインデックス変換テーブルDepthValue2Idxに設定する。本実施形態のデプスルックアップテーブル導出部146は、一方のインデックス候補(idxUpper)を他方のインデックス候補(idxLower)から導出するため、すなわちidxUpper=idxLower+1によりアッパー候補idxUpperを導出するため、2つのインデックス候補(idxUpper 、idxUpper)を独立に導出する場合よりもデプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。 The depth lookup table derivation unit 146 (depth lookup table derivation device) of the present embodiment derives the row candidate idxLower as the value of the first index i−1 of Idx2DepthValue [i] exceeding a certain depth value d. Further, the depth lookup table deriving unit 146 sets the row-side index candidate idxLower and the upper-side index candidate idxUpper as index value candidates (index candidates) to be converted into a certain depth value d, and sets the row-side index. Candidate idxLower index depth conversion table Idx2DepthValue value Idx2DepthValue [idxLower] and depth value d difference absolute value, upper index candidate (idxUpper) index depth conversion table Idx2DepthValue value Idx2DepthValue [idxUpper] and variable d difference absolute The values are compared, and the index candidate (idxLower or idxUpper) when the difference absolute value is small is set in the depth index conversion table DepthValue2Idx of the depth value d. The depth lookup table derivation unit 146 of the present embodiment derives one index candidate (idxUpper) from the other index candidate (idxLower), that is, derives the upper candidate idxUpper by idxUpper = idxLower + 1. There is an effect that the depth index conversion table DepthValue2Idx is easily derived as compared to the case where (idxUpper, idxUpper) is derived independently.
 なお、デプスルックアップテーブル導出部146(デプスルックアップテーブル導出装置)は、以下の擬似コードのように、あるデプス値d未満のIdx2DepthValue[ i ]の最初のインデックスの値+1として、アッパー候補idxUpperを導出し、ロー候補をアッパー候補idxUpper―1(idxLower=idxUpper-1)として導出しても良い。この場合も一方のインデックス候補(idxLower)を他方のインデックス候補(idxUpper)から導出するため、すなわちidxUpper=idxLower+1により導出するため、2つのインデックス候補(idxUpper 、idxUpper)を独立に導出する場合よりもデプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。以下、上記処理の擬似コードに示す。
for( d = 0; d < ( 1 << BitDepthY) ; d++ )
{
 foundFlag = 0 
 idxUpper = NumDepthValuesInDlt[ nuh_layer_id ] - 1
 for( i = NumDepthValuesInDlt[ nuh_layer_id ] - 1; i >= 0 && !foundFlag; i--
)
 {
  if( Idx2DepthValue[ i ] < d )
 {
   idxUpper = i + 1
   foundFlag = 1
  }
 }
 idxLower = foundFlag ? idxLower - 1 : 0
 if( Abs( d - Idx2DepthValue[ idxLower ] ) < Abs ( d - Idx2DepthValue[ idxUpper ] ) )  (S3005)
  DepthValue2Idx[ d ] = idxLower (S3006)
 else
  DepthValue2Idx[ d ] = idxUpper (S3007)
}
なお、デプスルックアップテーブル導出部146(デプスルックアップテーブル導出装置)は、上述のロー側のインデックス候補idxLower(以下の例ではi-1)のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[idxLower]とデプス値dの差分絶対値と、アッパー側のインデックス候補(idxUpper、以下の例ではi)のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[idxUpper]と変数dの差分絶対値の比較(S3005)を未満(<)から以下(<=)とするS3005´に変更しても良い。
if( Abs( d - Idx2DepthValue[ i-1 ] ) <= Abs ( d - Idx2DepthValue[ i ] ) )    (S3005´)
 (S3005´)デプスルックアップテーブル導出部146は、ロー候補idxLower=i-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、アッパー候補idxUpper=iのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前者が後者「以下の」場合には、S3006に遷移しそれ以外であればS3007に遷移し、DepthValue2Idx[ d ]にロー候補idxLower=i-1を設定する。それ以外の場合にはDepthValue2Idx[ d ]にアッパー候補idxUpper=iを設定する。
The depth lookup table derivation unit 146 (depth lookup table derivation device) sets the upper candidate idxUpper as the first index value +1 of Idx2DepthValue [i] less than a certain depth value d as in the following pseudo code: The row candidate may be derived as the upper candidate idxUpper-1 (idxLower = idxUpper-1). In this case as well, since one index candidate (idxLower) is derived from the other index candidate (idxUpper), that is, by deriving by idxUpper = idxLower + 1, the depth is greater than when two index candidates (idxUpper, idxUpper) are derived independently. There is an effect that the index conversion table DepthValue2Idx is easily derived. The pseudo code for the above processing is shown below.
for (d = 0; d <(1 <<BitDepthY); d ++)
{
foundFlag = 0
idxUpper = NumDepthValuesInDlt [nuh_layer_id]-1
for (i = NumDepthValuesInDlt [nuh_layer_id]-1; i> = 0 &&! foundFlag; i--
)
{
if (Idx2DepthValue [i] <d)
{
idxUpper = i + 1
foundFlag = 1
}
}
idxLower = foundFlag? idxLower-1: 0
if (Abs (d-Idx2DepthValue [idxLower]) <Abs (d-Idx2DepthValue [idxUpper]))) (S3005)
DepthValue2Idx [d] = idxLower (S3006)
else
DepthValue2Idx [d] = idxUpper (S3007)
}
The depth lookup table derivation unit 146 (depth lookup table derivation device) determines the value Idx2DepthValue [idxLower] of the index depth conversion table Idx2DepthValue of the above-mentioned index candidate idxLower on the row side (i-1 in the following example). The comparison between the absolute value of the difference d and the value Idx2DepthValue [idxUpper] of the index depth conversion table Idx2DepthValue of the upper index candidate (idxUpper, i in the following example) and the difference absolute value of the variable d (S3005) is less than (< ) May be changed to S3005 ′ as follows (<=).
if (Abs (d-Idx2DepthValue [i-1]) <= Abs (d-Idx2DepthValue [i])) (S3005 ')
(S3005 ′) The depth lookup table derivation unit 146 selects the index depth conversion table Idx2DepthValue value Idx2DepthValue [i−1] of the row candidate idxLower = i−1, the difference absolute value of the variable d, and the index of the upper candidate idxUpper = i. The value Idx2DepthValue [i] of the depth conversion table Idx2DepthValue is compared with the absolute difference value of the variable d. If the former is “below”, the process proceeds to S3006. Otherwise, the process proceeds to S3007, and DepthValue2Idx [d] Set row candidate idxLower = i-1. In other cases, upper candidate idxUpper = i is set in DepthValue2Idx [d].
 (比較例のデプスルックアップテーブル導出装置)
 以下、比較例のデプスルックアップテーブル導出装置を説明する。比較例のデプスルックアップテーブル導出装置は、以下の擬似コードに示す処理をする。
for( d = 0; d < ( 1 << BitDepthY) ; d++ )
{
 idxLower = 0 
 for( iL = 1, foundFlag = 0; iL < NumDepthValuesInDlt[ nuh_layer_id ] && !foundFlag; iL++ )
 {
  if( Idx2DepthValue[ iL ] > d )
  {
   idxLower = iL - 1
   foundFlag = 1
  }
 }
 idxUpper = NumDepthValuesInDlt[ nuh_layer_id ] - 1
 for( iU = NumDepthValuesInDlt[ nuh_layer_id ] - 2, foundFlag = 0; iU >= 0 && !foundFlag; iU++ )
 {
  if ( Idx2DepthValue[ iU ] < d )
  {
   idxUpper = iU + 1
   foundFlag = 1
  }
 }
 if( Abs( d - Idx2DepthValue[ idxLower ] ) < Abs ( d - Idx2DepthValue[ idxUpper ] ) ) 
  DepthValue2Idx[ d ] = idxLower
 else
  DepthValue2Idx[ d ] = idxUpper
 }
 以上の擬似コードのように、比較例のデプスルックアップテーブル導出装置は、各デプス値dに対して、2つのインデックス候補idxLowerとidxUpperを独立に導出し、インデックスidxLowerのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスidxUpperのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にidxLowerを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはidxUpperを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定する。比較例のデプスルックアップテーブル導出装置は、2つの候補idxLowerとidxUpperを独立に導出する必要があるため、あるデプス値dを超えるIdx2DepthValue[ i ]の最初のインデックスiをみつけi-1とiに基づいて2つの候補(ロー候補idxLowerとアッパー候補idxUpper)を導出する本実施形態のデプスルックアップテーブル導出装置よりも処理が複雑である。
(Comparison example depth lookup table derivation device)
Hereinafter, a depth lookup table derivation device of a comparative example will be described. The depth lookup table derivation device of the comparative example performs the processing shown in the following pseudo code.
for (d = 0; d <(1 <<BitDepthY); d ++)
{
idxLower = 0
for (iL = 1, foundFlag = 0; iL <NumDepthValuesInDlt [nuh_layer_id] &&! foundFlag; iL ++)
{
if (Idx2DepthValue [iL]> d)
{
idxLower = iL-1
foundFlag = 1
}
}
idxUpper = NumDepthValuesInDlt [nuh_layer_id]-1
for (iU = NumDepthValuesInDlt [nuh_layer_id]-2, foundFlag = 0; iU> = 0 &&! foundFlag; iU ++)
{
if (Idx2DepthValue [iU] <d)
{
idxUpper = iU + 1
foundFlag = 1
}
}
if (Abs (d-Idx2DepthValue [idxLower]) <Abs (d-Idx2DepthValue [idxUpper]))
DepthValue2Idx [d] = idxLower
else
DepthValue2Idx [d] = idxUpper
}
As in the above pseudo code, the depth lookup table derivation device of the comparative example derives two index candidates idxLower and idxUpper independently for each depth value d, and the value of the index depth conversion table Idx2DepthValue of the index idxLower And the difference absolute value of the variable d and the index depth conversion table Idx2DepthValue of the index idxUpper are compared with the difference absolute value of the variable d. If the former difference absolute value is small, idxLower is set to the depth index conversion table of the variable d. Set to DepthValue2Idx [d], otherwise set idxUpper to the depth index conversion table DepthValue2Idx [d] for variable d. Since the depth lookup table derivation device of the comparative example needs to derive two candidates idxLower and idxUpper independently, it finds the first index i of Idx2DepthValue [i] exceeding a certain depth value d and sets it to i-1 and i The processing is more complicated than the depth lookup table derivation device of this embodiment that derives two candidates (row candidate idxLower and upper candidate idxUpper) based on this.
 (インター予測パラメータ復号部の構成)
 次に、インター予測パラメータ復号部303の構成について説明する。図8は、本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。インター予測パラメータ復号部303は、インター予測パラメータ復号制御部3031、AMVP予測パラメータ導出部3032、加算部3035及びマージモードパラメータ導出部3036(マージモードパラメータ導出装置)、変位導出部30363を含んで構成される。
(Configuration of inter prediction parameter decoding unit)
Next, the configuration of the inter prediction parameter decoding unit 303 will be described. 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 (merge mode parameter deriving device), and a displacement deriving unit 30363. The
 インター予測パラメータ復号制御部3031は、インター予測に関連する符号(シンタックス要素の復号をエントロピー復号部301に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flagを抽出する。インター予測パラメータ復号制御部3031が、あるシンタックス要素を抽出すると表現する場合は、あるシンタックス要素の復号をエントロピー復号部301に指示し、該当のシンタックス要素を符号化データから読み出すことを意味する。 The inter prediction parameter decoding control unit 3031 instructs the entropy decoding unit 301 to decode a code related to the inter prediction (the syntax element) includes, for example, a division mode part_mode, a merge included in the encoded data. A 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, and illumination compensation flag ic_flag are extracted. When expressing that the syntax element is extracted, it means that the entropy decoding unit 301 is instructed to decode a certain syntax element, and the corresponding syntax element is read out from the encoded data.
 インター予測パラメータ復号制御部3031は、マージフラグmerge_flagが1、すなわち、予測ユニットがマージモードの場合、マージインデックスmerge_idxを符号化データから抽出する。インター予測パラメータ復号制御部3031は、抽出した残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flag及びマージインデックスmerge_idxをマージモードパラメータ導出部3036に出力する。 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.
 インター予測パラメータ復号制御部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に出力する。 When the merge flag merge_flag is 0, that is, when the prediction block is in the AMVP prediction mode, the inter prediction parameter decoding control unit 3031 uses the entropy decoding unit 301 to calculate the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the prediction vector flag. mvp_LX_flag and 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.
 図20、図21は本実施形態の予測パラメータに関するシンタックス表である。インター予測パラメータ復号制御部3031は、図のSE1001~SE1006に示すcu_skip_flag、pred_mode、part_mode、merge_flag、merge_idxを復号する。ここで、cu_skip_flagは対象CUがスキップであるか否かを示すフラグである。スキップの場合にはPartModeは2N×2Nに限定され、分割モードpart_modeの復号は省略される。符号化データから復号した分割モードpart_modeは分割モードPredModeにセットされる。また、インター予測パラメータ復号制御部3031は、インター予測パラメータ導出時に導出された変位ベクトル(NBDV)、及び視点合成予測を行うか否かを示すフラグであるVSPモードフラグVspModeFlagを、インター予測画像生成部309に出力する。インター予測パラメータ復号制御部3031は、cu_skip_flagが1の場合に、対象ブロックのCU予測モードCuPredMode[xN][yN]にMODE_SKIPを設定する。cu_skip_flagが0の場合には、pred_modeに応じてCU予測モードを設定する。pred_modeが0の場合、CU予測モードCuPredMode[xN][yN]にMODE_INTERを設定する。pred_modeが1の場合、CU予測モードCuPredMode[xN][yN]にMODE_INTRAを設定する。インター予測パラメータ復号制御部3031は、CU予測モードがMODE_INTERの場合(cu_skip_flagが1)の場合、SE1004に示すようにマージ候補リスト中のマージ候補の選択に用いるmerge_idxを復号する。インター予測パラメータ復号制御部3031は、CU予測モードがMODE_INTERの場合、SE1005に示すようにmerge_flagを復号し、merge_flagが1の場合、SE1006に示すようにマージ候補の選択に用いるmerge_idxを復号する。 FIG. 20 and FIG. 21 are syntax tables relating to the prediction parameters of the present embodiment. The inter prediction parameter decoding control unit 3031 decodes cu_skip_flag, pred_mode, part_mode, merge_flag, and merge_idx indicated in SE1001 to SE1006 in the figure. Here, cu_skip_flag is a flag indicating whether or not the target CU is skipped. In the case of skipping, 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. In addition, the inter prediction parameter decoding control unit 3031 displays the displacement vector (NBDV) derived when the inter prediction parameter is derived and the VSP mode flag VspModeFlag that is a flag indicating whether to perform viewpoint synthesis prediction, as an inter prediction image generation unit. To 309. When the cu_skip_flag is 1, the inter prediction parameter decoding control unit 3031 sets MODE_SKIP to the CU prediction mode CuPredMode [xN] [yN] of the target block. When cu_skip_flag is 0, CU prediction mode is set according to pred_mode. When pred_mode is 0, MODE_INTER is set in CU prediction mode CuPredMode [xN] [yN]. When pred_mode is 1, MODE_INTRA is set in CU prediction mode CuPredMode [xN] [yN]. When the CU prediction mode is MODE_INTER (cu_skip_flag is 1), the inter prediction parameter decoding control unit 3031 decodes merge_idx used for selecting a merge candidate in the merge candidate list as shown in SE1004. When the CU prediction mode is MODE_INTER, the inter prediction parameter decoding control unit 3031 decodes merge_flag as shown in SE1005, and when merge_flag is 1, decodes merge_idx used for selection of merge candidates as shown in SE1006.
 図9は、本実施形態に係るマージモードパラメータ導出部3036の構成を示す概略図である。マージモードパラメータ導出部3036は、マージ候補導出部30361とマージ候補選択部30362、双予測制限部30363を備える。マージ候補導出部30361は、マージ候補格納部303611と、拡張マージ候補導出部30370と基本マージ候補導出部30380を含んで構成される。 FIG. 9 is a schematic diagram illustrating a configuration of the merge mode parameter deriving unit 3036 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.
 マージ候補格納部303611は、拡張マージ候補導出部30370及び基本マージ候補導出部30380から入力されたマージ候補をマージ候補リストmergeCandListに格納する。なお、マージ候補は、予測利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLXから構成され、さらに、VSPモードフラグVspModeFlag、変位ベクトルMvDisp、レイヤIDRefViewIdxなどを含んでも良い。マージ候補格納部303611において、マージ候補リストmergeCandListに格納されたマージ候補は、リスト先頭の候補から0、1、2・・・Nのインデックスが対応づけられる。 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. In the merge candidate storage unit 303611, 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.
 図11は、マージ候補導出部30361が導出するマージ候補リストmergeCandListの例を示すものである。図11(a)は、ベースレイヤ(レイヤIDnal_unit_layer=0のレイヤ)において、マージ候補格納部303611が導出するマージ候補を示す。2つのマージ候補が同じ予測パラメータである場合に順番を詰める処理(プルーニング処理)を除くと、マージインデックス順に、空間マージ候補(A1)、空間マージ候補(B1)、空間マージ候補(B0)、空間マージ候補(A0)、空間マージ候補(B2)の順になる。なお、括弧内は、マージ候補のニックネームであり、空間マージ候補の場合には、導出に用いる参照ブロックの位置に対応する。また、それ以降に、結合マージ候補(結合双予測マージ候補、combined bi-predictive merging candidates)、ゼロマージ候補(ゼロ動きマージ候補、zero motion vector merging candidates)があるが、図11では省略している。 FIG. 11 shows an example of the merge candidate list mergeCandList derived by the merge candidate deriving unit 30361. FIG. 11A shows merge candidates derived by the merge candidate storage unit 303611 in the base layer (layer IDnal_unit_layer = 0). If two merge candidates have the same prediction parameter, excluding the process of reducing the order (pruning process), the merge index order is spatial merge candidate (A1), spatial merge candidate (B1), spatial merge candidate (B0), and space The merge candidate (A0) and the spatial merge candidate (B2) are in this order. 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. Further, after that, there are join merge candidates (join bi-predictive merge candidates, combined bi-predictive merging candidates) and zero merge candidates (zero motion merge candidates, zero motion vector merging candidates), which are omitted in FIG.
 マージモードパラメータ導出部3036は、基本マージリストbaseMergeCandidate[]と拡張マージリストextMergeCandidate[]を構築する。以下では、マージモードパラメータ導出部3036に含まれるマージ候補格納部303611がリストの構築を行う構成を示すが、マージ候補格納部303611に限らない。例えば、マージ候補導出部30361が個々のマージ候補を導出するだけでなくマージ候補リストを導出しても良い。 The merge mode parameter deriving unit 3036 constructs a basic merge list baseMergeCandidate [] and an extended merge list extMergeCandidate []. In the following, 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. For example, the merge candidate derivation unit 30361 may derive not only individual merge candidates but also a merge candidate list.
 図12は、空間マージ候補が参照する隣接ブロックの位置を示す図である。A0、A1、B0、B1、B2は各々図12に示す位置に対応し、座標は以下の通りである。予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbHとする場合、隣接ブロックの位置は以下の通りとなる。 FIG. 12 is a diagram showing the position of an adjacent block that is referenced by a spatial merge candidate. A0, A1, B0, B1, and B2 each correspond to the position shown in FIG. 12, and the coordinates are as follows. When the upper left coordinates of the prediction unit are xPb and yPb, and the width and height of the prediction unit are nPbW and nPbH, the positions of adjacent blocks are as follows.
 A0:( xPb - 1, yPb + nPbH )
 A1:( xPb - 1, yPb + nPbH - 1 )
 B0:( xPb + nPbW, yPb - 1 )
 B1:( xPb + nPbW - 1, yPb - 1 )
 B2:( xPb - 1, yPb - 1 )
 拡張マージ候補導出部30370は、レイヤ間マージ候補導出部30371(インタービューマージ候補導出部30371)、変位マージ候補導出部30373、VSPマージ候補導出部30374(VSP予測部30374)を含んで構成される。拡張マージ候補は、後述の基本マージ候補とは異なるマージ候補であり、少なくとも、テクスチャマージ候補(T)、インタービュ-マージ候補(IvMC)、変位マージ候補(IvDC)、VSPマージ候補(VSP)、インタービューシフトマージ候補(IvMCShift)、変位シフトマージ候補(IvDCShift)の何れかを含む。
A0: (xPb-1, yPb + nPbH)
A1: (xPb-1, yPb + nPbH-1)
B0: (xPb + nPbW, yPb-1)
B1: (xPb + nPbW-1, 1, yPb-1)
B2: (xPb-1, yPb-1)
The extended merge candidate derivation unit 30370 includes an inter-layer merge candidate derivation unit 30371 (interview merge candidate derivation unit 30371), a displacement merge candidate derivation unit 30373, and a VSP merge candidate derivation unit 30374 (VSP prediction unit 30374). . The extended merge candidate is a merge candidate different from a basic merge candidate described later, and includes at least a texture merge candidate (T), an interview merge candidate (IvMC), a displacement merge candidate (IvDC), a VSP merge candidate (VSP), Either an inter-view shift merge candidate (IvMCShift) or a displacement shift merge candidate (IvDCShift) is included.
 (テクスチャマージ候補)
 レイヤ間マージ候補導出部30371は、テクスチャマージ候補(T)とインタービューマージ候補(IvMC)、インタービューシフトマージ候補(IvMCShift)を導出する。これらマージ候補は、対象ピクチャと同一POCを持つ別レイヤ(例えばベースレイヤ、ベースビュー)の参照ピクチャから、予測ユニットに対応するブロックを選択し、該ブロックが有する動きベクトルである予測パラメータを予測パラメータメモリ307から読み出すことで導出される。
(Texture merge candidate)
The inter-layer merge candidate derivation unit 30371 derives a texture merge candidate (T), an inter-view merge candidate (IvMC), and an inter-view shift merge candidate (IvMCShift). For these merge candidates, a block corresponding to a prediction unit is selected from reference pictures of different layers (for example, a base layer and a base view) having the same POC as the target picture, and a prediction parameter that is a motion vector included in the block is selected as a prediction parameter. It is derived by reading from the memory 307.
 テクスチャマージ候補(T)は、レイヤ間マージ候補導出部30371において、対象ピクチャがデプスの場合に導出される。テクスチャマージ候補(T)は、対象ピクチャと同じビューIDを有するデプスピクチャから参照ブロックを特定し、参照ブロックの動きベクトルを読み出すことで導出される。 The texture merge candidate (T) is derived by the inter-layer merge candidate deriving unit 30371 when the target picture is depth. The texture merge candidate (T) is derived by specifying a reference block from a depth picture having the same view ID as the target picture and reading a motion vector of the reference block.
 参照ブロックの座標(xRef, yRef)は、予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbHとする場合、以下の式から導出される。 The coordinates (xRef, yRef) of the reference block are derived from the following equations when the upper left coordinates of the prediction unit are xPb and yPb, and the width and height of the prediction unit are nPbW and nPbH.
  xRefFull = xPb + ( ( nPbW - 1 ) >> 1 )
  yRefFull = yPb + ( ( nPbH - 1 ) >> 1 )
  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
  yRef = Clip3( 0, PicHeightInSamplesL - 1,( yRefFull >> 3 ) << 3 )
 なお、PicWidthInSamplesLとPicHeightInSamplesL は、それぞれ画像の幅と高さを表し、関数Clip3(x,y,z)は、zをx以上、y以下に制限(クリップ)し、その制限した結果を返す関数である。
xRefFull = xPb + ((nPbW-1) >> 1)
yRefFull = yPb + ((nPbH-1) >> 1)
xRef = Clip3 (0, PicWidthInSamplesL-1, (xRefFull >> 3) << 3)
yRef = Clip3 (0, PicHeightInSamplesL-1, (yRefFull >> 3) << 3)
Note that PicWidthInSamplesL and PicHeightInSamplesL represent the width and height of the image, respectively, and the function Clip3 (x, y, z) is a function that restricts (clips) z to not less than x and not more than y, and returns the restricted result. is there.
 参照ブロックの動きベクトルをtextMvLXとすると、テクスチャマージ候補の動きベクトルmvLXTは次の式で導出される。 Suppose that the motion vector of the reference block is textMvLX, the motion vector mvLXT of the texture merge candidate is derived by the following formula.
  mvLXT[ 0 ] = ( textMvLX[ xRef ][ yRef ][ 0 ] + 2 ) >> 2
  mvLXT[ 1 ] = ( textMvLX[ xRef ][ yRef ][ 1 ] + 2 ) >> 2
 なお、テクスチャマージ候補では、予測ユニットをさらに分割したサブブロック単位で予測パラメータを割り当てても構わない。
mvLXT [0] = (textMvLX [xRef] [yRef] [0] + 2) >> 2
mvLXT [1] = (textMvLX [xRef] [yRef] [1] + 2) >> 2
For texture merge candidates, prediction parameters may be assigned in units of sub-blocks obtained by further dividing the prediction unit.
 (インタービューマージ候補)
 インタービューマージ候補は、レイヤ間マージ候補導出部30371において、後述の変位ベクトル導出部352が特定した対象ピクチャと同一POCを有し、異なるビューID(refViewIdx)を有する参照ピクチャivRefPicの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。この処理をテンポラルインタービュー動き候補導出処理と呼ぶ。レイヤ間マージ候補導出部30371は、テンポラルインタービュー動き候補導出処理として、まず、ブロックの左上座標を(xPb、yPb)、ブロックの幅と高さをnPbW、nPbH、変位ベクトル導出部352から導出される変位ベクトルを(mvDisp[0], mvDisp[1])とする場合に、参照座標(xRef, yRef)を以下の式から導出する。
(Interview merge candidate)
The inter-view merge candidate moves from the reference block of the reference picture ivRefPic having the same POC as the target picture specified by the later-described displacement vector deriving unit 352 in the inter-layer merge candidate deriving unit 30371 and having a different view ID (refViewIdx). It is derived by reading prediction parameters such as vectors. This process is called a temporal inter-view motion candidate derivation process. As the temporal inter-view motion candidate derivation process, the inter-layer merge candidate derivation unit 30371 is first derived from the upper left coordinates of the block (xPb, yPb), the block width and height from the nPbW, nPbH, and the displacement vector derivation unit 352. Reference coordinates (xRef, yRef) are derived from the following equations when the displacement vector to be used is (mvDisp [0], mvDisp [1]).
  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 )
 次に、レイヤ間マージ候補導出部30371は、図示しないテンポラルインタービュー動き候補導出部303711において、テンポラルインタービュー動き候補導出処理を行う。
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)
Next, the inter-layer merge candidate derivation unit 30371 performs temporal inter-view motion candidate derivation processing in a temporal inter-view motion candidate derivation unit 303711 (not shown).
 テンポラルインタービュー動き候補導出部303711は、ブロックの座標(xPb, yPb)、ブロックの幅nPbW, nPbH、ブロックの変位ベクトルmvDispから、上記処理により、参照ブロック位置(xRef, yRef)を導出し、さらに参照ブロック位置(xRef, yRef)に位置する参照ピクチャivRefPic上の予測ユニットのベクトルを参照し、テンポラルインタービュー動き候補のベクトルを導出する。まず、参照ブロック位置(xRef, yRef)で示される座標を含む参照ピクチャivRefPic上の予測ユニット(輝度予測ブロック)の左上座標を(xIvRefPb,yIvRefPb)、参照ピクチャivRefPic上の予測ユニットが備える参照ピクチャリスト、予測リストフラグ、ベクトル、参照ピクチャインデックスを各々refPicListLYIvRef, predFlagLYIvRef[ x ][ y ], mvLYIvRef[ x ][ y ], refIdxLYIvRef[ x ][ y ]と置く。 The temporal inter-view motion candidate derivation unit 3037111 derives the reference block position (xRef, yRef) from the block coordinates (xPb, yPb), the block width nPbW, nPbH, and the block displacement vector mvDisp by the above processing, and A vector of a temporal interview motion candidate is derived by referring to the vector of the prediction unit on the reference picture ivRefPic located at the reference block position (xRef, yRef). First, the upper left coordinate of the prediction unit (luminance prediction block) on the reference picture ivRefPic including the coordinates indicated by the reference block position (xRef, yRef) is (xIvRefPb, yIvRefPb), and the reference picture list included in the prediction unit on the reference picture ivRefPic , RefPicListLYIvRef, predFlagLYIvRef [x] [y], mvLYIvRef [x] [y], refIdxLYIvRef [x] [y].
 テンポラルインタービュー動き候補導出部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を以下の式により導出する。 When the prediction usage flag predFlagLYIvRef [xIvRefPb] [yIvRefPb] is 1, the temporal inter-view motion candidate derivation unit 3037111 predicts 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). It is determined whether PicOrderCnt (PrefPicListLYIvRef [refIdxLYIvRef [xIvRefPb] [yIvRefPb]])) of the unit's POC is equal to PicOrderCnt (RefPicListLX [i]) of the reference picture of the target prediction unit. When [xIvRefPb] [yIvRefPb] is a displacement vector), a predictable flag availableFlagLXInterView, a vector mvLXInterView, and a reference picture index refIdxLX are derived by the following equations.
  availableFlagLXInterView = 1
  mvLXInterView = mvLYIvRef[ xIvRefPb ][ yIvRefPb ]
  refIdxLX = i
 (デプスマージ候補)
 デプスマージ候補Dは、拡張マージ候補導出部30370内の図示しないデプスマージ候補導出部において、導出される。デプスマージ候補Dは、変位導出部30363から入力される座標(xRef, yRef)の予測ブロックの変位mvLXD[ xRef ][ yRef ][ 0 ]を以下の式により変換して得られるデプス値dispDerivedDepthValを、予測画像の画素値とするマージ候補である。
availableFlagLXInterView = 1
mvLXInterView = mvLYIvRef [xIvRefPb] [yIvRefPb]
refIdxLX = i
(Depth merge candidate)
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.
 dispVal = mvLXD[ xRef ][ yRef ][ 0 ]
 dispDerivedDepthVal = DispToDepthF( refViewIdx, dispVal )
 ここでDispToDepthF(X, Y)はビューインデックスXのピクチャを参照ピクチャとする場合に、変位Yからデプス値を導出する関数である。
dispVal = mvLXD [xRef] [yRef] [0]
dispDerivedDepthVal = DispToDepthF (refViewIdx, dispVal)
Here, 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.
 (インタービューシフトマージ候補)
 インタービューシフトマージ候補IvMCShiftも、レイヤ間マージ候補導出部30371において、変位ベクトル導出部352が特定した対象ピクチャと同一POCを有し、異なるビューIDを有するピクチャの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。参照ブロックの座標(xRef, yRef)、予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbH、変位ベクトル導出部352から導出される変位ベクトルが、mvDisp[0], mvDisp[1]とする場合、以下の式から導出される。
xRefFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + nPbW * 2 + 4 + 2 ) >> 2 )yRefFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + nPbH * 2 + 4 + 2 ) >> 2 )xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
 (変位マージ候補)
 変位マージ候補導出部30373は、変位ベクトル導出部352から入力される変位ベクトルから、変位マージ候補(IvDC)、変位シフトマージ候補(IvDCShift)を導出する。変位マージ候補導出部30373は、入力された変位ベクトル(mvDisp[0], mvDisp[1])に基づいて、水平成分がmvDisp[0]であり、垂直成分が0であるベクトルを変位マージ候補(IvDC)として、以下の式により生成する。
(Interview shift merge candidate)
The inter-view shift merge candidate IvMCShift is also a prediction parameter such as a motion vector from a reference block of a picture having the same POC as the target picture specified by the displacement vector deriving unit 352 in the inter-layer merge candidate deriving unit 30371 and having a different view ID. It is derived by reading. The coordinates (xRef, yRef) of the reference block, the upper left coordinates of the prediction unit are xPb, yPb, the width and height of the prediction unit are nPbW, nPbH, and the displacement vector derived from the displacement vector deriving unit 352 is mvDisp [0], When mvDisp [1], it is derived from the following equation.
xRefFull = xPb + (nPbW >> 1) + ((mvDisp [0] + nPbW * 2 + 4 + 2) >> 2) yRefFull = yPb + (nPbH >> 1) + ((mvDisp [1] + nPbH * 2 + 4 + 2) >> 2) xRef = Clip3 (0, PicWidthInSamplesL-1, (xRefFull >> 3) << 3)
yRef = Clip3 (0, PicHeightInSamplesL-1, (yRefFull >> 3) << 3)
(Displacement merge candidate)
The displacement merge candidate derivation unit 30373 derives a displacement merge candidate (IvDC) and a displacement shift merge candidate (IvDCShift) 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 ( IvDC) is generated by the following equation.
  mvL0IvDC[ 0 ] = DepthFlag ? ( mvDisp[ 0 ] + 2 ) >> 2 : mvDisp[ 0 ] 
  mvL0IvDC[ 1 ] = 0
 ここで、DepthFlagは、デプスの場合に1となる変数である。
mvL0IvDC [0] = DepthFlag? (mvDisp [0] + 2) >> 2: mvDisp [0]
mvL0IvDC [1] = 0
Here, DepthFlag is a variable that becomes 1 in the case of depth.
 変位マージ候補導出部30373は、生成したベクトルと、変位ベクトルが指す先のレイヤ画像の参照ピクチャインデックスrefIdxLX(例えば、復号対象ピクチャと同一POCを持つベースレイヤ画像のインデックス)をマージ候補としてマージ候補格納部303611に出力する。 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.
 変位マージ候補導出部30373は、変位シフトマージ候補(IvDC)として、変位マージ候補を水平方向にずらしたベクトルを有するマージ候補を以下の式により導出する。 The displacement merge candidate derivation unit 30373 derives, as a displacement shift merge candidate (IvDC), a merge candidate having a vector obtained by shifting the displacement merge candidate in the horizontal direction by the following equation.
  mvLXIvDCShift[ 0 ] = mvL0IvDC[ 0 ] + 4 
  mvLXIvDCShift[ 1 ] = mvL0IvDC[ 1 ]
 (VSPマージ候補)
 VSPマージ候補導出部30374(以下、VSP予測部30374)は、VSP(視点合成予測:View Synthesis Prediction)マージ候補を導出する。VSP予測部30374は、予測ユニットを複数のサブブロック(サブ予測ユニット)に分割し、分割したサブブロック単位で、ベクトルmvLXと参照ピクチャインデックスrefIdxLX、ビューIDRefViewIdxを設定する。VSP予測部30374は、導出したVSPマージ候補をマージ候補格納部303611に出力する。
mvLXIvDCShift [0] = mvL0IvDC [0] + 4
mvLXIvDCShift [1] = mvL0IvDC [1]
(VSP merge candidate)
The VSP merge candidate derivation unit 30374 (hereinafter, VSP prediction unit 30374) derives a VSP (View Synthesis Prediction) merge candidate. 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.
 図14はVSP予測部30374と他の手段の関係を示すブロック図である。VSP予測部30374は、分割フラグ導出部353の導出する分割フラグhorSplitFlagと、デプスDV導出部351の導出する変位ベクトルを用いて動作する。 FIG. 14 is a block diagram showing the relationship between the VSP prediction unit 30374 and other means. The VSP prediction unit 30374 operates using the split flag horSplitFlag derived by the split flag deriving unit 353 and the displacement vector derived by the depth DV deriving unit 351.
 VSP予測部30374の図示しないパーティション分割部は、分割フラグ導出部353の導出した分割フラグhorSplitFlagに応じて、横長長方形(ここでは8×4)と縦長長方形(ここでは4×8)のいずれかを選択することでサブブロックサイズを決定する。具体的には、以下の式を用いてサブブロックの幅nSubBlkWと高さnSubBlkHを設定する。 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.
 nSubBlkW = horSplitFlag ? 8 : 4
 nSubBlkH = horSplitFlag ? 4 : 8
 VSP予測部30374は、導出されたサブブロックサイズの各々のサブブロックに対して、デプスDV導出部351から導出された動きベクトルdisparitySampleArray[]を水平成分の動きベクトルmvLX[0]、0を垂直成分の動きベクトルmvLX[1]としてベクトルmvLX[]を導出し、VSPマージ候補の予測パラメータを導出する。
nSubBlkW = horSplitFlag? 8: 4
nSubBlkH = horSplitFlag? 4: 8
For each subblock of the derived subblock size, the VSP prediction unit 30374 uses the motion vector disparitySampleArray [] derived from the depth DV derivation unit 351 as the horizontal component motion vector mvLX [0], and 0 as the vertical component. The vector mvLX [] is derived as the motion vector mvLX [1], and the prediction parameter of the VSP merge candidate is derived.
 また、VSP予測部30374は、インター予測パラメータ復号制御部3031から入力された残差予測インデックスiv_res_pred_weight_idx及び照度補償フラグic_flagに応じてVSPマージ候補をマージ候補リストmergeCandListに追加するか否かを制御してもよい。具体的には、VSP予測部30374は、残差予測インデックスiv_res_pred_weight_idxが0、かつ、照度補償フラグic_flagが0の場合のみ、
 空間マージ候補導出部30381は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータ(予測利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX)を読み出し、読み出した予測パラメータを空間マージ候補として導出する。読み出される予測パラメータは、予測ユニットから予め定めた範囲内にあるブロック(例えば、予測ユニットの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部)である隣接ブロックのそれぞれに係る予測パラメータである。導出された空間マージ候補はマージ候補格納部303611に格納される。
Also, 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 only has a residual prediction index iv_res_pred_weight_idx of 0 and an illumination compensation flag ic_flag of 0.
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.
 空間マージ候補導出部30381では、隣接ブロックのVSPモードフラグVspModeFlagを継承して導出するマージ候補のVSPモードフラグmergeCandIsVspFlagを設定する。すなわち、隣接ブロックのVSPモードフラグVspModeFlagが1の場合、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを1、それ以外の場合はVSPモードフラグmergeCandIsVspFlagを0とする。 The spatial merge candidate derivation unit 30381 sets a merge candidate VSP mode flag mergeCandIsVspFlag that is derived by inheriting the VSP mode flag VspModeFlag of the adjacent block. That is, when the VSP mode flag VspModeFlag of the adjacent block is 1, the VSP mode flag mergeCandIsVspFlag of the corresponding spatial merge candidate is 1, and otherwise, the VSP mode flag mergeCandIsVspFlag is 0.
 時間マージ候補導出部30382は、予測ユニットの右下の座標を含む参照画像中のブロックの予測パラメータを予測パラメータメモリ307から読みだしマージ候補とする。参照画像の指定方法は、例えば、スライスヘッダで指定されるコロケートピクチャcol_ref_idxと、参照ピクチャリストRefPicListXから指定されるRefPicListX[col_ref_idx]で指定される参照ピクチャインデックスrefIdxLXを用いればよい導出されたマージ候補はマージ候補格納部303611に格納される。 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.
 結合マージ候補導出部30383は、既に導出されマージ候補格納部303611に格納された2つの異なる導出済マージ候補のベクトルと参照ピクチャインデックスを、それぞれL0、L1のベクトルとして組み合わせることで結合マージ候補を導出する。導出されたマージ候補はマージ候補格納部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.
 ゼロマージ候補導出部30384は、参照ピクチャインデックスrefIdxLXがiであり、ベクトルmvLXのX成分、Y成分が共に0であるマージ候補を、導出したマージ候補数が最大値に達するまで導出する。参照ピクチャインデックスrefIdxLXを示すiの値は、0から順に割り振られる。導出されたマージ候補はマージ候補格納部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.
 図10は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033と予測ベクトル選択部3034、インター予測識別子導出部3035を備える。ベクトル候補導出部3033は、参照ピクチャインデックスrefIdxに基づいて予測パラメータメモリ307が記憶するベクトルを読み出し、ベクトル候補リストmvpListLXを生成する。参照ブロックは、予測ユニットの位置を基準として予め定めた位置にあるブロック(例えば、予測ユニットの左下端、右上端、時間的に隣接するブロック)である。 FIG. 10 is a schematic diagram showing the configuration of the AMVP prediction parameter derivation unit 3032 according to this embodiment. The AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033, a prediction vector selection unit 3034, and an inter prediction identifier derivation unit 3035. The vector candidate derivation unit 3033 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 reference block is a block (for example, a block at the lower left end, an upper right end, or a temporally adjacent block of the prediction unit) at a predetermined position based on the position of the prediction unit.
 予測ベクトル選択部3034は、ベクトル候補導出部3033が導出したベクトル候補mvpListLXのうち、インター予測パラメータ復号制御部3031から入力された予測ベクトルフラグmvp_LX_flagが示すベクトルmvpListLX[ mvp_lX_flag]を予測ベクトルmvpLXとして選択する。予測ベクトル選択部3034は、選択した予測ベクトルmvpLXを加算部3035に出力する。 The prediction vector selection unit 3034 selects the vector mvpListLX [mvp_lX_flag] indicated by the prediction vector flag mvp_LX_flag input from the inter prediction parameter decoding control unit 3031 among the vector candidates mvpListLX derived by the vector candidate derivation unit 3033 as the prediction vector mvpLX. . The prediction vector selection unit 3034 outputs the selected prediction vector mvpLX to the addition unit 3035.
 加算部3035は、予測ベクトル選択部3034から入力された予測ベクトルmvpLXとインター予測パラメータ復号制御部から入力された差分ベクトルmvdLXを加算してベクトルmvLXを算出する。加算部3035は、算出したベクトルmvLXを予測画像生成部308に出力する。 The addition unit 3035 adds the prediction vector mvpLX input from the prediction vector selection unit 3034 and the difference vector mvdLX input from the inter prediction parameter decoding control unit to calculate a vector mvLX. The adding unit 3035 outputs the calculated vector mvLX to the predicted image generation unit 308.
 インター予測パラメータ復号制御部3031は、分割モード復号部30311、インター予測識別子復号部30312、マージフラグ復号部、マージインデックス復号部、インター予測識別子復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部、ベクトル差分復号部、残差予測インデックス復号部、照度補償フラグ復号部を含んで構成される。分割モード復号部、マージフラグ復号部、マージインデックス復号部、、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部、ベクトル差分復号部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを復号する。 The inter prediction parameter decoding control unit 3031 includes a split mode decoding unit 30311, an inter prediction identifier decoding unit 30312, a merge flag decoding unit, a merge index decoding unit, an inter prediction identifier decoding unit, a reference picture index decoding unit, a vector candidate index decoding unit, A vector difference decoding unit, a residual prediction index decoding unit, and an illuminance compensation flag decoding unit are configured. The partition mode decoding unit, the merge flag decoding unit, the merge index decoding unit, the reference picture index decoding unit, the vector candidate index decoding unit, and the vector difference decoding unit are respectively divided mode part_mode, merge flag merge_flag, merge index merge_idx, and inter prediction identifier. inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, and difference vector mvdLX are decoded.
 インター予測識別子復号部30312は、予測ユニットが、L0予測(PRED_L0)、L0予測(PRED_L1)、双予測(PRED_BI)を示すインター予測識別子inter_pred_flagを復号する。 In the inter prediction identifier decoding unit 30312, the prediction unit decodes an inter prediction identifier inter_pred_flag indicating L0 prediction (PRED_L0), L0 prediction (PRED_L1), and bi-prediction (PRED_BI).
 残差予測インデックス復号部は、エントロピー復号部301を用いて、符号化ユニットCUの分割モードPartMode(part_mode)が2Nx2Nの場合に符号化データから残差予測インデックスiv_res_pred_weight_idxを復号する。それ以外の場合には、残差予測インデックス復号部は、iv_res_pred_weight_idxに0を設定(infer)する。残差予測インデックス復号部は、復号された残差予測インデックスiv_res_pred_weight_idxをマージモードパラメータ導出部3036とインター予測画像生成部309に出力する。残差予測インデックスは、残差予測の動作を変更するためのパラメータである。本実施形態では、残差予測の重みを示すインデックスであり、0、1、2の値をとる。iv_res_pred_weight_idxが0の場合には、残差予測は行わない。なお、インデックスに応じて残差予測の重みを変化させるのではなく、残差予測に用いるベクトルを変化させても良い。なお、残差予測インデックスではなく、残差予測を行うか否かを示すフラグ(残差予測フラグ)としても良い。 The residual prediction index decoding unit uses the entropy decoding unit 301 to decode the residual prediction index iv_res_pred_weight_idx from the encoded data when the division mode PartMode (part_mode) of the encoding unit CU is 2Nx2N. In other cases, the residual prediction index decoding unit sets (infers) 0 to iv_res_pred_weight_idx. 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.
 照度補償フラグ復号部は、エントロピー復号部301を用いて、分割モードPartModeが2Nx2Nの場合に符号化データから照度補償フラグic_flagを復号する。それ以外の場合には、照度補償フラグ復号部は、ic_flagに0を設定(infer)する。照度補償フラグ復号部は、復号された照度補償フラグic_flagをマージモードパラメータ導出部3036とインター予測画像生成部309に出力する。
 以下、予測パラメータ導出に用いる手段である変位ベクトル導出部352、分割フラグ導出部353、デプスDV導出部351を順に説明する。
The illuminance compensation flag decoding unit uses the entropy 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.
Hereinafter, 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.
 (変位ベクトル導出部352)
 変位ベクトル導出部352は、対象PUが属する符号化ユニット(対象CU)の変位ベクトル(以下、MvDisp[x][y]、もしくはmvDisp[x][y]と示す)と参照ピクチャインデックスrefIdxLX、参照ビューインデックスrefViewIdxを、符号化ユニットに空間的もしくは時間的に隣接するブロックから抽出する。概略的には、対象CUに時間的に隣接するブロックCol、時間的に隣接する第2のブロックAltCol、空間的に左に隣接するブロックA1、上に隣接するブロックB1を参照ブロックとして、その参照ブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを順に抽出する。抽出したベクトルmvLXが変位ベクトルである場合には、その隣接ブロックの変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合には、次の隣接ブロックの予測パラメータを読み出し同様に変位ベクトルを導出する。全ての隣接ブロックにおいて変位ベクトルが導出できない場合には、ゼロベクトルを変位ベクトルとして出力する。変位ベクトル導出部352は、また、変位ベクトルを導出したブロックの参照ピクチャインデックス及びビューID(RefViewIdx[x][y]、ここで(xP、yP)は座標)を出力する。
(Displacement vector deriving unit 352)
The displacement vector deriving unit 352 includes a displacement vector (hereinafter referred to as MvDisp [x] [y] or mvDisp [x] [y]) and a reference picture index refIdxLX of the coding unit (target CU) to which the target PU belongs. The view index refViewIdx is extracted from a block that is spatially or temporally adjacent to the coding unit. In general, 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 upper side are used as reference blocks. A block prediction flag predFlagLX, a reference picture index refIdxLX, and a vector mvLX are extracted in order. 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.
 図22は、本実施形態に係る変位ベクトル導出部352の動作を示すフローチャートである。変位ベクトル導出部352は、変位ベクトル利用可能フラグdvAbailableFlagに0を設定し処理を開始する。 FIG. 22 is a flowchart showing the operation of the displacement vector deriving unit 352 according to this embodiment. The displacement vector deriving unit 352 sets the displacement vector availability flag dvAbailableFlag to 0 and starts processing.
 (S1001)変位ベクトル導出部352はテンポラル隣接ブロックから変位ベクトルを導出する。対象CUに時間的に隣接するブロックCol、時間的に隣接する第2のブロックAltColから、変位ベクトルmvDispと参照ビューインデックスrefViewIdxを導出する。時間的に隣接するブロック及び時間的に隣接する第2のブロックAltColから、変位ベクトルが導出された場合には、変位ベクトル利用可能フラグdvAbailableFlagに1を設定し、変位ベクトルが導出されない場合には0を設定する。 (S1001) The displacement vector deriving unit 352 derives a displacement vector from the temporal adjacent block. The displacement vector mvDisp and the reference view index refViewIdx are derived from the block Col temporally adjacent to the target CU and the second block AltCol temporally adjacent. When the displacement vector is derived from the temporally adjacent block and the temporally adjacent second block AltCol, 1 is set to the displacement vector availability flag dvAbailableFlag, and 0 when the displacement vector is not derived. Set.
 (S1002)変位ベクトル利用可能フラグdvAbailableFlagが1の場合、つまり、テンポラル隣接ブロックから変位ベクトルが導出された場合には、変位ベクトル導出部352は処理を終了する。それ以外の場合にはS1003に遷移する。 (S1002) When the displacement vector availability flag dvAbailableFlag is 1, that is, when the displacement vector is derived from the temporally adjacent block, the displacement vector deriving unit 352 ends the process. Otherwise, the process proceeds to S1003.
 (S1003)変位ベクトル導出部352は、内部に備える隣接ブロック変位ベクトル導出部3521により、変位ベクトル及び導出変位ベクトルを導出する。具体的な処理は後述する。 (S1003) The displacement vector deriving unit 352 derives the displacement vector and the derived displacement vector by the adjacent block displacement vector deriving unit 3521 provided therein. Specific processing will be described later.
 (S1004)変位ベクトル利用可能フラグdvAbailableFlagが1の場合、つまり、(S1003)において隣接ブロック変位ベクトル導出部3521から変位ベクトルが導出された場合には、変位ベクトル導出部352は処理を終了する。それ以外の場合にはS1005に遷移する。 (S1004) When the displacement vector availability flag dvAbailableFlag is 1, that is, when the displacement vector is derived from the adjacent block displacement vector deriving unit 3521 in (S1003), the displacement vector deriving unit 352 ends the process. Otherwise, the process proceeds to S1005.
 (S1005)導出変位ベクトル利用可能フラグavailableFlagIvpMvNが1の場合、つまり、S1003)において隣接ブロック変位ベクトル導出部3521から導出変位ベクトルivpMvDispNが導出された場合には、変位ベクトル導出部352は以下の式により、変位ベクトルmvDispに導出変位ベクトルivpMvDispNを設定し、参照ビューインデックスrefViewIdxに、導出参照ビューインデックスrefViewIdxNを設定し処理を終了する。それ以外の場合にはS1006に遷移する。なお、Nは、A1もしくはB1であり、導出変位ベクトルが導出された対象ブロックの隣接ブロックを示す。
mvDisp = ivpMvDispN
refViewIdx = refViewIdxN
dvAvailFlag = 1
 (S1006)変位ベクトル利用可能フラグdvAbailableFlagが1の場合、つまり、隣接ブロック変位ベクトル導出部3521から導出変位ベクトルが導出された場合には、変位ベクトル導出部352は、処理を終了する。それ以外の場合にはS1007に遷移する。(S1007)変位ベクトル導出部352は、内部に備えるデフォルト参照ビューインデックス導出部3522により導出されたデフォルト参照ビューインデックスDefaultRefViewIdxを参照ビューインデックスrefViewIdxに設定し、変位ベクトルmvDispに(0, 0)を設定する。
具体的な処理は後述する。
(S1005) When the derived displacement vector availability flag availableFlagIvpMvN is 1, that is, when the derived displacement vector ivpMvDispN is derived from the adjacent block displacement vector deriving unit 3521 in S1003), the displacement vector deriving unit 352 is expressed by the following equation: Then, the derived displacement vector ivpMvDispN is set in the displacement vector mvDisp, the derived reference view index refViewIdxN is set in the reference view index refViewIdx, and the process is terminated. Otherwise, the process proceeds to S1006. N is A1 or B1, and indicates an adjacent block of the target block from which the derived displacement vector is derived.
mvDisp = ivpMvDispN
refViewIdx = refViewIdxN
dvAvailFlag = 1
(S1006) When the displacement vector availability flag dvAbailableFlag is 1, that is, when the derived displacement vector is derived from the adjacent block displacement vector deriving unit 3521, the displacement vector deriving unit 352 ends the process. Otherwise, the process proceeds to S1007. (S1007) The displacement vector deriving unit 352 sets the default reference view index DefaultRefViewIdx derived by the default reference view index deriving unit 3522 provided therein to the reference view index refViewIdx, and sets (0, 0) to the displacement vector mvDisp. .
Specific processing will be described later.
 (S1008)変位ベクトル導出部352は、対象ピクチャのdepth_refinement_flagが1の場合に、後述するデプスDV導出部352を呼び出し、変位ベクトルmvDispから、デプスリファイン変位ベクトルmvRefinedDispを導出する。 (S1008) When the depth_refinement_flag of the target picture is 1, the displacement vector deriving unit 352 calls a depth DV deriving unit 352 described later, and derives a depth refined displacement vector mvRefinedDisp from the displacement vector mvDisp.
 上記により得られた変位ベクトルは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に出力する。 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. The updated displacement vector is called 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.
 (隣接ブロック変位ベクトル導出部3521)
 図23は、本実施形態に係る隣接変位ベクトル導出部3521の動作を示すフローチャートである。隣接変位ベクトル導出部3521は、対象ブロックに隣接するブロックA1、B1から、変位ベクトルmvDisp及び導出変位ベクトルivpMvDispNを導出する。隣接変位ベクトル導出部3521は、また、参照ビューインデックスrefViewIdx及び導出参照ビューインデックスrefViewIdxNを導出する。
(Adjacent block displacement vector derivation unit 3521)
FIG. 23 is a flowchart showing the operation of the adjacent displacement vector deriving unit 3521 according to this embodiment. The adjacent displacement vector deriving unit 3521 derives the displacement vector mvDisp and the derived displacement vector ivpMvDispN from the blocks A1 and B1 adjacent to the target block. The adjacent displacement vector deriving unit 3521 also derives a reference view index refViewIdx and a derived reference view index refViewIdxN.
 (S1011)隣接変位ベクトル導出部3521は、対象ブロックに隣接するブロックA1、B1をNとして、S1012からS1017を行い、探索する。隣接ブロックNの座標(xN、yN)として、N=A1の場合には、隣接ブロックの左上画素の座標( xCb - 1, yCb + nCbS - 1 )を設定し、N=B1の場合には、隣接ブロックB1の左上画素の座標( xCb + nCbS - 1, yCb - 1 )を設定する。ここで(xCb, yCb)は、対象CUの座標、nCbSは対象CUの幅および高さである。 (S1011) The adjacent displacement vector deriving unit 3521 performs a search by performing S1012 to S1017, assuming that blocks A1 and B1 adjacent to the target block are N. As the coordinates of the adjacent block N (xN, yN), if N = A1, set the coordinates (xCb-1, yCb + nCbS-1) of the upper left pixel of the adjacent block, and if N = B1, The coordinates (xCb + nCbS-1, yCb-1) of the upper left pixel of the adjacent block B1 are set. Here, (xCb, yCb) is the coordinates of the target CU, and nCbS is the width and height of the target CU.
 (S1012)隣接変位ベクトル導出部3521は、隣接ブロックNの座標(xX, yN)の参照ピクチャインデックスRefIdxLX[yN][xN]を参照する。隣接ブロックの参照ピクチャインデックスRefIdxLX[yN][xN]が0以上の場合、すなわち、隣接ブロックNで参照ピクチャリストの参照ピクチャが用いられた場合(隣接ブロックでインター予測がも用いられた場合)、S1013に遷移する。それ以外は、S1017に遷移し、次の隣接ブロックの処理を継続する。 (S1012) The adjacent displacement vector deriving unit 3521 refers to the reference picture index RefIdxLX [yN] [xN] of the coordinates (xX, yN) of the adjacent block N. When the reference picture index RefIdxLX [yN] [xN] of the adjacent block is 0 or more, that is, when the reference picture of the reference picture list is used in the adjacent block N (when inter prediction is also used in the adjacent block), The process proceeds to S1013. Otherwise, the process proceeds to S1017, and the process for the next adjacent block is continued.
 (S1013)隣接変位ベクトル導出部3521は、隣接ブロックNがインタービューを用いてインター予測を行ったインタービューブロックであるかを判別する、インタービューブロックであれば、S1014に遷移し、隣接ブロックの変位ベクトルを設定する。それ以外は、S1015に遷移し、隣接ブロックの導出変位ベクトル導出処理を行う。 (S1013) The adjacent displacement vector deriving unit 3521 determines whether the adjacent block N is an inter-view block that has been inter-predicted using inter-view. If the adjacent block N is an inter-view block, the process proceeds to S1014. Set the displacement vector. Otherwise, the process proceeds to S1015 to perform a derived displacement vector derivation process for adjacent blocks.
 なお、インタービューブロックで有るかの判別は、以下のいずれかの方法を用いることができる。隣接ブロックNの参照ピクチャRefPicListX[ RefIdxLX[ xN ][ yN ] ]のPOCが対象ピクチャのPOCであるPicOrderCntValと等しい場合に、インタービューブロックで有ると判別する。 Note that any of the following methods can be used to determine whether the block is an inter-view block. When the POC of the reference picture RefPicListX [RefIdxLX [xN] [yN]] of the adjacent block N is equal to PicOrderCntVal that is the POC of the target picture, it is determined that the block is an inter-view block.
 PicOrderCnt(RefPicListX[ RefIdxLX[ xN ][ yN ] ])== PicOrderCntVal
 また、インタービューブロックで有るかの判別にビューIDを用いることもできる。すなわち、隣接ブロックNの参照ピクチャRefPicListX[ RefIdxLX[ xN ][ yN ] ]のビューIDが対象ピクチャのビューIDと等しい場合に、インタービューブロックで有ると判別する。
PicOrderCnt (RefPicListX [RefIdxLX [xN] [yN]]) == PicOrderCntVal
The view ID can also be used to determine whether the block is an inter-view block. That is, when the view ID of the reference picture RefPicListX [RefIdxLX [xN] [yN]] of the adjacent block N is equal to the view ID of the target picture, it is determined that the block is an inter-view block.
 ViewOrderId(RefPicListX[ RefIdxLX[ xN ][ yN ] ])== 対象ピクチャのViewOrderId
 また、インタービューブロックで有るかの判別に短期予測であるかを用いることもできる。すなわち、隣接ブロックNの参照ピクチャが短期予測ピクチャでない場合に、インタービューブロックと判定する。
ViewOrderId (RefPicListX [RefIdxLX [xN] [yN]]) == ViewOrderId of the target picture
It is also possible to use the short-term prediction to determine whether the block is an inter-view block. That is, when the reference picture of the adjacent block N is not a short-term prediction picture, it is determined as an inter-view block.
 (S1014)隣接変位ベクトル導出部3521は、隣接ブロックNがインタービューブロックであれば、以下の式により、隣接ブロックの変位ベクトルMvLXN[ xN ][ yN ]を変位ベクトルmvDispとして導出し、隣接ブロックのビューインデックスViewIdx( RefPicListX[ RefIdxLX[ xN ][ yN ] ] )を参照ビューインデックスrefViewIdxとして導出し、変位ベクトル利用フラグdvAvailFlagに1を設定する。
mvDisp = MvLXN[ xN ][ yN ] 
refViewIdx = ViewIdx( RefPicListX[ RefIdxLX[ xN ][ yN ] ] )
dvAvailFlag = 1
 ここで、ViewIdx(X)は、参照ピクチャXのビューインデックスを導出する関数。RefPicListX[ RefIdxLX[ xN ][ yN ] ]は、隣接ブロックxN、yNの参照ピクチャインデックスRefIdxLX[ xN ][ yN ]の指す参照ピクチャリストRefPicListX[]上の参照ピクチャである。
(S1014) If the adjacent block N is an inter-view block, the adjacent displacement vector deriving unit 3521 derives the displacement vector MvLXN [xN] [yN] of the adjacent block as a displacement vector mvDisp by the following formula, The view index ViewIdx (RefPicListX [RefIdxLX [xN] [yN]]) is derived as the reference view index refViewIdx, and 1 is set to the displacement vector utilization flag dvAvailFlag.
mvDisp = MvLXN [xN] [yN]
refViewIdx = ViewIdx (RefPicListX [RefIdxLX [xN] [yN]])
dvAvailFlag = 1
Here, ViewIdx (X) is a function for deriving the view index of the reference picture X. RefPicListX [RefIdxLX [xN] [yN]] is a reference picture on the reference picture list RefPicListX [] pointed to by the reference picture index RefIdxLX [xN] [yN] of adjacent blocks xN and yN.
 (S1015)隣接変位ベクトル導出部3521は、隣接ブロックNがマージモードによる予測が行われたブロックであれば、S1016に遷移し、導出変位ベクトルを導出する。それ以外は、S1017に遷移し、次の隣接ブロックの処理を継続する。なお、隣接変位ベクトル導出部3521は、隣接ブロックNがマージモードによる予測が行われたブロックであるかは以下の何れかの条件が真であるかによって判別する。 
CuPredMode[ xN ][ xN ] == MODE_SKIP
CuPredMode[ xN ][ xN ] == MODE_INTER && merge_flag[ xN ][ xN ] == 1
 すなわち、隣接変位ベクトル導出部3521は、隣接ブロックNの予測モードCuPredMode[ xN ][ xN ]が、スキップモードを示すMODE_SKIPであるか、隣接ブロックNの予測モードCuPredMode[ xN ][ xN ]がインターモードMODE_INTERかつマージフラグmerge_flag[ xN][ xN ]が1であれば、マージ予測が行われたと判別し、隣接ブロックNから導出変位ベ
クトルを導出する。
ivpMvDispN = MvRefinedDisp[ xN ][ yN ]
refViewIdxN = RefViewIdx[ xN ][ yN ]
availableFlagIvpMvN = 1
 すなわち、隣接変位ベクトル導出部3521は、導出変位ベクトルivpMvDispNに、隣接ブロックNの変位ベクトルMvRefinedDisp[ xN ][ yN ]を設定し、導出参照ビューインデックスrefViewIdxNに隣接ブロックNの参照ビューインデックスRefViewIdx[ xN ][ yN ]を設定し、導出ベクトル利用可能フラグavailableFlagIvpMvNに1を設定する。
(S1015) If the adjacent block N is a block for which prediction by merge mode has been performed, the adjacent displacement vector deriving unit 3521 proceeds to S1016 and derives a derived displacement vector. Otherwise, the process proceeds to S1017, and the process for the next adjacent block is continued. Note that the adjacent displacement vector deriving unit 3521 determines whether the adjacent block N is a block that has been predicted in the merge mode depending on whether any of the following conditions is true.
CuPredMode [xN] [xN] == MODE_SKIP
CuPredMode [xN] [xN] == MODE_INTER && merge_flag [xN] [xN] == 1
That is, the adjacent displacement vector deriving unit 3521 determines that the prediction mode CuPredMode [xN] [xN] of the adjacent block N is MODE_SKIP indicating the skip mode, or the prediction mode CuPredMode [xN] [xN] of the adjacent block N is the inter mode. If MODE_INTER and the merge flag merge_flag [xN] [xN] are 1, it is determined that merge prediction has been performed, and a derived displacement vector is derived from the adjacent block N.
ivpMvDispN = MvRefinedDisp [xN] [yN]
refViewIdxN = RefViewIdx [xN] [yN]
availableFlagIvpMvN = 1
That is, the adjacent displacement vector deriving unit 3521 sets the displacement vector MvRefinedDisp [xN] [yN] of the adjacent block N to the derived displacement vector ivpMvDispN, and the reference view index RefViewIdx [xN] of the adjacent block N to the derived reference view index refViewIdxN [yN] is set, and the derived vector available flag availableFlagIvpMvN is set to 1.
 (S1017)隣接変位ベクトル導出部3521は、隣接ブロックNに関するループ処理を行う。具体的には、N=A1であればN=B1と設定して、次の隣接ブロックB1の処理を継続し、N=B1であれば全ての隣接ブロックを処理したため処理を終了する。 (S1017) The adjacent displacement vector deriving unit 3521 performs a loop process on the adjacent block N. Specifically, if N = A1, N = B1 is set, and the processing of the next adjacent block B1 is continued. If N = B1, all the adjacent blocks have been processed, and the processing ends.
 以上の構成の隣接ブロック変位ベクトル導出部3521(変位ベクトル導出部352)は空間的に隣接するブロックを順に探索して、前記隣接するブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置である。 The adjacent block displacement vector deriving unit 3521 (displacement vector deriving unit 352) having the above configuration sequentially searches for spatially adjacent blocks. If the adjacent block is an inter-view block, the displacement vector is targeted. A displacement vector deriving device that outputs a displacement vector of a block and derives a derived vector otherwise.
 また、隣接ブロック変位ベクトル導出部3521は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが1の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定する。 Also, the adjacent block displacement vector deriving unit 3521 sets the displacement vector of the adjacent block as the derived vector when the mode of the adjacent block is the skip mode or when the adjacent mode is the inter mode and the merge flag is 1.
 上記構成の隣接ブロック変位ベクトル導出部3521は、マージ候補リストのうちの1つを選択して予測パラメータとして用いるモードが、スキップモードの場合と、インターモードとマージフラグが1である場合である場合において、先の2つの場合を区別する必要がないため、実装が容易にあるという効果を奏する。 When the adjacent block displacement vector deriving unit 3521 configured as described above selects one of the merge candidate lists and uses it as a prediction parameter when the mode is the skip mode or when the inter mode and the merge flag are 1. However, since it is not necessary to distinguish the previous two cases, there is an effect that the mounting is easy.
 (デフォルト参照ビューインデックス導出部3522)
 以下、時間隣接ブロックの変位ベクトルも、空間隣接ブロックの変位ベクトルおよび導出変位ベクトルが利用可能でない場合に変位ベクトル導出部352で用いられるデフォルト参照ビューインデックスDefaultRefViewIdxの導出方法を説明する。
(Default reference view index deriving unit 3522)
Hereinafter, a method for deriving the default reference view index DefaultRefViewIdx used in the displacement vector deriving unit 352 when the displacement vector of the temporally adjacent block and the displacement vector of the spatially adjacent block and the derived displacement vector are not available will be described.
 図24は、デフォルト参照ビューインデックス導出部3522の動作を示すフローチャートである。 FIG. 24 is a flowchart showing the operation of the default reference view index deriving unit 3522.
 (S2001)デフォルト参照ビューインデックス導出部3522は、参照リストX=0、1に対して、S2002からS2006の処理を行う。デフォルト参照ビューインデックス利用フラグDefaultRefViewIdxAvailableFlagに0を設定する。 (S2001) The default reference view index deriving unit 3522 performs the processing from S2002 to S2006 on the reference list X = 0, 1. Set the default reference view index usage flag DefaultRefViewIdxAvailableFlag to 0.
 (S2002)デフォルト参照ビューインデックス導出部3522は、Xで示される参照ピクチャリストRefPicListXに対して、0から参照ピクチャ数NumRefPicsLX-1のインデックスiに対して、S2003からS2005の処理を行う。 (S2002) The default reference view index deriving unit 3522 performs the processing from S2003 to S2005 on the reference picture list RefPicListX indicated by X with respect to the index i of the reference picture number NumRefPicsLX-1 from 0.
 (S2003)デフォルト参照ビューインデックス導出部3522は、DefaultRefViewIdxAvailableFlag==0かつ参照ピクチャのビューID!=対象ピクチャのビューIDかつ参照ピクチャのPOC==対象ピクチャのPOCの場合に、S2004に遷移し、参照ピクチャRefPicListX[i]のビューインデックスをデフォルトビューインデックスに設定する。それ以外の場合には、S2005に遷移し、処理を継続する。 (S2003) If DefaultRefViewIdxAvailableFlag == 0 and the view ID of the reference picture! = The view ID of the target picture and the POC of the reference picture == the POC of the target picture, the default reference view index deriving unit 3522 makes a transition to S2004 and references Set the view index of the picture RefPicListX [i] to the default view index. Otherwise, the process proceeds to S2005 and the process is continued.
 (S2004)デフォルト参照ビューインデックス導出部3522は、DefaultRefViewIdxに参照ピクチャRefPicListX[i]のビューインデックスを設定し、DefaultRefViewIdxAvailableFlagに1を設定する。 (S2004) The default reference view index deriving unit 3522 sets the view index of the reference picture RefPicListX [i] in DefaultRefViewIdx, and sets 1 in DefaultRefViewIdxAvailableFlag.
 (S2005)デフォルト参照ビューインデックス導出部3522は、iを1だけインクリメントし、参照ピクチャRefPicListX[i]に関する処理を継続する。なお、DefaultRefViewIdxAvailableFlag=1となった時点で処理を終了しても良い。 (S2005) The default reference view index deriving unit 3522 increments i by 1, and continues the processing related to the reference picture RefPicListX [i]. Note that the processing may be terminated when DefaultRefViewIdxAvailableFlag = 1.
 (S2006)デフォルト参照ビューインデックス導出部3522は、スライスがPスライスの場合には処理を終了する。スライスがBスライスの場合には、X=1にインクリメントして処理を継続する。X=2となった場合には処理を終了する。 (S2006) If the slice is a P slice, the default reference view index deriving unit 3522 ends the process. If the slice is a B slice, X = 1 is incremented and processing continues. If X = 2, the process ends.
 X=0、1で指定される参照ピクチャリストLXの0から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのPOCが対象ピクチャのPOCと等しい場合に、デフォルト参照ビューインデックスを、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定する。 Reference pictures from 0 to the reference picture number NumRefPicsLX-1 in the reference picture list LX specified by X = 0, 1 are searched in order, and the view index of the reference picture is different from the view index of the target picture, and When the POC is equal to the POC of the target picture, the default reference view index is set as the default reference view index.
 デフォルト参照ビューインデックス導出部3522の上記処理は、以下のようにも表現できる。 The above processing of the default reference view index deriving unit 3522 can be expressed as follows.
 X=0、1に対して以下を実行する。 Execute the following for X = 0, 1.
 Xが0である場合、もしくは、対象スライスがBスライスである場合には、0からNumRefPicsLX-1までのiに対して以下を実行する。 If X is 0 or the target slice is a B slice, execute the following for i from 0 to NumRefPicsLX-1.
 次の全ての条件が真の場合に、DefaultRefViewIdxにRefPicListX[ i ]のビューインデックス、DefaultRefViewIdxAvailableFlagに1を設定する。 [If all the following conditions are true, set the view index of RefPicListX [i] to DefaultRefViewIdx and set 1 to DefaultRefViewIdxAvailableFlag.
 DefaultRefViewIdxAvailableFlagが1に等しい。 DefaultRefViewIdxAvailableFlag is equal to 1.
 ViewIdx( RefPicListX[ i ] )が対象ピクチャのビューインデックスに等しくない
 RefPicListX[ i ]のPOCであるPicOrderCnt( RefPicListX[ i ] )が対象ピクチャのPOCであるPicOrderCntValと等しい。
ViewIdx (RefPicListX [i]) is not equal to the view index of the target picture. PicOrderCnt (RefPicListX [i]), which is the POC of RefPicListX [i], is equal to PicOrderCntVal, which is the POC of the target picture.
 以上の構成のデフォルト参照ビューインデックス導出部3522によれば、参照ピクチャリストを一度探索することで、デフォルト参照ビューインデックスを導出することができるため、複数回探索が必要になる従来方式に比べ、デフォルト参照ビューインデックスの導出が容易になるという効果を奏する。 According to the default reference view index deriving unit 3522 configured as described above, the default reference view index can be derived by searching the reference picture list once. There is an effect that derivation of the reference view index becomes easy.
 また、以上の構成のデフォルト参照ビューインデックス導出部3522によれば、対象ピクチャと異なるビューIDを有し、かつ、対象ピクチャと等しいPOCを有する、参照ピクチャを、参照ピクチャリストの先頭から順に探索し、最初に見つけた参照ピクチャのビューインデックスを用いる。この構成によれば、より符号化効率上好適となる参照ピクチャのビューインデックスをデフォルトビューインデックスとして用いることができる効果を奏する。通常、参照ピクチャの先頭近くに格納される参照ピクチャほど、対象ピクチャの予測に有効なことが多いため、先頭近くに格納される参照ピクチャを優先して選択する本構成のデフォルト参照ビューインデックス導出部3522は、デフォルトビューインデックスとして、最も符号化効率上有効な対象ピクチャと異なる視点のビューインデックスを導出可能である。 Further, according to the default reference view index deriving unit 3522 having the above configuration, reference pictures having a view ID different from the target picture and having a POC equal to the target picture are searched in order from the top of the reference picture list. The view index of the first reference picture found is used. According to this configuration, there is an effect that a view index of a reference picture that is more suitable for encoding efficiency can be used as a default view index. Normally, the reference picture stored near the beginning of the reference picture is often more effective for prediction of the target picture, so the default reference view index derivation unit of this configuration that preferentially selects the reference picture stored near the beginning 3522 can derive a view index of a viewpoint different from the target picture that is most effective in encoding efficiency as a default view index.
 (デフォルト参照ビューインデックス導出部3522´)
 なお、デフォルト参照ビューインデックス導出部3522の変形例として、デフォルト参照ビューインデックス導出部3522は、S2003の代わりに、次のS2003´の処理を行っても良い(デフォルト参照ビューインデックス導出部3522´と呼ぶ)。
(Default reference view index deriving unit 3522 ′)
As a modified example of the default reference view index deriving unit 3522, the default reference view index deriving unit 3522 may perform the following processing in S2003 ′ instead of S2003 (referred to as a default reference view index deriving unit 3522 ′). ).
 (S2003´)デフォルト参照ビューインデックス導出部3522は、DefaultRefViewIdxAvailableFlag==0かつ参照ピクチャのビューID!=対象ピクチャのビューIDの場合に、SS2004に遷移し、参照ピクチャRefPicListX[i]のビューインデックスをデフォルトビューインデックスに設定する。それ以外の場合には、S2005に遷移し、処理を継続する。 (S2003 ′) If DefaultRefViewIdxAvailableFlag == 0 and the view ID of the reference picture! = The view ID of the target picture, the default reference view index deriving unit 3522 transitions to SS2004, and defaults the view index of the reference picture RefPicListX [i]. Set to view index. Otherwise, the process proceeds to S2005 and the process is continued.
 つまり、デフォルト参照ビューインデックス導出部3522´はデフォルト参照ビューインデックス導出部3522と比べると、参照ピクチャのPOCに関する判定を省略可能している。参照ピクチャのビューID!=対象ピクチャのビューIDを満たす参照ピクチャは、対象ピクチャと同じPOCを有する場合しかないため、参照ピクチャのビューID!=対象ピクチャのビューIDの判定のみで良いと考えられるためである。 That is, the default reference view index deriving unit 3522 ′ can omit the determination regarding the POC of the reference picture, compared to the default reference view index deriving unit 3522. Since the reference picture satisfying the view ID of the reference picture! = The target picture has only the same POC as the target picture, it is considered that only the view ID of the reference picture! = Determination of the view ID of the target picture is sufficient. Because.
 上記構成のデフォルト参照ビューインデックス導出部3522´は、対象ピクチャと異なるビューIDを有する、参照ピクチャを、参照ピクチャリストの先頭から順に探索し、最初に見つけた参照ピクチャのビューインデックスを用いる。この構成によれば、より符号化効率上好適となる参照ピクチャのビューインデックスをデフォルトビューインデックスとして用いることができる効果を奏する。 The default reference view index deriving unit 3522 ′ configured as described above searches for a reference picture having a view ID different from that of the target picture in order from the top of the reference picture list, and uses the view index of the reference picture found first. According to this configuration, there is an effect that a view index of a reference picture that is more suitable for encoding efficiency can be used as a default view index.
 (デフォルト参照ビューインデックス導出部3522´´)
 まお、デフォルト参照ビューインデックス導出部3522は、S2003の代わりに、次のS2003´´の処理を行っても良い(デフォルト参照ビューインデックス導出部3522´と呼ぶ)。
(Default reference view index deriving unit 3522 ″)
Incidentally, the default reference view index deriving unit 3522 may perform the processing of the next S2003 ″ instead of S2003 (referred to as a default reference view index deriving unit 3522 ′).
 (S2003´´)デフォルト参照ビューインデックス導出部3522は、DefaultRefViewIdxAvailableFlag==0かつ参照ピクチャのPOC==対象ピクチャのPOCの場合に、S2004に遷移し、参照ピクチャRefPicListX[i]のビューインデックスをデフォルトビューインデックスに設定する。それ以外の場合には、S2005に遷移し、処理を継続する。 (S2003 ″) The default reference view index deriving unit 3522 transitions to S2004 when DefaultRefViewIdxAvailableFlag == 0 and POC of the reference picture == POC of the target picture, and sets the view index of the reference picture RefPicListX [i] as the default view. Set to index. Otherwise, the process proceeds to S2005 and the process is continued.
 つまり、デフォルト参照ビューインデックス導出部3522´´はデフォルト参照ビューインデックス導出部3522と比べると、参照ピクチャのビューIDに関する判定を省略可能している。参照ピクチャのPOC==対象ピクチャのPOCを満たす参照ピクチャは、対象ピクチャと異なるビューIDを有する場合しかないため、参照ピクチャのPOC==対象ピクチャのPOの判定のみで良いと考えられるためである。 That is, the default reference view index deriving unit 3522 ″ can omit the determination regarding the view ID of the reference picture as compared with the default reference view index deriving unit 3522. This is because the reference picture satisfying the POC of the reference picture == the POC of the target picture can only have a view ID different from that of the target picture, so that it is considered that only the POC of the reference picture == PO determination of the target picture is sufficient. .
 上記構成のデフォルト参照ビューインデックス導出部3522´´によれば、対象ピクチャと等しいPOCを有する、参照ピクチャを、参照ピクチャリストの先頭から順に探索し、最初に見つけた参照ピクチャのビューインデックスを用いる。この構成によれば、より符号化効率上好適となる参照ピクチャのビューインデックスをデフォルトビューインデックスとして用いることができる効果を奏する。 According to the default reference view index deriving unit 3522 ″ having the above configuration, reference pictures having a POC equal to the target picture are searched in order from the top of the reference picture list, and the view index of the reference picture that is found first is used. According to this configuration, there is an effect that a view index of a reference picture that is more suitable for encoding efficiency can be used as a default view index.
 (比較例のデフォルト参照ビューインデックス導出装置)
 比較例のデフォルト参照ビューインデックス導出部では、デフォルト参照ビューインデックスの導出処理は、以下となる。
(Default reference view index derivation device of comparative example)
In the default reference view index deriving unit of the comparative example, the default reference view index deriving process is as follows.
 0から対象ビューID-1までのcurViewIdxに対して、以下を実行する。 Execute the following for curViewIdx from 0 to the target view ID-1.
 X=0、1に対して以下を実行する。 Execute the following for X = 0, 1.
 Xが0である場合、もしくは、対象スライスがBスライスである場合には、0からNumRefPicsLX-1までのiに対して以下を実行する。 If X is 0 or the target slice is a B slice, execute the following for i from 0 to NumRefPicsLX-1.
 次の全ての条件が真の場合に、DefaultRefViewIdxにRefPicListX[ i ]のビューインデックス、DefaultRefViewIdxAvailableFlagに1を設定する。 [If all the following conditions are true, set the view index of RefPicListX [i] to DefaultRefViewIdx and set 1 to DefaultRefViewIdxAvailableFlag.
 DefaultRefViewIdxAvailableFlagが1に等しい。 DefaultRefViewIdxAvailableFlag is equal to 1.
 ViewIdx( RefPicListX[ i ] )がcurViewIdxに等しい。 * ViewIdx (RefPicListX [i]) is equal to curViewIdx.
 RefPicListX[ i ]のPOCであるPicOrderCnt( RefPicListX[ i ] )が対象ピクチャのPOCであるPicOrderCntValと等しい。 RefPicOrderCnt (RefPicListX [i]), which is the POC of RefPicListX [i], is equal to PicOrderCntVal, which is the POC of the target picture.
 比較例のデフォルト参照ビューインデックス導出部は、本実施形態のデフォルト参照ビューインデックス導出部3522と異なり、curViewIdxに関するループがあるために処理が重くなる。また、本実施形態のように参照ピクチャリストの先頭に近いビューIDを優先して選択するのではなく、比較例では0に近いビューIDを優先して選択するため、符号化効率が高くならない課題がある。 The default reference view index derivation unit of the comparative example is different from the default reference view index derivation unit 3522 of the present embodiment, and processing is heavy because there is a loop related to curViewIdx. Also, since the view ID close to the top of the reference picture list is preferentially selected as in the present embodiment, the view ID close to 0 is preferentially selected in the comparative example, so that the coding efficiency does not increase. There is.
 (分割フラグ導出部353)
 分割フラグ導出部353は、対象ブロックに対応するデプス画像を参照し、分割フラグhorSplitFlagを導出する。分割フラグ導出部353の入力として設定される対象ブロックの座標を(xP, yP)、幅と高さをnPSW、nPSH、変位ベクトルをmvDispであるとして以下、説明する。分割フラグ導出部353は、対象ブロックの幅と高さが等しい場合にはデプス画像を参照するが、対象ブロックの幅と高さが等しくない場合には、デプス画像を参照せずに、分割フラグhorSplitFlagを導出するを導出しても良い。以下、分割フラグ導出部353の詳細を説明する。
(Division flag deriving unit 353)
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.
 分割フラグ導出部353は、参照ピクチャメモリ306から、復号対象ピクチャと同一POCを持ち、なお且つ、変位ベクトルmvDispが示す参照ピクチャのビューID(RefViewIdx)と同じビューIDであるデプス画像refDepPelsを読み出す。 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.
 次に、分割フラグ導出部353は、対象ブロックの左上の座標(xP、yP)を変位ベクトルMvDispだけずらした座標(xTL, yTL)を、以下の式により導出する。 Next, 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 ]、mvDisp[ 1 ]は、それぞれ変位ベクトルMvDispのX成分とY成分である。導出する座標(xTL, yTL)は、デプス画像refDepPels上の対象ブロックに対応するブロックの座標を示すものである。
xTL = xP + ((mvDisp [0] + 2) >> 2)
yTL = yP + ((mvDisp [1] + 2) >> 2)
Here, 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.
 分割フラグ導出部353は、対象ブロックの幅nPSWもしくは高さnPSHが8の倍数以外の場合に、以下の式によりフラグminSubBlkSizeFlagを1に設定する。 The division flag deriving unit 353 sets the flag minSubBlkSizeFlag to 1 according to the following expression when the width nPSW or the height nPSH of the target block is other than a multiple of 8.
 minSubBlkSizeFlag = ( nPSW % 8 != 0) | | ( nPSH % 8 != 0 )
 分割フラグ導出部353は、フラグminSubBlkSizeFlagが1の場合、以下の式により、対象ブロックの高さが8の倍数以外の場合(nPSH % 8が真の場合)には、horSplitFlagに1、それ以外の場合には、0を設定する。
minSubBlkSizeFlag = (nPSW% 8! = 0) | | (nPSH% 8! = 0)
When the flag minSubBlkSizeFlag is 1, 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 = ( nPSH % 8 ! = 0 )
 すなわち、対象ブロックの高さが8の倍数以外の場合(nPSH % 8が真の場合)には、horSplitFlagに1、対象ブロックの幅が8の倍数以外の場合(nPSW % 8が真の場合)には、horSplitFlagに0が設定される。
horSplitFlag = (nPSH% 8! = 0)
In other words, when the target block height is not a multiple of 8 (when nPSH% 8 is true), horSplitFlag is 1, and when the target block width is other than a multiple of 8 (when nPSW% 8 is true) Is set to 0 in horSplitFlag.
 分割フラグ導出部353は、デプス値からサブブロックサイズを導出する。予測ブロックのコーナーの4点(TL、TR、BL、BR)の比較から、サブブロックサイズを導出する。フラグminSubBlkSizeFlagが0の場合、対象ブロックの左上端(TL)の座標のデプス画像の画素値をrefDepPelsP0、右上端(TR)の画素値をrefDepPelsP1、左下端(BL)の画素値をrefDepPelsP2、右下端(BR)の画素値をrefDepPelsP3とした場合、
  horSplitFlag=( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )
の条件式(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. When 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 When the pixel value of (BR) is refDepPelsP3,
horSplitFlag = (refDepPelsP0> refDepPelsP3) == (refDepPelsP1> refDepPelsP2)
It is determined whether the conditional expression (horSplitFlag) is satisfied.
 なお、horSplitFlagの導出には、符号を変更した以下の式を用いても良い。 It should be noted that the following expression with the sign changed may be used to derive horSplitFlag.
  horSplitFlag=( refDepPelsP0 < refDepPelsP3 ) == ( refDepPelsP1 < refDepPelsP2 )
 分割フラグ導出部353は、horSplitFlagを、VSP予測部30374に出力する。
horSplitFlag = (refDepPelsP0 <refDepPelsP3) == (refDepPelsP1 <refDepPelsP2)
The split flag derivation unit 353 outputs horSplitFlag to the VSP prediction unit 30374.
 なお、分割フラグ導出部353は、以下のように導出しても良い。対象ブロックの幅nPSWと高さnPSHが異なる場合には、対象ブロックの幅と高さに応じて以下の式により導出する。 Note that 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.
 nPSW > nPSHであれば、horSplitFlag=1
 それ以外でnPSH > nPSWであれば、horSplitFlag=0
それ以外、対象ブロックの幅と高さが等しい場合にはデプスを参照して以下の式に応じて導出する。
If nPSW> nPSH, horSplitFlag = 1
Otherwise, if nPSH> nPSW, horSplitFlag = 0
Otherwise, when the width and height of the target block are equal, the depth is referred to and derived according to the following formula.
  horSplitFlag=( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )
 なお、分割フラグ導出部353の対象ブロックは、視点合成予測の場合には予測ユニットである。
horSplitFlag = (refDepPelsP0> refDepPelsP3) == (refDepPelsP1> refDepPelsP2)
Note that the target block of the division flag deriving unit 353 is a prediction unit in the case of viewpoint synthesis prediction.
  (デプスDV導出部351)
 デプスDV導出部351は、指定されたブロック単位(サブブロック)で、デプス由来の変位ベクトルの水平成分である変位配列disparitySamples(水平ベクトル)を導出する。デプスDV導出部351の入力は、デプスDV変換テーブルDepthToDisparityB、ブロックの幅nBlkWと高さnBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、デプス画像refDepPels上の対応ブロックの座標(xTL, yTL)と、ビューIDrefViewIdx、出力は変位配列disparitySamples(水平ベクトル)である。
(Depth DV deriving unit 351)
The depth DV deriving unit 351 derives displacement 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 displacement array disparitySamples (horizontal vector).
 デプスDV導出部351の変位配列導出処理は、視差合成予測であるか否かにより切り替える。ここでは、パラメータpartIdxにより動作を切り替え、partIdx==2を視差合成予測とする。 The displacement array deriving process of the depth DV deriving unit 351 is switched depending on whether or not the parallax synthesis prediction is performed. Here, the operation is switched by the parameter partIdx, and partIdx == 2 is set as the parallax synthesis prediction.
 デプスDV導出部351は、対象ブロックごとにデプス代表値maxDep導出に用いる画素を設定する。具体的には、図13に示すように、対象ブロックの左上の予測ブロック(xTL, yTL)からの相対座標を(xSubB、ySubB)とした場合、サブブロックの左端のX座標xP0と、右端のX座標xP1と、上端のY座標yP0と、下端のY座標yP1を、以下の式より求める。 The depth DV deriving unit 351 sets a pixel used for deriving the depth representative value maxDep for each target block. Specifically, as shown in FIG. 13, when the relative coordinates from the upper left prediction block (xTL, yTL) of the target block are (xSubB, ySubB), the X coordinate xP0 of the left end of the sub block and the right end The X coordinate xP1, the upper end Y coordinate yP0, and the lower end Y coordinate yP1 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 + nSubBlkW - 1 )
  yP1 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB + nSubBlkH - 1 )
 ここで、pic_width_in_luma_samplesとpic_height_in_luma_samplesは、それぞれ画像の幅と高さを表す。
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 + nSubBlkW-1)
yP1 = Clip3 (0, pic_height_in_luma_samples-1, yTL + ySubB + nSubBlkH-1)
Here, pic_width_in_luma_samples and pic_height_in_luma_samples represent the width and height of the image, respectively.
 次に、デプスDV導出部351は、内部の変位配列導出部(変位配列導出装置)において、対象ブロックのデプスの代表値maxDepを導出する。図18は、本実施形態に係る視差合成予測の場合のデプスDV導出部351の動作を示す図である。デプスDV導出部351は、視差合成予測(VSPマージ候補)の場合(例えばpartIdx==2の場合)、図18に示す水平方向の2点のデプス値を利用して、代表デプス値を導出する。すなわち、デプスDV導出部351は、対象予測ユニットの左上座標が(xTL、yTL)、サブブロック左上座標が(xSubB、ySubB)、サブブロックの幅、高さがnSubBlkW、nSubBlkHの場合に、Y座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、X座標がサブブロックの左端xTL+xSubBである第1の点、および、Y座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、X座標がサブブロックの右端xTL+xSubB+ nSubBlkB-1である第2の点の座標を導出する。 Next, the depth DV deriving unit 351 derives the representative value maxDep of the depth of the target block in the internal displacement array deriving unit (displacement array deriving device). FIG. 18 is a diagram illustrating an operation of the depth DV deriving unit 351 in the case of disparity synthesis prediction according to the present embodiment. In the case of disparity synthesis prediction (VSP merge candidate) (for example, when partIdx == 2), the depth DV deriving unit 351 derives a representative depth value using the depth values of two points in the horizontal direction illustrated in FIG. . That is, the depth DV deriving unit 351 determines the Y coordinate when the upper left coordinate of the target prediction unit is (xTL, yTL), the upper left coordinate of the subblock is (xSubB, ySubB), and the width and height of the subblock are nSubBlkW, nSubBlkH. Is the center of the sub-block yTL + ySubB + あ る nSubBlkH / 2-1, the first point whose X-coordinate is the left end xTL + xSubB of the sub-block, and yTL + ySubB + nSubBlkH / 2 whose Y-coordinate is the center of the sub-block -1 and the coordinates of the second point whose X coordinate is the right end xTL + xSubB + nSubBlkB-1 of the sub-block are derived.
 まず、デプスDV導出部351は、以下の式により2点の座標を導出する。
xP0 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB )
xP1 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB + nSubBlkW - 1 )
yP0 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB + nSubBlkH/2 - 1 ) 
 続いて、デプスDV導出部351は、サブブロックの以下の2点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値から代表デプス値maxDepを、以下の式より導出する。
maxDep = Max(refDepPels[ xP0 ][ yP0 ], refDepPels[ xP1 ][ yP0 ] )
 デプスDV導出部351は、視差合成予測以外の場合(例えばpartIdx!=2の場合)には、サブブロックのコーナー4点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP0 ][ yP1 ]、refDepPels[ xP1 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値である代表デプス値maxDepを、以下の式より導出する。
First, the depth DV deriving unit 351 derives the coordinates of two points by the following formula.
xP0 = Clip3 (0, pic_width_in_luma_samples-1, xTL + xSubB)
xP1 = Clip3 (0, pic_width_in_luma_samples-1, xTL + xSubB + nSubBlkW-1)
yP0 = Clip3 (0, pic_height_in_luma_samples-1, yTL + ySubB + nSubBlkH / 2-1)
Subsequently, the depth DV deriving unit 351 calculates the representative depth value maxDep from the maximum values of the pixel values refDepPels [xP0] [yP0] and refDepPels [xP1] [yP1] of the following two depth images of the sub-block, Derived from the equation.
maxDep = Max (refDepPels [xP0] [yP0], refDepPels [xP1] [yP0])
The depth DV deriving unit 351, except for the disparity synthesis prediction (for example, when partIdx! = 2), the pixel values refDepPels [xP0] [yP0] and refDepPels [xP0] [xP0] [ The representative depth value maxDep, which is the maximum value of yP1], refDepPels [xP1] [yP0], refDepPels [xP1] [yP1], is derived from the following equation.
  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を返す関数である。
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])
Here, 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.
 デプスDV導出部351は、代表デプス値maxDepとデプスDV変換テーブルDepthToDisparityBと、変位ベクトル(NBDV)が示すレイヤのビューIDrefViewIdxを用いて、デプス由来の変位ベクトルの水平成分である変位配列disparitySamplesを、対象ブロック内の画素(x、y)(xは0からnBlkW-1、yは0からnBlkH-1の値を取る)ごとに、以下の式により導出する。 The depth DV deriving unit 351 uses the representative depth value maxDep, the depth DV conversion table DepthToDisparityB, and the view IDrefViewIdx of the layer indicated by the displacement vector (NBDV) to target the displacement 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.
  disparitySamples[x][y] = DepthToDisparityB[refViewIdx][maxDep]・・(式A)
 デプスDV導出部351は、導出した変位配列disparitySamples[]を変位ベクトルDoNBDV(の水平成分)として、変位ベクトル導出部352に出力する。デプスDV導出部351は、また、VSP予測部30374に変位ベクトル(の水平成分)として出力する。
disparitySamples [x] [y] = DepthToDisparityB [refViewIdx] [maxDep] ... (Formula A)
The depth DV deriving unit 351 outputs the derived displacement array disparitySamples [] to the displacement vector deriving unit 352 as the displacement vector DoNBDV (horizontal component thereof). The depth DV deriving unit 351 also outputs the displacement vector (the horizontal component thereof) to the VSP prediction unit 30374.
 以上の構成のデプスDV導出部351によれば、視点合成予測モードの場合に、水平に位置する2つの点のみを用いるため、デプス画素のアクセス数と代表デプス値の演算量が小さいという効果を奏する。 According to the depth DV deriving unit 351 having the above-described configuration, only two points located horizontally are used in the view synthesis prediction mode, so that the number of depth pixel accesses and the calculation amount of the representative depth value are small. Play.
 また、以下のロジックにより、以上の構成のデプスDV導出部351によれば、視差合成予測(VSPマージモード)の場合に、水平に位置する2つの点のみを用いるため、符号化効率が向上するという効果を奏する。通常、あるブロック(サブブロック)において、1つのデプス値ではなく複数のデプス値を参照することにより、よりロバストな代表デプス値が導出可能である。そのため従来技術では、ロバスト性を重視して、サブブロック単位で4点のデプス値を参照し代表デプス値を導出していた。しかしながら、サブブロックのコーナーに位置する4つのデプス値は、隣接するサブブロックのデプス値と近いという傾向を有することから多くの点を参照する方法は、サブブロック単位で異なるデプス代表値からサブブロック単位で異なる視差ベクトルを導出して利用しうるという視点合成予測の効果を減じている。視点合成予測では水平方向のみに変位ベクトルが発生し、垂直方向では変位ベクトルが0である場合に最大の効果を発揮する。視差合成予測で代表デプス値の導出に用いるサブブロック(デプスブロック)は、対象ブロックに対して変位ベクトル分だけずれた位置にあり、変位ベクトルの誤差も、代表デプス値を導出する際のデプス参照のロバスト性に関連する。視差合成予測では、基本的に変位ベクトルの垂直成分が0であることから、デプスブロックの垂直位置に真の変位からのずれが生じることはない。逆に水平成分については真の変位からのずれが発生する可能性がある。以上の構成のデプスDV導出部351によれば、すれが発生する可能性がある水平成分については複数の位置(xP0、xP1)を用い、ずれが発生する可能性がほぼ無い垂直成分については一つの位置(yP0)を用いることにより、導出される代表デプス値のロバスト性を保ちながら、参照するデプス値の数を4個から2個に減らすことで、よりサブブロックの特徴を活かした代表デプス値が導出される。 Also, with the following logic, according to the depth DV deriving unit 351 having the above configuration, in the case of disparity synthesis prediction (VSP merge mode), only two points located horizontally are used, so that encoding efficiency is improved. There is an effect. Normally, a more robust representative depth value can be derived by referring to a plurality of depth values instead of one depth value in a certain block (sub-block). Therefore, in the prior art, with emphasis on robustness, representative depth values are derived by referring to the depth values of four points in subblock units. However, since the four depth values located at the corners of the sub-blocks tend to be close to the depth values of the adjacent sub-blocks, the method of referring to many points is based on the depth representative values that are different for each sub-block. This reduces the effect of viewpoint synthesis prediction that different parallax vectors can be derived and used in units. In view synthesis prediction, a displacement vector is generated only in the horizontal direction, and the maximum effect is exhibited when the displacement vector is 0 in the vertical direction. The sub-block (depth block) used for deriving the representative depth value in the disparity synthesis prediction is located at a position shifted by the displacement vector with respect to the target block, and the displacement vector error also refers to the depth when the representative depth value is derived. Related to the robustness of In the disparity synthesis prediction, since the vertical component of the displacement vector is basically 0, there is no deviation from the true displacement in the vertical position of the depth block. Conversely, the horizontal component may deviate from the true displacement. According to the depth DV deriving unit 351 having the above-described configuration, a plurality of positions (xP0, xP1) are used for the horizontal component that may cause a slip, and one vertical component that is unlikely to cause a shift. By using one position (yP0), the number of referenced depth values is reduced from four to two while maintaining the robustness of the derived representative depth value, thereby making it possible to take advantage of the characteristics of sub-blocks. A value is derived.
 図27は、比較例の視差合成予測の場合のデプスDV導出部(変位配列導出装置)の動作を示す図である。比較例の変位配列導出装置は視差合成予測の場合も、サブブロックのコーナー4点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP0 ][ yP1]、refDepPels[ xP1 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値である代表デプス値maxDepを、以下の式より導出する。 FIG. 27 is a diagram illustrating an operation of the depth DV deriving unit (displacement arrangement deriving device) in the case of the disparity synthesis prediction of the comparative example. The displacement array deriving device of the comparative example also uses the pixel values refDepPels [xP0] [yP0], refDepPels [xP0] [yP1], refDepPels [xP1] [yP0] at the four corners of the sub-block in the case of parallax synthesis The representative depth value maxDep, which is the maximum value of refDepPels [xP1] [yP1], is derived from the following equation.
  maxDep = Max( maxDep, refDepPels[ xP0 ][ yP0 ] )
  maxDep = Max( maxDep, refDepPels[ xP0 ][ yP1 ] )
  maxDep = Max( maxDep, refDepPels[ xP1 ][ yP0 ] )
  maxDep = Max( maxDep, refDepPels[ xP1 ][ yP1 ] )
 比較例のデプスDV導出部(変位配列導出装置)は、本実施形態に係るデプスDV導出部351よりも処理量が大きいという課題がある。
maxDep = Max (maxDep, refDepPels [xP0] [yP0])
maxDep = Max (maxDep, refDepPels [xP0] [yP1])
maxDep = Max (maxDep, refDepPels [xP1] [yP0])
maxDep = Max (maxDep, refDepPels [xP1] [yP1])
The depth DV deriving unit (displacement array deriving device) of the comparative example has a problem that the processing amount is larger than that of the depth DV deriving unit 351 according to the present embodiment.
   (インター予測画像生成部309)
 図17は、本実施形態に係るインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き変位補償部3091、残差予測部3092、照度補償部3093、重み付け予測部3096を含んで構成される。
(Inter prediction image generation unit 309)
FIG. 17 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.
 インター予測画像生成部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に出力する。 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. In addition, when the residual prediction index iv_res_pred_weight_idx is not 0, 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. On the other hand, when the residual prediction index iv_res_pred_weight_idx is 0, 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.
 動き変位補償部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を導出する。 In the case of the motion displacement compensation unit 3091, the residual prediction unit 3092, the illuminance prediction unit 3093, and the single prediction (predFlagL0 = 1 or predFlagL1 = 1), the L0 motion compensation image predSamplesL0 or the L1 motion compensation image predSamplesL1 is derived. In the case of prediction (predFlagL0 = 1 and predFlagL1 = 1), 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.
  (動き変位補償)
 動き変位補償部3091は、予測利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLX(動きベクトル、又は変位ベクトル)に基づいて、動き予測画像predSampleLXを生成する。動き変位補償部3091は、参照ピクチャメモリ306から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャの予測ユニットの位置を起点として、ベクトルmvLXだけずれた位置にあるブロックを読み出し補間することによって予測画像を生成する。ここで、ベクトルmvLXが整数ベクトルでない場合には、動き補償フィルタ(もしくは変位補償フィルタ)と呼ばれる小数位置の画素を生成するためのフィルタを施して、予測画像を生成する。一般に、ベクトルmvLXが動きベクトルの場合、上記処理を動き補償と呼び、変位ベクトルの場合は変位補償と呼ぶ。ここでは総称して動き変位補償と表現する。以下、L0予測の予測画像をpredSamplesL0、L1予測の予測画像をpredSamplesL1と呼ぶ。両者を区別しない場合predSamplesLXと呼ぶ。以下、動き変位補償部3091で得られた予測画像predSamplesLXに、さらに残差予測および照度補償が行われる例を説明するが、これらの出力画像もまた、予測画像predSamplesLXと呼ぶ。なお、以下の残差予測および照度補償において、入力画像と出力画像を区別する場合には、入力画像をpredSamplesLX、出力画像をpredSamplesLX´と表現する。
(Motion displacement compensation)
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. Here, when the vector mvLX is not an integer vector, 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. Generally, when the vector mvLX is a motion vector, the above process is called motion compensation, and when the vector mvLX is a displacement vector, it is called displacement compensation. Here, it is collectively referred to as motion displacement compensation. Hereinafter, the prediction image of L0 prediction is referred to as predSamplesL0, and the prediction image of L1 prediction is referred to as predSamplesL1. If the two are not distinguished, they are called predSamplesLX. Hereinafter, an example in which residual prediction and illuminance compensation are further performed on the prediction image predSamplesLX obtained by the motion displacement compensation unit 3091 will be described. These output images are also referred to as prediction images predSamplesLX. In the following residual prediction and illuminance compensation, when an input image and an output image are distinguished, the input image is expressed as predSamplesLX and the output image is expressed as predSamplesLX ′.
 動き変位補償部3091は、残差予測実施フラグresPredFlagが0の場合には、輝度成分は8タップ、色差成分は4タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。残差予測実施フラグresPredFlagが1の場合には、輝度成分、色差成分ともに2タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。 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. 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.
  (残差予測)
 残差予測部3092は、残差予測実施フラグresPredFlagが1の場合に、残差予測を行う。残差予測部3092は、残差予測実施フラグresPredFlagが0の場合には、入力された予測画像predSamplesLXをそのまま出力する。refResSamples残差予測は、動き予測もしくは変位予測により生成される動き補償画像predSamplesLXの残差を推定し、対象レイヤの予測画像predSamplesLXに加えることにより行われる。具体的には、予測ユニットが動き予測の場合には、参照レイヤと同様の残差が対象レイヤにも生じると仮定して、既に導出された参照レイヤの残差を対象レイヤの残差の推定値として用いる。予測ユニットが変位予測の場合には、対象ピクチャとは異なる時刻(POC)の参照レイヤのピクチャと対象レイヤのピクチャの残差を、残差の推定値として用いる。
(Residual prediction)
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. When 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.
 残差予測部3092も、動き変位補償部3091と同様、サブブロック動き補償フラグsubPbMotionFlagが1の場合に、サブブロック単位で残差予測を行う。残差予測部3092は、残差予測実施フラグresPredFlagが1の場合には、2つの残差予測動き補償画像(rpSamplesLX、rpRefSamplesLX)の差分から残差を導出し、動き補償画像にこの残差を加算することにより予測画像を導出する。具体的には、残差合成部30923は、予測画像predSamplesLX、対応ブロックrpSamplesLX、参照ブロックrpRefSamplesLX及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX´を導出する。補正予測画像predSamplesLX´は、
 predSamplesLX´[x][y] = predSamplesLX[x][y] + 
((rpSamplesLX[x][y] - rpRefSamplesLX[x][y]) >> (iv_res_pred_weight_idx - 1))
の式を用いて求める。xは0から予測ブロックの幅-1、yは0から予測ブロックの高さ-1である。残差合成部30923は、残差予測実施フラグresPredFlagが0の場合には、以下の式のように予測画像predSamplesLXをそのまま出力する。
Similar to the motion displacement compensation unit 3091, the residual prediction unit 3092 also performs residual prediction in units of subblocks when the subblock motion compensation flag subPbMotionFlag is 1. When the residual prediction execution flag resPredFlag is 1, the residual prediction unit 3092 derives a residual from the difference between the two residual prediction motion compensated images (rpSamplesLX, rpRefSamplesLX), and uses this residual in the motion compensated image. A predicted image is derived by adding the predicted images. Specifically, the residual synthesis unit 30923 derives a corrected predicted image predSamplesLX ′ from the predicted image predSamplesLX, the corresponding block rpSamplesLX, the reference block rpRefSamplesLX, and the residual prediction index iv_res_pred_weight_idx. The corrected predicted image predSamplesLX´
predSamplesLX´ [x] [y] = predSamplesLX [x] [y] +
((rpSamplesLX [x] [y]-rpRefSamplesLX [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]
  (照度補償)
 照度補償部3093は、照度補償フラグic_flagが1の場合に、入力された予測画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_flagが0の場合には、入力された予測画像predSamplesLXをそのまま出力する。
predSamplesLX´ [x] [y] = predSamplesLX [x] [y]
(Illuminance compensation)
When the illumination compensation flag ic_flag is 1, the illumination compensation unit 3093 performs illumination compensation on the input predicted image predSamplesLX. When the illumination compensation flag ic_flag is 0, the input predicted image predSamplesLX is output as it is.
  (重み付け予測)
 重み付け予測部3096は、単予測の場合(predFlagL0=1/ predFlagL1=0もしくはpredFlagL0=0/ predFlagL1=1)には、L0の動き補償画像predSampleL0もしくはL1の動き補償画像predSampleL1から予測画像predSamplesを導出する。具体的には、L0からの予測、L1からの予測に対して各々、下記式を用いて導出する。
(Weighted prediction)
In the case of single prediction (predFlagL0 = 1 / predFlagL1 = 0 or predFlagL0 = 0 / predFlagL1 = 1), the weighted prediction unit 3096 derives the predicted image predSamples from the L0 motion compensated image predSampleL0 or the L1 motion compensated image predSampleL1. . Specifically, 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 )
 ここで、w0, w1, o0, o1は、各々、パラメータセットで符号化されるウェイトおよびオフセットである。bitDepthはビットデプスを示す値である。
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)
Here, w0, w1, o0, and o1 are weights and offsets encoded in the parameter set, respectively. bitDepth is a value indicating the bit depth.
 重み付け予測部3096は、双予測の場合(predFlagL0=1/ predFlagL1=1)には、L0の動き補償画像predSampleL0とL1の動き補償画像predSampleL1の重み付き予測から予測画像を生成する。 In the case of bi-prediction (predFlagL0 = 1 / predFlagL1 = 1), the weighted prediction unit 3096 generates a prediction image from the weighted prediction of the L0 motion compensated image predSampleL0 and the L1 motion compensated image predSampleL1.
  ( predSamplesL0 [ x ][ y ] * w0 + predSamplesL1[ x ][ y ] * w1 +
  ( ( o0 + o1 + 1 ) << log2Wd ) ) >> ( log2Wd + 1 ) )
 ここで、w0, w1, o0, o1、log2Wdは、各々、パラメータセットで符号化されるウェイトおよびオフセットおよびシフト値。bitDepthはビットデプスを示す値である。
(predSamplesL0 [x] [y] * w0 + predSamplesL1 [x] [y] * w1 +
((o0 + o1 + 1) << log2Wd)) >> (log2Wd + 1))
Here, w0, w1, o0, o1, and log2Wd are a weight, an offset, and a shift value encoded by the parameter set, respectively. bitDepth is a value indicating the bit depth.
  (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図25は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、加算部106、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111、を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
(Configuration of image encoding device)
Next, the configuration of the image encoding device 11 according to the present embodiment will be described. FIG. 25 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, an entropy encoding unit 104, an inverse quantization / inverse DCT unit 105, an addition unit 106, a prediction parameter memory (prediction parameter storage). Section, frame memory) 108, reference picture memory (reference image storage unit, frame memory) 109, coding parameter determination unit 110, and prediction parameter coding unit 111. The prediction parameter encoding unit 111 includes an inter prediction parameter encoding unit 112 and an intra prediction parameter encoding unit 113.
 予測画像生成部101は、外部から入力されたレイヤ画像Tの視点毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックpredSamplesを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から参照ピクチャブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部101は、符号化予測ユニットを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いて予測ピクチャブロックpredSamplesを生成する。予測画像生成部101は、生成した予測ピクチャブロックpredSamplesを減算部102と加算部106に出力する。なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作であるため予測ピクチャブロックpredSamplesの生成の詳細は省略する。 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. Here, 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.
 予測画像生成部101は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックpredSamplesの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。なお、予測方式を選択する方法は、これには限られない。 In order to select a prediction method, the predicted image generation unit 101, for example, 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.
 予測画像生成部101は、イントラ予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いたイントラ予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。 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.
 予測画像生成部101は、マージモードを選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部112に出力する。また、予測画像生成部101は、マージモードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。 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.
 上記の、マージモードにおいて、予測画像生成部101は、VSP予測部30374において視点合成予測を行う。また、動き予測、変位予測、マージモードにおいて、予測画像生成部101は、残差予測実施フラグresPredFlagが残差予測を行うことを示す場合には、既に説明したように予測画像生成部101に含まれる残差予測部3092において残差予測を行う。 In the merge mode described above, the predicted image generation unit 101 performs viewpoint synthesis prediction in the VSP prediction unit 30374. 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.
 減算部102は、予測画像生成部101から入力された予測ピクチャブロックpredSamplesの信号値を、外部から入力されたレイヤ画像Tの対応するブロックの信号値から画素毎に減算して、残差信号を生成する。減算部102は、生成した残差信号をDCT・量子化部103と符号化パラメータ決定部110に出力する。 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.
 DCT・量子化部103は、減算部102から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部103は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部103は、求めた量子化係数をエントロピー符号化部104及び逆量子化・逆DCT部105に出力する。 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 entropy encoding unit 104 and the inverse quantization / inverse DCT unit 105.
 エントロピー符号化部104には、DCT・量子化部103から量子化係数が入力され、符号化パラメータ決定部110から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測モードPredMode、マージインデックスmerge_idx、残差予測インデックスiv_res_pred_weight_idx、及び照度補償フラグic_flag等の符号がある。 The entropy coding unit 104 receives the quantization coefficient from the DCT / quantization unit 103 and the 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.
 エントロピー符号化部104は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。 The entropy 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.
 逆量子化・逆DCT部105は、DCT・量子化部103から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部105は、求めたDCT係数について逆DCTを行い、復号残差信号を算出する。逆量子化・逆DCT部105は、算出した復号残差信号を加算部106、及び符号化パラメータ決定部110に出力する。 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.
 加算部106は、予測画像生成部101から入力された予測ピクチャブロックpredSamplesの信号値と逆量子化・逆DCT部105から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部106は、生成した参照ピクチャブロックを参照ピクチャメモリ109に記憶する。 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.
 予測パラメータメモリ108は、予測パラメータ符号化部111が生成した予測パラメータを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。 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.
 参照ピクチャメモリ109は、加算部106が生成した参照ピクチャブロックを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。 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.
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いて予測ピクチャブロックpredSamplesを生成する。 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.
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。 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. As a result, the entropy encoding unit 104 outputs the selected set of encoding parameters to the outside as the encoded stream Te, and does not output the set of unselected encoding parameters.
 予測パラメータ符号化部111は、予測画像生成部101から入力されたパラメータに基づいて予測ピクチャを生成する際に用いる予測パラメータを導出し、導出した予測パラメータを符号化して符号化パラメータのセットを生成する。予測パラメータ符号化部111は、生成した符号化パラメータのセットをエントロピー符号化部104に出力する。 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 entropy encoding unit 104.
 予測パラメータ符号化部111は、生成した符号化パラメータのセットのうち符号化パラメータ決定部110が選択したものに対応する予測パラメータを予測パラメータメモリ108に記憶する。 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.
 予測パラメータ符号化部111は、予測画像生成部101から入力された予測モードPredModeがインター予測モードを示す場合、インター予測パラメータ符号化部112を動作させる。予測パラメータ符号化部111は、予測モードPredModeがイントラ予測モードを示す場合、イントラ予測パラメータ符号化部113を動作させる。 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.
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいてインター予測パラメータを導出する。インター予測パラメータ符号化部112は、インター予測パラメータを導出する構成として、インター予測パラメータ復号部303がインター予測パラメータを導出する構成と同一の構成を含む。インター予測パラメータ符号化部112の構成については、後述する。 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.
 イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力された予測モードPredModeが示すイントラ予測モードIntraPredModeをインター予測パラメータのセットとして定める。 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.
  (インター予測パラメータ符号化部の構成)
 次に、インター予測パラメータ符号化部112の構成について説明する。インター予測パラメータ符号化部112は、インター予測パラメータ復号部303に対応する手段である。図26は、本実施形態に係るインター予測パラメータ符号化部112の構成を示す概略図である。インター予測パラメータ符号化部112は、マージモードパラメータ導出部1121、AMVP予測パラメータ導出部1122、減算部1123、及びインター予測パラメータ符号化制御部1126を含んで構成される。
(Configuration of inter prediction parameter encoding unit)
Next, the configuration of the inter prediction parameter encoding unit 112 will be described. The inter prediction parameter encoding unit 112 is means corresponding to the inter prediction parameter decoding unit 303. FIG. 26 is a schematic diagram illustrating the 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.
 AMVP予測パラメータ導出部1122は、上述のAMVP予測パラメータ導出部3032(図10参照)と同様な構成を有する。 The AMVP prediction parameter derivation unit 1122 has the same configuration as the AMVP prediction parameter derivation unit 3032 (see FIG. 10).
 減算部1123は、符号化パラメータ決定部110から入力されたベクトルmvLXからAMVP予測パラメータ導出部1122から入力された予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはインター予測パラメータ符号化制御部1126に出力する。 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.
 インター予測パラメータ符号化制御部1126は、インター予測に関連する符号(シンタックス要素の復号をエントロピー符号化部104に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。 The inter prediction parameter coding control unit 1126 instructs the entropy coding unit 104 to decode a code related to inter prediction (the syntax element) includes, for example, a code (syntax element) included in the coded data. , 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.
 残差予測インデックス符号化部10311は、残差予測が行われるか否かを示すために、残差予測インデックスiv_res_pred_weight_idxを符号化する。 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.
 照度補償フラグ符号化部10312は、照度補償が行われるか否かを示すために、照度補償フラグic_flagを符号化する。 The illuminance compensation flag encoding unit 10312 encodes the illuminance compensation flag ic_flag to indicate whether or not illuminance compensation is performed.
 インター予測パラメータ符号化制御部1126は、予測画像生成部101から入力された予測モードPredModeがマージモードを示す場合には、符号化パラメータ決定部110から入力されたマージインデックスmerge_idxをエントロピー符号化部104に出力し、符号化させる。 When the prediction mode PredMode input from the prediction image generation unit 101 indicates the merge mode, the inter prediction parameter encoding control unit 1126 uses the merge index merge_idx input from the encoding parameter determination unit 110 as the entropy encoding unit 104. To be encoded.
 また、インター予測パラメータ符号化制御部1126は、予測画像生成部101から入力された予測モードPredModeがインター予測モードを示す場合には、次の処理を行う。 Also, 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.
 インター予測パラメータ符号化制御部1126は、符号化パラメータ決定部110から入力された参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flag、減算部1123から入力された差分ベクトルmvdLXを統合する。インター予測パラメータ符号化制御部1126は、統合した符号をエントロピー符号化部104に出力し、符号化させる。 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 entropy encoding unit 104 to be encoded.
 予測画像生成部101は、上述の予測画像生成部308に対応する手段であり、予測パラメータから、予測画像を生成する処理は同一である。 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.
 (デプスルックアップテーブル導出部146)
 本実施形態の画像符号化装置11の予測画像生成部101は、既に説明したイントラ予測画像生成部310(DMM予測部145T)を含み。MM予測部145Tは、既に説明したデプスルックアップテーブル導出部146を含む。これにより、デプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。
(Depth lookup table derivation unit 146)
The predicted image generation unit 101 of the image encoding device 11 according to the present embodiment includes the already described intra predicted image generation unit 310 (DMM prediction unit 145T). The MM prediction unit 145T includes the depth lookup table derivation unit 146 already described. Thereby, there is an effect that the depth index conversion table DepthValue2Idx is easily derived.
 (隣接ブロック変位ベクトル導出部3521)
 本実施形態の画像符号化装置11のインター予測パラメータ符号化制御部1126は、変位ベクトル導出部352(隣接ブロック変位ベクトル導出部3521)を含む。本実施形態の隣接ブロック変位ベクトル導出部3521は、マージ候補リストのうちの1つを選択して予測パラメータとして用いるモードが、スキップモードの場合と、インターモードとマージフラグが1である場合である場合において、先の2つの場合を区別する必要がないため、実装が容易にあるという効果を奏する。
(Adjacent block displacement vector derivation unit 3521)
The inter prediction parameter encoding control unit 1126 of the image encoding device 11 of the present embodiment includes a displacement vector deriving unit 352 (adjacent block displacement vector deriving unit 3521). The adjacent block displacement vector deriving unit 3521 according to the present embodiment is a case where the mode used to select one of the merge candidate lists and use it as a prediction parameter is the skip mode, and the case where the inter mode and the merge flag are 1. In some cases, there is no need to distinguish between the previous two cases, so that there is an effect that mounting is easy.
 (デフォルト参照ビューインデックス導出部3522)
 本実施形態の画像符号化装置11のインター予測パラメータ符号化制御部1126は、変位ベクトル導出部352(デフォルト参照ビューインデックス導出部3522)を含む。本実施形態のデフォルト参照ビューインデックス導出部3522によれば、参照ピクチャリストを一度探索することで、デフォルト参照ビューインデックスを導出することができるため、デフォルト参照ビューインデックスの導出が容易になるという効果を奏する。
(Default reference view index deriving unit 3522)
The inter prediction parameter encoding control unit 1126 of the image encoding device 11 according to the present embodiment includes a displacement vector deriving unit 352 (default reference view index deriving unit 3522). According to the default reference view index deriving unit 3522 of the present embodiment, it is possible to derive the default reference view index by searching the reference picture list once, so that it is easy to derive the default reference view index. Play.
 なお、上述した実施形態における画像符号化装置11、画像復号装置31をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。 Note that the image encoding device 11 and the image decoding device 31 in the above-described embodiment may be realized by a computer. In that case, 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. Here, 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. Furthermore, 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, In such a case, 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.
 また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。 Further, 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). 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. Further, 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.
 以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。 As described above, the embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to the above, and various design changes and the like can be made without departing from the scope of the present invention. It is possible to
 (まとめ)
 本発明の1つの形態は、視差合成予測において、サブブロック中の水平に位置する2点のデプス値を利用して代表デプス値を導出し、導出した代表デプス値から変位ベクトルを導出することを特徴とする。
(Summary)
One aspect of the present invention is to derive a representative depth value using two horizontally located depth values in a sub-block and to derive a displacement vector from the derived representative depth value in disparity synthesis prediction. Features.
 本発明の1つの形態は、前記変位配列導出装置は、対象予測ユニットの左上座標が(xTL、yTL)、サブブロック左上座標が(xSubB、ySubB)、サブブロックの幅、高さがnSubBlkW、nSubBlkHの場合に、Y座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、X座標がxTL+xSubBである第1の点、および、Y座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、X座標がxTL+xSubB+ nSubBlkB-1である第2の点を導出し、第1の点のデプス値と第2の点のデプス値の最大値を代表デプス値として導出することを特徴とする。 In one form of the present invention, the displacement array deriving device is configured such that the upper left coordinates of the target prediction unit are (xTL, yTL), the upper left coordinates of the sub block are (xSubB, ySubB), and the width and height of the sub block are nSubBlkW, nSubBlkH. YTL + ySubB + nSubBlkH / 2-1 where the Y coordinate is the center of the sub-block, the first point where the X coordinate is xTL + xSubB, and yTL + ySubB + サ ブ nSubBlkH where the Y coordinate is the center of the sub-block / 2-1, Deriving the second point whose x-coordinate is xTL + xSubB + nSubBlkB-1, and deriving the maximum value of the depth value of the first point and the depth value of the second point as the representative depth value It is characterized by.
 本発明の1つの形態は、空間的に隣接するブロックを順に探索して、前記隣接するブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置において、前記変位ベクトル導出装置は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが1の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定することを特徴とする。 According to one aspect of the present invention, spatially adjacent blocks are sequentially searched, and when the adjacent block is an inter-view block, the displacement vector is output as a displacement vector of the target block, and the other blocks In this case, in the displacement vector deriving device for deriving a derived vector, the displacement vector deriving device is configured such that the adjacent block is in a mode in which the adjacent block mode is the skip mode or the adjacent mode is the inter mode and the merge flag is 1. The displacement vector is set as a derived vector.
 本発明の1つの形態は、X=0、1で指定される参照ピクチャリストLXの0から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのPOCが対象ピクチャのPOCと等しい場合に、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定する。 According to one aspect of the present invention, reference pictures from 0 to a reference picture number NumRefPicsLX-1 in a reference picture list LX specified by X = 0 and 1 are searched in order, and the view index of the reference picture is the view of the target picture. Unlike the index, when the POC of the reference picture is equal to the POC of the target picture, the view index of the reference picture is set as a default reference view index.
 本発明の1つの形態は、あるインデックスiについて、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前記差分絶対値の小さい場合のインデックスをデプスインデックス変換テーブルDepthValue2Idxに設定する。 One form of the present invention is that, for a certain index i, the value Idx2DepthValue [i-1] of the index depth conversion table Idx2DepthValue of the index i-1, the absolute difference value of the variable d, and the value of the index depth conversion table Idx2DepthValue of the index i. The difference absolute value between Idx2DepthValue [i] and the variable d is compared, and the index when the difference absolute value is small is set in the depth index conversion table DepthValue2Idx.
 本発明の1つの形態は、前記デプスルックアップテーブル導出装置は、0から所定の値までの変数dに対して、あるインクリメントするインデックスiについて、インデックスデプス変換テーブルIdx2DepthValueのインデックスiの値Idx2DepthValue[i]が変数dよりも大きい場合に、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にi-1を変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはiを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定することを特徴とする。 In one form of the present invention, the depth look-up table derivation device is configured such that the index i value Idx2DepthValue [i of the index depth conversion table Idx2DepthValue for an index i to be incremented with respect to a variable d from 0 to a predetermined value. ] Is greater than the variable d, the index depth conversion table Idx2DepthValue value of the index i-1, the absolute value of the variable d, the value of the index depth conversion table Idx2DepthValue of the index i, and the absolute difference value of the variable d When the absolute value of the former difference is small, i-1 is set to the depth index conversion table DepthValue2Idx [d] of the variable d. Otherwise, i is set to the depth index conversion table DepthValue2Idx [d of the variable d. ] Is set.
 本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。 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.
     1 画像伝送システム
    11 画像符号化装置
   101 予測画像生成部
   102 減算部
   103 DCT・量子化部
 10311 残差予測インデックス符号化部
 10312 照度補償フラグ符号化部
   104 エントロピー符号化部
   105 逆量子化・逆DCT部
   106 加算部
   108 予測パラメータメモリ(フレームメモリ)
   109 参照ピクチャメモリ(フレームメモリ)
   110 符号化パラメータ決定部
   111 予測パラメータ符号化部
   112 インター予測パラメータ符号化部
  1121 マージモードパラメータ導出部
  1122 AMVP予測パラメータ導出部
  1123 減算部
  1126 インター予測パラメータ符号化制御部
   113 イントラ予測パラメータ符号化部
    21 ネットワーク
    31 画像復号装置
   301 エントロピー復号部
   302 予測パラメータ復号部
   303 インター予測パラメータ復号部
  3031 インター予測パラメータ復号制御部
 30311 分割モード復号部
 30312 インター予測識別子復号部
  3032 AMVP予測パラメータ導出部
  3035 加算部
  3036 マージモードパラメータ導出部(マージモードパラメータ導出装置)
 30361 マージ候補導出部
303611 マージ候補格納部
 30362 マージ候補選択部
 30370 拡張マージ候補導出部
 30371 レイヤ間マージ候補導出部
 30373 変位マージ候補導出部
 30374 VSPマージ候補導出部(VSP予測部、視点合成予測手段、パーティション分割部)
 30380 基本マージ候補導出部
 30381 空間マージ候補導出部
 30382 時間マージ候補導出部
 30383 結合マージ候補導出部
 30384 ゼロマージ候補導出部
   304 イントラ予測パラメータ復号部
   306 参照ピクチャメモリ(フレームメモリ)
   307 予測パラメータメモリ(フレームメモリ)
   308 予測画像生成部
   309 インター予測画像生成部
  3091 動き変位補償部
  3092 残差予測部
 30923 残差合成部
  3093 照度補償部
  3096 重み付け予測部
   310 イントラ予測画像生成部
  145D DC予測部
  145P Planar予測部
  145A Angular予測部
  145T DMM予測部
 145T2 ウェッジパターン導出部
 145T3 デプス予測画素導出部
 145T4 ウェッジレットパターン生成部
 145T5 ウェッジパターンテーブル
   146 デプスルックアップテーブル導出部(デプスルックアップテーブル導出装置)
   311 逆量子化・逆DCT部
   312 加算部
   351 デプスDV導出部(変位配列導出装置)
   352 変位ベクトル導出部(変位ベクトル導出装置)
  3521 隣接変位ベクトル導出部(導出変位ベクトル導出装置)
  3522 デフォルト参照ビューインデックス導出部(デフォルト参照ビューインデックス導出装置)
   353 分割フラグ導出部
    41 画像表示装置
DESCRIPTION OF SYMBOLS 1 Image transmission system 11 Image encoding apparatus 101 Predictive image generation part 102 Subtraction part 103 DCT / quantization part 10311 Residual prediction index encoding part 10312 Illuminance compensation flag encoding part 104 Entropy encoding part 105 Inverse quantization and inverse DCT Unit 106 addition unit 108 prediction parameter memory (frame memory)
109 Reference picture memory (frame memory)
DESCRIPTION OF SYMBOLS 110 Coding parameter determination part 111 Prediction parameter coding part 112 Inter prediction parameter coding part 1121 Merge mode parameter derivation part 1122 AMVP prediction parameter derivation part 1123 Subtraction part 1126 Inter prediction parameter coding control part 113 Intra prediction parameter coding part 21 Network 31 Image decoding device 301 Entropy decoding unit 302 Prediction parameter decoding unit 303 Inter prediction parameter decoding unit 3031 Inter prediction parameter decoding control unit 30311 Partition mode decoding unit 30312 Inter prediction identifier decoding unit 3032 AMVP prediction parameter derivation unit 3035 Adder unit 3036 Merge mode Parameter deriving unit (merge mode parameter deriving device)
30361 Merge candidate derivation unit 303611 Merge candidate storage unit 30362 Merge candidate selection unit 30370 Extended merge candidate derivation unit 30371 Inter-layer merge candidate derivation unit 30373 Displacement merge candidate derivation unit 30374 VSP merge candidate derivation unit (VSP prediction unit, viewpoint synthesis prediction means, (Partition division)
30380 Basic merge candidate derivation unit 30381 Spatial merge candidate derivation unit 30382 Temporal merge candidate derivation unit 30383 Join merge candidate derivation unit 30384 Zero merge candidate derivation unit 304 Intra prediction parameter decoding unit 306 Reference picture memory (frame memory)
307 Prediction parameter memory (frame memory)
308 Prediction Image Generation Unit 309 Inter Prediction Image Generation Unit 3091 Motion Displacement Compensation Unit 3092 Residual Prediction Unit 30923 Residual Synthesis Unit 3093 Illuminance Compensation Unit 3096 Weight Prediction Unit 310 Intra Prediction Image Generation Unit 145D DC Prediction Unit 145P Planar Prediction Unit 145A Angular Prediction unit 145T DMM prediction unit 145T2 wedge pattern derivation unit 145T3 depth prediction pixel derivation unit 145T4 wedgelet pattern generation unit 145T5 wedge pattern table 146 depth lookup table derivation unit (depth lookup table derivation device)
311 Inverse Quantization / Inverse DCT Unit 312 Adder 351 Depth DV Deriving Unit (Displacement Array Deriving Device)
352 Displacement vector deriving unit (displacement vector deriving device)
3521 Adjacent displacement vector deriving unit (derived displacement vector deriving device)
3522 default reference view index deriving unit (default reference view index deriving device)
353 Division flag deriving unit 41 Image display device

Claims (6)

  1.  あるインデックスiについて、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前記差分絶対値の小さい場合のインデックスをデプスインデックス変換テーブルDepthValue2Idxに設定するデプスルックアップテーブル導出装置。 For an index i, the difference between the value Idx2DepthValue [i-1] of the index depth conversion table Idx2DepthValue of the index i-1 and the variable d, the value Idx2DepthValue [i] of the index depth conversion table Idx2DepthValue of the index i, and the variable d A depth lookup table derivation device that compares absolute differences and sets an index when the absolute difference is small in a depth index conversion table DepthValue2Idx.
  2.  前記デプスルックアップテーブル導出装置は、0から所定の値までの変数dに対して、あるインクリメントするインデックスiについて、インデックスデプス変換テーブルIdx2DepthValueのインデックスiの値Idx2DepthValue[i]が変数dよりも大きい場合に、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にi-1を変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはiを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定することを特徴とする請求項1に記載のデプスルックアップテーブル導出装置。 The depth lookup table derivation device, for a variable d from 0 to a predetermined value, for an index i to be incremented, when the value Idx2DepthValue [i] of the index i of the index depth conversion table Idx2DepthValue is greater than the variable d Compare the value of index depth conversion table Idx2DepthValue of index i-1, the absolute difference value of variable d, the value of index depth conversion table Idx2DepthValue of index i, and the absolute value of difference of variable d. When the value is small, i-1 is set to the depth index conversion table DepthValue2Idx [d] of the variable d. Otherwise, i is set to the depth index conversion table DepthValue2Idx [d] of the variable d. The depth lookup table derivation device according to claim 1.
  3.  視差合成予測において、サブブロック中の水平に位置する2点のデプス値を利用して代表デプス値を導出し、導出した代表デプス値から変位ベクトルを導出することを特徴とする変位配列導出装置。 In a disparity synthesis prediction, a displacement array deriving device characterized by deriving a representative depth value using two horizontally located depth values in a sub-block and deriving a displacement vector from the derived representative depth value.
  4.  前記変位配列導出装置は、対象予測ユニットの左上座標が(xTL、yTL)、サブブロック左上座標が(xSubB、ySubB)、サブブロックの幅、高さがnSubBlkW、nSubBlkHの場合に、Y座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、X座標がxTL+xSubBである第1の点、および、Y座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、X座標がxTL+xSubB+ nSubBlkB-1である第2の点を導出し、第1の点のデプス値と第2の点のデプス値の最大値を代表デプス値として導出することを特徴とする請求項3に記載の変位配列導出装置。 In the displacement array deriving device, when the upper left coordinate of the target prediction unit is (xTL, yTL), the upper left coordinate of the sub block is (xSubB, ySubB), and the width and height of the sub block are nSubBlkW, nSubBlkH, the Y coordinate is sub YTL + ySubB + nSubBlkH / 2-1, which is the center of the block, the first point whose X coordinate is xTL + xSubB, and yTL + ySubB + nSubBlkH / 2-1, where the Y coordinate is the center of the subblock, and the X coordinate is 4. The second point xTL + xSubB + nSubBlkB-1 is derived, and the maximum value of the depth value of the first point and the depth value of the second point is derived as a representative depth value. The displacement array deriving device described.
  5.  空間的に隣接するブロックを順に探索して、前記隣接するブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置において、前記変位ベクトル導出装置は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが1の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定することを特徴とする変位ベクトル導出装置。 The spatially adjacent blocks are searched in order, and if the adjacent block is an inter-view block, the displacement vector is output as the displacement vector of the target block, otherwise the derived vector is derived. In the displacement vector deriving device, the displacement vector deriving device sets the displacement vector of the adjacent block as the derived vector when the mode of the adjacent block is the skip mode or the adjacent mode is the inter mode and the merge flag is 1. A displacement vector deriving device characterized in that:
  6.  X=0、1で指定される参照ピクチャリストLXの0から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのPOCが対象ピクチャのPOCと等しい場合に、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定するデフォルト参照ビューインデックス導出装置。 Reference pictures from 0 to the reference picture number NumRefPicsLX-1 in the reference picture list LX specified by X = 0, 1 are searched in order, and the view index of the reference picture is different from the view index of the target picture, and A default reference view index deriving device that sets a view index of the reference picture as a default reference view index when the POC is equal to the POC of the target picture.
PCT/JP2015/078465 2014-10-09 2015-10-07 Displacement arrangement derivation device, displacement vector derivation device, default reference view index derivation device, and depth lookup table derivation device WO2016056587A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014208211A JP2017212477A (en) 2014-10-09 2014-10-09 Image decoding apparatus, image encoding apparatus, displacement array deriving apparatus, displacement vector deriving apparatus, default reference view index deriving apparatus, and depth lookup table deriving apparatus
JP2014-208211 2014-10-09

Publications (1)

Publication Number Publication Date
WO2016056587A1 true WO2016056587A1 (en) 2016-04-14

Family

ID=55653195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/078465 WO2016056587A1 (en) 2014-10-09 2015-10-07 Displacement arrangement derivation device, displacement vector derivation device, default reference view index derivation device, and depth lookup table derivation device

Country Status (2)

Country Link
JP (1) JP2017212477A (en)
WO (1) WO2016056587A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113056915A (en) * 2018-11-22 2021-06-29 北京字节跳动网络技术有限公司 Using collocated blocks in sub-block based temporal motion vector prediction mode

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FABIAN JÄGER: "3D-CE6.h: Simplified Depth Coding with an optional Depth Lookup Table", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 2ND MEETING, 13 October 2012 (2012-10-13), Shanghai, CN *
GERHARD TECH ET AL.: "3D-HEVC Draft Text 5", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 9TH MEETING, 13 August 2014 (2014-08-13), Sapporo, JP *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113056915A (en) * 2018-11-22 2021-06-29 北京字节跳动网络技术有限公司 Using collocated blocks in sub-block based temporal motion vector prediction mode
CN113056915B (en) * 2018-11-22 2024-03-26 北京字节跳动网络技术有限公司 Use of collocated blocks in sub-block based temporal motion vector prediction modes

Also Published As

Publication number Publication date
JP2017212477A (en) 2017-11-30

Similar Documents

Publication Publication Date Title
JP6469588B2 (en) Residual prediction device, image decoding device, image coding device, residual prediction method, image decoding method, and image coding method
WO2016125685A1 (en) Image decoding device, image encoding device, and prediction vector deriving device
JP6441236B2 (en) Image decoding apparatus and image encoding apparatus
JP6225241B2 (en) Image decoding apparatus, image decoding method, image coding apparatus and image coding method
JP6360053B2 (en) Illuminance compensation device, image decoding device, image coding device
WO2015056719A1 (en) Image decoding device and image coding device
WO2015194669A1 (en) Image decoding apparatus, image coding apparatus, and prediction image generation device
JPWO2014103606A1 (en) Image decoding device
JP6473078B2 (en) Image decoding device
WO2015056620A1 (en) Image decoding device and image coding device
JP6118199B2 (en) Image decoding apparatus, image encoding apparatus, image decoding method, image encoding method, and computer-readable recording medium
WO2014103600A1 (en) Encoded data structure and image decoding device
KR20210150585A (en) Syntax signaling method and apparatus in video/image coding system
WO2015141696A1 (en) Image decoding device, image encoding device, and prediction device
WO2016056587A1 (en) Displacement arrangement derivation device, displacement vector derivation device, default reference view index derivation device, and depth lookup table derivation device
JP2016066864A (en) Image decoding device, image encoding device, and merge mode parameter derivation device
JP2017135432A (en) Viewpoint synthesis prediction apparatus, image decoding apparatus, and image encoding apparatus
WO2015190510A1 (en) Viewpoint synthesis prediction device, image decoding device, and image coding device
JP2015080053A (en) Image decoder and image encoder
JP2014204327A (en) Image decoding apparatus and image encoding apparatus

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

Country of ref document: EP

Kind code of ref document: A1

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

Country of ref document: EP

Kind code of ref document: A1