WO2014103606A1 - 画像復号装置 - Google Patents

画像復号装置 Download PDF

Info

Publication number
WO2014103606A1
WO2014103606A1 PCT/JP2013/082062 JP2013082062W WO2014103606A1 WO 2014103606 A1 WO2014103606 A1 WO 2014103606A1 JP 2013082062 W JP2013082062 W JP 2013082062W WO 2014103606 A1 WO2014103606 A1 WO 2014103606A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
prediction
unit
image
flag
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2013/082062
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
貴也 山本
健史 筑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2014554266A priority Critical patent/JP6278900B2/ja
Priority to US14/652,139 priority patent/US9948951B2/en
Publication of WO2014103606A1 publication Critical patent/WO2014103606A1/ja
Anticipated expiration legal-status Critical
Priority to US15/914,163 priority patent/US20180199064A1/en
Ceased legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to an image decoding 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 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. In order to acquire images from a plurality of viewpoints, it is common to use cameras arranged at the respective viewpoints.
  • 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.
  • Non-Patent Document 1 H. In SVC, which is a H.264 / AVC-based scalable coding technique, a method called residual prediction that uses a base layer residual for enhancement layer prediction is known.
  • Non-Patent Document 2 as a HEVC-based three-dimensional scalable coding technique, a technique for eliminating a perspective dependency in a residual prediction using a base view residual for non-base view prediction is known.
  • Non-Patent Document 3 as a HEVC-based three-dimensional scalable coding technique, a technique called illuminance compensation is used in which illuminance change in pixels around the prediction target block is used for prediction of the prediction target block.
  • a technique for predicting a non-base-view adaptive offset filter parameter using a base-view adaptive offset filter parameter is known. .
  • Non-Patent Document 1 and Non-Patent Document 2 the residual of the base layer and the base view are referred to in the residual prediction in the enhancement layer while maintaining the required range from the bit depth of the pixel. Therefore, it is necessary to record the residual with a wide range, and there is a problem that the memory capacity for recording the residual is very large.
  • Non-Patent Document 3 decoding (parsing) of an illuminance flag indicating whether or not illuminance compensation is performed on a target region is used to generate a predicted image of a target block (prediction unit). Since it is performed only in the case of parallax compensation, which is a case of using a decoded image, there is a dependency that prediction parameter derivation of the prediction unit must be performed before decoding of the illuminance flag. Considering the complexity of parallel processing and implementation, it is desirable that the two processes of flag decoding (parsing) and prediction parameter derivation are separated, so the problem that these two dependencies increase complexity is there.
  • Non-Patent Document 2 the dependency on the perspective is eliminated by deleting the flag indicating whether or not the residual prediction is performed on the target region in the residual prediction. There is a problem in that it is impossible to control whether or not to perform residual prediction even for a target region for which prediction is not effective.
  • the adaptive offset filter parameter prediction of Non-Patent Document 4 has a problem that the memory capacity for storing the adaptive offset filter parameters is very large because the adaptive offset filter parameters of the base view are stored as they are.
  • the present invention has been made in view of the above points, and is an image decoding device, an image decoding method, an image decoding program, an image encoding device, an image encoding method, and an image decoding device that solve the problems related to memory capacity and the perspective dependency.
  • An image encoding program, an image display system, and an image transmission system are provided.
  • the illuminance compensation flag deriving unit for deriving the illuminance compensation flag indicating whether or not to perform illuminance compensation, and the illuminance compensation flag having a value indicating validity
  • An illuminance compensation unit that generates a predicted image of the target prediction unit using an illuminance change parameter derived from an image around the target prediction unit and a reference region image of a reference image corresponding to the target prediction unit;
  • the illuminance compensation flag deriving unit decodes the illuminance compensation flag from the encoded data when the prediction unit that is the generation target of the predicted image is in the merge mode.
  • the illuminance compensation flag deriving unit for deriving the illuminance compensation flag indicating whether or not to perform illuminance compensation for each encoding unit, and the value indicating that the illuminance compensation flag is valid
  • the prediction image of the target prediction unit is generated using the image around the target prediction unit on the target image and the illuminance change parameter derived from the reference area image of the reference image corresponding to the target prediction unit.
  • An illuminance compensation unit is provided, and the illuminance compensation flag deriving unit decodes the illuminance compensation flag from the encoded data when the division mode of the encoding unit is 2N ⁇ 2N indicating that no division is performed. .
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image is provided, and the illuminance compensation unit illuminates from the reference image on the reference picture and the decoded image on the decoding target picture.
  • An illuminance parameter estimator for deriving parameters a and b as change parameters, and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameters, the illuminance compensation filter, the motion compensation image obtained from a reference picture, and the above Illuminance compensation is performed by adding the parameter b after shifting the product of the parameter a to the right by a predetermined fixed shift constant.
  • the additional prediction flag decoding unit that decodes two flags from the encoded data as the additional prediction flag indicating whether or not to perform additional prediction, and the additional prediction flag decoding unit derive An inter-prediction image generating unit that performs additional prediction on the motion compensated image according to the flag to be performed, and the additional prediction flag decoding unit decodes the second flag only when the first flag is 0. It is characterized by doing.
  • the memory required for residual prediction is reduced. Also, the complexity when decoding the syntax of additional prediction is reduced.
  • 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. It is a conceptual diagram which shows an example of a reference picture list. It is a conceptual diagram which shows the example of a reference picture. It is the schematic which shows the structure of the image decoding apparatus which concerns on this embodiment. It is the schematic which shows the structure of the inter prediction parameter decoding part which concerns on this embodiment. It is the schematic which shows the structure of the merge prediction parameter derivation
  • FIG. 3 It is a figure which shows the structure of the coding data of the specific merge index illumination intensity compensation skip flag ic_skip_mergeidx0_flag used by the inter prediction parameter decoding part 303F3 which concerns on this embodiment.
  • FIG. 1 is a schematic diagram showing a configuration of an 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, a depth image, and the like.
  • 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-scale 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 with 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 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. 2 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. 2 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 (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an additional extension, as shown in FIG.
  • Information SEI Supplementplemental Enhancement Information
  • the value indicated after # indicates the layer ID.
  • FIG. 2 shows an example in which encoded data of # 0 and # 1, that is, layer 0 and layer 1, exists, but the type of layer and the number of layers are not dependent on this.
  • 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 decoding a picture 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. 2 (b), 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. 2C, 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) as shown in FIG.
  • the CTB is a fixed-size block (for example, 64 ⁇ 64) constituting a slice, and may be called a maximum coding unit (LCU).
  • the coding tree layer defines a set of data that the image decoding device 31 refers to in order to decode the coding tree block to be processed.
  • the coding tree unit is divided by recursive quadtree division.
  • a node having a tree structure obtained by recursive quadtree partitioning is referred to as 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 is any of 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels. It 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 tree, 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 coding unit is the root of a prediction tree (PT) and a transformation tree (TT).
  • the CU header CUF is included between the prediction tree and the conversion tree or after the conversion tree.
  • the coding 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 tree includes one or a plurality of prediction blocks obtained by the above division.
  • Prediction processing is performed for each prediction block.
  • a prediction block which is a unit of prediction is also referred to as a prediction unit (PU, prediction unit).
  • 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 part_mode of encoded data, and 2N ⁇ 2N (the same size as the encoding unit), 2N ⁇ N, 2N ⁇ nU, 2N ⁇ nD, N ⁇ 2N, nL X2N, nRx2N, and NxN.
  • 2N ⁇ nU indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 2N ⁇ 0.5N and 2N ⁇ 1.5N in order from the top.
  • 2N ⁇ nD indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 2N ⁇ 1.5N and 2N ⁇ 0.5N in order from the top.
  • nL ⁇ 2N indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 0.5N ⁇ 2N and 1.5N ⁇ 2N in order from the left.
  • nR ⁇ 2N indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 1.5N ⁇ 2N and 0.5N ⁇ 1.5N in order from the left. 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.
  • 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 conversion block that is a unit of conversion is also referred to as a conversion 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 list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and vectors mvL0 and mvL1.
  • the prediction list 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 list utilization flag information can also be expressed by an inter prediction flag inter_pred_idx described later.
  • an inter prediction flag inter_pred_idx is used in a prediction image generation unit and a prediction parameter memory, which will be described later, and an inter prediction flag inter_pred_idx is used when decoding information on which reference picture list is used from encoded data. It is done.
  • Syntax elements for deriving the 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 flag inter_pred_idx, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference There is a vector mvdLX.
  • FIG. 3 is a conceptual diagram illustrating an example of a reference picture list.
  • the reference picture list 601 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 the 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 for referring to the reference picture Q0 in the reference picture memory 306.
  • FIG. 4 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. 4 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. 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 prediction flag and prediction list usage flag The relationship between the inter prediction flag and the prediction list use flags predFlagL0 and predFlagL1 can be mutually converted as follows. Therefore, as an inter prediction parameter, a prediction list use flag may be used, or an inter prediction flag may be used. In addition, hereinafter, the determination using the prediction list use flag may be replaced with the inter prediction flag. Conversely, the determination using the inter prediction flag can be performed by replacing the prediction list use flag.
  • >> is a right shift
  • is a left shift.
  • the prediction parameter decoding (encoding) method includes a merge prediction (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 prediction mode is a mode in which the prediction parameter already used is used as it is without including the prediction list use flag predFlagLX (inter prediction flag inter_pred_idx), the reference picture index refIdxLX, and the vector mvLX in the encoded data.
  • the prediction flag inter_pred_idx, the reference picture index refIdxLX, and the vector mvLX are included in the encoded data.
  • the vector mvLX is encoded as a prediction vector index mvp_LX_idx indicating a prediction vector and a difference vector (mvdLX).
  • the inter prediction flag 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 index mvp_LX_idx 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.
  • LX is a description method used when L0 prediction and L1 prediction are not distinguished.
  • 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.
  • the merge index merge_idx is an index indicating whether any prediction parameter is used as a prediction parameter of a decoding target block among prediction parameter candidates (merge candidates) derived from a block for which processing has been completed.
  • 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. 5 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.
  • 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, a prediction mode PredMode, a partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction flag inter_pred_idx, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference vector mvdLX.
  • 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 DCT (Discrete Cosine Transform, Discrete Cosine Transform) on the residual signal and quantizing it in the encoding process.
  • 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 intra prediction parameter decoding unit 304 may derive different intra prediction modes depending on luminance and color difference.
  • the intra prediction parameter decoding unit 304 decodes the luminance prediction mode IntraPredModeY as the luminance prediction parameter and the color difference prediction mode IntraPredModeC as the color difference prediction parameter.
  • the luminance prediction mode IntraPredModeY is a 35 mode and corresponds to planar prediction (0), DC prediction (1), and direction prediction (2 to 34).
  • the color difference prediction mode IntraPredModeC uses one of planar prediction (0), DC prediction (1), direction prediction (2, 3, 4), and LM mode (5).
  • the reference picture memory 306 stores the reference picture block (reference picture block) generated by the adding unit 312 at a predetermined position for each picture and block to be decoded.
  • 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 inter prediction parameters stored include, for example, a prediction list use flag predFlagLX (inter prediction flag inter_pred_idx), a reference picture index refIdxLX, and a vector mvLX.
  • the prediction image generation unit 308 receives the prediction mode predMode input from the entropy decoding unit 301 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 a prediction picture block P (prediction image) 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 parameter input from the inter prediction parameter decoding unit 303 and the read reference picture to perform the prediction picture block P by inter prediction. Is generated.
  • the predicted picture block P 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 decoding target block on which the prediction process is performed at a time.
  • the inter prediction image generation unit 309 performs, for a reference picture list (L0 list or L1 list) whose prediction list use flag predFlagLX is 1, from the reference picture indicated by the reference picture index refIdxLX, based on the decoding target block, as a vector mvLX
  • the reference picture block at the position indicated by is read from the reference picture memory 306.
  • the inter prediction image generation unit 309 performs prediction on the read reference picture block to generate a prediction picture block P.
  • the inter prediction image generation unit 309 outputs the generated prediction picture block P to the addition unit 312.
  • the intra prediction image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra prediction 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 the decoding target block among blocks that have already been decoded.
  • the predetermined range is, for example, any of the left, upper left, upper, and upper right adjacent blocks when the decoding target block sequentially moves in a so-called raster scan order, and varies depending on the intra prediction mode.
  • the raster scan order is an order in which each row is sequentially moved from the left end to the right end in each picture from the upper end to the lower end.
  • the intra-prediction image generation unit 310 performs prediction in the prediction mode indicated by the intra-prediction mode IntraPredMode for the read reference picture block, and generates a prediction picture block.
  • the intra predicted image generation unit 310 outputs the generated predicted picture block P to the addition unit 312.
  • the intra prediction image generation unit 310 performs planar prediction (0), DC prediction (1), direction according to the luminance prediction mode IntraPredModeY.
  • a prediction picture block of luminance is generated according to any of prediction (2 to 34), and planar prediction (0), DC prediction (1), direction prediction (2, 3, 4), LM according to the color difference prediction mode IntraPredModeC
  • a color difference prediction picture block is generated in any one of modes (5).
  • the regularization term is a term that is added as a parameter cost to the objective function in the prediction parameter derivation by the least square method.
  • the LM mode uses a processed image adjacent to the target block to derive a prediction parameter for predicting a color difference pixel value from the luminance pixel value, and based on the prediction parameter, from the processed luminance block, Generate color difference picture blocks. Such prediction is called LM prediction.
  • the prediction method is the same as that of an illuminance compensation unit 3093 described later.
  • the intra predicted image generation unit 310 that uses a regularization term in the derivation as a prediction parameter is referred to as an intra predicted image generation unit 310E.
  • the intra predicted image generation unit 310E includes a DC prediction unit 3101, a planar prediction unit 3102, a direction prediction unit 3103, and an LM prediction unit 3104E (not shown).
  • FIG. 80 is a block diagram illustrating a configuration of the LM prediction unit 3104E.
  • the LM prediction unit 3104E includes an LM parameter estimation unit 31041 and an LM filter unit 31042.
  • the LM parameter estimation unit 31041 includes an LM integrated shift value deriving unit 310411, an LM integrated value deriving unit 310412, an LM addition value deriving unit 310413, an LM first parameter deriving unit 310414, an LM second parameter deriving unit 310415, and an LM parameter a deriving unit.
  • the LM accumulated shift value deriving unit 310411 sets the accumulated shift value precShift to a value exceeding the accumulated shift value precShift when the bit depth bitDepth of the pixel exceeds a predetermined constant (here, 13) as in the following expression (LM-1). Only the integrated shift value precShift is derived. When it does not exceed, the integrated shift value precShift is set to 0.
  • precShift Max (0, bitDepth-13) Formula (LM-1)
  • the derived integrated shift value precShift is output to the LM integrated value deriving unit 310412, the LM first parameter deriving unit 310414, and the LM second parameter deriving unit 310415.
  • the LM parameter estimation unit 31041 displays the luminance image adjacent to the target block as the adjacent luminance image x [], the color difference image adjacent to the target block as the adjacent color difference image y [], and the adjacent luminance image x [] and the adjacent color difference.
  • Parameter a and parameter b are derived from image y [].
  • the LM addition value deriving unit 310413 derives the sum Y of the pixel values of the adjacent color difference image and the sum X of the pixel value of the adjacent luminance image by the following equations (LM-2) and (LM-3).
  • a sum with respect to the reference region, and a sum with respect to an index i specifying a pixel in the reference region is derived.
  • X, Y, XY, and XX are initialized to 0 before summation.
  • x [i] is the pixel value at index i of the adjacent luminance image.
  • y [i] is the pixel value at index i of the adjacent color difference image.
  • the count shift value iCountShift is a logarithm of 2 of the size (number of pixels) of the reference area.
  • the number of bits necessary for the calculation is twice the logarithm of the maximum value of the size of the reference area (the maximum value of the count shift iCountShift) twice the bit depth bitDepth of the pixel.
  • the maximum value of the luminance block size is 64
  • the maximum value of the color difference block size is 32
  • the maximum value of the size of the reference area is 64.
  • the maximum value of the count shift iCountShift is 6 from the logarithm of 2 of 64. Therefore, the required number of bits is bitDepth * 2 + 6.
  • bitDepth * 2 + 6 ⁇ 32
  • bitDepth ⁇ 13
  • bitDepth is 13 or less, it does not exceed 32 bits.
  • bitDepth exceeds 13
  • bitDepth-13 corresponding to the excess is derived as the integrated shift value precShift.
  • the expressions (LM-4) and (LM-5) have an effect of preventing exceeding the range of 32 bits by adding after shifting by the integrated shift value precShift in advance.
  • the LM first parameter deriving unit 310414 generates the sum XY of the product of the pixel value y of the adjacent color difference image and the pixel value x of the adjacent luminance image, the sum Y of the pixel value of the adjacent color difference image, and the sum X of the pixel value of the adjacent luminance image.
  • the first parameter a1 is derived from the difference between the products of
  • the LM second parameter deriving unit 310415 derives the second parameter a2 by the following expression from the difference between the square XX of the pixel values of the adjacent luminance image and the square of the sum X of the pixel values of the adjacent luminance image.
  • the LM first parameter deriving unit 310414 and the LM second parameter deriving unit 310415 are further fixed to a predetermined value when the sum of the count shift value iCountShift and the bit depth bitDepth is equal to or greater than a predetermined value (27 in this case).
  • the parameters a1 and a2 are shifted right by the parameter shift value (here, 4). That is, the following steps are executed.
  • FIG. 81 is a block diagram showing a configuration of the LM parameter a deriving unit 310416.
  • the LM parameter a derivation unit 310416 includes an LM first parameter clip unit 3104161, an LM first parameter shift unit 3104162, an LM second parameter shift unit 3104163, and an LM table base parameter a derivation unit 3104164.
  • the LM first parameter clip unit 3104161 limits the first parameter a1 according to the size of the second parameter a2. For example, as shown in the following expression, a1 is clipped to -3 * a2 or more and a2 * 3 or less.
  • a1 Clip3 (-3 * a2, 3 * a2, a1) formula (LM-12)
  • the LM first parameter shift unit 3104162 derives the first normalized shift value iScaleShiftA1 according to the following equation according to the magnitude of the first parameter a1.
  • the derived first normalized shift value iScaleShiftA1 is output to the LM table base parameter a derivation unit 3104164.
  • iScaleShiftA1 Max (0, GetMSB (abs (a1))-15) Formula (LM-13)
  • the LM second parameter shift unit 3104163 derives the second normalized shift value iScaleShiftA2 by the following equation according to the magnitude of the second parameter a2.
  • the derived second normalized shift value iScaleShiftA2 is output to the LM table base parameter a derivation unit 3104164.
  • iScaleShiftA2 Max (0, GetMSB (abs (a2))-6) Formula (LM-14)
  • the LM first parameter shift unit 3104162 and the LM second parameter shift unit 3104163 right-shift the first parameter a1 by the first normalized shift value iScaleShiftA1, the second parameter a2 by the second normalized shift value iScaleShiftA2,
  • One parameter a1s and a normalized second parameter a2s are derived.
  • a1s a1 >> iScaleShiftA1 formula (LM-15)
  • a2s a2 >> iScaleShiftA2 formula (LM-16)
  • the LM table base parameter a derivation unit 3104164 derives the parameter a shift value iScaleShiftA using the following equation.
  • ScaleShiftA iScaleShiftA2-iScaleShiftA1 + 15-iShift formula (LM-18)
  • the LM table base parameter a deriving unit 3104164 refers to the reciprocal table value invTable determined according to the normalized second parameter a2s, takes the product with the normalized first parameter a1s, and shifts to the right by the table shift value (ScaleShiftA).
  • the parameter a is derived by the following equation.
  • a (a1s * invTable [a2s]) ⁇ (-ScaleShiftA) formula (LM-19 ')
  • the value of the parameter a is the ratio of the first parameter a1 and the second parameter a2 (corresponding to a value obtained by shifting a1 / a2 to the left by iShift).
  • FIG. 84 shows the reciprocal table value invTable [] used in this embodiment.
  • the reciprocal invTable [x] in FIG. 84 becomes 0 when the index x is 0, and when the index is other than 0, the predetermined constant (2 to the 15th power here) M is divided by x to become an integer.
  • invTable [x] 0 (when x is 0)
  • Expression (T-1) invTable [x] Floor ((M / x / 2) / x) (when x is other than 0)
  • Floor (x) is a function that rounds off the decimal part.
  • the formula (T-2 ′) may be used. That is, it is not necessary to perform round adjustment for adding 1/2 times the divisor x.
  • invTable [x] Floor (M / x) (when x is other than 0) Expression (T-2 ')
  • the operation equivalent to division by a2s is realized by the product of the reciprocal table value invTable [a2s] corresponding to the reciprocal of a2s and the right shift corresponding to log2 (M) can do.
  • a problem-free result can be obtained even when the parameter a is set to 0 and the calculation is performed only by adding the parameter b.
  • the reciprocal table invTable [x] is not defined, another operation for setting the parameter a to 0 is used when x is 0, or the parameter a is set when x is 0. It is necessary to set 1 ⁇ iShift.
  • a parameter a clip unit may be provided, and the range of the parameter a may be clipped to ⁇ 128 or more and 127 or less, which is an 8-bit integer, by the following calculation.
  • the derived parameter a is output to the LM parameter b deriving unit 310417 and the LM filter unit 31042.
  • the LM parameter b deriving unit 310417 refers to a value obtained by subtracting a value right shifted by a fixed shift value iShift by multiplying the sum X of pixel values of the adjacent luminance image by the parameter a from the sum Y of pixel values of the adjacent color difference image.
  • the parameter b is derived by the following equation.
  • iCountShift (Y-((a * X) >> iShift) + (1 ⁇ (iCountShift-1))) >> iCountShift expression (LM-20) Note that the right shift of iCountShift corresponds to dividing by the number of pixels in the reference area.
  • the LM filter unit 31042 derives the color difference prediction image predSamplesC [] after the LM prediction from the luminance decoded image predSamplesY [] using the estimation parameter derived by the LM parameter estimation unit 31041.
  • the parameter b is derived from the equation (LM-20)
  • the following equation is used.
  • predSamplesC [x] [y] (a * predSamplesY [x / 2] [y / 2] >> iShift) + b formula (LM-21)
  • an LM parameter b deriving unit 310417 ′ having another configuration of the LM parameter b deriving unit 310417 may be used.
  • the value obtained by subtracting the value obtained by multiplying the sum X of the pixel values of the adjacent luminance image by the parameter a from the value obtained by shifting the sum Y of the pixel values of the adjacent color difference image by the fixed shift value iShift is the number of reference pixels.
  • the parameter b may be derived by the following equation by dividing by:
  • FIG. 82 is a block diagram illustrating a configuration of the LM regularization term addition unit 310418E.
  • the LM regularization term addition unit 310418E includes an LM regularization term derivation unit 3104180E, an LM first parameter regularization term addition unit 3104181E, and an LM second parameter regularization term addition unit 3104182E.
  • the LM regularization term derivation unit 3104180E derives the regularization term acost.
  • the LM first parameter regularization term addition unit 3104181E adds the regularization term to a parameter (for example, XY) used for derivation of the first parameter.
  • XY XY + acost formula (E-2)
  • the LM second parameter regularization term adding unit 3104182E adds the regularization term to a parameter (for example, XX) used for derivation of the second parameter.
  • XX XX + acost formula (E-3)
  • the addition of the regularization term may be performed by the LM first parameter deriving unit 310414 and the LM second parameter deriving unit 310415.
  • the first parameter and the second parameter are derived by the following equations instead of the equations (LM-7) and (LM-8).
  • a1 ((XY + acost) ⁇ iCountShift)-(Y * Y) >>precShift;
  • Formula (E-2 ') a2 ((XX + acost) ⁇ iCountShift)-(X * X) >>precShift;
  • Formula (E-3 ') In the configuration of the LM parameter estimation unit 31041E, as shown in FIG. 84, the reciprocal table invTable [x] is defined so as to be 0 when the index x is 0, and the reciprocal table invTable [x thus defined is defined.
  • the second parameter (normalized second parameter) derived from the difference between the square sum XX of the pixel values of the adjacent luminance image and the square of the sum x of the pixel values of the adjacent luminance image.
  • the appropriate parameter a can be obtained without changing the calculation method depending on whether the normalized second parameter (second parameter) is 0 or not. The effect of reducing the amount of processing can be obtained.
  • the index x is other than 0, it is appropriate to use a value obtained by dividing a predetermined value and a value obtained by dividing x by an integer for the reciprocal table invTable [x].
  • the sum XY of the product of the pixel value y of the adjacent color difference image and the pixel value x of the adjacent luminance image, the sum Y of the pixel value of the adjacent color difference image, and the sum of the pixel value of the adjacent luminance image When deriving the first parameter a1 derived from the difference between the products of X, the regularization term acost is added, and the sum XX of the squares of the pixel values of the adjacent luminance image and the pixel values of the adjacent luminance image The same regularization term acost is added when the second parameter a2 derived from the square difference of the sum X is derived.
  • the parameter a is derived from the first parameter a1 and the second parameter a2 to which the regularization term is added. As a result, the parameter a is substantially close to 1 (actually close to 1 ⁇ iShift using the fixed shift value iShift), so that the estimated parameter is robust when there is an outlier or the like. become.
  • the estimated parameters are robust, the estimation accuracy of LM prediction is improved and the coding efficiency is improved.
  • LM prediction unit 3104H LM prediction unit 3104H
  • the LM prediction unit 3104H which is a modification of the LM prediction unit 3104E, will be described.
  • FIG. 88 is a block diagram showing a configuration of the LM prediction unit 3104H.
  • the LM prediction unit 3104H includes an LM parameter estimation unit 31041H and an LM prediction filter unit 31042H.
  • the LM parameter estimation unit 31041H includes an LM addition value deriving unit 310413H, an LM first parameter deriving unit 310414H, an LM second parameter deriving unit 310415H, an LM parameter a deriving unit 310416H, an LM parameter b deriving unit 310417H, and an LM regularization term adding unit. 310418H.
  • the LM parameter estimation unit 31041H displays the luminance image adjacent to the target block as the adjacent luminance image x [], the color difference image adjacent to the target block as the adjacent color difference image y [], and the adjacent luminance image x [] and the adjacent color difference.
  • Parameter a and parameter b are derived from image y [].
  • the LM addition value deriving unit 310413H derives the sum Y of the pixel values of the adjacent color difference images and the sum X of the pixel values of the adjacent luminance images by the following equations (LM-2) and (LM-3).
  • ⁇ x [i] formula (LM-2)
  • Y ⁇ y [i] formula (LM-3)
  • is a sum with respect to the reference region, and a sum with respect to an index i specifying a pixel in the reference region is derived.
  • y [i] is the pixel value at index i of the decoded image
  • x [i] is the pixel value at index i of the reference image.
  • the count shift value iCountShift is a logarithm of 2 of the size (number of pixels) of the reference area.
  • the LM first parameter deriving unit 310414H derives the first parameter a1 from the sum Y of the pixel values of the adjacent color difference images by the following equation.
  • the LM second parameter deriving unit 310415H derives the second parameter a2 from the sum X of the pixel values x of the adjacent luminance images by the following expression.
  • a2 X formula (LM-8 ')
  • the derived first parameter a1 and second parameter a2 are output to the LM parameter a deriving unit 310416H.
  • FIG. 89 is a block diagram illustrating a configuration of the LM regularization term addition unit 310418H.
  • the LM regularization term addition unit 310418H includes an LM regularization term derivation unit 3104180H, an LM first regularization term addition unit 3104181H, and an LM second regularization term addition unit 3104182H.
  • the LM regularization term derivation unit 3104180H derives the regularization term acost from the sum X of the pixel values of the adjacent luminance images.
  • acost X >> ashift formula (LM-1 ')
  • ashift is a predetermined constant, and is used to adjust the size of the regularization term acost by the right shift.
  • the sum X of the pixel values of the adjacent luminance image and the sum Y of the pixel values of the adjacent color difference image are substantially equal. Therefore, even if the regularization term acost is derived from the sum Y of the pixel values of the adjacent color difference image. good.
  • the LM first parameter regularization term addition unit 3104181E adds the regularization term to a parameter (for example, Y) used for derivation of the first parameter.
  • the LM second parameter regularization term adding unit 3104182E adds the regularization term to a parameter (for example, X) used for deriving the second parameter.
  • X X + acost formula (LM-3 ')
  • the addition of the regularization term may be performed by the LM first parameter deriving unit 310414H and the LM second parameter deriving unit 310415H.
  • the first parameter and the second parameter are derived by the following expressions instead of the expressions (LM-7 ′′) and (LM-8 ′′).
  • FIG. 90 is a block diagram illustrating a configuration of the LM parameter a deriving unit 310416H.
  • the LM parameter a derivation unit 310416H includes an LM parameter clip unit 3104161H, an LM second normalization shift unit 3104163H, and an LM table base parameter a derivation unit 3104164H.
  • the LM second normalization shift unit 3104163H derives the second normalization shift value iScaleShiftA2 by the following equation according to the magnitude of the second parameter a2.
  • the derived LM second normalized shift value iScaleShiftA2 is output to the LM table base parameter a derivation unit 3104164H.
  • iScaleShiftA2 Max (0, GetMSB (abs (a2))-6) Formula (B-14)
  • the LM second normalization shift unit 3104163H right shifts the second parameter a2 by the second normalization shift value iScaleShiftA2, and derives the normalization second parameter a2s.
  • a2s a2 >> iScaleShiftA2 formula (B-16)
  • the LM table base parameter a deriving unit 3104164H derives the parameter a shift value ScaleShiftA by the following equation.
  • the LM table base parameter a deriving unit 3104164H refers to the reciprocal table value invTable determined according to the normalized second parameter a2s as in the following equation, takes the product with the normalized first parameter a1, and obtains the table shift value.
  • Parameter a is derived by shifting right with ScaleShiftA.
  • FIG. 84 shows the reciprocal table value invTable [] used in this embodiment.
  • the reciprocal invTable [x] in FIG. 84 becomes 0 when the index x is 0, and when the index x is other than 0, a predetermined constant M (here, 2 to the 15th power) is x. Derived from the integer value obtained by dividing.
  • parameter a corresponds to the ratio of the first parameter a1 and the second parameter a2 (a1 / a2 is left-shifted by iShift).
  • the LM parameter clip unit 3104161H clips the range of parameter a to -128 or more and 127 or less, which is an 8-bit integer variable, by the following calculation.
  • a Clip3 (-128, 127, a) formula (LM-12 ') It should be noted that other values may be used as long as the minimum value of the clip range is ⁇ 128 or more and the maximum value is 127 or less. For example, the following ranges may be used.
  • LM parameter b deriving unit 310417 derives the parameter b using the equation (LM-20) as already described.
  • the LM filter unit 31042H derives the color difference prediction image predSamplesC [] after the LM prediction from the luminance decoded image predSamplesY [] using the estimation parameters a and b derived by the LM parameter estimation unit 31041H.
  • the LM filter unit 31042 subtracts (1 ⁇ (bitDepth-1)) from the luminance decoded image predSamplesY [] when the bit depth of the pixel is bitDepth as in the following equation (LM-21 ′)
  • the value a is multiplied by the parameter a, right-shifted by the shift value iShift, and the parameter b and (1 ⁇ (bitDepth-1)) are added to derive the color difference prediction image predSamplesC []. .
  • predSamplesC [x] [y] (a * (predSamplesY [x / 2] [y / 2]-(1 ⁇ (bitDepth-1))) >> iShift) + b + (1 ⁇ (bitDepth-1) )
  • bitDepth 8 bits
  • the range of predSamplesY is 0 to 255 and (1 ⁇ (bitDepth-1)) is 128, so predSamplesY [x / 2] [y / 2]-(1 ⁇ ( bitDepth-1)) is an 8-bit integer ranging from -128 to 127.
  • the parameter a is clipped so as to be -128 to 127, the product of the value obtained by subtracting a predetermined value from the pixel value and the parameter a can be processed by an arithmetic operation between 8-bit integers.
  • the same regularization term is added to the first parameter a1 and the second parameter a2, and then the parameter a having a value corresponding to the ratio between the first parameter a1 and the second parameter a2 is calculated.
  • the regularization term may be generated from the sum X of the pixel values x of the adjacent luminance images, or may be generated from the sum Y of the pixel values y of the adjacent color difference images.
  • the table shift value ScaleShiftA is always 0 or more. Therefore, depending on whether or not the table shift value ScaleShiftA is 0 or more (positive), without switching between the right shift expression (LM-19) and the left shift expression (LM-19 '), It can be derived only with a right shift.
  • the reciprocal table invTable [x] is defined so as to be 0 when the index x is 0, and the reciprocal table invTable [x] defined in this way is defined. Is derived by subtracting the parameter a based on the second parameter (normalized second parameter) derived from the sum Y of the pixel values y of the decoded image, thereby obtaining the second parameter (normalized second parameter). Depending on whether or not is 0, an appropriate parameter a can be obtained without changing the calculation method, so that the processing amount is reduced.
  • the parameter a is clipped to the 8-bit non-negative integer range by the LM parameter clip unit 3104161H. Therefore, when the bit depth of the pixel value is 8 bits, the parameter a and the pixel value Can be processed as a product of 8-bit non-negative integers, so that the processing by SIMD calculation or the like is facilitated.
  • the parameter a is clipped to an 8-bit integer range by the LM parameter clipping unit 3104161H. Therefore, when the bit depth of the pixel value is 8 bits, the parameter a and the pixel value Since the product can be processed as a product of 8-bit integers, there is an effect that the processing by SIMD calculation or the like becomes easy.
  • the processing amount is reduced.
  • a configuration in which the LM parameter a derivation unit 310416H2 is used instead of the LM parameter a derivation unit 310416H in the LM parameter estimation unit 31041H in the LM prediction unit 3104H is also possible.
  • FIG. 91 is a block diagram showing a configuration of the LM parameter a deriving unit 310416H2.
  • the LM parameter a derivation unit 310416H2 includes an LM parameter clip unit 3104161H and an LM division parameter a derivation unit 3104165H.
  • the LM division parameter a deriving unit 3104165H derives the parameter a from the following equation based on the ratio of the first parameter and the second parameter.
  • the LM parameter clipping unit 3104161H clips the range of the parameter a to the range of the 8-bit non-negative variable.
  • the same regularization term is added to the first parameter a1 and the second parameter a2, and then the parameter a having a value corresponding to the ratio between the first parameter a1 and the second parameter a2 is calculated.
  • the parameter a is clipped to an 8-bit integer range by the LM parameter clipping unit 3104161H. Therefore, when the bit depth of the pixel value is 8 bits, the parameter a and the pixel value Since the product can be processed as a product of 8-bit integers, there is an effect that the processing by SIMD calculation or the like becomes easy.
  • the LM parameter a derivation unit 310416H2 uses division to derive the parameter a. Division is an operation that is relatively complicated. However, the accuracy of the parameter a is improved by that amount, so that the encoding efficiency is increased.
  • 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, 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 addition unit 312 and the residual storage unit 313.
  • the adder 312 outputs the prediction picture block P input from the inter prediction image generation unit 309 and the intra prediction image generation unit 310 and the signal value of the decoded residual signal input from the inverse quantization / inverse DCT unit 311 for each pixel. Addition to generate a reference picture block.
  • the adder 312 stores the generated reference picture block in the reference picture memory 306, and outputs a decoded layer image Td in which the generated reference picture block is integrated for each picture to the outside. (Configuration of inter prediction parameter decoding unit) Next, the configuration of the inter prediction parameter decoding unit 303 will be described.
  • FIG. 6 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 derivation unit 3032, an addition unit 3035, and a merge prediction parameter derivation unit 3036.
  • the inter prediction parameter decoding control unit 3031 instructs the entropy decoding unit 301 to decode a code related to inter prediction (the syntax element) includes, for example, a division mode part_mode, a merge included in the encoded data.
  • a flag merge_flag, a merge index merge_idx, an inter prediction flag inter_pred_idx, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference vector mvdLX are extracted.
  • the inter prediction parameter decoding control unit 3031 first extracts a merge flag.
  • the inter prediction parameter decoding control unit 3031 expresses that a certain syntax element is to be extracted, it means that the entropy decoding unit 301 is instructed to decode a certain syntax element, and the corresponding syntax element is read from the encoded data. To do.
  • the inter prediction parameter decoding control unit 3031 extracts the merge index merge_idx as a prediction parameter related to merge prediction.
  • the inter prediction parameter decoding control unit 3031 outputs the extracted merge index merge_idx to the merge prediction parameter deriving unit 3036.
  • the inter prediction parameter decoding control unit 3031 uses the entropy decoding unit 301 to extract the AMVP prediction parameter from the encoded data.
  • the AMVP prediction parameters include an inter prediction flag inter_pred_idc, a reference picture index refIdxLX, a vector index mvp_LX_idx, and a difference vector mvdLX.
  • the inter prediction parameter decoding control unit 3031 outputs the prediction list use flag predFlagLX derived from the extracted inter prediction flag inter_pred_idx and the reference picture index refIdxLX to the AMVP prediction parameter derivation unit 3032 and the prediction image generation unit 308 (FIG. 5).
  • the inter prediction parameter decoding control unit 3031 outputs the extracted vector index mvp_LX_idx to the AMVP prediction parameter derivation unit 3032.
  • the inter prediction parameter decoding control unit 3031 outputs the extracted difference vector mvdLX to the addition unit 3035.
  • FIG. 7 is a schematic diagram illustrating the configuration of the merge prediction parameter deriving unit 3036 according to the present embodiment.
  • the merge prediction parameter derivation unit 3036 includes a merge candidate derivation unit 30361 and a merge candidate selection unit 30362.
  • the merge candidate derivation unit 30361 includes a merge candidate storage unit 303611, an extended merge candidate derivation unit 303612, and a basic merge candidate derivation unit 303613.
  • the merge candidate storage unit 303611 stores the merge candidates input from the extended merge candidate derivation unit 303612 and the basic merge candidate derivation unit 303613.
  • the merge candidate includes a prediction list use flag predFlagLX, a vector mvLX, and a reference picture index refIdxLX.
  • an index is assigned to the stored merge candidates according to a predetermined rule. For example, “0” is assigned as an index to the merge candidate input from the extended merge candidate derivation unit 303612.
  • the extended merge candidate derivation unit 303612 includes a displacement vector acquisition unit 3036122, an interlayer merge candidate derivation unit 3036121, and an interlayer displacement merge candidate derivation unit 3036123.
  • the displacement vector acquisition unit 3036122 first acquires displacement vectors in order from a plurality of candidate blocks adjacent to the decoding target block (for example, blocks adjacent to the left, upper, and upper right). Specifically, one of the candidate blocks is selected, and whether the selected candidate block vector is a displacement vector or a motion vector is determined by using a reference picture index refIdxLX of the candidate block as a reference layer determination unit 303111 (described later). ), If there is a displacement vector, it is set as the displacement vector. If there is no displacement vector in the candidate block, the next candidate block is scanned in order.
  • the displacement vector acquisition unit 3036122 When there is no displacement vector in the adjacent block, the displacement vector acquisition unit 3036122 attempts to acquire the displacement vector of the block at the position corresponding to the target block of the block included in the reference picture in the temporally different display order. When the displacement vector cannot be acquired, the displacement vector acquisition unit 3036122 sets a zero vector as the displacement vector. The displacement vector acquisition unit 3036122 outputs the displacement vector to the inter-layer merge candidate derivation unit 3036121 and the inter-layer displacement merge candidate derivation unit.
  • Interlayer merge candidate derivation unit 3036121 receives the displacement vector from displacement vector acquisition unit 3036122.
  • the inter-layer merge candidate derivation unit 3036121 selects a block indicated only by the displacement vector input from the displacement vector acquisition unit 3036122 from a picture having the same POC as the decoding target picture of another layer (eg, base layer, base view).
  • the prediction parameter which is a motion vector included in the block, is read from the prediction parameter memory 307. More specifically, the prediction parameter read by the inter-layer merge candidate derivation unit 3036121 is a prediction parameter of a block including coordinates obtained by adding a displacement vector to the coordinates of the starting point when the center point of the target block is the starting point. .
  • the coordinates (xRef, yRef) of the reference block are the coordinates of the target block (xP, yP), the displacement vector (mvDisp [0], mvDisp [1]), and the width and height of the target block are nPSW, nPSH. Is derived by the following equation.
  • xRef Clip3 (0, PicWidthInSamples L -1, xP + ((nPSW-1) >> 1) + ((mvDisp [0] +2) >> 2))
  • yRef Clip3 (0, PicHeightInSamples L -1, yP + ((nPSH-1) >> 1) + ((mvDisp [1] +2) >> 2))
  • the inter-layer merge candidate derivation unit 3036121 determines whether or not the prediction parameter is a motion vector in the determination method of a reference layer determination unit 303111 (described later) included in the inter-prediction parameter decoding control unit 3031 (not a displacement vector). The determination is made according to the determined method.
  • the inter-layer merge candidate derivation unit 3036121 outputs the read prediction parameters as merge candidates to the merge candidate storage unit 303611. Moreover, when the prediction parameter cannot be derived, the inter layer merge candidate derivation unit 3036121 outputs that fact to the inter layer displacement merge candidate derivation unit.
  • This merge candidate is a motion prediction inter-layer candidate (inter-view candidate) and is also referred to as an inter-layer merge candidate (motion prediction).
  • Interlayer displacement merge candidate derivation unit 3036123 receives a displacement vector from displacement vector acquisition unit 3036122.
  • the inter-layer displacement merge candidate derivation unit 3036123 merges the input displacement 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). Is output to the merge candidate storage unit 303611.
  • This merge candidate is a displacement prediction inter-layer candidate (inter-view candidate) and is also referred to as an inter-layer merge candidate (displacement prediction).
  • the basic merge candidate derivation unit 303613 includes a spatial merge candidate derivation unit 3036131, a temporal merge candidate derivation unit 3036132, a merge merge candidate derivation unit 3036133, and a zero merge candidate derivation unit 3036134.
  • the spatial merge candidate derivation unit 3036131 reads the prediction parameters (prediction list use 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 merge candidates.
  • the prediction parameter to be read is a prediction parameter relating to each of the blocks within a predetermined range from the decoding target block (for example, all or a part of the blocks in contact with the lower left end, upper left upper end, and upper right end of the decoding target block, respectively). is there.
  • the derived merge candidates are stored in the merge candidate storage unit 303611.
  • the temporal merge candidate derivation unit 3036132 reads the prediction parameter of the block in the reference image including the lower right coordinate of the decoding target block from the prediction parameter memory 307 and sets it as a merge candidate.
  • the reference picture designation method may be, for example, the reference picture index refIdxLX designated in the slice header, or may be designated using the smallest reference picture index refIdxLX of the block adjacent to the decoding target block. .
  • the derived merge candidates are stored in the merge candidate storage unit 303611.
  • the merge merge candidate derivation unit 3036133 derives merge merge candidates by combining two different derived merge candidate vectors and reference picture indexes already 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 3036134 derives a merge candidate in which the reference picture index refIdxLX is 0 and both the X component and the Y component of the vector mvLX are 0.
  • the derived merge candidates are stored in the merge candidate storage unit 303611.
  • the merge candidate selection unit 30362 selects a merge candidate assigned with an index corresponding to the merge index merge_idx input from the inter prediction parameter decoding control unit 3031 among the merge candidates stored in the merge candidate storage unit 303611. As an inter prediction parameter.
  • the merge candidate selection unit 30362 stores the selected merge candidate in the prediction parameter memory 307 (FIG. 5) and outputs it to the prediction image generation unit 308 (FIG. 5).
  • FIG. 8 is a schematic diagram showing a configuration of the AMVP prediction parameter derivation unit 3032 according to the present embodiment.
  • the AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033 and a prediction vector selection unit 3034.
  • the vector candidate derivation unit 3033 reads out a vector (motion vector or displacement vector) stored in the prediction parameter memory 307 (FIG. 5) as a vector candidate mvpLX based on the reference picture index refIdx.
  • the vector to be read is a vector related to each of the blocks within a predetermined range from the decoding target block (for example, all or a part of the blocks in contact with the lower left end, the upper left upper end, and the upper right end of the decoding target block, respectively).
  • the prediction vector selection unit 3034 selects a vector candidate indicated by the vector index mvp_LX_idx input from the inter prediction parameter decoding control unit 3031 among the vector candidates read 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.
  • FIG. 9 is a conceptual diagram showing an example of vector candidates.
  • a predicted vector list 602 illustrated in FIG. 9 is a list including a plurality of vector candidates derived by the vector candidate deriving unit 3033.
  • five rectangles arranged in a line on the left and right indicate areas indicating prediction vectors, respectively.
  • the downward arrow directly below mvp_LX_idx, which is the second from the left end, and mvpLX below the mvp_LX_idx indicate that the vector index mvp_LX_idx is an index that refers to the vector mvpLX in the prediction parameter memory 307.
  • the candidate vector is a block for which the decoding process has been completed, and is generated based on a vector related to the referenced block with reference to a block (for example, an adjacent block) in a predetermined range from the decoding target block.
  • the adjacent block has a block that is spatially adjacent to the target block, for example, the left block and the upper block, and a block that is temporally adjacent to the target block, for example, the same position as the target block, and has a different display time. Contains blocks derived from blocks.
  • 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 (FIG. 5). (Configuration of inter prediction parameter decoding control unit) Next, the configuration of the inter prediction parameter decoding control unit 3031 will be described. As illustrated in FIG.
  • the inter prediction parameter decoding control unit 3031 includes an additional prediction flag decoding unit 30311, a merge index decoding unit 30312, a vector candidate index decoding unit 30313, and a split mode decoding unit, a merge flag decoding unit, not illustrated, An inter prediction flag decoding unit, a reference picture index decoding unit, and a vector difference decoding unit are configured.
  • the partition mode decoding unit, the merge flag decoding unit, the merge index decoding unit, the inter prediction flag decoding unit, the reference picture index decoding unit, the vector candidate index decoding unit 30313, and the vector difference decoding unit are respectively divided mode part_mode, merge flag merge_flag, merge
  • the index merge_idx, inter prediction flag inter_pred_idx, reference picture index refIdxLX, prediction vector index mvp_LX_idx, and difference vector mvdLX are decoded.
  • the additional prediction flag decoding unit 30311 decodes a flag xpred_flag indicating whether or not additional prediction is performed.
  • additional prediction means residual prediction or illuminance compensation, which will be described later, and indicates prediction that is additionally performed for normal motion compensation and displacement compensation.
  • a flag indicating whether or not residual prediction is performed is expressed as res_pred_flag
  • a flag indicating whether or not illumination compensation is performed is expressed as ic_enable_flag.
  • the decoded additional prediction flag xpred_flag (res_pred_flag, ic_enable_flag) is output to the inter predicted image generation unit 309.
  • the inter prediction parameter decoding control unit 3031 includes an internal displacement described later. Using the vector acquisition unit, the displacement vector mvDisp of the target PU is extracted and output to the inter predicted image generation unit 309. Note that a residual prediction weight res_pred_weight, which is a flag indicating a residual prediction weight, may be used instead of the residual prediction flag res_pred_flag which is a flag indicating whether to perform residual prediction.
  • Residual prediction is not performed when res_pred_weight is 0, residual prediction is performed with weight 1 when res_pred_weight is 1, and residual prediction is performed with weight 1/2 when res_pred_weight is 2.
  • a residual prediction mode res_pred_mode that is a flag indicating the type of residual prediction may be used.
  • res_pred_mode When res_pred_mode is 0, residual prediction is not performed.
  • res_pred_mode is 1, first residual prediction is performed.
  • res_pred_mode is 2, residual prediction is performed using second residual prediction. . Note that the first residual prediction and the second residual prediction are different from each other in the method of deriving the residual.
  • the additional prediction flag decoding unit 30311 includes an additional prediction flag determination unit 30314 inside.
  • the additional prediction flag determination unit 30314 determines whether or not the additional prediction flag xpred_flag is included in the encoded data (whether or not it is read out from the encoded data and decoded). The determination result is derived as xpred_flag_exists with 1 being included in the encoded data and 0 being not included.
  • the additional prediction flag decoding unit 30311 causes the entropy decoding unit 301 to The decoding of the additional prediction flag is notified, and the syntax element corresponding to the additional prediction flag is extracted from the encoded data through the entropy decoding unit 301.
  • the additional prediction flag determination unit 30314 determines that it is not included in the encoded data (when xpred_flag_exists is 0), a value indicating the additional prediction (here, 1) is derived (infer). )
  • the additional prediction flag determination unit 30314 will be described later.
  • the displacement vector acquisition unit When the block adjacent to the target PU has a displacement vector, the displacement vector acquisition unit extracts the displacement vector from the prediction parameter memory 307, refers to the prediction parameter memory 307, and predicts the prediction flag of the block adjacent to the target PU. Read predFlagLX, reference picture index refIdxLX and vector mvLX.
  • the displacement vector acquisition unit includes a reference layer determination unit 303111 therein. The displacement vector acquisition unit sequentially reads prediction parameters of blocks adjacent to the target PU, and determines whether the adjacent block has a displacement vector from the reference picture index of the adjacent block using the reference layer determination unit 303111. If the adjacent block has a displacement vector, the displacement vector is output. If there is no displacement vector in the prediction parameter of the adjacent block, the zero vector is output as the displacement vector.
  • the reference layer determination unit 303111 Based on the input reference picture index refIdxLX, the reference layer determination unit 303111 determines reference layer information reference_layer_info indicating the relationship between the reference picture indicated by the reference picture index refIdxLX and the target picture.
  • the reference layer information reference_layer_info is information indicating whether the vector mvLX to the reference picture is a displacement vector or a motion vector.
  • Prediction when the target picture layer and the reference picture layer are the same layer is called the same layer prediction, and the vector obtained in this case is a motion vector.
  • Prediction when the target picture layer and the reference picture layer are different layers is called inter-layer prediction, and the vector obtained in this case is a displacement vector.
  • the reference layer determination unit 303111 may use any one of the first determination method to the third determination method, or any combination of these methods.
  • the reference layer determination unit 303111 displaces the vector mvLX. Judged to be a vector.
  • the POC is a number indicating the order in which pictures are displayed, and is an integer (discrete time) indicating the display time when the pictures are acquired.
  • the reference layer determination unit 303111 determines that the vector mvLX is a motion vector.
  • the reference layer determination unit 303111 determines that the vector mvLX is a displacement vector, for example, using the following equation: To do.
  • POC is the POC of the picture to be decoded
  • RefPOC (X, Y) is the POC of the reference picture specified by the reference picture index X and the reference picture list Y.
  • a reference picture with a POC equal to the POC of the picture to be decoded can be referred to means that the layer of the reference picture is different from the layer of the picture to be decoded. Therefore, when the POC of the decoding target picture is equal to the POC of the reference picture, it is determined that inter-layer prediction has been performed (displacement vector), and otherwise the same-layer prediction has been performed (motion vector).
  • the reference layer determination unit 303111 may determine that the vector mvLX is a displacement vector when the viewpoint related to the reference picture indicated by the reference picture index refIdxLX is different from the viewpoint related to the decoding target picture. Specifically, when the view ID view_id of the reference picture indicated by the reference picture index refIdxLX is different from the view ID view_id of the decoding target picture, the reference layer determination unit 303111 determines that the vector mvLX is a displacement vector, for example, using the following equation: To do.
  • ViewID is the view ID of the decoding target picture
  • RefViewID (X, Y) is the view ID of the reference picture specified by the reference picture index X and the reference picture list Y.
  • the view ID view_id is information for identifying each viewpoint image.
  • the difference vector dvdLX related to the displacement vector is obtained between pictures of different viewpoints and cannot be obtained between pictures of the same viewpoint. If it is not determined as a displacement vector, the reference layer determination unit 303111 determines that the vector mvLX is a motion vector.
  • the reference layer determination unit 303111 uses the vector mvLX as a displacement vector (inter-layer prediction is performed), and otherwise. Is determined as a motion vector (the same layer prediction has been performed).
  • the reference layer determination unit 303111 determines that the vector mvLX is a displacement vector when the layer IDlayer_id related to the reference picture indicated by the reference picture index refIdxLX is different from the layer IDlayer_id related to the decoding target picture, for example, using the following equation: May be.
  • layerID! RelayerID (refIdxLX, ListX)
  • layerID is the layer ID of the picture to be decoded
  • RelayerID (X, Y) is the layer ID of the reference picture specified by the reference picture index X and reference picture list Y.
  • the layer IDlayer_id is data for identifying each layer when one picture includes data of a plurality of layers (layers).
  • the layer ID is based on having different values depending on the viewpoint. That is, the difference vector dvdLX related to the displacement vector is a vector obtained between the target picture and a picture related to a different layer. If it is not determined as a displacement vector, the reference layer determination unit 303111 determines that the vector mvLX is a motion vector.
  • the reference layer determination unit 303111 determines that the vector mvLX is a displacement vector (inter-layer prediction is performed), and otherwise is a motion vector (the same layer prediction is performed).
  • FIG. 11 is a schematic diagram illustrating a configuration of the inter predicted image generation unit 309 according to the present embodiment.
  • the inter prediction image generation unit 309 includes a motion displacement compensation unit 3091, a residual prediction unit 3092, an illuminance compensation unit 3093, and a weight prediction unit 3094.
  • the motion displacement compensation unit 3091 is designated by the reference picture index refIdxLX from the reference picture memory 306 based on the prediction list use flag predFlagLX, the reference picture index refIdxLX, and the motion vector mvLX input from the inter prediction parameter decoding unit 303.
  • a motion displacement compensation image is generated by reading out a block at a position shifted by the vector mvLX starting from the position of the target block of the reference picture.
  • a motion displacement compensation image is generated by applying a filter for generating a pixel at a decimal position called a motion compensation filter (or displacement compensation filter).
  • the above processing is called motion compensation
  • the vector mvLX is a displacement vector
  • it is called displacement compensation
  • it is collectively referred to as motion displacement compensation
  • the L0 predicted motion displacement compensation image is referred to as predSamplesL0
  • the L1 predicted motion displacement compensation image is referred to as predSamplesL1.
  • predSamplesLX When both are not distinguished, they are called predSamplesLX.
  • These output images are also referred to as motion displacement compensation images predSamplesLX.
  • the input image is expressed as predSamplesLX
  • the output image is expressed as predSamplesLX ′.
  • the residual prediction unit 3092 performs residual prediction on the input motion displacement compensation image predSamplesLX.
  • the residual prediction flag res_pred_flag is 0, the input motion displacement compensation image predSamplesLX is output as it is.
  • residual prediction is performed on the motion displacement compensation image predSamplesLX obtained by the motion displacement compensation unit 3091. I do.
  • Residual prediction is a motion displacement compensation image that is an image obtained by predicting a residual of a reference layer (first layer image) different from a target layer (second layer image) that is a target of predicted image generation. This is done by adding to predSamplesLX. That is, assuming that the same residual as that of the reference layer also occurs in the target layer, the already derived residual of the reference layer is used as an estimated value of the residual of the target layer. In the base layer (base view), only the image of the same layer becomes the reference image. Therefore, when the reference layer (first layer image) is a base layer (base view), the predicted image of the reference layer is a predicted image by motion compensation, and thus depends on the target layer (second layer image). Also in prediction, residual prediction is effective in the case of a predicted image by motion compensation. That is, the residual prediction has a characteristic that it is effective when the target block is motion compensation.
  • the residual prediction unit 3092 includes a residual acquisition unit 30921 (not shown) and a residual filter unit 30922.
  • FIG. 12 is a diagram for explaining residual prediction.
  • the corresponding block corresponding to the target block on the target layer is a block whose position is shifted by a displacement vector mvDisp, which is a vector indicating the positional relationship between the reference layer and the target layer, starting from the position of the target block of the image on the reference layer. Located in. Therefore, the residual at the position shifted by the displacement vector mvDisp is used as the residual used for residual prediction.
  • the residual acquisition unit 30921 derives a pixel at a position where the coordinates (x, y) of the pixel of the target block are shifted by the integer pixel component of the displacement vector mvDisp of the target block. Considering that the displacement vector mvDisp has decimal precision, the residual acquisition unit 30921 is adjacent to the X coordinate xR0 of the pixel R0 corresponding to the pixel coordinate of the target block (xP, yP) and the pixel R0.
  • the X coordinate xR1 of the pixel R1 is derived by the following equation.
  • xR0 Clip3 (0, PicWidthInSamples L -1, xP + x + (mvDisp [0] >> 2))
  • xR1 Clip3 (0, PicWidthInSamples L -1, xP + x + (mvDisp [0] >> 2) +1)
  • Clip3 (x, y, z) is a function that limits (clips) z to be greater than or equal to x and less than or equal to y.
  • mvDisp [0] >> 2 is an expression for deriving an integer component in a 1/4 pel precision vector.
  • the residual acquisition unit 30921 determines the weighting factor w0 of the pixel R0 according to the decimal pixel position (mvDisp [0]-((mvDisp [0] >> 2) ⁇ 2)) specified by the displacement vector mvDisp. Then, the weighting factor w1 of the pixel R1 is derived by the following equation.
  • the residual acquisition unit 30921 acquires the residuals of the pixel R0 and the pixel R1 from the residual storage unit 313 using refResSamples L [xR0, y] and refResSamples L [xR1, y].
  • the residual filter unit 30922 derives the estimated residual deltaL using the following equation.
  • the residual acquisition unit 30921 may acquire only the pixel xR0 as the pixel corresponding to the pixel of the target block, and derive the estimated residual deltaL using the following equation.
  • the residual filter unit 30922 adds the estimated residual deltaL to the motion displacement image predSamplesLX input to the residual prediction unit 3092 and outputs it as a motion displacement image predSamplesLX ′.
  • predSamplesLX ′ [x, y] predSamplesLX [x, y] + delta L
  • bit width of the residual is obtained when the number of bits of the pixel is BitDepthY.
  • BitDepthY can be limited to BitDepthY.
  • a memory generally referred to as a RAM (SRAM, DRAM, DDRAM) stores information in units of 8 bits.
  • the range of residuals to be stored when the pixel bit width is 8 bits, which is the most frequently used case.
  • reading with a limited residual range can reduce the bandwidth required for performing memory transfer when reading from the residual storage unit 313, and also contributes to an improvement in reading speed. .
  • the residual range restriction may be performed not at the time of residual reading by the residual acquisition unit 30921 but at the time of storing the residual by the residual storage unit 313.
  • the residual prediction unit 3092A includes a residual acquisition unit 30921A and a residual filter unit 30922.
  • the residual prediction unit 3092A includes a residual acquisition unit 30921A and a residual filter unit 30922.
  • the residual acquisition unit 30921A of the modification reads out the residual of the reference layer, the residual acquisition unit 30921A refers only to a pixel at a position where the resolution in the horizontal direction and / or the vertical direction is thinned by N (where N is a predetermined value) Magnification).
  • the coordinates for reading out the residual are shifted to the right by a predetermined bit (here, K), and further left-shifted by the same predetermined bit K, thereby ignoring the lower K bits.
  • the residual of the position where the lower bits are ignored is not read.
  • the residual prediction unit 3092A derives the coordinates xR0 and xR1 by the above shift operation ignoring the lower K bits of the coordinates, the coordinates xx before the lower bits are ignored, and the lower K bits after the lower K bits are ignored.
  • Weight coefficients w0 and w1 may be derived from the coordinates xxx, and the estimated residual deltaL may be obtained from the following equation by linear prediction.
  • the residual prediction unit 3092A may derive the coordinate xR0 by the above shift operation ignoring the lower K bits of the coordinate, and obtain the estimated residual deltaL from the following equation.
  • the residual prediction unit 3092B of the modified example derives a pixel by linear interpolation when the displacement vector mvDisp has decimal precision for the luminance component, and uses a neighboring integer pixel without using linear interpolation for the color difference component.
  • the displacement vector mvDisp has not only the horizontal component mvDisp [0] but also the vertical component mvDisp [1].
  • FIG. 67 is a diagram illustrating a configuration of the residual prediction unit 3092B.
  • the residual prediction unit 3092B includes a residual acquisition unit 30921B and a residual filter unit 30922B.
  • the residual acquisition unit 30921B includes a displacement derivation unit 309221B, a luminance residual acquisition unit 309212B, and a color difference residual acquisition unit 309213B.
  • the residual filter unit 30922B includes a luminance residual interpolation unit 309221B, a luminance residual addition unit 309222B, and a color difference residual addition unit 309224B.
  • the luminance residual interpolation unit 309221B derives the horizontal weighting factors w0 and w1 and the vertical weighting factors w2 and w3 of the luminance components based on the decimal precision of the displacement vector mvDisp.
  • the luminance residual interpolation unit 309221B derives a prediction residual delta by linear interpolation in the horizontal and vertical directions according to the following formula.
  • refResSample [] is a residual stored in the residual storage unit 313, and is acquired by the luminance residual acquisition unit 309212B.
  • xR0, xR1, yR0, and yR1 indicate the coordinates of the reference destination, and are derived by the following expression based on the integer component of the displacement vector mvDisp.
  • xR0 Clip3 (0, PicWidthInSampleL-1, xP + x + (mvDisp [0] >> 2))
  • xR1 Clip3 (0, PicWidthInSampleL-1, xR0 + 1)
  • yR0 Clip3 (0, PicHeightInSampleL-1, yP + y + (mvDisp [1] >> 2))
  • yR1 Clip3 (0, PicHeightInSampleL-1, yR0 + 1)
  • the luminance residual adding unit 309222B is a prediction image predSampleLX before residual prediction.
  • the derived prediction residual delta is added to [] to obtain a prediction image predSampleLX ′ [] after the residual prediction.
  • deltaC refResSampleC [xRC0, yRC0]
  • xRC0, yRC0 are coordinates derived by the following expression.
  • predSampleLX ⁇ [x, y] predSampleLX [x, y] + deltaC
  • FIG. 68 is a flowchart for explaining the operation of the residual prediction unit 3092B.
  • S4002 Start of loop for pixels in prediction block. If the prediction block is an nW ⁇ nH block, the loop is repeated nW ⁇ nH times.
  • S4003 It is determined whether the prediction block is a luminance component or a color difference component. If it is a luminance component, the process proceeds to S4004. If it is a color difference component, the process proceeds to S4005.
  • the luminance residual acquisition unit 309212B acquires a plurality of luminance residuals.
  • the color difference residual acquisition unit 309213B acquires one color difference residual and derives a prediction residual.
  • FIG. 69 is a diagram illustrating a configuration of the residual prediction unit 3092C.
  • the residual prediction unit 3092C includes a residual acquisition unit 30921C and a residual filter unit 30922C.
  • the residual acquisition unit 30921C includes a displacement derivation unit 309221C, a luminance residual acquisition unit 309212C, and a color difference residual acquisition unit 309213C.
  • the residual filter unit 30922C includes a luminance residual interpolation unit 309221C, a luminance residual addition unit 309222C, and a color difference residual addition unit 309224C.
  • the displacement deriving unit 309212C refers to the vector of the block adjacent to the target block, derives the displacement vector mvDisp, and outputs it to the luminance residual acquisition unit 309212C, the chrominance residual acquisition unit 309213C, and the luminance residual interpolation unit 309221C.
  • the luminance residual interpolation unit 309221C derives the horizontal weighting factors w0 and w1 and the vertical weighting factors w2 and w3 of the luminance components based on the decimal precision of the displacement vector mvDisp.
  • the luminance residual interpolation unit 309221C derives a prediction residual delta by linear interpolation in the horizontal direction and the vertical direction according to the following formula.
  • the luminance residual acquisition unit 309212C refers to the residual from the residual storage unit 313, the luminance residual acquisition unit 309212C limits (clips) the residual value range using the following equation.
  • KY is a constant and is assumed to be any one of 1, 2, 3, and 4.
  • cmin -(1 ⁇ (bitDepthC -KC))
  • cmax 1 ⁇ (bitDepthC -KC)
  • KC is an integer that satisfies KC> KY.
  • FIG. 70 is a flowchart for explaining the operation of the residual prediction unit 3092C.
  • the color difference residual acquisition unit 309212C derives a clip range of the color difference residual.
  • the color difference residual acquisition unit 309212C refers to the residual of the color difference from the residual storage unit 313 by limiting to the derived clip range.
  • a prediction residual is derived from the referenced residual.
  • S4108 The luminance residual adder 309222C or the chrominance residual adder 309224C adds the prediction residual derived in S4105 or S4107 to the predicted image.
  • the displacement deriving unit 309211D refers to the vector of the block adjacent to the target block, derives the displacement vector mvDisp, and outputs it to the luminance residual acquisition unit 309212D and the luminance residual interpolation unit 309221D.
  • the luminance residual interpolation unit 309221D derives the horizontal weighting factors w0 and w1 and the vertical weighting factors w2 and w3 of the luminance components based on the decimal precision of the displacement vector mvDisp.
  • the luminance residual interpolation unit 309221D derives a prediction residual delta by linear interpolation in the horizontal and vertical directions according to the following formula.
  • KY is a constant and is assumed to be any one of 1, 2, 3, and 4.
  • the luminance residual adding unit 309222D adds the prediction residual delta to the prediction image predSampleLX [] before the residual prediction, and acquires the prediction image predSampleLX ′ [] after the residual prediction.
  • predSampleLX ⁇ [x, y] predSampleLX [x, y] + delta Unlike the luminance, the chrominance component does not perform residual prediction.
  • FIG. 72 is a flowchart for explaining the operation of the residual prediction unit 3092D.
  • S4201 Displacement vector mvDisp is derived in the displacement deriving unit 309212D.
  • the prediction residual is derived from the residual storage unit 313 by referring to the luminance residual.
  • the luminance residual adding unit 309222C adds the prediction residual derived in S4103 to the prediction image.
  • the memory size for storing the residual of the color difference component in the derivation of the prediction residual There is an effect of omitting.
  • the illumination compensation unit 3093 performs illumination compensation on the input motion displacement compensation image predSamplesLX.
  • the input motion displacement compensation image predSamplesLX is output as it is.
  • the motion displacement compensation image predSamplesLX input to the illuminance compensation unit 3093 is an output image of the motion displacement compensation unit 3091 when the residual prediction is off, and the residual prediction unit when the residual prediction is on. 3092 is an output image.
  • Illuminance compensation is a process in which a pixel value of a motion displacement image in an adjacent region adjacent to a target block for which a predicted image is to be generated, a change in a decoded image in the adjacent region, and a pixel value in the target block and an original image of the target block. This is done on the assumption that it is similar to a change.
  • the illuminance parameter estimation unit 30931 obtains an estimation parameter for estimating the pixel of the target block (target prediction unit) from the pixel of the reference block.
  • FIG. 13 is a diagram for explaining illumination compensation.
  • FIG. 13 shows the positions of the pixels L around the target block and the pixels C around the reference block on the reference layer image at a position shifted from the target block by the displacement vector.
  • is a function that takes the sum of i. i is a variable from 0 to N-1.
  • the illuminance compensation filter 30932 included in the illuminance compensation unit 3093 uses the estimation parameter derived by the illuminance parameter estimation unit 30931 to derive a pixel that compensates for illuminance change from the target pixel.
  • the estimation parameters are decimal numbers a and b, the following equation is used.
  • predSamples [x] [y] Clip3 (0, (1 ⁇ bitDepth) -1, 1, ((((predSamplesL0 [x] [y] + offset1) >> shift1) * ic0)> icica0) ic.
  • an illuminance compensation unit 3093B which is a modification of the illuminance compensation unit 3093, will be described.
  • FIG. 73 is a block diagram showing a configuration of the illuminance compensation unit 3093B.
  • the illuminance compensation unit 3093 includes an illuminance compensation unit 3093B including an illuminance parameter estimation unit 30931B and an illuminance compensation filter unit 30932B.
  • the illuminance parameter estimation unit 30931B includes an integrated shift value deriving unit 3093111B, an integrated value deriving unit 3093112B, an added value deriving unit 309313B, a first parameter deriving unit 309314B, a second parameter deriving unit 309315B, a parameter a deriving unit 309316B, and a parameter b deriving unit. 309317B.
  • precShift Max (0, bitDepth-12) Formula (B-1)
  • the derived integrated shift value precShift is output to the integrated value deriving unit 309912B, the first parameter deriving unit 309314B, and the second parameter deriving unit 309315B.
  • the addition value deriving unit 309313B derives the sum Y of the pixel values y of the decoded image and the sum X of the pixel values x of the reference image by the following equations (B-2) and (B-3).
  • the integrated value deriving unit 309312B obtains the sum XY of the product of the pixel value y of the decoded image and the pixel value x of the reference image and the sum XX of the square of the pixel value of the reference image by the following equations (B-4) to (B Derived by -5). At this time, the integration value deriving unit 309312B performs integration when deriving the sum XY of the product of the pixel value y of the decoded image and the pixel value x of the reference image and deriving the sum XX of the square of the pixel value x of the reference image. Add after shifting right by the shift value precShift. X, Y, XY, and XX are initialized to 0 before the following sum.
  • ⁇ x [i] Formula (B-2)
  • Y ⁇ y [i] Formula (B-3)
  • XX + ⁇ (x [i] * x [i]) >> precShift formula (B-4)
  • XY + ⁇ (y [i] * y [i]) >> precShift formula (B-5)
  • is a sum with respect to the reference region, and a sum with respect to an index i specifying a pixel in the reference region is derived.
  • y [i] is the pixel value at index i of the decoded image.
  • x [i] is a pixel value at index i of the reference image.
  • the count shift value iCountShift is a logarithm of 2 of the size (number of pixels) of the reference area.
  • the number of bits necessary for the calculation is a logarithm of 2 of the size of the reference area (the maximum value of the count shift iCountShift) twice the bit depth bitDepth of the pixel.
  • the block size has a maximum value of 64
  • the maximum value of the size of the reference area is 128.
  • the maximum value of the count shift iCountShift is 7 from the logarithm of 2 of 128. Therefore, the required number of bits is bitDepth * 2 + 7.
  • bitDepth * 2 + 7 ⁇ 32
  • BitDepth ⁇ 12. That is, if bitDepth is 12 or less, it does not exceed 32 bits. Conversely, if bitDepth exceeds 12, it exceeds the 32-bit range.
  • Formula (B-1) is obtained from this result.
  • bitDepth exceeds 12 bitDepth-12 corresponding to the excess is derived as the integrated shift value precShift.
  • the shift is performed by the integrated shift value precShift in advance and the addition is performed, so that it is possible to prevent the range of 32 bits from being exceeded.
  • the first parameter derivation unit 309314B calculates the sum XY of the product of the pixel value y of the decoded image and the pixel value x of the reference image, and the difference of the product of the sum Y of the pixel value of the decoded image and the sum X of the pixel value of the reference image.
  • the first parameter a1 is derived from the following equation.
  • the second parameter deriving unit 309315B derives the second parameter a2 from the difference between the square of the square XX of the pixel values of the reference image and the square of the sum X of the pixel values of the reference image by the following equation.
  • FIG. 74 is a block diagram showing the configuration of the parameter a deriving unit 309316B.
  • the parameter a derivation unit 309316B includes a first parameter clip unit 3093161B, a first parameter shift unit 3093162B, a second parameter shift unit 3093163B, and a table base parameter a derivation unit 3093164B.
  • the first parameter clip unit 3093161B limits the first parameter a1 according to the size of the second parameter a2. For example, as shown in the following expression, a1 is clipped to 0 or more and 2 or less of a2.
  • a1 Clip3 (0, 2 * a2, a1) Formula (B-12)
  • the first parameter shift unit 3093162B derives the first normalized shift value iScaleShiftA1 according to the following equation according to the magnitude of the first parameter a1.
  • the derived first normalized shift value iScaleShiftA1 is output to the table base parameter a derivation unit 3093164B.
  • iScaleShiftA2 Max (0, GetMSB (abs (a2))-6) Formula (B-14)
  • the first parameter shift unit 3093162B and the second parameter shift unit 3093163B right-shift the first parameter a1 by the first normalized shift value iScaleShiftA1, the second parameter a2 by the second normalized shift value iScaleShiftA2, and the normalized first parameter a1s and a normalized second parameter a2s are derived.
  • a1s a1 >> iScaleShiftA1 formula (B-15)
  • a2s a2 >> iScaleShiftA2 formula (B-16)
  • the table-based parameter a derivation unit 3093164B derives the parameter a shift value iScaleShiftA using the following equation.
  • ScaleShiftA iScaleShiftA2-iScaleShiftA1 + 15-iShift formula (B-18)
  • the table base parameter a derivation unit 3093164B refers to the reciprocal table value invTable determined according to the normalized second parameter a2s, takes the product with the normalized first parameter a1s, and shifts to the right by the table shift value (ScaleShiftA).
  • the parameter a is derived from the following equation.
  • the value of the parameter a is the ratio of the first parameter a1 and the second parameter a2 (corresponding to a value obtained by shifting a1 / a2 to the left by iShift).
  • a parameter a clip unit may be provided instead of the first parameter clip unit 3093161B, and the range of the parameter a may be clipped to 0 or more and 255 or less, which is an 8-bit non-negative variable, by the following calculation.
  • the derived parameter a is output to the parameter b deriving unit 309317B and the illuminance compensation filter unit 30932B.
  • the parameter b deriving unit 309317B subtracts a value obtained by subtracting a value right shifted by a fixed shift value iShift from the sum X of pixel values of the decoded image by applying the parameter a to the sum X of pixel values of the reference image.
  • the parameter b is derived by the following equation.
  • b (Y-((a * X) >> iShift) + (1 ⁇ (iCountShift-1))) >> iCountShift expression (B-20) Note that the right shift of iCountShift corresponds to dividing by the number of pixels in the reference area.
  • the bit depth of the pixel is 8 bits
  • the range of the pixel value x is an 8-bit non-negative variable
  • the range of the parameter a is also an 8-bit non-negative variable. Therefore, the 8-bit non-negative variable which is the minimum number of bits in software. It can be calculated by calculation between (unsigned char in C language). For example, in SIMD calculation using a 128-bit register, 16 8-bit non-negative variables can be simultaneously stored in the register and operated. That is, since 16 pixels can be processed simultaneously, there is an effect of speeding up.
  • the parameter b deriving unit 309317B ′ which is another configuration of the parameter b deriving unit 309317B
  • another configuration of the illuminance compensation filter unit 30932B is used instead of the illuminance compensation filter unit 30932B.
  • the illuminance compensation filter unit 30932B ′ is used.
  • the illuminance compensation filter unit 30932B ′ which is another configuration of the illuminance compensation filter unit 30932B, derives the predicted image predSamples ′ [] after illuminance compensation from the predicted image predSamples [] before illuminance compensation by the following equation.
  • predSamples ⁇ [x] [y] ((a * predSamples [x] [y] + b) >> iShift) formula (B-21 ′)
  • the illuminance parameter estimation unit 30931B defines the reciprocal table invTable [x] so that it becomes 0 when the index x is 0, and the expressions (B-19) and (B-19 ′) ),
  • the sum XX of values obtained by shifting the square of the pixel value of the reference image to the right by the above integrated shift value and the sum of the pixel value of the reference image are defined in the reciprocal table invTable [x] defined as described above.
  • the normalized second parameter By deriving the parameter a based on the value subtracted by the second parameter (normalized second parameter) derived from the value obtained by shifting the square of X to the right by the integrated shift value, the normalized second parameter (normalized) Since the appropriate parameter a can be obtained without changing the calculation method depending on whether or not the second parameter) is 0, the effect of reducing the processing amount can be obtained.
  • the index x is other than 0, it is appropriate to use a value obtained by dividing a predetermined value by x as an integer for the reciprocal table invTable [x].
  • the illuminance parameter estimation unit 30931B performs integration shift according to the pixel bit depth as shown in (B-1), (B-4), (B-5), (B-7), and (B-8).
  • the value precShift is derived, and the sum XY of the value obtained by shifting the product of the pixel value of the decoded image and the pixel value of the reference image to the right by the integrated shift value precShift, the sum X of the pixel value of the reference image, and the pixel value of the decoded image
  • a first parameter a1 derived from a value obtained by shifting the product of the sum Y to the right by the integrated shift value, a sum XX of values obtained by shifting the square of the pixel value of the reference image to the right by the integrated shift value, and the reference image
  • the parameter a is derived from the second parameter a2 derived from the value obtained by shifting the square of the sum X of the pixel values to the right by the integrated shift value.
  • the illuminance parameter estimation unit 30931B when deriving XY and XX, which are the sums of pixel products, before taking the sum related to the pixel products, the pixel product products are shifted to the right by the integration shift value determined according to the pixel bit depth. By shifting, it is possible to derive the first parameter and the second parameter within a predetermined range, for example, a range of 32 bits.
  • the illuminance parameter estimation unit 30931B uses the first parameter deriving unit 309314B and the second parameter deriving unit 309315B to obtain a pixel bit depth of 2
  • the first parameter a1 and the second parameter a2 are shifted right by a predetermined fixed parameter shift value, Normalize.
  • the first parameter a1 and the second parameter a2 are expressed by the number of bits N or less. For example, when calculating with 32-bit precision, when the number less than 2 to the 32-N power is applied. Can also ensure that the 32-bit range is not exceeded.
  • the shift is a right shift of the fixed shift value, there is an effect that the shift calculation becomes easy.
  • the illuminance compensation filter unit 30932B shifts right using a predetermined fixed shift constant iShift, which is a fixed value, as shown in equations (B-21) and (B-21 ′). Compared to the case of shifting to the right, there is an effect that the processing by SIMD calculation or the like becomes easier.
  • the illuminance compensation filter unit 30932B ′ has a parameter b that is an offset component with respect to a product of a parameter a that is a slope component and a pixel value predSamples [x] [y], as shown in an equation (B-21 ′).
  • the parameter a and the pixel of the decoded image are obtained from the value obtained by shifting the sum Y of the pixel values of the reference image to the left by the fixed shift value iShift. It is preferable to derive the parameter b based on a value obtained by subtracting the product of the sum X of values.
  • the illuminance parameter estimation unit 30931C includes an integrated shift value deriving unit 3093111B, an integrated value deriving unit 3093112B, an added value deriving unit 309313B, a first parameter deriving unit 309314C, a second parameter deriving unit 309315B, a parameter a deriving unit 309316B, and a parameter b deriving unit. 309317B. Since the components other than the first parameter deriving unit 309314C have already been described, description thereof will be omitted.
  • FIG. 75 is a block diagram showing a configuration of the parameter a deriving unit 309316C.
  • the parameter a derivation unit 309316C includes a first parameter clip unit 3093161C, a common shift unit 3093162C, and a table base parameter a derivation unit 3093164C.
  • a1 Clip3 (a2, a2 * 18/16, a1) Formula (B-12)
  • the common shift unit 3093162C derives the common normalized shift value iScaleShiftA2 by the following formula according to the magnitude of the second parameter a2.
  • iScaleShiftA2 Max (0, GetMSB (abs (a2))-6) Formula (B-14 ')
  • the common shift unit 3093162C right-shifts the first parameter a1 and the second parameter a2 by the same common normalized shift value iScaleShiftA2, and derives a normalized first parameter a1s and a normalized second parameter a2s.
  • the table base parameter a derivation unit 3093164C refers to the reciprocal table value invTable determined according to the normalized second parameter a2s, calculates the product with the normalized first parameter a1s, and rightward with the table shift value (15-iShift in this case) By shifting, the parameter a is derived by the following equation.
  • a common normalization determined according to the magnitude of the second parameter a2.
  • the shift value iScaleShiftA2 is derived, and the first normalized parameter a1s and the normalized second parameter a2s are derived by right shifting the first parameter a1 and the second parameter a2 by the common normalized shift value iScaleShiftA2.
  • the parameter a is derived by shifting the product to the right by a fixed shift value.
  • both the first parameter and the second parameter are normalized by using the same normalized shift value, so that the first parameter shift unit 3093162B, the second parameter shift unit Compared to the case where different normalization parameters are used for the first parameter and the second parameter described in 3093163B, there is an effect that the processing becomes easier.
  • the table shift value after applying the table value can be set to a fixed value, and the parameter a is derived by the table base parameter a deriving unit 3093164C. The effect of facilitating the right shift process at the time is provided.
  • the illuminance compensation unit 3093D which is a modification of the illuminance compensation unit 3093, will be described.
  • the illuminance compensation unit 3093D according to the modification includes an illuminance parameter estimation unit 30931D and an illuminance compensation filter unit 30932B. Since the illuminance compensation filter unit 30932B has already been described, description thereof is omitted.
  • FIG. 76 is a block diagram showing the configuration of the parameter a deriving unit 309316D.
  • the parameter a derivation unit 309316D includes a parameter comparison unit 3093164D.
  • FIG. 77 is a block diagram showing a configuration of the illuminance compensation unit 3093E.
  • the illuminance compensation unit 3093 includes an illuminance parameter estimation unit 30931E and an illuminance compensation filter unit 30932B.
  • the illuminance parameter estimation unit 30931E includes an integrated shift value deriving unit 3093111B, an integrated value deriving unit 3093112B, an added value deriving unit 309313B, a first parameter deriving unit 309314B, a second parameter deriving unit 309315B, a parameter a deriving unit 309316B, and a parameter b deriving unit.
  • 309317B and a regularization term addition unit 309318E is a regularization term addition unit 309318E.
  • a parameter a derivation unit 309316B a parameter a derivation unit 309316C and a parameter a derivation unit 309316D may be used.
  • the method for deriving the parameter a and the parameter b is not limited to the above description.
  • FIG. 78 is a block diagram showing a configuration of the regularization term addition unit 309318E.
  • the regularization term addition unit 309318E includes a regularization term derivation unit 3093180E, a first parameter regularization term addition unit 3093181E, and a second parameter regularization term addition unit 3093182E.
  • the second parameter regularization term addition unit 3093182E adds the regularization term to a parameter (for example, XX) used for derivation of the second parameter.
  • XX XX + acost formula (E-3)
  • the addition of the regularization term may be performed by the first parameter deriving unit 309314B and the second parameter deriving unit 309315B.
  • the first parameter and the second parameter are derived by the following equations instead of the equations (B-7) and (B-8).
  • Parameter a ( ⁇ xiyi ⁇ xi ⁇ yi + ⁇ 1) / ( ⁇ xixi ⁇ xi ⁇ xi + ⁇ 1) Equation (E-6 ′′)
  • ⁇ xiyi ⁇ xi ⁇ yi of the numerator corresponds to the first parameter
  • ⁇ xixi ⁇ xi ⁇ xi of the denominator corresponds to the second parameter. Therefore, by adding the same regularization term ⁇ 1 to the first parameter and the second parameter, an effect of bringing the parameter a closer to 1 can be obtained. Since the effect of the regularization term is proportional to the square of a-1, the strength increases as a goes far from 1. When a is close to 1, the regularization term has almost no effect.
  • FIG. 79 is a block diagram showing a configuration of the illuminance compensation unit 3093F.
  • the illuminance compensation unit 3093 includes an illuminance parameter estimation unit 30931E and an illuminance compensation filter unit 30932F. Since the illuminance parameter estimation unit 30931E has already been described, the description thereof is omitted. Moreover, it is not limited to the illumination parameter estimation part 30931E, The illumination parameter estimation part using another estimation method may be sufficient.
  • a predicted image predSamples ′ [] after illuminance compensation is derived from the predicted image predSamples] [] before illuminance compensation by the following equation.
  • predSamplesL0 ⁇ [x] [y] ((a * predSamples [x] [y]) >> iShift) + b
  • the weight prediction unit 3094 described later uses the L0 predicted image to which the illuminance prediction is applied, predSamplesL0 ′ [x] [y], and the L1 predicted image to which the illuminance prediction is not applied predSamplesL1 [x] [y].
  • a predicted image is generated by the following expression.
  • predSamples ⁇ [x] [y] (predSamplesL0 ⁇ [x] [y] + predSamplesL1 [x] [y] + offset2) >> shift2)
  • a predicted image predSamples ′ [] after illuminance compensation is derived from the predicted image predSamples [] before illuminance compensation by the following equation.
  • predSamplesL0 ⁇ [x] [y] (a * predSamples L0 [x] [y] >> iShift) + b
  • predFlagL0 0 and predFlagL1 is 1
  • the predicted image predSamples ′ [] after illuminance compensation is derived from the predicted image predSamples [] before illuminance compensation by the following equation.
  • predSamples ⁇ [x] [y] ((a * predSamples [x] [y]) >> iShift) + b It should be noted that the prediction image predSamplesL1 [x] [y] of L1 can be explicitly expressed as follows.
  • predSamples [x] [y] (predSamplesL0 [x] [y] + predSamplesL1 [x] [y] + offset2) >> shift2
  • effect F5b an effect that avoids a situation where the processing amount is large such that illuminance prediction is performed on two reference images.
  • Illuminance compensation unit 3093G an illuminance compensation unit 3093G which is a modification of the illuminance compensation unit 3093 will be described. Similar to the illuminance compensation unit 3093F, the illuminance compensation unit 3093G performs L0 restriction, but differs from the illuminance compensation unit 3093F in that the prediction formula for illuminance compensation is only the offset component (only parameter b).
  • the addition value deriving unit 309313B derives the sum Y of the pixel values of the decoded image and the sum X of the pixel values of the reference image according to the already described formulas (B-2) and (B-3).
  • the illuminance compensation filter unit 30932G uses the estimation parameter derived by the illuminance parameter estimation unit 30931G, and illuminates compensation only when the input predicted image is a motion compensation image derived using the reference list of the L0 list. I do. Specifically, the following operation is performed according to the values of predFlagL0 and predFlagL1.
  • a predicted image predSamples ′ [] after illuminance compensation is derived from the predicted image predSamples] [] before illuminance compensation by the following equation.
  • predSamples ⁇ [x] [y] predSamples [x] [y] + b
  • predFlagL0 0
  • predFlagL1 1, illuminance compensation is not applied. That is, the predicted image predSamples [] that is input to the illumination compensation filter unit 30932G matches the output predicted image predSamples ′ [] as in the following equation.
  • predSamples ⁇ [x] [y] predSamples [x] [y]
  • predFlagL0 1
  • predFlagL1 1
  • L0 is calculated from the predicted image predSamples L0 [] before illuminance compensation of L0 by the following equation.
  • the predicted image predSamples L0 ′ [] after illuminance compensation is derived.
  • predSamplesL0 ⁇ [x] [y] predSamples [x] [y] + b
  • the weight prediction unit 3094 described later uses the L0 predicted image to which the illuminance prediction is applied, predSamplesL0 ′ [x] [y], and the L1 predicted image to which the illuminance prediction is not applied predSamplesL1 [x] [y].
  • a predicted image is generated by the following expression.
  • the illuminance compensation unit 3093G has an effect of reducing the processing amount because the illuminance prediction is limited to motion compensated images in which the reference picture using the L0 list is used (L0 only) (effect F5b). That is, there is an effect of avoiding a situation where the processing amount is large such that illuminance prediction is performed on two reference images. Unlike the case of prohibiting illuminance compensation in the case of simply bi-prediction, in the case of bi-prediction, since the illuminance compensation is performed on the reference picture using the L0 list, the performance degradation due to the limitation is small (effect F5c ) Has been obtained by the inventors' experiments.
  • a predicted image predSamples ′ [] after illuminance compensation is derived from the predicted image predSamples [] before illuminance compensation by the following equation.
  • predSamplesL0 ⁇ [x] [y] predSamplesL0 [x] [y] + b
  • predFlagL0 0 and predFlagL1 is 1
  • the predicted image predSamples ′ [] after illuminance compensation is derived from the predicted image predSamples [] before illuminance compensation by the following equation.
  • predSamples ⁇ [x] [y] predSamples [x] [y] + b It should be noted that the prediction image predSamplesL1 [x] [y] of L1 can be explicitly expressed as follows.
  • predSamplesL1 ⁇ [x] [y] predSamples L1 [x] [y] + b
  • predFlagL0 1 and predFlagL1 is 1
  • a prediction image predSamplesL0 [x] [y] of L0 to which illuminance prediction is not applied and a predicted image predSamplesL1 [x] of L1 to which illuminance prediction is not applied are described below.
  • [y] is used to generate a predicted image, for example, according to the following equation.
  • the illuminance parameter estimation unit 30931H sets the pixel C around the reference block on the reference layer image shown in FIG. 13 as the pixel value x [] of the reference image and the pixel L around the target block as the pixel value y [] of the decoded image. Based on the pixel value x [] of the reference image and the pixel value y [] of the decoded image, the parameter a and the parameter that are parameters for predicting the pixel value y [] of the decoded image from the pixel value x of the reference image b is derived.
  • the addition value deriving unit 309313H derives the sum Y of the pixel values y of the decoded image and the sum X of the pixel values x of the reference image by the following equations (B-2) and (B-3).
  • ⁇ x [i] Formula (B-2)
  • Y ⁇ y [i] Formula (B-3)
  • is a sum with respect to the reference region, and a sum with respect to an index i specifying a pixel in the reference region is derived.
  • y [i] is the pixel value at index i of the decoded image
  • x [i] is the pixel value at index i of the reference image.
  • the count shift value iCountShift is a logarithm of 2 of the size (number of pixels) of the reference area.
  • the first parameter deriving unit 309314H derives the first parameter a1 from the sum Y of the pixel values y of the decoded image by the following expression.
  • the second parameter deriving unit 309315H derives the second parameter a2 from the sum X of the pixel values x of the reference image by the following expression.
  • the regularization addition unit 309318H derives the regularization term acost from the sum X of the pixel values x of the reference image.
  • acost X >> ashift formula (E-1 ')
  • ashift is a predetermined constant, and is used to adjust the size of the regularization term acost by the right shift.
  • the regularization term addition unit 309318E adds the regularization term to a parameter (for example, Y) used for derivation of the first parameter.
  • the regularization term addition unit 309318E adds the regularization term to a parameter (for example, X) used for derivation of the second parameter.
  • X X + acost formula (H-3)
  • the addition of the regularization term may be performed by the first parameter deriving unit 309314B and the second parameter deriving unit 309315B.
  • the first parameter and the second parameter are derived by the following equations instead of the equations (B-7 ′) and (B-8 ′).
  • FIG. 86 is a block diagram showing the configuration of the parameter a deriving unit 309316H.
  • the parameter a derivation unit 309316H includes a parameter clip unit 3093161H, a second normalization shift unit 3093163H, and a table base parameter a derivation unit 3093164H.
  • the second normalization shift unit 3093163H derives the second normalization shift value iScaleShiftA2 by the following formula according to the magnitude of the second parameter a2.
  • the derived second normalized shift value iScaleShiftA2 is output to the table base parameter a derivation unit 3093164H.
  • iScaleShiftA2 Max (0, GetMSB (abs (a2))-6) Formula (B-14)
  • the second normalization shift unit 3093163H right-shifts the second parameter a2 by the second normalization shift value iScaleShiftA2, and derives a normalization second parameter a2s.
  • a2s a2 >> iScaleShiftA2 formula (B-16)
  • the table base parameter a deriving unit 3093164H derives the parameter a shift value iScaleShiftA by the following equation.
  • ScaleShiftA iScaleShiftA2 + 15-iShift formula (B-18 ')
  • the table base parameter a derivation unit 3093164H refers to the reciprocal table value invTable determined according to the normalized second parameter a2s, takes the product with the normalized first parameter a1, and shifts to the right by the table shift value (ScaleShiftA).
  • the parameter a is derived from the following equation.
  • FIG. 84 shows the reciprocal table value invTable [] used in this embodiment.
  • the reciprocal invTable [x] in FIG. 84 becomes 0 when the index x is 0, and when the index x is other than 0, a predetermined constant M (here, 2 to the 15th power) is x. Derived from the integer value obtained by dividing.
  • parameter a corresponds to the ratio of the first parameter a1 and the second parameter a2 (a1 / a2 is left-shifted by iShift).
  • the parameter clip unit 3093161H clips the range of parameter a to 0 or more and 255 or less, which is an 8-bit non-negative variable, by the following calculation.
  • the parameter b deriving unit 309317H subtracts a value obtained by subtracting a value obtained by applying the parameter a to the sum X of the pixel values of the reference image and shifting the value to the right by the fixed shift value iShift from the sum Y of the pixel values of the decoded image.
  • the parameter b is derived by the following equation.
  • iCountShift (Y-((a * X) >> iShift) + (1 ⁇ (iCountShift-1))) >> iCountShift expression (B-20)
  • iCountShift corresponds to dividing by the number of pixels in the reference area. It is appropriate to use a value from 4 to 7, for example, 5 as the fixed shift value.
  • the illuminance compensation filter unit 30932B derives the predicted image predSamples ′ [] after illuminance compensation from the predicted image predSamples [] before illuminance compensation, using the estimation parameter derived by the illuminance parameter estimation unit 30931B. For example, when the parameter b is derived from the equation (B-20), the following equation is used.
  • the reciprocal table invTable [x] is defined so as to be 0 when the index x is 0, and the reciprocal table invTable [x thus defined is defined.
  • the parameter clip unit 3093161H clips the parameter a into an 8-bit non-negative integer range. Therefore, when the bit depth of the pixel value is 8 bits, the parameter a and the pixel value Since the product can be processed as a product of 8-bit non-negative integers, there is an effect that the processing by SIMD calculation or the like becomes easy.
  • a configuration in which the parameter a derivation unit 309316H2 is used instead of the parameter a derivation unit 309316H in the illuminance parameter estimation unit 30931H in the illuminance compensation unit 3093 is also possible.
  • FIG. 87 is a block diagram showing a configuration of the parameter a deriving unit 309316H2.
  • the parameter a derivation unit 309316H2 includes a parameter clip unit 3093161H and a division parameter a derivation unit 3093165H.
  • the division parameter a deriving unit 3093165H derives the parameter a by the following formula based on the ratio of the first parameter and the second parameter.
  • the parameter clipping unit 3093161H clips the range of the parameter a to the range of the 8-bit non-negative variable.
  • the same regularization term is added to the first parameter a1 and the second parameter a2, and then the parameter a having a value corresponding to the ratio between the first parameter a1 and the second parameter a2 is calculated.
  • the parameter clip unit 3093161H clips the parameter a into an 8-bit non-negative integer range. Therefore, when the bit depth of the pixel value is 8 bits, the parameter a and the pixel value Since the product can be processed as a product of 8-bit non-negative integers, there is an effect that the processing by SIMD calculation or the like becomes easy.
  • the parameter a derivation unit 309316H2 uses division to derive the parameter a. Division is an operation that is relatively complicated. However, the accuracy of the parameter a is improved by that amount, so that the encoding efficiency is increased.
  • predSamples [x] [y] Clip3 (0, (1 ⁇ bitDepth) -1, (predSamplesLX [x] [y] + offset1) >> shift1)
  • shift1 14 ⁇ bitDepth
  • offset1 1 ⁇ (shift1-1).
  • predFlagL0 or predFlagL1 are 1 (in the case of bi-prediction) and weight prediction is not used, the input motion displacement images predSamplesL0 and predSamplesL1 are averaged to obtain the number of pixel bits. The following formula is processed.
  • predSamples [x] [y] Clip3 (0, (1 ⁇ bitDepth) -1, (predSamplesL0 [x] [y] + predSamplesL1 [x] [y] + offs)
  • shift2 15 ⁇ bitDepth
  • offset2 1 ⁇ (shift2-1).
  • the weight prediction unit 3094 derives the weight prediction coefficient w0 and the offset o0, and performs the processing of the following equation.
  • predSamples [x] [y] Clip3 (0, (1 ⁇ bitDepth) -1, ((predSamplesLX [x] [y] * w0 + 2log2WD-1) >> log2WD0) +
  • log2WD is a variable indicating a predetermined shift amount.
  • the weight prediction unit 3094 derives weight prediction coefficients w0, w1, o0, o1, and performs the following processing.
  • FIG. 14A is a diagram illustrating a configuration of encoded data (configuration of an encoding unit) decoded by the inter prediction parameter decoding control unit 3031. As shown in FIG. 14A, the additional prediction flag xpred_flag is encoded after the prediction unit PU after PredMode and SkipFlag in the encoding unit (CU) structure.
  • the additional prediction flag xpred_flag is present in the encoded data when the prediction parameter of each PU specified by the syntax element of the prediction unit located before the additional prediction flag xpred_flag is a predetermined value. Conversely, it does not exist when it is not a predetermined value.
  • FIG. 14B is a diagram showing a configuration of encoded data of each prediction unit.
  • the PU includes a merge_mode.
  • merge_mode When merge_mode is 1, that is, in merge prediction mode, merge_idx is included.
  • merge_mode When merge_mode is 0, that is, in the AMVP prediction mode, inter_pred_idx, ref_idx_l0, mvp_idx_l0, mvd_l0, ref_idx_l1, mvp_idx_l1, and mvd_l1 are included instead of merge_idx.
  • inter_pred_idx takes one of the values Pred_L0, Pred_L1, and Pred_Bi, and indicates L0 prediction, L1 prediction, and bi-prediction, respectively.
  • prediction parameters ref_idx_10, mvp_idx_10, and mvd_10 are included, and in the case of L1 prediction and bi-prediction, prediction parameters ref_idx_10, mvp_idx_10, and mvd_10 are included.
  • FIG. 15 is a syntax table for indicating a configuration in the encoded data of the additional prediction flag.
  • Coding_unit in the figure indicates that this syntax table is encoded data of the encoding unit.
  • slice_type is other than I_SLICE
  • skip_flag exists in the CU header CUH.
  • prediction_unit () is included as PU data.
  • prediction_unit the encoding parameter of PU is included.
  • pred_mode_flag is included in CU header CUH.
  • Depth_flag in FIG. 15 is a flag indicating whether or not the target layer is depth
  • pred_mode is a flag indicating whether intra prediction MODE_INTRA or inter prediction MODE_INTER
  • motion_pred_exists configures CU.
  • disparity_pred_exists is a flag indicating whether displacement prediction (displacement compensation) is used in the PU constituting the CU.
  • the determination formula indicating whether or not res_pred_flag is included is! depth_flag && pred_mode!
  • ic_enable_flag is included as an additional prediction flag. Whether or not such additional prediction flags (res_pred_flag and ic_enable_flag) are included is determined by an additional prediction flag determination unit 30314 described later.
  • FIG. 16 is a schematic diagram illustrating a configuration of the additional prediction flag determination unit 30314.
  • the additional prediction flag determination unit 30314 includes a layer determination unit 303141 and an all PU parameter determination unit 303142.
  • the layer determination unit 303141 determines whether the target layer is a base layer (base view) or not a base layer (base view), and further determines whether the target layer is depth or texture. .
  • the layer determination unit 303141 determines that the target layer is not a base layer (base view) and is not depth, and determines that the target layer is invalid otherwise. The judgment of whether it is a base view is when ViewId is not 0 (ViewId) and is not depth!
  • the additional prediction flag xpred_flag is residual prediction resi_pred_flag
  • it is determined whether the prediction parameter is motion prediction (whether any of the PUs included in the CU includes motion prediction), and is set to motion_pred_exists.
  • motion prediction that is, whether the PU vector is a motion vector
  • the PU vector is a motion vector
  • the additional prediction flag xpred_flag is illuminance compensation ic_enable_flag
  • Whether the PU is a displacement prediction that is, whether or not the PU vector is a displacement vector, is true in the determination method of the reference layer determination unit 303111 included in the inter prediction parameter decoding control unit 3031 already described (in terms of the displacement vector). It is determined by the method determined to be (the same).
  • FIG. 17 is a diagram illustrating an operation in which all PU parameter determination unit 303142 determines a flag motion_pred_exists indicating whether or not the CU includes a PU for which motion prediction is performed. As shown in FIG. 17, first, motion_pred_exists is set to false. Subsequently, the partition mode part_mode of the CU is checked, and whether or not the ref_view_id_lX that is the ViewId of the reference layer used for generating the predicted image of the PU is equal to the ViewId of the target layer is checked based on the inter_pred_idc of each PU included in the CU.
  • the CU When the part_mode is PART_2Nx2N, the CU contains only one PU, and its coordinates are (x0, y0).
  • the all PU parameter determination unit 303142 checks whether or not a PU that performs motion compensation is included in this one PU, and if included, sets motion_pred_exists to true. Specifically, when inter_pred_idc is not Pred_L1 (in the case of L0 prediction and bi-prediction, predFlagL0 is 1), since the L0 list is used, the view ID (ref_view_id_lX (ref_view_id_10) of the reference picture in the L0 list is used.
  • the motion prediction is performed, and therefore, “true” is set in motion_pred_exists.
  • inter_pred_idc is not Pred_L0 (L1). Since the L1 list is used for prediction and bi-prediction, the view ID (ref_view_id_lX (ref_view_id) of the reference picture in the L1 list is used. 11)) is equal to the view ID (ViewId) of the target layer, and if the view IDs of the view IDs of the target layer and the reference picture are equal, motion prediction is performed, and therefore, motion_pred_exists is set to true.
  • part_mode is PART_2NxN
  • PUs there are two PUs included in the CU, and their coordinates are (x0, y0) and (x0, y0 + nCbS / 2).
  • the all PU parameter determination unit 303142 checks whether or not a PU that performs motion compensation is included in this one PU, and if included, sets motion_pred_exists to true.
  • the view ID (ref_view_id_lX) of the reference picture is the view ID of the target layer with respect to the reference picture used by inter_pred_idc of coordinates (x0, y0) and coordinates (x0, y0 + nCbS / 2). It is checked whether or not it is equal to ID (ViewId). If both are equal, true is set in motion_pred_exists for performing motion prediction.
  • description of other part_mode is abbreviate
  • FIG. 18 is a diagram illustrating an operation in which all PU parameter determination unit 303142 determines a flag disparity_pred_exists indicating whether a CU includes a PU for which displacement prediction is performed.
  • disparity_pred_exists is set to false.
  • the partition mode part_mode of the CU is checked, and from the inter_pred_idc and ref_view_id_lX of all the PUs included in the CU, it is checked whether the PU that includes the displacement prediction is included in the PU, and if included, the motion_pred_exists is set to true. To do.
  • the CU when part_mode is PART_2Nx2N, the CU contains only one PU, and its coordinates are (x0, y0). Specifically, the all PU parameter determination unit 303142 uses the L0 list when inter_pred_idc is not Pred_L1 (L0 prediction and bi-prediction), so that the ref_view_id_lX (ref_view_id_10) of the L0 list is the target layer. Check if it is equal to ViewId. When ViewId of the reference layer is not equal, displacement prediction is performed, and thus true is set in disparity_pred_exists.
  • Pred_L1 L0 prediction and bi-prediction
  • inter_pred_idc is not Pred_L0 (L1 prediction and bi-prediction)
  • the L1 list since the L1 list is used, it is checked whether or not ref_view_id_lX (ref_view_id_l1) of the L1 list is equal to ViewId of the target layer.
  • ref_view_id_lX ref_view_id_l1
  • ViewId of the reference layer is not equal, displacement prediction is performed, and thus true is set in disparity_pred_exists.
  • the other part_mode operations are the same as the determination of motion_pred_exists described with reference to FIG. 39 except for the determination of whether ViewId is equal, and thus the description thereof is omitted.
  • the additional prediction flag determination unit 30314 uses the layer determination unit 303141 to determine whether the target layer is not a base layer (base view) and is a depth. Further, the all PU parameter determination unit 303142 determines whether the target CU is intra prediction. Further, the all PU parameter determination unit 303142 checks all PUs included in the CU. If any PU includes motion prediction, the residual prediction flag resi_pred_flag that is an additional prediction flag is included in the encoded data. judge.
  • the additional prediction flag determination unit 30314 determines that the target layer is not a base layer (base view) and is not depth by the layer determination unit 303141, and further, the all PU parameter determination unit 303142 determines that the target CU is It is determined whether it is intra prediction.
  • the all-PU parameter determination unit 303142 further checks all PUs included in the CU. If any PU included in the CU includes displacement prediction, the illumination compensation flag ic_enable_flag that is an additional prediction flag is encoded data. Is determined to be included.
  • the inter prediction parameter decoding unit 303A includes an additional prediction flag decoding unit 30311A, a merge index decoding unit 30312, and a vector candidate index decoding unit 30313.
  • FIG. 19 is a syntax table for illustrating a configuration of encoded data decoded by the additional prediction flag decoding unit 30311A.
  • the additional prediction flag decoding unit 30311A derives the second flag ic_enable_flag as 0 indicating that no additional prediction is performed. This eliminates the need to derive the flag disparity_pred_exists indicating whether the CU required by the inter prediction parameter decoding unit 303A includes a PU including displacement prediction.
  • the residual prediction flag res_pred_flag is encoded before the illumination compensation flag ic_enable_flag, but this order may be changed.
  • a second additional prediction flag for example, ic_enable_flag
  • the determination of whether or not the second additional prediction flag is present is performed based on the prediction parameter ( For example, since it can be performed without deriving the determination disparity_pred_exists) of whether or not the PU prediction parameter has a displacement vector, the decoding process of the additional prediction flag is facilitated.
  • the two additional predictions are exclusive (if residual prediction is on, the illumination prediction is off, and vice versa), if the two additional predictions are exclusive, If the value of the second flag is on, the second flag is always turned off, so that decoding of the second flag is unnecessary.
  • GRP generalized residual prediction
  • a method called prediction ((ARP: Advanced Residual Prediction) may be used.
  • a residual prediction weight res_pred_weight indicating a residual prediction weight may be used instead of the residual prediction flag res_pred_flag. It is also possible to use a residual prediction mode res_pred_mode indicating the type of residual prediction.
  • the inter prediction parameter decoding unit 303A2 includes an additional prediction flag decoding unit 30311A2, a merge index decoding unit 30312, and a vector candidate index decoding unit 30313.
  • FIG. 20 is a syntax table for illustrating a configuration of encoded data decoded by the additional prediction flag decoding unit 30311A2.
  • the additional prediction flag decoding unit 30311A2 of the modified example A2 determines whether the first flag (here, res_pred_flag) illustrated in SE2001 of FIG. 20 exists. Whether or not the second flag (here, ic_enable_flag) shown in SE2002 of FIG. 20 exists is determined by using whether the flag motion_pred_exists indicating whether the PU includes motion prediction is 1 or not. Whether or not the flag motion_pred_exists indicating whether or not the derived PU includes motion prediction is used in the determination of the eye additional prediction flag (res_pred_flag) is used.
  • the residual prediction flag res_pred_flag and the illumination compensation flag ic_enable_flag may be reversed. That is. Whether or not the first flag (here, ic_enable_flag) is present is determined based on whether disparity_pred_exists is 1 or not. The second flag (here, res_pred_flag) is used. The determination whether or not the PU includes motion prediction uses whether or not disparity_pred_exists is 0.
  • the determination as to whether or not the second additional prediction flag exists is made the value used for the determination as to whether or not the first additional prediction flag exists. Therefore, the determination of whether or not the second additional prediction flag is present can be made without checking the prediction parameter of each PU, so that the additional prediction flag can be easily decoded. .
  • FIG. 21 is a syntax table for illustrating a configuration of encoded data to be decoded by the inter prediction parameter decoding unit 303B. The difference from FIG. 15 is that in FIG.
  • the flags used for the determination indicating whether or not there are additional prediction flags are the flags motion_pred_exists and disparity_pred_exists regarding the prediction method of any of the PUs constituting the CU.
  • the flags are changed to the flags pu0_is_motion_pred and pu0_is_disparity_pred relating to the prediction method of the first PU (PU0), respectively.
  • the additional prediction flag decoding unit 30311B includes an additional prediction flag determination unit 30314B instead of the additional prediction flag determination unit 30314 described above.
  • FIG. 22 is a schematic diagram illustrating a configuration of the additional prediction flag determination unit 30314B.
  • the additional prediction flag determination unit 30314B includes a layer determination unit 303141 and a PU0 parameter determination unit 303142B. Since the layer determination unit 303141 has already been described, the description thereof is omitted.
  • the PU0 parameter determination unit 303142B checks the prediction parameter of the first PU (PU0) included in the target CU. If the additional prediction flag xpred_flag is the residual prediction flag resi_pred_flag, whether or not PU0 includes motion prediction The determination pu0_is_motion_pred is performed. When the additional prediction flag xpred_flag is the illuminance compensation flag ic_enable_flag, the determination pu0_is_disparity_pred is performed to determine whether or not PU0 includes displacement prediction.
  • FIGS. 23A and 23B are diagrams illustrating operations for determining pu0_is_motion_pred and pu0_is_disparity_pred_ in the additional prediction flag determination unit 30314B.
  • the additional prediction flag determination unit 30314B checks only the prediction parameter of the first PU without checking the prediction parameters of all the PUs included in the target CU. Therefore, there is an effect that the process of checking whether or not the additional prediction flag xpred_flag (here, the residual prediction flag res_pred_flag and the illumination compensation flag ic_enable_flag) is included in the encoded data is facilitated.
  • the additional prediction flag xpred_flag here, the residual prediction flag res_pred_flag and the illumination compensation flag ic_enable_flag
  • the inter prediction parameter decoding unit 303C includes an additional prediction flag decoding unit 30311C, a merge index decoding unit 30312, and a vector candidate index decoding unit 30313.
  • FIG. 24 is a syntax table for illustrating a configuration in the encoded data decoded by the inter prediction parameter decoding unit 303C.
  • the residual prediction flag res_pred_flag and the illuminance compensation flag ic_enable_flag used separate flags, but in FIG.
  • FIG. 25 is a schematic diagram illustrating a configuration of the additional prediction flag decoding unit 30311C.
  • the additional prediction flag decoding unit 30311C includes an additional prediction flag determination unit 30314C, a residual prediction determination unit 30315, and an illuminance compensation determination unit 30316.
  • the additional prediction flag determination unit 30314C includes a layer determination unit 303141.
  • the flag determination unit 30314C determines that the target layer is not a base layer (base view) and is not depth by the layer determination unit 303141. Further, the additional prediction flag determination unit 30314C determines that the encoded flag includes the shared flag res_pred_and_ic_enable_flag that is an additional prediction flag when the target CU is not intra prediction.
  • the additional prediction flag decoding unit 30311C extracts (decodes) the additional prediction flag res_pred_and_ic_enable_flag from the encoded data, and determines that the additional prediction flag res_pred_and_ic_enable_flag is not included.
  • the additional prediction flag res_pred_and_ic_enable_flag is set to 0 without decoding the encoded data.
  • the additional prediction flag res_pred_and_ic_enable_flag is 0, neither additional prediction (residual prediction or illumination compensation) is performed.
  • the additional prediction flag res_pred_and_ic_enable_flag is 1, it is determined whether residual prediction and illumination compensation are performed by the following determination.
  • the residual prediction determination unit 30315 determines whether residual prediction is performed as additional prediction in each PU unit included in the CU.
  • the illuminance compensation determination unit 30316 determines whether illuminance compensation is performed as additional prediction in each PU unit included in the CU.
  • the additional prediction flag decoding unit 30311C having the above-described configuration, whether the additional prediction flag exists in the encoded data by using the additional prediction flag as a common flag for the residual prediction flag and the illumination compensation flag.
  • the prediction parameter of the PU since the prediction parameter of the PU is not referred to, the dependency relationship between the prediction parameter and the flag disappears, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy. Further, since one flag is included in the encoded data as the additional prediction flag instead of the two flags (residual prediction flag and illuminance compensation flag), there is an effect that the code amount of the flag is reduced.
  • the inter prediction parameter decoding unit 303D includes an additional prediction flag decoding unit 30311D, a merge index decoding unit 30312, and a vector candidate index decoding unit 30313.
  • FIG. 26 (a) is a diagram illustrating a configuration of encoded data (configuration of an encoding unit) decoded by the inter prediction parameter decoding control unit 3031D. Unlike FIG. 14A, the additional prediction flag is not included in the layer (CU header CUH, CU footer CUF) of the encoding unit.
  • FIG. 26 (b) is a diagram illustrating a configuration of encoded data (a configuration of a prediction unit) decoded by the inter prediction parameter decoding control unit 3031D.
  • the additional prediction flag is included in the layer of this prediction unit.
  • the PU includes a merge_mode. When merge_mode is 1, that is, in merge prediction mode, merge_idx is included. Next to merge_idx, an additional prediction flag (here, residual prediction flag res_pred_flag and illuminance compensation flag ic_enable_flag) is included.
  • merge_mode is 0, that is, in the AMVP prediction mode, the description is omitted because it is as described in FIG.
  • the additional prediction flag decoding unit 30311D configured as described above, by limiting the additional prediction flag to the merge mode, the PU prediction parameter is determined in determining whether the additional prediction flag is present in the encoded data. Since there is no reference, the dependency between the prediction parameter and the flag disappears, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy. Note that an additional prediction flag decoding unit 30311D2 and an additional prediction flag decoding unit 30311D3, which will be described later, have the same configuration as the additional prediction flag decoding unit 30311D, such as a flag in PU units.
  • merge_idx 0
  • merge_idx 0
  • FIG. 29 is a syntax table for indicating a configuration in the encoded data of the additional prediction flag.
  • the residual prediction flag res_pred_flag which is one of the additional prediction flags, is included in the encoded data.
  • the inter-layer merge candidate motion prediction
  • motion prediction motion prediction
  • an additional prediction flag indicating whether or not to use the residual prediction flag res_pred_flag is decoded from the encoded data; otherwise (inter-layer merge candidate ( If it is not motion prediction), residual prediction is not used.
  • merge_idx 0, which is likely to be an inter-layer merge candidate (motion prediction)
  • merge_mode 1, which is highly effective otherwise, are merge mode candidates.
  • the description is limited to the residual prediction flag, but may be applied to the illumination compensation flag.
  • the merge candidate corresponding to the inter-layer merge candidate (displacement prediction) is the merge candidate of the index DV
  • the residual prediction flag res_pred_flag that is one of the additional prediction flags is An additional prediction flag indicating whether or not to use ic_enable_flag included in the encoded data is decoded from the encoded data. If not (if not an inter-layer merge candidate (displacement prediction)), illumination compensation is not used. .
  • the residual prediction flag ic_enable_flag is set to zero.
  • the additional prediction flag decoding unit 30311D2 having the above configuration, the PU prediction parameter is not referred to in determining whether the additional prediction flag exists in the encoded data. There is no dependency, and the problem of perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy. Furthermore, according to the additional prediction flag decoding unit 30311D2, the additional prediction flag is decoded only when the merge index merge_idx is a predetermined value indicating an inter-layer merge candidate (inter-view merge candidate), so that the additional prediction is effective. In such a case, since the additional prediction flag is not included in the encoded data, the encoding efficiency is improved.
  • Modification D3 of inter prediction parameter decoding unit (Modification D3 of inter prediction parameter decoding unit)
  • an inter prediction parameter decoding unit 303D3 that is another configuration of Modification D will be described as another modification of the inter prediction parameter decoding unit.
  • FIG. 30 (a) is a diagram illustrating a configuration of encoded data (configuration of an encoding unit) decoded by the inter prediction parameter decoding unit 303D3. As in FIG. 26 (a), the additional prediction flag is not included in the layer (CU header CUH, CU footer CUF) of the encoding unit.
  • FIG. 30 (b) is a diagram illustrating a configuration of encoded data (configuration of a prediction unit) decoded by the inter prediction parameter decoding unit 303D3.
  • the additional prediction flag is included in the layer of the prediction unit.
  • the PU includes a merge_mode.
  • merge_idx is included in the encoded data.
  • merge_idx is not included in the encoded data and is derived as described later.
  • FIG. 31 is a syntax table showing a configuration of encoded data when the additional prediction flag is a residual prediction flag (res_pred_flag).
  • a residual prediction flag res_pred_flag is included before the merge index merge_idx.
  • merge_idx is included in the encoded data when the residual prediction flag res_pred_flag which is an additional prediction flag is 0, and merge_idx is not included in the encoded data when res_pred_flag is 1.
  • FIG. 32 is a syntax table showing a configuration of encoded data when the additional prediction flag is an illuminance compensation flag (ic_enable_flag).
  • the judgment formula already described in FIG. depth_flag && ViewId && PredMode! If MODE_INTRA is true, the illumination compensation flag ic_enable_flag is included before the merge index merge_idx.
  • merge_idx is included in the encoded data when the illumination compensation flag ic_enable_flag, which is an additional prediction flag, is 0, and merge_idx is not included in the encoded data when res_pred_flag is 1.
  • FIG. 33 is a schematic diagram showing a configuration of another configuration D3 of Modification D of the inter prediction parameter decoding control unit.
  • the inter prediction parameter decoding control unit 3031D3 includes an additional prediction flag decoding unit 30311D3, a merge index decoding unit 30312D3, and a vector candidate index decoding unit 30313.
  • the additional prediction flag decoding unit 30311D3 adds the encoded prediction data from the CU header CUH or the CU footer CUF. Extract prediction flags.
  • the merge index decoding unit 30312D3 extracts (decodes) the merge index merge_idx from the encoded data. Conversely, when the additional prediction flag is 1, the merge index merge_idx is derived without decoding from the encoded data.
  • the merge candidate is the inter-layer merge candidate (motion prediction) described in FIG. 7, that is, the inter-layer candidate (inter-view candidate).
  • an index for motion prediction is set as a merge index merge_idx.
  • the inter-layer merge candidate (motion prediction) is mainly derived as index 0 (except when no inter-layer merge candidate (motion prediction) exists)
  • merge_idx 0.
  • the additional prediction flag is the illuminance compensation flag ic_enable_flag
  • the inter-layer merge candidate (displacement prediction) described in FIG. 7, that is, the merge candidate is mainly the inter-layer candidate (inter-view candidate).
  • Is set as a merge index merge_idx DV.
  • merge_idx DV.
  • the motion prediction candidate and the displacement prediction candidate are not separated from the inter layer candidates (inter view candidates)
  • the inter layer merge candidate (motion prediction) and the inter layer merge candidate (displacement prediction) should be distinguished. Instead, an inter-layer candidate (inter-view candidate) may be simply selected.
  • index when the additional prediction is not performed is 0 to 4
  • other numbers such as an inter-layer merge candidate (5 for motion prediction, inter-layer merge candidate for performing additional prediction)
  • An index of 6 may be assigned to (displacement prediction), and a merge candidate index that clearly distinguishes between motion prediction and displacement prediction may be selected.
  • the PU prediction parameter is not referred to in determining whether the additional prediction flag exists in the encoded data. There is no dependency, and the problem of perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy. Further, the additional prediction flag is decoded before the merge index merge_idx, and when the additional prediction flag is valid, the range of the merge index merge_idx is limited (for example, when there is only one candidate as an option, By not including the merge index), the merge index that is not valid is not decoded when the additional prediction is valid, so that the encoding efficiency is improved.
  • Modification D4 of inter prediction parameter decoding unit (Modification D4 of inter prediction parameter decoding unit)
  • an inter prediction parameter decoding unit 303D4 that is another configuration of the modification example D will be described as another modification example of the inter prediction parameter decoding unit.
  • Fig. 34 (a) is a diagram illustrating a configuration of encoded data (configuration of an encoding unit) decoded by the inter prediction parameter decoding unit 303D4.
  • the additional prediction flag includes a CU header CUH located in front of the CU unit PU.
  • Fig. 34 (b) is a diagram illustrating a configuration of encoded data (configuration of a prediction unit) decoded by the inter prediction parameter decoding unit 303D4.
  • the additional prediction flag is not included in the encoded data for each PU.
  • the additional prediction flag is set as a CU-unit flag, but the PU prediction parameter is referred to in determining whether or not the additional prediction flag exists in the encoded data. Therefore, the dependency between the prediction parameter and the flag disappears, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy.
  • the additional prediction flag is 1 (when additional prediction is used) using the additional prediction flag decoded before the merge index merge_idx
  • the range of the merge index merge_idx is limited. By doing this (for example, in the case of one candidate, the merge index is not included), the merge index that is not effective when the additional prediction is effective is not decoded, so that the encoding efficiency is improved.
  • an inter prediction parameter decoding unit 303E is provided instead of the inter prediction parameter decoding unit 303
  • an inter prediction parameter decoding control unit 3031E is used instead of the inter prediction parameter decoding control unit 3031
  • a merge prediction parameter deriving unit 3036 is provided.
  • a merge prediction parameter deriving unit 3036E is provided. Since other means are the same as those of the inter prediction parameter decoding unit 303, description thereof is omitted.
  • FIG. 35 is a diagram illustrating a configuration of encoded data decoded by the inter prediction parameter decoding unit 303E.
  • FIG. 35 (a) shows the configuration of the encoding unit
  • FIG. 35 (b) shows the configuration of the prediction unit.
  • an additional prediction flag indicating whether or not to perform additional prediction is not explicitly included in the encoded data.
  • FIG. 36 is a schematic diagram illustrating a configuration of the inter prediction parameter decoding control unit 3031E.
  • the inter prediction parameter decoding control unit 3031E includes a merge index decoding unit 30312E and a vector candidate index decoding unit 30313E. Compared with the inter prediction parameter decoding unit 303, the additional prediction flag decoding unit 30311 is not included.
  • the merge prediction parameter deriving unit 3036E includes a merge candidate deriving unit 30361E and a merge candidate selecting unit 30362. Unlike the merge candidate derivation unit 30361, the merge candidate derivation unit 30361E includes not only the vector mvLX and the reference picture index refIdxLX but also an additional prediction flag as a prediction parameter.
  • the additional prediction flags are a residual prediction flag res_pred_flag and an illumination compensation flag ic_enable_flag.
  • FIG. 37 is a diagram illustrating merge candidates derived by the merge candidate deriving unit 30361E.
  • 37A shows a case where residual prediction is included as additional prediction
  • FIG. 37B shows a case where illumination compensation is included as additional prediction
  • FIG. 37C shows a case where residual prediction and illumination compensation are included as additional prediction. Show.
  • the merge candidate derivation unit 30361 ⁇ / b> E does not perform the residual prediction and the merge candidate that performs the residual prediction as the merge candidate in the case of the configuration that performs the residual prediction as the additional prediction.
  • Derive merge candidates Specifically, inter-layer merge candidates (motion prediction), spatial merge candidates, inter-layer merge candidates (displacement prediction), temporal merge candidates, combined merge candidates, and zero merge candidates are derived as merge candidates that are not subjected to residual prediction. Then, an inter-layer merge candidate (motion prediction) is derived as a candidate for performing residual prediction.
  • the inter-layer merge candidate (motion prediction) in FIG. 37A is a merge candidate derived by the inter-layer merge candidate deriving unit 3036121 described with reference to FIG. 7, and the inter-layer merge candidate in FIG.
  • the candidate (displacement prediction) is a merge candidate derived by the interlayer displacement merge candidate deriving unit 3036123 (the same applies hereinafter).
  • the merge candidate derivation unit 30361E has, as a merge candidate, a merge candidate that performs illuminance compensation and a merge candidate that does not perform illuminance compensation.
  • a merge candidate that does not perform illumination compensation an inter layer merge candidate (motion prediction), a spatial merge candidate, an inter layer merge candidate (displacement prediction), a temporal merge candidate, a combined merge candidate, and a zero merge candidate are derived.
  • Interlayer merge candidates (displacement prediction) are derived as candidates for illuminance compensation.
  • the merge candidate derivation unit 30361E when configured to perform both residual prediction and illuminance compensation as additional prediction, merge candidates and illuminance compensation that perform residual prediction as merge candidates. Merging candidates that perform, and merging candidates that do not perform residual prediction and illumination compensation. More specifically, as merge candidates that do not perform residual prediction and illumination compensation, an inter-layer merge candidate (motion prediction), a spatial merge candidate, an inter-layer merge candidate (displacement prediction), a temporal merge candidate, a combined merge candidate, and a zero merge candidate And inter-layer merge candidates (motion prediction) as candidates for residual prediction, and inter-layer merge candidates (displacement prediction) as candidates for illuminance compensation.
  • the additional prediction flag is not included as a CU unit flag or a PU unit flag, it is not necessary to determine whether the additional prediction flag is present in the encoded data, that is, for decoding the additional prediction flag.
  • the prediction parameter of the PU since the prediction parameter of the PU is not referred to, there is no dependency between the prediction parameter and the flag, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy.
  • the merge candidate deriving unit 30361E derives merge candidates for which additional prediction is performed and merge candidates for which additional prediction is not performed, so that whether or not to perform additional prediction is selected as one of the merge candidates.
  • FIG. 43 is a block diagram illustrating a configuration of the inter prediction parameter decoding unit 303F1.
  • the inter prediction parameter decoding unit 303F1 includes an illuminance compensation flag decoding unit 30311F1, a split mode decoding unit, a merge flag decoding unit 30317, a merge index decoding unit 30312, an inter prediction flag decoding unit, and a reference picture index decoding unit. 30318, a vector candidate index decoding unit 30313, and a vector difference decoding unit.
  • the illuminance compensation flag decoding unit 30311F1 decodes the illuminance compensation flag ic_enable_flag from the encoded data, and conversely converts the encoded data into encoded data. If it is determined not to be included, the illuminance compensation flag ic_enable_flag is set to 0 (a value indicating that illuminance prediction is not performed) without decoding the encoded data.
  • FIG. 44 is a flowchart showing the operation of the illumination compensation flag decoding unit 30311F1.
  • S1104 Referring to the reference picture index ref_idx_LX, it is determined whether the target block is inter-layer prediction (inter-view prediction).
  • inter-view prediction and the inter-layer prediction are not distinguished, and are simply referred to as inter-view prediction.
  • the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1105). Otherwise, ic_enable_flag is set to 00, which is a value indicating that illuminance compensation is not performed (S1106).
  • the ref_idx_LX other than the merge mode is decoded from the encoded data by the reference picture index decoding unit 30318 (the same applies hereinafter).
  • FIG. 46 is a diagram illustrating a configuration of encoded data of the illumination compensation flag ic_enable_flag decoded by the inter prediction parameter decoding unit 303F1.
  • the illumination compensation flag ic_enable_flag is included in the encoded data.
  • the condition (SF1001) of the illuminance compensation flag slice_ic_enable_flag for each slice is expressed by the following equation.
  • slice_ic_enable_flag expression (F-1)
  • SF1002 The condition (SF1002) as to whether or not the mode is the merge mode is expressed by the following equation.
  • anyIvRefPicFlag is a flag indicating whether or not the target block (target CU) includes inter-layer prediction (inter-view prediction).
  • x1 and y1 indicate the coordinates of the prediction unit when the target CU includes a plurality of prediction units.
  • coordinates [x0] [x0] are the first prediction unit
  • coordinates [x0] [y1] are the second prediction unit
  • coordinates [x1] [y0] are the third prediction unit
  • the coordinates [x1] [y1] correspond to the third prediction unit.
  • the second determination method using the view ID is used as the determination as to whether the inter-layer prediction is used.
  • the following formula (F-5) is used to indicate whether or not the inter-layer prediction is performed in the prediction unit specified by the coordinates [x] [y] and LX prediction. Then, it is defined as the logical sum of the formula (F-5) for the prediction unit in the target CU.
  • refViewIdxLX [x] [y] indicates the view ID of a reference picture that the prediction unit of coordinates [x] [y] refers to using the LX list.
  • refViewIdxLX [x0] [y] can be derived by the following equation.
  • anyIvRefPicFlag anyIvRefPicFlag
  • the illumination compensation flag is decoded from the encoded data regardless of the reference picture index, and when the prediction unit is in the AMVP mode, When the reference picture index of the prediction unit indicates inter-layer prediction (inter-view prediction), the illuminance compensation flag is decoded from the encoded data. Do not perform illumination compensation without decoding.
  • the prediction unit when the prediction unit is in the merge mode, it is determined whether to decode the illuminance compensation flag ic_enable_flag from the encoded data, regardless of the reference picture index ref_idx_LX.
  • the parsing of the compensation flag ic_enable_flag has an effect of solving the parse dependency that the prediction parameter of the merge mode (reference picture index ref_idx_LX) needs to be derived (effect F1).
  • the conventional method using ref_idx_LX in the merge mode has a problem of perspective dependency.
  • the reference picture index ref_idx_LX is explicitly encoded with encoded data, and therefore the value of the reference picture index ref_idx_LX is self-evident at the time of parsing the illumination compensation flag ic_enable_flag. Even if ic_enable_flag is decoded depending on ref_idx_LX, there is no parse dependency problem.
  • the illumination compensation may be limited to the merge mode.
  • the illumination compensation flag decoding unit decodes ic_enable_flag only in the merge mode, and does not decode ic_enable_flag in the case other than the merge mode (the same applies hereinafter).
  • the illumination compensation flag decoding unit since illumination compensation is not performed in the AMVP mode, it is not necessary to determine whether the prediction is inter-view prediction (determination using the reference picture index ref_idx_LX), and thus the illumination compensation flag can be easily derived. Play.
  • the illumination compensation in the AMVP mode is not performed, an effect that the prediction image generation is facilitated is achieved.
  • the illuminance compensation flag decoding unit 30311F1 may further limit the case where the illuminance compensation flag is decoded from the encoded data to a case where the division mode of the encoding unit is not 2N ⁇ 2N. (Referred to as Modification F1 ′).
  • FIG. 45 is a flowchart showing the operation of the illuminance compensation flag decoding unit 30311F1 when limiting to 2N ⁇ 2N.
  • S1100 With reference to the partition mode part_mode encoded by the partition mode decoding unit, it is determined whether or not part_mode is 2N ⁇ 2N indicating that the target coding unit is not divided. In cases other than 2N ⁇ 2N, the illuminance compensation flag ic_enable_flag is set to 0 (S1106). In the case of 2N ⁇ 2N, the process proceeds to S1101.
  • S1101 With reference to the merge flag merge_flag, it is determined whether or not the target block is in the merge mode (whether or not merge_flag is 1).
  • the illumination compensation flag ic_flag is decoded from the encoded data (S1105). If it is not the merge mode, the process proceeds to S1104.
  • S1104 Referring to reference picture index ref_idx_LX, it is determined whether the target block is inter-layer prediction. If it is inter-layer prediction, the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1105). Otherwise, the illumination compensation flag ic_enable_flag is set to 0 (S1106) In this case, the encoded data configuration is similar to the encoded data configuration of FIG. 46, but condition SF1101 is used instead of condition SF1001. That is, the formula (F-1) is replaced with the following formula (F-1 ′).
  • the conditions SF1002 and SF1003 are as described above, but the derivation formula for anyIvRefPicFlag in the condition SF1003 is simplified. Specifically, in the case of 2N ⁇ 2N, there is only one prediction unit included in the target CU, so that it can be derived by the following equation (F-7) instead of the equation (F-4).
  • anyIvRefPicFlag anyIvRefPicFlag
  • (inter_pred_idc [x0] [y0]! Pred_L0 && refViewIdxL1 [x0] [y0]!
  • the illuminance compensation flag decoding unit of the modification example F1 ′ decodes the illuminance compensation flag ic_enable_flag from the encoded data when the division mode of the encoding unit is 2N ⁇ 2N indicating that no division is performed.
  • the illuminance compensation flag ic_enable_flag By limiting the case where the illuminance compensation flag ic_enable_flag is decoded, there is an effect of reducing the code amount of the illuminance compensation flag ic_enable_flag.
  • the number of prediction units included in the target CU is limited to one, there is an effect of reducing the processing amount of determination anyIvRefPicFlag for determining whether or not inter-layer prediction is included.
  • the illuminance compensation is limited to 2N ⁇ 2N, for example, the case where the block size corresponding to 2N ⁇ N and N ⁇ 2N is 8 ⁇ 4 and 4 ⁇ 8 in 8 ⁇ 8 CU is excluded. Therefore, there is an effect of reducing the amount of processing particularly problematic when the block size is small.
  • FIG. 47 is a block diagram illustrating a configuration of the inter prediction parameter decoding control unit 3031F2.
  • the inter prediction parameter decoding control unit 3031F2 includes an illuminance compensation flag decoding unit 30311F2, a split mode decoding unit, a merge flag decoding unit 30317, a merge index decoding unit 30312, an inter prediction flag decoding unit, and a reference picture index decoding.
  • the illumination compensation flag decoding unit 30311F2 decodes the illumination compensation flag ic_enable_flag from the encoded data and conversely converts the encoded data into encoded data. If it is determined not to be included, the illuminance compensation flag ic_enable_flag is set to 0 without decoding the encoded data.
  • FIG. 48 is a flowchart showing the operation of the illumination compensation flag decoding unit 30311F2.
  • S1201 Referring to merge flag merge_flag, it is determined whether the target block is in merge mode (whether merge_flag is 1). If the target block is in the merge mode, the illumination compensation flag ic_flag is decoded from the encoded data (S1203). If it is not the merge mode, the process proceeds to S1204.
  • S1203 Referring to merge index merge_idx, it is determined whether merge_idx is a predetermined value. In the case of a predetermined value, the illuminance compensation flag ic_enable_flag is set to 0 (S1206).
  • the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1205).
  • merge_idx is decoded by the merge index decoding unit 30312 (the same applies hereinafter).
  • S1204 Referring to reference picture index ref_idx_LX, it is determined whether or not the target block includes inter layer prediction. When inter-layer prediction is included (anyIvRefPicFlag is 1), the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1205). Otherwise (anyIvRefPicFlag is 0), the illumination compensation flag ic_enable_flag is set to 0 (S1206).
  • the illuminance compensation flag decoding unit 30311F2 determines whether or not the illuminance compensation flag determination unit 30314F2 decodes the illuminance compensation flag from the encoded data.
  • condition SF2001 is expressed by the formula (F-1 ′) already described.
  • condition SF2002 is expressed by the following formula.
  • merge_flag [x0] [y0] && merge_idx [x0] [y0]! 0 expression (F-2 ′)
  • the condition SF2003 is expressed by the expression (F-3) already described.
  • the illumination compensation flag ic_enable_flag is determined from the encoded data when the merge index is a predetermined value even in the merge mode based on the determination of the expression (F-2 ′) performed in S1201 and S1203. Set to 0 without decoding.
  • the merge index is a predetermined value (in this case, 0)
  • the reference picture is often the same layer as the target picture (it is motion prediction) (it is often motion prediction). Since the illumination compensation is not effective when the reference picture is the same layer as the target picture, it is useless to decode the illumination compensation flag ic_enable_flag from the encoded data in such a case. In the modified example F2, such a case can be prevented.
  • the illuminance compensation flag decoding unit 30311F2 decodes the illuminance compensation flag ic_enable_flag from the encoded data when the prediction unit that is the generation target of the predicted image is in the merge mode and the merge flag index is other than a predetermined value. Further, when the prediction unit is in the AMVP mode and the reference picture index of the prediction unit indicates inter layer prediction, the illumination compensation flag ic_enable_flag is decoded from the encoded data. If none of the above, the illumination compensation flag ic_enable_flag is not decoded from the encoded data, and illumination compensation is not performed.
  • the illumination compensation flag is decoded (encoded), There is an effect of reducing the code amount of the illumination compensation flag (effect F2).
  • FIG. 50 is a block diagram illustrating a configuration of the inter prediction parameter decoding control unit 3031F3.
  • the inter prediction parameter decoding control unit 3031F3 includes an illuminance compensation flag decoding unit 30311F3, a split mode decoding unit, a merge flag decoding unit 30317, a merge index decoding unit 30312, an inter prediction flag decoding unit, and a reference picture index decoding.
  • the illuminance compensation flag decoding unit 30311F3 decodes the illuminance compensation flag ic_enable_flag from the encoded data, and conversely converts the encoded data into encoded data. If it is determined not to be included, the illuminance compensation flag ic_enable_flag is set to 0 without decoding the encoded data.
  • the specific merge index illuminance compensation skip flag deriving unit 30319 derives a specific merge index illuminance compensation skip flag ic_skip_mergeidx0_flag from the encoded data.
  • the image decoding apparatus 31 including the inter prediction parameter decoding unit 303F3 may include an entropy decoding unit 301F3 as the entropy decoding unit 301.
  • FIG. 53 is a block diagram illustrating a configuration of the entropy decoding unit 301F3.
  • the entropy decoding unit 301F3 includes a specific merge index illuminance compensation skip flag deriving unit 30319, decodes ic_skip_mergeidx0_flag from the encoded data, and notifies the illuminance compensation flag determination unit 30314F3.
  • FIG. 51 is a flowchart showing the operation of the illumination compensation flag decoding unit 30311F3.
  • S1301 Referring to merge flag merge_flag, it is determined whether or not the target block is in merge mode (whether merge_flag is 1). If the target block is the merge mode, the process proceeds to S1302 if it is the merge mode, and the process proceeds to S1304 if it is not the merge mode.
  • S1302 It is determined whether the specific merge index illuminance compensation skip flag ic_skip_mergeidx0_flag is valid. If it is valid, the process proceeds to S1303. If not valid, the illumination compensation flag is decoded from the encoded data (S1305).
  • ic_skip_mergeidx0_flag is decoded by the specific merge index illuminance compensation skip flag deriving unit 30319 (the same applies hereinafter).
  • S1303 Referring to merge index merge_idx, it is determined whether or not merge index merge_idx is a predetermined value. In the case of a predetermined value, the illumination compensation flag ic_enable_flag is set to 0 (S1306). If it is not a predetermined value, the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1305).
  • S1304 Referring to reference picture index ref_idx_LX, it is determined whether or not the target block includes inter layer prediction.
  • FIG. 52 is a diagram illustrating a configuration of encoded data of the illumination compensation flag ic_enable_flag decoded by the inter prediction parameter decoding unit 303F3.
  • condition SF1101 is expressed by the formula (F-1 ′) already described.
  • condition SF1202 is expressed by the following formula.
  • the illuminance is obtained when ic_skip_mergeidx0_flag is 1 and the merge index merge_idx is a predetermined value even in the merge mode based on the determination of the expression (F-2 ′ ′′) performed in S1301 to S1303.
  • the compensation flag ic_enable_flag is set to 0 without decoding.
  • the modification F3 is different from the modification F2 in that only when ic_skip_mergeidx0_flag is 1, the determination based on the merge index merge_idx (identification of merge candidates) is performed.
  • the merge index merge_idx is a predetermined value, the rate of inter-layer prediction is high, and conversely, if a merge candidate that does not perform illuminance prediction is selected, coding efficiency is reversed. This is because there is a possibility of lowering.
  • FIG. 54 is a diagram illustrating a configuration of encoded data of the specific merge index illuminance compensation skip flag ic_skip_mergeidx0_flag. As shown in SF3004 of FIG. 54, ic_skip_mergeidx0_flag is encoded when the illuminance compensation flag slice_ic_enable_flag for each slice is valid in the slice header.
  • the modification F3 in addition to the effect F1 of the modification 1, the effect F2 of the modification 2, and the specific merge index illuminance compensation skip flag is valid only when the merge flag index is other than a predetermined value.
  • illumination compensation can be used when inter-layer prediction is frequently used even in the case of a specific merge index.
  • inter-layer prediction is often used in the target picture, such as when the picture interval between the reference picture and the encoding target picture is long, the inter-layer prediction is often used even in the case of a specific merge index.
  • the specific merge index illuminance compensation skip flag deriving unit 30319 of the modification F3 decodes the specific merge index illuminance compensation skip flag ic_skip_mergeidx0_flag from the encoded data.
  • the encoding apparatus can change the picture structure, display order (POC), and sequence. Accordingly, it is possible to set whether or not to set a merge candidate for which illuminance prediction is not performed, so that an effect of improving the coding efficiency is achieved.
  • ic_skip_mergeidx0_flag may be derived from the display order (POC) without decoding from the encoded data.
  • POC display order
  • a configuration using the specific merge index illuminance compensation skip flag deriving unit 30319B instead of the specific merge index illuminance compensation skip flag deriving unit 30319 will be described.
  • FIG. 55 shows an example of a reference structure called a hierarchical reference structure.
  • the period is 8, and the POC is encoded in the order of 0, 8, 4, 2, 1, 3, 6, 4, 7.
  • the reference picture is 0, for a picture with a POC of 4, the reference picture is 8 and 0, for a picture with a POC of 2, the reference picture is 4 and 0, and the picture with a POC of 1 is the reference The picture is 2 and 0.
  • POC difference the distance to the reference picture with the shortest time interval
  • POC% 2 4 for a picture with a POC of 2
  • a reference picture of a different layer at the same time is closer to the target image than a reference picture of the same layer at a different time, so that the reference picture is easily used. That is, an inter-layer image is likely to be used as a reference picture (inter-layer prediction is likely to be used).
  • FIG. 56A is a flowchart showing the operation of the specific merge index illuminance compensation skip flag deriving unit 30319B.
  • S3007B When the remainder between the reference picture and the predetermined value PERIOD (here, 8) is 0, it is determined that the time interval between the reference pictures in the same layer is large and inter-layer prediction is likely to be used, and ic_skip_mergeidx0_flag is set to 0. (S3008). In other cases, ic_skip_mergeidx0_flag is set to 1 (S3009).
  • ic_skip_mergeidx0_flag is derived by the following formula.
  • the illumination index becomes 0 without decoding the illumination compensation flag from the encoded data when the merge index is a specific value.
  • ic_skip_mergeidx0_flag may be derived according to the distance between the display order (POC) and the reference picture included in the reference picture list without decoding from the encoded data.
  • a configuration using the specific merge index illuminance compensation skip flag deriving unit 30319C instead of the specific merge index illuminance compensation skip flag deriving unit 30319 will be described.
  • FIG. 56B is a flowchart showing the operation of the specific merge index illuminance compensation skip flag deriving unit 30319C.
  • S3007C If the POC of the target picture and the POC of the reference picture are large, it is determined that the time interval between the reference pictures in the same layer is large and inter-layer prediction is likely to be used, and ic_skip_mergeidx0_flag is set to 0 (S3008). In other cases, ic_skip_mergeidx0_flag is set to 1 (S3009).
  • the reference pictures included in the reference picture lists L0 and L1 are scanned to identify the POC reference picture aPicX closest to the target picture among the reference pictures in a layer different from the target picture.
  • the POC interval DiffPicOrderCnt (aPic, currPic) is a reference picture included in the reference picture lists L0 and L1 and is a picture aPic in the same layer as the target picture.
  • aPicX which is the aPic that minimizes.
  • ic_skip_mergeidx0_flag DiffPicOrderCnt (aPic, currPic)> TH? 0: 1
  • ic_skip_mergeidx0_flag DiffPicOrderCnt (aPic, currPic)> TH? 0: 1
  • TH predetermined value
  • the specific merge index illuminance compensation skip flag deriving unit derives the specific merge index illuminance compensation skip flag using a display order (POC).
  • POC display order
  • ic_skip_mergeidx0_flag may not be decoded from the encoded data, but may be derived depending on whether intra prediction is used in the reference picture.
  • ic_skip_mergeidx0_flag may not be decoded from the encoded data, but may be derived depending on whether intra prediction is used in the reference picture.
  • FIG. 57 is a flowchart showing the operation of the specific merge index illuminance compensation skip flag deriving unit 30319D.
  • S3007D It is determined whether intra prediction is used in a reference picture block belonging to a position corresponding to the target block. When intra prediction is used, it is determined that inter layer prediction is likely to be used, and ic_skip_mergeidx0_flag is set to 0 (S3008). In other cases, ic_skip_mergeidx0_flag is set to 1 (S3009).
  • ic_skip_mergeidx0_flag is derived by the following formula.
  • ic_skip_mergeidx0_flag (PRED_MODE [x0] [y0] of xxx is MODE_INTRA)? 0: 1
  • the specific merge index illuminance compensation skip flag deriving unit sets the specific merge index illuminance compensation skip flag according to whether intra prediction is used in the block of the first layer image belonging to the position corresponding to the target block. It is derived.
  • FIG. 58 is a block diagram illustrating a configuration of the inter prediction parameter decoding control unit 3031F4.
  • the inter prediction parameter decoding control unit 3031F4 includes an illuminance compensation flag decoding unit 30311F4, a split mode decoding unit, a merge flag decoding unit 30317, a merge index decoding unit 30312, an inter prediction flag decoding unit, and a reference picture index decoding.
  • the illumination compensation flag decoding unit 30311F4 decodes the illumination compensation flag ic_enable_flag from the encoded data and conversely converts the encoded data into encoded data. If it is determined not to be included, the illuminance compensation flag ic_enable_flag is set to 0 without decoding the encoded data.
  • FIG. 59 is a flowchart showing the operation of the illumination compensation flag decoding unit 30311F4.
  • S1400 With reference to the division mode part_mode, it is determined whether or not part_mode is 2N ⁇ 2N indicating that the target encoding unit is not divided. If it is other than 2N ⁇ 2N, the illuminance compensation flag ic_enable_flag is set to 0 (S1406). In the case of 2N ⁇ 2N, the process proceeds to S1401.
  • FIG. 60 is a diagram illustrating a configuration of encoded data decoded by the inter prediction parameter decoding unit 303F3.
  • condition SF1101 is expressed by the formula (F-1 ′) already described.
  • condition SF1202 is expressed by the following formula.
  • anyIvRefPicFlag anyIvRefPicFlag
  • the coordinates [x0-1] [y0] are the coordinates of the block adjacent to the left of the target block
  • the coordinates [x0] [y0-1] are the coordinates of the block adjacent to the target block. If the block adjacent to the left of the target block or the block adjacent to the target block is inter-layer prediction (if refViewIdxLX and ViewIdx are different), it is determined that inter-layer prediction is used for the adjacent block .
  • the illumination compensation flag ic_enable_flag is encoded according to the reference picture index ref_idx_LX of the block adjacent to the target block, regardless of the reference picture index ref_idx_LX of the target block.
  • FIG. 61 is a block diagram illustrating a configuration of the inter prediction parameter decoding control unit 3031F5. As illustrated in FIG. 61, the inter prediction parameter decoding control unit 3031F5 includes an illuminance compensation flag decoding unit 30311F5 and a reference picture index decoding unit 30318.
  • the illuminance compensation flag decoding unit 30311F5 decodes the illuminance compensation flag ic_enable_flag from the encoded data when inter-layer prediction is performed in L0 prediction in the prediction unit included in the target CU (anyIvRefPicFlagInL0 described later is 1). In other cases, 0 is set in ic_enable_flag.
  • FIG. 62 is a flowchart showing the operation of the illumination compensation flag decoding unit 30311F5.
  • S1501 With reference to a reference picture derived from the L0 list, it is determined whether the current block includes a prediction unit that performs inter-layer prediction (anyIvRefPicInL0Flag). When prediction using the L0 list includes a prediction unit that performs inter-layer prediction (anyIvRefPicInL0Flag is 1), the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1505). Otherwise (anyIvRefPicInL0Flag is 0), the illumination compensation flag ic_enable_flag is set to 0 (S1506).
  • anyIvRefPicInL0Flag is derived by the following equation when the coordinates of the target block (target CU) are [x0] [y0]. Since only the reference list of L0 different from Expression (F-8) is referred to, it is easy to determine whether or not a prediction unit that performs inter-layer prediction is included.
  • anyIvRefPicInL0Flag anyIvRefPicInL0Flag
  • anyIvRefPicInL0Flag anyIvRefPicInL0Flag
  • x1 and y1 indicate the coordinates of the prediction unit when the target CU includes a plurality of prediction units. Specifically, coordinates [x0] [x0] are the first prediction unit, coordinates [x0] [y1] are the second prediction unit, coordinates [x1] [y0] are the third prediction unit, The coordinates [x1] [y1] correspond to the third prediction unit.
  • the inter prediction flag inter_pred_idc [] [] indicates the prediction direction of the prediction unit, and is any one of L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI). Therefore, the inter prediction flag inter_pred_idc [] [] being not Pred_L1 means the case of L0 prediction or bi-prediction.
  • the reference layer of L0 here, the reference view
  • refViewIdxL0 when it is other than the target layer (target view) ViewIdx, inter-layer prediction is used for L0 prediction.
  • Pred_L1 && refViewIdxL0 [x0] [y0]! ViewIdx indicating whether or not inter-layer prediction is used in all prediction units included in the target CU. By obtaining the sum (
  • refViewIdxL0 [x0] [y] indicates the view ID of the reference picture referenced by the prediction unit of coordinates [x] [y] using the LX list. This can be derived from the following equation in which LX in equation (F-6) is limited to L0.
  • refViewIdxLX [x] [y] ViewIdx of the RefPicListL0 [ref_idx_l0 [x] [y]] formula (F-6 ')
  • Formula (F-8 ′) and Formula (F-8 ′′) only the L0 prediction flag predFlagL0, the L0 reference picture index ref_idx_l0, the L0 reference picture list RefPicListL0 are referenced, and the L1 prediction flags predFlagL1 and L1 are referenced. Since the picture index ref_idx_l1 and the L1 reference picture list RefPicListL1 are not referred to, it is easy to determine whether or not a prediction unit that performs inter-layer prediction is included.
  • FIG. 63 is a diagram illustrating a configuration of encoded data decoded by the inter prediction parameter decoding unit 303F3.
  • condition SF1502 is based on anyIvRefPicInL0Flag already described, and is expressed by the following expression.
  • Modification 5 may be limited to 2N ⁇ 2N indicating that the division mode of the encoding unit is not divided (referred to as Modification F5 ′).
  • the condition SF1101 is used instead of the condition SF1001.
  • the following formula (F-9) is used instead of the formula (F-8).
  • the inter prediction flag inter_pred_idc and the prediction list flag predFlagLX correspond to each other, the following equation can be used instead of the equation (F-9) as a determination equation for determining whether or not the inter layer prediction is used.
  • whether or not the inter-layer prediction is performed as in the formulas (F-8 ′) and (F-8 ′′). This determination is made based only on the information of the L1 reference picture, so it is easy to determine whether or not inter-layer prediction is performed.
  • the illuminance compensation flag deriving unit of the modified example F5 has an effect of reducing the code amount of the illuminance compensation flag by limiting the case where the illuminance compensation flag is derived to the case where L0 prediction is performed (effect F5a).
  • effect F5a since it is determined whether or not the inter-layer prediction is performed in the prediction unit included in the target CU based only on the information of the L1 reference picture, it is easy to determine whether or not the inter-layer prediction is performed. (Effect F5aa).
  • illuminance compensation is performed on both the motion compensated image by the reference picture using the L0 list and the motion compensated image by the reference picture using the L1 list.
  • the modification F5 that limits the illuminance compensation to L0 can be used in combination with the modifications 1 to 4 already described.
  • modification F6 only the case where the modification 5 and the modification 3 are used together will be described as the modification F6, but the present invention can be applied to other examples.
  • the inter prediction parameter decoding control unit 3031F6 includes an illuminance compensation flag decoding unit 30311F6 and a reference picture index decoding unit 30318.
  • FIG. 64 is a block diagram illustrating a configuration of the inter prediction parameter decoding control unit 3031F3.
  • the inter prediction parameter decoding control unit 3031F6 includes an illuminance compensation flag decoding unit 30311F6, a split mode decoding unit, a merge flag decoding unit 30317, a merge index decoding unit 30312, an inter prediction flag decoding unit, and a reference picture index decoding.
  • FIG. 65 is a flowchart showing the operation of the illumination compensation flag decoding unit 30311F6.
  • S1601 With reference to the merge flag merge_flag, it is determined whether or not the target block is in the merge mode (whether or not merge_flag is 1). If the target block is the merge mode, the process proceeds to S1602 if it is the merge mode, and the process proceeds to S1604 if it is not the merge mode.
  • S1602 It is determined whether the specific merge index illuminance compensation skip flag ic_skip_mergeidx0_flag is valid. If it is valid, the process proceeds to S1603. If not valid, the illumination compensation flag is decoded from the encoded data (S1605).
  • ic_skip_mergeidx0_flag is decoded by the specific merge index illuminance compensation skip flag deriving unit 30319 (the same applies hereinafter).
  • S1603 Referring to merge index merge_idx, it is determined whether or not merge index merge_idx is a predetermined value. In the case of a predetermined value, the illumination compensation flag ic_enable_flag is set to 0 (S1606). If it is not a predetermined value, the illumination compensation flag ic_enable_flag is decoded from the encoded data (S1605).
  • FIG. 66 is a diagram illustrating a configuration of encoded data of the illumination compensation flag ic_enable_flag decoded by the inter prediction parameter decoding unit 303F6.
  • condition SF1101 is expressed by the formula (F-1 ′) already described.
  • condition SF1202 is expressed by the formula (F-2 ′′) already described.
  • the condition SF1603 is expressed by the following formula.
  • the residual storage unit 313 stores the residual signal derived from the first layer image (base layer, base view) in the inverse quantization / inverse DCT unit 311.
  • FIG. 38 is a diagram illustrating a configuration of the residual storage unit 313.
  • FIG. 38A shows the configuration of the residual storage unit 313 corresponding to the case where the residual prediction unit 3092 reads out the range of residual values obtained in the reference layer.
  • the residual storage unit 313 includes a residual value range limiting unit 3131, a residual storage memory 3132, and a residual reading unit 3133.
  • the residual value range restriction unit 3131 restricts the residual range to ⁇ 1 ⁇ (BitDepthY ⁇ 1) to (1 ⁇ (BitDepthY ⁇ 1)) ⁇ 1 when the bit width of the pixel is bitDepthY.
  • the residual reading unit 3133 reads the residual stored in the residual storage memory 3132. Specifically, the residual resSamples is recorded in the memory resStoreSamples of the residual storage memory 3132 as in the following equation.
  • resStoreSamples [x] [y] clip3 (xmin, xmax, resSamples [x] [y]
  • xmin ⁇ (1 ⁇ (BitDepthY ⁇ 1))
  • xmax (1 ⁇ (BitDepthY ⁇ 1)) ⁇ 1
  • x, and y are the coordinates of the storage destination.
  • x is an integer of 0 or more and width-1 or less
  • y is an integer of 0 or more and height-1) or less
  • width and height are the width and height of the screen.
  • the residual storage memory 3132 stores the residual with a bit depth of BitDepthY.
  • the residual reading unit 3133 reads the residual recorded in the residual storage memory 3132 as follows.
  • FIG. 38B is a diagram illustrating a residual storage unit 313A that is a modification of the residual storage unit 313.
  • the residual storage unit 313A includes a residual reduction unit 3131A, a residual storage memory 3132, and a residual expansion unit 3133A.
  • Residual reduction unit 3131A restricts the residual range to-(1 ⁇ (BitDepthY-1)) to (1 ⁇ (BitDepthY-1))-1 when the bit width of the pixel is bitDepthY.
  • resStoreSamples [x] [y] clip3 (xmin, xmax, resSamples [N * x] [N * y])
  • xmin ⁇ (1 ⁇ (BitDepthY ⁇ 1))
  • xmax (1 ⁇ (BitDepthY ⁇ 1)) ⁇ 1
  • x, and y are the coordinates of the storage destination.
  • x is an integer of 0 or more and (width + N ⁇ 1) / N or less
  • y is an integer of 0 or more and (height + N ⁇ 1) / N or less.
  • width and height are the width and height of the screen.
  • the residual storage memory 3132 stores the residual with a bit depth of BitDepthY.
  • the residual expansion unit 3133A reads the residual recorded in the residual storage memory 3132 as follows.
  • refResSamples L [x] [y] resStoreSamples [x / N] [y / N]
  • x and y are the coordinates of the readout destination. Since the residual storage memory 3132 is reduced in the spatial direction, the coordinates (x, y) of the read destination correspond to (x / N, y / N) on the residual storage memory 3132. Note that interpolation processing such as linear interpolation may be performed at the time of reading.
  • FIG. 39 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). Unit, frame memory) 108, reference picture memory (reference image storage unit, frame memory) 109, coding parameter determination unit 110, prediction parameter coding unit 111, and residual storage unit 313 (residual recording unit). Is done.
  • 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 a predicted picture block P for each block which 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 encoding target block.
  • the prediction image generation unit 101 generates a prediction picture block P 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 P to the subtraction unit 102. 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 P 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 P. Select the prediction method to minimize.
  • the method for selecting the prediction method is not limited to this.
  • the plurality of prediction methods are intra prediction, motion prediction, and merge prediction.
  • Motion prediction is prediction between display times among the above-mentioned inter predictions.
  • the merge prediction is a prediction that uses the same reference picture block and prediction parameter as a block that has already been encoded and is within a predetermined range from the encoding target block.
  • the plurality of prediction methods are intra prediction, motion prediction, merge prediction, and displacement prediction.
  • the displacement prediction is prediction between different layer images (different viewpoint images) in the above-described inter prediction. Furthermore, motion prediction, merge prediction, and displacement prediction. For displacement prediction (disparity prediction), there are predictions with and without additional prediction (residual prediction and illuminance compensation).
  • the predicted image generation unit 101 When the intra prediction is selected, the predicted image generation unit 101 outputs a prediction mode predMode indicating the intra prediction mode used when generating the predicted picture block P to the prediction parameter encoding unit 111.
  • the prediction image generation unit 101 stores the motion vector mvLX used when generating the prediction picture block P in the prediction parameter memory 108 and outputs the motion vector mvLX to the inter prediction parameter encoding unit 112.
  • the motion vector mvLX indicates a vector from the position of the encoding target block to the position of the reference picture block when the predicted picture block P is generated.
  • the information indicating the motion vector mvLX may include information indicating a reference picture (for example, a reference picture index refIdxLX, a picture order number POC), and may represent a prediction parameter.
  • the predicted image generation unit 101 outputs a prediction mode predMode indicating the inter prediction mode to the prediction parameter encoding unit 111.
  • the prediction image generation unit 101 When the prediction image generation unit 101 selects the displacement prediction, the prediction image generation unit 101 stores the displacement vector used when generating the prediction picture block P in the prediction parameter memory 108 and outputs it to the inter prediction parameter encoding unit 112.
  • the displacement vector dvLX indicates a vector from the position of the current block to the position of the reference picture block when the predicted picture block P is generated.
  • the information indicating the displacement vector dvLX may include information indicating a reference picture (for example, reference picture index refIdxLX, view ID view_id) and may represent a prediction parameter.
  • the predicted image generation unit 101 outputs a prediction mode predMode indicating the inter prediction mode to the prediction parameter encoding unit 111.
  • the prediction image generation unit 101 selects merge prediction
  • the prediction 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 prediction mode to the prediction parameter encoding unit 111.
  • the illuminance compensation prediction is performed in the illuminance compensation unit 3093 included in the predicted image generation unit 101 as described above.
  • the residual storage unit 313 only needs to store a limited range of values as the residual, and thus has the effect of reducing the amount of memory for recording the residual.
  • a residual prediction unit 3092B may be used instead of the residual prediction unit 3092.
  • the linear interpolation of the residual is performed only for the luminance component, and the linear interpolation of the residual is not performed on the chrominance component. There is an effect of reducing the amount of processing used to derive the residual.
  • a residual prediction unit 3092C may be used instead of the residual prediction unit 3092.
  • the number of bits necessary for the residual of the chrominance component can be reduced in the derivation of the prediction residual, so that the memory for storing the residual of the chrominance component There is an effect of reducing the size.
  • a residual prediction unit 3092D may be used instead of the residual prediction unit 3092. According to the moving picture coding apparatus including the residual prediction unit 3092D, there is an effect of omitting the memory size for storing the residual of the color difference component in the derivation of the prediction residual.
  • the illuminance compensation unit 3093B may be used instead of the illuminance compensation unit 3093.
  • the sum xy and xx which are sums of products, are derived using the accumulated shift value precShift according to the pixel bit depth, so that a predetermined range, for example, 32 bits. It is possible to derive the first parameter and the second parameter within the range, and the effect of facilitating the processing is achieved.
  • an illuminance compensation unit 3093C may be used instead of the illuminance compensation unit 3093.
  • the common shift unit 3093162C normalizes the value by using the same normalized shift value together with both the first parameter and the second parameter, so that processing is easy. Has the effect of becoming.
  • an illuminance compensation unit 3093D may be used instead of the illuminance compensation unit 3093.
  • the sum XY of the product of the pixel value of the decoded image and the pixel value of the reference image, the sum Y of the pixel value of the decoded image, and the sum X of the pixel value of the reference image From the value derived from the first parameter a1 derived from the product of the above, the sum XX of the squares of the pixel values of the reference image, and the second parameter a2 derived from the square of the sum X of the pixel values of the reference image
  • the parameter a is derived by comparison with the derived value. Since there is no need to use the table invTable [] for subtracting the reciprocal of the second parameter, there is an effect that the processing becomes easy.
  • the illuminance compensation unit 3093E may be used instead of the illuminance compensation unit 3093.
  • the parameter a is derived from the first parameter a1 and the second parameter a2 to which the regularization term is added.
  • the parameter a is substantially close to 1 (actually close to 1 ⁇ iShift), so that when there is an outlier, the estimated parameter becomes robust. Since the estimated parameter is robust, the estimation accuracy of the illumination compensation is improved, and the encoding efficiency is improved.
  • an illuminance compensation unit 3093F may be used instead of the illuminance compensation unit 3093.
  • the case where the illuminance prediction is used is limited to the motion compensated image in which the reference picture using the L0 list is used (L0 limitation) while maintaining the performance (effect).
  • F5c there is an effect of reducing the processing amount (effect F5b) (Another form of the predicted image generation unit 101)
  • a residual prediction unit 3092A is provided instead of the residual prediction unit 3092. According to the above configuration, since the residual storage unit 313 only needs to store the residual of the position to be referred to by limiting and reading the reference position of the residual, the amount of memory for recording the residual It has the effect of lowering.
  • the subtraction unit 102 subtracts the signal value of the prediction picture block P 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 vector index mvp_LX_idx, a difference vector mvdLX, a prediction mode predMode, and a merge index merge_idx.
  • 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.
  • the addition unit 106 adds the signal value of the predicted picture block P input from the predicted 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 a predicted picture block P 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 prediction 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 (see FIG. 5 and the like) 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 IntraIntraPredMode 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. 40 is a schematic diagram illustrating a configuration of the inter prediction parameter encoding unit 112 according to the present embodiment.
  • the inter prediction parameter encoding unit 112 includes an inter prediction parameter encoding control unit 1031, a merge prediction parameter derivation unit 1121, an AMVP prediction parameter derivation unit 1122, a subtraction unit 1123, and a prediction parameter integration unit 1126.
  • the merge prediction parameter derivation unit 1121 has the same configuration as the merge prediction parameter derivation unit 3036 (see FIG. 7).
  • the inter prediction parameter coding control unit 1031 instructs a code related to inter prediction (decoding of syntax elements to the entropy coding unit 104), and a code (syntax element) included in the coded data is, for example, divided mode part_mode. , Merge flag merge_flag, merge index merge_idx, inter prediction flag inter_pred_idx, reference picture index refIdxLX, prediction vector index mvp_LX_idx, and difference vector mvdLX.
  • the inter prediction parameter encoding control unit 1031 includes an additional prediction flag encoding unit 10311, a merge index encoding unit 10312, a vector candidate index encoding unit 10313, and a partition mode encoding unit not shown. It includes a merge flag encoding unit, an inter prediction flag encoding unit, a reference picture index encoding unit, and a vector difference encoding unit.
  • the division mode encoding unit, the merge flag encoding unit, the merge index encoding unit, the inter prediction flag encoding unit, the reference picture index encoding unit, the vector candidate index encoding unit 10313, and the vector difference encoding unit are respectively divided modes.
  • merge flag merge_flag merge index merge_idx
  • inter prediction flag inter_pred_idx reference picture index refIdxLX
  • prediction vector index mvp_LX_idx reference picture index refIdxLX
  • difference vector mvdLX difference vector
  • the additional prediction flag encoding unit 10311 encodes a flag xpred_flag indicating whether or not additional prediction is performed.
  • the additional prediction flag encoding unit 10311 includes an additional prediction flag determination unit 30314 therein. As described above, the additional prediction flag determination unit 30314 determines whether or not the additional prediction flag xpred_flag is included in the encoded data. If the additional prediction flag determination unit 30314 determines that the additional prediction flag is included in the encoded data, the additional prediction flag encoding unit 10311 causes the entropy encoding unit 104 to re-encode the additional prediction flag. The syntax element corresponding to the additional prediction flag is encoded in the encoded data through the entropy encoding 104.
  • the additional prediction flag encoding unit 10311 adds an additional corresponding to the corresponding encoding unit (CU) in the encoded data. Do not encode prediction flags.
  • the merge index merge_idx is input from the encoding parameter determination unit 110 to the merge prediction parameter derivation unit 1121 when the prediction mode predMode input from the prediction image generation unit 101 indicates the merge prediction mode.
  • the merge index merge_idx is output to the prediction parameter integration unit 1126.
  • the merge prediction parameter derivation unit 1121 reads the reference picture index refIdxLX and the vector mvLX of the reference block indicated by the merge index merge_idx from the merge parameters from the prediction parameter memory 108.
  • the merge candidate is a reference block (for example, a reference block in contact with the lower left end, upper left end, and upper right end of the encoding target block) within a predetermined range from the encoding target block to be encoded, This is a reference block for which encoding processing has been completed.
  • the AMVP prediction parameter derivation unit 1122 has the same configuration as the AMVP prediction parameter derivation unit 3032 (see FIG. 8).
  • the vector mvLX is input from the encoding parameter determination unit 110 to the AMVP prediction parameter derivation unit 1122.
  • the AMVP prediction parameter derivation unit 1122 derives a prediction vector mvpLX based on the input vector mvLX.
  • the AMVP prediction parameter derivation unit 1122 outputs the derived prediction vector mvpLX to the subtraction unit 1123. Note that the reference picture index refIdx and the vector index mvp_LX_idx are output to the prediction parameter integration unit 1126.
  • the inter prediction parameter encoding unit 1031A includes an additional prediction flag encoding unit 10311A, a merge index encoding unit 10312, and a vector candidate index encoding unit 10313.
  • the additional prediction flag encoding unit 10311A includes an additional prediction flag determination unit 30314A therein.
  • the inter prediction parameter encoding unit 1031A and the additional prediction flag encoding unit 10311A are means corresponding to the already described inter prediction parameter decoding unit 303A and additional prediction flag decoding unit 30311A, and are added by the additional prediction flag determination unit 30314A.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303A decodes the additional prediction flag when the additional prediction flag is included in the encoded data, but the inter prediction parameter encoding unit 1031A encodes the additional prediction flag.
  • the inter prediction parameter encoding unit 1031A2 includes an additional prediction flag encoding unit 10311A2, a merge index encoding unit 10312, and a vector candidate index encoding unit 10313.
  • the additional prediction flag encoding unit 10311A2 includes an additional prediction flag determination unit 30314A2 therein.
  • the inter prediction parameter encoding unit 1031A2 and the additional prediction flag encoding unit 10311A2 are means corresponding to the inter prediction parameter decoding unit 303A2 and the additional prediction flag decoding unit 30311A2 described above, and are added by the additional prediction flag determination unit 30314A2.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303A2 decodes the additional prediction flag when the encoded data includes the additional prediction flag, but the inter prediction parameter encoding unit 1031A2 encodes the additional prediction flag.
  • whether or not the first flag exists is determined by using whether or not the disparity_pred_exists of the PU includes displacement prediction is 1.
  • the determination whether or not the PU includes motion prediction uses whether or not disparity_pred_exists is 0.
  • whether or not the second additional prediction flag exists is determined based on the value used for determining whether or not the first additional prediction flag exists. Since it is possible to determine whether or not the additional prediction flag exists without checking the prediction parameter of each PU, there is an effect that the decoding process of the additional prediction flag becomes easy.
  • the inter prediction parameter encoding unit 1031B includes an additional prediction flag encoding unit 10311B, a merge index encoding unit 10312, and a vector candidate index encoding unit 10313.
  • the additional prediction flag encoding unit 10311B includes an additional prediction flag determination unit 30314B therein.
  • the inter prediction parameter encoding unit 1031B and the additional prediction flag encoding unit 10311B are means corresponding to the inter prediction parameter decoding unit 303B and the additional prediction flag decoding unit 30311B described above, and are added by the additional prediction flag determination unit 30314B.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303B decodes the additional prediction flag when the encoded data includes the additional prediction flag, but the inter prediction parameter encoding unit 1031B encodes the additional prediction flag.
  • the additional prediction flag determination unit 30314B only needs to check the prediction parameter of the first PU without checking the prediction parameters of all PUs included in the target CU. There is an effect that it is easy to check whether or not xpred (here, the residual prediction flag res_pred_flag and the illumination compensation flag ic_enable_flag) is included in the encoded data.
  • the inter prediction parameter encoding unit 1031C includes an additional prediction flag encoding unit 10311C, a merge index encoding unit 10312, and a vector candidate index encoding unit 10313.
  • the additional prediction flag encoding unit 10311B includes an additional prediction flag determination unit 30314C therein.
  • the inter prediction parameter encoding unit 1031C and the additional prediction flag encoding unit 10311C are means corresponding to the inter prediction parameter decoding unit 303C and the additional prediction flag decoding unit 30311C described above, and are added by the additional prediction flag determination unit 30314C.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303C decodes the additional prediction flag when the encoded data includes an additional prediction flag, but the inter prediction parameter encoding unit 1031C encodes the additional prediction flag.
  • the additional prediction flag encoding unit 10311C having the above configuration, whether the additional prediction flag exists in the encoded data by using the additional prediction flag as a common flag for the residual prediction flag and the illumination compensation flag.
  • the prediction parameter of the PU since the prediction parameter of the PU is not referred to, the dependency between the prediction parameter and the flag disappears, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy. Further, since one flag is included in the encoded data as the additional prediction flag instead of the two flags (residual prediction flag and illuminance compensation flag), there is an effect that the code amount of the flag is reduced.
  • the inter prediction parameter encoding unit 1031D includes an additional prediction flag encoding unit 10311D, a merge index encoding unit 10312, and a vector candidate index encoding unit 10313.
  • the additional prediction flag encoding unit 10311B includes an additional prediction flag determination unit 30314C therein.
  • the additional prediction flag encoding unit 10311D includes an additional prediction flag determination unit 30314D therein.
  • the inter prediction parameter encoding unit 1031D and the additional prediction flag encoding unit 10311D are means corresponding to the inter prediction parameter decoding unit 303D and the additional prediction flag decoding unit 30311D described above, and are added by the additional prediction flag determination unit 30314D.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303D decodes the additional prediction flag when the additional prediction flag is included in the encoded data, but the inter prediction parameter encoding unit 1031D encodes the additional prediction flag.
  • the inter prediction parameter encoding unit 1031D2 includes an additional prediction flag encoding unit 10311D2, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311D2 includes an additional prediction flag determination unit 30314D2 therein.
  • the additional prediction flag encoding unit 10311D includes an additional prediction flag determination unit 30314D2 therein.
  • the inter prediction parameter encoding unit 1031D2 and the additional prediction flag encoding unit 10311D2 are means corresponding to the inter prediction parameter decoding unit 303D2 and the additional prediction flag decoding unit 30311D2 described above, and are added by the additional prediction flag determination unit 30314D2.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303D2 decodes the additional prediction flag when the encoded data includes the additional prediction flag, but the inter prediction parameter encoding unit 1031D2 encodes the additional prediction flag.
  • the additional prediction flag is limited to the merge mode, and further, the additional prediction flag is set as a flag for each PU.
  • the prediction parameter of the PU is not referred to, so that the dependency between the prediction parameter and the flag is eliminated, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy.
  • the additional prediction flag decoding unit 30311D2 the additional prediction flag is encoded only when the merge index merge_idx is a predetermined value indicating an inter-layer merge candidate (inter-view merge candidate), thereby performing additional prediction.
  • the additional prediction flag is not included in the encoded data, and thus the encoding efficiency is improved.
  • the inter prediction parameter encoding unit 1031D3 includes an additional prediction flag encoding unit 10311D3, a merge index encoding unit 30312D3, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311D3 includes an additional prediction flag determination unit 30314D3 therein.
  • the additional prediction flag encoding unit 10311D3 includes an additional prediction flag determination unit 30314D3 therein.
  • the inter prediction parameter encoding unit 1031D3 and the additional prediction flag encoding unit 10311D3 are means corresponding to the already described inter prediction parameter decoding unit 303D3 and additional prediction flag decoding unit 30311D3, and are added by the additional prediction flag determination unit 30314D3.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303D3 decodes the additional prediction flag when the encoded data includes the additional prediction flag, but the inter prediction parameter encoding unit 1031D3 encodes the additional prediction flag.
  • the additional prediction flag is limited to the merge mode, and further, whether or not the additional prediction flag exists in the encoded data by using a flag in PU units.
  • the prediction parameter of the PU since the prediction parameter of the PU is not referred to, the dependency relationship between the prediction parameter and the flag is eliminated, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy.
  • the additional prediction flag is encoded before the merge index merge_idx, and when the additional prediction flag is valid, the range of the merge index merge_idx is limited (for example, in the case of one candidate, the merge index is not included). As a result, when the additional prediction is effective, the merge index that is not effective is not encoded, so that the encoding efficiency is improved.
  • the inter prediction parameter encoding unit 1031D4 includes an additional prediction flag encoding unit 10311D4, a merge index encoding unit 30312D4, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311D4 includes an additional prediction flag determination unit 30314D4 therein.
  • the additional prediction flag encoding unit 10311D4 includes an additional prediction flag determination unit 30314D4 therein.
  • the inter prediction parameter encoding unit 1031D4 and the additional prediction flag encoding unit 10311D4 are means corresponding to the inter prediction parameter decoding unit 303D4 and the additional prediction flag decoding unit 30311D4 described above, and are added by the additional prediction flag determination unit 30314D4.
  • the method for determining whether or not the prediction flag is included in the encoded data is the same.
  • the inter prediction parameter decoding unit 303D4 decodes the additional prediction flag when the encoded data includes the additional prediction flag, but the inter prediction parameter encoding unit 1031D4 encodes the additional prediction flag.
  • the additional prediction flag is set as a CU-unit flag, but the PU prediction parameter is referred to in determining whether or not the additional prediction flag exists in the encoded data. Therefore, there is no dependency between the prediction parameter and the flag, so that the problem of the perspective dependency is solved.
  • the additional prediction flag is 1 (when additional prediction is used) using the additional prediction flag encoded before the merge index merge_idx
  • the range of the merge index merge_idx is set. By limiting (for example, in the case of one candidate, the merge index is not included), the merge index that is not effective when the additional prediction is effective is not encoded, so that the encoding efficiency is improved.
  • an index for selecting a prediction parameter without using an additional prediction flag that is a dedicated syntax element for determining whether or not to perform additional prediction. Merge index).
  • the additional prediction flag is not included as a CU unit flag or a PU unit flag, it is not necessary to determine whether or not the additional prediction flag exists in the encoded data. For this reason, since the prediction parameter of the PU is not referred to, the dependency between the prediction parameter and the flag is eliminated, and the problem of the perspective dependency is solved. Thereby, there exists an effect that the decoding process of an additional prediction flag becomes easy.
  • the merge candidate deriving unit 30361E derives a merge candidate that performs additional prediction and a merge candidate that does not perform additional prediction, so that whether or not to perform additional prediction is selected as one of the merge candidates.
  • additional prediction since it can be selected whether additional prediction is performed per PU, encoding efficiency improves.
  • prediction parameters for which additional prediction is not effective are derived. In this case, since no candidate for performing additional prediction is provided, encoding efficiency is improved.
  • An inter prediction parameter encoding unit 1031F1 may be used as another modification of the inter prediction parameter encoding unit.
  • the inter prediction parameter encoding unit 1031F1 includes an additional prediction flag encoding unit 10311F1, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the inter prediction parameter encoding unit 1031F2 may be used as another modification of the inter prediction parameter encoding unit.
  • the inter prediction parameter encoding unit 1031F2 includes an additional prediction flag encoding unit 10311F2, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311F2 includes an additional prediction flag determination unit 30314F2.
  • An inter prediction parameter encoding unit 1031F3 may be used as another modification of the inter prediction parameter encoding unit.
  • the inter prediction parameter encoding unit 1031F3 includes an additional prediction flag encoding unit 10311F3, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311F3 includes an additional prediction flag determination unit 30314F3.
  • the inter prediction parameter encoding unit 1031F4 may be used as another modification of the inter prediction parameter encoding unit.
  • the inter prediction parameter encoding unit 1031F4 includes an additional prediction flag encoding unit 10311F4, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311F4 includes an additional prediction flag determination unit 30314F4.
  • An inter prediction parameter encoding unit 1031F5 may be used as another modification of the inter prediction parameter encoding unit.
  • the inter prediction parameter encoding unit 1031F5 includes an additional prediction flag encoding unit 10311F5, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311F5 includes an additional prediction flag determination unit 30314F5.
  • An inter prediction parameter encoding unit 1031F5 may be used as another modification of the inter prediction parameter encoding unit.
  • the inter prediction parameter encoding unit 1031F6 includes an additional prediction flag encoding unit 10311F6, a merge index encoding unit 30312, and a vector candidate index encoding unit 30313.
  • the additional prediction flag encoding unit 10311F6 includes an additional prediction flag determination unit 30314F6.
  • 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 encoding parameter determination unit 110 to generate a difference vector mvdLX.
  • the difference vector mvdLX is output to the prediction parameter integration unit 1126.
  • the prediction parameter integration unit 1126 When the prediction mode predMode input from the predicted image generation unit 101 indicates the merge prediction mode, the prediction parameter integration unit 1126 outputs the merge index merge_idx input from the encoding parameter determination unit 110 to the entropy encoding unit 104. To do.
  • the prediction parameter integration unit 1126 performs the following process.
  • the prediction parameter integration unit 1126 integrates the reference picture index refIdxLX and the vector index mvp_LX_idx input from the encoding parameter determination unit 110 and the difference vector mvdLX input from the subtraction unit 1123.
  • the prediction parameter integration unit 1126 outputs the integrated code to the entropy encoding unit 104.
  • a part of the image encoding device 11 and the image decoding device 31 in the above-described embodiment for example, the entropy decoding unit 301, the prediction parameter decoding unit 302, the predicted image generation unit 101, the DCT / quantization unit 103, and entropy encoding.
  • Unit 104, inverse quantization / inverse DCT unit 105, encoding parameter determination unit 110, prediction parameter encoding unit 111, entropy decoding unit 301, prediction parameter decoding unit 302, predicted image generation unit 308, inverse quantization / inverse DCT unit 311 may be realized by a computer.
  • the program for realizing the control function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by a computer system and executed.
  • the “computer system” here is a computer system built in either the image encoding device 11-11h or the image decoding device 31-31h, and includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, and a hard disk incorporated in a computer system.
  • the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
  • a volatile memory inside a computer system serving as a server or a client may be included and a program that holds a program for a certain period of time.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
  • part or all of the image encoding device 11 and the image decoding device 31 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
  • LSI Large Scale Integration
  • Each functional block of the image encoding device 11 and the image decoding device 31 may be individually made into a processor, or a part or all of them may be integrated into a processor.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, in the case where an integrated circuit technology that replaces LSI appears due to progress in semiconductor technology, an integrated circuit based on the technology may be used.
  • the image decoding device of the first configuration when the illuminance compensation flag deriving unit for deriving the illuminance compensation flag indicating whether or not to perform illuminance compensation, and the illuminance compensation flag having a value indicating validity, An illuminance compensation unit that generates a predicted image of the target prediction unit using an illuminance change parameter from an image around the target prediction unit and a reference area image of a reference image corresponding to the target prediction unit, and the illuminance compensation flag
  • the derivation unit decodes the illumination compensation flag from the encoded data when the prediction unit that is the generation target of the predicted image is in the merge mode, and refers to the prediction unit when the prediction unit is in the AMVP mode.
  • the picture index indicates inter-layer prediction
  • the prediction parameter in the merge mode is obtained by decoding the illuminance compensation flag from the encoded data regardless of the reference picture index.
  • the illuminance compensation flag deriving unit for deriving the illuminance compensation flag indicating whether or not to perform illuminance compensation and the illuminance compensation flag is a value indicating validity
  • An illuminance compensation unit that generates a predicted image of the target prediction unit using an illuminance change parameter from an image around the target prediction unit and a reference area image of a reference image corresponding to the target prediction unit, and the illuminance compensation flag
  • the derivation unit decodes the illuminance compensation flag from the encoded data when the division mode of the encoding unit is 2N ⁇ 2N indicating that it is not divided, and otherwise, the illuminance compensation flag is encoded data. Therefore, it is derived that the illumination compensation is not performed without decoding.
  • the encoding amount of the illuminance compensation flag is limited to the case where the encoding unit division mode is a specific mode, thereby achieving an effect of reducing the code amount of the illuminance compensation flag.
  • the illuminance compensation flag deriving unit for deriving the illuminance compensation flag indicating whether or not to perform illuminance compensation and the illuminance compensation flag is a value indicating validity
  • an illuminance compensation flag deriving unit that derives an illuminance compensation flag indicating whether or not to perform illuminance compensation;
  • the illuminance compensation flag is a value indicating validity
  • the target prediction is performed using the illuminance change parameter from the image around the target prediction unit on the target image and the reference area image of the reference image corresponding to the target prediction unit.
  • An illuminance compensation unit that generates a predicted image of the unit, and the illuminance compensation flag deriving unit is configured to compensate the illuminance when the prediction unit that is the generation target of the predicted image is in the merge mode and the merge flag index is other than a predetermined value.
  • the flag is decoded from the encoded data and the prediction unit is in AMVP mode, if the reference picture index of the prediction unit indicates inter-layer prediction, the illumination compensation flag is decoded from the encoded data, and If it is not any of the above, illuminance compensation is not performed without decoding the illuminance compensation flag from the encoded data. Characterized in that it out.
  • the reference picture index that is a prediction parameter in the merge mode is obtained by decoding the illumination compensation flag from the encoded data without using the reference picture index. This has the effect of solving the dependency on the perspective that the derivation of.
  • the illuminance compensation flag is decoded (encoded) only when the merge flag index is other than a predetermined value, whereby the code amount of the illuminance compensation flag is reduced.
  • the specific merge index illumination compensation skip flag derivation unit for deriving the specific merge index skip flag is provided.
  • the illuminance compensation flag deriving unit when the prediction unit that is the generation target of the predicted image is in the merge mode, the merge flag index is other than a predetermined value, and the specific merge index illuminance compensation skip flag is not valid,
  • the illumination compensation flag is decoded from the encoded data and the prediction unit is in AMVP mode, the illumination compensation flag is decoded from the encoded data when the reference picture index of the prediction unit indicates inter-layer prediction. If none of the above is true, the illuminance compensation flag is derived without decoding from the encoded data without performing illuminance compensation.
  • the specific merge index illuminance compensation skip flag deriving unit decodes the specific merge index illuminance compensation skip flag from the encoded data.
  • the encoding apparatus can change the picture structure, display order (POC), and sequence. Since it can be set appropriately, the encoding efficiency is improved.
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image
  • the illuminance compensation unit includes a reference image region on the reference picture and a decoded image region on the decoding target picture.
  • An illuminance parameter estimation unit for deriving parameters a and b as illuminance change parameters, and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameters.
  • the illuminance compensation filter is a motion compensated image obtained from a reference picture.
  • the parameter b is added to the product of the parameter a and right-shifted by a predetermined fixed shift constant, or the parameter b is added to the product of the parameter a after right-shifting by a predetermined fixed shift constant, Illuminance compensation is performed and the illuminance parameter estimation unit shifts the sum of the pixel values of the reference image to the left by a fixed shift value. From the parameters a, based on the product of the sum of the pixel values of the decoded image, and wherein the deriving the parameters b.
  • the right shift is performed using a predetermined fixed shift constant that is a fixed value, so that the processing by SIMD calculation or the like is facilitated as compared with the case of the right shift using a variable. Further, by using the parameter b, which is an offset component, before the right shift, the calculation can be performed with higher accuracy than when the offset component is added after the right shift.
  • the illuminance parameter estimation unit includes the sum of the product of the pixel value of the reference image and the pixel value of the decoded image, and the sum of the pixel value of the reference image and the pixel value of the decoded image.
  • a parameter a is derived from a first parameter derived from the product of the sum, a sum of squares of the pixel values of the reference image, and a second parameter derived from the square of the sum of the pixel values of the reference image;
  • the illuminance parameter estimation unit derives an integrated shift value according to the pixel bit depth, and a sum of values obtained by shifting the product of the pixel value of the reference image and the pixel value of the decoded image to the right by the integrated shift value, and the reference image
  • a first parameter derived from a value obtained by right-shifting the product of the sum of the pixel values of the decoded image and the sum of the pixel values of the decoded image by the integrated shift value, and right-shifting the square of the pixel value of the reference image by the integrated shift value 2 of the sum of the obtained values and the sum of the pixel values of the reference image
  • the second parameter is derived from the value right shifted by the cumulative shift value, wherein the deriving the parameters a.
  • the illumination compensation of the above configuration when taking the sum of the product of the pixel value of the reference image and the pixel value of the decoded image, and the sum of the product of the pixel value of the reference image and the sum of the pixel value of the decoded image, Before taking the sum, it is possible to derive the first parameter and the second parameter in a predetermined range, for example, a range of 32 bits, by shifting right with an integrated shift value determined according to the pixel bit depth. There exists an effect which processing becomes easy.
  • the illuminance parameter estimation unit further includes a case where a sum of twice the pixel bit depth and a number corresponding to the logarithm of 2 of the number of pixels is equal to or greater than a predetermined constant.
  • the first parameter and the second parameter are normalized by right-shifting by a predetermined fixed shift value.
  • the illuminance parameter estimation unit includes the sum of the product of the pixel value of the reference image and the pixel value of the decoded image, and the sum of the pixel value of the reference image and the pixel value of the decoded image.
  • the parameter a is derived from the first parameter derived from the product of the sum, the sum of the squares of the pixel values of the reference image, and the second parameter derived from the square of the sum of the pixel values of the reference image.
  • a first parameter and a second parameter are derived from the image and the decoded image, a normalized shift value determined according to the magnitude of the second parameter is derived, and the first parameter and the second parameter are expressed by the normalized shift value.
  • a normalization first parameter and a normalization second parameter are derived by shifting to the right, and a table is obtained from the normalization first parameter or a value obtained by multiplying the normalization first parameter by a predetermined constant, and the normalization second parameter.
  • the illuminance parameter estimation unit includes the sum of the product of the pixel value of the reference image and the pixel value of the decoded image, and the sum of the pixel value of the reference image and the pixel value of the decoded image.
  • the parameter a is derived from the first parameter derived from the product of the sum, the sum of the squares of the pixel values of the reference image, and the second parameter derived from the square of the sum of the pixel values of the reference image.
  • the size of the first parameter is normalized using the normalized shift value determined by the size of the first parameter. Even when the value is normalized using the same normalized shift value together with both the first parameter and the second parameter, the product with the table value exceeds a predetermined value (for example, a 32-bit range). The operation can be performed without any problem, and the processing becomes easy.
  • the illuminance parameter estimation unit uses a value of 0 or more and 255 or less as the parameter a.
  • the parameter a is in the range of 8-bit non-negative integer
  • the bit depth of the pixel value is 8 bits
  • the product of the parameter a and the pixel value is the product of 8-bit non-negative integers.
  • a value clipped to 0 or more and twice or less of a fixed shift constant power of 1 is used.
  • the effect of the illuminance prediction is increased by limiting the range of the parameter a to a range where the illuminance compensation works effectively. Even when the illumination compensation parameter exceeds the above range, the target block may work effectively.
  • the case where illuminance prediction exceeding the above range is required for the predicted image means that the predicted image before illuminance prediction is not appropriate.
  • a prediction parameter such as a motion vector or a reference picture is not appropriate, by applying a large change using illumination compensation, the prediction is not appropriate. Since no prediction parameter is transmitted to the subsequent block, the subsequent block is adversely affected, resulting in a decrease in coding efficiency.
  • the illuminance parameter estimation unit applies illuminance prediction only when the target prediction unit is a square.
  • the size of the motion compensation block is limited to a square, so that the sum of the number of pixels of the decoded image and the reference image used to derive the illuminance parameter which is the sum of the horizontal and vertical of the motion compensation block is 2 Therefore, when the parameter b, which is an offset component, is obtained from the quotient of the number of pixels, it can be derived by a right shift by a logarithm of 2 that is twice the size of the motion compensation block. Since it is possible to derive an accurate offset value by right shift without using division, there is an effect that the processing becomes easy.
  • the illuminance parameter estimation unit includes a first parameter derived from a sum of a product of a pixel value of the reference image and a pixel value of the decoded image, a product of a sum of the pixel value of the reference image and a sum of the pixel values of the decoded image,
  • the parameter a is derived from the sum of the squares of the pixel values of the reference image and the second parameter derived from the square of the sum of the pixel values of the reference image, and the first parameter and the second parameter are derived from the reference image and the decoded image.
  • the parameter a is derived by comparing the sum of the squares of the pixel values of the reference image with a value derived from the second parameter derived from the square of the sum of the pixel values of the reference image To do.
  • the illuminance compensation with the above configuration has an effect of facilitating processing because it is not necessary to use a table for subtracting the reciprocal of the second parameter when deriving the parameter a corresponding to the quotient of the second parameter of the first parameter. . Further, in order to subtract the reciprocal with a table having a predetermined size, normality is usually required to keep the second parameter within a predetermined range, but this normalization processing is not necessary. In addition, since the product of the reciprocal of the first parameter and the second parameter does not exceed a predetermined value, a normalization process for normalizing the first parameter is not necessary.
  • the illuminance compensation unit includes the sum of the product of the pixel value of the reference image and the pixel value of the decoded image, and the sum of the pixel value of the reference image and the pixel value of the decoded image.
  • a parameter a is derived from a first parameter derived from the product of the above, a sum of squares of the pixel values of the reference image, and a second parameter derived from the square of the sum of the pixel values of the reference image;
  • the illuminance compensation unit adds the same regularization term to the first parameter and the second parameter, or adds the same regularization term to the element that derives the first parameter and the element that derives the second parameter
  • a term adder is provided.
  • the estimated parameter becomes robust when there is an outlier. Since the estimated parameter is robust, the estimation accuracy of the illumination compensation is improved, and the encoding efficiency is improved.
  • the residual recording unit that records the luminance component residual of the first layer image, and the luminance component residual recorded in the residual recording unit
  • a prediction image generation unit that generates a prediction image of a second layer image different from the first layer image, and the prediction image generation unit outputs a residual when reading out the residual of the luminance component from the residual recording unit;
  • Means is provided for clipping to a range that falls within a predetermined bit width determined from the pixel bit width.
  • the image decoding device does not record the residual of the color difference component of the first layer image, and does not record the color difference component of the second layer image different from the first layer image.
  • the prediction image generation using the residual is not performed.
  • a prediction image generation unit that generates a prediction image of a second layer image different from the first layer image, and the prediction image generation unit reads out a residual of the luminance component from the residual recording unit.
  • 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.
  • Inter prediction Parameter encoding unit 1031D ... inter prediction parameter encoding unit 1031D2 ... inter prediction parameter encoding unit 1031D3 ... inter prediction parameter encoding unit 1031D4 ... inter prediction parameter encoding unit 1031E ... inter prediction parameter encoding unit 1031F1 ... inter prediction parameter code Conversion unit 1031F2 ... inter prediction parameter encoding unit 1031F3 ... inter prediction parameter encoding unit 1031F4 ... inter prediction parameter encoding unit 103 F5 ... inter prediction parameter encoding unit 1031F6 ... inter prediction parameter encoding unit 10311 ... additional prediction flag encoding unit 10311F1 ... additional prediction flag encoding unit 10311F2 ...
  • Additional prediction flag encoding unit 10311F3 ... additional prediction flag encoding unit 10311F4 ... Additional prediction flag encoding unit 10311F5 ... Additional prediction flag encoding unit 10311F6 ... Additional prediction flag encoding unit 1121 ... Merge prediction parameter derivation unit 1122 ... AMVP prediction parameter derivation unit 1123 ... Subtraction unit 1126 ... Prediction parameter integration unit 113 ... Intra prediction Parameter encoding unit 21 ... Network 31 ... Image decoding device 301 ... Entropy decoding unit 302 ... Prediction parameter decoding unit 303 ... Inter prediction parameter decoding unit 303A ... Inter prediction parameter decoding unit 03A2 ... Inter prediction parameter decoding unit 303B ...
  • Inter prediction parameter decoding unit 303C ... Inter prediction parameter decoding unit 303D ... Inter prediction parameter decoding unit 303D2 ... Inter prediction parameter decoding unit 303D3 ... Inter prediction parameter decoding unit 303D4 ... Inter prediction parameter decoding unit 303E ... Inter prediction parameter decoding unit 3031 ... Inter prediction parameter decoding control unit 3031D ... Inter prediction parameter decoding control unit 3031E ... Inter prediction parameter decoding control unit 30311 ... Additional prediction flag decoding unit 30311A ... Additional prediction flag decoding unit 30311A2 ... Additional prediction flag decoding Unit 30311B ... additional prediction flag decoding unit 30311C ... additional prediction flag decoding unit 30311D ... additional prediction flag decoding unit 30311D2 ...
  • Additional prediction flag decoding unit 30311D ... Measurement flag decoding unit 30311D3 ... Additional prediction flag decoding unit 30311D4 ... Additional prediction flag decoding unit 30311F1 ... Illumination compensation flag decoding unit 30311F2 ... Illumination compensation flag decoding unit 30311F3 ... Illumination compensation flag decoding unit 30311F4 ... Illumination compensation flag decoding unit 30311F5 ... Illumination compensation Flag decoding unit 30311F6 ... Illuminance compensation flag decoding unit 303111 ... Reference layer determination unit 30312 ... Merge index decoding unit 30312D3 ... Merge index decoding unit 30312E ... Merge index decoding unit 30313 ...
  • Vector candidate index decoding unit 30313E ...
  • Vector candidate index decoding unit 30314 ... Additional prediction flag determination unit 30314A ... Additional prediction flag determination unit 30314A2 ... Additional prediction flag determination unit 30314B ... Additional prediction flag Determination unit 30314C ... additional prediction flag determination unit 30314D ... additional prediction flag determination unit 30314D2 ... additional prediction flag determination unit 30314D3 ... additional prediction flag determination unit 30314D4 ... additional prediction flag determination unit 303141 ... layer determination unit 303142 ... all PU parameter determination unit 303142B ... PU0 parameter determination unit 303143 ... index determination unit 30315 ... residual prediction determination unit 30316 ... illuminance compensation determination unit 30319 ...
  • interlayer displacement merge candidate derivation unit 303613 ... basic merge candidate derivation unit 3036131 ... spatial merge candidate derivation unit 3036132 ... time merge candidate derivation unit 3036133 ... join merge candidate derivation unit 3036134 ... zero merge candidate derivation unit 30361E ... merge candidate derivation unit 30362 ... Merge candidate selection 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 ... Displacement compensation unit 3092 ... Residual prediction unit 3092A ... Residual prediction unit 3092B ... Residual prediction unit 3092B ...
  • Residual prediction unit 3092C ... Residual prediction unit 3092D ... Residual prediction unit 30921 ... residual acquisition unit 30921A ... residual acquisition unit 30922 ... residual filter unit 3093 ... illuminance compensation unit 3093B ... illuminance compensation unit 3093C ... illuminance compensation unit 3093D ... illuminance compensation unit 3093E ... illuminance compensation unit 3093F ... illuminance compensation unit 3093F ... Compensation unit 3093G ... Illuminance compensation unit 3093H ... Illumination compensation unit 30931 ... Illuminance parameter estimation unit 30931H ... Illuminance parameter estimation unit 3093111B ... Integrated shift value deriving unit 3093112B ...
  • Integrated value deriving unit 309313B ... Addition value deriving unit 309313H ... Addition value deriving unit 309314B ... First parameter derivation 309314C ... first parameter derivation unit 309314D ... first parameter derivation unit 309314H ... first parameter derivation unit 309315B ... second parameter derivation unit 309315H ... second parameter derivation unit 309316B ... parameter a derivation unit 309316C ... parameter a derivation unit 309316D ... parameter a derivation unit 309316H ... parameter a derivation unit 309316H2 ... parameter a derivation unit 3093161B ... first parameter clip unit 3093161H ...
  • parameter clip unit 3093162B ... first parameter shift unit 3093163B ... second parameter shift unit 3093163H ... second normalization shift unit 3093164B ... Table base parameter a derivation unit 3093164H ... Table base parameter a derivation unit 3093165H Division parameter a derivation unit 309316C ... parameter a derivation unit 3093161C ... first parameter clip unit 3093162C ... common shift unit 3093164C ... table base parameter a derivation unit 309317B ... parameter b derivation unit 309317G ... parameter b derivation unit 309317H ... parameter b derivation unit 309318E ... Regularization term addition unit 309318H ...

Landscapes

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

Abstract

照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から導出される照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部(3093)を備え、上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードである場合に、照度補償フラグを符号化データから復号することを特徴とする。

Description

画像復号装置
 本発明は、画像復号装置に関する。
 複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている(例えば、非特許文献1)。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素(x成分)と垂直方向の要素(y成分)を有する2次元のベクトルであり、1つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ(画像レイヤ)とデプスレイヤ(距離画像レイヤ)から構成される場合のスケーラブル符号化は、3次元スケーラブル符号化と呼ばれる。
 また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化(ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理)、SNRスケーラブル符号化(ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理)等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。
 また、非特許文献1においてはH.264/AVCベースのスケーラブル符号化技術であるSVCにおいて、ベースレイヤの残差を、エンハンスメントレイヤの予測に用いる残差予測と呼ばれる方法が知られている。非特許文献2においては、HEVCベースの3次元スケーラブル符号化技術として、ベースビューの残差を、非ベースビューの予測に用いる残差予測において、パース依存性を解消する技術が知られている。さらに、非特許文献3においては、HEVCベースの3次元スケーラブル符号化技術として、予測対象ブロックの周囲の画素における照度変化を、予測対象ブロックの予測に用いる照度補償と呼ばれる技術が知られている。また、非特許文献3においては、HEVCベースの3次元スケーラブル符号化技術として、ベースビューの適応オフセットフィルタのパラメータを用いて、非ベースビューの適応オフセットフィルタのパラメータを予測する技術が知られている。
ISO/IEC 14496-10, Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding, Annex G: Scalable video coding Removal of the parsing dependency of inter-view residual prediction, JCT3V-B0093, JCT-3V Shanghai, CN, 13-19 Oct 2012 3D-CE2.h : Results of Illumination Compensation for Inter-View Prediction, JCT3V-B0045, JCT-3V Shanghai, CN, 13-19 Oct 2012
 しかしながら、非特許文献1、非特許文献2の残差予測においては、ベースレイヤおよびベースビューの残差を、画素のビット深度から必要とされる値域のまま、拡張レイヤにおける残差予測において参照するため、残差を広い値域のまま記録することが必要であり、残差を記録するメモリ容量が非常に大きいという課題があった。
 また、非特許文献3の照度補償においては、対象領域に照度補償を行うか否かを示す照度フラグの復号(パース)を、対象とするブロック(予測ユニット)の予測画像生成に、ベースビューの復号画像を用いる場合である視差補償の場合に限定して行うため、予測ユニットの予測パラメータ導出を照度フラグの復号の前に行わなくてはならないという依存性がある。並列処理および実装の複雑性を考慮すると、フラグの復号(パース)と、予測パラメータの導出という2つの処理は分離していることが望ましいため、この2つの依存は複雑性を増加させるという課題がある。非特許文献2の残差予測においては、残差予測において、対象領域に残差予測を行うか否かを示すフラグを削除することにより、パース依存性を解消しているが、しかしながら、残差予測が有効でない対象領域に対しても、残差予測を行うか否かの制御ができないという課題がある。
 また、非特許文献4の適応オフセットフィルタパラメータ予測においては、ベースビューの適応オフセットフィルタのパラメータをそのまま保存するため、適応オフセットフィルタのパラメータを記憶するメモリ容量が非常に大きいという課題があった。
 本発明は上記の点に鑑みてなされたものであり、メモリ容量に関する課題およびパース依存性に関する課題を解消する画像復号装置、画像復号方法、画像復号プログラム、画像符号化装置、画像符号化方法、画像符号化プログラム、画像表示システム及び画像伝送システムを提供する。
 第1の構成の画像復号装置によれば、照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から導出される照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードである場合に、照度補償フラグを符号化データから復号することを特徴とする。
 第6の構成の画像復号装置によれば、照度補償を行うか否かを示す照度補償フラグを、符号化ユニット単位で、導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から導出される照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、符号化ユニットの分割モードが分割しないことを示す、2N×2Nである場合に、照度補償フラグを符号化データから復号することを特徴とする。
 第9の構成の画像復号装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照ピクチャ上の参照画像と、復号対象ピクチャ上の復号画像から照度変化パラメータとして、パラメータaとパラメータbを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と上記パラメータaの積に所定の固定シフト定数だけ右シフトしてから上記パラメータbを加えることで、照度補償を行うことを特徴とする。
 第14の構成の画像復号装置によれば、追加予測を行うか否かを示す追加予測フラグとして2つのフラグを符号化データから復号する追加予測フラグ復号部と、上記追加予測フラグ復号部が導出するフラグに応じて、動き補償画像に追加予測を行うインター予測画像生成部を備え、上記追加予測フラグ復号部は、1つ目のフラグが0である場合に限り、2つ目のフラグを復号することを特徴とする。
 本発明によれば、残差予測に必要なメモリを低減する。また、追加予測のシンタックスを復号する場合の複雑度を低減させる。
本発明の実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る符号化ストリームのデータの階層構造を示す図である。 参照ピクチャリストの一例を示す概念図である。 参照ピクチャの例を示す概念図である。 本実施形態に係る画像復号装置の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の構成を示す概略図である。 本実施形態に係るマージ予測パラメータ導出部の構成を示す概略図である。 本実施形態に係るAMVP予測パラメータ導出部の構成を示す概略図である。 ベクトル候補の一例を示す概念図である。 本実施形態に係るインター予測パラメータ復号制御部の構成を示す概略図である。 本実施形態に係るインター予測画像生成部の構成を示す概略図である。 本実施形態に係る残差予測の概念図である。 本実施形態に係る照度補償の概念図である。 本実施形態に係るインター予測パラメータ復号制御部で復号される符号化データ(符号化ユニット、予測ユニット)の構成を示す概略図である。 本実施形態に係る追加予測フラグの符号化データ中の構成を示すためのシンタックステーブルである。 本実施形態に係る追加予測フラグ判定部の構成を示す概略図である。 本実施形態に係る全PUパラメータ判定部における、CUが動き予測を行うPUを含むか否かを示すフラグの判定処理を示す図である。 本実施形態に係る全PUパラメータ判定部における、CUが変位予測を行うPUを含むか否かを示すフラグの判定処理を示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例Aが備える追加予測フラグ復号部が復号する符号化データの構成を示すためのシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例A2が備える追加予測フラグ復号部が復号する符号化データの構成を示すためのシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例Bが復号する符号化データの構成を示すためのシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例Bが備える追加予測フラグ判定部の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例Bが備える追加予測フラグ判定部における、PU0が動き予測または変位予測を行うか否かを示すフラグの判定処理を示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例Cが復号する符号化データの構成を示すためのシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例Cが備える追加予測フラグ判定部の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例Dで復号される符号化データ(符号化ユニット、予測ユニット)の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例Dにおける、追加予測フラグの符号化データ中の構成を示すためのシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例D2が備える追加予測フラグ判定部の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例D2における、追加予測フラグの符号化データ中の構成を示すためのシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例D3で復号される符号化データ(符号化ユニット、予測ユニット)の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例D3における、追加予測フラグが残差予測フラグの場合の符号化データの構成を示すシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例D3における、追加予測フラグが照度補償フラグの場合の符号化データの構成を示すシンタックステーブルである。 本実施形態に係るインター予測パラメータ復号部の変形例D3の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例D4で復号される符号化データ(符号化ユニット、予測ユニット)の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例Eで復号される符号化データ(符号化ユニット、予測ユニット)の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例Eが備えるインター予測パラメータ復号制御部の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例Eが備えるマージ候補導出部が導出するマージ候補を示す概念図である。 本実施形態に係る残差格納部の構成を示す概略図である。 本実施形態に係る画像符号化装置の構成を示すブロック図である。 本実施形態に係るインター予測パラメータ符号化部の構成を示す概略図である。 本実施形態に係るインター予測パラメータ符号化制御部の構成を示す概略図である。 本実施形態に係る照度補償で用いるテーブルを示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例F1の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F1の動作を示すフローチャートである概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F1の動作を示すフローチャートである概略図である。 インター予測パラメータ復号部303F1で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例F2の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F2の動作を示すフローチャートである概略図である。 インター予測パラメータ復号部303F2で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例F3の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F3の動作を示すフローチャートである概略図である。 インター予測パラメータ復号部303F3で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。 本実施形態に係るインター予測パラメータ復号部303F3で用いられるエントロピー復号部301F3の構成を示すブロックである。 本実施形態に係るインター予測パラメータ復号部303F3で用いられる特定マージインデックス照度補償スキップフラグic_skip_mergeidx0_flagの符号化データの構成を示す図である。 階層参照構造の参照構造の例。 (a)特定マージインデックス照度補償スキップフラグ導出部30319Bの動作を示すフローチャート。(b)特定マージインデックス照度補償スキップフラグ導出部30319Cの動作を示すフローチャート。 特定マージインデックス照度補償スキップフラグ導出部30319Dの動作を示すフローチャート。 本実施形態に係るインター予測パラメータ復号部の変形例F4の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F4の動作を示すフローチャートである概略図である。 インター予測パラメータ復号部303F4で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例F5の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F5の動作を示すフローチャートである概略図である。 インター予測パラメータ復号部303F5で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。 本実施形態に係るインター予測パラメータ復号部の変形例F6の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の変形例F6の動作を示すフローチャートである概略図である。 インター予測パラメータ復号部303F6で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。 本実施形態に係る残差予測部3092Bの構成を示す図である。 本実施形態に係る残差予測部3092Bの動作を説明するフローチャートである。 本実施形態に係る残差予測部3092Cの構成を示す図である。 本実施形態に係る残差予測部3092Cの動作を説明するフローチャートである。 本実施形態に係る残差予測部3092Dの構成を示す図である。 本実施形態に係る残差予測部3092Dの動作を説明するフローチャートである。 本実施形態に係る照度補償部3093Bの構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316Bの構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316Cの構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316Dの構成を示すブロック図である。 本実施形態に係る照度補償部3093Eの構成を示すブロック図である。 本実施形態に係る正則化項加算部309318Eの構成を示すブロック図である。 本実施形態に係る照度補償部3093Fの構成を示すブロック図である。 本実施形態に係るLM予測部3104Eの構成を示すブロック図である。 本実施形態に係るLMパラメータa導出部310416の構成を示すブロック図である。 本実施形態に係るLM正則化項加算部310418Eの構成を示すブロック図である。 本実施形態に係る照度補償部3093Gの構成を示すブロック図である。 本実施形態に係る照度補償で用いるテーブルを示す図である。 本実施形態に係る照度補償部3093Hの構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316Hの構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316H2の構成を示すブロック図である。 本実施形態に係るLM予測部3104Hの構成を示すブロック図である。 本実施形態に係るLM正則化項加算部310418Hの構成を示すブロック図である。 本実施形態に係るLMパラメータa導出部310416Hの構成を示すブロック図である。 本実施形態に係るLMパラメータa導出部310416H2の構成を示すブロック図である。
  (第1の実施形態)
 以下、図面を参照しながら本発明の実施形態について説明する。
 図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
 画像伝送システム1は、複数のレイヤ画像を符号化した符号を伝送し、伝送された符号を復号した画像を表示するシステムである。画像伝送システム1は、画像符号化装置11、ネットワーク21、画像復号装置31及び画像表示装置41を含んで構成される。
 画像符号化装置11には、複数のレイヤ画像(テクスチャ画像ともいう)を示す信号Tが入力される。レイヤ画像とは、ある解像度及びある視点で視認もしくは撮影される画像である。複数のレイヤ画像を用いて3次元画像を符号化するビュースケーラブル符号化を行う場合、複数のレイヤ画像のそれぞれは、視点画像と呼ばれる。ここで、視点は撮影装置の位置又は観測点に相当する。例えば、複数の視点画像は、被写体に向かって左右の撮影装置のそれぞれが撮影した画像である。画像符号化装置11は、この信号のそれぞれを符号化して符号化ストリームTe(符号化データ)を生成する。符号化ストリームTeの詳細については、後述する。視点画像とは、ある視点において観測される2次元画像(平面画像)である。視点画像は、例えば2次元平面内に配置された画素毎の輝度値、又は色信号値で示される。以下では、1枚の視点画像又は、その視点画像を示す信号をピクチャ(picture)と呼ぶ。また、複数のレイヤ画像を用いて空間スケーラブル符号化を行う場合、その複数のレイヤ画像は、解像度の低いベースレイヤ画像と、解像度の高い拡張レイヤ画像からなる。複数のレイヤ画像を用いてSNRスケーラブル符号化を行う場合、その複数のレイヤ画像は、画質の低いベースレイヤ画像と、画質の高い拡張レイヤ画像からなる。なお、ビュースケーラブル符号化、空間スケーラブル符号化、SNRスケーラブル符号化を任意に組み合わせて行っても良い。本実施形態では、複数のレイヤ画像として、少なくともベースレイヤ画像と、ベースレイヤ画像以外の画像(拡張レイヤ画像)を含む画像の符号化および復号を扱う。複数のレイヤのうち、画像もしくは符号化パラメータにおいて参照関係(依存関係)にある2つのレイヤについて、参照される側の画像を、第1レイヤ画像、参照する側の画像を第2レイヤ画像と呼ぶ。例えば、ベースレイヤを参照して符号化される(ベースレイヤ以外の)エンハンスレイヤ画像がある場合、ベースレイヤ画像を第1レイヤ画像、エンハンスレイヤ画像を第2レイヤ画像として扱う。なお、エンハンスレイヤ画像の例としては、ベースビュー以外の視点の画像、デプスの画像などがある。
 ネットワーク21は、画像符号化装置11が生成した符号化ストリームTeを画像復号装置31に伝送する。ネットワーク21は、インターネット(internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)又はこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上波ディジタル放送、衛星放送等の放送波を伝送する一方向又は双方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc)、BD(Blue-ray Disc)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
 画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した複数の復号レイヤ画像Td(復号視点画像Td)を生成する。
 画像表示装置41は、画像復号装置31が生成した複数の復号レイヤ画像Tdの全部又は一部を表示する。例えば、ビュースケーラブル符号化においては、全部の場合、3次元画像(立体画像)や自由視点画像が表示され、一部の場合、2次元画像が表示される。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31、画像表示装置41が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
  <符号化ストリームTeの構造>
 本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
 図2は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図2の(a)~(f)は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位(Coding Unit;CU)を規定する符号化ユニットレイヤを示す図である。
  (シーケンスレイヤ)
 シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図2の(a)に示すように、ビデオパラメータセット(Video Parameter Set)シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図2では、#0と#1すなわちレイヤ0とレイヤ1の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図2の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図2の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。
 なお、スライスヘッダSHには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
  (スライスデータレイヤ)
 スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図2の(d)に示すように、符号化ツリーブロック(CTB:Coded Tree Block)を含んでいる。CTBは、スライスを構成する固定サイズ(例えば64×64)のブロックであり、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
  (符号化ツリーレイヤ)
 符号化ツリーレイヤは、図2の(e)に示すように、処理対象の符号化ツリーブロックを復号するために画像復号装置31が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割により分割される。再帰的な4分木分割により得られる木構造のノードのことを符号化ツリー(coding tree)と称する。4分木の中間ノードは、符号化ツリーユニット(CTU:Coded Tree Unit)であり、符号化ツリーブロック自身も最上位のCTUとして規定される。CTUは、分割フラグ(split_flag)を含み、split_flagが1の場合には、4つの符号化ツリーユニットCTUに分割される。split_flagが0の場合には、符号化ツリーユニットCTUは4つの符号化ユニット(CU:Coded Unit)に分割される。符号化ユニットCUは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
 また、符号化ツリーブロックCTBのサイズ64×64画素の場合には、符号化ユニットのサイズは、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
  (符号化ユニットレイヤ)
 符号化ユニットレイヤは、図2の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、CUヘッダCUH、予測ツリー、変換ツリー、CUヘッダCUFから構成される。CUヘッダCUHでは、符号化ユニットが、イントラ予測を用いるユニットであるか、インター予測を用いるユニットであるかなどが規定される。符号化ユニットは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートとなる。CUヘッダCUFは、予測ツリーと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
 予測ツリーは、符号化ユニットが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU、予測ユニット)とも称する。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 イントラ予測の場合、分割方法は、2N×2N(符号化ユニットと同一サイズ)と、N×Nとがある。
 また、インター予測の場合、分割方法は、符号化データのpart_modeにより符号化され、2N×2N(符号化ユニットと同一サイズ)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、および、N×Nなどがある。なお、2N×nUは、2N×2Nの符号化ユニットを上から順に2N×0.5Nと2N×1.5Nの2領域に分割することを示す。2N×nDは、2N×2Nの符号化ユニットを上から順に2N×1.5Nと2N×0.5Nの2領域に分割することを示す。nL×2Nは、2N×2Nの符号化ユニットを左から順に0.5N×2Nと1.5N×2Nの2領域に分割することを示す。nR×2Nは、2N×2Nの符号化ユニットを左から順に1.5N×2Nと0.5N×1.5Nの2領域に分割することを示す。分割数は1、2、4のいずれかであるため、CUに含まれるPUは1個から4個である。これらのPUを順にPU0、PU1、PU2、PU3と表現する。
 また、変換ツリーにおいては、符号化ユニットが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
  (予測パラメータ)
 予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、ベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、1をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。2つの参照ピクチャリストが用いられる場合、つまり、predFlagL0=1, predFlagL1=1の場合が、双予測に対応し、1つの参照ピクチャリストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。なお、予測リスト利用フラグの情報は、後述のインター予測フラグinter_pred_idxで表現することもできる。通常、後述の予測画像生成部、予測パラメータメモリでは、予測リスト利用フラグが用いれ、符号化データから、どの参照ピクチャリストが用いられるか否かの情報を復号する場合にはインター予測フラグinter_pred_idxが用いられる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
  (参照ピクチャリストの一例)
 次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、参照ピクチャメモリ306(図5)に記憶された参照ピクチャからなる列である。図3は、参照ピクチャリストの一例を示す概念図である。参照ピクチャリスト601において、左右に一列に配列された5個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号、P1、P2、Q0、P3、P4は、それぞれの参照ピクチャを示す符号である。P1等のPとは、視点Pを示し、そしてQ0のQとは、視点Pとは異なる視点Qを示す。P及びQの添字は、ピクチャ順序番号POCを示す。refIdxLXの真下の下向きの矢印は、参照ピクチャインデックスrefIdxLXが、参照ピクチャメモリ306において参照ピクチャQ0を参照するインデックスであることを示す。
  (参照ピクチャの例)
 次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図4は、参照ピクチャの例を示す概念図である。図4において、横軸は表示時刻を示し、縦軸は視点を示す。図4に示されている、縦2行、横3列(計6個)の長方形は、それぞれピクチャを示す。6個の長方形のうち、下行の左から2列目の長方形は復号対象のピクチャ(対象ピクチャ)を示し、残りの5個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから上向きの矢印で示される参照ピクチャQ0は対象ピクチャと同表示時刻であって視点が異なるピクチャである。対象ピクチャを基準とする変位予測においては、参照ピクチャQ0が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャP1は、対象ピクチャと同じ視点であって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャP2は、対象ピクチャと同じ視点であって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャP1又はP2が用いられる。
  (インター予測フラグと予測リスト利用フラグ)
 インター予測フラグと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は以下のように相互に変換可能である。そのため、インター予測パラメータとしては、予測リスト利用フラグを用いても良いし、インター予測フラグを用いてもよい。また、以下、予測リスト利用フラグを用いた判定は、インター予測フラグに置き替えても可能である。逆に、インター予測フラグを用いた判定は、予測リスト利用フラグに置き替えても可能である。
 インター予測フラグ = (predFlagL1<<1) + predFlagL0
 predFlagL0 =インター予測フラグ & 1
 predFlagL1 =インター予測フラグ >> 1
 ここで、>>は右シフト、<<は左シフトである。
  (マージ予測とAMVP予測)
 予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードでも、AMVPモードでも、既に処理済みのブロックの予測パラメータを用いて、対象PUの予測パラメータが導出される。マージ予測モードは、予測リスト利用フラグpredFlagLX(インター予測フラグinter_pred_idx)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めるモードである。なおベクトルmvLXは、予測ベクトルを示す予測ベクトルインデックスmvp_LX_idxと差分ベクトル(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_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別するする。例えば、refIdxL0はL0予測に用いる参照ピクチャインデックス、refIdxL1はL1予測に用いる参照ピクチャインデックス、refIdx(refIdxLX)は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
 マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを復号対象ブロックの予測パラメータとして用いるかを示すインデックスである。
  (動きベクトルと変位ベクトル)
 ベクトルmvLXには、動きベクトルと変位ベクトル(disparity vector、視差ベクトル)がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻(例えば、隣接する離散時刻)における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
  (画像復号装置の構成)
 次に、本実施形態に係る画像復号装置31の構成について説明する。図5は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部302、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)306、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)307、予測画像生成部308、逆量子化・逆DCT部311、及び加算部312、残差格納部313(残差記録部)を含んで構成される。
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
 エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
 エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードPredMode、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するか否かの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆DCT部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)を行い量子化して得られる係数である。
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。
 インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、ピクチャブロックを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 イントラ予測パラメータ復号部304は、輝度と色差で異なるイントラ予測モードを導出しても良い。この場合、イントラ予測パラメータ復号部304は、輝度の予測パラメータとして輝度予測モードIntraPredModeY、色差の予測パラメータとして、色差予測モードIntraPredModeCを復号する。輝度予測モードIntraPredModeYは、35モードであり、プレーナ予測(0)、DC予測(1)、方向予測(2~34)が対応する。色差予測モードIntraPredModeCは、プレーナ予測(0)、DC予測(1)、方向予測(2、3、4)、LMモード(5)の何れかを用いるもの。
 参照ピクチャメモリ306は、加算部312が生成した参照ピクチャのブロック(参照ピクチャブロック)を、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX(インター予測フラグinter_pred_idx)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。
 予測画像生成部308には、エントロピー復号部301から入力された予測モードpredModeが入力され、また予測パラメータ復号部302から予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックP(予測画像)を生成する。
 ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックPを生成する。予測ピクチャブロックPは予測単位PUに対応する。PUは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり1度に予測処理が行われる復号対象ブロックに相当する。
 インター予測画像生成部309は、予測リスト利用フラグpredFlagLXが1である参照ピクチャリスト(L0リスト、もしくはL1リスト)に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象ブロックを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックについて予測を行って予測ピクチャブロックPを生成する。インター予測画像生成部309は、生成した予測ピクチャブロックPを加算部312に出力する。
 予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に復号されたブロックのうち復号対象ブロックから予め定めた範囲にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、復号対象ブロックがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接ブロックのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
 イントラ予測画像生成部310は、読み出した参照ピクチャブロックについてイントラ予測モードIntraPredModeが示す予測モードで予測を行って予測ピクチャブロックを生成する。イントラ予測画像生成部310は、生成した予測ピクチャブロックPを加算部312に出力する。
 イントラ予測パラメータ復号部304において、輝度と色差で異なるイントラ予測モードを導出する場合、イントラ予測画像生成部310は、輝度予測モードIntraPredModeYに応じて、プレーナ予測(0)、DC予測(1)、方向予測(2~34)の何れかによって輝度の予測ピクチャブロックを生成し、色差予測モードIntraPredModeCに応じて、プレーナ予測(0)、DC予測(1)、方向予測(2、3、4)、LMモード(5)の何れかによって色差の予測ピクチャブロックを生成する。ここでは、正則化項を用いたLMモードを説明する。正則化項とは、最小2乗法による予測パラメータ導出において、目的関数にパラメータコストとして加算される項である。LMモードは、対象ブロックに隣接する処理済み画像を用いて、輝度の画素値から、色差の画素値を予測する予測パラメータを導出し、その予測パラメータに基づいて、処理済みの輝度のブロックから、色差のピクチャブロックを生成する。このような予測はLM予測と呼ばれる。予測の方法は、後述の照度補償部3093と概略は同じである。以下、予測パラメータに導出において正則化項を用いるイントラ予測画像生成部310をイントラ予測画像生成部310Eとする。イントラ予測画像生成部310Eは、図示しないDC予測部3101、プレーナ予測部3102、方向予測部3103、LM予測部3104Eから構成される。
 図80は、LM予測部3104Eの構成を示すブロック図である。LM予測部3104Eは、LMパラメータ推定部31041と、LMフィルタ部31042から構成される。LMパラメータ推定部31041は、LM積算シフト値導出部310411、LM積算値導出部310412、LM加算値導出部310413、LM第1パラメータ導出部310414、LM第2パラメータ導出部310415、LMパラメータa導出部310416、LMパラメータb導出部310417、LM正則化項加算部310418Eから構成される。LM積算シフト値導出部310411は、積算シフト値precShiftを、以下の式(LM-1)のように、画素のビット深度bitDepthが所定の定数(ここでは13)を超える場合には、その超える値だけの積算シフト値precShiftを導出する。超えない場合には積算シフト値precShiftは0とする。
 precShift = Max(0, bitDepth - 13)    式(LM-1)
 導出された積算シフト値precShiftは、LM積算値導出部310412、LM第1パラメータ導出部310414、LM第2パラメータ導出部310415に出力される。
 LMパラメータ推定部31041は、対象ブロックに隣接する輝度画像を、隣接輝度画像x[]、対象ブロックに隣接する色差画像を隣接色差画像y[]と表示し、隣接輝度画像x[]と隣接色差画像y[]からパラメータaとパラメータbを導出する。
 LM加算値導出部310413は、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xを、以下の式(LM-2)式(LM-3)により導出する。
 LM積算値導出部310412は隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接輝度画像の画素値の2乗の和XXを、以下の式(LM-4)~(LM-5)により導出する。この時、LM積算値導出部310412は、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYの導出時と、隣接輝度画像の画素値xの2乗の和XXの導出時には、積算シフト値precShiftだけ右シフトしてから加算する。X = Y = XY = XX = 0で初期化する。
  X = Σx[i]                 式(LM-2)
  Y = Σy[i]                 式(LM-3)
  XX += Σ(x[i] * x[i])>>precShift     式(LM-4)
  XY += Σ(x[i] * y[i])>>precShift     式(LM-5)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。また和の前にX、Y、XY、XXは0に初期化しておく。x[i]は、隣接輝度画像のインデックスiにおける画素値。y[i]は、隣接色差画像のインデックスiにおける画素値。カウントシフト値iCountShiftは、参照領域のサイズ(画素数)の2の対数である。
 iCountShift = log2 (参照領域の画素数)      式(LM-6)
 なお、従来は、以下の演算により積算値XX、XYを導出していた。
  XX += Σ(x[i] * x[i])     式(LM-4´)
  XY += Σ(x[i] * y[i])     式(LM-5´)
 この場合、演算に必要なビット数は、画素のビット深度bitDepthの2倍に、参照領域のサイズの最大値の2の対数(カウントシフトiCountShiftの最大値)となる。輝度ブロックサイズの最大値が64である場合、色差ブロックサイズの最大値は32であるから、参照領域のサイズの最大値は64である。64の2の対数よりカウントシフトiCountShiftの最大値は6になる。従って必要なビット数は、bitDepth * 2 + 6になる。ここで、このビット数が32ビットで計算できる範囲を考慮すると、以下の式が得られる。
 bitDepth * 2 + 6 <= 32
 この式を解くとbitDepth <= 13が得られる。すなわち、bitDepthが13以下であれば32ビットを超えない。逆にbitDepthが13を超えると32ビットの範囲を超える。式(LM-1)は、この結果から得られたものであり、bitDepthが13を超える場合には、超えた分に相当するbitDepth - 13を積算シフト値precShiftとして導出する。さらに、式(LM-4)、式(LM-5)では予め積算シフト値precShiftだけシフトしてから加算することにより、32ビットの範囲を超えることを防ぐ効果を奏する。
 LM第1パラメータ導出部310414は、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xの積の差から第1パラメータa1を以下の式により導出する。
  a1 = ( XY << iCountShift ) - (y * x) >> precShift;     式(LM-7)
 式(LM-7)に示すように、XYは、カウントシフト値iCountShiftだけ左シフト、yとxの積は積算シフト値precShiftだけ右シフトしてから差を導出する。
 LM第2パラメータ導出部310415は、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から第2パラメータa2を以下の式により導出する。
  a2 = ( XX << iCountShift ) - (X * X) >> precShift;     式(LM-8)
 式(LM-8)に示すように、XXは、カウントシフト値iCountShiftだけ左シフト、xとxの積は積算シフト値precShiftだけ右シフトしてから差を導出する。
 LM第1パラメータ導出部310414とLM第2パラメータ導出部310415はさらには、カウントシフト値iCountShiftとビット深度bitDepthの2倍の和が所定の値(ここでは27)以上の場合には、所定の固定パラメータシフト値(ここでは4)だけパラメータa1、パラメータa2を右シフトする。すなわち、以下のステップを実行する。
 if (iCountShift + bitDepth * 2 >= 27)     式(LM-9)
 {
  a1 >>= 4     式(LM-10)
  a2 >>= 4     式(LM-11)
 }
 導出された第1パラメータa1と第2パラメータa2は、LMパラメータa導出部310416に出力される。
 図81は、LMパラメータa導出部310416の構成を示すブロック図である。LMパラメータa導出部310416は、LM第1パラメータクリップ部3104161、LM第1パラメータシフト部3104162、LM第2パラメータシフト部3104163、LMテーブルベースパラメータa導出部3104164から構成される。
 LM第1パラメータクリップ部3104161は、第1パラメータa1を第2パラメータa2の大きさに応じて制限する。例えば以下の式のように、a1を-3*a2以上、a2*3以下にクリップする。
 a1 = Clip3(-3*a2, 3*a2, a1)     式(LM-12)
 LM第1パラメータクリップ部3104161により、a1 / a2の値は、-3から3の間にクリップされる。従って、パラメータaの値であるa1 / a2 << iShiftの値も、-(3<<iShift)から(3<<iShift)にクリップされる。すなわち、iShift=5の場合、パラメータaは-96~96となり、8ビット整数の範囲に入る。
 LM第1パラメータシフト部3104162は、第1パラメータa1の大きさに応じて、以下の式により第1正規化シフト値iScaleShiftA1を導出する。導出された第1正規化シフト値iScaleShiftA1は、LMテーブルベースパラメータa導出部3104164に出力される。
 iScaleShiftA1 = Max(0, GetMSB( abs( a1 ) ) - 15)    式(LM-13)
LM第2パラメータシフト部3104163は、第2パラメータa2の大きさに応じて、以下の式により第2正規化シフト値iScaleShiftA2を導出する。導出された第2正規化シフト値iScaleShiftA2は、LMテーブルベースパラメータa導出部3104164に出力される。
 iScaleShiftA2 = Max(0, GetMSB( abs( a2 ) ) - 6)     式(LM-14)
 LM第1パラメータシフト部3104162、LM第2パラメータシフト部3104163は、第1パラメータa1を第1正規化シフト値iScaleShiftA1、第2パラメータa2を第2正規化シフト値iScaleShiftA2により右シフトし、正規化第1パラメータa1sと正規化第2パラメータa2sを導出する。
 a1s = a1 >> iScaleShiftA1     式(LM-15)
 a2s = a2 >> iScaleShiftA2     式(LM-16)
 LMテーブルベースパラメータa導出部3104164は、第1正規化シフト値iScaleShiftA1と第2正規化シフト値iScaleShiftA2の差に基づいて、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = iScaleShiftA2 - iScaleShiftA1 + 15 - iShift     式(LM-18)
 LMテーブルベースパラメータa導出部3104164は、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1sとの積をとりテーブルシフト値(ScaleShiftA)で右シフトすることにより、以下の式によりパラメータaを導出する。
 a = (a1s * invTable[a2s]) >> (ScaleShiftA)      式(LM-19)
なお、テーブルシフト値iScaleShiftAが負の場合には、テーブルシフト値の絶対値だけ左シフトすることにより、以下の式で導出する。
 a = (a1s * invTable[a2s]) << (-ScaleShiftA)      式(LM-19´)
 パラメータaの値は、第1パラメータa1と第2パラメータa2の比(a1/a2をiShiftだけ左シフトした値に相当する)。
 図84は、本実施形態で用いる逆数テーブル値invTable[]である。図84の逆数invTable[x]は、インデックスxが0の場合に0となり、インデックスがxが0以外の場合には、所定の定数(ここでは2の15乗)Mをxで割って整数化した値から導出される。すなわち、
 invTable[x] = 0 (xが0の場合)             式(T-1)
 invTable[x] = Floor((M / x/2) / x) (xが0以外の場合)  式(T-2)
 なお、Floor(x)は、小数点以下を切り捨てにより整数化する関数である。式(T-1)の代わりに、以下の式(T-2´)を用いても良い。すなわち、除数xの1/2倍を加える丸目調整を行わなくても良い。
 invTable[x] = Floor(M / x) (xが0以外の場合)  式(T-2´)
 逆数テーブル値invTable[]を用いることにより、a2sでの除算に相当する演算を、a2sの逆数に相当する逆数テーブル値invTable[a2s]との積と、log2(M)に相当する右シフトにより実現することができる。逆数テーブルinvTable[x]は、x=0においてinvTable[x]が0であるため、通常の演算では定義されない0での除算に相当する場合に結果が0となる。a2sは画素値x[]の分散に相当するため、画素値が非常に小さいか、乱雑さがない、つまり、全て平坦である場合に0になる。このような場合には、パラメータaを0とし、パラメータbの加算だけで計算した場合も問題のない結果が得られる。このように、逆数テーブルinvTable[x]を定義しない場合には、xが0である場合にはパラメータaを0とする別の演算を用いるか、xが0である場合には、パラメータaを1<<iShiftとすることが必要となる。なお、LM第1パラメータクリップ部3104161の代わりに、パラメータaクリップ部を設け、以下の演算によりパラメータaの範囲を、8ビット整数となる、-128以上、127以下にクリップしても良い。
 a = Clip3(-128, 127, a1)     式(LM-12´)
 なお、クリップの最大値は127以下、クリップの最小値は-128以上であれば8ビット整数となるため、他の値でも良い。例えば、
 a = Clip3(-64, 64, a1)     式(LM-12´´)
 などでも良い。
 導出されたパラメータaは、LMパラメータb導出部310417とLMフィルタ部31042に出力される。
 LMパラメータb導出部310417は、隣接色差画像の画素値の和Yから、隣接輝度画像の画素値の和Xにパラメータaをかけて固定シフト値iShiftだけ右シフトした値を引いた値を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - ( ( a * X ) >> iShift ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(LM-20)
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。
 LMフィルタ部31042は、LMパラメータ推定部31041が導出した推定パラメータを用いて、輝度復号画像predSamplesY[]から、LM予測後の色差予測画像predSamplesC[]を導出する。例えば、パラメータbを式(LM-20)により導出する場合には以下の式を用いる。
 predSamplesC[x][y] = (a * predSamplesY[x/2][y/2] >> iShift)+b      式(LM-21)
 なお、LMパラメータb導出部310417の代わりに、LMパラメータb導出部310417の別の構成のLMパラメータb導出部310417´を用いても良い。この場合、隣接色差画像の画素値の和Yを固定シフト値iShiftだけ左シフトした値から、隣接輝度画像の画素値の和Xにパラメータaをかけた値を引いた値を、参照画素の数で割ることにより、以下の式によりパラメータbを導出しても良い。
 b = ( (Y << iShift) - ( ( a * X ) ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(LM-20´)
 図82は、LM正則化項加算部310418Eの構成を示すブロック図である。LM正則化項加算部310418Eは、LM正則化項導出部3104180E、LM第1パラメータ正則化項加算部3104181E、LM第2パラメータ正則化項加算部3104182Eから構成される。
 LM正則化項導出部3104180Eは、正則化項acostを導出する。
 acost = XX >> ashift     式(E-1)
 LM第1パラメータ正則化項加算部3104181Eは、第1パラメータを導出に用いるパラメータ(例えばXY)に正則化項を加算する。
 XY = XY + acost     式(E-2)
 なお、この加算は、
 LM第2パラメータ正則化項加算部3104182Eは、第2パラメータを導出に用いるパラメータ(例えばXX)に正則化項を加算する。
 XX = XX + acost     式(E-3)
 なお、正則化項の加算は、LM第1パラメータ導出部310414および、LM第2パラメータ導出部310415で行っても良い。この場合、第1パラメータ、第2パラメータは、式(LM-7)式(LM-8)の代わりに以下の式により導出される。
  a1 = ( (XY + acost) << iCountShift ) - (Y * Y) >> precShift;      式(E-2´)
  a2 = ( (XX + acost) << iCountShift ) - (X * X) >> precShift;     式(E-3´)
 上記LMパラメータ推定部31041Eの構成では、図84に示すように、インデックスxが0の場合に0となるように逆数テーブルinvTable[x]を定義し、このように定義した、逆数テーブルinvTable[x]を、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和xの2乗の差から導出される第2パラメータ(正規化第2パラメータ)で引いた値に基づいてパラメータaを導出することにより、正規化第2パラメータ(第2パラメータ)が0であるか否かに応じて、演算方法を変更しなくても適当なパラメータaを得ることができるため、処理量を削減する効果が得られる。なお、インデックスxが0以外の場合には、逆数テーブルinvTable[x]は、所定の値とxで除算した値を整数化した値を用いることが適当である。
 上記LMパラメータ推定部31041の構成では、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xの積の差から導出される第1パラメータa1を導出する際に、正則化項acostを加算し、さらに、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から導出される第2パラメータa2を導出する際に同じ正則化項acostを加算する。正則化項が加算された第1パラメータa1と第2パラメータa2からパラメータaを導出する。これにより、パラメータaが実質的に1に近くなる(実際には固定シフト値iShiftを用いて、1<<iShiftに近くなる)ことにより、外れ値などがある場合において、推定されるパラメータが頑健になる。推定されるパラメータが頑健になることによって、LM予測の推定精度が向上し、符号化効率が向上する効果を奏する。
 (LM予測部3104H)
 以下、LM予測部3104Eの変形例であるLM予測部3104Hを説明する。
 図88は、LM予測部3104Hの構成を示すブロック図である。LM予測部3104Hは、LMパラメータ推定部31041Hと、LM予測フィルタ部31042Hから構成される。LMパラメータ推定部31041Hは、LM加算値導出部310413H、LM第1パラメータ導出部310414H、LM第2パラメータ導出部310415H、LMパラメータa導出部310416H、LMパラメータb導出部310417H、LM正則化項加算部310418Hから構成される。
 LMパラメータ推定部31041Hは、対象ブロックに隣接する輝度画像を、隣接輝度画像x[]、対象ブロックに隣接する色差画像を隣接色差画像y[]と表示し、隣接輝度画像x[]と隣接色差画像y[]からパラメータaとパラメータbを導出する。
 LM加算値導出部310413Hは、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xを、以下の式(LM-2)、式(LM-3)により導出する。
  X = Σx[i]                 式(LM-2)
  Y = Σy[i]                 式(LM-3)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。y[i]は、復号画像のインデックスiにおける画素値であり、x[i]は、参照画像のインデックスiにおける画素値である。カウントシフト値iCountShiftは、参照領域のサイズ(画素数)の2の対数である。
  iCountShift = log2 (参照領域の画素数)      式(LM-6)
 LM第1パラメータ導出部310414Hは、隣接色差画像の画素値の和Yから第1パラメータa1を以下の式により導出する。
  a1 = Y    式(LM-7´)
 LM第2パラメータ導出部310415Hは、隣接輝度画像の画素値xの和Xから第2パラメータa2を以下の式により導出する。
  a2 = X    式(LM-8´)
 導出された第1パラメータa1と第2パラメータa2は、LMパラメータa導出部310416Hに出力される。
 図89は、LM正則化項加算部310418Hの構成を示すブロック図である。LM正則化項加算部310418Hは、LM正則化項導出部3104180H、LM第1正則化項加算部3104181H、LM第2正則化項加算部3104182Hから構成される。
 LM正則化項導出部3104180Hは、隣接輝度画像の画素値の和Xから正則化項acostを導出する。
  acost = X >> ashift     式(LM-1´)
 ここで、ashiftは所定の定数であり、右シフトにより正則化項acostの大きさを調整するために用いられる。
 なお、通常の画像では、隣接輝度画像の画素値の和Xと隣接色差画像の画素値の和Yはほぼ等しいため、隣接色差画像の画素値の和Yから正則化項acostを導出しても良い。
  acost = Y >> ashift     式(LM-1´´)
 LM第1パラメータ正則化項加算部3104181Eは、第1パラメータを導出に用いるパラメータ(例えばY)に正則化項を加算する。
  Y = Y + acost     式(LM-2´)
 LM第2パラメータ正則化項加算部3104182Eは、第2パラメータの導出に用いるパラメータ(例えばX)に正則化項を加算する。
  X = X + acost     式(LM-3´)
 なお、正則化項の加算は、LM第1パラメータ導出部310414Hおよび、LM第2パラメータ導出部310415Hで行っても良い。この場合、第1パラメータ、第2パラメータは、式(LM-7´´)、式(LM-8´´)の代わりに以下の式により導出される。
  a1 = Y + acost    式(LM-7´´)
  a2 = X + acost    式(LM-8´´)
 図90は、LMパラメータa導出部310416Hの構成を示すブロック図である。LMパラメータa導出部310416Hは、LMパラメータクリップ部3104161H、LM第2正規化シフト部3104163H、LMテーブルベースパラメータa導出部3104164Hから構成される。
 LM第2正規化シフト部3104163Hは、第2パラメータa2の大きさに応じて、以下の式により第2正規化シフト値iScaleShiftA2を導出する。導出されたLM第2正規化シフト値iScaleShiftA2は、LMテーブルベースパラメータa導出部3104164Hに出力される。
  iScaleShiftA2 = Max(0, GetMSB( abs( a2 ) ) - 6)     式(B-14)
 LM第2正規化シフト部3104163Hは、第2パラメータa2を第2正規化シフト値iScaleShiftA2により右シフトし、正規化第2パラメータa2sを導出する。
  a2s = a2 >> iScaleShiftA2     式(B-16)
 LMテーブルベースパラメータa導出部3104164Hは、以下の式によりパラメータaシフト値ScaleShiftAを導出する。
  ScaleShiftA = iScaleShiftA2 + 15 - iShift     式(B-18´)
 LMテーブルベースパラメータa導出部3104164Hは、以下の式のように、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1との積をとり、テーブルシフト値ScaleShiftAで右シフトすることにより、パラメータaを導出する。
  a = (a1 * invTable[a2s]) >> (ScaleShiftA)      式(LM-19)
 図84は、本実施形態で用いる逆数テーブル値invTable[]である。既に説明したように図84の逆数invTable[x]は、インデックスxが0の場合に0となり、インデックスxが0以外の場合には、所定の定数M(ここでは2の15乗)をxで割って整数化した値から導出される。
 パラメータaの値は、第1パラメータa1と第2パラメータa2の比(a1/a2をiShiftだけ左シフトした値)に相当する。
 LMパラメータクリップ部3104161Hは、以下の演算によりパラメータaの範囲を、8ビット整数変数となる、-128以上、127以下にクリップする。
  a = Clip3(-128, 127, a)     式(LM-12´)
 なお、クリップの範囲の最小値は-128以上、最大値が127以下であれば他の値でも構わない。例えば以下の範囲等でも良い。
  a = Clip3(-64, 63, a)
 LMパラメータb導出部310417は、既に説明したとおり、式(LM-20)によりパラメータbを導出する。
 LMフィルタ部31042Hは、LMパラメータ推定部31041Hが導出した推定パラメータa、bを用いて、輝度復号画像predSamplesY[]から、LM予測後の色差予測画像predSamplesC[]を導出する。例えば、LMフィルタ部31042は、以下の式(LM-21´)のように、画素のビット深度をbitDepthとした場合、輝度復号画像predSamplesY[]から(1<<(bitDepth-1))を引いた値にパラメータaをかけてから、シフト値iShiftで右シフト後、パラメータbと(1<<(bitDepth-1))を加算することによって、色差予測画像predSamplesC[]を導出する。。
  predSamplesC[x][y] = (a * (predSamplesY[x/2][y/2]-(1<<(bitDepth-1))) >> iShift)+b+(1<<(bitDepth-1))      式(LM-21´)
 bitDepthが8ビットである場合、predSamplesYの範囲は0から255で、(1<<(bitDepth-1))は128であるため、predSamplesY[x/2][y/2]-(1<<(bitDepth-1))は、8ビット整数の-128から127の範囲となる。パラメータaも-128から127となるようにクリップしていれば、上記画素値から所定の値を引いた値と、パラメータaとの積を、8ビット整数間の演算で処理できる。
 上記LMパラメータ推定部31041Hの構成では、同じ正則化項を第1パラメータa1と第2パラメータa2に加算してから、第1パラメータa1と第2パラメータa2の比に相当する値のパラメータaを算出することによって、外れ値などがある場合において、推定されるパラメータが頑健になり、符号化効率が向上する効果を奏する。なお、正則化項は、隣接輝度画像の画素値xの和Xから生成しても良いし、隣接色差画像の画素値yの和Yから生成しても良い。
 上記LMパラメータ推定部31041Hの構成では、隣接輝度画像の画素値の和Xから導出される第2パラメータのみを正規化し、隣接色差画像の画素値の和Yから導出される第1パラメータを正規化しないため、テーブルシフト値ScaleShiftAが必ず0以上になる。そのためテーブルシフト値ScaleShiftAが0以上であるか(正であるか)否かに応じて、右シフトである式(LM-19)と左シフトである式(LM-19´)で切り替えることなく、右シフトのみで導出することができる。
 上記LMパラメータ推定部31041Hの構成では、図84に示すように、インデックスxが0の場合に0となるように逆数テーブルinvTable[x]を定義し、このように定義した逆数テーブルinvTable[x]を、復号画像の画素値yの和Yから導出される第2パラメータ(正規化第2パラメータ)で引いた値に基づいてパラメータaを導出することにより、第2パラメータ(正規化第2パラメータ)が0であるか否かに応じて、演算方法を変更しなくても適当なパラメータaを得ることができるため、処理量が削減されるという効果を奏する。
 上記LMパラメータ推定部31041Hの構成では、LMパラメータクリップ部3104161Hにより、パラメータaを8ビット非負整数の範囲にクリップすることから、画素値のビット深度が8ビットである場合に、パラメータaと画素値の積を8ビット非負整数同士の積として処理することができるためSIMD演算などによる処理が容易になるという効果を奏する。
 上記LMパラメータ推定部31041Hの構成では、LMパラメータクリップ部3104161Hにより、パラメータaを8ビット整数の範囲にクリップすることから、画素値のビット深度が8ビットである場合に、パラメータaと画素値の積を8ビット整数同士の積として処理することができるためSIMD演算などによる処理が容易になるという効果を奏する。
 上記LMパラメータ推定部31041Hの構成では、パラメータaの導出において、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接輝度画像の画素値の2乗の和XXを導出しないため、処理量が小さくなるという効果を奏する。
 なお、LM予測部3104Hの別の構成として、LM予測部3104H内の、LMパラメータ推定部31041Hにおいて、LMパラメータa導出部310416Hの代わりに、LMパラメータa導出部310416H2を用いる構成も可能である。
 図91は、LMパラメータa導出部310416H2の構成を示すブロック図である。LMパラメータa導出部310416H2は、LMパラメータクリップ部3104161H、LM除算パラメータa導出部3104165Hから構成される。
 LM除算パラメータa導出部3104165Hは、第1パラメータと第2パラメータの比により、以下の式によりパラメータaを導出する。
  a = (a1 + a2/2) / a2     式(B-19´)
 LMパラメータクリップ部3104161Hは、既に説明したように、パラメータaの範囲を、8ビット非負変数の範囲にクリップする。
 上記LMパラメータ推定部31041H2の構成では、同じ正則化項を第1パラメータa1と第2パラメータa2に加算してから、第1パラメータa1と第2パラメータa2の比に相当する値のパラメータaを算出することによって、外れ値などがある場合において、推定されるパラメータが頑健になり、符号化効率が向上する効果を奏する。
 上記LMパラメータ推定部31041Hの構成では、LMパラメータクリップ部3104161Hにより、パラメータaを8ビット整数の範囲にクリップすることから、画素値のビット深度が8ビットである場合に、パラメータaと画素値の積を8ビット整数同士の積として処理することができるためSIMD演算などによる処理が容易になるという効果を奏する。
 LMパラメータa導出部310416H2は、LMパラメータa導出部310416Hと異なり、パラメータaの導出に除算を用いる。除算は比較的処理が複雑な演算であるが、その分パラメータaの精度が向上するため、符号化効率が高くなるという効果を奏する。
 逆量子化・逆DCT部311は、エントロピー復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部311は、求めたDCT係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、復号残差信号を算出する。逆量子化・逆DCT部311は、算出した復号残差信号を加算部312および残差格納部313に出力する。
 加算部312は、インター予測画像生成部309及びイントラ予測画像生成部310から入力された予測ピクチャブロックPと逆量子化・逆DCT部311から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部312は、生成した参照ピクチャブロックを参照ピクチャメモリ306に記憶し、生成した参照ピクチャブロックをピクチャ毎に統合した復号レイヤ画像Tdを外部に出力する。
(インター予測パラメータ復号部の構成)
 次に、インター予測パラメータ復号部303の構成について説明する。
 図6は、本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。インター予測パラメータ復号部303は、インター予測パラメータ復号制御部3031、AMVP予測パラメータ導出部3032、加算部3035及びマージ予測パラメータ導出部3036を含んで構成される。
 インター予測パラメータ復号制御部3031は、インター予測に関連する符号(シンタックス要素の復号をエントロピー復号部301に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを抽出する。
 インター予測パラメータ復号制御部3031は、まず、をマージフラグ抽出する。インター予測パラメータ復号制御部3031が、あるシンタックス要素を抽出すると表現する場合は、あるシンタックス要素の復号をエントロピー復号部301に指示し、該当のシンタックス要素を符号化データから読み出すことを意味する。ここで、マージフラグが示す値が1、すなわち、マージ予測モードを示す場合、インター予測パラメータ復号制御部3031は、マージ予測に係る予測パラメータとして、マージインデックスmerge_idxを抽出する。インター予測パラメータ復号制御部3031は、抽出したマージインデックスmerge_idxをマージ予測パラメータ導出部3036に出力する。
 マージフラグmerge_flagが0、すなわち、AMVP予測モードを示す場合、インター予測パラメータ復号制御部3031は、エントロピー復号部301を用いて符号化データからAMVP予測パラメータを抽出する。AMVP予測パラメータとして、例えば、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。インター予測パラメータ復号制御部3031は、抽出したインター予測フラグinter_pred_idxから導出した予測リスト利用フラグpredFlagLXと、参照ピクチャインデックスrefIdxLXをAMVP予測パラメータ導出部3032及び予測画像生成部308(図5)に出力し、また予測パラメータメモリ307(図5)に記憶する。インター予測パラメータ復号制御部3031は、抽出したベクトルインデックスmvp_LX_idxをAMVP予測パラメータ導出部3032に出力する。インター予測パラメータ復号制御部3031は、抽出した差分ベクトルmvdLXを加算部3035に出力する。
 図7は、本実施形態に係るマージ予測パラメータ導出部3036の構成を示す概略図である。マージ予測パラメータ導出部3036は、マージ候補導出部30361とマージ候補選択部30362を備える。マージ候補導出部30361は、マージ候補格納部303611と、拡張マージ候補導出部303612と基本マージ候補導出部303613を含んで構成される。
 マージ候補格納部303611は、拡張マージ候補導出部303612及び基本マージ候補導出部303613から入力されたマージ候補を格納する。なお、マージ候補は、予測リスト利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLXを含んで構成されている。マージ候補格納部303611において、格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。例えば、拡張マージ候補導出部303612から入力されたマージ候補には、インデックスとして「0」を割り当てる。
 拡張マージ候補導出部303612は、変位ベクトル取得部3036122と、インターレイヤマージ候補導出部3036121とインターレイヤ変位マージ候補導出部3036123を含んで構成される。
 変位ベクトル取得部3036122は、まず、復号対象ブロックに隣接する複数の候補ブロック(例えば、左、上、右上に隣接するブロック)から順に変位ベクトルを取得する。具体的には、候補ブロックの一つを選択し、選択した候補ブロックのベクトルが変位ベクトルであるか動きベクトルであるかを、候補ブロックの参照ピクチャインデックスrefIdxLXを用いてリファレンスレイヤ判定部303111(後述)を用いて判定し変位ベクトルが有る場合には、それを変位ベクトルとする。候補ブロックに変位ベクトルがない場合には、次の候補ブロックを順に走査する。隣接するブロックに変位ベクトルがない場合、変位ベクトル取得部3036122は、時間的に別の表示順の参照ピクチャに含まれるブロックの対象ブロックに対応する位置のブロックの変位ベクトルの取得を試みる。変位ベクトルが取得できなかった場合には、変位ベクトル取得部3036122は、変位ベクトルとしてゼロベクトルを設定する。変位ベクトル取得部3036122は、変位ベクトルをインターレイヤマージ候補導出部3036121及びインターレイヤ変位マージ候補導出部に出力する。
 インターレイヤマージ候補導出部3036121は、変位ベクトル取得部3036122から変位ベクトルを入力される。インターレイヤマージ候補導出部3036121は、別レイヤ(例えばベースレイヤ、ベースビュー)の復号対象ピクチャと同一POCを持つピクチャ内から、変位ベクトル取得部3036122から入力された変位ベクトルだけが示すブロックを選択し、該ブロックが有する動きベクトルである予測パラメータを予測パラメータメモリ307から読み出す。より具体的には、インターレイヤマージ候補導出部3036121が読みだす予測パラメータは、対象ブロックの中心点を起点にしたときに、起点の座標に変位ベクトルを加算した座標を含むブロックの予測パラメータである。
参照ブロックの座標(xRef、yRef)は、対象ブロックの座標が(xP、yP)、変位ベクトルが(mvDisp[0]、mvDisp[1])、対象ブロックの幅と高さがnPSW、nPSHの場合に以下の式により導出する。
 xRef = Clip3( 0, PicWidthInSamples- 1, xP + ( ( nPSW - 1 ) >> 1 ) + ( ( mvDisp[0] + 2 ) >> 2 ) )
 yRef = Clip3( 0, PicHeightInSamples- 1, yP + ( ( nPSH - 1 ) >> 1 ) + ( ( mvDisp[1] + 2 ) >> 2 ))
 なお、インターレイヤマージ候補導出部3036121は、予測パラメータが動きベクトルか否かを、インター予測パラメータ復号制御部3031に含まれる後述するリファレンスレイヤ判定部303111の判定方法において偽(変位ベクトルではない)と判定した方法により判定する。インターレイヤマージ候補導出部3036121は、読みだした予測パラメータをマージ候補としてマージ候補格納部303611に出力する。また、インターレイヤマージ候補導出部3036121は、予測パラメータを導出出来なかった際には、その旨をインターレイヤ変位マージ候補導出部に出力する。本マージ候補は、動き予測のインターレイヤ候補(インタービュー候補)でありインターレイヤマージ候補(動き予測)とも記載する。
 インターレイヤ変位マージ候補導出部3036123は、変位ベクトル取得部3036122から変位ベクトルを入力される。インターレイヤ変位マージ候補導出部3036123は、入力された変位ベクトルと、変位ベクトルが指す先のレイヤ画像の参照ピクチャインデックスrefIdxLX(例えば、復号対象ピクチャと同一POCを持つベースレイヤ画像のインデックス)をマージ候補としてマージ候補格納部303611に出力する。本マージ候補は、変位予測のインターレイヤ候補(インタービュー候補)でありインターレイヤマージ候補(変位予測)とも記載する。
 基本マージ候補導出部303613は、空間マージ候補導出部3036131と時間マージ候補導出部3036132と結合マージ候補導出部3036133とゼロマージ候補導出部3036134を含んで構成される。
 空間マージ候補導出部3036131は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータ(予測リスト利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX)を読み出し、読み出した予測パラメータをマージ候補として導出する。読み出される予測パラメータは、復号対象ブロックから予め定めた範囲内にあるブロック(例えば、復号対象ブロックの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部)のそれぞれに係る予測パラメータである。導出されたマージ候補はマージ候補格納部303611に格納される。
 時間マージ候補導出部3036132は、復号対象ブロックの右下の座標を含む参照画像中のブロックの予測パラメータを予測パラメータメモリ307から読みだしマージ候補とする。参照画像の指定方法は、例えば、スライスヘッダに置いて指定された参照ピクチャインデックスrefIdxLXでも良いし、復号対象ブロックに隣接するブロックの参照ピクチャインデックスrefIdxLXのうち最小のものを用いて指定しても良い。導出されたマージ候補はマージ候補格納部303611に格納される。
 結合マージ候補導出部3036133は、既に導出されマージ候補格納部303611に格納された2つの異なる導出済マージ候補のベクトルと参照ピクチャインデックスを、それぞれL0、L1のベクトルとして組み合わせることで結合マージ候補を導出する。導出されたマージ候補はマージ候補格納部303611に格納される。
 ゼロマージ候補導出部3036134は、参照ピクチャインデックスrefIdxLXが0であり、ベクトルmvLXのX成分、Y成分が共に0であるマージ候補を導出する。導出されたマージ候補はマージ候補格納部303611に格納される。
 マージ候補選択部30362は、マージ候補格納部303611に格納されているマージ候補のうち、インター予測パラメータ復号制御部3031から入力されたマージインデックスmerge_idxに対応するインデックスが割り当てられたマージ候補を、対象PUのインター予測パラメータとして選択する。マージ候補選択部30362は選択したマージ候補を予測パラメータメモリ307(図5)に記憶するとともに、予測画像生成部308(図5)に出力する。
 図8は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033と予測ベクトル選択部3034を備える。ベクトル候補導出部3033は、参照ピクチャインデックスrefIdxに基づいて予測パラメータメモリ307(図5)が記憶するベクトル(動きベクトル又は変位ベクトル)をベクトル候補mvpLXとして読み出す。読み出されるベクトルは、復号対象ブロックから予め定めた範囲内にあるブロック(例えば、復号対象ブロックの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部)のそれぞれに係るベクトルである。
 予測ベクトル選択部3034は、ベクトル候補導出部3033が読み出したベクトル候補のうち、インター予測パラメータ復号制御部3031から入力されたベクトルインデックスmvp_LX_idxが示すベクトル候補を予測ベクトルmvpLXとして選択する。予測ベクトル選択部3034は、選択した予測ベクトルmvpLXを加算部3035に出力する。
 図9は、ベクトル候補の一例を示す概念図である。図9に示す予測ベクトルリスト602は、ベクトル候補導出部3033において導出される複数のベクトル候補からなるリストである。予測ベクトルリスト602において、左右に一列に配列された5個の長方形は、それぞれ予測ベクトルを示す領域を示す。左端から2番目のmvp_LX_idxの真下の下向きの矢印とその下のmvpLXは、ベクトルインデックスmvp_LX_idxが、予測パラメータメモリ307においてベクトルmvpLXを参照するインデックスであることを示す。
 候補ベクトルは、復号処理が完了したブロックであって、復号対象ブロックから予め定めた範囲のブロック(例えば、隣接ブロック)を参照し、参照したブロックに係るベクトルに基づいて生成される。なお、隣接ブロックには、対象ブロックに空間的に隣接するブロック、例えば、左ブロック、上ブロックの他、対象ブロックに時間的に隣接するブロック、例えば、対象ブロックと同じ位置で、表示時刻が異なるブロックから得られたブロックを含む。
 加算部3035は、予測ベクトル選択部3034から入力された予測ベクトルmvpLXとインター予測パラメータ復号制御部から入力された差分ベクトルmvdLXを加算してベクトルmvLXを算出する。加算部3035は、算出したベクトルmvLXを予測画像生成部308(図5)に出力する。
(インター予測パラメータ復号制御部の構成)
 次に、インター予測パラメータ復号制御部3031の構成について説明する。インター予測パラメータ復号制御部3031は、図10に示すように、追加予測フラグ復号部30311、マージインデックス復号部30312、ベクトル候補インデックス復号部30313、及び図示しない、分割モード復号部、マージフラグ復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル差分復号部を含んで構成される。分割モード復号部、マージフラグ復号部、マージインデックス復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部30313、ベクトル差分復号部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを復号する。
 追加予測フラグ復号部30311は、追加予測が行われるか否かを示すフラグxpred_flagを復号する。ここで追加予測とは、後述する残差予測もしくは照度補償等を意味し、通常の動き補償や変位補償に対して追加的に行われる予測を示す。なお、残差予測を行われるか否かを示すフラグはres_pred_flag、照度補償が行われるか否かを示すフラグはic_enable_flagで表現する。復号した追加予測フラグxpred_flag(res_pred_flag、ic_enable_flag)は、インター予測画像生成部309に出力される。さらに、追加予測フラグxpred_flagが残差予測フラグres_pred_flagであり、残差予測フラグres_pred_flagが残差予測をすることを示す1である場合には、インター予測パラメータ復号制御部3031は内部に備える後述の変位ベクトル取得部を用いて、対象PUの変位ベクトルmvDispを抽出し、インター予測画像生成部309に出力する。なお、残差予測を行うか否かを示すフラグである残差予測フラグres_pred_flagの代わりに、残差予測の重みを示すフラグである残差予測ウェイトres_pred_weightを用いても良い。res_pred_weightが0の場合には残差予測を行わず、res_pred_weightが1の場合には、重み1で残差予測を行い、res_pred_weightが2の場合には、重み1/2で残差予測を行う。また、残差予測を行うか否かを示すフラグである残差予測フラグres_pred_flagの代わりに、残差予測の種類を示すフラグである残差予測モードres_pred_modeを用いても良い。res_pred_modeが0の場合には残差予測を行わず、res_pred_modeが1の場合には、第1の残差予測行い、res_pred_modeが2の場合には、第2の残差予測で残差予測を行う。なお第1の残差予測と第2の残差予測は、残差の導出方法が互いに異なるものとする。
 追加予測フラグ復号部30311は、内部に、追加予測フラグ判定部30314を備える。追加予測フラグ判定部30314は、追加予測フラグxpred_flagを符号化データに含まれるか否か(符号化データから読み出して復号するか否か)を判定する。判定結果は符号化データに含める場合を1、含めない場合を0としてxpred_flag_existsとして導出される。追加予測フラグ判定部30314において、追加予測フラグを符号化データに符号化データに含めると判定された場合(xpred_flag_existsが1の場合)には、追加予測フラグ復号部30311は、エントロピー復号部301に、追加予測フラグの復号を通知し、エントロピー復号部301を通じて符号化データから、追加予測フラグに対応するシンタックス要素を抽出する。逆に、追加予測フラグ判定部30314において、符号化データに含めない(xpred_flag_existsが0の場合)と判定した場合には、追加予測フラグに、追加予測を示す値(ここでは1)を導出(infer)する。追加予測フラグ判定部30314については後述する。
  (変位ベクトル取得部)
 変位ベクトル取得部は、対象PUに隣接するブロックが変位ベクトルを持つ場合には、その変位ベクトルを予測パラメータメモリ307から抽出し、予測パラメータメモリ307を参照し、対象PUに隣接するブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを読み出す。変位ベクトル取得部は、内部にリファレンスレイヤ判定部303111を備える。変位ベクトル取得部は、対象PUに隣接するブロックの予測パラメータを順に読み出し、リファレンスレイヤ判定部303111を用いて、隣接ブロックの参照ピクチャインデックスから隣接ブロックが変位ベクトルを備えるか否かを判定する。隣接ブロックが変位ベクトルを備える場合には、その変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合にはゼロベクトルを変位ベクトルとして出力する。
 (リファレンスレイヤ判定部303111)
 リファレンスレイヤ判定部303111は、入力された参照ピクチャインデックスrefIdxLXに基づいて、参照ピクチャインデックスrefIdxLXが指す参照ピクチャと、対象ピクチャの関係を示すリファレンスレイヤ情報reference_layer_infoを定める。リファレンスレイヤ情報reference_layer_infoは、参照ピクチャへのベクトルmvLXが変位ベクトルであるか動きベクトルであるかを示す情報である。
 対象ピクチャのレイヤと参照ピクチャのレイヤが同じレイヤである場合の予測を、同一レイヤ予測と呼び、この場合に得られるベクトルは動きベクトルである。対象ピクチャのレイヤと、参照ピクチャのレイヤが異なるレイヤである場合の予測をインターレイヤ予測と呼び、この場合に得られるベクトルは変位ベクトルである。
 ここで、リファレンスレイヤ判定部303111の判定処理の例について、第1の判定方法から第3の判定方法を説明する。リファレンスレイヤ判定部303111は、第1の判定方法から第3の判定方法のいずれか、又は、それらの方法のうち任意の組み合わせを用いてもよい。
  <第1の判定方法>
 リファレンスレイヤ判定部303111は、参照ピクチャインデックスrefIdxLXが示す参照ピクチャに係る表示時刻(POC:Picture Order Count、ピクチャ順序番号)が復号対象ピクチャに係る表示時刻(POC)と等しい場合に、ベクトルmvLXが変位ベクトルであると判定する。POCは、ピクチャを表示する順序を示す番号であって、そのピクチャが取得された表示時刻を示す整数(離散時刻)である。変位ベクトルと判定しなかった場合には、リファレンスレイヤ判定部303111は、ベクトルmvLXが動きベクトルであると判定する。
 具体的には、参照ピクチャインデックスrefIdxLXが示す参照ピクチャのピクチャ順序番号POCが復号対象ピクチャのPOCと等しい場合、リファレンスレイヤ判定部303111は、ベクトルmvLXが変位ベクトルであると、例えば以下の式により判定する。
 POC == ReflayerPOC (refIdxLX, ListX)
 ここで、POCは復号対象ピクチャのPOC、RefPOC(X, Y)は参照ピクチャインデックスX、参照ピクチャリストYで指定される参照ピクチャのPOCである。
 なお、復号対象ピクチャのPOCと等しいPOCの参照ピクチャを参照することができる、ということは、その参照ピクチャのレイヤは、復号対象ピクチャのレイヤと異なることを意味する。従って、復号対象ピクチャのPOCと参照ピクチャのPOCが等しい場合には、インターレイヤ予測が行われた(変位ベクトル)、それ以外は同一レイヤ予測が行われた(動きベクトル)と判定する。
  <第2の判定方法>
 また、リファレンスレイヤ判定部303111は、参照ピクチャインデックスrefIdxLXが示す参照ピクチャに係る視点と復号対象ピクチャに係る視点が異なる場合に、ベクトルmvLXを変位ベクトルであると判定しても良い。具体的には、参照ピクチャインデックスrefIdxLXが示す参照ピクチャのビューIDview_idが復号対象ピクチャのビューIDview_idと異なる場合に、リファレンスレイヤ判定部303111は、ベクトルmvLXが変位ベクトルであると、例えば以下の式により判定する。
 ViewID == ReflayerViewID (refIdxLX, ListX)
 ここで、ViewIDは復号対象ピクチャのビューID、RefViewID(X, Y)は参照ピクチャインデックスX、参照ピクチャリストYで指定される参照ピクチャのビューIDである。
 ビューIDview_idは、それぞれの視点画像を識別する情報である。変位ベクトルに係る差分ベクトルdvdLXは、異なる視点のピクチャ間で得られ、同一の視点のピクチャ間からは得られないことに基づく。なお、変位ベクトルと判定しなかった場合には、リファレンスレイヤ判定部303111は、ベクトルmvLXが動きベクトルであると判定する。
 なお、個々の視点画像はレイヤの一種であるから、ビューIDview_idが異なると判定された場合には、リファレンスレイヤ判定部303111は、ベクトルmvLXを変位ベクトル(インターレイヤ予測が行われた)、それ以外は動きベクトル(同一レイヤ予測が行われた)と判定する。
  <第3の判定方法>
 また、リファレンスレイヤ判定部303111は、参照ピクチャインデックスrefIdxLXが示す参照ピクチャに係るレイヤIDlayer_idと復号対象ピクチャに係るレイヤIDlayer_idが異なる場合に、ベクトルmvLXが変位ベクトルであると、例えば以下の式により判定しても良い。
 layerID != ReflayerID (refIdxLX, ListX)
 ここで、layerIDは復号対象ピクチャのレイヤID、ReflayerID(X, Y)は参照ピクチャインデックスX、参照ピクチャリストYで指定される参照ピクチャのレイヤIDである。レイヤIDlayer_idは、1枚のピクチャが複数の階層(レイヤ)のデータを含んで構成される場合において、それぞれのレイヤを識別するデータである。異なる視点のピクチャが符号化された符号化データにおいて、レイヤIDは、視点によって異なる値を有することに基づく。すなわち、変位ベクトルに係る差分ベクトルdvdLXは、対象ピクチャと、異なるレイヤに係るピクチャとの間で得られるベクトルである。なお、変位ベクトルと判定しなかった場合には、リファレンスレイヤ判定部303111は、ベクトルmvLXが動きベクトルであると判定する。
 なお、レイヤIDlayer_idが異なる場合には、リファレンスレイヤ判定部303111は、ベクトルmvLXを変位ベクトル(インターレイヤ予測が行われた)、それ以外は動きベクトル(同一レイヤ予測が行われた)と判定する。
  (インター予測画像生成部309)
 図11は、本実施形態に係るインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き変位補償部3091、残差予測部3092、照度補償部3093、重み予測部3094を含んで構成される。
  (動き変位補償)
 動き変位補償部3091は、インター予測パラメータ復号部303から入力された、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXに基づいて、参照ピクチャメモリ306から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャの対象ブロックの位置を起点として、ベクトルmvLXだけずれた位置にあるブロックを読み出すことによって動き変位補償画像を生成する。ここで、ベクトルmvLXが整数ベクトルでない場合には、動き補償フィルタ(もしくは変位補償フィルタ)と呼ばれる小数位置の画素を生成するためのフィルタを施して、動き変位補償画像を生成する。一般に、ベクトルmvLXが動きベクトルの場合、上記処理を動き補償と呼び、変位ベクトルの場合は変位補償と呼ぶ。ここでは総称して動き変位補償と表現する。以下、L0予測の動き変位補償画像をpredSamplesL0、L1予測の動き変位補償画像をpredSamplesL1と呼ぶ。両者を区別しない場合predSamplesLXと呼ぶ。以下、動き変位補償部3091で得られた動き変位補償画像predSamplesLXに、さらに残差予測および照度補償が行われる例を説明するが、これらの出力画像もまた、動き変位補償画像predSamplesLXと呼ぶ。なお、以下の残差予測および照度補償において、入力画像と出力画像を区別する場合には、入力画像をpredSamplesLX、出力画像をpredSamplesLX´と表現する。
  (残差予測)
 残差予測部3092は、残差予測フラグres_pred_flagが1の場合に、入力された動き変位補償画像predSamplesLXに対して、残差予測を行う。残差予測フラグres_pred_flagが0の場合には、入力された動き変位補償画像predSamplesLXをそのまま出力する。インター予測パラメータ復号部303から入力された変位ベクトルmvDispと、残差格納部313に格納された残差refResSamplesを用いて、動き変位補償部3091で得られた動き変位補償画像predSamplesLXに対し残差予測を行う。残差予測は、予測画像生成の対象とする対象レイヤ(第2のレイヤ画像)とは異なる参照レイヤ(第1のレイヤ画像)の残差を、対象レイヤの予測した画像である動き変位補償画像predSamplesLXに加えることにより行われる。すなわち、参照レイヤと同様の残差が対象レイヤにも生じると仮定して、既に導出された参照レイヤの残差を対象レイヤの残差の推定値として用いる。ベースレイヤ(ベースビュー)では同じレイヤの画像のみが参照画像となる。従って、参照レイヤ(第1のレイヤ画像)がベースレイヤ(ベースビュー)である場合には、参照レイヤの予測画像は動き補償による予測画像であることから、対象レイヤ(第2のレイヤ画像)による予測においても、動き補償による予測画像である場合に、残差予測は有効である。すなわち、残差予測は対象ブロックが動き補償の場合に有効であるという特性を持つ。
 残差予測部3092は、図示しない残差取得部30921と、残差フィルタ部30922から構成される。図12は、残差予測を説明するための図である。対象レイヤ上の対象ブロックに対応する対応ブロックは、参照レイヤ上の画像の対象ブロックの位置を起点として、参照レイヤと対象レイヤの位置関係を示すベクトルである変位ベクトルmvDispだけずれた位置になるブロックに位置する。従って、残差予測に用いる残差は、変位ベクトルmvDispだけずれた位置にある残差を用いる。具体的には、残差取得部30921は、対象ブロックの画素の座標(x, y)を、対象ブロックの変位ベクトルmvDispの整数画素成分だけずらした位置の画素を導出する。変位ベクトルmvDispが小数精度であることを考慮し、残差取得部30921は、対象ブロックの画素の座標が(xP、yP)である場合に対応する画素R0のX座標xR0と、画素R0の隣接画素R1のX座標xR1を以下の式により導出する。
 xR0 = Clip3( 0, PicWidthInSamples- 1, xP + x + (mvDisp[0] >> 2 ) )
 xR1 = Clip3( 0, PicWidthInSamples- 1, xP + x + (mvDisp[0] >> 2 ) + 1 )
ここで、Clip3(x, y, z)は、zをx以上、y以下に制限(クリップ)する関数である。なお、mvDisp[0] >> 2は、1/4ペル精度のベクトルにおいて整数成分を導出する式である。
 残差取得部30921は、変位ベクトルmvDispで指定される座標の小数画素位置(mvDisp[0] - ( ( mvDisp[0] >> 2 ) << 2 ) )に応じて、画素R0の重み係数w0と、画素R1の重み係数w1を以下の式により導出する。
 w0 = 4 - mvDisp[0] + ( ( mvDisp[0] >> 2 ) << 2 )
 w1 = mvDisp[0] - ( ( mvDisp[0] >> 2 ) << 2 )
 続いて、残差取得部30921は、残差格納部313から、画素R0、画素R1の残差をrefResSamples[ xR0, y ]、refResSamples[ xR1, y ]により取得する。残差フィルタ部30922は、推定残差deltaLを以下の式で導出する。
 delta = ( w0 * clip3(xmin, xmax, refResSamples[ xR0, y ]) + w1 * clip3(xmin, xmax, refResSamples[ xR1, y ] + 2 )) >> 2
 ここで、xmin=-(1<<(BitDepthY-1))、xmax = (1<<(BitDepthY-1))-1である。残差取得部30921は、参照レイヤの残差を読み出す際に、所定のビット幅に収まる範囲にクリップしてから読み出す。例えば、ビット深度をBitDepthYとする場合、refResSamples[ xR0, y ]、refResSamples[ xR1, y ]を、-(1<<(BitDepthY-1)) ~ + (1<<BitDepthY-1)-1に制限し、残差を読み出す。なお上記の説明ではビット深度に輝度のビット深度bitDepthYを用いたが、色差の残差を読み出す場合にも同様のクリップ処理を行う。この場合には、ビット深度を色差のビット深度bitDepthCに置き替えて処理を行う(以下同様)。
 上記処理は、変位ベクトルmvDispが小数精度を有する場合に、線形補間により画素を導出していたが、線形補間を用いず、近傍の整数画素を用いても良い。具体的には、残差取得部30921は、対象ブロックの画素に対応する画素として画素xR0のみを取得し、以下の式を用いて推定残差deltaLを導出しても良い。
 delta = clip3(xmin, xmax, refResSamples[ xR0, y ])
 上記推定残差deltaLの導出後、残差フィルタ部30922は、残差予測部3092に入力された動き変位画像predSamplesLXに推定残差deltaLを加算し、動き変位画像predSamplesLX´として出力する。
  predSamplesLX´ [ x, y ] = predSamplesLX [ x, y ] + delta
 上記の構成によれば、対象レイヤの残差の推定において、参照レイヤで得られた残差の値の範囲を制限して読み出す。これにより、後述する残差格納部313では、残差として、制限した範囲の値のみを格納すれば良いため、残差を記録するためのメモリ量を低下させる効果を奏する。
 より具体的には、残差は差分信号であるため、画素のビット深度がbitDepthY(画素の範囲が0 ~ +(1<<BitDepthY)-1)である場合、bitDepthY+1ビットが必要になる(残差の範囲は、-(1<<BitDepthY) ~ +(1<<BitDepthY)-1)。従来技術では、上記の範囲の値を記録する必要があった。
 これに対し、本実施形態の制限-(1<<(BitDepthY-1)) ~ + (1<<BitDepthY-1)-1では、画素のビット数がBitDepthYである場合に、残差のビット幅をBitDepthYに制限することが可能である。発明者らは、実験により、画素のビット深度が8ビット(画素の範囲が0~255)である場合に、残差の範囲を8ビット(-128~127)に制限しても符号化効率が低下しないことを確認している。一般にRAM(SRAM、DRAM、DDRAM)と呼ばれるメモリは、8ビット単位で情報を格納することから、最も良く利用される場合である、画素ビット幅が8ビットの場合において、格納する残差の範囲を8ビットに制限できることはメモリ量を削減する効果を奏する。また、残差の範囲を制限して読み出すことは、残差格納部313から読み出す際にメモリ転送を行うために必要なバンド幅を少なくすることができ、また、読み出し速度の向上にも寄与する。
 なお、残差の範囲制限は、残差取得部30921での残差読み出し時ではなく、残差格納部313で残差を格納する時点において行っても良い。
 以下、残差予測部3092の変形例である残差予測部3092Aについて説明する。残差予測部3092Aは、残差取得部30921Aと、残差フィルタ部30922から構成される。残差予測部3092の変形例では、既に説明した残差予測部3092と異なる部分のみを説明し、同じ動作をする場合には説明を省略する。変形例の残差取得部30921Aは、参照レイヤの残差を読み出す際に、水平方向もしくは/かつ垂直方向の解像度をN分の1に間引いた位置の画素のみを参照する(ここでNは所定の倍率)。より具体的には、残差を読み出す座標を所定のビット(ここではK)だけ右シフトし、さらに同じ所定のビットKだけ左シフトすることにより、下位Kビットを無視する。下位ビットが無視された位置の残差は読み出されない。ここで所定の倍率NとKの関係は、N=(1<<K)である。例えば倍率Nが2倍の場合にはK=1を用いる。
 残差取得部30921Aは、座標の下位Kビットを無視する上記シフト演算による座標xR0、xR1の導出と、下位Kビット無視前の座標xxと、下位Kビット無視後の座標xxxから、重み係数w0とw1を導出し、線形予測により、推定残差deltaLを以下の式より求める。
 xx = (xP<<2) + (x<<2) + mvDisp[0]
 xxx = (xx>>(K+2))<<(K+2)
 xR0 = Clip3( 0, PicWidthInSamples- 1, xxx)
 xR1 = Clip3( 0, PicWidthInSamples- 1, xxx+1)
 w0 = (1<<(K+2)) - (xx - xxx)
 w1 = xx - xxx
 delta = ( w0 * clip3(xmin, xmax, refResSamples[ xR0, (y>>K)<<K ]) + w1 * clip3(xmin, xmax, refResSamples[xR1, (y>>K)<<K ] + (1<<(K+1))) )) >> (K+2)
 なお、上記の下位ビットを無視する関数をf(x) = (x>>K)<<Kとすると、f(x) = x&~(1<<(K-1))と表現することもできる(以下同様)。ここで~はビット否定の演算、&は論理積の演算を示す。
 残差予測部3092Aは、より簡易な別の構成として、座標の下位Kビットを無視する上記シフト演算による座標xR0、xR1の導出と、下位ビット無視前の座標xxと、下位Kビット無視後の座標xxxから、重み係数w0とw1を導出し、線形予測により、推定残差deltaLを以下の式より求めても良い。
 xx = xP + x + (mvDisp[0] >> 2 )
 xxx = (xx>>K)<<K
 w0 = (1<<(K) - (xx - xxx)
 w1 = xx - xxx
 delta = ( w0 * clip3(xmin, xmax, refResSamples[ xR0, (y>>K)<<K ]) + w1 * clip3(xmin, xmax, refResSamples[xR1, (y>>K)<<K ] + (1<<(K-1))) )) >> K
 残差予測部3092Aは、さらにより簡易な別の構成として、座標の下位Kビットを無視する上記シフト演算により座標xR0を導出し推定残差deltaLを以下の式より求めても良い。
 xR0 = Clip3( 0, PicWidthInSamples- 1, (xP + x + (mvDisp[0] >> 2 ))>> K)<<K)
 delta = clip3(xmin, xmax, refResSamples[ xR0, (y>>K)<<K ])
 上記の構成によれば、残差の参照位置を制限して読み出すことにより、後述する残差格納部313において、参照する位置の残差のみを格納すれば良いため、残差を記録するためのメモリ量を低下させるという効果を奏する。
 以下、残差予測部3092の別の変形例を説明する。変形例の残差予測部3092Bは、輝度成分については、変位ベクトルmvDispが小数精度を有する場合に、線形補間により画素を導出し、色差成分については線形補間を用いず、近傍の整数画素を用いる。ここで、変位ベクトルmvDispは水平成分mvDisp[0]だけではなく垂直成分mvDisp[1]を有する。
 図67は、残差予測部3092Bの構成を示す図である。残差予測部3092Bは、残差取得部30921B、残差フィルタ部30922Bを備える。残差取得部30921Bは変位導出部309211B、輝度残差取得部309212B、色差残差取得部309213Bを備える。残差フィルタ部30922Bは、輝度残差補間部309221B、輝度残差加算部309222B、色差残差加算部309224Bを備える。
 変位導出部309211Bは、対象ブロックに隣接するブロックのベクトルを参照し、変位ベクトルmvDispを導出し、輝度残差取得部309212B、色差残差取得部309213B、輝度残差補間部309221Bに出力する。
 輝度残差補間部309221Bは、輝度成分の水平方向重み係数w0, w1、垂直方向重み係数w2, w3を、変位ベクトルmvDispの小数精度に基づいて以下の式で導出する。
 w0 = mvDisp[0] & 3
 w1 = 4 -w0
 w2 = mvDisp[1] & 3
 w3 = 4 -w2
 変位ベクトルmvDispが1/4ペル精度の場合、ベクトルの小数成分は下位2ビットを取得する&3の演算(これは%4の演算に等しい)で導出され、ベクトルの整数成分は、下位2ビットを除去する>>2(これは/4の演算に等しい)の演算により導出される。
 輝度残差補間部309221Bは、以下の式により水平方向および垂直方向の線形補間により、予測残差deltaを導出する。
 delta = 
 (w2*(w0 * refResSample[xR0, yR0] + w1 * refResSample[xR0+1, yR0] + 2)>>2)+
 w3*(w0 * refResSample[xR0, yR1] + w1 * refResSample[xR0+1, yR1] + 2)>>2)+2)>>2
 refResSample[]は、残差格納部313に格納される残差であり、輝度残差取得部309212Bにより取得される。ここで、xR0, xR1, yR0, yR1は、参照先の座標を示し、変位ベクトルmvDispの整数成分に基づいて、以下の式で導出される。
 xR0 = Clip3(0, PicWidthInSampleL-1, xP + x + (mvDisp[0]>>2))
 xR1 = Clip3(0, PicWidthInSampleL-1, xR0 + 1)
 yR0 = Clip3(0, PicHeightInSampleL-1, yP + y + (mvDisp[1]>>2))
 yR1 = Clip3(0, PicHeightInSampleL-1, yR0 + 1)
  輝度残差加算部309222Bは、残差予測前の予測画像predSampleLX
[]に、導出された予測残差deltaを加算し、残差予測後の予測画像predSampleLX´[]を取得する。
  predSampleLX´[x, y] = predSampleLX[x, y] + delta
 色差成分では、線形補間を用いず、色差残差取得部309213Bは、以下の式により、残差格納部313に格納される残差から直接、予測残差deltaCを導出する。
 deltaC = refResSampleC[xRC0, yRC0]
 ここで、xRC0, yRC0,は、以下の式で導出される座標である。
 xRC0 = Clip3(0, PicWidthInSampleL/4-1, xP + x + ((mvDisp[0]+4)>>3))
 yRC0 = Clip3(0, PicWidthInSampleL/4-1, yP + y + ((mvDisp[1]+4)>>3))
  色差残差加算部309224Bは、残差予測前の予測画像predSampleLX[]に、導出された予測残差deltaCを加算し、残差予測後の予測画像predSampleLX´[]を取得する。
  predSampleLX´[x, y] = predSampleLX[x, y] + deltaC
 以上の構成の残差予測部3092Bによれば、予測残差の導出において、輝度成分のみ残差の線形補間を行い、色差成分では、残差の線形補間を行わないことにより、予測残差の導出に用いる処理量を削減する効果を奏する。また、線形補間を行わない場合には、補間のために必要とされた予備領域がなくなり、参照範囲が小さくなるため、残差の転送量を削減する効果を奏する。
 なお、上記の説明では輝度成分の予測残差を求める際に、水平方向、垂直方向の線形補間を行っていたが、以下のように水平方向の線形補間だけを行う構成でも良い。この場合、変位ベクトルmvDispの水平方向の小数成分から水平方向重み係数w0, w1を導出する。
 w0 = mvDisp[0] & 3
 w1 = 4 -w0
 続いて、以下の式により水平方向の線形補間により、予測残差deltaを導出する。
 delta = (w0 * refResSample[xR0, yR0] + w1 * refResSample[xR0+1, yR0] + 2)>>2
 ここで、xR0, xR1, yR0は、以下の式で導出される残差の座標である。
 xR0 = Clip3(0, PicWidthInSampleL-1, xP + x + (mvDisp[0]>>2))
 xR1 = Clip3(0, PicWidthInSampleL-1, xR0 + 1)
 yR0 = Clip3(0, PicHeightInSampleL-1, yP + y + ((mvDisp[1]+2)>>2))
 図68は、残差予測部3092Bの動作を説明するフローチャートである。
 S4001 変位導出部309211Bにおいて変位ベクトルmvDispを導出する。
 S4002 予測ブロック内の画素に対するループの開始。予測ブロックがnW×nHのブロックで有れば、nW×nH回だけループする。
 S4003 予測ブロックが輝度成分であるか、色差成分であるかを判定し、輝度成分であれば、S4004に遷移する。色差成分であれば、S4005に遷移する。
 S4004 輝度残差取得部309212Bにおいて、輝度の残差を複数個取得する。
 S4005 輝度残差補間部309221Bにおいて、変位ベクトルmvDispの小数成分に基づいて複数個取得した残差を補間し予測残差を導出する。
 S4006 色差残差取得部309213Bにおいて、色差の残差を1個取得し予測残差を導出する。
 S4007 輝度残差加算部309222Bもしくは色差残差加算部309224Bにおいて、S4005もしくはS4006で導出した予測残差を予測画像に加算する。
 S4008 予測ブロック内の画素に対するループの終了
 以上の構成の残差予測部3092Bによれば、予測残差の導出において、輝度成分において、水平成分に対して残差の線形補間を行い、垂直成分に対して残差の線形補間を行わない。予測残差の導出に用いる処理量を削減する効果を奏する。また、垂直方向の線形補間に必要とされた予備領域がなくなり参照範囲が小さくなるため、残差の転送量を削減する効果を奏する。
 以下、残差予測部3092の別の変形例を説明する。変形例の残差予測部3092Cは、輝度成分および色差成分に対して残差予測を行う際に、輝度成分と色差成分に応じて異なる制限を用いて(クリップ)を用いて、残差成分を参照することを特徴とする。
 図69は、残差予測部3092Cの構成を示す図である。残差予測部3092Cは、残差取得部30921C、残差フィルタ部30922Cを備える。残差取得部30921Cは変位導出部309211C、輝度残差取得部309212C、色差残差取得部309213Cを備える。残差フィルタ部30922Cは、輝度残差補間部309221C、輝度残差加算部309222C、色差残差加算部309224Cを備える。
 変位導出部309211Cは、対象ブロックに隣接するブロックのベクトルを参照し、変位ベクトルmvDispを導出し、輝度残差取得部309212C、色差残差取得部309213C、輝度残差補間部309221Cに出力する。
 輝度残差補間部309221Cは、輝度成分の水平方向重み係数w0, w1、垂直方向重み係数w2, w3を、変位ベクトルmvDispの小数精度に基づいて以下の式で導出する。
 w0 = mvDisp[0] & 3
 w1 = 4 -w0
 w2 = mvDisp[1] & 3
 w3 = 4 -w2
 輝度残差補間部309221Cは、以下の式により水平方向および垂直方向の線形補間により、予測残差deltaを導出する。
 delta =   
 (w2*(w0 * refResSampleX[xR0, yR0] + w1 * refResSampleX[xR0+1, yR0] + 2)>>2)+
 w3*(w0 * refResSampleX[xR0, yR1] + w1 * refResSampleX[xR0+1, yR1] + 2)>>2)+2)>>2
 refResSample[]は、輝度残差取得部309212Cにより取得される残差である。ここで、xR0, xR1, yR0, yR1は、変位ベクトルmvDispの整数成分に基づいて導出される参照先となる残差の座標である。
 輝度残差取得部309212Cは、残差格納部313から残差を参照する際に、以下の式により残差の値域の制限(クリップ)を行う。
 refResSampleX[x, y] = Clip3(lmin, lmax, refResSample[x, y])
 ここで、xmin, xmaxは以下の式を用いる。
 lmin = -(1<<(bitDepthY -KY))
 lmax = 1<<(bitDepthY -KY)
 ここでKYは定数であり1,2,3,4のいずれかであるとする。
 色差成分では、色差残差取得部309213Cは、以下の式により予測残差deltaCを導出する。
 deltaC = refResSampleCX[xRC0, yRC0]
 ここで、xRC0, xRC1は既に説明した式により導出される残差の座標である。refResSampleXCは、以下の式によりクリップされた後の残差である。
 色差残差取得部309213Cは、残差格納部313から残差を参照する際に、輝度とは異なるクリップ範囲で得られた残差により、以下の式により予測残差deltaCを導出する。
 refResSampleXC [x, y] = Clip3(cmin, cmax, refResSampleC[x, y])
 ここで、cmin, cmaxは以下の式を用いる。
 cmin = -(1<<(bitDepthC -KC))
 cmax = 1<<(bitDepthC -KC)
 ここで、KCは、KC>KYを満たす整数である。
 図70は、残差予測部3092Cの動作を説明するフローチャートである。
 S4101 変位導出部309211Cにおいて変位ベクトルmvDispを導出する。
 S4102 予測ブロック内の画素に対するループの開始。予測ブロックがnW×nHのブロックで有れば、nW×nH回だけループする。
 S4103 予測ブロックが輝度成分であるか、色差成分であるかを判定し、輝度成分であれば、S4104に遷移する。色差成分であれば、S4105に遷移する。
 S4104 輝度残差取得部309212Cにおいて、輝度残差のクリップ範囲を導出する。
 S4105 輝度残差取得部309212Cにおいて、導出したクリップ範囲に制限して、残差格納部313から輝度の残差を参照する。参照した残差から予測残差を導出する。
 S4106 色差残差取得部309212Cにおいて、色差残差のクリップ範囲を導出する。
 S4107 色差残差取得部309212Cにおいて、導出したクリップ範囲に制限して、残差格納部313から色差の残差を参照する。参照した残差から予測残差を導出する。
 S4108 輝度残差加算部309222Cもしくは色差残差加算部309224Cにおいて、S4105もしくはS4107で導出した予測残差を予測画像に加算する。
 S4109 予測ブロック内の画素に対するループの終了
 以上の構成の残差予測部3092Cによれば、予測残差の導出において、色差成分の残差に必要なビット数を削減することができるため、色差成分の残差を格納するメモリサイズを低減する効果を奏する。
 さらに特にKC=5とする場合、ビット深度が8ビットである色差成分の復号において、残差を4ビットで格納することができる。この場合、8ビットの範囲に2つの色差をパックして格納することが可能であるため、8ビット単位でアクセスされる一般のRAMに残差を格納する場合において、メモリサイズを低減する効果を奏する。
 以下、残差予測部3092のさらに別の変形例を説明する。変形例の残差予測部3092Dは、輝度成分においてのみ残差予測を行い、色差成分については残差予測を行わないことを特徴とする。
 図71は、残差予測部3092Dの構成を示す図である。残差予測部3092Dは、残差取得部30921D、残差フィルタ部30922Dを備える。残差取得部30921Dは変位導出部309211D、輝度残差取得部309212Dを備える。残差フィルタ部30922Dは、輝度残差補間部309221D、輝度残差加算部309222Dを備える。
 変位導出部309211Dは、対象ブロックに隣接するブロックのベクトルを参照し、変位ベクトルmvDispを導出し、輝度残差取得部309212D、輝度残差補間部309221Dに出力する。
 輝度残差補間部309221Dは、輝度成分の水平方向重み係数w0, w1、垂直方向重み係数w2, w3を、変位ベクトルmvDispの小数精度に基づいて以下の式で導出する。
 w0 = mvDisp[0] & 3
 w1 = 4 -w0
 w2 = mvDisp[1] & 3
 w3 = 4 -w2
 輝度残差補間部309221Dは、以下の式により水平方向および垂直方向の線形補間により、予測残差deltaを導出する。
 delta =   
 (w2*(w0 * refResSampleX[xR0, yR0] + w1 * refResSampleX[xR0+1, yR0] + 2)>>2)+
 w3*(w0 * refResSampleX[xR0, yR1] + w1 * refResSampleX[xR0+1, yR1] + 2)>>2)+2)>>2
 refResSample[]は、輝度残差取得部309212Dにより取得される残差である。ここで、xR0, xR1, yR0, yR1は、変位ベクトルmvDispの整数成分に基づいて導出される残差の座標である。
 輝度残差取得部309212Dは、残差格納部313から残差を参照する際に、以下の式により残差の値域の制限(クリップ)を行う。
 refResSampleX[x, y] = Clip3(lmin, lmax, refResSample[x, y])
 ここで、xmin, xmaxは以下の式を用いる。
 lmin = -(1<<(bitDepthY -KY))
 lmax = 1<<(bitDepthY -KY)
 ここでKYは定数であり1,2,3,4のいずれかであるとする。
 輝度残差加算部309222Dは、残差予測前の予測画像predSampleLX[]に、予測残差deltaを加算し、残差予測後の予測画像predSampleLX´[]を取得する。
  predSampleLX´[x, y] = predSampleLX[x, y] + delta
 色差成分では、輝度とは異なり、残差予測を行わない。
 図72は、残差予測部3092Dの動作を説明するフローチャートである。
 S4201 変位導出部309211Dにおいて変位ベクトルmvDispを導出する。
 S4202 予測ブロックが輝度成分であるか、色差成分であるかを判定し、輝度成分であれば、S4203に遷移し残差予測を行う。色差成分であれば、残差予測を行わずS4207に遷移。
 S4203 予測ブロック内の画素に対するループの開始。予測ブロックがnW×nHのブロックで有れば、nW×nH回だけループする。
 S4204 残差格納部313から輝度の残差を参照し予測残差を導出する。
 S4205 輝度残差加算部309222Cにおいて、S4103で導出した予測残差を予測画像に加算する。
 S4206 予測ブロック内の画素に対するループの終了
 S4207 残差予測部3092Dの動作を終了
 以上の構成の残差予測部3092Dによれば、予測残差の導出において、色差成分の残差を格納するメモリサイズを省略する効果を奏する。
  (照度補償)
 照度補償部3093は、照度補償フラグic_enable_flagが1の場合に、入力された動き変位補償画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_enable_flagが0の場合には、入力された動き変位補償画像predSamplesLXをそのまま出力する。照度補償部3093に入力される動き変位補償画像predSamplesLXは、残差予測がオフの場合には、動き変位補償部3091の出力画像であり、残差予測がオンの場合には、残差予測部3092の出力画像である。照度補償は、予測画像生成の対象となる対象ブロックに隣接する隣接領域の動き変位画像の画素値と、隣接領域の復号画像の変化が、対象ブロック内の画素値と、対象ブロックの原画との変化に類似しているとの仮定に基づいて行われる。
 照度補償部3093は、図示しない照度パラメータ推定部30931と、照度補償フィルタ部30932から構成される。
 照度パラメータ推定部30931は、対象ブロック(対象予測ユニット)の画素を、参照ブロックの画素から推定するための推定パラメータを求める。図13は、照度補償を説明するための図である。図13では、対象ブロックの周囲の画素Lと、対象ブロックから変位ベクトルだけずれた位置にある、参照レイヤ画像上の参照ブロックの周囲の画素Cの位置を示している。
 照度パラメータ推定部30931は、上記対象ブロックの周囲の画素L(L0~LN-1)と上記参照ブロックの周囲の画素C(C0~CN-1)から、推定パラメータ(照度変化パラメータ)aとbを最小2乗法を用いて以下の式より求める。
 LL = ΣLi × Li
 LC = ΣLi × Ci
 L = ΣLi
 C = ΣCi
 a = (N*LC - L*C)  / (N*CC - C*C)
 b = (LL*C - LC*L) / (N*CC - C*C)
 ここでΣはiに対して和をとる関数。iは0~N-1までの変数である。
 以上は、推定パラメータが小数の場合であるため上記式も小数演算で行う必要がある。なお、装置としては、推定パラメータおよびパラメータの導出は整数であることが望ましい。
 以下、推定パラメータが整数の場合を説明する。照度補償部3093は、以下の式により推定パラメータ(照度変化パラメータ)icaidx、ickidx、icbidxを導出する。
 k3 = Max( 0, bitDepth + Log2( nCbW >> nSidx ) - 14 )
 k2 = Log2( (2*(nCbW >> nSidx)) >> k3 )
 a1     = ( LC << k2 ) - L*C
 a2     = ( LL << k2 ) - L*L
 k1     = Max( 0, Log2( abs( a2 ) ) - 5 ) - Max( 0, Log2( abs( a1 ) ) - 14 ) + 2
 a1s    = a1 >> Max(0, Log2( abs( a1 ) ) - 14 ) a2s = abs( a2 >> Max(0, Log2( abs( a2 ) ) - 5 ) ) 
 a3      = a2s < 1 ? 0 : Clip3( -215, 215-1, (a1s*icDivCoeff + ( 1 << ( k1 - 1 ) ) ) >> k1 )
  icaidx  = a3 >> Max( 0, Log2( abs( a3 ) ) -6 ) 
  ickidx  = 13 - Max( 0, Log2( abs(icaidx)) - 6)
 icbidx    = ( L - ( ( icaidx*C ) >> k1 ) + ( 1 << ( k2 - 1 ) ) ) >> k2
 ここで、bitDepthは、画素のビット幅(通常8~12)、nCbWは、対象ブロックの幅、Max(x,y)はxとyの最大値を求める関数、Log2(x)はxの2の対数を求める関数、abs(x)はxの絶対値を求める関数である。また、icDivCoeffは、a2sを入力として所定の定数を導出する図42に示すテーブルである。
 照度補償部3093の備える照度補償フィルタ30932は、照度パラメータ推定部30931が導出した推定パラメータを用いて、対象画素から、照度変化を補償した画素を導出する。例えば、推定パラメータが小数a、bの場合には次の式により求める。
  predSamples[ x ][ y ] = a * predSamples[ x ][y ] + b
 ここで、predSamplesは対象ブロック中の座標(x, y)の画素である。
また、推定パラメータが上述の整数icaidx、ickidx、icbidxの場合には次の式により求める。
 predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( ( ( (predSamplesL0[ x ][ y ] + offset1 ) >> shift1) * ica0) >> ick0) + icb0 )
 以下、照度補償部3093の変形例である照度補償部3093Bを説明する。
 図73は、照度補償部3093Bの構成を示すブロック図である。照度補償部3093は、照度補償部3093Bは、照度パラメータ推定部30931Bと、照度補償フィルタ部30932Bから構成される。照度パラメータ推定部30931Bは、積算シフト値導出部309311B、積算値導出部309312B、加算値導出部309313B、第1パラメータ導出部309314B、第2パラメータ導出部309315B、パラメータa導出部309316B、パラメータb導出部309317Bから構成される。
 照度パラメータ推定部30931Bは、図13に示す参照レイヤ画像上の参照ブロックの周囲の画素Cを参照画像の画素値x[]、対象ブロックの周囲の画素Lを復号画像の画素値y[]とし、これら参照画像の画素値x[]と復号画像の画素値y[]に基づいて、復号画像の画素値y[]を参照画像の画素値xから線形予測する場合のパラメータであるパラメータa、パラメータbを導出する。
 積算シフト値導出部309311Bは、積算シフト値precShiftを、以下の式(B-1)のように、画素のビット深度bitDepthが所定の定数(ここでは12)を超える場合には、その超える値だけの積算シフト値precShiftを導出する。超えない場合には積算シフト値precShiftは0とする。
 precShift = Max(0, bitDepth - 12)    式(B-1)
 導出された積算シフト値precShiftは、積算値導出部309312B、第1パラメータ導出部309314B、第2パラメータ導出部309315Bに出力される。
 加算値導出部309313Bは、復号画像の画素値yの和Yと参照画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
 積算値導出部309312Bは復号画像の画素値yと参照画像の画素値xの積の和XYと、参照画像の画素値の2乗の和XXを、以下の式(B-4)~(B-5)により導出する。この時、積算値導出部309312Bは、復号画像の画素値yと参照画像の画素値xの積の和XYの導出時と、参照画像の画素値xの2乗の和XXの導出時には、積算シフト値precShiftだけ右シフトしてから加算する。以下の和の前にX、Y、XY、XXは0に初期化しておく。
  X = Σx[i]                 式(B-2)
  Y = Σy[i]                 式(B-3)
  XX += Σ(x[i] * x[i])>>precShift     式(B-4)
  XY += Σ(y[i] * y[i])>>precShift     式(B-5)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。y[i]は、復号画像のインデックスiにおける画素値。x[i]は、参照画像のインデックスiにおける画素値。カウントシフト値iCountShiftは、参照領域のサイズ(画素数)の2の対数である。
 iCountShift = log2 (参照領域の画素数)      式(B-6)
 なお、従来は、以下の演算により積算値XX、XYを導出していた。
  XX += Σ(x[i] * x[i])     式(B-4´)
  XY += Σ(x[i] * y[i])     式(B-5´)
 この場合、演算に必要なビット数は、画素のビット深度bitDepthの2倍に、参照領域のサイズの2の対数(カウントシフトiCountShiftの最大値)となる。ブロックサイズが最大値が64である場合、参照領域のサイズの最大値は128である。128の2の対数よりカウントシフトiCountShiftの最大値は7になる。従って必要なビット数は、bitDepth * 2 + 7になる。ここで、このビット数が32ビットで計算できる範囲を考慮すると、以下の式が得られる。
 bitDepth * 2 + 7 <= 32
 この式を解くとbitDepth <= 12が得られる。すなわち、bitDepthが12以下であれば32ビットを超えない。逆にbitDepthが12を超えると32ビットの範囲を超える。式(B-1)は、この結果から得られたものであり、bitDepthが12を超える場合には、超えた分に相当するbitDepth - 12を積算シフト値precShiftとして導出する。さらに、式(B-4)、式(B-5)では予め積算シフト値precShiftだけシフトしてから加算することにより、32ビットの範囲を超えることを防ぐ効果を奏する。
 第1パラメータ導出部309314Bは、復号画像の画素値yと参照画像の画素値xの積の和XYと、復号画像の画素値の和Yと参照画像の画素値の和Xの積の差から第1パラメータa1を以下の式により導出する。
  a1 = ( XY << iCountShift ) - (Y * X) >> precShift;     式(B-7)
 式(B-7)に示すように、XYは、カウントシフト値iCountShiftだけ左シフト、YとXの積は積算シフト値precShiftだけ右シフトしてから差を算出する。
 第2パラメータ導出部309315Bは、参照画像の画素値の2乗の和XXと、参照画像の画素値の和Xの2乗の差から第2パラメータa2を以下の式により導出する。
  a2 = ( XX << iCountShift ) - (X * X) >> precShift;     式(B-8)
 式(B-8)に示すように、XXは、カウントシフト値iCountShiftだけ左シフト、XとXの積は積算シフト値precShiftだけ右シフトしてから差を算出する。
 第1パラメータ導出部309314Bと第2パラメータ導出部309315Bはさらには、カウントシフト値iCountShiftとビット深度bitDepthの2倍の和が所定の値(ここでは27)以上の場合には、所定の固定パラメータシフト値(ここでは4)だけパラメータa1、パラメータa2を右シフトする。すなわち、以下のステップを実行する。
 if (iCountShift + bitDepth * 2 >= 27)     式(B-9)
 {
  a1 >>= 4     式(B-10)
  a2 >>= 4     式(B-11)
 }
 導出された第1パラメータa1と第2パラメータa2は、パラメータa導出部309316Bに出力される。
 図74は、パラメータa導出部309316Bの構成を示すブロック図である。パラメータa導出部309316Bは、第1パラメータクリップ部3093161B、第1パラメータシフト部3093162B、第2パラメータシフト部3093163B、テーブルベースパラメータa導出部3093164Bから構成される。
 第1パラメータクリップ部3093161Bは、第1パラメータa1を第2パラメータa2の大きさに応じて制限する。例えば以下の式のように、a1を0以上、a2の2倍以下にクリップする。
 a1 = Clip3(0, 2*a2, a1)     式(B-12)
 第1パラメータクリップ部3093161Bにより、a1 / a2の値は、0から2の間にクリップされる。従って、パラメータaの値であるa1 / a2 << iShiftの値も、0から2<<iShiftにクリップされる。すなわち、iShift=6の場合、パラメータaは0~128となり、8ビット非負整数の範囲に入る。
 第1パラメータシフト部3093162Bは、第1パラメータa1の大きさに応じて、以下の式により第1正規化シフト値iScaleShiftA1を導出する。導出された第1正規化シフト値iScaleShiftA1は、テーブルベースパラメータa導出部3093164Bに出力される。
 iScaleShiftA1 = Max(0, GetMSB( abs( a1 ) ) - 15)    式(B-13)
第2パラメータシフト部3093163Bは、第2パラメータa2の大きさに応じて、以下の式により第2正規化シフト値iScaleShiftA2を導出する。導出された第2正規化シフト値iScaleShiftA2は、テーブルベースパラメータa導出部3093164Bに出力される。
 iScaleShiftA2 = Max(0, GetMSB( abs( a2 ) ) - 6)     式(B-14)
 第1パラメータシフト部3093162B、第2パラメータシフト部3093163Bは、第1パラメータa1を第1正規化シフト値iScaleShiftA1、第2パラメータa2を第2正規化シフト値iScaleShiftA2により右シフトし、正規化第1パラメータa1sと正規化第2パラメータa2sを導出する。
 a1s = a1 >> iScaleShiftA1     式(B-15)
 a2s = a2 >> iScaleShiftA2     式(B-16)
 テーブルベースパラメータa導出部3093164Bは、第1正規化シフト値iScaleShiftA1と第2正規化シフト値iScaleShiftA2の差に基づいて、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = iScaleShiftA2 - iScaleShiftA1 + 15 - iShift     式(B-18)
 テーブルベースパラメータa導出部3093164Bは、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1sとの積をとりテーブルシフト値(ScaleShiftA)で右シフトすることにより、以下の式によりパラメータaを導出する。
 a = (a1s * invTable[a2s]) >> (ScaleShiftA)      式(B-19)
なお、テーブルシフト値iScaleShiftAが負の場合には、テーブルシフト値の絶対値だけ左シフトすることにより、以下の式で導出する。
 a = (a1s * invTable[a2s]) << (-ScaleShiftA)      式(B-19´)
 図84は、本実施形態で用いる逆数テーブル値invTable[]である。既に説明したように図84の逆数invTable[x]は、インデックスxが0の場合に0となり、インデックスがxが0以外の場合には、所定の定数(ここでは2の15乗)Mをxで割って整数化した値から導出される。
 パラメータaの値は、第1パラメータa1と第2パラメータa2の比(a1/a2をiShiftだけ左シフトした値に相当する)。
 なお、第1パラメータクリップ部3093161Bの代わりに、パラメータaクリップ部を設け、以下の演算によりパラメータaの範囲を、8ビット非負変数となる、0以上、255以下にクリップしても良い。
 a = Clip3(0, 255, a)     式(B-12´)
 なお、クリップの最大値は255以下、クリップの最小値は0以上であれば8ビット非負変数となるため、他の値でも良い。例えば、
 a = Clip3(64, 128, a)     式(B-12´´)
や、
 a = Clip3(0, 128, a)     式(B-12´´´)
 などでも良い。但し、クリップの最大値は、1<<iShift以上とする。
 導出されたパラメータaは、パラメータb導出部309317Bと照度補償フィルタ部30932Bに出力される。
 パラメータb導出部309317Bは、復号画像の画素値の和Yから、参照画像の画素値の和Xにパラメータaをかけて固定シフト値iShiftだけ右シフトした値を引いた値を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - ( ( a * X ) >> iShift ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(B-20)
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。
 照度補償フィルタ部30932Bは、照度パラメータ推定部30931Bが導出した推定パラメータを用いて、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。例えば、パラメータbを式(B-20)により導出する場合には以下の式を用いる。
 predSamples´[x][y] = ((a * predSamples[x][y]) >> iShift)+b      式(B-21)
 なお、パラメータb導出部309317Bの代わりに、パラメータb導出部309317Bの別の構成パラメータb導出部309317B´を用いても良い。この場合、復号画像の画素値の和Yを固定シフト値iShiftだけ左シフトした値から、参照画像の画素値の和Xにパラメータaをかけた値を引いた値を、参照画素の数で割ることにより、以下の式によりパラメータbを導出しても良い。
 b = ( (Y << iShift) - ( ( a * X ) ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(B-20´)
 なお、画素のビット深度が8ビットの場合、画素値xの範囲は8ビット非負変数、パラメータaの範囲も8ビット非負変数の範囲となる、従ってソフトウェアでは最小のビット数である8ビット非負変数(C言語ではunsigned char)同士の演算で演算可能である。8ビット非負変数は、例えば128ビットレジスタを用いるSIMD演算において、16個同時にレジスタに格納し演算することができる。すなわち、16画素同時に処理することができるため、高速化の効果を奏する。
 パラメータb導出部309317Bの代わりに、パラメータb導出部309317Bの別の構成であるパラメータb導出部309317B´を用いる場合には、照度補償フィルタ部30932Bの代わりに、照度補償フィルタ部30932Bの別の構成である照度補償フィルタ部30932B´を用いる。照度補償フィルタ部30932Bの別の構成である照度補償フィルタ部30932B´は、照度補償前の予測画像predSamples []から、以下の式により、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = ((a * predSamples[x][y] + b) >> iShift)      式(B-21´)
 以下、上記の構成の特徴をまとめる。
 上記照度パラメータ推定部30931Bは、図84に示すように、インデックスxが0の場合に0となるように逆数テーブルinvTable[x]を定義し、式(B-19)、式(B-19´)に示すように、このように定義した、逆数テーブルinvTable[x]を、参照画像の画素値の2乗を上記積算シフト値だけ右シフトした値の和XXと、参照画像の画素値の和Xの2乗を上記積算シフト値だけ右シフトした値から導出される第2パラメータ(正規化第2パラメータ)で引いた値に基づいてパラメータaを導出することにより、正規化第2パラメータ(正規化第2パラメータ)が0であるか否かに応じて、演算方法を変更しなくても適当なパラメータaを得ることができるため、処理量を削減する効果が得られる。なお、インデックスxが0以外の場合には、逆数テーブルinvTable[x]は、所定の値をxで除算した値を整数化した値を用いることが適当である。
 上記照度パラメータ推定部30931Bは、(B-1)、(B-4)、(B-5)、(B-7)、(B-8)に示すように、画素ビット深度に応じて積算シフト値precShiftを導出し、復号画像の画素値と参照画像の画素値の積を上記積算シフト値precShiftだけ右シフトした値の和XYと、参照画像の画素値の和Xと復号画像の画素値の和Yの積を上記積算シフト値だけ右シフトした値から導出される第1パラメータa1と、参照画像の画素値の2乗を上記積算シフト値だけ右シフトした値の和XXと、参照画像の画素値の和Xの2乗を上記積算シフト値だけ右シフトした値から導出される第2パラメータa2から、パラメータaを導出する。照度パラメータ推定部30931Bでは、画素の積の和であるXYおよびXXを導出する場合において、画素の積に関する和をとる前に、画素ビット深度に応じて定まる積算シフト値で、画素の積を右シフトすることにより、所定の範囲、例えば32ビットの範囲で第1パラメータと第2パラメータを導出することが可能であるため、処理が容易になる効果を奏する。
 上記照度パラメータ推定部30931Bは、(B-9)、(B-10)、(B-11)に示すように、第1パラメータ導出部309314Bと第2パラメータ導出部309315Bにおいて、画素ビット深度の2倍と、画素数の2の対数に対応する数との和が、所定の定数Nより大きい場合に、第1パラメータa1と第2パラメータa2を所定の固定パラメータシフト値で右シフトすることで、正規化する。照度パラメータ推定部30931Bでは、第1パラメータa1と第2パラメータa2をビット数N以下で表現するため、例えば32ビット精度で演算する場合に、2の32-N乗未満の数をかけた場合にも、32ビットの範囲を超えないことを保障することができる。また、固定シフト値の右シフトであるのでシフト演算が容易になるという効果を奏する。
 上記の照度補償フィルタ部30932Bは、式(B-21)、式(B-21´)に示すように、固定値である所定の固定シフト定数iShiftを用いて右シフトするため、変数を用いて右シフトする場合に比べて、SIMD演算などによる処理が容易になる効果を奏する。
 上記の照度補償フィルタ部30932B´は、式(B-21´)に示すように、傾き成分であるパラメータaと画素値predSamples[x][y]との積に対する、オフセット成分であるパラメータbの加算を固定シフト定数iShiftによる右シフトの前に行うことにより、オフセット成分の加算を右シフトの後に行うよりも高い精度で演算でき性能が向上する効果を奏する。この場合、パラメータb導出部309317B´において、式(B-20´)に示すように、参照画像の画素値の和Yを固定シフト値iShiftだけ左シフトした値から、パラメータaと復号画像の画素値の和Xの積を減じた値に基づいて、パラメータbを導出することが好適である。
 以下、照度補償部3093の変形例である照度補償部3093Cを説明する。変形例の照度補償部3093Cは、照度パラメータ推定部30931Cと、照度補償フィルタ部30932Bから構成される。照度補償フィルタ部30932Bは既に説明したので説明を省略する。照度パラメータ推定部30931Cは、積算シフト値導出部309311B、積算値導出部309312B、加算値導出部309313B、第1パラメータ導出部309314C、第2パラメータ導出部309315B、パラメータa導出部309316B、パラメータb導出部309317Bから構成される。第1パラメータ導出部309314C以外の構成要素は既に説明した通りであるので説明を省略する。
 図75は、パラメータa導出部309316Cの構成を示すブロック図である。パラメータa導出部309316Cは、第1パラメータクリップ部3093161C、共通シフト部3093162C、テーブルベースパラメータa導出部3093164Cから構成される。
 第1パラメータクリップ部3093161Cは、第1パラメータa1を第2パラメータa2の大きさに応じて制限する。例えば以下の式のように、a1をa2以上、a2の18/16倍以下にクリップする。
 a1 = Clip3(a2, a2*18/16, a1)     式(B-12)
 共通シフト部3093162Cは、第2パラメータa2の大きさに応じて、以下の式により共通正規化シフト値iScaleShiftA2を導出する。
 iScaleShiftA2 = Max(0, GetMSB( abs( a2 ) ) - 6)     式(B-14´)
 共通シフト部3093162Cは、第1パラメータa1と第2パラメータa2を同じ、共通正規化シフト値iScaleShiftA2により右シフトし、正規化第1パラメータa1sと正規化第2パラメータa2sを導出する。
 a1s = a1 >> iScaleShiftA2     式(B-15´)
 a2s = a2 >> iScaleShiftA2     式(B-16)
 ここで、第1パラメータa1の正規化においては以下の式のように予め固定値であるa1シフト値ShiftA1(ここでは4)だけ左シフトしても良い。
 a1s = (a1<< ShiftA1) >> iScaleShiftA2     式(B-14´)
 テーブルベースパラメータa導出部3093164Cは、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1sとの積をとりテーブルシフト値(ここでは15-iShift)で右シフトすることにより、以下の式によりパラメータaを導出する。
 a = (a1s * invTable[a2s]) >> (15-iShift)      式(B-19´´)
 ここでiShiftは固定シフト値(ここでは7)とする。aの値は、第1パラメータa1と第2パラメータa2の比(a1/a2をiShiftだけ左シフトした値に相当する)。
 なお、式(B-14´)のように予め固定値ShiftA1だけ第1パラメータa1を左シフトしている場合には、式(B-19´´)の代わりに以下の式を用いる。
 a = (a1s * invTable[a2s]) >> (15+ShiftA1-iShift)      式(B-19´´)
 以下、上記の構成の特徴をまとめる。
 上記照度パラメータ推定部30931Cの構成では、(B-14´)、(B-15´)、(B-19´´)に示すように、第2パラメータa2の大きさに応じて定まる共通正規化シフト値iScaleShiftA2を導出し、第1パラメータa1と第2パラメータa2を共通正規化シフト値iScaleShiftA2で右シフトすることにより正規化第1パラメータa1sと正規化第2パラメータa2sを導出する。また、正規化第1パラメータa1sもしくは正規化第1パラメータa1sに所定の定数をかけた値と、正規化第2パラメータa2sからテーブルinvTable[]を参照することで定まるテーブル値invTable[a2s]との積を固定のシフト値だけ右シフトすることにより、パラメータaを導出することを特徴とする。上記の構成では、共通シフト部3093162Cにおいて、第1パラメータ、第2パラメータの両者を同じ正規化シフト値を用いて、値を正規化することため、第1パラメータシフト部3093162B、第2パラメータシフト部3093163Bで説明した第1パラメータと第2パラメータで異なる正規化パラメータを用いる場合に比べ処理が容易になるという効果を奏する。また、第1パラメータと第2パラメータで同じ正規化パラメータを用いることにより、テーブル値をかけた後のテーブルシフト値を固定値とすることができ、テーブルベースパラメータa導出部3093164Cでパラメータaを導出する際の右シフト処理が容易になるという効果を奏する。
 以下、照度補償部3093の変形例である照度補償部3093Dを説明する。変形例の照度補償部3093Dは、照度パラメータ推定部30931Dと、照度補償フィルタ部30932Bから構成される。照度補償フィルタ部30932Bは既に説明したので説明を省略する。
照度パラメータ推定部30931Dは、積算シフト値導出部309311B、積算値導出部309312B、加算値導出部309313B、第1パラメータ導出部309314D、第2パラメータ導出部309315B、パラメータa導出部309316B、パラメータb導出部309317Bから構成される。第1パラメータ導出部309314D以外の構成要素は既に説明した通りであるので説明を省略する。
 図76は、パラメータa導出部309316Dの構成を示すブロック図である。パラメータa導出部309316Dはパラメータ比較部3093164Dを含んで構成される。パラメータ比較部3093164Dは、第1パラメータa1に所定の値を乗じた値と第2パラメータa2に所定の値を乗じた値を乗じた値の比較によりパラメータaの値を導出する。例えば、以下の式により、
 a = (16*a1 >= 17*a2) ? 17 : 16;      式(B-19´´´)
 なお、上記で(x) ? y : zは、式xが真の場合には y、偽の場合にはzを導出する関数である。
 なお、パラメータ比較部3093164Dは、第1パラメータa1に所定の値を乗じた値と第2パラメータa2に所定の値を乗じた値を乗じた値の比較は複数回行っても良い。例えば、以下の式でパラメータaを導出しても良い。
 a = (16*a1 >= 18*a2) ? 18 : (16*a1 >= 17*a2) ? 17 : 16     式(B-19´´´)
 上記照度パラメータ推定部30931Dの構成では、復号画像の画素値と参照画像の画素値の積の和XYと、復号画像の画素値の和Yと参照画像の画素値の和Xの積から導出される第1パラメータa1から導出される値と、参照画像の画素値の2乗の和XXと、参照画像の画素値の和Xの2乗から導出される第2パラメータa2から導出される値との比較により、パラメータaを導出する。パラメータa導出部309316Dでは、第1パラメータによる第2パラメータの商に相当するパラメータaを導出する際に、テーブルベースパラメータa導出部3093164B、テーブルベースパラメータa導出部3093164Cで説明した式(B-19)、式(B-19´)、式(B-19´´)にあるような第2パラメータの逆数をテーブルinvTable[]を用いて導出する必要が無いため処理が容易になる効果を奏する。また、第2パラメータa2の逆数を所定のサイズのテーブルを用いて導出するためには、通常は、第2パラメータシフト部3093163B、共通シフト部3093162Cで説明したように、式(B-16)に示すような第2パラメータを所定の範囲に抑えるための正規化が必要になるが、上記比較による方法では正規化処理が不要となる効果を奏する。また、第1パラメータと第2パラメータの逆数の積が所定の値を超えないためには、通常は、第1パラメータシフト部3093162B、共通シフト部3093162Cで説明したように、式(B-15)、式(B-15´)に示すような第1パラメータの正規化処理も必要であるが、上記比較による方法では不要になる効果を奏する。
 (照度補償部3093E)
 以下、照度補償部3093の変形例である照度補償部3093Eを説明する。
 図77は、照度補償部3093Eの構成を示すブロック図である。照度補償部3093は、照度パラメータ推定部30931Eと、照度補償フィルタ部30932Bから構成される。照度パラメータ推定部30931Eは、積算シフト値導出部309311B、積算値導出部309312B、加算値導出部309313B、第1パラメータ導出部309314B、第2パラメータ導出部309315B、パラメータa導出部309316B、パラメータb導出部309317B、正則化項加算部309318Eから構成される。
 正則化項加算部309318E以外の構成要素は既に説明した通りであるので説明を省略する。パラメータa導出部309316Bの代わりに、パラメータa導出部309316C、パラメータa導出部309316Dを用いても良い。なお、パラメータa、パラメータbの導出方法は、上記説明に限定されない。
 図78は、正則化項加算部309318Eの構成を示すブロック図である。正則化項加算部309318Eは、正則化項導出部3093180E、第1パラメータ正則化項加算部3093181E、第2パラメータ正則化項加算部3093182Eから構成される。
 正則化項導出部3093180Eは、正則化項acostを導出する。
 acost = XX >> ashift     式(E-1)
 なお、ashiftは例えば発明者らの実験では4~8の固定値が好適であることが確認されている。
 第1パラメータ正則化項加算部3093181Eは、第1パラメータを導出に用いるパラメータ(例えばXY)に正則化項を加算する。
 XY = XY + acost     式(E-2)
 なお、この加算は、
 第2パラメータ正則化項加算部3093182Eは、第2パラメータを導出に用いるパラメータ(例えばXX)に正則化項を加算する。
 XX = XX + acost     式(E-3)
 なお、正則化項の加算は、第1パラメータ導出部309314Bおよび、第2パラメータ導出部309315Bで行っても良い。この場合、第1パラメータ、第2パラメータは、式(B-7)式(B-8)の代わりに以下の式により導出される。
  a1 = ( (XY + acost) << iCountShift ) - (Y * X) >> precShift;     式(E-2´)
  a2 = ( (XX + acost) << iCountShift ) - (X * X) >> precShift;     式(E-3´)
 上記照度パラメータ推定部30931Eの構成では、復号画像の画素値yと参照画像の画素値xの積の和XYと、復号画像の画素値の和Yと参照画像の画素値の和Xの積の差から導出される第1パラメータa1を導出する際に、正則化項acostを加算し、さらに、参照画像の画素値の2乗の和XXと、参照画像の画素値の和Xの2乗の差から導出される第2パラメータa2を導出する際に同じ正則化項acostを加算する。正則化項が加算された第1パラメータa1と第2パラメータa2からパラメータaを導出する。これにより、線形予測の傾き成分に相当するパラメータaが実質的に1に近くなる(実際には固定シフト値iShiftを用いて、1<<iShiftに近くなる)ことにより、外れ値などがある場合において、推定されるパラメータが頑健になる。推定されるパラメータが頑健になることによって、照度補償の推定精度が向上し、符号化効率が向上する効果を奏する。
 (正則化項の説明)
 以下、正則化項の数学的意味を補足する。入力データ列(xi,yi)が与えられた場合に、xiからyiを以下の式により1次予測することを考える。
 yi = a * xi + b     式(E-4)
 この時、以下の予測誤差E(目的関数E)を最小化するパラメータa、パラメータbを最小2乗法により求めることが一般に行われる。
 E = Σ(yi - a*xi - b)^2     式(E-5)
 上記式を、パラメータa、パラメータbに関して各々偏微分を行って得られる式を0と置くと、予測誤差Eを最小化するパラメータa、パラメータbに関する式である正規方程式が求められる。正規方程式を解くと、パラメータaを導出する以下の式が得られる。
 パラメータa = (Σxiyi -ΣxiΣyi) / (Σxixi -ΣxiΣxi)      式(E-6)
 一般に、入力データ列(xi,yi)にばらつきが有る場合には、導出対象となるパラメータa、パラメータbが不要に大きくなることを防ぐような正則化項を導入することが行われる。この場合、予測誤差Eの代わりに、誤差E´を最小化する。
 E = Σ(yi - a*xi - b)^2 + λ1*a^2+ λ2*a^2     式(E-5´)
 この場合、パラメータaは以下の式により求められる。
 パラメータa = (Σxiyi -ΣxiΣyi) / (Σxixi -ΣxiΣxi+λ1)      式(E-6´´)
 ところで、照度予測の場合には、xi、yiはともに同じオブジェクトの画素値であることから、パラメータaは1に近いことが予想される。従って、単純にパラメータaの大きさを0に近づけるような正則化項(λ1*a^2)を用いる予測誤差E´の代わりに、パラメータaの大きさを1に近づけるような正則化項(λ1*(a-1)^2)を用いる以下の予測誤差E´´を最小化することを考える。
 E = Σ(yi - a*xi - b)^2 + λ1*(a-1)^2+ λ2*b^2     式(E-5´´)
 上記式を、パラメータa、パラメータbに関して各々偏微分を行って得られる式を0と置くと、正規方程式が求められる。正規方程式を解くと、パラメータaを導出する以下の式が得られる。
 パラメータa = (Σxiyi -ΣxiΣyi+λ1) / (Σxixi -ΣxiΣxi+λ1)      式(E-6´´)
 上記式の右辺において、分子のΣxiyi -ΣxiΣyiが第1パラメータ、分母のΣxixi -ΣxiΣxiが第2パラメータに相当する。従って、第1パラメータ、第2パラメータに同じ正則化項λ1を加えることにより、パラメータaを1に近づける効果が得られる。なお、上記正則化項の効果は、a-1の2乗に比例することから、aが1から大きく遠ざかるほど強くなり、aが1に近い場合には殆ど正則化項の影響はなくなる。
 (照度補償部3093F)
 以下、照度補償部3093の変形例である照度補償部3093Fを説明する。
 図79は、照度補償部3093Fの構成を示すブロック図である。照度補償部3093は、照度パラメータ推定部30931Eと、照度補償フィルタ部30932Fから構成される。照度パラメータ推定部30931Eは既に説明したので説明を省略する。また、照度パラメータ推定部30931Eに限定されず、他の推定方法を用いた照度パラメータ推定部でも良い。
 照度補償フィルタ部30932Fは、照度パラメータ推定部30931Eが導出した推定パラメータを用いて、入力された予測画像がL0リストの参照リストを用いて導出された動き補償画像である場合に限定して照度補償を行う。具体的には、predFlagL0とpredFlagL1の値に応じて、以下の動作を行う。
 predFlagL0が1、predFlagL1が0の場合には、以下の式により、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = ((a * predSamples[x][y]) >> iShift)+b
 predFlagL0が0、predFlagL1が1の場合には、照度補償は適用しない。すなわち、以下の式のように照度補償フィルタ部30932Fの入力となる予測画像predSamples []と出力の予測画像predSamples´[]は一致する。
 predSamples´[x][y] = predSamples[x][y]     式(B-21)
 predFlagL0が1、predFlagL1が1の場合には、以下の式により、L0リストの参照ピクチャを予測画像する場合には、以下の式により、L0の照度補償前の予測画像predSamples L0 []から、L0の照度補償後の予測画像predSamples L0´[]を導出する。
 predSamplesL0´[x][y] = ((a * predSamples[x][y]) >> iShift)+b
 後述の重み予測部3094では、照度予測が適用されたL0の予測画像と、predSamplesL0´[x][y]と、照度予測が適用されないL1の予測画像predSamplesL1[x][y]とを用いて、例えば、以下の式により、予測画像が生成される。
 predSamples´[x][y] = (predSamplesL0´[x][y] + predSamplesL1[x][y] + offset2)>> shift2)
 ここでshift2、offset2は各々、shift2=15 - bitDepth、offset2=1<<(shift2-1)により導出する。
 照度補償部3093Fでは、照度予測を用いる場合を、L0リストを用いた参照ピクチャから得られるが用いられる動き補償画像に限定する(L0限定)のため処理量を低減する効果を奏する(効果F5b)。つまり、2つの参照画像に照度予測が行われるような処理量の大きい状況を避ける効果を奏する。単に双予測の場合に、照度補償を禁止する場合と異なり、双予測の場合にも、L0リストを用いた参照ピクチャに対して照度補償が行われるため、限定による性能低下が小さいこと(効果F5c)が発明者の実験により得られている。
 なお、双予測の場合に照度補償を禁止する構成の場合(照度補償部3093F´)は、以下の処理を行う。
 predFlagL0が1、predFlagL1が0の場合には、以下の式により、照度補償前の予測画像predSamples[]から、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = ((a * predSamples[x][y]) >> iShift)+b
 なお、L0の予測画像predSamplesL0[x][y]であることを明示して、以下のように表現も可能である。
 predSamplesL0´[x][y] = (a * predSamples L0 [x][y] >> iShift)+b
 predFlagL0が0、predFlagL1が1の場合には、以下の式により、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = ((a * predSamples[x][y]) >> iShift)+b
 なお、L1の予測画像predSamplesL1[x][y]であることを明示して、以下のように表現も可能である。
 predSamplesL1´[x][y] = (a * predSamples L1 [x][y] >> iShift)+b
 predFlagL0が1、predFlagL1が1の場合には、後述の重み予測部3094において、照度予測が適用されないL0の予測画像predSamplesL0[x][y]と、照度予測が適用されないL1の予測画像predSamplesL1[x][y]とを用いて、例えば、以下の式により、予測画像が生成される。
 predSamples[x][y] = (predSamplesL0[x][y] + predSamplesL1[x][y] + offset2)>> shift2
 この場合は、双予測の場合には照度予測が行われないが、2つの参照画像に照度予測が行われるような処理量の大きい状況を避ける効果(効果F5b)を有する。
 (照度補償部3093G)
 以下、照度補償部3093の変形例である照度補償部3093Gを説明する。照度補償部3093Gは、照度補償部3093Fと同様、L0制限を行うが、照度補償の予測式がオフセット成分のみ(パラメータbのみ)である点が、照度補償部3093Fとは異なる。
 図83は、照度補償部3093Gの構成を示すブロック図である。照度補償部3093は、照度パラメータ推定部30931Gと、照度補償フィルタ部30932Gから構成される。照度パラメータ推定部30931Gは、加算値導出部309313B、パラメータb導出部309317Gから構成される。
 
 照度パラメータ推定部30931Gは、図13に示す参照レイヤ画像上の参照ブロックの周囲の画素Cを参照画像の画素値x[]、対象ブロックの周囲の画素Lを復号画像の画素値y[]とし、これら参照画像の画素値x[]と復号画像の画素値y[]に基づいて、復号画像の画素値y[]を参照画像の画素値xからオフセットを加算して予測する場合のパラメータであるパラメータbを導出する。
 加算値導出部309313Bは、復号画像の画素値の和Yと参照画像の画素値の和Xを、既に説明した式(B-2)式(B-3)により導出する。
 パラメータb導出部309317Gは、復号画像の画素値の和Yから、参照画像の画素値の和Xを引いた値を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - X ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。
 照度補償フィルタ部30932Gは、照度パラメータ推定部30931Gが導出した推定パラメータを用いて、入力された予測画像がL0リストの参照リストを用いて導出された動き補償画像である場合に限定して照度補償を行う。具体的には、predFlagL0とpredFlagL1の値に応じて、以下の動作を行う。
 predFlagL0が1、predFlagL1が0の場合には、以下の式により、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = predSamples[x][y]+b 
 predFlagL0が0、predFlagL1が1の場合には、照度補償は適用しない。すなわち、以下の式のように照度補償フィルタ部30932Gの入力となる予測画像predSamples []と出力の予測画像predSamples´[]は一致する。
 predSamples´[x][y] = predSamples[x][y]
 predFlagL0が1、predFlagL1が1の場合には、以下の式により、L0リストの参照ピクチャを予測画像する場合には、以下の式により、L0の照度補償前の予測画像predSamples L0 []から、L0の照度補償後の予測画像predSamples L0´[]を導出する。
 predSamplesL0´[x][y] = predSamples[x][y]+b
 後述の重み予測部3094では、照度予測が適用されたL0の予測画像と、predSamplesL0´[x][y]と、照度予測が適用されないL1の予測画像predSamplesL1[x][y]とを用いて、例えば、以下の式により、予測画像が生成される。
 predSamples´[x][y] = (predSamplesL0´[x][y] + predSamplesL1[x][y] + offset2)>> shift2     式(B-21BI)
 ここでshift2、offset2は各々、shift2=15 - bitDepth、offset2=1<<(shift2-1)により導出する。
 照度補償部3093Gでは、照度予測を用いる場合をL0リストを用いた参照ピクチャが用いられる動き補償画像に限定する(L0限定)のため処理量を低減する効果を奏する(効果F5b)。つまり、2つの参照画像に照度予測が行われるような処理量の大きい状況を避ける効果を奏する。単に双予測の場合に、照度補償を禁止する場合と異なり、双予測の場合にも、L0リストを用いた参照ピクチャに対して照度補償が行われるため、限定による性能低下が小さいこと(効果F5c)が発明者の実験により得られている。
 なお、双予測の場合に照度補償を禁止する構成の場合(照度補償部3093G´)は、以下の処理を行う。
 predFlagL0が1、predFlagL1が0の場合には、以下の式により、照度補償前の予測画像predSamples[]から、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = predSamples[x][y] +b
 なお、L0の予測画像predSamplesL0[x][y]であることを明示して、以下のように表現も可能である。
 predSamplesL0´[x][y] = predSamplesL0 [x][y]+b
 predFlagL0が0、predFlagL1が1の場合には、以下の式により、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = predSamples[x][y]+b
 なお、L1の予測画像predSamplesL1[x][y]であることを明示して、以下のように表現も可能である。
 predSamplesL1´[x][y] = predSamples L1 [x][y]+b
 predFlagL0が1、predFlagL1が1の場合には、後述の重み予測部3094において、照度予測が適用されないL0の予測画像predSamplesL0[x][y]と、照度予測が適用されないL1の予測画像predSamplesL1[x][y]とを用いて、例えば、以下の式により、予測画像が生成される。
 predSamples[x][y] = (predSamplesL0[x][y] + predSamplesL1[x][y] + offset2)>> shift2
 この場合は、双予測の場合には照度予測が行われないが、2つの参照画像に照度予測が行われるような処理量の大きい状況を避ける効果(効果F5c)を有する。
 (照度補償部3093H)
 以下、照度補償部3093の変形例である照度補償部3093Hを説明する。
 図85は、照度補償部3093Hの構成を示すブロック図である。照度補償部3093は、照度パラメータ推定部30931Hと、照度補償フィルタ部30932Bから構成される。照度パラメータ推定部30931Hは、加算値導出部309313H、第1パラメータ導出部309314H、第2パラメータ導出部309315H、パラメータa導出部309316H、パラメータb導出部309317H、正則化項加算部309318Hから構成される。
 照度パラメータ推定部30931Hは、図13に示す参照レイヤ画像上の参照ブロックの周囲の画素Cを参照画像の画素値x[]、対象ブロックの周囲の画素Lを復号画像の画素値y[]とし、これら参照画像の画素値x[]と復号画像の画素値y[]に基づいて、復号画像の画素値y[]を参照画像の画素値xから予測する場合のパラメータであるパラメータaとパラメータbを導出する。
 加算値導出部309313Hは、復号画像の画素値yの和Yと参照画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
  X = Σx[i]                 式(B-2)
  Y = Σy[i]                 式(B-3)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。y[i]は、復号画像のインデックスiにおける画素値であり、x[i]は、参照画像のインデックスiにおける画素値である。カウントシフト値iCountShiftは、参照領域のサイズ(画素数)の2の対数である。
 iCountShift = log2 (参照領域の画素数)      式(B-6)
 第1パラメータ導出部309314Hは、復号画像の画素値yの和Yから第1パラメータa1を以下の式により導出する。
  a1 = Y;     式(B-7´)
 第2パラメータ導出部309315Hは、参照画像の画素値xの和Xから第2パラメータa2を以下の式により導出する。
  a2 = X;     式(B-8´)
 導出された第1パラメータa1と第2パラメータa2は、パラメータa導出部309316Hに出力される。
 正則化加算部309318Hは、参照画像の画素値xの和Xから正則化項acostを導出する。
 acost = X >> ashift     式(E-1´)
 ここで、ashiftは所定の定数であり、右シフトにより正則化項acostの大きさを調整するために用いられる。
 なお、通常の画像では、参照画像の画素値xの和Xと復号画像の画素値yの和Yはほぼ等しいため、復号画像の画素値yの和Yから正則化項acostを導出しても良い。
 acost = Y >> ashift     式(E-1´´)
 正則化項加算部309318Eは、第1パラメータを導出に用いるパラメータ(例えばY)に正則化項を加算する。
 Y = Y + acost     式(H-2)
 なお、この加算は、
 正則化項加算部309318Eは、第2パラメータを導出に用いるパラメータ(例えばX)に正則化項を加算する。
 X = X + acost     式(H-3)
 なお、正則化項の加算は、第1パラメータ導出部309314Bおよび、第2パラメータ導出部309315Bで行っても良い。この場合、第1パラメータ、第2パラメータは、式(B-7´)式(B-8´)の代わりに以下の式により導出される。
  a1 = Y + acost    式(E-2´´)  a2 = X + acost    式(E-3´´)
 図86は、パラメータa導出部309316Hの構成を示すブロック図である。パラメータa導出部309316Hは、パラメータクリップ部3093161H、第2正規化シフト部3093163H、テーブルベースパラメータa導出部3093164Hから構成される。
 第2正規化シフト部3093163Hは、第2パラメータa2の大きさに応じて、以下の式により第2正規化シフト値iScaleShiftA2を導出する。導出された第2正規化シフト値iScaleShiftA2は、テーブルベースパラメータa導出部3093164Hに出力される。
 iScaleShiftA2 = Max(0, GetMSB( abs( a2 ) ) - 6)     式(B-14)
 第2正規化シフト部3093163Hは、第2パラメータa2を第2正規化シフト値iScaleShiftA2により右シフトし、正規化第2パラメータa2sを導出する。
 a2s = a2 >> iScaleShiftA2     式(B-16)
 テーブルベースパラメータa導出部3093164Hは、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = iScaleShiftA2 + 15 - iShift     式(B-18´)
 テーブルベースパラメータa導出部3093164Hは、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1との積をとりテーブルシフト値(ScaleShiftA)で右シフトすることにより、以下の式によりパラメータaを導出する。
 a = (a1 * invTable[a2s]) >> (ScaleShiftA)      式(B-19)
 図84は、本実施形態で用いる逆数テーブル値invTable[]である。既に説明したように図84の逆数invTable[x]は、インデックスxが0の場合に0となり、インデックスxが0以外の場合には、所定の定数M(ここでは2の15乗)をxで割って整数化した値から導出される。
 パラメータaの値は、第1パラメータa1と第2パラメータa2の比(a1/a2をiShiftだけ左シフトした値)に相当する。
 パラメータクリップ部3093161Hは、以下の演算によりパラメータaの範囲を、8ビット非負変数となる、0以上、255以下にクリップする。
 a = Clip3(0, 255, a)     式(B-12´)
 パラメータb導出部309317Hは、復号画像の画素値の和Yから、参照画像の画素値の和Xにパラメータaをかけて固定シフト値iShiftだけ右シフトした値を引いた値を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - ( ( a * X ) >> iShift ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(B-20)
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。固定シフト値としては4から7の値、例えば5を用いることが適当である。
 照度補償フィルタ部30932Bは、照度パラメータ推定部30931Bが導出した推定パラメータを用いて、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。例えば、パラメータbを式(B-20)により導出する場合には以下の式を用いる。
 predSamples´[x][y] = ((a * predSamples[x][y]) >> iShift)+b      式(B-21)
 上記照度パラメータ推定部30931Hの構成では、同じ正則化項を第1パラメータa1と第2パラメータa2に加算してから、第1パラメータa1と第2パラメータa2の比に相当する値のパラメータaを算出することによって、外れ値などがある場合において、推定されるパラメータが頑健になり、符号化効率が向上する効果を奏する。なお、正則化項は、参照画像の画素値xの和Xから生成しても良いし、復号画像の画素値yの和Yから生成しても良い。
 上記照度パラメータ推定部30931Hの構成では、復号画像の画素値xの和Xから導出される第2パラメータのみを正規化し、復号画像の画素値yの和Yから導出される第1パラメータを正規化しないため、テーブルシフト値ScaleShiftAが必ず0以上になる。そのためテーブルシフト値ScaleShiftAが0以上であるか(正であるか)否かに応じて、右シフトである式(B-19)と左シフトである式(B-19´)で切り替えることなく、右シフトのみで導出することができる。
 上記照度パラメータ推定部30931Hの構成では、図84に示すように、インデックスxが0の場合に0となるように逆数テーブルinvTable[x]を定義し、このように定義した、逆数テーブルinvTable[x]を、復号画像の画素値yの和Yから導出される第2パラメータ(正規化第2パラメータ)で引いた値に基づいてパラメータaを導出することにより、第2パラメータ(正規化第2パラメータ)が0であるか否かに応じて、演算方法を変更しなくても適当なパラメータaを得ることができるため、処理量が削減されるという効果を奏する。
 上記照度パラメータ推定部30931Hの構成では、パラメータクリップ部3093161Hにより、パラメータaを8ビット非負整数の範囲にクリップすることから、画素値のビット深度が8ビットである場合に、パラメータaと画素値の積を8ビット非負整数同士の積として処理することができるためSIMD演算などによる処理が容易になるという効果を奏する。
 なお、照度補償部3093Hの別の構成として、照度補償部3093内の、照度パラメータ推定部30931Hにおいて、パラメータa導出部309316Hの代わりに、パラメータa導出部309316H2を用いる構成も可能である。
 図87は、パラメータa導出部309316H2の構成を示すブロック図である。パラメータa導出部309316H2は、パラメータクリップ部3093161H、除算パラメータa導出部3093165Hから構成される。
 除算パラメータa導出部3093165Hは、第1パラメータと第2パラメータの比により、以下の式によりパラメータaを導出する。
 a = (a1 + a2/2) / a2     式(B-19´)
 パラメータクリップ部3093161Hは、既に説明したように、パラメータaの範囲を、8ビット非負変数の範囲にクリップする。
 上記照度パラメータ推定部30931H2の構成では、同じ正則化項を第1パラメータa1と第2パラメータa2に加算してから、第1パラメータa1と第2パラメータa2の比に相当する値のパラメータaを算出することによって、外れ値などがある場合において、推定されるパラメータが頑健になり、符号化効率が向上する効果を奏する。
 上記照度パラメータ推定部30931Hの構成では、パラメータクリップ部3093161Hにより、パラメータaを8ビット非負整数の範囲にクリップすることから、画素値のビット深度が8ビットである場合に、パラメータaと画素値の積を8ビット非負整数同士の積として処理することができるためSIMD演算などによる処理が容易になるという効果を奏する。
 パラメータa導出部309316H2は、パラメータa導出部309316Hと異なり、パラメータaの導出に除算を用いる。除算は比較的処理が複雑な演算であるが、その分パラメータaの精度が向上するため、符号化効率が高くなるという効果を奏する。
  (重み予測)
 重み予測部3094は、入力される動き変位画像predSamplesLXに重み係数を乗算することにより予測ピクチャブロックP(予測画像)を生成する。入力される動き変位画像predSamplesLXは、残差予測、照度補償が行われる場合には、それらが施された画像である。参照リスト利用フラグの一方(predFlagL0もしくはpredFlagL1)が1の場合(単予測の場合)で、重み予測を用いない場合には入力された動き変位画像predSamplesLX(LXはL0もしくはL1)を画素ビット数に合わせる以下の式の処理を行う。
 predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesLX[ x ][ y ] + offset1 ) >> shift1 )
 ここで、shift1=14-bitDepth、offset1=1<<(shift1-1)である。
 また、参照リスト利用フラグの両者(predFlagL0もしくはpredFlagL1)が1の場合(双予測の場合)で、重み予測を用いない場合には、入力された動き変位画像predSamplesL0、predSamplesL1を平均し画素ビット数に合わせる以下の式の処理を行う。
 predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesL0[ x ][ y ] + predSamplesL1[ x ][ y ] + offset2 ) >> shift2 )
 ここで、shift2=15-bitDepth、offset2=1<<(shift2-1)である。
 さらに、単予測の場合で、重み予測を行う場合には、重み予測部3094は、重み予測係数w0とオフセットo0を導出し、以下の式の処理を行う。
 predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( (predSamplesLX[ x ][ y ] * w0 + 2log2WD - 1) >> log2WD ) + o0 )
 ここで、log2WDは所定のシフト量を示す変数である。
 さらに、双予測の場合で、重み予測を行う場合には、重み予測部3094は、重み予測係数w0、w1、o0、o1を導出し、以下の式の処理を行う。
 predSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesL0 [ x ][ y ] * w0 + predSamplesL1[ x ][ y ] * w1 +   ((o0 + o1 + 1) << log2WD) ) >> (log2WD + 1) )
  (追加予測フラグを含む符号化データの構成)
 図14(a)は、インター予測パラメータ復号制御部3031で復号される符号化データの構成(符号化ユニットの構成)を示す図である。図14(a)に示すように、追加予測フラグxpred_flagは、符号化ユニット(CU)構造で、PredMode、SkipFlagの後の、予測ユニットPUの後に符号化される。追加予測フラグxpred_flagは、追加予測フラグxpred_flagより前に位置する予測ユニットのシンタックス要素により指定される各PUの予測パラメータが所定の値である場合に、符号化データ中に存在する。逆に所定の値ではない場合には存在しない。
 図14(b)は、各予測ユニットの符号化データの構成を示す図である。PUは、merge_modeを含む。merge_modeが1、すなわち、マージ予測モードの場合にはmerge_idxを含む。merge_modeが0、すなわち、AMVP予測モードの場合には、merge_idxの代わりに、inter_pred_idx及びref_idx_l0、mvp_idx_l0、mvd_l0、ref_idx_l1、mvp_idx_l1、mvd_l1を含む。inter_pred_idxはPred_L0、Pred_L1、Pred_Biのいずれかの値をとり、各々L0予測、L1予測、双予測を示す。L0予測および双予測の場合に、L0予測に関する予測パラメータref_idx_l0、mvp_idx_l0、mvd_l0が含まれ、L1予測および双予測の場合に、L1予測に関する予測パラメータref_idx_l0、mvp_idx_l0、mvd_l0が含まれる。
 図15は、追加予測フラグの符号化データ中の構成を示すためのシンタックステーブルである。図中のcoding_unitは、本シンタックステーブルが符号化ユニットの符号化データであることを示す。まずslice_typeがI_SLICE以外の場合にはCUヘッダCUHにskip_flagが存在するする。次に、skip_flagが1の場合にはPUデータとしてprediction_unit()を含む。prediction_unitではPUの符号化パラメータを含む。またskip_flagが0である場合でslice_typeがI_SLICE以外の場合には、CUヘッダCUHにpred_mode_flagが含まれる。pred_mode_flagはイントラ予測を行う(MODE_INTRA)か、インター予測(MODE_INTRA)を行うかを示すフラグであり、復号後にPredModeに設定される。PredModeがイントラ予測(MODE_INTRA)の場合の詳細な説明は省略する。PredModeがインター予測(MODE_INTRA)の場合、CUヘッダCUHに分割モードpart_modeが含まれる。分割モードpart_modeは、復号後にPartModeに設定される。分割モードは、PART_2Nx2N、PART_2NxN、PART_2NxnU、PART_2NxnD、PART_Nx2N、PART_nLx2N、PART_nRx2N、PART_NxNのいずれかの値をとり、各々、1個、2個又は4個のPUデータprediction_unit()を含む。prediction_unit()の後に、CUヘッダCUH(正確にはCUフッタ)として、追加予測フラグxpred_flagとしてここでは、res_pred_flagとic_enable_flagが定義される。
 図15中のdepth_flagは、対象レイヤがデプスであるかであるかであるか否かを示すフラグ、pred_modeはイントラ予測MODE_INTRAであるかインター予測MODE_INTERであるかを示すフラグ、motion_pred_existsはCUを構成するPUで動き予測が使用されるかを示すフラグ、disparity_pred_existsはCUを構成するPUで変位予測(変位補償)が使用されるかを示すフラグである。図15のSE1501に示すように、res_pred_flagを含むか否かを示す判定式が!depth_flag && pred_mode != MODE_INTRA && motion_pred_existsと記述されるように、対象レイヤがデプスデータではなく、予測モードがイントラ予測以外で、いずれかのPUにおいて動き予測が使用される場合、追加予測フラグとしてres_pred_flagを含む。なお!は論理否定を取る関数、&&は、論理積を取る関数である。また、図15のSE1502に示すように、ic_enable_flagを含むか否かを示す判定式が!depth_flag && pred_mode != MODE_INTRA && disparity_pred_existsと記述されるように、対象レイヤがデプスデータではなく、予測モードがイントラ予測以外で、いずれかのPUにおいて変位予測が使用される場合、追加予測フラグとしてic_enable_flagを含む。このような追加予測フラグ(res_pred_flagとic_enable_flag)を含むか否かの判定は、後述の追加予測フラグ判定部30314で行われる。
  (追加予測フラグ判定部)
 図16は、追加予測フラグ判定部30314の構成を示す概略図である。追加予測フラグ判定部30314は、レイヤ判定部303141、全PUパラメータ判定部303142を含んで構成される。レイヤ判定部303141は、対象レイヤが、ベースレイヤ(ベースビュー)であるか、ベースレイヤ(ベースビュー)でないかを判定し、さらに、対象レイヤが、デプスであるか、テクスチャであるかを判定する。レイヤ判定部303141は、対象レイヤがベースレイヤ(ベースビュー)ではなく、かつ、デプスではない場合に有効と判定し、それ以外は無効と判定する。ベースビューではないかの判定はViewIdが0ではない(ViewId)、デプスではない場合とは!depth_flagで示されることから、図15の符号化データのSE1501、SE1502に示す!depth_flag && ViewIdの判定を行う。さらに、全PUパラメータ判定部303142は、追加予測フラグを含む対象CUがイントラ予測ではないか、を判定する。すなわち図15のSE1501、SE1502に示すpred_mode != MODE_INTRAの判定を行う。次に、全PUパラメータ判定部303142は、対象CUが含む全てのPUの予測パラメータを調べ、予測パラメータの値に応じて、上記追加予測フラグを上記符号化ユニットから復号するか否かを判定する。具体的には、追加予測フラグxpred_flagが残差予測resi_pred_flagの場合には、予測パラメータが動き予測であるか(CUに含まれるPUのいずれかが動き予測を含むか)を判定しmotion_pred_existsに設定する。なお、PUが動き予測であるか、すなわち、PUのベクトルが動きベクトルか否かは、既に説明したインター予測パラメータ復号制御部3031に含まれるリファレンスレイヤ判定部303111の判定方法において偽(変位ベクトルではない)と判定した方法により判定する(以下同様)。追加予測フラグxpred_flagが照度補償ic_enable_flagの場合には予測パラメータが変位予測であるか(CUに含まれるPUのいずれかが変位予測を含むか)を判定しdisparity_pred_existsに設定する。なお、PUが変位予測であるか、すなわち、PUのベクトルが変位ベクトルか否かは、既に説明したインター予測パラメータ復号制御部3031に含まれるリファレンスレイヤ判定部303111の判定方法において真(変位ベクトルである)と判定した方法により判定する(以下同様)。
 図17は、全PUパラメータ判定部303142において、CUが動き予測を行うPUを含むか否かを示すフラグmotion_pred_existsの判定を行う動作を示す図である。図17に示すように、まずmotion_pred_existsをfalseに設定する。続いて、CUの分割モードpart_modeをチェックし、CUの含む各PUのinter_pred_idcにより、PUの予測画像生成に用いる参照レイヤのViewIdであるref_view_id_lXが、対象レイヤのViewIdと等しいか否かをチェックする。
 part_modeがPART_2Nx2Nの場合にはCUの含むPUは1つのみであり、その座標は(x0, y0)である。全PUパラメータ判定部303142は、この1つのPUに動き補償を行うPUが含まれるかをチェックし、含まれる場合には、motion_pred_existsをtrueにする。具体的には、inter_pred_idcがPred_L1ではない場合(L0予測および双予測の場合、predFlagL0が1)には、L0リストが用いられるため、L0リストの参照ピクチャのビューID(ref_view_id_lX(ref_view_id_l0)が対象レイヤのビューID(ViewId)と等しいか否かをチェックする。対象レイヤと参照ピクチャのビューIDが等しい場合には動き予測であるため、motion_pred_existsにtrueを設定する。さらにinter_pred_idcがPred_L0ではない場合(L1予測および双予測)には、L1リストが用いられるため、L1リストの参照ピクチャのビューID(ref_view_id_lX(ref_view_id_l1))が対象レイヤのビューID(ViewId)と等しいか否かをチェックする。対象レイヤと参照ピクチャのビューIDのビューIDが等しい場合には動き予測であるため、motion_pred_existsにtrueを設定する。なお、上記inter_pred_idcがPred_L1ではない場合の判定は、predFlagL0=1の判定と置き換えることができ、inter_pred_idcがPred_L0ではない場合の判定は、predFlagL1=1の判定と置き換えることができる。
 part_modeがPART_2NxNの場合には、CUの含むPUは2つあり、各々の座標は(x0, y0)、(x0, y0 + nCbS / 2)である。ここでnCbSは対象CUのサイズ(=幅=高さ)である。全PUパラメータ判定部303142は、この1つのPUに動き補償を行うPUが含まれるかをチェックし、含まれる場合には、motion_pred_existsをtrueにする。具体的には、座標(x0, y0)と座標の(x0, y0 + nCbS / 2)のinter_pred_idcにより、使用される参照ピクチャに対して、参照ピクチャのビューID(ref_view_id_lX)が、対象レイヤのビューID(ViewId)と等しいか否かをチェックし、両者が等しい場合には、動き予測を行うmotion_pred_existsにtrueを設定する。以下、それ以外のpart_modeの説明は省略する。
 図18は、全PUパラメータ判定部303142において、CUが変位予測を行うPUを含むか否かを示すフラグdisparity_pred_existsの判定を行う動作を示す図である。図18に示すように、まずdisparity_pred_existsをfalseに設定する。続いて、CUの分割モードpart_modeをチェックし、CUの含む全てのPUのinter_pred_idcとref_view_id_lXをから、PUに変位予測を行うPUが含まれるかをチェックし、含まれる場合には、motion_pred_existsをtrueにする。例えば、part_modeがPART_2Nx2Nの場合にはCUの含むPUは1つのみであり、その座標は(x0, y0)である。全PUパラメータ判定部303142は、この1つの具体的には、inter_pred_idcがPred_L1ではない場合(L0予測および双予測)には、L0リストが用いられるため、L0リストのref_view_id_lX(ref_view_id_l0)が対象レイヤのViewIdと等しいか否かをチェックする。参照レイヤのViewIdが等しくない場合には変位予測であるため、disparity_pred_existsにtrueを設定する。さらにinter_pred_idcがPred_L0ではない場合(L1予測および双予測)には、L1リストが用いられるため、L1リストのref_view_id_lX(ref_view_id_l1)が対象レイヤのViewIdと等しいか否かをチェックする。参照レイヤのViewIdが等しくない場合には変位予測であるため、disparity_pred_existsにtrueを設定する。以下、それ以外のpart_modeの動作は、ViewIdが等しいか否かの判定の部分を除き、図39で説明したmotion_pred_existsの判定と等しいので説明を省略する。
 以上のように、追加予測フラグ判定部30314は、レイヤ判定部303141により、対象レイヤがベースレイヤ(ベースビュー)ではなく、かつ、デプスではないかを判定する。さらに、全PUパラメータ判定部303142が、対象CUがイントラ予測ではないかを判定する。さらに全PUパラメータ判定部303142は、CUが含む全てのPUをチェックし、いずれかのPUにおいて、動き予測を含む場合に、追加予測フラグである残差予測フラグresi_pred_flagが符号化データに含まれると判定する。
 また、追加予測フラグ判定部30314は、レイヤ判定部303141により、対象レイヤがベースレイヤ(ベースビュー)ではなく、かつ、デプスではないと判定し、さらに、全PUパラメータ判定部303142が、対象CUがイントラ予測ではないかの判定を行う。全PUパラメータ判定部303142は、さらに、CUが含む全てのPUをチェックし、CUに含まれるいずれかのPUにおいて、変位予測を含む場合に、追加予測フラグである照度補償フラグic_enable_flagが符号化データに含まれると判定する。
  (インター予測パラメータ復号部の変形例A)
 以下、インター予測パラメータ復号部303の変形例として、インター予測パラメータ復号部303Aを説明する。変形例Aは、動き補償画像に適用する追加予測として2つの予測方法を用いる場合において、1つ目の予測を示すフラグがオンの場合に、2つ目の予測を示すフラグを符号化データから復号せずにオフであるとして導出する。インター予測パラメータ復号部303Aは、追加予測フラグ復号部30311A、マージインデックス復号部30312、ベクトル候補インデックス復号部30313を備える。図19は、追加予測フラグ復号部30311Aが復号する符号化データの構成を示すためのシンタックステーブルである。追加予測フラグ判定部30314Aは、追加予測フラグとして2つのフラグを用いる場合(ここでは残差予測フラグres_pred_flagと照度補償フラグic_enable_flagを用いる場合)、図19のSE1901に示すように、1つ目のフラグがオン(ここではres_pred_flagが1)である場合に、図19のSE1902の判定res_pred_flag == 0が示すように、2つ目のフラグ(ここではic_enable_flag)が符号化データに存在しない、と判定する。なおres_pred_flag == 0の判定は!res_pred_flagの判定と同値である。追加予測フラグ復号部30311Aは、2つ目のフラグic_enable_flagの復号を行わない場合、2つ目のフラグic_enable_flagを追加予測を行わないことを示す0と導出する。これにより、インター予測パラメータ復号部303Aで必要としたCUが変位予測を含むPUを含むか否かのフラグdisparity_pred_existsの導出が不要になる。なお、図19では、残差予測フラグres_pred_flagを照度補償フラグic_enable_flagよりも先に符号化したが、この順序を入れ替えても良い。この場合、追加予測フラグ判定部30314Aは、1つ目の追加予測フラグ(ここでは照度補償フラグic_enable_flag)がオン(ここでは1)である場合に、2つ目の追加予測フラグ(ここでは残差予測フラグres_pred_flag)は存在しないと判定し、2つ目のフラグであるres_pred_flagを0と導出する。つまり、ic_enable_flag==0の場合に限りres_pred_flagを符号化データから復号する。
 以上の変形例Aの構成では、追加予測フラグを2つ用いる場合(追加予測として残差予測と照度補償の2つを用いる場合)に、2つ目の追加予測フラグ(例えばic_enable_flag)が存在するか否かの判定を、1つ目の追加予測フラグの値(例えばres_pred_flag)に基づいて行うため、2つ目の追加予測フラグが存在するか否かの判定の判定を各PUの予測パラメータ(例えば、PUの予測パラメータにおいて変位ベクトルを有するかどうかの判定disparity_pred_exists)を導出することなく行えるため、追加予測フラグの復号処理が容易になるという効果を奏する。また、2つの追加予測が排他的である場合(残差予測がオンの場合には照度予測がオフ、また、その逆)には、2つの追加予測が排他的である場合には、一つの目のフラグの値がオンであれば、2つ目のフラグは必ずオフとなるため、2つ目のフラグの復号は不要である。上記、変形例Aでは、2つのフラグの間の冗長性が削減されるため、符号化効率が向上するという効果を奏する。なお、残差予測の方法は、以下の説明に限定されず、復号装置において2つの動き補償画像の差分から残差を推定する一般化残差予測(GRP:Generalized Residual Prediction)もしくは進歩的残差予測((ARP:Advanced Residual Prediction)と呼ばれる方法を用いても良い。なお、変形例Aにおいて、残差予測フラグres_pred_flagの代わりに、残差予測の重みを示す残差予測ウェイトres_pred_weightを用いても良いし、残差予測の種類を示す残差予測モードres_pred_modeを用いても良い。
 (インター予測パラメータ復号部の変形例A2)
 以下、インター予測パラメータ復号部の変形例として、インター予測パラメータ復号部303A2を説明する。インター予測パラメータ復号部303A2は、追加予測フラグ復号部30311A2、マージインデックス復号部30312、ベクトル候補インデックス復号部30313を備える。
 図20は、追加予測フラグ復号部30311A2が復号する符号化データの構成を示すためのシンタックステーブルである。変形例A2の追加予測フラグ復号部30311A2は、追加予測フラグに2つのフラグを用いる場合、図20のSE2001に示す1つ目のフラグ(ここではres_pred_flag)が存在するか否かの判定には、PUが動き予測を含むか否かを示すフラグmotion_pred_existsが1であるかを用い、図20のSE2002に示す2つ目のフラグ(ここではic_enable_flag)が存在するか否かの判定には、1つ目の追加予測フラグ(res_pred_flag)の判定に置いて導出済みのPUが動き予測を含むか否かを示すフラグmotion_pred_existsが0であるかを用いる。
 なお、残差予測フラグres_pred_flagと照度補償フラグic_enable_flagは逆でも良い。すなわち。1つ目のフラグ(ここではic_enable_flag)が存在するか否かの判定には、PUが変位予測を含むか否かの判定disparity_pred_existsが1であるかを用い、2つ目のフラグ(ここではres_pred_flagが存在するか否かの判定には、PUが動き予測を含むか否かの判定disparity_pred_existsが0であるかを用いる。
 以上の変形例A2の構成では、以上の判定では、2つ目の追加予測フラグが存在するか否かの判定を、1つ目の追加予測フラグが存在する否かの判定に用いた値に基づいて行うため、2つ目の追加予測フラグが存在するか否かの判定の判定を各PUの予測パラメータをチェックすることなく行えるため、追加予測フラグの復号処理が容易になるという効果を奏する。
 (インター予測パラメータ復号部の変形例B)
 以下、インター予測パラメータ復号部の変形例として、インター予測パラメータ復号部303Bを説明する。インター予測パラメータ復号部303Bは、追加予測フラグ復号部30311B、マージインデックス復号部30312、ベクトル候補インデックス復号部30313を備える。図21は、インター予測パラメータ復号部303Bの復号する符号化データの構成を示すためのシンタックステーブルである。図15との違いは、図15(SE1501、SE1502)では、追加予測フラグが存在するか否かを示す判定に用いるフラグがCUを構成するPUのいずれかの予測方法に関するフラグmotion_pred_existsとdisparity_pred_existsであるのに対し、図21(SE2101、SE2102)では、各々、第1PU(PU0)の予測方法に関するフラグpu0_is_motion_pred、pu0_is_disparity_predに変更された点である。
  (追加予測フラグ復号部30311B)
 追加予測フラグ復号部30311Bは、既に説明した追加予測フラグ判定部30314の代わりに、追加予測フラグ判定部30314Bを備える。図22は、追加予測フラグ判定部30314Bの構成を示す概略図である。追加予測フラグ判定部30314Bは、レイヤ判定部303141、PU0パラメータ判定部303142Bから構成される。レイヤ判定部303141は、既に説明したので説明を省略する。PU0パラメータ判定部303142Bは、追加予測フラグを含む対象CUがイントラ予測ではないか、を判定する。すなわちpred_mode != MODE_INTRAの判定を行う。次に、PU0パラメータ判定部303142Bは、対象CUに含まれる最初のPU(PU0)の予測パラメータを調べ、追加予測フラグxpred_flagが残差予測フラグresi_pred_flagの場合にはPU0が動き予測を含むか否かを示す判定pu0_is_motion_predを行い、追加予測フラグxpred_flagが照度補償フラグic_enable_flagの場合にはPU0が変位予測を含むか否かの判定pu0_is_disparity_predを行う。図23(a)、(b)は各々、追加予測フラグ判定部30314Bにおいてpu0_is_motion_pred、pu0_is_disparity_pred_の判定を行う動作を示す図である。図17、図18と異なり、CUに含まれる全てのPUについて判定を行うことなく、PU0、すなわち、座標が(x0, y0)のPUに関する判定のみを行う。PU0に動き予測が含まれるか否かpu0_is_motion_predの判定は、参照ピクチャのビューID(ref_viewid_lX)が対象レイヤのビューID(ViewId)と等しい場合に1、等しくない場合に0とする判定であり、PU0に動き予測が含まれるか否かpu0_is_disparity_predの判定は、ref_viewid_lXがViewIdが異なる場合に1、等しくない場合に0とする判定である。詳細は図17、図18と同様であるため説明を省略する。
 以上の構成のインター予測パラメータ復号部の変形例Bによれば、追加予測フラグ判定部30314Bにおいて、対象CUに含まれる全てのPUの予測パラメータをチェックすることなく、先頭PUの予測パラメータのみをチェックすれば良いため、追加予測フラグxpred_flag(ここでは、残差予測フラグres_pred_flagと照度補償フラグic_enable_flag)が符号化データに含まれるか否かをチェックする処理が容易になるという効果を奏する。
  (インター予測パラメータ復号部の変形例C)
 以下、インター予測パラメータ復号部の変形例として、インター予測パラメータ復号部303Cを説明する。インター予測パラメータ復号部303Cは、追加予測フラグ復号部30311C、マージインデックス復号部30312、ベクトル候補インデックス復号部30313を備える。図24は、インター予測パラメータ復号部303Cの復号する符号化データ中の構成を示すためのシンタックステーブルである。図15(SE1501、SE1502)および図21(SE2101、SE2102)では、残差予測フラグres_pred_flagと照度補償フラグic_enable_flagは個別のフラグを用いていたが、図24では、SE2401に示すように残差予測と照度補償のオンオフを判定するために一つの共用フラグres_pred_and_ic_enable_flagを用いる。また、図15および図21では、追加予測フラグが存在するか否かを示す判定式においてmotion_pred_exists、disparity_pred_exists、pu0_is_motion_pred、pu0_is_disparity_predのようなPUが動き補償や変位予測を行うか否かを示す判定を用いていたが、図24には追加予測フラグが存在するか否かを示す判定式においてPUの予測パラメータに関する判定を用いない。つまり、図24のSE2401では、!depth_flag  &&  ViewId  && PredMode != MODE_INTRAと示すように、対象レイヤがデプスであるか否かを示すdepth_flagと、ビューIDを示すViewIdと、対象CUの予測モードPredModeを用いて判定するが、これらは個々のPUの予測パラメータ(ベクトルや参照ピクチャインデックス)を用いずに判定できる要素であり、PUの予測パラメータに関する判定を用いない。
  (追加予測フラグ復号部30311C)
 図25は、追加予測フラグ復号部30311Cの構成を示す概略図である。追加予測フラグ復号部30311Cは、追加予測フラグ判定部30314C、残差予測判定部30315、照度補償判定部30316を含んで構成される。追加予測フラグ判定部30314Cは、レイヤ判定部303141を含んで構成される。フラグ判定部30314Cは、レイヤ判定部303141により、対象レイヤがベースレイヤ(ベースビュー)ではなく、かつ、デプスではないと判定する。さらに、追加予測フラグ判定部30314Cは、対象CUがイントラ予測ではない場合に、追加予測フラグである共用フラグres_pred_and_ic_enable_flagが符号化データに含まれると判定する。
 追加予測フラグ復号部30311Cは次に追加予測フラグres_pred_and_ic_enable_flagが含まれると判定される場合、追加予測フラグres_pred_and_ic_enable_flagを符号化データから抽出(復号)し、追加予測フラグres_pred_and_ic_enable_flagが含まれないと判定される場合、符号化データを復号することなく、追加予測フラグres_pred_and_ic_enable_flagに0を設定する。追加予測フラグres_pred_and_ic_enable_flagが0である場合は、追加予測(残差予測と照度補償)はいずれも行われない。追加予測フラグres_pred_and_ic_enable_flagが1である場合は、以下の判定により、残差予測と照度補償が行われるか否かを判定する。
 残差予測判定部30315は、CUに含まれる各PU単位において、追加予測として残差予測が行われるか否かを判定する。残差予測判定部30315は、追加予測フラグres_pred_and_ic_enable_flagが1であり、かつ、対象PUで、動き予測が用いられる場合には、res_pred_flag=1とする。それ以外の場合には、res_pred_flag=0とする。
 照度補償判定部30316は、CUに含まれる各PU単位において、追加予測として照度補償が行われるか否かを判定する。照度補償判定部30316は、追加予測フラグres_pred_and_ic_enable_flagが1であり、かつ、対象PUで、変位予測が用いられる場合には、ic_enable_flag=1とする。それ以外の場合には、ic_enable_flag=0とする。
 以上の構成の追加予測フラグ復号部30311Cによれば、追加予測フラグを残差予測フラグと照度補償フラグに共通の共用フラグとすることにより、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。また、追加予測フラグとして、2つのフラグ(残差予測フラグと照度補償フラグ)の代わりに1つのフラグを符号化データ中に含めるため、フラグの符号量が減少する効果を奏する。
  (インター予測パラメータ復号部の変形例D)
 以下、インター予測パラメータ復号部の変形例として変形例Dの別の構成であるインター予測パラメータ復号部303Dを説明する。インター予測パラメータ復号部303Dは、追加予測フラグ復号部30311D、マージインデックス復号部30312、ベクトル候補インデックス復号部30313を備える。
 図26(a)は、インター予測パラメータ復号制御部3031Dで復号される符号化データの構成(符号化ユニットの構成)を示す図である。図14(a)と異なり、追加予測フラグは、符号化ユニットのレイヤ(CUヘッダCUH、CUフッタCUF)には含まれない。
 図26(b)は、インター予測パラメータ復号制御部3031Dで復号される符号化データの構成(予測ユニットの構成)を示す図である。追加予測フラグは、この予測ユニットのレイヤに含まれる。PUは、merge_modeを含む。merge_modeが1、すなわち、マージ予測モードの場合にはmerge_idxを含む。merge_idxの次に追加予測フラグ(ここでは残差予測フラグres_pred_flagと照度補償フラグic_enable_flag)が含まれる。merge_modeが0、すなわち、AMVP予測モードの場合には、図14(b)で説明した通りであるので説明を省略する。
 図27は、追加予測フラグの符号化データ中の構成を示すためのシンタックステーブルである。図27のSE2701、SE2703に示すに示す通り、既に図24において説明した判定式!depth_flag  &&  ViewId  && PredMode != MODE_INTRAにより、マージインデックスmerge_idxの後に、残差予測フラグres_pred_flagと照度補償フラグic_enable_flagが含まれる。
 以上の構成の追加予測フラグ復号部30311Dによれば、追加予測フラグをマージモードの場合に限定することにより、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。なお、後述の追加予測フラグ復号部30311D2も追加予測フラグ復号部30311D3も、PU単位のフラグとするなど、追加予測フラグ復号部30311Dと同様の構成である。
  (追加予測フラグ復号部30311D2)
 図28は、追加予測フラグ復号部30311D2の別の構成を示す概略図である。追加予測フラグ復号部30311D2は、追加予測フラグ判定部30314の代わりに、追加予測フラグ判定部30314D2を含む。また、追加予測フラグ判定部30314D2は、レイヤ判定部303141とインデックス判定部303143を含んで構成される。インデックス判定部303143は、マージインデックスmerge_idxが所定の値であるか否かを判定する。具体的には、マージインデックスmerge_idxがインターレイヤ予測(インタービュー予測)で得られる予測パラメータを主に用いるインデックス(インターレイヤ予測のマージ候補)であるか否かを判定する。インターレイヤ予測(インタービュー予測)がmerge_idx=0に割り当てられる場合、merge_idx=0であるか否かが判定される。マージインデックスmerge_idxが所定の値である場合、追加予測フラグ(ここではres_pred_flag)が存在すると判定される。
 図29は、追加予測フラグの符号化データ中の構成を示すためのシンタックステーブルである。図29のSE2801、のSE2802に示す通り、図27のSE2701、SE2703に示す、既に図24で説明した判定式!depth_flag  &&  ViewId  && PredMode != MODE_INTRAにより加え、マージインデックスmerge_idxが所定の値であるか否かの判定式を用いる。ここではmerge_idx==0である場合に限り、追加予測フラグの一つである残差予測フラグres_pred_flagが符号化データに含まれる。図7の説明で説明したインターレイヤマージ候補(動き予測)がmerge_idx=0に対応する場合には、merge_idx=0に限定することは、マージ候補がインターレイヤマージ候補(動き予測)である場合もしくはインターレイヤマージ候補(動き予測)である可能性が高い場合に、残差予測フラグres_pred_flagを用いるか否かを示す追加予測フラグを符号化データから復号し、そうではない場合(インターレイヤマージ候補(動き予測)ではない場合)には、残差予測を用いない。残差予測フラグres_pred_flagをゼロにする。なお、上記で可能性が高いと記したのは、インターレイヤマージ候補(動き予測)が存在しない場合は、merge_idx=0が別のマージ候補である可能性があるためである。残差予測は、動き予測の場合に特に有効であるからこのような制限は、パース依存性とともに符号化効率を向上させる効果も奏する。
 なおmerge_idx が所定の値であるか否かを示す判定式merge_idx==0ではなく、merge_idxが所定の範囲にあるかを示す判定式でも良い。例えば、merge_idx<=1を判定式としても良い。この場合、インターレイヤマージ候補(動き予測)である可能性が高い、merge_idx=0と、それ以外で有効性の高い、merge_mode=1がマージモード候補となる。
 なお、図29では、残差予測フラグに限定して説明したが、照度補償フラグに適用しても良い。この場合、インターレイヤマージ候補(変位予測)に対応するマージ候補がインデックスDVのマージ候補であるとして、merge_idx==DVである場合に限り、追加予測フラグの一つである残差予測フラグres_pred_flagが符号化データに含まれるic_enable_flagを用いるか否かを示す追加予測フラグを符号化データから復号し、そうではない場合(インターレイヤマージ候補(変位予測)ではない場合)には、照度補償を用いない。残差予測フラグic_enable_flagをゼロにする。
 以上の構成の追加予測フラグ復号部30311D2によれば、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、追加予測フラグ復号部30311D2によれば、追加予測フラグを、マージインデックスmerge_idxが、インターレイヤマージ候補(インタービューマージ候補)を示す所定の値の場合のみに復号することにより、追加予測が有効ではない場合に、追加予測フラグを符号化データに含めることがないため、符号化効率が向上するという効果を奏する。
  (インター予測パラメータ復号部の変形例D3)
 以下、インター予測パラメータ復号部の別の変形例として変形例Dの別の構成であるインター予測パラメータ復号部303D3を説明する。
 図30(a)は、インター予測パラメータ復号部303D3で復号される符号化データの構成(符号化ユニットの構成)を示す図である。図26(a)と同一で、追加予測フラグは、符号化ユニットのレイヤ(CUヘッダCUH、CUフッタCUF)には含まれない。
 図30(b)は、インター予測パラメータ復号部303D3で復号される符号化データの構成(予測ユニットの構成)を示す図である。追加予測フラグは、予測ユニットのレイヤに含まれる。PUは、merge_modeを含む。merge_modeが1、すなわち、マージ予測モードの場合で、既に図24において説明した判定式!depth_flag  &&  ViewId  && PredMode != MODE_INTRAが真の場合に、追加予測フラグ(ここでは残差予測フラグres_pred_flagと照度補償フラグic_enable_flag)が含まれる。追加予測フラグが0の場合は符号化データにmerge_idxを含む、追加予測フラグが1の場合は、merge_idxは符号化データに含まれず、後述のように導出される。
 図31は、追加予測フラグが残差予測フラグ(res_pred_flag)の場合の符号化データの構成を示すシンタックステーブルである。図31のSE3101、SE3102に示す通り、既に図24において説明した判定式!depth_flag  &&  ViewId  && PredMode != MODE_INTRAにより、マージインデックスmerge_idxの前に、残差予測フラグres_pred_flagが含まれる。さらに、追加予測フラグである残差予測フラグres_pred_flagが0の場合に符号化データにmerge_idxが含まれ、res_pred_flagが1の場合には符号化データにmerge_idxは含まれない。
 図32は、追加予測フラグが照度補償フラグ(ic_enable_flag)の場合の符号化データの構成を示すシンタックステーブルである。図32のSE3201、SE3202に示す通り、既に図24において説明した判定式!depth_flag  &&  ViewId  && PredMode != MODE_INTRAが真の場合には、マージインデックスmerge_idxの前に、照度補償フラグic_enable_flagが含まれる。さらに、追加予測フラグである照度補償フラグic_enable_flagが0の場合に符号化データにmerge_idxが含まれ、res_pred_flagが1の場合には符号化データにmerge_idxは含まれない。
 図33は、インター予測パラメータ復号制御部の変形例Dの別の構成D3の構成を示す概略図である。インター予測パラメータ復号制御部3031D3は、追加予測フラグ復号部30311D3、マージインデックス復号部30312D3、ベクトル候補インデックス復号部30313を備える。追加予測フラグ復号部30311D3は、内部に追加予測フラグ判定部30314D3を備え、!depth_flag  &&  ViewId  && PredMode != MODE_INTRAの判定により、追加予測フラグが存在するか否かを判定する。追加予測フラグ復号部30311D3は、マージモードである場合に、追加予測フラグ判定部30314D3において、追加予測フラグが含まれると判定される場合には、符号化データのCUヘッダCUHもしくはCUフッタCUFから追加予測フラグを抽出する。マージインデックス復号部30312D3は、追加予測フラグ(res_pred_flagもしくはic_enable_flag)が0の場合にはマージインデックスmerge_idxを符号化データから抽出(復号)する。逆に、追加予測フラグが1の場合にはマージインデックスmerge_idxを符号化データから復号せずに導出する。具体的には、追加予測フラグが残差予測フラグres_pred_flagである場合には、マージ候補が図7で説明したインターレイヤマージ候補(動き予測)、すなわち、インターレイヤ候補(インタービュー候補)であり、特に動き予測となる場合のインデックスをマージインデックスmerge_idxとして設定する。例えば、インターレイヤマージ候補(動き予測)が主として(インターレイヤマージ候補(動き予測)が存在しない場合を除き)インデックス0として導出される場合には、merge_idx=0とする。また、追加予測フラグが照度補償フラグic_enable_flagである場合には図7で説明したインターレイヤマージ候補(変位予測)、すなわち、マージ候補が主にインターレイヤ候補(インタービュー候補)であり、特に変位予測となる場合のインデックスをマージインデックスmerge_idxとして設定する。例えば、変位予測を用いたインターレイヤ候補(インタービュー候補)が主にインデックスDVとして導出される場合(先頭候補を0番目としてDV+1番目に導出される候補の場合)には、merge_idx=DVとする。なお、インターレイヤ候補(インタービュー候補)の中で、動き予測の候補と変位予測の候補を分離しない場合には、インターレイヤマージ候補(動き予測)とインターレイヤマージ候補(変位予測)を区別せず、単にインターレイヤ候補(インタービュー候補)を選択しても良い。また、追加予測を行わない場合のインデックスが0~4である場合において、追加予測を行う場合にそれ以外の番号、例えば、インターレイヤマージ候補(動き予測に5、追加予測を行うインターレイヤマージ候補(変位予測)に6というインデックスを割り当て、それらの動き予測であるか変位予測であるかが明確に区別されるマージ候補インデックスを選択しても良い。
 以上の構成のインター予測パラメータ復号部303D3によれば、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、追加予測フラグを、マージインデックスmerge_idxの前に復号し、追加予測フラグが有効である場合には、マージインデックスmerge_idxの範囲を制限する(例えば選択肢となる候補が1つだけの場合には、マージインデックスを含めない)ことにより、追加予測が有効ではある場合に有効ではないマージインデックスを復号しないため、符号化効率向上の効果を奏する。
  (インター予測パラメータ復号部の変形例D4)
 以下、インター予測パラメータ復号部の別の変形例として変形例Dの別の構成であるインター予測パラメータ復号部303D4を説明する。
 図34(a)は、インター予測パラメータ復号部303D4で復号される符号化データの構成(符号化ユニットの構成)を示す図である。追加予測フラグは、CU単位PUの前に位置するCUヘッダCUH含まれる。
 図34(b)は、インター予測パラメータ復号部303D4で復号される符号化データの構成(予測ユニットの構成)を示す図である。追加予測フラグは、PU単位の符号化データには含まれない。
 以上の構成のインター予測パラメータ復号部303D4によれば、追加予測フラグをCU単位のフラグとするが、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、変形例D3と同様、マージインデックスmerge_idxの前に復号される追加予測フラグを利用して、追加予測フラグが1である場合(追加予測を用いる場合)には、マージインデックスmerge_idxの範囲を制限する(例えば1候補の場合には、マージインデックスを含めない)ことにより、追加予測が有効ではある場合に有効ではないマージインデックスを復号しないため、符号化効率向上の効果を奏する。
 (画像復号装置31の変形例E)
 以下、画像復号装置31の変形例を説明する。以下の変形例では、インター予測パラメータ復号部303の代わりに、インター予測パラメータ復号部303Eを備え、インター予測パラメータ復号制御部3031の代わりにインター予測パラメータ復号制御部3031Eを、マージ予測パラメータ導出部3036の代わりにマージ予測パラメータ導出部3036Eを備える。それ以外の手段は、インター予測パラメータ復号部303と同じであるため説明を省略する。
 図35は、インター予測パラメータ復号部303Eで復号される符号化データの構成を示す図である。図35(a)は符号化ユニットの構成、図35(b)は、予測ユニットの構成を示す。図35(a)、図35(b)に示すように本実施形態では、追加予測を行うか否かを示す追加予測フラグを明示的には符号化データには含めない。
 図36は、インター予測パラメータ復号制御部3031Eの構成を示す概略図である。インター予測パラメータ復号制御部3031Eは、マージインデックス復号部30312E、ベクトル候補インデックス復号部30313Eを含んで構成される。インター予測パラメータ復号部303と比較すると、追加予測フラグ復号部30311を含まないことが特徴である。
 マージ予測パラメータ導出部3036Eは、マージ候補導出部30361Eとマージ候補選択部30362を備える。マージ候補導出部30361Eは、マージ候補導出部30361と異なり、予測パラメータとして、ベクトルmvLXや参照ピクチャインデックスrefIdxLXだけでなく、追加予測フラグを含む。追加予測フラグは、残差予測フラグres_pred_flagと照度補償フラグic_enable_flagである。
 図37は、マージ候補導出部30361Eが導出するマージ候補を示す図である。図37(a)は追加予測として残差予測を含む場合、図37(b)は追加予測として照度補償を含む場合、図37(c)は追加予測として残差予測と照度補償を含む場合を示す。
 図37(a)に示すように、マージ候補導出部30361Eは、追加予測として残差予測を行う構成の場合には、マージ候補として、残差予測を行うマージ候補と、残差予測を行わないマージ候補を導出する。具体的には、残差予測を行わないマージ候補として、インターレイヤマージ候補(動き予測)、空間マージ候補、インターレイヤマージ候補(変位予測)、時間マージ候補、結合マージ候補、ゼロマージ候補を導出し、残差予測を行う候補として、インターレイヤマージ候補(動き予測)を導出する。なお、図37(a)のインターレイヤマージ候補(動き予測)は、図7を用いて説明したインターレイヤマージ候補導出部3036121により導出されるマージ候補であり、図37(a)のインターレイヤマージ候補(変位予測)はインターレイヤ変位マージ候補導出部3036123により導出されるマージ候補である(以下同様)。
 図37(b)に示すように、マージ候補導出部30361Eは、追加予測として照度補償を行う構成の場合には、マージ候補として、照度補償を行うマージ候補と、照度補償を行わないマージ候補を導出する。具体的には、照度補償を行わないマージ候補として、インターレイヤマージ候補(動き予測)、空間マージ候補、インターレイヤマージ候補(変位予測)、時間マージ候補、結合マージ候補、ゼロマージ候補を導出し、照度補償を行う候補として、インターレイヤマージ候補(変位予測)を導出する。
 図37(c)に示すように、マージ候補導出部30361Eは、追加予測として残差予測と照度補償の両者を行う構成の場合には、マージ候補として、残差予測を行うマージ候補と照度補償を行うマージ候補、残差予測と照度補償を行わないマージ候補を導出する。具体的には、残差予測と照度補償を行わないマージ候補として、インターレイヤマージ候補(動き予測)、空間マージ候補、インターレイヤマージ候補(変位予測)、時間マージ候補、結合マージ候補、ゼロマージ候補を導出し、残差予測を行う候補として、インターレイヤマージ候補(動き予測)、照度補償を行う候補として、インターレイヤマージ候補(変位予測)を導出する。
 この場合、追加予測フラグをCU単位のフラグもしくはPU単位のフラグとして含めないため、追加予測フラグが符号化データに存在するか否かの判定が不要になる、すなわち、追加予測フラグの復号のために、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、マージ候補導出部30361Eで追加予測を行うマージ候補と、追加予測を行わないマージ候補を導出することにより、追加予測を行うか否かはマージ候補の一つとして選択することになる。これにより、追加予測が有効ではない場合において、PU単位で追加予測を行うか否かを選択することができるため、符号化効率が向上するという効果を奏する。また、追加予測が効果的である予測パラメータの場合、例えば、インターレイヤマージ候補(動き予測)に限定して、追加予測を行うマージ候補を導出するため、追加予測が効果的ではない予測パラメータの場合に、追加予測を行う候補を設けることがないため、符号化効率が向上するという効果を奏する。
  (インター予測パラメータ復号部の変形例F1)
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F1を説明する。変形例F1では、追加予測として照度予測を行う場合を扱う。図43は、インター予測パラメータ復号部303F1の構成を示すブロック図である。図43に示すように、インター予測パラメータ復号部303F1は、照度補償フラグ復号部30311F1、分割モード復号部、マージフラグ復号部30317、マージインデックス復号部30312、インター予測フラグ復号部、参照ピクチャインデックス復号部30318、ベクトル候補インデックス復号部30313、ベクトル差分復号部を備える。
 照度補償フラグ復号部30311F1は、照度補償フラグ判定部30314F1において照度補償フラグic_enable_flagが符号化データに含まれると判定される場合、符号化データから照度補償フラグic_enable_flagを復号し、逆に符号化データに含まれないと判定される場合には、符号化データの復号を行わずに、照度補償フラグic_enable_flagに0(照度予測を行わないことを示す値)を設定する。
 図44は、照度補償フラグ復号部30311F1の動作を示すフローチャートである。
S1101:マージフラグmerge_flagを参照し、対象ブロックがマージモードであるか否か(merge_flagが1であるか否か)を判定する。対象ブロックがマージモードであれば(merge_flag=1)、符号化データから、照度補償フラグic_flagを復号する(S1105)。マージモードでなければ(merge_flag=0)、S1104に遷移する。マージフラグ復号部30317で復号される(以下同様)。
S1104:参照ピクチャインデックスref_idx_LXを参照し、対象ブロックがインターレイヤ予測(インタービュー予測)であるかを判定する。以下、インタービュー予測とインターレイヤ予測を区別せず、単にインタービュー予測と表記する。インターレイヤ予測であれば、符号化データから照度補償フラグic_enable_flagを復号する(S1105)。そうでなければ、ic_enable_flagに照度補償を行わないことを示す値である00を設定する(S1106)。マージモード以外のref_idx_LXは、参照ピクチャインデックス復号部30318において符号化データから復号される(以下同様)。
 図46は、インター予測パラメータ復号部303F1で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。図46示すように、条件SF1001&&(条件SF1002||条件SF1003)を満たす場合に、照度補償フラグic_enable_flagが符号化データに含まれる。
具体的には、
 スライス単位の照度補償フラグslice_ic_enable_flagの条件(SF1001)は以下の式で示される。
 slice_ic_enable_flag  式(F-1)
 マージモードであるか否かの条件(SF1002)は、以下の式で示される。
 merge_flag[ x0 ][ y0 ]   式(F-2)
 マージモード以外(AMVPモード)であり、参照ピクチャインデックスがインターレイヤ予測を示す条件(SF1003)は、以下の式で示される。
 (!merge_flag[ x0 ][ y0 ] &&anyIvRefPicFlag  式(F-3)
 なお、anyIvRefPicFlagは、対象ブロック(対象CU)にインターレイヤ予測(インタービュー予測)が含まれるか否かを示すフラグであり、以下の式をX=0、X=1に対して実行することで導出される(Y=1-X)
 anyIvRefPicFlag = anyIvRefPicFlag | |      
(inter_pred_idc[ x0 ][ y0 ] ! = Pred_LY && refViewIdxLX[ x0 ][ y0 ] ! = ViewIdx) | |  
(inter_pred_idc[ x0 ][ y1 ] ! = Pred_LY && refViewIdxLX[ x0 ][ y1 ] ! = ViewIdx) | | 
(inter_pred_idc[ x1 ][ y0 ] ! = Pred_LY && refViewIdxLX[ x1 ][ y0 ] ! = ViewIdx) | |  
(inter_pred_idc[ x1 ][ y1 ] ! = Pred_LY && refViewIdxLX[ x1 ][ y1 ] ! = ViewIdx)  式(F-4)
 ここで、x1、y1は、対象CUに複数の予測ユニットが含まれている場合における予測ユニットの座標を示す。具体的には、座標[x0][x0]が1つ目の予測ユニット、座標[x0][y1]が2つ目の予測ユニット、座標[x1][y0]が3つ目の予測ユニット、座標[x1][y1]が3つ目の予測ユニットに対応する。インター予測フラグinter_pred_idc[][]は、予測ユニットの予測方向を示し、L0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)の何れかである。従って、インター予測フラグinter_pred_idc[][]がPred_LYではないとは、X=Y-1であるから、Pred_LXもしくはPred_BIの場合を意味する。両者ともLX予測を用いる。
refViewIdxLX[][] ! = ViewIdx)の式は、LXの参照ピクチャインデックスで指定される参照ピクチャのビューIDが対象ピクチャのビューIDと異なるか(インターレイヤ予測が用いられるか)の判定である。ここでは、インターレイヤ予測が用いられるかの判定として、ビューIDを用いる第2の判定方法を用いる。上記式(F-4)内では、座標[x][y]、LX予測で指定される予測ユニットにおいて、インターレイヤ予測が行われているかを示す式を、以下の式(F-5)とすると、対象CU内の予測ユニットに関する式(F-5)の論理和として定義される。
inter_pred_idc[ x][ y ] ! = Pred_LY && refViewIdxLX[ x ][ y ] ! = ViewIdx)   式(F-5)
 なお、refViewIdxLX[ x ][ y ]は、座標[x][y]の予測ユニットがLXリストを用いて参照する参照ピクチャのビューIDを示す。LX予測の参照ピクチャリストがRefPicListLXであり、参照ピクチャインデックスがref_idx_lX[ x ][ y ]である場合、refViewIdxLX[ x0 ][ y ]は、以下の式で導出可能である。
 refViewIdxLX[ x ][ y ] = ViewIdx of the RefPicListL0[ref_idx_lX[ x ][ y ]]   式(F-6)
 なお、インター予測フラグinter_pred_idcと予測リストフラグpredFlagLXは相互に対応するため、インターレイヤ予測が用いられるか否かの判定式として、式(F-4)の代わりに、式(F-4´)を用いることもできる。
 anyIvRefPicFlag = anyIvRefPicFlag | |  
(predFlagLX[ x0 ][ y0 ] == 1 && refViewIdxLX[ x0 ][ y0 ] ! = ViewIdx) ||
(predFlagLX[ x0 ][ y1 ] == 1 && refViewIdxLX[ x0 ][ y1 ] ! = ViewIdx) ||
(predFlagLX[ x1 ][ y0 ] == 1 && refViewIdxLX[ x1 ][ y0 ] ! = ViewIdx) || 
(predFlagLX[ x1 ][ y1 ] == 1 && refViewIdxLX[ x1 ][ y1 ] ! = ViewIdx) 式(F-4´)
 上記の式(F-4)では、対象ブロック(対象CU)に含まれる全ての予測ユニットについて和(||)をとることにより、対象CUに含まれる予測ユニットの何れかにおいてインターレイヤ予測が用いられるかが判定される。
 以上の構成の変形例F1では、予測ユニットがマージモードである場合には、参照ピクチャインデックスによらずに、照度補償フラグを符号化データから復号し、予測ユニットがAMVPモードである場合には、上記予測ユニットの参照ピクチャインデックスがインターレイヤ予測(インタービュー予測)を示す場合には、照度補償フラグを符号化データから復号し、上記の何れでもない場合には、照度補償フラグを符号化データから復号せずに照度補償を行わない。
 以上の構成の変形例F1では、予測ユニットがマージモードである場合には、参照ピクチャインデックスref_idx_LXによらずに、照度補償フラグic_enable_flagを符号化データから復号するか否かを判定することにより、照度補償フラグic_enable_flagのパースに、マージモードの予測パラメータ(参照ピクチャインデックスref_idx_LX)の導出が必要であるというパース依存性を解決する効果を奏する(効果F1)。なお、マージモードの場合には、参照ピクチャインデックスref_idx_LXは、符号化データで明示的には符号化されないため、マージモードにおいてref_idx_LXを用いる従来方式では、パース依存性の問題が存在していた。マージモード以外の場合(AMVPモードの場合)には、参照ピクチャインデックスref_idx_LXは、符号化データで明示的に符号化されるため、照度補償フラグic_enable_flagのパース時点で、参照ピクチャインデックスref_idx_LXの値は自明であり、ref_idx_LXに依存してic_enable_flagを復号してもパース依存性の問題は存在しない。
 なお、照度補償を行う場合をマージモードの場合に限定する構成としても良い。この場合、照度補償フラグ復号部は、マージモードの場合にのみ、ic_enable_flagを復号し、マージモード以外の場合には、ic_enable_flagを復号しない(以下、同様)。この構成では、AMVPモードでは照度補償を行わないため、インタービュー予測であるかの判定(参照ピクチャインデックスref_idx_LXを用いた判定)が不要になるため、照度補償フラグの導出が容易になるという効果を奏する。また、AMVPモードにおける照度補償を行わないため予測画像生成が容易になるという効果を奏する。
 さらに、上記、照度補償フラグ復号部30311F1は、さらに、照度補償フラグを符号化データから復号する場合を、符号化ユニットの分割モードが分割しないことを示す2N×2Nの場合に限定しても良い(変形例F1´と呼ぶ)。
 図45は、2N×2Nに限定する場合の照度補償フラグ復号部30311F1の動作を示すフローチャートである。
S1100:分割モード復号部で符号される分割モードpart_modeを参照し、part_modeが対象符号化ユニットを分割しないことを示す2N×2Nか否かを判定する。2N×2N以外の場合には、照度補償フラグic_enable_flagに0を設定する(S1106)。2N×2Nの場合にはS1101に遷移する。
S1101:マージフラグmerge_flagを参照し、対象ブロックがマージモードであるか否か(merge_flagが1であるか否か)を判定する。対象ブロックがマージモードであれば符号化データから、照度補償フラグic_flagを復号する(S1105)。マージモードでなければ、S1104に遷移する。
S1104:参照ピクチャインデックスref_idx_LXを参照し、対象ブロックがインターレイヤ予測であるかを判定する。インターレイヤ予測であれば、符号化データから照度補償フラグic_enable_flagを復号する(S1105)。そうでなければ、照度補償フラグic_enable_flagに0を設定する(S1106)
 この場合には、符号化データ構成は、図46の符号化データ構成と類似するが、条件SF1001の代わりに条件SF1101が用いられる。すなわち、式(F-1)が下記の式(F-1´)に置き換えられる。
 slice_ic_enable_flag && PartMode = = PART_2Nx2N 式(F-1´)
 条件SF1002、条件SF1003は既に説明した通りであるが、条件SF1003中のanyIvRefPicFlagの導出式は、簡略化される。具体的には、2N×2Nの場合、対象CUに含まれる予測ユニットは一つだけであるから、式(F-4)の代わりに、以下の式(F-7)で導出可能である。
 anyIvRefPicFlag = anyIvRefPicFlag | |
(inter_pred_idc[ x0 ][ y0 ] ! = Pred_LY && refViewIdxLX[ x0 ][ y0 ] ! = ViewIdx
  式(F-7)
さらに、L0予測とL1予測の場合を明示的に記載すると、以下のように変形できる。
 anyIvRefPicFlag = (inter_pred_idc[ x0 ][ y0 ] ! = Pred_L1 && refViewIdxL0[ x0 ][ y0 ] ! = ViewIdx) || (inter_pred_idc[ x0 ][ y0 ] ! = Pred_L0 && refViewIdxL1[ x0 ][ y0 ] ! = ViewIdx)   式(F-7´)
 変形例F1´の照度補償フラグ復号部は、符号化ユニットの分割モードが分割しないことを示す、2N×2Nである場合に、照度補償フラグic_enable_flagを符号化データから復号する。照度補償フラグic_enable_flagを復号する場合を限定することにより、照度補償フラグic_enable_flagの符号量を削減する効果を奏する。また、対象CUに含まれる予測ユニットを1つに限定するため、インターレイヤ予測が含まれるか否かの判定anyIvRefPicFlagの処理量を低減する効果を奏する。また、照度補償を行う場合も2N×2Nに限定されるため、例えば8×8CUにおいて2N×N、N×2Nに相当するブロックサイズが8×4、4×8の場合を除外することになるため、ブロックサイズが小さい場合に特に問題となる処理量を低減する効果を奏する。
 なお、分割モードの2N×2N制限は、以下に説明する変形例F2以降の変形例においても併用することも可能である。
  (インター予測パラメータ復号部の変形例F2)
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F2を説明する。変形例F2では、追加予測として照度予測を行う場合を扱う。図47は、インター予測パラメータ復号制御部3031F2の構成を示すブロック図である。図47に示すように、インター予測パラメータ復号制御部3031F2は、照度補償フラグ復号部30311F2、分割モード復号部、マージフラグ復号部30317、マージインデックス復号部30312、インター予測フラグ復号部、参照ピクチャインデックス復号部30318、ベクトル候補インデックス復号部30313、ベクトル差分復号部を備える。
 照度補償フラグ復号部30311F2は、照度補償フラグ判定部30314F2において照度補償フラグic_enable_flagが符号化データに含まれると判定される場合、符号化データから照度補償フラグic_enable_flagを復号し、逆に符号化データに含まれないと判定される場合には、符号化データの復号を行わずに、照度補償フラグic_enable_flagに0を設定する。
 図48は、照度補償フラグ復号部30311F2の動作を示すフローチャートである。
S1201:マージフラグmerge_flagを参照し、対象ブロックがマージモードであるか否か(merge_flagが1であるか否か)を判定する。対象ブロックがマージモードであれば符号化データから、照度補償フラグic_flagを復号する(S1203)。マージモードでなければ、S1204に遷移する。
S1203:マージインデックスmerge_idxを参照し、merge_idxが所定の値であるか否かを判定する。所定の値の場合には、照度補償フラグic_enable_flagを0に設定する(S1206)。所定の値以外であれば、符号化データから照度補償フラグic_enable_flagを復号する(S1205)。merge_idxはマージインデックス復号部30312で復号される(以下同様)。
S1204:参照ピクチャインデックスref_idx_LXを参照し、対象ブロックにインターレイヤ予測が含まれるかを判定する。インターレイヤ予測が含まれる場合(anyIvRefPicFlagが1)には、符号化データから照度補償フラグic_enable_flagを復号する(S1205)。そうでなければ(anyIvRefPicFlagが0)、照度補償フラグic_enable_flagに0を設定する(S1206)
 図49は、インター予測パラメータ復号部303F2で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。照度補償フラグ復号部30311F2は、内部の照度補償フラグ判定部30314F2において、照度補償フラグを符号化データから復号するか否かを判定する。
 条件SF2001は、既に説明した式(F-1´)で表現される。
 条件SF2002は、以下の式で表現される。
 merge_flag[ x0 ][ y0 ] && merge_idx[ x0 ][ y0 ] != 0   式(F-2´)
 条件SF2003は、既に説明した式(F-3)の式で表現される。
 変形例F2では、S1201、S1203で行われる式(F-2´)の判定により、マージモードの場合においても、マージインデックスが所定の値である場合には、照度補償フラグic_enable_flagを符号化データから復号せず0に設定する。マージインデックスが所定の値(ここでは0)の場合には、参照ピクチャは対象ピクチャと同一レイヤである(動き予測である)ことが多い(動き予測であることが多い)。参照ピクチャが対象ピクチャと同一レイヤである場合には照度補償は有効ではないことから、このような場合に照度補償フラグic_enable_flagを符号化データから復号することは無駄である。変形例F2では、このような場合を防ぐことができる。
 上記照度補償フラグ復号部30311F2は、予測画像の生成対象である予測ユニットがマージモードであり、かつ、マージフラグインデックスが所定の値以外の場合に、照度補償フラグic_enable_flagを符号化データから復号する。また、予測ユニットがAMVPモードであり、かつ、予測ユニットの参照ピクチャインデックスがインターレイヤ予測を示す場合には、照度補償フラグic_enable_flagを符号化データから復号する。上記の何れでもない場合には、照度補償フラグic_enable_flagを符号化データから復号せずに照度補償を行わない。
 変形例F2では、変形例1の効果F1に加え、また、マージモードの場合に、マージフラグインデックスが所定の値以外の場合に限定して、照度補償フラグを復号(符号化)することにより、照度補償フラグの符号量を削減する効果を奏する(効果F2)。
  (インター予測パラメータ復号部の変形例F3)
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F3を説明する。変形例F3では、追加予測として照度予測を行う場合を扱う。図50は、インター予測パラメータ復号制御部3031F3の構成を示すブロック図である。図50に示すように、インター予測パラメータ復号制御部3031F3は、照度補償フラグ復号部30311F3、分割モード復号部、マージフラグ復号部30317、マージインデックス復号部30312、インター予測フラグ復号部、参照ピクチャインデックス復号部30318、ベクトル候補インデックス復号部30313、ベクトル差分復号部、特定マージインデックス照度補償スキップフラグ導出部30319を備える。
 照度補償フラグ復号部30311F3は、照度補償フラグ判定部30314F3において照度補償フラグic_enable_flagが符号化データに含まれると判定される場合、符号化データから照度補償フラグic_enable_flagを復号し、逆に符号化データに含まれないと判定される場合には、符号化データの復号を行わずに、照度補償フラグic_enable_flagに0を設定する。
 特定マージインデックス照度補償スキップフラグ導出部30319は、符号化データから特定マージインデックス照度補償スキップフラグic_skip_mergeidx0_flagを導出する。
 インター予測パラメータ復号部303F3を含む画像復号装置31は、エントロピー復号部301として、エントロピー復号部301F3を含んでも良い。図53は、エントロピー復号部301F3の構成を示すブロックである。エントロピー復号部301F3は内部に特定マージインデックス照度補償スキップフラグ導出部30319を含み、符号化データからic_skip_mergeidx0_flagを復号し、照度補償フラグ判定部30314F3に通知する。
 図51は、照度補償フラグ復号部30311F3の動作を示すフローチャートである。
S1301:マージフラグmerge_flagを参照し、対象ブロックがマージモードであるか否か(merge_flagが1であるか否か)を判定する。対象ブロックがマージモードであればマージモードであれば、S1302に遷移し、マージモードでなければ、S1304に遷移する。
S1302:特定マージインデックス照度補償スキップフラグic_skip_mergeidx0_flagが有効であるかを判定し、有効であればS1303に遷移。有効でなければ、符号化データから、照度補償フラグを復号する(S1305)。ic_skip_mergeidx0_flagは、特定マージインデックス照度補償スキップフラグ導出部30319で復号される(以下同様)。
S1303:マージインデックスmerge_idxを参照し、マージインデックスmerge_idxが所定の値であるか否かを判定する。所定の値の場合には、照度補償フラグic_enable_flagを0に設定する(S1306)。所定の値以外であれば、符号化データから、照度補償フラグic_enable_flagを復号する(S1305)
S1304:参照ピクチャインデックスref_idx_LXを参照し、対象ブロックにインターレイヤ予測が含まれるかを判定する。インターレイヤ予測が含まれる場合(anyIvRefPicFlagが1)には、符号化データから照度補償フラグic_enable_flagを復号する(S1305)。そうでなければ(anyIvRefPicFlagが0)、照度補償フラグic_enable_flagに0を設定する(S1306)
 図52は、インター予測パラメータ復号部303F3で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。
 条件SF1101は、既に説明した式(F-1´)で表現される。
 条件SF1202は、以下の式で表現される。
 merge_flag[ x0 ][ y0 ] &&(merge_idx[ x0 ][ y0 ] != 0 || !ic_skip_mergeidx0_flag)   式(F-2´´´)
 条件SF1303は、既に説明した式(F-3)の式で表現される。
 変形例F3では、S1301~S1303で行われる式(F-2´´´)の判定により、マージモードの場合においても、ic_skip_mergeidx0_flagが1かつ、マージインデックスmerge_idxが所定の値である場合には、照度補償フラグic_enable_flagを復号せず0とする。これによりマージインデックスmerge_idxが動き予測であることが多いマージ候補であることを示す場合に、照度補償フラグic_enable_flagを復号するような無駄を防ぐことができる。変形例F3は変形例F2と異なりic_skip_mergeidx0_flagが1である場合にのみ、マージインデックスmerge_idxによる判定(マージ候補の特定)を行う。これは、参照ピクチャの構造、及びシーケンスによっては、マージインデックスmerge_idxが所定の値の場合にも、インターレイヤ予測の割合が高く、照度予測を行わないマージ候補の選定を行うと逆に符号化効率を低下させることがあるためである。
 図54は、特定マージインデックス照度補償スキップフラグic_skip_mergeidx0_flagの符号化データの構成を示す図である。図54のSF3004に示すとおり、スライスヘッダにおいて、スライス単位の照度補償フラグslice_ic_enable_flagが有効である場合に、ic_skip_mergeidx0_flagが符号化される。
 変形例F3では、変形例1の効果F1に加え、変形例2の効果F2に加え、さらに、マージフラグインデックスが所定の値以外の場合に限定する場合を、特定マージインデックス照度補償スキップフラグが有効である場合に限定することにより、特定マージインデックスの場合でもインターレイヤ予測が多く用いる場合には照度補償を用いることができる。参照ピクチャと符号化対象ピクチャとのピクチャ間隔が離れた場合のような、対象ピクチャでインターレイヤ予測が多く用いられる場合では、特定マージインデックスの場合でもインターレイヤ予測が多く用いるため、照度補償を有効に活用する効果を奏する(効果F3)。
 また、変形例F3の特定マージインデックス照度補償スキップフラグ導出部30319は、特定マージインデックス照度補償スキップフラグic_skip_mergeidx0_flagを符号化データから復号する。上記のようにマージフラグインデックスが所定の値以外の場合に限定するか否かを示すフラグを、符号化データから導出することによって、符号化装置で、ピクチャ構造や表示順序(POC)、シーケンスに応じて、照度予測を行わないマージ候補を設定するか否かを、設定することができるため、符号化効率が向上する効果を奏する。
 (特定マージインデックス照度補償スキップフラグ導出部30319B)
 変形例F3の別の構成として、ic_skip_mergeidx0_flagを符号化データから復号せず、表示順序(POC)から導出しても良い。以下、特定マージインデックス照度補償スキップフラグ導出部30319の代わりに、特定マージインデックス照度補償スキップフラグ導出部30319Bを用いる構成を説明する。
 図55は、階層参照構造と呼ばれる参照構造の場合の例を示す。この例は、周期8の場合であり、POCが0、8、4、2、1、3、6、4、7の順で符号化される。POCが8のピクチャでは、参照ピクチャは0であり、POCが4のピクチャでは、参照ピクチャは8と0、POCが2のピクチャでは、参照ピクチャは4と0、POCが1のピクチャでは、参照ピクチャは2と0である。この場合、POCが8のピクチャ(POC%8=0)の場合、最も時間間隔が短い参照ピクチャまでの距離(POCの差)は8であり、POCが4のピクチャ(POC%4=0)では4、POCが2のピクチャ(POC%2=0)では2、POCが1のピクチャ(POC%2=1)では1のように、POCに応じて、参照ピクチャまでの時間間隔が異なる。参照ピクチャまでの時間間隔が大きい場合、異なる時間の同じレイヤの参照ピクチャよりも、同じ時間の異なるレイヤの参照ピクチャの方が対象画像に近くなるため、参照ピクチャとして使用されやすい。すなわち、インターレイヤ画像が参照ピクチャとして使用されやすい(インターレイヤ予測が使用されやすい)。
 図56(a)は、特定マージインデックス照度補償スキップフラグ導出部30319Bの動作を示すフローチャートである。
S3007B 参照ピクチャと所定の値PERIOD(ここでは8)との剰余が0である場合には、同じレイヤの参照ピクチャの時間間隔が大きく、インターレイヤ予測が使用されやすいと判定し、ic_skip_mergeidx0_flagを0とする(S3008)。それ以外の場合には、ic_skip_mergeidx0_flagを1とする(S3009)。
 すなわち、以下の式によってic_skip_mergeidx0_flagを導出する。
 ic_skip_mergeidx0_flag = ((pic_order_count % PERIOD)== 0 )? 0 : 1
 従って、特定の周期ではic_skip_mergeidx0_flagが1となる。この場合に、上記の照度補償フラグ復号部30311F3によれば、マージインデックスが特定の値において照度補償フラグを符号化データから復号せずに0となる。
 (特定マージインデックス照度補償スキップフラグ導出部30319C)
 変形例F3のさらに別の構成として、ic_skip_mergeidx0_flagを符号化データから復号せず、表示順序(POC)と参照ピクチャリストに含まれる参照ピクチャとの距離に応じて導出しても良い。以下、特定マージインデックス照度補償スキップフラグ導出部30319の代わりに、特定マージインデックス照度補償スキップフラグ導出部30319Cを用いる構成を説明する。
 図56(b)は、特定マージインデックス照度補償スキップフラグ導出部30319Cの動作を示すフローチャートである。
S3007C 対象ピクチャのPOCと、参照ピクチャのPOCが大きい場合には、同じレイヤの参照ピクチャの時間間隔が大きく、インターレイヤ予測が使用されやすいと判定し、ic_skip_mergeidx0_flagを0とする(S3008)。それ以外の場合には、ic_skip_mergeidx0_flagを1とする(S3009)。
 参照ピクチャリストL0、L1に含まれる参照ピクチャを走査し、対象ピクチャと異なるレイヤの参照ピクチャの内、対象ピクチャに最も近いPOCの参照ピクチャaPicXを特定する。
 具体的には、対象ピクチャがcurrPicの場合、参照ピクチャリストL0、L1に含まれる参照ピクチャであって、対象ピクチャと同じレイヤのピクチャaPicにおいて、POC間隔
 DiffPicOrderCnt( aPic, currPic )
 が最小となるaPicである、aPicXを特定する。特定されたaPicXと、対象ピクチャとのPOC距離が所定の値THよりも大きい場合(ステップS3007CにおけるPOC間隔が大きい場合の判定)には、インターレイヤ予測が使用されやすいため、ic_skip_mergeidx0_flagを0とする。
 ic_skip_mergeidx0_flag = DiffPicOrderCnt( aPic, currPic ) > TH ? 0 : 1
 なお、上記条件は所定の値THよりも小さい場合(もしくは以下の場合)にic_skip_mergeidx0_flagを1とすることと等価である。
 特定マージインデックス照度補償スキップフラグ導出部は、特定マージインデックス照度補償スキップフラグを表示順序(POC)を用いて導出することを特徴とする。
 (特定マージインデックス照度補償スキップフラグ導出部30319D)
 変形例F3のさらに別の構成として、ic_skip_mergeidx0_flagを符号化データから復号せず、参照ピクチャにおいて、イントラ予測が用いられるか否かに応じて導出しても良い。以下、特定マージインデックス照度補償スキップフラグ導出部30319の代わりに、特定マージインデックス照度補償スキップフラグ導出部30319Dを用いる構成を説明する。
 図57は、特定マージインデックス照度補償スキップフラグ導出部30319Dの動作を示すフローチャートである。
S3007D 対象ブロックに対応する位置に属する、参照ピクチャのブロックにおいて、イントラ予測が用いられているかを判定する。イントラ予測が用いられている場合には、インターレイヤ予測が使用されやすいと判定し、ic_skip_mergeidx0_flagを0とする(S3008)。それ以外の場合には、ic_skip_mergeidx0_flagを1とする(S3009)。
 すなわち、以下の式によってic_skip_mergeidx0_flagを導出する。
 ic_skip_mergeidx0_flag = (PRED_MODE [x0][y0] of xxx is MODE_INTRA)? 0 : 1
 特定マージインデックス照度補償スキップフラグ導出部は、対象ブロックに対応する位置に属する、第1のレイヤ画像のブロックにおいて、イントラ予測が用いられているか否かに応じて、特定マージインデックス照度補償スキップフラグを導出することを特徴とする。
  (インター予測パラメータ復号部の変形例F4)
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F4を説明する。変形例F4では、追加予測として照度予測を行う場合を扱う。図58は、インター予測パラメータ復号制御部3031F4の構成を示すブロック図である。図58に示すように、インター予測パラメータ復号制御部3031F4は、照度補償フラグ復号部30311F4、分割モード復号部、マージフラグ復号部30317、マージインデックス復号部30312、インター予測フラグ復号部、参照ピクチャインデックス復号部30318、ベクトル候補インデックス復号部30313、ベクトル差分復号部、特定マージインデックス照度補償スキップフラグ導出部30319を備える。
 照度補償フラグ復号部30311F4は、照度補償フラグ判定部30314F4において照度補償フラグic_enable_flagが符号化データに含まれると判定される場合、符号化データから照度補償フラグic_enable_flagを復号し、逆に符号化データに含まれないと判定される場合には、符号化データの復号を行わずに、照度補償フラグic_enable_flagに0を設定する。
 図59は、照度補償フラグ復号部30311F4の動作を示すフローチャートである。
 S1400:分割モードpart_modeを参照し、part_modeが対象符号化ユニットを分割しないことを示す2N×2Nか否かを判定する。2N×2N以外の場合には、照度補償フラグic_enable_flagを0に設定する(S1406)。2N×2Nの場合にはS1401に遷移する。
S1401:マージフラグmerge_flagを参照し、対象ブロックがマージモードであるか否か(merge_flagが1であるか否か)を判定する。対象ブロックがマージモードであれば(merge_flag=1)、S1402に遷移し、マージモードでなければ(merge_flag=0)、S1404に遷移する。S1404:対象ブロックに隣接する隣接ブロックの参照ピクチャインデックスref_idx_LXを参照し、対象ブロックにインターレイヤ予測が含まれるかを判定する。隣接ブロックにインターレイヤ予測が含まれる場合(anyNeighIvRefPicFlagが1)には、符号化データから照度補償フラグic_enable_flagを復号する(S1405)。そうでなければ(anyNeighIvRefPicFlagが0)、照度補償フラグic_enable_flagに0を設定する(S1406)
 図60は、インター予測パラメータ復号部303F3で復号される符号化データの構成を示す図である。
 条件SF1101は、既に説明した式(F-1´)で表現される。
 条件SF1202は、以下の式で表現される。
 merge_flag[ x0 ][ y0 ] && anyNeighIvRefPicFlag   式(F-2´´´´)
 条件SF1003は、既に説明した式(F-3)の式で表現される。
 なお、式(F-2´´´´)中のanyNeighIvRefPicFlagは、対象ブロックの座標が[x0][y0]である場合において、以下の式をX=0、X=1に対して実行することで導出される(Y=1-X)。すなわち、式(F-8)では、参照リストLXにおいて、L0とL1の両方を参照することにより、インターレイヤ予測が用いられるか否かが導出される。
 anyIvRefPicFlag = anyIvRefPicFlag || inter_pred_idc[ x0-1 ][ y0 ] ! = Pred_LY && refViewIdxLX[ x0-1 ][ y0 ] ! = ViewIdx) ||       inter_pred_idc[ x0 ][ y0-1 ] ! = Pred_LY && refViewIdxLX[ x0 ][ y0-1 ] ! = ViewIdx)   式(F-8)
 ここで、座標[x0 - 1][y0]は、対象ブロックの左に隣接するブロックの座標、座標[x0][y0-1]は、対象ブロックの上に隣接するブロックの座標を示し、上記式は、対象ブロックの左に隣接するブロックもしくは、対象ブロックの上に隣接するブロックがインターレイヤ予測(refViewIdxLX とViewIdxが異なる場合)であれば、隣接ブロックにインターレイヤ予測を用いていると判定する。
 変形例F4では、予測ユニットがマージモードである場合には、対象ブロックの参照ピクチャインデックスref_idx_LXによらずに、対象ブロックに隣接するブロックの参照ピクチャインデックスref_idx_LXに応じて、照度補償フラグic_enable_flagを符号化データから復号するか否かを判定することにより、照度補償フラグic_enable_flagのパースに、対象ブロックのマージモードの予測パラメータ(参照ピクチャインデックスref_idx_LX)の導出が必要であるというパース依存性を解決する効果を奏する。
  (インター予測パラメータ復号部の変形例F5)
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F5を説明する。変形例F5では、追加予測として照度予測を行う場合を扱う。図61は、インター予測パラメータ復号制御部3031F5の構成を示すブロック図である。図61に示すように、インター予測パラメータ復号制御部3031F5は、照度補償フラグ復号部30311F5、参照ピクチャインデックス復号部30318を備える。
 照度補償フラグ復号部30311F5は、対象CUに含まれる予測ユニットにおいてL0予測でインターレイヤ予測が行われる場合(後述のanyIvRefPicFlagInL0が1)に照度補償フラグic_enable_flagを符号化データから復号する。それ以外の場合には、ic_enable_flagに0を設定する。
 図62は、照度補償フラグ復号部30311F5の動作を示すフローチャートである。
S1501:L0リストから導出される参照ピクチャを参照して、対象ブロックにインターレイヤ予測を行う予測ユニットが含まれるか(anyIvRefPicInL0Flag)を判定する。L0リストを用いた予測において、インターレイヤ予測を行う予測ユニットが含まれる場合(anyIvRefPicInL0Flagが1)には、符号化データから照度補償フラグic_enable_flagを復号する(S1505)。そうでなければ(anyIvRefPicInL0Flagが0)、照度補償フラグic_enable_flagに0を設定する(S1506)
 anyIvRefPicInL0Flagは、対象ブロック(対象CU)の座標が[x0][y0]である場合において、以下の式により導出する。式(F-8)と異なるL0の参照リストのみを参照するため、インターレイヤ予測を行う予測ユニットが含まれるか否かの判定が容易になる。
 anyIvRefPicInL0Flag = anyIvRefPicInL0Flag | |      
(inter_pred_idc[ x0 ][ y0 ] ! = Pred_L1 && refViewIdxL0[ x0 ][ y0 ] ! = ViewIdx) | |  
(inter_pred_idc[ x0 ][ y1 ] ! = Pred_L1 && refViewIdxL0[ x0 ][ y1 ] ! = ViewIdx) | | 
(inter_pred_idc[ x1 ][ y0 ] ! = Pred_L1 && refViewIdxL0[ x1 ][ y0 ] ! = ViewIdx) | |  
(inter_pred_idc[ x1 ][ y1 ] ! = Pred_L1 && refViewIdxL0[ x1 ][ y1 ] ! = ViewIdx)  式(F-8´)
 なお、インター予測フラグinter_pred_idcと予測リストフラグpredFlagLXは相互に対応するため、インターレイヤ予測が用いられるか否かの判定式として、式(F-8´)の代わりに以下の式を用いることもできる。
 anyIvRefPicInL0Flag = anyIvRefPicInL0Flag | |      
(prefFlagL0[ x0 ][ y0 ] == 1 && refViewIdxL0[ x0 ][ y0 ] ! = ViewIdx) ||
(prefFlagL0[ x0 ][ y1 ] == 1 && refViewIdxL0[ x0 ][ y1 ] ! = ViewIdx) ||
(prefFlagL0[ x1 ][ y0 ] == 1 && refViewIdxL0[ x1 ][ y0 ] ! = ViewIdx) || 
(prefFlagL0[ x1 ][ y1 ] == 1 && refViewIdxL0[ x1 ][ y1 ] ! = ViewIdx)   式(F-8´´)
 ここで、x1、y1は、対象CUに複数の予測ユニットが含まれている場合における予測ユニットの座標を示す。具体的には、座標[x0][x0]が1つ目の予測ユニット、座標[x0][y1]が2つ目の予測ユニット、座標[x1][y0]が3つ目の予測ユニット、座標[x1][y1]が3つ目の予測ユニットに対応する。インター予測フラグinter_pred_idc[][]は、予測ユニットの予測方向を示し、L0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)の何れかである。従って、インター予測フラグinter_pred_idc[][]がPred_L1ではないとは、L0予測もしくは双予測の場合を意味する。この時、L0の参照レイヤ(ここでは参照ビュー)をrefViewIdxL0により参照し、それが、対象レイヤ(対象ビュー)ViewIdx以外の場合に、L0予測にインターレイヤ予測が用いられることになる。上記式では、対象CUに含まれる全ての予測ユニットにおいて、インターレイヤ予測が用いられるか否かを示すinter_pred_idc[ x0 ][ y0 ] ! = Pred_L1 && refViewIdxL0[ x0 ][ y0 ] ! = ViewIdxの導出し、その和(||)を得ることによって、対象CUに含まれるいずれかの予測ユニットにおいて、L0の予測が行われるか否かを示す。
 なお、refViewIdxL0[ x0 ][ y ]は、座標[x][y]の予測ユニットがLXリストを用いて参照する参照ピクチャのビューIDを示す。式(F-6)のLXをL0に限定した以下の式により導出できる。
 refViewIdxLX[ x ][ y ] = ViewIdx of the RefPicListL0[ref_idx_l0[ x ][ y ]]   式(F-6´)
 式(F-8´)、式(F-8´´)では、L0の予測フラグpredFlagL0、L0の参照ピクチャインデックスref_idx_l0、L0参照ピクチャリストRefPicListL0のみを参照し、L1の予測フラグpredFlagL1、L1の参照ピクチャインデックスref_idx_l1、L1参照ピクチャリストRefPicListL1は参照しないため、インターレイヤ予測を行う予測ユニットが含まれるか否かの判定が容易になる。
 図63は、インター予測パラメータ復号部303F3で復号される符号化データの構成を示す図である。
 条件SF1502は、既に説明したanyIvRefPicInL0Flagを条件とするもので、以下の式で表現される。
 anyIvRefPicInL0Flag   式(F-2´´´´´)
 さらに、変形例5も変形例1´と同様に、符号化ユニットの分割モードが分割しないことを示す2N×2Nの場合に限定しても良い(変形例F5´と呼ぶ)。符号化データの構成においては、条件SF1001の代わりに、条件SF1101を用いる。また、anyIvRefPicInL0Flagでは、式(F-8)の代わりに、以下の式(F-9)を用いる。
 anyIvRefPicInL0Flag = (inter_pred_idc[ x0 ][ y0 ] ! = Pred_L1 && refViewIdxL0[ x0 ][ y0 ] ! = ViewIdx)   式(F-9)
 なお、インター予測フラグinter_pred_idcと予測リストフラグpredFlagLXは相互に対応するため、インターレイヤ予測が用いられるか否かの判定式として、式(F-9)の代わりに以下の式を用いることもできる。
 anyIvRefPicInL0Flag = (prefFlagL0[ x0 ][ y0 ] == 1 && refViewIdxL0[ x0 ][ y0 ] ! = ViewIdx)   式(F-9´)
 以上、式(F-9)、式(F-9´)の判定式によれば、式(F-8´)、式(F-8´´)同様、インターレイヤ予測が行われるか否かの判定を、L1の参照ピクチャの情報だけに基づいて行うため、インターレイヤ予測が行われるか否かの判定が容易になる。
 変形例F5の上記照度補償フラグ導出部は、照度補償フラグを導出する場合を、L0予測が行われる場合に限定することにより、照度補償フラグの符号量を削減する効果を奏する(効果F5a)。また、対象CUに含まれる予測ユニットにおいてインターレイヤ予測が行われるか否かの判定を、L1の参照ピクチャの情報だけに基づいて行うため、インターレイヤ予測が行われるか否かの判定が容易になる(効果F5aa)。また、従来は、双予測の場合に、L0リストを用いた参照ピクチャによる動き補償画像と、L1リストを用いた参照ピクチャによる動き補償画像の両者に照度補償を行う可能性があるが、照度補償フラグを導出する場合を、L0リストを用いた参照ピクチャが用いられる場合に限定することによって、2つの動き補償画像の両方に照度補償を行うことがなくなるため、処理量を低減する効果を奏する(効果F5b)。さらに、単に双予測の場合に、照度補償を禁止する場合と異なり、双予測の場合にも、L0リストを用いた参照ピクチャに対して照度補償が行われるため、限定による性能低下が殆ど生じないことが発明者の実験により得られている。
 照度補償をL0に限定する変形例F5は、既に説明した変形例1~変形例4と併用することができる。以下、変形例F6として、変形例5と変形例3を併用する場合のみを説明するが、他の例にも適用可能である。
  (インター予測パラメータ復号部の変形例F6)
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F6を説明する。変形例F6では、追加予測として照度予測を行う場合を扱う。インター予測パラメータ復号制御部3031F6は、照度補償フラグ復号部30311F6、参照ピクチャインデックス復号部30318を備える。
 以下、インター予測パラメータ復号部の変形例としてインター予測パラメータ復号部303F6を説明する。変形例F6では、追加予測として照度予測を行う場合を扱う。図64は、インター予測パラメータ復号制御部3031F3の構成を示すブロック図である。図64に示すように、インター予測パラメータ復号制御部3031F6は、照度補償フラグ復号部30311F6、分割モード復号部、マージフラグ復号部30317、マージインデックス復号部30312、インター予測フラグ復号部、参照ピクチャインデックス復号部30318、ベクトル候補インデックス復号部30313、ベクトル差分復号部、特定マージインデックス照度補償スキップフラグ導出部30319を備える。
 図65は、照度補償フラグ復号部30311F6の動作を示すフローチャートである。
S1601:マージフラグmerge_flagを参照し、対象ブロックがマージモードであるか否か(merge_flagが1であるか否か)を判定する。対象ブロックがマージモードであればマージモードであれば、S1602に遷移し、マージモードでなければ、S1604に遷移する。
S1602:特定マージインデックス照度補償スキップフラグic_skip_mergeidx0_flagが有効であるかを判定し、有効であればS1603に遷移。有効でなければ、符号化データから、照度補償フラグを復号する(S1605)。ic_skip_mergeidx0_flagは、特定マージインデックス照度補償スキップフラグ導出部30319で復号される(以下同様)。
S1603:マージインデックスmerge_idxを参照し、マージインデックスmerge_idxが所定の値であるか否かを判定する。所定の値の場合には、照度補償フラグic_enable_flagを0に設定する(S1606)。所定の値以外であれば、符号化データから、照度補償フラグic_enable_flagを復号する(S1605)
S1604:L0リストから導出される参照ピクチャを参照して、対象ブロックにインターレイヤ予測を行う予測ユニットが含まれるか(anyIvRefPicInL0Flag)を判定する。L0リストを用いた予測において、インターレイヤ予測を行う予測ユニットが含まれる場合(anyIvRefPicInL0Flagが1)には、符号化データから照度補償フラグic_enable_flagを復号する(S1605)。そうでなければ(anyIvRefPicInL0Flagが0)、照度補償フラグic_enable_flagに0を設定する(S1606)
 ここで、anyIvRefPicInL0Flagの導出方法、ic_skip_mergeidx0_flagの導出方法は、変形例F5において既に説明した通りである。
 図66は、インター予測パラメータ復号部303F6で復号される照度補償フラグic_enable_flagの符号化データの構成を示す図である。
 条件SF1101は、既に説明した式(F-1´)で表現される。
 条件SF1202は、既に説明した式(F-2´´)で表現される。
 条件SF1603は、次の式で表現される。
 !merge_flag && anyIvRefPicInL0Flag   式(F-2´´´´´´)
 変形例F6では、変形例1の効果F1、変形例2の効果F2、変形例3の効果F3に加え、変形例F6の効果F6aの効果を奏する。なお、変形例F6では、対象ブロックがマージモードである場合においては、参照ピクチャインデックスによる限定を行わない。従って、対象ブロックがマージモードの場合には、照度予測を用いる場合をL0リストを用いた参照ピクチャが用いられる場合に必ずしも限定されない。しかしながら、後述の照度補償部3093Fもしくは照度補償部3093Gを用いることによりL0制限により処理量を低減する効果を奏する(効果F5b)ことができる。
  <残差格納部313>
 残差格納部313は、逆量子化・逆DCT部311において、第1レイヤ画像(ベースレイヤ、ベースビュー)に対して導出された残差信号を格納する。図38は、残差格納部313の構成を示す図である。
 図38(a)は、残差予測部3092において、参照レイヤで得られた残差の値の範囲を制限して読み出す場合に対応する残差格納部313の構成である。残差格納部313は、残差値域制限部3131、残差格納メモリ3132、残差読み出し部3133から構成される。残差値域制限部3131は、画素のビット幅をbitDepthYとする場合に、残差の範囲を-1<<(BitDepthY-1)~(1<<(BitDepthY-1))-1に制限して残差格納メモリ3132に格納する。残差読み出し部3133は、残差格納メモリ3132に格納された残差を読み出す。
具体的には、以下の式のように、残差格納メモリ3132のメモリresStoreSamplesに、残差resSamples を記録する。
 resStoreSamples[ x ][ y ]= clip3(xmin, xmax, resSamples[ x ][ y ]
 ここで、xmin=-(1<<(BitDepthY-1))、xmax = (1<<(BitDepthY-1))-1、x、yは、格納先の座標である。xは0以上、width - 1以下の整数、yは0以上、height - 1)以下の整数、widthとheightは画面の幅と高さである。
 残差格納メモリ3132は、残差をBitDepthYのビット幅で格納する。
 残差読み出し部3133は、残差格納メモリ3132に記録した残差を以下のように読み出す。
 refResSamples[ x ][ y ]= ]=]=resStoreSamples[ x ][ y ]
 図38(b)は、残差格納部313の変形例である残差格納部313Aを示す図であり、残差予測部3092Aにおいて、参照レイヤの残差を読み出す際に、水平方向もしくは/かつ垂直方向の解像度を所定の倍率をNとしてN分の1に間引いた位置の画素を参照する場合に対応する。残差格納部313Aは、残差縮小部3131A、残差格納メモリ3132、残差伸長部3133Aを備える。
 残差縮小部3131Aは、画素のビット幅をbitDepthYとする場合に、残差の範囲を-(1<<(BitDepthY-1))~(1<<(BitDepthY-1))-1に制限した上で、N分の1に間引いた位置の画素の残差を残差格納メモリ3132に格納する。具体的には、以下の式のように、残差格納メモリ3132のメモリresStoreSamplesに、残差resSamples のN分の1に間引いた位置のサンプルを記録する。但しN=1<<Kを満たす定数。
 resStoreSamples[ x ][ y ]= clip3(xmin, xmax, resSamples[ N*x ][ N*y ])
 ここで、xmin=-(1<<(BitDepthY-1))、xmax = (1<<(BitDepthY-1))-1、x、yは、格納先の座標である。xは0以上、(width + N - 1) / N以下の整数、yは0以上、(height + N - 1) / N以下の整数。widthとheightは画面の幅と高さである。
 残差格納メモリ3132は、残差をBitDepthYのビット幅で格納する。
 残差伸長部3133Aは、残差格納メモリ3132に記録した残差を以下のように読み出す。
 refResSamples[ x ][ y ] = resStoreSamples[ x/N ][ y/N ]
 ここで、x、yは、読み出し先の座標である。残差格納メモリ3132では空間方向に縮小されているため、読み出し先の座標(x, y)は、残差格納メモリ3132上の(x/N, y/N)に対応する。なお、この読み出し時に、線形補間などの補間処理を行っても良い。
  (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図39は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、加算部106、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111、残差格納部313(残差記録部)を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。
 予測画像生成部101は、外部から入力されたレイヤ画像Tの視点毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックPを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から参照ピクチャブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部101は、符号化対象ブロックを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いて予測ピクチャブロックPを生成する。予測画像生成部101は、生成した予測ピクチャブロックPを減算部102に出力する。なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作であるため予測ピクチャブロックPの生成の詳細は省略する。
 予測画像生成部101は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックPの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。予測方式を選択する方法は、これには限られない。
 符号化対象のピクチャがベースビューピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測及びマージ予測である。動き予測とは、上述のインター予測のうち、表示時刻間の予測である。マージ予測とは、既に符号化されたブロックであって、符号化対象ブロックから予め定めた範囲内にあるブロックと同一の参照ピクチャブロック及び予測パラメータを用いる予測である。符号化対象のピクチャがノンベースビューピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測、マージ予測、及び変位予測である。変位予測(視差予測)とは、上述のインター予測のうち、別レイヤ画像(別視点画像)間の予測である。さらに、動き予測、マージ予測、及び変位予測である。変位予測(視差予測)に対して、追加予測(残差予測および照度補償)を行う場合と行わない場合の予測がある。
 予測画像生成部101は、イントラ予測を選択した場合、予測ピクチャブロックPを生成する際に用いたイントラ予測モードを示す予測モードpredModeを予測パラメータ符号化部111に出力する。
 予測画像生成部101は、動き予測を選択した場合、予測ピクチャブロックPを生成する際に用いた動きベクトルmvLXを予測パラメータメモリ108に記憶し、インター予測パラメータ符号化部112に出力する。動きベクトルmvLXは、符号化対象ブロックの位置から予測ピクチャブロックPを生成する際の参照ピクチャブロックの位置までのベクトルを示す。動きベクトルmvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ピクチャ順序番号POC)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部101は、インター予測モードを示す予測モードpredModeを予測パラメータ符号化部111に出力する。
 予測画像生成部101は、変位予測を選択した場合、予測ピクチャブロックPを生成する際に用いた変位ベクトルを予測パラメータメモリ108に記憶し、インター予測パラメータ符号化部112に出力する。変位ベクトルdvLXは、符号化対象ブロックの位置から予測ピクチャブロックPを生成する際の参照ピクチャブロックの位置までのベクトルを示す。変位ベクトルdvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ビューIDview_id)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部101は、インター予測モードを示す予測モードpredModeを予測パラメータ符号化部111に出力する。
 予測画像生成部101は、マージ予測を選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部112に出力する。また、予測画像生成部101は、マージ予測モードを示す予測モードpredModeを予測パラメータ符号化部111に出力する。
 上記の、動き予測、変位予測、マージ予測において、予測画像生成部101は、追加予測として残差予測を行う場合には、既に説明したように予測画像生成部101に含まれる残差予測部3092において残差予測を行い、追加予測として照度補償を行う場合には、既に説明したように予測画像生成部101に含まれる照度補償部3093において照度補償予測を行う。
 上記構成の残差予測部3092を含む動画像符号化装置によれば、対象レイヤの残差の推定において、参照レイヤで得られた残差の値の範囲を制限して読み出す。これにより、残差格納部313では、残差として、制限した範囲の値のみを格納すれば良いため、残差を記録するためのメモリ量を低下させる効果を奏する。
 なお、残差予測部3092の代わりに、残差予測部3092Bを用いても良い。残差予測部3092Bを含む動画像符号化装置によれば、予測残差の導出において、輝度成分のみ残差の線形補間を行い、色差成分では、残差の線形補間を行わないことにより、予測残差の導出に用いる処理量を削減する効果を奏する。
 なお、残差予測部3092の代わりに、残差予測部3092Cを用いても良い。残差予測部3092Cを含む動画像符号化装置によれば、予測残差の導出において、色差成分の残差に必要なビット数を削減することができるため、色差成分の残差を格納するメモリサイズを低減する効果を奏する。
 なお、残差予測部3092の代わりに、残差予測部3092Dを用いても良い。残差予測部3092Dを含む動画像符号化装置によれば、予測残差の導出において、色差成分の残差を格納するメモリサイズを省略する効果を奏する。
 なお、照度補償部3093の代わりに、照度補償部3093Bを用いても良い。照度補償部3093Bを含む動画像符号化装置によれば、画素ビット深度に応じて積算シフト値precShiftを用いて、積の和であるxyおよびxxを導出するため、所定の範囲、例えば32ビットの範囲で第1パラメータと第2パラメータを導出することが可能であり、処理が容易になる効果を奏する。
 なお、照度補償部3093の代わりに、照度補償部3093Cを用いても良い。照度補償部3093Cを含む動画像符号化装置によれば、共通シフト部3093162Cにより第1パラメータ、第2パラメータの両者とともに同じ正規化シフト値を用いて、値を正規化することため、処理が容易になるという効果を奏する。
 なお、照度補償部3093の代わりに、照度補償部3093Dを用いても良い。照度補償部3093Dを含む動画像符号化装置によれば、復号画像の画素値と参照画像の画素値の積の和XYと、復号画像の画素値の和Yと参照画像の画素値の和Xの積から導出される第1パラメータa1から導出される値と、参照画像の画素値の2乗の和XXと、参照画像の画素値の和Xの2乗から導出される第2パラメータa2から導出される値との比較により、パラメータaを導出する。第2パラメータの逆数を引くテーブルinvTable[]を用いる必要が無いため処理が容易になる効果を奏する。
 なお、照度補償部3093の代わりに、照度補償部3093Eを用いても良い。照度補償部3093Eを含む動画像符号化装置によれば、正則化項が加算された第1パラメータa1と第2パラメータa2からパラメータaを導出する。これにより、パラメータaが実質的に1に近くなる(実際には1<<iShiftに近くなる)ことにより、外れ値などがある場合において、推定されるパラメータが頑健になる。推定されるパラメータが頑健になることによって、照度補償の推定精度が向上し、符号化効率が向上する効果を奏する。
 なお、照度補償部3093の代わりに、照度補償部3093Fを用いても良い。照度補償部3093Fを含む動画像符号化装置によれば、照度予測を用いる場合をL0リストを用いた参照ピクチャが用いられる動き補償画像に限定する(L0限定)のため性能を維持しながら(効果F5c)、処理量を低減する効果を奏する(効果F5b)
 (予測画像生成部101の別の形態)
 予測画像生成部101の別の形態では、残差予測部3092の代わりに、残差予測部3092Aを備える。上記の構成によれば、残差の参照位置を制限して読み出すことにより、残差格納部313において、参照する位置の残差のみを格納すれば良いため、残差を記録するためのメモリ量を低下させるという効果を奏する。
 減算部102は、予測画像生成部101から入力された予測ピクチャブロックPの信号値を、外部から入力されたレイヤ画像Tの対応するブロックの信号値から画素毎に減算して、残差信号を生成する。減算部102は、生成した残差信号をDCT・量子化部103と符号化パラメータ決定部110に出力する。
 DCT・量子化部103は、減算部102から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部103は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部103は、求めた量子化係数をエントロピー符号化部104及び逆量子化・逆DCT部105に出力する。
 エントロピー符号化部104には、DCT・量子化部103から量子化係数が入力され、符号化パラメータ決定部110から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
 エントロピー符号化部104は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
 逆量子化・逆DCT部105は、DCT・量子化部103から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部105は、求めたDCT係数について逆DCTを行い、復号残差信号を算出する。逆量子化・逆DCT部105は、算出した復号残差信号を加算部106に出力する。
 加算部106は、予測画像生成部101から入力された予測ピクチャブロックPの信号値と逆量子化・逆DCT部105から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部106は、生成した参照ピクチャブロックを参照ピクチャメモリ109に記憶する。
 予測パラメータメモリ108は、予測パラメータ符号化部111が生成した予測パラメータを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
 参照ピクチャメモリ109は、加算部106が生成した参照ピクチャブロックを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
 符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いて予測ピクチャブロックPを生成する。
 符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。
 予測パラメータ符号化部111は、予測画像生成部101から入力されたパラメータに基づいて予測ピクチャを生成する際に用いる予測パラメータを導出し、導出した予測パラメータを符号化して符号化パラメータのセットを生成する。予測パラメータ符号化部111は、生成した符号化パラメータのセットをエントロピー符号化部104に出力する。
 予測パラメータ符号化部111は、生成した符号化パラメータのセットのうち符号化パラメータ決定部110が選択したものに対応する予測パラメータを予測パラメータメモリ108に記憶する。
 予測パラメータ符号化部111は、予測画像生成部101から入力された予測モードpredModeがインター予測モードを示す場合、インター予測パラメータ符号化部112を動作させる。予測パラメータ符号化部111は、予測モードpredModeがイントラ予測モードを示す場合、イントラ予測パラメータ符号化部113を動作させる。
 インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいてインター予測パラメータを導出する。インター予測パラメータ符号化部112は、インター予測パラメータを導出する構成として、インター予測パラメータ復号部303(図5等、参照)がインター予測パラメータを導出する構成と同一の構成を含む。インター予測パラメータ符号化部112の構成については、後述する。
 イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力された予測モードpredModeが示すイントラ予測モードIntraIntraPredModeをインター予測パラメータのセットとして定める。
  (インター予測パラメータ符号化部の構成)
 次に、インター予測パラメータ符号化部112の構成について説明する。インター予測パラメータ符号化部112は、インター予測パラメータ復号部303に対応する手段である。
 図40は、本実施形態に係るインター予測パラメータ符号化部112の構成を示す概略図である。
 インター予測パラメータ符号化部112は、インター予測パラメータ符号化制御部1031、マージ予測パラメータ導出部1121、AMVP予測パラメータ導出部1122、減算部1123、及び予測パラメータ統合部1126を含んで構成される。
 マージ予測パラメータ導出部1121は、上述のマージ予測パラメータ導出部3036(図7参照)と同様な構成を有する。
 インター予測パラメータ符号化制御部1031は、インター予測に関連する符号(シンタックス要素の復号をエントロピー符号化部104に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを符号化する。
 インター予測パラメータ符号化制御部1031は、図41に示すように、追加予測フラグ符号化部10311、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313、及び図示しない、分割モード符号化部、マージフラグ符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル差分符号化部を含んで構成される。分割モード符号化部、マージフラグ符号化部、マージインデックス符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル候補インデックス符号化部10313、ベクトル差分符号化部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを符号化する。
 追加予測フラグ符号化部10311は、追加予測が行われるか否かを示すフラグxpred_flagを符号化する。追加予測フラグ符号化部10311は、内部に、追加予測フラグ判定部30314を備える。追加予測フラグ判定部30314は、既に説明したように、追加予測フラグxpred_flagが符号化データに含まれるか否かを判定する。追加予測フラグ判定部30314において、追加予測フラグが符号化データに含まれると判定された場合には、追加予測フラグ符号化部10311は、エントロピー符号化部104に、追加予測フラグの復符号化を通知し、エントロピー符号化104を通じて符号化データ中に、追加予測フラグに対応するシンタックス要素を符号化する。逆に、追加予測フラグ判定部30314において、符号化データに含まれない判定した場合には、追加予測フラグ符号化部10311は、符号化データ中に、対応符号化単位(CU)に対応する追加予測フラグを符号化しない。
 マージ予測パラメータ導出部1121には、予測画像生成部101から入力された予測モードpredModeがマージ予測モードを示す場合、符号化パラメータ決定部110からマージインデックスmerge_idxが入力される。マージインデックスmerge_idxは、予測パラメータ統合部1126に出力される。マージ予測パラメータ導出部1121は、マージ候補のうちマージインデックスmerge_idxが示す参照ブロックの参照ピクチャインデックスrefIdxLX、ベクトルmvLXを予測パラメータメモリ108から読み出す。マージ候補とは、符号化対象となる符号化対象ブロックから予め定めた範囲にある参照ブロック(例えば、符号化対象ブロックの左下端、左上端、右上端に接する参照ブロックのうち)であって、符号化処理が完了した参照ブロックである。
 AMVP予測パラメータ導出部1122は、上述のAMVP予測パラメータ導出部3032(図8参照)と同様な構成を有する。
 AMVP予測パラメータ導出部1122には、予測画像生成部101から入力された予測モードpredModeがインター予測モードを示す場合、符号化パラメータ決定部110からベクトルmvLXが入力される。AMVP予測パラメータ導出部1122は、入力されたベクトルmvLXに基づいて予測ベクトルmvpLXを導出する。AMVP予測パラメータ導出部1122は、導出した予測ベクトルmvpLXを減算部1123に出力する。なお、参照ピクチャインデックスrefIdx及びベクトルインデックスmvp_LX_idxは、予測パラメータ統合部1126に出力される。
  (インター予測パラメータ符号化部の変形例A)
 以下、インター予測パラメータ符号化部の変形例としてインター予測パラメータ符号化部1031Aを説明する。インター予測パラメータ符号化部1031Aは、追加予測フラグ符号化部10311A、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313を備える。追加予測フラグ符号化部10311Aは内部に追加予測フラグ判定部30314Aを含んで構成される。
 インター予測パラメータ符号化部1031A、追加予測フラグ符号化部10311Aは、既に説明した、インター予測パラメータ復号部303A、追加予測フラグ復号部30311Aに対応する手段であり、追加予測フラグ判定部30314Aでの追加予測フラグ
を符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303Aでは、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031Aでは、追加予測フラグの符号化を行う。
 以上の変形例Aの構成では、追加予測フラグを2つ用いる場合に、2つ目の追加予測フラグが存在するか否かの判定を、1つ目の追加予測フラグの値(例えばres_pred_flag)に基づいて行うため、2つ目の追加予測フラグが存在するか否かの判定の判定を各PUの予測パラメータ(例えば、disparity_pred_exists)をチェックすることなく行えるため、追加予測フラグの復号処理が容易になるという効果を奏する。
  (インター予測パラメータ符号化部の変形例A2)
 以下、インター予測パラメータ符号化部の変形例としてインター予測パラメータ符号化部1031A2を説明する。インター予測パラメータ符号化部1031A2は、追加予測フラグ符号化部10311A2、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313を備える。追加予測フラグ符号化部10311A2は内部に追加予測フラグ判定部30314A2を含んで構成される。
 インター予測パラメータ符号化部1031A2、追加予測フラグ符号化部10311A2は、既に説明した、インター予測パラメータ復号部303A2、追加予測フラグ復号部30311A2に対応する手段であり、追加予測フラグ判定部30314A2での追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303A2では、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031A2では、追加予測フラグの符号化を行う。
 以上の変形例A2の構成では、1つ目のフラグが存在するか否かの判定には、PUが変位予測を含むか否かの判定disparity_pred_existsが1であるかを用い、2つ目のフラグが存在するか否かの判定には、PUが動き予測を含むか否かの判定disparity_pred_existsが0であるかを用いる。以上の判定では、2つ目の追加予測フラグが存在するか否かの判定を、1つ目の追加予測フラグが存在する否かの判定に用いた値に基づいて行うため、2つ目の追加予測フラグが存在するか否かの判定の判定を各PUの予測パラメータをチェックすることなく行えるため、追加予測フラグの復号処理が容易になるという効果を奏する。
  (インター予測パラメータ符号化部の変形例B)
 以下、インター予測パラメータ符号化部の変形例としてインター予測パラメータ符号化部1031Bを説明する。インター予測パラメータ符号化部1031Bは、追加予測フラグ符号化部10311B、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313を備える。追加予測フラグ符号化部10311Bは内部に追加予測フラグ判定部30314Bを含んで構成される。
 インター予測パラメータ符号化部1031B、追加予測フラグ符号化部10311Bは、既に説明した、インター予測パラメータ復号部303B、追加予測フラグ復号部30311Bに対応する手段であり、追加予測フラグ判定部30314Bでの追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303Bでは、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031Bでは、追加予測フラグの符号化を行う。
 以上の変形例Bによれば、追加予測フラグ判定部30314Bにおいて、対象CUに含まれる全てのPUの予測パラメータをチェックすることなく、先頭PUの予測パラメータのみをチェックすれば良いため、追加予測フラグxpred(ここでは、残差予測フラグres_pred_flagと照度補償フラグic_enable_flag)が符号化データに含まれるか否かをチェックする処理が容易になるという効果を奏する。
  (インター予測パラメータ符号化部の変形例C)
 以下、インター予測パラメータ符号化部の変形例としてインター予測パラメータ符号化部1031Cを説明する。インター予測パラメータ符号化部1031Cは、追加予測フラグ符号化部10311C、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313を備える。追加予測フラグ符号化部10311Bは内部に追加予測フラグ判定部30314Cを含んで構成される。
 インター予測パラメータ符号化部1031C、追加予測フラグ符号化部10311Cは、既に説明した、インター予測パラメータ復号部303C、追加予測フラグ復号部30311Cに対応する手段であり、追加予測フラグ判定部30314Cでの追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303Cでは、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031Cでは、追加予測フラグの符号化を行う。
 以上の構成の追加予測フラグ符号化部10311Cによれば、追加予測フラグを残差予測フラグと照度補償フラグに共通の共用フラグとすることにより、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。また、追加予測フラグとして、2つのフラグ(残差予測フラグと照度補償フラグ)の代わりに1つのフラグを符号化データ中に含めるため、フラグの符号量が減少する効果を奏する。
  (インター予測パラメータ符号化部の変形例D)
 以下、インター予測パラメータ符号化部の変形例としてインター予測パラメータ符号化部1031Dを説明する。インター予測パラメータ符号化部1031Dは、追加予測フラグ符号化部10311D、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313を備える。追加予測フラグ符号化部10311Bは内部に追加予測フラグ判定部30314Cを含んで構成される。追加予測フラグ符号化部10311Dは内部に追加予測フラグ判定部30314Dを含んで構成される。
 インター予測パラメータ符号化部1031D、追加予測フラグ符号化部10311Dは、既に説明した、インター予測パラメータ復号部303D、追加予測フラグ復号部30311Dに対応する手段であり、追加予測フラグ判定部30314Dでの追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303Dでは、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031Dでは、追加予測フラグの符号化を行う。
  (インター予測パラメータ復号部の変形例D2)
 以下、インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031D2を説明する。インター予測パラメータ符号化部1031D2は、追加予測フラグ符号化部10311D2、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311D2は内部に追加予測フラグ判定部30314D2を含んで構成される。追加予測フラグ符号化部10311Dは内部に追加予測フラグ判定部30314D2を含んで構成される。
 インター予測パラメータ符号化部1031D2、追加予測フラグ符号化部10311D2は、既に説明した、インター予測パラメータ復号部303D2、追加予測フラグ復号部30311D2に対応する手段であり、追加予測フラグ判定部30314D2での追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303D2では、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031D2では、追加予測フラグの符号化を行う。
 以上の構成の追加予測フラグ符号化部10311D、追加予測フラグ符号化部10311D2によれば、追加予測フラグをマージモードの場合に限定し、さらに、PU単位のフラグとすることにより、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、追加予測フラグ復号部30311D2によれば、追加予測フラグを、マージインデックスmerge_idxが、インターレイヤマージ候補(インタービューマージ候補)を示す所定の値の場合のみに符号化することにより、追加予測が有効ではない場合に、追加予測フラグを符号化データに含めることがないため、符号化効率が向上するという効果を奏する。
  (インター予測パラメータ符号化部の変形例D3)
 以下、インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031D3を説明する。インター予測パラメータ符号化部1031D3は、追加予測フラグ符号化部10311D3、マージインデックス符号化部30312D3、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311D3は内部に追加予測フラグ判定部30314D3を含んで構成される。追加予測フラグ符号化部10311D3は内部に追加予測フラグ判定部30314D3を含んで構成される。
 インター予測パラメータ符号化部1031D3、追加予測フラグ符号化部10311D3は、既に説明した、インター予測パラメータ復号部303D3、追加予測フラグ復号部30311D3に対応する手段であり、追加予測フラグ判定部30314D3での追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303D3では、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031D3では、追加予測フラグの符号化を行う。
 以上の構成のインター予測パラメータ符号化部1031D3によれば、追加予測フラグをマージモードの場合に限定し、さらに、PU単位のフラグとすることにより、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、追加予測フラグを、マージインデックスmerge_idxの前に符号化し、追加予測フラグが有効である場合には、マージインデックスmerge_idxの範囲を制限する(例えば1候補の場合には、マージインデックスを含めない)ことにより、追加予測が有効ではある場合に有効ではないマージインデックスを符号化しないため、符号化効率向上の効果を奏する。
  (インター予測パラメータ符号化部の変形例D4)
 以下、インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031D4を説明する。インター予測パラメータ符号化部1031D4は、追加予測フラグ符号化部10311D4、マージインデックス符号化部30312D4、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311D4は内部に追加予測フラグ判定部30314D4を含んで構成される。追加予測フラグ符号化部10311D4は内部に追加予測フラグ判定部30314D4を含んで構成される。
 インター予測パラメータ符号化部1031D4、追加予測フラグ符号化部10311D4は、既に説明した、インター予測パラメータ復号部303D4、追加予測フラグ復号部30311D4に対応する手段であり、追加予測フラグ判定部30314D4での追加予測フラグを符号化データに含まれるか否かの判定方法は同じである。なお、インター予測パラメータ復号部303D4では、追加予測フラグを符号化データに含まれる場合、追加予測フラグの復号を行うが、インター予測パラメータ符号化部1031D4では、追加予測フラグの符号化を行う。
 以上の構成のインター予測パラメータ復号部303D4によれば、追加予測フラグをCU単位のフラグとするが、追加予測フラグが符号化データに存在するか否かの判定において、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなる、そのためパース依存性の課題を解決する効果を奏する。さらに、変形例D3と同様、マージインデックスmerge_idxの前に符号化される追加予測フラグを利用して、追加予測フラグが1である場合(追加予測を用いる場合)には、マージインデックスmerge_idxの範囲を制限する(例えば1候補の場合には、マージインデックスを含めない)ことにより、追加予測が有効ではある場合に有効ではないマージインデックスを符号化しないため、符号化効率向上の効果を奏する。
  (画像符号化装置11の変形例E)
 以下、画像符号化装置11の変形例を説明する。以下の変形例では、インター予測パラメータ符号化部112の代わりに、インター予測パラメータ符号化部1031Eを備え、マージ予測パラメータ導出部3036の代わりに、マージ予測パラメータ導出部3036Eを備える。それ以外の手段は、インター予測パラメータ符号化部112と同じであるため説明を省略する。
 以上の構成の画像符号化装置11によれば、追加予測を行うか否かの判定に、専用のシンタックス要素である追加予測フラグを用いることなく、予測パラメータを選択するためのインデックス(ここではマージインデックス)を用いる。この場合、追加予測フラグをCU単位のフラグもしくはPU単位のフラグとして含めないため、追加予測フラグが符号化データに存在するか否かの判定が不要になる、すなわち、追加予測フラグの符号化のために、PUの予測パラメータを参照することがないため、予測パラメータとフラグの間の依存関係がなくなり、パース依存性の課題が解決される。これにより、追加予測フラグの復号処理が容易になるという効果を奏する。さらに、マージ候補導出部30361Eで追加予測を行うマージ候補と、追加予測を行わないマージ候補を導出することにより、追加予測を行うか否かはマージ候補の一つとして選択することになる。これにより、追加予測が有効ではない場合において、PU単位で追加予測を行うか否かを選択することができるため、符号化効率が向上する。また、追加予測が効果的である予測パラメータの場合、例えば、インターレイヤマージ候補(動き予測)に限定して、追加予測を行うマージ候補を導出するため、追加予測が効果的ではない予測パラメータの場合に、追加予測を行う候補を設けることがないため、符号化効率が向上する。
  (インター予測パラメータ符号化部の変形例F1)
 インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031F1を用いても良い。インター予測パラメータ符号化部1031F1は、追加予測フラグ符号化部10311F1、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。
  (インター予測パラメータ符号化部の変形例F2)
 インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031F2を用いても良い。インター予測パラメータ符号化部1031F2は、追加予測フラグ符号化部10311F2、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311F2は追加予測フラグ判定部30314F2を備える。
  (インター予測パラメータ符号化部の変形例F3)
 インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031F3を用いても良い。インター予測パラメータ符号化部1031F3は、追加予測フラグ符号化部10311F3、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311F3は追加予測フラグ判定部30314F3を備える。
  (インター予測パラメータ符号化部の変形例F4)
 インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031F4を用いても良い。インター予測パラメータ符号化部1031F4は、追加予測フラグ符号化部10311F4、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311F4は追加予測フラグ判定部30314F4を備える。
  (インター予測パラメータ符号化部の変形例F5)
 インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031F5を用いても良い。インター予測パラメータ符号化部1031F5は、追加予測フラグ符号化部10311F5、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311F5は追加予測フラグ判定部30314F5を備える。
  (インター予測パラメータ符号化部の変形例F6)
 インター予測パラメータ符号化部の別の変形例としてインター予測パラメータ符号化部1031F5を用いても良い。インター予測パラメータ符号化部1031F6は、追加予測フラグ符号化部10311F6、マージインデックス符号化部30312、ベクトル候補インデックス符号化部30313を備える。追加予測フラグ符号化部10311F6は追加予測フラグ判定部30314F6を備える。
 減算部1123は、符号化パラメータ決定部110から入力されたベクトルmvLXからAMVP予測パラメータ導出部1122から入力された予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXは予測パラメータ統合部1126に出力する。
 予測画像生成部101から入力された予測モードpredModeがマージ予測モードを示す場合には、予測パラメータ統合部1126は、符号化パラメータ決定部110から入力されたマージインデックスmerge_idxをエントロピー符号化部104に出力する。
 予測画像生成部101から入力された予測モードpredModeがインター予測モードを示す場合には、予測パラメータ統合部1126は、次の処理を行う。
 予測パラメータ統合部1126は、符号化パラメータ決定部110から入力された参照ピクチャインデックスrefIdxLX及びベクトルインデックスmvp_LX_idx、減算部1123から入力された差分ベクトルmvdLXを統合する。予測パラメータ統合部1126は、統合した符号をエントロピー符号化部104に出力する。
 なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、予測パラメータ復号部302、予測画像生成部101、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、符号化パラメータ決定部110、予測パラメータ符号化部111、エントロピー復号部301、予測パラメータ復号部302、予測画像生成部308、逆量子化・逆DCT部311をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11-11h、画像復号装置31-31hのいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
 以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
〔まとめ〕
 第1の構成の画像復号装置によれば、照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードである場合に、照度補償フラグを符号化データから復号し、上記予測ユニットがAMVPモードである場合には、上記予測ユニットの参照ピクチャインデックスがインターレイヤ予測を示す場合には、照度補償フラグを符号化データから復号し、上記の何れでもない場合には、照度補償フラグを符号化データから復号せずに照度補償を行わない、として導出することを特徴とする。
 上記の第1の構成によれば、予測ユニットがマージモードである場合には、参照ピクチャインデックスによらずに、照度補償フラグを符号化データから復号することにより、マージモードの場合の、予測パラメータである参照ピクチャインデックスの導出が必要であるというパース依存性を解決する効果を奏する。
 第2の構成の画像復号装置によれば、照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、符号化ユニットの分割モードが分割しないことを示す、2N×2Nである場合に、照度補償フラグを符号化データから復号し、それ以外の場合には、照度補償フラグを符号化データから復号せずに照度補償を行わない、として導出することを特徴とする。
 上記のように、照度補償フラグを符号化する場合を符号化ユニットの分割モードが特定のモードの場合に限定することにより、照度補償フラグの符号量を削減する効果を奏する。
  第3の構成の画像復号装置によれば、照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償部は、上記参照画像が、参照ピクチャリストL0を用いて指定された参照画像である場合に照度補償を行い、上記参照画像が、参照ピクチャリストL0以外を用いて指定された参照画像である場合には照度補償を行わないことを特徴とする。
 上記のように、照度補償を行う場合を限定することにより、照度補償の処理量を削減する効果を奏する。
 第4の構成の画像復号装置によれば、照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、
、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードでありマージフラグインデックスが所定の値以外の場合に、照度補償フラグを符号化データから復号し、上記予測ユニットがAMVPモードである場合には、上記予測ユニットの参照ピクチャインデックスがインターレイヤ予測を示す場合には、照度補償フラグを符号化データから復号し、上記の何れでもない場合には、照度補償フラグを符号化データから復号せずに照度補償を行わない、として導出することを特徴とする。
 上記のように、予測ユニットがマージモードである場合には、参照ピクチャインデックスによらずに、照度補償フラグを符号化データから復号することにより、マージモードの場合の、予測パラメータである参照ピクチャインデックスの導出が必要であるというパース依存性を解決する効果を奏する。また、マージモードである場合にもマージフラグインデックスが所定の値以外の場合に限定して、照度補償フラグを復号(符号化)することにより、照度補償フラグの符号量を削減する効果を奏する。
 第5の構成の画像復号装置によれば、特定マージインデックススキップフラグを導出する、特定マージインデックス照度補償スキップフラグ導出部を備え、
 上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードでありマージフラグインデックスが所定の値以外の場合かつ上記特定マージインデックス照度補償スキップフラグが有効ではない場合、に、照度補償フラグを符号化データから復号し、上記予測ユニットがAMVPモードである場合には、上記予測ユニットの参照ピクチャインデックスがインターレイヤ予測を示す場合には、照度補償フラグを符号化データから復号し、上記の何れでもない場合には、照度補償フラグを符号化データから復号せずに照度補償を行わない、として導出することを特徴とする。
 第6の構成の画像復号装置によれば、特定マージインデックス照度補償スキップフラグ導出部は、特定マージインデックス照度補償スキップフラグを符号化データから復号することを特徴とする。
 上記のようにマージフラグインデックスが所定の値以外の場合に限定するか否かを示すフラグを、符号化データから導出することによって、符号化装置で、ピクチャ構造や表示順序(POC)、シーケンスに適した、設定することができるため、符号化効率が向上する効果を奏する。
 第7の構成の画像復号装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照ピクチャ上の参照画像領域と、復号対象ピクチャ上の復号画像領域から照度変化パラメータとして、パラメータaとパラメータbを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と上記パラメータaの積に上記パラメータbを加え、所定の固定シフト定数だけ右シフトする、もしくは、上記パラメータaの積に所定の固定シフト定数だけ右シフトしてから上記パラメータbを加えることで、照度補償を行い上記、照度パラメータ推定部は、参照画像の画素値の和を固定シフト値だけ左シフトした値から、パラメータaと、復号画像の画素値の和の積に基づいて、パラメータbを導出することを特徴とする。
 上記の構成の照度補償では、固定値である所定の固定シフト定数を用いて右シフトするため、変数を用いて右シフトする場合に比べて、SIMD演算などによる処理が容易になる効果を奏する。また、オフセット成分であるパラメータbを右シフトの前に用いることにより、オフセット成分を右シフトの後に加えるよりも高い精度で演算することができる。
 第8の構成の画像復号装置によれば、上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、パラメータaを導出し、さらに、上記照度パラメータ推定部は、画素ビット深度に応じて積算シフト値を導出し、参照画像の画素値と復号画像の画素値の積を上記積算シフト値だけ右シフトした値の和と、参照画像の画素値の和と復号画像の画素値の和の積を上記積算シフト値だけ右シフトした値から導出される第1パラメータと、参照画像の画素値の2乗を上記積算シフト値だけ右シフトした値の和と、参照画像の画素値の和の2乗を上記積算シフト値だけ右シフトした値から導出される第2パラメータから、パラメータaを導出することを特徴とする。
 上記の構成の照度補償では、参照画像の画素値と復号画像の画素値の積の和、および、参照画像の画素値の和と復号画像の画素値の和の積の和をとる場合において、和をとる前に、画素ビット深度に応じて定まる積算シフト値で右シフトすることにより、所定の範囲、例えば32ビットの範囲で第1パラメータと第2パラメータを導出することが可能であるため、処理が容易になる効果を奏する。
 第9の構成の画像復号装置によれば、上記照度パラメータ推定部は、さらに、画素ビット深度の2倍と、画素数の2の対数に対応する数との和が、所定の定数以上の場合に、第1パラメータと第2パラメータを所定の固定シフト値で右シフトすることで、正規化することを特徴とする。
 第10の構成の画像復号装置によれば、上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、パラメータaを導出し、参照画像と復号画像から第1パラメータと第2パラメータを導出し、第2パラメータの大きさに応じて定まる正規化シフト値を導出し、上記第1パラメータと上記第2パラメータを上記正規化シフト値で右シフトすることにより正規化第1パラメータと正規化第2パラメータを導出し、正規化第1パラメータもしくは正規化第1パラメータに所定の定数をかけた値と、正規化第2パラメータからテーブルを参照することで定まるテーブル値との積を固定のシフト値だけ右シフトすることにより、パラメータaを導出することを特徴とする。
 上記の構成の照度補償では、第1パラメータ、第2パラメータの両者とともに同じ正規化シフト値を用いて、値を正規化することため、第1パラメータと第2パラメータで異なる正規化パラメータを用いる場合に比べ処理が容易になるという効果を奏する。また、第1パラメータと第2パラメータで同じ正規化パラメータを用いることにより、テーブル値をかけた後のテーブルシフト値を固定値とすることができ、右シフト処理が容易になるという効果を奏する。
 第11の構成の画像復号装置によれば、上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、パラメータaを導出し、参照画像と復号画像から第1パラメータと第2パラメータを導出し、第1パラメータの上限を制限するためにクリップした後に正規化第1パラメータを導出するか、もしくは、正規化第1パラメータを導出した後に上限を制限するためにクリップを行うことにより、正規化第2パラメータからテーブルを参照することで定まるテーブル値をかける対象の値の範囲が制限されていることを特徴とする。
 上記の構成の照度補償では、テーブル値にかける対象の値の大きさが制限されているため、第1パラメータの大きさにより定まる正規化シフト値を用いて第1パラメータの大きさを正規化することなく、第1パラメータ、第2パラメータの両者とともに同じ正規化シフト値を用いて、値を正規化する場合にも、テーブル値との積が所定の値(例えば、32ビット範囲)を超えることなく演算を行うことができ、処理が容易になる。
 第12の構成の画像復号装置によれば、上記照度パラメータ推定部は、上記パラメータaとして、0以上、255以下の値を用いることを特徴とする。
 上記の構成の照度補償では、パラメータaが8ビット非負整数の範囲にあることから、画素値のビット深度が8ビットである場合に、パラメータaと画素値の積を8ビット非負整数同士の積として処理することができるためSIMD演算などによる処理が容易になるという効果を奏する。
 第13の構成の画像復号装置によれば、上記パラメータaとして、0以上、1の固定シフト定数乗の2倍以下にクリップした値を用いることを特徴とする。
 上記の構成の照度補償では、パラメータaの範囲を、照度補償が有効に働く範囲に限定することにより、照度予測の効果が増大するという効果を奏する。なお、照度補償パラメータが上記範囲を超える場合にも対象ブロックに関しては有効に働くこともある。しかしながら、予測画像に対して、上記範囲を超える照度予測が必要になる場合というのは、照度予測前の予測画像が適当ではないことを意味する。このような予測が適当ではないブロック、すなわち、動きベクトルや参照ピクチャなどの予測パラメータが適当ではないブロックに対して、照度補償を用いて大きな変更を加えることにより無理に予測を当てはめる場合、適当ではない予測パラメータを後続に伝えることになり、後続のブロックに悪影響を与えるため、符号化効率が低下する。
 第14の構成の画像復号装置によれば、上記、照度パラメータ推定部は、対象予測ユニットを正方形の場合のみ、照度予測を適用することを特徴とする。
 上記の構成の照度補償では、動き補償ブロックのサイズを正方形に限定することにより、動き補償ブロックの横と縦の和である照度パラメータの導出に用いる復号画像と参照画像の画素数の和が2の指数乗になるため、オフセット成分であるパラメータbを画素数の商により求める際に、動き補償ブロックのサイズの2倍の2の対数による右シフトにより導出することができる。割り算を用いずに、右シフトにより正確なオフセット値を導出することが可能であるため、処理が容易になる効果を奏する。
 上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、パラメータaを導出し、参照画像と復号画像から第1パラメータと第2パラメータを導出し、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータから導出される値と、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから導出される値との比較により、パラメータaを導出することを特徴とする。
 上記の構成の照度補償では、第1パラメータの第2パラメータの商に相当するパラメータaを導出する際に、第2パラメータの逆数を引くテーブルを用いる必要が無いため処理が容易になる効果を奏する。また、逆数を所定のサイズのテーブルで引くためには、通常第2パラメータを所定の範囲に抑えるための正規が必要になるが、この正規化処理が不要となる。また、第1パラメータと第2パラメータの逆数の積が所定の値を超えないために、第1パラメータを正規化する正規化処理も不要となる。
 第15の構成の画像復号装置によれば、上記照度補償部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、パラメータaを導出し、さらに、上記照度補償部は、第1パラメータと第2パラメータに同じ正則化項を加算するか、もしくは、第1パラメータを導出する要素および第2パラメータを導出する要素に同じ正則化項を加算する正則化項加算部を備えることを特徴とする。
 これにより、パラメータaが所定の値に近くなるような正則化項を加算することにより、外れ値がある場合において、推定されるパラメータが頑健になる。推定されるパラメータが頑健になることによって、照度補償の推定精度が向上し、符号化効率が向上する効果を奏する。
 第17の構成の画像復号装置によれば、第1レイヤ画像の輝度成分の残差を記録する残差記録部と、上記残差記録部に記録された輝度成分の残差を用いて、上記第1レイヤ画像とは異なる第2レイヤ画像の予測画像を生成する予測画像生成部を備え、上記予測画像生成部は上記残差記録部から、輝度成分の残差を読み出す際に、残差を画素ビット幅から定まる所定のビット幅に収まる範囲にクリップする手段を備えることを特徴とする。
 第18の構成の画像復号装置によれば、上記画像復号装置は、第1レイヤ画像の色差成分の残差を記録せず、上記第1レイヤ画像とは異なる第2レイヤ画像の色差成分には、上記残差を用いた予測画像生成を行わないことを特徴とする。
 第19の構成の画像符号化装置によれば、第1レイヤ画像の輝度成分の残差を記録する残差記録部と、上記残差記録部に記録された輝度成分の残差を用いて、上記第1レイヤ画像とは異なる第2レイヤ画像の予測画像を生成する予測画像生成部を備え、上記予測画像生成部は上記残差記録部から、輝度成分の残差を読み出す際に、残差を画素ビット幅から定まる所定のビット幅に収まる範囲にクリップする手段を備えることを特徴とする。
 本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
1…画像伝送システム
11…画像符号化装置
101…予測画像生成部
102…減算部
103…DCT・量子化部
104…エントロピー符号化部
105…逆量子化・逆DCT部
106…加算部
108…予測パラメータメモリ(フレームメモリ)
109…参照ピクチャメモリ(フレームメモリ)
110…符号化パラメータ決定部
111…予測パラメータ符号化部
112…インター予測パラメータ符号化部
1031A…インター予測パラメータ符号化部
1031A2…インター予測パラメータ符号化部
1031B…インター予測パラメータ符号化部
1031C…インター予測パラメータ符号化部
1031D…インター予測パラメータ符号化部
1031D2…インター予測パラメータ符号化部
1031D3…インター予測パラメータ符号化部
1031D4…インター予測パラメータ符号化部
1031E…インター予測パラメータ符号化部
1031F1…インター予測パラメータ符号化部
1031F2…インター予測パラメータ符号化部
1031F3…インター予測パラメータ符号化部
1031F4…インター予測パラメータ符号化部
1031F5…インター予測パラメータ符号化部
1031F6…インター予測パラメータ符号化部
10311…追加予測フラグ符号化部
10311F1…追加予測フラグ符号化部
10311F2…追加予測フラグ符号化部
10311F3…追加予測フラグ符号化部
10311F4…追加予測フラグ符号化部
10311F5…追加予測フラグ符号化部
10311F6…追加予測フラグ符号化部
1121…マージ予測パラメータ導出部
1122…AMVP予測パラメータ導出部
1123…減算部
1126…予測パラメータ統合部
113…イントラ予測パラメータ符号化部
21…ネットワーク
31…画像復号装置
301…エントロピー復号部
302…予測パラメータ復号部
303…インター予測パラメータ復号部
303A…インター予測パラメータ復号部
303A2…インター予測パラメータ復号部
303B…インター予測パラメータ復号部
303C…インター予測パラメータ復号部
303D…インター予測パラメータ復号部
303D2…インター予測パラメータ復号部
303D3…インター予測パラメータ復号部
303D4…インター予測パラメータ復号部
303E…インター予測パラメータ復号部
3031…インター予測パラメータ復号制御部
3031D…インター予測パラメータ復号制御部
3031E…インター予測パラメータ復号制御部
30311…追加予測フラグ復号部
30311A…追加予測フラグ復号部
30311A2…追加予測フラグ復号部
30311B…追加予測フラグ復号部
30311C…追加予測フラグ復号部
30311D…追加予測フラグ復号部
30311D2…追加予測フラグ復号部
30311D3…追加予測フラグ復号部
30311D4…追加予測フラグ復号部
30311F1…照度補償フラグ復号部
30311F2…照度補償フラグ復号部
30311F3…照度補償フラグ復号部
30311F4…照度補償フラグ復号部
30311F5…照度補償フラグ復号部
30311F6…照度補償フラグ復号部
303111…リファレンスレイヤ判定部
30312…マージインデックス復号部
30312D3…マージインデックス復号部
30312E…マージインデックス復号部
30313…ベクトル候補インデックス復号部
30313E…ベクトル候補インデックス復号部
30314…追加予測フラグ判定部
30314A…追加予測フラグ判定部
30314A2…追加予測フラグ判定部
30314B…追加予測フラグ判定部
30314C…追加予測フラグ判定部
30314D…追加予測フラグ判定部
30314D2…追加予測フラグ判定部
30314D3…追加予測フラグ判定部
30314D4…追加予測フラグ判定部
303141…レイヤ判定部
303142…全PUパラメータ判定部
303142B…PU0パラメータ判定部
303143…インデックス判定部
30315…残差予測判定部
30316…照度補償判定部
30319…特定マージインデックス照度補償スキップフラグ導出部
30319B…特定マージインデックス照度補償スキップフラグ導出部
30319C…特定マージインデックス照度補償スキップフラグ導出部
30319D…特定マージインデックス照度補償スキップフラグ導出部
3032…AMVP予測パラメータ導出部
3035…加算部
3036…マージ予測パラメータ導出部
3036E…マージ予測パラメータ導出部
30361…マージ候補導出部
303611…マージ候補格納部
303612…拡張マージ候補導出部
3036121…インターレイヤマージ候補導出部
3036122…変位ベクトル取得部
3036123…インターレイヤ変位マージ候補導出部
303613…基本マージ候補導出部
3036131…空間マージ候補導出部
3036132…時間マージ候補導出部
3036133…結合マージ候補導出部
3036134…ゼロマージ候補導出部
30361E…マージ候補導出部
30362…マージ候補選択部
304…イントラ予測パラメータ復号部
306…参照ピクチャメモリ(フレームメモリ)
307…予測パラメータメモリ(フレームメモリ)
308…予測画像生成部
309…インター予測画像生成部
3091…変位補償部
3092…残差予測部
3092A…残差予測部
3092B…残差予測部
3092B…残差予測部
3092C…残差予測部
3092D…残差予測部
30921…残差取得部
30921A…残差取得部
30922…残差フィルタ部
3093…照度補償部
3093B…照度補償部
3093C…照度補償部
3093D…照度補償部
3093E…照度補償部
3093F…照度補償部
3093G…照度補償部
3093H…照度補償部
30931…照度パラメータ推定部
30931H…照度パラメータ推定部
309311B…積算シフト値導出部
309312B…積算値導出部
309313B…加算値導出部
309313H…加算値導出部
309314B…第1パラメータ導出部
309314C…第1パラメータ導出部
309314D…第1パラメータ導出部
309314H…第1パラメータ導出部
309315B…第2パラメータ導出部
309315H…第2パラメータ導出部
309316B…パラメータa導出部
309316C…パラメータa導出部
309316D…パラメータa導出部
309316H…パラメータa導出部
309316H2…パラメータa導出部
3093161B…第1パラメータクリップ部
3093161H…パラメータクリップ部
3093162B…第1パラメータシフト部
3093163B…第2パラメータシフト部
3093163H…第2正規化シフト部
3093164B…テーブルベースパラメータa導出部
3093164H…テーブルベースパラメータa導出部
3093165H…除算パラメータa導出部
309316C…パラメータa導出部
3093161C…第1パラメータクリップ部
3093162C…共通シフト部
3093164C…テーブルベースパラメータa導出部
309317B…パラメータb導出部
309317G…パラメータb導出部
309317H…パラメータb導出部
309318E…正則化項加算部
309318H…正則化項加算部
30932…照度補償フィルタ
30932B…照度補償フィルタ部
30932B´…照度補償フィルタ部
30932G…照度補償フィルタ部
3094…重み予測部
310…イントラ予測画像生成部
3104E…LM予測部
3104H…LM予測部
31041…LMパラメータ推定部
31041H…LMパラメータ推定部
310411…LM積算シフト値導出部
310412…LM積算値導出部
310413…LM加算値導出部
310413H…LM加算値導出部
310414…LM第1パラメータ導出部
310414H…LM第1パラメータ導出部
310415…LM第2パラメータ導出部
310415H…LM第2パラメータ導出部
310416…LMパラメータa導出部
310416H…LMパラメータa導出部
310416H2…LMパラメータa導出部
3104161H…LMパラメータクリップ部
3104163H…LM第2正規化シフト部
3104164H…LMテーブルベースパラメータa導出部
3104165H…LM除算パラメータa導出部
310417…LMパラメータb導出部
310417H…LMパラメータb導出部
310418E…LM正則化項加算部
3104180E…LM正則化項導出部
3104180H…LM正則化項導出部
3104181E…LM第1パラメータ正則化項加算部
3104182E…LM第2パラメータ正則化項加算部
31042…LMフィルタ部
31042H…LM予測フィルタ部
311…逆量子化・逆DCT部
312…加算部
313…残差格納部
313A…残差格納部
3131…残差値域制限部
3131A…残差縮小部
3132…残差格納メモリ
3133…残差読み出し部
3133A…残差伸長部
41…画像表示装置

Claims (15)

  1.  照度補償を行うか否かを示す照度補償フラグを導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から導出される照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードである場合に、照度補償フラグを符号化データから復号することを特徴とする画像復号装置。
  2.  上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードでありマージフラグインデックスが所定の値以外の場合に、照度補償フラグを符号化データから復号することを特徴とする請求項1に記載の画像復号装置。
  3.  特定マージインデックス照度補償スキップフラグを導出する特定マージインデックス照度補償スキップフラグ導出部をさらに備え、
     上記照度補償フラグ導出部は、上記予測画像の生成対象である予測ユニットがマージモードでありマージフラグインデックスが所定の値以外の場合かつ上記特定マージインデックス照度補償スキップフラグが有効ではない場合に、照度補償フラグを符号化データから復号することを特徴とする請求項2に記載の画像復号装置。
  4.  上記特定マージインデックス照度補償スキップフラグ導出部は、上記特定マージインデックス照度補償スキップフラグをスライスヘッダから復号することを特徴とする請求項3に記載の画像復号装置。
  5.  上記照度補償フラグ導出部は、上記予測ユニットがAMVPモードである場合には、上記予測ユニットの参照ピクチャがインタービュー予測を示す場合に、上記照度補償フラグを符号化データから復号することを特徴とする請求項1から4のいずれか1項に記載の画像復号装置。
  6.  照度補償を行うか否かを示す照度補償フラグを、符号化ユニット単位で、導出する照度補償フラグ導出部と、上記照度補償フラグが有効を示す値の場合に、対象画像上の対象予測ユニット周囲の画像と、上記対象予測ユニットに対応する参照画像の参照領域画像から導出される照度変化パラメータを用いて、上記対象予測ユニットの予測画像を生成する照度補償部を備え、上記照度補償フラグ導出部は、符号化ユニットの分割モードが分割しないことを示す、2N×2Nである場合に、照度補償フラグを符号化データから復号することを特徴とする画像復号装置。
  7.  上記照度補償部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、上記照度変化パラメータを導出し、さらに、上記照度補償部は、第1パラメータと第2パラメータに同じ正則化項を加算するか、もしくは、第1パラメータを導出する要素および第2パラメータを導出する要素に同じ正則化項を加算する正則化項加算部を備えることを特徴とする請求項6に記載の画像復号装置。
  8.  上記照度補償部は、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータを右シフトした値から正則化項を導出することを特徴とする請求項6に記載の画像復号装置。
  9.  動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、
     参照ピクチャ上の参照画像と、復号対象ピクチャ上の復号画像から照度変化パラメータとして、パラメータaとパラメータbを導出する照度パラメータ推定部と、
     上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、
     照度補償フィルタは、参照ピクチャから得られる動き補償画像と上記パラメータaの積に所定の固定シフト定数だけ右シフトしてから上記パラメータbを加えることで、照度補償を行うことを特徴とする画像復号装置。
  10.  上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から導出される第1パラメータと、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から導出される第2パラメータから、上記パラメータaを導出し、
     さらに、上記照度パラメータ推定部は、画素ビット深度に応じて積算シフト値を導出し、参照画像の画素値と復号画像の画素値の積を上記積算シフト値だけ右シフトした値の和と、参照画像の画素値の和と復号画像の画素値の和の積を上記積算シフト値だけ右シフトした値から導出される第1パラメータと、参照画像の画素値の2乗を上記積算シフト値だけ右シフトした値の和と、参照画像の画素値の和の2乗を上記積算シフト値だけ右シフトした値から導出される第2パラメータから、上記パラメータaを導出することを特徴とする請求項9に記載の画像復号装置。
  11.  上記照度パラメータ推定部は、積算シフト値を、画素ビット深度から所定の定数を引いた値と0との最大値に設定することを特徴とする請求項10に記載の画像復号装置。
  12.  上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から第1パラメータを導出し、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から第2パラメータを導出し、上記第1パラメータと上記第2パラメータを各々右シフトすることにより正規化第1パラメータと正規化第2パラメータを導出し、正規化第1パラメータと、正規化第2パラメータをインデックスとして所定のテーブルを参照することで定まるテーブル値の積を右シフトすることにより、上記パラメータaを導出し、上記テーブルは、上記インデックスが0である場合に0であることを特徴とする請求項9に記載の画像復号装置。
  13.  上記照度パラメータ推定部は、参照画像の画素値と復号画像の画素値の積の和と、参照画像の画素値の和と復号画像の画素値の和の積から第1パラメータを導出し、参照画像の画素値の2乗の和と、参照画像の画素値の和の2乗から第2パラメータを導出し、
     上記第1パラメータと上記第2パラメータを各々右シフトすることにより正規化第1パラメータと正規化第2パラメータを導出し、正規化第1パラメータと、正規化第2パラメータをインデックスとして所定のテーブルを参照することで定まるテーブル値の積を右シフトすることにより、上記パラメータaを導出し、
     さらに、上記照度パラメータ推定部は、第1パラメータを第2パラメータから導出される値以下に制限することを特徴とする請求項9に記載の画像復号装置。
  14.  追加予測を行うか否かを示す追加予測フラグとして2つのフラグを符号化データから復号する追加予測フラグ復号部と、
     上記追加予測フラグ復号部が導出するフラグに応じて、動き補償画像に追加予測を行うインター予測画像生成部を備え、
     上記追加予測フラグ復号部は、1つ目のフラグが0である場合に限り、2つ目のフラグを復号することを特徴とする画像復号装置。
  15.  上記追加予測フラグの一方は残差予測フラグ、もう一方は照度補償フラグであり、上記インター予測画像生成部は、上記残差予測フラグがオンの場合には、動き補償画像に残差予測を行い、上記照度補償フラグがオンの場合には、動き補償画像に、照度補償を行うことを特徴とする請求項14に記載の画像復号装置。
     
PCT/JP2013/082062 2012-12-26 2013-11-28 画像復号装置 Ceased WO2014103606A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014554266A JP6278900B2 (ja) 2012-12-26 2013-11-28 画像復号装置
US14/652,139 US9948951B2 (en) 2012-12-26 2013-11-28 Image decoding device which generates a predicted image of a target prediction unit
US15/914,163 US20180199064A1 (en) 2012-12-26 2018-03-07 Image decoding device and an image encoding device

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2012282385 2012-12-26
JP2012-282385 2012-12-26
JP2013079644 2013-04-05
JP2013-079644 2013-04-05
JP2013083047 2013-04-11
JP2013-083047 2013-04-11

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/652,139 A-371-Of-International US9948951B2 (en) 2012-12-26 2013-11-28 Image decoding device which generates a predicted image of a target prediction unit
US15/914,163 Continuation US20180199064A1 (en) 2012-12-26 2018-03-07 Image decoding device and an image encoding device

Publications (1)

Publication Number Publication Date
WO2014103606A1 true WO2014103606A1 (ja) 2014-07-03

Family

ID=51020700

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/082062 Ceased WO2014103606A1 (ja) 2012-12-26 2013-11-28 画像復号装置

Country Status (3)

Country Link
US (2) US9948951B2 (ja)
JP (2) JP6278900B2 (ja)
WO (1) WO2014103606A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506683A (ja) * 2012-12-28 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオ情報のスケーラブル及びマルチビュー/3dコード化のための機器及び方法
JP2016529791A (ja) * 2013-07-16 2016-09-23 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための照明補償を処理すること
WO2017061189A1 (ja) * 2015-10-05 2017-04-13 シャープ株式会社 画像復号装置または画像符号化装置のための画像予測装置
JP2018522466A (ja) * 2015-06-09 2018-08-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための照明補償ステータスを決定するシステムおよび方法
WO2019021803A1 (ja) * 2017-07-24 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11805271B2 (en) 2017-10-05 2023-10-31 Interdigital Vc Holdings, Inc. Decoupled mode inference and prediction
JP2024512995A (ja) * 2021-04-05 2024-03-21 クアルコム,インコーポレイテッド ジオメトリ点群圧縮のための残差予測コーディング

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140121315A (ko) * 2013-04-04 2014-10-15 한국전자통신연구원 참조 픽처 리스트를 이용한 다 계층 기반의 영상 부호화/복호화 방법 및 그 장치
WO2014163418A1 (ko) 2013-04-04 2014-10-09 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
EP3383047A1 (en) * 2013-04-05 2018-10-03 Samsung Electronics Co., Ltd. Method for predicting disparity vector for interlayer video decoding and encoding apparatus and method
US9565437B2 (en) 2013-04-08 2017-02-07 Qualcomm Incorporated Parameter set designs for video coding extensions
WO2014166104A1 (en) * 2013-04-12 2014-10-16 Mediatek Singapore Pte. Ltd. Removal of parsing dependency for illumination compensation
EP3021590A4 (en) * 2013-07-12 2017-03-29 Sony Corporation Image coding device and method
WO2015009041A1 (ko) * 2013-07-15 2015-01-22 삼성전자 주식회사 적응적 휘도 보상을 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR102264679B1 (ko) * 2013-10-14 2021-06-14 삼성전자주식회사 휘도 보상 여부에 따른 뷰 합성 예측 적용 방법 및 장치
KR101792089B1 (ko) * 2013-10-17 2017-11-01 니폰 덴신 덴와 가부시끼가이샤 영상 부호화 장치 및 방법, 및 영상 복호 장치 및 방법
KR102047501B1 (ko) * 2014-10-07 2019-11-21 삼성전자주식회사 인터-레이어 예측을 이용한 멀티 레이어 영상 부호화 또는 복호화 방법 및 장치
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
US10986358B2 (en) 2016-07-05 2021-04-20 Kt Corporation Method and apparatus for processing video signal
JP6859715B2 (ja) * 2017-01-18 2021-04-14 富士ゼロックス株式会社 情報処理装置、三次元造形システム、及び情報処理プログラム
WO2019006363A1 (en) * 2017-06-30 2019-01-03 Vid Scale, Inc. LOCAL LIGHTING COMPENSATION USING GENERALIZED BI-PREDICTION
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
WO2019059107A1 (ja) * 2017-09-20 2019-03-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
EP3692716A1 (en) * 2017-10-05 2020-08-12 InterDigital VC Holdings, Inc. Method and apparatus for adaptive illumination compensation in video encoding and decoding
US11310517B2 (en) 2017-12-07 2022-04-19 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding using selective information sharing between channels
US10652571B2 (en) * 2018-01-25 2020-05-12 Qualcomm Incorporated Advanced motion vector prediction speedups for video coding
CN112042189B (zh) * 2018-04-30 2023-07-21 寰发股份有限公司 照度补偿方法及相应的电子装置
MX2020013272A (es) * 2018-06-14 2021-02-18 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales.
CN112385226B (zh) * 2018-06-18 2024-11-26 交互数字Vc控股公司 视频编码中的照度补偿
EP3855748B8 (en) * 2018-09-21 2024-12-11 Sharp Kabushiki Kaisha Image decoding apparatus
KR102661224B1 (ko) * 2018-11-26 2024-04-26 후아웨이 테크놀러지 컴퍼니 리미티드 화상의 블록을 인트라 예측하는 방법
US11290743B2 (en) * 2018-12-08 2022-03-29 Qualcomm Incorporated Interaction of illumination compensation with inter-prediction
TWI738248B (zh) 2019-03-14 2021-09-01 聯發科技股份有限公司 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
AU2020295272B2 (en) * 2019-06-19 2023-12-14 Lg Electronics Inc. Image decoding method for deriving prediction sample on basis of default merge mode, and device therefor
KR102857618B1 (ko) * 2019-06-19 2025-09-09 엘지전자 주식회사 결정된 예측 모드를 적용하여 예측 샘플들을 생성하는 영상 디코딩 방법 및 그 장치
AU2020294374B2 (en) 2019-06-19 2024-01-11 Lg Electronics Inc. Image decoding method for performing inter-prediction when prediction mode for current block ultimately cannot be selected, and device for same
AU2020310350B2 (en) 2019-07-10 2026-02-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image component prediction method, encoder, decoder, and storage medium
AU2020203330B2 (en) * 2020-05-21 2022-12-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples
US12412247B2 (en) * 2021-09-23 2025-09-09 Samsung Electronics Co., Ltd. Efficient flicker suppression for single image super-resolution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8115804B2 (en) * 2006-01-12 2012-02-14 Lg Electronics Inc. Processing multiview video
KR100856411B1 (ko) * 2006-12-01 2008-09-04 삼성전자주식회사 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
US9008170B2 (en) * 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
CN103533374B (zh) * 2012-07-06 2018-02-16 乐金电子(中国)研究开发中心有限公司 一种视频编码、解码的方法及装置
US9877020B2 (en) * 2013-01-10 2018-01-23 Samsung Electronics Co., Ltd. Method for encoding inter-layer video for compensating luminance difference and device therefor, and method for decoding video and device therefor

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GERHARD TECH ET AL.: "3D-HEVC Test Model 2", 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, 23 December 2012 (2012-12-23), SHANGHAI, CN *
HONGBIN LIU ET AL.: "3D-CE2.h : Results of Illumination Compensation for Inter-View Prediction", 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 *
HONGBIN LIU ET AL.: "3D-CEl.h related: Illumination Compensation for Inter-View Prediction", 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 1ST MEETING, 16 July 2012 (2012-07-16), STOCKHOLM, SE *
JICHENG AN ET AL.: "Removal of the parsing dependency of inter-view residual prediction", 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, SE *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506683A (ja) * 2012-12-28 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオ情報のスケーラブル及びマルチビュー/3dコード化のための機器及び方法
JP2016529791A (ja) * 2013-07-16 2016-09-23 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための照明補償を処理すること
JP2018522466A (ja) * 2015-06-09 2018-08-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための照明補償ステータスを決定するシステムおよび方法
US10887597B2 (en) 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
WO2017061189A1 (ja) * 2015-10-05 2017-04-13 シャープ株式会社 画像復号装置または画像符号化装置のための画像予測装置
WO2019021803A1 (ja) * 2017-07-24 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11805271B2 (en) 2017-10-05 2023-10-31 Interdigital Vc Holdings, Inc. Decoupled mode inference and prediction
US12587672B2 (en) 2017-10-05 2026-03-24 Interdigital Vc Holdings, Inc. Decoupled mode inference and prediction
JP2024512995A (ja) * 2021-04-05 2024-03-21 クアルコム,インコーポレイテッド ジオメトリ点群圧縮のための残差予測コーディング

Also Published As

Publication number Publication date
JP6435064B2 (ja) 2018-12-05
US20150326881A1 (en) 2015-11-12
US20180199064A1 (en) 2018-07-12
JP6278900B2 (ja) 2018-02-14
JP2018088693A (ja) 2018-06-07
US9948951B2 (en) 2018-04-17
JPWO2014103606A1 (ja) 2017-01-12

Similar Documents

Publication Publication Date Title
JP6278900B2 (ja) 画像復号装置
US20230291924A1 (en) Image decoding device, image encoding device, and method for decoding coded image
US9967592B2 (en) Block-based advanced residual prediction for 3D video coding
JP6360053B2 (ja) 照度補償装置、画像復号装置、画像符号化装置
US9628795B2 (en) Block identification using disparity vector in video coding
US9288507B2 (en) More accurate advanced residual prediction (ARP) for texture coding
WO2014050948A1 (ja) 画像復号装置及び画像符号化装置
US10587894B2 (en) Method and device for encoding/decoding 3D video
WO2017135151A1 (ja) 予測画像生成装置、動画像復号装置、および動画像符号化装置
WO2017061189A1 (ja) 画像復号装置または画像符号化装置のための画像予測装置
WO2014103600A1 (ja) 符号化データ構造、および画像復号装置
JP6118199B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体。
WO2015056620A1 (ja) 画像復号装置、画像符号化装置
WO2016056587A1 (ja) 変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置
JP2015080053A (ja) 画像復号装置、及び画像符号化装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13867924

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14652139

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2014554266

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13867924

Country of ref document: EP

Kind code of ref document: A1