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

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

Info

Publication number
WO2021199782A1
WO2021199782A1 PCT/JP2021/006373 JP2021006373W WO2021199782A1 WO 2021199782 A1 WO2021199782 A1 WO 2021199782A1 JP 2021006373 W JP2021006373 W JP 2021006373W WO 2021199782 A1 WO2021199782 A1 WO 2021199782A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
tree
target block
conversion
target
Prior art date
Application number
PCT/JP2021/006373
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 CN202180022301.2A priority Critical patent/CN115336276B/zh
Publication of WO2021199782A1 publication Critical patent/WO2021199782A1/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to an image decoding device, an image decoding method, and a program.
  • Non-Patent Document 1 discloses techniques called secondary conversion (LFNST: Low Frequency Non-Separable Transfer), conversion skip (Transform Skip), single tree and dual tree.
  • LNST Low Frequency Non-Separable Transfer
  • Transform Skip conversion skip
  • single tree and dual tree dual tree.
  • Non-Patent Document 1 Although the application of the secondary conversion to the color difference block of the single tree is prohibited, it is specified whether or not the secondary conversion is applied at the time of the single tree. There is a problem that the value of the conversion skip invalid flag and the non-zero coefficient occurrence position information related to the determination of the necessity of decoding the index (lfnst_idx) to be performed may be updated based not only on the luminance block but also on the color difference block. there were.
  • Non-Patent Document 1 has a problem that a secondary transformation may be applied to a locally appearing dual tree color difference block in a single tree frame. Therefore, the present invention has been made in view of the above-mentioned problems, and it is possible to relax unnecessary restrictions on the determination condition of whether or not lfnst_idx needs to be decoded for the luminance block of a single tree, and improve the coding performance. It is an object of the present invention to provide an image decoding apparatus, an image decoding method and a program capable of capable of providing the image decoding apparatus, the image decoding method and the program.
  • Another object of the present invention is to provide an image decoding device, an image decoding method, and a program capable of consistently prohibiting the application of secondary transformation to a color difference block of a single tree.
  • the first feature of the present invention is an image decoding apparatus, which includes a decoding unit configured to decode a secondary conversion index that specifies whether or not a secondary conversion is applied.
  • a decoding unit configured to decode a secondary conversion index that specifies whether or not a secondary conversion is applied.
  • Is configured to specify the block division tree structure type and component type of the target block based on the tree type and component index of the target block, and the occurrence position information of the non-zero coefficient of the target block and conversion skip.
  • the gist is that it is configured to determine whether or not the secondary conversion index needs to be decrypted based on a predetermined flag derived from the flag.
  • the second feature of the present invention is an image decoding method, which includes a step of decoding a secondary transformation index that specifies whether or not a secondary transformation is applied, and in the step, the tree type of the target block. And, based on the component index, the block division tree structure type and the component type of the target block are specified, and based on the occurrence position information of the non-zero coefficient of the target block and a predetermined flag derived by the conversion skip flag, the said The gist is to determine whether or not the secondary conversion index needs to be decrypted.
  • a third feature of the present invention is a program that causes a computer to function as an image decoding device, such that the image decoding device decodes a secondary conversion index that specifies whether or not a secondary conversion is applied.
  • the decoding unit is configured to specify the block division tree structure type and the component type of the target block based on the tree type and the component index of the target block.
  • the gist is that it is configured to determine whether or not the secondary conversion index needs to be decoded based on the occurrence position information of the non-zero coefficient of the target block and a predetermined flag derived by the conversion skip flag.
  • an image decoding device capable of alleviating unnecessary restrictions relating to a determination condition of lfnst_idx decoding necessity for a single-tree luminance block and improving coding performance.
  • a program capable of alleviating unnecessary restrictions relating to a determination condition of lfnst_idx decoding necessity for a single-tree luminance block and improving coding performance.
  • an image decoding device an image decoding method and a program capable of consistently prohibiting the application of secondary transformation to a color difference block of a single tree.
  • FIG. 1 is a diagram showing an image processing system 10 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 encoding an input image signal (picture).
  • the image decoding device 200 is configured to generate an output image signal by decoding the coded data.
  • the coded data may be transmitted from the image coding device 100 to the image decoding device 200 via a transmission line.
  • the coded data may be stored in the storage medium and then provided from the image coding device 100 to the image decoding device 200.
  • the image signal (frame) handled by the image coding device 100 and the image decoding device 200 is composed of an RGB signal or a Y, Cb and Cr signal (luminance signal and color difference signal component).
  • the minimum division unit of the image signal (frame) and the basic unit of coding are called a coding tree unit (CTU: Coding Tree Unit) and a coding unit (CU: Coding Unit).
  • CTU Coding Tree Unit
  • CU Coding Unit
  • the CTU is divided into variable size CUs by recursive quadtree block division, binary tree block division, or ternary tree block division.
  • Non-Patent Document 1 As for the processing contents of these block division tree structures, the known processing described in Non-Patent Document 1 can be used, and therefore specific description thereof will be omitted.
  • Non-Patent Document 1 the luminance signal component of the frame to be encoded (hereinafter, the target frame), the CTU to be encoded (hereinafter, the target CTU), or the CU to be encoded (hereinafter, the target block or the target CU).
  • the target frame the CTU to be encoded
  • the CU to be encoded the target block or the target CU.
  • Whether the target frame, the target CTU, and the target CU are a single tree or a dual tree can be specified based on the control data used in the decoding process by the image decoding device 200. Details will be described later.
  • FIG. 2 is a diagram showing an example of a functional block of the image coding apparatus 100 according to the present embodiment.
  • the image coding apparatus 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).
  • the inter-prediction unit 111 identifies a reference block included in the reference frame by comparing the target frame with the reference frame stored in the frame buffer 160, and a motion vector (mv) with respect to the specified reference block. Is configured to determine.
  • the inter-prediction unit 111 is configured to generate a prediction signal included in the target block for each target 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 target 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 referenced for the target block.
  • the reference block is a block adjacent to the target block.
  • the same size as the target block may be used, or a prediction block (PU: Precision Unit) having a size obtained by subdividing the target block may be used.
  • PU Precision Unit
  • 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 (conversion matrix) corresponding to the discrete cosine transform hereinafter referred to as DCT
  • the discrete sine transform hereinafter referred to as DST
  • the base pattern (transformation matrix) corresponding to may be used.
  • the same size as the target block may be used, or a conversion block (TU: Transfer Unit) having a size obtained by subdividing the target block 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 conversion / quantization unit 131.
  • 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 conversion 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 a coefficient level value.
  • the coding unit 140 is configured to encode the control data used in the decoding process in addition to the coefficient level value.
  • the in-loop filter processing unit 150 is configured to perform filter processing on the pre-filter processing decoding signal output from the adder 122 and output the post-filter processing decoding signal to the frame buffer 160.
  • the filtering process is a deblocking filtering process that reduces the distortion generated at the boundary portion of the target block (or PU, TU).
  • 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. 3 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.
  • the decoding is, for example, the entropy decoding in the reverse procedure of the entropy coding performed by the coding unit 140.
  • the decoding unit 210 may be configured to acquire the control data by the decoding process of the coded data.
  • 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 conversion 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 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 by 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 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 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 performs filter processing on the pre-filter processing decoding signal output from the adder 230, and outputs the post-filter processing decoding signal to the frame buffer 260. It is configured to do.
  • the filtering process is a deblocking filtering process that reduces the distortion generated at the boundary portion of the target block (or PU, TU).
  • 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. 4 is a diagram showing an example of a functional block of the conversion / quantization unit 131 of the image coding apparatus 100 according to the present embodiment.
  • the conversion / inverse quantization unit 131 includes a primary conversion unit 131A, a secondary conversion unit 131B, and a quantization unit 131C.
  • the primary conversion unit 131A is a block that performs a primary conversion process, and a known process can be used. Therefore, a specific description of the process content will be omitted.
  • the quantization unit 131C is a block that performs a quantization process, and a known process can be used. Therefore, a specific description of the process content will be omitted.
  • the secondary conversion unit 131B determines whether or not to apply the secondary conversion (Low Frequency Non-Separable Transfer Transfer) to the conversion coefficient of the target block input from the primary conversion unit 131A based on a predetermined condition. It is configured in.
  • the secondary conversion unit 131B is configured to notify the coding unit 140 of the determination result as to whether or not the determined secondary conversion is applied and the type of the basis pattern (conversion matrix) at the time of applying the secondary conversion. ing.
  • the secondary conversion unit 131B determines that the secondary conversion is applied, the secondary conversion unit 131B quantizes the secondary conversion coefficient obtained by performing the secondary conversion processing on the conversion coefficient output from the primary conversion unit 131A. It is configured to output to 131C.
  • the secondary conversion unit 131B is configured to output the conversion coefficient output from the primary conversion unit 131A to the quantization unit 131C as it is when it is determined that the secondary conversion is not applied.
  • the coding unit 140 determines the result of determining whether or not the secondary conversion notified from the secondary conversion unit 131B is applied, the type of the basis pattern (transformation matrix), and the target block (not shown in FIG. 2). Based on the coding cost notified from the coding cost calculation unit, the judgment result as to whether or not the secondary transformation is applied, the value of the index (hereinafter, lfnst_idx) that can specify the basis pattern, and the coding (image). It is configured to determine whether to perform transmission or signaling to the decoding device 200).
  • the lfnst_idx is transmitted (signaled) to the decoding unit 210 of the image coding device 200.
  • FIG. 5 is a diagram showing an example of a functional block of the inverse transformation / quantization unit 220 of the image decoding apparatus 200 according to the present embodiment.
  • the inverse conversion / inverse quantization unit 132 of the image coding apparatus 100 has the same configuration as the inverse transformation / inverse quantization unit 220 of the image decoding apparatus 200, the inverse transformation / inverse of the image decoding apparatus 200 will be described below.
  • the quantization unit 220 will be described as a representative.
  • the inverse conversion / inverse quantization unit 220 includes an inverse quantization unit 220A, an inverse secondary conversion unit 220B, and an inverse primary conversion unit 220C.
  • the dequantization unit 220A is a block that performs dequantization processing, and a known processing can be used. Therefore, a specific description of the processing content will be omitted.
  • the inverse primary conversion unit 220C is a block that performs the inverse primary conversion processing and a known processing can be used, the description of the specific processing content will be omitted.
  • the inverse quadratic conversion unit 220B is configured to specify whether or not the inverse quadratic conversion process is applied and the basis pattern (transformation matrix) based on the value of lfnst_idx notified from the decoding unit 210. ..
  • lfnst_idx is a kind of control data described above. Details will be described later.
  • the inverse secondary conversion unit 220B specifies that the inverse secondary conversion is applied, the inverse secondary conversion process is performed, and the conversion coefficient obtained by the inverse secondary conversion is output to the inverse primary conversion unit 220C. It is configured in.
  • the inverse secondary conversion unit 220B specifies that the inverse secondary conversion is not applied, the inverse secondary conversion process is not performed, and the conversion coefficient output from the inverse quantization unit 220A is output to the inverse primary conversion unit 220C as it is. It is configured to do.
  • the decoding unit 210 is configured to determine whether or not lfnst_idx needs to be decoded based on a predetermined condition.
  • determining whether or not decoding is necessary means “determining whether or not decoding should be performed”.
  • the decoding unit 210 is configured to decode lfnst_idx and specify the value of lfnst_idx.
  • the decoding unit 210 is configured not to decode lfnst_idx. In this case, the value of lfnst_idx is implicitly estimated to be "0".
  • the decoding unit 210 is configured to notify the inverse transformation / inverse quantization unit 220 of the specified or estimated value of lfnst_idx.
  • lfnst_idx is control data indicating whether or not a secondary transformation (hereinafter, referred to as a secondary transformation including an inverse secondary transformation) is applied and the type of the basis pattern (Syntax in Non-Patent Document 1). It is a kind of).
  • lfnst_idx If the value of lfnst_idx is "0", the secondary conversion is not applied, and if the value of lfnst_idx is "1" or more, the secondary conversion is applied.
  • the value of lfnst_idx of 1 or more and the type of the basis pattern uniquely correspond to each other.
  • FIG. 6 is a diagram showing an example of the decoding (parse) order of the control data (Syntax, that is, lfnst_idx) in the decoding unit 220 according to the present embodiment.
  • FIG. 6 shows the order in which the control data is decoded starting from the CTU.
  • step S600 the decoding unit 210 determines whether or not the target CTU is a dual tree based on the slice_type and qtbtt_dual_tree_intra_flag of the slice to which the target CTU belongs (hereinafter, the target slice).
  • slice_type is a kind of control data indicating the slice type of the target slice. Since the correspondence between the value of slice_type and the slice type (I slice, B slice or P slice) of the target slice can be based on the known correspondence relation described in Non-Patent Document 1, a specific description thereof will be omitted. ..
  • qtbt_dual_tree_intra_flag is one of the flags included in the sequence parameter set (SPS), which is a type of control data.
  • qtbt_dual_tree_intra_flag When the value of qtbt_dual_tree_intra_flag is "1", it means that the target CTU is divided into CUs in the I slice in a dual tree structure. When the value of qtbt_dual_tree_intra_flag is "0”, it means that the target CTU is divided in a single tree structure in the I slice. If the qtbt_dual_tree_intra_flag is not decoded, it is presumed that the value of qtbt_dual_tree_intra_flag is "0".
  • step S600 if slice_type indicates an I slice and the value of qtbtt_dual_tree_intra_flag is "1", this process proceeds to step S610, and otherwise, this process proceeds to step S601.
  • step S610 the process branches depending on whether or not the target CTU is a luminance block.
  • step S621 if the target CTU is a luminance block, this process proceeds to step S621, and if the target CTU is not a luminance block, this process proceeds to step S611.
  • the determination process of whether or not the target CTU is a luminance block can follow the known determination process, a specific description thereof will be omitted.
  • Step S601, step S611 and step S621 shown in FIG. 6 are all the same processing (coding_tree function).
  • the decoding unit 210 specifies the block division type (QTBTT) of the target CTU, recursively divides the block, and then calls the process (coding_unit function) related to the target CU, which will be described later. Since the content of this process uses a known technique, a specific description thereof will be omitted.
  • Step S602, step S612 and step S622 shown in FIG. 6 are all the same processing (coding_unit function).
  • the decoding unit 210 identifies the type of prediction mode, motion information, and whether or not subblock conversion (SBT: Sub Block Transition form) is applied to the target CU divided from the target CTU, and then will be described later.
  • SBT Sub Block Transition form
  • LfnstDcOnly, LfnstZeroOutSigmaCoffFlag, and LfnstNotTsFlag which are internal parameters related to the predetermined conditions to be performed, are initialized, and a process (transform_tree function) related to the division of the target TU, which will be described later, is called.
  • LfnstDcOnly and LfnstZeroOutSigCoeffFlag are derived based on the occurrence position information of the non-zero coefficient, and LfnstNotTsFlag is derived by the conversion skip flag.
  • LfnstDcOnly, LfnstZeroOutSigCoffFlag and LfnstNotTsFlag constitute a predetermined flag.
  • the decoding unit 210 determines whether or not lfnst_idx needs to be decoded based on a predetermined condition described later. Details will be described later.
  • Step S603, step S613 and step S623 shown in FIG. 6 are all the same process (transform_tree function).
  • the decoding unit 210 calls a process (transform_unit function) related to the target TU, which will be described later. Since the content of this process uses a known technique, a specific description thereof will be omitted.
  • Step S604, step S614 and step S624 shown in FIG. 6 are all the same process (transform_unit function).
  • the decoding unit 210 specifies or estimates the value of the transfer_skip_flag that can specify whether or not the conversion skip is applied to the target TU, and the conversion skip is not applied based on the value of the transform_skip_flag.
  • a process related to residual signal coding (residual_coding function), which will be described later, is called. Details will be described later.
  • residual_ts_coding function not described in the text is called, but since the content of this process uses a known technique, a specific description thereof will be omitted.
  • Step S605, step S615 and step S625 shown in FIG. 6 are all the same processing (residual_coding function).
  • the decoding unit 210 scans the conversion coefficient of the target TU to specify the decoding method of the conversion coefficient. Details will be described later.
  • FIG. 7 is a diagram showing a block to which the secondary transformation is applied and a decoding determination unit of lfnst_idx according to the present embodiment.
  • the blocks to which the secondary conversion can be applied are a single-tree luminance block, a dual-tree luminance block, and a dual-tree luminance block.
  • whether or not the quadratic transformation is applied to these blocks is finally determined based on lfnst_idx as described above.
  • the block to which the secondary transformation cannot be applied is a single tree color difference block.
  • the quadratic transformation is not applied to the block regardless of the value of lfnst_idx described above.
  • the decoding determination unit of lfnst_idx As shown in FIG. 7, as the decoding determination unit of lfnst_idx, the luminance block and the color difference block are collectively decoded in the single tree, and the luminance block and the color difference block are independently decoded in the dual tree. .. This means that in the single tree, it is determined whether or not the secondary transformation is applied based on the common lfnst_idx in the luminance block and the color difference block, while in the dual tree, the luminance block and the color difference block are determined. It means that it is determined independently whether or not the quadratic transformation is applied based on the different lfnst_idx.
  • FIGS. 8 and 9 are excerpts of partial processing in the coding_tree function
  • FIG. 8 is a diagram showing decoding conditions of the known lfnst_idx described in Non-Patent Document 1
  • FIG. 9 is a diagram.
  • It is a figure which shows the decoding condition of lfnst_idx which concerns on this embodiment.
  • lfnst_idx is processed in the coding_unit function. That is, as described above, lfnst_idx is decoded or encoded (signaled) in units of target blocks (target CU).
  • treeType is an internal parameter that can specify the type of the block division tree structure of the target block, and is input as an argument to the coding_unit function as shown in FIGS. 8 and 9.
  • LfnstNotTsFlag is an internal parameter that is determined as to whether the value is "0" or "1” in combination with the transform_skip_flag and the treeType in the target block.
  • the meaning of the substitution conditional expression of LfnstNotTsFlag in FIG. 8 is as follows.
  • the target block is a single tree
  • the transient_skip_flag is valid in any one of the luminance block and the color difference block constituting the target block (when the value of the transform_skip_flag is "1")
  • the LfnstNotTsFlag The value becomes "0”
  • the transform_skip_flag is invalid in all the luminance blocks and the color difference blocks constituting the target block (when the value of the transform_skip_flag is "0")
  • the value of LfnstNotTsFlag becomes "1".
  • Lfnst_idx is independently determined for the luminance block and the color difference block constituting the target block, so that LfnstNotTsFlag is also independently determined.
  • the reason why the above-mentioned LfnstNotTsFlag substitution condition expression is deleted is that the value of transform_skip_flag included in the LfnstNotTsFlag substitution condition expression is specified for each target TU in the tramsform_tree function.
  • the initialization process of the LfnstNotTsFlag is provided before the call of the tramsform_tree function, and the update determination of the value of the LfnstNotTsFlag is sequentially performed in the tramsform_tree function (details will be described later), so that the syntax decoding process sequence is more accurate. Consists of.
  • FIGS. 10 and 11 are excerpts of partial processing in the transform_unit function
  • FIG. 10 is a diagram showing update determination conditions of the known LfnstNotTsFlag described in Non-Patent Document 1
  • FIG. 11 is a diagram. Is a figure showing the update determination condition of LfnstNotTsFlag according to this embodiment.
  • the value of the transform_skip_flag is implicitly estimated to be "0".
  • the value of LfnstNotTsFlag is designed to be "0". .. This means that the necessity of decoding lfnst_idx is determined in consideration of whether or not the conversion skip is applied to the color difference block of the single tree to which the secondary conversion cannot be applied.
  • the secondary conversion cannot be applied to the color difference block of the single tree regardless of the value of lfnst_idx, it is considered whether or not the conversion skip is applied to the color difference block block of the single tree. This may unnecessarily reduce the application rate of the secondary transformation to the single-tree luminance block and reduce the improvement in coding performance.
  • the update target of the LfnstNotTsFlag is the brightness block of the single tree, the brightness block of the dual tree, and the dual tree. Limited to color difference blocks. As a result, it is expected that the application rate of the secondary transformation to the luminance block of the single tree will be increased, and that the coding performance will be improved.
  • FIGS. 12 and 13 are excerpts of partial processing in the residual_coding function
  • FIGS. 8 and 12 show initialization processing and update determination conditions of the known LfnstDcOnly and LfnstZeroOutSigCoeff described in Non-Patent Document 1, respectively.
  • FIGS. 9 and 13 are diagrams showing initialization processing and update determination conditions of LfnstDcOnly and LfnstZeroOutSigCoff according to the present embodiment, respectively.
  • LfnstDcOnly and LfnstZeroOutSigCoeff are internal parameters included in the determination condition regarding the necessity of decoding lfnst_idx. The meaning of each will be described later.
  • the initialization process of LfnstDcOnly and LfnstZeroOutSigCoeff is provided immediately before the transform_tree function in the coding_unit function.
  • the initialization processing for both is the same.
  • LfnstDcOnly and LfnstZeroOutSigCoeff are determined to be updated in the residual_coding function.
  • the color component index (cIdx) that specifies the color component (any of Y, Cb, and Cr) of the target block to be residual coded is specified.
  • the conditional expression by treeType are added.
  • FIG. 14 shows the scanning order of conversion coefficients in three types of block sizes.
  • FIG. 14 (a) shows the scan order of the conversion coefficient for a block having a height and width of 4 ⁇ 4 pixels
  • FIG. 14 (b) shows a scan of the conversion coefficient for a block having a height and width of 8 ⁇ 8 pixels. The order is shown
  • FIG. 14 (c) shows blocks having a height and width of 4 pixels or more, respectively, and blocks other than the blocks shown in FIGS. 14 (a) and 14 (b) (however, the height and width are controlled).
  • the scan order of conversion coefficients for blocks that are less than or equal to the maximum conversion block size specified by the data is shown.
  • LfnstDcOnly is an internal parameter that specifies the case where the non-zero coefficient (significance coefficient) occurs only in the DC component in the conversion block, that is, the case where the non-zero coefficient end position (lastScanPos) is in the scan order of the DC component.
  • the quadratic conversion is not applied to the conversion block whose non-zero coefficient is only in the DC component.
  • the value of lastScanPos is larger than "0"
  • the value of LfnstDcOnly is updated to "0".
  • LfnstZeroOutSigCoff is an internal parameter that specifies whether or not a non-zero coefficient (significance coefficient) occurs in a region that cannot occur when a quadratic transformation is applied in a conversion block.
  • the non-zero coefficient cannot occur in the region shown other than gray in FIG. 14 (white region). That is, when one or more non-zero coefficients occur in such a region, it becomes obvious that the quadratic transformation is not applied to the target block, so the value of LfnstZeroOutSigCoff is updated to "0".
  • the region where the non-zero coefficient cannot occur is variable depending on the conversion block size, but the specific range can be the same as that of Non-Patent Document 1. The description is omitted.
  • the block division tree structure type (treeTypeCur) is set to a single tree (SINGLE_TREE_MODE_TYPE_ALL). It is specified that there is.
  • the block size is divided by the luminance but not by the color difference ( For example, in a block of 8 ⁇ 16 pixels, the luminance component can be TT-divided, but the color difference component cannot be TT-divided), and the block locally has a dual tree structure.
  • the block division tree structure type of the target block is called recursively after overwriting the treeType (DUAL_TREE_CHROMA), which is an argument in the coding_tree function, with the dual tree (DUAL_TREE_CHROMA).
  • the decoding determination condition of lfnst_idx is a restriction that lfnst_idx is not decoded for the color difference block of the dual tree that occurs locally when the target CTU is a single tree. To add.
  • the substitution conditional expression of the internal parameter LfnstNotLocalDualTreeChromaFlag and the internal parameter are added to the decoding condition of Lfnst_idx.
  • the LfnstNotLocalDualTreeChromaFlag is derived using threeType, slice_type and qtbtt_dual_tree_intra_flag, and the block division tree structure type (treeType) of the target block (target CU) can be specified by the block division tree structure type (treeType).
  • the target block (target CU) is a color difference block of the local dual tree, so that lfnst_idx is not decoded. This makes it possible to limit the application of the secondary transformation to the color difference block of the local dual tree described above.
  • the target block related to the determination of the necessity of decoding the lfnst_idx only for the luminance block or the color difference block of the dual tree by using the tree type (treeType) and the component index (cIdx) of the target block.
  • the following effects are obtained by determining whether or not the values of the flag (LfnstNotTsFlag) that aggregates the presence / absence of the conversion skip application and the two flags (LfnstDcOnly and LfnstZeroOutSigCoff) based on the non-zero coefficient occurrence position information of the target block are updated. Can be expected.
  • the application rate of the secondary conversion to the brightness block of the single tree can be increased, the effect of improving the coding performance can be expected.
  • the color difference of the dual tree locally appearing in the single tree by using the tree type (treeType), slice type (slice_type) of the target block and the tree type (qtbt_dual_tree_intra_flag) of the target frame or the target CTU.
  • the above-mentioned 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 this, and the image coding is not limited to this. The same applies to an image coding system and an image decoding system having the functions of the device 100 and the image decoding device 200.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本発明に係る画像復号装置200は、二次変換が適用されているか否かについて特定する二次変換インデックスを復号する復号部210を備え、復号部210は、対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定し、対象ブロックのブロックサイズ、非零係数の発生位置情報及び変換スキップフラグにより導出される所定のフラグに基づいて二次変換インデックスの復号要否について判定する。

Description

画像復号装置、画像復号方法及びプログラム
 本発明は、画像復号装置、画像復号方法及びプログラムに関する。
 非特許文献1には、二次変換(LFNST:Low Frequency Non-Separable Transform)、変換スキップ(Transform Skip)、シングルツリー及びデュアルツリーと呼ばれる技術が開示されている。
Versatile Video Coding(Draft 8)、JVET-Q2001
 しかしながら、非特許文献1に開示されている技術では、シングルツリーの色差ブロックに二次変換の適用が禁止されているにも関わらず、シングルツリー時に二次変換が適用されているか否かについて特定するインデックス(lfnst_idx)の復号要否の判定に係る変換スキップ無効フラグ及び非零係数発生位置情報の値が、輝度ブロックだけでなく色差ブロックにも基づいて更新される可能性があるという問題点があった。
 また、非特許文献1に開示されている技術では、シングルツリーのフレームにおいて、局所的に現れるデュアルツリーの色差ブロックに対して二次変換が適用される可能性があるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、シングルツリーの輝度ブロックに対するlfnst_idxの復号要否の判定条件に係る不要な制約を緩和することができ、符号化性能を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
 また、本発明は、シングルツリーの色差ブロックに対して一貫して二次変換の適用を禁止することができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
 本発明の第1の特徴は、画像復号装置であって、二次変換が適用されているか否かについて特定する二次変換インデックスを復号するように構成されている復号部を備え、前記復号部は、対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて、前記対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定するように構成されており、前記対象ブロックの非零係数の発生位置情報及び変換スキップフラグにより導出される所定のフラグに基づいて、前記二次変換インデックスの復号要否について判定するように構成されていることを要旨とする。
 本発明の第2の特徴は、画像復号方法であって、二次変換が適用されているか否かについて特定する二次変換インデックスを復号する工程を有し、前記工程において、対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて、前記対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定し、前記対象ブロックの非零係数の発生位置情報及び変換スキップフラグにより導出される所定のフラグに基づいて、前記二次変換インデックスの復号要否について判定することを要旨とする。
 本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、二次変換が適用されているか否かについて特定する二次変換インデックスを復号するように構成されている復号部を備え、前記復号部は、対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて、前記対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定するように構成されており、前記対象ブロックの非零係数の発生位置情報及び変換スキップフラグにより導出される所定のフラグに基づいて、前記二次変換インデックスの復号要否について判定するように構成されていることを要旨とする。
 本発明によれば、シングルツリーの輝度ブロックに対するlfnst_idxの復号要否の判定条件に係る不要な制約を緩和することができ、符号化性能を向上させることができる画像復号装置、画像復号方法及びプログラムを提供することができる。
 また、本発明によれば、シングルツリーの色差ブロックに対して一貫して二次変換の適用を禁止することができる画像復号装置、画像復号方法及びプログラムを提供することができる。
一実施形態に係る画像処理システム1の構成の一例を示す図である。 一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。 一実施形態に係る画像符号化装置100の変換・量子化部131の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の逆変換・逆量子化部220の機能ブロックの一例を示す図である。 一実施形態に係る実施形態に係るlfnst_idxの復号順序について説明するための図である。 一本実施形態に係る二次変換の適用対象ブロック種別及びlfnst_idxの復号判定単位について説明するための図である。 一実施形態に係るlfnst_idxの復号条件について説明するための図である。 一実施形態に係るlfnst_idxの復号条件について説明するための図である。 一実施形態に係るLfnstNotTsFlagの更新判定条件について説明するための図である。 一実施形態に係るLfnstNotTsFlagの更新判定条件について説明するための図である。 一実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件について説明するための図である。 一実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件について説明するための図である。 一実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件について説明するための図である。 一実施形態に係るシングルツリーで発生する局所的デュアルツリーの色差ブロックに対する二次変換の適用禁止に関する変更例について説明するための図である。 一実施形態に係るシングルツリーで発生する局所的デュアルツリーの色差ブロックに対する二次変換の適用禁止に関する変更例について説明するための図である。 一実施形態に係るシングルツリーで発生する局所的デュアルツリーの色差ブロックに対する二次変換の適用禁止に関する変更例について説明するための図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
 <第1実施形態>
 以下、図1~図14を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る画像処理システム10について示す図である。
 図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
 画像符号化装置100は、入力画像信号(ピクチャ)を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
 符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
 (ブロック種別及びブロック分割ツリー構造)
 画像符号化装置100及び画像復号装置200が扱う画像信号(フレーム)は、RGB信号又はY、Cb及びCr信号(輝度信号及び色差信号成分)で構成される。
 かかる画像信号(フレーム)の最小分割単位及び符号化の基本単位は、符号化ツリーユニット(CTU:Coding Tree Unit)及び符号化ユニット(CU:Coding Unit)と呼ばれる。
 かかるCTUは、再帰的な四分木ブロック分割、二分木ブロック分割又は三分木ブロック分割により、可変サイズのCUに分割される。
 これらのブロック分割ツリー構造の処理内容については、非特許文献1に記載の公知の処理を用いることができるため、具体的な説明は省略する。
 また、非特許文献1では、符号化対象のフレーム(以下、対象フレーム)、符号化対象のCTU(以下、対象CTU)又は符号化対象のCU(以下、対象ブロック又は対象CU)の輝度信号成分を有するブロック(以下、輝度ブロック)及び色差信号成分を有するブロック(以下、色差ブロック)が、同じブロック分割ツリー構造(以下、シングルツリー)又は異なるブロック分割ツリー構造(以下、デュアルツリー)になる処理内容が開示されている。
 対象フレーム、対象CTU及び対象CUがシングルツリーであるかデュアルツリーであるかについては、画像復号装置200によって復号処理に用いられる制御データに基づいて特定することができる。詳細は後述する。
 (画像符号化装置100)
 以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
 図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
 インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部111は、対象フレームとフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
 また、インター予測部111は、参照ブロック及び動きベクトルに基づいて対象ブロックに含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
 イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
 ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
 また、前記インター予測111及びイントラ予測112の処理単位として、対象ブロックと同じサイズを用いてもよいし、対象ブロックを細分割したサイズの予測ブロック(PU:Prediction Unit)を用いてもよい。
 減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
 加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
 変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
 ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理としては、離散コサイン変換(Discrete Cosine Transform、以下、DCTと記す)に対応する基底パタン(変換行列)が用いられてもよく、離散サイン変換(Discrete Sine Transform、以下、DSTと記す)に対応する基底パタン(変換行列)が用いられてもよい。
 また、前記変換・逆量子化部131の処理単位として、対象ブロックと同じサイズが用いられてもよいし、対象ブロックを細分割したサイズの変換ブロック(TU:Transform Unit)が用いられてもよい。
 逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
 ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
 また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
 インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
 ここで、例えば、フィルタ処理は、対象ブロック(又は、PU、TU)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
 (画像復号装置200)
 以下、図3を参照して、本実施形態に係る画像復号装置200について説明する。図3は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
 図3に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
 復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
 ここで、復号は、例えば、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
 また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
 逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
 インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部241は、符号化データから復号した動きベクトル及び参照フレームに含まれる参照信号に基づいて予測信号を生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
 イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
 インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
 ここで、例えば、フィルタ処理は、対象ブロック(又は、PU、TU)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
 (変換・量子化部)
 以下、図4を参照して、本実施形態に係る画像符号化装置100の変換・量子化部131について説明する。図4は、本実施形態に係る画像符号化装置100の変換・量子化部131の機能ブロックの一例について示す図である。
 図4に示すように、変換・逆量子化部131は、一次変換部131Aと、二次変換部131Bと、量子化部131Cとを有する。
 一次変換部131Aは、一次変換処理を行うブロックであり、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
 同様に、量子化部131Cは、量子化処理を行うブロックであり、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
 以下、二次変換部131Bの処理内容の一例について説明する。
 二次変換部131Bは、所定条件に基づいて、一次変換部131Aから入力される対象ブロックの変換係数に対して二次変換(Low Frequency Non-Separable Transform)を適用するか否かを判定するように構成されている。
 二次変換部131Bは、判定した二次変換が適用されているか否かについての判定結果及び二次変換適用時の基底パタン(変換行列)の種別を符号化部140に通知するように構成されている。
 ここで、所定条件については、図8及び図9を参照して後述するが、非特許文献1で記載されている公知の条件に準ずることができるため、具体的な説明は省略する。
 ここで、二次変換の基底パタンは、公知の技術を用いることができるため、具体的な技術内容の説明は省略する。
 二次変換部131Bは、二次変換を適用すると判定する場合は、一次変換部131Aから出力された変換係数に対して二次変換処理を行うことによって得られた二次変換係数を量子化部131Cに出力するように構成されている。
 二次変換部131Bは、二次変換を適用しないと判定する場合は、一次変換部131Aから出力された変換係数をそのまま量子化部131Cに出力するように構成されている。
 (符号化部)
 符号化部140は、二次変換部131Bから通知される二次変換が適用されているか否かについての判定結果、基底パタン(変換行列)の種別、図2には図示していない対象ブロックの符号化コスト算出部から通知される符号化コストに基づいて、二次変換が適用されているか否かについての判定結果及び基底パタンを特定可能なインデックス(以下、lfnst_idx)の値及び符号化(画像復号装置200への伝送又はシグナリング)を行うか否かを決定するように構成されている。
 符号化140でlfnst_idxを符号化すると判定される場合は、画像符号化装置200の復号部210にlfnst_idxが伝送(シグナリング)される。
 (逆変換・逆量子化部)
 以下、図5を参照して、本実施形態に係る逆変換・逆量子化部220について説明する。図5は、本実施形態に係る画像復号装置200の逆変換・量子化部220の機能ブロックの一例について示す図である。
 なお、画像符号化装置100の逆変換・逆量子化部132は、画像復号装置200の逆変換・逆量子化部220と同じ構成となるため、以下では、画像復号装置200の逆変換・逆量子化部220を代表して記載する。
 図5に示すように、逆変換・逆量子化部220は、逆量子化部220Aと、逆二次変換部220Bと、逆一次変換部220Cとを有する。
 逆量子化部220Aは、逆量子化処理を行うブロックであり、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
 同様に、逆一次変換部220Cは、逆一次変換処理を行うブロックであり、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
 以下、逆二次変換部220Bの処理内容の一例について説明する。
 逆二次変換部220Bは、復号部210から通知されたlfnst_idxの値に基づいて、逆二次変換処理が適用されているか否か及び基底パタン(変換行列)を特定するように構成されている。
 ここで、lfnst_idxは、上述した制御データの一種である。詳細は後述する。
 逆二次変換部220Bは、逆二次変換を適用すると特定する場合は、逆二次変換処理を行い、逆二次変換することによって得られた変換係数を逆一次変換部220Cに出力するように構成されている。
 逆二次変換部220Bは、逆二次変換を適用しないと特定する場合は、逆二次変換処理は行わず、逆量子化部220Aから出力された変換係数を逆一次変換部220Cにそのまま出力するように構成されている。
 (復号部)
 復号部210は、所定条件に基づいて、lfnst_idxの復号要否について判定するように構成されている。ここで、「復号要否について判定する」とは、「復号するべきか否かについて判定する」という意味である。
 ここで、所定条件については、図8及び図9を参照して後述するが、非特許文献1で記載されている公知の条件に準ずることができるため、具体的な説明は省略する。
 上述の所定条件が満たされる場合、復号部210は、lfnst_idxを復号して、lfnst_idxの値を特定するように構成されている。
 それ以外の場合は、復号部210は、lfnst_idxを復号しないように構成されている。この場合、lfnst_idxの値は、暗黙的に「0」と推定される。
 復号部210は、特定或いは推定したlfnst_idxの値を逆変換・逆量子化部220に通知するように構成されている。
 (lfnst_idx)
 以下、本実施形態に係るlfnst_idxについて説明する。
 lfnst_idxは、上述の通り、二次変換(以下、逆二次変換も含めて二次変換と記す)が適用されているか否か及び基底パタンの種別を示す制御データ(非特許文献1では、Syntaxと呼称する)の一種である。
 lfnst_idxの値、二次変換が適用されているか否か及び基底パタンの種別の対応関係は、非特許文献1に記載の公知の対応関係に準ずることができるため、具体的な説明は省略するが、概要は以下の通りである。
 lfnst_idxの値が「0」の場合、二次変換は適用されず、lfnst_idxの値が「1」以上の場合は、二次変換が適用される。1以上のlfnst_idxの値と基底パタンの種別とが一意に対応する。
 (lfnst_idxの復号順序)
 以下、図6を参照して、本実施形態に係るlfnst_idxの復号順序について説明する。図6は、本実施形態に係る復号部220における制御データ(Syntax、すなわち、lfnst_idx)の復号(parse)順序の一例について示す図である。
 上述の通り、対象フレームの最小符号化単位は、CTUであるため、図6では、CTUを起点として制御データが復号される順序を示している。
 ステップS600において、復号部210は、対象CTUが属するスライス(以下、対象スライス)のslice_type及びqtbtt_dual_tree_intra_flagに基づいて、対象CTUがデュアルツリーであるか否かについて判定する。
 ここで、slice_typeは、対象スライスのスライス種別を示す制御データの一種である。slice_typeの値と対象スライスのスライス種別(Iスライス、Bスライス又はPスライス)との対応関係は、非特許文献1に記載の公知の対応関係に準ずることができるため、具体的な説明は省略する。
 また、qtbtt_dual_tree_intra_flagは、制御データの一種であるシーケンスパラメータセット(SPS)に含まれるフラグの1つである。
 qtbtt_dual_tree_intra_flagの値が「1」の場合は、Iスライスにおいて、対象CTUがデュアルツリー構造でCUに分割されることを意味する。qtbtt_dual_tree_intra_flagの値が「0」の場合は、Iスライスにおいて、対象CTUがシングルツリー構造で分割されることを意味する。qtbtt_dual_tree_intra_flagが復号されない場合は、qtbtt_dual_tree_intra_flagの値が「0」であると推定される。
 ステップS600において、slice_typeがIスライスを示し、且つ、qtbtt_dual_tree_intra_flagの値が「1」である場合、本処理は、ステップS610に進み、それ以外の場合は、本処理は、ステップS601に進む。
 ステップS610において、対象CTUが輝度ブロックであるか否かによって、処理が分岐する。
 具体的には、対象CTUが輝度ブロックである場合は、本処理は、ステップS621に進み、対象CTUが輝度ブロックでない場合は、本処理は、ステップS611に進む。ここで、対象CTUが輝度ブロックであるか否かの判定処理は、公知の判定処理に準ずることができるため、具体的な説明は省略する。
 図6に示されるステップS601、ステップS611及びステップS621は、全て同じ処理(coding_tree関数)である。かかる処理において、復号部210は、対象CTUのブロック分割種別(QTBTT)を特定して再帰的に分割した後に、後述する対象CUに関する処理(coding_unit関数)を呼び出す。本処理の内容は、公知の技術を用いるため、具体的な説明は省略する。
 図6に示されるステップS602、ステップS612及びステップS622は、全て同じ処理(coding_unit関数)である。かかる処理において、復号部210は、対象CTUから分割された対象CUに関して、予測モードの種別、動き情報及びサブブロック変換(SBT:Sub Block Transform)が適用されているか否かを特定した後に、後述する所定条件に関わる内部パラメータであるLfnstDcOnly、LfnstZeroOutSigCoeffFlag、LfnstNotTsFlagを初期化し、後述する対象TUの分割に関する処理(transform_tree関数)を呼び出す。
 ここで、LfnstDcOnly、LfnstZeroOutSigCoeffFlagは、非零係数の発生位置情報に基づいて導出され、LfnstNotTsFlagは、変換スキップフラグにより導出されている。なお、LfnstDcOnly、LfnstZeroOutSigCoeffFlag及びLfnstNotTsFlagは、所定フラグを構成する。
 その後、復号部210は、後述する所定条件に基づいて、lfnst_idxの復号要否について判定する。詳細は後述する。
 図6に示されるステップS603、ステップS613及びステップS623は、全て同じ処理(transform_tree関数)である。かかる処理において、復号部210は、後述する対象TUに関する処理(transform_unit関数)を呼び出す。本処理の内容は、公知の技術を用いるため、具体的な説明は省略する。
 図6に示されるステップS604、ステップS614及びステップS624は、全て同じ処理(transform_unit関数)である。かかる処理において、復号部210は、対象TUに対して変換スキップが適用されているか否かについて特定可能なtransform_skip_flagの値を特定或いは推定し、このtransform_skip_flagの値に基づいて変換スキップが適用されていないと特定される場合は、後述する残差信号符号化に関する処理(residual_coding関数)を呼び出す。詳細は後述する。なお、変換スキップが適用されると特定される場合は、本文中には記載していないresidual_ts_coding関数を呼び出すが、本処理内容は、公知の技術を用いるため、具体的な説明は省略する。
 図6に示されるステップS605、ステップS615及びステップS625は、全て同じ処理(residual_coding関数)である。かかる処理において、復号部210は、対象TUの変換係数をスキャンして、変換係数の復号方法を特定する。詳細は後述する。
 (二次変換の適用対象)
 以下、図7を参照して、本実施形態に係る二次変換が適用対象となるブロック分割ツリー構造種別、ブロック種別及びlfnst_idxの復号判定単位について説明する。図7は、本実施形態に係る二次変換の適用対象ブロック及びlfnst_idxの復号判定単位について示す図である。
 図7に示すように、二次変換が適用可能なブロックは、シングルツリーの輝度ブロック、デュアルツリーの輝度ブロック及びデュアルツリーの色差ブロックである。ここで、これらのブロックに対して二次変換が適用されるか否かは、上述の通り、最終的には、lfnst_idxに基づいて判定される。
 図7に示すように、二次変換が適用不可なブロックは、シングルツリーの色差ブロックである。ここで、当該ブロックに対しては、上述のlfnst_idxの値によらず、二次変換は適用されない。
 図7に示すように、lfnst_idxの復号判定単位としては、シングルツリーにおいては輝度ブロック及び色差ブロックが一括して復号判定され、デュアルツリーにおいては輝度ブロックと色差ブロックとが独立して復号判定される。これは、シングルツリーにおいては輝度ブロック及び色差ブロックで共通のlfnst_idxに基づいて二次変換が適用されているか否かについて判定されることを意味し、一方で、デュアルツリーにおいては輝度ブロックと色差ブロックとで異なるlfnst_idxに基づいて独立して二次変換が適用されているか否かについて判定されることを意味する。
 (lfnst_idxの復号条件)
 以下、図8と図9を参照して、本実施形態に係るlfnst_idxの復号条件について説明する。図8及び図9は、coding_tree関数における一部処理を抜粋した図であり、図8は、非特許文献1に記載の公知のlfnst_idxの復号条件について示す図であるのに対して、図9は、本実施形態に係るlfnst_idxの復号条件について示す図である。
 図8及び図9に示すように、lfnst_idxは、coding_unit関数内で処理される。すなわち、上述のとおり、lfnst_idxは、対象ブロック(対象CU)単位で復号若しくは符号化(シグナリング)される。
 図9では、図8に示される対象ブロックのLfnstNotTsFlagについて、初期化処理(初期値LfnstNotTsFlag=1)をtransform_tree関数処理の前に設け、また、transform_tree関数処理の後のLfnstNotTsFlagの代入条件式を削除している。
 ここで、treeTypeは、対象ブロックのブロック分割ツリー構造の種別を特定可能な内部パラメータであり、図8及び図9に示すように、coding_unit関数に引数として入力される。treeTypeが表すブロック分割ツリー構造種別は、シングルツリー(SINGLE_TREE)、デュアルツリーの輝度(DUAL_TREE_LUMA)及びデュアルツリーの色差(DUAL_TREE_CHROMA)の3つである。
 また、LfnstNotTsFlagは、対象ブロックにおけるtransform_skip_flagとtreeTypeとの組み合わせで、その値が「0」若しくは「1」のいずれであるかについて決定される内部パラメータである。図8のLfnstNotTsFlagの代入条件式が意味するところは、以下の通りである。
 第1に、対象ブロックがシングルツリーの場合は、対象ブロックを構成する輝度ブロック及び色差ブロックのいずれか1つにおいてtransform_skip_flagが有効である場合(transform_skip_flagの値が「1」である場合)、LfnstNotTsFlagの値は「0」となり、対象ブロックを構成する輝度ブロック及び色差ブロックの全てにおいてtransform_skip_flagが無効である場合(transform_skip_flagの値が「0」である場合)、LfnstNotTsFlagの値は「1」となる。
 第2に、対象ブロックがデュアルツリーの場合は、対象ブロックを構成する輝度ブロック及び色差ブロックに対してlfnst_idxが独立に判定されるため、LfnstNotTsFlagも独立に判定される。
 対象ブロックを構成する輝度ブロックにおいてtransform_skip_flagが有効である場合、LfnstNotTsFlagの値は「0」となり、それ以外の場合は、LfnstNotTsFlagの値は「1」となる。
 対象ブロックを構成する色差ブロックにおいて、Cb成分及びCr成分のいずれか1つにおいてtransform_skip_flagが有効である場合、LfnstNotTsFlagの値は「0」となり、Cb成分及びCr成分のいずれにおいてもtransform_skip_flagが無効である場合、LfnstNotTsFlagの値は「1」となる。
 本実施形態において、上述のLfnstNotTsFlagの代入条件式を削除した理由は、LfnstNotTsFlagの代入条件式に含まれるtransform_skip_flagの値がtramsform_tree関数内で対象TUごとに特定されるためである。
 本実施形態においては、LfnstNotTsFlagの初期化処理をtramsform_tree関数の呼び出し前に設け、tramsform_tree関数内で逐次LfnstNotTsFlagの値の更新判定を行う(詳細は後述する)ことで、より正確なSyntaxの復号処理順序を構成している。
 (LfnstNotTsFlagの更新判定条件)
 以下、図10及び図11を参照して、本実施形態に係るLfnstNotTsFlagの更新判定条件について説明する。図10及び図11は、transform_unit関数における一部処理を抜粋した図であり、図10は、非特許文献1に記載の公知のLfnstNotTsFlagの更新判定条件について示す図であるのに対して、図11は、本実施形態に係るLfnstNotTsFlagの更新判定条件について示す図である。
 図11では、対象ブロックを構成する輝度ブロック及び色差ブロックのtransform_skip_flagの復号後に、LfnstNotTsFlagの更新判定条件式及びLfnstNotTsFlagの更新処理が追加されており、さらに呼び出されるresidual_coding関数内の引数にtreeTypeが追加されている。具体的には、以下の通りである。
 ここで、transform_skip_flagが復号されない場合は、transform_skip_flagの値は、暗黙的に「0」と推定される。
 第1に、輝度ブロックの場合、当該輝度ブロックに対するtransform_skip_flag(transform_skip_flag[x0][y0][0])が有効な場合、LfnstNotTsFlagの値を「0」に更新する。それ以外の場合は、LfnstNotTsFlagの値を「0」に更新しない。
 第2に、Cb成分の色差ブロックの場合、当該色差ブロックに対するtransform_skip_flag(transform_skip_flag[x0][y0][1])が有効であり且つtreeTypeがDUAL_TREE_CHROMAである場合、LfnstNotTsFlagの値を「0」に更新する。それ以外の場合は、LfnstNotTsFlagの値を「0」に更新しない。
 第3に、Cr成分の色差ブロックの場合、当該色差ブロックに対するtransform_skip_flag(transform_skip_flag[x0][y0][2])が有効であり且つtreeTypeがDUAL_TREE_CHROMAである場合、LfnstNotTsFlagの値を「0」に更新する。それ以外の場合は、LfnstNotTsFlagの値を「0」に更新しない。
 residual_coding関数の引数にtreeTypeを追加した理由は後述する。
 上述のLfnstNotTsFlagの更新条件の追加によれば、以下のような効果が期待される。
 従来技術では、上述の通り、シングルツリーの対象ブロックを構成する輝度ブロック及び色差ブロックのいずれか1つにおいてtransform_skip_flagが有効である場合に、LfnstNotTsFlagの値が「0」となるように設計されていた。これは、二次変換が適用不可なシングルツリーの色差ブロックに対して変換スキップが適用されているか否かについても考慮して、lfnst_idxの復号要否について判定することを意味する。
 しかし、シングルツリーの色差ブロックに対しては、lfnst_idxの値によらずに二次変換は適用不可であるため、シングルツリーの色差ブロックブロックに対して変換スキップが適用されているか否かについて考慮することは、不要にシングルツリーの輝度ブロックに対する二次変換の適用率を減少させ、符号化性能の向上を低下させる可能性がある。
 そのため、本実施形態では、上述のように、対象ブロックのtransform_skip_flag及びtreeTypeによるLfnstNotTsFlagの更新判定条件を追加することで、LfnstNotTsFlagの更新対象をシングルツリーの輝度ブロック、デュアルツリーの輝度ブロック及びデュアルツリーの色差ブロックに限定する。これにより、シングルツリーの輝度ブロックに対する二次変換の適用率の増加、ひいては符号化性能の向上効果が期待される。
 (LfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件)
 以下、図8、図9及び図12~図14を参照して、本実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件について説明する。
 図12及び図13は、residual_coding関数における一部処理を抜粋した図であり、図8及び図12は、非特許文献1に記載の公知のLfnstDcOnly及びLfnstZeroOutSigCoeffの初期化処理及び更新判定条件についてそれぞれ示す図であるのに対して、図9及び図13は、本実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffの初期化処理及び更新判定条件についてそれぞれ示す図である。
 図8及び図9に示すように、LfnstDcOnly及びLfnstZeroOutSigCoeffは、lfnst_idxの復号要否についての判定条件に含まれる内部パラメータである。それぞれの意味については、後述する。
 図8及び図9に示すように、LfnstDcOnly及びLfnstZeroOutSigCoeffの初期化処理は、coding_unit関数内のtransform_tree関数の直前に設けられる。図8及び図9に示すように、それぞれの初期値は、LfnstDcOnly=1、LfnstZeroOutSigCoeff=1である。なお、図8と図9に示すように、両者の初期化処理は、同じである。
 図12及び図13に示すように、LfnstDcOnly及びLfnstZeroOutSigCoeffは、residual_coding関数内で更新判定が行われる。
 本実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件では、図13に示すように、残差符号化を行う対象ブロックのカラーコンポーネント(Y、Cb及びCrのいずれか)を特定するカラーコンポーネントインデックス(cIdx)及びtreeTypeによる条件式が追加されている。
 また、かかる条件式において、従来技術では、residual_coding関数内で使用されていなかったtreeTypeを使用するために、residual_coding関数の引数にtreeTypeが追加されている。
 ここで、図14を参照して、本実施形態に係るLfnstDcOnly及びLfnstZeroOutSigCoeffについて説明する。
 図14は、3種類のブロックサイズにおける変換係数のスキャン順を示している。図14(a)は、高さ及び横幅が4×4画素のブロックに対する変換係数のスキャン順序を示し、図14(b)は、高さ及び横幅が8×8画素のブロックに対する変換係数のスキャン順序を示し、図14(c)は、高さ及び横幅がそれぞれ4画素以上であり且つ図14(a)及び図14(b)で示すブロック以外のブロック(ただし、高さ及び横幅は、制御データで規定される変換ブロックサイズの最大値以下であるブロック)に対する変換係数のスキャン順序を示している。
 変換係数のスキャン順序は、公知の処理内容を用いるため、具体的な説明は省略するが、概要は以下の通りである。
 変換ブロックを高周波成分からDC成分方向に向けて、4×4画素のサブブロック単位で斜め方向にスキャンする。ここで、降順方向が、高周波成分を示す。つまり、DC成分のスキャン順序は、図14に示す通り、「0」ある。
 図8及び図9に示すlfnst_idxの復号条件から見て分かるように、LfnstDcOnlyの値が「0」である場合で(対象ブロックがイントラ細分割モードである場合を除く)、且つ、LfnstZeroOutSigCoeffの値が「1」である場合、対象ブロックに対してlfnst_idxが復号される。
 LfnstDcOnlyは、変換ブロックにおいて、非零係数(有意係数)がDC成分のみに発生する場合、すなわち、非零係数終端位置(lastScanPos)がDC成分のスキャン順序にある場合を特定する内部パラメータである。
 具体的には、非零係数がDC成分のみにある変換ブロックに対して二次変換は適用されない。換言すると、lastScanPosの値が「0」より大きい場合、すなわち、非零係数終端位置がAC成分にある場合は、LfnstDcOnlyの値を「0」に更新する。
 なお、本判定が含まれる図12及び図13に示す条件式において、その他に含まれる判定、すなわち、1つ以上の非零係数を有する最終サブブロック位置(lastScanBlock)、変換ブロックサイズ及びtransform_skip_flagについては、公知の判定に準ずることができるため、具体的な説明は省略する。
 LfnstZeroOutSigCoeffは、変換ブロックにおいて非零係数(有意係数)が二次変換の適用時に発生し得ない領域に発生するかどうかを特定する内部パラメータである。
 具体的には、対象ブロックに対して二次変換が適用される場合、図14の灰色以外で示した領域(白抜きされた領域)においては非零係数が発生し得ない。すなわち、かかる領域に非零係数が1つ以上発生する場合は、対象ブロックに対して二次変換が適用されないことが自明となるため、LfnstZeroOutSigCoeffの値を「0」に更新する。
 ここで、非零係数が発生し得ない領域は、図14に示すように、変換ブロックサイズによって可変するが、具体的な範囲については、非特許文献1と同じ範囲に準ずることができるため、説明は省略する。
 なお、本判定が含まれる図12及び図13に示す条件式において、その他に含まれる判定、すなわち、1つ以上の非零係数を有する最終サブブロック位置(lastScanBlock)及び変換ブロックサイズについては、公知の判定に準ずることができるため、具体的な説明は省略する。
 以下で、従来技術におけるLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件と本実施形態におけるLfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件との差分について説明する。
 本実施形態においては、図13に示すように、LfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件に入る前で、対象ブロックのcIdx及びtreeTypeに基づいて、そもそもこれらの更新判定条件に入るか否かについての判定を追加した。
 具体的には、cIdxの値が「0」である場合又はtreeTypeがDUAL_TREE_CHROMAを示す場合、LfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件に入る。それ以外の場合は、LfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定条件に入らない。
 これは、LfnstDcOnly及びLfnstZeroOutSigCoeffの更新判定処理を、シングルツリーの輝度ブロック、デュアルツリーの輝度ブロック及びデュアルツリーの色差ブロックに限定することを意味する。
 従来技術では、上述のtransform_skip_flagと同様に、lfnst_idxによらずに、二次変換が適用されないシングルツリーの色差ブロックにおいてもLfnstDcOnly及びLfnstZeroOutSigCoeffが考慮されていたが、かかる追加の判定により、シングルツリーの輝度ブロックに対する二次変換の適用率の増加、ひいては、符号化性能の向上効果が期待される。
 <変更例>
 以下、図15~図17を参照して、本実施形態に係るシングルツリーで発生する局所的デュアルツリー(ローカルデュアルツリー)の色差ブロックに対する二次変換の適用禁止に関する変更例について説明する。
 図15及び図16は、非特許文献1に記載の公知のcoding_tree_unit関数及びcoding_tree関数における一部処理を抜粋した図である。
 図15に示されるように、対象CTUにおいて一旦シングルツリーで分割すると判定された場合、coding_tree_unit関数内からcoding_tree関数が呼び出される際に、ブロック分割ツリー構造種別(treeTypeCurr)は、シングルツリー(SINGLE_TREE_MODE_TYPE_ALL)であると指定される。
 一方、図16に示されるように、CUの再帰的な分割処理が進む過程において、イントラモードの対象ブロックにおいて、輝度では分割可能であるが、色差では分割不可能なブロックサイズとなった場合(例えば、8×16画素のブロックにおいて、輝度成分はTT分割できるが、色差成分はTT割できない場合)、局所的に当該ブロックはデュアルツリー構造になる。
 このとき、図16に示されるように、対象ブロックのブロック分割ツリー構造種別は、coding_tree関数内の引数であるtreeTypeをデュアルツリー(DUAL_TREE_CHROMA)に上書きした上で再帰的に呼び出される。
 しかしながら、シングルツリーである対象フレーム又は対象CTUにおいて、このように局所的に発生するデュアルツリー(ローカルデュアルツリー)の色差ブロックに対して二次変換が適用される場合、図7で示したブロック分割ツリー構造種別、ブロック種別及び二次変換の適用可不可の対応関係の一貫性がなくなってしまう。
 そのため、本実施形態では、図17に示すように、lfnst_idxの復号判定条件に、対象CTUがシングルツリーである場合に局所的に発生するデュアルツリーの色差ブロックに対して、lfnst_idxを復号しないという制約を追加する。
 具体的には、図17に示すように、内部パラメータであるLfnstNotLocalDualTreeChromaFlagの代入条件式及び当該内部パラメータをLfnst_idxの復号条件に追加する。ここで、LfnstNotLocalDualTreeChromaFlagは、treeType、slice_type及びqtbtt_dual_tree_intra_flagを用いて導出され、対象ブロック(対象CU)のブロック分割ツリー構造種別(treeType)がローカルデュアルツリーの色差ブロックであるかを特定可能である。
 かかる内部パラメータが「0」である場合は、対象ブロック(対象CU)がローカルデュアルツリーの色差ブロックであると特定されるため、lfnst_idxは復号しないと判定する。これにより、上述のローカルデュアルツリーの色差ブロックに対する二次変換の適用を制限することができる。
 本実施形態によれば、対象ブロックのツリータイプ(treeType)とコンポーネントインデックス(cIdx)を用いて、輝度ブロック又はデュアルツリーの色差ブロックに対してのみ、lfnst_idxの復号要否についての判定に係る対象ブロックの変換スキップ適用有無を集約するフラグ(LfnstNotTsFlag)及び対象ブロックの非零係数発生位置情報に基づく2つのフラグ(LfnstDcOnly、LfnstZeroOutSigCoeff)の値が更新されているか否かについて判定することで、以下の効果が期待できる。
 - シングルツリーの輝度ブロックに対して、lfnst_idxの復号要否の判定条件に係る不要な制約を緩和することが期待できる。
 - シングルツリーの輝度ブロックに対する二次変換の適用率を増加させられるため、符号化性能の向上効果が期待できる。
 また、本実施形態によれば、対象ブロックのツリータイプ(treeType)、スライスタイプ(slice_type)及び対象フレームまたは対象CTUのツリータイプ(qtbtt_dual_tree_intra_flag)を用いて、シングルツリーにおいて局所的に現れるデュアルツリーの色差ブロックに対して、二次変換の適用を禁止することにより、シングルツリーのフレームに存在する色差ブロックに対して一貫して二次変換の適用を禁止することができる。
 上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
131A…一次変換部
131B…二次変換部
131C…量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
220A…逆量子化部
220B…逆二次変換部
220C…逆一次変換部

Claims (8)

  1.  画像復号装置であって、
     二次変換が適用されているか否かについて特定する二次変換インデックスを復号するように構成されている復号部を備え、
     前記復号部は、
      対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて、前記対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定するように構成されており、
      前記対象ブロックの非零係数の発生位置情報及び変換スキップフラグにより導出される所定のフラグに基づいて、前記二次変換インデックスの復号要否について判定するように構成されていることを特徴とする画像復号装置。
  2.  前記所定のフラグは、非零係数の発生位置情報に基づいて導出されるLfnstDcOnly及びLfnstZeroOutSigCoeffFlag、変換スキップに基づいて導出されるLfnstNotTsFlagで構成されていることを特徴とする請求項1に記載の画像復号装置。
  3.  前記復号部は、前記対象ブロックがシングルツリーであり且つ輝度ブロックである場合、前記対象ブロックがデュアルツリーであり且つ輝度ブロックである場合、又は、前記対象ブロックがデュアルツリーであり且つ色差ブロックである場合に、前記所定のフラグを更新するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
  4.  前記復号部は、LfnstNotTsFlagの更新判定条件において、前記対象ブロックのツリータイプを追加することで、前記対象ブロックがシングルツリーであり且つ輝度ブロックである場合、前記対象ブロックがデュアルツリーであり且つ輝度ブロックである場合、又は、前記対象ブロックがデュアルツリーであり且つ色差ブロックである場合に、前記所定のフラグを更新するように構成されていることを特徴とする請求項1~3のいずれか一項に記載の画像復号装置。
  5.  前記復号部は、LfnstDcOnly、LfnstZeroSigOutCoeffFlagの更新判定条件において、前記対象ブロックのツリータイプ及びコンポーネントインデックスを追加することで、前記対象ブロックがシングルツリーであり且つ輝度ブロックである場合、前記対象ブロックがデュアルツリーであり且つ輝度ブロックである場合、又は、前記対象ブロックがデュアルツリーであり且つ色差ブロックである場合に、前記所定のフラグを更新するように構成されていることを特徴とする請求項1~4のいずれか一項に記載の画像復号装置。
  6.  前記復号部は、前記対象ブロックのツリータイプ、前記対象ブロックのスライスタイプ及び前記対象ブロックが属する対象フレームのツリータイプに基づいて、前記対象ブロックが局所的デュアルツリーであり且つ色差ブロックであるか否かを判定し、前記対象ブロックが前記局所的デュアルツリーであり且つ色差ブロックである場合は、前記二次変換インデックスを復号しないように構成されていることを特徴とする請求項1に記載の画像復号号装置。
  7.  画像復号方法であって、
     二次変換が適用されているか否かについて特定する二次変換インデックスを復号する工程を有し、
     前記工程において、
      対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて、前記対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定し、
      前記対象ブロックのブロックサイズ、非零係数の発生位置情報及び変換スキップフラグより導出される所定のフラグに基づいて、前記二次変換インデックスの復号要否について判定することを特徴とする画像復号方法。
  8.  コンピュータを、画像復号装置として機能させるプログラムであって、
     前記画像復号装置は、二次変換が適用されているか否かについて特定する二次変換インデックスを復号するように構成されている復号部を備え、
     前記復号部は、
      対象ブロックのツリータイプ及びコンポーネントインデックスに基づいて、前記対象ブロックのブロック分割ツリー構造種別及びコンポーネント種別を特定するように構成されており、
      前記対象ブロックのブロックサイズ、非零係数の発生位置情報及び変換スキップフラグより導出される所定のフラグに基づいて、前記二次変換インデックスの復号要否について判定するように構成されていることを特徴とするプログラム。
PCT/JP2021/006373 2020-03-31 2021-02-19 画像復号装置、画像復号方法及びプログラム WO2021199782A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202180022301.2A CN115336276B (zh) 2020-03-31 2021-02-19 图像解码装置、图像解码方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020064100A JP7360984B2 (ja) 2020-03-31 2020-03-31 画像復号装置、画像復号方法及びプログラム
JP2020-064100 2020-03-31

Publications (1)

Publication Number Publication Date
WO2021199782A1 true WO2021199782A1 (ja) 2021-10-07

Family

ID=77928339

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/006373 WO2021199782A1 (ja) 2020-03-31 2021-02-19 画像復号装置、画像復号方法及びプログラム

Country Status (3)

Country Link
JP (1) JP7360984B2 (ja)
CN (1) CN115336276B (ja)
WO (1) WO2021199782A1 (ja)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115052155A (zh) * 2012-07-02 2022-09-13 韩国电子通信研究院 图像编码/解码方法和非暂时性计算机可读记录介质
JPWO2016203981A1 (ja) * 2015-06-16 2018-04-05 シャープ株式会社 画像復号装置及び画像符号化装置
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
CN109076223B (zh) * 2016-05-13 2021-07-09 夏普株式会社 图像解码装置以及图像编码装置
CN116567262A (zh) * 2016-05-24 2023-08-08 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN114401407A (zh) * 2016-06-24 2022-04-26 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
US20190313102A1 (en) * 2016-11-28 2019-10-10 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image, and recording medium in which bit stream is stored
EP4007277A1 (en) * 2017-03-16 2022-06-01 HFI Innovation Inc. Method and apparatus of enhanced multiple transforms and non-separable secondary transform for video coding
CN117255196A (zh) * 2017-03-22 2023-12-19 韩国电子通信研究院 基于块形式的预测方法和装置
WO2019117634A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 2차 변환에 기반한 영상 코딩 방법 및 그 장치
US10567801B2 (en) * 2018-03-07 2020-02-18 Tencent America LLC Method and apparatus for video coding with primary and secondary transforms
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS , JIANLE CHEN , SHAN LIU , YE-KUI WANG: "Versatile Video Coding (Draft 8)", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q2001-vE, 12 March 2020 (2020-03-12), pages 1 - 510, XP030285390 *
C. ROSEWARNE, J. GAN (CANON): "Non-CE6: LFNST signalling", 16. JVET MEETING; 20191001 - 20191011; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-P0266 ; m50231, 3 October 2019 (2019-10-03), XP030216756 *
M.-S. CHIANG, C.-W. HSU, C.-M. TSAI, T.-D. CHUANG, C.-Y. CHEN, Y.-W. HUANG, S.-M. LEI (MEDIATEK): "LFNST signalling cleanup with TS checking", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q0193 ; m51782, 7 January 2020 (2020-01-07), XP030222861 *
T. TSUKUBA (SONY), M. IKEDA, Y. YAGASAKI, T. SUZUKI (SONY): "On Interaction of LFNST and Transform Skip", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q0099 ; m51688, 27 December 2019 (2019-12-27), XP030222574 *

Also Published As

Publication number Publication date
CN115336276A (zh) 2022-11-11
JP7360984B2 (ja) 2023-10-13
JP2021164064A (ja) 2021-10-11
CN115336276B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN111279703B (zh) 用于加权角度预测的后滤波
CN112261410B (zh) 视频编码设备、视频解码设备、视频编码方法、视频解码方法和程序
CN114073094B (zh) 视频编解码的方法和装置
JP7321364B2 (ja) ビデオコーディングにおけるクロマ量子化パラメータ
JP7265040B2 (ja) 変換スキップ・モードのブロック寸法設定
JP7490803B2 (ja) シンタックスエレメントを使用するビデオ処理
CN112616326B (zh) 图像解码装置、图像解码方法和存储介质
WO2021199782A1 (ja) 画像復号装置、画像復号方法及びプログラム
US20230023488A1 (en) Image decoding device, image decoding method, and program
WO2016063440A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
KR20220039847A (ko) 디블로킹 필터 제어 장치 및 프로그램
CN117319687A (zh) 系数编解码方法、编码器、解码器以及计算机存储介质
JP7118604B2 (ja) 映像符号化装置、映像復号装置及びプログラム
WO2022070470A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021054037A1 (ja) 画像復号装置、画像復号方法及びプログラム
CN112261411B (zh) 视频解码设备、视频解码方法和程序
JP2023129555A (ja) 画像復号装置、画像復号方法及びプログラム

Legal Events

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

Ref document number: 21781586

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

Country of ref document: EP

Kind code of ref document: A1