WO2014203726A1 - 照度補償装置、lm予測装置、画像復号装置、画像符号化装置 - Google Patents

照度補償装置、lm予測装置、画像復号装置、画像符号化装置 Download PDF

Info

Publication number
WO2014203726A1
WO2014203726A1 PCT/JP2014/064734 JP2014064734W WO2014203726A1 WO 2014203726 A1 WO2014203726 A1 WO 2014203726A1 JP 2014064734 W JP2014064734 W JP 2014064734W WO 2014203726 A1 WO2014203726 A1 WO 2014203726A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
unit
image
prediction
illuminance
Prior art date
Application number
PCT/JP2014/064734
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to EP14812904.2A priority Critical patent/EP3013049A4/en
Priority to CN201480034579.1A priority patent/CN105393534A/zh
Priority to JP2015522723A priority patent/JP6360053B2/ja
Priority to US14/899,047 priority patent/US9894359B2/en
Publication of WO2014203726A1 publication Critical patent/WO2014203726A1/ja
Priority to HK16110102.6A priority patent/HK1222490A1/zh
Priority to US15/842,601 priority patent/US10200688B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present invention relates to an illuminance compensation device, an LM prediction device, an image decoding device, and an image encoding device.
  • the multi-view image encoding technique includes a parallax predictive encoding that reduces the amount of information by predicting a parallax between images when encoding images of a plurality of viewpoints, and a decoding method corresponding to the encoding method.
  • a vector representing the parallax between viewpoint images is called a displacement vector.
  • the displacement vector is a two-dimensional vector having a horizontal element (x component) and a vertical element (y component), and is calculated for each block which is an area obtained by dividing one image.
  • x component horizontal element
  • y component vertical element
  • each viewpoint image is encoded as a different layer in each of a plurality of layers.
  • a method for encoding a moving image composed of a plurality of layers is generally referred to as scalable encoding or hierarchical encoding.
  • scalable coding high coding efficiency is realized by performing prediction between layers.
  • a reference layer without performing prediction between layers is called a base layer, and other layers are called enhancement layers.
  • Scalable encoding in the case where a layer is composed of viewpoint images is referred to as view scalable encoding.
  • the base layer is also called a base view
  • the enhancement layer is also called a non-base view.
  • scalable coding when a layer is composed of a texture layer (image layer) and a depth layer (distance image layer) is called three-dimensional scalable coding.
  • scalable coding in addition to view scalable coding, spatial scalable coding (pictures with low resolution as the base layer and pictures with high resolution in the enhancement layer), SNR scalable coding (image quality as the base layer) Low picture, high resolution picture as an enhancement layer).
  • a base layer picture may be used as a reference picture in coding an enhancement layer picture.
  • Non-Patent Document 1 a technique called illuminance compensation is known in which illuminance change in pixels around the prediction target block is used for prediction of the prediction target block.
  • Non-Patent Document 2 a technique called LM prediction is known in which a color difference image of a prediction target block is predicted from a corresponding luminance image.
  • 3D-CE2.h Results of Illumination Compensation for Inter-View Prediction, JCT3V-B0045, JCT-3V Shanghai, CN, 13-19 Oct 2012 LM Mode Clean-Up, JCTVC-I0148, JCT-VC Geneva, CH, 27 April, 7 May, 2012
  • Non-Patent Document 1 a prediction parameter for illuminance compensation is derived using pixels around the target region and the reference region, but there is a problem that the calculation amount is large. Further, in the LM prediction of Non-Patent Document 2, the prediction parameter for illuminance compensation is derived using pixels around the target region (color difference image) and the reference region (luminance image), but there is a problem that the amount of calculation is large. is there.
  • 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 code that reduce the amount of calculation of illumination compensation and LM prediction.
  • Program, image display system, and image transmission system are provided.
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image includes the illuminance change parameter based on the reference image on the reference layer and the adjacent decoded image on the target layer. And an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter, and the illuminance compensation filter calculates the illuminance as the product of the motion compensated image obtained from the reference picture and the parameter a of the illuminance change parameter.
  • the illumination parameter estimation unit includes a parameter a deriving unit for deriving the parameter a from the first parameter and the second parameter, and the parameter a deriving unit includes a first normalization.
  • a parameter normalization shift unit for deriving the shift value and the second normalization shift value, and the first normalization shift value are used.
  • a parameter normalization shift unit is provided, wherein the parameter normalization shift unit derives the first normalization shift value by subtracting a predetermined value from the second normalization shift value.
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image, the illuminance compensation unit includes at least a reference image region on the reference layer and an adjacent decoded image region on the target layer.
  • An illuminance parameter estimation unit for deriving an illuminance change parameter including the parameter b, and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter, wherein the illuminance compensation filter includes a motion compensation image obtained from a reference picture and an illuminance change parameter.
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image is provided, and when the target block is a predetermined size or more, the illuminance compensation unit performs illuminance compensation, and the target block Is less than a predetermined size, illuminance compensation is not 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 region on the reference layer and the adjacent decoded image region on the target layer.
  • An illuminance parameter estimator for deriving a change parameter and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter are obtained from the reference layer when the target block is a predetermined size or larger.
  • Illuminance compensation is performed by means for adding the illuminance change parameter b to the product of the motion compensated image and the illuminance change parameter a, and if the target block is less than the predetermined size, the motion compensation image and the illuminance change parameter Illuminance compensation is performed by means for adding the parameter b.
  • 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 region on the reference layer and the adjacent decoded image region on the target layer.
  • An illuminance parameter estimator for deriving a change parameter and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter, and the illuminance compensation filter is motion compensation obtained from a reference layer when the target block is a luminance block.
  • Illuminance compensation is performed by means for adding the illuminance change parameter b to the product of the image and the illuminance change parameter a. If the target block is a color difference block, the motion compensation image and the illuminance change parameter b are added. The illuminance compensation is performed by the above.
  • the LM prediction unit includes a LM prediction unit that applies a color difference prediction image from a luminance image, and the LM prediction unit includes an LM parameter estimation unit that derives an LM parameter from the adjacent luminance image and the adjacent color difference image;
  • An LM prediction filter that generates a color difference prediction image from a luminance image using the LM parameter, the LM prediction filter including means for adding a parameter b of the LM parameter to a product of the luminance image and the parameter a of the LM parameter;
  • the LM parameter estimation unit includes a sum of products of pixel values of adjacent luminance images and pixel values of adjacent color difference images, a sum XY of products of pixel values y of adjacent color difference images and pixel values x of adjacent luminance images, and adjacent color differences.
  • the first parameter a1 Based on the difference between the product of the sum Y of the pixel values of the image and the sum X of the pixel values of the adjacent luminance image, the first parameter a1, the sum XX of the squares of the pixel values of the adjacent luminance image, and the sum of the pixel values of the adjacent luminance image X
  • a parameter a deriving unit for deriving the parameter a from the second parameter a2v from the power difference is provided, and the parameter a deriving unit determines the first parameter a1 and the second parameter a2 according to the second parameter a2.
  • a means for shifting to the right according to the first normalized shift value and the second normalized shift value is provided.
  • the calculation amount and mounting scale of illumination compensation are reduced.
  • the calculation amount of LM prediction and the implementation scale are 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. 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 network (LAN: Local Area Network), or a combination thereof.
  • the network 21 is not necessarily limited to a bidirectional communication network, and may be a unidirectional or bidirectional communication network that transmits broadcast waves such as terrestrial digital broadcasting and satellite broadcasting.
  • the network 21 may be replaced by a storage medium that records an encoded stream Te such as a DVD (Digital Versatile Disc) or a BD (Blue-ray Disc).
  • the image decoding device 31 decodes each of the encoded streams Te transmitted by the network 21, and generates a plurality of decoded layer images Td (decoded viewpoint images Td).
  • the image display device 41 displays all or part of the plurality of decoded layer images Td generated by the image decoding device 31. For example, in view scalable coding, a 3D image (stereoscopic image) and a free viewpoint image are displayed in all cases, and a 2D image is displayed in some cases.
  • the image display device 41 includes, for example, a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display.
  • the spatial scalable coding and SNR scalable coding when the image decoding device 31 and the image display device 41 have a high processing capability, a high-quality enhancement layer image is displayed and only a lower processing capability is provided. Displays a base layer image that does not require higher processing capability and display capability as an extension layer.
  • FIG. 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 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, a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an additional extension.
  • Information SEI Supplemental Enhancement Information
  • # indicates the layer ID.
  • FIG. 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 picture decoding and a flag (weighted_pred_flag) indicating application of weighted prediction are included.
  • a plurality of PPS may exist. In that case, one of a plurality of PPSs is selected from each picture in the target sequence.
  • Picture layer In the picture layer, a set of data referred to by the image decoding device 31 for decoding a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in FIG. 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.
  • CTB is a fixed-size block (for example, 64 ⁇ 64) constituting a slice, and may be referred to as a maximum coding unit (LCU).
  • the coding tree layer defines a set of data 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 (splif_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 encoding unit is the root of a prediction tree (PT) and a transform tree (TT).
  • TT transform tree
  • 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 transform block that is a unit of transformation is also referred to as a transform unit (TU).
  • the prediction image of the prediction unit is derived by a prediction parameter associated with the prediction unit.
  • the prediction parameters include a prediction parameter for intra prediction or a prediction parameter for inter prediction.
  • prediction parameters for inter prediction inter prediction (inter prediction parameters) will be described.
  • the inter prediction parameter includes prediction 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.
  • prediction list use flag information can also be expressed by an inter prediction flag inter_pred_idc described later.
  • a prediction list use flag is used in a prediction image generation unit and a prediction parameter memory described later, and an inter prediction flag inter_pred_idc is used when decoding information on which reference picture list is used from encoded data. It is done.
  • Syntax elements for deriving inter prediction parameters included in the encoded data include, for example, a partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction flag inter_pred_idc, 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 that refers 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 that uses the prediction parameter already derived without including the prediction list use flag predFlagLX (inter prediction flag inter_pred_idcinter_pred_idc), the reference picture index refIdxLX, and the vector mvLX in the encoded data.
  • the prediction flag inter_pred_idcinter_pred_idc, 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 which one of the prediction parameter candidates (merge candidates) derived from the processed block is used as the prediction parameter of the decoding target block.
  • the vector mvLX includes a motion vector and a displacement vector (disparity vector).
  • a motion vector is a positional shift between the position of a block in a picture at a certain display time of a layer and the position of the corresponding block in a picture of the same layer at a different display time (for example, an adjacent discrete time). It is a vector which shows.
  • the displacement vector is a vector indicating a positional shift between the position of a block in a picture at a certain display time of a certain layer and the position of a corresponding block in a picture of a different layer at the same display time.
  • the pictures in different layers may be pictures from different viewpoints or pictures with different resolutions.
  • a displacement vector corresponding to pictures of different viewpoints is called a disparity vector.
  • a vector mvLX A prediction vector and a difference vector related to the vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively.
  • Whether the vector mvLX and the difference vector mvdLX are motion vectors or displacement vectors is determined using a reference picture index refIdxLX associated with the vectors.
  • FIG. 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_idcinter_pred_idc, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference vector mvdLX.
  • the entropy decoding unit 301 outputs the quantization coefficient to the inverse quantization / inverse DCT unit 311.
  • the quantization coefficient is a coefficient obtained by performing quantization by performing DCT (Discrete Cosine Transform) on the residual signal 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 stored inter prediction parameters include, for example, a prediction list use flag predFlagLX (inter prediction flag inter_pred_idcinter_pred_idc), 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 predicted image generation unit 308 generates a predicted picture block P (predicted 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 predicted image generation unit 309 For the reference picture list (L0 list or L1 list) for which the prediction list use flag predFlagLX is 1, the inter predicted image generation unit 309 generates a vector mvLX based on the decoding target block from the reference picture indicated by the reference picture index refIdxLX. 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 predicted image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra predicted image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the reference picture memory 306, a reference picture block that is a decoding target picture and is in a predetermined range from 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 predicted 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 predicted 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 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 intra predicted image generation unit 310 includes a DC prediction unit 3101, a planar prediction unit 3102, a direction prediction unit 3103, and an LM prediction unit 3104 (not shown).
  • FIG. 15 is a block diagram illustrating a configuration of the LM prediction unit 3104.
  • the LM prediction unit 3104 includes an LM parameter estimation unit 31041 and an LM prediction filter unit 31042.
  • the LM parameter estimation unit 31041 includes 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, an LM parameter a deriving unit 310416, and an LM parameter b deriving unit 310417. Consists of
  • the LM parameter estimation unit 31041 obtains an estimation parameter for estimating the pixel of the target block (target prediction unit) from the pixel of the reference block.
  • FIG. 10 is a diagram for explaining LM prediction.
  • FIG. 13 shows the positions of the pixel L on the color difference image around the target block and the pixel C around the reference block (corresponding block) on the luminance image corresponding to the target block.
  • the LM parameter estimation unit 31041 uses the pixel C around the luminance block corresponding to the periphery of the target block shown in FIG. 10 as the pixel value x [] (reference image region) of the adjacent luminance image, and the pixels of the color difference components around the target block.
  • L be the pixel value y [] (target image region) of the adjacent color difference image
  • the pixel value y [] of the adjacent color difference image based on the pixel value x [] of the adjacent luminance image and the pixel value y [] of the adjacent color difference image.
  • the LM addition value deriving unit 310413 derives the sum Y of the pixel values y of the adjacent color difference images and the sum X of the pixel values x of the adjacent luminance images by the following equations (B-2) and (B-3).
  • the LM integrated value deriving unit 310412 calculates 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 and the sum XX of the square of the pixel value of the adjacent luminance image as the following formula (B-4 ) To (B-5). At this time, the LM integrated value deriving unit 310412 generates a 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, and the sum XX of the squares of the pixel values x of the adjacent luminance image. At the time of derivation, addition is performed after shifting to the right by the integrated 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])
  • XY + ⁇ (y [i] * y [i])
  • 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 adjacent 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 of the reference area.
  • the index i is doubled to refer to the pixel value y of the adjacent color difference image and the pixel value x of the adjacent luminance image.
  • 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
  • a1 (XY ⁇ iCountShift)-(Y * X); Formula (B-7) As shown in Expression (B-7), XY is shifted left by the count shift value iCountShift, and the product of Y and X is shifted right by the integrated shift value precShift, and then the difference between the two is calculated.
  • 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.
  • FIG. 16 is a block diagram illustrating 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 normalization shift unit 3104162, an LM second parameter normalization shift unit 3104163, and a table-based LM parameter a derivation unit 3104164.
  • the LM parameter a deriving unit 310416 derives a parameter a corresponding to the gradient in linear prediction in illuminance compensation. Specifically, the parameter a corresponding to a1 / a2 ⁇ iShift, which is a value obtained by shifting the ratio of the first parameter a1 and the second parameter a2 to the left by a fixed shift value to make an integer, is calculated as an integer by the following processing. Derived using
  • the LM parameter a deriving unit 310416 uses the table-based LM parameter a deriving unit 3104164 to derive the calculation of a1 / a2 ⁇ iShift using the reciprocal table value invTable [] shown in FIG.
  • a1 * invTable [a2] >> log2 (M) formula (A-0)
  • M is a constant derived from 2 raised to the power of ShiftA1.
  • ShiftA1 is called a table shift value.
  • Expression (A-0) by using the reciprocal table invTable [], the operation corresponding to the division by a2 is multiplied by the product of the reciprocal table invTable [a2] corresponding to the reciprocal of a2 and log2 ( It can be realized by the right shift of M).
  • FIG. 14 shows the reciprocal table value invTable [] used in this embodiment.
  • x is defined in the range of [0..2 ⁇ ShiftA2-1].
  • FIG. 14 shows the reciprocal table value invTable [] used in this embodiment.
  • the reciprocal number invTable [x] shown in FIG. 14 is 0 when the index x is 0, and when the index x is other than 0, a predetermined constant (2 raised to the power of ShiftA1)
  • ShiftA2 6 that is, a range of 0..63 is defined.
  • Floor (x) is a function that rounds off the decimal part.
  • the following 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)
  • the first parameter is set by the first normalized shift value iScaleShiftA1 so that the value of a1 does not become too large.
  • Right-shift a1 to derive the normalized first parameter a1s.
  • the product with the reciprocal table invTable is calculated using the normalized first parameter a1s.
  • the product of the normalized first parameter a1s and the reciprocal table invTable does not exceed 32 bits.
  • the LM parameter a deriving unit 310416 derives the parameter a using a value obtained by performing the following equation (A-1) instead of the equation (A-0) a1s * invTable [a2s] >> log2 (M) Formula (A-1)
  • the LM second parameter normalization shift unit 3104163 obtains the second normalization shift value by the following formula for the predetermined bit width ShiftA2 used for deriving the table of FIG. 14 according to the magnitude of the second parameter a2. Derives iScaleShiftA2.
  • the derived second normalized shift value iScaleShiftA2 is output to the table-based LM parameter a derivation unit 3104164.
  • iScaleShiftA2 Max (0, Floor (Log2 (Abs (a2)))-(ShiftA2-1)) Formula (B-14)
  • the LM first parameter normalization shift unit 3104162 derives the first normalization shift value iScaleShiftA1 by the following equation in accordance with the second normalization shift value iScaleShiftA2.
  • the derived first normalized shift value iScaleShiftA1 is output to the table-based LM parameter a derivation unit 3104164.
  • iScaleShiftA1 Max (0, iScaleShiftA2-offsetA1) Formula (B-13)
  • offsetA1 is a constant satisfying 14 or less.
  • the second normalized shift value is derived by subtracting a predetermined constant offsetA1 from the second normalized shift value.
  • both the first normalized shift value and the second normalized shift value are clipped to 0 or more.
  • the first normalization shift value is derived by clipping the second normalization shift to 0 or more, then subtracting the predetermined constant offsetA1 and clipping to 0 or more.
  • the first normalized shift value may be derived by subtracting a predetermined constant offsetA1 before clipping to 0 or more and clipping to 0 or more.
  • iScaleShiftA1 Max (0, Floor (Log2 (Abs (a1)))-(31-ShiftA1-1)) Formula (B-13 ')
  • the LM first parameter normalization shift unit 3104162 and the LM second parameter normalization shift unit 3104163 right shift the first parameter a1 by the first normalization shift value iScaleShiftA1 and the second parameter a2 by the second normalization shift value iScaleShiftA2.
  • a 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 LM parameter a deriving unit 3104164 derives the parameter a shift value iScaleShiftA by the following formula based on the difference between the first normalized shift value iScaleShiftA1 and the second normalized shift value iScaleShiftA2.
  • ScaleShiftA ShiftA1 + iScaleShiftA2-iScaleShiftA1-iShift formula (B-18)
  • iScaleShiftA1 Max (0, iScaleShiftA2 ⁇ offsetA1)
  • the table-based LM 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.
  • 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 the fixed shift value iShift).
  • the derived parameter a is output to the LM parameter b deriving unit 310417 and the LM prediction 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.
  • 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 LM prediction filter unit 31042 uses the estimation parameters derived by the LM parameter estimation unit 31041 to derive prediction images predSamples ′ [] after LM prediction from prediction images predSamplesSample [] before LM prediction.
  • the parameter b is derived from the equation (B-20)
  • the following equation is used.
  • LM parameter b deriving unit 310417 (a * predSamples [x] [y] >> iShift) + b formula (B-21)
  • LM parameter b deriving unit 310417 ′ 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:
  • 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 LM prediction filter unit 31042 ′ derives a prediction image predSamples ′ [] after LM prediction from the prediction image predSamples [] before LM prediction by the following formula.
  • the LM prediction unit 3104 may further include an LM regularization term addition unit 310418.
  • FIG. 17 is a block diagram illustrating a configuration of the LM regularization term addition unit 310418.
  • the LM regularization term addition unit 310418 includes a regularization term derivation unit 3104180 and an LM second parameter regularization term addition unit 3104182.
  • 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 regularization term derivation unit 3104180 derives the regularization term acost.
  • Ashift is a fixed value for adjusting the size of the regularization term.
  • LM 2nd parameter regularization term addition part 3104182 adds a regularization term to the parameter (for example, XX) used for derivation of the 2nd parameter.
  • the addition of the regularization term may be performed by the LM second parameter derivation unit 310415.
  • the second parameter is derived by the following equation instead of the equation (B-8).
  • the LM prediction unit 3104 may include an LM regularization term addition unit 310418R that is different from the LM regularization term addition unit 310418.
  • the LM parameter estimation unit 31041R includes an LM first parameter derivation unit 310414R, an LM second parameter derivation unit 310415R, and an LM regularization term derivation unit 3104180R.
  • the LM regularization term derivation unit 3104180R derives regularization terms acostX and acostY.
  • AshiftX and ashiftY are values for adjusting the size of the regularization term.
  • the LM first parameter deriving unit 310414R and the LM second parameter deriving unit 310415R are regularized derived by the LM regularization term deriving unit 3104180R.
  • the first parameter and the second parameter are derived using the conversion term as follows.
  • the operations of the LM first parameter deriving unit 310414R and the LM second parameter deriving unit 310415R other than the above are the same as those of the LM first parameter deriving unit 310414 and the LM second parameter deriving unit 310415.
  • the regularization term acostY derived from the sum Y of the adjacent color difference components is added to derive the parameter a.
  • the regularization term acostX derived from the sum X of the adjacent luminance components is added.
  • the first-order terms X and Y derived from the sum of pixels are more robust than the second-order terms XX and YY derived from the sum of pixel products.
  • first parameter a1 and the second parameter a2 are added to the first parameter a1 and the second parameter a2 as regularization terms, respectively, which are the primary terms derived by the LM addition value deriving unit 310413, which are the sum Y of the adjacent color difference components and the sum X of the adjacent luminance components.
  • the parameter a corresponding to the ratio of the first parameter a1 and the second parameter a2 is also robust. Since the parameter estimated by the regularization term is robust, the effect of improving the LM prediction is obtained.
  • LM prediction unit 3104A an LM prediction unit 3104A, which is a modification of the LM prediction unit 3104, will be described.
  • the LM prediction unit 3104A has substantially the same configuration as the LM prediction unit 3104, but the LM parameter a derivation unit 310416A is used instead of the LM parameter a derivation unit 310416.
  • the LM parameter a deriving unit 310416A will be described.
  • FIG. 18 is a block diagram illustrating a configuration of the LM parameter a deriving unit 310416A.
  • the LM parameter a derivation unit 310416A includes an LM first parameter clip unit 3104161, an LM first parameter normalization shift unit 3104162, an LM second parameter normalization shift unit 3104163A, and a division LM parameter a derivation unit 3104165A. Since the LM first parameter clip unit 3104161 has already been described, the description thereof is omitted.
  • the LM first parameter normalization shift unit 3104162 derives the first normalization shift value iScaleShiftA1 from the following equation according to the second normalization shift value iScaleShiftA2.
  • the derived first normalized shift value iScaleShiftA1 is output to the division LM parameter a derivation unit 3104165A.
  • the division LM parameter a deriving unit 3104165A derives the parameter a shift value iScaleShiftA by the following formula based on the difference between the first normalized shift value iScaleShiftA1 and the second normalized shift value iScaleShiftA2.
  • ScaleShiftA ShiftA1 + iScaleShiftA2-iScaleShiftA1-iShift formula (B-18) Further, the division LM parameter a deriving unit 3104165A derives the parameter a by the following equation.
  • the first normalization parameter a1s and the second normalization parameter a2s are derived by shifting the first parameter a1 and the second parameter a2 to the right by the two normalization shift value iScaleShiftA2.
  • the intermediate parameter tb is derived by the above processing, and further the parameter a is derived.
  • both the first normalized shift value and the second normalized shift value are derived according to the magnitude of the second parameter a2.
  • the first normalized shift value is derived according to the magnitude of the second parameter a1
  • the second normalized shift value is derived.
  • ScaleShiftA used for shifting after applying the reciprocal table is always 0 or more. This eliminates the need for branching depending on whether ScaleShiftA is equal to or greater than 0, and the parameter a can always be derived by right shifting, thereby reducing the amount of calculation.
  • LM prediction unit 3104H (LM prediction unit 3104H)
  • an LM prediction unit 3104H which is a modification of the LM prediction unit 3104, will be described.
  • FIG. 19 is a block diagram illustrating a configuration of the LM prediction unit 3104H.
  • the LM prediction unit 3104 includes an LM parameter estimation unit 31041H and an LM prediction filter unit 31042.
  • the LM parameter estimation unit 31041H includes an LM addition value deriving unit 310413, an LM first parameter deriving unit 310414H, an LM second parameter deriving unit 310415H, an LM parameter a deriving unit 310416, and an LM parameter b deriving unit 310417. Note that the means having the same number as the LM parameter estimation unit 31041 has the same configuration, and thus the description thereof is omitted.
  • the LM first parameter deriving unit 310414H derives the first parameter a1 from the sum Y of the pixel values y 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.
  • the LM prediction unit 3104H does not have the integrated value deriving unit 310412 that derives the second-order term that is the sum of the products of the pixels, and is an addition that derives the first-order term that is the sum of the pixels. Only a value deriving unit 310413 is provided. Therefore, the LM parameter can be derived by a relatively easy process. However, the LM prediction unit 3104 that uses the second-order term has higher encoding efficiency.
  • the LM prediction unit 3104H derives the first normalized shift value using the second normalized shift value, there is an effect that the process of deriving the first normalization parameter becomes easy.
  • a1s a1 formula (B-15 ') This is according to the following equation.
  • the first parameter a1 can be handled with a bit number of bitDepth + 7 or less from the sum of the bit depth bitDepth of the pixel value and the logarithm 7 of 2 of the maximum value 128 of the reference pixel number.
  • the maximum value of the reciprocal table value is 2 raised to the power of ShiftA1
  • bitDepth ⁇ 25-ShiftA1
  • the LM prediction unit 3104H may further include an LM regularization term addition unit 310418H.
  • the LM regularization term addition unit 310418H derives the regularization term acost from the sum X of the pixel values x of the adjacent luminance images.
  • 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 sum X of the pixel values x of the adjacent luminance images and the sum Y of the pixel values y of the adjacent color difference images are substantially equal, so the regularization term acost is derived from the sum Y of the pixel values y of the adjacent color difference images. You may do it.
  • the LM regularization term adding unit 310418E adds the regularization term to a parameter (for example, X) used for deriving the second parameter.
  • X X + acost formula (H-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 second parameter is derived by the following equation instead of the equation (B-8 ′).
  • the regularization term is added to 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. In such a case, the estimated parameter becomes robust, and the encoding efficiency is improved.
  • 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 LM prediction unit 3104HA which is a modification of the LM prediction unit 3104, will be described.
  • the LM prediction unit 3104HA has substantially the same configuration as the LM prediction unit 3104H, but the LM parameter a derivation unit 310416A is used instead of the LM parameter a derivation unit 310416. Since the components including the LM parameter a deriving unit 310416A have already been described, the description thereof is omitted.
  • the LM parameter a derivation unit 310416A uses division for derivation of the parameter a. However, since this division is the same as the following processing used in scaling of motion vectors, the implementation scale is reduced. Has the effect of making
  • ScaleShiftA used for shifting after applying the reciprocal table is always 0 or more. This eliminates the need for branching depending on whether ScaleShiftA is equal to or greater than 0, and the parameter a can always be derived by right shifting, thereby reducing the amount of calculation.
  • the inverse quantization / inverse DCT unit 311 inversely quantizes the quantization coefficient input from the entropy decoding unit 301 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 311 performs inverse DCT (Inverse Discrete Cosine Transform) on the obtained DCT coefficient to calculate a decoded residual signal.
  • the inverse quantization / inverse DCT unit 311 outputs the calculated decoded residual signal to the 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 the inter prediction (the syntax element) includes, for example, a division mode part_mode, a merge included in the encoded data.
  • a flag merge_flag, a merge index merge_idx, an inter prediction flag inter_pred_idcinter_pred_idc, 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 derivation 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.
  • 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_idcinter_pred_idc and the reference picture index refIdxLX to the AMVP prediction parameter derivation unit 3032 and the prediction image generation unit 308 (FIG. 5). Moreover, it memorize
  • 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, from the merge candidates stored in the merge candidate storage unit 303611, a merge candidate to which an index corresponding to the merge index merge_idx input from the inter prediction parameter decoding control unit 3031 is assigned. As an inter prediction parameter.
  • 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 the configuration of the AMVP prediction parameter derivation unit 3032 according to this embodiment.
  • the AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033 and a prediction vector selection unit 3034.
  • the vector candidate derivation unit 3033 reads 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 the second mvp_LX_idx from the left end and mvpLX below the mvp_LX_idx indicate that the vector index mvp_LX_idx is an index referring 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).
  • 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 partition mode decoding unit, a merge flag decoding unit, an inter prediction flag decoding unit, not shown.
  • a picture index decoding unit and a vector difference decoding unit are included.
  • 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_idc, 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 indicating whether or not to perform additional prediction.
  • the additional prediction here is illumination compensation and residual prediction.
  • the additional prediction flag decoding unit 30311 decodes an illuminance compensation flag ic_enable_flag that is a flag indicating whether or not to perform illuminance compensation and a residual prediction flag res_pred_flag that is a flag that indicates whether to perform residual prediction, and an inter-predicted image generation unit To 309. Illuminance compensation and residual prediction are processed only when the division mode PartMode is 2N ⁇ 2N.
  • 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.
  • 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.
  • 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 a relationship between the reference picture indicated by the reference picture index refIdxLX and the target picture.
  • 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.
  • 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 called a motion compensation filter (or displacement compensation filter) for generating a pixel at a decimal position.
  • 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 motion displacement compensation image for L0 prediction is referred to as predSamplesL0
  • the motion displacement compensation image for L1 prediction is referred to as predSamplesL1. If the two are not distinguished, they are called predSamplesLX.
  • predSamplesLX the motion displacement compensation image for L0 prediction
  • predSamplesL1 the motion displacement compensation image for L1 prediction
  • These output images are also referred to as motion displacement compensation images predSamplesLX.
  • the input image is expressed as predSamplesLX and 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 the 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 obtained by shifting the coordinates (x, y) of the pixel of the target block 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 restricts (clips) z to be not less than x and not more than 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 weight coefficient 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.
  • delta L (w0 * Clip3 (xmin, xmax, refResSamples L [xR0, y]) + w1 * Clip3 (xmin, xmax, refResSamples L [xR1, y] + 2)) >> 2
  • xmin ⁇ (1 ⁇ (BitDepthY ⁇ 1))
  • xmax (1 ⁇ (BitDepthY ⁇ 1)) ⁇ 1.
  • bit depth is BitDepthY
  • refResSamples L [xR0, y] and refResSamples L [xR1, y] are set to-(1 ⁇ (BitDepthY-1)) to + (1 ⁇ BitDepthY-1) -1 And read the residual.
  • the luminance bit depth bitDepthY is used as the bit depth.
  • similar clip processing is also performed when reading out the residual color difference. In this case, the processing is performed by replacing the bit depth with the bit depth bitDepthC of the color difference (the same applies hereinafter).
  • pixels are derived by linear interpolation when the displacement vector mvDisp has decimal precision, but neighboring integer pixels may be used instead of linear interpolation.
  • 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 (Illuminance compensation)
  • the illumination compensation unit 3093 performs illumination compensation on the input motion displacement compensation image predSamplesLX.
  • the illumination compensation flag ic_enable_flag is 0, 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.
  • 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 (corresponding block) on the reference layer image at a position shifted by a displacement vector from the target block.
  • the illuminance parameter estimation unit 30931 obtains an estimation parameter (illuminance change parameter) from the pixels L (L0 to LN-1) around the target block and the pixels C (C0 to CN-1) around the reference block.
  • FIG. 20 is a block diagram illustrating a configuration of the illuminance compensation unit 3093.
  • the illuminance compensation unit 3093 includes an illuminance parameter estimation unit 30931 and an illuminance compensation filter unit 30932.
  • the illuminance parameter estimation unit 30931 includes an integrated value deriving unit 309312, an addition value deriving unit 309313, a first parameter deriving unit 309314, a second parameter deriving unit 309315, a parameter a deriving unit 309316, and a parameter b deriving unit 309317.
  • the illuminance parameter estimation unit 30931 uses 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 on the target layer image as an adjacent decoded image. Based on the pixel value x [] of the reference image and the pixel value y [] of the adjacent decoded image, the pixel value y [] of the adjacent decoded image is linearly predicted from the pixel value x of the reference image. In this case, parameters a and b are derived.
  • the addition value deriving unit 309313 derives the sum Y of the pixel values y of the adjacent decoded images and the sum X of the pixel values x of the reference images by the following equations (B-2) and (B-3).
  • the integrated value deriving unit 309312 obtains the sum XY of the product of the pixel value y of the adjacent 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 formulas (B-4) to ( Derived by B-5). 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])
  • XY + ⁇ (y [i] * y [i])
  • 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 adjacent decoded image.
  • x [i] is a pixel value at index i of the reference image.
  • the first parameter derivation unit 309314 calculates the sum of the product XY of the pixel value y of the adjacent decoded image and the pixel value x of the reference image, and the product of the sum Y of the pixel value of the adjacent decoded image and the sum X of the pixel value of the reference image.
  • the first parameter a1 is derived from the difference by the following equation.
  • the second parameter derivation unit 309315 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.
  • the derived first parameter a1 and second parameter a2 are output to the parameter a deriving unit 309316.
  • FIG. 21 is a block diagram showing the configuration of the parameter a deriving unit 309316.
  • the parameter a derivation unit 309316 includes a first parameter clip unit 3093161, a first parameter normalization shift unit 3093162, a second parameter normalization shift unit 3093163, and a table base parameter a derivation unit 3093164.
  • the parameter a deriving unit 309316 derives a parameter a corresponding to the gradient in linear prediction in illuminance compensation. Specifically, the parameter a corresponding to a1 / a2 ⁇ iShift, which is a value obtained by shifting the ratio of the first parameter a1 and the second parameter a2 to the left by a fixed shift value to make an integer, is calculated as an integer by the following processing. Derived using
  • the first parameter clip unit 3093161 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.
  • the second parameter normalization shift unit 3093163 calculates the second normalization shift value iScaleShiftA2 according to the following expression for the predetermined bit width ShiftA2 used for derivation of the table of FIG. 14 according to the magnitude of the second parameter a2. Is derived.
  • the derived second normalized shift value iScaleShiftA2 is output to the table base parameter a derivation unit 3093164.
  • iScaleShiftA2 Max (0, Floor (Log2 (Abs (a2)))-(ShiftA2-1)) Formula (B-14)
  • the first parameter normalization shift unit 3093162 derives the first normalization shift value iScaleShiftA1 by the following equation according to the second normalization shift value iScaleShiftA2.
  • the derived first normalized shift value iScaleShiftA1 is output to the table base parameter a derivation unit 3093164.
  • iScaleShiftA1 Max (0, iScaleShiftA2-offsetA1) Formula (B-13)
  • offsetA1 is a constant satisfying 14 or less.
  • the second normalized shift value is derived by subtracting a predetermined constant offsetA1 from the second normalized shift value.
  • both the first normalized shift value and the second normalized shift value are clipped to 0 or more.
  • the first normalization shift value is derived by clipping the second normalization shift to 0 or more, then subtracting the predetermined constant offsetA1 and clipping to 0 or more.
  • the first normalized shift value may be derived by subtracting a predetermined constant offsetA1 before clipping to 0 or more and clipping to 0 or more.
  • both the first normalized shift value and the second normalized shift value are derived according to the magnitude of the second parameter a2.
  • the first normalized shift value is derived using the second normalized shift value. Accordingly, the first normalization shift value is derived according to the magnitude of the second parameter a1, and the first normalization shift value is derived compared to the case where the second normalization shift value is derived according to the magnitude of the second parameter a2. There is an effect that the process of deriving the parameters becomes easy. That is, it is possible to avoid obtaining the first normalization parameter as in the following equation (B-13 ′) having a relatively large amount of calculation.
  • iScaleShiftA1 Max (0, Floor (Log2 (Abs (a1)))-(31-ShiftA1-1))
  • Formula (B-13 ') OffsetA1 is derived so that iScaleShiftA1 satisfies the following expression.
  • the first parameter normalization shift unit 3093162 and the second parameter normalization shift unit 3093163 right-shift the first parameter a1 by the first normalization shift value iScaleShiftA1 and the second parameter a2 by the second normalization shift value iScaleShiftA2, First normalized parameter a1s and normalized second parameter a2s are derived.
  • a1s a1 >> iScaleShiftA1 formula (B-15)
  • a2s a2 >> iScaleShiftA2 formula (B-16)
  • the table-based parameter a deriving unit 3093164 derives the parameter a shift value iScaleShiftA by the following formula based on the difference between the first normalized shift value iScaleShiftA1 and the second normalized shift value iScaleShiftA2.
  • ScaleShiftA ShiftA1 + iScaleShiftA2-iScaleShiftA1-iShift formula (B-18)
  • iScaleShiftA1 Max (0, iScaleShiftA2 ⁇ offsetA1)
  • the table base parameter a derivation unit 3093164 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 first parameter clip unit 3093161 and the first parameter normalization shift unit 3093162 already described are processes for preventing the value of a1s * invTable [a2s] from exceeding 32 bits, and the second parameter normalization shift.
  • the unit 3093163 is processing for preventing a2s from exceeding 2 ⁇ ShiftA2-1.
  • the value of 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 a fixed shift value iShift).
  • the derived parameter a is output to the parameter b deriving unit 309317 and the illuminance compensation filter unit 30932.
  • the parameter b deriving unit 309317 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 from the sum Y of the pixel values of the adjacent decoded images and shifting the value to the right by the fixed shift value iShift.
  • 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 illuminance compensation filter unit 30932 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 30931. For example, when the parameter b is derived from the equation (B-20), the following equation is used.
  • predSamples ⁇ [x] [y] (a * predSamples [x] [y] >> iShift) + b formula (B-21)
  • another configuration parameter b deriving unit 309317 ′ of the parameter b deriving unit 309317 may be used.
  • the value obtained by subtracting the value obtained by multiplying the sum X of pixel values of the reference image by the parameter a from the value obtained by shifting the sum Y of the pixel values of the adjacent decoded images to the left by the fixed shift value iShift is the number of reference pixels.
  • the parameter b may be derived by the following equation.
  • 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 309317 ′ which is another configuration of the parameter b deriving unit 309317
  • another configuration of the illuminance compensation filter unit 30932 is used instead of the illuminance compensation filter unit 30932.
  • the illuminance compensation filter unit 30932 ′ is used.
  • the illuminance compensation filter unit 30932 ′ derives the predicted image predSamples ′ [] after illuminance compensation from the predicted image predSamples [] before illuminance compensation by the following equation.
  • the illuminance compensation unit 3093 derives the first normalization shift value using the second normalization shift value, so that the process of deriving the first normalization parameter is facilitated.
  • ScaleShiftA used for shifting after applying the reciprocal table is always 0 or more. This eliminates the need for branching depending on whether ScaleShiftA is equal to or greater than 0, and the parameter a can always be derived by right shifting, thereby reducing the amount of calculation.
  • the illuminance compensation unit 3093A has substantially the same configuration as the illuminance compensation unit 3093, but the parameter a derivation unit 309316A is used instead of the parameter a derivation unit 309316. Only the parameter a deriving unit 309316A will be described below.
  • the illuminance compensation unit 3093A includes an illuminance parameter estimation unit 30931A and an illuminance compensation filter unit 30932.
  • the illuminance parameter estimation unit 30931A includes an integrated value deriving unit 309312, an addition value deriving unit 309313, a first parameter deriving unit 309314, a second parameter deriving unit 309315, a parameter a deriving unit 309316A, and a parameter b deriving unit 309317.
  • FIG. 22 is a block diagram illustrating a configuration of the parameter a deriving unit 309316A.
  • the parameter a derivation unit 309316A includes a first parameter clip unit 3093161, a first parameter normalization shift unit 3093162, a second parameter normalization shift unit 3093163A, and a division parameter a derivation unit 3093165A. Since the first parameter clip unit 3093161 has already been described, the description thereof is omitted.
  • the first parameter normalization shift unit 3093162 derives the first normalization shift value iScaleShiftA1 from the equation (B-13) according to the second normalization shift value iScaleShiftA2.
  • the derived first normalized shift value iScaleShiftA1 is output to the division parameter a derivation unit 3093165A.
  • the division parameter a deriving unit 3093165A derives a parameter a corresponding to a1 / a2 ⁇ iShift using the same calculation as the motion vector scaling.
  • the motion vector scaling is derived from the following equation.
  • mvLXA Clip3 (-32768, 32767, Sign (distScaleFactor * mvLXA) * ((Abs (distScaleFactor * mvLXA) + 127) >> 8))
  • the division of the equation (MV-1) is division including truncation with an integer, and can also be expressed by a floor that performs integerization by truncation as follows.
  • tx Floor ((16384 + (Abs (td) >> 1)) / td) (MV-1 ')
  • td and tb are POC differences derived by the following equations, and have values from ⁇ 128 to 127.
  • td Clip3 (-128, 127, DiffPicOrderCnt (currPic, refPicA)
  • tb Clip3 (-128, 127, DiffPicOrderCnt (currPic, refPicB)
  • DiffPicOrderCnt (x, y) is a function for deriving a POC difference between picture x and picture y.
  • currPic is a target picture
  • refPicA and refPicB are reference pictures.
  • the calculation of tb / ⁇ td is derived after deriving the following tx once. This is because the range of td is limited to -128 to 127, so that the following x is derived in advance from the inverse table invTableTX [] corresponding to -128 to 127, so that the division operation of the equation (MV-1) Can be derived in a table.
  • invTableTX [x] (16384 + (Abs (x) >> 1)) / x formula (MV-2)
  • This table is the same as the table of FIG. 14 used for LM prediction and illumination compensation.
  • the motion vector scaling process cannot be applied as it is.
  • the division parameter a deriving unit 3093165A derives the parameter a shift value iScaleShiftA by the following formula based on the difference between the first normalized shift value iScaleShiftA1 and the second normalized shift value iScaleShiftA2.
  • the intermediate parameter tb is derived.
  • the parameter a is derived by right-shifting the product of the intermediate parameter tb and the normalized first parameter a1s with ShiftA.
  • the first normalization parameter a1s and the second normalization parameter a2s are derived by shifting the first parameter a1 and the second parameter a2 to the right by the two normalization shift value iScaleShiftA2.
  • the intermediate parameter tb is derived by the above processing, and further the parameter a is derived.
  • the illuminance compensation unit 3093A derives the first normalized shift value using the second normalized shift value, there is an effect that the process of deriving the first normalized parameter becomes easy.
  • ScaleShiftA used for shifting after applying the reciprocal table is always 0 or more. This eliminates the need for branching depending on whether ScaleShiftA is equal to or greater than 0, and the parameter a can always be derived by right shifting, thereby reducing the amount of calculation.
  • FIG. 23 is a block diagram showing a configuration of the illuminance compensation unit 3093H.
  • the illuminance compensation unit 3093H includes an illuminance parameter estimation unit 30931H and an illuminance compensation filter unit 30932. Note that the means having the same number as that of the illuminance parameter estimation unit 309311 has the same configuration, and thus description thereof is omitted.
  • the illuminance parameter estimation unit 30931H includes an addition value deriving unit 309313, a first parameter deriving unit 309314H, a second parameter deriving unit 309315H, a parameter a deriving unit 309316, and a parameter b deriving unit 309317.
  • the first parameter deriving unit 309314H derives the first parameter a1 from the sum Y of the pixel values y of the adjacent decoded images by the following equation.
  • 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 illuminance compensation unit 3093H does not have the integrated value deriving unit 309312 that derives the second-order term that is the sum of the products of the pixels, and is an addition that derives the first-order term that is the sum of the pixels. Only the value deriving unit 309313 is provided. Therefore, the illuminance change parameter can be derived by a relatively easy process. However, the illuminance compensation unit 3093 using the second-order term has higher encoding efficiency.
  • the illumination compensation unit 3093H derives the first normalized shift value using the second normalized shift value, there is an effect that the process of deriving the first normalization parameter becomes easy.
  • a1s a1 formula (B-15 ') This is according to the following equation.
  • the first parameter a1 can be handled with a bit number of bitDepth + 7 or less from the sum of the bit depth bitDepth of the pixel value and the logarithm 7 of 2 of the maximum value 128 of the reference pixel number.
  • the maximum value of the reciprocal table value is 2 raised to the power of ShiftA1
  • bitDepth ⁇ 25-ShiftA1
  • the illuminance compensation unit 3093HA has substantially the same configuration as the illuminance compensation unit 3093H, but the parameter a derivation unit 309316A is used instead of the parameter a derivation unit 309316. Since the components including the parameter a deriving unit 309316A have already been described, the description thereof will be omitted.
  • the parameter a derivation unit 309316A uses division for derivation of the parameter a. However, since this division is the same as the following processing used in motion vector scaling, the implementation scale is reduced. There is an effect.
  • the illuminance compensation unit 3093HA includes only an addition value deriving unit 309313 for deriving a first-order term that is a sum of pixels. Therefore, the illuminance change parameter can be derived by a relatively easy process.
  • a1s a1 formula (B-15 ') (Illuminance compensation unit 3093O)
  • an illuminance compensation unit 3093O which is a modification of the illuminance compensation unit 3093, will be described.
  • FIG. 24 is a block diagram showing a configuration of the illuminance compensation unit 3093O.
  • the illuminance compensation unit 3093O includes an illuminance parameter estimation unit 30931O and an illuminance compensation filter unit 30932O.
  • the illuminance parameter estimation unit 30931O includes an addition value deriving unit 309313 and a parameter b deriving unit 309317O.
  • the illuminance parameter estimation unit 30931O uses the pixel C (reference image area) around the reference block corresponding to the target block on the reference layer image shown in FIG. 13 as the pixel value x [] of the reference image, and the target block on the target layer image. Is a pixel value y [] (target image region) of the adjacent decoded image, and the pixels of the adjacent decoded image based on the pixel value x [] of the reference image and the pixel value y [] of the adjacent decoded image A parameter a and a parameter b, which are parameters for predicting the value y [] from the pixel value x of the reference image, are derived.
  • the addition value deriving unit 309313 derives the sum Y of the pixel values y of the adjacent decoded images and the sum X of the pixel values x of the reference images 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 adjacent 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 of the reference area.
  • the parameter b deriving unit 309317O derives the parameter b by the following equation by dividing the difference between the pixel value sum Y of the adjacent decoded images and the reference image pixel value sum X by the number of pixels in the reference region.
  • the illuminance compensation filter unit 30932O 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 30931O. For example, when the parameter b is derived from the equation (B-20), the following equation is used.
  • the weight prediction unit 3094 generates a prediction picture block P (prediction image) by multiplying the input motion displacement image predSamplesLX by a weight coefficient.
  • the input motion displacement image predSamplesLX is an image on which residual prediction and illuminance compensation are performed.
  • the input motion displacement image predSamplesLX (LX is L0 or L1) is set to the number of pixel bits. The following formula is processed.
  • 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] + offset2) >> shift2)
  • 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) >> log2WD) + o0)
  • 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. 32 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 prediction image generation unit 101 outputs a prediction mode predMode indicating the intra prediction mode used when generating the prediction picture block P to the prediction parameter encoding unit 111 when intra prediction is selected.
  • LM prediction using the LM prediction unit 3093 is used as one of the color difference prediction modes IntraPredModeC for intra prediction.
  • the predicted image generation unit 101 when selecting motion prediction, stores the motion vector mvLX used when generating the predicted 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 encoding target 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 IDview_id) and may represent a prediction parameter.
  • the predicted image generation unit 101 outputs a prediction mode predMode indicating the inter prediction mode to the prediction parameter encoding unit 111.
  • the 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 prediction image generation unit 101 includes the prediction image generation unit 101 as described above when the residual prediction flag res_pred_flag indicates that the residual prediction is performed.
  • the residual prediction unit 3092 performs residual prediction and the illuminance compensation flag ic_enable_flag indicates that illuminance compensation is performed
  • the illuminance compensation prediction is performed in the illuminance compensation unit 3093 included in the predicted image generation unit 101 as described above. I do.
  • an illuminance compensation unit 3093A, an illuminance compensation unit 3093H, and an illuminance compensation unit 3093HA may be used.
  • 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.
  • 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 IntraPredMode indicated by the prediction mode predMode input from the encoding parameter determination unit 110 as a set of inter prediction parameters.
  • the inter prediction parameter encoding unit 112 is means corresponding to the inter prediction parameter decoding unit 303.
  • FIG. 33 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 encoding control unit 1031 instructs the entropy encoding unit 104 to decode a code related to the inter prediction (syntax element decoding), for example, a code (syntax element) included in the encoded data.
  • a code related to the inter prediction for example, a code (syntax element) included in the encoded data.
  • Merge flag merge_flag, merge index merge_idx, inter prediction flag inter_pred_idcinter_pred_idc, reference picture index refIdxLX, prediction vector index mvp_LX_idx, and difference vector mvdLX are encoded.
  • 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 split mode encoding unit, a merge flag encoding unit, an inter not shown.
  • a prediction flag encoding unit, a reference picture index encoding unit, and a vector difference encoding unit are configured.
  • 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_idcinter_pred_idc 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 1031 encodes the illumination compensation flag ic_enable_flag and the residual prediction flag res_pred_flag to indicate whether or not additional prediction is performed.
  • 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 prediction candidates 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 AMVP prediction parameter derivation unit 1122 receives the vector mvLX from the encoding parameter determination unit 110 when the prediction mode predMode input from the prediction image generation unit 101 indicates the inter prediction mode.
  • 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 subtraction unit 1123 subtracts the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 1122 from the vector mvLX input from the coding parameter determination unit 110 to generate a difference vector mvdLX.
  • the difference vector mvdLX is output to the 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.
  • the image encoding device 11 and the image decoding device 31 serve as the illuminance compensation means as the illuminance compensation 3093, the illuminance compensation 3093A, the illuminance compensation 3093H, the illuminance compensation 3093, and the illuminance compensation 3093O described in the first embodiment.
  • the configuration of illumination compensation 3093S, illumination compensation 3093AS, illumination compensation 3093HS, illumination compensation 3093S, and illumination compensation 3093OS is used.
  • the illuminance change parameter is calculated by referring to the pixel value x of the reference image and the pixel value y of the adjacent decoded image while sub-sampled.
  • FIG. 25 is a diagram for explaining a reference pixel for illuminance compensation according to the second embodiment. As shown in FIG. 25, both the pixel value y of the adjacent decoded image adjacent to the target block and the pixel value x of the reference image adjacent to the corresponding block are referred to only by the sampled pixels by 2-to-1 subsampling. .
  • the illuminance compensation unit 3093S includes an illuminance parameter estimation unit 30931S and an illuminance compensation filter unit 30932.
  • the illuminance parameter estimation unit 30931S includes an integrated value deriving unit 3093112S, an addition value deriving unit 309313S, a first parameter deriving unit 309314, a second parameter deriving unit 309315, a parameter a deriving unit 309316, and a parameter b deriving unit 309317.
  • the addition value deriving unit 309313S derives the sum Y of the pixel values y of the adjacent decoded images and the sum X of the pixel values x of the reference images by the following equations (B-2) and (B-3).
  • the integrated value deriving unit 309312S calculates the sum XY of the product of the pixel value y of the adjacent 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 from the following formulas (B-4) to ( Derived by B-5). X, Y, XY, and XX are initialized to 0 before the following sum.
  • ⁇ x [i * 2] Formula (B-2)
  • Y ⁇ y [i * 2] Formula (B-3)
  • XX + ⁇ (x [i * 2] * x [i * 2])
  • XY + ⁇ (y [i * 2] * y [i * 2])
  • 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 adjacent 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 of the reference area.
  • the index i is doubled to refer to the pixel value y of the adjacent decoded image and the pixel value x of the reference image.
  • i * 2 takes discrete values of 0, 2, 4,...
  • the addition value deriving unit 309313 subsamples and refers to the pixel of the adjacent decoded image and the pixel of the reference image. Show. Note that the sub-sampling is performed by sub-sampling the pixels in the vertical direction in the case of the adjacent decoded image adjacent to the left of the target block and the reference region adjacent to the left of the corresponding block (the Y coordinate is accessed with the index * 2).
  • the sub pixels are thinned out in the horizontal direction. Sampling is performed (excessive values such as 0, 2, 4, etc. by accessing the X coordinate with the index * 2).
  • the illuminance parameter estimation unit 30931S derives the parameter a which is a tilt component and the parameter b which is an offset component used for illuminance compensation in the illuminance compensation filter unit 30932, using the added values derived from the subsampled pixels.
  • the subsample is effective in reducing the amount of calculation for calculating the illuminance change parameter.
  • the illuminance compensation unit 3093AS includes an illuminance parameter estimation unit 30931AS and an illuminance compensation filter unit 30932.
  • the illuminance compensation unit 3093AS includes an illuminance parameter estimation unit 30931AS and an illuminance compensation filter unit 30932.
  • the illuminance parameter estimation unit 30931AS includes an integrated value deriving unit 3093112S, an addition value deriving unit 309313S, a first parameter deriving unit 309314, a second parameter deriving unit 309315, a parameter a deriving unit 309316A, and a parameter b deriving unit 309317.
  • the first normalization parameter a1s and the second normalization parameter a2s are derived by right shifting the first parameter a1 and the second parameter a2 by the second normalization shift value iScaleShiftA2.
  • the intermediate parameter tb is derived by the above processing, and further the parameter a is derived.
  • the integrated value deriving unit 309312S and the addition value deriving unit 309313S are used to obtain the parameter a that is a slope component used for illuminance compensation in the illuminance compensation filter unit 30932 and the offset component.
  • the parameter b is derived using the addition value derived from the subsampled pixels. The subsample is effective in reducing the amount of calculation for calculating the illuminance change parameter.
  • the illuminance compensation unit 3093HS includes an illuminance parameter estimation unit 30931HS and an illuminance compensation filter unit 30932.
  • the illuminance parameter estimation unit 30931HS includes an addition value deriving unit 309313S, a first parameter deriving unit 309314H, a second parameter deriving unit 309315H, a parameter a deriving unit 309316, and a parameter b deriving unit 309317.
  • the addition value deriving unit 309313S derives the sum Y of the pixel values y of the adjacent decoded images and the sum X of the pixel values x of the reference images by the following equations (B-2) and (B-3).
  • the addition value derivation unit 309313S is used, whereby the parameter b, which is an offset component used for illuminance compensation in the illuminance compensation filter unit 30932, is derived from the subsampled pixels. Derived using The subsample is effective in reducing the amount of calculation for calculating the illuminance change parameter.
  • the illuminance compensation unit 3093HAS has substantially the same configuration as the illuminance compensation unit 3093HA, except that an addition value derivation unit 309313S is used instead of the addition value derivation unit 309313.
  • the addition value derivation unit 309313S is used, whereby the parameter b, which is an offset component used for illuminance compensation in the illuminance compensation filter unit 30932, is derived from the subsampled pixels. Derived using The subsample is effective in reducing the amount of calculation for calculating the illuminance change parameter.
  • the illuminance compensation unit 3093OS includes an illuminance parameter estimation unit 30931OS and an illuminance compensation filter unit 30932O.
  • the illuminance parameter estimation unit 30931OS includes an addition value deriving unit 309313S and a parameter b deriving unit 309317O.
  • the addition value deriving unit 309313S derives the sum Y of the pixel values y of the adjacent decoded images and the sum X of the pixel values x of the reference images by the following equations (B-2) and (B-3).
  • the addition value derivation unit 309313S is used to add the parameter b, which is an offset component used for illuminance compensation in the illuminance compensation filter unit 30932O, derived from the subsampled pixels. Derived using The subsample is effective in reducing the amount of calculation for calculating the illuminance change parameter.
  • the image encoding device 11 and the image decoding device 31 in the third embodiment include an illuminance compensation unit 3093S0 or an illuminance compensation unit 3093S1 instead of the illuminance compensation 3093 as the illuminance compensation unit.
  • the configuration of the illuminance compensation means is the same as that of the image encoding device 11 and the image decoding device 31 described in the first embodiment.
  • FIG. 26 is a block diagram illustrating a diagram of the illuminance compensation unit 3093S0 including switching means.
  • the illuminance compensation unit 3093S0 includes an illuminance compensation switching unit 30939S0 and an illuminance compensation unit.
  • the illuminance compensation switching unit 30939S0 is means for switching whether or not to perform illuminance compensation in accordance with the block information.
  • the block information indicates that illuminance processing is performed
  • the block processed by the illuminance compensation unit is used to block If the information does not indicate that illuminance processing is to be performed, a block that has not been processed by the illuminance compensation unit is used.
  • the illuminance compensation unit 3093 includes the illuminance compensation unit 3093 described above, the illuminance compensation unit 3093A, the illuminance compensation unit 3093H, the illuminance compensation unit 3093HA, the illuminance compensation unit 3093O, the illuminance compensation unit 3093S, the illuminance compensation unit 3093AS, An illuminance compensation unit 3093HS, an illuminance compensation unit 3093HAS, an illuminance compensation unit 3093OS, or the like can be used.
  • FIG. 27 is a flowchart for explaining the operation of the illuminance compensation unit 3093S0.
  • the illuminance compensation switching unit 30939S0 checks the block size which is block information. If the block size is equal to or larger than a predetermined size (4 ⁇ 4), the process proceeds to S1102 to perform illuminance compensation. If it is less than the predetermined size, the process proceeds to S1103 and ends as it is.
  • the illumination compensation unit 3093 performs illumination compensation.
  • FIG. 28 is a flowchart for explaining another operation of the illuminance compensation unit 3093S0.
  • Illuminance compensation switching unit 30939S0 checks the color component that is block information, and if color component cIdx is luminance (cIdx is 0, luminance block), the color component cIdx is changed to S1202 to perform illuminance compensation. Is a color difference (cIdx is other than 0, a color difference block), the process proceeds to S1203 and ends as it is.
  • Illuminance compensation unit 3093 performs illuminance compensation.
  • a determination condition can be that the block width width or block height is greater than 4.
  • the CU size is determined from 8 ⁇ 8 blocks as a determination as to whether the block size is 4 ⁇ 4 blocks or more.
  • the determination condition can be a large or luminance block. That is, a configuration may be adopted in which illuminance prediction is performed when the CU size is larger than an 8 ⁇ 8 block or a luminance block, and illuminance prediction is not performed in other cases.
  • FIG. 29 is a block diagram illustrating a diagram of an illuminance compensation unit 3093S1 including switching means.
  • the illuminance compensation unit 3093S1 includes an illuminance compensation switching unit 30939S1, an illuminance compensation unit 3093, and an illuminance compensation unit 3093O.
  • the illuminance compensation unit 3093 is means for performing illuminance compensation using a linear model.
  • the illuminance compensation unit 3093A the illuminance compensation unit 3093H, the illuminance compensation unit 3093HA, the illuminance compensation unit 3093S, and the illuminance compensation
  • the unit 3093AS, the illuminance compensation unit 3093HS, the illuminance compensation unit 3093HAS, and the like can be used.
  • the illuminance compensation unit 3093O is means for performing illuminance compensation using an offset model.
  • an illuminance compensation unit 3093OS or the like can be used.
  • the illumination compensation by the linear model uses the parameter a corresponding to the slope and the parameter b equivalent to the offset as the illumination deformation parameter, and the parameter of the illumination change parameter is the product of the motion compensated image obtained from the reference picture and the parameter a.
  • a right shift may be used for integer arithmetic. That is, the right shift after adding the parameter b after the product of the motion compensated image and the parameter a may be added, or the right shift after adding the parameter b after the product of the motion compensated image and the parameter a may be added. May be performed.
  • Illuminance compensation by an offset model refers to illuminance compensation provided with means for adding the parameter b of the illuminance change parameter to the motion compensated image obtained from the reference picture.
  • the illuminance compensation switching unit 30939S1 switches whether to perform illuminance compensation by a linear model or illuminance compensation by an offset model according to block information.
  • FIG. 30 is a flowchart for explaining the operation of the illuminance compensation unit 3093S1.
  • the illuminance compensation switching unit 30939S1 checks the block size that is block information. If the block size is a predetermined size (for example, 4 ⁇ 4 blocks) or more, the process proceeds to S1302 to perform illuminance compensation by a linear model. If it is less than the predetermined size, the process proceeds to S1303, where illuminance compensation is performed using an offset model.
  • a predetermined size for example, 4 ⁇ 4 blocks
  • the illumination compensation unit 3093 performs illumination compensation using a linear model.
  • the illuminance compensation unit 3093O performs illuminance compensation using an offset model.
  • the illuminance compensation has a high calculation load especially when the block size is small, the illuminance compensation is particularly high when the calculation load is high by performing the illuminance compensation by the offset model with a low calculation load of the small block having a high calculation load There is an effect of reducing the amount of calculation.
  • the illuminance compensation is limited to 2N ⁇ 2N (when the illuminance compensation flag ic_enable_flag is set only when PartMode is 2N ⁇ 2N, and the illuminance compensation flag ic_enable_flag is set to 0 in other cases)
  • the luminance block size is minimum at 8 ⁇ 8
  • the color difference block size is minimum at 4 ⁇ 4. Therefore, the block size of 4 ⁇ 4 is the minimum block, which is the worst case in terms of calculation load.
  • the predetermined size there is an effect of reducing the calculation load in the worst case.
  • a determination condition can be that the block width width or block height is greater than 4.
  • the CU size is determined from 8 ⁇ 8 blocks as a determination as to whether the block size is 4 ⁇ 4 blocks or more.
  • the determination condition can be a large or luminance block. That is, a configuration in which illuminance prediction using a linear model is performed when the CU size is larger than an 8 ⁇ 8 block or a luminance block, and illuminance prediction using an offset model is performed otherwise.
  • FIG. 31 is a flowchart for explaining another operation of the illuminance compensation unit 3093S1.
  • the linear illumination compensation unit 3093 performs illumination compensation using a linear model.
  • the offset illumination compensation unit 3093O performs illumination compensation using an offset model.
  • 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 illuminance compensation unit that applies illuminance compensation to the motion compensated image includes the illuminance change parameter based on the reference image on the reference layer and the adjacent decoded image on the target layer. And an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter, and the illuminance compensation filter calculates the illuminance as the product of the motion compensated image obtained from the reference picture and the parameter a of the illuminance change parameter.
  • the illumination parameter estimation unit includes a parameter a deriving unit for deriving the parameter a from the first parameter and the second parameter, and the parameter a deriving unit includes a first normalization.
  • a parameter normalization shift unit for deriving the shift value and the second normalization shift value, and the first normalization shift value are used.
  • a parameter normalization shift unit is provided, wherein the parameter normalization shift unit derives the first normalization shift value by subtracting a predetermined value from the second normalization shift value.
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image, the illuminance compensation unit includes at least a reference image region on the reference layer and an adjacent decoded image region on the target layer.
  • An illuminance parameter estimation unit for deriving an illuminance change parameter including the parameter b, and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter, wherein the illuminance compensation filter includes a motion compensation image obtained from a reference picture and an illuminance change parameter.
  • the amount of calculation is reduced because the illumination change parameter is calculated with reference to the subsampled pixels.
  • the illuminance parameter estimation unit includes parameter b deriving means for deriving the parameter b from a difference between a sum of pixels of adjacent decoded images and a sum of pixels of reference images.
  • the pixel of the decoded image and the pixel of the reference image are subsampled.
  • the illuminance parameter estimation unit uses a first parameter derived from the sum of the products of the pixels of the adjacent decoded image and a second parameter derived from the sum of the pixels of the reference image.
  • Parameter a deriving means for deriving the parameter a;
  • Parameter b deriving means for deriving the parameter b from the sum of the pixels of the adjacent decoded image, the parameter a, and the sum of the pixels of the reference image;
  • the pixels of the adjacent decoded image and the pixels of the reference image are subsampled.
  • the illuminance parameter estimation unit is configured to calculate a sum of a product of a pixel of the reference image and a pixel of the adjacent decoded image, and a product of a sum of the pixel of the reference image and a sum of the pixel of the adjacent decoded image.
  • Parameter a deriving means for deriving the parameter a from the first parameter derived, the sum of the squares of the pixels of the reference image, and the second parameter derived from the square of the sum of the pixels of the reference image;
  • Parameter b deriving means for deriving the parameter b from the sum of the decoded image pixels, the parameter a, and the reference image pixel is provided, and the adjacent decoded image pixels and the reference image pixels are subsampled. It is characterized by.
  • the parameter a deriving unit includes a parameter normalization shift unit that derives a first normalization shift value and a second normalization shift value, and the first normalization shift value is greater than or equal to zero.
  • a parameter normalization shift unit for deriving a normalization first parameter by shifting the first parameter to the right by the number clipped to the second, and the second parameter by the number of the second normalization shift value clipped to 0 or more A parameter normalization shift unit for deriving a normalization second parameter by shifting to the right is provided, and the first normalization shift value is derived by subtracting a predetermined value from the second normalization shift value.
  • the parameter a deriving means includes at least a parameter normalization shift unit for deriving a second normalization shift value, and a number obtained by clipping the second normalization shift value to 0 or more.
  • a parameter normalization shift unit for deriving a normalized second parameter of 127 or less by shifting the second parameter to the right is derived by (16318+ (normalized second parameter >> 1)) / normalized second parameter
  • a means for deriving the parameter a using the product of the tb and the first parameter is derived by (16318+ (normalized second parameter >> 1)
  • the illuminance compensation unit that applies illuminance compensation to the motion compensated image is provided, and when the target block is a predetermined size or more, the illuminance compensation unit performs illuminance compensation, and the target block Is less than a predetermined size, illuminance compensation is not 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 region on the reference layer and the adjacent decoded image region on the target layer.
  • An illuminance parameter estimator for deriving a change parameter and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter are obtained from the reference layer when the target block is a predetermined size or larger.
  • Illuminance compensation is performed by means for adding the illuminance change parameter b to the product of the motion compensated image and the illuminance change parameter a, and if the target block is less than the predetermined size, the motion compensation image and the illuminance change parameter Illuminance compensation is performed by means for adding the parameter b.
  • the predetermined size is 4 ⁇ 4 blocks.
  • 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 region on the reference layer and the adjacent decoded image region on the target layer.
  • An illuminance parameter estimator for deriving a change parameter and an illuminance compensation filter that performs illuminance compensation using the illuminance change parameter, and the illuminance compensation filter is motion compensation obtained from a reference layer when the target block is a luminance block.
  • Illuminance compensation is performed by means for adding the illuminance change parameter b to the product of the image and the illuminance change parameter a. If the target block is a color difference block, the motion compensation image and the illuminance change parameter b are added. The illuminance compensation is performed by the above.
  • the LM prediction unit includes a LM prediction unit that applies a color difference prediction image from a luminance image, and the LM prediction unit includes an LM parameter estimation unit that derives an LM parameter from the adjacent luminance image and the adjacent color difference image;
  • An LM prediction filter that generates a color difference prediction image from a luminance image using the LM parameter, the LM prediction filter including means for adding a parameter b of the LM parameter to a product of the luminance image and the parameter a of the LM parameter;
  • the LM parameter estimation unit includes a sum of products of pixel values of adjacent luminance images and pixel values of adjacent color difference images, a sum XY of products of pixel values y of adjacent color difference images and pixel values x of adjacent luminance images, and adjacent color differences.
  • the first parameter a1 Based on the difference between the product of the sum Y of the pixel values of the image and the sum X of the pixel values of the adjacent luminance image, the first parameter a1, the sum XX of the squares of the pixel values of the adjacent luminance image, and the sum of the pixel values of the adjacent luminance image X
  • a parameter a deriving unit for deriving the parameter a from the second parameter a2v from the power difference is provided, and the parameter a deriving unit determines the first parameter a1 and the second parameter a2 according to the second parameter a2.
  • a means for shifting to the right according to the first normalized shift value and the second normalized shift value is provided.
  • the parameter a deriving unit further includes regularization term deriving means for deriving a regularization term, and at least adds the regularization term to the second parameter a2.
  • the parameter a derivation unit further includes regularization term derivation means for deriving a regularization term, and the regularization term derived from the sum Y of the pixel values of the adjacent color difference images is calculated as described above.
  • a regularization term derived from the sum X of pixel values of adjacent luminance images is added to the first parameter a1, and the regularization term is added to the second parameter a2.
  • the illumination compensation device described above is provided.
  • the illumination compensation device described above is provided.
  • 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.
  • 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 303111 ... Reference layer determination unit 30312 ... Merge index decoding unit 30313 ... Vector candidate index decoding unit 3032 ... AMVP prediction parameter derivation unit 3035 ... addition unit 3036 ... merge prediction parameter derivation unit 30361 ... merge candidate derivation unit 303611 ... merge candidate storage unit 303612 ... extended merge candidate derivation Unit 3036121 ... interlayer merge candidate derivation unit 3036122 ... displacement vector acquisition unit 3036123 ... interlayer displacement merge candidate derivation unit 303613 ...
  • first parameter normalization shift unit (parameter normalizing shift unit) 3093163 ... 2nd parameter normalization shift part (parameter normalization shift part) 3093164 ... Table base parameter a derivation unit 3093165A ... Division parameter a derivation unit 309317 ... Parameter b derivation unit 309317O ... Parameter b derivation unit 30932 ... Illumination compensation filter unit 30932 '... Illumination compensation filter unit 3094 ... Weight prediction unit 310 ... Intra prediction image Generation unit 3104 ... LM prediction unit 31041 ... LM parameter estimation unit 31042 ... LM prediction filter unit 310412 ... LM integrated value derivation unit 310413 ... LM addition value derivation unit 310414 ...
  • LM first parameter derivation unit 310415 ... LM second parameter derivation unit 310416 ... LM parameter a deriving unit 310416A ... LM parameter a deriving unit 3104161 ... LM first parameter clip unit 3104162 ... LM first parameter normalization shifting unit (parameter normalization) Shift section) 3104163... LM second parameter normalization shift unit (parameter normalization shift unit) 3104164 ... Table-based LM parameter a derivation unit 3104165A ... Division LM parameter a derivation unit 310417 ... LM parameter b derivation unit 310418 ... LM regularization term addition unit 3104182 ... LM second parameter regularization term addition unit 311 ... Inverse quantization / inverse DCT unit 312 ... addition unit 313 ... residual storage unit 41 ... image display device

