WO2020145381A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2020145381A1
WO2020145381A1 PCT/JP2020/000638 JP2020000638W WO2020145381A1 WO 2020145381 A1 WO2020145381 A1 WO 2020145381A1 JP 2020000638 W JP2020000638 W JP 2020000638W WO 2020145381 A1 WO2020145381 A1 WO 2020145381A1
Authority
WO
WIPO (PCT)
Prior art keywords
residual
unit
block
transform
rearrangement
Prior art date
Application number
PCT/JP2020/000638
Other languages
English (en)
French (fr)
Inventor
健史 筑波
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2020145381A1 publication Critical patent/WO2020145381A1/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/18Methods 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 set of transform coefficients

Definitions

  • the present disclosure relates to an image processing device and method, and more particularly to an image processing device and method capable of suppressing a reduction in encoding efficiency.
  • Non-Patent Document 1 the method of rearranging residual data described in Non-Patent Document 1 is only applicable to square blocks, and it was difficult to apply it to an encoding method capable of forming rectangular blocks. Therefore, even when the conversion process is skipped, the residual data is coded without such rearrangement, which may reduce the coding efficiency.
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in encoding efficiency.
  • An image processing device is to perform processing on each residual data of the residual data of the image data based on the shape or size of the block with respect to the block of which the coefficient conversion is skipped.
  • the image processing apparatus includes a residual rearrangement unit that performs a residual rotation process that rearranges in a rotation direction around the axis.
  • An image processing method is that, for a block of residual data of image data in which coefficient conversion is skipped, each residual data is set to the center of the block based on the shape or size of the block.
  • This is an image processing method for performing a residual rotation process of rearranging in a rotation direction around the axis.
  • each residual data is calculated based on the shape or size of the block.
  • Residual rotation processing is performed in which the blocks are rearranged in the rotation direction about the center of the block.
  • First embodiment residual rotation according to blocks
  • Second embodiment application to image encoding device/image decoding device
  • Third embodiment application to adaptive orthogonal transform
  • Fourth embodiment application to inter prediction application block
  • Fifth embodiment residual rearrangement according to block shape
  • Sixth embodiment application to sub-block
  • Seventh embodiment (lossless coding) 8.
  • Non-Patent Document 1 (described above)
  • Non-Patent Document 2 Recommendation ITU-T H.264 (04/2017) “Advanced video coding for generic audiovisual services”, April 2017.
  • Non-Patent Document 3 Recommendation ITU-T H.265 (12/2016) “High efficiency video coding”, December 2016
  • Non-Patent Document 4 J. Chen, E. Alshina, GJ Sullivan, J.-R. Ohm, J. Boyce, "Algorithm Description of Joint Exploration Test Model (JEM7)", JVET-G1001, Joint Video Exploration Team (JVET).
  • Non-Patent Document 5 B. Bross, J. Chen, S. Liu, “Versatile Video Coding (Draft 3),” JVET-L1001, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC. JTC 1/SC 29/WG 11 12th Meeting: Macau, CN, 3-12 Oct. 2018
  • Non-Patent Document 6 JJ Chen, Y. Ye, S.
  • Non-Patent Document 7 J. Boyce (Intel), Y. Ye (InterDigital), Y.-W. Huang (Mediatek), M. Karczewicz (Qualcomm), E. Francois (Technicolor), W. Husak (Dolby), J. Ridge (Nokia), A.
  • Non-Patent Document 8 S. Yoo, J. Choi, J. Heo, J. Choi, L. Li, J. Lim, S. Kim (LGE), “Non-CE7: Residual rearrangement for transform skipped blocks”, JVET.
  • Non-Patent Document 9 B. Bross, T. Nguyen, P. Keydel, H. Schwarz, D. Marpe, T. Wiegand (HHI), "Non-CE8: Unified Transform Type Signaling and Residual Coding for Transform Skip", JVET. -M0464, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan.
  • Non-Patent Document 10 Y. Zhao, H. Gao, H. Yang, J. Chen (Huawei), "CE6: Sub-block transform for inter blocks (Test 6.4.1)", JVET-M0140, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
  • Non-Patent Document 11 S. De-Luxan-Hernandez, V. George, J. Ma, T. Nguyen, H. Schwarz, D. Marpe, T.
  • Non-Patent Document 12 B. Bross, J. Chen, S. Liu, “Versatile Video Coding (Draft 4),” JVET-M1001, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Macau, CN, 3-12 Oct.
  • Non-Patent Document 13 Sriram Sethuraman, "Non-CE9: Simplifications to DMVR search pattern and interpolation for refinement”, JVET-M0148-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC. 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
  • the contents described in the above non-patent documents are also the basis for determining support requirements.
  • Quad-Tree Block Structure, QTBT (Quad Tree Plus Binary Tree) Block Structure described in the above non-patent document is not directly described in the embodiment, it is within the disclosure range of the present technology, It shall meet the support requirements of the claims.
  • technical terms such as Parsing, Syntax, and Semantics are also within the scope of the disclosure of the present technology even when there is no direct description in the embodiments, Shall meet the support requirements in the range of.
  • a “block” (not a block indicating a processing unit) used for description as a partial region of an image (picture) or a processing unit indicates an arbitrary partial region in a picture unless otherwise specified,
  • the size, shape, characteristics, etc. are not limited.
  • “block” includes TB (Transform Block), TU (Transform Unit), PB (Prediction Block), PU (Prediction Unit), SCU (Smallest Coding Unit), and CU described in the above-mentioned non-patent document.
  • the block size may be specified indirectly.
  • the block size may be designated using identification information for identifying the size.
  • the block size may be designated by a ratio or a difference with the size of a reference block (for example, LCU or SCU).
  • the information indirectly designating the size as described above may be used as the information. By doing so, the amount of information can be reduced, and the coding efficiency may be improved in some cases.
  • the block size designation also includes designation of a block size range (for example, designation of an allowable block size range).
  • the term “encoding” includes not only the whole process of converting an image into a bitstream but also a part of the process. For example, it includes not only processing that includes prediction processing, orthogonal transformation, quantization, and arithmetic coding, but also processing that collectively refers to quantization and arithmetic coding, that includes prediction processing, quantization, and arithmetic coding. Including processing, etc.
  • decoding includes not only the whole process of converting a bitstream into an image, but also a part of the process.
  • it includes not only processing that includes inverse arithmetic decoding, inverse quantization, inverse orthogonal transform, prediction processing, etc., but also processing that includes inverse arithmetic decoding and inverse quantization, inverse arithmetic decoding, inverse quantization, and prediction processing. And comprehensive processing, and so on.
  • Non-Patent Document 1 in the case of encoding by skipping (omission) a conversion process of converting a residual between an image and its predicted image into coefficient data, in order to suppress a reduction in encoding efficiency, A method to sort the residual data has been proposed.
  • Non-Patent Document 1 As shown in A of FIG. 1, each residual data in the block to be processed is rotated 180 degrees about the center of the block (remaining in the rotation direction about the center of the block). Residual rotation processing (which sorts the difference data) was proposed.
  • coding efficiency can be improved by concentrating non-zero coefficients in the upper left of the block. Therefore, for example, when the non-zero coefficient (NZ) is concentrated in the lower right as shown in A of FIG. 1, compared with the case where the non-zero coefficient (NZ) is concentrated in the upper left as shown in B of FIG. It is easy to reduce coding efficiency.
  • coefficient conversion such as so-called orthogonal conversion is performed on the residual data, non-zero coefficients are likely to be concentrated in the upper left of the conversion coefficient as in the example of B of FIG.
  • Residual rotation processing described in Non-Patent Document 1 rotates residual data of a block in which such conversion processing is skipped by 180 degrees. By this processing, non-zero coefficients can be concentrated in the upper left as in the example of B of FIG. Therefore, it is possible to suppress a reduction in encoding efficiency.
  • Non-Patent Document 1 the condition determination as to whether or not to rearrange corresponds only to a square block, and an encoding method capable of forming a rectangular block. It was difficult to apply this sorting method to.
  • VVC Very Video Coding
  • VVC Very Video Coding
  • a predetermined threshold value for example, “4”
  • the residual rotation process is performed on the block. You may choose not to.
  • the residual rotation process may be performed on the block.
  • the residual rotation process may be performed on the block.
  • the residual rotation process may not be performed on the block. ..
  • the block size is equal to or smaller than the maximum size (conversion skip maximum size) at which coefficient conversion can be skipped.
  • the residual rotation process may be performed on the block. In other words, when the block size is larger than the maximum conversion skip size, the residual rotation process may not be performed on the block.
  • Non-Patent Document 8 proposes a method of rearranging the residuals according to a method of biasing the residuals.
  • a square indicates a block to be processed by residual data, and a shading in the block indicates a distribution tendency of residual values.
  • a darker value indicates a larger value, and a lighter value indicates a smaller value. That is, it is shown that the non-zero coefficient is biased to the dark part.
  • ⁇ Coeff Coding is designed on the assumption that the coefficients that have been orthogonally transformed are encoded. That is, it is designed to be optimal for encoding a block in which the level value of the upper left coefficient is large and the level value of the lower right coefficient is small in the frequency domain. Therefore, by performing the residual rearrangement as described above, the characteristics of the coefficient distribution can be made more appropriate for the coding designed in this way, and the reduction of the coding efficiency can be suppressed. be able to.
  • Non-Patent Document 8 the residuals were not rearranged in the case of the prediction direction (22 to 46) indicated by the arrow in the upper left non-gray portion of FIG. Therefore, the encoding efficiency may be reduced.
  • the residual rotation process may be performed on the block.
  • the residual rearrangement processing horizontal flip, vertical flip, depending on the intra prediction mode.
  • a 4 ⁇ 4 block 10 is processed as shown in A of FIG.
  • Each square represents residual data corresponding to one pixel in the captured image.
  • the numbers in the squares are the identification numbers of the respective residual data, and are added for convenience of explanation.
  • each residual data of the block 10 shown in FIG. 5A is rotated in the vertical direction with the horizontal dotted line 11 as an axis.
  • the arrangement of the residual data in the block 10 is reversed in the vertical direction.
  • each residual data of the block 10 shown in FIG. 5A is horizontally rotated about the vertical dotted line 12 as an axis.
  • FIG. 5C the arrangement of the residual data in the block 10 is reversed in the horizontal direction.
  • each residual data of the block 10 shown in FIG. 5A is horizontally rotated about the vertical dotted line 12 as an axis, and further horizontally rotated around the horizontal dotted line 11 as an axis. Rotate. By doing so, as shown in D of FIG. 5, the arrangement of each residual data can be rotated 180 degrees from the case of A of FIG.
  • FIG. 6 is a block diagram showing an example of the configuration of a residual rearrangement apparatus that is one mode of an image processing apparatus to which the present technology is applied.
  • the residual rearrangement apparatus 100 shown in FIG. 6 is an apparatus for rearranging residual data.
  • the residual sorting apparatus 100 includes a residual sorting controller 101 and a residual sorting processor 102.
  • the residual sorting control unit 101 performs processing relating to control of residual sorting.
  • the residual reordering control unit 101 can acquire parameters related to encoding such as predModeIntra (intraPredAngle), blockSize (nTbW, nTbH), CuPredMode (CU prediction type), transformSkipFlag, and resArrEnabledFlag.
  • ⁇ predModeIntra is a parameter that indicates the intra prediction mode.
  • intraPredAngle is a parameter indicating the prediction direction (angle) of the intra prediction.
  • blockSize is a parameter indicating the size of the block.
  • nTbW is a parameter indicating the horizontal length of the block, and nTbH is a parameter indicating the vertical length of the block.
  • CuPredMode is a parameter indicating the type of CU prediction.
  • transformSkipFlag is flag information indicating whether to skip coefficient transformation.
  • resArrEnabledFlag is a flag indicating ON/OFF of the function of the residual sorting process at the header level. That is, it is information indicating whether or not the residual rearrangement process is permitted.
  • the residual sorting control unit 101 can generate tsResArrAllowed, resArrIdx, and the like, which are control information for controlling the residual sorting process, based on those parameters.
  • tsResArrAllowed is a parameter indicating whether or not the residual rearrangement process in the transform skip/transform quantization bypass is applicable.
  • ResArrIdx is generated based on this tsResArrAllowed.
  • resArrIdx is a parameter indicating the method of rearranging residuals.
  • the residual rearrangement control unit 101 can supply this resArrIdx to the residual rearrangement processing unit 102. By supplying this resArrIdx, the residual sorting control unit 101 can control the residual sorting by the residual sorting processing unit 102.
  • the residual rearrangement processing unit 102 performs processing regarding residual rearrangement.
  • the residual rearrangement processing unit 102 can acquire resArrIdx supplied from the residual rearrangement control unit 101.
  • the residual rearrangement processing unit 102 can rearrange residual data based on the resArrIdx. That is, the residual rearrangement processing unit 102 acquires the input residual r, performs the residual rearrangement on the residual r according to resArrIdx, and outputs the residual r'after the rearrangement. can do.
  • the residual rearrangement control unit 101 derives tsResArrAllowed in step S101 based on the input various parameters.
  • An example of the method of deriving this tsResArrAllowed is shown in A of FIG. That is, in this case, the residual sorting control unit 101 derives tsResArrAllowed by using the equation (A1) shown in A of FIG.
  • the formula (A1) is shown below. Note that TH is a threshold value.
  • this tsResArrAllowed may be derived using the formula (A2) shown in B of FIG.
  • the formula (A2) is shown below. Note that TH is a threshold value.
  • step S102 the residual sorting control unit 101 determines whether tsResArrAllowed is true. If tsResArrAllowed is true, that is, if it is determined that the residual rearrangement process is applicable, the process proceeds to step S103.
  • step S103 the residual sorting control unit 101 sets resArrIdx by a predetermined method.
  • An example of the setting method of this resArrId is shown in A of FIG. That is, in this case, the residual sorting control unit 101 derives resArrId by using the equation (B1) shown in A of FIG. Formula (B1) is also shown below.
  • resArrIdx is set to RES_ARR_ROTATE. That is, the residual rotation process is applied. Otherwise, resArrIdx is set to NO_RES_ARR. That is, the residuals are not rearranged (skipped).
  • transform_skip_rotation_enabled_flag When setting resArrIdx by this method, resArrEnabledFlag is set as transform_skip_rotation_enabled_flag.
  • An example of the syntax of this transform_skip_rotation_enabled_flag is shown in A of FIG. 9, and an example of the semantics is shown in B of FIG. That is, this transform_skip_rotation_enabled_flag is stored in, for example, a sequence parameter set (SPS (Sequence Parameter Set)).
  • SPS Sequence Parameter Set
  • the storage location of transform_skip_rotation_enabled_flag is arbitrary and may be other than SPS.
  • transform_skip_rotation_enabled_flag When the value of this transform_skip_rotation_enabled_flag is “1”, the rotation is applied to the block whose width and height are equal to or smaller than the predetermined threshold value TH, which has been skipped. When the value of transform_skip_rotation_enabled_flag is “0”, rotation is not applied. When transform_skip_rotation_enabled_flag is omitted, the value of transform_skip_rotation_enabled_flag is estimated to be “0”.
  • this resArrIdx may be derived using the formula (B2) shown in B of FIG.
  • the formula (B2) is shown below.
  • the residual sorting method is set as follows. For example, when the intra prediction mode number (intraPredAngle) indicating the prediction direction of intra prediction is (HOR_IDX + deltaAngle) or less, resArrIdx is set to RES_ARR_HOR_FLIP. That is, horizontal flip is applied. When the intra prediction mode number is between (VER_IDX - deltaAngle) and maxIntraPredAngle, resArrIdx is set to RES_ARR_VER_FLIP. That is, vertical flip is applied.
  • intraPredAngle intra prediction mode number
  • resArrIdx is set to RES_ARR_VER_FLIP. That is, vertical flip is applied.
  • resArrIdx is set to RES_ARR_ROTATE. That is, rotation is applied. Further, otherwise, resArrIdx is set to NO_RES_ARR. That is, the residual sorting is not applied.
  • deltaAngle 3.
  • the value of deltaAngle is arbitrary and may be any other value.
  • maxIntraPredAngle indicates the upper limit value (for example, 80) of intraPredAngle.
  • intraPredAngle may be the intra prediction mode number predModeIntra on VVC (see Non-Patent Document 5) WD, or the intra prediction mode number for wideAngle Prediction is mapped to the intra prediction mode number that is actually used. It may be a later intra prediction mode number.
  • transform_skip_residual_arrangement_enabled_flag When setting resArrIdx by this method, resArrEnabledFlag is set as transform_skip_residual_arrangement_enabled_flag.
  • An example of the syntax of this transform_skip_residual_arrangement_enabled_flag is shown in A of FIG. 10, and an example of the semantics is shown in B of FIG. That is, this transform_skip_residual_arrangement_enabled_flag is stored in, for example, the sequence parameter set.
  • the storage location of transform_skip_residual_arrangement_enabled_flag is arbitrary and may be other than SPS.
  • transform_skip_residual_arrangement_enabled_flag When the value of this transform_skip_residual_arrangement_enabled_flag is "1”, rotation or flip is applied to the block whose width and height are equal to or less than the predetermined threshold TH, which has been skipped. When the value of transform_skip_residual_arrangement_enabled_flag is “0”, neither rotation nor flip is applied. When transform_skip_residual_arrangement_enabled_flag is omitted, the value of transform_skip_residual_arrangement_enabled_flag is estimated to be “0”.
  • step S103 when the process of step S103 ends, the process proceeds to step S105. If it is determined in step S102 that tsResArrAllowed is false, that is, the residual rearrangement process is not applicable, the process proceeds to step S104.
  • step S104 the residual sorting control unit 101 sets resArrIdx to NO_RES_ARR. That is, the residual sorting is not applied.
  • step S104 ends, the process proceeds to step S105.
  • step S105 the residual rearrangement processing unit 102 appropriately rearranges the residuals of the block of the input residual r according to resArrIdx set in step S103 or step S104, and after rearrangement.
  • the residual r of is output. This rearrangement process is performed, for example, as shown in FIG.
  • the residual sorting process ends.
  • the residual rotation processing can be applied to the block for which the coefficient conversion is skipped, even in the coding method capable of forming the rectangular block, and the coding efficiency can be improved. Can be suppressed.
  • the present technology can be applied to an image encoding device that encodes image data.
  • FIG. 13 is a block diagram showing an example of the configuration of an image encoding device that is one aspect of an image processing device to which the present technology is applied.
  • the image encoding device 200 shown in FIG. 13 is a device that encodes image data of a moving image.
  • the image encoding device 200 encodes image data of a moving image by an encoding method capable of forming a rectangular block like VVC described in Non-Patent Document 5.
  • FIG. 13 shows main components such as a processing unit and a data flow, and the components shown in FIG. 13 are not necessarily all. That is, in the image encoding device 200, a processing unit not shown as a block in FIG. 13 may exist, or a process or data flow not shown as an arrow or the like in FIG. 13 may exist. This also applies to other drawings that describe the processing unit and the like in the image encoding device 200.
  • the image coding device 200 includes a control unit 201, a rearrangement buffer 211, a calculation unit 212, a transform quantization unit 213, a coding unit 214, and a storage buffer 215.
  • the image coding apparatus 200 also includes an inverse quantization unit 216, an inverse orthogonal transform unit 217, a calculation unit 218, an in-loop filter unit 219, a frame memory 220, a prediction unit 221, and a rate control unit 222.
  • the control unit 201 divides the moving image data held by the rearrangement buffer 211 into processing unit blocks (CU, PU, conversion blocks, etc.) based on the block size of the processing unit designated externally or in advance. ..
  • the control unit 201 determines the coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) to be supplied to each block, for example, based on RDO (Rate-Distortion Optimization). To do.
  • the control unit 201 can set a conversion skip flag or the like.
  • control unit 201 determines the above coding parameters, it supplies them to each block. Specifically, it is as follows.
  • Header information Hinfo is supplied to each block.
  • the prediction mode information Pinfo is supplied to the encoding unit 214 and the prediction unit 221.
  • the transform information Tinfo is supplied to the encoding unit 214, the transform quantization unit 213, the inverse quantization unit 216, and the inverse orthogonal transform unit 217.
  • the filter information Finfo is supplied to the in-loop filter unit 219.
  • ⁇ Sort buffer> Each field (input image) of moving image data is input to the image encoding device 200 in the reproduction order (display order).
  • the rearrangement buffer 211 acquires each input image in the reproduction order (display order) and holds (stores) it.
  • the rearrangement buffer 211 rearranges the input image in the encoding order (decoding order) or divides it into blocks of a processing unit under the control of the control unit 201.
  • the rearrangement buffer 211 supplies each processed input image to the calculation unit 212.
  • the calculation unit 212 subtracts the prediction image P supplied from the prediction unit 221 from the image corresponding to the block of the processing unit supplied from the rearrangement buffer 211 to derive the residual data D, and transform it It is supplied to the conversion unit 213.
  • the transform quantization unit 213 performs processing relating to coefficient transformation and quantization. For example, the transform quantization unit 213 can obtain the residual data supplied from the calculation unit 212, perform coefficient transform such as orthogonal transform on the residual data, and derive the transform coefficient Coeff. Also, the transform quantization unit 213 can scale (quantize) the transform coefficient Coeff to derive the quantized coefficient level. Furthermore, the transform quantization unit 213 can supply the quantized coefficient level to the encoding unit 115 and the inverse quantization unit 117.
  • the transform quantization unit 213 can acquire the prediction mode information Pinfo and the transform information Tinfo supplied from the control unit 201, and perform processing such as coefficient transform and quantization based on the information.
  • the rate of quantization performed by the transform quantization unit 213 is controlled by the rate control unit 222.
  • the transform quantization unit 213 can skip coefficient transform and quantization. Further, the transform quantization unit 213 can rearrange the residual data with respect to the block for which the coefficient transform has been skipped. For example, the transform quantization unit 213 can perform the residual rotation processing as described in the first embodiment on the block.
  • the transform quantization unit 213 uses the coding unit 214 and the dequantization unit to convert various data such as the quantization coefficient level obtained by quantizing the transform coefficient or the residual data, the residual data, and the rearranged residual data. 216. Therefore, in the following, data that the transform quantization unit 213 processes as a target of coefficient transformation, quantization, rearrangement, or the like, and is output as a processing result is referred to as coefficient data. That is, when there is no need to distinguish residual data, transform coefficients, quantized coefficients, and the like handled by the transform quantization unit 213 from each other, they are called coefficient data. That is, this coefficient data may include various data such as residual data, transform coefficients, and quantized coefficients.
  • the coding unit 214 includes the quantization coefficient level supplied from the transform quantization unit 213 and various coding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc. supplied from the control unit 201. ), information about filters such as filter coefficients supplied from the in-loop filter unit 219, and information about the optimum prediction mode supplied from the prediction unit 221.
  • the encoding unit 214 performs entropy encoding (reversible encoding) such as CABAC (Context-based Adaptive Binary Arithmetic Code) or CAVLC (Context-based Adaptive Variable Length Code) on the quantized coefficient level, and a bit string. (Encoded data) is generated.
  • entropy encoding reversible encoding
  • CABAC Context-based Adaptive Binary Arithmetic Code
  • CAVLC Context-based Adaptive Variable Length Code
  • the encoding unit 214 also derives residual information Rinfo from the quantized coefficient level, encodes the residual information Rinfo, and generates a bit string.
  • the encoding unit 214 includes the information about the filter supplied from the in-loop filter unit 219 in the filter information Finfo and the information about the optimum prediction mode supplied from the prediction unit 221 in the prediction mode information Pinfo. Then, the encoding unit 214 encodes the above-described various encoding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, filter information Finfo, etc.) to generate a bit string.
  • the encoding unit 214 also multiplexes the bit strings of various information generated as described above to generate encoded data.
  • the encoding unit 214 supplies the encoded data to the accumulation buffer 215.
  • the accumulation buffer 215 temporarily holds the encoded data obtained by the encoding unit 214.
  • the accumulation buffer 215 outputs the held encoded data to the outside of the image encoding device 200 as a bit stream or the like at a predetermined timing.
  • this encoded data is transmitted to the decoding side via an arbitrary recording medium, an arbitrary transmission medium, an arbitrary information processing device, or the like. That is, the accumulation buffer 215 is also a transmission unit that transmits encoded data (bit stream).
  • the inverse quantization unit 216 performs processing relating to inverse quantization. For example, the inverse quantization unit 216 receives the quantization coefficient level supplied from the conversion quantization unit 213 and the conversion information Tinfo supplied from the control unit 201, and based on the conversion information Tinfo, the quantization coefficient level. Scale (dequantize) the value of level. The inverse quantization is an inverse process of the quantization performed by the transform quantization unit 213. The inverse quantization unit 216 supplies the transform coefficient Coeff_IQ obtained by such inverse quantization to the inverse orthogonal transform unit 217.
  • the inverse orthogonal transform unit 217 performs processing related to inverse orthogonal transform. For example, the inverse orthogonal transform unit 217 inputs the transform coefficient supplied from the dequantization unit 216 and the transform information Tinfo supplied from the control unit 201, and based on the transform information Tinfo, the transform coefficient with respect to the transform coefficient. Inverse coefficient conversion is performed to derive residual data D'.
  • the inverse coefficient transform (for example, inverse orthogonal transform) is an inverse process of the coefficient transform (for example, orthogonal transform) performed by the transform quantization unit 213.
  • the inverse orthogonal transformation unit 217 supplies the residual data D′ obtained by such inverse coefficient transformation to the calculation unit 218.
  • the inverse quantization unit 216 and the inverse orthogonal transformation unit 217 may be configured as one block (for example, the inverse quantization inverse transformation unit) so as to correspond to the transformation quantization unit 213.
  • the decoding side (image decoding device 300) described later also has the same processing unit. Therefore, the dequantization and inverse transformation unit will be described on the decoding side (image decoding apparatus 300). In other words, the description on the decoding side (image decoding device 300) can be applied to this inverse quantization inverse transformation unit (inverse quantization unit 216 and inverse orthogonal transformation unit 217).
  • the calculation unit 218 receives the residual data D′ supplied from the inverse orthogonal transform unit 217 and the prediction image P supplied from the prediction unit 221 as inputs.
  • the calculation unit 218 adds the residual data D′ and the prediction image corresponding to the residual data D′ to derive a locally decoded image.
  • the calculation unit 119 supplies the derived locally decoded image to the in-loop filter unit 219 and the frame memory 220.
  • the in-loop filter unit 219 performs processing relating to in-loop filter processing.
  • the in-loop filter unit 219 inputs the locally decoded image supplied from the calculation unit 218, the filter information Finfo supplied from the control unit 201, and the input image (original image) supplied from the rearrangement buffer 211.
  • the information input to the in-loop filter unit 219 is arbitrary, and information other than this information may be input.
  • the prediction mode, motion information, code amount target value, quantization parameter QP, picture type, block (CU, CTU, etc.) information, etc. may be input to the in-loop filter unit 120 as necessary. Good.
  • the in-loop filter unit 219 appropriately performs filter processing on the locally decoded image based on the filter information Finfo.
  • the in-loop filter unit 219 also uses the input image (original image) and other input information for the filtering process as necessary.
  • the in-loop filter unit 219 includes a bilateral filter, a deblocking filter (DBF (DeBlocking Filter)), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF (Adaptive Loop Filter)).
  • DPF DeBlocking Filter
  • SAO Sample Adaptive Offset
  • ALF adaptive Loop Filter
  • the filter processing performed by the in-loop filter unit 219 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 219 may apply a Wiener filter or the like.
  • the in-loop filter unit 219 supplies the filtered locally decoded image to the frame memory 220.
  • the in-loop filter unit 219 supplies the information regarding the filter to the encoding unit 214.
  • the frame memory 220 performs processing related to storage of data related to images. For example, the frame memory 220 receives the locally decoded image supplied from the calculation unit 119 or the filtered locally decoded image supplied from the in-loop filter unit 219, and holds (stores) it. Further, the frame memory 220 reconstructs a decoded image for each picture unit using the locally decoded image and holds it (stores it in a buffer in the frame memory 220). The frame memory 220 supplies the decoded image (or a part thereof) to the prediction unit 221 in response to a request from the prediction unit 221.
  • the prediction unit 221 performs processing regarding generation of a predicted image.
  • the prediction unit 221 receives the prediction mode information Pinfo supplied from the control unit 201, the input image (original image) supplied from the rearrangement buffer 211, and the decoded image (or part thereof) read from the frame memory 220. Input it.
  • the prediction unit 221 performs prediction processing such as inter prediction and intra prediction using the prediction mode information Pinfo and the input image (original image), performs prediction by referring to the decoded image as a reference image, and based on the prediction result.
  • a motion compensation process is performed to generate a predicted image.
  • the prediction unit 221 supplies the generated predicted image to the calculation unit 212 and the calculation unit 218.
  • the prediction unit 221 supplies the prediction mode selected by the above processing, that is, information regarding the optimum prediction mode, to the encoding unit 214 as necessary.
  • the rate control unit 222 performs processing relating to rate control. For example, the rate control unit 222 controls the rate of the quantization operation of the transform quantization unit 213 based on the code amount of the encoded data accumulated in the accumulation buffer 215 so that overflow or underflow does not occur.
  • FIG. 14 is a block diagram showing a main configuration example of the transform quantization unit 213 of FIG.
  • the transform quantization unit 213 includes a selection unit 231, a conversion unit 232, a selection unit 233, a quantization unit 234, a selection unit 235, and a residual rearrangement unit 236.
  • the conversion unit 232 performs coefficient conversion on the residual data r input via the selection unit 231, and generates conversion coefficients.
  • the conversion unit 232 supplies the conversion coefficient to the selection unit 233.
  • the quantization unit 234 quantizes the transform coefficient input via the selection unit 233 or the rearranged residual data r input via the selection unit 233 to generate a quantization coefficient level.
  • the quantization unit 234 supplies the generated quantization coefficient level to the encoding unit 214 and the inverse quantization unit 216.
  • the residual rearrangement unit 236 performs processing regarding rearrangement of residual data.
  • the residual rearrangement unit 236 can acquire the residual data r input via the selection unit 231. Further, the residual rearrangement unit 236 can rearrange the residual data r.
  • the residual sorting section 236 can perform residual rotation processing as the residual sorting processing.
  • the residual sorting unit 236 may be configured to be able to perform horizontal flip, vertical flip, and the like as the residual sorting process. Then, the residual rearrangement unit 236 can supply the rearranged residual data r′ to the selection unit 233.
  • the selection unit 231 supplies the residual data r input to the conversion quantization unit 213 to the residual rearrangement unit 236. .. Further, the selection unit 233 acquires the residual data r′ supplied from the residual rearrangement unit 236 and supplies it to the selection unit 235. Furthermore, the selection unit 235 acquires the residual data r′ supplied from the selection unit 233 and supplies it to the encoding unit 214 and the inverse quantization unit 216.
  • the residual rearrangement device 100 described in the first embodiment can be applied to the residual rearrangement unit 236 of the transform quantization unit 213. That is, the residual rearrangement unit 236 may have the configuration shown in FIG. 6 and perform the residual rearrangement processing in the flow of the flowchart shown in FIG. By doing so, the residual rearrangement unit 236, as described in the first embodiment, selects a block for which coefficient conversion has been skipped, even if the coding method is capable of forming a rectangular block. On the other hand, the residual rotation process can be applied, and the reduction in coding efficiency can be suppressed. That is, the present technology described in the first embodiment can be applied not only to the residual sorting apparatus 100 but also to the image coding apparatus 200.
  • transform quantization bypass flag (transQuantBypassFlag) and the transform skip flag (transformSkipFlag) are decoded/encoded in CU/TU units.
  • transformSkipFlag may be decoded/encoded as a part of MTS index(mts_idx).
  • resArrIdx is assumed to have been derived in CU/TU units.
  • the rearrangement buffer 211 is controlled by the control unit 301 to rearrange the order of the frames of the input moving image data from the display order to the encoding order in step S201.
  • step S202 the control unit 201 sets a processing unit (block division) for the input image held by the rearrangement buffer 211.
  • step S203 the control unit 201 determines (sets) the coding parameter for the input image held by the rearrangement buffer 211.
  • the prediction unit 221 performs a prediction process to generate a predicted image in the optimum prediction mode and the like. For example, in this prediction process, the prediction unit 221 performs intra prediction to generate a predicted image in the optimal intra prediction mode and the like, performs inter prediction to generate a predicted image in the optimal inter prediction mode, and the like.
  • the optimum prediction mode is selected from among them based on the cost function value and the like.
  • step S205 the calculation unit 212 calculates the difference between the input image and the predicted image of the optimum mode selected by the prediction process of step S204. That is, the calculation unit 212 generates the residual data D between the input image and the predicted image.
  • the residual data D thus obtained has a smaller data amount than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S206 the transform quantization unit 213 performs transform quantization processing on the residual data D generated by the processing of step S205 according to the transform mode information generated in step S203.
  • step S207 the inverse quantization unit 216 and the inverse orthogonal transformation unit 217 perform the inverse quantization inverse orthogonal transformation process.
  • the inverse quantization inverse orthogonal transform process is an inverse process of the transform quantization process of step S206, and the same process is executed on the decoding side (image decoding device 300) described later. Therefore, the description of the inverse quantization inverse orthogonal transform process will be given when the decoding side (image decoding device 300) is described. The description can be applied to this inverse quantization inverse orthogonal transform process (step S207).
  • the inverse quantization unit 216 and the inverse orthogonal transformation unit 217 appropriately perform inverse quantization or inverse operation on the input coefficient data (quantization coefficient level or rearranged residual data r′). Residual data D'is generated by performing coefficient conversion.
  • the inverse quantizer 216 and the inverse orthogonal transformer 217 supply the residual data D′ to the calculator 218.
  • step S208 the calculation unit 218 locally decodes the residual data D′ derived by the inverse quantization inverse transformation process of step S207 by adding the prediction image obtained by the prediction process of step S204. Generate the decoded image.
  • step S209 the in-loop filter unit 219 performs in-loop filter processing on the locally decoded decoded image derived by the processing in step S208.
  • step S210 the frame memory 220 stores the locally decoded decoded image derived by the process of step S208 and the locally decoded decoded image filtered in step S209.
  • step S211 the encoding unit 214 encodes the quantization coefficient level obtained by the process of step S206 and the conversion mode information generated in step S203.
  • the encoding unit 214 encodes the quantized coefficient level, which is information about an image, by arithmetic encoding or the like to generate encoded data.
  • the encoding unit 214 encodes various encoding parameters (header information Hinfo, prediction mode information Pinfo, conversion information Tinfo). Further, the encoding unit 214 derives residual information RInfo from the quantized coefficient level and encodes the residual information RInfo.
  • step S212 the accumulation buffer 215 accumulates the encoded data thus obtained and outputs it as a bit stream to the outside of the image encoding device 200, for example.
  • This bit stream is transmitted to the decoding side, for example, via a transmission line or a recording medium.
  • step S212 the rate control unit 222 performs rate control as needed.
  • step S116 ends, the image coding process ends.
  • step S242 the selection unit 231, the selection unit 233, and the selection unit 235 determine whether to perform the conversion skip.
  • the process proceeds to step S243.
  • the selection unit 231 supplies the residual data r to the conversion unit 232.
  • step S243 the conversion unit 232 performs coefficient conversion on the residual data r to generate conversion coefficients.
  • This coefficient conversion method is arbitrary.
  • the conversion unit 232 supplies the conversion coefficient to the selection unit 233.
  • the selecting unit 233 acquires the transform coefficient from the transforming unit 232 and supplies it to the quantizing unit 234.
  • the selection unit 231 supplies the residual data r to the residual rearrangement unit 236.
  • step S244 the residual rearrangement unit 236 performs the residual rearrangement processing as described with reference to the flowchart of FIG. 7, and rearranges the residual data r.
  • the residual rearrangement unit 236 supplies the rearranged residual data r′ to the selection unit 233.
  • the selection unit 233 supplies the residual data r′ to the quantization unit 234.
  • step S245 the quantization unit 234 quantizes the transform coefficient generated in step S243 or the rearranged residual data r′ generated in step S244 to generate a quantized coefficient level. To do.
  • the quantization unit 234 supplies the quantized coefficient to the selection unit 235.
  • the selecting unit 235 acquires the quantized coefficient level from the quantizing unit 234 and supplies it to the encoding unit 214 and the inverse quantizing unit 216.
  • the transform quantization process ends.
  • step S246 the residual rearrangement unit 236 performs the residual rearrangement process as described with reference to the flowchart of FIG. 7, and rearranges the residual data r.
  • the residual rearrangement unit 236 supplies the rearranged residual data r′ to the selection unit 233.
  • the selection unit 233 supplies the residual data r′ to the selection unit 235.
  • the selection unit 235 supplies the residual data r′ to the encoding unit 214 and the inverse quantization unit 216.
  • Image decoding device The present technology described in the first embodiment can also be applied to an image decoding device that decodes encoded data of image data.
  • FIG. 17 is a block diagram showing an example of the configuration of an image decoding device that is one aspect of an image processing device to which the present technology is applied.
  • the image decoding device 300 illustrated in FIG. 17 is a device that decodes encoded data of a moving image.
  • the image decoding device 300 decodes the encoded data of a moving image encoded by an encoding method that can form a rectangular block like VVC described in Non-Patent Document 5.
  • the image decoding device 300 can decode the encoded data (bit stream) generated by the image encoding device 200 described above.
  • FIG. 17 shows main components such as a processing unit and a data flow, and the components shown in FIG. 17 are not necessarily all. That is, in the image decoding apparatus 300, a processing unit not shown as a block in FIG. 17 may exist, or a process or data flow not shown as an arrow or the like in FIG. 17 may exist. This also applies to other drawings that explain the processing unit and the like in the image decoding apparatus 300.
  • the image decoding device 300 includes a storage buffer 311, a decoding unit 312, an inverse quantization inverse conversion unit 313, a calculation unit 314, an in-loop filter unit 315, a rearrangement buffer 316, a frame memory 317, and a prediction unit 318. I have it.
  • the prediction unit 318 includes an intra prediction unit and an inter prediction unit (not shown).
  • the accumulation buffer 311 acquires the bit stream input to the image decoding device 300 and holds (stores) it.
  • the accumulation buffer 311 extracts the encoded data included in the accumulated bitstream at a predetermined timing or when a predetermined condition is met, and supplies the encoded data to the decoding unit 312.
  • the decoding unit 312 performs processing related to image decoding. For example, the decoding unit 312 receives the encoded data supplied from the accumulation buffer 311, and performs entropy decoding (reversible decoding) of the syntax value of each syntax element from the bit string according to the definition of the syntax table. , Derive the parameters.
  • the parameter derived from the syntax element and the syntax value of the syntax element includes information such as header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, residual information Rinfo, and filter information Finfo. That is, the decoding unit 312 parses (analyzes and obtains) such information from the bitstream. These pieces of information will be described below.
  • the header information Hinfo includes header information such as VPS (Video Parameter Set)/SPS (Sequence Parameter Set)/PPS (Picture Parameter Set)/PH (Picture Header)/SH (Slice Header).
  • the header information Hinfo includes, for example, image size (width PicWidth, height PicHeight), bit depth (luminance bitDepthY, color difference bitDepthC), color difference array type ChromaArrayType, CU size maximum value MaxCUSize/minimum value MinCUSize, and quadtree partitioning ( Quad-tree split) maximum depth MaxQTDepth/minimum depth MinQTDepth, binary tree split (Binary-tree split) maximum depth MaxBTDepth/minimum depth MinBTDepth, maximum value of transform skip block MaxTSSize (also called max transform skip block size) ), information that defines an on/off flag (also referred to as a valid flag) of each encoding tool, and the like.
  • image size width PicWidth, height PicHeight
  • bit depth luminance bitDepthY, color difference bitDepthC
  • color difference array type ChromaArrayType CU size maximum value MaxCUSize/minimum value MinCUSize
  • the on/off flag of the encoding tool included in the header information Hinfo there are on/off flags related to the conversion and quantization processing shown below.
  • the on/off flag of the coding tool can also be interpreted as a flag indicating whether or not the syntax related to the coding tool is present in the coded data. Further, when the value of the on/off flag is 1 (true), it indicates that the coding tool can be used, and when the value of the on/off flag is 0 (false), the coding tool is unusable. Show. The interpretation of the flag value may be reversed.
  • Inter-component prediction enable flag (ccp_enabled_flag): This is flag information indicating whether inter-component prediction (also called CCP (Cross-Component Prediction) or CC prediction) can be used. For example, if the flag information is “1” (true), it indicates that the flag can be used, and if the flag information is “0” (false), it indicates that the flag cannot be used.
  • CCP inter-component linear prediction
  • CCLM inter-component linear prediction
  • CCLMP inter-component linear prediction
  • the prediction mode information Pinfo includes information such as size information PBSize (prediction block size) of the processing target PB (prediction block), intra prediction mode information IPinfo, and motion prediction information MVinfo.
  • the intra prediction mode information IPinfo includes, for example, prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode in JCTVC-W1005, 7.3.8.5 Coding Unit syntax, and luminance intra prediction mode IntraPredModeY derived from the syntax.
  • the intra prediction mode information IPinfo includes, for example, inter-component prediction flag (ccp_flag (cclmp_flag)), multi-class linear prediction mode flag (mclm_flag), color difference sample position type identifier (chroma_sample_loc_type_idx), color difference MPM identifier (chroma_mpm_idx), and , Luminance intra prediction mode (IntraPredModeC) and the like derived from these syntaxes are included.
  • inter-component prediction flag ccp_flag (cclmp_flag)
  • mclm_flag multi-class linear prediction mode flag
  • chroma_sample_loc_type_idx color difference MPM identifier
  • Luminance intra prediction mode Luminance intra prediction mode
  • Multi-class linear prediction mode flag is information about the linear prediction mode (linear prediction mode information). More specifically, the multi-class linear prediction mode flag (mclm_flag) is flag information indicating whether to set the multi-class linear prediction mode. For example, "0" indicates that it is a one-class mode (single class mode) (for example, CCLMP), and "1" indicates that it is a two-class mode (for multi-class mode) (for example MCLMP). ..
  • the color difference sample position type identifier (chroma_sample_loc_type_idx) is an identifier that identifies the type of pixel position of the color difference component (also called the color difference sample position type).
  • this color difference sample position type identifier (chroma_sample_loc_type_idx) is transmitted (stored in) as information (chroma_sample_loc_info()) related to the pixel position of the color difference component.
  • the color difference MPM identifier (chroma_mpm_idx) is an identifier indicating which prediction mode candidate in the color difference intra prediction mode candidate list (intraPredModeCandListC) is designated as the color difference intra prediction mode.
  • the information included in the prediction mode information Pinfo is arbitrary, and information other than these information may be included.
  • the conversion information Tinfo includes, for example, the following information.
  • the information included in the conversion information Tinfo is arbitrary, and information other than these information may be included.
  • Conversion skip flag (ts_flag): This flag indicates whether (reverse) primary conversion and (reverse) secondary conversion are skipped.
  • Scan identifier (scanIdx) Quantization parameter (qp) Quantization matrix (scaling_matrix (eg JCTVC-W1005, 7.3.4 Scaling list data syntax))
  • the residual information Rinfo includes, for example, the following syntax.
  • cbf (coded_block_flag): Residual data existence flag last_sig_coeff_x_pos: Last non-zero coefficient X coordinate last_sig_coeff_y_pos: Last non-zero coefficient Y coordinate coded_sub_block_flag: Sub-block non-zero coefficient existence flag sig_coeff_flag: Non-zero coefficient existence flag gr1_flag: Non-zero coefficient level Flag indicating whether it is greater than 1 (also called GR1 flag)
  • gr2_flag Flag indicating whether the level of non-zero coefficient is greater than 2 (also called GR2 flag)
  • sign_flag A code that indicates whether the non-zero coefficient is positive or negative (also called sign code) coeff_abs_level_remaining: Non-zero coefficient residual level (also called non-zero coefficient residual level) Such.
  • the information included in the residual information Rinfo is arbitrary, and information other than these information may be included.
  • the filter information Finfo includes, for example, control information regarding each filter process described below.
  • DPF Deblocking filter
  • SAO Pixel adaptive offset
  • ALF Adaptive loop filter
  • filter information Finfo is arbitrary, and information other than these information may be included.
  • the decoding unit 312 derives the quantized coefficient level at each coefficient position in each transform block by referring to the residual information Rinfo.
  • the decoding unit 312 supplies the quantized coefficient level to the inverse quantization inverse conversion unit 313.
  • the decoding unit 312 supplies the parsed header information Hinfo, prediction mode information Pinfo, conversion information Tinfo, and filter information Finfo to each block. Specifically, it is as follows.
  • the header information Hinfo is supplied to the inverse quantization inverse conversion unit 313, the prediction unit 318, and the in-loop filter unit 315.
  • the prediction mode information Pinfo is supplied to the inverse quantization inverse transform unit 313 and the prediction unit 318.
  • the conversion information Tinfo is supplied to the inverse quantization inverse conversion unit 313.
  • the filter information Finfo is supplied to the in-loop filter unit 315.
  • each coding parameter may be supplied to an arbitrary processing unit.
  • other information may be supplied to any processing unit.
  • the inverse quantization inverse transformation unit 313 performs processing relating to inverse quantization and inverse coefficient transformation.
  • the inverse quantization inverse transform unit 313 acquires the coefficient data to be processed supplied from the decoding unit 312.
  • This coefficient data may be, for example, a quantization coefficient level obtained by quantizing a transform coefficient or residual data, residual data, or rearranged residual data. ..
  • the inverse quantization inverse transformation unit 313 can derive the transformation coefficient Coeff_IQ by scaling (inverse quantization) the value of the acquired coefficient data. Further, the inverse quantization inverse transform unit 313 can derive the residual data D′ by performing an inverse coefficient transform such as an inverse orthogonal transform on the transform coefficient Coeff_IQ. Further, the inverse quantization/inverse transforming unit 313 can supply the residual data D′ to the computing unit 314.
  • the inverse quantization inverse transformation unit 313 acquires the prediction mode information Pinfo and the transformation information Tinfo supplied from the decoding unit 312, and performs processing such as inverse quantization and inverse coefficient transformation based on the information. You can
  • the inverse quantization inverse transform unit 313 can skip inverse quantization and inverse coefficient transform. Also, the inverse quantization inverse transform unit 313 can rearrange the residual data with respect to the block for which the inverse coefficient transform is skipped. For example, the inverse quantization inverse transform unit 313 can perform the residual rotation processing as described in the first embodiment on the block.
  • the calculation unit 314 performs processing regarding addition of information regarding images. For example, the calculation unit 314 receives the residual data D′ supplied from the inverse quantization inverse conversion unit 313 and the prediction image supplied from the prediction unit 318 as inputs. The calculation unit 314 adds the residual data and a prediction image (prediction signal) corresponding to the residual data to derive a locally decoded image.
  • the calculation unit 314 supplies the derived locally decoded image to the in-loop filter unit 315 and the frame memory 317.
  • the in-loop filter unit 315 performs processing related to in-loop filter processing.
  • the in-loop filter unit 315 receives the locally decoded image supplied from the calculation unit 314 and the filter information Finfo supplied from the decoding unit 312 as inputs.
  • the information input to the in-loop filter unit 315 is arbitrary, and information other than this information may be input.
  • the in-loop filter unit 315 appropriately filters the locally decoded image based on the filter information Finfo.
  • the in-loop filter unit 315 includes a bilateral filter, a deblocking filter (DBF (DeBlocking Filter)), an adaptive offset filter (SAO (Sample Adaptive Offset)), and an adaptive loop filter (ALF (Adaptive Loop Filter)). Apply one in-loop filter in this order. Note that which filter is applied and in what order is arbitrary, and can be appropriately selected.
  • DPF DeBlocking Filter
  • SAO Sample Adaptive Offset
  • ALF adaptive Loop Filter
  • the in-loop filter unit 315 performs a filter process corresponding to the filter process performed by the encoding side (for example, the in-loop filter unit 219 of the image encoding device 200).
  • the filtering process performed by the in-loop filter unit 315 is arbitrary and is not limited to the above example.
  • the in-loop filter unit 315 may apply a Wiener filter or the like.
  • the in-loop filter unit 315 supplies the filtered locally decoded image to the rearrangement buffer 316 and the frame memory 317.
  • the rearrangement buffer 316 receives the locally decoded image supplied from the in-loop filter unit 315 as input, and holds (stores) it.
  • the rearrangement buffer 316 reconstructs a decoded image for each picture unit using the locally decoded image and holds it (stores it in the buffer).
  • the sorting buffer 316 sorts the obtained decoded images from the decoding order to the reproduction order.
  • the rearrangement buffer 316 outputs the rearranged decoded image group as moving image data to the outside of the image decoding device 300.
  • the frame memory 317 performs processing related to storage of data related to images. For example, the frame memory 317 receives the locally decoded image supplied from the calculation unit 314 as an input, reconstructs the decoded image for each picture unit, and stores the decoded image in the buffer in the frame memory 317.
  • the frame memory 317 receives the in-loop filtered local decoded image supplied from the in-loop filter unit 315 as an input, reconstructs a decoded image for each picture unit, and stores the decoded image in a buffer in the frame memory 317. To do.
  • the frame memory 317 appropriately supplies the stored decoded image (or a part thereof) to the prediction unit 318 as a reference image.
  • the frame memory 317 may store the header information Hinfo, the prediction mode information Pinfo, the conversion information Tinfo, the filter information Finfo, and the like related to the generation of the decoded image.
  • FIG. 18 is a block diagram showing a main configuration example of the inverse quantization inverse transformation unit 313 of FIG.
  • the inverse quantization inverse conversion unit 313 includes a selection unit 331, an inverse quantization unit 332, a selection unit 333, an inverse conversion unit 334, a selection unit 335, and a residual rearrangement unit 336.
  • the inverse quantization unit 332 inversely quantizes the quantized coefficient level input via the selection unit 331 to generate coefficient data (transform coefficient or rearranged residual data r′).
  • the inverse quantization unit 332 supplies the generated coefficient data (transform coefficient or rearranged residual data r′) to the selection unit 333.
  • the inverse transform unit 334 performs inverse coefficient transform on the transform coefficient input via the selection unit 333 to generate residual data r′.
  • the inverse transformation unit 334 supplies the residual data r′ to the selection unit 335.
  • the residual sorting section 336 performs processing relating to sorting of residual data.
  • the residual rearrangement unit 336 can acquire the rearranged residual data r′ input via the selection unit 333.
  • the residual rearrangement unit 336 can rearrange the residual data r′ to generate the residual data r before rearrangement.
  • the residual sorting section 336 can perform residual rotation processing as the residual sorting processing.
  • the residual sorting unit 336 may be configured to be able to perform horizontal flip, vertical flip, and the like as the residual sorting process. Then, the residual rearrangement unit 336 can supply the residual data r before rearrangement to the selection unit 335.
  • the selecting unit 331 selects the quantizing coefficient level input to the inverse quantizing inverse transform unit 313. Is supplied to the inverse quantization unit 332.
  • the selection unit 333 also acquires the transform coefficient supplied from the inverse quantization unit 332, and supplies it to the residual rearrangement unit 336. Further, the selection unit 335 acquires the residual data r supplied from the residual rearrangement unit 336 and supplies it to the calculation unit 314.
  • the selection unit 331 outputs the residual data r′ input to the inverse quantization inverse transform unit 313 to the selection unit 333.
  • the selection unit 333 also supplies the residual data r′ to the residual rearrangement unit 336.
  • the selection unit 335 acquires the residual data r supplied from the residual rearrangement unit 336, and supplies it to the calculation unit 314.
  • the residual rearrangement apparatus 100 described in the first embodiment can be applied to the residual rearrangement unit 336 of the inverse quantization/inverse transform unit 313. That is, the residual rearrangement unit 336 may have the configuration shown in FIG. 6 and perform the residual rearrangement processing in the flow of the flowchart shown in FIG. By doing so, the residual rearrangement unit 336 selects a block in which coefficient conversion is skipped, even with the encoding method that can form a rectangular block, as described in the first embodiment. On the other hand, the residual rotation process can be applied, and the reduction in coding efficiency can be suppressed. That is, the present technology described in the first embodiment can be applied not only to the residual sorting apparatus 100 but also to the image decoding apparatus 300.
  • transform quantization bypass flag (transQuantBypassFlag) and the transform skip flag (transformSkipFlag) are decoded/encoded in CU/TU units.
  • transformSkipFlag may be decoded/encoded as a part of MTS index(mts_idx).
  • resArrIdx is assumed to have been derived in CU/TU units.
  • the accumulation buffer 311 acquires and holds (accumulates) a bitstream (encoded data) supplied from outside the image decoding device 300 in step S301.
  • step S302 the decoding unit 312 extracts coded data from the bitstream and decodes the coded data to obtain coefficient data (quantized coefficient level or residual data r′). In addition, the decoding unit 312 parses (analyzes and acquires) various coding parameters from the bitstream by this decoding.
  • step S303 the inverse quantization inverse transformation unit 313 performs inverse quantization inverse transformation processing to generate residual data r(D').
  • the inverse quantization and inverse transform process will be described later.
  • step S304 the prediction unit 318 executes prediction processing based on the information parsed in step S302 by the prediction method specified by the encoding side, and refers to the reference image stored in the frame memory 317. Then, the predicted image P is generated.
  • step S305 the calculation unit 314 adds the residual data D′ obtained in step S303 and the prediction image P obtained in step S304 to derive a locally decoded image R local .
  • step S306 the in-loop filter unit 315 performs in-loop filter processing on the local decoded image R local obtained by the processing in step S305.
  • step S307 the rearrangement buffer 316 derives the decoded image R using the filtered local decoded image R local obtained in the process of step S306, and changes the order of the decoded image R group from the decoding order to the reproduction order. Sort.
  • the decoded image R group rearranged in the reproduction order is output to the outside of the image decoding device 300 as a moving image.
  • step S308 the frame memory 317, local decoded image R local obtained by the processing in step S305, and, among the local decoded image R local after filtering obtained by the processing in step S306, at least one Remember.
  • step S308 ends, the image decoding process ends.
  • step S322 the dequantization unit 332 dequantizes the quantized coefficient level acquired via the selection unit 331 to generate a transform coefficient or residual data r′.
  • the inverse quantization unit 332 supplies the transform coefficient or the residual data r to the selection unit 333.
  • step S323 the selection unit 331, the selection unit 333, and the selection unit 335 determine whether to perform the conversion skip.
  • the process proceeds to step S324.
  • the selection unit 333 supplies the transform coefficient acquired from the inverse quantization unit 332 to the inverse transform unit 334.
  • step S324 the inverse transform unit 334 performs an inverse coefficient transform such as a so-called inverse orthogonal transform on the transform coefficient to generate residual data r.
  • the inverse transformation unit 334 supplies the residual data r to the selection unit 335.
  • the selection unit 335 supplies the residual data r to the calculation unit 314.
  • step S324 When the process of step S324 ends, the inverse quantization inverse transform process ends, and the process returns to FIG.
  • the selection unit 331 supplies the residual data r′ supplied to the inverse quantization inverse conversion unit 313 to the selection unit 333.
  • the selection unit 333 supplies the residual data r′ to the residual rearrangement unit 336.
  • the selection unit 333 supplies the residual data r′ acquired from the inverse quantization unit 332 to the residual rearrangement unit 336.
  • step S325 the residual rearrangement unit 336 performs the residual rearrangement processing as described with reference to the flowchart of FIG. 7, rearranges the residual data r′, and then the residual data r To generate.
  • the residual rearrangement unit 336 supplies the residual data r(D′) to the selection unit 335.
  • the selection unit 335 supplies the residual data r to the calculation unit 314.
  • the encoding method is a coding method (decoding method) capable of forming a rectangular block, a block in which coefficient conversion is skipped
  • the residual rotation process can be applied, and the reduction in coding efficiency can be suppressed.
  • ⁇ MTS> The following combinations are examples of combinations of two-dimensional orthogonal transforms that can be realized by MTS.
  • TrTypeHor, TrTypeVer (DCT2, DCT2), (DCT2, DST7), (DCT2, DCT8) (DST7, DCT2), (DST7, DST7), (DST7, DCT8) (DCT8, DCT2), (DCT8, DST7), (DCT8, DCT8)
  • trTypeHor represents the conversion type of orthogonal transformation in the horizontal direction
  • trTypeVer represents the conversion type of orthogonal transformation in the vertical direction.
  • FlipDST7 is obtained by sign inversion with respect to DCT8.
  • (trTypeHor, TrTypeVer) (DCT2, DST7), (DCT2, DCT8), (DST7, DCT2), (DCT8, Also for DCT2)
  • the residual sorting process (residual rotation process) described above is also applied to the residual sorting process in this MTS.
  • the residual rearrangement processing in the transform skip or transform quantization bypass and the residual rearrangement processing in MTS described above share the derivation processing of the residual rearrangement identifier resArrIdx (resArrIdx is shared).
  • the MTS that uses residual sorting can reduce the number of transform matrices that correspond to the transform type of orthogonal transformation that needs to be retained, thus increasing the circuit scale. It can be further suppressed.
  • FIG. 21 shows a main configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has basically the same configuration as in the case of FIG.
  • the residual rearrangement control unit 101 can further acquire mtsIdx as a parameter related to encoding.
  • mtxIdx is an identifier indicating the type of adaptive orthogonal transform.
  • the residual rearrangement control unit 101 further derives the residual rearrangement identifier resArrIdx based on this mtxIdx as well.
  • Step S401 determines in step S401 that resArrAllowed, tsResArrAllowed, as parameters indicating whether or not the residual rearrangement process (Residual arrangement) is applicable. Derive mtsResArrAllowed.
  • Figure 23 shows an example of how to derive these parameters. That is, in this case, the residual rearrangement control unit 101 derives tsResArrAllowed, which is a parameter for residual rearrangement processing in transform skip or transform quantization bypass, using the equation (AA1) shown in FIG.
  • the formula (AA1) is also shown below. Note that TH is a threshold value.
  • the residual rearrangement control unit 101 derives mtsResArrAllowedowed, which is a parameter for residual rearrangement processing in adaptive orthogonal transformation, using the equation (AA2) shown in FIG.
  • the formula (AA1) is also shown below. Note that TH is a threshold value.
  • the residual sorting control unit 101 derives resArrAllowedowed, which is a residual sorting parameter, using the formula (AA3) shown in FIG. 23.
  • the formula (AA3) is also shown below.
  • tsResArrAllowed indicates a parameter indicating whether or not residual sorting processing in transform skip or transform quantization bypass is applicable
  • mtsResArrAllowed indicates a parameter indicating whether residual sorting processing in MTS is applicable.
  • ResArrAllowed which indicates whether the residual rearrangement process is applicable, is obtained by the sum (OR operation) of tsResArrAllowed and mtsResArrAllowed.
  • the above formula (AA1) may be the above formula (A1) or formula (A2).
  • step S401 when the process of step S401 ends, the process proceeds to step S402.
  • step S402 the residual rearrangement control unit 101 determines whether resArrAllowed is true. If resArrAllowed is true, that is, if it is determined that the residual rearrangement process is applicable, the process proceeds to step S403.
  • step S403 the residual sorting control unit 101 derives resArrIdx by a predetermined method.
  • An example of the setting method of resArrIdx in this case is shown in A of FIG. That is, in this case, the residual rearrangement control unit 101 derives resArrIdx using the expression (AB1) shown in A of FIG.
  • the formula (AB1) is also shown below.
  • resArrIdx RES_ARR_ROTATE .
  • resArrIdx mtsIdx
  • MtsIdx is derived from trTypeHor and trTypeVer according to the table shown in FIG. 25, for example.
  • variable name of resArrIdx is defined as follows.
  • Residuals are not sorted RES_ARR_HOR_FLIP: Residuals are flipped and sorted in the horizontal direction RES_ARR_VER_FLIP: Residuals are flipped and sorted in the vertical direction RES_ARR_ROTATAE: Residuals are flipped and sorted in the horizontal/vertical direction Rotation
  • mtsIdx and resArrIdx are in one-to-one correspondence, and resArrIdx can be uniquely obtained from mtsIdx.
  • mtx_idx may be decoded/encoded in TU units, for example, as in the standard.
  • step S403 the residual sorting control unit 101 may derive resArrIdx using the equation (AB2) shown in B of FIG. This formula (AB2) is also shown below.
  • step S403 ends, the process proceeds to step S405. If resArrAllowed is false (False) in step S402, that is, if the residual rearrangement process is not applicable, the process proceeds to step S404.
  • step S404 the residual sorting control unit 101 sets resArrIdx to NO_RES_ARR. That is, the residual sorting is not applied.
  • step S404 ends, the process proceeds to step S405.
  • step S405 the residual rearrangement processing unit 102 appropriately rearranges the residuals with respect to the block of the input residual r according to resArrIdx set in step S403 or step S404, and after rearrangement.
  • the residual r of is output.
  • step S405 When the process of step S405 ends, the residual sorting process ends.
  • Residual rotation processing can be applied, and reduction in coding efficiency can be suppressed.
  • FIG. 26 illustrates a main configuration example of the transform quantization unit 213 of the image encoding device 200 to which the present technology in this case is applied.
  • the residual rearrangement processing can be performed not only in the case of transform skip or transform quantization bypass, but also in the adaptive orthogonal transform, so that as shown in FIG.
  • the residual rearrangement processing can be performed even when coefficient conversion is performed. That is, the residual rearrangement unit 236 is arranged before the selection unit 231.
  • the residual sorting apparatus 100 of FIG. 21 can be applied to this residual sorting section 236. That is, the residual rearrangement unit 236 may have the configuration shown in FIG. 21 and perform the residual rearrangement processing in the flow of the flowchart shown in FIG. By doing so, the residual rearrangement unit 236 can perform the residual rearrangement processing not only in the case of transform skip or transform quantization bypass, but also in the adaptive orthogonal transform. Therefore, it is possible to suppress a reduction in coding efficiency. That is, the present technology described in the present embodiment can be applied not only to the residual sorting apparatus 100 but also to the image coding apparatus 200.
  • transform quantization bypass flag (transQuantBypassFlag) and the transform skip flag (transformSkipFlag) are decoded/encoded in CU/TU units.
  • transformSkipFlag may be decoded/encoded as a part of MTS index(mts_idx).
  • resArrIdx is assumed to have been derived in CU/TU units.
  • step S421 the residual rearrangement unit 236 performs the residual rearrangement process in step S421. At that time, the residual rearrangement unit 236 performs this processing according to the flow shown in the flowchart of FIG. When the process of step S421 ends, the process proceeds to step S422.
  • step S422 the selection unit 231, the selection unit 233, and the selection unit 235 determine whether to perform transform quantization bypass. When it is determined that the transform quantization bypass is not performed, the process proceeds to step S423.
  • step S423 the selection unit 231, the selection unit 233, and the selection unit 235 determine whether to perform the conversion skip. If it is determined that the conversion skip is not performed, the process proceeds to step S424.
  • step S424 the conversion unit 232 performs coefficient conversion on the residual data r.
  • step S424 ends, the process proceeds to step S425.
  • step S423 If it is determined in step S423 that the conversion skip is performed, the process proceeds to step S425.
  • step S425 the quantization unit 234 quantizes the transform coefficient or residual data r'.
  • the transform quantization process ends, and the process returns to the image encoding process of FIG. If it is determined in step S422 that the transform quantization bypass is to be performed, the transform quantization process ends, and the process returns to the image coding process in FIG.
  • the residual rearrangement unit 236 can perform the residual rearrangement process not only in the case of transform skip or transform quantization bypass, but also in the adaptive orthogonal transform. .. Therefore, it is possible to suppress a reduction in coding efficiency. That is, the present technology described in the present embodiment can be applied not only to the residual sorting apparatus 100 but also to the image coding apparatus 200.
  • the present technology can be applied to the image decoding device 300.
  • FIG. 28 illustrates a main configuration example of the inverse quantization inverse transformation unit 313 of the image decoding device 300 to which the present technology in this case is applied.
  • the residual rearrangement processing can be performed not only in the case of transform skip or transform quantization bypass, but also in the adaptive orthogonal transform, so that as shown in FIG.
  • the residual rearrangement processing can be performed even when coefficient conversion is performed. That is, the residual rearrangement unit 336 is arranged at the subsequent stage of the selection unit 335.
  • the residual sorting apparatus 100 of FIG. 21 can be applied to the residual sorting section 336. That is, the residual rearrangement unit 336 may have the configuration shown in FIG. 21 and perform the residual rearrangement processing in the flow of the flowchart shown in FIG. By doing so, the residual rearrangement unit 336 performs the residual rearrangement processing not only in the case of transform skip or transform quantization bypass, but also in the adaptive orthogonal transform (adaptive inverse orthogonal transform). You can Therefore, it is possible to suppress a reduction in coding efficiency. That is, the present technology described in the present embodiment can be applied not only to the residual sorting apparatus 100 but also to the image decoding apparatus 300.
  • transform quantization bypass flag (transQuantBypassFlag) and the transform skip flag (transformSkipFlag) are decoded/encoded in CU/TU units.
  • transformSkipFlag may be decoded/encoded as a part of MTS index(mts_idx).
  • resArrIdx is assumed to have been derived in CU/TU units.
  • step S442 the dequantization unit 332 dequantizes the quantized coefficient level acquired via the selection unit 331 to generate a transform coefficient or residual data r′.
  • the inverse quantization unit 332 supplies the transform coefficient or the residual data r to the selection unit 333.
  • step S444 the inverse transform unit 334 performs an inverse coefficient transform such as so-called inverse orthogonal transform on the transform coefficient to generate residual data r.
  • the inverse transformation unit 334 supplies the residual data r to the selection unit 335.
  • the selection unit 335 supplies the residual data r to the residual rearrangement unit 336.
  • the selection unit 331 supplies the residual data r′ supplied to the inverse quantization inverse conversion unit 313 to the selection unit 333.
  • the selection unit 333 supplies the residual data r′ to the residual rearrangement unit 336.
  • the selection unit 333 supplies the residual data r′ acquired from the inverse quantization unit 332 to the residual rearrangement unit 336.
  • step S445 the residual rearrangement unit 336 performs the residual rearrangement processing as described with reference to the flowchart of FIG. 22, rearranges the residual data r′, and the residual data r To generate.
  • the residual rearrangement unit 336 supplies the residual data r(D′) to the calculation unit 314.
  • the residual sorting apparatus 100 of FIG. 21 can be applied to the residual sorting section 336. That is, the residual rearrangement unit 336 may have the configuration shown in FIG. 21 and perform the residual rearrangement processing in the flow of the flowchart shown in FIG. By doing so, the residual rearrangement unit 336 performs the residual rearrangement processing not only in the case of transform skip or transform quantization bypass, but also in the adaptive orthogonal transform (adaptive inverse orthogonal transform). You can Therefore, it is possible to suppress a reduction in coding efficiency. That is, the present technology described in the present embodiment can be applied not only to the residual sorting apparatus 100 but also to the image decoding apparatus 300.
  • inter prediction application block The present technology described in the first embodiment may be applicable to a block to which inter prediction is applied. By doing so, it is possible to suppress a decrease in coding efficiency even when inter prediction is applied. In addition, the conditional expression when deriving tsResArrAllowed can be simplified.
  • FIG. 30 shows a main configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has basically the same configuration as that in FIG. However, in this case, the residual rearrangement control unit 101 can omit acquisition of CuPredMode (CU prediction type).
  • step S101 tsResArrAllowed in step S101 is derived using the equation (A1a) shown in A of FIG. 31 instead of the equation (A1) shown in A of FIG.
  • the formula (A1a) is shown below. Note that TH is a threshold value.
  • this tsResArrAllowed may be derived using the formula (A2a) shown in B of FIG.
  • the formula (A2a) is shown below.
  • TH is a threshold value.
  • This expression (A2a) corresponds to (A2) in B of FIG. That is, in the case of this formula (A2a), the condition of CuPredMode is omitted compared with the formula (A2). By doing so, the residual rotation process can be applied to the block to which the inter prediction is applied, and the reduction of the coding efficiency can be suppressed.
  • the present technology can be applied to the image encoding device 200.
  • the residual rearrangement device 100 (FIG. 30) may be applied to the residual rearrangement unit 236 (FIG. 14) of the transform quantization unit 213 of the image encoding device 200.
  • the residual rearrangement unit 236 may perform the residual rearrangement processing in steps S244 and S246 of the transform quantization processing (FIG. 16) in the same flow as the flowchart of FIG. 7.
  • tsResArrAllowed is derived as in the example of FIG. By doing so, in the image encoding device 200, the residual rotation process can be applied to the block to which the inter prediction is applied, and the reduction in encoding efficiency can be suppressed.
  • the present technology in this case can be applied to the image decoding device 300.
  • the residual rearrangement apparatus 100 (FIG. 30) may be applied to the residual rearrangement section 336 (FIG. 18) of the inverse quantization/inverse transformation section 313 of the image decoding apparatus 300.
  • the residual rearrangement unit 336 may perform the residual rearrangement processing in step S325 of the inverse quantization inverse transformation processing (FIG. 20) in the same flow as the flowchart of FIG. 7.
  • tsResArrAllowed is derived as in the example of FIG. By doing so, the image decoding apparatus 300 can correctly decode the block to which the residual rotation process and the inter prediction are applied. Therefore, it is possible to suppress a reduction in encoding efficiency.
  • IsTrfoSkip is a variable indicating whether or not the two-dimensional conversion is skipped, and is set based on the table shown in A of FIG. That is, MaxMtsIdx and tu_mts_idx (also referred to as mtsIdx) are referred to, and it is determined based on these values whether or not the conversion type is two-dimensional conversion skip. Note that MaxMtsIdx shown in the table of FIG. 32A is derived using the table shown in B of FIG. Also, tu_mts_idx is signaled in the Transform unit as shown in FIG.
  • TrTypeHor, TrTypeVer (DCT2, DCT2), (DCT2, DST7), (DCT2, DCT8) (DST7, DCT2), (DST7, DST7), (DST7, DCT8) (DCT8, DCT2), (DCT8, DST7), (DCT8, DCT8)
  • trTypeHor represents the conversion type of orthogonal transformation in the horizontal direction
  • trTypeVer represents the conversion type of orthogonal transformation in the vertical direction.
  • other two-dimensional orthogonal transformation (DST7,DCT8), (DCT8, DST7), (DCT8, DCT8) can be substituted.
  • the circuit size can be reduced by sharing the residual rearrangement identifier resArrIdx derivation process in the residual rearrangement process in the transform skip or transform quantization bypass and the residual rearrangement process in MTS.
  • the MTS that also uses residual sorting can reduce the number of transform matrices corresponding to the transform types of orthogonal transforms that need to be retained, as compared to MTS that does not use residual sorting. Therefore, it is possible to further suppress an increase in circuit scale.
  • FIG. 34 shows a main configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has basically the same configuration as in the case of FIG.
  • the residual rearrangement control unit 101 can omit acquisition of CuPredMode (CU prediction type).
  • ⁇ Flow of residual sorting process> The residual rearrangement process in this case can be performed in the same flow as described with reference to the flowchart of FIG. 22 in the third embodiment.
  • the tsResArrAllowed in step S401 may be derived using the formula (AA1a) shown in FIG.
  • the formula (AA1a) is also shown below. Note that TH is a threshold value.
  • the residual rotation process can be applied to the block to which the inter prediction is applied, and the reduction of the coding efficiency can be suppressed.
  • the present technology can be applied to the image encoding device 200.
  • the residual rearrangement device 100 (FIG. 34) may be applied to the residual rearrangement unit 236 (FIG. 26) of the transform quantization unit 213 of the image encoding device 200.
  • the residual rearrangement unit 236 may perform the residual rearrangement processing in step S421 of the transform quantization processing (FIG. 27) in the same flow as the flowchart of FIG.
  • the derivation of tsResArrAllowed is performed using the equation (AA1a) in FIG.
  • the residual rotation process can be applied to a block to which adaptive orthogonal transform or inter prediction is applied, and a reduction in encoding efficiency can be suppressed. ..
  • the present technology in this case can be applied to the image decoding device 300.
  • the residual rearrangement apparatus 100 (FIG. 34) may be applied to the residual rearrangement section 336 (FIG. 28) of the inverse quantization/inverse transformation section 313 of the image decoding apparatus 300.
  • the residual rearrangement unit 336 may perform the residual rearrangement processing in step S325 of the inverse quantization inverse transformation processing (FIG. 29) in the same flow as the flowchart of FIG.
  • tsResArrAllowed is derived as in the example of FIG.
  • the image decoding apparatus 300 can correctly decode a block to which adaptive orthogonal transform or inter prediction is applied. Therefore, it is possible to suppress a reduction in encoding efficiency.
  • (trTypeHor, trTypeVer) (DST7, DST7), (DST7, DCT8), (DCT8, DST7), Of (DCT8, DCT8), If (DST7, DST7) is the base orthogonal transform, the remaining orthogonal transform can be replaced by the following flip operation of the horizontal and vertical residuals and the orthogonal transform of (DST7, DST7).
  • mtx_idx may be decoded/encoded in TU units as in the standard (or as in JVET-M0464).
  • resArrIdx is derived based on the shape (width/height) of the block (CU, PU, TU), and residual sorting is applied. Good.
  • transform skip/intra prediction it is possible to apply an appropriate residual rearrangement process that considers the residual tendency according to the block shape. Therefore, the parsing dependency on the intra prediction mode is reduced, and the processing can be simplified and the delay can be reduced. Further, it is possible to realize the same coding efficiency as the conventional one.
  • FIG. 37 shows a main configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has basically the same configuration as that in the case of FIG. However, in this case, the residual rearrangement control unit 101 can omit the acquisition of (Remapped) predModeIntra(intraPredAngle).
  • the residual rearrangement process in this case can be performed in the same flow as that described in the first embodiment with reference to the flowchart of FIG. 7.
  • the resArrIdx in step S103 uses the formula (B4) shown in FIG. 38 instead of the formula (B1) shown in A of FIG. 11 and the formula (B2) shown in B of FIG. To derive.
  • the formula (B4) is shown below.
  • the intra prediction mode that uses the upper adjacent reference pixel group is easy to use. Utilizing this tendency, vertical flip is applied as a residual sorting process. Rotation may be applied as a substitute for the vertical flip. In addition, omission (no operation) of the rearrangement process may be selected.
  • the present technology can be applied to the image encoding device 200.
  • the residual rearrangement device 100 (FIG. 37) may be applied to the residual rearrangement unit 236 (FIG. 14) of the transform quantization unit 213 of the image encoding device 200.
  • the residual rearrangement unit 236 may perform the residual rearrangement processing in steps S244 and S246 of the transform quantization processing (FIG. 16) in the same flow as the flowchart of FIG. 7.
  • derivation of resArrIdx is performed as in the example of FIG. By doing so, in the image encoding device 200, it is possible to appropriately apply the residual rotation process and the like to a rectangular block, and it is possible to suppress a reduction in encoding efficiency.
  • the present technology in this case can be applied to the image decoding device 300.
  • the residual rearrangement device 100 (FIG. 37) may be applied to the residual rearrangement unit 336 (FIG. 18) of the inverse quantization inverse transformation unit 313 of the image decoding device 300.
  • the residual rearrangement unit 336 may perform the residual rearrangement processing in step S325 of the inverse quantization inverse transformation processing (FIG. 20) in the same flow as the flowchart of FIG. 7.
  • derivation of resArrIdx is performed as in the example of FIG. By doing so, the image decoding apparatus 300 can correctly decode the rectangular block to which the residual rotation process is applied. Therefore, it is possible to suppress a reduction in encoding efficiency.
  • Non-Patent Document 13 discloses a coding mode (referred to as SBT (Sub Block Transform) mode) that divides a block into a plurality of sub-blocks and zeroizes all but one sub-block during inter prediction. ing.
  • SBT Sub Block Transform
  • the method described in Non-Patent Document 13 cannot switch between conversion skip and non-conversion skip in this SBT mode. This may reduce the coding efficiency.
  • the syntax indicating the conversion skip on/off (on/off) is explicitly encoded so that the conversion skip and the non-conversion skip can be switched. Further, in the SBT mode and the conversion skip, the residual rearrangement processing is applied according to the position of the non-zero sub-block.
  • FIG. 39 shows a main configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has an SBT control parameter coding unit 501 in addition to the configuration of FIG. Further, in this case, the residual rearrangement control unit 101 acquires the SBT control parameter in addition to the parameters shown in FIG.
  • This SBT control parameter is a control parameter used in the SBT mode and includes parameters such as cu_sbt_flag, cu_sbt_horizontal_flag, cu_sbt_pos_flag.
  • cu_sbt_flag is flag information indicating whether to apply the SBT mode.
  • cu_sbt_horizontal_flag is flag information indicating whether the block division direction is horizontal or vertical in the SBT mode.
  • cu_sbt_pos_flag is flag information indicating which sub-block is a non-zero sub-block.
  • the SBT control parameter for example, like HEVC, it may be expressed by a combination of RQT (Residual Quad Tree) division and coded_block_flag (cbf) indicating whether or not residuals of residual blocks are all zero.
  • RQT Residual Quad Tree
  • cbf coded_block_flag
  • the residual sorting control unit 101 derives resArrIdx using these SBT control parameters and supplies it to the residual sorting processing unit 102.
  • the residual rearrangement processing unit 102 rearranges the residual data r based on the resArrIdx.
  • the SBT control parameter encoding unit 501 encodes these SBT control parameters and outputs the encoded data.
  • This encoded data is transmitted (signaled) to the decoding side. That is, the residual rearrangement apparatus 100 in this case is an apparatus (apparatus on the encoding side) used in encoding an image.
  • the SBT control parameter encoding unit 501 encodes the SBT control parameters input to the residual rearrangement apparatus 100 in step S501. Further, in step S502, the SBT control parameter encoding unit 501 encodes information regarding conversion skip/non-conversion skip (isTrfoSkip). These encoded data are output from the residual rearrangement apparatus 100 (for example, transmitted to the decoding side).
  • step S503 the residual sorting control unit 101 derives tsResArrAllowed based on the input parameters.
  • step S504 the residual sorting control unit 101 determines whether the tsResArrAllowed is true. If it is determined that tsResArrAllowed is true, the processing proceeds to step S505.
  • step S505 the residual sorting control unit 101 sets resArrIdx by a predetermined method.
  • the residual rearrangement control unit 101 sets resArrIdx by the method shown in FIG.
  • the residual rearrangement process is determined from the position of the non-zero sub-block.
  • SBT control parameters such as cu_sbt_flag, cu_sbt_horizontal_flag, cu_sbt_pos_flag are assumed to be encoded/decoded in CU units.
  • the residual rearrangement control unit 101 can set the residual rearrangement processing method (vertical flip, horizontal flip, rotation, etc.) from the SBT control parameters and the like based on this table information.
  • step S505 when the process of step S505 ends, the process proceeds to step S507.
  • step S504 If it is determined in step S504 that tsResArrAllowed is false (False), the process proceeds to step S506.
  • step S506 the residual sorting control unit 101 sets resArrIdx to NO_RES_ARR. That is, the residual sorting is not applied.
  • step S506 ends, the process proceeds to step S507.
  • step S507 the residual rearrangement processing unit 102 appropriately rearranges the residuals for the block of the input residual r according to resArrIdx set in step S505 or step S506, and after rearrangement.
  • the residual r of is output.
  • step S507 When the processing of step S507 ends, the residual sorting processing ends.
  • the processing as described above it becomes possible to apply the residual rearrangement processing depending on the position of the non-zero sub-block in the SBT mode and the conversion skip. As a result, it is possible to suppress a reduction in coding efficiency.
  • resArrIdx setting method The method of setting resArrIdx performed in step S505 is not limited to the above example, and may be performed as follows, for example. An example thereof is shown in FIG.
  • the residual rearrangement control unit 101 can set the residual rearrangement processing method (vertical flip, horizontal flip) from SBT control parameters and the like based on this table information.
  • the present technology can be applied to the image encoding device 200.
  • the residual rearrangement device 100 (FIG. 37) may be applied to the residual rearrangement unit 236 (FIG. 14) of the transform quantization unit 213 of the image encoding device 200.
  • the residual rearrangement unit 236 may perform the residual rearrangement processing in steps S244 and S246 of the transform quantization processing (FIG. 16) in the same flow as the flowchart of FIG.
  • FIG. 46 shows another configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has an SBT control parameter decoding unit 521 in addition to the configuration of FIG. Further, in this case, the residual rearrangement apparatus 100 is supplied with the encoded data of the SBT control parameter.
  • the SBT control parameter decoding unit 521 acquires the encoded data and decodes the encoded data to generate (restore) the SBT control parameter. Further, in this case, the residual rearrangement control unit 101 acquires the SBT control parameter in addition to the parameters shown in FIG. Therefore, the residual rearrangement control unit 101 acquires the SBT control parameter generated (restored) by the SBT control parameter decoding unit 521.
  • the SBT control parameters are the same as in the example of FIG. 39 (for example, cu_sbt_flag, cu_sbt_horizontal_flag, cu_sbt_pos_flag etc.).
  • the encoded data of the SBT control parameter supplied to the residual rearrangement apparatus 100 is transmitted (signaled) from the encoding side. That is, the residual rearrangement apparatus 100 in this case is an apparatus (decoding side apparatus) used in image decoding.
  • the SBT control parameter decoding unit 521 decodes the encoded data of the SBT control parameters input to the residual rearrangement apparatus 100 in step S521. Further, in step S522, the SBT control parameter decoding unit 521 decodes the encoded data of the information regarding the conversion skip/non-conversion skip (isTrfoSkip). These data are supplied to the residual sorting control unit 101.
  • step S523 the residual sorting control unit 101 derives tsResArrAllowed based on the input parameters.
  • step S524 the residual sorting control unit 101 determines whether the tsResArrAllowed is true. If it is determined that tsResArrAllowed is true, the processing proceeds to step S525.
  • the residual sorting control unit 101 sets resArrIdx by a predetermined method.
  • the residual rearrangement control unit 101 sets resArrIdx by the method shown in FIG.
  • the residual rearrangement control unit 101 may set resArrIdx by the method shown in FIG. 44, for example. That is, the residual rearrangement control unit 101 sets resArrIdx by the same method as the residual rearrangement apparatus 100 on the encoding side.
  • step S525 ends, the process proceeds to step S527. If it is determined in step S524 that tsResArrAllowed is false (False), the process proceeds to step S526.
  • step S526 the residual sorting control unit 101 sets resArrIdx to NO_RES_ARR. That is, the residual sorting is not applied.
  • step S526 ends, the process proceeds to step S527.
  • step S527 the residual rearrangement processing unit 102 appropriately rearranges the residuals with respect to the block of the input residual r according to resArrIdx set in step S525 or step S526, and after rearrangement.
  • the residual r of is output.
  • step S527 When the process of step S527 ends, the residual sorting process ends.
  • the processing as described above it becomes possible to apply the residual rearrangement processing depending on the position of the non-zero sub-block in the SBT mode and the conversion skip. As a result, it is possible to suppress a reduction in coding efficiency.
  • Non-Patent Document 11 discloses an encoding mode (referred to as an Intra Sub Partition mode) that divides a block into a plurality of sub-blocks during intra prediction.
  • an Intra Sub Partition mode an encoding mode that divides a block into a plurality of sub-blocks during intra prediction.
  • the method described in Non-Patent Document 11 cannot switch between conversion skip and non-conversion skip in the Intra Sub Partition mode.
  • FIG. 48 shows a main configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has an Intra Sub Partition control parameter coding unit 541 in addition to the configuration of FIG. Further, in this case, the residual rearrangement control unit 101 acquires Intra Sub Partition control parameters in addition to the parameters shown in FIG.
  • This IntraSubPartition control parameter is a control parameter used in the IntraSubPartition mode and includes parameters such as intra_subPartitions_mode_flag, intra_subPartitions_split_flag, intra_luma_mpm_flag.
  • the residual sorting control unit 101 derives resArrIdx using these IntraSubPartition control parameters and supplies it to the residual sorting processing unit 102.
  • the residual rearrangement processing unit 102 rearranges the residual data r based on the resArrIdx.
  • the IntraSubPartition control parameter encoding unit 541 encodes these IntraSubPartition control parameters and outputs the encoded data. This encoded data is transmitted (signaled) to the decoding side. That is, the residual rearrangement apparatus 100 in this case is an apparatus (apparatus on the encoding side) used in encoding an image.
  • the Intra Sub Partition control parameter encoding unit 541 encodes the Intra Sub Partition control parameters input to the residual rearrangement apparatus 100 in step S541. Further, in step S542, the Intra Sub Partition control parameter encoding unit 541 encodes information regarding the conversion skip/non-conversion skip (isTrfoSkip). These encoded data are output from the residual rearrangement apparatus 100 (for example, transmitted to the decoding side).
  • step S543 the residual sorting control unit 101 derives tsResArrAllowed based on the input parameters.
  • step S544 the residual sorting control unit 101 determines whether the tsResArrAllowed is true. If it is determined that tsResArrAllowed is true, the processing proceeds to step S545.
  • step S545 the residual sorting control unit 101 sets resArrIdx by a predetermined method.
  • the residual rearrangement control unit 101 sets resArrIdx by the method shown in FIG.
  • the residual rearrangement process is determined from the prediction mode information.
  • predModeIntra prediction mode information
  • step S544 If it is determined in step S544 that tsResArrAllowed is false (False), the process proceeds to step S546.
  • step S546 the residual sorting control unit 101 sets resArrIdx to NO_RES_ARR. That is, the residual sorting is not applied.
  • step S546 ends, the process proceeds to step S547.
  • step S547 the residual rearrangement processing unit 102 appropriately rearranges the residuals with respect to the block of the input residual r according to resArrIdx set in step S545 or step S546, and after rearrangement.
  • the residual r of is output.
  • step S547 When the process of step S547 ends, the residual sorting process ends.
  • the processing as described above it is possible to apply the residual rearrangement processing according to the prediction mode information in the Intra SubPartition mode and the conversion skip. As a result, it is possible to suppress a reduction in coding efficiency.
  • the present technology can be applied to the image encoding device 200.
  • the residual rearrangement device 100 (FIG. 48) may be applied to the residual rearrangement unit 236 (FIG. 14) of the transform quantization unit 213 of the image encoding device 200.
  • the residual rearrangement unit 236 may perform the residual rearrangement processing in steps S244 and S246 of the transform quantization processing (FIG. 16) in the same flow as the flowchart of FIG. 49.
  • the image encoding device 200 it is possible to apply the residual rearrangement process according to the prediction mode information in the Intra Sub Partition mode and the conversion skip. As a result, it is possible to suppress a reduction in coding efficiency.
  • FIG. 52 shows another configuration example of the residual sorting apparatus 100 in this case.
  • the residual sorting apparatus 100 in this case has an Intra Sub Partition control parameter decoding unit 561 in addition to the configuration of FIG.
  • the residual rearrangement apparatus 100 is supplied with the encoded data of the Intra Sub Partition control parameter.
  • the Intra Sub Partition control parameter decoding unit 561 acquires and decodes the encoded data, and generates (restores) the Intra Sub Partition control parameter.
  • the residual rearrangement control unit 101 acquires Intra Sub Partition control parameters in addition to the parameters shown in FIG. Therefore, the residual rearrangement control unit 101 acquires the Intra Sub Partition control parameters generated (restored) by the Intra Sub Partition control parameter decoding unit 561.
  • IntraSubPartition control parameters are the same as in the example of FIG. 48 (for example, intra_subPartitions_mode_flag, intra_subPartitions_split_flag, intra_luma_mpm_flag, etc.).
  • the encoded data of the Intra Sub Partition control parameter supplied to the residual sorting apparatus 100 is transmitted (signaled) from the encoding side. That is, the residual rearrangement apparatus 100 in this case is an apparatus (decoding side apparatus) used in image decoding.
  • the Intra Sub Partition control parameter decoding unit 561 decodes the encoded data of the Intra Sub Partition control parameters input to the residual rearrangement apparatus 100 in step S561. Further, in step S562, the Intra Sub Partition control parameter decoding unit 561 decodes the encoded data of the information regarding the conversion skip/non-conversion skip (isTrfoSkip). These data are supplied to the residual sorting control unit 101.
  • step S563 the residual sorting control unit 101 derives tsResArrAllowed based on the input parameters.
  • step S564 the residual sorting control unit 101 determines whether the tsResArrAllowed is true. If it is determined that tsResArrAllowed is true, the processing proceeds to step S565.
  • step S565 the residual sorting control unit 101 sets resArrIdx by a predetermined method.
  • the residual rearrangement control unit 101 sets resArrIdx by the method shown in FIG. That is, the residual rearrangement control unit 101 sets resArrIdx by the same method as the residual rearrangement apparatus 100 on the encoding side.
  • step S565 ends, the process proceeds to step S567. If it is determined in step S564 that tsResArrAllowed is false (False), the process proceeds to step S566.
  • step S566 the residual sorting control unit 101 sets resArrIdx to NO_RES_ARR. That is, the residual sorting is not applied.
  • step S566 ends, the process proceeds to step S567.
  • step S567 the residual rearrangement processing unit 102 appropriately rearranges the residuals with respect to the block of the input residual r according to resArrIdx set in step S565 or step S566, and after rearrangement.
  • the residual r of is output.
  • step S567 When the process of step S567 ends, the residual sorting process ends.
  • the processing as described above it is possible to apply the residual rearrangement processing according to the prediction mode information in the Intra SubPartition mode and the conversion skip. As a result, it is possible to suppress a reduction in coding efficiency.
  • transform_skip_enabled_flag is signaled in the picture parameter set (PPS (Picture Parameter Set)).
  • PPS Picture Parameter Set
  • FIG. 56 is a diagram showing an example of the syntax of transform unit.
  • parameters such as cu_qp_delta_abs, cu_qp_delta_sign_flag, tu_mts_flag are signaled only when cu_transquant_bypass_flag is false (!cu_transquant_bypass_flag).
  • the image coding apparatus 200 omits signaling of these parameters. By doing so, the image coding apparatus 200 can reduce signaling of unnecessary information, and can suppress a reduction in coding efficiency. Further, the image decoding apparatus 300 can recognize the omission of signaling at the time of such transform quantization bypass based on this syntax. Therefore, even if the signaling is omitted in this way, the encoded data is It can be decrypted correctly. Therefore, it is possible to suppress a reduction in encoding efficiency.
  • 57 to 60 are diagrams showing examples of residual coding syntax.
  • the transform_skip_flag is signaled only when cu_transquant_bypass_flag is false (!cu_transquant_bypass_flag).
  • the image coding apparatus 200 omits the signaling of transform_skip_flag. By doing so, the image coding apparatus 200 can reduce signaling of unnecessary information, and can suppress a reduction in coding efficiency. Further, the image decoding apparatus 300 can recognize the omission of signaling at the time of such transform quantization bypass based on this syntax. Therefore, even if the signaling is omitted in this way, the encoded data is It can be decrypted correctly. Therefore, it is possible to suppress a reduction in encoding efficiency.
  • the deblocking filter may not be applied to the block of the luminance component during the transform quantization bypass.
  • the deblocking filter may not be applied to the color components (color difference components) during the transform quantization bypass.
  • SAO Sample Adaptive Offset
  • SAO may not be applied during transform quantization bypass. By doing so, it is possible to suppress an increase in the load of filter processing. That is, it is possible to suppress an increase in the load of encoding and decoding.
  • ALF Adaptive Loop Filter
  • ALF may not be applied to the luminance component at the time of transform quantization bypass.
  • ALF may not be applied to the color components (color difference components) at the time of transform quantization bypass.
  • 64 is a block diagram showing a configuration example of hardware of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input/output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input/output interface 910 and the bus 904 and executes the program to execute the above-described series of operations. Is processed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be applied by being recorded in the removable medium 921 as a package medium or the like, for example.
  • the program can be installed in the storage unit 913 via the input/output interface 910 by mounting the removable medium 921 in the drive 915.
  • this program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in advance in the ROM 902 or the storage unit 913.
  • the data units in which the various types of information described above are set and the data units targeted by various processes are arbitrary and are not limited to the examples described above.
  • these information and processing are respectively TU (Transform Unit), TB (Transform Block), PU (Prediction Unit), PB (Prediction Block), CU (Coding Unit), LCU (Largest Coding Unit), and sub-block.
  • Blocks, tiles, slices, pictures, sequences, or components may be set, or data in these data units may be targeted.
  • this data unit can be set for each information or processing, and it is not necessary that all data units for information and processing be unified.
  • the storage location of these pieces of information is arbitrary, and may be stored in the above-described header, parameter set, or the like in data units. Also, it may be stored in a plurality of locations.
  • control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
  • control information for example, enabled_flag
  • control information for example, present_flag
  • present_flag indicating an object to which the present technology described above is applied (or an object to which the present technology is not applied
  • control information that specifies a block size (upper limit, lower limit, or both) to which the present technology is applied (or permitted or prohibited to be applied), a frame, a component, a layer, or the like may be transmitted.
  • the present technology can be applied to any image encoding/decoding method. That is, the specifications of various processes related to image encoding/decoding, such as conversion (inverse transformation), quantization (inverse quantization), encoding (decoding), and prediction, are arbitrary as long as they do not conflict with the present technology described above. It is not limited to the example. Further, as long as it does not conflict with the present technology described above, some of these processes may be omitted.
  • the present technology can be applied to a multi-view image encoding/decoding system that encodes/decodes a multi-view image including images from a plurality of viewpoints (views).
  • the present technology may be applied to the coding/decoding of each view (view).
  • the present technology is applied to a hierarchical image coding (scalable coding)/decoding system that performs coding/decoding of hierarchical images that are layered (hierarchical) so as to have a scalability function for a predetermined parameter. can do.
  • the present technology may be applied to the coding/decoding of each layer.
  • the residual rearrangement apparatus 100, the image encoding apparatus 200, and the image decoding apparatus 300 have been described as application examples of the present technology, but the present technology can be applied to any configuration.
  • the present technology is applied to a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to a terminal by cellular communication, or It can be applied to various electronic devices such as an apparatus (for example, a hard disk recorder or a camera) that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or reproduces an image from these storage media.
  • an apparatus for example, a hard disk recorder or a camera
  • the present technology includes a processor (for example, a video processor) as a system LSI (Large Scale Integration) or the like, a module (for example, a video module) using a plurality of processors or the like, or a unit (for example, a video unit) using a plurality of modules or the like Alternatively, it may be implemented as a part of the configuration of the device such as a set (for example, a video set) in which the unit is provided with other functions.
  • a processor for example, a video processor
  • LSI Large Scale Integration
  • module for example, a video module
  • a unit for example, a video unit
  • the present technology can be applied to a network system composed of multiple devices.
  • the present technology may be implemented as cloud computing in which a plurality of devices share and jointly process via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (Audio Visual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may do so.
  • the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether or not all constituent elements are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. ..
  • the system, device, processing unit, and the like to which the present technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. .. Further, its application is also arbitrary.
  • the present technology can be applied to a system or device provided for providing ornamental content and the like. Further, for example, the present technology can be applied to a system or device used for traffic such as traffic condition supervision and automatic driving control. Furthermore, for example, the present technology can be applied to a system or device used for security. Further, for example, the present technology can be applied to a system or device used for automatic control of a machine or the like. Furthermore, for example, the present technology can be applied to systems and devices used for agriculture and livestock. Further, the present technology can also be applied to a system or device for monitoring natural conditions such as volcanoes, forests, oceans, and wildlife. Furthermore, for example, the present technology can be applied to a system or device used for sports.
  • the “flag” is information for identifying a plurality of states, and is not only information used to identify two states of true (1) or false (0), but also three or more states. Information that can identify the state is also included. Therefore, the possible value of this "flag” may be, for example, a binary value of 1/0, or may be a ternary value or more. That is, the number of bits forming this "flag” is arbitrary and may be 1 bit or multiple bits. Further, since the identification information (including the flag) may include not only the identification information included in the bitstream but also the difference information of the identification information with respect to certain reference information, included in the bitstream. In the above, "flag” and “identification information” include not only that information but also difference information with respect to reference information.
  • various types of information (metadata, etc.) regarding the encoded data (bit stream) may be transmitted or recorded in any form as long as it is associated with the encoded data.
  • the term “associate” means, for example, that when processing one data, the other data can be used (linked). That is, the data associated with each other may be collected as one data or may be individual data.
  • the information associated with the encoded data (image) may be transmitted on a transmission path different from that of the encoded data (image). Further, for example, the information associated with the encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from that of the encoded data (image). Good.
  • association may be a part of the data instead of the entire data.
  • the image and the information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • composite means to combine a plurality of objects into one, for example, to combine encoded data and metadata into one data, and means one method of “associating” described above.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be integrated into one device (or processing unit).
  • part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have a necessary function (function block or the like) so that necessary information can be obtained.
  • one device may execute each step of one flowchart, or a plurality of devices may share and execute each step. Further, when one step includes a plurality of processes, one device may execute the plurality of processes, or a plurality of devices may share the processes. In other words, a plurality of processes included in one step can be executed as a process of a plurality of steps. On the contrary, the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in time series according to the order described in this specification, or in parallel or by calling. It may be executed individually at a necessary timing such as when it is released. That is, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the process of the step of writing this program may be executed in parallel with the process of another program, or may be executed in combination with the process of another program.
  • the present technology may also be configured as below.
  • the residual data are arranged in the rotation direction with the center of the block as an axis based on the shape or size of the block.
  • An image processing apparatus comprising a residual rearrangement unit that performs residual rotation processing for replacement.
  • the residual rearrangement unit performs the residual rotation process on the block when the width and the height of the block are equal to or less than a predetermined threshold.
  • the residual rearrangement unit performs the residual rotation process on the block when the width and the height of the block are 4 or less, respectively.
  • the residual rearrangement unit When the product of the width and the height of the block is less than or equal to a predetermined threshold, the residual rearrangement unit performs the residual rotation process on the block (1) to (3) The image processing device according to 1. (5) The image processing device according to (4), wherein the residual sorting section performs the residual rotation process on the block when the product of the width and the height of the block is 16 or less. (6) When the size of the block is equal to or smaller than the maximum size at which the coefficient conversion can be skipped, the residual rearrangement unit performs the residual rotation process on the block (1) to (5) The image processing device according to any one of 1) to 4).
  • the residual rearrangement unit performs the residual rotation process on the block (1) to (6)
  • the residual reordering unit flips the residual data in the horizontal direction, flips the residual data in the vertical direction, or the residuals for the blocks according to the intra prediction mode. Performing rotation processing The image processing device according to (7).
  • the residual reordering unit performs the residual rotation process on the block when inter prediction is further applied to the block. (1) to (9) apparatus.
  • the residual rearrangement unit further includes an SBT control parameter decoding unit that decodes the encoded data of the SBT control parameter and generates the SBT control parameter,
  • the image processing apparatus according to (12) or (13), wherein the residual rearrangement unit performs the residual rotation process on the block based on the SBT control parameter generated by the SBT control parameter decoding unit.
  • the image processing device according to any one of (1) to (14), wherein the residual rearrangement unit further performs the residual rotation process on the block based on an Intra Sub Partition control parameter.
  • the residual rearrangement unit further includes an Intra Sub Partition control parameter encoding unit that encodes the Intra Sub Partition control parameter.
  • the residual rearrangement unit further includes an Intra Sub Partition control parameter decoding unit that decodes encoded data of the Intra Sub Partition control parameter and generates the Intra Sub Partition control parameter, The residual rearrangement unit performs the residual rotation process on the block based on the Intra Sub Partition control parameter generated by the Intra Sub Partition control parameter decoding unit (15) or (16) Image processing device.
  • the image processing device according to any one of (1) to (17), further including an encoding unit that encodes the residual data rearranged by the residual rearrangement unit.
  • a decoding unit that decodes the encoded data of the residual data and generates the residual data is further provided.
  • the image processing apparatus according to any one of (1) to (18), wherein the residual sorting section performs the residual rotation process on the blocks of the residual data generated by the decoding section. (20) For the blocks of the residual data of the image data for which coefficient conversion has been skipped, the residual data are arranged in the rotation direction with the center of the block as an axis based on the shape or size of the block. An image processing method that performs residual rotation processing for replacement.
  • 100 residual sorting device 101 residual sorting control unit, 102 residual sorting processing unit, 200 image coding device, 213 transform quantization unit, 214 coding unit, 236 residual sorting unit, 300 image decoding Device, 312 decoding unit, 313 inverse quantization inverse conversion unit, 336 residual sorting unit, 501 SBT control parameter encoding unit, 521 SBT control parameter decoding unit, 541 IntraSubPartition control parameter encoding unit, 561 Intra SubPartition Control parameter decoding unit

Landscapes

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

Abstract

本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 画像データの残差データの、係数変換がスキップされたブロックに対して、各残差データをそのブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う。本開示は、例えば、像処理装置、画像符号化装置、画像復号装置、送信装置、受信装置、送受信装置、情報処理装置、撮像装置、再生装置、電子機器、画像処理方法、または情報処理方法等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
 従来、画像符号化において、画像とその予測画像との残差を係数データに変換する変換処理をスキップ(省略)して符号化する場合に、符号化効率低減を抑制するために、残差データを並び替える方法が提案された(例えば、非特許文献1参照)。
Dake He, Jing Wang, Gaelle Martin-Cocher, "Rotation of Residual Block for Transform Skipping", JCTVC-J0093, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: Stockholm, SE, 11-20 July 2012
 しかしながら、非特許文献1に記載の残差データの並び替え方法は、正方形のブロックにしか対応しておらず、長方形のブロックを構成し得る符号化方法には適用することが困難であった。そのため、変換処理をスキップする場合も、残差データはこのような並び替えが行われずに符号化されるので、符号化効率が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う残差並び替え部を備える画像処理装置である。
 本技術の一側面の画像処理方法は、画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理が行われる。
残差ローテーションの例を説明する図である。 残差ローテーションの適用方法の例を説明する図である。 イントラ予測モードと残差並び替え方法との関係について説明する図である。 残差並び替え方法の例を説明する図である。 残差並び替え方法の例を説明する図である。 残差並び替え装置の主な構成例を示すブロック図である。 残差並び替え処理の流れの例を説明するフローチャートである。 パラメータの導出方法の例を説明する図である。 残差ローテーションの制御情報について説明する図である。 残差ローテーションの制御情報について説明する図である。 パラメータの導出方法の例を説明する図である。 残差並び替え処理の例について説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 変換量子化部の主な構成例を示すブロック図である。 画像符号化処理の流れの例を示すフローチャートである。 変換量子化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 逆量子化逆変換部の主な構成例を示すブロック図である。 画像復号処理の流れの例を示すフローチャートである。 逆量子化逆変換処理の流れの例を示すフローチャートである。 残差並び替え装置の主な構成例を示すブロック図である。 残差並び替え処理の流れの例を説明するフローチャートである。 パラメータの導出方法の例を説明する図である。 パラメータの導出方法の例を説明する図である。 パラメータの導出方法の例を説明する図である。 変換量子化部の主な構成例を示すブロック図である。 変換量子化処理の流れの例を説明するフローチャートである。 逆量子化逆変換部の主な構成例を示すブロック図である。 逆量子化逆変換処理の流れの例を示すフローチャートである。 残差並び替え装置の主な構成例を示すブロック図である。 パラメータの導出方法の例を説明する図である。 パラメータの導出方法の例を説明する図である。 シグナリングの例を説明する図である。 残差並び替え装置の主な構成例を示すブロック図である。 パラメータの導出方法の例を説明する図である。 パラメータの導出方法の例を説明する図である。 残差並び替え装置の主な構成例を示すブロック図である。 パラメータの導出方法の例を説明する図である。 残差並び替え装置の主な構成例を示すブロック図である。 残差並び替え処理の流れの例を説明するフローチャートである。 パラメータの導出方法の例を説明する図である。 SBTの様子の例を説明する図である。 SBTにおける残差並び替えの様子の例を説明する図である。 パラメータの導出方法の例を説明する図である。 パラメータの導出方法の例を説明する図である。 残差並び替え装置の主な構成例を示すブロック図である。 残差並び替え処理の流れの例を説明するフローチャートである。 残差並び替え装置の主な構成例を示すブロック図である。 残差並び替え処理の流れの例を説明するフローチャートである。 パラメータの導出方法の例を説明する図である。 パラメータの導出方法の例を説明する図である。 残差並び替え装置の主な構成例を示すブロック図である。 残差並び替え処理の流れの例を説明するフローチャートである。 シンタックスの例を説明する図である。 シンタックスの例を説明する図である。 シンタックスの例を説明する図である。 シンタックスの例を説明する図である。 シンタックスの例を説明する図である。 シンタックスの例を説明する図である。 シンタックスの例を説明する図である。 セマンティクスの例を説明する図である。 セマンティクスの例を説明する図である。 セマンティクスの例を説明する図である。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(ブロックに応じた残差ローテーション)
 2.第2の実施の形態(画像符号化装置・画像復号装置への適用)
 3.第3の実施の形態(適応直交変換への適用)
 4.第4の実施の形態(インター予測適用ブロックへの適用)
 5.第5の実施の形態(ブロック形状に応じた残差並び替え)
 6.第6の実施の形態(サブブロックへの適用)
 7.第7の実施の形態(ロスレスコーディング)
 8.付記
 <1.第1の実施の形態>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:Recommendation ITU-T H.264 (04/2017) “Advanced video coding for generic audiovisual services”, April 2017
 非特許文献3:Recommendation ITU-T H.265 (12/2016) “High efficiency video coding”, December 2016
 非特許文献4:J. Chen, E. Alshina, G. J. Sullivan, J.-R. Ohm, J. Boyce,“Algorithm Description of Joint Exploration Test Model (JEM7)”, JVET-G1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
 非特許文献5: B. Bross, J. Chen, S. Liu , “Versatile Video Coding (Draft 3), ” JVET-L1001, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  12th Meeting: Macau, CN, 3-12 Oct. 2018
 非特許文献6:J. J. Chen, Y. Ye, S. Kim,“Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3)”, JVET-L1002, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  12th Meeting: Macau, CN, 3-12 Oct. 2018
 非特許文献7: J. Boyce (Intel), Y. Ye (InterDigital), Y.-W. Huang (Mediatek), M. Karczewicz (Qualcomm), E. Francois (Technicolor), W. Husak (Dolby), J. Ridge (Nokia), A. Abbas (GoPro),“Two tier test model”, JVET- J0093 ,  Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018
 非特許文献8:S. Yoo, J. Choi, J. Heo, J. Choi, L. Li, J. Lim, S. Kim (LGE),“Non-CE7 : Residual rearrangement for transform skipped blocks”, JVET-M0278, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  13th Meeting: Marrakech, MA, 9-18 Jan. 2019
 非特許文献9: B. Bross, T. Nguyen, P. Keydel, H. Schwarz, D. Marpe, T. Wiegand (HHI), “Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip”, JVET-M0464, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  13th Meeting: Marrakech, MA, 9-18 Jan. 2019
 非特許文献10: Y. Zhao, H. Gao, H. Yang, J. Chen (Huawei), “CE6: Sub-block transform for inter blocks (Test 6.4.1)”, JVET-M0140, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  13th Meeting: Marrakech, MA, 9-18 Jan. 2019
 非特許文献11: S. De-Luxan-Hernandez, V. George, J. Ma, T. Nguyen, H. Schwarz, D. Marpe, T. Wiegand (HHI), “CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2)”, JVET-M0102, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  13th Meeting: Marrakech, MA, 9-18 Jan. 2019
 非特許文献12: B. Bross, J. Chen, S. Liu , “Versatile Video Coding (Draft 4), ” JVET-M1001, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11  13th Meeting: Macau, CN, 3-12 Oct. 2018
 非特許文献13:Sriram Sethuraman, "Non-CE9: Simplifications to DMVR search pattern and interpolation for refinement", JVET-M0148-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、上述の非特許文献に記載されているQuad-Tree Block Structure、QTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
 また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の非特許文献に記載されているTB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding Tree Block)、CTU(Coding Tree Unit)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
 また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
 また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
  <残差並び替え>
 従来、例えば非特許文献1等において、画像とその予測画像との残差を係数データに変換する変換処理をスキップ(省略)して符号化する場合に、符号化効率低減を抑制するために、残差データを並び替える方法が提案された。
 非特許文献1においては、図1のAに示されるように、処理対象ブロック内の各残差データをそのブロックの中心を軸として180度回転させる(ブロックの中心を軸とする回転方向に残差データを並び替える)残差ローテーション処理が提案された。
 画像符号化においては、一般的に、非ゼロ係数をブロックの左上に集中させることにより符号化効率を向上させることができる。したがって、例えば、図1のAに示されるように右下に非ゼロ係数(NZ)が集中する場合、図1のBに示されるように左上に非ゼロ係数(NZ)が集中する場合に比べて符号化効率が低減しやすい。残差データに対して所謂直交変換等の係数変換が行われる場合、変換係数は、図1のBの例のように、左上に非ゼロ係数が集中しやすい。それに比べて、その係数変換がスキップ(省略)される場合、つまり、残差データのままの場合、このように左上に非ゼロ係数が集中し難く、符号化効率が低減しやすい。特に、図1のAの例のように右下に非ゼロ係数(NZ)が集中する場合、符号化効率がより顕著に低減するおそれがあった。
 非特許文献1に記載の残差ローテーション処理は、そのような変換処理がスキップされたブロックの残差データを180度回転させる。この処理により、図1のBの例のように左上に非ゼロ係数を集中させることができる。したがって、符号化効率の低減を抑制することができる。
 しかしながら、非特許文献1に記載の残差データの並び替え方法は、並び替えを行うか否かの条件判定が正方形のブロックにしか対応しておらず、長方形のブロックを構成し得る符号化方法にこの並び替え方法を適用することが困難であった。例えば、非特許文献5等に記載のVVC(Versatile Video Coding)の場合、ブロックを長方形に形成することができため、上述した残差データの並べ替え方法は適用することが困難であった。そのため、このように長方形のブロックを構成し得る符号化方式では、変換処理をスキップする場合であっても、残差データはこのような並び替えが行われずに符号化され、符号化効率が低減するおそれがあった。
  <ブロックに応じた残差ローテーション>
 そこで、図2に示される表の上から1段目に記載の「方法1」のように、画像データの残差データの、係数変換がスキップされたブロックに対して、そのブロックの形状または大きさに基づいて、各残差データをそのブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行うようにする。このようにして、ブロックが長方形であっても、残差ローテーション処理を適用するか否かの条件判定を行うことができるようにする。つまり、残差ローテーション処理を適用するか否かの条件に、ブロックの形状や大きさの条件を含めるようにする。このようにすることにより、長方形のブロックを構成し得る符号化方式であっても、係数変換がスキップされたブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
 例えば、図2に示される表の上から2段目に記載の「方法1-1」のように、ブロックの幅(width)と、高さ(height)が、それぞれ、所定の閾値以下の場合、そのブロックに対して残差ローテーション処理が行われるようにしてもよい。例えば、ブロックの幅(width)と、高さ(height)が、それぞれ、「4」以下の場合(width <= 4, height <= 4)、そのブロックに対して残差ローテーション処理が行われるようにしてもよい。
 換言するに、ブロックの幅(width)と高さ(height)の少なくともいずれか一方が、それぞれ、所定の閾値(例えば「4」)より大きい場合、そのブロックに対して残差ローテーション処理が行われないようにしてもよい。
 また例えば、図2に示される表の上から3段目に記載の「方法1-2」のように、ブロックの幅(width)と高さ(height)の積が所定の閾値以下の場合、そのブロックに対して残差ローテーション処理が行われるようにしてもよい。例えば、ブロックの幅(width)と高さ(height)の積が「16」以下の場合(width * height <= 16)、そのブロックに対して残差ローテーション処理が行われるようにしてもよい。
 換言するに、ブロックの幅(width)と高さ(height)の積が所定の閾値(例えば「16」)より大きい場合、そのブロックに対して残差ローテーション処理が行われないようにしてもよい。
 さらに例えば、図2に示される表の上から4段目に記載の「方法1-3」のように、ブロックのサイズが、係数変換をスキップすることができる最大サイズ(変換スキップ最大サイズ)以下の場合、そのブロックに対して残差ローテーション処理が行われるようにしてもよい。換言するに、ブロックのサイズが変換スキップ最大サイズより大きい場合、そのブロックに対して残差ローテーション処理が行われないようにしてもよい。
 また例えば、図2に示される表の上から5段目に記載の「方法2」のように、処理対象のブロックに対してイントラ予測が適用される場合、そのブロックに対して残差並び替え処理が行われるようにしてもよい。
 さらに例えば、図2に示される表の上から6段目に記載の「方法2-1」のように、この残差並び替え処理として、常に、上述の残差ローテーション処理が適用されるようにしてもよい。
  <イントラ予測モードに応じた残差並び替え方法の選択>
 ところで、イントラ予測の場合、図3に示されるように、イントラ予測モードとして、様々な角度の予測方向が用意されており、効率の良い角度の予測方向が選択される。換言するに、係数変換がスキップされたブロックには、この選択された予測方向に応じた残差の偏り(残差の分布傾向)が生じている。非特許文献8においては、この残差の偏り方に応じた方法で残差の並び替えを行う方法が提案された。
 図4において四角は、残差データの処理対象ブロックを示し、ブロック内の濃淡は、残差の値の分布傾向を示しており、濃くなる程値が大きく、薄くなる程値が小さい。つまり、色の濃い部分に非ゼロ係数が偏っていることが示されている。
 例えば、図4のAの左側に示されるように、ブロックの左下からの予測(Left ref mode)が選択された場合、残差の非ゼロ係数はブロックの右上側に集中している。非特許文献8に記載の方法では、このようなブロックに対して、図4のAの右側に示されるように、ブロック内の残差を縦方向の直線を軸として回転させる水平方向のフリップ(horizontal flip)を行う。このような残差の並び替えを行うことにより、ブロックの左上の方に非ゼロ係数を集中させることができる。
 例えば、図4のBの左側に示されるように、ブロックの右上からの予測(Left ref mode)が選択された場合、残差の非ゼロ係数はブロックの左下側に集中している。非特許文献8に記載の方法では、このようなブロックに対して、図4のBの右側に示されるように、ブロック内の残差を横方向の直線を軸として回転させる垂直方向のフリップ(vertical flip)が行われる。このような残差の並び替えを行うことにより、ブロックの左上の方に非ゼロ係数を集中させることができる。
 つまり、図3の例の場合、右上の濃いグレーの部分の矢印で示される予測方向(47乃至80)が選択される場合、水平方向のフリップ(horizontal flip)が適用され、左下の薄いグレーの部分の矢印で示される予測方向(-14乃至21)が選択される場合、垂直方向のフリップ(vertical flip)が適用される。
 Coeff Codingは、直交変換された係数を符号化することを前提に設計されている。すなわち、周波数ドメイン上で、左上の係数のレベル値が大きく、右下の係数のレベル値が小さいブロックの符号化に最適となるように設計されている。したがって、上述のように残差並び替えを行うことにより、このように設計された符号化に対して係数分布の特性がより適切になるようにすることができ、符号化効率の低減を抑制することができる。
 しかしながら、非特許文献8に記載の方法では、図3の左上のグレーでない部分の矢印で示される予測方向(22乃至46)の場合、残差の並び替えが行われなかった。そのため、符号化効率が低減するおそれがあった。
 そこで、その左上の領域の矢印で示される予測方向(22乃至46)が選択される場合、ローテーション(rotation)が適用されるようにする。例えば、図4のCの左側に示されるように、ブロックの左上からの予測(Left ref mode)が選択された場合、残差の非ゼロ係数はブロックの右下側に集中している。このようなブロックに対して、図4のCの右側に示されるように、ブロック内の残差をブロックの中心を軸として180度回転させる残差ローテーション(Top/Left ref mode)を適用するようにする。このような残差の並び替えを行うことにより、ブロックの左上の方に非ゼロ係数を集中させることができる。
 つまり、図3の左上のグレーでない部分の矢印で示される予測方向(22乃至46)の場合であっても、このように残差ローテーション処理を行うことにより、周波数ドメインの変換係数に対して適切となるように設計された符号化に対して、係数分布の特性をより適切にすることができ、符号化効率の低減を抑制することができる。
 つまり、処理対象のブロックに適用されるイントラ予測モードが所定のモードの場合、そのブロックに対して残差ローテーション処理を行うようにしてもよい。例えば、図2に示される表の上から7段目に記載の「方法2-2」のように、この残差並び替え処理として、イントラ予測モードに応じて、水平方向フリップ、垂直方向フリップ、ローテーションのいずれかを選択するようにしてもよい。より具体的には、図3を参照して説明したように、予測方向の角度に基づいて、水平方向フリップ、垂直方向フリップ、ローテーションの内の最適な方法を選択する。このようにすることにより、より多様な分布態様の残差データのブロックにおいて、符号化効率の低減を抑制することができる。
 水平方向フリップ、垂直方向フリップ、およびローテーションについて、より具体的な例を用いて説明する。例えば、図5のAのように4x4のブロック10を処理対象とする。各四角が撮像画像における1画素に相当する残差データを示す。四角内の数字は、各残差データの識別番号であり、説明の為に便宜上、付したものである。
 垂直方向フリップ(vertical flip)の場合、図5のAに示されるブロック10の各残差データを、水平方向の点線11を軸として、垂直方向に回転させる。これにより、図5のBに示されるようにブロック10内の各残差データの並びは、上下方向に反転する。
 水平方向フリップ(horizontal flip)の場合、図5のAに示されるブロック10の各残差データを、垂直方向の点線12を軸として、水平方向に回転させる。これにより、図5のCに示されるようにブロック10内の各残差データの並びは、左右方向に反転する。
 ローテーション(rotation)の場合、図5のAに示されるブロック10の各残差データを、垂直方向の点線12を軸として水平方向に回転させ、さらに、水平方向の点線11を軸として垂直方向に回転させる。このようにすることにより、図5のDに示されるように、各残差データの並びを、図5のAの場合から180度回転させることができる。
  <残差並び替え装置>
 図6は、本技術を適用した画像処理装置の一態様である残差並び替え装置の構成の一例を示すブロック図である。図6に示される残差並び替え装置100は、残差データの並び替えを行う装置である。図6に示されるように、残差並び替え装置100は、残差並び替え制御部101および残差並び替え処理部102を有する。
 残差並び替え制御部101は、残差並び替え処理の制御に関する処理を行う。例えば、残差並び替え制御部101は、predModeIntra(intraPredAngle)、blockSize(nTbW, nTbH)、CuPredMode(CU予測タイプ)、transformSkipFlag、およびresArrEnabledFlag等の符号化に関するパラメータを取得し得る。
 predModeIntraは、イントラ予測モードを示すパラメータである。intraPredAngleは、そのイントラ予測の予測方向(角度)を示すパラメータである。blockSizeは、ブロックの大きさを示すパラメータである。nTbWは、ブロックの水平方向の長さを示すパラメータであり、nTbHは、ブロックの垂直方向の長さを示すパラメータである。CuPredModeは、CU予測のタイプを示すパラメータである。transformSkipFlagは、係数変換をスキップするか否かを示すフラグ情報である。resArrEnabledFlagは、ヘッダレベルでの残差並び替え処理の機能のオンオフ(ON/OFF)を示すフラグである。つまり、残差並べ替え処理が許可されているか否かを示す情報である。
 また、残差並び替え制御部101は、それらのパラメータに基づいて、残差並び替え処理を制御する制御情報であるtsResArrAllowedやresArrIdx等を生成し得る。tsResArrAllowedは、変換スキップ/変換量子化バイパスにおける残差並び替え処理が適用可能であるか否かを示すパラメータである。このtsResArrAllowedに基づいてresArrIdxが生成される。resArrIdxは、残差並び替えの方法を示すパラメータである。残差並び替え制御部101は、このresArrIdxを残差並び替え処理部102に供給し得る。このresArrIdxを供給することにより、残差並び替え制御部101は、残差並び替え処理部102による残差並び替えを制御することができる。
 残差並び替え処理部102は、残差の並び替えに関する処理を行う。例えば、残差並び替え処理部102は、残差並び替え制御部101から供給されるresArrIdxを取得し得る。残差並び替え処理部102は、そのresArrIdxに基づいて、残差データの並び替えを行い得る。つまり、残差並び替え処理部102は、入力される残差rを取得し、その残差rに対してresArrIdxに応じた残差並び替えを行い、その並び替え後の残差r’を出力することができる。
  <残差並び替え処理の流れ>
 次に、図7のフローチャートを参照して、残差並び替え装置100により実行される残差並び替え処理の流れの例を説明する。
 残差並び替え処理が開始されると、残差並び替え制御部101は、ステップS101において、入力された各種パラメータに基づいて、tsResArrAllowedを導出する。このtsResArrAllowedの導出方法の例を図8のAに示す。つまり、残差並び替え制御部101は、この場合、図8のAに示される式(A1)を用いてtsResArrAllowedを導出する。式(A1)を以下に示す。なお、THは閾値である。
tsResArrAllowed = (nTbW <= TH) and
                  (nTbH <= TH) and 
                  (resArrEnabledFlag==True) and
                  (CuPredMode == MODE_INTRA) and
                  (transformSkipFlag == True || transQuantBypassFlag == True)
 ・・・(A1)
 つまり、ブロックの幅と高さがそれぞれ閾値以下であり(nTbW <= TH、およびnTbH <= TH)、残差データの並び替えが許可されており(resArrEnabledFlag==True)、予測のタイプがイントラ予測であり(CuPredMode == MODE_INTRA)、かつ、係数変換がスキップされる場合、残差並び替え制御部101は、tsResArrAllowedを導出する。
 ここで、閾値TH = 4としてもよいし、(1<<log2TransformSkipMaxSize)としてもよい。
 また、このtsResArrAllowedは、図8のBに示される式(A2)を用いて導出されるようにしてもよい。式(A2)を以下に示す。なお、THは閾値である。
tsResArrAllowed = (nTbW*nTbH <= TH*TH) and
                  (resArrEnabledFlag==True) and
                  (CuPredMode == MODE_INTRA) and
                  (transformSkipFlag == True || transQuantBypassFlag == True)
 ・・・(A2)
 つまり、ブロックの幅と高さの積が閾値以下であり(nTbW*nTbH <= TH*TH)、残差データの並び替えが許可されており(resArrEnabledFlag==True)、予測のタイプがイントラ予測であり(CuPredMode == MODE_INTRA)、かつ、係数変換がスキップされる場合、残差並び替え制御部101は、tsResArrAllowedを導出する。
 ここで、閾値TH = 4としてもよいし、(1<<log2TransformSkipMaxSize)としてもよい。
 図7に戻り、ステップS102において、残差並び替え制御部101は、tsResArrAllowedが真(True)であるか否かを判定する。tsResArrAllowedが真、すなわち、残差並び替え処理が適用可能であると判定された場合、処理はステップS103に進む。
 ステップS103において、残差並び替え制御部101は、所定の方法によりresArrIdxを設定する。このresArrIdの設定方法の例を図11のAに示す。つまり、残差並び替え制御部101は、この場合、図11のAに示される式(B1)を用いてresArrIdを導出する。式(B1)を以下にも示す。
tsResArrAllowed == Trueのとき、
  resArrIdx = RES_ARR_ROTATE (rotation)
Otherwise
  resArrIdx = NO_RES_ARR (no residual arrangement)
 ・・・(B1)
 この方法は、図2の表の「方法2-1」に対応する。tsResArrAllowedが真の場合、resArrIdxがRES_ARR_ROTATEに設定される。つまり、残差ローテーション処理が適用される。それ以外の場合、resArrIdxがNO_RES_ARRに設定される。つまり、残差の並び替えが行われない(スキップされる)。
 この方法でresArrIdxを設定する場合、resArrEnabledFlagは、transform_skip_rotation_enabled_flagとして設定される。このtransform_skip_rotation_enabled_flagのシンタックスの例を図9のAに示し、セマンティクスの例を図9のBに示す。つまり、このtransform_skip_rotation_enabled_flagは、例えばシーケンスパラメータセット(SPS(Sequence Parameter Set))に格納される。もちろん、transform_skip_rotation_enabled_flagの格納場所は任意であり、SPS以外であってもよい。このtransform_skip_rotation_enabled_flagの値が「1」の場合、変換スキップされた、幅および高さが所定の閾値TH以下であるブロックに対してローテーション(rotation)が適用される。また、transform_skip_rotation_enabled_flagの値が「0」の場合、ローテーションは適用されない。transform_skip_rotation_enabled_flagが省略された場合、transform_skip_rotation_enabled_flagの値は「0」と推定される。
 また、このresArrIdxは、図11のBに示される式(B2)を用いて導出されるようにしてもよい。式(B2)を以下に示す。
tsResArrAllowed == Trueのとき、
intraPredAngle <= HOR_IDX + deltaAngle
        resArrIdx = RES_ARR_HOR_FLIP (horizontal flip)
intraPredAngle >= VER_IDX - deltaAngle and intraPredAngle <= maxIntraPredAngle:
        resArrIdx = RES_ARR_VER_FLIP (vertical flip)
intraPredAngle > HOR_IDX + deltaAngle and intraPredAngle <VER_IDX - deltaAngle:
        resArrIdx = RES_ARR_ROTATE (rotation)
Otherwise:
        resArrIdx = NO_RES_ARR (no residual arrangement)
 ・・・(B2)
 この方法は、図2の表の「方法2-2」に対応する。tsResArrAllowedが真の場合、以下のように残差の並び替え方法が設定される。例えば、イントラ予測の予測方向を示すイントラ予測モード番号(intraPredAngle)が、(HOR_IDX + deltaAngle)以下である場合、resArrIdxがRES_ARR_HOR_FLIPに設定される。つまり水平方向フリップ(horizontal flip)が適用される。また、イントラ予測モード番号が、(VER_IDX - deltaAngle)とmaxIntraPredAngleの間である場合、resArrIdxがRES_ARR_VER_FLIPに設定される。つまり垂直方向フリップ(vertical flip)が適用される。さらに、イントラ予測モード番号が、(HOR_IDX + deltaAngle)と(VER_IDX - deltaAngle)との間である場合、resArrIdxがRES_ARR_ROTATEに設定される。つまりローテーション(rotation)が適用される。さらに、それら以外の場合、resArrIdxがNO_RES_ARRに設定される。つまり、残差の並び替えが適用されない。
 なお、deltaAngle = 3である。もちろん、deltaAngleの値は任意であり、その他の値であってもよい。また、maxIntraPredAngleは、intraPredAngleの上限値(例えば80)を示す。さらに、intraPredAngleは、VVC(非特許文献5参照) WD上での、イントラ予測モード番号predModeIntraであってもよいし、wideAngle Prediction用にイントラ予測モード番号を実際に使用するイントラ予測モード番号へマッピングした後のイントラ予測モード番号であってもよい。
 この方法でresArrIdxを設定する場合、resArrEnabledFlagは、transform_skip_residual_arrangement_enabled_flagとして設定される。このtransform_skip_residual_arrangement_enabled_flagのシンタックスの例を図10のAに示し、セマンティクスの例を図10のBに示す。つまり、このtransform_skip_residual_arrangement_enabled_flagは、例えばシーケンスパラメータセットに格納される。もちろん、transform_skip_residual_arrangement_enabled_flagの格納場所は任意であり、SPS以外であってもよい。このtransform_skip_residual_arrangement_enabled_flagの値が「1」の場合、変換スキップされた、幅および高さが所定の閾値TH以下であるブロックに対してローテーション(rotation)またはフリップ(flip)が適用される。また、transform_skip_residual_arrangement_enabled_flagの値が「0」の場合、ローテーションもフリップも適用されない。transform_skip_residual_arrangement_enabled_flagが省略された場合、transform_skip_residual_arrangement_enabled_flagの値は「0」と推定される。
 図7に戻り、ステップS103の処理が終了すると、処理はステップS105に進む。また、ステップS102において、tsResArrAllowedが偽、すなわち、残差並び替え処理が適用不可能であると判定された場合、処理はステップS104に進む。
 ステップS104において、残差並び替え制御部101は、resArrIdxを、NO_RES_ARRに設定する。つまり、残差の並び替えが適用されない。ステップS104の処理が終了すると、処理はステップS105に進む。
 ステップS105において、残差並び替え処理部102は、入力された残差rのブロックに対して、ステップS103またはステップS104において設定されたresArrIdxに応じて適宜残差の並び替えを行い、並び替え後の残差rを出力する。この並び替え処理は、例えば、図12に示されるように行われる。
 ステップS105の処理が終了すると、残差並び替え処理が終了する。以上のように処理を行うことにより、長方形のブロックを構成し得る符号化方式であっても、係数変換がスキップされたブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
 <2.第2の実施の形態>
  <2-1.画像符号化装置>
 第1の実施の形態において説明した本技術は、任意の装置、デバイス、システム等に適用することができる。例えば、画像データを符号化する画像符号化装置に、本技術を適用することができる。
 図13は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図13に示される画像符号化装置200は、動画像の画像データを符号化する装置である。例えば、画像符号化装置200は、非特許文献5に記載のVVCのように、長方形のブロックを構成し得る符号化方式で動画像の画像データを符号化する。
 なお、図13においては、処理部やデータの流れ等の主なものを示しており、図13に示されるものが全てとは限らない。つまり、画像符号化装置200において、図13においてブロックとして示されていない処理部が存在したり、図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像符号化装置200内の処理部等を説明する他の図においても同様である。
 図13に示されるように画像符号化装置200は、制御部201、並べ替えバッファ211、演算部212、変換量子化部213、符号化部214、および蓄積バッファ215を有する。また、画像符号化装置200は、逆量子化部216、逆直交変換部217、演算部218、インループフィルタ部219、フレームメモリ220、予測部221、およびレート制御部222を有する。
   <制御部>
 制御部201は、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ211により保持されている動画像データを処理単位のブロック(CU,PU, 変換ブロックなど)へ分割する。また、制御部201は、各ブロックへ供給する符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を、例えば、RDO(Rate-Distortion Optimization)に基づいて、決定する。例えば、制御部201は、変換スキップフラグ等を設定することができる。
 これらの符号化パラメータの詳細については後述する。制御部201は、以上のような符号化パラメータを決定すると、それを各ブロックへ供給する。具体的には、以下の通りである。
 ヘッダ情報Hinfoは、各ブロックに供給される。予測モード情報Pinfoは、符号化部214と予測部221とに供給される。変換情報Tinfoは、符号化部214、変換量子化部213、逆量子化部216、および逆直交変換部217に供給される。フィルタ情報Finfoは、インループフィルタ部219に供給される。
   <並べ替えバッファ>
 画像符号化装置200には、動画像データの各フィールド(入力画像)がその再生順(表示順)に入力される。並べ替えバッファ211は、各入力画像をその再生順(表示順)に取得し、保持(記憶)する。並べ替えバッファ211は、制御部201の制御に基づいて、その入力画像を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ211は、処理後の各入力画像を演算部212に供給する。
   <演算部>
 演算部212は、並べ替えバッファ211から供給される処理単位のブロックに対応する画像から、予測部221より供給される予測画像Pを減算して、残差データDを導出し、それを変換量子化部213に供給する。
   <変換量子化部>
 変換量子化部213は、係数変換と量子化に関する処理を行う。例えば、変換量子化部213は、演算部212から供給される残差データを取得し、その残差データに対して例えば直交変換等の係数変換を行い、変換係数Coeffを導出することができる。また、変換量子化部213は、その変換係数Coeffをスケーリング(量子化)し、量子化係数levelを導出することができる。さらに、変換量子化部213は、その量子化係数levelを符号化部115および逆量子化部117に供給することができる。
 なお、変換量子化部213は、制御部201から供給される予測モード情報Pinfoや変換情報Tinfoを取得し、それらの情報に基づいて、係数変換や量子化等の処理を行うことができる。また、変換量子化部213が行う量子化のレートは、レート制御部222により制御される。
 なお、変換量子化部213は、係数変換や量子化をスキップすることができる。また、変換量子化部213は、係数変換をスキップしたブロックに対して残差データの並び替えを行うことができる。例えば、変換量子化部213は、そのブロックに対して、第1の実施の形態において説明したような残差ローテーション処理を行うことができる。
 したがって、変換量子化部213は、変換係数または残差データを量子化した量子化係数level、残差データ、並び替えた残差データ等、様々なデータを、符号化部214および逆量子化部216に供給することができる。したがって、以下において、変換量子化部213が、係数変換、量子化、並び替え等の処理対象としたり、処理結果として出力したりするデータを係数データと称する。つまり、変換量子化部213が取り扱う、残差データ、変換係数、量子化係数等を互いに区別して説明する必要が無い場合、係数データと称する。つまり、この係数データは、残差データ、変換係数、量子化係数等の各種データを含み得る。
   <符号化部>
 符号化部214は、変換量子化部213から供給された量子化係数levelと、制御部201から供給される各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)と、インループフィルタ部219から供給されるフィルタ係数等のフィルタに関する情報と、予測部221から供給される最適な予測モードに関する情報とを入力とする。
 符号化部214は、量子化係数levelに対して、例えばCABAC(Context-based Adaptive Binary Arithmetic Code)やCAVLC(Context-based Adaptive Variable Length Code)等のエントロピ符号化(可逆符号化)を行い、ビット列(符号化データ)を生成する。
 また、符号化部214は、その量子化係数レベルから残差情報Rinfoを導出し、残差情報Rinfoを符号化し、ビット列を生成する。
 さらに、符号化部214は、インループフィルタ部219から供給されるフィルタに関する情報をフィルタ情報Finfoに含め、予測部221から供給される最適な予測モードに関する情報を予測モード情報Pinfoに含める。そして、符号化部214は、上述した各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなど)を符号化し、ビット列を生成する。
 また、符号化部214は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部214は、その符号化データを蓄積バッファ215に供給する。
   <蓄積バッファ>
 蓄積バッファ215は、符号化部214において得られた符号化データを、一時的に保持する。蓄積バッファ215は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置200の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ215は、符号化データ(ビットストリーム)を伝送する伝送部でもある。
   <逆量子化部>
 逆量子化部216は、逆量子化に関する処理を行う。例えば、逆量子化部216は、変換量子化部213から供給される量子化係数levelと、制御部201から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、量子化係数levelの値をスケーリング(逆量子化)する。なお、この逆量子化は、変換量子化部213において行われる量子化の逆処理である。逆量子化部216は、このような逆量子化により得られた変換係数Coeff_IQを、逆直交変換部217に供給する。
   <逆直交変換部>
 逆直交変換部217は、逆直交変換に関する処理を行う。例えば、逆直交変換部217は、逆量子化部216から供給される変換係数と、制御部201から供給される変換情報Tinfoとを入力とし、その変換情報Tinfoに基づいて、変換係数に対して逆係数変換を行い、残差データD'を導出する。なお、この逆係数変換(例えば逆直交変換)は、変換量子化部213において行われる係数変換(例えば直交変換)の逆処理である。逆直交変換部217は、このような逆係数変換により得られた残差データD'を演算部218に供給する。
 なお、この逆量子化部216および逆直交変換部217は、変換量子化部213に対応するように、1つのブロック(例えば、逆量子化逆変換部等)として構成してもよい。その場合、後述する復号側(画像復号装置300)も、同様の処理部を有する。したがって、その逆量子化逆変換部の説明は、復号側(画像復号装置300)において行う。換言するに、復号側(画像復号装置300)の説明を、この逆量子化逆変換部(逆量子化部216および逆直交変換部217)に適用することができる。
   <演算部>
 演算部218は、逆直交変換部217から供給される残差データD'と、予測部221から供給される予測画像Pとを入力とする。演算部218は、その残差データD'と、その残差データD'に対応する予測画像とを加算し、局所復号画像を導出する。演算部119は、導出した局所復号画像をインループフィルタ部219およびフレームメモリ220に供給する。
   <インループフィルタ部>
 インループフィルタ部219は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部219は、演算部218から供給される局所復号画像と、制御部201から供給されるフィルタ情報Finfoと、並べ替えバッファ211から供給される入力画像(元画像)とを入力とする。なお、インループフィルタ部219に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。例えば、必要に応じて、予測モード、動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ、ブロック(CU、CTU等)の情報等がインループフィルタ部120に入力されるようにしてもよい。
 インループフィルタ部219は、そのフィルタ情報Finfoに基づいて、局所復号画像に対して適宜フィルタ処理を行う。インループフィルタ部219は、必要に応じて入力画像(元画像)や、その他の入力情報もそのフィルタ処理に用いる。
 例えば、インループフィルタ部219は、バイラテラルフィルタ、デブロッキングフィルタ(DBF(DeBlocking Filter))、適応オフセットフィルタ(SAO(Sample Adaptive Offset))、および適応ループフィルタ(ALF(Adaptive Loop Filter))の4つのインループフィルタをこの順に適用することができる。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
 もちろん、インループフィルタ部219が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部219がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部219は、フィルタ処理された局所復号画像をフレームメモリ220に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部219は、そのフィルタに関する情報を符号化部214に供給する。
   <フレームメモリ>
 フレームメモリ220は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ220は、演算部119から供給される局所復号画像や、インループフィルタ部219から供給されるフィルタ処理された局所復号画像を入力とし、それを保持(記憶)する。また、フレームメモリ220は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(フレームメモリ220内のバッファへ格納する)。フレームメモリ220は、予測部221の要求に応じて、その復号画像(またはその一部)を予測部221に供給する。
   <予測部>
 予測部221は、予測画像の生成に関する処理を行う。例えば、予測部221は、制御部201から供給される予測モード情報Pinfoと、並べ替えバッファ211から供給される入力画像(元画像)と、フレームメモリ220から読み出す復号画像(またはその一部)を入力とする。予測部221は、予測モード情報Pinfoや入力画像(元画像)を用い、インター予測やイントラ予測等の予測処理を行い、復号画像を参照画像として参照して予測を行い、その予測結果に基づいて動き補償処理を行い、予測画像を生成する。予測部221は、生成した予測画像を演算部212および演算部218に供給する。また、予測部221は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部214に供給する。
   <レート制御部>
 レート制御部222は、レート制御に関する処理を行う。例えば、レート制御部222は、蓄積バッファ215に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、変換量子化部213の量子化動作のレートを制御する。
  <変換量子化部>
 図14は、図13の変換量子化部213の主な構成例を示すブロック図である。図14に示されるように、変換量子化部213は、選択部231、変換部232、選択部233、量子化部234、選択部235、および残差並び替え部236を有する。
 変換部232は、選択部231を介して入力される残差データrに対して係数変換を行い、変換係数を生成する。変換部232は、その変換係数を選択部233に供給する。
 量子化部234は、選択部233を介して入力される変換係数、または、選択部233を介して入力される並び替え後の残差データrを量子化し、量子化係数levelを生成する。量子化部234は、生成した量子化係数levelを符号化部214や逆量子化部216に供給する。
 残差並び替え部236は、残差データの並び替えに関する処理を行う。例えば、残差並び替え部236は、選択部231を介して入力される残差データrを取得することができる。また、残差並び替え部236は、その残差データrに対して並び替えを行うことができる。例えば、残差並び替え部236は、その残差並び替え処理として、残差ローテーション処理を行うことができる。もちろん、残差並び替え部236が、水平方向フリップや垂直方向フリップ等を残差並び替え処理として行うことができるようにしてもよい。そして、残差並び替え部236は、並び替え後の残差データr’を選択部233に供給することができる。
 選択部231、選択部233、および選択部235は、transformSkipFlagやtransquantBypassFlag等に基づいて、係数データの供給元や供給先の選択を行う。例えば、残差データrに対して係数変換および量子化を行う場合(つまり、transformSkipFlag == 0, transquantBypassFlag == 0 の場合)、選択部231は、変換量子化部213に入力された残差データrを変換部232に供給する。また、選択部233は、変換部232から供給される変換係数を取得し、それを量子化部234に供給する。さらに、選択部235は、量子化部234から供給される量子化係数levelを取得し、それを符号化部214や逆量子化部216に供給する。
 また、係数変換をスキップする場合(つまり、transformSkipFlag == 1, transquantBypassFlag == 0 の場合)、選択部231は、変換量子化部213に入力された残差データrを残差並び替え部236に供給する。また、選択部233は、残差並び替え部236から供給される残差データr’を取得し、それを量子化部234に供給する。さらに、選択部235は、量子化部234から供給される量子化係数levelを取得し、それを符号化部214や逆量子化部216に供給する。
 さらに、係数変換および量子化をスキップする場合(つまり、transquantBypassFlag == 1 の場合)、選択部231は、変換量子化部213に入力された残差データrを残差並び替え部236に供給する。また、選択部233は、残差並び替え部236から供給される残差データr’を取得し、それを選択部235に供給する。さらに、選択部235は、その選択部233から供給される残差データr’を取得し、それを符号化部214や逆量子化部216に供給する。
 このような変換量子化部213の残差並び替え部236に、第1の実施の形態において説明した残差並び替え装置100を適用することができる。つまり、残差並び替え部236が、図6に示されるような構成を有し、図7に示されるフローチャートのような流れで残差並び替え処理を行うようにしてもよい。このようにすることにより、残差並び替え部236は、第1の実施の形態において説明したように、長方形のブロックを構成し得る符号化方式であっても、係数変換がスキップされたブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。つまり、第1の実施の形態において説明した本技術は、残差並び替え装置100だけでなく、画像符号化装置200にも適用することができる。
 なお、変換量子化バイパスフラグ(transQuantBypassFlag)、および、変換スキップフラグ(transformSkipFlag)は、CU/TU単位で復号/符号化されているものとする。なお、transformSkipFlagは、MTS index(mts_idx)の一部として復号/符号化されていてもよい。また、resArrIdxは、CU/TU単位で導出済みとする。
  <画像符号化処理の流れ>
 次に、以上のような画像符号化装置200により実行される各処理の流れについて説明する。最初に、図15のフローチャートを参照して、画像符号化処理の流れの例を説明する。
 画像符号化処理が開始されると、ステップS201において、並べ替えバッファ211は、制御部301に制御されて、入力された動画像データのフレームの順を表示順から符号化順に並べ替える。
 ステップS202において、制御部201は、並べ替えバッファ211が保持する入力画像に対して、処理単位を設定する(ブロック分割を行う)。
 ステップS203において、制御部201は、並べ替えバッファ211が保持する入力画像についての符号化パラメータを決定(設定)する。
 ステップS204において、予測部221は、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部221は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
 ステップS205において、演算部212は、入力画像と、ステップS204の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部212は、入力画像と予測画像との残差データDを生成する。このようにして求められた残差データDは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS206において、変換量子化部213は、ステップS203において生成された変換モード情報に従って、ステップS205の処理により生成された残差データDに対して変換量子化処理を行う。
 ステップS207において、逆量子化部216および逆直交変換部217は、逆量子化逆直交変換処理を行う。この逆量子化逆直交変換処理は、ステップS206の変換量子化処理の逆処理であり、後述する復号側(画像復号装置300)においても、同様の処理が実行される。したがって、この逆量子化逆直交変換処理の説明は、復号側(画像復号装置300)を説明する際に行う。そしてその説明は、この逆量子化逆直交変換処理(ステップS207)に適用することができる。この処理により、逆量子化部216および逆直交変換部217は、入力された係数データ(量子化係数levelまたは並び替えられた残差データr’)に対して、適宜、逆量子化したり、逆係数変換したりして、残差データD'を生成する。逆量子化部216および逆直交変換部217は、その残差データD'を演算部218に供給する。
 ステップS208において、演算部218は、ステップS207の逆量子化逆変換処理により導出された残差データD'に、ステップS204の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
 ステップS209において、インループフィルタ部219は、ステップS208の処理により導出された、局所的に復号された復号画像に対して、インループフィルタ処理を行う。
 ステップS210において、フレームメモリ220は、ステップS208の処理により導出された、局所的に復号された復号画像や、ステップS209においてフィルタ処理された、局所的に復号された復号画像を記憶する。
 ステップS211において、符号化部214は、ステップS206の処理により得られた量子化係数levelや、ステップS203において生成された変換モード情報を符号化する。例えば、符号化部214は、画像に関する情報である量子化係数levelを、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部214は、各種符号化パラメータ(ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo)を符号化する。さらに、符号化部214は、量子化係数levelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。
 ステップS212において、蓄積バッファ215は、このようにして得られた符号化データを蓄積し、例えばビットストリームとして、それを画像符号化装置200の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。
 ステップS212において、レート制御部222は、必要に応じてレート制御を行う。
 ステップS116の処理が終了すると、画像符号化処理が終了する。
  <変換量子化処理の流れ>
 次に、図16のフローチャートを参照して、図15のステップS206において実行される変換量子化処理の流れの例を説明する。
 変換量子化処理が開始されると、選択部231、選択部233、および選択部235は、ステップS241において、変換量子化バイパスを行うか否かを判定する。変換量子化バイパスを行わないと判定された場合(つまり、transquantBypassFlag == 0 の場合)、処理はステップS242に進む。
 ステップS242において、選択部231、選択部233、および選択部235は、変換スキップを行うか否かを判定する。変換スキップを行わないと判定された場合(つまり、transformSkipFlag == 0 の場合)、処理は、ステップS243に進む。この場合、選択部231は、残差データrを変換部232に供給する。
 ステップS243において、変換部232は、残差データrに対して係数変換を行い、変換係数を生成する。この係数変換の方法は任意である。変換部232は、その変換係数を選択部233に供給する。選択部233は、変換部232から変換係数を取得し、それを量子化部234に供給する。ステップS243の処理が終了すると、処理はステップS245に進む。
 また、ステップS242において、変換スキップを行うと判定された場合(つまり、transformSkipFlag == 1 の場合)、処理は、ステップS244に進む。この場合、選択部231は、残差データrを残差並び替え部236に供給する。
 ステップS244において、残差並び替え部236は、図7のフローチャートを参照して説明したような残差並び替え処理を実行し、残差データrの並び替えを行う。残差並び替え部236は、並び替え後の残差データr’を選択部233に供給する。選択部233は、その残差データr’を量子化部234に供給する。ステップS244の処理が終了すると、処理はステップS245に進む。
 ステップS245において、量子化部234は、ステップS243において生成された変換係数、または、ステップS244において生成された並び替え後の残差データr’に対して量子化を行い、量子化係数levelを生成する。量子化部234は、その量子化係数を選択部235に供給する。選択部235は、量子化部234から量子化係数levelを取得し、それを符号化部214および逆量子化部216に供給する。ステップS245の処理が終了すると変換量子化処理が終了する。
 また、ステップS241において、変換量子化バイパスを行うと判定された場合(つまり、transquantBypassFlag == 1 の場合)、処理はステップS246に進む。この場合、選択部231は、残差データrを残差並び替え部236に供給する。
 ステップS246において、残差並び替え部236は、図7のフローチャートを参照して説明したような残差並び替え処理を実行し、残差データrの並び替えを行う。残差並び替え部236は、並び替え後の残差データr’を選択部233に供給する。この場合、選択部233は、その残差データr’を選択部235に供給する。選択部235は、その残差データr’を符号化部214および逆量子化部216に供給する。ステップS245の処理が終了すると変換量子化処理が終了する。
 以上のように各処理を行うことにより、画像符号化において、その符号化方式が長方形のブロックを構成し得る符号化方式であっても、係数変換がスキップされたブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
  <2-2.画像復号装置>
 また、第1の実施の形態において説明した本技術は、画像データの符号化データを復号する画像復号装置に適用することもできる。
 図17は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図17に示される画像復号装置300は、動画像の符号化データを復号する装置である。例えば、画像復号装置300は、非特許文献5に記載のVVCのように、長方形のブロックを構成し得る符号化方式で符号化された動画像の符号化データを復号する。例えば、画像復号装置300は、上述の画像符号化装置200により生成された符号化データ(ビットストリーム)を復号することができる。
 なお、図17においては、処理部やデータの流れ等の主なものを示しており、図17に示されるものが全てとは限らない。つまり、画像復号装置300において、図17においてブロックとして示されていない処理部が存在したり、図17において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、画像復号装置300内の処理部等を説明する他の図においても同様である。
 図17において、画像復号装置300は、蓄積バッファ311、復号部312、逆量子化逆変換部313、演算部314、インループフィルタ部315、並べ替えバッファ316、フレームメモリ317、および予測部318を備えている。なお、予測部318は、不図示のイントラ予測部、およびインター予測部を備えている。
   <蓄積バッファ>
 蓄積バッファ311は、画像復号装置300に入力されたビットストリームを取得し、保持(記憶)する。蓄積バッファ311は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームに含まれる符号化データを抽出し、復号部312に供給する。
   <復号部>
 復号部312は、画像の復号に関する処理を行う。例えば、復号部312は、蓄積バッファ311から供給される符号化データを入力とし、シンタックステーブルの定義に沿って、そのビット列から、各シンタックス要素のシンタックス値をエントロピ復号(可逆復号)し、パラメータを導出する。
 シンタックス要素およびシンタックス要素のシンタックス値から導出されるパラメータには、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、フィルタ情報Finfoなどの情報が含まれる。つまり、復号部312は、ビットストリームから、これらの情報をパースする(解析して取得する)。これらの情報について以下に説明する。
    <ヘッダ情報Hinfo>
 ヘッダ情報Hinfoは、例えば、VPS(Video Parameter Set)/SPS(Sequence ParameterSet)/PPS(Picture Parameter Set)/PH(ピクチャヘッダ)/SH(スライスヘッダ)などのヘッダ情報を含む。ヘッダ情報Hinfoには、例えば、画像サイズ(横幅PicWidth、縦幅PicHeight)、ビット深度(輝度bitDepthY, 色差bitDepthC)、色差アレイタイプChromaArrayType、CUサイズの最大値MaxCUSize/最小値MinCUSize、4分木分割(Quad-tree分割ともいう)の最大深度MaxQTDepth/最小深度MinQTDepth、2分木分割(Binary-tree分割)の最大深度MaxBTDepth/最小深度MinBTDepth、変換スキップブロックの最大値MaxTSSize(最大変換スキップブロックサイズともいう)、各符号化ツールのオンオフフラグ(有効フラグともいう)などを規定する情報が含まれる。
 例えば、ヘッダ情報Hinfoに含まれる符号化ツールのオンオフフラグとしては、以下に示す変換、量子化処理に関わるオンオフフラグがある。なお、符号化ツールのオンオフフラグは、該符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が1(真)の場合、該符号化ツールが使用可能であることを示し、オンオフフラグの値が0(偽)の場合、該符号化ツールが使用不可であることを示す。なお、フラグ値の解釈は逆であってもよい。
  コンポーネント間予測有効フラグ(ccp_enabled_flag):コンポーネント間予測(CCP(Cross-Component Prediction),CC予測とも称する)が使用可能であるか否かを示すフラグ情報である。例えば、このフラグ情報が「1」(真)の場合、使用可能であることが示され、「0」(偽)の場合、使用不可であることが示される。
 なお、このCCPは、コンポーネント間線形予測(CCLMまたはCCLMP)とも称する。
    <予測モード情報Pinfo>
 予測モード情報Pinfoには、例えば、処理対象PB(予測ブロック)のサイズ情報PBSize(予測ブロックサイズ)、イントラ予測モード情報IPinfo、動き予測情報MVinfo等の情報が含まれる。
 イントラ予測モード情報IPinfoには、例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode、およびそのシンタックスから導出される輝度イントラ予測モードIntraPredModeY等が含まれる。
 また、イントラ予測モード情報IPinfoには、例えば、コンポーネント間予測フラグ(ccp_flag(cclmp_flag))、多クラス線形予測モードフラグ(mclm_flag)、色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)、色差MPM識別子(chroma_mpm_idx)、および、これらのシンタックスから導出される輝度イントラ予測モード(IntraPredModeC)等が含まれる。
 コンポーネント間予測フラグ(ccp_flag(cclmp_flag))は、コンポーネント間線形予測を適用するか否かを示すフラグ情報である。例えば、ccp_flag==1のとき、コンポーネント間予測を適用することを示し、ccp_flag==0のとき、コンポーネント間予測を適用しないことを示す。
 多クラス線形予測モードフラグ(mclm_flag)は、線形予測のモードに関する情報(線形予測モード情報)である。より具体的には、多クラス線形予測モードフラグ(mclm_flag)は、多クラス線形予測モードにするか否かを示すフラグ情報である。例えば、「0」の場合、1クラスモード(単一クラスモード)(例えばCCLMP)であることを示し、「1」の場合、2クラスモード(多クラスモード)(例えばMCLMP)であることを示す。
 色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置のタイプ(色差サンプル位置タイプとも称する)を識別する識別子である。
 なお、この色差サンプル位置タイプ識別子(chroma_sample_loc_type_idx)は、色差コンポーネントの画素位置に関する情報(chroma_sample_loc_info())として(に格納されて)伝送される。
 色差MPM識別子(chroma_mpm_idx)は、色差イントラ予測モード候補リスト(intraPredModeCandListC)の中のどの予測モード候補を色差イントラ予測モードとして指定するかを表す識別子である。
 動き予測情報MVinfoには、例えば、merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd等の情報が含まれる(例えば、JCTVC-W1005, 7.3.8.6 Prediction Unit Syntaxを参照)。
 もちろん、予測モード情報Pinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
    <変換情報Tinfo>
 変換情報Tinfoには、例えば、以下の情報が含まれる。もちろん、変換情報Tinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
 処理対象変換ブロックの横幅サイズTBWSizeおよび縦幅TBHSize(または、2を底とする各TBWSize、TBHSizeの対数値log2TBWSize、log2TBHSizeであってもよい)。変換スキップフラグ(ts_flag):(逆)プライマリ変換および(逆)セカンダリ変換をスキップか否かを示すフラグである。
  スキャン識別子(scanIdx)
  量子化パラメータ(qp)
  量子化マトリックス(scaling_matrix(例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax))
    <残差情報Rinfo>
 残差情報Rinfo(例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照)には、例えば以下のシンタックスが含まれる。
  cbf(coded_block_flag):残差データ有無フラグ
  last_sig_coeff_x_pos:ラスト非ゼロ係数X座標
  last_sig_coeff_y_pos:ラスト非ゼロ係数Y座標
  coded_sub_block_flag:サブブロック非ゼロ係数有無フラグ
  sig_coeff_flag:非ゼロ係数有無フラグ
  gr1_flag:非ゼロ係数のレベルが1より大きいかを示すフラグ(GR1フラグとも呼ぶ)
  gr2_flag:非ゼロ係数のレベルが2より大きいかを示すフラグ(GR2フラグとも呼ぶ)
  sign_flag:非ゼロ係数の正負を示す符号(サイン符号とも呼ぶ)
  coeff_abs_level_remaining:非ゼロ係数の残余レベル(非ゼロ係数残余レベルとも呼ぶ)
など。
 もちろん、残差情報Rinfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
    <フィルタ情報Finfo>
 フィルタ情報Finfoには、例えば、以下に示す各フィルタ処理に関する制御情報が含まれる。
  デブロッキングフィルタ(DBF)に関する制御情報
  画素適応オフセット(SAO)に関する制御情報
  適応ループフィルタ(ALF)に関する制御情報
  その他の線形・非線形フィルタに関する制御情報
 より具体的には、例えば、各フィルタを適用するピクチャや、ピクチャ内の領域を指定する情報や、CU単位のフィルタOn/Off制御情報、スライス、タイルの境界に関するフィルタOn/Off制御情報などが含まれる。もちろん、フィルタ情報Finfoに含まれる情報は任意であり、これらの情報以外の情報が含まれるようにしてもよい。
 復号部312の説明に戻り、復号部312は、残差情報Rinfoを参照して、各変換ブロック内の各係数位置の量子化係数levelを導出する。復号部312は、その量子化係数levelを、逆量子化逆変換部313に供給する。
 また、復号部312は、パースしたヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoを各ブロックへ供給する。具体的には以下の通りである。
 ヘッダ情報Hinfoは、逆量子化逆変換部313、予測部318、インループフィルタ部315に供給される。予測モード情報Pinfoは、逆量子化逆変換部313および予測部318に供給される。変換情報Tinfoは、逆量子化逆変換部313に供給される。フィルタ情報Finfoは、インループフィルタ部315に供給される。
 もちろん、上述の例は一例であり、この例に限定されない。例えば、各符号化パラメータが任意の処理部に供給されるようにしてもよい。また、その他の情報が、任意の処理部に供給されるようにしてもよい。
   <逆量子化逆変換部>
 逆量子化逆変換部313は、逆量子化および逆係数変換に関する処理を行う。例えば、逆量子化逆変換部313は、復号部312から供給される処理対象の係数データを取得する。この係数データは、例えば、変換係数または残差データを量子化した量子化係数levelであってもよいし、残差データであってもよいし、または並び替えた残差データであってもよい。
 また、逆量子化逆変換部313は、取得した係数データの値をスケーリング(逆量子化)し、変換係数Coeff_IQを導出することができる。また、逆量子化逆変換部313は、その変換係数Coeff_IQに対して例えば逆直交変換等の逆係数変換を行い、残差データD'を導出することができる。さらに、逆量子化逆変換部313は、その残差データD'を演算部314に供給することができる。
 なお、逆量子化逆変換部313は、復号部312から供給される予測モード情報Pinfoや変換情報Tinfoを取得し、それらの情報に基づいて、逆量子化や逆係数変換等の処理を行うことができる。
 なお、逆量子化逆変換部313は、逆量子化や逆係数変換をスキップすることができる。また、逆量子化逆変換部313は、逆係数変換をスキップしたブロックに対して残差データの並び替えを行うことができる。例えば、逆量子化逆変換部313は、そのブロックに対して、第1の実施の形態において説明したような残差ローテーション処理を行うことができる。
   <演算部>
 演算部314は、画像に関する情報の加算に関する処理を行う。例えば、演算部314は、逆量子化逆変換部313から供給される残差データD'と、予測部318から供給される予測画像とを入力とする。演算部314は、その残差データとその残差データに対応する予測画像(予測信号)とを加算し、局所復号画像を導出する。
 演算部314は、導出した局所復号画像を、インループフィルタ部315およびフレームメモリ317に供給する。
   <インループフィルタ部>
 インループフィルタ部315は、インループフィルタ処理に関する処理を行う。例えば、インループフィルタ部315は、演算部314から供給される局所復号画像と、復号部312から供給されるフィルタ情報Finfoとを入力とする。なお、インループフィルタ部315に入力される情報は任意であり、これらの情報以外の情報が入力されてもよい。
 インループフィルタ部315は、そのフィルタ情報Finfoに基づいて、局所復号画像に対して適宜フィルタ処理を行う。
 例えば、インループフィルタ部315は、バイラテラルフィルタ、デブロッキングフィルタ(DBF(DeBlocking Filter))、適応オフセットフィルタ(SAO(Sample Adaptive Offset))、および適応ループフィルタ(ALF(Adaptive Loop Filter))の4つのインループフィルタをこの順に適用する。なお、どのフィルタを適用するか、どの順で適用するかは任意であり、適宜選択可能である。
 インループフィルタ部315は、符号化側(例えば画像符号化装置200のインループフィルタ部219)により行われたフィルタ処理に対応するフィルタ処理を行う。もちろん、インループフィルタ部315が行うフィルタ処理は任意であり、上述の例に限定されない。例えば、インループフィルタ部315がウィーナーフィルタ等を適用するようにしてもよい。
 インループフィルタ部315は、フィルタ処理された局所復号画像を並べ替えバッファ316およびフレームメモリ317に供給する。
   <並べ替えバッファ>
 並べ替えバッファ316は、インループフィルタ部315から供給された局所復号画像を入力とし、それを保持(記憶)する。並べ替えバッファ316は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(バッファ内に格納する)。並べ替えバッファ316は、得られた復号画像を、復号順から再生順に並べ替える。並べ替えバッファ316は、並べ替えた復号画像群を動画像データとして画像復号装置300の外部に出力する。
   <フレームメモリ>
 フレームメモリ317は、画像に関するデータの記憶に関する処理を行う。例えば、フレームメモリ317は、演算部314より供給される局所復号画像を入力とし、ピクチャ単位毎の復号画像を再構築して、フレームメモリ317内のバッファへ格納する。
 また、フレームメモリ317は、インループフィルタ部315から供給される、インループフィルタ処理された局所復号画像を入力とし、ピクチャ単位毎の復号画像を再構築して、フレームメモリ317内のバッファへ格納する。フレームメモリ317は、適宜、その記憶している復号画像(またはその一部)を参照画像として予測部318に供給する。
 なお、フレームメモリ317が、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、フィルタ情報Finfoなどを記憶するようにしても良い。
  <逆量子化逆変換部>
 図18は、図17の逆量子化逆変換部313の主な構成例を示すブロック図である。図18に示されるように、逆量子化逆変換部313は、選択部331、逆量子化部332、選択部333、逆変換部334、選択部335、および残差並び替え部336を有する。
 逆量子化部332は、選択部331を介して入力される量子化係数levelを逆量子化し、係数データ(変換係数または並び替え後の残差データr’)を生成する。逆量子化部332は、その生成した係数データ(変換係数または並び替え後の残差データr’)を選択部333に供給する。逆変換部334は、選択部333を介して入力される変換係数に対して逆係数変換を行い、残差データr’を生成する。逆変換部334は、その残差データr’を選択部335に供給する。
 残差並び替え部336は、残差データの並び替えに関する処理を行う。例えば、残差並び替え部336は、選択部333を介して入力される、並び替え後の残差データr’を取得することができる。また、残差並び替え部336は、その残差データr’に対して並び替えを行い、並び替え前の残差データrを生成することができる。例えば、残差並び替え部336は、その残差並び替え処理として、残差ローテーション処理を行うことができる。もちろん、残差並び替え部336が、水平方向フリップや垂直方向フリップ等を残差並び替え処理として行うことができるようにしてもよい。そして、残差並び替え部336は、並び替え前の残差データrを選択部335に供給することができる。
 選択部331、選択部333、および選択部335は、transformSkipFlagやtransquantBypassFlag等に基づいて、係数データの供給元や供給先の選択を行う。例えば、逆量子化および逆係数変換を行う場合(つまり、transformSkipFlag == 0, transquantBypassFlag == 0 の場合)、選択部331は、逆量子化逆変換部313に入力された量子化係数levelを逆量子化部332に供給する。また、選択部333は、逆量子化部332から供給される変換係数を取得し、それを逆変換部334に供給する。さらに、選択部335は、逆変換部334から供給される残差データrを取得し、それを演算部314に供給する。
 また、逆係数変換をスキップする場合(つまり、transformSkipFlag == 1, transquantBypassFlag == 0 の場合)、選択部331は、選択部331は、逆量子化逆変換部313に入力された量子化係数levelを逆量子化部332に供給する。また、選択部333は、逆量子化部332から供給される変換係数を取得し、それを残差並び替え部336に供給する。さらに、選択部335は、残差並び替え部336から供給される残差データrを取得し、それを演算部314に供給する。
 さらに、逆量子化および逆係数変換をスキップする場合(つまり、transquantBypassFlag == 1 の場合)、選択部331は、逆量子化逆変換部313に入力された残差データr’を選択部333に供給する。また、選択部333は、その残差データr’を残差並び替え部336に供給する。さらに、選択部335は、その残差並び替え部336から供給される残差データrを取得し、それを演算部314に供給する。
 このような逆量子化逆変換部313の残差並び替え部336に、第1の実施の形態において説明した残差並び替え装置100を適用することができる。つまり、残差並び替え部336が、図6に示されるような構成を有し、図7に示されるフローチャートのような流れで残差並び替え処理を行うようにしてもよい。このようにすることにより、残差並び替え部336は、第1の実施の形態において説明したように、長方形のブロックを構成し得る符号化方式であっても、係数変換がスキップされたブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。つまり、第1の実施の形態において説明した本技術は、残差並び替え装置100だけでなく、画像復号装置300にも適用することができる。
 なお、変換量子化バイパスフラグ(transQuantBypassFlag)、および、変換スキップフラグ(transformSkipFlag)は、CU/TU単位で復号/符号化されているものとする。なお、transformSkipFlagは、MTS index(mts_idx)の一部として復号/符号化されていてもよい。また、resArrIdxは、CU/TU単位で導出済みとする。
  <画像復号処理の流れ>
 次に、以上のような構成の画像復号装置300により実行される各処理の流れについて説明する。最初に、図19のフローチャートを参照して、画像復号処理の流れの例を説明する。
 画像復号処理が開始されると、蓄積バッファ311は、ステップS301において、画像復号装置300の外部から供給されるビットストリーム(符号化データ)を取得して保持する(蓄積する)。
 ステップS302において、復号部312は、そのビットストリームから符号化データを抽出して復号し、係数データ(量子化係数levelまたは残差データr’)を得る。また、復号部312は、この復号により、ビットストリームから各種符号化パラメータをパースする(解析して取得する)。
 ステップS303において、逆量子化逆変換部313は、逆量子化逆変換処理を行い、残差データr(D')を生成する。逆量子化逆変換処理については後述する。
 ステップS304において、予測部318は、ステップS302においてパースされた情報に基づいて、符号化側より指定される予測方法で予測処理を実行し、フレームメモリ317に記憶されている参照画像を参照する等して、予測画像Pを生成する。
 ステップS305において、演算部314は、ステップS303において得られた残差データD'と、ステップS304において得られた予測画像Pとを加算し、局所復号画像Rlocalを導出する。
 ステップS306において、インループフィルタ部315は、ステップS305の処理により得られた局所復号画像Rlocalに対して、インループフィルタ処理を行う。
 ステップS307において、並べ替えバッファ316は、ステップS306の処理により得られたフィルタ処理された局所復号画像Rlocalを用いて復号画像Rを導出し、その復号画像R群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像R群は、動画像として画像復号装置300の外部に出力される。
 また、ステップS308において、フレームメモリ317は、ステップS305の処理により得られた局所復号画像Rlocal、および、ステップS306の処理により得られたフィルタ処理後の局所復号画像Rlocalの内、少なくとも一方を記憶する。
 ステップS308の処理が終了すると、画像復号処理が終了する。
  <逆量子化逆変換処理の流れ>
 次に、20のフローチャートを参照して、図19のステップS303において実行される逆量子化逆変換処理の流れの例を説明する。
 逆量子化逆変換処理が開始されると、選択部331、選択部333、および選択部335は、ステップS321において、変換量子化バイパスを行うか否かを判定する。変換量子化バイパスを行わないと判定された場合(つまり、transquantBypassFlag == 0 の場合)、処理はステップS322に進む。この場合、選択部331は、量子化係数levelを逆量子化部332に供給する。
 ステップS322において、逆量子化部332は、選択部331を介して取得した量子化係数levelに対して逆量子化を行い、変換係数または残差データr’を生成する。逆量子化部332は、その変換係数または残差データrを選択部333に供給する。
 ステップS323において、選択部331、選択部333、および選択部335は、変換スキップを行うか否かを判定する。変換スキップを行わないと判定された場合(つまり、transformSkipFlag == 0 の場合)、処理はステップS324に進む。この場合、選択部333は、逆量子化部332から取得した変換係数を逆変換部334に供給する。
 ステップS324において、逆変換部334は、その変換係数に対して所謂逆直交変換等の逆係数変換を行い、残差データrを生成する。逆変換部334は、その残差データrを選択部335に供給する。選択部335は、その残差データrを演算部314に供給する。
 ステップS324の処理が終了すると、逆量子化逆変換処理が終了し、処理は図19に戻る。
 また、ステップS321において、変換量子化バイパスを行うと判定された場合(つまり、transquantBypassFlag == 1 の場合)、処理はステップS325に進む。この場合、選択部331は、逆量子化逆変換部313に供給された残差データr’を選択部333に供給する。選択部333は、その残差データr’を残差並び替え部336に供給する。
 さらに、ステップS323において、変換スキップを行うと判定された場合(つまり、transformSkipFlag == 1 の場合)、処理はステップS325に進む。この場合、選択部333は、逆量子化部332から取得した残差データr’を残差並び替え部336に供給する。
 そして、ステップS325において、残差並び替え部336は、図7のフローチャートを参照して説明したような残差並び替え処理を実行し、残差データr’の並び替えを行い、残差データrを生成する。残差並び替え部336は、その残差データr(D')を選択部335に供給する。選択部335は、その残差データrを演算部314に供給する。ステップS325の処理が終了すると、逆量子化逆変換処理が終了し、処理は図19に戻る。
 以上のように各処理を行うことにより、画像復号において、その符号化方式(復号方式)が長方形のブロックを構成し得る符号化方式(復号方式)であっても、係数変換がスキップされたブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
 <3.第3の実施の形態>
  <適応直交変換への適用>
 第1の実施の形態において説明した本技術は、適応直交変換にも適用することができる。つまり、上述した変換スキップや変換量子化バイパスにおける残差並び替え処理と、適応直交変換(MTS(Multiple Transform Selection))とをマージしてもよい。
  <MTS>
 MTSで実現できる2次元直交変換の組み合わせとして、例えばの以下の組み合わせがある。
(trTypeHor, TrTypeVer) = (DCT2, DCT2), (DCT2, DST7), (DCT2, DCT8)
                         (DST7, DCT2), (DST7, DST7), (DST7, DCT8)
                         (DCT8, DCT2), (DCT8, DST7), (DCT8, DCT8)
 ここで、trTypeHorは、水平方向の直交変換の変換タイプを表し、trTypeVerは、垂直方向の直交変換の変換タイプを表す。
 2次元直交変換の空間対称性に着目すると、(DST7, DST7), (DST7, DCT8), (DCT8, DST7), (DCT8, DCT8)の変換基底は相似である。したがって、残差に対して、水平方向、垂直方向にフリップ操作(残差並び替え処理)を行い、その並び替えた残差に対して、 (trTypeHor, TrTypeVer) = (DST7, DST7)の2次元直交変換することで、そのほかの2次元直交変換(DST7, DCT8), (DCT8, DST7), (DCT8, DCT8)を代替することができる。
 ここで、FlipDST7は、DCT8に対して符号反転することで得られる.また、そのほかに、 (trTypeHor, TrTypeVer) = (DCT2, DST7), (DCT2, DCT8), (DST7, DCT2), (DCT8, DCT2)についても、残差に対して、水平方向、垂直方向にフリップ操作(残差並び替え処理)を行い、その並び替えた残差に対して、 (trTypeHor, TrTypeVer) = (DCT2, DST7)の2次元直交変換することで、そのほかの2次元直交変換(DCT2, DCT8), (DST7, DCT2), (DCT8, DCT2)を代替することができる。
 そこで、上述した残差並び替え処理(残差ローテーション処理)を、このMTSにおける残差並び替え処理にも適用する。つまり、上述した変換スキップや変換量子化バイパスにおける残差並び替え処理と、MTSにおける残差並び替え処理とにおいて、残差並び替え識別子resArrIdxの導出処理を共通化する(resArrIdxを共有する)。
 このように、残差並び替え識別子resArrIdxの導出処理を共通化することにより、回路規模の増大を抑制することができる。残差並び替えを併用するMTSは、残差並び替えを併用しないMTSと比較して、保持すればよい直交変換の変換タイプに対応する変換行列を低減させることができるため、回路規模の増大をさらに抑制することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の主な構成例を図21に示す。図21に示されるように、この場合の残差並び替え装置100は、図6の場合と基本的に同様の構成を有する。ただし、残差並び替え制御部101は、符号化に関するパラメータとして、さらに、mtsIdxを取得し得る。mtxIdxは、適応直交変換のタイプを示す識別子である。残差並び替え制御部101は、さらに、このmtxIdxにも基づいて、残差並び替え識別子resArrIdxを導出する。
  <残差並び替え処理の流れ>
 この場合の残差並び替え処理の流れの例を、図22のフローチャートを参照して説明する。残差並び替え処理が開始されると、残差並び替え制御部101は、ステップS401において、残差並び替え処理(Residual arrangement)が適用可能であるか否かを示すパラメータとして、resArrAllowed, tsResArrAllowed, mtsResArrAllowedを導出する。
 これらのパラメータの導出方法の例を図23に示す。つまり、残差並び替え制御部101は、この場合、図23に示される式(AA1)を用いて、変換スキップや変換量子化バイパスにおける残差並び替え処理用のパラメータであるtsResArrAllowedを導出する。式(AA1)を以下にも示す。なお、THは閾値である。
tsResArrAllowed = ( (nTbW <= TH) and 
                  (nTbH <= TH) and 
                  (resArrEnabledFlag==True) and
                  (CuPredMode == MODE_INTRA) and
                  (transformSkipFlag == True || transQuantBypassFlag == True) )
 ・・・(AA1)
 また、残差並び替え制御部101は、図23に示される式(AA2)を用いて、適応直交変換における残差並び替え処理用のパラメータであるmtsResArrAllowedowedを導出する。式(AA1)を以下にも示す。なお、THは閾値である。
mtsResArrAllowed = 
    (transformSkipFlag == False && transQuantBypassFlag == False) ) and 
    (mtsEnabledFlag == True)
 ・・・(AA2)
 さらに、残差並び替え制御部101は、図23に示される式(AA3)を用いて、残差並び替え処理用のパラメータであるresArrAllowedowedを導出する。式(AA3)を以下にも示す。
resArrAllowed = (tsResArrAllowed || mtsResArrAllowed)
 ・・・(AA3)
 ここで、tsResArrAllowedは、変換スキップや変換量子化バイパスにおける残差並び替え処理が適用可能であるか否かを示すパラメータを示し、mtsResArrAllowedは、MTSにおける残差並び替え処理が適用可能かを示すパラメータを示す。残差並び替え処理が適用可能かを示すresArrAllowedは、tsResArrAllowedと、mtsResArrAllowedの和(OR演算)により得られる。また、上述した式(AA1)は、上述した式(A1)あるいは、式(A2)であってもよい。
 図22に戻り、ステップS401の処理が終了すると処理はステップS402に進む。ステップS402において、残差並び替え制御部101は、resArrAllowedが真であるか否かを判定する。resArrAllowedが真である、つまり、残差並び替え処理が適用可能であると判定された場合、処理はステップS403に進む。
 ステップS403において、残差並び替え制御部101は、所定の方法によりresArrIdxを導出する。この場合のresArrIdxの設定方法の例を図24のAに示す。つまり、この場合、残差並び替え制御部101は、図24のAに示される式(AB1)を用いてresArrIdxを導出する。式(AB1)を以下にも示す。
If tsResArrAllowed == True and mtsResArrAllowed == False,
     resArrIdx = RES_ARR_ROTATE (rotation)
Else if tsResArrAllowed == False and mtsResArrAllowed == True,
     resArrIdx = mtsIdx
Else (tesAllowed == False and mtsResArrAllowed == False),
     resArrIdx = NO_RES_ARR (no residual arrangement)
 ・・・(AB1)
 つまり、変換スキップや変換量子化バイパスにおける残差並び替え処理が適用可能であり、かつ、MTSにおける残差並び替え処理が適用不可能である場合、残差ローテーション処理が適用される(resArrIdx = RES_ARR_ROTATE)。また、変換スキップや変換量子化バイパスにおける残差並び替え処理が適用不可能であり、かつ、MTSにおける残差並び替え処理が適用可能である場合、mtsIdxに従ってresArrIdxが設定される(resArrIdx = mtsIdx)。
 mtsIdxは、例えば、図25に示される表にしたがって、trTypeHorおよびtrTypeVerから導出される。
(trTypeHor, trTypeVer) = (DST7, DST7),
                         (DST7, DCT8),
                         (DCT8, DST7),
                         (DCT8, DCT8)のうち (mts_idx=0..3)、
(DST7, DST7) をベース直交変換とすると、残りの直交変換は、
以下の水平方向、垂直方向の残差のフリップ操作と、(DST7, DST7)の直交変換で代替することができる。
 なお、図25の表において、resArrIdxの変数名は、以下のように定義される。
 NO_RES_ARR:残差並び替え処理をしない
 RES_ARR_HOR_FLIP:水平方向に残差をフリップして並び替え
 RES_ARR_VER_FLIP:垂直方向に残差をフリップして並び替え
 RES_ARR_ROTATAE:水平方向/垂直方向に残差をフリップして並び替え (rotation)
 ここで、resArrIdx = mtsIdxとして導出してもよい。mtsIdxとresArrIdxは、図25の表に示されるように一対一に対応付けられており、mtsIdxからresArrIdxを一意に求めることができる。
 なお、変換タイプは、DST7の代わりに、DST4としてもよい。また、mtx_idxは、例えば、規格書の通り、TU単位で復号/符号化してもよい。
 図24のAの式(AB1)に戻り、変換スキップや変換量子化バイパスにおける残差並び替え処理と、MTSにおける残差並び替え処理の両方が適用不可能である場合、残差並び替え処理が適用されない(resArrIdx = NO_RES_ARR)。
 また、ステップS403において、残差並び替え制御部101が、図24のBに示される式(AB2)を用いてresArrIdxを導出するようにしてもよい。この式(AB2)を以下にも示す。
If tsResArrAllowed == True and mtsResArrAllowed ==False のとき、
  If intraPredAngle <= HOR_IDX + deltaAngle
          resArrIdx = RES_ARR_HOR_FLIP (horizontal flip)
  Else if intraPredAngle >= VER_IDX - deltaAngle and intraPredAngle <= maxIntraPredAngle:
          resArrIdx = RES_ARR_VER_FLIP (vertical flip)
  Else intraPredAngle > HOR_IDX + deltaAngle and intraPredAngle <VER_IDX - deltaAngle :
          resArrIdx = RES_ARR_ROTATE (rotation)
  Else:
          resArrIdx = NO_RES_ARR (no residual arrangement)
 
Else if tsResAllowed == False and mtsResArrAllowed == Trueのとき、
  resArrIdx = mtsIdx
Else: resArrIdx = NO_RES_ARR
 ・・・(AB2)
 ステップS403の処理が終了すると、処理はステップS405に進む。また、ステップS402において、resArrAllowedが偽(False)である、つまり、残差並び替え処理が適用不可能であると判定された場合、処理はステップS404に進む。
 ステップS404において、残差並び替え制御部101は、resArrIdxを、NO_RES_ARRに設定する。つまり、残差の並び替えが適用されない。ステップS404の処理が終了すると、処理はステップS405に進む。
 ステップS405において、残差並び替え処理部102は、入力された残差rのブロックに対して、ステップS403またはステップS404において設定されたresArrIdxに応じて適宜残差の並び替えを行い、並び替え後の残差rを出力する。
 ステップS405の処理が終了すると、残差並び替え処理が終了する。以上のように処理を行うことにより、長方形のブロックを構成し得る符号化方式であっても、係数変換がスキップされたブロックに対して、または、適応直交変換が適用されるブロックに対して、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
  <画像符号化装置への適用>
 この場合も本技術を画像符号化装置200に適用することができる。
  <変換量子化部>
 この場合の本技術を適用した画像符号化装置200の変換量子化部213の主な構成例を、図26に示す。この場合、残差並び替え処理が、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換の際にも行われ得るので、図26に示されるように、残差並び替え部236は、係数変換を行う場合にも残差並び替え処理を行うことができるように構成されている。つまり、残差並び替え部236は、選択部231の前段に配置されている。
 この残差並び替え部236に、図21の残差並び替え装置100を適用することができる。つまり、残差並び替え部236が、図21に示されるような構成を有し、図22に示されるフローチャートのような流れで残差並び替え処理を行うようにしてもよい。このようにすることにより、残差並び替え部236は、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換の際にも、残差並び替え処理を行うことができる。したがって符号化効率の低減を抑制することができる。つまり、本実施の形態において説明した本技術は、残差並び替え装置100だけでなく、画像符号化装置200にも適用することができる。
 なお、変換量子化バイパスフラグ(transQuantBypassFlag)、および、変換スキップフラグ(transformSkipFlag)は、CU/TU単位で復号/符号化されているものとする。なお、transformSkipFlagは、MTS index(mts_idx)の一部として復号/符号化されていてもよい。また、resArrIdxは、CU/TU単位で導出済みとする。
  <変換量子化処理の流れ>
 この場合の変換量子化部213により実行される変換量子化処理の流れの例を、図27のフローチャートを参照して説明する。
 変換量子化処理が開始されると、残差並び替え部236は、ステップS421において、残差並び替え処理を行う。その際、残差並び替え部236は、図22のフローチャートのような流れでこの処理を行う。ステップS421の処理が終了すると、処理はステップS422に進む。
 ステップS422において、選択部231、選択部233、および選択部235は、変換量子化バイパスを行うか否かを判定する。変換量子化バイパスを行わないと判定された場合、処理はステップS423に進む。
 ステップS423において、選択部231、選択部233、および選択部235は、変換スキップを行うか否かを判定する。変換スキップを行わないと判定された場合、処理はステップS424に進む。
 ステップS424において、変換部232は、残差データrに対して係数変換を行う。ステップS424の処理が終了すると、処理はステップS425に進む。
 また、ステップS423において、変換スキップを行うと判定された場合、処理はステップS425に進む。
 ステップS425において、量子化部234は、変換係数または残差データr’に対して、量子化を行う。ステップS425の処理が終了すると、変換量子化処理が終了し、処理は、図15の画像符号化処理に戻る。また、ステップS422において、変換量子化バイパスを行うと判定された場合、変換量子化処理が終了し、処理は、図15の画像符号化処理に戻る。
 以上のように各処理を行うことにより、残差並び替え部236は、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換の際にも、残差並び替え処理を行うことができる。したがって符号化効率の低減を抑制することができる。つまり、本実施の形態において説明した本技術は、残差並び替え装置100だけでなく、画像符号化装置200にも適用することができる。
  <画像復号装置への適用>
 この場合も本技術を画像復号装置300に適用することができる。
  <逆量子化逆変換部>
 この場合の本技術を適用した画像復号装置300の逆量子化逆変換部313の主な構成例を、図28に示す。この場合、残差並び替え処理が、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換の際にも行われ得るので、図28に示されるように、残差並び替え部336は、係数変換を行う場合にも残差並び替え処理を行うことができるように構成されている。つまり、残差並び替え部336は、選択部335の後段に配置されている。
 この残差並び替え部336に、図21の残差並び替え装置100を適用することができる。つまり、残差並び替え部336が、図21に示されるような構成を有し、図22に示されるフローチャートのような流れで残差並び替え処理を行うようにしてもよい。このようにすることにより、残差並び替え部336は、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換(適応逆直交変換)の際にも、残差並び替え処理を行うことができる。したがって符号化効率の低減を抑制することができる。つまり、本実施の形態において説明した本技術は、残差並び替え装置100だけでなく、画像復号装置300にも適用することができる。
 なお、変換量子化バイパスフラグ(transQuantBypassFlag)、および、変換スキップフラグ(transformSkipFlag)は、CU/TU単位で復号/符号化されているものとする。なお、transformSkipFlagは、MTS index(mts_idx)の一部として復号/符号化されていてもよい。また、resArrIdxは、CU/TU単位で導出済みとする。
  <逆量子化逆変換処理の流れ>
 この場合の逆量子化逆変換部313により実行される逆量子化逆変換処理の流れの例を、図29のフローチャートを参照して説明する。
 逆量子化逆変換処理が開始されると、選択部331、選択部333、および選択部335は、ステップS441において、変換量子化バイパスを行うか否かを判定する。変換量子化バイパスを行わないと判定された場合(つまり、transquantBypassFlag == 0 の場合)、処理はステップS442に進む。この場合、選択部331は、量子化係数levelを逆量子化部332に供給する。
 ステップS442において、逆量子化部332は、選択部331を介して取得した量子化係数levelに対して逆量子化を行い、変換係数または残差データr'を生成する。逆量子化部332は、その変換係数または残差データrを選択部333に供給する。
 ステップS443において、選択部331、選択部333、および選択部335は、変換スキップを行うか否かを判定する。変換スキップを行わないと判定された場合(つまり、transformSkipFlag == 0 の場合)、処理はステップS444に進む。この場合、選択部333は、逆量子化部332から取得した変換係数を逆変換部334に供給する。
 ステップS444において、逆変換部334は、その変換係数に対して所謂逆直交変換等の逆係数変換を行い、残差データrを生成する。逆変換部334は、その残差データrを選択部335に供給する。選択部335は、その残差データrを残差並び替え部336に供給する。ステップS444の処理が終了すると、処理はステップS445に進む。
 ステップS441において、変換量子化バイパスを行うと判定された場合(つまり、transquantBypassFlag == 1 の場合)、処理はステップS445に進む。この場合、選択部331は、逆量子化逆変換部313に供給された残差データr'を選択部333に供給する。選択部333は、その残差データr'を残差並び替え部336に供給する。
 さらに、ステップS443において、変換スキップを行うと判定された場合(つまり、transformSkipFlag == 1 の場合)、処理はステップS445に進む。この場合、選択部333は、逆量子化部332から取得した残差データr'を残差並び替え部336に供給する。
 そして、ステップS445において、残差並び替え部336は、図22のフローチャートを参照して説明したような残差並び替え処理を実行し、残差データr'の並び替えを行い、残差データrを生成する。残差並び替え部336は、その残差データr(D')を演算部314に供給する。ステップS325の処理が終了すると、逆量子化逆変換処理が終了し、処理は図19に戻る。
 以上のように各処理を行うことにより、画像復号において、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換(適応逆直交変換)の際にも、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
 この残差並び替え部336に、図21の残差並び替え装置100を適用することができる。つまり、残差並び替え部336が、図21に示されるような構成を有し、図22に示されるフローチャートのような流れで残差並び替え処理を行うようにしてもよい。このようにすることにより、残差並び替え部336は、変換スキップや変換量子化バイパスの場合だけでなく、適応直交変換(適応逆直交変換)の際にも、残差並び替え処理を行うことができる。したがって符号化効率の低減を抑制することができる。つまり、本実施の形態において説明した本技術は、残差並び替え装置100だけでなく、画像復号装置300にも適用することができる。
 <4.第4の実施の形態>
  <4-1.インター予測適用ブロックへの適用>
 第1の実施の形態において説明した本技術は、インター予測を適用するブロックにも適用できるようにしてもよい。このようにすることにより、インター予測が適用される場合も、符号化効率の低減を抑制することができる。また、tsResArrAllowedを導出する際の条件式を簡略化することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の主な構成例を図30に示す。図30に示されるように、この場合の残差並び替え装置100は、図6の場合と基本的に同様の構成を有する。ただし、この場合、残差並び替え制御部101は、CuPredMode(CU予測タイプ)の取得を省略することができる。
  <残差並び替え処理の流れ>
 また、この場合の残差並び替え処理は、第1の実施の形態において図7のフローチャートを参照して説明したのと同様の流れで行うことができる。ただし、この場合、ステップS101における、tsResArrAllowedは、図8のAに示される式(A1)の代わりに、図31のAに示される式(A1a)を用いて導出する。式(A1a)を以下に示す。なお、THは閾値である。
tsResArrAllowed = (nTbW <= TH) and
                  (nTbH <= TH) and
                  (resArrEnabledFlag==True) and
                  (transformSkipFlag == True || transQuantBypassFlag == True)
 ・・・(A1a)
 つまり、この式(A1a)の場合、式(A1)と比べて、CuPredModeの条件が省略されている。このようにすることにより、インター予測が適用されるブロックについても、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
 なお、このtsResArrAllowedは、図31のBに示される式(A2a)を用いて導出されるようにしてもよい。式(A2a)を以下に示す。なお、THは閾値である。
tsResArrAllowed = (nTbW*nTbH <= TH*TH) and
                  (resArrEnabledFlag==True) and
                  (transformSkipFlag == True || transQuantBypassFlag == True)
 ・・・(A2a)
 この式(A2a)は、図8のBの(A2)に対応する。つまり、この式(A2a)の場合、式(A2)と比べて、CuPredModeの条件が省略されている。このようにすることにより、インター予測が適用されるブロックについても、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
  <画像符号化装置への適用>
 この場合も本技術は、画像符号化装置200に適用することができる。例えば、画像符号化装置200の変換量子化部213の残差並び替え部236(図14)に、残差並び替え装置100(図30)を適用してもよい。そして、その残差並び替え部236が、変換量子化処理(図16)のステップS244およびステップS246において残差並び替え処理を、図7のフローチャートと同様の流れで行うようにすればよい。ただし、tsResArrAllowedの導出は、図31の例のように行う。このようにすることにより、画像符号化装置200において、インター予測が適用されるブロックについても、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
  <画像復号装置への適用>
 同様に、この場合の本技術は、画像復号装置300に適用することができる。例えば、画像復号装置300の逆量子化逆変換部313の残差並び替え部336(図18)に、残差並び替え装置100(図30)を適用してもよい。そして、その残差並び替え部336が、逆量子化逆変換処理(図20)のステップS325において残差並び替え処理を、図7のフローチャートと同様の流れで行うようにすればよい。ただし、tsResArrAllowedの導出は、図31の例のように行う。このようにすることにより、画像復号装置300は、残差ローテーション処理とインター予測が適用されるブロックを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
  <変形例>
 ここで、非特許文献9の記載のように、変換スキップフラグをMTS Indexの一部として符号化・復号する場合、上述の式(A1a)および式(A2a)の条件判定式”transformSkipFlag == True”の部分を、以下の条件判定式に置き換えてもよい。
 “IsTrafoSkip == True (1)”
 IsTrfoSkipとは、2次元変換スキップか否かを表す変数であり、図32のAに示される表に基づいて設定される。つまり、MaxMtsIdxとtu_mts_idx(mtsIdxとも称する)を参照し、これらの値に基づいて変換タイプが2次元変換スキップであるか否かが判定される。なお、図32のAの表に示されるMaxMtsIdxは、図32のBに示される表を用いて導出される。また、tu_mts_idxは、図33に示されるように、Transform unitにおいてシグナリングされている。
  <4-2.適応直交変換への適用>
 <4-1.インター予測適用ブロックへの適用>において説明した方法は、第3の実施の形態の場合と同様に、適応直交変換用の残差並び替え処理にも適用することができる。変換スキップや変換量子化バイパスにおける残差並び替え処理と、適応直交変換とで別々の回路を持つ場合、回路規模が増大するおそれがあった。
 そこで、変換スキップや変換量子化バイパスにおける残差並び替え処理と、適応直交変換(MTS)とをマージする。MTSで実現できる2次元直交変換の組み合わせとして、例えばの以下の組み合わせがある。
(trTypeHor, TrTypeVer) = (DCT2, DCT2), (DCT2, DST7), (DCT2, DCT8)
                         (DST7, DCT2), (DST7, DST7), (DST7, DCT8)
                         (DCT8, DCT2), (DCT8, DST7), (DCT8, DCT8)
 ここで、trTypeHorは、水平方向の直交変換の変換タイプを表し、trTypeVerは、垂直方向の直交変換の変換タイプを表す。2次元直交変換の空間対称性に着目すると、(DST7, DST7), (DST7, DCT8), (DCT8, DST7), (DCT8, DCT8)の変換基底は相似である。したがって、残差に対して、水平方向、垂直方向にフリップ操作(残差並び替え処理)を行い、その並び替えた残差に対して、 (trTypeHor, TrTypeVer) = (DST7, DST7)の2次元直交変換を行うことで、その他の2次元直交変換 (DST7, DCT8), (DCT8, DST7), (DCT8, DCT8)を代替することができる。
 ここで、FlipDST7は、DCT8に対して符号反転することで得られる。また、その他に、 (trTypeHor, TrTypeVer) = (DCT2, DST7), (DCT2, DCT8), (DST7, DCT2), (DCT8, DCT2)についても、残差に対して、水平方向、垂直方向にフリップ操作(残差並び替え処理)を行い、その並び替えた残差に対して、 (trTypeHor, TrTypeVer) = (DCT2, DST7)の2次元直交変換することで、その他の2次元直交変換(DCT2, DCT8), (DST7, DCT2), (DCT8, DCT2)を代替することができる。
 そこで、変換スキップや変換量子化バイパスにおける残差並び替え処理と、MTSにおける残差並び替え処理において、残差並び替え識別子resArrIdxの導出処理を共通化することで、回路規模の削減を実現することができる。
 つまり、残差並び替え識別子resArrIdxの導出処理の共通化により、回路規模の増大を抑制することができる。また、残差並び替えを併用するMTSは、残差並び替えを併用しないMTSと比較して、保持すべき直交変換の変換タイプに対応する変換行列を削減することができる。そのため、さらに回路規模の増大を抑制することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の主な構成例を図34に示す。図34に示されるように、この場合の残差並び替え装置100は、図21の場合と基本的に同様の構成を有する。ただし、この場合、残差並び替え制御部101は、CuPredMode(CU予測タイプ)の取得を省略することができる。
  <残差並び替え処理の流れ>
 また、この場合の残差並び替え処理は、第3の実施の形態において図22のフローチャートを参照して説明したのと同様の流れで行うことができる。ただし、この場合、ステップS401におけるtsResArrAllowedの導出は、図35に示される式(AA1a)を用いて導出してもよい。式(AA1a)を以下にも示す。なお、THは閾値である。
tsResArrAllowed = ( (nTbW <= TH) and
                  (nTbH <= TH) and
                  (resArrEnabledFlag==True) and
                  (transformSkipFlag == True || transQuantBypassFlag == True) )
 ・・・(AA1a)
 この式(AA1a)は、図23の(AA1)に対応する。つまり、この式(AA1a)の場合、式(AA1)と比べて、CuPredModeの条件が省略されている。なお、mtsResArrAllowedは、図23の場合と同様に式(AA2)を用いて導出される。また、resArrAllowedは、図23の場合と同様に式(AA3)を用いて導出される。
 このようにすることにより、インター予測が適用されるブロックについても、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
  <画像符号化装置への適用>
 この場合も本技術は、画像符号化装置200に適用することができる。例えば、画像符号化装置200の変換量子化部213の残差並び替え部236(図26)に、残差並び替え装置100(図34)を適用してもよい。そして、その残差並び替え部236が、変換量子化処理(図27)のステップS421において残差並び替え処理を、図22のフローチャートと同様の流れで行うようにすればよい。ただし、tsResArrAllowedの導出は、図35の式(AA1a)を用いて行う。このようにすることにより、画像符号化装置200において、適応直交変換やインター予測が適用されるブロックについても、残差ローテーション処理を適用することができ、符号化効率の低減を抑制することができる。
  <画像復号装置への適用>
 同様に、この場合の本技術は、画像復号装置300に適用することができる。例えば、画像復号装置300の逆量子化逆変換部313の残差並び替え部336(図28)に、残差並び替え装置100(図34)を適用してもよい。そして、その残差並び替え部336が、逆量子化逆変換処理(図29)のステップS325において残差並び替え処理を、図22のフローチャートと同様の流れで行うようにすればよい。ただし、tsResArrAllowedの導出は、図35の例のように行う。このようにすることにより、画像復号装置300は、適応直交変換やインター予測が適用されるブロックを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
  <変形例>
 ここで、非特許文献9の記載のように、変換スキップフラグをMTS Indexの一部として符号化・復号する場合、上述の式(AA1a)の条件判定式"transformSkipFlag == True"の部分を、以下の条件判定式に置き換えてもよい。
 "IsTrafoSkip == True (1)"
 同様に、式(AA2)(図23)の条件判定式"transformSkipFlag == False"の部分を、以下の条件判定式に置き換えてもよい。
 "IsTrafoSkip == False (0)"
 また、図25に示される表は、図36に示される表のようにしてもよい。つまり、trType=2(DCT8)となっていた部分を、trType=1(DST7)に変更してもよい。さらに、(mtxIdx, IsTrfoSkip)と対応するresArrIdxを追加してもよい。また、図36のresArrIdxの上から3段目の場合、式(B1)、式(B2)、および式(B4)に基づいてresArrIdxが導出されるようにしてもよい。
 また、
(trTypeHor, trTypeVer) = (DST7, DST7), 
                         (DST7, DCT8), 
                         (DCT8, DST7), 
                         (DCT8, DCT8)のうち 、
(DST7, DST7) をベース直交変換とすると、残りの直交変換は、以下の水平方向、垂直方向の残差のフリップ操作と、(DST7, DST7)の直交変換で代替することができる。
変数名の定義:
  NO_RES_ARR: 残差並び替え処理をしない 
  RES_ARR_HOR_FLIP: 水平方向に残差をフリップして並び替え
  RES_ARR_VER_FLIP:  垂直方向に残差をフリップして並び替え
  RES_ARR_ROTATAE:  水平方向/垂直方向に残差をフリップして並び替え (rotation)
 なお、変換タイプは、DST7の代わりに、DST4としてもよい。また、mtx_idxは、例えば、規格書の通り(またはJVET-M0464の通り)、TU単位で復号/符号化してもよい。
 <5.第5の実施の形態>
  <ブロック形状に応じた残差並び替え>
 処理ブロックが長方形の場合、例えば、非特許文献6に記載のWide-angle Intra Prediction用にイントラ予測モードを再マッピングする必要があり、再マッピング後でなければ、どの残差並び替え処理を適用するか決定できなかった。すなわち、パース依存性があった。
 そこで、変換スキップとイントラ予測が適用されたブロックに対して、そのブロック(CU, PU, TU)の形状(width/height)に基づいて、resArrIdxを導出し、残差並び替え処理を適用してもよい。このようにすることにより、例えば、変換スキップ/イントラ予測のとき、ブロックの形状に応じて残差傾向を考慮した、適切な残差並び替え処理を適用することができる。したがって、イントラ予測モードに対するパース依存性が低減し、処理の簡略化や低遅延化を実現することができる。また、従来と同程度の符号化効率を実現できる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の主な構成例を図37に示す。図37に示されるように、この場合の残差並び替え装置100は、図6の場合と基本的に同様の構成を有する。ただし、この場合、残差並び替え制御部101は、(Remapped )predModeIntra(intraPredAngle)の取得を省略することができる。
  <残差並び替え処理の流れ>
 また、この場合の残差並び替え処理は、第1の実施の形態において図7のフローチャートを参照して説明したのと同様の流れで行うことができる。ただし、この場合、ステップS103における、resArrIdxは、図11のAに示される式(B1)や図11のBに示される式(B2)の代わりに、図38に示される式(B4)を用いて導出する。式(B4)を以下に示す。
tsResArrAllowed == Trueのとき、
処理対象ブロックの横幅nTbWと縦幅nTbHに基づいて、resArrIdxを設定する。
  If (cuPredMode==MODE_INTRA) and (nTbW==nTbH),
          resArrIdx = RES_ARR_ROTATE (rotation)
  Else If (cuPredMode==MODE_INTRA) and (nTbW < nTbH),
          resArrIdx = RES_ARR_HOR_FLIP (horizontal flip)
  Else If (cuPredMode==MODE_INTRA) and (nTbW > nTbH),
          resArrIdx = RES_ARR_VER_FLIP (vertical flip)
  Else // cuPredMode==MODE_INTER
          resArrIdx = NO_RES_ARR (no residual arrangement)
 ・・・(B4)
 処理対象ブロックの横幅nTbWと縦幅nTbHが等しいとき、上隣接参照画素群、左隣接参照画素群の両方を利用するイントラ予測モードが使われやすい。この傾向を利用し、残差並び替え処理として、ローテーション(rotation)が適用される。なお、このローテーションの代用として、垂直方向フリップ(vertical flip)または水平方向フリップ(horizontal flip)を適用することも可能である。
 処理対象ブロックの横幅nTbWが縦幅nTbHより大きいとき、上隣接参照画素群を利用するイントラ予測モードが使われやすい。この傾向を利用し、残差並び替え処理として、垂直方向フリップ(vertical flip)が適用される。なお、この垂直方向フリップの代用として、ローテーション(rotation)が適用されるようにしてもよい。また、並べ替え処理の省略(no operation)が選択されるようにしてもよい。
 処理対象ブロックの横幅nTbWが縦幅nTbHより小さいとき、左隣接参照画素群を利用するイントラ予測モードが使われやすい。この傾向を利用し、残差並び替え処理として、水平方向フリップ(horizontal flip)が適用される。なお、この水平方向フリップの代用として、ローテーション(rotation)が適用されるようにしてもよい。また、並べ替え処理の省略(no operation)が選択されるようにしてもよい。
 このようにすることにより、長方形のブロックについても、残差ローテーション処理等を適切に適用することができ、符号化効率の低減を抑制することができる。
  <画像符号化装置への適用>
 この場合も本技術は、画像符号化装置200に適用することができる。例えば、画像符号化装置200の変換量子化部213の残差並び替え部236(図14)に、残差並び替え装置100(図37)を適用してもよい。そして、その残差並び替え部236が、変換量子化処理(図16)のステップS244およびステップS246において残差並び替え処理を、図7のフローチャートと同様の流れで行うようにすればよい。ただし、resArrIdxの導出は、図38の例のように行う。このようにすることにより、画像符号化装置200において、長方形のブロックについても、残差ローテーション処理等を適切に適用することができ、符号化効率の低減を抑制することができる。
  <画像復号装置への適用>
 同様に、この場合の本技術は、画像復号装置300に適用することができる。例えば、画像復号装置300の逆量子化逆変換部313の残差並び替え部336(図18)に、残差並び替え装置100(図37)を適用してもよい。そして、その残差並び替え部336が、逆量子化逆変換処理(図20)のステップS325において残差並び替え処理を、図7のフローチャートと同様の流れで行うようにすればよい。ただし、resArrIdxの導出は、図38の例のように行う。このようにすることにより、画像復号装置300は、残差ローテーション処理が適用された長方形のブロックを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
 <6.第6の実施の形態>
  <6-1.SBTモードへの適用>
 非特許文献13には、インター予測のとき、ブロック内を複数のサブブロックへ分割し、1つのサブブロック以外すべてをゼロ化する符号化モード(SBT(Sub Block Transform)モードと称する)が開示されている。しかしながら、この非特許文献13に記載の方法では、このSBTモードにおいて、変換スキップと非変換スキップを切り替えることができなかった。これにより、符号化効率が低減するおそれがあった。
 そこで、SBTモードにおいても、変換スキップと非変換スキップの切り替えをできるように、変換スキップのオン・オフ(on/off)を示すシンタックスを明示的に符号化する。さらに、SBTモードかつ変換スキップのときに、非ゼロサブブロックの位置に応じて、残差並び替え処理を適用する。
 このようにすることにより、SBTモードにおいても、変換スキップと非変換スキップの切り替えができる。また、SBTモードかつ変換スキップのとき、非ゼロサブブロックの位置に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の主な構成例を図39に示す。図39に示されるように、この場合の残差並び替え装置100は、図6の構成に加え、SBT制御パラメータ符号化部501を有する。また、この場合、残差並び替え制御部101は、図6に示されるパラメータに加え、SBT制御パラメータを取得する。
 このSBT制御パラメータは、SBTモードに用いられる制御用のパラメータであり、例えば、cu_sbt_flag, cu_sbt_horizontal_flag, cu_sbt_pos_flag等のパラメータを含む。cu_sbt_flagは、SBTモードを適用するか否かを示すフラグ情報である。cu_sbt_horizontal_flagは、SBTモードにおいてブロック分割の方向を水平方向にするか垂直方向にするかを示すフラグ情報である。cu_sbt_pos_flagは、いずれのサブブロックを非ゼロサブブロックにするかを示すフラグ情報である。また、SBT制御パラメータとして、例えばHEVCのように、RQT(Residual QuadTree)分割とresidual blockの残差がすべてゼロか否かを示すcoded_block_flag (cbf)の組み合わせで表現されていてもよい。
 残差並び替え制御部101は、これらのSBT制御パラメータを用いてresArrIdxを導出し、それを残差並び替え処理部102に供給する。残差並び替え処理部102は、そのresArrIdxに基づいて残差データrの並び替えを行う。
 SBT制御パラメータ符号化部501は、これらのSBT制御パラメータを符号化し、その符号化データを出力する。この符号化データは、復号側に伝送される(シグナルされる)。つまり、この場合の残差並び替え装置100は、画像の符号化において利用される装置(符号化側の装置)である。
  <残差並び替え処理の流れ>
 この場合の残差並び替え処理の流れの例を、図40のフローチャートを参照して説明する。残差並び替え処理が開始されると、SBT制御パラメータ符号化部501は、ステップS501において、残差並び替え装置100に入力されたSBT制御パラメータを符号化する。また、ステップS502において、SBT制御パラメータ符号化部501は、変換スキップ/非変換スキップ(isTrfoSkip)に関する情報を符号化する。これらの符号化データは、残差並び替え装置100から出力される(例えば、復号側に伝送される)。
 ステップS503において、残差並び替え制御部101は、入力されたパラメータに基づいて、tsResArrAllowedを導出する。
 ステップS504において、残差並び替え制御部101は、そのtsResArrAllowedが真(True)であるか否かを判定する。tsResArrAllowedが真であると判定された場合、処理はステップS505に進む。
 ステップS505において、残差並び替え制御部101は、所定の方法によりresArrIdxを設定する。例えば、残差並び替え制御部101は、図41に示されるような方法でresArrIdxを設定する。例えば、変換スキップ/インター予測/サブブロック分割のとき、非ゼロサブブロックの位置から、残差並び替え処理を決める。
 例えば、インター予測が適用され(cuPredMode==MODE_INTER)、cu_sbt_flagが真(True)の場合、サブブロック分割を行う。
 例えば、図42のAに示されるように、SVT-V, position 0の場合、非ゼロsub-TUの左側(左下側)に大きな残差が発生する傾向がある。この傾向を利用し、残差並び替え処理として、垂直方向フリップ(vertical flip)を適用する。
 また、図42のBに示されるように、SVT-V, position 1の場合、非ゼロsub-TUの右側(右下側)に大きな残差が発生する傾向がある。この傾向を利用し、残差並び替え処理として、ローテーション(rotation)を適用する。
 また、図42のCに示されるように、SVT-H, position 0の場合、非ゼロsub-TUの上側(右上側)に大きな残差が発生する傾向がある。この傾向を利用し、残差並び替え処理として、水平方向フリップ(horizontal flip)を適用する。
 また、図42のDに示されるように、SVT-H, position 1の場合、非ゼロsub-TUの下側(右下側)に大きな残差が発生する傾向がある。この傾向を利用し、残差並び替え処理として、ローテーション(rotation)を適用する。
 なお、trType=0はDCT2に相当し、trType=1はDST7に相当し、trType=2はDCT8に相当する。また、cu_sbt_flag, cu_sbt_horizontal_flag, cu_sbt_pos_flag等のSBT制御パラメータは、CU単位で符号化・復号されるものとする。
 このような制御が、図43のテーブル情報にまとめられている。残差並び替え制御部101は、このテーブル情報に基づいて、SBT制御パラメータ等から残差並び替え処理の方法(垂直方向フリップ、水平方向フリップ、ローテーション等)を設定することができる。
 図40に戻り、ステップS505の処理が終了すると、処理はステップS507に進む。
 また、ステップS504において、tsResArrAllowedが偽(False)であると判定された場合、処理はステップS506に進む。
 ステップS506において、残差並び替え制御部101は、resArrIdxを、NO_RES_ARRに設定する。つまり、残差の並び替えが適用されない。ステップS506の処理が終了すると、処理はステップS507に進む。
 ステップS507において、残差並び替え処理部102は、入力された残差rのブロックに対して、ステップS505またはステップS506において設定されたresArrIdxに応じて適宜残差の並び替えを行い、並び替え後の残差rを出力する。
 ステップS507の処理が終了すると、残差並び替え処理が終了する。以上のように処理を行うことにより、SBTモードかつ変換スキップのとき、非ゼロサブブロックの位置に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
  <resArrIdx設定方法の他の例>
 なお、ステップS505において行われるresArrIdxの設定方法は、上述の例に限定されず、例えば以下のように行ってもよい。その例を、図44に示す。
 図41の例からの変更点は、適用する残差並び替え方法にある。つまり図44の例においては、SVT-V, position 0の場合(図42のA)、残差並び替え処理として、垂直方向フリップ(vertical flip)が適用される。
 また、SVT-V, position 1の場合(図42のB)、残差並び替え処理として、水平方向フリップ(horizontal flip)が適用される。
 また、SVT-H, position 0の場合(図42のC)、残差並び替え処理として、水平方向フリップ(horizontal flip)が適用される。
 また、SVT-H, position 1の場合(図42のD)、残差並び替え処理として、垂直方向フリップ(vertical flip)を適用する。
 つまり、この例の場合、ローテーションが適用されず、水平方向フリップ(horizontal flip)と垂直方向フリップ(vertical flip)により、残差並び替えが行われる。
 このような制御が、図45のテーブル情報にまとめられている。残差並び替え制御部101は、このテーブル情報に基づいて、SBT制御パラメータ等から残差並び替え処理の方法(垂直方向フリップ、水平方向フリップ)を設定することができる。
  <画像符号化装置への適用>
 なお、この本技術は、画像符号化装置200に適用することができる。例えば、画像符号化装置200の変換量子化部213の残差並び替え部236(図14)に、残差並び替え装置100(図37)を適用してもよい。そして、その残差並び替え部236が、変換量子化処理(図16)のステップS244およびステップS246において残差並び替え処理を、図40のフローチャートと同様の流れで行うようにすればよい。このようにすることにより、画像符号化装置200において、SBTモードかつ変換スキップのとき、非ゼロサブブロックの位置に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の他の構成例を図46に示す。図46に示されるように、この場合の残差並び替え装置100は、図6の構成に加え、SBT制御パラメータ復号部521を有する。また、この場合、残差並び替え装置100には、SBT制御パラメータの符号化データが供給される。SBT制御パラメータ復号部521は、その符号化データを取得して復号し、SBT制御パラメータを生成(復元)する。また、この場合、残差並び替え制御部101は、図6に示されるパラメータに加え、SBT制御パラメータを取得する。したがって、残差並び替え制御部101は、SBT制御パラメータ復号部521により生成(復元)されたSBT制御パラメータを取得する。
 なお、SBT制御パラメータは、図39の例と同様である(例えば、cu_sbt_flag, cu_sbt_horizontal_flag, cu_sbt_pos_flag等)。残差並び替え装置100に供給されるSBT制御パラメータの符号化データは、符号化側から伝送される(シグナルされる)。つまり、この場合の残差並び替え装置100は、画像の復号において利用される装置(復号側の装置)である。
  <残差並び替え処理の流れ>
 この場合の残差並び替え処理の流れの例を、図47のフローチャートを参照して説明する。残差並び替え処理が開始されると、SBT制御パラメータ復号部521は、ステップS521において、残差並び替え装置100に入力されたSBT制御パラメータの符号化データを復号する。また、ステップS522において、SBT制御パラメータ復号部521は、変換スキップ/非変換スキップ(isTrfoSkip)に関する情報の符号化データを復号する。これらのデータは、残差並び替え制御部101に供給される。
 ステップS523において、残差並び替え制御部101は、入力されたパラメータに基づいて、tsResArrAllowedを導出する。
 ステップS524において、残差並び替え制御部101は、そのtsResArrAllowedが真(True)であるか否かを判定する。tsResArrAllowedが真であると判定された場合、処理はステップS525に進む。
 ステップS525において、残差並び替え制御部101は、所定の方法によりresArrIdxを設定する。例えば、残差並び替え制御部101は、図41に示されるような方法でresArrIdxを設定する。また、残差並び替え制御部101は、例えば図44に示されるような方法でresArrIdxを設定してもよい。つまり、残差並び替え制御部101は、符号化側の残差並び替え装置100と同様の方法でresArrIdxを設定する。
 ステップS525の処理が終了すると、処理はステップS527に進む。また、ステップS524において、tsResArrAllowedが偽(False)であると判定された場合、処理はステップS526に進む。
 ステップS526において、残差並び替え制御部101は、resArrIdxを、NO_RES_ARRに設定する。つまり、残差の並び替えが適用されない。ステップS526の処理が終了すると、処理はステップS527に進む。
 ステップS527において、残差並び替え処理部102は、入力された残差rのブロックに対して、ステップS525またはステップS526において設定されたresArrIdxに応じて適宜残差の並び替えを行い、並び替え後の残差rを出力する。
 ステップS527の処理が終了すると、残差並び替え処理が終了する。以上のように処理を行うことにより、SBTモードかつ変換スキップのとき、非ゼロサブブロックの位置に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
  <6-2.Intra Sub Partitionモードへの適用>
 非特許文献11には、イントラ予測のとき、ブロック内を複数のサブブロックへ分割する符号化モード(Intra Sub Partitionモードと称する)が開示されている。しかしながら、非特許文献11に記載の方法では、Intra Sub Partitionモードにおいて、変換スキップと非変換スキップを切り替えることができなかった。
 そこで、Intra Sub Partitionモードにおいても、変換スキップと非変換スキップの切り替えをできるように、変換スキップのオン・オフ(on/off)を示すシンタックスを明示的に符号化するようにする。さらに、Intra Sub Partitionモードかつ変換スキップのときに、イントラ予測モード、あるいは、イントラ予測の参照画素領域のavailability、あるいは、予測ブロックの形状に基づいて、resArrIdxを設定し、残差並び替え処理を適用するようにする。
 このようにすることにより、Intra Sub Partitionモードにおいても、変換スキップと非変換スキップの切り替えを行うことができるようになる。また、Intra Sub Partitionモードかつ変換スキップのとき、イントラ予測モード、あるいは、イントラ予測の参照画素領域のavailability、あるいは、予測ブロックの形状に基づいて、resArrIdxを設定し、残差並び替え処理をすることが可能となる。これにより、符号化効率の低減を抑制することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の主な構成例を図48に示す。図48に示されるように、この場合の残差並び替え装置100は、図6の構成に加え、Intra Sub Partition制御パラメータ符号化部541を有する。また、この場合、残差並び替え制御部101は、図6に示されるパラメータに加え、Intra Sub Partition制御パラメータを取得する。
 このIntra Sub Partition制御パラメータは、Intra Sub Partitionモードに用いられる制御用のパラメータであり、例えば、intra_subPartitions_mode_flag, intra_subPartitions_split_flag, intra_luma_mpm_flag等のパラメータを含む。
 残差並び替え制御部101は、これらのIntra Sub Partition制御パラメータを用いてresArrIdxを導出し、それを残差並び替え処理部102に供給する。残差並び替え処理部102は、そのresArrIdxに基づいて残差データrの並び替えを行う。
 Intra Sub Partition制御パラメータ符号化部541は、これらのIntra Sub Partition制御パラメータを符号化し、その符号化データを出力する。この符号化データは、復号側に伝送される(シグナルされる)。つまり、この場合の残差並び替え装置100は、画像の符号化において利用される装置(符号化側の装置)である。
  <残差並び替え処理の流れ>
 この場合の残差並び替え処理の流れの例を、図49のフローチャートを参照して説明する。残差並び替え処理が開始されると、Intra Sub Partition制御パラメータ符号化部541は、ステップS541において、残差並び替え装置100に入力されたIntra Sub Partition制御パラメータを符号化する。また、ステップS542において、Intra Sub Partition制御パラメータ符号化部541は、変換スキップ/非変換スキップ(isTrfoSkip)に関する情報を符号化する。これらの符号化データは、残差並び替え装置100から出力される(例えば、復号側に伝送される)。
 ステップS543において、残差並び替え制御部101は、入力されたパラメータに基づいて、tsResArrAllowedを導出する。
 ステップS544において、残差並び替え制御部101は、そのtsResArrAllowedが真(True)であるか否かを判定する。tsResArrAllowedが真であると判定された場合、処理はステップS545に進む。
 ステップS545において、残差並び替え制御部101は、所定の方法によりresArrIdxを設定する。例えば、残差並び替え制御部101は、図50に示されるような方法でresArrIdxを設定する。例えば、変換スキップ/イントラ予測/サブブロック分割のとき、予測モード情報から、残差並び替え処理を決める。
 例えば、イントラ予測が適用され(cuPredMode==MODE_INTRA)、intra_subPartitions_mode_flagが真(True)の場合、サブブロック分割を行う。例えば、図51に示されるテーブル情報に基づいて、予測モード情報(predModeIntra)等から、resArrIdxを設定する。ステップS545の処理が終了すると、処理はステップS547に進む。
 また、ステップS544において、tsResArrAllowedが偽(False)であると判定された場合、処理はステップS546に進む。
 ステップS546において、残差並び替え制御部101は、resArrIdxを、NO_RES_ARRに設定する。つまり、残差の並び替えが適用されない。ステップS546の処理が終了すると、処理はステップS547に進む。
 ステップS547において、残差並び替え処理部102は、入力された残差rのブロックに対して、ステップS545またはステップS546において設定されたresArrIdxに応じて適宜残差の並び替えを行い、並び替え後の残差rを出力する。
 ステップS547の処理が終了すると、残差並び替え処理が終了する。以上のように処理を行うことにより、Intra Sub Partitionモードかつ変換スキップのとき、予測モード情報に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
  <画像符号化装置への適用>
 なお、この本技術は、画像符号化装置200に適用することができる。例えば、画像符号化装置200の変換量子化部213の残差並び替え部236(図14)に、残差並び替え装置100(図48)を適用してもよい。そして、その残差並び替え部236が、変換量子化処理(図16)のステップS244およびステップS246において残差並び替え処理を、図49のフローチャートと同様の流れで行うようにすればよい。このようにすることにより、画像符号化装置200において、Intra Sub Partitionモードかつ変換スキップのとき、予測モード情報に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
  <残差並び替え装置>
 この場合の残差並び替え装置100の他の構成例を図52に示す。図52に示されるように、この場合の残差並び替え装置100は、図6の構成に加え、Intra Sub Partition制御パラメータ復号部561を有する。また、この場合、残差並び替え装置100には、Intra Sub Partition制御パラメータの符号化データが供給される。Intra Sub Partition制御パラメータ復号部561は、その符号化データを取得して復号し、Intra Sub Partition制御パラメータを生成(復元)する。また、この場合、残差並び替え制御部101は、図6に示されるパラメータに加え、Intra Sub Partition制御パラメータを取得する。したがって、残差並び替え制御部101は、Intra Sub Partition制御パラメータ復号部561により生成(復元)されたIntra Sub Partition制御パラメータを取得する。
 なお、Intra Sub Partition制御パラメータは、図48の例と同様である(例えば、intra_subPartitions_mode_flag, intra_subPartitions_split_flag, intra_luma_mpm_flag等)。残差並び替え装置100に供給されるIntra Sub Partition制御パラメータの符号化データは、符号化側から伝送される(シグナルされる)。つまり、この場合の残差並び替え装置100は、画像の復号において利用される装置(復号側の装置)である。
  <残差並び替え処理の流れ>
 この場合の残差並び替え処理の流れの例を、図53のフローチャートを参照して説明する。残差並び替え処理が開始されると、Intra Sub Partition制御パラメータ復号部561は、ステップS561において、残差並び替え装置100に入力されたIntra Sub Partition制御パラメータの符号化データを復号する。また、ステップS562において、Intra Sub Partition制御パラメータ復号部561は、変換スキップ/非変換スキップ(isTrfoSkip)に関する情報の符号化データを復号する。これらのデータは、残差並び替え制御部101に供給される。
 ステップS563において、残差並び替え制御部101は、入力されたパラメータに基づいて、tsResArrAllowedを導出する。
 ステップS564において、残差並び替え制御部101は、そのtsResArrAllowedが真(True)であるか否かを判定する。tsResArrAllowedが真であると判定された場合、処理はステップS565に進む。
 ステップS565において、残差並び替え制御部101は、所定の方法によりresArrIdxを設定する。例えば、残差並び替え制御部101は、図50に示されるような方法でresArrIdxを設定する。つまり、残差並び替え制御部101は、符号化側の残差並び替え装置100と同様の方法でresArrIdxを設定する。
 ステップS565の処理が終了すると、処理はステップS567に進む。また、ステップS564において、tsResArrAllowedが偽(False)であると判定された場合、処理はステップS566に進む。
 ステップS566において、残差並び替え制御部101は、resArrIdxを、NO_RES_ARRに設定する。つまり、残差の並び替えが適用されない。ステップS566の処理が終了すると、処理はステップS567に進む。
 ステップS567において、残差並び替え処理部102は、入力された残差rのブロックに対して、ステップS565またはステップS566において設定されたresArrIdxに応じて適宜残差の並び替えを行い、並び替え後の残差rを出力する。
 ステップS567の処理が終了すると、残差並び替え処理が終了する。以上のように処理を行うことにより、Intra Sub Partitionモードかつ変換スキップのとき、予測モード情報に応じて、残差並び替え処理を適用することが可能となる。これにより、符号化効率の低減を抑制することができる。
 <7.第7の実施の形態>
  <変換量子化バイパスモードにおけるシグナリングの省略>
 ところで、変換量子化バイパスモードの場合、すなわち、係数変換および量子化をスキップする場合(ロスレスコーディングとも称する)、一部のパラメータのシグナリングを省略してもよい。これにより符号化効率の低減を抑制することができる。
 例えば、図54に示されるように、ピクチャパラメータセット(PPS(Picture Parameter Set))においては、transform_skip_enabled_flagがシグナリングされる。このフラグが真の場合、すなわち、変換スキップが許可されている場合、変換量子化バイパスが可能であるかを示すtransquant_bypass_enabled_flagがシグナリングされる。
 図55に示されるcoding unitのシンタックスのように、このtransquant_bypass_enabled_flagが真の場合、処理対象CUにおいて変換量子化バイパスを行うかを示すcu_transquant_bypass_flagがシグナリングされる。
 図56はtransform unitのシンタックスの例を示す図である。この例において、cu_transquant_bypass_flagが偽(!cu_transquant_bypass_flag)の場合のみ、cu_qp_delta_abs、cu_qp_delta_sign_flag、tu_mts_flag等のパラメータがシグナリングされる。
 つまり、cu_transquant_bypass_flagが真で、変換量子化バイパスが行われる場合、画像符号化装置200は、これらのパラメータのシグナリングを省略する。このようにすることにより、画像符号化装置200は、不要な情報のシグナリングを低減させることができ、符号化効率の低減を抑制することができる。また、画像復号装置300は、このシンタックスに基づいて、このような変換量子化バイパス時におけるシグナリングの省略を把握することができるので、このようにシグナリングが省略されていても、符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
 また、図57乃至図60は、residual codingのシンタックスの例を示す図である。この例の図57においては、cu_transquant_bypass_flagが偽(!cu_transquant_bypass_flag)の場合のみ、transform_skip_flagがシグナリングされる。
 つまり、cu_transquant_bypass_flagが真で、変換量子化バイパスが行われる場合、画像符号化装置200は、transform_skip_flagのシグナリングを省略する。このようにすることにより、画像符号化装置200は、不要な情報のシグナリングを低減させることができ、符号化効率の低減を抑制することができる。また、画像復号装置300は、このシンタックスに基づいて、このような変換量子化バイパス時におけるシグナリングの省略を把握することができるので、このようにシグナリングが省略されていても、符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
 また、図59においては、cu_transquant_bypass_flagが真の場合、signHiddenが値「0」に設定されてシグナリングされる。つまり、変換量子化バイパスが行われる場合、画像符号化装置200は、transform_skip_flagのシグナリングを省略することができる。このようにすることにより、画像符号化装置200は、不要な情報のシグナリングを低減させることができ、符号化効率の低減を抑制することができる。また、画像復号装置300は、このシンタックスに基づいて、このような変換量子化バイパス時におけるシグナリングの省略を把握することができるので、このようにシグナリングが省略されていても、符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
 なお、同様に、mts_idx、SBT制御パラメータ、Intra Sub Partition制御パラメータ等も、変換量子化バイパス時におけるシグナリングを省略することができる。これにより符号化効率の低減を抑制することができる。
 また、図61のAに示されるように、変換量子化バイパス時に、輝度成分のブロックに対してデブロッキングフィルタをかけないようにしてもよい。同様に、図61のBに示されるように、色成分(色差成分)についても、変換量子化バイパス時にはデブロッキングフィルタをかけないようにしてもよい。このようにすることにより、フィルタ処理の負荷の増大を抑制することができる。つまり、符号化や復号の負荷の増大を抑制することができる。
 SAO(Sample Adaptive Offset)の場合も同様である。例えば図62に示されるように、変換量子化バイパス時にSAOをかけないようにしてもよい。このようにすることにより、フィルタ処理の負荷の増大を抑制することができる。つまり、符号化や復号の負荷の増大を抑制することができる。
 また、ALF(Adaptive Loop Filter)の場合も同様である。例えば、図63のAに示されるように、変換量子化バイパス時に、輝度成分に対してALFをかけないようにしてもよい。同様に、図63のBに示されるように、色成分(色差成分)についても、変換量子化バイパス時にはALFをかけないようにしてもよい。このようにすることにより、フィルタ処理の負荷の増大を抑制することができる。つまり、符号化や復号の負荷の増大を抑制することができる。
 <8.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図64は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図64に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <情報・処理の単位>
 以上において説明した各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報(例えばpresent_flag)を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
  <本技術の適用対象>
 本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
 また本技術は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化・復号を行う多視点画像符号化・復号システムに適用することができる。その場合、各視点(ビュー(view))の符号化・復号において、本技術を適用するようにすればよい。
 さらに本技術は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化・復号を行う階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。その場合、各階層(レイヤ)の符号化・復号において、本技術を適用するようにすればよい。
 また、以上においては、本技術の適用例として、残差並び替え装置100、画像符号化装置200、および画像復号装置300について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
 例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う残差並び替え部
 を備える画像処理装置。
 (2) 前記残差並び替え部は、前記ブロックの幅と高さがそれぞれ所定の閾値以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
 (1)に記載の画像処理装置。
 (3) 前記残差並び替え部は、前記ブロックの幅と高さがそれぞれ4以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
 (2)に記載の画像処理装置。
 (4) 前記残差並び替え部は、前記ブロックの幅と高さの積が所定の閾値以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
 (1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記残差並び替え部は、前記ブロックの幅と高さの積が16以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
 (4)に記載の画像処理装置。
 (6) 前記残差並び替え部は、前記ブロックのサイズが、前記係数変換をスキップすることができる最大サイズ以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
 (1)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記残差並び替え部は、さらに前記ブロックに適用されるイントラ予測モードが所定のモードの場合、前記ブロックに対して前記残差ローテーション処理を行う
 (1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記残差並び替え部は、前記ブロックに対して、前記イントラ予測モードに応じて、前記残差データの水平方向のフリップ、前記残差データの垂直方向のフリップ、または、前記残差ローテーション処理を行う
 (7)に記載の画像処理装置。
 (9) 前記残差並び替え部は、さらに適応直交変換の制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
 (1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 前記残差並び替え部は、さらに前記ブロックに対してインター予測が適用される場合、前記ブロックに対する前記残差ローテーション処理を行う
 (1)乃至(9)のいずれかに記載の画像処理装置。
 (11) 前記残差並び替え部は、前記ブロックの形状に応じた方法で前記ブロックに対する前記残差ローテーション処理を行う
 (1)乃至(10)のいずれかに記載の画像処理装置。
 (12) 前記残差並び替え部は、さらにSBT(SubBlockTransform)制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
 (1)乃至(11)のいずれかに記載の画像処理装置。
 (13) 前記残差並び替え部は、前記SBT制御パラメータを符号化するSBT制御パラメータ符号化部をさらに備える
 (12)に記載の画像処理装置。
 (14) 前記残差並び替え部は、前記SBT制御パラメータの符号化データを復号し、前記SBT制御パラメータを生成するSBT制御パラメータ復号部をさらに備え、
 前記残差並び替え部は、前記SBT制御パラメータ復号部により生成された前記SBT制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
 (12)または(13)に記載の画像処理装置。
 (15) 前記残差並び替え部は、さらにIntra Sub Partition制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
 (1)乃至(14)のいずれかに記載の画像処理装置。
 (16) 前記残差並び替え部は、前記Intra Sub Partition制御パラメータを符号化するIntra Sub Partition制御パラメータ符号化部をさらに備える
 (15)に記載の画像処理装置。
 (17) 前記残差並び替え部は、前記Intra Sub Partition制御パラメータの符号化データを復号し、前記Intra Sub Partition制御パラメータを生成するIntra Sub Partition制御パラメータ復号部をさらに備え、
 前記残差並び替え部は、前記Intra Sub Partition制御パラメータ復号部により生成された前記Intra Sub Partition制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
 (15)または(16)に記載の画像処理装置。
 (18) 前記残差並び替え部により並び替えられた前記残差データを符号化する符号化部をさらに備える
 (1)乃至(17)のいずれかに記載の画像処理装置。
 (19) 前記残差データの符号化データを復号し、前記残差データを生成する復号部をさらに備え、
 前記残差並び替え部は、前記復号部により生成された前記残差データの前記ブロックに対して、前記残差ローテーション処理を行う
 (1)乃至(18)のいずれかに記載の画像処理装置。
 (20) 画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う
 画像処理方法。
 100 残差並び替え装置, 101 残差並び替え制御部, 102 残差並び替え処理部, 200 画像符号化装置, 213 変換量子化部, 214 符号化部, 236 残差並び替え部, 300 画像復号装置, 312 復号部, 313 逆量子化逆変換部, 336 残差並び替え部, 501 SBT制御パラメータ符号化部, 521 SBT制御パラメータ復号部, 541 Intra Sub Partition制御パラメータ符号化部, 561 Intra Sub Partition制御パラメータ復号部

Claims (20)

  1.  画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う残差並び替え部
     を備える画像処理装置。
  2.  前記残差並び替え部は、前記ブロックの幅と高さがそれぞれ所定の閾値以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  3.  前記残差並び替え部は、前記ブロックの幅と高さがそれぞれ4以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
     請求項2に記載の画像処理装置。
  4.  前記残差並び替え部は、前記ブロックの幅と高さの積が所定の閾値以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  5.  前記残差並び替え部は、前記ブロックの幅と高さの積が16以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
     請求項4に記載の画像処理装置。
  6.  前記残差並び替え部は、前記ブロックのサイズが、前記係数変換をスキップすることができる最大サイズ以下の場合、前記ブロックに対して前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  7.  前記残差並び替え部は、さらに前記ブロックに適用されるイントラ予測モードが所定のモードの場合、前記ブロックに対して前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  8.  前記残差並び替え部は、前記ブロックに対して、前記イントラ予測モードに応じて、前記残差データの水平方向のフリップ、前記残差データの垂直方向のフリップ、または、前記残差ローテーション処理を行う
     請求項7に記載の画像処理装置。
  9.  前記残差並び替え部は、さらに適応直交変換の制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  10.  前記残差並び替え部は、さらに前記ブロックに対してインター予測が適用される場合、前記ブロックに対する前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  11.  前記残差並び替え部は、前記ブロックの形状に応じた方法で前記ブロックに対する前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  12.  前記残差並び替え部は、さらにSBT(SubBlockTransform)制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  13.  前記残差並び替え部は、前記SBT制御パラメータを符号化するSBT制御パラメータ符号化部をさらに備える
     請求項12に記載の画像処理装置。
  14.  前記残差並び替え部は、前記SBT制御パラメータの符号化データを復号し、前記SBT制御パラメータを生成するSBT制御パラメータ復号部をさらに備え、
     前記残差並び替え部は、前記SBT制御パラメータ復号部により生成された前記SBT制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
     請求項12に記載の画像処理装置。
  15.  前記残差並び替え部は、さらにIntra Sub Partition制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  16.  前記残差並び替え部は、前記Intra Sub Partition制御パラメータを符号化するIntra Sub Partition制御パラメータ符号化部をさらに備える
     請求項15に記載の画像処理装置。
  17.  前記残差並び替え部は、前記Intra Sub Partition制御パラメータの符号化データを復号し、前記Intra Sub Partition制御パラメータを生成するIntra Sub Partition制御パラメータ復号部をさらに備え、
     前記残差並び替え部は、前記Intra Sub Partition制御パラメータ復号部により生成された前記Intra Sub Partition制御パラメータに基づいて、前記ブロックに対する前記残差ローテーション処理を行う
     請求項15に記載の画像処理装置。
  18.  前記残差並び替え部により並び替えられた前記残差データを符号化する符号化部をさらに備える
     請求項1に記載の画像処理装置。
  19.  前記残差データの符号化データを復号し、前記残差データを生成する復号部をさらに備え、
     前記残差並び替え部は、前記復号部により生成された前記残差データの前記ブロックに対して、前記残差ローテーション処理を行う
     請求項1に記載の画像処理装置。
  20.  画像データの残差データの、係数変換がスキップされたブロックに対して、前記ブロックの形状または大きさに基づいて、各残差データを前記ブロックの中心を軸とする回転方向に並び替える残差ローテーション処理を行う
     画像処理方法。
PCT/JP2020/000638 2019-01-13 2020-01-10 画像処理装置および方法 WO2020145381A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962791819P 2019-01-13 2019-01-13
US62/791,819 2019-01-13
US201962802383P 2019-02-07 2019-02-07
US62/802,383 2019-02-07

Publications (1)

Publication Number Publication Date
WO2020145381A1 true WO2020145381A1 (ja) 2020-07-16

Family

ID=71521690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/000638 WO2020145381A1 (ja) 2019-01-13 2020-01-10 画像処理装置および方法

Country Status (1)

Country Link
WO (1) WO2020145381A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321915A1 (en) * 2019-06-25 2022-10-06 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504489A (ja) * 2010-12-22 2014-02-20 クゥアルコム・インコーポレイテッド ビデオデータのブロック係数のモード依存型スキャニング
JP2016521070A (ja) * 2013-04-23 2016-07-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated 映像コーディングにおける予測残差ブロックの位置再設定

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504489A (ja) * 2010-12-22 2014-02-20 クゥアルコム・インコーポレイテッド ビデオデータのブロック係数のモード依存型スキャニング
JP2016521070A (ja) * 2013-04-23 2016-07-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated 映像コーディングにおける予測残差ブロックの位置再設定

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AN, JICHENG ET AL.: "Residue scan for intra transform skip mode", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/ IEC JTC 1/SC 29/WG 11 10TH MEETING, 10 July 2012 (2012-07-10), Stockholm, SE, pages 1 - 5 *
BROSS, B ET AL.: "Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING, 9 January 2019 (2019-01-09), Marrakech, MA, pages 1 - 13 *
DE -LUXAN-HERNANDEZ, SANTIAGO ET AL.: "CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WC 11 13TH MEETING, 4 January 2019 (2019-01-04), Marrakech, MA, pages 1 - 7 *
KIM, HUI YONG ET AL.: "Coefficient Scan for Transform Skip Mode", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/ IEC JTC 1/SC 29/WC 11 10TH MEETING, 11 July 2012 (2012-07-11), Stockholm, SE, pages 1 - 7 *
LIM, SUNG-CHANG ET AL.: "CE6: DST-VII with residual flipping (Test 1.4", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SC 16 WP 3 AND ISO/IEC JTC I/SC 29/ WG 11 11TH MEETING, 10 July 2018 (2018-07-10), Ljubljana, SI, pages 1 - 8 *
ZHAO, YIN ET AL.: "CE6: Sub-block transform for inter blocks (CE6.4.1", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING, 9 January 2019 (2019-01-09), Marrakech, MA, pages 1 - 12 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321915A1 (en) * 2019-06-25 2022-10-06 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus

Similar Documents

Publication Publication Date Title
JP7266515B2 (ja) 映像符号化方法及び装置、並びに映像復号化方法及び装置
EP3884670B1 (en) Method, apparatus and computer program product for inter prediction
US10931947B2 (en) Systems and methods for coding transform data
EP3158739B1 (en) Block adaptive color-space conversion coding
US9900617B2 (en) Single color palette mode in video coding
EP4307675A2 (en) An encoder, a decoder and corresponding methods for intra prediction
EP3020198B1 (en) Palette prediction in palette-based video coding
US20200404324A1 (en) Signaling for intra coding of video data
JP2021525981A (ja) ブロックベースの適応ループフィルタ(alf)の設計およびシグナリング
WO2021125309A1 (ja) 画像処理装置および方法
US11399199B2 (en) Chroma intra prediction units for video coding
US20210314624A1 (en) Signaling of syntax elements for video data
CA3152464A1 (en) Methods and systems to signal inter-layer enabled syntax element in video coding
KR20220143835A (ko) 비디오 코딩에서의 레퍼런스 픽처 리스트 및 병치된 픽처 시그널링
WO2021039650A1 (ja) 画像処理装置および方法
CN115398921A (zh) 确定是否对在切片报头中的视频数据的图片的图片报头数据进行译码
KR20220024116A (ko) 비디오 코딩에서의 크로마 델타 양자화 파라미터
KR20220024041A (ko) 변환 스킵 잔차 코딩에서의 이진화
JPWO2019159697A1 (ja) 画像処理装置および方法
KR20220163376A (ko) 비디오 코딩에서의 변환 스킵 블록들에 대한 하이-레벨 제약들
WO2020145381A1 (ja) 画像処理装置および方法
EP4066490A1 (en) Flexible signaling of qp offset for adaptive color transform in video coding
WO2019188464A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
US20220345751A1 (en) Encoder, a decoder and corresponding methods of flexible profile configuration
KR102676827B1 (ko) 비디오 코딩에서의 시그널링 제약들 및 시퀀스 파라미터 세트 공유

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP