WO2021131464A1 - 画像復号装置、画像復号方法及びプログラム - Google Patents

画像復号装置、画像復号方法及びプログラム Download PDF

Info

Publication number
WO2021131464A1
WO2021131464A1 PCT/JP2020/043746 JP2020043746W WO2021131464A1 WO 2021131464 A1 WO2021131464 A1 WO 2021131464A1 JP 2020043746 W JP2020043746 W JP 2020043746W WO 2021131464 A1 WO2021131464 A1 WO 2021131464A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
block
boundary
value
image decoding
Prior art date
Application number
PCT/JP2020/043746
Other languages
English (en)
French (fr)
Inventor
恭平 海野
圭 河村
内藤 整
Original Assignee
Kddi株式会社
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 Kddi株式会社 filed Critical Kddi株式会社
Priority to CN202080058173.2A priority Critical patent/CN114270866A/zh
Publication of WO2021131464A1 publication Critical patent/WO2021131464A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present invention relates to an image decoding device, an image decoding method, and a program.
  • Non-Patent Document 1 for example, the entire frame can be losslessly coded by setting parameters on the image coding device side.
  • Non-Patent Document 1 when an attempt is made to losslessly encode only a part of a block in a frame, there is a possibility that only the boundary portion of the block is not lossless due to the application of the deblocking filter. There was a problem.
  • the present invention has been made in view of the above-mentioned problems, and provides an image decoding device, an image decoding method, and a program capable of ensuring that a specific block in a frame is lossless. The purpose.
  • the first feature of the present invention is an image decoding apparatus, in which at least one of two adjacent blocks satisfies the first condition that the value of the quantization parameter is equal to or less than a predetermined threshold value.
  • the gist is that it is configured to control the deblocking filter applied to the boundary between the two blocks based on whether or not it is satisfied.
  • the second feature of the present invention is an image decoding apparatus, in which at least one of two adjacent blocks satisfies the first condition that the value of the quantization parameter is a predetermined threshold value.
  • the gist is that it is configured to control the deblocking filter applied to the boundary between the two blocks based on whether or not it is.
  • a third feature of the present invention is based on whether at least one of two adjacent blocks satisfies the first condition that the value of the quantization parameter is equal to or less than a predetermined threshold value. It is a gist to have a step of controlling a deblocking filter applied to the boundary between the two blocks.
  • the fourth feature of the present invention is a program used in an image decoding apparatus, in which a computer is provided with at least the first condition that the value of the quantization parameter is equal to or less than a predetermined threshold value among two adjacent blocks.
  • the gist is to execute the step of controlling the deblocking filter applied to the boundary between the two blocks based on whether or not one of the blocks is satisfied.
  • an image decoding device an image decoding method, and a program that can guarantee that a specific block in a frame is lossless.
  • FIG. 1 is a diagram showing an image processing system 10 according to an embodiment according to the present embodiment.
  • the image processing system 10 includes an image coding device 100 and an image decoding device 200.
  • the image coding device 100 is configured to generate coded data by coding the input image signal.
  • the image decoding device 200 is configured to generate an output image signal by decoding the coded data.
  • FIG. 2 is a diagram showing an example of a functional block of the image decoding apparatus 200 according to the present embodiment.
  • the image decoding device 200 includes a decoding unit 210, an inverse transformation / inverse quantization unit 220, an adder 230, an inter-prediction unit 241 and an intra-prediction unit 242, and an in-loop filter processing unit. It has 250 and a frame buffer 260.
  • the decoding unit 210 is configured to decode the coded data generated by the image coding device 100 and decode the coefficient level value.
  • decoding is entropy-encoded data decoding in which codes of different lengths are assigned based on the probability of occurrence of a coefficient level value.
  • the decoding unit 210 may be configured to acquire control data by decoding the coded data.
  • control data may include size data such as a coding block (CU: Coding Unit) size, a prediction block (PU: Precision Unit) size, and a conversion block (TU: Transfer Unit) size.
  • CU Coding Unit
  • PU prediction block
  • TU Transfer Unit
  • the inverse transformation / inverse quantization unit 220 is configured to perform the inverse transformation processing of the coefficient level value output from the decoding unit 210.
  • the inverse transformation / inverse quantization unit 220 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transformation processing.
  • the inverse quantization / inverse quantization unit 220 decodes the quantization parameter (QP: Quantization Parameter), which is a parameter that defines the quantization step size used in the inverse quantization, for each block as described later. It may be configured in.
  • QP Quantization Parameter
  • the inverse transformation / inverse quantization unit 220 may be configured not to perform the inverse transformation process in the block to which the conversion skip mode (Transform Skip) described later is applied.
  • the adder 230 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 220 to generate a pre-filter processing decoding signal, and uses the pre-filter processing decoding signal as an intra prediction unit 242 and an in-loop. It is configured to output to the filter processing unit 250.
  • the pre-filtered decoding signal constitutes a reference block used in the intra prediction unit 242.
  • the inter-prediction unit 241 is configured to generate a prediction signal by inter-prediction (inter-frame prediction).
  • the inter-prediction unit 241 is configured to generate a prediction signal for each prediction block based on the motion vector decoded from the coded data and the reference signal included in the reference frame.
  • the inter-prediction unit 241 is configured to output a prediction signal to the adder 230.
  • the inter-prediction unit 241 may include a plurality of modes as a specific method of inter-prediction.
  • the inter-prediction unit 241 may include a Triangle Partition Mode (TPM) or a Geometric Partitioning (GEO) mode, which will be described later.
  • TPM Triangle Partition Mode
  • GEO Geometric Partitioning
  • the intra prediction unit 242 is configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra prediction unit 242 is configured to specify a reference block included in the target frame and generate a prediction signal for each prediction block based on the specified reference block.
  • the intra prediction unit 242 is configured to output a prediction signal to the adder 230.
  • the in-loop filter processing unit 250 is configured to perform filter processing on the pre-filter processing decoding signal output from the adder 230 and output the post-filter processing decoding signal to the frame buffer 260.
  • the in-loop filter processing may be composed of a plurality of filter processes.
  • the filtering is a deblocking filtering that reduces distortion that occurs at the boundary of blocks (encoding block, prediction block, conversion block, or subblock that divides them), or a filter that is transmitted from the image coding apparatus 100.
  • This is an adaptive loop filter process that switches filters based on factors such as coefficients, filter selection information, and local properties of the image pattern.
  • the frame buffer 260 is configured to store reference frames used by the inter-prediction unit 241.
  • the decoded signal after filtering constitutes a reference frame used by the inter-prediction unit 241.
  • FIG. 3 is a diagram showing an example of a functional block of the inverse transformation / inverse quantization 220 of the image decoding apparatus 200 according to the present embodiment.
  • the inverse transformation / inverse quantization 220 includes a quantization parameter derivation unit 220A, an inverse quantization unit 220B, and an inverse conversion unit 220C.
  • the quantization parameter derivation unit 220A is configured to input control data, decode the quantization parameter for each block, and output it to the inverse quantization unit 220B.
  • the quantization parameter derivation unit 220A corrects the value of the decoded quantization parameter of the target block depending on whether or not the adaptive color conversion is applied to the target block, and then determines the corrected quantization parameter. It is configured so that the larger value of the value and the predetermined value of "0" or more is used as the quantization parameter of the target block.
  • the quantization parameter derivation unit 220A corrects the value of the decoded quantization parameter of the target block depending on whether or not the adaptive color conversion is applied to the target block, and then corrects the value of the quantization parameter and ".
  • the larger value of "0" may be configured to be the quantization parameter of the target block.
  • the quantization parameter derivation unit 220A determines whether or not the adaptive color conversion is applied to the target block by applying the decoded quantization parameter value of the target block to the target block when the conversion skip mode is not applied to the target block. After the correction, the value of the corrected quantization parameter and the larger value of "0" may be set as the quantization parameter of the target block.
  • the quantization parameter derivation unit 220A determines the value of the quantization parameter of the target block when the conversion skip mode is applied to the target block, regardless of whether or not the adaptive color conversion is applied to the target block. It may be configured so as to be equal to or larger than the minimum value of the quantization parameter when the conversion skip mode is applied.
  • the quantization parameter derivation unit 220A corrects the decoded quantization parameter value depending on whether or not the adaptive color conversion is applied to the target block when the conversion skip mode is applied to the target block.
  • the larger value of the corrected quantization parameter value and the minimum value of the quantization parameter when the conversion skip mode is applied may be set as the quantization parameter of the target block.
  • the quantization parameter derivation unit 220A determines the value of the quantization parameter of the target block when the conversion skip mode is applied to the target block, regardless of whether or not the adaptive color conversion is applied to the target block. It may be configured to be "4" or more.
  • the quantization parameter derivation unit 220A determines whether or not the adaptive color conversion is applied to the target block by applying the decoded quantization parameter value of the target block to the target block when the conversion skip mode is applied to the target block. After the correction, the value of the corrected quantization parameter and the larger value of "4" may be set as the quantization parameter of the target block.
  • the dequantization unit 220B is configured to input the quantization parameter and the coefficient level value output from the decoding unit 210, perform dequantization processing, and output the coefficient level value after dequantization. ..
  • a known method can be used, and thus the description thereof will be omitted.
  • the inverse transformation unit 220C is configured to input the coefficient level value after the inverse quantization processing output by the inverse quantization unit 220B, perform the inverse transformation processing, and output the residual signal.
  • a known method can be used, and thus the description thereof will be omitted.
  • Transform Skip When the conversion skip mode (Transform Skip) is applied to the block, the inverse conversion unit 220C is not processed and the output of the inverse quantization unit 220B is used as the output of the inverse conversion / inverse quantization unit 220. May be good. Whether or not Transform Skip is applied to the block can be determined, for example, by checking the value of transform_skip_flag in Non-Patent Document 1.
  • FIG. 4 is a flowchart showing an example of the processing flow of the quantization parameter derivation unit 220A.
  • FIG. 4 an example of processing of the quantization parameter derivation unit 220A according to the present embodiment will be described with reference to FIG.
  • step S41 the quantization parameter derivation unit 220A derives the value of the variable QpY.
  • QpY can be calculated by the following formula, for example, as in Non-Patent Document 1.
  • QpY ((qP Y_PRED + CuQpDeltaVal + 64 + 2 ⁇ QpBdOffset)% (64 + QpBdOffset))-QpBdOffset ... (Equation 1)
  • qP Y_PRED is a predicted value calculated from the surrounding blocks.
  • CuQpDeltaVal is a value indicating the difference between the QpY of the adjacent block and the QpY of the target block, and is obtained by decoding the value transmitted from the image coding device 100 by the decoding unit 210.
  • QpBdOffset is a positive value set according to the internal bit depth of the pixel value.
  • Non-Patent Document 1 As a specific calculation method for these variables, for example, the method described in Non-Patent Document 1 can be used.
  • step S42 the quantization parameter derivation unit 220A calculates Qp'Y, which is the quantization parameter value of the luminance signal.
  • the quantization parameter derivation unit 220A can calculate Qp'Y by the following (Equation 2) as in Non-Patent Document 1.
  • Qp'Y QpY + QpBdOffset... (Equation 2)
  • the minimum value of QpY is "-QpBdOffset" as described above, the minimum value of Qp'Y is "0".
  • step S43 the quantization parameter derivation unit 220A calculates Qp'Cb, Qp'Cr, and Cp'CbCr, which are the quantization parameter values of the color difference signal.
  • quantization parameters Qp'Cb, Qp'Cr, and Cp'CbCr are defined for the case where the functions of Cb signal, Cr signal, and Joint Chroma Coding are used, respectively, but the calculation method is basic. Since it is the same as the above, only the calculation method of the parameter Qp'Cb will be described below, and the other two explanations will be omitted.
  • the quantization parameter derivation unit 220A can calculate Qp'Cb by the following (Equation 3) as in Non-Patent Document 1.
  • Qp'Cb Clip3 (-QpBdOffset, 63, qPcb + pps_cb_qp_offset + slice_cb_qp_offset + CuQpOffsetCb) + QpBdOffset ... (Equation 3)
  • qPcb is a parameter calculated using the above-mentioned QpY.
  • pps_cb_qp_offset is a value specified by PPS (Picture Parameter Set).
  • slice_cb_qp_offset is a value specified by sliceHeader.
  • CuQpOffsetCb is obtained by decoding the value transmitted from the image coding device 100 by the decoding unit 210.
  • Non-Patent Document 1 As a specific calculation method for these parameters, for example, the method described in Non-Patent Document 1 can be used.
  • the quantization parameter derivation unit 220A describes the quantization parameters Qp'Y of the luminance signal calculated as described above and the quantization parameters Qp'Cb, Qp'Cr, and Cp'CbCr of the color difference signal as follows. Correct the street.
  • the quantization parameter derivation unit 220A is as follows. The correction is performed as shown in (Equation 4) and (Equation 5).
  • cup_act_enable_flag is a flag indicating whether or not adaptive color transformation (ACT) is applied to the target block
  • offset is a positive integer
  • Max (a, b) is a function that returns the same value as the larger value of the two variables a and b.
  • the quantization parameter derivation unit 220A corrects as shown in the following (Equation 6).
  • QpPrimeTsMin Max (QpPrimeTsMin, qP- (cu_act_enable_flag? Offset: 0)) ... (Equation 6)
  • QpPrimeTsMin is a variable that defines the minimum value of the quantization parameter in the block to which the Transform Skip is applied.
  • the quantization parameter derivation unit 220A is as shown in the following (Equation 7) and (Equation 8) when the Transform Skip is applied to the target block (for example, when the value of the transform_skip_flag is "1"). It may be corrected.
  • the quantization parameter derivation unit 220A may switch the values of the variables offset of the above-mentioned (Equation 4), (Equation 6) and (Equation 7) for each color signal.
  • the quantization parameter derivation unit 220A is in the case of a Y signal and a Cb signal (corresponding to a Cg signal when ACT is applied) (for example, when the value of cIdx in Non-Patent Document 1 is “0” or “1”).
  • the minimum value of the quantization parameter in the block to which the Transform Skip is applied can be unified regardless of the suitability of the adaptive color conversion.
  • the value of the quantization parameter is guaranteed to be "4" or more. can do.
  • step S45 the processing of the quantization parameter correction described in step S45 can also be performed in step S42 and step S43 as shown in the following (Equation 9) and (Equation 10), respectively.
  • Qp'Y Max (MinVal, QpY + QpBdOffset- (cu_act_enable_flag? Offset: 0)) ...
  • Qp'Cb Clip3 (-QpBdOffset + MinVal, 63, qPcb + pps_cb_qp_offset + slice_cb_qp_offset + CuQpOffsetCb) + QpBdOffset ...
  • MinVal is "0" when Transform Skip is not applied to the target block, and is "QpPrimeTsMin" when Transform Skip is applied to the target block.
  • the value of the quantization parameter is "0" or more regardless of the suitability of the adaptive color conversion.
  • the remainder calculation is performed using the value of the quantization parameter, and the division is required to be “0” or more, so that the stability of the calculation can be ensured.
  • the quantization parameter value is "QpPrimeTsMin" or more in the block to which the Transform Skip is applied.
  • the quantization parameter value corresponding to each color signal can be calculated for each block.
  • FIG. 5 is a diagram showing an example of a functional block of the intra prediction unit 242 of the image decoding device 200 according to the present embodiment.
  • the intra prediction unit 242 includes an intra prediction mode decoding unit 242B and a prediction signal generation unit 242C.
  • the intra prediction unit 242 is an example of a prediction unit configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra-prediction mode decoding unit 242B is configured to decode the information necessary for performing intra-prediction for each block.
  • FIG. 6 is a flowchart showing an example of the flow of decoding processing of the intra-prediction mode of the color difference signal by the intra-prediction mode decoding unit 242B.
  • FIG. 6 an example of a flow of decoding processing of the color difference signal in the intra prediction mode by the intra prediction mode decoding unit 242B will be described with reference to FIG.
  • step S601 the intra prediction mode decoding unit 242B determines whether or not the predetermined condition 1 is satisfied.
  • the predetermined condition 1 may include a condition that the width of the target CU is equal to or less than the maximum size when Transform Skip is applied (for example, MaxTsSize of Non-Patent Document 1).
  • the predetermined condition 1 may include a condition that the height of the target CU is equal to or less than the maximum size (for example, MaxTsSize of Non-Patent Document 1) when Transform Skip is applied.
  • the intra prediction mode decoding unit 242B may set the width and height of the CU as the actual CU size (width / height) of the color difference signal according to the sampling ratio of the color difference signal. For example, in the case of YUV4: 2: 0 sampling, the CU size (width / height) of the color difference signal is halved as compared with the case of the luminance signal.
  • the predetermined condition 1 includes a condition that BDPCM (Block DPCM) is enabled in SPS (Sequence Parameter Set) (for example, the value of sps_bdpcm_chroma_enable_flag is larger than "0"). May be good.
  • BDPCM Block DPCM
  • SPS Sequence Parameter Set
  • step S602 If all of the predetermined conditions 1 are satisfied, this operation proceeds to step S602, and if any one of the predetermined conditions 1 is not satisfied, this operation proceeds to step S603.
  • step S602 the intra prediction mode decoding unit 242B decodes intra_bdpcm_chroma_flag.
  • intra_bdpcm_chroma_flag is "1" it means that BDPCM is applied in the target color difference CU, and when such intra_bdpcm_chroma_flag is "0", it means that BDPCM is not applied.
  • step S603 the intra prediction mode decoding unit 242B determines whether or not the value of intra_bdpcm_chroma_flag is larger than "0".
  • step S608 if it is determined that the value of intra_bdpcm_chroma_flag is larger than "0”, this operation proceeds to step S608, and if not, this operation proceeds to step S604. If the above-mentioned predetermined condition 1 is not satisfied and the process of step S602 is skipped, the intra prediction mode decoding unit 242B considers the value of intra_bdpcm_chroma_flag to be “0”.
  • step S608 the intra prediction mode decoding unit 242B decodes intra_bdpcm_chroma_dir_flag.
  • intra_bdppcm_chroma_dir_flag indicates whether the prediction is performed from the vertical direction or the horizontal direction when BDPCM is applied to the target color difference CU.
  • step S604 the intra prediction mode decoding unit 242B determines whether or not the predetermined condition 2 is satisfied.
  • Predetermined condition 2 may include a condition that CCLM (color difference linear prediction) can be used in the target color difference CU.
  • CCLM color difference linear prediction
  • step S605 if it is determined that the predetermined condition 2 is satisfied, the main operation proceeds to step S605, and if not, the main operation proceeds to step S606.
  • step S605 the intra prediction mode decoding unit 242B decodes the cclm_mode_flag.
  • cclm_mode_flag is "1" it means that CCLM is applied in the target color difference CU, and when cclm_mode_flag is "0", it means that CCLM is not applied.
  • step S606 the intra prediction mode decoding unit 242B determines whether or not the value of cclm_mode_flag is greater than "0".
  • step S609 if it is determined that the value of cclm_mode_flag is larger than "0”, this operation proceeds to step S609, and if not, this operation proceeds to step S607. If the predetermined condition 2 is not satisfied and the process of step S605 is skipped, the intra prediction mode decoding unit 242B considers the value of cclm_mode_flag to be “0”.
  • step S609 the intra prediction mode decoding unit 242B decodes cclm_mode_idx. After the process of step S609 is completed, this operation proceeds to step S610 and ends the process.
  • step S607 the intra-prediction mode decoding unit 242B decodes the normal intra-prediction mode (intra_chroma_pred_mode). After the process of step S607 is completed, this operation proceeds to step S610 and ends the process.
  • the intra-prediction mode decoding unit 242B As described above, when BDPCM is applied to the color difference block, the information about the prediction direction of BDPCM is decoded, and when BDPCM is not applied to the color difference block, the information about CCLM or the normal intra prediction mode is decoded.
  • the intra-prediction mode decoding unit 242B By configuring the intra-prediction mode decoding unit 242B as described above, it is possible to ensure that the BDPCM, CCLM, and normal intra-prediction mode can be appropriately selected for each block.
  • the color difference sampling method can be 4: 2: 0, 4: 2: 2: Even if it changes to 2, 4: 4: 4, it is possible to make a judgment according to the size of the actual color difference CU.
  • the prediction signal generation unit 242C shown in FIG. 5 is configured to generate a prediction signal based on the prediction mode of the processing target block decoded by the intra prediction mode decoding unit 242B.
  • a method for generating a prediction signal for example, a known method described in Non-Patent Document 1 can be used.
  • FIG. 7 is a flowchart showing an example of a processing flow when BDPCM is applied to the luminance CU or the color difference CU by the prediction signal generation unit 242C.
  • BDPCM bit stream prediction
  • step S71 the prediction signal generation unit 242C determines whether or not the predetermined condition 3 is satisfied.
  • the filtering can be enabled / disabled. You can switch.
  • the predetermined condition 3 may include a condition that the coding tool for screen contents such as Palatte Mode is invalid in the slice to which the target CU belongs.
  • the encoding tool for screen content such as Palette Mode is valid or invalid, for example, the value of the flag that controls the valid / invalidity of Palette Mode included in the header of SPS, PPS, Picture Header, Slice Header, etc. It can be judged by checking.
  • step S72 if it is determined that the predetermined condition 3 is satisfied, this operation proceeds to step S72, and if not, this operation proceeds to step S73.
  • step S72 the prediction signal generation unit 242C performs a filtering process for smoothing the reference pixel used for prediction.
  • the prediction signal generation unit 242C can determine the reference pixel position used for prediction based on the value of intra_bdpcm_chroma_dir_flag. In the case of the luminance signal, the prediction signal generation unit 242C can determine the reference pixel position used for the prediction based on the same information.
  • the filtering process can be executed, for example, by convolving a linear filter having a coefficient weight of ⁇ 1/4, 2/4, 1/4 ⁇ . After the completion of the filtering process, this operation proceeds to step S73.
  • step S73 the prediction signal generation unit 242C generates a prediction value using the reference pixels smoothed or not smoothed in step S72.
  • step S74 ends the process.
  • the intra prediction unit 242 includes the prediction signal generation unit 242C, and the prediction signal generation unit 242C performs smoothing processing on the reference pixels used for prediction value generation prior to the prediction value generation processing by BDPCM. Even if noise such as imaging noise is superimposed on the reference pixel, the effect of reducing such noise can be expected, the prediction accuracy can be improved, and the coding efficiency can be improved. it can.
  • the intra prediction unit 242 includes the prediction signal generation unit 242C, and the prediction signal generation unit 242C depends on the value of the flag included in the header that controls the reference pixel filtering enable / disable at the time of BDPCM.
  • the reference pixel used for predictive value generation to control whether or not smoothing is performed prior to the predicted value generation process, the image taken by a camera for which smoothing is considered to be effective.
  • smoothing the screen content and not smoothing the screen content that is considered unnecessary it is possible to prevent an unintended decrease in the coding efficiency.
  • the intra prediction unit 242 includes the prediction signal generation unit 242C, and the prediction signal generation unit 242C precedes the prediction value generation processing by BDPCM depending on whether the coding tool for screen content is valid or invalid.
  • the prediction signal generation unit 242C precedes the prediction value generation processing by BDPCM depending on whether the coding tool for screen content is valid or invalid.
  • FIG. 8 is a diagram showing an example of a functional block of the in-loop filter processing unit 250 of the image decoding apparatus 200 according to the present embodiment.
  • the in-loop filter processing unit 250 includes a deblocking filter unit 250A, a SAO unit 250B, and an adaptive loop filter unit 250C.
  • the SAO unit 250B is configured to perform sample adaptive offset (SAO: Simple Adaptive Offset) processing. Since a known process can be used for the SAO unit 250B, the description of the specific process content will be omitted.
  • SAO Simple Adaptive Offset
  • the configuration shown in FIG. 8 is just an example.
  • the processing order of each loop filter may be changed. Further, a configuration in which a part of the loop filter processing shown in FIG. 8 is omitted may be used. Further, loop filtering processing (not shown in FIG. 8) may be added.
  • the deblocking filter unit 250A includes a block boundary detection unit 251 (251A / 251B), a boundary strength determination unit 253 (253A / 253B), a filter determination unit 254 (254A / 254B), and a filter. It has a processing unit 255 (255A / 255B).
  • the configuration with "A” at the end is the configuration related to the deblocking filter processing for the vertical block boundary
  • the configuration with "B” at the end is the configuration for the horizontal block boundary. This is a configuration related to deblocking filtering.
  • the following is an example of a case where the deblocking filter processing is performed on the vertical block boundary and then the deblocking filter processing is performed on the horizontal block boundary.
  • the deblocking filter process may be applied to the coded block, the predicted block, or the converted block. Further, the deblocking filter processing may be applied to the subblocks obtained by dividing each of the above blocks. That is, the target block and the adjacent block may be a coding block, a prediction block, a conversion block, or a subblock obtained by dividing them.
  • the block described below can be read as a subblock as appropriate.
  • the block boundary detection unit 251A is configured to detect the boundary (block boundary) of two adjacent blocks based on the control data indicating the block size.
  • the blocks are a coding block (CU), a prediction block (PU), and a conversion block (TU). Since a known method can be applied as a specific detection method, detailed description thereof will be omitted.
  • the boundary strength determination unit 253A is configured to determine the boundary strength of the block boundary between the target block and the adjacent block.
  • boundary strength determination unit 253A may be configured to determine the boundary strength of the block boundary based on the control data indicating whether or not the target block and the adjacent block are intra prediction blocks.
  • the boundary strength determination unit 253A determines that the boundary strength of the block boundary is "0" when at least one of the target block and the adjacent block is a lossless block. It may be configured as follows.
  • the lossless block may be defined as a block to which the Transform Skip is applied and the value of the quantization parameter is equal to or less than a predetermined threshold value (first threshold value).
  • the lossless block may be defined as a block to which the Transform Skip is applied and the value of the quantization parameter is equal to the first threshold value.
  • the first threshold value may be the minimum value of the quantization parameter in the conversion skip mode (QpPrimeTsMin described above). Further, for example, the first threshold value may be set to "4".
  • the lossless block may be defined as a block in which the value of the quantization parameter is equal to or less than the first threshold value regardless of whether or not the Transform Skip is applied.
  • the first threshold value may be the minimum value of the quantization parameter in the conversion skip mode (QpPrimeTsMin described above). For example, such a threshold value may be set to "4".
  • the boundary strength determination unit 253A applies when the above-mentioned block boundary is a sub-block boundary, the affine motion compensation prediction is applied to the target CU, and PROF is valid in the Picture Header. It may be configured to determine that the boundary strength of the block boundary is "0".
  • the boundary strength determination unit 253A when at least one block of the target block and the adjacent block is an intra prediction block (that is, at least one of the blocks on both sides of the block boundary is intra. In the case of a prediction block), it may be configured to determine that the boundary strength of the block boundary is "2".
  • the boundary strength determination unit 253A when at least one block of the target block and the adjacent block includes a non-zero orthogonal transformation coefficient and the block boundary is the boundary of the conversion block. (That is, when a non-zero conversion coefficient exists in at least one of the blocks on both sides of the block boundary and it is the boundary of the TU), the boundary strength of the block boundary is determined to be "1". It may have been done.
  • the boundary strength determination unit 253A has a case where the absolute value of the difference between the motion vectors of the target block and the adjacent block is equal to or more than a threshold value (for example, 1/2 pixel) (that is, both sides of the block boundary).
  • the boundary strength of the block boundary may be determined to be "1" when the absolute value of the difference between the motion vectors of the blocks is equal to or greater than the threshold value (for example, 1/2 pixel). ..
  • the boundary strength determination unit 253A is configured to determine the boundary strength of the block boundary based on the control data indicating whether or not the reference blocks referred to in the prediction of the motion vectors of the target block and the adjacent block are different. It may have been done.
  • the boundary strength determination unit 253A when the reference blocks referred to in the prediction of the motion vector of the target block and the adjacent block are different (that is, the reference images are different in the blocks on both sides of the block boundary). ) May be configured to determine that the boundary strength of the block boundary is "1".
  • the boundary strength determination unit 253A may be configured to determine the boundary strength of the block boundary based on the control data indicating whether or not the numbers of motion vectors of the target block and the adjacent block are different.
  • the boundary strength determination unit 253A applies when the number of motion vectors of the target block and the adjacent block is different (that is, the number of motion vectors is different in the blocks on both sides of the block boundary). It may be configured to determine that the boundary strength of the block boundary is "1".
  • the boundary strength determination unit 253A may be configured to determine the boundary strength of the block boundary based on the type of the inter-prediction mode of the target block and the adjacent block.
  • the boundary strength determination unit 253A determines such a block boundary when the above-mentioned block boundary is a CU boundary and TPM is used in at least one of the target block and the adjacent block. It may be configured to determine that the boundary strength of is "1".
  • the boundary strength determination unit 253A when the above-mentioned block boundary is a CU boundary and TPM is used in at least one of the target block and the adjacent block, and the value of the weighting coefficient described later satisfies a predetermined condition.
  • it may be configured to determine that the boundary strength of the block boundary is "1".
  • the boundary strength determination unit 253A determines such a block boundary when the above-mentioned block boundary is a CU boundary and GEO is used in at least one of the target block and the adjacent block. It may be configured to determine that the boundary strength of is "1".
  • boundary strength determination unit 253A when the above-mentioned boundary is a CU boundary, GEO is used in at least one of the target block and the adjacent block, and the value of the weighting coefficient described later satisfies a predetermined condition. , The boundary strength of the block boundary may be determined to be "1".
  • the boundary strength determining unit 253A may be configured to determine that the boundary strength of the block boundary is "0" when none of the above conditions are satisfied. ..
  • the above-mentioned boundary strength determination method may be used for the luminance signal and the color difference signal by a common method, or may be determined by using some different conditions.
  • TPM and GEO are modes in which a rectangular block (including a square) is divided into two regions by a straight line, and motion compensation prediction is performed using different motion vectors in each region.
  • TPM the division boundary is limited to the diagonal line of the rectangle, and GEO can perform division with a higher degree of freedom.
  • the specifications described in Non-Patent Document 1 and Non-Patent Document 2 can be followed, and therefore detailed description thereof will be omitted.
  • 11 (a) to 11 (d) are diagrams showing an example of weighting coefficients at the time of synthesis.
  • the weighting coefficient is set to 0/8 to 8/8, and the numerator of the weight of the predicted value (P1) by the first motion vector is shown.
  • the weight of the predicted value (P2) based on the second motion vector can be calculated as 1- (weight of P1).
  • the predetermined condition 4 of the weighting coefficient at the time of determining the boundary strength described above can be defined as follows, for example, when the boundary strength is determined every four pixels.
  • the value obtained by adding the weight coefficient values of the pixels at the four corners of the 4 ⁇ 4 pixel block adjacent to the target block boundary (4 pixels) is equal to or more than the second threshold value and equal to or less than the third threshold value (or the second threshold value). It may be defined as larger and smaller than the third threshold value).
  • the filter determination unit 254A is configured to determine the type of filter processing (for example, deblocking filter processing) applied to the block boundary.
  • the filter determination unit 254A determines whether or not to apply the filter processing to the block boundary based on the boundary strength of the block boundary, the quantization parameters included in the target block and the adjacent block, and the weak filtering process. It may be configured to determine which of the strong filtering applications to apply.
  • the filter determination unit 254A may be configured to determine that the filter processing is not applied when the boundary strength of the block boundary is "0".
  • the filter processing unit 255A is configured to perform processing on the pre-deblocking image based on the determination of the filter determination unit 254A.
  • the processing for the image before deblocking includes no filter processing, weak filter processing, strong filter processing, and the like.
  • the deblocking filter unit 250A is based on whether or not at least one of two adjacent blocks satisfies the first condition that the value of the quantization parameter is equal to or less than a predetermined threshold value. , It is configured to control the deblocking filter applied to the boundary between the two blocks.
  • the deblocking filter unit 250A determines whether or not at least one of two adjacent blocks satisfies the first condition that the value of the quantization parameter is a predetermined threshold value. It is configured to control the deblocking filter applied to the boundary between the two blocks.
  • the deblocking filter unit 250A sets the boundary strength used for controlling the deblocking filter applied to the boundary to "0". It is configured to be set to.
  • the deblocking filter unit 250A when the deblocking filter unit 250A satisfies both the first condition and the second condition that the conversion skip mode is applied by at least one of the two adjacent blocks, the deblocking filter unit 250A said.
  • the boundary strength used to control the deblocking filter applied to the boundary is set to "0".
  • the deblocking filter is not applied to all the pixels in the target block, and losslessness in block units can be guaranteed.
  • FIG. 12 is a flowchart showing an example of the processing flow of the filter processing unit 255A.
  • FIG. 12 is a flowchart showing an example of the processing flow of the filter processing unit 255A.
  • an example of the processing flow of the filter processing unit 255A will be described with reference to FIG.
  • step S121 the filter processing unit 255A calculates the pixel value after applying the filter according to the filter processing determined by the filter determination unit 254A.
  • step S122 the filter processing unit 255A determines whether or not the block P satisfies the predetermined condition 5.
  • block P the two blocks adjacent to the target block boundary
  • block Q the other is referred to as block Q.
  • the predetermined condition 5 may include a condition that the Palette Mode is applied to the block P.
  • the predetermined condition 5 may include a condition that the block P is a lossless block.
  • the definition of the lossless block for example, the same definition as the definition described in the boundary strength determination unit 253A can be used.
  • step S126 If it is determined that the predetermined condition 5 is satisfied, this operation proceeds to step S126, and if not, this operation proceeds to step S123.
  • step S123 the filter processing unit 255A reflects the pixel value after applying the filter generated in step S121 in the image after filtering.
  • step S126 the filter processing unit 255A processes the pixel value of the block P so as not to reflect the pixel value after applying the filter generated in step S121.
  • the value of the parameter n which means "apply the pixel value after applying the filter to the pixel n pixels away from the boundary on the block P side", to "0".
  • steps S124, S125, and S127 the block Q is subjected to the same processing as in steps S122, S123, and S126 described above, and then this operation proceeds to step S128 and ends the processing.
  • the deblocking filter unit 250A is configured so that the deblocking filter is not applied to the pixels inside the block that satisfy the first condition that the value of the quantization parameter is equal to or less than a predetermined threshold value.
  • the deblocking filter unit 250A is configured so that the deblocking filter is not applied to the pixels inside the block that satisfy the first condition that the value of the quantization parameter is a predetermined threshold value.
  • the deblocking filter unit 250A applies the deblocking filter to the boundary based on whether or not the block satisfies both the first condition and the second condition that the conversion skip mode is applied. Is configured to control.
  • the deblocking filter unit 250A is configured so that the deblocking filter is not applied to the pixels inside the block that satisfy both the first condition and the second condition.
  • the threshold value of the first condition may be "4".
  • the threshold value of the first condition may be the minimum value of the quantization parameter in the conversion skip mode, that is, QpPrimeTsMin.
  • the boundary strength may be controlled according to the value of the weighting coefficient.
  • the value obtained by adding the weight coefficient values of the pixels at the four corners of the 4 ⁇ 4 pixel block adjacent to the target block boundary (4 pixels) is the first value.
  • the boundary strength may be controlled depending on whether or not the condition of 2 threshold values or more and 3rd threshold value or less (or larger than the 2nd threshold value and smaller than the 3rd threshold value) is satisfied.
  • the weighting coefficient value can be set at the block boundary to which TPM or GEO is applied.
  • the deblocking filter can be applied appropriately to the boundaries that are different and are likely to actually cause block distortion.
  • the affine motion compensation prediction is applied to the CU to which the adjacent sub-block belongs, and PROF is valid in the Picture Header, the boundary of the block boundary is concerned. It may be configured to determine that the intensity is "0".
  • the adaptive loop filter unit 250C has a brightness ALF unit 256, a Cb CC-ALF unit 257A, a Cr CC-ALF unit 257B, a Cb ALF unit 258A, and a Cr ALF unit 258B.
  • Non-Patent Document 1 As the processing of the luminance ALF unit 256, Cb ALF unit 258A, and Cr ALF unit 258B, for example, the processing described in Non-Patent Document 1 can be applied, so detailed description thereof will be omitted.
  • the Cb CC-ALF unit 257A and the Cr CC-ALF unit 257B differ only in that the target is a Cb signal or a Cr signal, and the processing contents are the same. Only the operation of the part 257A will be described, and the description of the Cr CC-ALF part 257B will be omitted.
  • the Cb CC-ALF unit 257A takes a luminance signal before filtering processing by the luminance ALF section 256 as an input, and adds the output value to the output of the Cb ALF section 258A to obtain a Cb signal. It is configured to generate a filtered signal of.
  • FIGS. 14 and 15 are diagrams showing an example of the filtering process in the Cb CC-ALF section 257A and the process at the boundary portion.
  • FIGS. 14A to 14E a two-dimensional filter in which eight filter coefficients C0 to C7 are arranged as shown in FIG. 14 is applied to the luminance signal and added to the Cb signal.
  • a two-dimensional filter in which eight filter coefficients C0 to C7 are arranged as shown in FIG. 14 is applied to the luminance signal and added to the Cb signal.
  • the pixel positions [y] [x] of the luminance signal corresponding to the coefficient C2 are the pixel positions corresponding to the pixels of the Cb signal to which the values calculated by the Cb CC-ALF unit 257A are added.
  • the value to be added to the Cb signal can be calculated by, for example, the formula shown in FIG.
  • P [y] [x] means the pixel value of the luminance signal existing at the pixel positions [y] [x].
  • FIGS. 14 (a) to 14 (e) show the relationship between the processing boundary such as the virtual boundary and the arrangement of the filter coefficients.
  • the boundary is a boundary that prohibits reference to pixels located outside the boundary, such as the boundary of parallel processing units such as slices and tiles defined in the standard, and the virtual boundary provided to realize pipeline processing. It is a line.
  • the one where the pixel corresponding to the filter coefficient C2 exists is considered to be inside the boundary, and the one not present is considered to be outside the boundary. If the reference pixel position exists outside the boundary, the pixel value at that position cannot actually be referred to, so it is necessary to perform padding processing. Specifically, as shown in the table shown in FIG. 15, the padding process can be realized by changing the actual reference pixel position according to the pattern of the boundary and the arrangement of the filter coefficients.
  • FIG. 14 (e) shows an example when padding is not required.
  • the values of offset1 to offset3 when padding is not required are as shown in the table shown in FIG.
  • the pixels corresponding to the filter coefficient C0 can be referred to because they are located inside the boundary, but in Non-Patent Document 1, the luminance ALF portion 256, Cb ALF portion 258A, and Cr ALF
  • the filter coefficient C0 side is also padded, so that offset1 is also set to "0".
  • Mirror padding is a method of padding a line that appears outside the boundary when the filter coefficient is folded and inverted around the horizontal line in which the filter coefficient C2 exists in FIG. 14 (c).
  • offset1 is set to "0"
  • offset2 and offset3 are also set to "0" according to the mirror padding method.
  • the offset 3 is set to 1. Correct to and perform padding processing.
  • the offset value can be set in the same manner as in FIG. 14E.
  • the padding process in the case of FIG. 14 (a) is not defined and the padding process is not defined, the setting in FIG. 14 (e) may be used.
  • the padding process is performed by setting all the offsets to be added to the reference pixel position to "0".
  • the padding process is not performed and at least the reference pixel positions are at least.
  • the padding process may be performed only when one of them exists outside the boundary.
  • FIG. 16 is a diagram showing an example of a functional block of the image coding apparatus 100 according to the present embodiment.
  • the image coding device 100 includes an inter-prediction unit 111, an intra-prediction unit 112, a subtractor 121, an adder 122, a conversion / quantization unit 131, and an inverse conversion / dequantization. It has a unit 132, an encoding unit 140, an in-loop filter processing unit 150, and a frame buffer 160.
  • the inter-prediction unit 111 is configured to generate a prediction signal by inter-prediction (inter-frame prediction), similarly to the inter-prediction unit 241.
  • the inter-prediction unit 111 identifies and identifies the reference block included in the reference frame by comparing the frame to be encoded (hereinafter referred to as the target frame) with the reference frame stored in the frame buffer 160. It is configured to determine the motion vector for the referenced block.
  • the inter-prediction unit 111 is configured to generate a prediction signal included in the prediction block for each prediction block based on the reference block and the motion vector.
  • the inter-prediction unit 111 is configured to output a prediction signal to the subtractor 121 and the adder 122.
  • the reference frame is a frame different from the target frame.
  • the intra prediction unit 112 is configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra prediction unit 112 is configured to specify a reference block included in the target frame and generate a prediction signal for each prediction block based on the specified reference block. Further, the intra prediction unit 112 is configured to output a prediction signal to the subtractor 121 and the adder 122.
  • the reference block is a block that is referred to for the block to be predicted (hereinafter referred to as the target block).
  • the reference block is a block adjacent to the target block.
  • the subtractor 121 is configured to subtract the prediction signal from the input image signal and output the prediction residual signal to the conversion / quantization unit 131.
  • the subtractor 121 is configured to generate a prediction residual signal, which is the difference between the prediction signal generated by the intra prediction or the inter prediction and the input image signal.
  • the adder 122 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 132 to generate a pre-filter processing decoding signal, and the pre-filter processing decoding signal is combined with the intra prediction unit 112 and the input. It is configured to output to the loop filter processing unit 150.
  • the pre-filtered decoding signal constitutes a reference block used by the intra prediction unit 112.
  • the conversion / quantization unit 131 is configured to perform conversion processing of the predicted residual signal and acquire a coefficient level value. Further, the conversion / quantization unit 131 may be configured to quantize the coefficient level value.
  • the conversion process is a process of converting the predicted residual signal into a frequency component signal.
  • a base pattern (transformation matrix) corresponding to the discrete cosine transform (DCT) may be used, or a base pattern (transformation matrix) corresponding to the discrete sine transform (DST). May be used.
  • the inverse transformation / inverse quantization unit 132 is configured to perform the inverse transformation processing of the coefficient level value output from the transformation / quantization unit 131, similarly to the inverse transformation / inverse quantization unit 220.
  • the inverse transformation / inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transformation processing.
  • the inverse transformation process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion / quantization unit 131.
  • the coding unit 140 is configured to encode the coefficient level value output from the conversion / quantization unit 131 and output the coded data.
  • coding is entropy coding in which codes of different lengths are assigned based on the probability of occurrence of coefficient level values.
  • the coding unit 140 is configured to encode the control data used in the decoding process in addition to the coefficient level value.
  • control data may include size data such as a coded block size, a predicted block size, and a conversion block size.
  • the in-loop filter processing unit 150 performs filter processing on the pre-filter processing decoding signal output from the adder 122, and outputs the post-filter processing decoding signal to the frame buffer 160. It is configured to do.
  • the frame buffer 160 is configured to store reference frames used by the inter-prediction unit 111.
  • the decoded signal after filtering constitutes a reference frame used by the inter-prediction unit 111.
  • FIG. 17 is a diagram showing an example of a functional block of the intra prediction unit 112 of the image coding device 112 according to the present embodiment.
  • the intra prediction unit 112 includes an intra prediction mode determination unit 112A, an intra prediction mode coding unit 112B, and a prediction signal generation unit 112C.
  • the intra prediction unit 112 is an example of a prediction unit configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra prediction mode determination unit 112A is configured to determine information to be encoded by the subsequent intra prediction mode coding unit 112B, such as the intra prediction mode of the block and whether or not BDPCM is applied.
  • the determination method a known method can be used, and details thereof will be omitted.
  • the intra prediction mode coding unit 112B is configured to encode the prediction mode of the target block.
  • the processing content is the same as that of the intra prediction mode decoding unit 242B. Specifically, for example, in the processing flowchart of the intra prediction mode decoding unit 242B shown in FIG. 6, the “decoding” part is changed to “encoding”.
  • the prediction signal generation unit 112C is configured to generate a prediction signal for the block according to the prediction mode encoded in the intra prediction mode 112B.
  • the method of generating the prediction signal is the same as that of the prediction signal generation unit 242C.
  • image coding device 100 and image decoding device 200 may be realized by a program that causes a computer to execute each function (each process).
  • the present invention has been described by taking application to the image coding device 100 and the image decoding device 200 as an example, but the present invention is not limited to such an example, and the image code is not limited to this. The same applies to an image coding / decoding system having each function of the computerization device 100 and the image decoding device 200.
  • an image decoding device 200 an image decoding method, and a program having a function of ensuring that a specific block in a frame is lossless.
  • Intra prediction mode decoding unit 250A ... Deblocking filter unit 251, 251A, 251B ... Block boundary detection unit 253, 253A, 253B ... Boundary strength determination unit 254, 254A, 254B ... Filter determination unit 255, 255A, 255B ... Filter processing unit 250B ... SAO unit 250C ... Adaptive loop filter unit 256 ... Brightness ALF unit 257A ... Cb CC-ALF unit 257B ... Cr CC -ALF part 258A ... Cb-ALF part 258B ... Cr-ALF part