Landscapes

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

Abstract

 周囲の画素をサブサンプルして照度変化パラメータを導出するか、照度変化パラメータを導出する際に用いる2つのパラメータの正規化する正規化シフト値のうちの一方の正規化シフト値をもう1つの正規化シフト値に依存して導出することにより、照度補償の計算量を削減する。

Description

照度補償装置、LM予測装置、画像復号装置、画像符号化装置
 本発明は、照度補償装置、LM予測装置、画像復号装置、画像符号化装置に関する。
 複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素(x成分)と垂直方向の要素(y成分)を有する2次元のベクトルであり、1つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ(画像レイヤ)とデプスレイヤ(距離画像レイヤ)から構成される場合のスケーラブル符号化は、3次元スケーラブル符号化と呼ばれる。
 また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化(ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理)、SNRスケーラブル符号化(ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理)等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。
 また、非特許文献1では、予測対象ブロックの周囲の画素における照度変化を、予測対象ブロックの予測に用いる照度補償と呼ばれる技術が知られている。
 また、非特許文献2では、予測対象ブロックの色差画像を、対応する輝度画像から予測するLM予測と呼ばれる技術が知られている。
3D-CE2.h : Results of Illumination Compensation for Inter-View Prediction, JCT3V-B0045, JCT-3V Shanghai, CN, 13-19 Oct 2012 LM Mode Clean-Up, JCTVC-I0148, JCT-VC Geneva, CH, 27 April -7 May 2012
 しかしながら、非特許文献1の照度補償においては、対象領域と参照領域の周囲の画素を用いて照度補償の予測パラメータを導出するが、その計算量が大きいという課題がある。また、非特許文献2のLM予測においては、対象領域(色差画像)と参照領域(輝度画像)の周囲の画素を用いて照度補償の予測パラメータを導出するが、その計算量が大きいという課題がある。
 本発明は上記の点に鑑みてなされたものであり、照度補償およびLM予測の計算量を低減させる画像復号装置、画像復号方法、画像復号プログラム、画像符号化装置、画像符号化方法、画像符号化プログラム、画像表示システム及び画像伝送システムを提供する。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像と、対象レイヤ上の隣接復号画像から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段を含み、上記照度パラメータ推定部は、第1パラメータと第2パラメータから上記パラメータaを導出するパラメータa導出手段を備え、上記パラメータa導出手段は、第1正規化シフト値と第2正規化シフト値を導出するパラメータ正規化シフト部と、第1正規化シフト値を用いて上記第1パラメータを右シフトして正規化第1パラメータを導出するパラメータ正規化シフト部と、上記第2正規化シフト値を用いて上記第2パラメータを右シフトして正規化第2パラメータを導出するパラメータ正規化シフト部を備え、上記パラメータ正規化シフト部は、上記第2正規化シフト値から所定の値を減算することにより上記第1正規化シフト値を導出することを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から少なくともパラメータbを含む照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段、もしくは、上記動き補償画像と照度変化パラメータのパラメータbを加える手段のいずれかを含み、上記照度パラメータ推定部は、上記参照画像領域と上記隣接復号画像領域の画素をサブサンプリングして参照することにより導出することを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、対象ブロックが所定のサイズ以上の場合には、上記照度補償部により照度補償を行い、上記対象ブロックが所定のサイズ未満の場合には、照度補償を行わないことを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、対象ブロックが所定のサイズ以上の場合には、上記参照レイヤから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段により照度補償を行い、対象ブロックが上記所定のサイズ未満の場合には、上記動き補償画像と照度変化パラメータのパラメータbを加える手段により照度補償を行うことを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、対象ブロックが輝度ブロックの場合には、参照レイヤから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段により照度補償を行い、対象ブロックが色差ブロックの場合には、上記動き補償画像と照度変化パラメータのパラメータbを加える手段により照度補償を行うことを特徴とする。
 一構成のLM予測装置によれば、輝度画像から色差予測画像を適用するLM予測部を備え、上記LM予測部は、隣接輝度画像と隣接色差画像からLMパラメータを導出するLMパラメータ推定部と、上記LMパラメータを用いて、輝度画像から色差予測画像を生成するLM予測フィルタを備え、上記LM予測フィルタは、輝度画像とLMパラメータのパラメータaの積にLMパラメータのパラメータbを加える手段を含み、上記LMパラメータ推定部は、隣接輝度画像の画素値と隣接色差画像の画素値の積の和と、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xの積の差から第1パラメータa1と、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から第2パラメータa2vから、パラメータaを導出するパラメータa導出部を備え、上記パラメータa導出部は、上記第1パラメータa1と上記第2パラメータa2を、第2パラメータa2に応じて定まる第1正規化シフト値、第2正規化シフト値に応じて右シフトする手段を備えることを特徴とする。
 本発明によれば、照度補償の計算量および実装規模を低減させる。本発明によれば、LM予測の計算量および実装規模を低減させる。
本発明の実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る符号化ストリームのデータの階層構造を示す図である。 参照ピクチャリストの一例を示す概念図である。 参照ピクチャの例を示す概念図である。 本実施形態に係る画像復号装置の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の構成を示す概略図である。 本実施形態に係るマージ予測パラメータ導出部の構成を示す概略図である。 本実施形態に係るAMVP予測パラメータ導出部の構成を示す概略図である。 ベクトル候補の一例を示す概念図である。 本実施形態に係るLM予測の概念図である。 本実施形態に係るインター予測画像生成部の構成を示す概略図である。 本実施形態に係る残差予測の概念図である。 本実施形態に係る照度補償の概念図である。 本実施形態に係る照度補償で用いるテーブルを示す図である。 本実施形態に係るLM予測部3104の構成を示すブロック図である。 本実施形態に係るLMパラメータa導出部310416の構成を示すブロック図である。 本実施形態に係るLM正則化項加算部310418の構成を示すブロック図である。 本実施形態に係るLMパラメータa導出部310416Aの構成を示すブロック図である。 本実施形態に係るLM予測部3104Hの構成を示すブロック図である。 本実施形態に係る照度補償部3093の構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316の構成を示すブロック図である。 本実施形態に係るパラメータa導出部309316Aの構成を示すブロック図である。 本実施形態に係る照度補償部3093Hの構成を示すブロック図である。 本実施形態に係る照度補償部3093Oの構成を示すブロック図である。 第2の実施形態に係る照度補償の参照画素を説明する図である。 第3の実施形態に係る切り替え手段を備える照度補償部3093S0の図を説明するブロック図である。 第3の実施形態に係る照度補償部3093S0の動作を説明するフローチャートである。 第3の実施形態に係る照度補償部3093S0の別の動作を説明するフローチャートである。 第3の実施形態に係る切り替え手段を備える照度補償部3093S1の図を説明するブロック図である。 第3の実施形態に係る照度補償部3093S1の動作を説明するフローチャートである。 第3の実施形態に係る照度補償部3093S1の別の動作を説明するフローチャートである。 本実施形態に係る画像符号化装置の構成を示すブロック図である。 本実施形態に係るインター予測パラメータ符号化部の構成を示す概略図である。
  (第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は、分割フラグ(splif_flag)を含み、splif_flagが1の場合には、4つの符号化ツリーユニットCTUに分割される。splif_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_idcで表現することもできる。通常、後述の予測画像生成部、予測パラメータメモリでは、予測リスト利用フラグが用いれ、符号化データから、どの参照ピクチャリストが用いられるか否かの情報を復号する場合にはインター予測フラグinter_pred_idcが用いられる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックス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_idcinter_pred_idc)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測フラグinter_pred_idcinter_pred_idc、参照ピクチャインデックス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_idcinter_pred_idc、参照ピクチャインデックス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_idcinter_pred_idc)、参照ピクチャインデックス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モードは、対象ブロックに隣接する処理済み画像を用いて、輝度の画素値から、色差の画素値を予測する予測パラメータを導出し、その予測パラメータに基づいて、処理済みの輝度のブロックから、色差のピクチャブロックを生成する。このような予測はLM予測と呼ばれる。イントラ予測画像生成部310は、図示しないDC予測部3101、プレーナ予測部3102、方向予測部3103、LM予測部3104から構成される。
 (LM予測部3104)
 図15は、LM予測部3104の構成を示すブロック図である。LM予測部3104は、LMパラメータ推定部31041と、LM予測フィルタ部31042から構成される。LMパラメータ推定部31041は、LM積算値導出部310412、LM加算値導出部310413、LM第1パラメータ導出部310414、LM第2パラメータ導出部310415、LMパラメータa導出部310416、LMパラメータb導出部310417から構成される。
 LMパラメータ推定部31041は、対象ブロック(対象予測ユニット)の画素を、参照ブロックの画素から推定するための推定パラメータを求める。図10は、LM予測を説明するための図である。図13では、対象ブロックの周囲の色差画像上の画素Lと、対象ブロックに対応する輝度画像上の参照ブロック(対応ブロック)の周囲の画素Cの位置を示している。
 LMパラメータ推定部31041は、図10に示す対象ブロックの周囲に対応する輝度ブロックの周囲の画素Cを隣接輝度画像の画素値x[](参照画像領域)、対象ブロックの周囲の色差成分の画素Lを隣接色差画像の画素値y[](対象画像領域)とし、これら隣接輝度画像の画素値x[]と隣接色差画像の画素値y[]に基づいて、隣接色差画像の画素値y[]を隣接輝度画像の画素値xから線形予測する場合のパラメータであるパラメータa、パラメータbを導出する。
 LM加算値導出部310413は、隣接色差画像の画素値yの和Yと隣接輝度画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
 LM積算値導出部310412は隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接輝度画像の画素値の2乗の和XXを、以下の式(B-4)~(B-5)により導出する。この時、LM積算値導出部310412は、隣接色差画像の画素値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])     式(B-4)
  XY += Σ(y[i] * y[i])     式(B-5)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。y[i]は、隣接復号画像のインデックスiにおける画素値。x[i]は、参照画像のインデックスiにおける画素値。カウントシフト値iCountShiftは、参照領域のサイズの2の対数である。ここで、インデックスiを2倍して、隣接色差画像の画素値yと、隣接輝度画像の画素値xを参照している。
 iCountShift = log2 (参照領域の画素数)      式(B-6)
 LM第1パラメータ導出部310414は、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xの積の差から第1パラメータa1を以下の式により導出する。
  a1 = ( XY << iCountShift ) - (Y * X);     式(B-7)
 式(B-7)に示すように、XYは、カウントシフト値iCountShiftだけ左シフト、YとXの積は積算シフト値precShiftだけ右シフトしてから、両者の差を算出する。
 LM第2パラメータ導出部310415は、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から第2パラメータa2を以下の式により導出する。
  a2 = ( XX << iCountShift ) - (X * X);     式(B-8)
 導出された第1パラメータa1と第2パラメータa2は、LMパラメータa導出部310416に出力される。
 図16は、LMパラメータa導出部310416の構成を示すブロック図である。LMパラメータa導出部310416は、LM第1パラメータクリップ部3104161、LM第1パラメータ正規化シフト部3104162、LM第2パラメータ正規化シフト部3104163、テーブルベースLMパラメータa導出部3104164から構成される。
 LMパラメータa導出部310416は、照度補償における線形予測において傾きに対応するパラメータaを導出する。具体的には、第1パラメータa1と第2パラメータa2の比を整数化のため固定シフト値だけ左シフトした値であるa1 / a2 << iShiftに相当するパラメータaを以下の処理により、整数演算を用いて導出する。
 LM第1パラメータクリップ部3104161は、第1パラメータa1を第2パラメータa2の大きさに応じて制限する。例えば以下の式のように、a1を約-2*a2以上、a2の127/64(=127>>6)倍以下にクリップする。
 a1 = Clip3(-2*a2, (127*a2)>>6, a1)     式(B-12´)
 LM第1パラメータクリップ部3104161により、a1の値はa2の値に応じてクリップされるため、その比であるa1 / a2の値も、-2から127/64の間にクリップされる。従って、パラメータaの値であるa1 / a2 << iShiftの値も、-2<<iShiftから(127/64)<<iShiftにクリップされる。すなわち、iShift=6の場合、パラメータaは-128~127となり、8ビット整数の範囲で扱うことができる。
 LMパラメータa導出部310416は、テーブルベースLMパラメータa導出部3104164を用いて、a1 / a2 << iShiftの演算を、図14に示す逆数テーブル値invTable[]を用いて以下の式により導出する。
 a1 * invTable[a2] >> log2(M)             式(A―0)
 ここで、Mは、2のShiftA1乗により導出される定数とする。ShiftA1をテーブルシフト値と呼ぶ。式(A―0)に示すように、逆数テーブルinvTable[]を用いることにより、a2での除算に相当する演算を、a2の逆数に相当する逆数テーブルinvTable[a2]との積と、log2(M)の右シフトにより実現することができる。
 図14は、本実施形態で用いる逆数テーブル値invTable[]である。図14に示す逆数invTable[x]は、インデックスxが0の場合に0となり、インデックスxが0以外の場合には、所定の定数(2のShiftA1乗)をxで割って整数化した値から導出される。すなわち、
 invTable[x] = 0 (xが0の場合)             式(T-1)
 invTable[x] = Floor((2^ ShiftA1 / x/2) / x) (xが0以外の場合)  式(T-2)
 ここで、上記テーブルは、xが[0..2^ ShiftA2-1]の範囲で定義される。図14の例では、ShiftA2=6すなわち、0..63の範囲で定義されている。なお、Floor(x)は、小数点以下を切り捨てにより整数化する関数である。式(T-1)の代わりに、以下の式(T-2´)を用いても良い。すなわち、除数xの1/2倍を加える丸目調整を行わなくても良い。
 invTable[x] = Floor(M / x) (xが0以外の場合)  式(T-2´)
 なお、逆数テーブルinvTable[x]は、x=0においてinvTable[x]が0であるように定義する。通常1 / xの除算はx=0の場合が定義されないため、x=0であるか否かに応じて分岐して処理する必要があるが、上記のように定義することにより、1 / xを1 * invTable[x]で行う場合、x=0であるかに否かで分岐することなく処理を行うことができる。また、x=0の場合の除算のこの結果は0となる。
 ここで、逆数テーブルinvTableのサイズを、0から2のShiftA2乗-1、すなわちxが[0, 2^ShiftA2乗-1]の範囲のinvTable[x]を定義しているため、式(A―0)を行うためには、a2の値を、2^ ShiftA2乗-1以下にする必要がある。そのため、第2正規化シフト値iScaleShiftA2により、第2パラメータa2を右シフトして、[0.. 2^ ShiftA2乗-1]の範囲となる正規化第2パラメータa2sを導出し、正規化第2パラメータa2sを用いて、逆数テーブルinvTableを引くこととする。また、式(A―0)のa1 * invTable[a2]の積を32bitの範囲で行うためには、a1の値が大きくなりすぎないように、第1正規化シフト値iScaleShiftA1により、第1パラメータa1を右シフトして、正規化第1パラメータa1sを導出する。次に、正規化第1パラメータa1sを用いて、逆数テーブルinvTableとの積を計算する。ここでは、正規化第1パラメータa1sと逆数テーブルinvTableの積が32bitを超えないようにする。具体的にはLMパラメータa導出部310416は、式(A―0)の代わりに、次の式(A―1)を行って得られる値を用いてパラメータaを導出する
 a1s * invTable[a2s] >> log2(M)             式(A―1)
 LM第2パラメータ正規化シフト部3104163は、第2パラメータa2の大きさに応じて、図14のテーブルの導出に用いた所定のビット幅ShiftA2に対して、以下の式により第2正規化シフト値iScaleShiftA2を導出する。導出された第2正規化シフト値iScaleShiftA2は、テーブルベースLMパラメータa導出部3104164に出力される。
 iScaleShiftA2 = Max( 0, Floor( Log2( Abs( a2 ) ) ) - (ShiftA2-1))
    式(B-14)
 なお、Floor( Log2( Abs( x ) ) )は、a2を32ビットレジスタに格納した際に、ビット列の左側 Leftmost bit から見て 0 が連続している数である Number of Leading Zero (NLZ)を用いて、
 Floor( Log2( Abs( x ) ) ) = 32 - NLZ(x) - 1
  により求めることができる。なお、64ビットレジスタを用いる場合には、64 - NLZ(x)- 1により導出することができる。
 なお、NLZの導出は、比較的複雑な計算が必要になるため、数が少ない方が好ましい。
 LM第1パラメータ正規化シフト部3104162は、第2正規化シフト値iScaleShiftA2に応じて、以下の式により第1正規化シフト値iScaleShiftA1を導出する。導出された第1正規化シフト値iScaleShiftA1は、テーブルベースLMパラメータa導出部3104164に出力される。
 iScaleShiftA1 = Max(0, iScaleShiftA2 - offsetA1)    式(B-13)
 なお、offsetA1はここでは14以下を満たす定数とする。
 上記では、第2正規化シフト値から所定の定数offsetA1を減じることにより、第2正規化シフト値を導出する。ここで、式(B-14)、式(B-13)では、第1正規化シフト値と第2正規化シフト値の両者を0以上にクリップしている。上記では、第2正規化シフトを0以上にクリップしてから、所定の定数offsetA1を減じ、0以上にクリップすることにより第1正規化シフト値を導出しているが、第2正規化シフトを0以上にクリップする前に所定の定数offsetA1を減じ、0以上にクリップすることにより第1正規化シフト値を導出しても良い。
 上記では、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化パラメータを導出する処理が容易になるという効果を奏する。すなわち、第1正規化パラメータを、比較的演算量の大きい次の式(B-13´)にように求めることを避けることができる。
 iScaleShiftA1 = Max( 0, Floor( Log2( Abs( a1 ) ) ) - (31-ShiftA1-1))     式(B-13´)
 LM第1パラメータ正規化シフト部3104162、LM第2パラメータ正規化シフト部3104163は、第1パラメータa1を第1正規化シフト値iScaleShiftA1、第2パラメータa2を第2正規化シフト値iScaleShiftA2により右シフトし、正規化第1パラメータa1sと正規化第2パラメータa2sを導出する。
 a1s = a1 >> iScaleShiftA1     式(B-15)
 a2s = a2 >> iScaleShiftA2     式(B-16)
 これにより、正規化第1パラメータa1sと正規化第2パラメータa2sは各々、0から2のShiftA1乗-1、0から2のShiftA2乗-1の間の値に正規化される。
 テーブルベースLMパラメータa導出部3104164は、第1正規化シフト値iScaleShiftA1と第2正規化シフト値iScaleShiftA2の差に基づいて、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = ShiftA1 + iScaleShiftA2 - iScaleShiftA1 - iShift     式(B-18)
 ここで、iScaleShiftA1 = Max(0, iScaleShiftA2 - offsetA1)であるから、以下の式が得られる。
 ScaleShiftA <= ShiftA1 + iScaleShiftA2 - (iScaleShiftA2 - offsetA1) - iShift
 ScaleShiftA <= ShiftA1 + offsetA1 - iShift
 offsetA1は0以上、固定シフト値iShiftは5から8ビット、ShiftA1は14ビット~15ビットであるから、ScaleShiftAは常に0以上になる。ScaleShiftAが0未満になる場合には、ScaleShiftAが0以上であるか0未満であるかに応じて分岐を行いScaleShiftAが0以上であればScaleShiftAの値で右シフトし、ScaleShiftAが0未満であればScaleShiftAの絶対値(=-ScaleShiftA)の値で左シフトすることが必要であるが、上記の構成では不要である。
 すなわち、上記では、第1正規化シフト値を第2正規化シフト値から所定の定数を減じて導出するため、逆数テーブルをかけた後にシフトする際に用いるScaleShiftAが常に0以上になる。そのため、ScaleShiftAが0以上であるかに応じた分岐が不要になり、常に右シフトでパラメータaを導出することができるため、計算量を削減する効果を奏する。
 テーブルベースLMパラメータa導出部3104164は、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1sとの積をとりテーブルシフト値(ScaleShiftA)で右シフトすることにより、以下の式によりパラメータaを導出する。
 a = (a1s * invTable[a2s]) >> (ScaleShiftA)      式(B-19)
 パラメータaの値は、第1パラメータa1と第2パラメータa2の比(a1/a2を固定シフト値iShiftだけ左シフトした値に相当する)。
 導出されたパラメータaは、LMパラメータb導出部310417とLM予測フィルタ部31042に出力される。
 LMパラメータb導出部310417は、隣接色差画像の画素値の和Yから、隣接輝度画像の画素値の和Xにパラメータaをかけて固定シフト値iShiftだけ右シフトした値を引いた値を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - ( ( a * X ) >> iShift ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(B-20)
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。
 LM予測フィルタ部31042は、LMパラメータ推定部31041が導出した推定パラメータを用いて、LM予測前の予測画像predSamples []から、LM予測後の予測画像predSamples´[]を導出する。例えば、パラメータbを式(B-20)により導出する場合には以下の式を用いる。
 predSamples´[x][y] = (a * predSamples[x][y] >> iShift)+b      式(B-21)
 なお、LMパラメータb導出部310417の代わりに、LMパラメータb導出部310417の別の構成LMパラメータb導出部310417´を用いても良い。この場合、隣接色差画像の画素値の和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画素同時に処理することができるため、高速化の効果を奏する。
 LMパラメータb導出部310417の代わりに、LMパラメータb導出部310417の別の構成であるLMパラメータb導出部310417´を用いる場合には、LM予測フィルタ部31042の代わりに、LM予測フィルタ部31042の別の構成であるLM予測フィルタ部31042´を用いる。LM予測フィルタ部31042´は、LM予測前の予測画像predSamples []から、以下の式により、LM予測後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = (a * predSamples[x][y] + b >> iShift)      式(B-21´)
 (LM予測部3104の変形例)
 なお、LM予測部3104はさらにLM正則化項加算部310418を備えても良い。図17は、LM正則化項加算部310418の構成を示すブロック図である。LM正則化項加算部310418は、正則化項導出部3104180、LM第2パラメータ正則化項加算部3104182から構成される。正則化項とは、最小2乗法による予測パラメータ導出において、目的関数にパラメータコストとして加算される項である。
 正則化項導出部3104180は、正則化項acostを導出する。
 acost = XX >> ashift     式(E-1)
 なお、ashiftは、正則化項の大きさを調整するための固定値である。
 LM第2パラメータ正則化項加算部3104182は、第2パラメータの導出に用いるパラメータ(例えばXX)に正則化項を加算する。
 XX = XX + acost     式(E-3)
 パラメータaを導出する際の分母となる第2パラメータに正則化項を加算することで、パラメータaが0に近づく。隣接色差画像の画素値yと隣接輝度画像の画素値xの相関が弱い場合に、正則化項の影響が強くなり、相関が強い場合には、正則化項の影響は弱くなる。線形予測の傾きに相当するパラメータaが0となる場合には、線形予測のオフセット成分に相当するパラメータbのみとなる。オフセット成分の推定値は、傾き成分の推定値に比べると頑健であるから、相関が弱い場合にオフセット成分のみとなることは、全体として推定精度が向上する。
 なお、正則化項の加算は、LM第2パラメータ導出部310415で行っても良い。この場合、第2パラメータは、式(B-8)の代わりに以下の式により導出される。
  a2 = ( (XX + acost) << iCountShift ) - (X * X);     式(E-3´)
 上記LMパラメータ推定部31041の構成では、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から導出される第2パラメータa2を導出する際に正則化項acostを加算する。正則化項によって推定されるパラメータが頑健になるため、LM予測の効果が向上する効果を奏する。
 (LM予測部3104の別の変形例)
 なお、LM予測部3104は、LM正則化項加算部310418とは別のLM正則化項加算部310418Rを備えても良い。LMパラメータ推定部31041の変形例として、以下のような正則化項を用いるLMパラメータ推定部31041Rを用いても良い。LMパラメータ推定部31041Rは、LM第1パラメータ導出部310414R、LM第2パラメータ導出部310415R、LM正則化項導出部3104180Rを備える。
 LM正則化項導出部3104180Rは、正則化項acostX、acostYを導出する。
 acostX = X << ashiftX     式(E-1X)
 acostY = Y << ashiftY     式(E-1Y)
 なお、ashiftX、ashiftYは、正則化項の大きさを調整するための値である
 LM第1パラメータ導出部310414RおよびLM第2パラメータ導出部310415Rは、LM正則化項導出部3104180Rで導出された正則化項を用いて以下のように第1パラメータと第2パラメータを導出する。
  a1 = ( (XY + acostY) << iCountShift ) - (X * Y);     式(E-3´´)
  a2 = ( (XX + acostX) << iCountShift ) - (X * X);     式(E-3´´)
 上記以外のLM第1パラメータ導出部310414RおよびLM第2パラメータ導出部310415Rの動作は、LM第1パラメータ導出部310414およびLM第2パラメータ導出部310415と同じである。
 以上の構成によれば、パラメータaを導出する場合の分子に相当する第1パラメータパラメータa1の導出において、隣接色差成分の和Yから導出される正則化項acostYを加算し、パラメータaを導出する場合の分母に相当する第2パラメータパラメータa2の導出において、隣接輝度成分の和Xから導出される正則化項acostXを加算する。一般に、画素の和から導出される1次の項であるX、Yの方が、画素の積の和から導出される2次の項であるXX、YYよりも頑健であるので、上記のようにLM加算値導出部310413で導出される1次の項である、隣接色差成分の和Y、隣接輝度成分の和Xを各々、第1パラメータa1、第2パラメータa2に正則化項として加算することで、第1パラメータa1、第2パラメータa2の比に対応するパラメータaも頑健になる。正則化項によって推定されるパラメータが頑健になるため、LM予測の効果が向上する効果を奏する。
 (LM予測部3104A)
 以下、LM予測部3104の変形例であるLM予測部3104Aを説明する。LM予測部3104Aは、LM予測部3104とほぼ同一の構成であるが、LMパラメータa導出部310416の代わりに、LMパラメータa導出部310416Aを用いることがことなる。以下、LMパラメータa導出部310416Aを説明する。
 図18は、LMパラメータa導出部310416Aの構成を示すブロック図である。LMパラメータa導出部310416Aは、LM第1パラメータクリップ部3104161、LM第1パラメータ正規化シフト部3104162、LM第2パラメータ正規化シフト部3104163A、除算LMパラメータa導出部3104165Aから構成される。 LM第1パラメータクリップ部3104161は、既に説明したとおりであるので説明を省略する。
 LM第2パラメータ正規化シフト部3104163Aは、既に説明したLM第2パラメータ正規化シフト部3104163において、ShiftA2=7として、第2正規化シフト値iScaleShiftA2を導出する。
 LM第1パラメータ正規化シフト部3104162は、既に説明したように、第2正規化シフト値iScaleShiftA2に応じて、以下の式により第1正規化シフト値iScaleShiftA1を導出する。導出された第1正規化シフト値iScaleShiftA1は、除算LMパラメータa導出部3104165Aに出力される。
 除算LMパラメータa導出部3104165Aは、第1正規化シフト値iScaleShiftA1と第2正規化シフト値iScaleShiftA2の差に基づいて、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = ShiftA1 + iScaleShiftA2 - iScaleShiftA1 - iShift     式(B-18)
 さらに、除算LMパラメータa導出部3104165Aは、以下の式によりパラメータaを導出する。
 tb = (16318 + a2s/2) / a2s     式(B-19´)
 a = (a1s * tb) >> ShiftA      式(B-19´´)
 すなわち、正規化第2パラメータa2sを用いて、所定の定数16318とa2/2の和をa2sで割る(ここでは整数以下を切り捨て、すなわち小数点演算の場合には除算後にFloorを行う)ことにより、中間パラメータtbを導出する。さらに、中間パラメータと正規化第1パラメータa1sとの積を、ShiftAで右シフトすることによりパラメータaを導出する。
 なお、図14のテーブルを、ShiftA1=14、ShiftA2=7により生成し、以下の式によりパラメータaを導出することも可能である。
 a = (a1s * invTable[a2s]) >> (ScaleShiftA)      式(B-19)
 以上の構成のLM予測部3104Aでは、動きベクトルのスケーリングと同じ処理が可能であるように選択された、所定の定数ShiftA1=14、ShiftA2=7に従って導出された第1正規化シフト値iScaleShiftA1、第2正規化シフト値iScaleShiftA2により第1パラメータa1、第2パラメータa2を右シフトすることにより、第1正規化パラメータa1s、第2正規化パラメータa2sを導出する。その後、上記の処理により中間パラメータtbを導出し、さらに、パラメータaを導出する。これにより、LM予測においても、動きベクトルと同じスケーリングを用いることができるため、実装規模を低減する効果を奏する。
 また、上記では、第1正規化シフト値と第2正規化シフト値の両者とも、第2パラメータa2の大きさに応じて導出する。具体的には、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化シフト値を第2パラメータa1の大きさに応じて導出し、第2正規化シフト値を第2パラメータa2の大きさに応じて導出する場合に比べて、第1正規化パラメータを導出する処理が容易になるという効果を奏する。
 また、上記では、第1正規化シフト値を第2正規化シフト値から所定の定数を減じて導出するため、逆数テーブルをかけた後にシフトする際に用いるScaleShiftAが常に0以上になる。そのため、ScaleShiftAが0以上であるかに応じた分岐が不要になり、常に右シフトでパラメータaを導出することができるため、計算量を削減する効果を奏する。
 (LM予測部3104H)
 以下、LM予測部3104の変形例であるLM予測部3104Hを説明する。
 図19は、LM予測部3104Hの構成を示すブロック図である。LM予測部3104は、LMパラメータ推定部31041Hと、LM予測フィルタ部31042から構成される。
 LMパラメータ推定部31041Hは、LM加算値導出部310413、LM第1パラメータ導出部310414H、LM第2パラメータ導出部310415H、LMパラメータa導出部310416、LMパラメータb導出部310417から構成される。なお、LMパラメータ推定部31041と同じ番号の手段については同じ構成であるので説明を省略する。
 LM加算値導出部310413、LMパラメータa導出部310416、LMパラメータb導出部310417は既に説明した手段と同一であるため説明を省略する。
 LM第1パラメータ導出部310414Hは、隣接色差画像の画素値yの和Yから第1パラメータa1を以下の式により導出する。
  a1 = Y;     式(B-7´)
 LM第2パラメータ導出部310415Hは、隣接輝度画像の画素値xの和Xから第2パラメータa2を以下の式により導出する。
  a2 = X;     式(B-8´)
 導出された第1パラメータa1と第2パラメータa2は、LMパラメータa導出部310416に出力される。
 LM予測部3104Hは、LM予測部3104と比較して、画素の積の和である2次の項を導出する積算値導出部310412がなく、画素の和である1次の項を導出する加算値導出部310413のみを備える。そのため、比較的、容易な処理で、LMパラメータを導出することができる。しかし、2次の項を用いるLM予測部3104の方が、符号化効率が高い。
 また、LM予測部3104Hでは、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化パラメータを導出する処理が容易になるという効果を奏する。
 なお、画像のビット深度が10bit以下の場合には、パラメータa導出部310416は、第1パラメータ正規化シフト部3104162を備えない構成で良い。すなわち、iScaleShiftA1=0として、次の式(B-15´)のように、正規化第1パラメータa1sとして第1パラメータを用いればよい。
 a1s = a1     式(B-15´)
 これは、以下の式の通りによる。
画像のビット深度がbitDepthの場合には、第1パラメータa1は、画素値のビット深度bitDepthと、参照画素数の最大値128の2の対数7の和から、bitDepth+7以下のビット数で扱える。逆数テーブル値の最大値は、2のShiftA1乗であるから、積が32ビット以下の条件は、bitDepth + 7 + ShiftA1 <= 32である。
 変形すると、以下が得られる。
 bitDepth <= 25 - ShiftA1
 ShiftA1が14,15の場合には、bitDepth <= 10であれば、この式を満たすことから、画素のビット深度が10bit以下の場合には第1パラメータ正規化シフト部3104162は不要となる。
 (LM予測部3104Hの変形例)
 LM予測部3104HはさらにLM正則化項加算部310418Hを備えても良い。LM正則化項加算部310418Hは、隣接輝度画像の画素値xの和Xから正則化項acostを導出する。
 acost = X >> ashift     式(E-1´)
 ここで、ashiftは所定の定数であり、右シフトにより正則化項acostの大きさを調整するために用いられる。
 なお、通常の画像では、隣接輝度画像の画素値xの和Xと隣接色差画像の画素値yの和Yはほぼ等しいため、隣接色差画像の画素値yの和Yから正則化項acostを導出しても良い。
 acost = Y >> ashift     式(E-1´´)
 LM正則化項加算部310418Eは、第2パラメータの導出に用いるパラメータ(例えばX)に正則化項を加算する。
 X = X + acost     式(H-3)
 なお、正則化項の加算は、LM第1パラメータ導出部310414Hおよび、LM第2パラメータ導出部310415Hで行っても良い。この場合、第2パラメータは、式(B-8´)の代わりに以下の式により導出される。
  a2 = X + acost    式(E-3´´)
 上記LMパラメータ推定部31041Hの構成では、正則化項を第2パラメータa2に加算してから、第1パラメータa1と第2パラメータa2の比に相当する値のパラメータaを算出することによって、外れ値などがある場合において、推定されるパラメータが頑健になり、符号化効率が向上する効果を奏する。なお、正則化項は、隣接輝度画像の画素値xの和Xから生成しても良いし、隣接色差画像の画素値yの和Yから生成しても良い。
 (LM予測部3104HA)
 以下、LM予測部3104の変形例であるLM予測部3104HAを説明する。LM予測部3104HAは、LM予測部3104Hとほぼ同一の構成であるが、LMパラメータa導出部310416の代わりに、LMパラメータa導出部310416Aを用いることがことなる。なお、LMパラメータa導出部310416Aを含め構成要素は既に説明したため説明を省略する。
 LMパラメータa導出部310416Aは、LMパラメータa導出部310416と異なり、パラメータaの導出に除算を用いるが、この除算は、動きベクトルのスケーリングで用いられる以下の処理と同一であるため実装規模を低減させる効果を奏する。
 上記では、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化パラメータを導出する処理が容易になるという効果を奏する。
 また、上記では、第1正規化シフト値を第2正規化シフト値から所定の定数を減じて導出するため、逆数テーブルをかけた後にシフトする際に用いるScaleShiftAが常に0以上になる。そのため、ScaleShiftAが0以上であるかに応じた分岐が不要になり、常に右シフトでパラメータ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_idcinter_pred_idc、参照ピクチャインデックス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_idcinter_pred_idcから導出した予測リスト利用フラグ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, PicWidthInSamplesL - 1, xP + ( ( nPSW - 1 ) >> 1 ) + ( ( mvDisp[0] + 2 ) >> 2 ) )
yRef = Clip3( 0, PicHeightInSamplesL - 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は、追加予測フラグ復号部30311、マージインデックス復号部30312、ベクトル候補インデックス復号部30313、及び図示しない、分割モード復号部、マージフラグ復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル差分復号部を含んで構成される。分割モード復号部、マージフラグ復号部、マージインデックス復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部30313、ベクトル差分復号部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを復号する。
 追加予測フラグ復号部30311は、追加予測を行うか否かを示すフラグを復号する。追加予測はここでは照度補償と残差予測である。追加予測フラグ復号部30311は、照度補償を行うか否かを示すフラグである照度補償フラグic_enable_flagおよび残差予測を行うかを示すフラグである残差予測フラグres_pred_flagを復号し、インター予測画像生成部309に出力する。なお、照度補償および残差予測は、分割モードPartModeが2N×2Nの場合に限定して処理する。従って、追加予測フラグ復号部30311は、照度補償フラグic_enable_flagおよび残差予測フラグres_pred_flagは、分割モードPartModeが2N×2Nの場合に値を復号し、それ以外の場合にはic_enable_flag=0、res_pred_flag=0に設定する。
 変位ベクトル取得部は、対象PUに隣接するブロックが変位ベクトルを持つ場合には、その変位ベクトルを予測パラメータメモリ307から抽出し、予測パラメータメモリ307を参照し、対象PUに隣接するブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを読み出す。変位ベクトル取得部は、内部にリファレンスレイヤ判定部303111を備える。変位ベクトル取得部は、対象PUに隣接するブロックの予測パラメータを順に読み出し、リファレンスレイヤ判定部303111を用いて、隣接ブロックの参照ピクチャインデックスから隣接ブロックが変位ベクトルを備えるか否かを判定する。隣接ブロックが変位ベクトルを備える場合には、その変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合にはゼロベクトルを変位ベクトルとして出力する。
 (リファレンスレイヤ判定部303111)
 リファレンスレイヤ判定部303111は、入力された参照ピクチャインデックスrefIdxLXに基づいて、参照ピクチャインデックスrefIdxLXが指す参照ピクチャと、対象ピクチャの関係を示すリファレンスレイヤ情報reference_layer_infoを定める。リファレンスレイヤ情報reference_layer_infoは、参照ピクチャへのベクトル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, PicWidthInSamplesL - 1, xP + x + (mvDisp[0] >> 2 ) )
xR1 = Clip3( 0, PicWidthInSamplesL - 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を以下の式で導出する。
deltaL = ( w0 * Clip3(xmin, xmax, refResSamplesL[ xR0, y ]) + w1 * Clip3(xmin, xmax, refResSamplesL[ xR1, y ] + 2 )) >> 2
 ここで、xmin=-(1<<(BitDepthY-1))、xmax = (1<<(BitDepthY-1))-1である。残差取得部30921は、参照レイヤの残差を読み出す際に、所定のビット幅に収まる範囲にクリップしてから読み出す。例えば、ビット深度をBitDepthYとする場合、refResSamplesL[ xR0, y ]、refResSamplesL[ xR1, y ]を、-(1<<(BitDepthY-1)) ~ + (1<<BitDepthY-1)-1に制限し、残差を読み出す。なお上記の説明ではビット深度に輝度のビット深度bitDepthYを用いたが、色差の残差を読み出す場合にも同様のクリップ処理を行う。この場合には、ビット深度を色差のビット深度bitDepthCに置き替えて処理を行う(以下同様)。
 上記処理は、変位ベクトルmvDispが小数精度を有する場合に、線形補間により画素を導出していたが、線形補間を用いず、近傍の整数画素を用いても良い。具体的には、残差取得部30921は、対象ブロックの画素に対応する画素として画素xR0のみを取得し、以下の式を用いて推定残差deltaLを導出しても良い。
deltaL = Clip3(xmin, xmax, refResSamplesL[ xR0, y ])
 上記推定残差deltaLの導出後、残差フィルタ部30922は、残差予測部3092に入力された動き変位画像predSamplesLXに推定残差deltaLを加算し、動き変位画像predSamplesLX´として出力する。
  predSamplesLX´ [ x, y ] = predSamplesLX [ x, y ] + deltaL
  (照度補償)
 照度補償部3093は、照度補償フラグic_enable_flagが1の場合に、入力された動き変位補償画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_enable_flagが0の場合には、入力された動き変位補償画像predSamplesLXをそのまま出力する。照度補償部3093に入力される動き変位補償画像predSamplesLXは、残差予測がオフの場合には、動き変位補償部3091の出力画像であり、残差予測がオンの場合には、残差予測部3092の出力画像である。
 照度パラメータ推定部30931は、対象ブロック(対象予測ユニット)の画素を、参照ブロックの画素から推定するための推定パラメータを求める。図13は、照度補償を説明するための図である。図13では、対象ブロックの周囲の画素Lと、対象ブロックから変位ベクトルだけずれた位置にある、参照レイヤ画像上の参照ブロック(対応ブロック)の周囲の画素Cの位置を示している。
 照度パラメータ推定部30931は、上記対象ブロックの周囲の画素L(L0~LN-1)と上記参照ブロックの周囲の画素C(C0~CN-1)から、推定パラメータ(照度変化パラメータ)を求める。
 以下、照度補償部3093およびその変形例の詳細を説明する。
 (照度補償部3093)
 図20は、照度補償部3093の構成を示すブロック図である。照度補償部3093は、照度パラメータ推定部30931と、照度補償フィルタ部30932から構成される。照度パラメータ推定部30931は、積算値導出部309312、加算値導出部309313、第1パラメータ導出部309314、第2パラメータ導出部309315、パラメータa導出部309316、パラメータb導出部309317から構成される。
 照度パラメータ推定部30931は、図13に示す参照レイヤ画像上の参照ブロックの周囲の画素Cを参照画像の画素値x[]、対象レイヤ画像上の対象ブロックの周囲の画素Lを隣接復号画像の画素値y[]とし、これら参照画像の画素値x[]と隣接復号画像の画素値y[]に基づいて、隣接復号画像の画素値y[]を参照画像の画素値xから線形予測する場合のパラメータであるパラメータa、パラメータbを導出する。
 加算値導出部309313は、隣接復号画像の画素値yの和Yと参照画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
 積算値導出部309312は隣接復号画像の画素値yと参照画像の画素値xの積の和XYと、参照画像の画素値の2乗の和XXを、以下の式(B-4)~(B-5)により導出する。以下の和の前にX、Y、XY、XXは0に初期化しておく。
  X = Σx[i]                 式(B-2)
  Y = Σy[i]                 式(B-3)
  XX += Σ(x[i] * x[i])     式(B-4)
  XY += Σ(y[i] * y[i])     式(B-5)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。y[i]は、隣接復号画像のインデックスiにおける画素値。x[i]は、参照画像のインデックスiにおける画素値。
 iCountShift = log2 (参照領域の画素数)      式(B-6)
 第1パラメータ導出部309314は、隣接復号画像の画素値yと参照画像の画素値xの積の和XYと、隣接復号画像の画素値の和Yと参照画像の画素値の和Xの積の差から第1パラメータa1を以下の式により導出する。
  a1 = ( XY << iCountShift ) - (Y * X);     式(B-7)
 第2パラメータ導出部309315は、参照画像の画素値の2乗の和XXと、参照画像の画素値の和Xの2乗の差から第2パラメータa2を以下の式により導出する。
  a2 = ( XX << iCountShift ) - (X * X) >> precShift;     式(B-8)
 式(B-8)に示すように、XXは、カウントシフト値iCountShiftだけ左シフト、XとXの積は積算シフト値precShiftだけ右シフトしてから、両者の差を算出する。
 導出された第1パラメータa1と第2パラメータa2は、パラメータa導出部309316に出力される。
 図21は、パラメータa導出部309316の構成を示すブロック図である。パラメータa導出部309316は、第1パラメータクリップ部3093161、第1パラメータ正規化シフト部3093162、第2パラメータ正規化シフト部3093163、テーブルベースパラメータa導出部3093164から構成される。
 パラメータa導出部309316は、照度補償における線形予測において傾きに対応するパラメータaを導出する。具体的には、第1パラメータa1と第2パラメータa2の比を整数化のため固定シフト値だけ左シフトした値であるa1 / a2 << iShiftに相当するパラメータaを以下の処理により、整数演算を用いて導出する。
 第1パラメータクリップ部3093161は、第1パラメータa1を第2パラメータa2の大きさに応じて制限する。例えば以下の式のように、a1を0以上、a2の2倍以下にクリップする。
 a1 = Clip3(0, 2*a2, a1)     式(B-12)
 第1パラメータクリップ部3093161により、a1の値はa2の値に応じてクリップされるため、その比であるa1 / a2の値も、0から2の間にクリップされる。従って、パラメータaの値であるa1 / a2 << iShiftの値も、0から2<<iShiftにクリップされる。すなわち、iShift=6の場合、パラメータaは0~128となり、8ビット非負整数の範囲で扱うことができる。
 第2パラメータ正規化シフト部3093163は、第2パラメータa2の大きさに応じて、図14のテーブルの導出に用いた所定のビット幅ShiftA2に対して、以下の式により第2正規化シフト値iScaleShiftA2を導出する。導出された第2正規化シフト値iScaleShiftA2は、テーブルベースパラメータa導出部3093164に出力される。
 iScaleShiftA2 = Max( 0, Floor( Log2( Abs( a2 ) ) ) - (ShiftA2-1))
    式(B-14)
 なお、Floor( Log2( Abs( x ) ) )は、a2を32ビットレジスタに格納した際に、ビット列の左側 Leftmost bit から見て 0 が連続している数である Number of Leading Zero (NLZ)を用いて、
 Floor( Log2( Abs( x ) ) ) = 32 - NLZ(x) - 1
 により求めることができる。なお、64ビットレジスタを用いる場合には、64 - NLZ(x)- 1により導出することができる。
 なお、NLZの導出は、比較的複雑な計算が必要になるため、数が少ない方が好ましい。
 第1パラメータ正規化シフト部3093162は、第2正規化シフト値iScaleShiftA2に応じて、以下の式により第1正規化シフト値iScaleShiftA1を導出する。導出された第1正規化シフト値iScaleShiftA1は、テーブルベースパラメータa導出部3093164に出力される。
 iScaleShiftA1 = Max(0, iScaleShiftA2 - offsetA1)    式(B-13)
 なお、offsetA1はここでは14以下を満たす定数とする。
 上記では、第2正規化シフト値から所定の定数offsetA1を減じることにより、第2正規化シフト値を導出する。ここで、式(B-14)、式(B-13)では、第1正規化シフト値と第2正規化シフト値の両者を0以上にクリップしている。上記では、第2正規化シフトを0以上にクリップしてから、所定の定数offsetA1を減じ、0以上にクリップすることにより第1正規化シフト値を導出しているが、第2正規化シフトを0以上にクリップする前に所定の定数offsetA1を減じ、0以上にクリップすることにより第1正規化シフト値を導出しても良い。また、上記では、第1正規化シフト値と第2正規化シフト値の両者とも、第2パラメータa2の大きさに応じて導出する。具体的には、第1正規化シフト値を第2正規化シフト値を用いて導出する。従って、第1正規化シフト値を第2パラメータa1の大きさに応じて導出し、第2正規化シフト値を第2パラメータa2の大きさに応じて導出する場合に比べて、第1正規化パラメータを導出する処理が容易になるという効果を奏する。すなわち、第1正規化パラメータを、比較的演算量の大きい次の式(B-13´)にように求めることを避けることができる。
 iScaleShiftA1 = Max( 0, Floor( Log2( Abs( a1 ) ) ) - (31-ShiftA1-1))     式(B-13´)
 なお、offsetA1は、iScaleShiftA1が以下の式を満たすように導出される。
 まず、式(B-19)において、a1s* invTable[a2s]が32ビット整数の範囲(-2^31~2^31)で扱うためには、以下の式が成り立つ必要がある
 a1s* invTable[a2s] <= 2^31-1
 ここで、a1s= a1>>iScaleShiftA1、invTable[a2s]= Floor(2^ShiftA1+a2s/2) / a2s <=(2^ShiftA1+2^ShiftA2)/ a2s)であるので、以下の式が得られる。
 (a1>>iScaleShiftA1)*(2^ShiftA1+2^ShiftA2) / a2s <= 2^31-1
 さらにa1<=2*a2であるので、以下の式が得られる。
 ((2*a2)>>iScaleShiftA1)*(2^ShiftA1+2^ShiftA2) / a2s <= 2^31-1
 さらに、a2=a2s<<iScaleShiftA2であるから、以下の式が得られる。
 (2*(a2s<<iScaleShiftA2)>>iScaleShiftA1)*(2^ShiftA1+2^ShiftA2) / a2s <= 2^31-1
 変形すると、以下の式が得られる。
 (2*(1<<iScaleShiftA2)>>iScaleShiftA1)*(2^ShiftA1+2^ShiftA2) <= 2^31-1
 変形すると、以下の式が得られる。
 (1<<(iScaleShiftA2-iScaleShiftA1+1))*(2^ShiftA1+2^ShiftA2) <= 2^31-1
 ここで、iScaleShiftA1= iScaleShiftA2-offsetA1を代入すると、以下の式が得られる。
 (1<<(offsetA1+1))*(2^ShiftA1+2^ShiftA2) <= 2^31-1
 ここで、2^ShiftA1+2^ShiftA2 = a * 2^ShiftA1と置いて変形すると
 (a<<(offsetA1+1+ShiftA1) <= 2^31-1
 (1<<offsetA1+1+ShiftA1) <= (2^31-1) / a
 ここでa が(2^31-1)/2^30以下であれば、
 (1<<offsetA1+1+ShiftA1) <= 2^30
 従って、
 offsetA1+1+ShiftA1 <= 2^30
 結局、以下の式を満たすoffsetA1を用いることが好適である。
 offsetA1 <= 29 - ShiftA1
 ここで、ShiftA1=15とすると、以下の条件が得られる。
 offsetA1 <= 14
 なお、a が(2^31-1)/2^30以下の条件は、以下に示すように変形できる。
 a = (2^ShiftA1+2^ShiftA2) / 2^ShiftA1 <= (2^31-1)/2^30 <=b
 (2^ShiftA1+2^ShiftA2) / 2^ShiftA1 <= (2^31-1)/2^30
2^ShiftA1+2^ShiftA2 <= (2^31-1)/2^30*2^ShiftA1
2^ShiftA2 <= 2^ShiftA1*((2^31-1)/2^30-1)
2^ShiftA2 <= 2^ShiftA1*(2^30-1)/ 2^30
ShiftA2 <= ShiftA1 + log2((2^30-1)/ 2^30)
 従って、
 ShiftA2 <= ShiftA1 - 1.34
 これは、ShiftA1 = 15、ShiftA2 = 7のような値であれば容易に満たすことができる。
 以上、offsetA1の説明終わり。以下、継続。
 第1パラメータ正規化シフト部3093162、第2パラメータ正規化シフト部3093163は、第1パラメータa1を第1正規化シフト値iScaleShiftA1、第2パラメータa2を第2正規化シフト値iScaleShiftA2により右シフトし、正規化第1パラメータa1sと正規化第2パラメータa2sを導出する。
 a1s = a1 >> iScaleShiftA1     式(B-15)
 a2s = a2 >> iScaleShiftA2     式(B-16)
 これにより、正規化第1パラメータa1sと正規化第2パラメータa2sは各々、0から2のShiftA1乗-1、0から2のShiftA2乗-1の間の値に正規化される。
 テーブルベースパラメータa導出部3093164は、第1正規化シフト値iScaleShiftA1と第2正規化シフト値iScaleShiftA2の差に基づいて、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = ShiftA1 + iScaleShiftA2 - iScaleShiftA1 - iShift     式(B-18)
 ここで、iScaleShiftA1 = Max(0, iScaleShiftA2 - offsetA1)であるから、以下の式が得られる。
 ScaleShiftA <= ShiftA1 + iScaleShiftA2 - (iScaleShiftA2 - offsetA1) - iShift
 ScaleShiftA <= ShiftA1 + offsetA1 - iShift
 offsetA1は0以上、固定シフト値iShiftは5から8ビット、ShiftA1は14ビット~15ビットであるから、ScaleShiftAは常に0以上になる。
 上記では、第1正規化シフト値を第2正規化シフト値から所定の定数を減じて導出するため、逆数テーブルをかけた後にシフトする際に用いるScaleShiftAが常に0以上になる。そのため、ScaleShiftAが0以上であるかに応じた分岐が不要になり、常に右シフトでパラメータaを導出することができるため、計算量を削減する効果を奏する。
 テーブルベースパラメータa導出部3093164は、正規化第2パラメータa2sに応じて定まる逆数テーブル値invTableを参照し、正規化第1パラメータa1sとの積をとりテーブルシフト値(ScaleShiftA)で右シフトすることにより、以下の式によりパラメータaを導出する。
 a = (a1s * invTable[a2s]) >> (ScaleShiftA)      式(B-19)
 ここでinvTable[]は図14で説明したテーブルである。
 なお、既に説明した第1パラメータクリップ部3093161と第1パラメータ正規化シフト部3093162はa1s * invTable[a2s]の値が32ビットを超えないようにするための処理であり、第2パラメータ正規化シフト部3093163は、a2sが2^ShiftA2-1を超えないようにする処理である。
 パラメータaの値は、第1パラメータa1と第2パラメータa2の比(a1/a2を固定シフト値iShiftだけ左シフトした値に相当する)。
 導出されたパラメータaは、パラメータb導出部309317と照度補償フィルタ部30932に出力される。
 パラメータb導出部309317は、隣接復号画像の画素値の和Yから、参照画像の画素値の和Xにパラメータaをかけて固定シフト値iShiftだけ右シフトした値を減じた値を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - ( ( a * X ) >> iShift ) + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(B-20)
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。
 照度補償フィルタ部30932は、照度パラメータ推定部30931が導出した推定パラメータを用いて、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。例えば、パラメータbを式(B-20)により導出する場合には以下の式を用いる。
 predSamples´[x][y] = (a * predSamples[x][y] >> iShift)+b      式(B-21)
 なお、パラメータb導出部309317の代わりに、パラメータb導出部309317の別の構成パラメータb導出部309317´を用いても良い。この場合、隣接復号画像の画素値の和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導出部309317の代わりに、パラメータb導出部309317の別の構成であるパラメータb導出部309317´を用いる場合には、照度補償フィルタ部30932の代わりに、照度補償フィルタ部30932の別の構成である照度補償フィルタ部30932´を用いる。照度補償フィルタ部30932´は、照度補償前の予測画像predSamples []から、以下の式により、照度補償後の予測画像predSamples´[]を導出する。
 predSamples´[x][y] = (a * predSamples[x][y] + b >> iShift)      式(B-21´)
 照度補償部3093では、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化パラメータを導出する処理が容易になるという効果を奏する。
 また、上記では、第1正規化シフト値を第2正規化シフト値から所定の定数を減じて導出するため、逆数テーブルをかけた後にシフトする際に用いるScaleShiftAが常に0以上になる。そのため、ScaleShiftAが0以上であるかに応じた分岐が不要になり、常に右シフトでパラメータaを導出することができるため、計算量を削減する効果を奏する。
 (照度補償部3093A)
 以下、照度補償部3093の変形例である照度補償部3093Aを説明する。照度補償部3093Aは、照度補償部3093とほぼ同一の構成であるが、パラメータa導出部309316の代わりに、パラメータa導出部309316Aを用いることがことなる。以下、パラメータa導出部309316Aのみを説明する。
 照度補償部3093Aは、照度パラメータ推定部30931Aと、照度補償フィルタ部30932から構成される。照度パラメータ推定部30931Aは、積算値導出部309312、加算値導出部309313、第1パラメータ導出部309314、第2パラメータ導出部309315、パラメータa導出部309316A、パラメータb導出部309317から構成される。
 図22は、パラメータa導出部309316Aの構成を示すブロック図である。パラメータa導出部309316Aは、第1パラメータクリップ部3093161、第1パラメータ正規化シフト部3093162、第2パラメータ正規化シフト部3093163A、除算パラメータa導出部3093165Aから構成される。第1パラメータクリップ部3093161は、既に説明したとおりであるので説明を省略する。
 第2パラメータ正規化シフト部3093163Aは、既に説明した第2パラメータ正規化シフト部3093163において、ShiftA2=7として、第2正規化シフト値iScaleShiftA2を導出する。
 第1パラメータ正規化シフト部3093162は、既に説明したように、第2正規化シフト値iScaleShiftA2に応じて、式(B-13)により第1正規化シフト値iScaleShiftA1を導出する。
導出された第1正規化シフト値iScaleShiftA1は、除算パラメータa導出部3093165Aに出力される。
 除算パラメータa導出部3093165Aは、動きベクトルスケーリングと同様の演算を用いて、a1 / a2 << iShiftに相当するパラメータaを導出する。
 動きベクトルスケーリングは、以下の式で導出される。
 tx = ( 16384 + ( Abs( td ) >> 1 ) ) / td   式(MV-1)
 distScaleFactor = Clip3( - 4096, 4095, ( tb * tx + 32 ) >> 6 )    式(MV-2)
 mvLXA = Clip3( - 32768, 32767, Sign( distScaleFactor * mvLXA ) *
( ( Abs( distScaleFactor * mvLXA ) + 127 ) >> 8 ) )    式(MV-3)
 ここでmvLXAは、スケーリングの対象になる動きベクトルであり、以上の式により、mvLXA = mvLXA * tb / tdに相当するスケーリングが行われる。なお、式(MV-1)の除算は、整数での切り捨てを含む除算であり、以下のように切り捨てによる整数化を行うFloorにより表現することもできる。
 tx = Floor( ( 16384 + ( Abs( td ) >> 1 ) ) / td)   式(MV-1´)
 ここで、td、tbは以下の式で導出されるPOC差分であり、-128から127の値を有する。
 td = Clip3( - 128, 127, DiffPicOrderCnt( currPic, refPicA )
 tb = Clip3( - 128, 127, DiffPicOrderCnt( currPic, refPicB )
 なお、DiffPicOrderCnt(x,y)は、ピクチャxとピクチャyのPOC差分を導出する関数。currPicは対象ピクチャ、refPicA、refPicBは参照ピクチャである。
 上記では、tb / tdの演算を、以下のtxを一度導出した上で導出する。これは、tdの範囲が-128~127に限定されることから、以下のxが-128から127に対応する逆数テーブルinvTableTX[]を予め導出することによって、式(MV-1)の除算演算をテーブルで導出することができる。
 invTableTX[x] = ( 16384 + ( Abs( x ) >> 1 ) ) / x   式(MV-2)
 このテーブルは、LM予測及び照度補償で用いる図14のテーブルと同様である。しかしながら、LM予測及び照度補償で用いる、第1パラメータa1、第2パラメータa2の値の範囲はPOCよりも大きいため、動きベクトルスケーリングの処理をそのまま適用することはできない。具体的には、以下の式(T-2)と比較すると、ShiftA1=14、ShiftA2=7として、図14のinvTableを設計し、第1パラメータ正規化シフト部3093162A、第2パラメータ正規化シフト部3093163Aを用いる必要がある。動きベクトルスケーリングと同じ処理により、照度補償のパラメータa導出が可能であることが分かる。
 tx = Floor((2^ ShiftA1 / x/2) / x) (xが0以外の場合)  式(T-2)
 ここでx = [0..2^ShiftA2-1]。
 第2パラメータ正規化シフト部3093163Aは、既に説明した第2パラメータ正規化シフト部3093163において、ShiftA2=7として、第2正規化シフト値iScaleShiftA2を導出する。
 除算パラメータa導出部3093165Aは、第1正規化シフト値iScaleShiftA1と第2正規化シフト値iScaleShiftA2の差に基づいて、以下の式によりパラメータaシフト値iScaleShiftAを導出する。
 ScaleShiftA = ShiftA1 + iScaleShiftA2 - iScaleShiftA1 - iShift     式(B-18)
 さらに、除算パラメータa導出部3093165Aは、以下の式によりパラメータaを導出する。
 tb = (16318 + (a2s>>1)) / a2s     式(B-19´)
 a = (a1s * tb) >> ShiftA      式(B-19´´)
 すなわち、正規化第2パラメータa2sを用いて、所定の定数16318と(a2s>>1)の和をa2sで割る(ここでは整数以下を切り捨て、すなわち小数点演算の場合には除算後にFloorを行う)ことにより、中間パラメータtbを導出する。さらに、中間パラメータtbと正規化第1パラメータa1sとの積を、ShiftAで右シフトすることによりパラメータaを導出する。
 なお、図14のテーブルを、ShiftA1=14、ShiftA2=7により生成し、以下の式によりパラメータaを導出することも可能である。
 a = (a1s * invTable[a2s]) >> (ScaleShiftA)      式(B-19)
 以上の構成の照度補償部3093Aでは、動きベクトルのスケーリングと同じ処理が可能であるように選択された、所定の定数ShiftA1=14、ShiftA2=7に従って導出された第1正規化シフト値iScaleShiftA1、第2正規化シフト値iScaleShiftA2により第1パラメータa1、第2パラメータa2を右シフトすることにより、第1正規化パラメータa1s、第2正規化パラメータa2sを導出する。その後、上記の処理により中間パラメータtbを導出し、さらに、パラメータaを導出する。これにより、照度補償においても、動きベクトルと同じスケーリングを用いることができるため、実装規模を低減する効果を奏する。
 また、照度補償部3093Aでは、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化パラメータを導出する処理が容易になるという効果を奏する。
 また、上記では、第1正規化シフト値を第2正規化シフト値から所定の定数を減じて導出するため、逆数テーブルをかけた後にシフトする際に用いるScaleShiftAが常に0以上になる。そのため、ScaleShiftAが0以上であるかに応じた分岐が不要になり、常に右シフトでパラメータaを導出することができるため、計算量を削減する効果を奏する。
 (照度補償部3093H)
 以下、照度補償部3093の変形例である照度補償部3093Hを説明する。
 図23は、照度補償部3093Hの構成を示すブロック図である。照度補償部3093Hは、照度パラメータ推定部30931Hと、照度補償フィルタ部30932から構成される。なお、照度パラメータ推定部309311と同じ番号の手段については同じ構成であるので説明を省略する。
 照度パラメータ推定部30931Hは、加算値導出部309313、第1パラメータ導出部309314H、第2パラメータ導出部309315H、パラメータa導出部309316、パラメータb導出部309317から構成される。
 加算値導出部309313、パラメータa導出部309316、パラメータb導出部309317は既に説明した手段と同一であるため説明を省略する。
 第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導出部309316に出力される。
 照度補償部3093Hは、照度補償部3093と比較して、画素の積の和である2次の項を導出する積算値導出部309312がなく、画素の和である1次の項を導出する加算値導出部309313のみを備える。そのため、比較的、容易な処理で、照度変化パラメータを導出することができる。しかし、2次の項を用いる照度補償部3093の方が、符号化効率が高い。
 また、照度補償部3093Hでは、第1正規化シフト値を第2正規化シフト値を用いて導出するため、第1正規化パラメータを導出する処理が容易になるという効果を奏する。
 なお、画像のビット深度が10bit以下の場合には、パラメータa導出部309316は、第1パラメータ正規化シフト部3093162を備えない構成で良い。すなわち、iScaleShiftA1=0として、次の式(B-15´)のように、正規化第1パラメータa1sとして第1パラメータを用いればよい。
 a1s = a1     式(B-15´)
 これは、以下の式の通りによる。
画像のビット深度がbitDepthの場合には、第1パラメータa1は、画素値のビット深度bitDepthと、参照画素数の最大値128の2の対数7の和から、bitDepth+7以下のビット数で扱える。逆数テーブル値の最大値は、2のShiftA1乗であるから、積が32ビット以下の条件は、bitDepth + 7 + ShiftA1 <= 32である。
 変形すると、以下が得られる。
 bitDepth <= 25 - ShiftA1
 ShiftA1が14,15の場合には、bitDepth <= 10であれば、この式を満たすことから、画素のビット深度が10bit以下の場合には第1パラメータ正規化シフト部3093162は不要となる。
 (照度補償部3093HA)
 以下、照度補償部3093の変形例である照度補償部3093HAを説明する。照度補償部3093HAは、照度補償部3093Hとほぼ同一の構成であるが、パラメータa導出部309316の代わりに、パラメータa導出部309316Aを用いることがことなる。なお、パラメータa導出部309316Aを含め構成要素は既に説明したため説明を省略する。
 パラメータa導出部309316Aは、パラメータa導出部309316と異なり、パラメータaの導出に除算を用いるが、この除算は、動きベクトルのスケーリングで用いられる以下の処理と同一であるため、実装規模を低減させる効果を奏する。
 また、照度補償部3093HAは、画素の和である1次の項を導出する加算値導出部309313のみを備える。そのため、比較的、容易な処理で、照度変化パラメータを導出することができる。
 なお、画像のビット深度が10bit以下の場合には、パラメータa導出部309316Aは、第1パラメータ正規化シフト部3093162を備えない構成で良い。すなわち、iScaleShiftA1=0として、次の式(B-15´)のように、正規化第1パラメータa1sとして第1パラメータを用いればよい。
 a1s = a1     式(B-15´)
 (照度補償部3093O)
 以下、照度補償部3093の変形例である照度補償部3093Oを説明する。
 図24は、照度補償部3093Oの構成を示すブロック図である。照度補償部3093Oは、照度パラメータ推定部30931Oと、照度補償フィルタ部30932Oから構成される。照度パラメータ推定部30931Oは、加算値導出部309313、パラメータb導出部309317Oから構成される。
 照度パラメータ推定部30931Oは、図13に示す参照レイヤ画像上の対象ブロックに対応する参照ブロックの周囲の画素C(参照画像領域)を参照画像の画素値x[]、対象レイヤ画像上の対象ブロックの周囲の画素Lを隣接復号画像の画素値y[](対象画像領域)とし、これら参照画像の画素値x[]と隣接復号画像の画素値y[]に基づいて、隣接復号画像の画素値y[]を参照画像の画素値xから予測する場合のパラメータであるパラメータaとパラメータbを導出する。
 加算値導出部309313は、隣接復号画像の画素値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)
 パラメータb導出部309317Oは、隣接復号画像の画素値の和Yと参照画像の画素値の和Xの差を、参照領域の画素数で割ることにより、以下の式によりパラメータbを導出する。
 b = ( Y - X + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift     式(B-20´´)
 なお、iCountShiftの右シフトは、参照領域の画素数で割ることに相当する。
 照度補償フィルタ部30932Oは、照度パラメータ推定部30931Oが導出した推定パラメータを用いて、照度補償前の予測画像predSamples []から、照度補償後の予測画像predSamples´[]を導出する。例えば、パラメータbを式(B-20)により導出する場合には以下の式を用いる。
 predSamples´[x][y] = predSamples[x][y]+b      式(B-21)
  (重み予測)
 重み予測部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) )
  (画像符号化装置の構成)
 次に、本実施形態に係る画像符号化装置11の構成について説明する。図32は、本実施形態に係る画像符号化装置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に出力する。なお、イントラ予測の色差予測モードIntraPredModeCの一つとして、LM予測部3093を用いるLM予測を用いる。
 予測画像生成部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は、残差予測フラグres_pred_flagが残差予測を行うことを示す場合には、既に説明したように予測画像生成部101に含まれる残差予測部3092において残差予測を行い、照度補償フラグic_enable_flagが照度補償を行うことを示す場合には、既に説明したように予測画像生成部101に含まれる照度補償部3093において照度補償予測を行う。また、照度補償部3093の代わりに、照度補償部3093A、照度補償部3093H、照度補償部3093HAを用いても良い。
 減算部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が示すイントラ予測モードIntraPredModeをインター予測パラメータのセットとして定める。
  (インター予測パラメータ符号化部の構成)
 次に、インター予測パラメータ符号化部112の構成について説明する。インター予測パラメータ符号化部112は、インター予測パラメータ復号部303に対応する手段である。
 図33は、本実施形態に係るインター予測パラメータ符号化部112の構成を示す概略図である。
 インター予測パラメータ符号化部112は、インター予測パラメータ符号化制御部1031、マージ予測パラメータ導出部1121、AMVP予測パラメータ導出部1122、減算部1123、及び予測パラメータ統合部1126を含んで構成される。
 マージ予測パラメータ導出部1121は、上述のマージ予測パラメータ導出部3036(図7参照)と同様な構成を有する。
 インター予測パラメータ符号化制御部1031は、インター予測に関連する符号(シンタックス要素の復号をエントロピー符号化部104に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idcinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを符号化する。
 インター予測パラメータ符号化制御部1031は、追加予測フラグ符号化部10311、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313、及び図示しない、分割モード符号化部、マージフラグ符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル差分符号化部を含んで構成される。分割モード符号化部、マージフラグ符号化部、マージインデックス符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル候補インデックス符号化部10313、ベクトル差分符号化部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idcinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXを符号化する。
 追加予測フラグ符号化部1031は、追加予測が行われるか否かを示すために、照度補償フラグic_enable_flag、残差予測フラグres_pred_flagを符号化する。
 マージ予測パラメータ導出部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に出力される。
 減算部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に出力する。
  (第2の実施形態)
 以下、図面を参照しながら本発明の実施形態について説明する。第2の実施形態における画像符号化装置11、画像復号装置31は、照度補償手段として、第1の実施形態で説明した照度補償3093、照度補償3093A、照度補償3093H、照度補償3093、照度補償3093Oの変わりに、照度補償3093S、照度補償3093AS、照度補償3093HS、照度補償3093S、照度補償3093OSの構成を用いる。第2の実施形態は、参照画像の画素値x、隣接復号画像の画素値yをサブサンプルしながら参照して照度変化パラメータの算出する。
 図25は、第2の実施形態の照度補償の参照画素を説明する図である。図25に示すように、対象ブロックに隣接する隣接復号画像の画素値yも、対応ブロックに隣接する参照画像の画素値xも2対1のサブサンプリングにより、サンプリングされた画素のみが参照される。
 (照度補償部3093S)
 照度補償部3093Sは、照度パラメータ推定部30931Sと、照度補償フィルタ部30932から構成される。照度パラメータ推定部30931Sは、積算値導出部309312S、加算値導出部309313S、第1パラメータ導出部309314、第2パラメータ導出部309315、パラメータa導出部309316、パラメータb導出部309317から構成される。
 加算値導出部309313Sは、隣接復号画像の画素値yの和Yと参照画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
 積算値導出部309312Sは隣接復号画像の画素値yと参照画像の画素値xの積の和XYと、参照画像の画素値の2乗の和XXを、以下の式(B-4)~(B-5)により導出する。以下の和の前にX、Y、XY、XXは0に初期化しておく。
  X = Σx[i*2]                 式(B-2)
  Y = Σy[i*2]                 式(B-3)
  XX += Σ(x[i*2] * x[i*2])     式(B-4)
  XY += Σ(y[i*2] * y[i*2])     式(B-5)
 ここで、Σは、参照領域に対する和であり、参照領域の画素を特定するインデックスiに対する和を導出する。y[i]は、隣接復号画像のインデックスiにおける画素値。x[i]は、参照画像のインデックスiにおける画素値。カウントシフト値iCountShiftは、参照領域のサイズの2の対数である。ここで、インデックスiを2倍して、隣接復号画像の画素値yと、参照画像の画素値xを参照している。i*2は、0、2、4、・・・というとびとびの値をとるため、加算値導出部309313では、上記隣接復号画像の画素と上記参照画像の画素をサブサンプリングして参照することを示す。なお、上記サブサンプリングは、対象ブロックの左に隣接する隣接復号画像および対応ブロックの左に隣接する参照領域の場合には縦方向の画素を間引くサブサンプリングを行い(Y座標をインデックス*2でアクセスすることなどにより0, 2, 4, などのとびとびの値とする)、対象ブロックの上に隣接する隣接復号画像および対応ブロックの上に隣接する参照領域の場合には横方向の画素を間引くサブサンプリングを行う(X座標をインデックス*2でアクセスすることなどにより0, 2, 4, などのとびとびの値とする)。
 上記照度パラメータ推定部30931Sでは、照度補償フィルタ部30932での照度補償に使われる傾き成分であるパラメータa、オフセット成分であるパラメータbを、サブサンプリングした画素から導出した加算値を用いて導出する。サブサンプルにより照度変化パラメータを算出する計算量を削減する効果を奏する。
 (照度補償部3093AS)
 以下、照度補償部3093Svの変形例である照度補償部3093ASを説明する。
 照度補償部3093ASは、照度パラメータ推定部30931ASと、照度補償フィルタ部30932から構成される。
 照度補償部3093ASは、照度パラメータ推定部30931ASと、照度補償フィルタ部30932から構成される。照度パラメータ推定部30931ASは、積算値導出部309312S、加算値導出部309313S、第1パラメータ導出部309314、第2パラメータ導出部309315、パラメータa導出部309316A、パラメータb導出部309317から構成される。
 上記構成の、パラメータa導出部309316ASでは、動きベクトルのスケーリングと同じ処理が可能であるように選択された、所定の定数ShiftA1=14、ShiftA2=7に従って導出された第1正規化シフト値iScaleShiftA1、第2正規化シフト値iScaleShiftA2により第1パラメータa1、第2パラメータa2を右シフトすることにより、第1正規化パラメータa1s、第2正規化パラメータa2sを導出する。その後、上記の処理により中間パラメータtbを導出し、さらに、パラメータaを導出する。これにより、照度補償においても、動きベクトルと同じスケーリングを用いることができるため、実装規模を低減する効果を奏する。
 上記構成の、照度パラメータ推定部30931ASでは、積算値導出部309312S、加算値導出部309313Sを用いることにより、照度補償フィルタ部30932での照度補償に使われる傾き成分であるパラメータa、オフセット成分であるパラメータbを、サブサンプリングした画素から導出した加算値を用いて導出する。サブサンプルにより照度変化パラメータを算出する計算量を削減する効果を奏する。
 (照度補償部3093HS)
 以下、照度補償部3093Sの変形例である照度補償部3093HSを説明する。
 照度補償部3093HSは、照度パラメータ推定部30931HSと、照度補償フィルタ部30932から構成される。
 照度パラメータ推定部30931HSは、加算値導出部309313S、第1パラメータ導出部309314H、第2パラメータ導出部309315H、パラメータa導出部309316、パラメータb導出部309317から構成される。
 加算値導出部309313Sは、隣接復号画像の画素値yの和Yと参照画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
  X = Σx[i*2]                 式(B-2)
  Y = Σy[i*2]                 式(B-3)
 上記構成の、照度パラメータ推定部30931HSでは、加算値導出部309313Sを用いることにより、照度補償フィルタ部30932での照度補償に使われるオフセット成分であるパラメータbを、サブサンプリングした画素から導出した加算値を用いて導出する。サブサンプルにより照度変化パラメータを算出する計算量を削減する効果を奏する。
 (照度補償部3093HAS)
 以下、照度補償部3093Sの変形例である照度補償部3093HASを説明する。照度補償部3093HASは、照度補償部3093HAとほぼ同一の構成であるが、加算値導出部309313の代わりに加算値導出部309313Sを用いることが異なる。
 上記構成の、照度パラメータ推定部30931HASでは、加算値導出部309313Sを用いることにより、照度補償フィルタ部30932での照度補償に使われるオフセット成分であるパラメータbを、サブサンプリングした画素から導出した加算値を用いて導出する。サブサンプルにより照度変化パラメータを算出する計算量を削減する効果を奏する。
 (照度補償部3093OS)
 以下、照度補償部3093Oの変形例である照度補償部3093OSを説明する。
 照度補償部3093OSは、照度パラメータ推定部30931OSと、照度補償フィルタ部30932Oから構成される。照度パラメータ推定部30931OSは、加算値導出部309313S、パラメータb導出部309317Oから構成される。
 加算値導出部309313Sは、隣接復号画像の画素値yの和Yと参照画像の画素値xの和Xを、以下の式(B-2)式(B-3)により導出する。
  X = Σx[i*2]                 式(B-2)
  Y = Σy[i*2]                 式(B-3)
 上記構成の、照度パラメータ推定部30931OSでは、加算値導出部309313Sを用いることにより、照度補償フィルタ部30932Oでの照度補償に使われるオフセット成分であるパラメータbを、サブサンプリングした画素から導出した加算値を用いて導出する。サブサンプルにより照度変化パラメータを算出する計算量を削減する効果を奏する。
  (第3の実施形態)
 以下、図面を参照しながら本発明の実施形態について説明する。第3の実施形態における画像符号化装置11、画像復号装置31は、照度補償手段として、照度補償3093の代わりに、照度補償手段3093S0もしくは照度補償手段3093S1を備える。照度補償手段の構成は、第1の実施形態で説明した画像符号化装置11、画像復号装置31と同じである。
 (照度補償手段3093S0)
 図26は、切り替え手段を備える照度補償部3093S0の図を説明するブロック図である。図26に示す通り、照度補償部3093S0は、内部に、照度補償切替部30939S0と、照度補償部を備える。照度補償切替部30939S0は、ブロック情報に応じて、照度補償を行うか否かを切り替える手段であり、ブロック情報が照度処理を行うことを示す場合に照度補償部で処理されたブロックを用い、ブロック情報が照度処理を行うことを示さない場合には、照度補償部で処理されていないブロックを用いる。なお、照度補償部3093には、これまで説明した照度補償部3093の他、照度補償部3093A、照度補償部3093H、照度補償部3093HA、照度補償部3093O、照度補償部3093S、照度補償部3093AS、照度補償部3093HS、照度補償部3093HAS、照度補償部3093OSなどを用いることができる。
 図27は、照度補償部3093S0の動作を説明するフローチャートである。
 S1101:照度補償切替部30939S0において、ブロック情報であるブロックサイズをチェックし、所定のサイズ(4×4)以上である場合には、S1102に遷移し照度補償を行う。所定のサイズ未満の場合には、S1103に遷移しそのまま終了する。
 S1102:照度補償部3093で照度補償を行う。
 S1103:終了
 照度補償は特にブロックサイズが小さい場合に計算負荷が高いため、計算負荷の高い小ブロックの照度補償を行わないことによって、照度補償における最悪ケースの計算量を削減する効果を奏する。
 図28は、照度補償部3093S0の別の動作を説明するフローチャートである。
 S1201:照度補償切替部30939S0において、ブロック情報である色コンポーネントをチェックし、色コンポーネントcIdxが輝度(cIdxが0、輝度ブロック)である場合には、S1202に遷移し照度補償を行う、色コンポーネントcIdxが色差(cIdxが0以外、色差ブロック)の場合には、S1203に遷移しそのまま終了する。
 S1202:照度補償部3093で照度補償を行う。
 S1203:終了
 特に色差成分の解像度が輝度成分の解像度の半分である4:2:0の場合には、輝度のPUが8×8の場合には、色差のPUは4×4であり、色差のブロックサイズが小さくなる。単位面積当たりの計算負荷の高い色差において照度補償を行わないことによって、照度補償における最悪ケースの計算量を削減する効果を奏する。
 なお、ブロックサイズが4×4ブロック以上である否かの判定として、ブロックの幅widthもしくはブロックの高さが4より大きいことを判定条件とすることができる。また、輝度ブロックには4×4ブロックが用いず、色差にのみ4×4ブロックを用いる構成では、ブロックサイズが4×4ブロック以上である否かの判定として、CUサイズが8×8ブロックより大きいか輝度ブロックであることを判定条件とすることができる。すなわち、CUサイズが8×8ブロックより大きいか輝度ブロックである場合に照度予測を行い、それ以外の場合に照度予測を行わない構成でも良い。
 (照度補償手段3093S1)
 図29は、切り替え手段を備える照度補償部3093S1の図を説明するブロック図である。図29に示す通り、照度補償部3093S1は、内部に、照度補償切替部30939S1と、照度補償部3093、照度補償部3093Oを備える。照度補償部3093は、線形モデルによる照度補償を行う手段であり、例えば、照度補償部3093の他にも、照度補償部3093A、照度補償部3093H、照度補償部3093HA、照度補償部3093S、照度補償部3093AS、照度補償部3093HS、照度補償部3093HASなどを用いることができる。照度補償部3093Oは、オフセットモデルによる照度補償を行う手段である。例えば、照度補償部3093Oの他にも照度補償部3093OSなどを用いることができる。なお、線形モデルによる照度補償とは、傾きに相当するパラメータaと、オフセットに相当するパラメータbを照度変形パラメータに用い、参照ピクチャから得られる動き補償画像とパラメータaの積に照度変化パラメータのパラメータbを加える手段を備える照度補償を指す。なお、整数演算のために右シフトを伴っても良い。つまり、動き補償画像とパラメータaの積の後に右シフトを行いパラメータbを加えるを加算しても良いし、動き補償画像とパラメータaの積の後に右シフトを行いパラメータbを加えてから右シフトを行っても良い。また、オフセットモデルによる照度補償とは、参照ピクチャから得られる動き補償画像に照度変化パラメータのパラメータbを加える手段を備える照度補償を指す。
 照度補償切替部30939S1は、ブロック情報に応じて、線形モデルによる照度補償を行うか、オフセットモデルによる照度補償を行うか否かを切り替える。
 図30は、照度補償部3093S1の動作を説明するフローチャートである。
 S1301:照度補償切替部30939S1において、ブロック情報であるブロックサイズをチェックし、所定のサイズ(例えば、4×4ブロック)以上である場合には、S1302に遷移し線形モデルによる照度補償を行う。所定のサイズ未満の場合には、S1303に遷移し、オフセットモデルによる照度補償を行う。
 S1302:照度補償部3093で線形モデルによる照度補償を行う。
 S1303:照度補償部3093Oでオフセットモデルによる照度補償を行う。
 S1304:終了
 照度補償は特にブロックサイズが小さい場合に計算負荷が高いため、計算負荷の高い小ブロックの計算負荷の低いオフセットモデルによる照度補償を行うことによって、照度補償が特に計算負荷の高い場合の計算量を削減する効果を奏する。特に、照度補償が2N×2Nに制限されている場合(PartModeが2N×2Nの場合のみ照度補償フラグic_enable_flagをセットし、それ以外の場合には照度補償フラグic_enable_flagを0とする場合)には、輝度ブロックサイズは8×8が最小、色差ブロックサイズは4×4が最小となる。そのため、ブロックサイズが4×4の場合が最小ブロックとなり計算負荷の上で最悪ケースとなる。特に所定のサイズを4×4に定めることによって最悪ケースにおける計算負荷を削減する効果を奏する。
 なお、ブロックサイズが4×4ブロック以上である否かの判定として、ブロックの幅widthもしくはブロックの高さが4より大きいことを判定条件とすることができる。また、輝度ブロックには4×4ブロックが用いず、色差にのみ4×4ブロックを用いる構成では、ブロックサイズが4×4ブロック以上である否かの判定として、CUサイズが8×8ブロックより大きいか輝度ブロックであることを判定条件とすることができる。すなわち、CUサイズが8×8ブロックより大きいか輝度ブロックである場合に線形モデルによる照度予測を行い、それ以外の場合にオフセットモデルによる照度予測を行う構成でも良い。
 図31は、照度補償部3093S1の別の動作を説明するフローチャートである。
 S1401:照度補償切替部30939S1において、ブロック情報である色コンポーネントをチェックし、色コンポーネントcIdxが輝度(cIdxが0、対象ブロックが輝度ブロック)である場合には、S1402に遷移し照度補償を行う、色コンポーネントが色差(cIdxが0以外、対象ブロックが色差ブロック)である場合の場合には、S1403に遷移しそのまま終了する。
 S1402:線形照度補償部3093で線形モデルによる照度補償を行う。
 S1403:オフセット照度補償部3093Oでオフセットモデルによる照度補償を行う。
 S1404:終了
 特に色差成分の解像度が輝度成分の解像度の半分である4:2:0の場合には、輝度のPUが8×8の場合には、色差のPUは4×4であり、色差のブロックサイズが小さくなる。単位面積当たりの計算負荷の高い色差において計算負荷の高い小ブロックの計算負荷の低いオフセットモデルによる照度補償を行うことによって、照度補償における最悪ケースの計算量を削減する効果を奏する。
 なお、上述した実施形態における画像符号化装置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に代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
 以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
 (まとめ)
 本明細書には、少なくとも以下の発明についても記載されている。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像と、対象レイヤ上の隣接復号画像から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段を含み、上記照度パラメータ推定部は、第1パラメータと第2パラメータから上記パラメータaを導出するパラメータa導出手段を備え、上記パラメータa導出手段は、第1正規化シフト値と第2正規化シフト値を導出するパラメータ正規化シフト部と、第1正規化シフト値を用いて上記第1パラメータを右シフトして正規化第1パラメータを導出するパラメータ正規化シフト部と、上記第2正規化シフト値を用いて上記第2パラメータを右シフトして正規化第2パラメータを導出するパラメータ正規化シフト部を備え、上記パラメータ正規化シフト部は、上記第2正規化シフト値から所定の値を減算することにより上記第1正規化シフト値を導出することを特徴とする。
 上記構成によれば、第2正規化シフト値に応じて第1正規化シフト値を導出するため、第1正規化シフト値を導出する計算量を削減する効果を奏する。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から少なくともパラメータbを含む照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段、もしくは、上記動き補償画像と照度変化パラメータのパラメータbを加える手段のいずれかを含み、上記照度パラメータ推定部は、上記参照画像領域と上記隣接復号画像領域の画素をサブサンプリングして参照することにより導出することを特徴とする。
 上記構成によれば、サブサンプルにした画素を参照して、照度変化パラメータを算出するため計算量を削減する効果を奏する。
 一構成の照度補償装置によれば、上記照度パラメータ推定部は、隣接復号画像の画素の和と、参照画像の画素の和の差から上記パラメータbを導出するパラメータb導出手段を備え、上記隣接復号画像の画素と上記参照画像の画素はサブサンプリングされていることを特徴とする。
 一構成の照度補償装置によれば、上記照度パラメータ推定部は、隣接復号画像の画素の積の和から導出される第1パラメータと、参照画像の画素の和から導出される第2パラメータを用いて、上記パラメータaを導出するパラメータa導出手段と、
 隣接復号画像の画素の和と、上記パラメータaと、参照画像の画素の和から、上記パラメータbを導出するパラメータb導出手段を備え、
 上記隣接復号画像の画素と上記参照画像の画素はサブサンプリングされていることを特徴とする。
 一構成の照度補償装置によれば、上記照度パラメータ推定部は、参照画像の画素と隣接復号画像の画素の積の和と、参照画像の画素の和と隣接復号画像の画素の和の積から導出される第1パラメータと、参照画像の画素の2乗の和と、参照画像の画素の和の2乗から導出される第2パラメータから、上記パラメータaを導出するパラメータa導出手段と、隣接復号画像の画素の和と、上記パラメータaと、参照画像の画素の和から、上記パラメータbを導出するパラメータb導出手段を備え、上記隣接復号画像の画素と上記参照画像の画素はサブサンプリングされていることを特徴とする。
 一構成の照度補償装置によれば、上記パラメータa導出手段は、第1正規化シフト値と第2正規化シフト値を導出するパラメータ正規化シフト部と、上記第1正規化シフト値を0以上にクリップした数により上記第1パラメータを右シフトして正規化第1パラメータを導出するパラメータ正規化シフト部を備え、上記第2正規化シフト値を0以上にクリップした数により上記第2パラメータを右シフトして正規化第2パラメータを導出するパラメータ正規化シフト部を備え、上記第2正規化シフト値から所定の値を減算することにより、上記第1正規化シフト値を導出することを特徴とする。
 一構成の照度補償装置によれば、上記パラメータa導出手段は、少なくとも第2正規化シフト値を導出するパラメータ正規化シフト部と、上記第2正規化シフト値を0以上にクリップした数により上記第2パラメータを右シフトして127以下の正規化第2パラメータを導出するパラメータ正規化シフト部を備え、 (16318+(正規化第2パラメータ>>1)) /正規化第2パラメータにより導出されるtbを導出する手段と上記tbと第1パラメータの積を用いて、パラメータaを導出する手段を備えることを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、対象ブロックが所定のサイズ以上の場合には、上記照度補償部により照度補償を行い、上記対象ブロックが所定のサイズ未満の場合には、照度補償を行わないことを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、対象ブロックが所定のサイズ以上の場合には、上記参照レイヤから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段により照度補償を行い、対象ブロックが上記所定のサイズ未満の場合には、上記動き補償画像と照度変化パラメータのパラメータbを加える手段により照度補償を行うことを特徴とする。
 一構成の照度補償装置によれば、上記所定のサイズは4×4ブロックであることを特徴とする。
 一構成の照度補償装置によれば、動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、対象ブロックが輝度ブロックの場合には、参照レイヤから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段により照度補償を行い、対象ブロックが色差ブロックの場合には、上記動き補償画像と照度変化パラメータのパラメータbを加える手段により照度補償を行うことを特徴とする。
 一構成のLM予測装置によれば、輝度画像から色差予測画像を適用するLM予測部を備え、上記LM予測部は、隣接輝度画像と隣接色差画像からLMパラメータを導出するLMパラメータ推定部と、上記LMパラメータを用いて、輝度画像から色差予測画像を生成するLM予測フィルタを備え、上記LM予測フィルタは、輝度画像とLMパラメータのパラメータaの積にLMパラメータのパラメータbを加える手段を含み、上記LMパラメータ推定部は、隣接輝度画像の画素値と隣接色差画像の画素値の積の和と、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xの積の差から第1パラメータa1と、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から第2パラメータa2vから、パラメータaを導出するパラメータa導出部を備え、上記パラメータa導出部は、上記第1パラメータa1と上記第2パラメータa2を、第2パラメータa2に応じて定まる第1正規化シフト値、第2正規化シフト値に応じて右シフトする手段を備えることを特徴とする。
 一構成のLM予測装置によれば、上記パラメータa導出部は、さらに正則化項を導出する正則化項導出手段を備え、少なくとも、上記正則化項を上記第2パラメータa2に加算することを特徴とする。
 一構成のLM予測装置によれば、上記パラメータa導出部は、さらに正則化項を導出する正則化項導出手段を備え、隣接色差画像の画素値の和Yから導出される正則化項を上記第1パラメータa1に加算し、隣接輝度画像の画素値の和Xから導出される正則化項を上記第2パラメータa2に加算することを特徴とする。
 一構成の照度補償装置によれば、上記記載の照度補償装置を備える。
 一構成の照度補償装置によれば、上記記載の照度補償装置を備える。
 本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
1…画像伝送システム
11…画像符号化装置
101…予測画像生成部
102…減算部
103…DCT・量子化部
104…エントロピー符号化部
105…逆量子化・逆DCT部
106…加算部
108…予測パラメータメモリ(フレームメモリ)
109…参照ピクチャメモリ(フレームメモリ)
110…符号化パラメータ決定部
111…予測パラメータ符号化部
112…インター予測パラメータ符号化部
1121…マージ予測パラメータ導出部
1122…AMVP予測パラメータ導出部
1123…減算部
1126…予測パラメータ統合部
113…イントラ予測パラメータ符号化部
21…ネットワーク
31…画像復号装置
301…エントロピー復号部
302…予測パラメータ復号部
303…インター予測パラメータ復号部
303111…リファレンスレイヤ判定部
30312…マージインデックス復号部
30313…ベクトル候補インデックス復号部
3032…AMVP予測パラメータ導出部
3035…加算部
3036…マージ予測パラメータ導出部
30361…マージ候補導出部
303611…マージ候補格納部
303612…拡張マージ候補導出部
3036121…インターレイヤマージ候補導出部
3036122…変位ベクトル取得部
3036123…インターレイヤ変位マージ候補導出部
303613…基本マージ候補導出部
3036131…空間マージ候補導出部
3036132…時間マージ候補導出部
3036133…結合マージ候補導出部
3036134…ゼロマージ候補導出部
30362…マージ候補選択部
304…イントラ予測パラメータ復号部
306…参照ピクチャメモリ(フレームメモリ)
307…予測パラメータメモリ(フレームメモリ)
308…予測画像生成部
309…インター予測画像生成部
3091…変位補償部
3092…残差予測部
30921…残差取得部
30922…残差フィルタ部
3093…照度補償部
3093A…照度補償部
3093H…照度補償部
3093HA…照度補償部
3093O…照度補償部
3093S…照度補償部
3093HS…照度補償部
3093HAS…照度補償部
3093OS…照度補償部
30931…照度パラメータ推定部
30931H…照度パラメータ推定部
30931O…照度パラメータ推定部
309312…積算値導出部
309314…第1パラメータ導出部
309314H…第1パラメータ導出部
309315…第2パラメータ導出部
309315H…第2パラメータ導出部
309316…パラメータa導出部
309316A…パラメータa導出部
3093161…第1パラメータクリップ部
3093162…第1パラメータ正規化シフト部(パラメータ正規化シフト部)
3093163…第2パラメータ正規化シフト部(パラメータ正規化シフト部)
3093164…テーブルベースパラメータa導出部
3093165A…除算パラメータa導出部
309317…パラメータb導出部
309317O…パラメータb導出部
30932…照度補償フィルタ部
30932´…照度補償フィルタ部
3094…重み予測部
310…イントラ予測画像生成部
3104…LM予測部
31041…LMパラメータ推定部
31042…LM予測フィルタ部
310412…LM積算値導出部
310413…LM加算値導出部
310414…LM第1パラメータ導出部
310415…LM第2パラメータ導出部
310416…LMパラメータa導出部
310416A…LMパラメータa導出部
3104161…LM第1パラメータクリップ部
3104162…LM第1パラメータ正規化シフト部(パラメータ正規化シフト部)
3104163…LM第2パラメータ正規化シフト部(パラメータ正規化シフト部)
3104164…テーブルベースLMパラメータa導出部
3104165A…除算LMパラメータa導出部
310417…LMパラメータb導出部
310418…LM正則化項加算部
3104182…LM第2パラメータ正則化項加算部
311…逆量子化・逆DCT部
312…加算部
313…残差格納部
41…画像表示装置

Claims (16)

  1.  動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像と、対象レイヤ上の隣接復号画像から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段を含み、上記照度パラメータ推定部は、第1パラメータと第2パラメータから上記パラメータaを導出するパラメータa導出手段を備え、上記パラメータa導出手段は、第1正規化シフト値と第2正規化シフト値を導出するパラメータ正規化シフト部と、第1正規化シフト値を用いて上記第1パラメータを右シフトして正規化第1パラメータを導出するパラメータ正規化シフト部と、上記第2正規化シフト値を用いて上記第2パラメータを右シフトして正規化第2パラメータを導出するパラメータ正規化シフト部を備え、上記パラメータ正規化シフト部は、上記第2正規化シフト値から所定の値を減算することにより上記第1正規化シフト値を導出することを特徴とする照度補償装置。
  2.  動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照レイヤ上の参照画像と、対象レイヤ上の隣接復号画像から少なくともパラメータbを含む照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段、もしくは、上記動き補償画像と照度変化パラメータのパラメータbを加える手段のいずれかを含み、上記照度パラメータ推定部は、上記参照画像と上記隣接復号画像の画素をサブサンプリングして参照することにより導出することを特徴とする照度補償装置。
  3.  上記照度パラメータ推定部は、隣接復号画像の画素の和と、参照画像の画素の和の差から上記パラメータbを導出するパラメータb導出手段を備え、上記隣接復号画像の画素と上記参照画像の画素はサブサンプリングされていることを特徴とする請求項2に記載の照度補償装置。
  4.  上記照度パラメータ推定部は、隣接復号画像の画素の積の和から導出される第1パラメータと、参照画像の画素の和から導出される第2パラメータを用いて、上記パラメータaを導出するパラメータa導出手段と、隣接復号画像の画素の和と、上記パラメータaと、参照画像の画素の和から、上記パラメータbを導出するパラメータb導出手段を備え、上記隣接復号画像の画素と上記参照画像の画素はサブサンプリングされていることを特徴とする請求項2に記載の照度補償装置。
  5.  上記照度パラメータ推定部は、参照画像の画素と隣接復号画像の画素の積の和と、参照画像の画素の和と隣接復号画像の画素の和の積から導出される第1パラメータと、参照画像の画素の2乗の和と、参照画像の画素の和の2乗から導出される第2パラメータから、上記パラメータaを導出するパラメータa導出手段と、隣接復号画像の画素の和と、上記パラメータaと、参照画像の画素の和から、上記パラメータbを導出するパラメータb導出手段を備え、上記隣接復号画像の画素と上記参照画像の画素はサブサンプリングされていることを特徴とする請求項2に記載の照度補償装置。
  6.  上記パラメータa導出手段は、第1正規化シフト値と第2正規化シフト値を導出するパラメータ正規化シフト部と、上記第1正規化シフト値を用いて上記第1パラメータを右シフトして正規化第1パラメータを導出するパラメータ正規化シフト部と、上記第2正規化シフト値を用いて上記第2パラメータを右シフトして正規化第2パラメータを導出するパラメータ正規化シフト部を備え、上記パラメータ正規化シフト部は、上記第2正規化シフト値から所定の値を減算することにより、上記第1正規化シフト値を導出することを特徴とする請求項4から請求項5に記載の照度補償装置。
  7.  上記パラメータa導出手段は、少なくとも第2正規化シフト値を導出するパラメータ正規化シフト部と、上記第2正規化シフト値を0以上にクリップした数により上記第2パラメータを右シフトして、127以下となる正規化第2パラメータを導出するパラメータ正規化シフト部を備え、(16318+(正規化第2パラメータ>>1)) /正規化第2パラメータにより導出されるtbを導出する手段と上記tbと第1パラメータの積に応じて、パラメータaを導出する手段を備えることを特徴とする請求項1、請求項4、請求項5に記載の照度補償装置。
  8.  動き補償画像に照度補償を適用する照度補償部を備え、対象ブロックが所定のサイズ以上の場合には、上記照度補償部により照度補償を行い、上記対象ブロックが所定のサイズ未満の場合には、照度補償を行わないことを特徴とする照度補償装置。
  9.  動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照ピクチャ上の参照画像領域と、対象レイヤ上の隣接復号画像領域から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、対象ブロックが所定のサイズ以上の場合には、参照レイヤから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段により照度補償を行い、対象ブロックが上記所定のサイズ未満の場合には、上記動き補償画像と照度変化パラメータのパラメータbを加える手段により照度補償を行うことを特徴とする照度補償装置。
  10.  上記所定のサイズは4×4ブロックであることを特徴とする請求項8から請求項9に記載の照度補償装置。
  11.  動き補償画像に照度補償を適用する照度補償部を備え、上記照度補償部は、参照ピクチャ上の参照画像領域と、復号対象ピクチャ上の隣接復号画像領域から照度変化パラメータを導出する照度パラメータ推定部と、上記照度変化パラメータを用いて照度補償を行う照度補償フィルタを備え、照度補償フィルタは、対象ブロックが輝度ブロックの場合には、参照ピクチャから得られる動き補償画像と照度変化パラメータのパラメータaの積に照度変化パラメータのパラメータbを加える手段により照度補償を行い、対象ブロックが色差ブロックの場合には、上記動き補償画像と照度変化パラメータのパラメータbを加える手段により照度補償を行うことを特徴とする照度補償装置。
  12.  輝度画像から色差予測画像を適用するLM予測部を備え、上記LM予測部は、隣接輝度画像と隣接色差画像からLMパラメータを導出するLMパラメータ推定部と、上記LMパラメータを用いて、輝度画像から色差予測画像を生成するLM予測フィルタを備え、上記LM予測フィルタは、輝度画像とLMパラメータのパラメータaの積にLMパラメータのパラメータbを加える手段を含み、上記LMパラメータ推定部は、隣接輝度画像の画素値と隣接色差画像の画素値の積の和と、隣接色差画像の画素値yと隣接輝度画像の画素値xの積の和XYと、隣接色差画像の画素値の和Yと隣接輝度画像の画素値の和Xの積の差から第1パラメータa1と、隣接輝度画像の画素値の2乗の和XXと、隣接輝度画像の画素値の和Xの2乗の差から第2パラメータa2から、パラメータaを導出するパラメータa導出部を備え、上記パラメータa導出部は、上記第1パラメータa1と上記第2パラメータa2を、第2パラメータa2に応じて定まる第1正規化シフト値、第2正規化シフト値に応じて右シフトする手段を備えることを特徴とするLM予測装置。
  13.  上記パラメータa導出部は、さらに正則化項を導出する正則化項導出手段を備え、少なくとも、上記正則化項を上記第2パラメータa2に加算することを特徴とする請求項12に記載のLM予測装置。
  14.  上記パラメータa導出部は、さらに正則化項を導出する正則化項導出手段を備え、隣接色差画像の画素値の和Yから導出される正則化項を上記第1パラメータa1に加算し、隣接輝度画像の画素値の和Xから導出される正則化項を上記第2パラメータa2に加算することを特徴とする請求項12に記載のLM予測装置。
  15.  請求項1から請求項11に記載の照度補償装置を備える画像復号装置。
  16.  請求項1から請求項11に記載の照度補償装置を備える画像符号化装置。
PCT/JP2014/064734 2013-06-18 2014-06-03 照度補償装置、lm予測装置、画像復号装置、画像符号化装置 WO2014203726A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP14812904.2A EP3013049A4 (en) 2013-06-18 2014-06-03 Illumination compensation device, lm predict device, image decoding device, image coding device
CN201480034579.1A CN105393534A (zh) 2013-06-18 2014-06-03 照度补偿装置、lm预测装置、图像解码装置、图像编码装置
JP2015522723A JP6360053B2 (ja) 2013-06-18 2014-06-03 照度補償装置、画像復号装置、画像符号化装置
US14/899,047 US9894359B2 (en) 2013-06-18 2014-06-03 Illumination compensation device, LM prediction device, image decoding device, image coding device
HK16110102.6A HK1222490A1 (zh) 2013-06-18 2016-08-24 照度補償裝置、 預測裝置、圖像解碼裝置、圖像編碼裝置
US15/842,601 US10200688B2 (en) 2013-06-18 2017-12-14 Illumination compensation device and illumination compensation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-127263 2013-06-18
JP2013127263 2013-06-18

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/899,047 A-371-Of-International US9894359B2 (en) 2013-06-18 2014-06-03 Illumination compensation device, LM prediction device, image decoding device, image coding device
US15/842,601 Continuation US10200688B2 (en) 2013-06-18 2017-12-14 Illumination compensation device and illumination compensation method

Publications (1)

Publication Number Publication Date
WO2014203726A1 true WO2014203726A1 (ja) 2014-12-24

Family

ID=52104467

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/064734 WO2014203726A1 (ja) 2013-06-18 2014-06-03 照度補償装置、lm予測装置、画像復号装置、画像符号化装置

Country Status (6)

Country Link
US (2) US9894359B2 (ja)
EP (1) EP3013049A4 (ja)
JP (2) JP6360053B2 (ja)
CN (1) CN105393534A (ja)
HK (1) HK1222490A1 (ja)
WO (1) WO2014203726A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019021803A1 (ja) * 2017-07-24 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020085235A1 (ja) * 2018-10-22 2020-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9894359B2 (en) * 2013-06-18 2018-02-13 Sharp Kabushiki Kaisha Illumination compensation device, LM prediction device, image decoding device, image coding device
KR102425577B1 (ko) * 2014-06-18 2022-07-26 삼성전자주식회사 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US10820007B2 (en) * 2015-01-21 2020-10-27 Samsung Electronics Co., Ltd. Method and apparatus for decoding inter-layer video, and method and apparatus for encoding inter-layer video
US20180302641A1 (en) * 2015-10-05 2018-10-18 Sharp Kabushiki Kaisha Image predicting device for image decoding device or image encoding device
WO2018056603A1 (ko) * 2016-09-22 2018-03-29 엘지전자 주식회사 영상 코딩 시스템에서 조도 보상 기반 인터 예측 방법 및 장치
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
CN110786014B (zh) * 2017-07-05 2022-06-28 华为技术有限公司 用于视频编解码的装置、方法和存储介质
US10715810B2 (en) * 2018-02-20 2020-07-14 Qualcomm Incorporated Simplified local illumination compensation
GB2571313B (en) 2018-02-23 2022-09-21 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
GB2574575A (en) * 2018-04-27 2019-12-18 V Nova Int Ltd Video decoder chipset
CN116684594A (zh) * 2018-04-30 2023-09-01 寰发股份有限公司 照度补偿方法及相应的电子装置
US11095921B2 (en) * 2018-12-18 2021-08-17 Tencent America LLC Method and apparatus for video encoding or decoding
JP7304153B2 (ja) * 2018-12-27 2023-07-06 Kddi株式会社 動画像復号装置、動画像復号方法及びプログラム
JP2022065225A (ja) * 2019-03-08 2022-04-27 シャープ株式会社 Lic部、画像復号装置および画像符号化装置
US11997308B2 (en) 2019-03-08 2024-05-28 Interdigital Madison Patent Holdings, Sas Local illumination compensation for video encoding or decoding
EP3706418A1 (en) * 2019-03-08 2020-09-09 InterDigital VC Holdings, Inc. Regularization of local illumination compensation for video encoding or decoding
EP3737099A1 (en) * 2019-05-06 2020-11-11 InterDigital VC Holdings, Inc. Local illumination compensation for video encoding or decoding
KR20210133973A (ko) * 2019-03-08 2021-11-08 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코딩 또는 디코딩을 위한 로컬 조명 보상
EP3706423A1 (en) * 2019-03-08 2020-09-09 InterDigital VC Holdings, Inc. Local illumination compensation for video encoding or decoding
US11985324B2 (en) 2019-03-14 2024-05-14 Hfi Innovation Inc. Methods and apparatuses of video processing with motion refinement and sub-partition base padding
WO2020233600A1 (en) * 2019-05-20 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Simplified local illumination compensation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101357982B1 (ko) * 2006-01-09 2014-02-05 톰슨 라이센싱 멀티-뷰 비디오 코딩을 위한 축소 해상도 갱신 모드를제공하는 방법 및 장치
JP5199124B2 (ja) * 2006-01-12 2013-05-15 エルジー エレクトロニクス インコーポレイティド 多視点ビデオの処理
KR101244917B1 (ko) * 2007-06-11 2013-03-18 삼성전자주식회사 조도 보상 방법 및 장치, 이를 이용한 영상의 부호화,복호화 방법 및 장치
JP2013034163A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
US9894359B2 (en) * 2013-06-18 2018-02-13 Sharp Kabushiki Kaisha Illumination compensation device, LM prediction device, image decoding device, image coding device

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"3D-CE2.h: Results of Illumination Compensation for Inter-View Prediction", JCT3V-B0045, 13 October 2012 (2012-10-13)
"LM Mode Clean-Up", JCTVC-I0148, 27 April 2012 (2012-04-27)
HONGBIN LIU ET AL.: "3D-CE1.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, XP030054373 *
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, XP030055063 *
See also references of EP3013049A4
TOMOHIRO IKAI: "3D-CE5.h related: Illumination compensation regression improvement and simplification", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 4TH MEETING, 20 April 2013 (2013-04-20), INCHEON, KR, XP030057396 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019021803A1 (ja) * 2017-07-24 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020085235A1 (ja) * 2018-10-22 2020-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JPWO2020085235A1 (ja) * 2018-10-22 2021-09-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
JP7202394B2 (ja) 2018-10-22 2023-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11563958B2 (en) 2018-10-22 2023-01-24 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
JP2023024719A (ja) * 2018-10-22 2023-02-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 非一時的記憶媒体
US11968378B2 (en) 2018-10-22 2024-04-23 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Also Published As

Publication number Publication date
EP3013049A1 (en) 2016-04-27
JPWO2014203726A1 (ja) 2017-02-23
HK1222490A1 (zh) 2017-06-30
JP6360053B2 (ja) 2018-07-18
US10200688B2 (en) 2019-02-05
CN105393534A (zh) 2016-03-09
JP2018174567A (ja) 2018-11-08
US9894359B2 (en) 2018-02-13
EP3013049A4 (en) 2017-02-22
US20160134869A1 (en) 2016-05-12
US20180109790A1 (en) 2018-04-19

Similar Documents

Publication Publication Date Title
JP6360053B2 (ja) 照度補償装置、画像復号装置、画像符号化装置
JP6535673B2 (ja) 非対称動き分割を使用するビデオコーディング技法
US9967592B2 (en) Block-based advanced residual prediction for 3D video coding
JP6225241B2 (ja) 画像復号装置、画像復号方法、画像符号化装置及び画像符号化方法
WO2015093565A1 (ja) 画像復号装置、画像符号化装置および残差予測装置
WO2015056719A1 (ja) 画像復号装置、画像符号化装置
WO2014103529A1 (ja) 画像復号装置、およびデータ構造
WO2015194669A1 (ja) 画像復号装置、画像符号化装置および予測画像生成装置
WO2017061189A1 (ja) 画像復号装置または画像符号化装置のための画像予測装置
JP6473078B2 (ja) 画像復号装置
WO2015056620A1 (ja) 画像復号装置、画像符号化装置
CN114145022A (zh) 推导双向预测的权重索引信息的图像解码方法及其装置
CN114208171A (zh) 用于推导用于生成预测样本的权重索引信息的图像解码方法和装置
CN114631318A (zh) 应用双向预测时推导用于加权平均的权重索引信息的图像解码方法和设备
JP6118199B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体。
WO2014103600A1 (ja) 符号化データ構造、および画像復号装置
CN114303375A (zh) 使用双向预测的视频解码方法和用于该方法的装置
WO2015141696A1 (ja) 画像復号装置、画像符号化装置および予測装置
CN114375573A (zh) 使用合并候选推导预测样本的图像解码方法及其装置
WO2016056587A1 (ja) 変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置
JP2014204327A (ja) 画像復号装置および画像符号化装置
JP2015080053A (ja) 画像復号装置、及び画像符号化装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480034579.1

Country of ref document: CN

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

Ref document number: 14812904

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14899047

Country of ref document: US

Ref document number: 2014812904

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015522723

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE