Video decoding device and video encoding device

The video decoding device addresses the high computational burden of convolutional models in video coding by deriving inter-color component prediction parameters from adjacent regions, thereby enhancing decoding efficiency.

WO2025069840A1PCT designated stage expired Publication Date: 2025-04-03SHARP KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/030185
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-27
Filing Date
2024-08-26
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Recent video coding and decoding methods that use convolutional models for predicting images and residual images face a significant challenge due to the large amount of computation required to derive parameters for these models.

Method used

The video decoding device incorporates a prediction parameter derivation unit that derives inter-color component prediction parameters using prediction parameters from adjacent regions, and a prediction filter unit that applies these parameters to generate an output image, thereby reducing computational complexity.

Benefits of technology

This approach effectively suppresses the increase in computational load even when convolutional operation models are used, enhancing the efficiency of video decoding processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024030185_03042025_PF_FP_ABST
    Figure JP2024030185_03042025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention addresses the problem that a calculation amount is increased in order to derive parameters of a convolution operation model in an encoding method for predicting a prediction image or a residual image by means of a convolution model between conventional color components. This video decoding device comprises: a prediction parameter derivation unit that derives prediction parameters between color components; and a prediction filter unit that generates an output image by applying, to an input image, an inter-color component prediction model using the derived prediction parameters. The video decoding device is characterized by using prediction parameters between adjacent blocks to derive the prediction parameters and generate the output image from the input image.
Need to check novelty before this filing date? Find Prior Art

Description

Video decoding device and video encoding device CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to Japanese Patent Application No. 2023-164676, entitled "Video Decoding Apparatus and Video Encoding Apparatus," filed on September 27, 2023, the disclosures of which are incorporated herein by reference in their entireties for all purposes. An embodiment of the present invention relates to a video decoding device and a video encoding device. In order to efficiently transmit or record moving images, a moving image encoding device is used which generates encoded data by encoding moving images, and a moving image decoding device is used which generates a decoded image by decoding the encoded data. Specific examples of video coding methods include the methods proposed in H.264 / AVC and High-Efficiency Video Coding (HEVC). In such a video coding method, images (pictures) constituting a video are managed in a hierarchical structure consisting of slices obtained by dividing images, coding tree units (CTUs) obtained by dividing slices, coding units (sometimes called coding units: CUs) obtained by dividing coding tree units, and transform units (TUs) obtained by dividing coding units, and are coded / decoded for each CU. In such a video coding method, a predicted image is usually generated based on a locally decoded image obtained by encoding / decoding an input image, and a prediction error (sometimes called a "difference image" or "residual image") obtained by subtracting the predicted image from the input image (original image) is coded. Methods for generating a predicted image include inter-prediction and intra-prediction. Recent video encoding and decoding techniques include Non-Patent Document 1 and Non-Patent Document 2. Non-Patent Document 1 discloses inter-color component convolution operation model prediction, in which a chrominance predicted image is predicted from a luminance predicted image by a convolution operation model. Non-Patent Document 2 discloses inter-color component residual model prediction, in which a chrominance pixel residual is predicted by a model based on a convolution operation using a luminance pixel residual. "AHG12: Convolutional cross-component model (CCCM) for intraprediction", Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, JVET-Z0064, 2022"AHG12: Cross-component residual model (CCRM) for inter prediction", Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC1 / SC 29 / WG 11, JVET-AD0108, 2023 In the coding method for predicting a predicted image or a residual image based on a convolution model between color components as in Non-Patent Documents 1 and 2, there is a problem that the amount of calculation required to derive parameters of the convolution calculation model is large. An object of the present invention is to suppress an increase in the amount of calculation even when a convolution calculation model is used. In order to solve the above problem, a video decoding device according to one aspect of the present invention includes a prediction parameter derivation unit that derives inter-color component prediction parameters, and a prediction filter unit that uses the inter-color component prediction parameters to apply an inter-color component prediction model to an input image to generate an output image, wherein the prediction parameter derivation unit derives inter-color component prediction parameters of a target block using prediction parameters of an adjacent region, and derives inter-color component prediction parameters of a target block from a luminance decoded image of the adjacent region and a chrominance decoded image of the adjacent region or a luminance predicted image of the target block and a chrominance predicted image of the target block, and the prediction filter unit generates a chrominance predicted image of the target block using the derived inter-color component prediction parameters of the target block. According to one aspect of the present invention, an increase in the amount of calculation can be suppressed even when a convolution calculation model is used. FIG. 1 is a schematic diagram showing a configuration of an image transmission system according to the present embodiment; FIG. 2 is a diagram showing a hierarchical structure of data of an encoded stream; FIG. 3 is a schematic diagram showing types of intra prediction modes (mode numbers); FIG. 4 is a schematic diagram showing a configuration of a video decoding device; FIG. 5 is a schematic diagram showing a configuration of an intra prediction image generation unit; FIG. 6 is a schematic diagram showing a configuration of an inter prediction image generation unit; FIG. 7 is a syntax table showing the syntax of intra prediction parameters; FIG. 8 is a syntax table showing the syntax of inter prediction parameters; FIG. 9 is a schematic diagram showing a configuration of a CCxM prediction unit; FIG. 10 is a schematic diagram showing a configuration of a CCCM prediction unit; FIG. 11 is a schematic diagram showing a configuration of a CCRM prediction unit; FIG. 12 is a schematic diagram showing another configuration of a CCCM prediction unit; FIG. 13 is a schematic diagram showing another configuration of a CCRM prediction unit; FIG. 14 is a block diagram showing a configuration of a video encoding device. (First embodiment) Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a schematic diagram showing the configuration of an image transmission system 1 according to this embodiment. The image transmission system 1 is a system that transmits an encoded stream obtained by encoding an image to be encoded, decodes the transmitted encoded stream, and displays an image. The image transmission system 1 includes a video encoding device (image encoding device) 11, a network 21, a video decoding device (image decoding device) 31, and a video display device (image display device) 41. An image T is input to the video encoding device 11 . The network 21 transmits the encoded stream Te generated by the video encoding device 11 to the video decoding device 31. The network 21 is the Internet, a wide area network (WAN), a local area network (LAN), or a combination of these. The network 21 is not necessarily limited to a bidirectional communication network, and may be a unidirectional communication network that transmits broadcast waves such as terrestrial digital broadcasting and satellite broadcasting. The network 21 may also be replaced by a storage medium on which the encoded stream Te is recorded, such as a DVD (Digital Versatile Disc: registered trademark) or a BD (Blu-ray Disc: registered trademark). The video decoding device 31 decodes each of the coded streams Te transmitted by the network 21, and generates one or more decoded images Td. The video display device 41 displays all or part of one or more decoded images Td generated by the video decoding device 31. The video display device 41 includes a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display. Examples of the display form include a stationary display, a mobile display, and an HMD. When the video decoding device 31 has high processing power, it displays high quality images, and when it has only low processing power, it displays images that do not require high processing power or display power. <Operator> The operators used in this specification are listed below. >> represents a right bit shift, << represents a left bit shift, & represents a bitwise AND, | represents a bitwise OR, ^ represents a bitwise XOR (exclusive OR), |= represents an OR assignment operator, ! represents a logical negation (NOT), && represents a logical AND, and || represents a logical OR. x?y:z is a ternary operator that takes y when x is true (non-zero) and z when x is false (0). Clip3(a, b, c) is a function that clips c to a value between a and b (inclusive). If c < a, it returns a; if c > b, it returns b; otherwise, it returns c (assuming a <= b). Clip1Y(c) is an operator where in Clip3(a, b, c), a is set to 0 and b is set to (1 << BitDepthY) - 1. BitDepthY is the bit depth of luminance. abs(a) is a function that returns the absolute value of a. Floor(a) is a function that returns the largest integer less than or equal to a. Log2(a) is a function that returns the logarithm base 2 of a. Ceil(a) is a function that returns the smallest integer greater than or equal to a. Round(a) is a function that returns an integer close to a by rounding. Int(a) is a function that returns the integer value of a. It could also be Round, Floor, or Ceil. a / d represents the division of a by d (truncating the fractional part). Min(a, b) is a function that returns the smaller value of a and b. <Structure of the Encoded Stream Te> Prior to the detailed description of the moving image encoding device 11 and the moving image decoding device 31 according to this embodiment, the data structure of the encoded stream Te generated by the moving image encoding device 11 and decoded by the moving image decoding device 31 will be described. Fig. 2 is a diagram showing a hierarchical structure of data in an encoded stream Te. The encoded stream Te illustratively includes a sequence and a plurality of pictures constituting the sequence. Fig. 2 shows a diagram showing an encoded video sequence that defines a sequence SEQ, an encoded picture that defines a picture PICT, an encoded slice that defines a slice S, encoded slice data that defines slice data, an encoding tree unit included in the encoded slice data, and an encoding unit included in the encoding tree unit. (Coded Video Sequence) The coded video sequence defines a set of data to be referred to by the video decoding device 31 in order to decode the sequence SEQ to be processed. As shown in the coded video sequence of Fig. 2, the sequence SEQ includes a video parameter set VPS (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and supplemental enhancement information SEI (Supplemental Enhancement Information). The video parameter set VPS specifies a set of coding parameters common to multiple videos composed of multiple layers, as well as a set of coding parameters related to multiple layers and each individual layer included in the video. The sequence parameter set SPS specifies a set of coding parameters that the video decoding device 31 refers to in order to decode the target sequence. For example, the width and height of a picture are specified. Note that there may be multiple SPSs. In that case, one of the multiple SPSs is selected from the PPS. The picture parameter set PPS specifies a set of coding parameters that the video decoding device 31 refers to in order to decode each picture in the target sequence. For example, the picture parameter set PPS includes a reference value of the quantization width (pic_init_qp_minus26) used in decoding the picture and a flag (weighted_pred_flag) indicating the application of weighted prediction. Note that there may be multiple PPSs. In that case, one of the multiple PPSs is selected for each picture in the target sequence. (Encoded Picture) A coded picture defines a set of data to be referenced by the video decoding device 31 in order to decode a picture PICT to be processed. As shown in the coded picture of FIG. 2, the picture PICT includes slices 0 to NS-1 (NS is the total number of slices included in the picture PICT). In the following description, when there is no need to distinguish between slices 0 to NS-1, the subscripts of the symbols may be omitted. The same applies to other data that are included in the coded stream Te and that are to be described below and that have subscripts. (Coding Slice) The coded slice defines a set of data to be referenced by the video decoding device 31 in order to decode the slice S to be processed. As shown in the coded slice of Fig. 2, the slice includes a slice header and slice data. The slice header includes a group of coding parameters to be referred to by the video decoding device 31 in order to determine a decoding method for the current slice. Slice type designation information (slice_type) that designates a slice type is an example of a coding parameter included in the slice header. Slice types that can be specified by the slice type specification information include (1) an I slice that uses only intra prediction when encoding, (2) a P slice that uses unidirectional prediction or intra prediction when encoding, and (3) a B slice that uses unidirectional prediction, bidirectional prediction, or intra prediction when encoding. Note that inter prediction is not limited to unidirectional prediction or bidirectional prediction, and a predicted image may be generated using more reference pictures. Hereinafter, when referring to P or B slice, it refers to a slice including a block that can use inter prediction. In addition, the slice header may include a reference to the picture parameter set PPS (pic_parameter_set_id). (Encoded slice data) The coded slice data specifies a set of data to be referenced by the video decoding device 31 in order to decode the slice data to be processed. The slice data includes a CTU, as shown in the coded slice header in Fig. 2. A CTU is a block of a fixed size (e.g., 64x64) that constitutes a slice, and is also called a Largest Coding Unit (LCU). (coding tree unit) In the coding tree unit in Fig. 2, a set of data that the video decoding device 31 refers to in order to decode the CTU to be processed is specified. The CTU is divided into coding units CU, which are basic units of the coding process, by recursive quad tree division (QT (Quad Tree) division), binary tree division (BT (Binary Tree) division), or ternary tree division (TT (Ternary Tree) division). BT division and TT division are collectively called multi tree division (MT (Multi Tree) division). A node of a tree structure obtained by recursive quad tree division is called a coding node. The intermediate nodes of the quad tree, binary tree, and ternary tree are coding nodes, and the CTU itself is specified as the top coding node. (Encoding Unit) As shown in the coding unit of Fig. 2, a set of data to be referenced by the video decoding device 31 in order to decode the coding unit to be processed is defined. Specifically, the CU is composed of a CU header CUH, prediction parameters, transformation parameters, quantization transformation coefficients, etc. The CU header defines a prediction mode, etc. The prediction process may be performed in units of CUs, or in units of sub-CUs obtained by further dividing a CU. When the size of a CU and a sub-CU are equal, there is one sub-CU in the CU. When the size of a CU is larger than that of a sub-CU, the CU is divided into sub-CUs. For example, when a CU is 8x8 and a sub-CU is 4x4, the CU is divided into four sub-CUs, divided into two horizontally and two vertically. There are two types of prediction (prediction modes): intra prediction and inter prediction. Intra prediction is a prediction within the same picture, while inter prediction refers to a prediction process performed between different pictures (for example, between display times or between layer images). The transform and quantization processes are performed in units of CUs, but the quantized transform coefficients may be entropy coded in units of subblocks such as 4x4. (Prediction parameters) The predicted image is derived from prediction parameters associated with the block, which include intra-prediction and inter-prediction parameters. The intra prediction parameters are composed of a luminance prediction mode IntraPredModeY and a color difference prediction mode IntraPredModeC. FIG. 3 is a schematic diagram showing types (mode numbers) of intra prediction modes. As shown in the figure, there are, for example, 67 types (0 to 66) of intra prediction modes. For example, planar prediction (0), DC prediction (1), and angular prediction (2 to 66). In addition, as the color difference prediction mode, linear model (LM: Linear Model) prediction such as cross component linear model (CCLM) prediction and multi mode linear model (MMLM: Multi Mode Linear Model) prediction may be used, or convolutional cross component model (CCCM: Convolutional Cross Component Model) prediction may be used. Syntax elements for deriving parameters related to CCCM prediction include, for example, a CCCM flag cccm_flag, a CCCM merge flag cccm_merge_flag, a CCCM merge index cccm_merge_idx, and a CCCM filter index cccm_multi_flt_idx. The CCCM merge index cccm_merge_idx is coded only when CCCM merge is applied, and specifies the target to be merged. Note that the convolutional color component model prediction is a prediction based on the sum of the product of the input signal derived from multiple reference pixels around the target pixel and the weighting factor (prediction parameter). Convolution means that the positional relationship between the target pixel and the surrounding pixels (dxK, dyK described below) and the weighting factor (a described below) do not depend on the position of the target pixel. The input signal derived from multiple reference pixels may simply be the multiple reference pixels themselves, or may be a quadratic or cubic function thereof. In addition, the input is not limited to the pixels around the target pixel, and coordinate values, etc. may be additionally input. In addition, the prediction parameter a may include an offset or shift value. The inter prediction parameters are composed of prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and motion vectors mvL0 and mvL1. predFlagL0 and predFlagL1 are flags indicating whether or not a reference picture list (L0 list, L1 list) is used, and when the value is 1, the corresponding reference picture list is used. Note that in this specification, when the term "flag indicating whether or not XX" is used, a flag other than 0 (for example, 1) is XX, and 0 is not XX, and in logical negation, logical product, etc., 1 is treated as true and 0 is treated as false (similar below). However, in an actual device or method, other values ​​can also be used as true and false values. Syntax elements for deriving inter prediction parameters include, for example, a merge flag merge_flag (general_merge_flag), a merge index merge_idx, merge_subblock_flag, regulare_merge_flag, ciip_flag, merge_gpm_partition_idx, merge_gpm_idx0, merge_gpm_idx1, inter_pred_idc, a reference picture index refIdxLX, mvp_LX_idx, a difference vector mvdLX, and a motion vector precision mode amvr_mode. merge_subblock_flag is a flag indicating whether to use inter prediction in subblock units. regulare_merge_flag is a flag indicating whether to use a normal merge mode or MMVD. ciip_flag is a flag indicating whether to use a CIIP (combined inter-picture merge and intra-picture prediction) mode. merge_gpm_partition_idx is an index indicating a partition shape of the GPM mode. merge_gpm_idx0 and merge_gpm_idx1 are indices that indicate merge indices in the GPM mode. inter_pred_idc is an inter prediction identifier for selecting a reference picture to be used in the AMVP mode. mvp_LX_idx is a predicted vector index for deriving a motion vector. Cross-component residual model (CCRM) prediction may be used as an inter prediction mode. CCRM is a method of predicting chrominance prediction pixels using a model based on a convolution operation of luminance local decoded pixels. Syntax elements for deriving parameters related to CCRM used in inter prediction include, for example, a CCRM flag ccrm_flag, a CCRM merge flag ccrm_merge_flag, a CCRM merge index ccrm_merge_idx, and a CCRM filter index ccrm_multi_flt_idx. ccrm_flag is a flag indicating whether or not CCRM is applied to a color difference predicted image. The CCRM merge flag is a flag indicating whether or not a merge process is used when deriving CCRM parameters, and is coded only when CCRM is applied. When the CCRM flag is false (0), the CCRM merge flag is false (0). The CCRM merge index ccrm_merge_idx is coded only when CCRM merge is applied, and specifies the target to be merged. The CCRM filter index ccrm_multi_flt_idx is an index for selecting a filter to be applied to an input image when deriving a CCRM predicted image. (Configuration of video decoding device) The configuration of a video decoding device 31 (FIG. 4) according to this embodiment will be described. The video decoding device 31 includes an entropy decoding unit 301, a parameter decoding unit (prediction image decoding device) 302, a loop filter 305, a reference picture memory 306, a prediction parameter memory 307, a prediction image generating unit (prediction image generating device) 308, an inverse quantization and inverse transform unit 311, and an adder 312. Note that, in accordance with the video encoding device 11 described below, the video decoding device 31 may also be configured not to include the loop filter 305. Moreover, the parameter decoding unit 302 is configured to include an inter prediction parameter derivation unit 303 and an intra prediction parameter derivation unit 304. The predicted image generation unit 308 is configured to include an inter prediction image generation unit 309 and an intra prediction image generation unit 310. In the following, an example will be described in which CTU and CU are used as processing units, but this is not limiting, and processing may be performed in sub-CU units. Alternatively, CTU and CU may be read as blocks, and sub-CU as sub-blocks, and processing may be performed in block or sub-block units. The entropy decoding unit 301 performs entropy decoding on the externally inputted coded stream Te, and separates and decodes individual codes (syntax elements). There are two types of entropy coding: a method of variable-length coding the syntax elements using a context (probability model) adaptively selected according to the type of syntax element and the surrounding circumstances, and a method of variable-length coding the syntax elements using a predetermined table or formula. The former CABAC (Context Adaptive Binary Arithmetic Coding) stores in memory a probability model updated for each coded or decoded picture (slice). Then, as the initial state of the context of a P picture or a B picture, a probability model of a picture using a quantization parameter of the same slice type and the same slice level is set from among the probability models stored in the memory. This initial state is used for coding and decoding processes. The separated codes include prediction information for generating a predicted image and a prediction error for generating a difference image. The entropy decoding unit 301 outputs the separated codes to the parameter decoding unit 302. For example, the separated codes include prediction modes predMode, general_merge_flag, merge_idx, inter_pred_idc, refIdxLX, mvp_LX_idx, mvdLX, and amvr_mode, CCCM flags cccm_flag, CCCM merge flags cccm_merge_flag, CCCM filter indexes cccm_multi_flt_idx, CCRM flags ccrm_flag, CCRM merge flags ccrm_merge_flag, and CCRM filter indexes ccrm_multi_flt_idx. Control of which codes to decode is performed based on an instruction from the parameter decoding unit 302. The loop filter 305 is a filter provided in the encoding loop, which removes block distortion and ringing distortion to improve image quality. The loop filter 305 applies filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the decoded image of the CU generated by the adder 312. The reference picture memory 306 stores the decoded image of the CU generated by the adder 312 in a location that is determined in advance for each current picture and current CU. The prediction parameter memory 307 stores prediction parameters at a predetermined position for each CTU or CU to be decoded. Specifically, the prediction parameter memory 307 stores the parameters decoded by the parameter decoding unit 302 and the prediction mode predMode separated by the entropy decoding unit 301. The predicted image generating unit 308 receives input of predMode, prediction parameters, etc. The predicted image generating unit 308 also reads a reference picture from the reference picture memory 306. The predicted image generating unit 308 generates a predicted image of a block or sub-block using the prediction parameters and the read reference picture (reference block) in the prediction mode indicated by predMode. Here, the reference block is a set of pixels on the reference picture (usually rectangular, so called a block), and is an area to be referenced for generating a predicted image. (CCxM Prediction Department) As shown in Fig. 9, the CCxM prediction unit 313 includes a CCxM prediction parameter derivation unit 3131, a CCxM prediction filter unit 3132, and a reference image filter unit 3133. The CCxM prediction parameter derivation unit 3131 inputs a luminance reference image ccRefY and chrominance reference images ccRefCb, ccRefCr, and derives parameters of a prediction model between color components (CCxM prediction parameters). The CCxM prediction filter unit 3132 inputs a luminance locally decoded image recY, and generates chrominance predicted images predCb', predCr' based on the derived CCxM prediction parameters. The reference images ccRefY, ccRefCb, and ccRefCb used for deriving the prediction parameters may be decoded images of the current block or decoded images of adjacent blocks. Alternatively, they may be predicted images of the current block or predicted images of adjacent blocks. For example, ccRefY, ccRefCb, and ccRefCb are the luminance decoded image recY and the chrominance decoded images recCb and recCr of the adjacent blocks. Alternatively, as another example, ccRefY, ccRefCb, and ccRefCb are the luminance predicted image predY and the chrominance predicted images predCb and predCr of the current block. The reference image filter unit 3133 may apply a filter process to an input image to the CCxM prediction parameter derivation unit and an input image to the CCxM prediction filter unit. In the following description, the filter process for the reference images ccRefY, ccRefCb, ccRefCr, and the decoded image recY may be a weighted sum of each pixel and neighboring pixels. In addition, the number of input pixels may be reduced by applying a downsampling process. Furthermore, a plurality of different filter processes, for example, with different weight values, may be applied. In this case, the reference images to which different filters are applied are distinguished by being called ccRefY0, ccRefY1, recY0, recY1, etc. The reference image filter unit 3133 may select the filter process to be applied based on a filter control parameter ccxmMultiFltIdx. The value of the filter control parameter ccxmMultiFltIdx may be set and provided by a processing unit that uses the CCxM prediction unit 313, such as the CCCM prediction unit 31044 or the CCRM prediction unit 3096. For example, the CCCM prediction unit 31044 may provide the syntax element cccm_multi_flt_idx as ccxmMultiFltIdx to the CCxM processing unit 313. Similarly, the CCRM prediction unit 3096 may provide the syntax element ccrm_multi_flt_idx as ccxmMultiFltIdx to the CCxM processing unit 313. The CCxM prediction parameter derivation unit 3131 derives parameters (CCxM prediction parameters) of a function for deriving the color difference reference images ccRefCb and ccRefCr from the luminance reference image ccRefY, and stores them in the prediction parameter memory 307. The CCxM prediction parameters are derived by, for example, using the least squares method, and in a function (linear function, convolution calculation model) that converts the luminance reference image ccRefY to the chrominance reference images ccRefCb, ccRefCr, the coefficients of the function are obtained for each pair of ccRefY and ccRefCb, and ccRefY and ccRefCr. The coefficients of the function may be, for example, a coefficient a[i] and an offset b that are multiplied by the input image. The range of the subscript i is determined based on the number of CCxM prediction parameters numCCXM. The number of CCxM prediction parameters numCCXM may be a fixed value, or may be set by another processing unit that controls the CCxM prediction unit 313. For example, when used from the CCCM prediction unit 31044, numCCXM=7, and when used from the CCRM prediction unit 3096, numCCXM=8, etc., may be changed. The value of numCCXM is not limited to this, and may be another number such as 2, 3, 4, 5, or 6. (CCxM prediction parameter derivation unit 3131) The CCxM prediction parameter derivation unit 3131 derives temporary variables tempY, tempC from reference images ccRefY[], ccRefC[] (=ccRefCb or ccRefCr) in a reference region (x, y) and offset (dxK, dyK). K is, for example, 0 to 4, and is used to distinguish each pixel and the offset of its surrounding pixels. Note that (x, y) here are luminance coordinates. for ((x,y) in ccRefY) { tempY[cnt][0] = ccRefY[x+dx0*SubWidthC][x+dy0*SubHeightC] tempY[cnt][1] = ccRefY[x+dx1*SubWidthC][y+dy1*SubHeightC] tempY[cnt][2] = ccRefY[x+dx2*SubWidthC][y+dy2*SubHeightC] tempY[cnt][3] = ccRefY[x+dx3*SubWidthC][y+dy3*SubHeightC] tempY[cnt][4] = ccRefY[x+dx4*SubWidthC][y+dy4*SubHeightC] tempY[cnt][5] = nonlinear(tempY[0][cnt]) tempY[cnt][6] = 1 tempC[cnt] = ccRefC[x / SubWidthC][y / SubHeightC] cnt=cnt+1 } Here, SubWidthC and SubHeightC are values ​​determined by the color difference format. In monochrome format, SubWidthC = 1, SubHeightC = 1, in 4:2:0 format, SubWidthC = 2, SubHeightC = 2, in 4:2:2 format, SubWidthC = 2, SubHeightC = 1, in 4:4:4 format, SubWidthC = 1, SubHeightC = 1. In addition, nonlinear is, for example, the following function. nonlinear(x) = x*x + ((1<<(bitDepth-1))>>bitDepth) Furthermore, (dx0,dy0), (dx1,dy1), (dx2,dy2), (dx3,dy3), and (dx4,dy4) are, for example, (0,0), (-1,0), (1,0), (0,-1), and (0,1). In this example, the target pixel (x,y) and its surrounding pixels above, below, left, and right are used. The CCxM prediction parameter derivation unit 3131 derives the following matrix sumXX and vector sumXY from the temporary images tempY and tempC. In the following, numCCXM=7. for (i=0; i <numCCXM; i++) { for (j=i; j <numCCXM; j++) { sumXX[i][j] = sumXX[j][i] = Σ(tempY[i][cnt]*tempY[j][cnt]) sumXY[i] = Σ(tempY[i][cnt]*tempC[cnt]) } } Here, Σ represents summation over the temporary variable cnt. As in the following example, it is possible to derive sumXX and sumXY directly without deriving the temporary variable cnt. numCCXM = 7 for ((x,y) in ccRefY) { tempY[0] = ccRefY[x+dx0*SubWidthC][x+dy0*SubHeightC] tempY[1] = ccRefY[x+dx1*SubWidthC][y+dy1*SubHeightC] tempY[2] = ccRefY[x+dx2*SubWidthC][y+dy2*SubHeightC] tempY[3] = ccRefY[x+dx3*SubWidthC][y+dy3*SubHeightC] tempY[4] = ccRefY[x+dx4*SubWidthC][y+dy4*SubHeightC] tempY[5] = nonlinear(tempY[0]) tempY[6] = 1 tempC = ccRefC[x / SubWidthC][y / SubHeightC] for (i=0; i <numCCXM; i++) { for (j=i; j <numCCXM; j++) { sumXX[i][j] = sumXX[j][i] += tempY[i]*tempY[j] sumXY[i] += tempY[i]*tempC} } } In addition, the regularization term reg is added to the diagonal elements. sumXX[i][i] = sumXX[i][i] + reg reg = (1<<(bitDepth-1)) The CCxM prediction parameter derivation unit 3131 derives cparam[k], k = 0..numCCXM-1, by linear calculation equivalent to cparam[k] = sumXY[k] * inverse(sumXX), where inverse(X) is the inverse matrix of X. a[0] = cparam[0] a[1] = cparam[1] a[2] = cparam[2] ... a[numCCXM-2] = cparam[numCCXM-2] b = a[numCCXM-1] = cparam[numCCXM-1] In this manner, CCxM prediction unit 313 derives filter coefficients for converting ccRefY to ccRefC, that is, prediction parameters a[]. Here, since ccRefC is ccRefCb or ccRefCr, CCxM prediction unit 313 derives two sets of prediction parameters a[]. For tempY, neighboring pixels at different positions may be used for each target pixel on the reference image ccRefY based on ccxmMultiFltIdx. For example, use the following pseudo code. Note that the derivation of sumXX and sumXY is omitted since it is the same as the method already explained. if(ccxmMultiFltIdx == 1) { for ((x,y) in ccRefY) { tempY[0] = ccRefY[x+dx0*SubWidthC][y+dy0*SubHeightC] tempY[1] = ccRefY[x+dx1*SubWidthC][y+dy1*SubHeightC] tempY[2] = ccRefY[x+dx2*SubWidthC][y+dy2*SubHeightC] tempY[3] = ccRefY[x+dx3*SubWidthC][y+dy3*SubHeightC] tempY[4] = nonlinear(tempY[0]) tempY[5] = nonlinear(tempY[1]) tempY[6] = nonlinear(tempY[2]) tempY[7] = x tempY[8] = y tempY[9] = 1 numCCXM = 10 tempC = ccRefC[x / SubWidthC][y / SubHeightC] ... / / update sumXX and sumXY } } For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3) may be (0, 0), (-1, 0), (1, 0), or (0, 1). This is an example in which the target pixel and the pixels to the left, right, and above the target pixel are used for each target pixel. The following else-if clause is an example when ccxmMultiFltIdx is 2. else if(ccxmMultiFltIdx == 2) { for ((x,y) in ccRefY) { tempY[0] = ccRefY[x+dx0*SubWidthC][y+dy0*SubHeightC] tempY[1] = ccRefY[x+dx1*SubWidthC][y+dy1*SubHeightC] tempY[2] = ccRefY[x+dx2*SubWidthC][y+dy2*SubHeightC] tempY[3] = ccRefY[x+dx3*SubWidthC][y+dy3*SubHeightC] tempY[4] = ccRefY[x+dx4*SubWidthC][y+dy4*SubHeightC] tempY[5] = ccRefY[x+dx5*SubWidthC][y+dy5*SubHeightC] tempY[6] = nonlinear(tempY[0]) tempY[7] = nonlinear(tempY[1]) tempY[8] = nonlinear(tempY[2]) tempY[9] = x tempY

[0010] = 1 numCCXM = 11 tempC = ccRefC[x / SubWidthC][y / SubHeightC] ... / / update sumXX and sumXY } } For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4), and (dx5, dy5) may be (0, 0), (-1, 0), (1, 0), (0, -1), (-1, -1), or (1, -1). This is an example in which the target pixel and the pixels to the left, right, above, upper left, and upper right of the target pixel are used as the locally decoded image. The following else-if clause is an example when ccxmMultiFltIdx is 3. else if(ccxmMultiFltIdx == 3) { for ((x,y) in ccRefY) { tempY[0] = ccRefY[x+dx0*SubWidthC][y+dy0*SubHeightC] tempY[1] = ccRefY[x+dx1*SubWidthC][y+dy1*SubHeightC] tempY[2] = ccRefY[x+dx2*SubWidthC][y+dy2*SubHeightC] tempY[3] = ccRefY[x+dx3*SubWidthC][y+dy3*SubHeightC] tempY[4] = ccRefY[x+dx4*SubWidthC][y+dy4*SubHeightC] tempY[5] = ccRefY[x+dx5*SubWidthC][y+dy5*SubHeightC] tempY[6] = nonlinear(tempY[0]) tempY[7] = nonlinear(tempY[1]) tempY[8] = nonlinear(tempY[2]) tempY[9] = y tempY

[0010] = 1 numCCXM=11 tempC = ccRefC[x / SubWidthC][y / SubHeightC] ... / / update sumXX and sumXY } } For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4), (dx5, dy5) may be (0, 0), (1, -1), (-1, 1), (0, 0), (1, -1), (-1, 1). recY0 and recY1 are obtained by applying different filters to recY by the reference pixel filter unit 3133. This is an example in which two sets of pixels, a target pixel and the pixels at the upper right and lower left of the target pixel, are used as locally decoded images with different filters. Note that the CCxM prediction unit may downsample ccRefY to an image ccRefYs of the same size as the chrominance images ccRefCb and ccRefCr using the reference pixel filter 3133. In this case, (x, y) are chrominance coordinates. An example when ccxmMultiFltIdx is 1 is as follows. if(ccxmMultiFltIdx == 1) { for ((x,y) in ccRefYs) { tempY[0] = ccRefY[x+dx0][y+dy0] tempY[1] = ccRefY[x+dx1][y+dy1] tempY[2] = ccRefY[x+dx2][y+dy2] tempY[3] = ccRefY[x+dx3][y+dy3] tempY[4] = nonlinear(tempY[0]) tempY[5] = nonlinear(tempY[1]) tempY[6] = nonlinear(tempY[2]) tempY[7] = x tempY[8] = y tempY[9] = 1 numCCXM = 10 tempC = ccRefC[x][y] ... / / update sumXX and sumXY } } Similarly, when ccxmMultiFltIdx is another value, coordinate conversion using SubWidthC and SubHeightC is not necessary. In this way, the CCxM prediction parameter derivation unit may change the method of referring to pixels of the input image by ccxmMultiFltIdx. Note that ccxmMultiFltIdx is also referred to in a CCxM prediction filter unit (described later), which changes the method of referring to pixels of the input image in a manner corresponding to that of the CCxM prediction parameter derivation unit. The CCxM prediction unit 313 stores the CCxM prediction parameters derived for a certain block in the prediction parameter memory 307. The parameters stored in the prediction parameter memory may be associated with a processing block. For example, the parameters derived under the control of the CCCM prediction unit may be stored in association with a specific PU, and the parameters derived under the control of the CCRM prediction unit 3096 may be associated with a specific TU. When true (1) is assigned to the variable ccxmMergeFlag, the CCxM prediction unit 313 derives new CCxM prediction parameters by performing a merging (synthesis) process using the CCxM prediction parameters a′[] derived by the CCxM prediction parameter derivation unit 3131 and stored in the prediction parameter memory 307, or predetermined default parameters a_def[]. For example, when the CCxM prediction unit is used by the CCCM prediction unit, the value of cccm_merge_flag is substituted for the variable ccxmMergeFlag, and when the CCxM prediction unit is used by the CCRM prediction unit, the value of ccrm_merge_flag is substituted for it. The CCxM prediction filter unit 3132 may derive predicted images predCb', predCr' using the CCxM prediction parameters derived by merging. At this time, the CCxM prediction unit 313 may derive new prediction parameters by referring to the CCxM prediction filter parameters a[i] of the block including the coordinates (x, y) as a'[x][y][i]. The CCxM prediction unit 3131 may use the CCxM prediction parameter a'[xC + nW][yC - 1][i] of the block A adjacent to the top (x, y) = (xC + nW, yC - 1) as the CCxM prediction parameter a[i]. The top left coordinate of the block is denoted as (xC, yC), the width of the block is denoted as nW, and the height of the block is denoted as nH. Similarly, the CCxM prediction parameter a'[xC - 1][yC + nH - 1][i] of the block L adjacent to the left (x, y) = (xC - 1, yC + nH - 1) may be used as the CCxM prediction parameter a[i]. In addition, the position N to be referenced may be changed depending on the merge direction of the CCxM prediction filter (the position of the block referenced by the CCxM prediction filter 3132) or the value of the variable ccxmMergeIdx that selects the prediction parameter to be used for merging. The value of ccxmMergeIdx may select, for example, the left adjacent block (L) when ccxmMergeIdx=0, and the upper adjacent block (A) when ccxmMergeIdx=1. The value of the variable ccxmMergeIdx may be set from outside the CCxM prediction unit. For example, when the CCCM prediction unit uses the CCxM prediction unit, the value of cccm_merge_idx is substituted, and when the CCRM prediction unit uses the CCxM prediction unit, the value of ccrm_merge_idx is substituted. Alternatively, a predetermined offset may be added to each prediction unit. For example, when the CCCM prediction unit uses the CCxM prediction unit, the value of cccm_merge_idx+CCCM_MERGE_IDX_OFFSET may be substituted, and when the CCRM prediction unit uses the CCxM prediction unit, the value of ccrm_merge_idx+CCRM_MERGE_IDX_OFFSET may be substituted. In this way, the value range of cccm_merge_idx and ccrm_merge_idx can be narrowed, thereby improving the coding efficiency. if (ccxmMergeFlag) if (ccxmMergeIdx==0) a[i] = a'[xC - 1][yC + nH - 1][i] / / a = a'L else if (ccxmMergeIdx==1) a[i] = a'[xC + nW - 1][yC - 1][i] / / a = a'L It is also possible to obtain the position N based on the availability of adjacent blocks and use the parameter a' of the position N (and so on). if (ccxmMergeFlag) if (ccxmMergeIdx==0) N = L else if (ccxmMergeIdx==1) N= A a = a'N In this way, the prediction parameter a[i] of the target block is set with the value acquired from the upper adjacent block or the left adjacent block for all i. Also, when the CCxM prediction parameter of the left adjacent block is available, the CCxM prediction parameter a'L of the left adjacent block may be used, and when the CCxM prediction parameter of the upper adjacent block is available, the CCxM prediction parameter a'A of the upper adjacent block may be used. In other words, the available CCxM prediction parameter of the adjacent block may be set as the CCxM prediction parameter of the target block. Alternatively, if both blocks are available, a value derived from the two CCxM prediction parameters (eg, the average) may be used. if (ccxmMergeFlag) if (ccxmMergeLeftAvailable) if (ccxmMergeUpperAvailable) a[i] = (a'[xC - 1][yC + nH - 1][i] + a'[xC + nW - 1][yC - 1][i] + 1) >> 1 / / a' = (a'A + a'L + 1)>>1 else a[i] = a'[xC - 1][yC + nH - 1][i] / / a' = a'L else if (ccxmMergeUpperAvailable) a[i] = a'[xC + nW - 1][yC - 1][i] / / a' = a'A In the above example, the decoding of parameters given to ccxmMergeIdx, for example cccm_merge_idx and ccrm_merge_idx, can be omitted. The next example shows how to use a weighted average to combine two CCxM prediction parameters. if (ccxmMergeFlag) if (ccxmMergeLeftAvailable) if (ccxmMergeUpperAvailable) a[i] = ( w * a'[xC - 1][yC + nH - 1][i] + ((1< <M)-w) * a'[xC + nW - 1][yC - 1][i] + 1<<(M-1)) > > (1< <M) else a[i] = a'[xC - 1][yC + nH - 1][i] else if (ccxmMergeUpperAvailable) a[i] = a'[xC + nW - 1][yC - 1][i] Here, w is the weight of the prediction parameter. For example, w can be derived from the weights a'L[i] and a'A[i] of the adjacent blocks L and A, that is, a'[xC - 1][yC + nH - 1][i] and a'[xC + nW - 1][yC - 1][i], respectively, from the vertical and horizontal dimensions (widthA, heightA) and (widthL, heightL). w = ((widthA + heightA) << M) / (widthA + heightA + widthL + heightL) M is the precision for converting the weight calculation into integers, for example M=6. ccxmMergeLeftAvailable and ccxmMergeUpperAvailable are flags indicating whether the prediction parameters of the left adjacent block and the prediction parameters of the upper adjacent block are available (availability), respectively. The CCxM prediction unit 313 or another processing unit, for example, the parameter decoding unit 302, may derive these flags using the following formulas. In the following, the position of the adjacent block is represented by (xNbY, yNbY). The position of the target block is represented by (xC, yC). The CCxM prediction unit 313 sets the position of the left adjacent block (xC-1, yC+nH-1) to the position (xNbY, yNbY) of the adjacent block, performs the following determination, and stores the determination result in ccxmMergeLeftAvailable. Here, (xC-1, yC) or (xC-1, yC+nH) may be used as the position of the left adjacent block. The CCxM prediction unit 313 sets the position of the upper adjacent block (xC-nW-1, yC-1) to the position (xNbY, yNbY) of the adjacent block, performs the following determination, and stores the determination result in ccxmMergeUpperAvailable. Here, (xC, yC1) or (xC+nW, yC-1) may be used as the position of the left adjacent block. If one or more of the following determinations are true, the CCxM prediction unit 313 determines that no adjacent blocks exist and sets mergeAvailable to false. Otherwise, it sets mergeAvailable to true. ・The adjacent block is off-screen. (xNbY < 0 or yNbY < 0 or xNbY >= picWidth or yNbY >= picHeight) - The adjacent block is in a later CTU than the target block. ((xNbY >> CtbLog2SizeY) > (xCurr >> CtbLog2SizeY) && (yNbY >> CtbLog2SizeY) >= (yC >> CtbLog2SizeY) - The adjacent block is in a later CTU than the target block. (yNbY >> CtbLog2SizeY) >= (yC >> CtbLog2SizeY) + 1 The adjacent block is in a slice different from the current block (slice boundary). - The adjacent block is in a different tile than the target block (tile boundary). The synchronous decoding flag is 1 and the adjacent block is one or more blocks to the right of the target block. sps_entropy_coding_sync_enabled_flag == 1 && (xNbY >> CtbLog2SizeY) >= (xC >> CtbLog2SizeY) + 1 Here, picWidth and picHeight are the picture width and height, and the values ​​obtained by decoding the PPS syntax pps_pic_width_in_luma_samples and pps_pic_height_in_luma_samples may be used. Furthermore, the presence determination may be made based on a CTU boundary, a sub-picture boundary, or a virtual boundary, the virtual boundary indicating the boundary between a refreshed area and an unrefreshed area. Furthermore, after the following determination (even if adjacent blocks exist), the CCxM prediction unit 313 sets mergeAvailable to false if the following is true: - Prediction parameters for position (xNbY, yNbY) are not available. Alternatively, "prediction parameters are not available" may be determined as follows. The color difference prediction mode (PredModeC) of (xNbY, yNbY) is not CCXM, which uses intra color component prediction at multiple reference positions. - The PredMode of (xNbY, yNbY) is not CCRM, which uses color component prediction of multiple reference positions in inter prediction. In addition, if the size of the adjacent block is sufficiently large, even if the adjacent block does not actually use CCXM, it is possible to operate the CCXM prediction parameter derivation internally, store it in internal memory, and use the parameters in the CCXM merge. Taking this table into consideration, the following conditions may be used. ・The size of (xNbY, yNbY) is smaller than the specified size. For example, nWNb + nHNb < TH , TH = 64, where nWNb, nHNb are the width and height of the neighboring blocks. Furthermore, if the size of the target block is sufficiently small, the merge process may always be performed without using ccxmMergeFlag. For example, if the width is WMAX pixels or less and the height is HMAX pixels or less (e.g. WMAX=4, HMAX=4), or if the area is AMAX pixels or less (e.g. AMAX=16), the prediction parameters may be derived by the merge process. In this case, it is not necessary to decode the syntax elements cccm_merge_flag and ccrm_merge_flag to be given to ccxmMergeFlag, and the coding efficiency is improved. Also, the amount of calculation for deriving prediction parameters in small blocks can be reduced. (Additional configuration) Furthermore, the CCxM prediction unit 313 may set ccxmMergeLeftAvailable and ccxmMergeUpperAvailable based on the size of the adjacent block. For example, if the width of the adjacent block (xNbY, yNbY) is equal to or greater than a predetermined value (4, 8, 16, etc.) or the width of the target block, it may be determined that the adjacent block is unavailable and may set mergeAvailable to false. Instead of the width of the adjacent block (xNbY, yNbY), the height, the sum of the width and height, the area, and the aspect ratio of the adjacent block may be used. Alternatively, instead of the width of the target block, the height, the sum of the width and height, the area, and the aspect ratio of the target block may be used. The CCxM prediction unit 313 may use ccxmMergeLeftAvailable, ccxmMergeUpperAvailable, and the variable ccxmMergeIdx in combination as follows. if (ccxmMergeFlag) if (ccxmMergeLeftAvailable) if (ccxmMergeUpperAvailable) if (ccxmMergeIdx == 0) a[i] = a'[xC - 1][yC + nH - 1][i] else if (ccxmMergeIdx == 1) a[i] = a'[xC + nW - 1][yC - 1][i] else a[i] = (a'[xC - 1][yC + nH - 1][i] + a'[xC + nW - 1][yC - 1][i] + 1) >> 1 else a[i] = a'[xC - 1][yC + nH - 1][i] else if (ccxmMergeUpperAvailable) a[i] = a'[xC + nW - 1][yC - 1][i] According to this example, it is necessary to decode ccxmMergeIdx only when both the left adjacent block and the above adjacent block are available, which can improve the coding efficiency. Also, when the CCxM prediction filter parameters of the adjacent block are unavailable, the default CCxM prediction filter parameters a_def[] may be used. When the CCxM prediction filter parameters of the adjacent block are unavailable, ccxmMergeLeftAvailable or ccxmMergeUpperAvailable is false. For example, a_def[] uses the CCxM prediction parameters that are not limited to adjacent blocks and that have been used recently. In this way, the history of the already derived CCxM prediction filter parameters may be stored in the prediction parameter memory 307 so that they can be acquired in order of use, and may be used. Also, the CCxM prediction filter parameters may be a fixed value a_const[]. The CCxM prediction filter parameters of the adjacent blocks are not limited to directly adjacent blocks, and may be CCxM prediction filter parameters of non-adjacent blocks. This is called a non-local CCxM merge. Here, CCxM can be CCCM, CCRM, CCPM (Cross-component prediction model), etc. The CCxM prediction filter unit 3132 further generates two predicted images predC for chrominance predCb' and predCr', using the locally decoded luma image recY. predC[x][y] =(Σ(a[i]*tempY[i]) + offsetK) >> shiftK (Equation-Pred) Here, x, y are coordinates in the chrominance block, where x = 0..nW-1, y = 0..nH-1. Σ is the sum of i = 0..numCCXM-1. offsetK = (1 << (shiftK-1)), tempY is a temporary variable that stores recY. Note that instead of storing in tempY, an element of recY may be directly multiplied by a[i]. For a[i], the values ​​derived by the CCxM prediction parameter derivation unit 3131 for Cb and Cr are used to generate two predicted images, predCb' and predCr'. tempY[0] = recY[x*SubWidthC+dx0][y*SubHeightC+dy0] tempY[1] = recY[x*SubWidthC+dx1][y*SubHeightC+dy1] tempY[2] = recY[x*SubWidthC+dx2][y*SubHeightC+dy2] tempY[3] = recY[x*SubWidthC+dx3][y*SubHeightC+dy3] tempY[4] = recY[x*SubWidthC+dx4][y*SubHeightC+dy4] tempY[5] = nonlinear(tempY[0]) tempY[6] = 1 nonlinear(x) = x*x + ((1<<(bitDepth-1))>>bitDepth) For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4) may be (0, 0), (0, -1), (0, 1), (-1, 0), (1, 0). This is an example in which the target pixel and the pixels above, below, left, and right of the target pixel are used for each target pixel in the locally decoded image. In addition, in (Equation-Pred), the offset term b is also derived as a multiplication with a[numCCXM-1], but it may be derived as a sum of offset terms as follows. predC[x][y] =(Σ(a[i]* tempY[i]) + b + offsetK) >> shiftK Σ is the sum for i=0..numCCXM-2 and b=a[numCCXM-1]. Furthermore, a pixel at a different position may be used for each target pixel on the locally decoded image recY based on ccxmMultiFltIdx. Also, a value obtained by applying a nonlinear function to a pixel value or a coordinate value may be provided as an element of tempY. if(ccxmMultiFltIdx == 1) { tempY[0] = recY[x*SubWidthC+dx0][y*SubHeightC+dy0] tempY[1] = recY[x*SubWidthC+dx1][y*SubHeightC+dy1] tempY[2] = recY[x*SubWidthC+dx2][y*SubHeightC+dy2] tempY[3] = recY[x*SubWidthC+dx3][y*SubHeightC+dy3] tempY[4] = nonlinear(tempY[0]) tempY[5] = nonlinear(tempY[1]) tempY[6] = nonlinear(tempY[2]) tempY[7] = x tempY[8] = y tempY[9] = 1 numCCXM = 10 } For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3) may be (0, 0), (-1, 0), (1, 0), or (0, 1). This is an example in which the target pixel and the pixels to the left, right, and above the target pixel are used for each target pixel. The following else-if clause is an example when ccxmMultiFltIdx is 2. else if(ccxmMultiFltIdx == 2) { tempY[0] = recY[x*SubWidthC+dx0][y*SubHeightC+dy0] tempY[1] = recY[x*SubWidthC+dx1][y*SubHeightC+dy1] tempY[2] = recY[x*SubWidthC+dx2][y*SubHeightC+dy2] tempY[3] = recY[x*SubWidthC+dx3][y*SubHeightC+dy3] tempY[4] = recY[x*SubWidthC+dx4][y*SubHeightC+dy4] tempY[5] = recY[x*SubWidthC+dx5][y*SubHeightC+dy5] tempY[6] = nonlinear(tempY[0]) tempY[7] = nonlinear(tempY[1]) tempY[8] = nonlinear(tempY[2]) tempY[9] = x tempY

[0010] = 1 numCCXM = 11 } For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4), and (dx5, dy5) may be (0, 0), (-1, 0), (1, 0), (0, -1), (-1, -1), or (1, -1). This is an example in which the target pixel and the pixels to the left, right, above, upper left, and upper right of the target pixel are used as the locally decoded image. The following else-if clause is an example when ccxmMultiFltIdx is 3. else if(ccxmMultiFltIdx == 3) { tempY[0] = recY0[x*SubWidthC+dx0][y*SubHeightC+dy0] tempY[1] = recY0[x*SubWidthC+dx1][y*SubHeightC+dy1] tempY[2] = recY0[x*SubWidthC+dx2][y*SubHeightC+dy2] tempY[3] = recY1[x*SubWidthC+dx3][y*SubHeightC+dy3] tempY[4] = recY1[x*SubWidthC+dx4][y*SubHeightC+dy4] tempY[5] = recY1[x*SubWidthC+dx5][y*SubHeightC+dy5] tempY[6] = nonlinear(tempY[0]) tempY[7] = nonlinear(tempY[1]) tempY[8] = nonlinear(tempY[2]) tempY[9] = y tempY

[0010] = 1 numCCXM=11 } For example, in the above formula, (dx0, dy0), (dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4), (dx5, dy5) may be (0, 0), (1, -1), (-1, 1), (0, 0), (1, -1), (-1, 1). The reference pixel filter unit 3133 applies different filters to recY to derive recY0 and recY1. This is an example in which two sets of pixels, the target pixel and the pixels at the upper right and lower left of the target pixel, are used as the locally decoded image with different filters. Note that the CCxM prediction unit may downsample recY to an image recYs of the same size as the chrominance image of the current block using the reference pixel filter 3133. In this case, an example in which ccxmMultiFltIdx is 1 is as follows. if(ccxmMultiFltIdx == 1) { tempY[0] = recYs[x+dx0][y+dy0] tempY[1] = recYs[x+dx1][y+dy1] tempY[2] = recYs[x+dx2][y+dy2] tempY[3] = recYs[x+dx3][y+dy3] tempY[4] = nonlinear(tempY[0]) tempY[5] = nonlinear(tempY[1]) tempY[6] = nonlinear(tempY[2]) tempY[7] = x tempY[8] = y tempY[9] = 1 numCCXM = 10 } Similarly, when ccxmMultiFltIdx is another value, coordinate conversion using SubWidthC and SubHeightC is not necessary. (Configuration of intra prediction parameter derivation unit) The intra prediction parameter derivation unit 304 decodes intra prediction parameters, for example, an intra prediction mode IntraPredMode, with reference to prediction parameters stored in the prediction parameter memory 307, based on the code input from the entropy decoding unit 301. The intra prediction parameter derivation unit 304 outputs the decoded intra prediction parameters to the predicted image generation unit 308, and also stores them in the prediction parameter memory 307. The intra prediction parameter derivation unit 304 may derive different intra prediction modes for luminance and chrominance. FIG. 7 shows a syntax configuration of intra prediction parameters according to an embodiment of the present invention. As shown in the figure, the intra prediction parameter derivation unit 304 decodes cclm_mode_flag, which indicates whether or not to perform LM prediction, which predicts chrominance from luminance. When cclm_mode_flag is a value (here, 1) indicating that LM prediction is performed, a flag cccm_flag, which indicates whether or not to perform CCCM prediction, which predicts chrominance by performing a convolution operation on multiple luminance values, is decoded. When cccm_flag is true, cccm_merge_flag and cccm_multi_flt_idx are decoded. cccm_merge_flag is a flag indicating whether or not the CCCM prediction unit 31044 uses merge prediction. cccm_multi_flt_idx is an index for selecting a filtering method for reference pixels in CCCM prediction. For example, it may be a syntax for switching between a function of multiple reference pixels and weighting coefficients around a target pixel, and may be one for switching the position of the reference pixels. It may also be one for switching the presence or absence of coordinate input, and the number of quadratic terms. When cccm_merge_flag indicates that merge prediction is used (here, 1), cccm_merge_idx is decoded. cccm_merge_idx is a parameter indicating a reference block to be used for merge prediction. As another configuration not shown, the CCCM prediction unit 31044 may be configured to decode cccm_multi_flt_idx according to cccm_merge_flag. Specifically, cccm_multi_flt_idx may be decoded only when cccm_merge_flag is false. When cccm_multi_flt_idx does not appear, a specific value, for example, 0, may be used as cccm_multi_flt_idx. When cccm_merge_flag is true, the value of cccm_multi_flt_idx may also be predicted from the adjacent block of the repair. For example, if the label of the adjacent block is N and a variable with N as a suffix represents the variable in the adjacent block N, cccm_multi_flt_idxN, which is the cccm_multi_flt_idx of the adjacent block N, may be used for cccm_multi_flt_idx. cccm_multi_flt_idx = cccm_multi_flt_idxN (Color Component Prediction) Color component (inter-color component) prediction is modeled using correlation between pixel values ​​of color components, derives prediction parameters, and performs filtering using the prediction parameters to derive an image of one color component from an image of another color component. In this embodiment, several color component predictions such as the following examples may be used for the color difference block. (CCLM forecast) 10, the CCCM prediction unit 31044 performs CCLM prediction and CCCM prediction using a CCxM prediction unit. CCLM prediction is prediction that uses a linear model that is simpler than CCCM prediction. The CCCM prediction unit 31044 operates as follows based on the values ​​of cclm_mode_flag and cccm_flag. (CCCM forecast) When cclm_mode_flag is true (1) and cccm_flag is true (1), the CCCM prediction unit 31044 performs CCCM prediction. When cccm_flag is true, the intra prediction parameter derivation unit 304 may further decode cccm_merge_flag. The CCCM prediction unit 31044 uses the CCxM prediction unit 313 to generate predicted images of chrominance predCb and predCr from the luma local decoded image recY. Specifically, the following process is performed. When cccm_merge_flag is false, the CCCM prediction unit 31044 sets the reference images ccRefY, ccRefCb, ccRefCr using the locally decoded images recY, recCb, recCr of adjacent areas (e.g., including the left, top, and top right of the target block) as follows and provides them to the CCxM prediction unit. ccRefY = recY ccRefCb = recCb ccRefCr = recCr The CCxM prediction unit 313 derives CCxM prediction parameters based on a given reference image. When cccm_merge_flag is true, the CCCM prediction unit 31044 may use the syntax element cccm_merge_idx for selecting filter parameters to be used for merging, and may provide ccxmMergeIdx = cccm_merge_idx to the CCxM prediction unit 313 to derive prediction parameters by merging processing. This has the effect of omitting the process of deriving prediction parameters from pixel values ​​using linear calculations, thereby reducing the amount of calculation. Next, the luminance locally decoded image recY of the current block is input to a CCxM prediction unit 313, and a model having the derived CCxM prediction parameters is applied to derive color difference predicted images predCb and predCr, which are output to an adder. (CCLM forecast) When cclm_mode_flag is true (1) and cccm_flag is false (0), the CCCM prediction unit 31044 performs CCLM prediction. The CCCM prediction unit 31044 uses the CCxM prediction unit 313 to generate predicted images of chrominance predCb and predCr from the locally decoded luminance image recY. Specifically, the CCxM prediction parameter derivation unit 3131 derives CCCM prediction parameters consisting of a[k], k=0..numCCLM-1, using a luminance reference pixel ccRefY and a chrominance reference pixel ccRefC adjacent to the target block. numCCLM-1 is, for example, 2. The CCxM prediction parameters in this case are called CCLM prediction parameters. (Block size limit) When the size of the target block is equal to or smaller than a predetermined size (or equal to a predetermined minimum size), the intra prediction parameter derivation unit 304 may use CCCM merge, which always uses already derived CCCM parameters as is. Specifically, when the target block is equal to or smaller than a predetermined size, the intra prediction parameter derivation unit 304 may estimate cccm_merge_flag to 1 without decoding from the encoded data if cccm_flag==1. This allows the already derived CCCM parameters to be used, and the CCxM prediction unit 313 can omit the parameter derivation process. 12, the CCCM processing unit 31044 may include a CCxM prediction unit 310441. The CCxM prediction unit 310441 is the same as the CCxM prediction unit 313 already described, and therefore a description thereof will be omitted. (Configuration of inter prediction parameter derivation unit) As shown in Fig. 4, the inter prediction parameter derivation unit 303 derives inter prediction parameters by referring to prediction parameters stored in the prediction parameter memory 307 based on the syntax elements input from the parameter decoding unit 302. The inter prediction parameter derivation unit 303 also outputs the inter prediction parameters to the inter prediction image generation unit 309 and the prediction parameter memory 307. The inter prediction parameter derivation unit 303 and its internal elements, the AMVP prediction parameter derivation unit 3032, the merge prediction parameter derivation unit 3036, the MMVD prediction unit 30376, and the MV addition unit 3038, are means common to the video encoding device and the video decoding device, and therefore may be collectively referred to as a motion vector derivation unit (motion vector derivation device). When general_merge_flag is 1, that is, when it indicates the merge prediction mode, merge_idx is derived and output to the merge prediction parameter derivation unit 3036 . When general_merge_flag is 0, that is, when it indicates the AMVP prediction mode, the AMVP prediction parameter derivation unit 3032 derives mvpLX from inter_pred_idc, refIdxLX, or mvp_LX_idx. FIG. 8 shows a syntax configuration of inter prediction parameters according to an embodiment of the present invention. As shown in the figure, when ccrmAllowed() returns true (here, 1) for the target block, the inter prediction parameter derivation unit 303 decodes ccrm_flag, which indicates whether or not CCRM prediction is performed. Here, the function ccrmAllowed() is a function that determines whether or not CCRM prediction is possible. For example, if the target block is an inter prediction block, the IBC (Intra Block Copy) mode is not used for the target block, the number of chrominance pixels of the target block is less than a predetermined value (for example, 16), and the transform coefficients of the luminance image in the target block are non-zero, the function returns true. If ccrm_flag is true, the inter prediction parameter derivation unit 303 further decodes ccrm_merge_flag and ccrm_multi_flt_idx. ccrm_merge_flag indicates whether or not the prediction parameters are derived by merging. ccrm_multi_flt_idx is an index that selects a filtering method for reference pixels. (MV addition section) The MV adder 3038 adds the derived mvpLX and mvdLX to derive mvLX. (Merge prediction) The merge prediction parameter derivation unit 3036 derives merge candidates including prediction parameters (predFlagLX, mvLX, refIdxLX) and constructs a merge candidate list. Furthermore, the merge prediction parameter derivation unit 3036 selects motion information (mvLXN[0], mvLXN[1]), predFlagLXN, and refIdxLXN of a merge candidate N indicated by merge_idx from among the merge candidates included in the merge candidate list as inter prediction parameters of the current block. The merge prediction parameter derivation unit 3036 stores the inter prediction parameters of the selected merge candidate in the prediction parameter memory 307 and outputs them to the inter prediction image generation unit 309. (Inter-prediction image generation unit 309) When predMode indicates inter prediction, the inter prediction image generation unit 309 generates a prediction image of a block or sub-block by inter prediction using the inter prediction parameters and reference picture input from the inter prediction parameter derivation unit 303. 6 is a schematic diagram showing a configuration of an inter-prediction image generation unit 309 included in the prediction image generation unit 308 according to this embodiment. The inter-prediction image generation unit 309 includes a motion compensation unit (prediction image generation device) 3091, an OOB processing unit 3092, and a synthesis unit 3095. The synthesis unit 3095 includes a weighted prediction unit 3094. (Motion Compensation) The motion compensation unit 3091 (interpolated image generation unit 3091) generates an interpolated image (motion compensated image) by reading a reference block from the reference picture memory 306 based on the inter prediction parameters (predFlagLX, refIdxLX, mvLX) input from the inter prediction parameter derivation unit 303. The reference block is a block at a position shifted by mvLX from the position of the target block on the reference picture RefPicLX specified by refIdxLX. Here, if mvLX does not have integer precision, a filter for generating pixels at decimal positions called a motion compensation filter is applied to generate an interpolated image. The motion compensation unit 3091 derives the integer position (xInt, yInt) and phase (xFrac, yFrac) corresponding to the top left coordinates (xPb, yPb) of a block of size bW*bH, the coordinates within the prediction block (xL, yL), and the motion vector (mvLX[0], mvLX[1]) using the following formula (MC-P1). xInt = xPb+(mvLX[0]>>(log2MVPREC))+xL xFrac = mvLX[0]&(MVPREC-1) yInt = yPb+(mvLX[1]>>(log2MVPREC))+yL yFrac = mvLX[1]&(MVPREC-1) Here, MVPREC indicates the accuracy of mvLX (1 / MVPREC pixel accuracy), log2MVPREC=log2(MVPREC), x=0...bW-1, y=0...bH-1. For example, MVPREC=16. The motion compensation unit 3091 derives a temporary image temp[][] by performing horizontal interpolation processing on the reference pictures refY, refCb, and refCr using an interpolation filter. In the following, Σ is the sum for k=0..NTAP-1, mcFilter[Frac][k] is the k-th interpolation filter coefficient in phase Frac, shift1 is a normalization parameter that adjusts the value range, and offset1=1<<(shift1-1). temp[x][y] = (ΣmcFilter[xFrac][k]*ref[xInt+k-NTAP / 2+1][yInt]+offset1)>>shift1 Next, the motion compensation unit 3091 derives the interpolated image Pred[][] by vertically interpolating the temporary image temp[][]. In the following, Σ is the sum for k=0..NTAP-1, shift2 is a normalization parameter that adjusts the value range, and offset2=1<<(shift2-1). Pred[x][y] = (Σ(mcFilter[yFrac][k]*temp[x][y+k-NTAP / 2+1])+offset2)>>shift2 (Formula MC-1) (Weighted Prediction) The weighted prediction unit 3094 generates a predicted image of the block by multiplying the interpolated image PredLX by a weighting coefficient. As shown in FIG. 11, the CCRM prediction unit 3096 performs CCRM prediction using the CCxM prediction unit. When ccrm_flag is true, the CCRM prediction unit performs the following process for each block of a TU. When ccrm_merge_flag is false, the CCRM prediction unit 3096 uses the CCxM prediction unit 313 to generate chrominance predicted images predCb, predCr from the luminance locally decoded image recY. Specifically, the CCRM prediction unit 3096 sets reference images ccRefY, ccRefCb, ccRefCr as follows using the predicted images predY, predCb, predCr of the current block, and provides them to the CCxM prediction unit 313. ccRefY = predY ccRefCb = predCb ccRefCr = predCr The CCxM prediction unit 313 derives CCxM prediction parameters based on a given reference image. When ccrm_merge_flag is true, the CCRM prediction unit 3096 may use the syntax element ccrm_merge_idx for selecting filter parameters to be used for merging, and provide ccxmMergeIdx = ccrm_merge_idx to the CCxM prediction unit 313 to derive CCxM prediction parameters by merging processing. This has the effect of omitting the process of deriving prediction parameters from pixel values ​​using linear calculations, thereby reducing the amount of calculation. Next, the luminance decoded image recY of the current block is input to the CCxM prediction unit 313, and new chrominance predicted images predCb and predCr are derived by applying a model having the derived CCxM prediction parameters, and are output to the adder. 13, the CCRM prediction unit 3096 may include a CCxM prediction unit 30961. The CCxM prediction unit 30961 is the same as the CCxM prediction unit 313 already described, and therefore a description thereof will be omitted. As described above, the CCRM prediction unit derives a chrominance predicted image from a luma locally decoded image. The chrominance predicted images predCb and predCr generated from the luma locally decoded image recY in this way are closer to the original image, reducing residuals and improving coding efficiency. The inverse quantization and inverse transform unit 311 inverse quantizes the quantized transform coefficients input from the entropy decoding unit 301 to obtain transform coefficients. The quantized transform coefficients are coefficients obtained by performing frequency transform such as DCT (Discrete Cosine Transform) or DST (Discrete Sine Transform) on the prediction error in the encoding process and quantizing the transform coefficients. The inverse quantization and inverse transform unit 311 performs inverse frequency transform such as inverse DCT or inverse DST on the transform coefficients to calculate the prediction error. The inverse quantization and inverse transform unit 311 outputs the prediction error to the adder unit 312. The inverse quantization and inverse transform unit 311 is made up of a scaling unit 31111 , an inverse non-separable transform unit 31121 , and an inverse separate transform unit 31123 . The adder 312 generates a decoded image of the block by adding, for each pixel, the predicted image of the block input from the predicted image generation unit 308 and the prediction error input from the inverse quantization and inverse transform unit 311. The adder 312 stores the decoded image of the block in the reference picture memory 306, and also outputs it to the loop filter 305. (Configuration of the video encoding device) Next, the configuration of the video encoding device 11 according to this embodiment will be described. Fig. 14 is a block diagram showing the configuration of the video encoding device 11 according to this embodiment. The video encoding device 11 includes a prediction image generating unit 101, a subtraction unit 102, a transformation / quantization unit 103, an inverse quantization / inverse transformation unit 105, an addition unit 106, a loop filter 107, a prediction parameter memory (prediction parameter storage unit, frame memory) 108, a reference picture memory (reference image storage unit, frame memory) 109, an encoding parameter determining unit 110, a parameter encoding unit 111, and an entropy encoding unit 104. The predicted image generating unit 101 generates a predicted image for each CU, which is an area obtained by dividing each picture of the image T. The predicted image generating unit 101 operates in the same manner as the predicted image generating unit 308 already described, and therefore a description thereof will be omitted. The subtraction unit 102 generates a prediction error by subtracting the pixel values ​​of the predicted image of the block input from the predicted image generation unit 101 from the pixel values ​​of the image T. The subtraction unit 102 outputs the prediction error to the transformation and quantization unit 103. The transform / quantization unit 103 calculates transform coefficients by frequency transforming the prediction error input from the subtraction unit 102, and derives quantized transform coefficients by quantizing the prediction error. The transform / quantization unit 103 outputs the quantized transform coefficients to the entropy coding unit 104 and the inverse quantization / inverse transform unit 105. The inverse quantization and inverse transform unit 105 is the same as the inverse quantization and inverse transform unit 311 in the video decoding device 31, and a description thereof will be omitted. The calculated prediction error is output to the adder . The entropy coding unit 104 receives the quantized transform coefficients from the transform / quantization unit 103 and the coding parameters from the parameter coding unit 111. The entropy coding unit 104 entropy codes the division information, the prediction parameters, the quantized transform coefficients, etc. to generate and output a coded stream Te. The parameter coding unit 111 includes a header coding unit 1110, a CT information coding unit 1111, a CU coding unit 1112 (prediction mode coding unit), an inter prediction parameter coding unit 112, and an intra prediction parameter coding unit 113. The CU coding unit 1112 further includes a TU coding unit 1114. The inter prediction parameter encoding unit 112 includes a parameter encoding control unit 1121 and an inter prediction parameter derivation unit 303. The inter prediction parameter derivation unit 303 has the same configuration as the video decoding device. The parameter encoding control unit 1121 includes a merge index derivation unit 11211 and a vector candidate index derivation unit 11212. The merge index derivation unit 11211 derives merge candidates and the like, and outputs them to the inter prediction parameter derivation unit 303. The vector candidate index derivation unit 11212 derives predictive vector candidates and the like, and outputs them to the inter prediction parameter derivation unit 303 and the parameter coding unit 111. The intra prediction parameter encoding unit 113 encodes the IntraPredMode and the like input from the encoding parameter determination unit 110. The intra prediction parameter encoding unit 113 includes a part of the same configuration as the configuration in which the parameter decoding unit 302 derives the intra prediction parameters. The adder 106 generates a decoded image by adding, for each pixel, the pixel value of the predicted image of the block input from the predicted image generation unit 101 and the prediction error input from the inverse quantization and inverse transform unit 105. The adder 106 stores the generated decoded image in the reference picture memory 109. The loop filter 107 applies a deblocking filter, SAO, and ALF to the decoded image generated by the adder 106. Note that the loop filter 107 does not necessarily have to include the above three types of filters, and may be configured, for example, as only a deblocking filter. The prediction parameter memory 108 stores the prediction parameters generated by the coding parameter determination unit 110 in a predetermined location for each current picture and CU. The reference picture memory 109 stores the decoded image generated by the loop filter 107 at a predetermined position for each current picture and CU. The coding parameter determination unit 110 selects one set from among a plurality of sets of coding parameters. The coding parameters are the above-mentioned QT, BT or TT division information, prediction parameters, or parameters to be coded that are generated in relation to these. The predicted image generation unit 101 generates a predicted image using these coding parameters. The coding parameter determination unit 110 calculates an RD cost value indicating the amount of information and the coding error for each of the multiple sets. The coding parameter determination unit 110 selects the set of coding parameters that minimizes the calculated cost value. As a result, the entropy coding unit 104 outputs the selected set of coding parameters as a coded stream Te. The coding parameter determination unit 110 stores the determined coding parameters in the predicted parameter memory 108. In addition, a part of the video encoding device 11 and the video decoding device 31 in the above-mentioned embodiment, for example, the entropy decoding unit 301, the parameter decoding unit 302, the loop filter 305, the predicted image generating unit 308, the inverse quantization and inverse transform unit 311, the addition unit 312, the predicted image generating unit 101, the subtraction unit 102, the transform and quantization unit 103, the entropy encoding unit 104, the inverse quantization and inverse transform unit 105, the loop filter 107, the encoding parameter determination unit 110, and the parameter encoding unit 111 may be realized by a computer. In this case, a program for realizing this control function may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read into and executed by a computer system. In addition, the "computer system" referred to here is a computer system built into either the video encoding device 11 or the video decoding device 31, and includes hardware such as an OS and peripheral devices. In addition, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems. Furthermore, the term "computer-readable recording medium" may also include devices that dynamically hold a program for a short period of 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, and devices that hold a program for a certain period of time, such as volatile memory inside a computer system that serves as a server or client in such cases. Furthermore, the above-mentioned program may be one that realizes part of the above-mentioned functions, or may be one that can realize the above-mentioned functions in combination with a program already recorded in the computer system. In addition, a part or all of the video encoding device 11 and the video decoding device 31 in the above-mentioned embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each functional block of the video encoding device 11 and the video decoding device 31 may be individually processed, or a part or all of them may be integrated into a processor. The integrated circuit method is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. In addition, when an integrated circuit technology that replaces LSI appears due to the advancement of semiconductor technology, an integrated circuit based on that technology may be used. Although one embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design changes, etc. are possible within the scope that does not deviate from the gist of the present invention. A video decoding device according to aspect 1 of the present invention is a video decoding device including a prediction parameter derivation unit that derives inter-color component prediction parameters, and a prediction filter unit that applies an inter-color component prediction model using the derived prediction parameters to an input image to generate an output image, and is characterized in that the prediction parameters are derived using prediction parameters of an adjacent region to generate an output image from the input image. The video decoding device according to aspect 2 of the present invention is characterized in that, in the above-mentioned aspect 1, the prediction parameter derivation unit derives prediction parameters of a convolution operation model representing a conversion process from a local luminance decoded image of the adjacent region to a local chrominance decoded image of the adjacent region using the prediction parameters of the adjacent region, and the prediction filter unit applies the model to the local luminance decoded image of the target block to generate a local chrominance predicted image of the target block. The video decoding device of aspect 3 of the present invention is characterized in that, in the above-mentioned aspect 1, the prediction parameter derivation unit derives prediction parameters of a convolution operation model representing a conversion process from a local luminance predicted image of the target block to a local chrominance predicted image of the target block using prediction parameters of an adjacent region, and the prediction filter unit applies the model to the local luminance decoded image of the target block to generate a local chrominance predicted image of the target block. The video decoding device of aspect 4 of the present invention is characterized in that, in the above-mentioned aspect 1, the prediction parameter derivation unit derives prediction parameters by selecting prediction parameters of multiple adjacent regions based on the decoded index. The video decoding device according to aspect 5 of the present invention is characterized in that, in the above-mentioned aspect 1, the prediction parameter derivation unit derives the prediction parameter by combining prediction parameters of a plurality of adjacent regions by a weighted sum. A video decoding device according to aspect 6 of the present invention is characterized in that, in the above-mentioned aspect 5, the prediction parameter derivation unit derives the weight based on the ratio of the sum of the width and height of the target region and the sum of the width and height of the adjacent region. The video decoding device of aspect 7 of the present invention is characterized in that, in the above-mentioned aspect 1, the prediction parameter derivation unit derives the availability of prediction parameters of the adjacent region based on attributes of the adjacent region, and derives prediction parameters using prediction parameters of the adjacent region that are available. The video decoding device according to aspect 8 of the present invention is, in the above-mentioned aspect 7, characterized in that the prediction parameter derivation unit derives the availability of the prediction parameters of the adjacent region based on the width and height of the adjacent region. The video decoding device of aspect 9 of the present invention is, in the above-mentioned aspect 7, characterized in that the prediction parameter derivation unit derives the availability of the prediction parameters of the adjacent region based on the positional relationship between the adjacent region and the target region. A video coding device according to aspect 10 of the present invention is characterized in that it includes the prediction parameter derivation device according to any one of aspects 1 to 9 described above, and encodes a residual between a predicted image generated by applying an inter-color component prediction model represented by the prediction parameters to a local image and an image to be coded. The embodiments of the present invention can be suitably applied to a video decoding device that decodes coded data in which image data is coded, and a video coding device that generates coded data in which image data is coded, and can also be suitably applied to the data structure of coded data that is generated by a video coding device and referenced by the video decoding device.

Claims

1. A video decoding device comprising: a prediction parameter derivation unit which derives inter-color component prediction parameters; and a prediction filter unit which uses the inter-color component prediction parameters to apply an inter-color component prediction model to an input image to generate an output image, wherein the prediction parameter derivation unit derives inter-color component prediction parameters of a target block using prediction parameters of an adjacent region, and derives inter-color component prediction parameters of the target block from a luminance decoded image of the adjacent region and a chrominance decoded image of the adjacent region, or a luminance predicted image of the target block and a chrominance predicted image of the target block, and wherein the prediction filter unit generates a chrominance predicted image of the target block using the derived inter-color component prediction parameters of the target block.

2. The video decoding device of claim 1, further comprising: a merge flag indicating whether or not to perform merge prediction using prediction parameters of an adjacent region; if the merge flag is true, deriving inter-color component prediction parameters of the target block using prediction parameters of the adjacent region; otherwise, deriving inter-color component prediction parameters of the target block from the luminance decoded image of the adjacent region and the chrominance decoded image of the adjacent region or the luminance predicted image of the target block and the chrominance predicted image of the target block.

3. The video decoding device according to claim 1, wherein the prediction parameter derivation section selects a model to be applied to the luminance decoded image of the current block based on the decoded index.

4. The video decoding device according to claim 1, wherein said prediction parameter derivation section derives the prediction parameters by combining prediction parameters of a plurality of adjacent regions using a weighted sum.

5. The video decoding device according to claim 1, wherein said prediction parameter derivation section derives the weights based on a ratio between the sum of the width and height of the target region and the sum of the width and height of the adjacent region.

6. The video decoding device according to claim 1, characterized in that the prediction parameter derivation unit derives the availability of prediction parameters of the adjacent region based on attributes of the adjacent region, and derives prediction parameters using prediction parameters of the adjacent region that are available.

7. The video decoding device according to claim 1, wherein the prediction parameter derivation section derives the availability of the prediction parameters of the adjacent region based on the width and height of the adjacent region.

8. The video decoding device according to claim 1, wherein the prediction parameter derivation section derives the availability of the prediction parameters of the adjacent region based on the positional relationship between the adjacent region and the target region.

9. The video decoding device of claim 2, characterized in that it decodes a flag indicating whether or not to use inter-color component prediction, and if the flag is true, decodes the merge flag indicating whether or not to perform merge prediction using prediction parameters of adjacent regions.

10. The video decoding device according to claim 9, further comprising: a decoding unit for decoding an index for selecting a filtering method for the reference pixels when the merge flag is false.

11. A video coding device comprising the prediction parameter derivation unit according to claim 1, and characterized in that it codes a residual between a predicted image generated by applying an inter-color component prediction model represented by the prediction parameters to a local image and an image to be coded.

Citation Information

Patent Citations

  • Game machine

    JP2023164676A

  • Image encoding device and image decoding device

    JP2021010046A

  • Video encoding / decoding method, video encoder, video decoder, video encoding device, video decoding device, and computer-readable storage medium

    JP2022509743A

  • Video signal encoding / decoding method and device for said method

    JP2023018046A

  • Method and apparatus for neighboring block availability in video coding

    JP2023111920A