Landscapes

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

Abstract

本発明に係る画像復号装置は、量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、かかる2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されている。 また、別の例では,第1条件は、量子化パラメータの値が予め定めた閾値であるという条件である。 本発明によれば、フレーム内の特定のブロック内がロスレスであることを担保することができる画像復号装置、画像復号方法及びプログラムを提供することができる。

Description

画像復号装置、画像復号方法及びプログラム
 本発明は、画像復号装置、画像復号方法及びプログラムに関する。
 非特許文献1では、画像符号化装置側でのパラメータの設定によって、例えば、フレーム全体をロスレス符号化することができる。
Versatile Video Coding (Draft 7)、JVET-P2001 Simplified GEO without multiplication and minimum blending mask storage (harmonization of JVET-P0107, JVET-P0264 and JVET-P0304)、JVET-P0884
 しかしながら、非特許文献1では、フレーム内の一部のブロックのみをロスレス符号化しようとした場合、デブロッキングフィルタが適用されることにより、かかるブロックの境界部分のみロスレスではなくなってしまう可能性があるという問題点があった。
 そこで、本発明は、上述の課題に鑑みてなされたものであり、フレーム内の特定のブロック内がロスレスであることを担保することができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
 本発明の第1の特徴は、画像復号装置であって、量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されていることを要旨とする。
 本発明の第2の特徴は、画像復号装置であって、量子化パラメータの値が予め定めた閾値であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されていることを要旨とする。
 本発明の第3の特徴は、量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御する工程を有することを要旨とする。
 本発明の第4の特徴は、画像復号装置で用いるプログラムであって、コンピュータに、量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御する工程を実行させることを要旨とする。
 本発明によれば、フレーム内の特定のブロック内がロスレスであることを担保することができる画像復号装置、画像復号方法及びプログラムを提供することができる。
一実施形態に係る画像処理システム10の構成の一例を示す図である。 一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の逆変換・逆量子化部220の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の逆変換・逆量子化部220の量子化パラメータ導出部220Aの処理フローの一例を示すフローチャートである。 一実施形態に係る画像復号装置200のイントラ予測部240の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200のイントラ予測部240のイントラ予測モード復号部242Bによる色差信号のイントラ予測モードの復号処理フローの一例を示すフローチャートである。 一実施形態に係る画像復号装置200のイントラ予測部240の予測信号生成部242Cによる輝度CU又は色差CUにBDPCMを適用する場合の処理フローの一例を示すフローチャートである。 一実施形態に係る画像復号装置200のインループフィルタ処理部250の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200のインループフィルタ処理部250のデブロッキングフィルタ部250Aの機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200のインループフィルタ処理部250のデブロッキングフィルタ部250Aの境界強度判定部253A/253Bによって境界強度の判定方法の一例を説明するための図である。 TPMやGEOの重み係数について説明するための図である。 一実施形態に係る画像復号装置200のインループフィルタ処理部250のフィルタ処理部255A/255Bの処理フローの一例を示すフローチャートである。 一実施形態に係る画像復号装置200のインループフィルタ処理部250の適応ループフィルタ部250Cの機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200のインループフィルタ処理部250の適応ループフィルタ部250CのCb CC-ALF部257Aでのフィルタリング処理と境界部分での処理の一例を示す図である。 一実施形態に係る画像復号装置200のインループフィルタ処理部250の適応ループフィルタ部250CのCb CC-ALF部257Aでのフィルタリング処理と境界部分での処理の一例を示す図である。 一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。 一実施形態に係る画像符号化装置100のイントラ予測部112の機能ブロックの一例を示す図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
(第1実施形態)
 以下、図1~図17を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る実施形態に係る画像処理システム10を示す図である。
 図1に示すように、画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
 画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
 ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
(画像復号装置200)
 以下、図2を参照して、本実施形態に係る画像復号装置200について説明する。図2は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
 図2に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
 復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
 ここで、例えば、復号は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化されたデータの復号である。
 復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
 ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズや、予測ブロック(PU:Prediction Unit)サイズや、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
 逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 また、逆変換・逆量子化部220は、逆量子化の際に用いる量子化ステップサイズを定義するパラメータである量子化パラメータ(QP:Quantization Parameter)を、後述するようにブロック毎に復号するように構成されていてもよい。
 また、逆変換・逆量子化部220は、後述する変換スキップモード(Transform Skip)が適用されているブロックでは、逆変換処理を行わないように構成されていてもよい。
 加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
 インター予測部241は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
 ここで、インター予測部241は、インター予測の具体的な方法として、複数のモードを備えていてもよい。例えば、インター予測部241は、後述するTriangle  Partition Mode(TPM)やGeometrical Partitioning(GEO)モードを備えていてもよい。
 イントラ予測部242は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
 インループフィルタ処理部250は、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
 ここで、インループフィルタ処理は、複数のフィルタ処理から構成されていてもよい。例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック或いはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理や、画像符号化装置100から伝送されるフィルタ係数やフィルタ選択情報や画像の絵柄の局所的な性質等に基づいてフィルタを切り替える適応ループフィルタ処理である。
 フレームバッファ260は、インター予測部241で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
(逆変換・逆量子化部220)
 以下、図3を参照して、本実施形態に係る逆変換・逆量子化部220について説明する。図3は、本実施形態に係る画像復号装置200の逆変換・逆量子化220の機能ブロックの一例について示す図である。
 図3に示すように、逆変換・逆量子化220は、量子化パラメータ導出部220Aと、逆量子化部220Bと、逆変換部220Cとを具備している。
 量子化パラメータ導出部220Aは、制御データを入力として、ブロック毎に量子化パラメータを復号し、逆量子化部220Bへ出力するように構成されている。
 具体的には、量子化パラメータ導出部220Aは、対象ブロックの復号された量子化パラメータの値を対象ブロックに適応色変換が適用されているか否かによって補正した後に、補正後の量子化パラメータの値及び「0」以上の予め定めた値のうちの大きい方の値を対象ブロックの量子化パラメータとするように構成されている。
 例えば、量子化パラメータ導出部220Aは、対象ブロックの復号された量子化パラメータの値を対象ブロックに適応色変換が適用されているか否かによって補正した後に、補正後の量子化パラメータの値及び「0」のうちの大きい方の値を対象ブロックの量子化パラメータとするように構成されていてもよい。
 或いは、量子化パラメータ導出部220Aは、対象ブロックに変換スキップモードが適用されていない場合に、対象ブロックの復号された量子化パラメータの値を対象ブロックに適応色変換が適用されているか否かによって補正した後に、補正後の量子化パラメータの値及び「0」のうちの大きい方の値を対象ブロックの量子化パラメータとするように構成されていてもよい。
 或いは、量子化パラメータ導出部220Aは、対象ブロックに変換スキップモードが適用されている場合に、対象ブロックに適応色変換が適用されているか否かに関わらず、対象ブロックの量子化パラメータの値を変換スキップモード適用時の量子化パラメータの最小値以上とするように構成されていてもよい。
 或いは、量子化パラメータ導出部220Aは、対象ブロックに変換スキップモードが適用されている場合に、復号された量子化パラメータの値を対象ブロックに適応色変換が適用されているか否かによって補正した後に、補正後の量子化パラメータの値及び変換スキップモード適用時の量子化パラメータの最小値のうちの大きい方の値を対象ブロックの量子化パラメータとするように構成されていてもよい。
 或いは、量子化パラメータ導出部220Aは、対象ブロックに変換スキップモードが適用されている場合に、対象ブロックに適応色変換が適用されているか否かに関わらず、対象ブロックの量子化パラメータの値を「4」以上とするように構成されていてもよい。
 或いは、量子化パラメータ導出部220Aは、対象ブロックに変換スキップモードが適用されている場合に、対象ブロックの復号された量子化パラメータの値を対象ブロックに適応色変換が適用されているか否かによって補正した後に、補正後の量子化パラメータの値及び「4」のうちの大きい方の値を対象ブロックの量子化パラメータとするように構成されていてもよい。
 量子化パラメータ導出部220Aの具体的な処理内容の一例については後述する。
 逆量子化部220Bは、前記量子化パラメータと復号部210から出力される係数レベル値を入力として、逆量子化処理を行い、逆量子化後の係数レベル値を出力するように構成されている。逆量子化部220Bの具体的な処理については、公知の方法を用いることができるため説明を省略する。
 逆変換部220Cは、逆量子化部220Bによって出力された逆量子化処理後の係数レベル値を入力として、逆変換処理を行って残差信号を出力するように構成されている。なお、逆変換部220Cの具体的な処理については、公知の方法を用いることができるため説明を省略する。
 なお、当該ブロックに変換スキップモード(Transform Skip)が適用されている場合は、逆変換部220Cの処理を行わず、逆量子化部220Bの出力を、逆変換・逆量子化部220の出力としてもよい。当該ブロックにTransform Skipが適用されているかどうかは、例えば、非特許文献1におけるtransform_skip_flagの値を確認することで判別することができる。
 図4は、量子化パラメータ導出部220Aの処理フローの一例を示すフローチャートである。以下、図4を参照して、本実施形態に係る量子化パラメータ導出部220Aの処理の一例について説明する。
 図4に示すように、ステップS41において、量子化パラメータ導出部220Aは、変数QpYの値を導出する。QpYは、例えば、非特許文献1と同様に、以下の式で算出することができる。
 QpY=((qPY_PRED+CuQpDeltaVal+64+2×QpBdOffset)%(64+QpBdOffset))-QpBdOffset … (式1)
 ここで、qPY_PREDは、周囲のブロックから算出した予測値である。また、CuQpDeltaValは、隣接ブロックのQpYと対象ブロックのQpYとの差分を示す値で、画像符号化装置100から伝送された値を復号部210で復号することにより得られる。QpBdOffsetは、画素値の内部ビット深度に応じて設定される正の値である。
 これらの変数の具体的な算出方法として、例えば、非特許文献1に記載の方法を用いることができる。
 上述の(式1)における「+64+2×QpBdOffset」の部分は、演算子%より前の部分が「0」以上であることを担保するために加算されており、(式1)で算出されるQpYの値の最小値は「-QpBdOffset」である。
 ステップS42において、量子化パラメータ導出部220Aは、輝度信号の量子化パラメータ値であるQp’Yを算出する。例えば、量子化パラメータ導出部220Aは、非特許文献1と同様に、Qp’Yについて、以下の(式2)で算出することができる。
 Qp’Y= QpY+QpBdOffset … (式2)
 ここで、上述のようにQpYの最小値は「-QpBdOffset」であるため、Qp’Yの最小値は「0」となる。
 ステップS43において、量子化パラメータ導出部220Aは、色差信号の量子化パラメータ値であるQp’Cb、Qp’Cr、Cp’CbCrを算出する。
 なお、実際には、Cb信号、Cr信号、Joint Chroma Codingという機能を用いた場合について、それぞれ量子化パラメータQp’Cb、Qp’Cr、Cp’CbCrが定義されるが、計算方法は、基本的に同一であるため、以下まとめてパラメータQp’Cbの算出法のみを説明し、他の2つの説明は省略する。
 例えば、量子化パラメータ導出部220Aは、非特許文献1と同様に、Qp’Cbについて、以下の(式3)で算出することができる。
 Qp’Cb=Clip3(-QpBdOffset,63,qPcb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset … (式3)
 ここで、qPcb は、上述のQpYを用いて算出するパラメータである。pps_cb_qp_offsetは、PPS(Picture Parameter Set)で指定された値である。slice_cb_qp_offsetは、Slice Headerで指定された値である。CuQpOffsetCbは、画像符号化装置100から伝送された値を復号部210で復号することにより得られる。
 これらのパラメータの具体的な算出方法としては、例えば、非特許文献1に記載の方法を用いることができる。
 上述の(式3)中の「Clip3(min,max,val)」は、変数valの値が変数minより小さい場合は「min」の値を返し、変数valの値が変数maxより大きい場合は「max」の値を返し、それ以外の場合は「val」の値をそのまま返す関数である。よって、(式3)の右辺第一項の最小値は「-QpBdOffset」であり、(式3)の右辺第二項において(式3)の右辺第一項の値に「QpBdOffset」を加算するため、Qp’Cbの最小値は「0」である。
 なお、以上で説明したQp’Y、Qp’Cb、Qp’Cr、Cp’CbCrの導出法は、あくまで一例である。それぞれの値の最小値が「0」になるような導出方法であれば、上記以外の方法で導出しても差し支えない。
 ステップS44において、量子化パラメータ導出部220Aは、上述のように算出した輝度信号の量子化パラメータQp’Yと、色差信号の量子化パラメータQp’Cb、Qp’Cr、Cp’CbCrについて、以下の通り補正する。
 第1に、Qp’Y、Qp’Cb、Qp’Cr、Cp’CbCrをそれぞれ代入した変数qPについて考える。
 量子化パラメータ導出部220Aは、対象ブロックの色信号(Y,Cb、Cr又はCbCr)に変換スキップ(Transform Skip)が適用されない場合(例えば、transform_skip_flagの値が「0」である場合)、以下の(式4)及び(式5)に示す通り、補正する。
 qP=qP-(cu_act_enabled_flag?offset:0) … (式4) 
 qP=Max(0,qP) … (式5) 
 ここで、cu_act_enabled_flagは、対象ブロックに適応色変換(Adaptive Color Transform:ACT)が適用されているか否かについて示すフラグであり、offsetは、正の整数である。また、Max(a,b)は、a及びb2つの変数のうち値が大きな方と同じ値を返す関数である。
 また、量子化パラメータ導出部220Aは、対象ブロックにTransform Skipが適用される場合(例えば、transform_skip_flagの値が「1」である場合)、以下の(式6)に示す通り、補正する。
 qP=Max(QpPrimeTsMin,qP-(cu_act_enabled_flag?offset:0)) … (式6)
 ここで、QpPrimeTsMinは、Transform Skipが適用されるブロックにおける量子化パラメータの最小値を定義する変数である。
 また、量子化パラメータ導出部220Aは、対象ブロックにTransform Skipが適用される場合(例えば、transform_skip_flagの値が「1」である場合)、以下の(式7)及び(式8)に示す通り、補正してもよい。
 qP=Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag?offset:0)) … (式7)
 qP=Max(4,qP) … (式8) 
 また、量子化パラメータ導出部220Aは、上述の(式4)、(式6)及び(式7)の変数offsetの値を色信号ごとに切り替えてもよい。
 例えば、量子化パラメータ導出部220Aは、Y信号及びCb信号(ACT適用時には、Cg信号に相当)の場合(例えば、非特許文献1におけるcIdxの値が「0」か「1」である場合)は「offset=5」、Cr信号(ACT適用時には、Co信号に相当)の場合(例えば、非特許文献1におけるcIdxの値が「2」である場合)は「offset=3」とすることができる。
 以上のように量子化パラメータの値を補正することで、全てのブロックについて量子化パラメータの値が「0」以上となることを担保できる。
また、対象ブロックにTransform Skipモードを適用する場合は、例えば、上述の(式6)のように補正を行うことで、量子化パラメータの値が「QpPrimeTsMin」以上となるように担保することができる。
 このような構成とすることで、適応色変換の適否に関わらず、Transform Skipを適用したブロックでの量子化パラメータの最小値を統一することができる。
 また、対象ブロックにTransform Skipを適用する場合は、例えば、上述の(式7)及び(式8)のように補正を行うことで、量子化パラメータの値が「4」以上となるように担保することができる。Transform Skipモード適用時は「QP=4」の場合に、量子化ステップ幅が「1」になり、ロスレスでの復号が可能になるため、このような構成とすることで不要に量子化パラメータの値が小さくなることを防止することができる。
 また、ステップS45として説明した量子化パラメータ補正の処理について、それぞれステップS42及びステップS43において、以下の(式9)及び(式10)に示すように行うこともできる。
 Qp’Y=Max(MinVal,QpY+QpBdOffset-(cu_act_enabled_flag?offset:0)) … (式6) 
 Qp’Cb=Clip3(-QpBdOffset+MinVal,63,qPcb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset … (式10)
 ここで、MinValは、対象ブロックにTransform Skipを適用しない場合は「0」であり、対象ブロックにTransform Skipを適用する場合は「QpPrimeTsMin」である。
 以上のような構成とすることで、適応色変換の適否にかかわらず、量子化パラメータの値が必ず「0」以上になるように担保することができる。例えば、非特許文献1では、量子化パラメータの値を用いて剰余計算を行っており、被除数が「0」以上になることが求められるため、計算の安定性を担保することができる。
また、以上のような構成とすることで、適応色変換の適否にかかわらず、Transform Skipが適用されるブロックでは、量子化パラメータ値が「QpPrimeTsMin」以上になることを担保できる。
 Transform Skip適用時は「QP=4」の場合に量子化ステップ幅が「1」になり、ロスレスでの復号が可能になる。よって、「QpPrimeTsMin=4と定義した上で、上述の処理を行うと、Transform Skip適用ブロックで量子化パラメータが不要に小さくなることを防止することができる。
 以上のように、各色信号に対応した量子化パラメータ値をブロック毎に算出することができる。
(イントラ予測部242)
 以下、図5を参照して、本実施形態に係るイントラ予測部242について説明する。図5は、本実施形態に係る画像復号装置200のイントラ予測部242の機能ブロックの一例について示す図である。
 図5に示すように、イントラ予測部242は、イントラ予測モード復号部242Bと、予測信号生成部242Cとを有する。
 イントラ予測部242は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている予測部の一例である。
 イントラ予測モード復号部242Bは、ブロックごとにイントラ予測を行うために必要な情報を復号するように構成されている。
 図6は、イントラ予測モード復号部242Bによる色差信号のイントラ予測モードの復号処理のフローの一例を示すフローチャートである。以下、図6を用いて、イントラ予測モード復号部242Bによる色差信号のイントラ予測モードの復号処理のフローの一例を説明する。
 ステップS601において、イントラ予測モード復号部242Bは、所定条件1が満たされているか否かについて判定する。
 かかる所定条件1には、対象CUの幅がTransform Skipを適用する際の最大サイズ(例えば、非特許文献1のMaxTsSize)以下であることという条件が含まれていてもよい。
 また、かかる所定条件1には、対象CUの高さがTransform Skipを適用する際の最大サイズ(例えば、非特許文献1のMaxTsSize)以下であることという条件が含まれていてもよい。
 ここで、イントラ予測モード復号部242Bは、CUの幅や高さについて、色差信号のサンプリング比に応じた色差信号の実際のCUサイズ(幅/高さ)としてもよい。例えば、YUV4:2:0サンプリングの場合、色差信号のCUサイズ(幅/高さ)は、輝度信号の場合と比較して半分になる。
 また、かかる所定条件1には、SPS(Sequence Parameter Set)において、BDPCM(Block DPCM)が有効になっていること(例えば、sps_bdpcm_chroma_enabled_flagの値が「0」より大きいこと)という条件が含まれていてもよい。
 所定条件1の全てが満たされる場合には、本動作は、ステップS602に進み、所定条件1のどれか一つでも満たされない場合には、本動作は、ステップS603へ進む。
 ステップS602では、イントラ予測モード復号部242Bは、intra_bdpcm_chroma_flagを復号する。intra_bdpcm_chroma_flagが「1」である場合は、対象色差CUでBDPCMを適用し、かかるintra_bdpcm_chroma_flagが「0」である場合は、BDPCMを適用しないことを意味する。
 ステップS603において、イントラ予測モード復号部242Bは、intra_bdpcm_chroma_flagの値が「0」より大きいかどうかを判定する。
 ここで、intra_bdpcm_chroma_flagの値が「0」より大きいと判定された場合には、本動作は、ステップS608に進み、そうでない場合には、本動作は、ステップS604へ進む。なお、上述の所定条件1が満たされずにステップS602の処理がスキップされた場合には、イントラ予測モード復号部242Bは、intra_bdpcm_chroma_flagの値を「0」とみなす。
 ステップS608において、イントラ予測モード復号部242Bは、intra_bdpcm_chroma_dir_flagを復号する。intra_bdpcm_chroma_dir_flagは、対象色差CUにBDPCMを適用する場合に、垂直方向から予測を行うか或いは水平方向から予測を行うかのどちらなのかについて示す。ステップS608の処理が終了後、本動作は、ステップS610へ移り処理を終了する。
 ステップS604において、イントラ予測モード復号部242Bは、所定条件2が満たされているか否かについて判定する。
 所定条件2には、対象色差CUでCCLM(色差線形予測)が使用可能であるという条件が含まれていてもよい。
 ここで、所定条件2が満たされると判定された場合は、本動作は、ステップS605に進み、そうでない場合は、本動作は、ステップS606に進む。
 ステップS605において、イントラ予測モード復号部242Bは、cclm_mode_flagを復号する。cclm_mode_flagが「1」である場合は、対象色差CUでCCLMを適用し、cclm_mode_flagが「0」である場合は、CCLMを適用しないことを意味する。
 ステップS606において、イントラ予測モード復号部242Bは、cclm_mode_flagの値が「0」より大きいか否かについて判定する。
 ここで、cclm_mode_flagの値が「0」より大きいと判定された場合には、本動作は、ステップS609に進み、そうでない場合には、本動作は、ステップS607へ進む。なお、所定条件2が満されずにステップS605の処理がスキップされた場合には、イントラ予測モード復号部242Bは、cclm_mode_flagの値を「0」とみなす。
 ステップS609において、イントラ予測モード復号部242Bは、cclm_mode_idxを復号する。ステップS609の処理が終了後、本動作は、ステップS610に進み、処理を終了する。
 ステップS607において、イントラ予測モード復号部242Bは、通常のイントラ予測のモード(intra_chroma_pred_mode)を復号する。ステップS607の処理が終了後、本動作は、ステップS610に進み、処理を終了する。
 以上のように、当該色差ブロックにBDPCMが適用される場合は、BDPCMの予測方向に関する情報を復号し、当該色差ブロックにBDPCMが適用されない場合は、CCLM或いは通常のイントラ予測モードに関する情報を復号するようにイントラ予測モード復号部242Bを構成することで、ブロック毎にBDPCM、CCLM、通常のイントラ予測モードを適切に選択可能であることを担保することができる。
 また、以上のように、色差BDPCMの適用可否の判定に色差CUのサイズを用いるようにイントラ予測モード復号部242Bを構成することで、色差のサンプリング方式が4:2:0、4:2:2、4:4:4と変化しても、実際の色差CUのサイズに応じた判定が可能となる。
 図5に示す予測信号生成部242Cは、イントラ予測モード復号部242Bで復号された処理対象ブロックの予測モードに基づいて、予測信号を生成するように構成されている。ここで、予測信号の生成方法は、例えば、非特許文献1に記載の公知の方法を用いることができる。
 図7は、予測信号生成部242Cによって輝度CU又は色差CUにBDPCMが適用される場合の処理フローの一例を示すフローチャートである。以下、図7を用いて、かかる処理フローの一例を説明する。
 ステップS71において、予測信号生成部242Cは、所定条件3が満たされているか否かについて判定する。
 ここで、所定条件3には、BDPCMの予測に用いる参照画素へのフィルタリングが有効になっていることという条件が含まれていてもよい。
 例えば、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、Picture Header、Slice Header等のヘッダに、BDPCM時の参照画素フィルタリング有効/無効を制御するフラグを設けることで、フィルタリングの有効/無効を切り替えることができる。
 また、所定条件3には、対象CUが属するスライスにおいて、Palette Mode等のスクリーンコンテンツ向けの符号化ツールが無効であることという条件が含まれていてもよい。
 Palette Mode等のスクリーンコンテンツ向けの符号化ツールが有効であるか無効あるかも、例えば、SPS、PPS、Picture Header、Slice Header等のヘッダに含まれるPalette Modeの有効/無効を制御するフラグの値を確認することで判定することができる。
 ここで、所定条件3が満たされると判定された場合には、本動作は、ステップS72に進み、そうでない場合には、本動作は、ステップS73へ進む。
 ステップS72において、予測信号生成部242Cは、予測に用いる参照画素を平滑化するためのフィルタリング処理を行う。
 予測信号生成部242Cは、例えば、色差信号の場合は、intra_bdpcm_chroma_dir_flagの値に基づいて、予測に用いる参照画素位置を決定することができる。予測信号生成部242Cは、輝度信号の場合も、同様な情報に基づいて、予測に用いる参照画素位置を決定することができる。
 フィルタリング処理は、例えば、係数の重みが{1/4,2/4,1/4}であるような線形フィルタを畳込むことで実行できる。かかるフィルタリング処理の完了後、本動作は、ステップS73に進む。
 ステップS73において、予測信号生成部242Cは、ステップS72で平滑化した参照画素又は平滑化されていない参照画素を用いて予測値を生成する。
 予測値生成処理の詳細としては、公知の方法を用いることができるため詳細は省略する。予測値生成処理の完了後、本動作は、ステップS74に進み、処理を終了する。
 以上のように、イントラ予測部242が、予測信号生成部242Cを備え、予測信号生成部242Cが、BDPCMによる予測値生成処理に先立って、予測値生成に用いる参照画素に平滑化処理を行うように構成しておくことで、参照画素に撮像ノイズ等のノイズが重畳されていた場合であっても、かかるノイズを低減する効果が見込め、予測精度が向上して符号化効率を改善することができる。
 また、以上のように、イントラ予測部242が、予測信号生成部242Cを備え、予測信号生成部242Cが、ヘッダに含まれるBDPCM時の参照画素フィルタリング有効/無効を制御するフラグの値によって、BDPCMによる予測値生成処理に先立って、予測値生成に用いる参照画素に平滑化処理を行うか否かを制御するように構成しておくことで、平滑化が有効と考えられるカメラで撮影された映像に対しては平滑化を行い、平滑化が不要と考えられるスクリーンコンテンツに対しては平滑化をしないようにすることで、符号化効率の意図しない低下を防ぐことができる。
 また、以上のように、イントラ予測部242が、予測信号生成部242Cを備え、予測信号生成部242Cが、スクリーンコンテンツ向けの符号化ツールが有効か無効かによって、BDPCMによる予測値生成処理に先立って、予測値生成に用いる参照画素に平滑化処理を行うか否かを制御するように構成しておくことで、平滑化が有効なカメラで撮影された映像には平滑化を行い、平滑化が不要なスクリーンコンテンツにおいては平滑化をしないようにすることで、符号化効率の意図しない低下を防ぐことができる。
(インループフィルタ処理部250)
 以下、図8を参照して、本実施形態に係るインループフィルタ処理部250について説明する。図8は、本実施形態に係る画像復号装置200のインループフィルタ処理部250の機能ブロックの一例について示す図である。
 図8に示すように、インループフィルタ処理部250は、デブロッキングフィルタ部250Aと、SAO部250Bと、適応ループフィルタ部250Cとを有する。
 SAO部250Bは、サンプルアダプティブオフセット(SAO:Sample Adaptive Offset)処理を行うように構成されている。SAO部250Bとしては、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
 なお、図8に示す構成は、あくまで一例である。各ループフィルタの処理順は入れ替わっても差し支えない。また、図8に示す一部のループフィルタ処理が省略された構成でも差し支えない。また、図8に示されていないループフィルタ処理が追加されても差し支えない。
 以下、デブロッキングフィルタ部250A及び適応ループフィルタ処理部250Cの処理内容の一例について説明する。
 図9に示すように、デブロッキングフィルタ部250Aは、ブロック境界検出部251(251A/251B)と、境界強度判定部253(253A/253B)と、フィルタ決定部254(254A/254B)と、フィルタ処理部255(255A/255B)とを有する。
 ここで、末尾に「A」が付されている構成は、垂直方向のブロック境界に対するデブロッキングフィルタ処理に関する構成であり、末尾に「B」が付されている構成は、水平方向のブロック境界に対するデブロッキングフィルタ処理に関する構成である。
 以下、垂直方向のブロック境界に対するデブロッキングフィルタ処理が行われた後に、水平方向のブロック境界に対するデブロッキングフィルタ処理が行われるケースについて例示する。
 デブロッキングフィルタ処理は、上述したように、符号化ブロックに対して適用されてもよく、予測ブロックに対して適用されてもよく、変換ブロックに対して適用されてもよい。また、デブロッキングフィルタ処理は、上記の各ブロックを分割したサブブロックに適用されてもよい。すなわち、対象ブロック及び隣接ブロックは、符号化ブロックであってもよく、予測ブロックであってもよく、変換ブロックであってもよく、これらを分割したサブブロックでもよい。
 サブブロックにデブロッキングフィルタを適用する場合は、適宜、以下の説明のブロックをサブブロックに読み替えることができる。
 垂直方向のブロック境界に対するデブロッキングフィルタ処理及び水平方向のブロック境界に対するデブロッキングフィルタ処理は、同様の処理であるため、以下においては、垂直方向のブロック境界に対するデブロッキングフィルタ処理について説明する。
 ブロック境界検出部251Aは、ブロックサイズを示す制御データに基づいて、隣接する2つのブロックの境界(ブロック境界)を検出するように構成されている。
 ここで、ブロックは、符号化ブロック(CU)、予測ブロック(PU)、変換ブロック(TU)である。具体的な検出方法としては、既知の手法が適用可能なため、詳細の説明は省略する。
 境界強度判定部253Aは、対象ブロックと隣接ブロックとのブロック境界の境界強度を判定するように構成されている。
 また、境界強度判定部253Aは、対象ブロック及び隣接ブロックがイントラ予測ブロックであるか否かについて示す制御データに基づいて、ブロック境界の境界強度を判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、対象ブロック及び隣接ブロックの少なくともいずれか1つのブロックがロスレスブロックである場合に、ブロック境界の境界強度が「0」であると判定するように構成されていてもよい。
 ここで、ロスレスブロックとは、Transform Skipが適用されており且つ量子化パラメータの値が予め定めた閾値(第1閾値)以下であるブロックであると定義してもよい。
 或いは、ロスレスブロックとは、Transform Skipが適用されており且つ量子化パラメータの値が第1閾値に等しいブロックであると定義してもよい。
 例えば、かかる第1閾値を変換スキップモード時の量子化パラメータの最小値(上述のQpPrimeTsMin)としてもよい。また、例えば、かかる第1閾値を「4」としてもよい。
 或いは、ロスレスブロックとは、Transform Skipの適用有無に関わらず、量子化パラメータの値が第1閾値以下であるブロックであると定義してもよい。例えば、かかる第1閾値を変換スキップモード時の量子化パラメータの最小値(上述のQpPrimeTsMin)としてもよい。例えば、かかる閾値を「4」としてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、上述のブロック境界がサブブロック境界で、対象CUにアフィン動き補償予測が適用され、Picture HeaderにてPROFが有効である場合に、かかるブロック境界の境界強度が「0」であると判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、対象ブロック及び隣接ブロックの少なくともいずれか1つのブロックがイントラ予測ブロックである場合(すなわち、ブロック境界の両側のブロックの少なくともいずれかがイントラ予測ブロックである場合)に、かかるブロック境界の境界強度が「2」であると判定するように構成されていてもよい。
 また、境界強度判定部253Aは、対象ブロック及び隣接ブロックに非零(ゼロ)の直交変換係数が含まれるか否か及びブロック境界が変換ブロックの境界(TU境界)であるか否かについて示す制御データに基づいて、かかるブロック境界の境界強度を判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、対象ブロック及び隣接ブロックの少なくともいずれか1つのブロックが非零の直交変換係数を含み、且つ、ブロック境界が変換ブロックの境界である場合(すなわち、ブロック境界の両側のブロックの少なくともいずれかに非零の変換係数が存在し、TUの境界である場合)に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 また、境界強度判定部253Aは、対象ブロック及び隣接ブロックの動きベクトルの差の絶対値が閾値(例えば、1/2画素)以上であるか否かについて示す制御データに基づいて、かかるブロック境界の境界強度を判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、対象ブロック及び隣接ブロックの動きベクトルの差の絶対値が閾値(例えば、1/2画素)以上である場合(すなわち、ブロック境界の両側のブロックの動きベクトルの差の絶対値が閾値(例えば、1/2画素)以上である場合)に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 また、境界強度判定部253Aは、対象ブロック及び隣接ブロックの動きベクトルの予測で参照される参照ブロックが異なるか否かについて示す制御データに基づいて、かかるブロック境界の境界強度を判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、対象ブロック及び隣接ブロックの動きベクトルの予測で参照される参照ブロックが異なる場合(すなわち、ブロック境界の両側のブロックで参照画像が異なる場合)に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 境界強度判定部253Aは、対象ブロック及び隣接ブロックの動きベクトルの数が異なるか否かについて示す制御データに基づいて、かかるブロック境界の境界強度を判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、対象ブロック及び隣接ブロックの動きベクトルの数が異なる場合(すなわち、ブロック境界の両側のブロックで動きベクトルの数が異なる場合)に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 境界強度判定部253Aは、対象ブロック及び隣接ブロックのインター予測モードの種類に基づいて、かかるブロック境界の境界強度を判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、上述のブロック境界がCU境界であり且つ対象ブロック及び隣接ブロックの少なくともいずれかのブロックでTPMが使用されている場合に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 或いは、境界強度判定部253Aは、上述のブロック境界がCU境界であり且つ対象ブロック及び隣接ブロックの少なくともいずれかのブロックでTPMが使用されており、後述する重み係数の値が所定条件を満たす場合に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、上述のブロック境界がCU境界であり且つ対象ブロック及び隣接ブロックの少なくともいずれかのブロックでGEOが使用されている場合に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 或いは、境界強度判定部253Aは、上述の境界がCU境界であり且つ対象ブロック及び隣接ブロックの少なくともいずれかのブロックでGEOが使用されており、後述する重み係数の値が所定条件を満たす場合に、かかるブロック境界の境界強度が「1」であると判定するように構成されていてもよい。
 例えば、図10に示すように、境界強度判定部253Aは、上述した条件がいずれも満たされない場合に、かかるブロック境界の境界強度が「0」であると判定するように構成されていてもよい。
 なお、境界強度の値が大きいほど、ブロック境界で生じるブロック歪みが大きい可能性が高い。
 上述の境界強度判定方法は、輝度信号及び色差信号に対して、共通の方法で判定してもよいし、一部異なる条件を用いて判定してもよい。
 以下、図11(a)~図11(d)を用いて、TPMやGEOの重み係数について説明する。TPMやGEOは、(正方形も含む)長方形のブロックを直線で2つの領域に分割し、それぞれの領域で異なる動きベクトルを用いて動き補償予測を行うモードである。
 TPMは、長方形の対角線に分割境界が限定されており、GEOは、より自由度の高い分割を行うことができる。TPM及びGEOの詳細については、非特許文献1や非特許文献2に記載の仕様を踏襲できるため、詳細の説明は省略する。
 TPMやGEOでは、上述の分割境界付近の画素では、各分割領域に対応する2つのベクトルによる予測値を重み付けして合成し、その重みをグラデーション状に変化させるように定義することで、予測値を滑らかに合成している。
図11(a)~図11(d)は、合成時の重み係数の例を示す図である。図11(a)~図11(d)では、重み係数を0/8~8/8として、1つ目の動きベクトルによる予測値(P1)の重みの分子を示している。なお、2つ目の動きベクトルによる予測値(P2)の重みは、1-(P1の重み)で算出できる。
上述の境界強度決定の際の重み係数の所定条件4は、例えば、境界強度の判定を4画素ごとに行う場合、以下のように定義することができる。
 所定条件4は、対象のブロック境界(4画素)に隣接する4×4画素ブロックの四隅の画素の重み係数値を加算した値が、第2閾値以上且つ第3閾値以下(または、第2閾値より大きく且つ第3閾値より小さい)ことと定義してもよい。
 或いは、所定条件4は、対象境界(4画素)の各画素の重み係数値の少なくともいずれか一つが、0(=0/8)又は1(=8/8)以外であることと定義しても良い。
 フィルタ決定部254Aは、ブロック境界に適用するフィルタ処理(例えば、デブロッキングフィルタ処理)の種類を決定するように構成されている。
 例えば、フィルタ決定部254Aは、ブロック境界の境界強度や、対象ブロック及び隣接ブロックに含まれる量子化パラメータ等に基づいて、ブロック境界に対して、フィルタ処理を適用するか否か、弱フィルタ処理及び強フィルタ処理のいずれのフィルタ処理を適用するかについて決定するように構成されていてもよい。
 フィルタ決定部254Aは、ブロック境界の境界強度が「0」である場合に、フィルタ処理を適用しないと決定するように構成されていてもよい。
 フィルタ処理部255Aは、フィルタ決定部254Aの決定に基づいて、デブロッキング前画像に対する処理を行うように構成されている。デブロッキング前画像に対する処理は、フィルタ処理無し、弱フィルタ処理、強フィルタ処理等である。
 すなわち、デブロッキングフィルタ部250Aは、量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されている。
 或いは、デブロッキングフィルタ部250Aは、量子化パラメータの値が予め定めた閾値であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されている。
 或いは、デブロッキングフィルタ部250Aは、前記第1条件を隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たす場合、前記境界に適用するデブロッキングフィルタの制御に用いる境界強度を「0」に設定するように構成されている。
 或いは、デブロッキングフィルタ部250Aは、前記第1条件と、変換スキップモードが適用されているという第2条件の両方を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たす場合、前記境界に適用するデブロッキングフィルタの制御に用いる境界強度を「0」に設定するように構成されている。
 以上のように、ロスレスブロックの境界の境界強度を「0」にすることで、対象ブロック内の全ての画素にデブロッキングフィルタが適用されず、ブロック単位でのロスレスを担保できるようになる。
 図12は、フィルタ処理部255Aの処理フローの一例を示すフローチャートである。以下、図12を用いてフィルタ処理部255Aの処理フローの一例を説明する。
 ステップS121において、フィルタ処理部255Aは、フィルタ決定部254Aで決定したフィルタ処理に応じて、フィルタ適用後の画素値を算出する。
 ステップS122において、フィルタ処理部255Aは、ブロックPが所定条件5を満足しているかどうかについて判定する。
 なお、以後、対象ブロック境界に隣接する2つのブロックのうち、一方をブロックPと呼び、他方をブロックQと呼ぶ。
 例えば、所定条件5には、ブロックPにPalette Modeが適用されていることという条件が含まれていてもよい。
 或いは、例えば、所定条件5には、ブロックPがロスレスブロックであることという条件が含まれていてもよい。ここで、ロスレスブロックの定義としては、例えば、境界強度判定部253Aにおいて説明した定義と同様の定義を用いることができる。
 所定条件5が満たされていると判定された場合は、本動作は、ステップS126へ進み、そうでない場合、本動作は、ステップS123へ進む。
 ステップS123において、フィルタ処理部255Aは、ステップS121で生成したフィルタ適用後の画素値をフィルタ処理後画像に反映する。
 一方、ステップS126において、フィルタ処理部255Aは、ブロックPの画素値にステップS121で生成したフィルタ適用後の画素値を反映しないように処理する。
 具体的には、例えば、「ブロックP側の境界からn画素離れた画素までフィルタ適用後画素値を適用する」ことを意味するパラメータnの値を「0」にすることで実現できる。
 或いは、例えば、フィルタ適用後の画素値をフィルタ適用前の画素値に置き換えておくことで実現できる。なお、ブロックP内の画素に結果的にフィルタ適用後の画素値が反映されないようになっていれば、例示した方法以外の方法を用いてもよい。
 次に、ステップS124、S125、S127において、ブロックQに対して、上述のステップS122、S123、S126と同様の処理を行った後、本動作は、ステップS128へ進み、処理を終了する。
 すなわち、デブロッキングフィルタ部250Aは、量子化パラメータの値が予め定めた閾値以下であるという第1条件を満たすブロック内部の画素について、デブロッキングフィルタを適用しないように構成されている。
 或いは、デブロッキングフィルタ部250Aは、量子化パラメータの値が予め定めた閾値であるという第1条件を満たすブロック内部の画素について、デブロッキングフィルタを適用しないように構成されている。
 或いは、デブロッキングフィルタ部250Aは、当該ブロックが、前記第1条件と、変換スキップモードが適用されているという第2条件の両方を満たすか否かに基づいて、前記境界に適用するデブロッキングフィルタを制御するように構成されている。
 或いは、デブロッキングフィルタ部250Aは、前記第1条件と第2条件の両方を満たすブロック内部の画素について、デブロッキングフィルタを適用しないように構成されている。
 なお、前記第1条件の閾値は「4」でも良い。或いは、前記第1条件の閾値は変換スキップモード時の量子化パラメータの最小値、すなわちQpPrimeTsMinでもよい。
 以上のように、ロスレスブロック内にてフィルタ適用後画素値を反映しないようにすることで、ブロック単位でのロスレスを担保できるようになる。
 また、以上のように、TPM又はGEOが適用されているブロック境界において、重み係数の値に応じて境界強度を制御するように構成されていてもよい。
 また、以上のように、TPM又はGEOが適用されているブロック境界において、対象のブロック境界(4画素)に隣接する4×4画素ブロックの四隅の画素の重み係数値を加算した値が、第2閾値以上且つ第3閾値以下(又は、第2閾値より大きく且つ第3閾値より小さい)という条件を満たすか否かによって、境界強度を制御するように構成されていてもよい。
 また、以上のように、TPM又はGEOが適用されているブロック境界において、対象境界(4画素)の各画素の重み係数値の少なくともいずれか一つが、0(=0/8)又は1(=8/8)以外であるという条件を満たすか否かによって、境界強度を制御するように構成されていてもよい。
 上述のような構成とすることで、隣接するブロック間で動きベクトル(MV)の値や本数が、所望条件に当てはまらない場合でも、TPM又はGEOが適用されているブロック境界において重み係数の値が異なっていて実際にブロック歪が発生しそうな境界について、デブロッキングフィルタを適切に適用できるようになる。
 また、以上のように、上述のブロック境界がサブブロック境界で、隣接するサブブロックが属するCUにアフィン動き補償予測が適用され、Picture HeaderにてPROFが有効である場合に、かかるブロック境界の境界強度が「0」であると判定するように構成されていてもよい。
 上述のような構成とすることで、画素単位で予測値を洗練化するPROF処理適用後の値に不要にデブロッキングフィルタを適用することを防ぐことができ、主観画質の向上が期待できる。
 図13に示すように、適応ループフィルタ部250Cは、輝度ALF部256と、Cb CC-ALF部257Aと、Cr CC-ALF部257Bと、Cb ALF部258Aと、Cr ALF部258Bとを有する。
 輝度ALF部256、Cb ALF部258A、Cr ALF部258Bの処理としては、例えば、非特許文献1に記載の処理を適用可能なため、詳細な説明は省略する。
 以下、Cb CC-ALF部257A及びCr CC-ALF部257Bの処理内容の一例について説明する。なお、Cb CC-ALF部257Aと、Cr CC-ALF部257Bは、対象がCb信号かCr信号かという点のみが差分であり、処理内容は、同一であるため、以下では、Cb CC-ALF部257Aの動作のみを説明し、Cr CC-ALF部257Bの説明は省略する。
 図13に示すように、Cb CC-ALF部257Aは、輝度ALF部256でフィルタリング処理を行う前の輝度信号を入力とし、出力した値をCb ALF部258Aの出力に加算することで、Cb信号のフィルタ処理後信号を生成するように構成されている。
 図14及び図15は、Cb CC-ALF部257Aでのフィルタリング処理及び境界部分での処理の一例を示す図である。
 ここでは、例えば、図14(a)~(e)に示すように、C0~C7の8つのフィルタ係数を図14のように配置した二次元フィルタを輝度信号に適用し、Cb信号に加算する値を算出する場合を考える。
 なお、係数C2に対応する輝度信号の画素位置[y][x]が、Cb CC-ALF部257Aで算出した値を加算するCb信号の画素と対応する画素位置とする。
 Cb信号に加算する値については、例えば、図15に記載の式で算出することができる。ここで、P[y][x]は、画素位置[y][x]に存在する輝度信号の画素値を意味している。
 図14(a)~(e)は、仮想境界等の処理境界及びフィルタ係数の配置の関係を示している。ここで、境界とは、規格で定義されたスライスやタイルといった並列処理単位の境界や、パイプライン処理を実現するために設けた仮想境界等、境界の外側に位置する画素の参照を禁止する境界線である。
 境界で分割された二つの領域のうち、フィルタ係数C2に対応する画素が存在する方を境界の内側、そうでない方を境界の外側と考えることとする。境界の外側に参照画素位置が存在する場合、実際にその位置にある画素値を参照できないため、パディング処理を行う必要がある。具体的には、図15に記載の表のように、境界及びフィルタ係数の配置のパターンに応じて実際の参照画素位置を変更することで、パディング処理を実現できる。
 図14(e)は、パディングが必要ない場合の例を示している。パディングが必要ない場合のoffset1~offset3の値は、図15に記載の表の通りである。
 一方、例えば、図14(c)の配置になった際、フィルタ係数C4~C7に対応する画素は、境界の外側にあるため、対応するoffset2及びoffset3の値を「0」にすることで、フィルタリングを実現できる。
 また、図14(c)の配置では、フィルタ係数C0に対応する画素は、境界の内側に位置するため参照可能だが、非特許文献1にて、輝度ALF部256、Cb ALF部258A、Cr ALF部258Bで行われているパディング方法(ミラーパディング)と同様な方法とする場合、フィルタ係数C0側もパディングを行うため、offset1も「0」に設定する。
 ミラーパディングは、図14(c)におけるフィルタ係数C2が存在する水平方向のラインを中心にフィルタ係数を折り畳んで反転させた場合に境界の外側に出てしまうラインについてもパディングを行う手法である。
 図14(b)の場合は、offset1に対応するラインが境界の外側にあるため、offset1を「0」に設定し、ミラーパディングの手法に沿ってoffset2及びoffset3も「0」とする。
 図14(d)の場合、offset3に対応するラインが境界の外側にあるため、offset1とoffset2は、図14(e)の場合と同一で、offset3のみを「1」に変更する。
 図14(a)の場合も、フィルタ係数C2が存在するラインを中心にフィルタ係数配置を折り畳むとフィルタ係数C7に対応するラインが境界の外側に出るため、ミラーパディングを行う場合は、offset3を1に修正してパディング処理を行う。
 一方、図14(a)の場合は、実際には、境界の外側を参照しているフィルタ係数はないため、パディングは必ずしも必要ではない。よって、図14(a)の場合も、図14(e)と同様なoffset値の設定とすることができる。言い換えると、図14(a)の場合のパディング処理を定義せず、パディング処理が定義されていない場合は、図14(e)の設定を使うように定めておいてもよい。
 以上のように、輝度信号を入力とし、出力を色差信号に加算するCC-ALF部において、出力値を加算する色差信号画素に対応する輝度信号画素(上記係数C2に対応する輝度信号画素位置)が境界の1ライン下(上述の(b))或いは境界の1ライン上(上述の(c))の場合に、参照画素位置に加算するオフセットを全て「0」にしてパディング処理を行うように構成することで、例えば、非特許文献1で、輝度ALF部256、Cb ALF部258A、Cr ALF部258Bで行われているパディング方法(ミラーパディング)と同様な方法でパディング処理を行うことが可能となり、制御ロジックを共通化することができる。
 また、以上のように、輝度信号を入力とし、出力を色差信号に加算するCC-ALF部において、参照画素位置が全て境界内部に存在しているときにはパディング処理を行わず、参照画素位置の少なくとも一つが境界外に存在している場合のみパディング処理を行うように構成してもよい。
 すなわち、図14(a)の場合のパディング処理を定義しないようにすることで、不要なパディング処理を排除して符号化効率を高めることができる。
(画像符号化装置100)
 以下、図16を参照して、本実施形態に係る画像符号化装置100について説明する。図16は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
 図16に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
 インター予測部111は、インター予測部241と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。
 また、インター予測部111は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
 イントラ予測部112は、イントラ予測部242と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
 ここで、参照ブロックは、予測対象のブロック(以下、対象ブロック)について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
 減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
 加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
 変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
 ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT;Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST;Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
 逆変換・逆量子化部132は、逆変換・逆量子化部220と同様に、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
 ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
 また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
 なお、上述したように、制御データは、符号化ブロックサイズや予測ブロックサイズや変換ブロックサイズ等のサイズデータを含んでもよい。
 インループフィルタ処理部150は、インループフィルタ処理部250と同様に、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
 フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
(イントラ予測部112)
以下、図17を参照して、本実施形態に係るイントラ予測部112について説明する。図17は、本実施形態に係る画像符号化装置112のイントラ予測部112の機能ブロックの一例について示す図である。
 図17に示すように、イントラ予測部112は、イントラ予測モード決定部112Aと、イントラ予測モード符号化部112Bと、予測信号生成部112Cとを有する。
 イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている予測部の一例である。
 イントラ予測モード決定部112Aは、当該ブロックのイントラ予測モードやBDPCMの適用有無等、後段のイントラ予測モード符号化部112Bで符号化する情報を決定するように構成されている。決定の方法は、公知の方法を用いることが可能であるため詳細は省略する。
 イントラ予測モード符号化部112Bは、対象ブロックの予測モードを符号化するように構成されている。処理内容は、イントラ予測モード復号部242Bと同様の処理となる。具体的には、例えば、図6に示すイントラ予測モード復号部242Bの処理フローチャートのうち「復号」の部分を「符号化」に変更した処理となる。
 予測信号生成部112Cは、イントラ予測モード112Bで符号化した予測モードにしたがって、当該ブロックの予測信号を生成するように構成されている。予測信号の生成方法は、予測信号生成部242Cと同一である。
 また、上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、上記の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化/復号システムにも同様に適用できる。
 本発明によれば、フレーム内の特定のブロック内がロスレスであることを担保できる機能を備える画像復号装置200、画像復号方法及びプログラムを提供することができる。
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
112、242…イントラ予測部
112A…イントラ予測モード決定部
112B…イントラ予測モード符号化部
112C、242C…予測信号生成部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
220A…量子化パラメータ導出部
220B…逆量子化部
220C…逆変換部
242B…イントラ予測モード復号部
250A…デブロッキングフィルタ部
251、251A、251B…ブロック境界検出部
253、253A、253B…境界強度判定部
254、254A、254B…フィルタ決定部
255、255A、255B…フィルタ処理部
250B…SAO部
250C…適応ループフィルタ部
256…輝度ALF部
257A…Cb CC-ALF部
257B…Cr CC-ALF部
258A…Cb-ALF部
258B…Cr-ALF部 

Claims (11)

  1.  画像復号装置であって、
     量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されていることを特徴とする画像復号装置。
  2.  画像復号装置であって、
     量子化パラメータの値が予め定めた閾値であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御するように構成されていることを特徴とする画像復号装置。
  3.  前記閾値は、変換スキップモード時の量子化パラメータの最小値であることを特徴とする請求項1又は2に記載の画像復号装置。
  4.  前記閾値は「4」であることを特徴とする請求項1~3のいずれか一項に記載の画像復号装置。
  5.  前記第1条件を隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たす場合、前記境界に適用するデブロッキングフィルタの制御に用いる境界強度を「0」に設定するように構成されていることを特徴とする請求項1~4のいずれか一項に記載の画像復号装置。
  6.  前記第1条件を満たすブロック内部の画素について、デブロッキングフィルタを適用しないように構成されていることを特徴とする請求項1~4のいずれか一項に記載の画像復号装置。
  7.  当該ブロックが、前記第1条件と、変換スキップモードが適用されているという第2条件の両方を満たすか否かに基づいて、前記境界に適用するデブロッキングフィルタを制御するように構成されていることを特徴とする請求項1~4のいずれか一項に記載の画像復号装置。
  8.  前記第1条件及び第2条件の両方を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たす場合、前記境界に適用するデブロッキングフィルタの制御に用いる境界強度を「0」に設定するように構成されていることを特徴とする請求項7に記載の画像復号装置。
  9.  前記第1条件及び第2条件の両方を満たすブロック内部の画素について、デブロッキングフィルタを適用しないように構成されていることを特徴とする請求項7に記載の画像復号装置。
  10.  量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御する工程を有することを特徴とする画像復号方法。
  11.  画像復号装置で用いるプログラムであって、コンピュータに、
     量子化パラメータの値が予め定めた閾値以下であるという第1条件を、隣接する2つのブロックのうちの少なくともいずれか一方のブロックが満たすか否かに基づいて、前記2つのブロックの境界に適用するデブロッキングフィルタを制御する工程を実行させることを特徴とするプログラム。
PCT/JP2020/043746 2019-12-26 2020-11-25 画像復号装置、画像復号方法及びプログラム WO2021131464A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080058173.2A CN114270866A (zh) 2019-12-26 2020-11-25 图像解码装置、图像解码方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-237282 2019-12-26
JP2019237282A JP7267191B2 (ja) 2019-12-26 2019-12-26 画像復号装置、画像復号方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2021131464A1 true WO2021131464A1 (ja) 2021-07-01

Family

ID=76574336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/043746 WO2021131464A1 (ja) 2019-12-26 2020-11-25 画像復号装置、画像復号方法及びプログラム

Country Status (3)

Country Link
JP (1) JP7267191B2 (ja)
CN (1) CN114270866A (ja)
WO (1) WO2021131464A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013166395A2 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525785B1 (ko) * 2001-06-15 2005-11-03 엘지전자 주식회사 이미지 화소 필터링 방법
US8681867B2 (en) * 2005-10-18 2014-03-25 Qualcomm Incorporated Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value
US8619880B2 (en) * 2007-10-10 2013-12-31 Qualcomm Incorporated Universal blockiness correction
JP6037064B2 (ja) * 2011-01-18 2016-11-30 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び記録媒体
EP2728877A4 (en) * 2011-06-30 2014-12-03 Mitsubishi Electric Corp IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
KR20130083405A (ko) * 2012-01-12 2013-07-22 주식회사 케이티 디블록킹 필터링 방법 및 그 장치
AU2015255240B2 (en) * 2012-01-17 2017-08-10 Gensquare Llc Method of applying edge offset
US9973784B2 (en) * 2012-09-20 2018-05-15 Sony Corporation Image processing device and method
KR102298599B1 (ko) * 2014-04-29 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 샘플 적응 오프셋 필터링에 대한 인코더측 결정
KR102294016B1 (ko) * 2014-12-05 2021-08-25 성균관대학교산학협력단 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013166395A2 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. M. KOTRA (HUAWEI), S. ESENLIK (HUAWEI), B. WANG (HUAWEI), H. GAO (HUAWEI), E. ALSHINA (HUAWEI): "Non-CE5: Modified Chroma QP derivation for deblocking filter", 16. JVET MEETING; 20191001 - 20191011; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 5 October 2019 (2019-10-05), XP030216245 *
C. LAN (USTC), J. XU (MICROSOFT), D. HE, X. YU (RIM): "Lossless coding via transform skipping", 10. JCT-VC MEETING; 20120711 - 20120720; STOCKHOLM; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 12 July 2012 (2012-07-12), XP030235150 *
K. UNNO (KDDI-RESEARCH), K. KAWAMURA (KDDI), S. NAITO (KDDI): "Non-CE1/Non-CE3: Deblocking filter control for lossless blocks", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 10 January 2020 (2020-01-10), XP030222685 *

Also Published As

Publication number Publication date
CN114270866A (zh) 2022-04-01
JP7267191B2 (ja) 2023-05-01
JP2021106343A (ja) 2021-07-26

Similar Documents

Publication Publication Date Title
EP3363198B1 (en) Method and apparatus of adaptive filtering of samples for video coding
US11641465B2 (en) Method and apparatus of cross-component adaptive loop filtering with virtual boundary for video coding
CN109068135B (zh) 视频编解码的方法和设备
KR101919394B1 (ko) 무손실 인트라 hevc 코딩을 위한 지수-골룸 이진화에 대한 파라미터 결정
CN114402601A (zh) 色度去块滤波的量化参数偏移
KR20220100069A (ko) 비디오 필터링에서의 오프셋을 위한 방법 및 장치
JP2023073286A (ja) イントラ予測のためのデバイスおよび方法
JP7054765B1 (ja) 画像復号装置、画像復号方法及びプログラム
CN113243106B (zh) 一种用于视频图像的预测块的帧内预测的设备和方法
CN114788279A (zh) 视频编解码中使用的量化组
WO2021131464A1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7026287B1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021131595A1 (ja) 画像復号装置、画像復号方法及びプログラム
CN113243107B (zh) 图像编码设备和方法、图像解码设备和方法以及存储介质
JP7146129B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP7317194B2 (ja) 画像復号装置、画像復号方法及びプログラム
KR20150100355A (ko) 화면간 예측 방법 및 장치
KR102700365B1 (ko) 화상 부호화 장치 및 화상 복호 장치 및 그것들의 제어 방법 및 프로그램
KR20230010739A (ko) 비디오 코딩 방법 및 장치
JP5513333B2 (ja) 動画像符号化装置、動画像符号化方法、およびプログラム
RU2816918C2 (ru) Кодер, декодер и соответствующие способы выполнения устранения блочности цветности для блоков, использующих кодирование объединенной цветности
US20220345750A1 (en) Methods and apparatus of video coding in 4:4:4 chroma format

Legal Events

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

Ref document number: 20907097

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20907097

Country of ref document: EP

Kind code of ref document: A1