Apparatus and image processing method.
Patent Information
- Application Number
- BR112019012707
- Authority / Receiving Office
- BR · BR
- Patent Type
- Patents
- Current Assignee / Owner
- Publication Date
- 2026-08-11
Smart Images

Figure 00000222_0000 
Figure 00000226_0000 
Figure 00000227_0000
Abstract
Description
[001] The present description refers to an image processing apparatus and method, and particularly to an image processing apparatus and method that can curb the deterioration in encoding efficiency. Fundamentals of the Technique
[002] In the related technique, an adaptive primary transform (Adaptive Multicore Transform or AMT) is described for adaptively selecting a primary transform from a plurality of different orthogonal transforms for each of a primary transform in a horizontal direction PThor (which is also called the primary horizontal transform) and a primary transform in a vertical direction PTver (which is also called the primary vertical transform) of each transform unit (TU) for luminance (for example, see Unpatent Literature 1). List of Citations for Non-Patent Literature
[003] Unpatented Literature 1: Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, and Jill Boyce, “Algorithm Description of Joint Exploration Test Model 4” JVET-D1001_v3, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 4thMeeting at Chengdu, China, October 15th to 21st, 2016 Description of the Invention Technical Problem
[004] However, in the Non-Patent Literature 1, although the adaptive primary transform can only be applied to luminance (Y), it is not applied to chrominances (Cb and Cr). Thus, there is concern that the coding efficiency of the primary transform for chrominances may be Petition 870190056776, dated 06 / 19 / 2019, page 10 / 305 / 215 deteriorates more in comparison with luminance.
[005] The present description takes into account the above circumstances and aims to curb the deterioration in coding efficiency. Solution to the Problem
[006] An image processing apparatus of a first aspect of the present technology is an image processing apparatus including: an inverse orthogonal transform unit configured to perform an inverse orthogonal chrominance transform using information relating to the inverse orthogonal chrominance transform derived based on information relating to an inverse orthogonal luminance transform.
[007] Information regarding the inverse orthogonal transform may include an adaptive primary transform flag indicating whether an adaptive primary inverse transform should be applied by adaptively selecting one of a plurality of different inverse orthogonal transforms and using the selected transform as an inverse primary transform.
[008] A value of the adaptive primary chrominance transform flag can be defined as a value of the adaptive primary luminance transform flag.
[009] Information regarding the inverse orthogonal transform may include a primary transform identifier indicating that the inverse primary transform should be applied to inverse primary transforms in both a vertical and a horizontal direction.
[0010] A primary chrominance transform identifier value can be set to a primary luminance transform identifier value in a case where the adaptive primary chrominance transform flag is true, and can be set to a predetermined value in a case where the flag is true. Petition 870190056776, dated 06 / 19 / 2019, page 11 / 305 / 215, the statement that the primary adaptive chrominance transform is false.
[0011] The inverse orthogonal transform unit can perform the inverse primary transform as well as the inverse orthogonal transform.
[0012] The inverse orthogonal transform unit can perform an inverse primary horizontal transform, which is the inverse primary transform in the horizontal direction, and an inverse primary vertical transform, which is the inverse primary transform in the vertical direction, just like the inverse orthogonal transform.
[0013] A chrominance adaptive primary transform flag value can be set to a luminance adaptive primary transform flag value in a case where a prediction type of a coding block to which a transform block to be processed belongs is interprediction.
[0014] A chrominance adaptive primary transform flag value can be set to a luminance adaptive primary transform flag value in a case where a prediction type of a coding block to which a transform block to be processed belongs is interprediction or a case where the prediction type is intraprediction of which a prediction mode is intrablock copy.
[0015] A value of the adaptive primary transform flag for chrominance can be set to a value of the adaptive primary transform flag for luminance in a case where a prediction type of a coding block to which a transform block to be processed belongs is interprediction or a case where the prediction type is intraprediction in which prediction modes for luminance and chrominance match each other.
[0016] A value of the adaptive primary chrominance transform flag can be defined as a value of the adaptive primary luminance transform flag in a case where a Petition 870190056776, dated 06 / 19 / 2019, page 12 / 305 / 215, regarding the adaptive primary chrominance transform information inference flag indicating whether the adaptive primary chrominance transform flag should be inferred based on the adaptive primary luminance transform flag, is true.
[0017] A chrominance adaptive primary transform flag value can be set to a luminance adaptive primary transform flag value in a case where the size of a short side of a chrominance transform block to be processed is greater than or equal to a predetermined threshold value.
[0018] The inverse orthogonal transform unit can be configured to perform an inverse primary horizontal transform, which is an inverse primary transform in a horizontal direction, and an inverse primary vertical transform, which is an inverse primary transform in a vertical direction. Like the inverse orthogonal transform, a transform type of the inverse primary horizontal transform can be defined based on a set of horizontal transforms and a primary horizontal transform specification flag in a case where the size of an engraving width of a block of transforms to be processed from chrominance is greater than a predetermined limit value.A type of inverse primary vertical transform can be defined based on a set of vertical transforms and a primary vertical transform specification flag in a case where the size of an engraving block height of the transforms to be processed for chrominance is greater than a predetermined threshold value.
[0019] Information regarding the inverse orthogonal transform may include a transform jump flag indicating whether an inverse orthogonal transform process should be skipped.
[0020] A chrominance transform jump flag value can be defined as a jump flag value of Petition 870190056776, dated 06 / 19 / 2019, page 13 / 305 / 215 transformed from luminance.
[0021] Information regarding the inverse orthogonal transform may include a secondary transform identifier indicating which inverse secondary transform should be applied.
[0022] A value of the secondary chrominance transform identifier can be defined as a value of the secondary luminance transform identifier.
[0023] One image processing method of the first aspect of the present technology is an image processing method including: performing an inverse orthogonal chrominance transform using information relating to the inverse orthogonal chrominance transform derived based on information relating to an inverse orthogonal luminance transform.
[0024] An image processing apparatus of a second aspect of the present technology is an image processing apparatus including: an orthogonal transform unit configured to perform an orthogonal chrominance transform using information relating to the orthogonal chrominance transform derived based on information relating to an orthogonal luminance transform.
[0025] A second aspect of the present technology is an image processing method including: performing an orthogonal chrominance transform using information relating to the orthogonal chrominance transform derived based on information relating to an orthogonal luminance transform.
[0026] In the apparatus and image processing method of the first aspect of the present technology, an inverse orthogonal chrominance transform is performed using information relating to the inverse orthogonal chrominance transform derived based on information relating to an inverse orthogonal luminance transform. Petition 870190056776, dated 06 / 19 / 2019, page 14 / 305 / 215
[0027] In the apparatus and image processing method of the second aspect of the present technology, an orthogonal chrominance transform is performed using information relating to the orthogonal chrominance transform derived based on information relating to an orthogonal luminance transform. Advantageous Effects of the Invention
[0028] According to the present description, the images can be processed. In particular, the deterioration in encoding efficiency can be mitigated. Brief Description of the Drawings
[0029] [FIG. 1] FIG. 1 is a diagram that illustrates a correspondence relationship between sets of transforms and selected orthogonal transforms.
[0030] [FIG. 2] FIG. 2 is a diagram that illustrates a correspondence relationship between types of orthogonal transform and functions to be used.
[0031] [FIG. 3] FIG. 3 is a diagram that illustrates a correspondence relationship between sets of transforms and prediction modes.
[0032] [FIG. 4] FIG. 4 is a diagram that illustrates an example of the syntax and semantics of a transform unit.
[0033] [FIG. 5] FIG. 5 is a diagram that illustrates an example of residual_coding syntax.
[0034] [FIG. 6] FIG. 6 is a diagram illustrating examples of chrominance parameters derived using luminance values.
[0035] [FIG. 7] FIG. 7 is a diagram illustrating an example of a method for deriving adaptive chrominance primary transform signals.
[0036] [FIG. 8] FIG. 8 is a diagram illustrating the shapes of a CU, a PU, and a TU. Petition 870190056776, dated 06 / 19 / 2019, page 15 / 305 / 215
[0037] [FIG. 9] FIG. 9 is a block diagram illustrating an example of the main configuration of an image decoding device.
[0038] [FIG. 10] FIG. 10 is a block diagram illustrating an example of the main configuration of an inverse transform unit.
[0039] [FIG. 11] FIG. 11 is a block diagram illustrating an example of the main configuration of a primary adaptive chrominance transform information derivation unit.
[0040] [FIG. 12] FIG. 12 is a flowchart that describes an example of the flow of an image decoding process.
[0041] [FIG. 13] FIG. 13 is a flowchart that describes an example of the flow of a primary transform information decoding process.
[0042] [FIG. 14] FIG. 14 is a flowchart that describes an example of the flow of an inverse transform process.
[0043] [FIG. 15] FIG. 15 is a flowchart that describes an example of the flow of a process for deriving adaptive primary chrominance transform information.
[0044] [FIG. 16] FIG. 16 is a flowchart that describes an example of the flow of an inverse primary transform selection process.
[0045] [FIG. 17] FIG. 17 is a flowchart that describes an example of the flow of a process for deriving adaptive primary chrominance transform information.
[0046] [FIG. 18] FIG. 18 is a flowchart that describes an example of the flow of a process for deriving adaptive primary chrominance transform information.
[0047] [FIG. 19] FIG. 19 is a flowchart that describes an example of the flow of an information derivation process from Petition 870190056776, dated 06 / 19 / 2019, page 16 / 305 / 215 adaptive primary chrominance transformation.
[0048] [FIG. 20] FIG. 20 is a diagram that illustrates an example of the syntax and semantics of a transform unit.
[0049] [FIG. 21] FIG. 21 is a diagram that illustrates an example of residual_coding syntax.
[0050] [FIG. 22] FIG. 22 is a flowchart that describes an example of the flow of a signal decoding process for adaptive primary chrominance transform information.
[0051] [FIG. 23] FIG. 23 is a flowchart that describes an example of the flow of a process for deriving information from an adaptive primary chrominance transform.
[0052] [FIG. 24] FIG. 24 is a flowchart that describes an example of the flow of a process for deriving information from an adaptive primary chrominance transform.
[0053] [FIG. 25] FIG. 25 is a flowchart that describes an example of the flow of a primary horizontal transform type derivation process.
[0054] [FIG. 26] FIG. 26 is a flowchart that describes an example of the flow of a primary vertical transform type derivation process.
[0055] [FIG. 27] FIG. 27 is a diagram illustrating an example of a derivation method for a chrominance transform jump signal.
[0056] [FIG. 28] FIG. 28 is a diagram that illustrates an example of residual_coding syntax.
[0057] [FIG. 29] FIG. 29 is a flowchart that describes an example of the flow of a transform jump signal derivation process. Petition 870190056776, dated 06 / 19 / 2019, page 17 / 305 / 215
[0058] [FIG. 30] FIG. 30 is a diagram that illustrates an example of residual_coding syntax.
[0059] [FIG. 31] FIG. 31 is a flowchart that describes an example of the flow of a transform jump signal derivation process.
[0060] [FIG. 32] FIG. 32 is a diagram that illustrates an example of residual_coding syntax.
[0061] [FIG. 33] FIG. 33 is a flowchart that describes an example of the flow of a transform jump signal derivation process.
[0062] [FIG. 34] FIG. 34 is a diagram that illustrates an example of residual_coding syntax.
[0063] [FIG. 35] FIG. 35 is a flowchart that describes an example of the flow of a transform jump signal derivation process.
[0064] [FIG. 36] FIG. 36 is a diagram that illustrates an example of the syntax and semantics of a transform unit.
[0065] [FIG. 37] FIG. 37 is a diagram that illustrates an example of residual_coding syntax.
[0066] [FIG. 38] FIG. 38 is a flowchart that describes an example of the flow of a transform jump signal derivation process.
[0067] [FIG. 39] FIG. 39 is a diagram illustrating an example of a secondary transform identifier derivation method for a chrominance.
[0068] [FIG. 40] FIG. 40 is a diagram illustrating an example of the syntax of a transform unit.
[0069] [FIG. 41] FIG. 41 is a diagram illustrating an example of the syntax of a transform unit. Petition 870190056776, dated 06 / 19 / 2019, page 18 / 305 / 215
[0070] [FIG. 42] FIG. 42 is a flowchart that describes an example of the flow of a secondary transform identifier derivation process.
[0071] [FIG. 43] FIG. 43 is a diagram illustrating an example of the syntax of a transform unit.
[0072] [FIG. 44] FIG. 44 is a flowchart that describes an example of the flow of a secondary transform identifier derivation process.
[0073] [FIG. 45] FIG. 45 is a diagram that illustrates an example of the syntax of a transform unit.
[0074] [FIG. 46] FIG. 46 is a flowchart that describes an example of the flow of a secondary transform identifier derivation process.
[0075] [FIG. 47] FIG. 47 is a diagram illustrating an example of the syntax of a transform unit.
[0076] [FIG. 48] FIG. 48 is a flowchart that describes an example of the flow of a secondary transform identifier derivation process.
[0077] [FIG. 49] FIG. 49 is a diagram illustrating an example of the syntax of a transform unit.
[0078] [FIG. 50] FIG. 50 is a flowchart that describes an example of the flow of a secondary transform identifier derivation process.
[0079] [FIG. 51] FIG. 51 is a block diagram illustrating an example of the main configuration of an image encoding device.
[0080] [FIG. 52] FIG. 52 is a block diagram illustrating an example of the main configuration of a transform unit.
[0081] [FIG. 53] FIG. 53 is a block diagram illustrating an example of the main configuration of a branching unit. Petition 870190056776, dated 06 / 19 / 2019, page 19 / 305 / 215, information on adaptive primary chrominance transform.
[0082] [FIG. 54] FIG. 54 is a flowchart that describes an example of the flow of an image decoding process.
[0083] [FIG. 55] FIG. 55 is a flowchart that describes an example of the flow of a transformation process.
[0084] [FIG. 56] FIG. 56 is a flowchart that describes an example of the flow of a primary transform selection process.
[0085] [FIG. 57] FIG. 57 is a flowchart that describes an example of the flow of a primary transform information encoding process.
[0086] [FIG. 58] FIG. 58 is a flowchart that describes an example of the flow of a signal encoding process for adaptive primary chrominance transform information.
[0087] [FIG. 59] FIG. 59 is a flowchart that describes an example of the flow of a transform jump signal encoding process.
[0088] [FIG. 60] FIG. 60 is a flowchart that describes an example of the flow of a transform jump signal encoding process.
[0089] [FIG. 61] FIG. 61 is a flowchart that describes an example of the flow of a transform jump signal encoding process.
[0090] [FIG. 62] FIG. 62 is a flowchart that describes an example of the flow of a transform jump signal encoding process.
[0091] [FIG. 63] FIG. 63 is a flowchart that describes an example of the flow of a transform jump signal encoding process.
[0092] [FIG. 64] FIG. 64 is a flowchart that describes a Petition 870190056776, dated 06 / 19 / 2019, page 20 / 305 / 215 example of the flow of a secondary transform identifier encoding process.
[0093] [FIG. 65] FIG. 65 is a flowchart that describes an example of the flow of a secondary transform identifier encoding process.
[0094] [FIG. 66] FIG. 66 is a flowchart that describes an example of the flow of a secondary transform identifier encoding process.
[0095] [FIG. 67] FIG. 67 is a flowchart that describes an example of the flow of a secondary transform identifier encoding process.
[0096] [FIG. 68] FIG. 68 is a flowchart that describes an example of the flow of a secondary transform identifier encoding process.
[0097] [FIG. 69] FIG. 69 is a block diagram illustrating an example of a main computer configuration.
[0098] [FIG. 70] FIG. 70 is a block diagram illustrating an example of a schematic configuration of a television set.
[0099] [FIG. 71] FIG. 71 is a block diagram illustrating an example of a schematic configuration of a mobile phone.
[00100] [FIG. 72] FIG. 72 is a block diagram illustrating an example of a schematic configuration of a recording / playback device.
[00101] [FIG. 73] FIG. 73 is a block diagram illustrating an example of a schematic configuration of an imaging apparatus.
[00102] [FIG. 74] FIG. 74 is a block diagram illustrating an example of a schematic configuration of a video set.
[00103] [FIG. 75] FIG. 75 is a block diagram illustrating a Petition 870190056776, dated 06 / 19 / 2019, page 21 / 305 / 215 example of a schematic configuration of a video processor.
[00104] [FIG. 76] FIG. 76 is a block diagram illustrating another example of a schematic configuration of a video processor.
[00105] [FIG. 77] FIG. 77 is a block diagram illustrating an example of a schematic configuration of a network system. Method(s) for Carrying Out the Invention
[00106] Exemplary embodiments for implementing the present description (which will be referred to as embodiments below) will be described below. Note that the description will be provided in the following order.
[00107] 1. Orthogonal chrominance transform 2. First mode (image decoding device, apt_flag, and pt_idx) 3. Second mode (image decoding device and ts_flag) 4. Third mode (image decoding device and st_idx) 5. Fourth mode (image encoding device, apt_flag, and pt_idx) 6. Fifth mode (image encoding device and ts_flag) 7. Sixth mode (image encoding device and st_idx) 8. Other <1. Orthogonal chrominance transform> <Transformada primária>
[00108] In the test model described in Non-Patent Literature 1 (Joint Exploitation Test Model 4 (JEM 4)), for the purpose of improving the encoding efficiency of a high-resolution 4K image or similar, the maximum size of a coding tree unit (CTU) is Petition 870190056776, dated 06 / 19 / 2019, page 22 / 305 / 215 expanded from 128 x 128 to 256 x 256. Furthermore, as a block-splitting structure, in addition to the quadtree splitting of the related technique, binary trees were introduced in the horizontal / vertical directions and, consequently, rectangular transform blocks were also introduced in addition to square transform blocks.
[00109] Furthermore, in JEM 4, an adaptive primary transform (Adaptive Multicore Transform (AMT)) is described to adaptively select a primary transform from a plurality of different orthogonal transforms for each primary transform in a horizontal direction PThor (which is also called the primary horizontal transform) and a primary transform PTver in a vertical direction (which is also called the primary vertical transform) from each block of transforms for luminance.
[00110] More specifically, in a case where an adaptive primary transform flag apt_flag (which is also called amt_flag, cu_pt_flag or emt_flag) indicating whether or not an adaptive primary transform for luminance should be performed in the unit of a luminance transform block (which is also called a luminance transform block) is 0 (false), a discrete cosine transform (DCT)-II or a discrete sine transform (DST)-VII is (uniquely) decided using mode information as an orthogonal transform applied to a horizontal primary transform and a vertical primary transform.
[00111] On the other hand, in a case where, for example, a primary adaptive transform flag apt_flag of luminance is 1 (true) as in the table (LUT_TrSetToTrTypIdx) illustrated in FIG. 1, a set of TrSet transforms including orthogonal transforms serving as candidates for the primary transform in each of the horizontal (x-direction) and vertical (y-direction) directions is selected from four Petition 870190056776, dated 06 / 19 / 2019, page 23 / 305 / 215 candidates (Transform Set ID = 0 to 3). The DST-VII, DCTVIII and similar transformations illustrated in FIG. 1 indicate orthogonal transform types, and each of the functions shown in the table in FIG. 2 is used for them.
[00112] Note that, in the table in FIG. 2, identifiers corresponding to the orthogonal transforms of the respective types (transform type identifier TrTypeIdx) are defined. For example, if an orthogonal transform type (Transform Type) is DCT-II, 0 will be allocated as a value of the transform type identifier TrTypeIdx.
[00113] The selection (decision) of a TransformSet varies depending on the type of prediction of a coding unit (CU; which is also called a coding unit) to which a block of transforms to be processed belongs. For example, if the prediction type is intraprediction, the selection is made based on the intraprediction mode (IntraPredMode) as illustrated in the table in FIG. 3 (LUT_IntraModeToTrSet). For example, the selection is made to define a TransformSet identifier TrSetIdx to designate a TransformSet corresponding to a TransformSet (TrSetH or TrSetV) of each direction, as illustrated in the following formulas (1) and (2).
[00114] TrSetH = LUT_IntraModeToTrSet [ IntraPredMode ] [ H (=0) ] ... (1)
[00115] TrSetV = LUT_IntraModeToTrSet [ IntraPredMode ] [ V (=1) ] . (2)
[00116] Here, TrSetH represents a set of transforms of a primary horizontal transform PThor (also called the set of primary horizontal transforms), and TrSetV represents a set of transforms of a primary vertical transform PTver (also called the set of primary vertical transforms). Furthermore, a Petition 870190056776, dated 06 / 19 / 2019, page 24 / 305 / 215, the LUT_IntraModeToTrSet lookup table represents the matching table in FIG. 3. The first array in the LUT_IntraModeToTrSet[][] lookup table has an intraprediction mode IntraPredMode as an argument, and the second array has {H=0, V=1} as an argument.
[00117] In a case of intraprediction mode number 18 (IntraPredMode == 18), the transform set with the transform set identifier TrSetIdx=2 indicated in the table (LUT_TrSetToTrTypeIdx) of FIG. 1 is selected as a primary horizontal transform set TrSetH, and the transform set with the transform set identifier TrSetIdx=0 indicated in the table of FIG. 1 is selected as a primary vertical transform set TrSetV.
[00118] If the prediction type is interprediction, a transform set identifier TrSetIdx to designate a transform set TrSet for interprediction (=InterTrSetIdx) is defined for the transform sets in each of the directions (TrSetH and TrSetV) as in the following formulas (3) and (4). For example, the value of InterTrSet is 3 in the case of the table in FIG. 1.
[00119] TrSetH = InterTrSetIdx ... (3)
[00120] TrSetV = InterTrSetIdx . (4)
[00121] Furthermore, which orthogonal transform in the selected transform set TrSet should be applied to the primary horizontal transform is selected using a primary horizontal transform specification flag pt_hor_flag. Additionally, which orthogonal transform in the selected transform set TrSet should be applied to the primary vertical transform is selected using a primary vertical transform specification flag pt_ver_flag. For example, these are derived from the transform set definition table (LUT_TrSetToTrTypeIdx) illustrated in FIG. 1 using the set of Petition 870190056776, dated 06 / 19 / 2019, page 25 / 305 / 215 primary transforms {horizontal, vertical} TrSet {H, V} and the primary transform specification flag {horizontal, vertical} pt_{hor, ver}_flag as arguments, as illustrated in the following formulas (5) and (6).
[00122] TrTypeIdxH = LUT_TrSetToTrTypeIdx [ TrSetH ] [ pt_hor_flag ] ... (5)
[00123] TrTypeldxV = LUT_TrSetToTrTypeIdx [ TrSetV ] [ pt_ver_flag ] . (6)
[00124] In the case of an intraprediction mode number 18 (IntraPredMode==18), since the value of the transform set identifier TrSetIdx of the primary horizontal transform set TrSetH is based on the table in FIG. 3, an orthogonal transform to be applied to the primary horizontal transform is selected (assigned) from the transform set with the transform set identifier TrSetIdx==2 in the transform set definition table LUT_TrSetToTrTypeIdx of FIG. 1. That is, in a case where the primary horizontal transform specification flag pt_hor_flag is 0, the value “4” of the transform type identifier TrTypeldx indicating DST-VII is set to the horizontal transform type identifier TrTypeIdxH designating the orthogonal transform type of the primary horizontal transform PThor, as illustrated in FIG.1, and in a case where the primary horizontal transform specification flag pt_hor_flag is 1, the value “1” of the transform type identifier TrTypeIdx indicating DCT-V is set to the horizontal transform type identifier TrTypeIdxH.
[00125] It should be noted that a primary transform identifier pt_idx is derived from the primary horizontal transform specification flag pt_hor_flag and the primary vertical transform specification flag pt_ver_flag using the following formula (7).
[00126] pt_idx=(pt_ver_flag << 1)+pt_hor_flag ... (7) Petition 870190056776, dated 06 / 19 / 2019, page 26 / 305 / 215
[00127] That is, the upper bit 1 of the primary transform identifier pt_idx corresponds to the primary vertical transform specification flag and the lower bit 1 corresponds to the value of the primary horizontal transform specification flag. The encoding is performed by applying arithmetic encoding to a bin string of the derived primary transform identifier pt_idx and generating a bit string. Note that the upper bit 1 of pt_idx can be set as the primary horizontal transform specification flag and the lower bit 1 can be set as the primary vertical transform specification flag.
[00128] On the other hand, an adaptive primary transform is not applied to transform chrominance blocks (Cb and Cr), and DCT-II is selected every time as an orthogonal transform type, just like the primary horizontal transform and the primary vertical transform.
[00129] A in FIG. 4 is an example of a syntax table for a transform unit TU, and B in FIG. 4 shows an example of corresponding semantics. In the syntax shown in A of FIG. 4, the residual data presence flag cbf[x0][y0][compID] (coded_block_flag) shown in the line denoted by the reference symbol SYN11 is a flag indicating whether or not there are one or more non-zero coefficients in a transform block of a color signal designated with a color signal identifier compID as illustrated in B of FIG. 4. In a case where the flag is 1 (true), it indicates that there are one or more non-zero coefficients in the corresponding transform block, and in a case where the flag is 0 (false), it indicates that there are no non-zero coefficients in the transform block.It should be noted that there is also a case where a residual data presence flag cbf[x0][y0][COMPONENT_Y] for luminance is called cbf_luma (cbf_luma = cbf[x0][y0][COMPONENT_Y]) for convenience. Petition 870190056776, dated 06 / 19 / 2019, p. 27 / 305 / 215
[00130] Furthermore, the enabled adaptive primary transform flag apt_enabled_flag shown in A of FIG. 4 is information regarding permission for an adaptive primary transform, as illustrated in B of FIG. 4. In a case where the flag value is 1 (true), it indicates that information regarding the adaptive primary transform is present in the encoded data. Additionally, in a case where the flag value is 0 (false), it indicates that no information regarding the adaptive primary transform is present in the encoded data.
[00131] Furthermore, the adaptive primary transform flag apt_flag of the luminance transform block shown in the line denoted by the reference symbol SYN12 in the syntax shown in A of FIG. 4 is a flag that indicates whether or not the adaptive primary transform should be applied to the luminance transform block, as illustrated in B of FIG. 4. In a case where the flag value is 1 (true), the adaptive primary transform is applied, and in a case where the flag value is 0 (false), the primary transform is not applied. As illustrated in the syntax table of A of FIG. 4, in the case where the residual data presence flag cbf_lum for luminance is “1” (i.e., true) and the adaptive primary transform enabled flag apt_enabled_flag is “1” (i.e., true), the adaptive primary transform flag apt_flag for luminance is encoded (decoded).In a case where there is no apt_flag in the encoded data, the apt_flag value is interpreted as 0.
[00132] Furthermore, in the syntax shown in A of FIG. 4, the residual data residual_coding() of the color signal transform block designated with the color signal identifier compID shown in the line denoted by the reference symbol SYN13 are encoded (decoded) in a case where the residual data presence flag of the signal is present. Petition 870190056776, dated 06 / 19 / 2019, page 28 / 305 / 215, the corresponding color is 1 (true).
[00133] FIG. 5 illustrates an example of residual_coding syntax. In the syntax table shown in FIG. 5, the primary transform identifier pt_idx for luminance denoted by the reference symbol SYN22 is encoded (decoded) in a case where the adaptive primary transform flag apt_flag for luminance is 1 (true), a transform quantization bypass flag transquant_bypass_flag is 0 (false), a transform jump flag ts_flag is 0 (false), and a color signal identifier compID indicates luminance (compID == COMPONENT_Y) and in a case where the total number of non-zero coefficients present in a transform block numSig is greater than or equal to a predetermined threshold value ptNumSigTH and a long side of the transform block (max (log2TBWSize, log2TBHSize)) is equal to or less than a predetermined threshold value maxPTSize, as illustrated in the syntax table.In a case where there is no primary transform identifier pt_idx for luminance in the encoded data, the value of pt_idx is interpreted as 0.
[00134] In the Non-Patent Literature 1, although the adaptive primary transform can only be applied to luminance (Y), it is not applied to chrominances (Cb and Cr). Thus, there is concern that the coding efficiency of the primary transform for chrominances deteriorates more compared to that for luminance.
[00135] On the other hand, it is conceivable to explicitly encode, for example, an adaptive primary transform flag apt_flag and a primary transform identifier pt_idx for each block of transforms of a chrominance (Cb or Cr), similarly to luminance (Y). However, in the case of this method, once an adaptive primary transform flag apt_flag and a primary transform identifier pt_idx for a chrominance are encoded, there is concern about the increased amount of code and the deterioration of efficiency. Petition 870190056776, dated 06 / 19 / 2019, page 29 / 305 / 215 coding.
[00136] It should be noted that, in this case as well, on the encoding side, it is necessary to determine a mode for selecting / not selecting an adaptive primary transform and determining a primary transform identifier for each of the color signals (Y, Cb, and Cr), and therefore there is concern about increasing the amount of processing. Furthermore, also on the decoding side, the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx must be decoded for each of the color signals (Y, Cb, and Cr), and therefore there is concern about increasing the amount of processing. <Uso do parâmetro de luminância>
[00137] Thus, information regarding an orthogonal (inverse) transform for chrominance is derived based on information regarding an orthogonal (inverse) transform for luminance. That is, by using the information regarding the orthogonal (inverse) transform for chrominance derived from the orthogonal (inverse) transform for luminance, the orthogonal (inverse) transform for chrominance is performed. For example, by using the information regarding the orthogonal (inverse) transform for chrominance derived from the orthogonal (inverse) transform for luminance, an orthogonal (inverse) transform unit that performs the orthogonal (inverse) transform for chrominance is provided in an image processing device.
[00138] In this way, it is possible to omit the encoding and decoding of information relating to the orthogonal (inverse) transform for a chrominance, and thus an increase in the amount of code can be contained, and the deterioration in encoding efficiency can be avoided. In addition, an increase in the encoding and decoding load can also be contained. Petition 870190056776, dated 06 / 19 / 2019, page 30 / 305 / 215 It should be noted that, in this descriptive report, an orthogonal transform and an inverse orthogonal transform are inverse processes with respect to each other, and it is assumed that data that has not been orthogonally transformed can be restored, for example, by performing an inverse orthogonal transform on the orthogonally transformed data. Furthermore, although information relating to an orthogonal transform is information to be used in the orthogonal transform, there is also a case where the information can be used in the inverse orthogonal transform.In other words, in this descriptive report, there is a case where the information relating to an orthogonal transform and the information relating to the inverse orthogonal transform refer to the same information (the information relating to both transforms may include the same information). The same also applies to the relationships between a primary transform and the inverse primary transform, and a secondary transform and the inverse secondary transform.
[00139] The content of the information regarding the orthogonal (inverse) transform is arbitrary. For example, as illustrated in the table in FIG. 6, the information may include an adaptive primary transform flag apt_flag indicating whether an adaptive primary transform to be used as a primary transform by adaptive selection of any of a plurality of different orthogonal inverse transforms is applied to a block of transforms to be processed. Additionally, the information may also include a primary transform identifier pt_idx indicating that the primary transform should be applied to primary transforms in the Petition 870190056776, dated 06 / 19 / 2019, page 31 / 305 / 215 vertical direction and in the horizontal direction.
[00140] For example, by deriving each of a primary adaptive transform flag apt_flag[Cb] from a chrominance (Cb) and a primary adaptive transform flag apt_flag[Cr] from a chrominance (Cr) based on a primary adaptive transform flag apt_flag[Y] from a luminance, it is possible to curb the deterioration in chrominance (Cb / Cr) coding efficiency. Furthermore, it is also possible to curb an increase in overhead for the amount of code. Additionally, for example, by deriving each of a primary chrominance (Cb) transform identifier pt_idx[Cb] and a primary chrominance (Cr) transform identifier pt_idx[Cr] based on a primary luminance transform identifier pt_idx[Y], it is possible to curb the deterioration in chrominance (Cb / Cr) coding efficiency. Furthermore, it is also possible to curb an increase in overhead for the amount of code.It should be noted that a primary transform identifier of a chrominance may be common to (shared between) Cb and Cr.
[00141] Further description will be provided with reference to the table in FIG. 7. In the related technique, an adaptive primary (inverse) transform is not employed for a chrominance, and an adaptive primary transform flag apt_flag and a primary transform identifier pt_idx for the chrominance are omitted every time, as indicated in line #0. Since no adaptive primary (inverse) transform is used in such cases, there is concern about deterioration of coding efficiency as described above.
[00142] On the other hand, an adaptive primary (inverse) transform can be configured to be applicable to chrominance, and additionally an adaptive primary transform flag apt_flag and a primary transform identifier pt_idx for chrominance can be inferred from an adaptive primary transform flag apt_flag and a Petition 870190056776, dated 06 / 19 / 2019, page 32 / 305 / 215 primary transform identifier pt_idx for luminance every time, as indicated in line No. 1. For example, a value of an adaptive primary transform flag apt_flag[Cb / Cr] of chrominance can be set to a value of an adaptive primary transform flag apt_flag[Y] of luminance. Furthermore, for example, in a case where the primary adaptive transform flag apt_flag[Cb / Cr] for chrominance is true, a value of a primary transform identifier pt_idx[Cb / Cr] for chrominance can be set to a value of a primary transform identifier pt_idx[Y] for luminance, and in a case where the primary adaptive transform flag apt_flag[Cb / Cr] for chrominance is false, a value of the primary transform identifier pt_idx[Cb / Cr] for chrominance can be set to a predetermined value.In this way, not only can an adaptive primary (inverse) transform be applied to a chrominance, but the transmission (encoding and decoding) of the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx of the chrominance can also be omitted, thus preventing deterioration in encoding efficiency. Furthermore, an increase in encoding and decoding load can also be avoided.
[00143] Furthermore, in a case where an adaptive primary (inverse) transform is defined as applicable to chrominance as well, and, in addition, for example, the prediction type of a coding block to which a transform block to be processed belongs is interprediction (CuPredMode == MODE_INTER), the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be set to the value of the adaptive primary transform flag apt_flag[Y] of luminance, and in a case where the prediction type of the coding block is intraprediction, the adaptive primary transform flag apt_flag[Cb / Cr] of chrominance can be set to 0 (false), as Petition 870190056776, dated 06 / 19 / 2019, page 33 / 305 / 215 indicated in line No. 2. In this way, not only can the adaptive primary (inverse) transform be applied to chrominance, but also the adaptive primary transform signal for luminance can be used only in the case of the interprediction mode in which residual signal trends are similar, and thus it is possible to curb the deterioration in coding efficiency.
[00144] Furthermore, in a case where the adaptive primary (inverse) transform is defined as applicable to chrominance as well, and, in addition, for example, the prediction type of the coding block to which a transform block to be processed belongs is interprediction or intraprediction where the prediction modes for luminance and chrominance correspond to each other, the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be set to the value of the adaptive primary transform flag apt_flag[Y] of luminance as indicated in line #3, and in a case where the prediction type of the coding block is intraprediction where the prediction modes for luminance and chrominance do not correspond to each other, the adaptive primary transform flag apt_flag[Cb / Cr] of chrominance can be set to 0 (false).In this way, not only can the adaptive primary (inverse) transform be applied to chrominance, but also the adaptive primary transform luminance flag can be used only in the case of the prediction mode in which residual signal trends are similar, and thus it is possible to curb the deterioration in coding efficiency.
[00145] Furthermore, in a case where the adaptive primary (inverse) transform is defined as applicable to chrominance as well, and in addition, for example, the prediction type of the coding block to which a block of transforms to be processed belongs is interprediction or intraprediction whose prediction mode is intrablock copy as indicated in Petition 870190056776, dated 06 / 19 / 2019, page 34 / 305 / 215 line of No. #4, the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be set to the value of the adaptive primary transform flag apt_flag[Y] of luminance, and in a case where the coding block prediction type is intraprediction whose prediction mode is not intrablock copy (IntraBC; also called “screen motion compensation”), the value of the adaptive primary transform flag apt_flag[Cb / Cr] of the chrominance can be set to 0 (false). In this way, not only can the adaptive primary (inverse) transform be applied to chrominance, but also the adaptive primary transform luminance flag can be used only in the case of the prediction mode in which residual signal trends are similar, and thus it is possible to curb the deterioration in coding efficiency.
[00146] Furthermore, in a case where the adaptive primary (inverse) transform is defined as applicable to chrominance as well, and additionally, for example, a chrominance adaptive primary transform information inference flag chroma_apt_info_infer_flag indicating whether the chrominance adaptive primary transform flag apt_flag[Cb / Cr] is inferred based on the luminance adaptive primary transform flag apt_flag[Y] is 1 (true) as indicated in line 5, the chrominance adaptive primary transform flag apt_flag[Cb / Cr] can be set to the value of the luminance adaptive primary transform flag apt_flag[Y], and in a case where the chrominance adaptive primary transform information inference flag chroma_apt_info_infer_flag is 0 (false), the value The adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be set to 0 (false).In this way, it is possible to explicitly control whether or not the adaptive primary luminance transform flag value should be used. Petition 870190056776, dated 06 / 19 / 2019, page 35 / 305 / 215, the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag. Therefore, it is possible to make the value of the adaptive primary luminance transform flag be used only in a case where sufficiently large effects can be easily obtained, and thus the deterioration in coding efficiency can be further restrained.
[00147] Furthermore, in a case where the adaptive primary (inverse) transform is defined as applicable to chrominance as well, and additionally, for example, the size of a short side of the transform block to be processed is greater than or equal to a predetermined threshold value as indicated in line 6, the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be set to the value of the adaptive primary transform flag apt_flag[Y] of luminance, and in a case where the size of the short side of the transform block is less than the threshold value, the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be set to 0 (false).In this way, since it is possible not to apply the adaptive primary (inverse) transform to a block of transforms from which sufficiently large effects are not obtained, and thus the deterioration in coding efficiency can be further restrained, it is possible to avoid an unnecessary increase in circuit scale resulting from applying the adaptive primary (inverse) transform to a small block of transforms insofar as sufficiently large effects are not obtained.
[00148] Furthermore, the adaptive primary (inverse) transform is defined as applicable to chrominance as well and, additionally, for example, the engraving width of a transform block with the chrominance to be processed is equal to or less than a predetermined limit value as indicated in line 7, the transform type of Petition 870190056776, dated 06 / 19 / 2019, page 36 / 305 / 215 primary (inverse) horizontal transform can be defined as a predetermined transform type, and in a case where the engraving width size of the transform block is greater than the limit value, the transform type of the primary (inverse) horizontal transform can be defined based on a set of horizontal transforms and a primary horizontal transform specification flag.Similarly, in a case where the engraving height size of the transform block with a chrominance to be processed is equal to or less than a predetermined threshold value, the transform type of the primary (inverse) vertical transform can be defined as a predetermined transform type, and in a case where the engraving height size of the transform block is greater than the threshold value, the transform type of the primary (inverse) vertical transform can be defined based on a set of vertical transforms and a primary vertical transform specification flag.In this way, it is possible to avoid applying the adaptive primary (inverse) transform to the block of transforms that is narrow insofar as sufficiently large effects are not obtained (the primary (inverse) transform in the width direction), and thus the deterioration in coding efficiency can be further restrained, and it is possible to avoid an unnecessary increase in circuit scale resulting from applying the adaptive primary (inverse) transform to a block of transforms that is narrow insofar as sufficiently large effects are not obtained.
[00149] It should be noted that it is also possible to arbitrarily combine each of the cases described above. For example, the case in line #2 can be combined with line #7, as in the case of line #8. In this way, the effects obtained in each of the cases can be displayed. Furthermore, each of the cases described above can also be combined with another case that is not described above. For example, in a case in Petition 870190056776, dated 06 / 19 / 2019, page 37 / 305 / 215, states that the prediction type of a coding block to be processed is intraprediction. In the case of line #2, the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance can be transmitted (signaled). That is, the encoding and decoding of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance are performed in this case. Furthermore, in a case where the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance is 1 (true), the adaptive primary transform identifier pt_idx[Cb / Cr] of a chrominance is additionally transmitted (signaled). In other words, the encoding and decoding of the adaptive primary transform identifier pt_idx[Cb / Cr] of a chrominance are performed in this case. <Formas de CU, PU e TU>
[00150] Forms of a coding unit (CU), a prediction unit (PU), and a transform unit (TU) that are partial regions (processing units) of a moving image in a bitstream (encoded data) will be described here. The CUs, PUs, and transform units (TUs) illustrated in FIG. 8 are CUs, PUs, and TUs of a quadtree plus binary tree (QTBT) described in JVET-C0024, “EE2.1: Quadtree plus binary tree structure integration with JEM tools.” Specifically, in block division for CUs, a block can be divided into not only four (=2x2) subblocks, but also two (=1x2 or 2x1) subblocks. In other words, by recursively dividing a block into four or two sub-blocks in block division for CUs, a tree structure in the form of a quad-tree or a binary-tree in a horizontal or vertical direction is consequently formed.
[00151] As a result, there is the possibility of a CU having a square shape as well as a rectangular shape. For example, in one case Petition 870190056776, dated 06 / 19 / 2019, page. 38 / 305 / 215 where a larger encoding unit (LCU) size is 128x128, there is the possibility that a CU size (a size in a horizontal direction w x a size in a vertical direction h) could be a square size such as 128x128, 64x64, 32x32, 16x16, 8x8, or 4x4 as well as a rectangle size such as 128x64, 128x32, 128x16, 128x8, 128x4, 64x128, 32x128, 16x128, 8x128, 4x128, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x8, 16x4, 8x16, 4x16, 8x4, or 4x8 as illustrated in FIG. 8. It should be noted that a PU and a TU have the same possibility as a CU.
[00152] In addition, a TU includes a block of luminance (Y) transforms and a block of chrominance (Cb / Cr) transforms. In a case where a color format is 4:2:0 (e.g., YUV420), the ratio of a chrominance engraving size to a luminance engraving size relative to an engraving height and an engraving width is 1 / 2. Thus, if the size of a luminance transform block is 8x4, the size of a corresponding chrominance transform block is 4x2. Furthermore, in a case where a color format is 4:2:2 (e.g., YUV422), the ratio of a chrominance engraving size to a luminance engraving size is 1 / 2 relative to an engraving height and 1 relative to an engraving width. Thus, if the size of a block of luminance transforms is 8x4, the size of a block of transforms for a corresponding chrominance is 8x2.Furthermore, in a case where a color format is 4:4:4 (for example, YUV444), the ratio of a chrominance engraving size to a luminance engraving size is 1 with respect to engraving height and 1 with respect to engraving width. Thus, if the size of a luminance transform block is 8x4, the size of a corresponding chrominance transform block is 8x4.
[00153] It should be noted that, with respect to slices I, the luminance Petition 870190056776, dated 06 / 19 / 2019, page 39 / 305 / 215 (Y) and chrominance (Cb / Cr) can be encoded as different CUs. Since luminance and chrominance can have different CU split structures, in this case, an effect of improving the coding efficiency of I-slices is exhibited. Although the description is provided below, assuming that luminance and chrominance information are included in the same CU for convenience, the invention is not limited to this. <2. First modality> <Aparelho de decodificação de imagem>
[00154] FIG. 9 is a block diagram illustrating an example of a configuration of an image decoding device which is an aspect of an image processing device to which the present technology has been applied. The image decoding device 100 illustrated in FIG. 9 is a device that decodes encoded data obtained by encoding a predictive residue of an image and a predictive image as in AVC or HEVC. The image decoding device 100 implements, for example, a technology proposed by HEVC or the Joint Video Exploration Team (JVET).
[00155] In FIG. 9, the image decoding apparatus 100 has a decoding unit 111, an inverse quantization unit 112, an inverse transform unit 113, an arithmetic operation unit 114, a frame memory 115, and a prediction unit 116. It should be noted that the prediction unit 116 has an intraprediction unit and an interprediction unit which are not illustrated. The image decoding apparatus 100 is an apparatus for generating a moving image 2 by decoding encoded data 1 (a bit stream).
[00156] Decoding unit 111 receives an input of encoded data 1 and performs variable-length decoding on a Petition 870190056776, dated 06 / 19 / 2019, page 40 / 305 / 215 syntax value of each of the syntax elements of a bit string of the encoded data 1 according to a decision of a syntax table. In addition, each syntax element includes information such as Hinfo header information, Pinfo prediction mode information, Tinfo transform information and Rinfo residual information.
[00157] Hinfo header information such as VPS / SPS / PPS / SH slice header includes information that defines image sizes (an engraving width PicWidth and an engraving height PicHeight), bit depths (luminance bitDepthY and chrominance bitDepthC), a maximum value of a CU size MaxCUSize / a minimum value of the same MinCUSize, a maximum quadtree split depth (also called quad tree split) MaxQTDepth / a minimum depth of the same MinQTDepth, a maximum binary tree split depth (binary tree split) MaxBTDepth / a minimum depth of the same MinBTDepth, a maximum value of a transform jump block MaxTSSize (also called maximum transform jump block size), an enable / disable flag for each encoding tool (also called enabled flag), and the like.
[00158] As an enable / disable flag for an encoding tool included in the Hinfo header information, for example, an enable / disable flag for transform and quantization processes that will be introduced below. It should be noted that the enabling / disable flag for the encoding tool can also be interpreted as a flag indicating whether or not the encoding tool syntax is present in the encoded data. Furthermore, in a case where an enable / disable flag value is 1 (true), it indicates that the encoding tool is available, and in a case where an enable / disable flag value is 0 (false), Petition 870190056776, dated 06 / 19 / 2019, page 41 / 305 / 215 indicates that the encoding tool is unavailable. It should be noted that the interpretation of the flag value may be reversed.
[00159] An adaptive primary transform enabled flag apt_enabled_flag (also called adaptive_primary_transform_enabled_flag, adaptive_pt_enabled_flag, or amt_enabled_flag) is a flag that indicates whether a coding tool that can select an adaptive primary transform (also called an adaptive primary transform) as a transform process and an inverse process is available or not.
[00160] A secondary transform enabled flag st_enabled_flag is a flag that indicates whether a coding tool that performs a secondary transform / an inverse secondary transform as one of a transform process and an inverse process is available or not.
[00161] A transquant_bypass_enabled_flag enabled flag indicates whether a coding tool that skips a transform and a quantization / an inverse quantization and an inverse transform as one of a transform / quantization and inverse processes is available or not.
[00162] A ts_enabled_flag enabled flag indicates whether two-dimensional transform skipping or one-dimensional transform skipping is available as one of a transform process and an inverse process thereof. Two-dimensional transform skipping is a coding tool that skips an orthogonal transform and an inverse process (orthogonal inverse transform) thereof, including a primary transform and a secondary transform.Furthermore, one-dimensional transform hopping is a coding tool that hops a primary transform in a horizontal or vertical direction and an inverse transform. Petition 870190056776, dated 06 / 19 / 2019, page 42 / 305 / 215 (inverse primary transform) corresponding to the same among primary transforms, and a secondary transform and an inverse secondary transform of the same.
[00163] The Pinfo prediction mode information additionally includes a PU size (a prediction block size) of a PU to be processed PUSize, IPinfo intraprediction mode information (e.g., prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode in JCTVC-W1005 Coding Unit Syntax 7.3.8.5, a luminance intraprediction mode IntraPredModeY and a chrominance intraprediction mode IntraPredModeC derived from the syntax, etc.), MVinfo motion prediction information (e.g., merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1} and mvd with reference to Prediction Unit Syntax 7.3.8.6 JCTVCW1005) and similar.
[00164] In addition, Tinfo transform information may include the syntax of, for example, a TBWidth engraving size and a TBHeight engraving size of a block of transforms to be processed, a transform quantization bypass flag transquant_bypass_flag indicating whether the transform (inverse) and quantization (inverse) processes should be skipped, a transform jump flag ts_flag indicating whether or not the two-dimensional transform jump should be applied, an adaptive primary transform flag apt_flag indicating whether an adaptive primary transform should be applied to a target block of transforms, a primary transform identifier pt_idx indicating which primary (inverse) transform should be applied between primary (inverse) transforms in the vertical and horizontal directions, a secondary transform identifier st_idx (also called dnsst_idx,nsst_idx or rot_idx) indicating which secondary (inverse) transform should be applied, a scanIdx scan identifier, a, Petition 870190056776, dated 06 / 19 / 2019, page 43 / 305 / 215 quantization parameter qp, a quantization matrix scaling_matrix and similar. It should be noted that, instead of the engraving width size TBWidth and engraving height size TBHeight of the block of transforms to be processed, a logarithmic value of each TBWidth and TBHeight having 2 as the base log2TBWidth (also called log2TBWSize or log2TBW) or log2TBHeight (also called log2TBHSize or log2TBH) is used.
[00165] Rinfo residual information may include, for example, a residual data presence / absence flag (cbf (coded_block_flag)), a last non-zero coefficient X coordinate (last_sig_coeff_x_pos), a last non-zero coefficient Y coordinate (last_sig_coeff_y_pos), a sub-block non-zero coefficient presence / absence flag (coded_sub_block_flag), a non-zero coefficient presence / absence flag (sig_coeff_flag), a flag indicating whether the level of a non-zero coefficient is greater than 1 (gr1_flag) (also called GR1 flag), a flag indicating whether the level of a non-zero coefficient is greater than 2 (gr2_flag) (also called GR2 flag), a sign indicating the positivity / negativity of a non-zero coefficient (sign_flag) (also called a sign symbol), the The remaining level of a non-zero coefficient (coeff_abs_level_remaining) (also called a non-zero coefficient remaining level) and similar terms.
[00166] Decoding unit 111 derives a quantized transform coefficient level from each coefficient position in each transform block with reference to residual information Rinfo. Decoding unit 111 provides prediction mode information Pinfo, quantized transform coefficient level, and Tinfo transform information obtained from decoding for each block. For example, decoding unit 111 provides the prediction mode information Pinfo for inverse transform unit 113 and unit 114. Petition 870190056776, dated 06 / 19 / 2019, page 44 / 305 / 215 prediction 116, the quantized transform coefficient level for inverse quantization unit 112, and the Tinfo transform information for inverse transform unit 113 and inverse quantization unit 112.
[00167] The inverse quantization unit 112 receives an input of the transform information Tinfo and the quantized transform coefficient level, performs scaling (inverse quantization) on the value of the quantized transform coefficient level based on the transform information Tinfo and generates the transform coefficient that underwent inverse quantization Coeff_IQ for the inverse transform unit 113.
[00168] The inverse transform unit 113 receives an input of the transform coefficient Coeff_IQ, the transform information Tinfo, and the prediction mode information Pinfo, applies an inverse transform to the transform coefficient Coeff_IQ based on the transform information Tinfo, the prediction mode information Pinfo, and similar, derives a predictive residue D', and generates the predictive residue for the arithmetic operation unit 114. It should be noted that the inverse transform is the inverse process of the transform process performed on the coding side or similar. For example, an inverse orthogonal transform, such as a process inverse to an orthogonal transform performed on a coding side or similar, is included in the inverse transform.Furthermore, in a case where a primary or secondary transform is performed as an orthogonal transform on the encoding side, for example, an inverse primary transform which is an inverse process to the primary transform, an inverse secondary transform which is an inverse process to the secondary transform, or similar, is included in the inverse transform. Details of the inverse transform unit 113 will be described below.
[00169] The arithmetic operation unit 114 receives an input from Petition 870190056776, of 19 / 06 / 2019, page 45 / 305 / 215 predictive residue D' and a predictive image P provided from the prediction unit 116, adds the predictive residue D' to the predictive image P (predictive signal) corresponding to the predictive residue D' as illustrated in the following formula (8), derives a local decoded image Rec, and provides the local decoded image to the frame memory 115 or the external part of the image decoding device 100. Rec = D' + P ... (8)
[00170] Frame memory 115 receives a local decoded image input Rec provided from arithmetic operation unit 114, reconstructs a decoded image in each engraving unit, and then stores the decoded image in frame memory 115. Frame memory 115 reads the decoded image specified by the prediction mode information Pinfo from prediction unit 116 as a reference image from the buffer, and provides the decoded image to prediction unit 116. In addition, frame memory 115 may store the header information Hinfo, the prediction mode information Pinfo, the transform information Tinfo, and similar information related to the generation of the decoded image in the buffer within the frame memory.
[00171] Prediction unit 116 receives an input of the Pinfo prediction mode information, generates the predictive image P using, as a reference image, the decoded image stored in frame memory 115 specified by the PInfo prediction mode information using a prediction method specified by the Pinfo prediction mode information, and sends the predictive image to the arithmetic operation unit 114. <Unidade de transformada inversa>
[00172] FIG. 10 is a block diagram illustrating an example of the main configuration of the inverse transform unit 113 of the apparatus. Petition 870190056776, dated 06 / 19 / 2019, page 46 / 305 / 215 image decoding 100 of FIG. 9. The inverse transform unit 113 includes a switch 121, a secondary inverse transform unit 122 and a primary inverse transform unit 123 as illustrated in FIG. 9.
[00173] Switch 121 receives a transform coefficient Coeff_IQ and a transform jump flag ts_flag[compID]. In a case where the value of the transform jump flag ts_flag[compID] is NO_TS (=0), that is, in a case where the transform jump is not applied, switch 121 produces the transform coefficient Coeff_IQ for the inverse secondary transform unit 122. Furthermore, in a case where the value of the transform jump flag ts_flag[compID] is 2D_TS (=1), that is, in a case where the flag indicates applying a two-dimensional transform jump, switch 121 jumps the inverse secondary transform unit 122 and the inverse primary transform unit 123, and produces the transform coefficient Coeff_IQ as a residual predictor D'.
[00174] The inverse secondary transform unit 122 performs a process related to an inverse secondary transform that is the inverse process for a secondary transform that is a predetermined transform process, for example, an orthogonal transform, or similar. For example, the inverse secondary transform unit 122 receives an input of a secondary transform identifier st_idx, a scan identifier scanIdx indicating a scan method of a transform coefficient and the transform coefficient Coeff_IQ, derives a transform coefficient Coeff_IS (also called the primary transform coefficient Coeff_P) that has undergone an inverse secondary transform, and provides the transform coefficient to the inverse primary transform unit 123.More specifically, in a case where the secondary transform identifier st_idx indicates the application of the inverse secondary transform (st_idx>0), the transform unit. Petition 870190056776, dated 06 / 19 / 2019, page 47 / 305 / 215: Secondary inverse transform 122 executes the secondary inverse transform process corresponding to the secondary transform identifier st_idx on the transform coefficient Coeff_IQ and produces the transform coefficient Coeff_IS that underwent the secondary inverse transform. In a case where the secondary transform identifier st_idx indicates that the secondary inverse transform does not apply (st_idx==0), the secondary inverse transform unit 122 skips the secondary inverse transform and produces the transform coefficient Coeff_IQ as the transform coefficient Coeff_IS that underwent the secondary inverse transform.
[00175] The inverse primary transform unit 123 performs a process related to an inverse primary transform that is the inverse process for a primary transform that is a predetermined transform process, for example, an orthogonal transform. For example, the inverse primary transform unit 123 receives inputs of a color signal identifier compID, adaptive primary transform flag apt_flag [COMPONENT_Y] of luminance, a luminance primary transform identifier pt_idx [COMPONENT_Y], prediction mode information PInfo, sizes of a transform block (a logarithmic value of the picture width log2TBWSize and a logarithmic value of the picture height log2TBHSize), and the transform coefficient Coeff_IS that underwent the inverse secondary transform.The inverse primary transform unit 123 selects the inverse primary horizontal transform type TrTypeIdxH and the inverse primary vertical transform type TrTypeIdxV of a color signal specified by the color signal identifier compID with reference to the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag [COMPONENT_Y] for luminance, the primary transform identifier for luminance pt_idx [COMPONENT_Y], and the transform identifier. Petition 870190056776, dated 06 / 19 / 2019, page 48 / 305 / 215 primary luminance pt_idx [COMPONENT_Y], performs a primary inverse vertical transform defined by the primary inverse vertical transform type TrTypeIdxV and the height of the log2TBHSize block of transforms and the primary inverse horizontal transform defined by the primary inverse horizontal transform type TrTypeIdxH and the width of the log2TBWSize block of transforms on the transform coefficient Coeff_IS that went through the inverse secondary, and then derives and produces the predictive residual D' that went through the inverse primary transform. <Unidade de transformada primária inversa>
[00176] The inverse primary transform unit 123 has a chrominance adaptive primary transform information derivation unit 131, an inverse primary transform selection unit 132, an inverse primary vertical transform unit 133 and an inverse primary horizontal transform unit 134 as illustrated in FIG. 11.
[00177] The adaptive primary transform information derivation unit 131 derives adaptive primary transform information from a chrominance (apt_flag[compID] and pt_idx[compID] (compID=COMPONENT_Cb or COMPONENT_Cr)) using the adaptive primary transform information (apt_flag[COMPONENT_Y], pt_idx[COMPONENT_Y]) from the luminance transform block corresponding to the chrominance transform block in a case where the color signal identifier compID indicates the chrominance (compID==COMPONENT_Cb or COMPONENT_Cr) and provides the result to the inverse primary transform selection unit 132. <Unidade de derivação de informações de transformada primária adaptativa de crominância>
[00178] FIG. 11 is a function block diagram that illustrates a Petition 870190056776, dated 06 / 19 / 2019, page 49 / 305 / 215 example of the main function configuration of the adaptive primary transform information derivation unit 131. The adaptive primary transform information derivation unit 131 has an apt_flag derivation unit 151 and a pt_idx derivation unit 152 as illustrated in FIG. 11. The apt_flag derivation unit 151 performs a process regarding the derivation of the adaptive primary transform flag apt_flag from a chrominance.
[00179] For example, the apt_flag derivation unit 151 derives an adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) with respect to a block of chrominance transforms to be processed as illustrated in the following formula (9) based on an adaptive primary transform flag apt_flag[COMPONENT_Y] related to a block of luminance transforms corresponding to the block of chrominance transforms.
[00180] apt_flag[compID] = apt_flag[COMPONENT_Y]
[00181] (here, compID=COMPONENT_Cb or COMPONENT_Cr) ... (9)
[00182] That is, the apt_flag 151 derivation unit defines a value of a luminance adaptive primary transform flag apt_flag[COMPONENT_Y] corresponding to the chrominance adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr).
[00183] It should be noted that, as a modified example of formula (9), the derivation unit of apt_flag 151 can derive the adaptive primary transform flag apt_flag[compID] from chrominance, as illustrated in formula (10) below with reference to a residual data presence flag cbf_luma from luminance.
[00184] apt_flag[compID] = cbf_luma ? apt_flag[COMPONENT_Y]: 0 ... (10) Petition 870190056776, dated 06 / 19 / 2019, page 50 / 305 / 215
[00185] That is, the apt_flag 151 derivation unit sets the value of the adaptive primary transform flag apt_flag[COMPONENT_Y] for luminance corresponding to the adaptive primary transform flag apt_flag[compID] for chrominance (compID=COMPONENT_Cb or COMPONENT_Cr) in a case where the residual data presence flag cbf_luma for luminance is 1 (true), and sets 0 in other cases (in a case where the residual data presence flag cbf_luma for luminance is 0 (false)).
[00186] It should be noted that in a case where apt_flag[COMPONENT_Y] is not present in the encoded data and the flag value is set to 0, it is not necessary to refer to the residual luminance data presence flag. However, in a case where there is no initialization operation of apt_flag[COMPONENT_Y] to 0, the value of apt_flag[COMPONENT_Y] becomes undefined and therefore it is desirable to control whether the value of the adaptive primary transform flag apt_flag[COMPONENT_Y] of luminance should be referenced or not, with reference to the presence of residual luminance data cbf_luma.
[00187] In addition, the pt_idx 152 derivation unit performs a process in relation to the derivation of a primary transform identifier pt_idx from a chrominance. For example, the pt_idx 152 derivation unit derives a primary transform identifier pt_idx[compID] from a chrominance transform block as illustrated in the following formula (11) based on the adaptive primary transform flag apt_flag[compID] from the chrominance transform block (compID=COMPONET_Cb or COMPONENT_Cr) and a primary transform identifier pt_idx[COMPONENT_Y] from a luminance transform block corresponding to the chrominance transform block.
[00188] pt_idx[compID] = apt_flag[compID] ? Petition 870190056776, dated 06 / 19 / 2019, page 51 / 305 / 215 pt_idx[COMPONENT_Y]: predetermined value ... (11)
[00189] That is, in a case where the adaptive primary transform flag apt_flag[compID] of the chrominance transform block is 1 (true), the derivation unit pt_idx 152 additionally defines the primary transform identifier pt_idx[compID] of the chrominance transform block as the value of the primary transform identifier for the luminance transform block pt_idx[COMPONENT_Y] corresponding to the chrominance transform block. In other cases, a predetermined value is defined.
[00190] As described above, the chrominance adaptive primary transform information derivation unit 131 can derive the chrominance transform block's adaptive primary transform information based on the luminance adaptive primary transform information corresponding to the chrominance transform block. Therefore, it is possible to reduce the amount of decoding processing without decoding the chrominance transform block's adaptive primary transform information from the encoded data. <Unidade de transformada primária inversa>
[00191] Returning to FIG. 10, the inverse primary transform selection unit 132 receives an input of the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID, and the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID. The inverse primary transform selection unit 132 derives the transform type TrTypeIdxH from the inverse primary horizontal transform and the transform type TrTypeIdxV from the inverse primary vertical transform of the color signal. Petition 870190056776, dated 06 / 19 / 2019, page 52 / 305 / 215 specified by the color signal identifier compID with reference to the PInfo prediction mode information, the color signal identifier compID, the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID and the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID, and provides the results for the inverse primary horizontal transform unit 134 and the inverse primary vertical transform unit 133.
[00192] The primary inverse vertical transform unit 133 receives an input of the transform coefficient Coeff_IS that passed through the secondary inverse transform, the transform type TrTypeIdxV of the primary inverse vertical transform, and log2TBHSize (the logarithmic value of the engraving height) indicating the engraving height of the transform block for each transform block of each color signal. The primary inverse vertical transform unit 133 performs a primary inverse vertical transform IPver defined by the transform type TrTypeIdxV and the engraving height of the transform block on the transform coefficient Coeff_IS that passed through the secondary inverse transform and provides the result to the primary inverse horizontal transform unit 134 as a transform coefficient Coeff_IPver that passed through the primary inverse vertical transform.It should be noted that the inverse primary vertical transform IPver is the inverse transform for a primary vertical transform Pver.
[00193] The inverse primary horizontal transform unit 134 receives inputs of the transform coefficient Coeff_IPver that passed through the inverse primary vertical transform, the transform type TrTypeIdxH of the inverse primary horizontal transform, and log2TBWSize (the logarithmic value of the engraving width) indicating the engraving height of the transform block for each transform block of each color signal. A Petition 870190056776, dated 06 / 19 / 2019, page 53 / 305 / 215, unit 134 executes a primary inverse horizontal transform IPhor defined by the transform type TrTypeIdxH and the width of the transform block engraving on the transform coefficient Coeff_IPver that passed through the primary inverse vertical transform, and produces the result for the exterior of the inverse transform unit 113 as the predictive residue D' (provides the result for the arithmetic operation unit 114). It should be noted that the primary inverse horizontal transform IPhor is the inverse transform of a primary horizontal transform Phor. <Processo de unidade de seleção de transformada primária inversa>
[00194] Next, the derivation of the inverse primary horizontal transform type TrTypeIdxH and the inverse primary vertical transform type TrTypeIdxV of a color signal specified by a color signal identifier compID by the inverse primary transform selection unit 132 will be described in detail.
[00195] Specifically, in a case where the adaptive primary transform flag apt_flag[compID] of the color signal specified by the color signal identifier compID is 1 (true), the inverse primary transform selection unit 132 selects a transform set TrSet including an orthogonal transform that serves as a candidate primary transform from the four transform sets TrSet with the transform set identifiers TrSetSetIdx=0...3 shown in the table in FIG. 1 in each of the horizontal and vertical directions with reference to the prediction mode information PInfo. It should be noted that the correspondence between orthogonal transform types and the corresponding TrTypeIdx identifier values is not limited to the table in FIG. 2 and can be changed in an executable range.
[00196] Note that in a case where the adaptive primary transform flag apt_flag[compID] is 0 (false), it indicates that Petition 870190056776, dated 06 / 19 / 2019, page 54 / 305 / 215, an adaptive primary transform will not be executed and therefore the inverse primary transform selection unit 132 defines a transform type identifier value indicating the type of a predetermined orthogonal transform (e.g., DCT-II) for the transform type TrTypeIdxH of the inverse primary horizontal transform and the transform type TrTypeIdxV of the inverse primary vertical transform (TrIdxTypeH = TrIdxTypeV = predetermined value). <Seleção do conjunto de transformadas>
[00197] In a case where a prediction type of a CU to which a block of transforms to be processed belongs CuPredMode is intraprediction (CuPredMode==MODE_INTRA), the definition is made based on an intraprediction mode (IntraPredMode) as in the table (LUT_IntraModeToTrSet) shown in FIG. 3. For example, the definition of a transform set identifier TrSetIdx that specifies a corresponding transform set TrSet is made for a transform set in each of the directions (TrSetH and TrSetV) using the following formulas (12) and (13). Furthermore, in a case where the CU prediction type to which the block of transforms to be processed belongs is interprediction, a transform set identifier TrSetIdx that specifies a transform set TrSet for interprediction (=InterTrSetIdx) is defined as in the following formula (14).It should be noted that if the intraprediction mode IntraPredMode is for luminance, a value for a luminance intraprediction mode IntraPredModeY will be set, and if the intraprediction mode is for chrominance, a value for a chrominance intraprediction mode IntraPredModeC will be set.
[00198] if (CuPredMode == MODE_INTRA) {
[00199] TrSetH = LUT_IntraModeToTrSet [ IntraPredMode ] [ H (=0) ] ... (12)
[00200] TrSetV = LUT_IntraModeToTrSet [ IntraPredMode ] [ V (=1) Petition 870190056776, dated 06 / 19 / 2019, page 55 / 305 / 215 ] ... (13) [00201 ]} else { / / CuPredMode==MODE_INTER
[00202] TrSetH = InterTrSetIdx
[00203] TrSetV = InterTrSetIdx . (14)
[00204] }
[00205] Here, TrSetH represents a set of transforms of a primary horizontal transform PThor (called the set of primary horizontal transforms), and TrSetV represents a set of transforms of a primary vertical transform PTver (also called the set of primary vertical transforms). Furthermore, a lookup table LUT_IntraModeToTrSet is the matching table in FIG. 3. The first matrix of the lookup table LUT_IntraModeToTrSet[][] has an intraprediction mode IntraPredMode as an argument, and the second matrix has {H=0, V=1} as an argument.
[00206] In a case of intraprediction mode number 18 (IntraPredMode == 18), the transform set with the transform set identifier TrSetIdx=2 indicated in the table (LUT_TrSetToTrTypeIdx) of FIG. 1 is selected as a primary horizontal transform set TrSetH, and the transform set with the transform set identifier TrSetIdx=0 indicated in the table of FIG. 1 is selected as a primary vertical transform set TrSetV.
[00207] It should be noted that, in a case where the intraprediction mode IntraPredMode indicates intrablock copying (IBC or IntraBC; also called “screen motion compensation”) (in the table in FIG. 3, IntraPredMode==67 corresponds to IntraBC), a dedicated transform set identifier for interprediction can be allocated. Since interprediction and intrablock copying tend to have a similar residual in general, it is reasonable to allocate the same transform set. Furthermore Petition 870190056776, dated 06 / 19 / 2019, page 56 / 305 / 215, in addition, a transform set identifier dedicated to intrablock copying can be allocated. <Derivação de sinalizador de especificação de transformada (horizontal / vertical) primária>
[00208] Furthermore, the inverse primary transform selection unit 132 derives a primary horizontal transform specification flag pt_hor_flag and a primary vertical transform specification flag pt_ver_flag from a primary transform identifier pt_idx[compID] (compID=COMPONENT_Y, COMPONENT_Cb, COMPONENT_Cr) of a color signal specified by a color signal identifier compID according to, for example, the following formula (15).
[00209] pt_hor_flag = pt_dx[compID] & 0x01
[00210] pt_ver_flag = pt_idx[compID] >> 1 (= (pt_idx[compID] & 0x10) >>1) ... (15)
[00211] That is, the primary transform identifier pt_idx[compID] has a 2-bit value, the top 1 bit of which corresponds to the primary vertical transform specification flag pt_ver_flag, and the bottom 1 bit of which corresponds to the primary horizontal transform specification flag pt_hor_flag. <Seleção do tipo de transformada de transformada (horizontal / vertical) primária inversa>
[00212] In addition, the inverse primary transform selection unit 132 selects the type of orthogonal transform to be used in the inverse primary transform of the TrSetH and TrSetV transform sets selected in each horizontal / vertical direction using each of the primary horizontal transform specification flag pt_hor_flag and the primary vertical transform specification flag pt_ver_flag. Petition 870190056776, dated 06 / 19 / 2019, page 57 / 305 / 215
[00213] Specifically, the primary inverse transform selection unit 132 determines the transform type TrTypeIdxH of the orthogonal transform to be applied to the primary inverse horizontal transform based on the correspondence table for transform sets and transform types (LUT_TrSetToTrTypeIdx) illustrated in FIG. 1, the primary horizontal transform set TrSetH and the primary horizontal transform specification flag pt_hor_flag, as illustrated in the following formula (16).
[00214] TrTypeIdxH = LUT_TrSetToTrTypeIdx [ TrSetH ] [ pt_hor_flag ] ... (16)
[00215] Similarly, the primary inverse transform selection unit 132 determines the type of orthogonal transform TrTypeldxV to be applied to the primary inverse vertical transform based on the correspondence table for transform sets and transform types (LUT_TrSetToTrTypeIdx) illustrated in FIG. 1, the primary vertical transform set TrSetVx and the primary vertical transform specification flag pt_ver_flag, as illustrated in the following formula (17).
[00216] TrTypeldxV = LUT_TrSetToTrTypeIdx [ TrSetV ] [ pt_ver_flag ] . (17)
[00217] If the value of the transform set identifier TrSetIdx indicated by the primary horizontal transform set TrSetH is 2, an orthogonal transform to be applied to the primary horizontal transform is selected from the transform set with the transform set identifier TrSetIdx==2 in the transform set definition table LUT_TrSetToTrTypeIdx of FIG. 1. That is, in a case where the primary horizontal transform specification flag pt_hor_flag is 0, the value “4” of the transform type identifier TrTypeldx indicating DST-VII is set for the identifier Petition 870190056776, dated 06 / 19 / 2019, page 58 / 305 / 215, regarding the horizontal transform type TrTypeIdxH, designating the orthogonal transform type of the primary horizontal transform PThor, as illustrated in FIG. 1, and in a case where the primary horizontal transform specification flag pt_hor_flag is 1, the value “1” of the transform type identifier TrTypeIdx indicating DCT-V is defined for the horizontal transform type identifier TrTypeIdxH.
[00218] It should be noted that a transform type determined with the transform set identifier values TrSetIdx from the table shown in FIG. 1, the primary horizontal transform specification flag and the primary vertical transform specification flag can be set as changeable within an executable range.
[00219] Subsequently, the inverse primary transform selection unit 132 provides the transform type TrTypeIdxH of the inverse primary horizontal transform IPThor and the transform type TrTypeIdxV of the inverse primary vertical transform IPTver of the color signal specified by the color signal identifier compID for each of the inverse primary vertical transform unit 133 and the inverse primary horizontal transform unit 134.
[00220] As described above, the inverse primary transform unit 123 can apply a selected inverse adaptive primary transform for luminance to a block of chrominance transforms in a case where a residual signal of the color signal shows a similar trend to a residual luminance signal. Thus, it is possible to perform an inverse primary transform process on the residual chrominance signal with greater encoding efficiency than in the related technique.
[00221] Furthermore, it is possible to reduce the amount of processing by an encoder, while avoiding a decrease in encoding efficiency for chrominance compared to a case where an adaptive primary transform flag apt_flag and a Petition 870190056776, dated 06 / 19 / 2019, page 59 / 305 / 215 primary transform identifier pt_idx are explicitly decoded for each of the luminance and chrominance.
[00222] <Fluxo do processo de decodificação de imagem>
[00223] Next, the flow of each process executed by the image decoding device 100, as described above, will be described. First, an example of the flow of an image decoding process will be described with reference to the flowchart in FIG. 12.
[00224] When the image decoding process is initiated, the decoding unit 111 decodes a bit stream (encoded data) provided to the image decoding device 100 and thus obtains information such as Hinfo header information, Pinfo prediction mode information, Tinfo transform information, Rinfo residual information, and a quantized transform coefficient level at Step S101.
[00225] In Step S102, the inverse quantization unit 112 performs inverse quantization at the quantized transform coefficient level obtained from the process in Step S101 and thus derives a transform coefficient Coeff_IQ. Inverse quantization is the inverse process to the quantization performed in an image encoding process, which will be described below, and is a process similar to the inverse quantization performed in the image encoding process.
[00226] In Step S103, the inverse transform unit 113 performs an inverse transform on the transform coefficient Coeff_IQ obtained from the process in Step S102 and thus derives a predictive residual D'. The inverse transform is the inverse process to a transform process performed in the image encoding process, which will be described below, and is a process similar to an inverse transform performed in the image encoding process.
[00227] In Stage S104, prediction unit 116 performs the prediction Petition 870190056776, dated 06 / 19 / 2019, page 60 / 305 / 215 in the same prediction mode as the prediction performed at the time of coding based on PINfo prediction mode information and generates a predictive image.
[00228] In Step S105, the arithmetic operation unit 114 adds the predictive image obtained from the process in Step S104 to the predictive residue D' obtained from the process in Step S103 and thus obtains a decoded image.
[00229] In Step S106, the arithmetic operation unit 114 produces the decoded image obtained from the process in Step S105 to the outside of the image decoding apparatus 100.
[00230] In Step S107, frame memory 115 stores the decoded image obtained from the process in Step S105.
[00231] When the S107 Step process finishes, the image decoding process ends. <Processo de decodificação de informações de transformada primária>
[00232] Several types of information included in encoded data #1 are decoded in Step S101 of FIG. 12 as described above. At this point, decoding unit 111 also appropriately decodes information such as the adaptive primary transform flag apt_flag, the primary transform identifier pt_idx, and similar items. Decoding unit 111 decodes, for example, the adaptive primary transform flag apt_flag [COMPONENT_Y] of luminance and the primary transform identifier pt_idx[COMPONENT_Y] of luminance. However, the encoded data #1 does not include the adaptive primary transform flag apt_flag [compID] of a chrominance (compID=COMPONET_Cb or COMPONENT_Cr) and the primary transform identifier pt_idx [compID] of the chrominance (compID=COMPONET_Cb or COMPONENT_Cr) as described above. Thus, the decoding unit Petition 870190056776, dated 06 / 19 / 2019, page 61 / 305 / 215 111 omits the decoding of the information from the elements.
[00233] In order to perform the decoding as described above, decoding unit 111 performs a primary transform information decoding process in Step S101. An example of the primary transform information decoding process flow will be described with reference to the flowchart in FIG. 13.
[00234] When the primary transform information decoding process is initiated, decoding unit 111 determines whether a component to be processed is a luminance or not (compID == COMPONENT_Y) in Step S111. In a case where the component is determined to be a luminance, the process proceeds to Step S112.
[00235] In Step S112, decoding unit 111 can decode the adaptive primary transform flag apt_flag [COMPONENT_Y] of luminance included in encoded data #1. In Step S113, decoding unit 111 can decode the primary transform identifier pt_idx[COMPONENT_Y] of luminance included in encoded data #1. When the process in Step S113 ends, the primary transform information decoding process ends.
[00236] Furthermore, in a case where the component to be processed is determined to be a chrominance (compID != COMPONENT_Y) in Step S111, the processes in Step S112 and Step S113 are omitted and the primary transform information decoding process terminates. That is, in the case of chrominance, the decoding of the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx are omitted. Therefore, an increase in the decoding load can be restrained. <Fluxo do processo de transformada inversa>
[00237] Next, an example of the inverse transform process flow performed in Step S103 of FIG. 12 will be described with Petition 870190056776, dated 06 / 19 / 2019, page 62 / 305 / 215, refers to the flowchart in FIG. 14. When the inverse transform process is initiated, switch 121 determines whether the transform jump flag ts_flag is 2D_TS (a two-dimensional transform jump mode) or the transform quantization bypass flag transquant_bypass_flag is 1 (true) in Step S121. In a case where it is determined that the transform jump identifier ts_idx is 2D_TS or the transform quantization deviation flag is 1 (true), the switch 121 produces the transform coefficient Coeff_IQ to the outside as predictive residue D' (provided to the arithmetic operation unit 114), the inverse transform process terminates and the process returns to FIG. 12.
[00238] Furthermore, in a case where it is determined that the transform jump identifier ts_idx is not 2D_TS (a different mode of two-dimensional transform jump) and the transform quantization deviation flag is 0 (false) in Step S121, switch 121 provides the transform coefficient Coeff_IQ for the inverse secondary transform unit 122, and the process proceeds to Step S122.
[00239] In Step S122, the inverse secondary transform unit 122 performs the inverse secondary transform on the input transform coefficient Coeff_IQ based on the secondary transform identifier st_idx, and derives and produces the transform coefficient Coeff_IS that underwent the inverse secondary transform.
[00240] In Step S123, the inverse primary transform selection unit 132 determines whether the color signal identifier compID indicates luminance or chrominance. In a case where the color signal identifier compID indicates chrominance (compID!=COMPONENT_Y), the process proceeds to Step S124. In Step S124, the primary transform information derivation unit 131 derives a Petition 870190056776, dated 06 / 19 / 2019, page 63 / 305 / 215 primary transform identifier pt_idx[compID] for a chrominance transform block based on the adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) of the chrominance transform block and the primary transform identifier pt_idx[COMPONENT_Y] for a luminance transform block corresponding to the chrominance transform block. When the S124 Step process finishes, the process proceeds to S125 Step.
[00241] Furthermore, in Step S123, in a case where the color signal identifier compID indicates luminance (compID==COMPONENT_Y), the process proceeds to Step S125.
[00242] In Step S125, the inverse primary transform selection unit 132 derives the inverse primary horizontal transform type TrTypeIdxH and the inverse primary vertical transform type TrTypeIdxV from the color signal specified by the color signal identifier compID with reference to the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID, and the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID.
[00243] In Step S126, the primary inverse vertical transform unit 133 performs the primary inverse vertical transform IPver defined by the transform type TrTypeIdxV of the primary inverse vertical transform and the height of the transform block engraving on the transform coefficient Coeff_IS that underwent the secondary inverse transform of the transform block for each transform block specified by the color signal identifier compID and produces the result as a transform coefficient Coeff_IPver that underwent the transform Petition 870190056776, dated 06 / 19 / 2019, page 64 / 305 / 215 primary inverse vertical.
[00244] In Step S127, the primary inverse horizontal transform unit 134 performs the primary inverse horizontal transform IPhor defined by the transform type TrTypeIdxH of the primary inverse horizontal transform and the height of the transform block engraving on the transform coefficient Coeff_IPver that passed through the primary inverse vertical transform of the transform block for each transform block specified by the color signal identifier compID and produces the result as predictive residual D'. When the process of Step S127 ends, the inverse transform process ends and the process returns to FIG. 12.
[00245] <Fluxo do processo de derivação de informações de transformada primária adaptativa de crominância>
[00246] Next, an example of the process flow for the adaptive primary transform information derivation of chrominance performed in Step S124 of FIG. 14 will be described with reference to the flowchart in FIG. 15. When the adaptive primary transform information derivation process of chrominance is initiated, the apt_flag 151 derivation unit of the adaptive primary transform information derivation unit of chrominance 131 sets a value of the adaptive primary transform flag apt_flag [COMPONENT_Y] for luminance to a value of the adaptive primary transform flag apt_flag[compID] for chrominance in Step S131.
[00247] In Step S132, the pt_idx 152 derivation unit of the chrominance adaptive primary transform information derivation unit 131 determines whether the chrominance adaptive primary transform flag apt_flag[compID] is true or not. When it is determined to be true, the process proceeds to Step S133. In Step S133, the pt_idx 152 derivation unit sets a value for the primary transform identifier pt_idx[COMPONENT_Y] of the Petition 870190056776, dated 06 / 19 / 2019, page 65 / 305 / 215 luminance for the primary transform identifier pt_idx[compID] of chrominance. When the S133 Step process finishes, the adaptive primary transform information derivation process from chrominance ends and the process returns to FIG. 14.
[00248] Furthermore, in a case where the adaptive primary transform flag apt_flag[compID] of chrominance is determined to be false in Step S132 of FIG. 15, the process proceeds to Step S134. In Step S134, the derivation unit pt_idx 152 sets a predetermined value for the chrominance primary transform identifier pt_idx[compID]. When the process in Step S134 finishes, the chrominance adaptive primary transform information derivation process ends and the process returns to FIG. 14. <Fluxo de processo de seleção de transformada primária inversa>
[00249] Next, an example of the inverse primary transform selection process flow performed in Step S125 of FIG. 14 will be described with reference to the flowchart in FIG. 16.
[00250] When the inverse primary transform selection process is initiated, the inverse primary transform selection unit 132 determines whether the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID is 1 (true) in Step S141. In a case where the adaptive primary transform flag apt_flag[compID] is determined to be 1 (true), the process proceeds to Step S142.
[00251] In Step S142, the inverse primary transform selection unit 132 selects a set of TrSetV transforms (set of primary horizontal transforms) from the inverse primary vertical transform and a set of TrSetH transforms (set of primary vertical transforms) from the inverse primary horizontal transform based on the prediction mode information PInfo. Petition 870190056776, dated 06 / 19 / 2019, page 66 / 305 / 215
[00252] In Step S143, the inverse primary transform selection unit 132 derives a primary horizontal transform specification flag pt_hor_flag and a primary vertical transform specification flag pt_ver_flag from the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID.
[00253] In Step S144, the inverse primary transform selection unit 132 selects the transform type TrTypeIdxH from an applied orthogonal transform as the inverse primary horizontal transform IPThor with reference to the set of primary horizontal transforms TrSetH and the primary horizontal transform specification flag pt_hor_flag.
[00254] In Step S145, the inverse primary transform selection unit 132 selects the transform type TrTypeIdxV from an applied orthogonal transform as the inverse primary vertical transform IPTver with reference to the set of primary vertical transforms TrSetV and the primary vertical transform specification flag pt_ver_flag. When the process in Step S145 ends, the inverse primary transform selection process ends and the process returns to FIG. 14.
[00255] Furthermore, in Step S141, in a case where it is determined that the adaptive primary transform flag apt_flag[compID] is 0 (false), the process proceeds to Step S146. In Step S146, the inverse primary transform selection unit 132 selects a predetermined orthogonal transform as the transform type TrTypeIdxH of the inverse primary horizontal transform IPThor (TrTypeIdxH = predetermined value).
[00256] In Step S147, the inverse primary transform selection unit 132 selects a predetermined orthogonal transform as the Petition 870190056776, dated 06 / 19 / 2019, page 67 / 305 / 215 type of transform TrTypeIdxV of the inverse primary vertical transform IPTver (TrTypeIdxV = predetermined value). When the process of Step S147 ends, the inverse primary transform selection process ends and the process returns to FIG. 14.
[00257] That is, the inverse primary transform selection unit 132 derives the transform type TrTypeIdxH from the inverse primary horizontal transform IPThor and the transform type TrTypeIdxV from the inverse primary vertical transform IPTver using the method according to the value of the adaptive primary transform flag apt_flag[compID] of the chrominance.
[00258] As described above, the inverse transform unit 113 included in the image decoding apparatus 100 can apply the selected inverse adaptive primary transform for luminance to the chrominance transform block in a case where a residual signal of a chrominance shows a similar trend to a residual signal of luminance. Therefore, the inverse primary transform process can be performed on the chrominance residual signal with improved coding efficiency than in the related technique. Furthermore, the amounts of encoding and decoding processing can be reduced, while mitigating the deterioration in coding efficiency for chrominance compared to the case where the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx are explicitly decoded for each of the luminance and chrominance. <Exemplo modificado 1>
[00259] It should be noted that the derivation of the adaptive primary transform flag from chrominance may be limited to a case where the prediction type is an inter-unit CU. For example, the adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) with respect to a block Petition 870190056776, of 06 / 19 / 2019, page 68 / 305 / 215 of chrominance transforms to be processed can be derived based on the adaptive primary transform flag apt_flag[COMPONENT_Y] in relation to a luminance transform block corresponding to the chrominance transform block and a CuPredMode prediction type of the CU (a coding unit) to which the chrominance transform block belongs, as illustrated in the following formula (18).
[00260] if ( CuPredMode == MODE_INTER ) { [00261 ] apt_flag [compID] = apt_flag [COMPONENT_Y]
[00262] } else {
[00263] apt_flag[compID] = 0
[00264] }
[00265] ... (18)
[00266] In a case where the CuPredMode prediction type of a CU to which the chrominance transform block belongs is interprediction (CuPredMode==MODE_INTER), for example, the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] of a luminance transform block corresponding to the chrominance transform block. Conversely, in a case where the CuPredMode prediction type of the CU to which the chrominance transform block belongs is not interprediction (but is intraprediction), the value of the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set to 0 (false).
[00267] An example of the process flow for deriving information from an adaptive primary chrominance transform in such a case will be described with reference to the flowchart in FIG. 17. The flowchart corresponds to the flowchart in FIG. 15. In this case, when the process of Petition 870190056776, dated 06 / 19 / 2019, page 69 / 305 / 215 When the derivation of information from the adaptive primary chrominance transform is initiated, the derivation unit apt_flag 151 determines whether the CUPredMode prediction type of a CU to which a block of transforms to be processed belongs is interprediction (MODE_INTER) or not in Step S151. In a case where the prediction type is determined to be interprediction, the process proceeds to Step S152.
[00268] In Step S152, the apt_flag 151 derivation unit sets a value of the adaptive primary transform flag apt_flag[COMPONENT_Y] for luminance to the value of the adaptive primary transform flag apt_flag[compID] for chrominance as in the case of Step S131 of FIG. 15. When the process of Step S152 finishes, the process proceeds to Step S154.
[00269] Furthermore, in a case where the CUPredMode prediction type of the CU to which the block of transforms to be processed belongs is determined to be intraprediction in Step S151, the process proceeds to Step S153. In Step S153, the apt_flag 151 derivation unit sets the chrominance adaptive primary transform flag apt_flag[compID] to 0 (false). When the Step S153 process finishes, the process proceeds to Step S154.
[00270] Each of the processes from Step S154 to Step S156 is executed similarly to each of the processes from Step S132 to Step S134 in FIG. 15. Thus, when the process in Step S155 or Step S156 finishes, the process of deriving adaptive primary chrominance transform information ends and the process returns to FIG. 14.
[00271] In the case where the prediction type is intraprediction, there may be a case where the intraprediction modes are different between luminance and chrominance. At that point, since the residual signals of luminance and chrominance show different trends, if the adaptive primary transform information of luminance is Petition 870190056776, dated 06 / 19 / 2019, page 70 / 305 / 215 applied to chrominance, there is a possibility of deterioration in coding efficiency. Therefore, when applying adaptive primary transform information from luminance to chrominance only in the case where the process of deriving adaptive primary transform information from chrominance is performed as illustrated in FIG. 17 and the prediction type is interprediction, a decrease in coding efficiency can be further restrained than in the case of FIG. 15.
[00272] <Exemplo modificado 2>
[00273] Furthermore, the derivation of the adaptive primary transform flag of chrominance can be limited to an inter CU or an intra CU and when an intraprediction mode of luminance is an intrablock copy (motion compensation on screen). For example, the adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) of a block of transforms of a chrominance to be processed can be set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] of a block of luminance transforms corresponding to the block of transforms of chrominance and on the prediction type CUPredMode of a CU (a coding unit) to which the block of transforms of chrominance belongs, and on the prediction mode information PInfo as illustrated in the following formula (19).
[00274] if ( CuPredMode == MODE_INTER ) {
[00275] apt_flag[compID] = apt_flag[COMPONENT_Y]
[00276] } else if (IntraPredModeC == “IntraBC”) { / / CuPredMODE == MODE_INTRA
[00277] apt_flag[compID] = apt_flag[COMPONENT_Y]
[00278] } else {
[00279] apt_flag[compID] = 0
[00280] } Petition 870190056776, dated 06 / 19 / 2019, page 71 / 305 / 215
[00281] ... (19)
[00282] That is, in a case where the CU prediction type CUPredMode of the CU to which the chrominance transform block belongs is interprediction, or a case where the CU prediction type is intraprediction and the chrominance intraprediction mode IntraPredModeC is intrablock copy (IntraBC), the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] with respect to the luminance transform block corresponding to the chrominance transform block. On the other hand, in other cases (a case in which the CU CUPredMode prediction type is intraprediction and the IntraPredModeC intraprediction mode is not intrablock copy), the value of the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set to 0 (false).It should be noted that, in a case where luminance and chrominance information are included in the same CU, instead of the IntraPredModeC intraprediction mode of chrominance, the conditional determination can be performed using the IntraPredModeY intraprediction mode of luminance in the formula described above (19).
[00283] An example of the process flow for deriving information from an adaptive chrominance primary transform in such a case will be described with reference to the flowchart in FIG. 18. The flowchart corresponds to the flowchart in FIG. 15. In this case, when the process for deriving information from an adaptive chrominance primary transform is initiated, the derivation unit apt_flag 151 determines whether the prediction type CUPredMode of a CU to which a block of transforms to be processed belongs is interprediction (MODE_INTER) or not in Step S171. In a case where the prediction type is determined to be intraprediction, the process proceeds to Step S172. Petition 870190056776, dated 06 / 19 / 2019, page 72 / 305 / 215
[00284] In Step S172, the derivation unit of apt_flag 151 determines whether the intraprediction mode IntraPredModeC of the chrominance is intrablock copy (IntraBC) or not. If the mode is determined to be intrablock copy (IntraBC), the process proceeds to Step S173. Additionally, if the prediction type CUPredMode of the CU to which the block of transforms to be processed belongs is determined to be interprediction (MODE_INTER) in Step S171, the process proceeds to Step S173.
[00285] In Step S173, the derivation unit of apt_flag 151 sets a value of the adaptive primary transform flag apt_flag[COMPONENT_Y] for luminance to the value of the adaptive primary transform flag apt_flag[compID] for chrominance as in the case of Step S131 of FIG. 15. When the process of Step S173 finishes, the process proceeds to Step S175.
[00286] Furthermore, in a case where the IntraPredModeC intraprediction mode of chrominance is determined to be non-intrablock copy (IntraBC) in Step S172, the process proceeds to Step S174. In Step S174, the apt_flag 151 derivation unit sets the value of the apt_flag[compID] adaptive primary transform flag of chrominance to 0 (false). When the Step S174 process finishes, the process proceeds to Step S175.
[00287] Each of the processes from Step S175 to Step S177 is executed similarly to each of the processes from Step S132 to Step S134 in FIG. 15. Thus, when the process in Step S176 or Step S177 finishes, the process of deriving adaptive primary chrominance transform information ends and the process returns to FIG. 14.
[00288] In the case where the prediction type is intraprediction and the intraprediction mode IntraPredMode is intrablock copy, the trends of the luminance residual and the chrominance residual are similar, as in the case of Petition 870190056776, dated 06 / 19 / 2019, page 73 / 305 / 215 intraprediction. Therefore, since the adaptive primary luminance transform can be applied to chrominance in the case where the prediction type is intraprediction and the intraprediction mode IntraPredMode is IntraBC, the coding efficiency can be improved compared to the<Exemplo modificado 1> . <Exemplo modificado 3>
[00289] Furthermore, the derivation of the adaptive primary transform signal of chrominance can be limited to an inter-CU or an intra-CU and when an intraprediction mode of luminance is equivalent to an intraprediction mode of chrominance. For example, the adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) of a chrominance transform block to be processed can be set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] with respect to a luminance transform block corresponding to the chrominance transform block, the CU prediction type CUPredMode (a coding unit) to which the chrominance transform block belongs, the CU luminance intraprediction mode IntraPredModeY, and the CU chrominance intraprediction mode IntraPredModeC as illustrated in the following formula (20).
[00290] if ( CuPredMode == MODE_INTER ) { [00291 ] apt_flag [compID] = apt_flag [COMPONENT_Y]
[00292] } else if (IntraPredModeY == IntraPredModeC) { / / CuPredMode==MODE_INTRA
[00293] apt_flag[compID] = apt_flag[COMPONENT_Y]
[00294] } else {
[00295] apt_flag[compID] = 0
[00296] }
[00297] ... (20) Petição 870190056776, de 19 / 06 / 2019, pág. 74 / 305 / 215
[00298] That is, in a case where the CU prediction type CUPredMode to which the chrominance transform block is interprediction, or the CU prediction type is intraprediction and the chrominance intraprediction mode IntraPredModeC is equal to the luminance intraprediction mode IntraPredModeY, the adaptive primary transform flag apt_flag[compID] of the chrominance transform block is set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] with respect to the luminance transform block corresponding to the chrominance transform block. On the other hand, in other cases (a case in which the CU CUPredMode prediction type is intraprediction and the chrominance intraprediction mode is different from the luminance intraprediction mode), the value of the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set to 0 (false).
[00299] An example of the process flow for deriving information from an adaptive chrominance primary transform in such a case will be described with reference to the flowchart in FIG. 19. The flowchart corresponds to the flowchart in FIG. 15. In this case, when the process for deriving information from an adaptive chrominance primary transform is initiated, the derivation unit apt_flag 151 determines whether the prediction type CUPredMode of a CU to which a block of transforms to be processed belongs is interprediction (MODE_INTER) or not in Step S181. In a case where the prediction type is determined to be intraprediction, the process proceeds to Step S182.
[00300] In Step S182, the derivation unit of apt_flag 151 determines whether the intraprediction mode IntraPredModeC of chrominance is equal to the intraprediction mode IntraPredModeY of luminance. If the modes are equal, the process proceeds to Step S183. Furthermore, the intraprediction mode IntraPredModeC of chrominance is Petition 870190056776, dated 06 / 19 / 2019, page 75 / 305 / 215, determined as not being equal to the IntraPredModeY intraprediction mode of luminance in Step S182, the process proceeds to Step S184.
[00301] Each of the processes from Step S183 to Step S187 is executed similarly to each of the processes from Step S173 to Step S177 in FIG. 18. Thus, when the process in Step S186 or Step S187 finishes, the process of deriving adaptive primary chrominance transform information ends and the process returns to FIG. 14.
[00302] In the case where the CU prediction type is intraprediction, i.e., luminance and chrominance have the same intraprediction mode, the residual signals of luminance and chrominance have similar trends. Thus, by applying the information from the adaptive primary luminance transform to chrominance only in the case where the intraprediction mode of luminance has the same value as the intraprediction mode of chrominance, the adaptive primary luminance transform can be applied to chrominance in the case where the prediction type is intraprediction and the intraprediction mode of luminance has the same value as the intraprediction mode of chrominance, and thus the coding efficiency can be further improved than in the case of<Exemplo modificado 1> . <Exemplo modificado 4>
[00303] In addition, a flag indicating whether or not the information relating to an adaptive primary transform of a chrominance is defined based on an adaptive primary transform of luminance can be added, and the configuration of the information relating to the adaptive primary transform of chrominance can be controlled using the flag. For example, the adaptive primary transform flag apt_flag[compID] (compID=COMPONET_Cb or COMPONENT_Cr) in relation to a block of chrominance transforms to be processed can be set based on an information inference flag. Petition 870190056776, dated 06 / 19 / 2019, page 76 / 305 / 215 of adaptive primary chrominance transform chroma_apt_infer_flag indicating whether or not to perform the configuration (inference) using information from a luminance transform block corresponding to the chrominance transform block and an adaptive primary transform flag apt_flag[COMPONENT_Y] in relation to the luminance transform block corresponding to the chrominance transform block as illustrated in the following formula (21).
[00304] if ( chroma_apt_info_infer_flag [compID] ) {
[00305] apt_flag [compID] = apt_flag[COMPONENT_Y] : 0
[00306] } else {
[00307] apt_flag[compID] = 0
[00308] }
[00309] ... (21)
[00310] That is, in a case where the chrominance adaptive primary transform information inference flag chroma_apt_info_infer_flag[compID] is 1 (true), the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] with respect to the luminance transform block of the chrominance transform block. On the other hand, in other cases (a case where the chrominance adaptive primary transform information inference flag chroma_apt_info_infer_flag[compID] is 0 (false)), the value of the adaptive primary transform flag apt_flag[compID] with respect to the chrominance transform block is set to 0 (false).
[00311] An example of TU syntax in this case is illustrated in A of FIG. 20. The semantics of each parameter are as illustrated in B of FIG. 20. In addition, an example of residual encoding syntax included in the syntax of A of FIG. 20 is illustrated in FIG. 21. The inference flag Petition 870190056776, dated 06 / 19 / 2019, page 77 / 305 / 215, regarding adaptive primary chrominance transform information chroma_apt_info_infer_flag, is decoded by decoding unit 111 according to the syntax table shown in FIG. 21.
[00312] That is, in a case where a color signal identifier compID indicates a chrominance, the primary adaptive transform flag apt_flag [COMPONENT_Y] of luminance is 1 (true), the transform jump flag ts_flag[compID] of the color signal corresponding to the color signal identifier compID is 0 (false), and the transform quantization shift flag is 0 (false), the primary adaptive transform information inference flag of chrominance chroma_apt_info_infer_flag is decoded. In a case of other conditions, the value of the primary adaptive transform information inference flag of chrominance chroma_apt_info_infer_flag is inferred to be 0.
[00313] Decoding unit 111 performs this decoding in Step S101 of FIG. 12 by executing the adaptive primary chrominance transform information inference signal decoding process. An example of the flow of the adaptive primary chrominance transform information inference signal decoding process will be described with reference to the flowchart in FIG. 22.
[00314] When the process of decoding the adaptive primary transform information inference flag for chrominance is initiated, decoding unit 111 determines whether the color signal identifier compID is luminance in Step S191. In a case where the color signal identifier compID is determined to be chrominance (compID != COMPONENT_Y), the process proceeds to Step S192. In Step S192, decoding unit 111 determines whether the adaptive primary transform flag apt_flag [COMPONENT_Y] for luminance is 1 (true). In the case where the transform flag Petition 870190056776, dated 06 / 19 / 2019, page 78 / 305 / 215 primary adaptive apt_flag [COMPONENT_Y] luminance is determined to be 1 (true), the process proceeds to Step S193.
[00315] In Step S193, decoding unit 111 determines whether the transform quantization bypass flag transquant_bypass_flag is 1 (true). In a case where the transform quantization bypass flag is determined to be 0 (false) (! transquant_bypass_flag), the process proceeds to Step S194. In Step S194, decoding unit 111 determines whether the transform bypass flag ts_flag[compID] of the color signal corresponding to the color signal identifier compID is 1 (true). In a case where the transform bypass flag ts_flag[compID] is determined to be 0 (false) (! ts_flag[compID]), the process proceeds to Step S195.
[00316] In Step S195, decoding unit 111 decodes the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag[compID] corresponding to the color signal identifier compID of a bit string of the encoded data 1 and produces the result as part of the Tinfo transform information. When the process in Step S195 finishes, the adaptive primary chrominance transform information inference flag decoding process ends and the process returns to FIG. 12.
[00317] Furthermore, in a case where the color signal identifier compID is luminance (compID==COMPONENT_Y) in Step S191, the process proceeds to Step S196. Additionally, in a case where the adaptive primary transform flag apt_flag[COMPONENT_Y] of luminance is determined to be 0 (false) in Step S192 (!apt_flag[COMPONENT_Y]), the process proceeds to Step S196. Furthermore, in a case where the transform quantization bypass flag is determined to be 1 (true) (transquant_bypass_flag) in Step S193, the process proceeds to Step S196. Additionally, in a case Petition 870190056776, dated 06 / 19 / 2019, page 79 / 305 / 215 in which the transform jump flag ts_flag[compID] is 1 (true) (ts_flag[compID]) in Step S194, the process proceeds to Step S196.
[00318] In Step S196, decoding unit 111 omits decoding the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag[compID] corresponding to the color signal identifier compID and sets the flag value to 0 (false) (chroma_apt_info_infer_flag[compID] = 0). When the Step S196 process finishes, the adaptive primary chrominance transform information inference flag decoding process ends and the process returns to FIG. 12.
[00319] The adaptive primary chrominance transform information derivation unit 131 performs the adaptive primary chrominance transform information derivation process using the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag[compID] decoded or set as described above. An example of the adaptive primary chrominance transform information derivation process flow will be described with reference to the flowchart in FIG. 23. This flowchart corresponds to the flowchart in FIG. 15. In this case, when the adaptive primary chrominance transform information derivation process is initiated, the apt_flag 151 derivation unit determines whether the value of the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag[compID] is true in Step S201.In a case where it is determined to be true, the process proceeds to Step S202. Additionally, in a case where the value of the adaptive chrominance primary transform information inference flag chroma_apt_info_infer_flag[compID] is determined to be false in Step S201, the process proceeds to Step 202. Petition 870190056776, dated 06 / 19 / 2019, page 80 / 305 / 215 S203.
[00320] Each of the processes from Step S202 to Step S206 is executed similarly to each of the processes from Step S183 to Step S187 of FIG. 19. Thus, when the process of Step S205 or Step S206 ends, the process of deriving adaptive primary chrominance transform information ends and the process returns to FIG. 14.
[00321] Whether or not adaptive primary transform information should be applied to a chrominance can be explicitly controlled based on the inference flag of adaptive primary transform information of chrominance in relation to signals showing difference trends in luminance residual and chrominance residual. Therefore, the adaptive primary transform can be applied to chrominance more efficiently than in the case of FIG. 15, and thus the coding efficiency can be improved. <Exemplo modificado 5>
[00322] Furthermore, the derivation of the adaptive primary transform flag of a chrominance can be limited to a case where the size of a short side of a chrominance transform block is greater than or equal to a predetermined threshold value. For example, the adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) with respect to a chrominance transform block to be processed can be set based on the adaptive primary transform flag apt_flag[COMPONENT_Y] with respect to a luminance transform block corresponding to the chrominance transform block and the size of the short side of the chrominance transform block as illustrated in the following formula (22).
[00323] if ( min (log2TBWSize, log2TBHSize) >= TH ) {
[00324] apt_flag[compID] = apt_flag[COMPONENT_Y] Petition 870190056776, dated 06 / 19 / 2019, page 81 / 305 / 215
[00325] } else {
[00326] apt_flag[compID] = 0
[00327] }
[00328] ... (22)
[00329] That is, in a case where the size of the short side of the chrominance transform block is greater than or equal to the threshold value (min (log2TBWSize, log2TBHSize) >=TH), the primary adaptive transform flag apt_flag[compID] with respect to the chrominance transform block is set based on the primary adaptive transform flag apt_flag[COMPONENT_Y] with respect to the luminance transform block corresponding to the chrominance transform block. On the other hand, in other cases (a case where the size of the short side of the chrominance transform block is less than the threshold value), the value of the primary adaptive transform flag apt_flag[compID] with respect to the chrominance transform block is set to 0 (false).
[00330] An example of the process flow for deriving information from the adaptive primary chrominance transform in this case will be described with reference to the flowchart in FIG. 24. This flowchart corresponds to the flowchart in FIG. 15. In this case, when the process for deriving information from the adaptive primary chrominance transform is initiated, the derivation unit apt_flag 151 determines whether the size of a short side of a block of transforms to be processed (min (log2TBWSize, log2TBHSize)) is greater than or equal to a predetermined threshold value TH in Step S211. In a case where the size of the short side of the block of transforms to be processed is determined to be greater than or equal to the predetermined threshold value (min (log2TBWSize, log2TBHSize) >= TH), the process proceeds to Step S212. Furthermore, in a case where the size of the short side of the block of transforms to be processed is greater than or equal to the predetermined threshold value (min (log2TBWSize, log2TBHSize) >= TH), the process proceeds to Step S212. Petition 870190056776, dated 06 / 19 / 2019, page 82 / 305 / 215 processed is determined to be less than the predetermined limit value (min (log2TBWSize, log2TBHSize) < TH) in Step S211, the process proceeds to Step S213.
[00331] Each of the processes from Step S212 to Step S216 is executed similarly to each of the processes from Step S202 to Step S206 of FIG. 23. Thus, when the process of Step S215 or Step S216 ends, the process of deriving adaptive primary chrominance transform information ends and the process returns to FIG. 14.
[00332] In the case where the size of the short side of the chrominance transform block is smaller than the predetermined value (e.g., 4), even if an adaptive primary transform of DST7 / DST-1 / DCT-5 / DCT-8 or similar for a size equal to the size of the short side is applied to the short side, the range of improvement in coding efficiency is small.For this reason, by not applying the adaptive primary transform in a case where the size of the short side of the chrominance transform block is smaller than the predetermined value, a circuit scale relative to the transform used in the adaptive primary transform to a size smaller than the predetermined value can be reduced while mitigating a decrease in coding efficiency. <Exemplo modificado 6>
[00333] In addition, it is possible to select the transform type of the primary horizontal inverse transform IPhor and the primary vertical inverse transform IPver using the engraving height and engraving width sizes of a transform block of a chrominance. For example, although it has been described above that the primary inverse transform selection unit 132 determines the type of an orthogonal transform to be applied to an inverse transform of each direction based on the transform set and transform type matching table (LUT_TrSetToTrTypeIdx) shown in FIG. 1, a transform set Petition 870190056776, dated 06 / 19 / 2019, page 83 / 305 / 215 {horizontal, vertical} primary TrSet{H,V}, and a primary {horizontal, vertical} transform specification flag pt_{hor,ver}_flag, the technology is not limited to this. For example, in the case of a block of transforms of a chrominance, the type of transform of each direction can be further determined with reference to the size of the chrominance block of transforms.
[00334] In a case where the width of the chrominance transform block engraving (here, a logarithmic value of the engraving width log2TBWSize) is equal to or less than a limit value TH in Step S144 of FIG. 16 as illustrated in the following formula (23), for example, the transform type TrTypeIdxH of the primary (inverse) horizontal transform can be set to a predetermined transform type (DCT-2), and in other cases, the transform type TrTypeIdxH of the primary (inverse) horizontal transform can be set based on the horizontal transform set TrSetH and the primary horizontal transform specification flag pt_hor_flag. It should be noted that, in formula (23), a specific example of the limit value TH can be defined as, for example, 1 or 2. It should be noted that, in formula (23), the logarithmic value log2TBWSize of the block engraving width of the transforms can be replaced by an engraving width TBW.In this case, a threshold value TH' is defined as 1< <TH.
[00335] if (compID==COMPONENT_Y ) {
[00336] TrTypeIdxH = LUT_TrSetToTrTypeIdx[ TrSetH ][ pt_hor_flag ]
[00337] } else if (log2TBWSize<=TH) {
[00338] TrTypeIdxH = default value (defined as the transform type value indicating DCT-II)
[00339] } else {
[00340] TrTypeIdxH = LUT_TrSetToTrTypeIdx[ TrSetH ][ Petition 870190056776, dated 06 / 19 / 2019, page 84 / 305 / 215 pt_hor_flag ]
[00341] }
[00342] ... (23)
[00343] An example of the flow of the primary horizontal transform type derivation process performed in Step S144 of FIG. 16 as described above will be described with reference to the flowchart in FIG. 25. When the primary horizontal transform type derivation process is initiated, the inverse primary transform selection unit 132 determines whether or not the processing object is a luminance transform block in Step S221. In a case where the processing object is determined to be a chrominance transform block, the process proceeds to Step S222. In Step S222, the inverse primary transform selection unit 132 determines whether the engraving width of the chrominance transform block (the logarithmic value log2TBWSize of the engraving width) is equal to or less than the threshold value TH.In a case where the width of the chrominance transform block engraving is determined to be greater than the predetermined limit value (log2TBWSize > TH), the process proceeds to Step S223. Additionally, in a case where the processing object is determined to be a luminance transform block in Step S221, the process proceeds to Step S223.
[00344] In Step S223, the inverse primary transform selection unit 132 defines the transform type TrTypeldxH of the primary (inverse) horizontal transform based on the transform set and transform type matching table (LUT_TrSetToTrTypeIdx) shown in FIG. 1, the primary horizontal transform set TrSetH, and the primary horizontal transform specification flag pt_hor_flag. When the Step S223 process ends, the chrominance primary horizontal transform type derivation process ends. Petition 870190056776, dated 06 / 19 / 2019, page 85 / 305 / 215 and the process returns to FIG. 16.
[00345] Furthermore, in a case where the width of the chrominance transform block engraving is determined to be equal to or less than the predetermined limit value (log2TBWSize <= TH) in Step S222, the process proceeds to Step S224. In Step S224, the inverse primary transform selection unit 132 sets the transform type TrTypeIdxH of the primary (inverse) horizontal transform to a predetermined value. When the Step S224 process ends, the chrominance primary horizontal transform type derivation process ends and the process returns to FIG. 16.
[00346] The same also applies to the vertical direction. In a case where the height of the chrominance transform block engraving (here, a logarithmic value of the engraving height log2TBHSize) is equal to or less than the limit value TH in Step S145 of FIG. 16 as illustrated in the following formula (24), for example, the default transform type (DCT-2) can be defined as the primary (inverse) vertical transform type TrTypeIdxV and, in other cases, the primary (inverse) vertical transform type TrTypeIdxV can be defined based on the vertical transform set identifier TrSetV and the primary vertical transform specification flag pt_ver_flag. It should be noted that, in formula (24), a specific instance of the limit value TH can be defined as, for example, 1 or 2.Furthermore, in formula (24), the logarithmic value log2TBHSize of the engraving height of the transform block can be replaced by an engraving height TBH. In this case, a limit value TH' is defined as 1< <TH.
[00347] if (compID==COMPONENT_Y ) {
[00348] TrTypeIdxV = LUT_TrSetToTrTypeIdx[ TrSetV ][ pt_ver_flag ]
[00349] } else if (log2TBHSize<=TH) { Petition 870190056776, dated 06 / 19 / 2019, page 86 / 305 / 215
[00350] TrTypeldxV = default value (a transform type value indicating DCT-II is defined)
[00351] } else {
[00352] TrTypeIdxV = LUT_TrSetToTrTypeIdx[ TrSetV ][ pt_ver_flag ]
[00353] }
[00354] ... (24)
[00355] An example of the primary vertical transform type derivation process flow performed in Step S145 of FIG. 16 as described above will be described with reference to the flowchart in FIG. 26. When the primary vertical transform type derivation process is initiated, the inverse primary transform selection unit 132 determines whether or not the processing object is a luminance transform block in Step S231. In a case where the processing object is determined to be a chrominance transform block, the process proceeds to Step S232. In Step S232, the inverse primary transform selection unit 132 determines whether the height of the chrominance transform block engraving (the logarithmic value log2TBHSize of the engraving height) is equal to or less than the threshold value TH.In a case where the height of the chrominance transform block engraving is determined to be greater than the predetermined threshold value (log2TBHSize > TH), the process proceeds to Step S233. Additionally, in a case where the processing object is determined to be a luminance transform block in Step S231, the process proceeds to Step S233.
[00356] In Step S233, the primary inverse transform selection unit 132 defines the transform type TrTypeIdxV of the primary (inverse) vertical transform based on the transform set and transform type matching table (LUT_TrSetToTrTypeIdx) Petition 870190056776, dated 06 / 19 / 2019, page 87 / 305 / 215 shown in FIG. 1, the set of primary vertical transforms TrSetV and the primary vertical transform specification flag pt_ver_flag. When the S233 Step process ends, the chrominance primary vertical transform type derivation process ends and the process returns to FIG. 16.
[00357] Furthermore, in a case where the width of the chrominance transform block engraving is determined to be equal to or less than the predetermined limit value (log2TBHSize <= TH) in Step S232, the process proceeds to Step S234. In Step S234, the inverse primary transform selection unit 132 sets the transform type TrTypeIdxV of the primary (inverse) vertical transform to a predetermined value. When the Step S234 process finishes, the chrominance primary vertical transform type derivation process ends and the process returns to FIG. 16.
[00358] In a case where the engraving width (engraving height) of the chrominance transform block is less than the predetermined value (e.g., 4), there is a small difference in encoding efficiency between DST-7 / DST-1 / DCT-5 / DCT-8 and DCT-2 as a primary (inverse) horizontal (vertical) transform. Therefore, when selecting a predetermined orthogonal transform (DCT-2) as a primary (inverse) horizontal (vertical) transform in the case where the engraving width (engraving height) of the chrominance transform block is less than the predetermined value (e.g., 4), a circuit scale relative to the orthogonal transform used in the adaptive primary transform to a size smaller than the predetermined value can be reduced. <3. Second option>
[00359] <ts_flag>
[00360] It should be noted that, although the examples of the flag of Petition 870190056776, dated 06 / 19 / 2019, page 88 / 305 / 215 Although the adaptive primary transform apt_flag and the primary transform identifier pt_idx have been described as information pertaining to the orthogonal (inverse) transform in the first embodiment, details of the information about the orthogonal (inverse) transform are arbitrary and not limited to the parameters. For example, a transform skip flag ts_flag indicating whether the orthogonal (inverse) transform process should be skipped can be included as illustrated in the table in FIG. 6. By deriving each of a ts_flag[Cb] transform jump flag from a chrominance (Cb) and a ts_flag[Cr] transform jump flag from a chrominance (Cr) transform jump flag based on a ts_flag[Y] transform jump flag from a luminance, for example, an increase in the overhead of the amount of code from the chrominance-flagged syntax (Cb / Cr) can also be restrained.
[00361] The description of the flag will be provided further with reference to the table in FIG. 27. In the related technique, a ts_flag transform jump flag of a chrominance is transmitted (signaled) from an encoding side to a decoding side, as indicated in line no. 0. If the ts_flag transform jump flags not only of luminance but also of a chrominance are explained encoded as described above, there is concern about the increased amount of code and the deterioration of encoding efficiency. In this case, the encoding side must also perform the settings and encoding of the ts_flag transform jump flag for each of the signals (Y, Cb, and Cr), and therefore there is also concern about the increased amount of processing.Furthermore, the decoding side must decode the ts_flag transform jump flag for each of the signals (Y, Cb, and Cr), and therefore there is a concern about increasing the amount of processing.
[00362] Thus, the ts_flag transform jump flag of a Petition 870190056776, dated 06 / 19 / 2019, page 89 / 305 / 215 chrominance is inferred from the luminance transform hopping flag ts_flag at all times, for example, as indicated in line no. 1. For example, a value of the transform hopping flag ts_flag[compID] of a chrominance can be set to a value of the transform hopping flag ts_flag[COMPONENT_Y] of luminance. In this way, the transmission (encoding and decoding) of the transform hopping flag ts_flag of the chrominance can be omitted, and thus the deterioration in encoding efficiency can be curbed. In addition, an increase in encoding and decoding load can also be curbed.
[00363] Furthermore, in a case where the prediction type of a coding block to which a block of transforms to be processed belongs is interprediction, for example, as indicated in line 2, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], and in a case where the coding block prediction type is intraprediction, the chrominance transform jump flag ts_flag[compID] can be flagged (that is, the chrominance transform jump flag ts_flag[compID] can be decoded from encoded data). In this way, the value of the ts_flag transform jump flag for luminance can only be used in one case of the interprediction mode in which the residual signals show similar trends, and thus the deterioration in coding efficiency can be further mitigated.
[00364] Furthermore, in a case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction, for example, as indicated in line 3, or intraprediction where the prediction modes for luminance and chrominance correspond to each other, the value of the transform jump flag ts_flag[compID] Petition 870190056776, dated 06 / 19 / 2019, page 90 / 305 / 215, states that the chrominance transform jump flag can be defined as the value of the luminance transform jump flag ts_flag[COMPONENT_Y], and in a case where the coding block prediction type is intraprediction, in which the prediction modes for luminance and chrominance do not match each other, the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the encoded data). In this way, the value of the luminance transform jump flag ts_flag can only be used in the case of the prediction mode in which the residual signals show similar trends, and thus the deterioration in coding efficiency can be further mitigated.
[00365] Furthermore, in a case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction, for example, as indicated in line 4, or intraprediction where the prediction mode is intrablock copy, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], and in a case where the prediction type of the coding block is intraprediction where the prediction mode is not intrablock copy, the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the encoded data).In this way, the value of the ts_flag transform jump flag for luminance can only be used in the case of the prediction mode in which the residual signals show similar trends, and thus the deterioration in coding efficiency can be further mitigated.
[00366] Furthermore, in a case where the chrominance transform jump information inference flag chroma_ts_info_infer_flag indicates whether the jump flag of Petition 870190056776, dated 06 / 19 / 2019, page. 91 / 305 / 215 chrominance transform ts_flag[compID] must be inferred based on luminance transform jump flag ts_flag[COMPONENT_Y] being 1 (true), for example, as indicated in line 5, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], and in a case where the chrominance transform jump information inference flag chroma_ts_info_infer_flag is 0 (false), the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the encoded data).In this way, it is possible to explicitly control whether or not the luminance transform jump flag value should be used using the chrominance transform jump information inference flag chroma_ts_info_infer_flag. Therefore, it is easy to make the luminance transform jump flag value be used only in a case where a sufficiently large effect can be obtained, and thus the deterioration in encoding efficiency can be further restrained.
[00367] It should be noted that each of the cases described above can be arbitrarily combined in a similar way to the case in FIG. 7. In this way, the effects obtained in each of the cases can be displayed. Furthermore, each of the cases described above can also be combined with other cases that are not described above. <Exemplo básico 1>
[00368] The chrominance transform jump flag ts_flag can be inferred from the luminance transform jump flag ts_flag at all times as described with reference to line 1 of FIG. 27. An example of residual_coding syntax for this case is illustrated. Petition 870190056776, dated 06 / 19 / 2019, page 92 / 305 / 215 in FIG. 28. In this case, “compID == COMPONENT_Y” is included in the condition to signal the ts_flag transform jump flag as illustrated in FIG. 28. In other words, in the case of chrominance (compID != COMPONENT_Y), the configuration is executed using the luminance transform jump flag without signaling the ts_flag transform jump flag.
[00369] In this case, decoding unit 111 sets the chrominance transform jump flag ts_flag[compID], executing a transform jump flag derivation process. An example of the transform jump flag derivation process flow will be described with reference to the flowchart in FIG. 29.
[00370] When the transform-leap flag derivation process is initiated, decoding unit 111 determines whether the transform-leap flag enabled flag ts_enabled_flag is true in Step S241. If the transform-leap flag enabled flag ts_enabled_flag is determined to be true, the process proceeds to Step S242. In Step S242, decoding unit 111 determines whether the transform-bypass quantization bypass enabled flag transquant_bypass_enabled_flag is false. If the transform-bypass quantization bypass enabled flag transquant_bypass_enabled_flag is false, the process proceeds to Step S243. In Step S243, decoding unit 111 determines whether the size of the transform block to be processed is equal to or less than a maximum transform jump block size.In a case where the size is determined to be equal to or less than the maximum size of the transform jump block, the process proceeds to Step S244.
[00371] In Step S244, decoding unit 111 determines whether or not the processing object is a chrominance (compID != COMPONENT_Y). In a case where the processing object is Petition 870190056776, dated 06 / 19 / 2019, page 93 / 305 / 215, determined as a chrominance (compID != COMPONENT_Y), the process proceeds to Step S245. In Step S245, decoding unit 111 sets a value of the luminance transform jump flag ts_flag[COMPONENT_Y] to a value of the chrominance transform jump flag ts_flag[compID]. When the Step S245 process finishes, the transform jump flag derivation process ends.
[00372] Furthermore, in a case where the processing object is determined to be luminance (compID == COMPONENT_Y) in Step S244, the process proceeds to Step S246. Once the luminance transform jump flag ts_flag[compID] is signaled, decoding unit 111 decodes the encoded data and thus obtains the luminance transform jump flag ts_flag[compID] in Step S246. When the Step S246 process finishes, the transform jump flag derivation process ends.
[00373] Note that in a case where the ts_enabled_flag transform bypass flag is determined to be false in Step S241, a case where the transquant_bypass_enabled_flag transform bypass flag is determined to be true in Step S242, or a case where the transform block size of the processing object is determined to be greater than the maximum transform bypass block size in Step S243, the transform bypass flag bypass process terminates.
[00374] In this way, the transmission (encoding and decoding) of the ts_flag transform jump signal of chrominance can be omitted, and thus the deterioration in encoding efficiency can be restrained. In addition, an increase in encoding and decoding load can be restrained.
[00375] <Exemplo modificado 1> Petition 870190056776, dated 06 / 19 / 2019, page 94 / 305 / 215
[00376] As described with reference to line 2 of FIG. 27, in the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction, the value of the transform jump flag ts_flag[compID] of chrominance can be set to the value of the transform jump flag ts_flag[COMPONENT_Y] of luminance, and in the case where the prediction type of the coding block is intraprediction, the transform jump flag ts_flag[compID] of chrominance can be flagged (i.e., the transform jump flag ts_flag[compID] of chrominance can be decoded from the encoded data).
[00377] An example of residual_coding syntax for this case is illustrated in FIG. 30. In this case, “&& (CuPreMode == MODE_INTRA || CuPreMode == MODE_INTER && compID == COMPONENT_Y)” is included in the condition to signal the ts_flag transform jump flag as illustrated in FIG. 30. That is, even if the prediction mode is intraprediction or the prediction mode is interprediction, the ts_flag transform jump flag is signaled in the case of luminance. In other words, the ts_flag transform jump flag is not signaled only in the case where the prediction mode for chrominance is interprediction. That is, in this case, the ts_flag transform jump flag is set using the ts_flag transform jump flag for luminance.
[00378] An example of the transform jump signal derivation process flow for this case will be described with reference to the flowchart in FIG. 31. Each of the processes from Step S251 to Step S254 is executed similarly to each of the processes from Step S241 to Step S244 in FIG. 29.
[00379] In Step S255, decoding unit 111 additionally determines whether the prediction mode is interprediction or not. In one case Petition 870190056776, dated 06 / 19 / 2019, page 95 / 305 / 215, in which the prediction mode is determined as interprediction (CuPredMode == MODE_INTER), the process proceeds to Step S256. Furthermore, in a case where the prediction mode is determined as intraprediction (CuPredMode == MODE_INTRA), the process proceeds to Step S257.
[00380] The process in Step S256 is executed similarly to the process in Step S245 of FIG. 29. That is, decoding unit 111 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y]. When the S256 Step process finishes, the transform jump signal derivation process ends.
[00381] Furthermore, the process in Step S257 is executed similarly to the process in Step S246 of FIG. 29. That is, decoding unit 111 decodes the encoded data and thus obtains the signaled transform jump flag ts_flag[compID]. When the process in Step S257 finishes, the transform jump flag derivation process finishes.
[00382] In this way, the transmission (encoding and decoding) of the chrominance ts_flag transform hopping flag can be omitted by using the luminance ts_flag transform hopping flag value only in the case of the interprediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in encoding efficiency can be mitigated. In addition, an increase in encoding and decoding load can also be mitigated. <Exemplo modificado 2>
[00383] In the case where the prediction type of the coding block to which the block of transforms to be processed belongs is interprediction as described with reference to line 3 of FIG. 27, or intraprediction where the prediction modes for luminance and chrominance correspond to a Petition 870190056776, dated 06 / 19 / 2019, page 96 / 305 / 215 to the other, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], in the case where the coding block prediction type is intraprediction in which the prediction modes for luminance and chrominance do not match each other, the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the encoded data).
[00384] An example of residual_coding syntax in this case is illustrated in FIG. 32. As illustrated in FIG. 32, “&& (CuPreMode == MODE_INTRA && compID == COMPONENT_Y || CuPreMode == MODE_INTRA && compID != COMPONENT_Y && IntraPredModeY != IntraPredModeC CuPredMode == MODE_INTER && compID == COMPONENT_Y)” is included in the condition to signal the ts_flag transform jump flag in this case. That is, regardless of whether the flag is luminance or chrominance, the ts_flag transform jump flag is signaled in the case where the prediction type is intraprediction in which the luminance and chrominance prediction modes do not match each other. In other words, only in a case where the prediction type is interprediction for a chrominance or intraprediction for chrominance, in which the prediction modes for luminance and chrominance match each other, is the ts_flag transform jump flag not flagged.In other words, the ts_flag transform jump flag is defined using the luminance ts_flag transform jump flag in this case.
[00385] An example of the transform jump signal derivation process flow in this case will be described with reference to the flowchart in FIG. 33. Each of the processes from Step S261 to Step S265 is executed similarly to each of the processes from Step S251 to Step Petition 870190056776, dated 06 / 19 / 2019, page 97 / 305 / 215 S255 of FIG. 31.
[00386] In a case where the prediction type is determined to be intraprediction in Step S265, the process proceeds to Step S266. In Step S266, decoding unit 111 determines whether the prediction modes for luminance and chrominance correspond to each other or not. In a case where the prediction modes are determined to correspond to each other as interprediction (IntraPredModeY == IntraPredModeC), the process proceeds to Step S267. Furthermore, in a case where the prediction modes are determined to not correspond to each other, the process proceeds to Step S268.
[00387] The S267 Step process is executed similarly to the S256 Step process in FIG. 31. That is, decoding unit 111 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y]. When the S267 Step process finishes, the transform jump flag derivation process finishes.
[00388] Furthermore, the process in Step S268 is executed similarly to the process in Step S257 of FIG. 31. That is, decoding unit 111 decodes the encoded data and thus obtains the signaled transform jump flag ts_flag[compID]. When the process in Step S268 finishes, the transform jump flag derivation process finishes.
[00389] In this way, the transmission (encoding and decoding) of the chrominance ts_flag transform hopping flag can be omitted by using the luminance ts_flag transform hopping flag value only in the case of the prediction mode in which the trends of the residual signals are similar and therefore the deterioration in coding efficiency can be restrained. Furthermore, an increase in coding load and Petition 870190056776, dated 06 / 19 / 2019, page 98 / 305 / 215 decoding can also be restrained. <Exemplo modificado 3>
[00390] In the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction as described with reference to line 4 of FIG. 27, or intraprediction where the prediction mode is intrablock copy, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], in the case where the prediction type of the coding block is intraprediction where the prediction mode is not intrablock copy, the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the encoded data).
[00391] An example of residual_coding syntax in this case is illustrated in FIG. 34. As illustrated in FIG. 34, “&& (CuPreMode == MODE_INTRA && compID == COMPONENT_Y II CuPreMode == MODE_INTRA && compID != COMPONENT_Y && IntraPredModeY != IntraBC CuPredMode == MODE_INTER && compID == COMPONENT_Y)” is included in the condition to signal the ts_flag transform jump flag in this case. That is, regardless of whether the flag is luminance or chrominance, the ts_flag transform jump flag is signaled in the case where the prediction type is intraprediction and the prediction mode is not an intrablock copy. In other words, only in a case where the prediction type is interprediction for a chrominance or intraprediction for the chrominance in which the prediction mode is intrablock copy, is the ts_flag transform jump flag not flagged.In other words, the ts_flag transform jump flag is defined using the luminance ts_flag transform jump flag in this case. Petition 870190056776, dated 06 / 19 / 2019, page 99 / 305 / 215
[00392] An example of the transform jump signal derivation process flow in this case will be described with reference to the flowchart in FIG. 35. Each of the processes from Step S271 to Step S275 is executed similarly to each of the processes from Step S261 to Step S265 in FIG. 33.
[00393] In a case where the prediction type is determined to be intraprediction in Step S275, the process proceeds to Step S276. In Step S276, decoding unit 111 determines whether the prediction mode is intrablock copy. In a case where the prediction mode is determined to be intrablock copy (IntraPredModeY == IntraBC), the process proceeds to Step S277. Furthermore, in a case where the prediction mode is determined to be intrablock copy, the process proceeds to Step S278.
[00394] The S277 Step process is executed similarly to the S267 Step process in FIG. 33. That is, decoding unit 111 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y]. When the S277 Step process finishes, the transform jump flag derivation process finishes.
[00395] Furthermore, the process in Step S278 is executed similarly to the process in Step S268 of FIG. 33. That is, decoding unit 111 decodes the encoded data and thus obtains the signaled transform jump flag ts_flag[compID]. When the process in Step S278 finishes, the transform jump flag derivation process finishes.
[00396] In this way, the transmission (encoding and decoding) of the chrominance transform hopping flag ts_flag can be omitted by using the luminance transform hopping flag ts_flag value only in the case of the prediction mode in which the signal trends Petition 870190056776, dated 06 / 19 / 2019, page 100 / 305 / 215 residuals are similar and therefore the deterioration in coding efficiency can be contained. Furthermore, an increase in coding and decoding load can also be contained. <Exemplo modificado 4>
[00397] In the case where the chrominance transform jump information inference flag chroma_ts_info_info_infer_flag is 1 (true) as described with reference to line 5 of FIG. 27, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], and in the case where the chrominance transform jump information inference flag chroma_ts_info_info_infer_flag is 0 (false), the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the encoded data).
[00398] An example of a transform unit syntax in this case is illustrated in FIG. 36. As illustrated in FIG. 36, a chrominance transform jump information inference flag chroma_ts_info_info_infer_flag is defined. Furthermore, an example of residual_coding syntax is illustrated in FIG. 37. As illustrated in FIG. 37, “&& compID != COMPONENT_Y && !chroma_ts_info_infer_flag” is included in the condition to signal the ts_flag transform jump information inference flag in this case. That is, regardless of whether the flag is luminance or chrominance, the ts_flag transform jump information inference flag is signaled in a case where the chrominance transform jump information inference flag chroma_ts_info_info_infer_flag is false. In other words, only in a case where the flag is of a chrominance and the inference flag is of a chrominance transform jump information. Petition 870190056776, dated 06 / 19 / 2019, page 101 / 305 / 215 chroma_ts_info_info_infer_flag is true, the ts_flag transform jump flag is not flagged. That is, the ts_flag transform jump flag is set using the luminance ts_flag transform jump flag in this case.
[00399] An example of the transform jump signal derivation process flow in this case will be described with reference to the flowchart in FIG. 38. Each of the processes from Step S281 to Step S283 is executed similarly to each of the processes from Step S241 to Step S245 in FIG. 29.
[00400] In Step S284, decoding unit 111 determines whether the processing object is a chrominance and the chroma_ts_info_infer_flag chroma_ts_info_infer_flag is true. If the flag is determined to be a chrominance and true, the process proceeds to Step S285. Additionally, if the processing object is determined to be a luminance or the chroma_ts_info_infer_flag chroma_ts_info_infer_flag chroma_ts_info_infer_flag is determined to be false in Step S284, the process proceeds to Step S286.
[00401] The S285 Step process is executed similarly to the S245 Step process in FIG. 29. That is, decoding unit 111 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y]. When the S285 Step process finishes, the transform jump flag derivation process finishes.
[00402] Furthermore, the process in Step S286 is executed similarly to the process in Step S246 of FIG. 29. That is, decoding unit 111 decodes the encoded data and thus obtains the Petition 870190056776, dated 06 / 19 / 2019, page 102 / 305 / 215 transform jump flag ts_flag[compID]. When the S286 Step process terminates, the transform jump flag derivation process terminates.
[00403] In this way, whether or not the value of the luminance transform hopping flag should be used can be explicitly controlled using the chrominance transform hopping information inference flag chroma_ts_info_infer_flag. Therefore, it is possible to easily make the value of the luminance transform hopping flag used only in a case where a sufficiently large effect can be obtained, and thus the deterioration in encoding efficiency can be further restrained. In addition, an increase in encoding and decoding load can also be restrained. <4. Third modality>
[00404] <st_idx>
[00405] Furthermore, as information regarding an orthogonal (inverse) transform, for example, a secondary transform identifier st_idx indicating which secondary (inverse) transform should be applied can be included as shown in the table in FIG. 6. By deriving a secondary transform identifier chroma_st_idx of a chrominance (common for Cb and Cr) based on a secondary transform identifier st_idx[Y] of luminance, for example, an increase in the overhead of the amount of code in the syntax by which the chrominance (Cb or Cr) is signaled can also be restrained.
[00406] Further description will be provided with reference to the table in FIG. 39. In the related technique, the secondary transform identifier st_idx of a chrominance is also transmitted (signaled) from the decoding side to the encoding side, as indicated in line 0. FIG. 40 is an example of the syntax of a TU in the related technique. As indicated in the syntax of FIG. 40, the secondary transform identifier Petition 870190056776, dated 06 / 19 / 2019, page 103 / 305 / 215, chroma_st_idx of chrominance is also flagged. If the secondary transform identifier st_idx is explicitly encoded not only for luminance but also for chrominance, there is concern about the amount of code, which increases the deterioration of encoding efficiency. Furthermore, in this case, the encoding side must perform the settings and encoding of the secondary transform identifier st_idx for each of the signals (Y, Cb, and Cr), and therefore there is concern about the increased amount of processing. Additionally, the decoding side must decode the secondary transform identifier st_idx for each of the signals (Y, Cb, and Cr), and therefore there is a concern about the increased amount of processing.
[00407] Thus, the secondary transform identifier chroma_st_idx of chrominance is inferred from the secondary transform identifier st_idx of luminance at all times, for example, as indicated in line no. 1. For example, the value of the secondary transform identifier chroma_st_idx of chrominance can be set to the value of the secondary transform identifier st_idx of luminance. In this way, the transmission (encoding and decoding) of the secondary transform identifier chroma_st_idx of chrominance can be omitted, and thus the overhead of the amount of code can be reduced and the deterioration in encoding efficiency can be curbed. In addition, an increase in encoding and decoding load can also be curbed.
[00408] Furthermore, in a case where the prediction type of a coding block to which a block of transforms to be processed belongs is interprediction, as indicated in line 2, for example, the value of the secondary transform identifier chroma_st_idx of chrominance can be defined as the value of the secondary transform identifier st_idx of luminance, and in a case where the prediction type of the coding block is intraprediction, the transform identifier Petition 870190056776, dated 06 / 19 / 2019, page 104 / 305 / 215: The secondary chroma_st_idx of chrominance can be signaled (that is, the secondary chroma_st_idx transform identifier of chrominance can be decoded from the encoded data). In this way, the value of the secondary luminance transform identifier st_idx can be used only in the case of the interprediction mode in which the trends of the residual signals are similar, and thus the deterioration in coding efficiency can be further restrained.
[00409] Furthermore, in a case where the prediction type of a coding block to which a block of transforms to be processed belongs is interprediction, for example, as indicated in line 3, or intraprediction where the prediction modes for luminance and chrominance correspond to each other, the value of the secondary transform identifier chroma_st_idx of chrominance can be set to the value of the secondary transform identifier st_idx of luminance, and in a case where the prediction type of the coding block is intraprediction where the prediction modes for luminance and chrominance do not correspond to each other, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).In this way, the value of the secondary luminance transform identifier st_idx can only be used in the case of the prediction mode in which the trends of the residual signals are similar, and thus the deterioration in coding efficiency can be further mitigated.
[00410] Furthermore, in a case where the prediction type of a coding block to which a block of transforms to be processed belongs is interprediction, for example, as indicated in line 4, or intraprediction where the prediction mode is intrablock copy, the value of the secondary transform identifier chroma_st_idx of the chrominance may Petition 870190056776, dated 06 / 19 / 2019, page 105 / 305 / 215, to be defined as the value of the secondary transform identifier st_idx of luminance, and in a case where the prediction type of the coding block is intraprediction, of which the prediction mode is not an intrablock copy, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data). In this way, the value of the secondary transform identifier st_idx of luminance can be used only in the case of the prediction mode in which the trends of the residual signals are similar, and thus the deterioration in coding efficiency can be further restrained.
[00411] Furthermore, for example, in a case where a chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag indicating whether the chrominance secondary transform identifier chroma_st_idx should be inferred based on the luminance secondary transform identifier st_idx is 1 (true), the value of the chrominance secondary transform identifier st_idx can be set to the value of the luminance secondary transform identifier st_idx, and in a case where the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is 0 (false), the chrominance secondary transform identifier chroma_st_idx can be flagged (i.e., the chrominance secondary transform identifier chroma_st_idx can be decoded from the encoded data) as indicated in line 5.In this way, whether or not the value of the luminance secondary transform identifier st_idx should be used can be explicitly controlled using the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag. Therefore, it is possible to easily make the identifier inference flag value... Petition 870190056776, dated 06 / 19 / 2019, page 106 / 305 / 215, regarding the secondary chrominance transform chroma_st_idx_infer_flag of luminance, to be used only in cases where a sufficiently large effect can be obtained, thus further curbing the deterioration in encoding efficiency.
[00412] It should be noted that each of the cases described above can be arbitrarily combined in a similar way to the case in FIG. 7. In this way, the effects obtained in each of the cases can be displayed. Furthermore, each of the cases described above can also be combined with other cases that are not described above. <Exemplo básico 1>
[00413] The secondary transform identifier chroma_st_idx of chrominance can be inferred from the secondary transform identifier st_idx of luminance at all times as described with reference to line no. 1 of FIG. 39. An example of a TU syntax in this case is illustrated in FIG. 41. In this case, the configuration is performed using the secondary transform identifier st_idx of luminance without signaling the secondary transform identifier chroma_st_idx of chrominance as illustrated in FIG. 41.
[00414] In this case, decoding unit 111 performs a secondary transform identifier derivation process for chrominance and, in this way, defines the secondary transform identifier chroma_st_idx of the chrominance. An example of the flow of the secondary transform identifier derivation process for chrominance will be described with reference to the flowchart in FIG. 42.
[00415] When the secondary transform identifier derivation process is initiated, decoding unit 111 determines whether the secondary transform enabled flag st_enabled_flag is true in Step S291. In a case where the secondary transform enabled flag st_enabled_flag is determined to be true, the Petition 870190056776, dated 06 / 19 / 2019, page 107 / 305 / 215, the process proceeds to Step S292. In Step S292, decoding unit 111 determines whether a transform quantization bypass enabled flag transquant_bypass_enabled_flag is false. If the transform quantization bypass enabled flag transquant_bypass_enabled_flag is determined to be false, the process proceeds to Step S293. In Step S293, decoding unit 111 determines whether the number of non-zero coefficients (numNonZeroCoeffTH) of the chrominance is greater than or equal to a predetermined threshold value (stNumZeroCoeffTH). In a case where the number of non-zero chrominance coefficients is determined to be greater than or equal to the predetermined threshold value, the process proceeds to Step S294.
[00416] In Step S294, decoding unit 111 sets the value of the chroma_st_idx secondary transform identifier for chrominance to the value of the st_idx secondary transform identifier for luminance. When the process in Step S294 finishes, the process of deriving the secondary transform identifier for chrominance ends.
[00417] It should be noted that in a case where the secondary transform flag st_enabled_flag is determined to be false in Step S291, the process of deriving the secondary transform identifier for chrominance terminates. Additionally, in a case where the quantization bypass enabled flag transquant_bypass_enabled_flag is determined to be true in Step S292, the process of deriving the secondary transform identifier for chrominance terminates. Furthermore, in a case where the number of non-zero chrominance coefficients is determined to be less than the predetermined threshold value in Step S293, the process of deriving the secondary transform identifier for chrominance terminates.
[00418] In this way, the transmission (encoding and decoding) of Petition 870190056776, dated 06 / 19 / 2019, page 108 / 305 The chrominance secondary transform identifier 100 / 215 can be omitted, thus preventing deterioration in encoding efficiency. Additionally, an increase in encoding and decoding load can also be avoided. <Exemplo modificado 1>
[00419] In the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction, the value of the secondary transform identifier chroma_st_idx of chrominance can be defined as the value of the secondary transform identifier st_idx of luminance as described with reference to line 2 of FIG. 39, and in the case where the prediction type of the coding block is intraprediction, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).
[00420] An example of TU syntax in this case is illustrated in FIG. 43. As illustrated in FIG. 43, in a case where the prediction mode is intraprediction (CuPreMode == MODE_INTRA), the chrominance secondary transform identifier chroma_st_idx is signaled. Furthermore, in a case where the prediction mode is intraprediction (CuPreMode == MODE_INTER), the chrominance secondary transform identifier chroma_st_idx is defined using the luminance secondary transform identifier st_idx.
[00421] An example of the secondary transform identifier derivation process flow for chrominance in this case will be described with reference to the flowchart in FIG. 44. Each of the processes from Step S301 to Step S303 is executed similarly to each of the processes from Step S291 to Step S293 in FIG. 42.
[00422] In Step S304, decoding unit 111 determines Petition 870190056776, dated 06 / 19 / 2019, page 109 / 305 101 / 215 additionally determines whether the prediction mode is intraprediction or not. In a case where the prediction mode is interprediction (CuPredMode == MODE_INTER), the process proceeds to Step S305.
[00423] The process in Step S305 is executed similarly to the process in Step S294 of FIG. 42. That is, decoding unit 111 sets the value of the secondary transform identifier chroma_st_idx of chrominance to the value of the secondary transform identifier st_idx of luminance. When the process in Step S305 finishes, the process of deriving the secondary transform identifier for chrominance ends.
[00424] Furthermore, in a case where the prediction mode is determined to be intraprediction (CuPredMode == MODE_INTRA), the process proceeds to Step S306. In Step S306, decoding unit 111 decodes the encoded data and thus obtains the signaled secondary transform identifier st_idx. When the Step S306 process finishes, the process of deriving the secondary transform identifier for chrominance ends.
[00425] In this way, the transmission (encoding and decoding) of the chrominance secondary transform identifier chroma_st_idx can be omitted by using the luminance secondary transform identifier st_idx only in the case of the interprediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in encoding efficiency can be restrained. In addition, an increase in encoding and decoding load can also be restrained. <Exemplo modificado 2>
[00426] In the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction or intraprediction, where the prediction modes for luminance and chrominance correspond to each other as described with reference to line 3 of Petition 870190056776, dated 06 / 19 / 2019, page 110 / 305 102 / 215 In FIG. 39, decoding unit 111 defines the value of the secondary transform identifier chroma_st_idx of chrominance as the value of the secondary transform identifier st_idx of luminance. Furthermore, in the case where the prediction type of the encoding block is intraprediction, in which the prediction modes for luminance and chrominance do not match each other, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).
[00427] An example of TU syntax in this case is illustrated in FIG. 45. As illustrated in FIG. 45, in a case where the prediction mode is the intraprediction mode (CuPredMode==MODE_INTRA) and the prediction modes for luminance and chrominance do not match each other, the secondary transform identifier chroma_st_idx is flagged. In other cases, the value of the secondary transform identifier chroma_st_idx for chrominance is set to the secondary transform identifier st_idx for luminance.
[00428] An example of the secondary transform identifier derivation process flow for chrominance in this case will be described with reference to the flowchart in FIG. 46. Each of the processes from Step S311 to Step S314 is executed similarly to each of the processes from Step S301 to Step S304 in FIG. 44.
[00429] In a case where the prediction mode is determined to be intraprediction in Step S314, the process proceeds to Step S315. Furthermore, in a case where it is determined to be interprediction, the process proceeds to Step S316. In Step S315, decoding unit 111 determines whether the prediction modes for luminance and chrominance match each other or not. In a case where the prediction modes match each other as interprediction (IntraPredModeY == Petition 870190056776, dated 06 / 19 / 2019, page 111 / 305 103 / 215 IntraPredModeC), the process proceeds to Step S316. Furthermore, in a case where the prediction modes do not match each other as interprediction (IntraPredModeY != IntraPredModeC), the process proceeds to Step S317.
[00430] The process in Step S316 is executed similarly to the process in Step S305 of FIG. 44. Furthermore, the process in Step S317 is executed similarly to the process in Step S306 of FIG. 44.
[00431] In this way, the transmission (encoding and decoding) of the chrominance secondary transform identifier chroma_st_idx can be omitted by using the luminance secondary transform identifier st_idx only in the case of the prediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in encoding efficiency can be restrained. In addition, an increase in encoding and decoding load can also be restrained. <Exemplo modificado 3>
[00432] In the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction or intraprediction where the prediction mode is intrablock copy as described with reference to line 4 of FIG. 39, the value of the secondary transform identifier chroma_st_idx of chrominance is set to the value of the secondary transform identifier st_idx of luminance. Furthermore, in the case where the prediction type of the coding block is intraprediction where the prediction mode is not intrablock copy, the secondary transform identifier chroma_st_idx of chrominance can be signaled (i.e., the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).
[00433] An example of the syntax of a TU in this case is illustrated in FIG. 47. As illustrated in FIG. 47, the transform identifier Petition 870190056776, dated 06 / 19 / 2019, page 112 / 305 The secondary transform tag st_idx from the ts_flag is flagged in the case where the prediction type is intraprediction and the prediction mode is not intrablock copy (CuPredMode == MODE_INTRA && IntraPredModeY != IntraBC) regardless of whether the tag is luminance or chrominance. In other words, the secondary transform tag st_idx is only not flagged in a case where the tag is chrominance and the prediction type is interprediction, or a case where the tag is chrominance and the prediction type is intraprediction and the prediction mode is intrablock copy. That is, in this case, the value of the secondary transform tag chroma_st_idx is set using the luminance secondary transform tag st_idx.
[00434] An example of the secondary transform identifier derivation process flow for chrominance in this case will be described with reference to the flowchart in FIG. 48. Each of the processes from Step S321 to Step S324 is executed similarly to each of the processes from Step S311 to Step S314 in FIG. 46.
[00435] In a case where the prediction type is determined to be intraprediction in Step S324, the process proceeds to Step S325. Furthermore, in a case where the prediction type is determined to be interprediction, the process proceeds to Step S326.
[00436] In Step S325, decoding unit 111 determines whether the prediction mode is intrablock copy. In a case where the prediction mode is determined to be intrablock copy (IntraPredModeY == IntraBC), the process proceeds to Step S326. Furthermore, in a case where the prediction mode is determined to be intrablock copy, the process proceeds to Step S327.
[00437] The process in Step S326 is executed similarly to the process in Step S316 of FIG. 46. That is, decoding unit 111 Petition 870190056776, dated 06 / 19 / 2019, page 113 / 305 105 / 215 sets the value of the secondary transform identifier chroma_st_idx for chrominance to the secondary transform identifier st_idx for luminance. When the S326 Step process finishes, the process of deriving the secondary transform identifier for chrominance ends.
[00438] Furthermore, the process of Step S327 is executed similarly to the process of Step S317 of FIG. 46. That is, the decoding unit 111 can decode the encoded data and thus obtain the signaled secondary transform identifier st_idx. When the process of Step S327 finishes, the process of deriving the secondary transform identifier for chrominance ends.
[00439] In this way, the transmission (encoding and decoding) of the chrominance secondary transform identifier st_Idx can be omitted by using the luminance secondary transform identifier st_idx value only in the case of the prediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in encoding efficiency can be mitigated. In addition, an increase in encoding and decoding load can also be mitigated. <Exemplo modificado 4>
[00440] As described with reference to line 5 of FIG. 39, in the case where the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is 1 (true), the value of the chrominance secondary transform identifier chroma_st_idx can be set to the value of the luminance secondary transform identifier st_idx, and in the case where the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is 0 (false), the chrominance secondary transform identifier st_idx can be flagged (i.e., the chrominance secondary transform identifier chroma_st_idx can be Petition 870190056776, dated 06 / 19 / 2019, page 114 / 305 106 / 215 decoded from the encoded data).
[00441] An example of TU syntax in this case is illustrated in FIG. 49. As illustrated in FIG. 49, it is controlled whether the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is set and then the chrominance secondary transform identifier chroma_st_idx is flagged according to the value, or the identifier is obtained from the luminance secondary transform identifier st_idx.
[00442] An example of the secondary transform identifier derivation process flow for chrominance in this case will be described with reference to the flowchart in FIG. 50. Each of the processes from Step S331 to Step S333 is executed similarly to each of the processes from Step S321 to Step S323 in FIG. 48.
[00443] In Step S334, decoding unit 111 decodes and acquires the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag. In Step S335, decoding unit 111 determines whether the acquired chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is true or not. If the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is determined to be true, the process proceeds to Step S336. If the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is determined to be false, the process proceeds to Step S337.
[00444] The process in Step S336 is executed similarly to the process in Step S326 of FIG. 48. That is, decoding unit 111 sets the value of the secondary transform identifier chroma_st_idx of chrominance to the value of the secondary transform identifier st_idx Petition 870190056776, dated 06 / 19 / 2019, page 115 / 305 107 / 215 of the luminance. When the S336 Step process finishes, the secondary transform identifier derivation process for chrominance ends.
[00445] Furthermore, the process of Step S337 is executed similarly to the process of Step S327 of FIG. 48. That is, the decoding unit 111 can decode the encoded data and thus obtain the signaled secondary transform identifier chroma_st_idx from the chrominance. When the process of Step S337 finishes, the process of deriving the secondary transform identifier for the chrominance ends.
[00446] In this way, it is possible to explicitly control whether or not the luminance secondary transform identifier st_idx value should be used using the chrominance secondary transform identifier inference flag chroma_st_idx. Therefore, it is easy to ensure that the luminance secondary transform identifier value is used only in cases where a sufficiently large effect is obtained, and thus the deterioration in encoding efficiency can be further mitigated. Additionally, an increase in encoding and decoding load can also be avoided. <5. Fourth modality> <Aparelho de codificação de imagem>
[00447] Next, the encoding to generate encoded data to be decoded as described above will be described. FIG. 51 is a block diagram illustrating an example of the main configuration of an image encoding apparatus which is an aspect of the image processing apparatus to which the present technology is applied. The image encoding apparatus 400 illustrated in FIG. 51 is an image encoding apparatus corresponding to the image decoding apparatus 100 of FIG. 9 and generates encoded data (bit stream) that were Petition 870190056776, dated 06 / 19 / 2019, page 116 / 305 108 / 215 decoded by the image decoding device 100 by encoding an image formation using an encoding method corresponding to a decoding method used by the image decoding device 100. The image encoding device 400 implements, for example, a technology proposed by HEVC or JVET.
[00448] It should be noted that FIG. 51 illustrates main configurations, such as processing and data unit flows, and the like, and FIG. 51 is not illustrating entire configurations. That is, there may be processing units in the 400 image encoding apparatus that are not illustrated as blocks in FIG. 51 or processing and data flows that are not indicated by arrows and the like in FIG. 51.
[00449] The image encoding apparatus 400 has a control unit 411, an arithmetic operation unit 412, a transform unit 413, a quantization unit 414, an encoding unit 415, an inverse quantization unit 416, an inverse transform unit 417, an arithmetic operation unit 418, a frame memory 419 and a prediction unit 420 as illustrated in FIG. 51.
[00450] Control unit 411 divides a moving image 2 into blocks that are processing units (CUs, PUs, transform blocks, etc.) based on the block size of the processing units specified from the outside or in advance, and inserts an image I that corresponds to the divided blocks into the arithmetic operation unit 412. Furthermore, control unit 411 determines the encoding parameters (Hinfo header information, Pinfo prediction mode information, Tinfo transform information, etc.) to be provided to each of the blocks, for example, based on Rate Distortion Optimization (RDO). The determined encoding parameters are provided for each of the blocks. The parameter details are... Petition 870190056776, dated 06 / 19 / 2019, page 117 / 305 109 / 215 following.
[00451] Hinfo header information is provided for each of the blocks. Pinfo prediction mode information is provided to transform unit 413, encoding unit 415, and prediction unit 420. Tinfo transform information is provided to encoding unit 415, transform unit 413, quantization unit 414, inverse quantization unit 416, and inverse transform unit 417.
[00452] The arithmetic operation unit 412 receives the input of the image I corresponding to the blocks that are the processing units and a predictive image P provided from the prediction unit 420, subtracts the predictive image P from the image I as indicated in formula (25), thus, derives the predictive residue D and provides the predictive residue to the transform unit 413.
[00453] D = I - P ... (25)
[00454] Transform unit 413 is a processing unit that performs an inverse transform, which is the inverse process of a transform process performed by inverse transform unit 417. It receives the predictive residual D as input, the prediction mode information Pinfo, and the transform information Tinfo. It applies a transform to the predictive residual D based on the prediction mode information Pinfo and the transform information Tinfo. In this way, it derives a transform coefficient Coeff and provides the transform coefficient to quantization unit 414.
[00455] The quantization unit 414 is an inverse process to the inverse quantization unit 416, it receives the transform information input Tinfo and the transform coefficient Coeff, scales (quantizes) the transform coefficient Coeff based on the transform information Tinfo and provides the transform coefficient value. Petition 870190056776, dated 06 / 19 / 2019, page 118 / 305 110 / 215 quantized, that is, a quantized transform coefficient level for the coding unit 415.
[00456] The encoding unit 415 is a reverse process to the decoding unit 111 (FIG. 9), it transforms the encoding parameters (the header information, the Pinfo prediction mode information and the Tinfo transform information) provided from the control unit 411, and the quantized transform coefficient level provided by the quantization unit 414 into syntax values of each of the syntax elements according to the definitions of a syntax table, it renders each of the syntax values into variable-length codes (e.g., arithmetic code) and thus generates bit strings.
[00457] It should be noted that the 415 encoding unit derives residual RInfo information from the quantized transform coefficient level, renders the residual RInfo information into variable-length codes, and generates bit strings. Furthermore, the 415 encoding unit multiplexes the bit strings of each of the syntax elements that have been transformed into variable-length codes and then generates and produces encoded data 1.
[00458] The inverse quantization unit 416 is a processing unit similar to the inverse quantization unit 112 (FIG. 9) and performs a process similar to that of the inverse quantization unit 112 in the image encoding apparatus 400. The inverse transform unit 417 is a processing unit similar to the inverse transform unit 113 (FIG. 9) and performs a process similar to that of the inverse transform unit 113d in the image encoding apparatus 400. The frame memory 419 is a processing unit similar to the frame memory 115 (FIG. 9) and performs a process similar to that of the frame memory 115 in the image encoding apparatus 400. The prediction unit 420 is a processing unit similar to the prediction unit 116 (FIG. 9) and performs a Petition 870190056776, dated 06 / 19 / 2019, page 119 / 305 111 / 215 process similar to that of the prediction unit 116 in the image encoding apparatus 400. <Unidade de transformada>
[00459] FIG. 52 is a block diagram illustrating an example of the main configuration of transform unit 413. As illustrated in FIG. 52, transform unit 413 has a switch 431, a primary transform unit 432, and a secondary transform unit 433.
[00460] Switch 431 receives the predictive residue input D and a transform jump flag ts_flag[compID] from a color signal corresponding to a color signal identifier compID, and produces the predictive residue D for transform unit 432 in a case where the value of the transform jump flag ts_flag[compID] is NO_TS (=0) (a case where a transform jump is not applied).Furthermore, in a case where the value of the transform jump flag ts_flag[compID] is 2D_TS (=1) (a case where the flag indicates that a two-dimensional transform jump is applied), the primary transform unit 432 and the secondary transform unit 433 are skipped, and the predictive residual D is produced as a transform coefficient Coeff.
[00461] The primary transform unit 432 performs a process related to a primary transform that is a predetermined transform process, for example, an orthogonal transform. The primary transform is an inverse process of the inverse primary transform performed by the inverse primary transform unit 123 or similar of the image decoding device 100. The primary transform unit 432 receives inputs, for example, from the color signal identifier compID, the adaptive primary transform flag apt_flag[COMPONENT_Y] of luminance, the primary transform identifier pt_idx[COMPONENT_Y] of luminance, the prediction mode information PInfo, transform block sizes (a logarithmic value) Petition 870190056776, dated 06 / 19 / 2019, page 120 / 305 112 / 215 log2TBWSize of the engraving width and a logarithmic value log2TBHSize of an engraving height), and predictive residual D. The primary transform unit 432 selects a transform type TrTypeIdxH of a primary horizontal transform and a transform type TrTypeIdxV of a primary vertical transform from the color signal specified by the color signal identifier compID with reference to the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag[COMPONENT_Y] of luminance, the primary transform identifier pt_idx[COMPONENT_Y] of luminance,The primary transform identifier pt_idx[COMPONENT_Y] of luminance performs the primary horizontal transform defined by the primary horizontal transform type TrTypeIdxH and the width of the transform block's log2TBWSize, and the primary vertical transform defined by the primary vertical transform type TrTypeIdxV and the height of the transform block's log2TBHSize on the predictive residual D, and thus derives and produces a transform coefficient Coeff_P that underwent the primary transform (also called the primary transform coefficient).
[00462] The primary transform unit 432 will be described in more detail below. As illustrated in FIG. 52, the primary transform unit 432 has a chrominance adaptive primary transform information derivation unit 441, a primary transform selection unit 442, a primary horizontal transform unit 443, and a primary vertical transform unit 444.
[00463] The adaptive primary transform information derivation unit 441 derives adaptive primary transform information from a chrominance (apt_flag[compID] and pt_idx[compID] (compID=COMPONENT_Cb or COMPONENT_Cr)) using adaptive primary transform information (apt_flag[COMPONENT_Y], Petition 870190056776, dated 06 / 19 / 2019, page 121 / 305 113 / 215 pt_idx[COMPONENT_Y]) of the luminance transform block corresponding to the chrominance transform block in a case where the color signal identifier compID indicates chrominance (compID==COMPONENT_Cb or COMPONENT_Cr) and provides the result for the primary transform selection unit 442. <Unidade de derivação de informações de transformada primária adaptativa de crominância>
[00464] FIG. 53 is a functional block diagram illustrating an example of the main configuration of the 441 adaptive primary transform information derivation unit. As illustrated in FIG. 53, the 441 adaptive primary transform information derivation unit has an apt_flag derivation unit 451 and a pt_idx derivation unit 452. The apt_flag derivation unit 451 performs a process regarding the derivation of the apt_flag adaptive primary transform flag from chrominance. Additionally, the pt_idx derivation unit 452 performs a process regarding the derivation of the pt_idx primary transform identifier from chrominance. In other words, each of the apt_flag 451 derivation unit and the pt_idx 452 derivation unit has a similar configuration and performs similar processes to the apt_flag 151 derivation unit and the pt_idx 152 derivation unit (FIG. 11).That is, the 441 adaptive primary transform information derivation unit has a similar configuration and performs similar processes to the 131 adaptive primary transform information derivation unit. Therefore, the detailed description of the operations of the 441 adaptive primary transform information derivation unit (the apt_flag derivation unit 151 and the pt_idx derivation unit 152) is similar to that of the 131 adaptive primary transform information derivation unit in the first embodiment, and is therefore omitted. Petition 870190056776, dated 06 / 19 / 2019, page 122 / 305 114 / 215
[00465] The 441 adaptive primary transform information derivation unit can derive the adaptive primary transform information from the chrominance transform block based on the corresponding adaptive primary transform information from the chrominance transform block. Therefore, it is possible to reduce the amount of encoding processing without encoding the adaptive primary transform information from the chrominance transform block.
[00466] The primary transform selection unit 442 receives an input of the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID, and the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID.Primary transform selection unit 442 derives the transform type TrTypeIdxH from the primary horizontal transform and the transform type TrTypeIdxV from the primary vertical transform of the color signal specified by the color signal identifier compID with reference to the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID, and the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID. Primary transform selection unit 442 provides the derived transform type TrTypeIdxH from the primary horizontal transform to primary horizontal transform unit 443.Furthermore, the primary transform selection unit 442 provides the derived transform type TrTypeIdxV from the primary vertical transform to the primary vertical transform unit 444. Petition 870190056776, dated 06 / 19 / 2019, page 123 / 305 115 / 215
[00467] It should be noted that the operations of the primary transform selection unit 442 are basically similar to those of the inverse primary transform selection unit 132 of the image decoding apparatus 100. That is, the description with respect to the inverse primary transform selection unit 132 in the first embodiment can be a description with respect to the primary transform selection unit 442 by replacing the inverse primary horizontal transform IPThor with a primary horizontal transform PThor, replacing the inverse primary vertical transform IPTver with a primary vertical transform PTver, and replacing the inverse primary transform with the primary transform.
[00468] The primary horizontal transform unit 443 receives an input of the predictive residue D, the transform type TrTypeIdxH of the primary horizontal transform, and log2TBWSize indicating the width of the transform block engraving (the logarithmic value of the engraving width) for each transform block of each color signal. The primary horizontal transform unit 443 performs the primary horizontal transform Phor defined by the transform type TrTypeIdxH and the width of the transform block engraving on the predictive residue D and produces the result as a transform coefficient Coeff_Phor that has undergone the primary horizontal transform.
[00469] The primary vertical transform unit 444 receives an input of the transform coefficient Coeff_Phor that passed through the primary horizontal transform, the transform type TrTypeIdxV of the primary vertical transform, and log2TBHSize indicating the height of the transform block engraving (the logarithmic value of the engraving height) for each transform block of each color signal. The primary vertical transform Pver defined by the transform type TrTypeIdxV and the height of the transform block engraving is performed on the transform coefficient Coeff_Phor that passed through the primary horizontal transform and Petition 870190056776, dated 06 / 19 / 2019, pp. 124 / 305 116 / 215 the result is produced as a transform coefficient Coeff_P that has undergone the primary transform.
[00470] As described above, the 432 primary transform unit can apply a selected adaptive primary transform for luminance to a block of chrominance transforms in a case where a residual signal of the color signal shows a similar trend to a residual luminance signal. Thus, it is possible to perform a primary transform process on the residual chrominance signal with greater encoding efficiency than in the related technique.
[00471] Furthermore, it is possible to reduce the amount of processing by an encoder, while avoiding a decrease in encoding efficiency for chrominance compared to a case where an adaptive primary transform flag apt_flag and a primary transform identifier pt_idx are explicitly decoded for each of the luminance and chrominance.
[00472] The secondary transform unit 433 performs a process related to a secondary transform that is a predetermined transform process, for example, an orthogonal transform. The secondary transform is a process inverse to the inverse secondary transform performed by the inverse secondary transform unit 122 or similar of the image decoding apparatus 100. The secondary transform unit 433 receives an input of, for example, a secondary transform identifier st_idx, a scan identifier scanIdx indicating a transform coefficient scan method, and a primary transform coefficient Coeff_P and derives and produces a transform coefficient Coeff that has undergone the secondary transform (also called the secondary transform coefficient). More specifically, in a case where the secondary transform identifier st_idx indicates the application of the secondary transform (st_idx>0), the Petition 870190056776, dated 06 / 19 / 2019, pp. 125 / 305 117 / 215 secondary transform unit 433 executes the secondary transform process corresponding to the secondary transform identifier st_idx on the primary transform coefficient Coeff_P and produces a transform coefficient Coeff_S that has undergone the secondary transform.
[00473] In a case where the secondary transform identifier st_idx indicates that the secondary transform does not apply (st_idx==0), the secondary transform unit 433 skips the secondary transform and produces the transform coefficient Coeff_P that went through the primary transform as the transform coefficient Coeff_S that went through the secondary transform. <Fluxo do processo de codificação de imagem>
[00474] Next, the process flows executed by the 400 image encoding device, as described above, will be described. First, an example of the image encoding process flow will be described with reference to the flowchart in FIG. 54.
[00475] When the image encoding process is initiated, control unit 411 performs an encoding control process and carries out block division, a definition of encoding parameters and similar in Step S401.
[00476] In Step S402, prediction unit 420 performs a prediction process and generates a predictive image and similar images in an optimal prediction mode. For example, in the prediction process, prediction unit 420 performs an intraprediction and generates a predictive image and similar images in an optimal intraprediction mode, and performs interprediction and generates a predictive image and similar images in an optimal prediction mode, and selects an optimal prediction mode among the modes based on a cost function value or similar.
[00477] In Step S403, the arithmetic operation unit 412 calculates the difference between the input image and the predictive image in optimal mode. Petition 870190056776, dated 06 / 19 / 2019, page 126 / 305 118 / 215 selected in the S402 Step prediction process. That is, the arithmetic operation unit 412 generates a predictive residual D between the input image and the predictive image. The amount of data in the predictive residual D obtained as described above is less than that of the original image data. Therefore, the amount of data can be more compressed than in a case where the image is encoded without alteration.
[00478] In Step S404, the transform unit 413 performs a transform process on the predictive residual D generated in the process of Step S403 and derives a transform coefficient Coeff. It should be noted that the transform process is an inverse process to the inverse transform process of Step S407 and an inverse process to the inverse transform process performed in the image decoding process described above. Details of the process in Step S404 will be described below.
[00479] In Step S405, quantization unit 414 quantizes the transform coefficient Coeff obtained from the process in Step S404 using a quantization parameter calculated by control unit 411 or similar and derives a quantized transform coefficient level.
[00480] In Step S406, the inverse quantization unit 416 performs inverse quantization at the quantized transform coefficient level generated from the Step S405 process using features corresponding to those of the Step S405 quantization and derives a transform coefficient Coeff_IQ.
[00481] In Step S407, the inverse transform unit 417 performs an inverse transform on the transform coefficient Coeff_IQ obtained from the process in Step S406 using a method corresponding to the transform process in Step S404 and derives a predictive residual D'. It should be noted that the inverse transform process is performed similarly to the inverse transform process performed in the decoding process. Petition 870190056776, dated 06 / 19 / 2019, page 127 / 305 119 / 215 of the image described above.
[00482] In Step S408, the arithmetic operation unit 418 generates a decoded image that was locally decoded by adding the predictive image obtained from the prediction process of Step S402 to the predictive residue D derived from the process of Step S407.
[00483] In Step S409, frame memory 419 stores the decoded image that was locally decoded from the Step S408 process.
[00484] In Step S410, encoding unit 415 encodes the quantized transform coefficient level obtained from the process in Step S405. For example, encoding unit 415 encodes the quantized transform coefficient level, which is information pertaining to the image, using arithmetic or similar coding and generates encoded data. Furthermore, at this point, encoding unit 415 encodes several encoding parameters (Hinfo header information, Pinfo prediction mode information, and Tinfo transform information). Additionally, encoding unit 415 derives residual RInfo information from the quantized transform coefficient level and encodes the residual RInfo information.
[00485] In Step S411, the encoding unit 415 places the encoded data of the various types of information generated as described above and sends the data as a bitstream to the outside of the image encoding device 400. The bitstream is transmitted to the decoding side via, for example, a transmission path or a recording medium. When the process of Step S411 ends, the image encoding process ends. <Fluxo do processo de transformada>
[00486] Next, an example of the transform process flow executed in Step S404 of FIG. 54 will be described with Petition 870190056776, dated 06 / 19 / 2019, pp. 128 / 305 120 / 215 reference to the flowchart in FIG. 55. When the transform process is initiated, switch 431 determines whether the transform jump flag ts_flag is 2D_TS (a case where the flag indicates a two-dimensional transform jump) in Step S421 or the transform quantization bypass flag transquant_bypass_flag is (true). In a case where the transform jump flag ts_flag is determined to be 2D_TS or the transform quantization bypass flag is determined to be 1 (true), the transform process terminates and the process returns to FIG. 54. In this case, the switch 431 omits the orthogonal transform process (the primary transform or the secondary transform) and produces the predictive input residue D to the outside of the transform unit 413 (provides it to the quantization unit 414) as a transform coefficient Coeff.
[00487] Furthermore, in a case where the transform jump flag ts_flag is determined to be non-2D_TS (not indicating the two-dimensional transform jump) and the transform quantization shift flag is determined to be 0 (false) in Step S421 of FIG. 55, the process proceeds to Step S422. In this case, switch 431 provides the predictive input residue D to the primary transform unit 432.
[00488] The primary transform unit 432 performs the primary transform on the predictive residue D based on the adaptive primary transform information of a color signal specified by the color signal identifier compID and produces the transform coefficient Coeff_P that underwent the primary transform. More specifically, in Step S422, the primary transform unit 432 identifies whether the color signal identifier compID is luminance or chrominance.In a case where the color signal identifier compID is determined to indicate a chrominance (compID != COMPONENT_Y), the process proceeds to Step S423. Petition 870190056776, dated 06 / 19 / 2019, page 129 / 305 121 / 215
[00489] In Step S423, the adaptive primary chrominance transform information derivation unit 441 executes an adaptive primary chrominance transform information derivation process and derives the primary transform identifier pt_idx[compID] from a block of chrominance transforms based on an adaptive primary transform flag apt_flag[compID] (compID=COMPONENT_Cb or COMPONENT_Cr) from the block of chrominance transforms and a primary transform identifier pt_idx[COMPONENT_Y] from a block of luminance transforms corresponding to the block of chrominance transforms. It should be noted that since the process is similar to the adaptive primary chrominance transform information derivation process (FIG.15) performed by the image decoding apparatus 100 (the adaptive primary chrominance transform information derivation unit 131) described in the first embodiment, the description thereof will be omitted. In other words, the description provided with reference to the flowchart in FIG. 15 can also be applied to the description of the adaptive primary chrominance transform information derivation process performed by the adaptive primary chrominance transform information derivation unit 441.
[00490] When the process in Step S423 finishes, the process proceeds to Step S424. Additionally, in a case where the color signal identifier compID is determined to indicate luminance (compID==COMPONENT_Y) in Step S422, the process proceeds to Step S424.
[00491] In Step S424, the primary transform selection unit 442 executes a primary transform selection process, derives a transform type TrTypeIdxH from a primary horizontal transform and a transform type TrTypeIdxV from a primary vertical transform. Petition 870190056776, dated 06 / 19 / 2019, pp. 130 / 305 122 / 215 color signal specified by the color signal identifier compID with reference to the prediction mode information PInfo, the color signal identifier compID, the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID and the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID, and produces each of the transform types for the primary horizontal transform unit 443 and the primary vertical transform unit 444.
[00492] In Step S425, the primary horizontal transform unit 443 performs the primary horizontal transform Phor defined by the transform type TrTypeIdxH of the primary horizontal transform and the height of the transform block engraving on the predictive residue D of the transform block for each transform block specified by the color signal identifier compID and produces the result as a transform coefficient Coeff_Phor that has passed through the primary horizontal transform.
[00493] In Step S426, the primary vertical transform unit 444 performs the primary vertical transform Pver defined by the transform type TrTypeIdxV of the primary vertical transform and the height of the transform block engraving on the transform coefficient Coeff_Phor of the transform block that went through the primary horizontal transform for each transform block specified by the color signal identifier compID and produces the result as the transform coefficient Coeff_P that went through the primary transform.
[00494] In Step S427, the secondary transform unit 433 performs the secondary transform on the input primary transform coefficient Coeff_P based on the secondary transform identifier st_idx and derives and produces the transform coefficient Coeff. When the process in Step S427 finishes, the transform process ends and the process returns. Petition 870190056776, dated 06 / 19 / 2019, page 131 / 305 123 / 215 to FIG. 54. <Fluxo de processo de seleção de transformada primária>
[00495] Next, an example of the primary transform selection process flow performed in Step S424 of FIG. 55 will be described with reference to the flowchart in FIG. 56.
[00496] When the primary transform selection process is initiated, primary transform selection unit 442 determines whether the adaptive primary transform flag apt_flag[compID] of the color signal corresponding to the color signal identifier compID is 1 (true) in Step S431. In a case where the adaptive primary transform flag apt_flag[compID] is determined to be 1 (true), the process proceeds to Step S432.
[00497] In Step S432, the primary transform selection unit 442 selects a set of TrSetV transforms (set of primary horizontal transforms) from the primary vertical transform and a set of TrSetH transforms (set of primary vertical transforms) from the primary horizontal transform based on the prediction mode information PInfo.
[00498] In Step S433, the primary transform selection unit 442 derives a primary horizontal transform specification flag pt_hor_flag and a primary vertical transform specification flag pt_ver_flag from the primary transform identifier pt_idx[compID] of the color signal corresponding to the color signal identifier compID.
[00499] In Step S434, the primary transform selection unit 442 selects the transform type TrTypeIdxH from an applied orthogonal transform as the primary horizontal transform IPThor with reference to the set of primary horizontal transforms TrSetH and the primary horizontal transform specification flag pt_hor_flag. Petition 870190056776, dated 06 / 19 / 2019, page 132 / 305 124 / 215
[00500] In Step S435, the primary transform selection unit 442 selects the transform type TrTypeIdxV from an applied orthogonal transform as the inverse primary vertical transform IPTver with reference to the set of primary vertical transforms TrSetV and the primary vertical transform specification flag pt_ver_flag. When the Step S435 process finishes, the primary transform selection process ends and the process returns to FIG. 55.
[00501] Furthermore, in Step S431, in a case where it is determined that the adaptive primary transform flag apt_flag[compID] is 0 (false), the process proceeds to Step S436. In Step S436, the primary transform selection unit 442 selects a predetermined orthogonal transform as the transform type TrTypeIdxH of the primary horizontal transform IPThor (TrTypeIdxH = predetermined value).
[00502] Furthermore, in Step S437, the primary transform selection unit 442 selects a predetermined orthogonal transform as the transform type TrTypeIdxV of the primary vertical transform IPTver (TrTypeIdxV = predetermined value). When the process in Step S437 ends, the primary transform selection process ends and the process returns to FIG. 56.
[00503] That is, the primary transform unit 432 derives the transform type TrTypeIdxH from the inverse primary horizontal transform IPThor and the transform type TrTypeIdxV from the inverse primary vertical transform IPTver using the method according to the value of the adaptive primary transform flag apt_flag[compID] of the chrominance. <Fluxo de processo de codificação de informações de transformada primária>
[00504] Encoding unit 415 encodes the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx generated by transform unit 413. However, the Petition 870190056776, dated 06 / 19 / 2019, page 133 / 305 The 125 / 215 encoding unit 415 can encode the adaptive primary transform flag apt_flag and the luminance primary transform identifier pt_idx and cause the flag and identifier to be flagged, and it can choose not to encode the adaptive primary transform flag apt_flag and the chrominance primary transform identifier pt_idx.
[00505] An example of the flow of a primary transform information encoding process executed by encoding unit 415 to perform the encoding described above will be described with reference to the flowchart in FIG. 57. When the primary transform information encoding process is initiated, encoding unit 415 determines whether a processing object is luminance or not in Step S441. In a case where the processing object is determined to be luminance (compID == COMPONENT_Y), the process proceeds to Step S442. In Step S442, encoding unit 415 encodes the adaptive primary transform flag apt_flag[COMPONENT_Y] for luminance (causes the flag to be flagged). Additionally, encoding unit 415 encodes the primary transform identifier pt_idx[COMPONENT_Y] for luminance (causes the flag to be flagged) in Step S443.When the S443 Step process finishes, the primary transform information encoding process ends.
[00506] Note that encoding unit 415 determines whether or not the processing object is a chrominance in Step S441. In a case where the processing object is determined to be a chrominance (compID != COMPONENT_Y), the processes in Step S442 and Step S443 are omitted, i.e., the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx are not flagged and the primary transform information encoding process terminates. Petition 870190056776, dated 06 / 19 / 2019, page 134 / 305 126 / 215
[00507] By executing each process as described above, the selected adaptive primary transform for luminance can be applied to the chrominance transform block in the case where the chrominance residual signal has a similar trend to the luminance residual signal. Therefore, the primary transform process with additionally improved encoding efficiency can be performed on the chrominance residual signal compared to related technique technologies. Furthermore, since it is not necessary to encode the chrominance adaptive primary transform information, the amount of encoding process can be reduced more than in the case where the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx are explicitly encoded for each luminance and chrominance. <Processo de derivação de informações de transformada primária adaptativa de crominância>
[00508] It should be noted that the adaptive primary chrominance transform information derivation unit 441 has a similar configuration and performs similar processes to the adaptive primary chrominance transform information derivation unit 131. That is, the adaptive primary chrominance transform information derivation unit 441 can perform the adaptive primary chrominance transform information derivation process in a similar way to the adaptive primary chrominance transform information derivation unit 131.Therefore, the 400 image encoding device can make it possible to apply the adaptive primary transform also to chrominance and additionally infer the adaptive primary transform flag apt_flag and the primary transform identifier pt_idx from the chrominance adaptive primary transform flag apt_flag and the primary transform identifier pt_idx at all times, as indicated in line no. 1 in the table of FIG. 7, and therefore. Petition 870190056776, dated 06 / 19 / 2019, pp. 135 / 305 127 / 215 effects similar to those of the image decoding device 100 can be obtained.
[00509] Similarly, the image encoding device 400 can make it possible to apply the adaptive primary transform to chrominance as well; additionally, it can set the value of the adaptive primary transform flag apt_flag[Cb / Cr] for chrominance to the value of the adaptive primary transform flag apt_flag[Y] for luminance in the case where the prediction type of a coding block to which a block of transforms to be processed belongs is interprediction (CuPredMode == MODE_INTER), for example, and it can set the adaptive primary transform flag apt_flag[Cb / Cr] for chrominance to 0 (false) in the case where the prediction type of the coding block is intraprediction, as indicated in line 2 of the table in FIG. 7. That is, effects similar to those of the image decoding device 100 can be obtained in this case as well.
[00510] Similarly, the 400 image encoding device can make it possible to apply the adaptive primary transform to chrominance as well, and additionally it can set the adaptive primary transform flag value of apt_flag[Cb / Cr] for chrominance to the adaptive primary transform flag value of apt_flag[Y] for luminance in the case where the prediction type of the encoding block to which the transform block to be processed belongs is interprediction or intraprediction where the prediction modes for luminance and chrominance correspond to each other, for example, and it can set the adaptive primary transform flag of apt_flag[Cb / Cr] for chrominance to 0 (false) in the case where the prediction type of the encoding block is intraprediction where the prediction modes for luminance and chrominance do not correspond to each other as indicated in line no. 3 in the table of FIG. 7.In other words, effects similar to those of the image decoding device 100. Petition 870190056776, dated 06 / 19 / 2019, page 136 / 305 128 / 215 can also be obtained in this case.
[00511] Similarly, the 400 image encoding device can make it possible to apply the adaptive primary transform to chrominance as well, and additionally it can set the value of the adaptive primary transform flag apt_flag[Cb / Cr] for chrominance to the value of the adaptive primary transform flag apt_flag[Y] for luminance in the case where the prediction type of the encoding block to which the transform block to be processed belongs is interprediction or intraprediction where the prediction mode is intrablock copy, for example, and it can set the value of the adaptive primary transform flag apt_flag[Cb / Cr] for chrominance to 0 (false) in the case where the prediction type of the encoding block is intraprediction where the prediction mode is not intrablock copy (IntraBC; also called screen motion compensation), as indicated in line no. 4 in the table of FIG. 7.In other words, effects similar to those of the image decoding device 100 can also be obtained in this case.
[00512] Similarly, the 400 image encoding device can make it possible to apply the adaptive primary transform to chrominance as well, and additionally it can set the adaptive primary transform flag apt_flag[Cb / Cr] of chrominance to the value of the adaptive primary transform flag apt_flag[Y] of luminance in a case where an adaptive primary transform information inference flag of chroma_apt_info_infer_flag indicates whether the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance is inferred based on the adaptive primary transform flag apt_flag[Y] of luminance to be 1 (true), for example, and can set the value of the adaptive primary transform flag apt_flag[Cb / Cr] of a chrominance to 0 (false) in a case where the information inference flag of primary adaptive transformation Petition 870190056776, dated 06 / 19 / 2019, page 137 / 305 129 / 215 of chrominance chroma_apt_info_infer_flag is 0 (false), as indicated in line no. 5 of the table in FIG. 7. In this way, it is possible to explicitly control whether the value of the adaptive primary luminance transform flag should be used using the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag. That is, effects similar to those of the image decoding device 100 can be obtained in this case as well.
[00513] An example of the flow of a process for encoding an adaptive primary chrominance transform information inference flag to encode an adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag will be described with reference to the flowchart in FIG. 58.
[00514] When the chrominance adaptive primary transform information inference flag encoding process is initiated, encoding unit 415 determines whether a processing object is a chrominance or not in Step S451. If the processing object is determined to be a chrominance, the process proceeds to Step S452. In Step S452, encoding unit 415 determines whether the luminance adaptive primary transform flag apt_flag[COMPONENT_Y] is true. If the flag is determined to be true, the process proceeds to Step S453. In Step S453, encoding unit 415 determines whether the transquant_bypass_enabled_flag enabled transform flag transquant_bypass_enabled_flag is false. If the flag is determined to be false, the process proceeds to Step S454.In Step S454, encoding unit 415 determines whether the chrominance transform jump flag ts_flag is false. In a case where the chrominance transform jump flag ts_flag is determined to be false, the process proceeds to Step S455. In Step S455, a. Petition 870190056776, dated 06 / 19 / 2019, page 138 / 305 130 / 215 encoding unit 415 encodes the adaptive primary chrominance transform information inference flag chroma_apt_info_infer_flag. When the S455 Step process finishes, the chrominance primary adaptive transform information inference flag encoding process ends and the process returns to FIG. 54.
[00515] It should be noted that in the case where the processing object is determined to be luminance in Step S451 of FIG. 58, the chrominance adaptive primary transform information inference flag encoding process terminates and the process returns to FIG. 54. Furthermore, in a case where the luminance adaptive primary transform flag apt_flag[COMPONENT_Y] is determined to be false in Step S452, the chrominance adaptive primary transform information inference flag encoding process terminates, and the process returns to FIG. 54. Additionally, in a case where the transquant_bypass_enabled_flag enabled transform quantization bypass flag is determined to be true in Step S453, the chrominance adaptive primary transform information inference flag encoding process terminates, and the process returns to FIG. 54.Furthermore, in a case where the chrominance ts_flag transform jump flag is determined to be true in Step S454, the encoding process of the chrominance adaptive primary transform information inference flag terminates, and the process returns to FIG. 54.
[00516] In addition, the 400 image encoding device can make it possible to apply the adaptive primary transform to chrominance as well, and additionally it can set the value of the adaptive primary transform flag apt_flag[Cb / Cr] for chrominance to the value of the adaptive primary transform flag apt_flag[Y] for luminance in the case where the Petition 870190056776, dated 06 / 19 / 2019, page 139 / 305 131 / 215 The size of the short side of the chrominance transform block to be processed is greater than or equal to a predetermined threshold value, for example, and can set the value of the adaptive primary transform flag apt_flag[Cb / Cr] of the chrominance to 0 (false) in a case where the size of the short side of the transform block is less than the threshold value, as indicated in line 6 in the table of FIG. 7. That is, effects similar to those of the image decoding device 100 can be obtained in this case as well.
[00517] Similarly, the 400 image encoding device can enable the application of the adaptive primary (inverse) transform to chrominance as well, and additionally, it can define the transform type of the primary (inverse) horizontal transform as a predetermined transform type in a case where the engraving width of a transform block with the chrominance to be processed is equal to or less than a predetermined threshold value, for example, and it can define the transform type of the primary (inverse) horizontal transform based on a set of horizontal transforms and a primary horizontal transform specification flag in a case where the engraving width of the transform block is greater than the threshold value, as indicated in line 7 in the table of FIG. 7.Furthermore, similarly, in a case where the engraving height of the transform block with a chrominance to be processed is equal to or less than a predetermined threshold value, the transform type of the primary (inverse) vertical transform can be defined as a predetermined transform type, and in a case where the engraving height of the transform block is greater than the threshold value, the transform type of the primary (inverse) vertical transform can be defined based on a set of vertical transforms and a primary vertical transform specification flag. That is, effects similar to those of the device. Petition 870190056776, dated 06 / 19 / 2019, page 140 / 305 132 / 215 image decoding 100 can also be obtained in this case.
[00518] Naturally, the plurality of cases described above can be arbitrarily combined, as in the case of the image encoding device 400. Furthermore, each of the cases described above can also be combined with other cases not described above. That is, effects similar to those of the image decoding device 100 can be obtained in this case as well. <6. Fifth modality>
[00519] <ts_flag>
[00520] Information regarding an orthogonal (inverse) transform may include a transform jump flag ts_flag indicating whether an orthogonal (inverse) transform process should be skipped, as in the case of decoding. By deriving each of a transform jump flag ts_flag[Cb] from a chrominance (Cb) and a transform jump flag ts_flag[Cr] from a chrominance (Cr) based on a transform jump flag ts_flag[Y] from luminance, for example, an increase in the overhead of the amount of code from the chrominance-flagged syntax (Cb / Cr) may also be restrained. <Exemplo básico 1>
[00521] The transform jump flag ts_flag of a chrominance is inferred from the transform jump flag ts_flag of the luminance at all times, for example, as indicated in line no. 1 in FIG. 27. For example, a value of the transform jump flag ts_flag[compID] of a chrominance can be defined as a value of the transform jump flag ts_flag[COMPONENT_Y] of luminance.
[00522] In this case, control unit 411 executes a transform jump flag encoding process and controls the encoding of the transform jump flag ts_flag. An example of the flow of Petition 870190056776, dated 06 / 19 / 2019, page 141 / 305 133 / 215 The transform jump signal encoding process will be described with reference to the flowchart in FIG. 59.
[00523] When the transform jump flag encoding process is initiated, each of the processes from Step S461 to Step S464 of FIG. 59 is executed similarly to each of the processes from Step S241 to Step S244 of the transform jump flag derivation process of FIG. 29.
[00524] When the processing object is determined to be a chrominance (compID != COMPONENT_Y) in Step S464, the process proceeds to Step S465. In Step S465, control unit 411 sets the transform jump flag value ts_flag[compID] of chrominance to the transform jump flag value ts_flag[COMPONENT_Y] of luminance (ts_flag[compID] == ts_flag[COMPONENT_Y]). When the Step S465 process finishes, the transform jump flag encoding process ends. That is, in this case, the transform jump flag ts_flag[compID] of chrominance can be derived from the transform jump flag ts_flag[COMPONENT_Y] of luminance in a similar way on the decoding side, and thus the flag is not signaled.
[00525] Furthermore, in a case where the processing object is determined to be luminance (compID == COMPONENT_Y) in Step S464, the process proceeds to Step S466. In Step S466, control unit 411 sets an arbitrary value for the luminance transform jump flag ts_flag[compID]. Then, control unit 411 provides the luminance transform jump flag ts_flag[compID] to encoding unit 415 to cause the flag to be encoded in Step S467. When the Step S467 process finishes, the transform jump flag encoding process ends. That is, in this case, the transform jump flag Petition 870190056776, dated 06 / 19 / 2019, page 142 / 305 134 / 215 ts_flag[compID] of luminance is signaled (transmitted). The decoding side obtains the ts_flag[compID] transform hopping flag of luminance through extraction and decoding using a bitstream.
[00526] That is, in the case of<Exemplo básico 1> In this way, all luminance ts_flag transform jump flags are signaled, and all chrominance ts_flag transform jump flags are not signaled. Therefore, the transmission (encoding and decoding) of the chrominance ts_flag transform jump flag can be omitted, thus preventing deterioration in coding efficiency. Furthermore, an increase in encoding and decoding load can also be avoided. <Exemplo modificado 1>
[00527] Furthermore, as in line 2 of FIG. 27, for example, in the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction, the value of the transform jump flag ts_flag[compID] of chrominance can be set to the value of the transform jump flag ts_flag[COMPONENT_Y] of luminance, and in the case where the prediction type of the coding block is intraprediction, the transform jump flag ts_flag[compID] of chrominance can be flagged (that is, the transform jump flag ts_flag[compID] of chrominance can be decoded from the encoded data).
[00528] An example of the transform jump signal encoding process flow in this case will be described with reference to the flowchart in FIG. 60. Each of the processes from Step S471 to Step S475 is executed similarly to each of the processes from Step S251 to Step S255 in FIG. 31.
[00529] That is, in a case where the processing object is determined as the chrominance in Step S474 and the prediction type is Petition 870190056776, dated 06 / 19 / 2019, page 143 / 305 135 / 215 interpretation in Step S475, the process proceeds to Step S476. In Step S476, control unit 411 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y] (ts_flag[compID] == ts_flag[COMPONENT_Y]). When the Step S476 process finishes, the transform jump flag encoding process ends. That is, in this case, the decoding side can similarly derive the transform jump flag ts_flag[compID] from the transform block in the case of chrominance and interpretation of the luminance transform jump flag ts_flag[COMPONENT_Y], and thus the flag is not signaled.
[00530] On the other hand, in a case where the processing object is determined to be luminance (compID == COMPONENT_Y) in Step S474 or a case where the prediction type is determined to be interprediction in Step S475, the process proceeds to Step S477. In Step S477, control unit 411 sets an arbitrary value for the transform jump flag ts_flag[compID]. Then, in Step S478, control unit 411 provides the transform jump flag ts_flag[compID] to encoding unit 415 to cause the flag to be encoded. When the process in Step S478 finishes, the transform jump flag encoding process ends. That is, in this case, the transform jump flag ts_flag[compID] of the transform block in the case of luminance or intraprediction is signaled (transmitted).The decoding side can obtain the ts_flag[compID] transform jump flag through extraction and decoding using a bitstream.
[00531] That is, in the case of<Exemplo modificado 1> , the luminance transform jump flag ts_flag and the transform jump flag ts_flag of the transform block from which the prediction mode is Petition 870190056776, dated 06 / 19 / 2019, page 144 / 305 136 / 215 intraprediction signals are activated, and the ts_flag transform jump flag for chrominance, where the prediction mode is interprediction, is not activated. Therefore, the transmission (encoding and decoding) of the ts_flag transform jump flag for chrominance can be omitted only in the case of interprediction mode, where the trends of the residual signals are similar, thus preventing deterioration in encoding efficiency. Furthermore, an increase in encoding and decoding load can also be avoided. <Exemplo modificado 2>
[00532] Furthermore, in the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction as in line 3 of FIG. 27, or intraprediction where the prediction modes for luminance and chrominance correspond to each other, for example, the value of the transform jump flag ts_flag[compID] of chrominance can be set to the value of the transform jump flag ts_flag[COMPONENT_Y] of luminance, in the case where the prediction type of the coding block is intraprediction where the prediction modes for luminance and chrominance do not correspond to each other, the transform jump flag ts_flag[compID] of chrominance can be flagged (that is, the transform jump flag ts_flag[compID] of chrominance can be decoded from the encoded data).
[00533] An example of the transform jump signal encoding process flow in this case will be described with reference to the flowchart in FIG. 61. Each of the processes from Step S481 to Step S486 is executed similarly to each of the processes from Step S261 to Step S266 in FIG. 33.
[00534] That is, in a case where the processing object is determined as a chrominance in Step S484 and the prediction type is Petition 870190056776, dated 06 / 19 / 2019, pages 145 / 305 137 / 215 determined as interprediction in Step S485 or determined as intraprediction in Step S485, and a case where the prediction modes for luminance and chrominance match each other in Step S486, the process proceeds to Step S487. In Step S487, control unit 411 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y] (ts_flag[compID] == ts_flag[COMPONENT_Y]). When the Step S487 process ends, the transform jump flag encoding process ends. That is, in this case, also in the case of intraprediction where the prediction modes for luminance and chrominance match each other, as well as under the condition of<Exemplo modificado 1> The trends of the residual signals are similar, and thus the ts_flag[compID] transform jump flag is not flagged.
[00535] On the other hand, in a case where the processing object is determined to be luminance (compID == COMPONENT_Y) in Step S484 or a case where the prediction type is determined to be intraprediction where the prediction modes for luminance and chrominance do not match each other in Step S486, the process proceeds to Step S488. In Step S488, control unit 411 sets an arbitrary value for the transform jump flag ts_flag[compID]. Then, in Step S489, control unit 411 provides the transform jump flag ts_flag[compID] to encoding unit 415 to cause the flag to be encoded. When the Step S489 process finishes, the transform jump flag encoding process ends.That is, in this case, the luminance transform jump flag ts_flag[compID] and the transform jump flag ts_flag[compID] of the transform block for intraprediction where the prediction modes for luminance and chrominance are not. Petition 870190056776, dated 06 / 19 / 2019, page 146 / 305 138 / 215 correspond to each other and are signaled (transmitted). The decoding side can obtain the ts_flag[compID] transform jump flag through extraction and decoding using a bitstream.
[00536] That is, in the case of<Exemplo modificado 2> The luminance ts_flag transform jump flag and the transform block ts_flag transform jump flag for intraprediction, where the prediction modes for luminance and chrominance do not match each other, are signaled, while other ts_flag transform jump flags are not signaled. In this way, the transmission (encoding and decoding) of the chrominance ts_flag transform jump flag can be omitted only in the case of the interprediction mode where the trends of the residual signals are similar, and therefore the deterioration in coding efficiency can be mitigated.Furthermore, an increase in encoding and decoding load can also be curbed. <Exemplo modificado 3>
[00537] Furthermore, in the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction as in line 4 of FIG. 27, or intraprediction where the prediction mode is intrablock copy, for example, the value of the transform jump flag ts_flag[compID] of chrominance can be set to the value of the transform jump flag ts_flag[COMPONENT_Y] of luminance, in the case where the prediction type of the coding block is intraprediction where the prediction modes for luminance and chrominance do not match each other, the transform jump flag ts_flag[compID] of chrominance can be flagged (that is, the transform jump flag ts_flag[compID] of chrominance can be decoded from the encoded data).
[00538] An example of the transform jump signal encoding process flow in this case will be described with reference Petition 870190056776, dated 06 / 19 / 2019, page 147 / 305 139 / 215 to the flowchart in FIG. 62. Each of the processes from Step S491 to Step S496 is executed similarly to each of the processes from Step S271 to Step S276 in FIG. 35.
[00539] That is, in a case where the processing object is determined as a chrominance in Step S494 and the prediction type is determined as interprediction in Step S495, or a case where the prediction type is determined as intraprediction where the prediction mode is intrablock copy in Step S495 and in Step S496, the process proceeds to Step S497. In Step S497, control unit 411 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y] (ts_flag[compID] == ts_flag[COMPONENT_Y]). When the Step S497 process finishes, the transform jump flag encoding process ends.In other words, in this case, also in the case of intraprediction where the prediction mode is intrablock copy, as well as under the condition of<Exemplo modificado 1> The trends of the residual signals are similar, and thus the ts_flag[compID] transform jump flag is not flagged.
[00540] On the other hand, in a case where the processing object is determined to be luminance (compID == COMPONENT_Y) in Step S494 or a case where the prediction type is determined to be intraprediction where the prediction mode is not intrablock copy in Steps S495 and S496, the process proceeds to Step S498. In Step S498, control unit 411 sets an arbitrary value for the transform jump flag ts_flag[compID]. Then, in Step S499, control unit 411 provides the transform jump flag ts_flag[compID] to encoding unit 415 to cause the flag to be encoded. When the process in Step S499 finishes, the transform jump flag encoding process ends. Or Petition 870190056776, dated 06 / 19 / 2019, page 148 / 305 140 / 215, in this case, the luminance transform jump flag ts_flag[compID] and the transform block jump flag ts_flag[compID] for intraprediction where the prediction mode is not intrablock copy are signaled (transmitted). The decoding side can obtain the transform jump flag ts_flag[compID] through extraction and decoding using a bitstream.
[00541] That is, in the case of<Exemplo modificado 3> The luminance ts_flag transform jump flag and the intraprediction transform block ts_flag transform jump flag where the prediction mode is not intrablock copy are signaled, while other ts_flag transform jump flags are not signaled. In this way, the transmission (encoding and decoding) of the chrominance ts_flag transform jump flag can be omitted only in the case of the interprediction mode where the trends of the residual signals are similar, and therefore the deterioration in encoding efficiency can be mitigated. Furthermore, an increase in encoding and decoding load can also be mitigated. <Exemplo modificado 4>
[00542] Furthermore, in the case where the chrominance transform jump information inference flag chroma_ts_info_info_infer_flag is 1 (true) as in line 5 of FIG. 27, for example, the value of the chrominance transform jump flag ts_flag[compID] can be set to the value of the luminance transform jump flag ts_flag[COMPONENT_Y], and in the case where the chrominance transform jump information inference flag chroma_ts_info_info_infer_flag is 0 (false), the chrominance transform jump flag ts_flag[compID] can be flagged (i.e., the chrominance transform jump flag ts_flag[compID] can be decoded from the data). Petition 870190056776, dated 06 / 19 / 2019, page 149 / 305 141 / 215 coded).
[00543] An example of the transform jump signal encoding process flow in this case will be described with reference to the flowchart in FIG. 63. Each of the processes from Step S501 to Step S504 is executed similarly to each of the processes from Step S281 to Step S284 in FIG. 38.
[00544] That is, in a case where the chrominance transform jump information inference flag chroma_ts_info_infer_flag is determined to be true in Step S504, the process proceeds to Step S505. In Step S505, control unit 411 sets the value of the chrominance transform jump flag ts_flag[compID] to the value of the luminance transform jump flag ts_flag[COMPONENT_Y] (ts_flag[compID] == ts_flag[COMPONENT_Y]). When the Step S505 process finishes, the transform jump flag encoding process ends.
[00545] On the other hand, the chrominance transform jump information inference flag chroma_ts_info_infer_flag is determined to be false in Step S504, the process proceeds to Step S506. In Step S506, control unit 411 sets an arbitrary value for the transform jump flag ts_flag[compID]. Then, control unit 411 provides the transform jump flag ts_flag[compID] to encoding unit 415 and causes the flag to be encoded in Step S507. When the Step S507 process finishes, the transform jump flag encoding process ends.
[00546] That is, in the case of<Exemplo modificado 4> It is explicitly controlled whether to signal the ts_flag[compID] transform jump flag using the chrominance transform jump information inference flag. Petition 870190056776, dated 06 / 19 / 2019, pp. 150 / 305 142 / 215 chroma_ts_info_infer_flag. Therefore, it is possible to easily ensure that the luminance transform jump flag value is used only in cases where a sufficiently large effect can be achieved, thus further curbing the deterioration in encoding efficiency. Additionally, an increase in encoding and decoding load can also be mitigated. <7. Sixth modality>
[00547] <st_idx>
[00548] As in the case of decoding, a secondary transform identifier st_idx indicating which secondary (inverse) transform should be applied can be included in the information relating to an orthogonal (inverse) transform. By deriving a secondary transform identifier chroma_st_idx of a chrominance (common to Cb and Cr) based on a secondary transform identifier st_idx[Y] of luminance, for example, an increase in the overhead of the amount of code in the syntax by which chrominance (Cb or Cr) is signaled can also be restrained. <Exemplo básico 1>
[00549] For example, a secondary transform identifier st_idx of a chrominance can be inferred from the secondary transform identifier st_idx of the luminance at all times as indicated in line no. 1 of FIG. 39. For example, the secondary transform identifier chroma_st_idx of the chrominance can be defined as the value of the secondary transform identifier st_idx of the luminance.
[00550] In this case, control unit 411 executes the secondary transform identifier encoding process for chrominance and controls the encoding of the secondary transform identifier chroma_st_idx for chrominance. An example of the secondary transform identifier encoding process flow for chrominance Petition 870190056776, dated 06 / 19 / 2019, page 151 / 305 143 / 215 will be described with reference to the flowchart in FIG. 64.
[00551] When the secondary transform identifier encoding process for chrominance is initiated, each of the processes from Step S511 to Step S514 of FIG. 64 is executed similarly to each of the processes from Step S291 to Step S294 of the secondary transform identifier encoding process for chrominance in FIG. 42.
[00552] In this way, the transmission (encoding and decoding) of the chrominance secondary transform identifier chroma_ts_flag can be omitted, and thus the deterioration in encoding efficiency can be prevented. In addition, an increase in encoding and decoding load can also be prevented. <Exemplo modificado 1>
[00553] In the case where the prediction type of the coding block to which the block of transforms to be processed belongs is interprediction, the value of the secondary transform identifier chroma_st_idx of chrominance can be defined as the value of the secondary transform identifier st_idx of luminance as described with reference to line 2 of FIG. 39, and in the case where the prediction type of the coding block is intraprediction, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).
[00554] In this case, control unit 411 executes the secondary transform identifier encoding process for chrominance and controls the encoding of the secondary transform identifier chroma_st_idx from chrominance. An example of the secondary transform identifier encoding process flow for chrominance will be described with reference to the flowchart in FIG. 65. Petition 870190056776, dated 06 / 19 / 2019, page 152 / 305 144 / 215
[00555] When the secondary transform identifier encoding process for chrominance is initiated, each of the processes from Step S521 to Step S524 of FIG. 65 is executed similarly to each of the processes from Step S301 to Step S304 of the secondary transform identifier encoding process for chrominance in FIG. 44.
[00556] That is, in a case where the prediction type is determined as interprediction in Step S524, the process proceeds to Step S525. In Step S525, control unit 411 sets the value of the secondary transform identifier chroma_st_idx of chrominance to the value of the secondary transform identifier st_idx of luminance (chroma_st_idx == st_idx). When the process in Step S525 finishes, the process of encoding the secondary transform identifier for chrominance ends. That is, in this case, the decoding side can similarly derive the secondary transform identifier chroma_st_idx from the transform block in the case of chrominance and interprediction from the secondary transform identifier st_idx of luminance, and thus the identifier is not signaled.
[00557] On the other hand, in a case where the prediction type is determined as intraprediction in Step S524, the process proceeds to Step S526. In Step S526, control unit 411 sets an arbitrary value for the secondary transform identifier chroma_st_idx of chrominance. Then, in Step S527, control unit 411 provides the secondary transform identifier chroma_st_idx of chrominance to encoding unit 415 to cause the identifier to be encoded. When the process in Step S527 finishes, the encoding process of the secondary transform identifier for chrominance ends. That is, in this case, the secondary transform identifier chroma_st_idx of chrominance from the transform block for intraprediction is Petition 870190056776, dated 06 / 19 / 2019, page 153 / 305 145 / 215 signaled (transmitted). The decoding side can obtain the secondary transform identifier chroma_st_idx from the chrominance through extraction and decoding using a bitstream.
[00558] In this way, the transmission (encoding and decoding) of the secondary transform identifier chroma_st_idx of chrominance can be omitted only in the case of the interprediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in encoding efficiency can be restrained. In addition, an increase in encoding and decoding load can also be restrained. <Exemplo modificado 2>
[00559] Furthermore, in the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction or intraprediction, in which the prediction modes for luminance and chrominance correspond to each other, as in line 3 of FIG. 39, for example, the value of the secondary transform identifier chroma_st_idx of chrominance is defined as the value of the secondary transform identifier st_idx of luminance. Additionally, in the case where the prediction type of the coding block is intraprediction, in which the prediction modes for luminance and chrominance do not correspond to each other, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).
[00560] An example of the secondary transform identifier encoding process flow for chrominance will be described with reference to the flowchart in FIG. 66. Each of the processes from Step S531 to Step S535 is performed similarly to each of the processes from Step S311 to Step S315 in FIG. 46.
[00561] That is, in a case where it is determined that the type of Petition 870190056776, dated 06 / 19 / 2019, pp. 154 / 305 146 / 215 Prediction is interprediction in Step S534, or a case where the prediction type is determined as intraprediction in which the prediction modes for luminance and chrominance match each other in Steps S534 and S535, the process proceeds to Step S536. In Step S536, control unit 411 sets the value of the secondary transform identifier chroma_st_idx of chrominance to the value of the secondary transform identifier st_idx of luminance (chroma_st_idx == st_idx). When the process in Step S536 ends, the process of encoding the secondary transform identifier for chrominance ends. That is, also in the case of intraprediction where the prediction modes for luminance and chrominance match each other, as well as under the condition of<Exemplo modificado 1> The trends of the residual signals are similar, and thus the secondary transform identifier chroma_st_idx of chrominance may not be signaled.
[00562] On the other hand, in a case where the prediction type is determined as intraprediction in which the prediction modes for luminance and chrominance do not match each other in Step S535 (compID != COMPONENT_Y), the process proceeds to Step S537. In Step S537, control unit 411 sets an arbitrary value for the secondary transform identifier chroma_st_idx of chrominance. Then, in Step S538, control unit 411 provides the secondary transform identifier chroma_st_idx of chrominance to encoding unit 415 to cause the identifier to be encoded. When the process in Step S538 finishes, the process of encoding the secondary transform identifier for chrominance ends.
[00563] In this way, the transmission (encoding and decoding) of the secondary transform identifier chroma_st_idx of chrominance can be omitted only in the case of the prediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in efficiency of Petition 870190056776, dated 06 / 19 / 2019, pages 155 / 305 147 / 215 encoding can be mitigated. Additionally, an increase in encoding and decoding load can also be mitigated. <Exemplo modificado 3>
[00564] Furthermore, in the case where the prediction type of the coding block to which the transform block to be processed belongs is interprediction or intraprediction where the prediction mode is intrablock copy, as in line 4 of FIG. 39, for example, the value of the secondary transform identifier chroma_st_idx of chrominance is defined as the value of the secondary transform identifier st_idx of luminance. Additionally, in the case where the prediction type is intraprediction where the prediction mode is not intrablock copy, the secondary transform identifier chroma_st_idx of chrominance can be signaled (that is, the secondary transform identifier chroma_st_idx of chrominance can be decoded from the encoded data).
[00565] An example of the secondary transform identifier encoding process flow for chrominance will be described with reference to the flowchart in FIG. 67. Each of the processes from Step S541 to Step S545 is performed similarly to each of the processes from Step S321 to Step S325 in FIG. 48.
[00566] That is, in a case where it is determined that the prediction type is interprediction in Step S544, or a case where the prediction type is determined as intraprediction where the prediction mode is intrablock copy in Steps S544 and S545, the process proceeds to Step S546. In Step S546, control unit 411 sets the value of the secondary transform identifier chroma_st_idx of chrominance to the value of the secondary transform identifier st_idx of luminance (chroma_st_idx == st_idx). When the process in Step S546 ends, the process of encoding the secondary transform identifier for chrominance ends. That is, also in the case of intraprediction where the Petition 870190056776, dated 06 / 19 / 2019, pp. 156 / 305 148 / 215 prediction mode is intrablock copy, as well as under the condition of<Exemplo modificado 1> The trends of the residual signals are similar, and thus the secondary transform identifier chroma_st_idx of chrominance may not be signaled.
[00567] On the other hand, in a case where the prediction type is determined as intraprediction in which the prediction mode is not intrablock copy in Step S545, the process proceeds to Step S547. In Step S547, control unit 411 sets an arbitrary value for the secondary transform identifier chroma_st_idx of the chrominance. Then, in Step S548, control unit 411 provides the secondary transform identifier chroma_st_idx of the chrominance to encoding unit 415 to cause the identifier to be encoded. When the process in Step S548 finishes, the process of encoding the secondary transform identifier for the chrominance ends.
[00568] In this way, the transmission (encoding and decoding) of the secondary transform identifier chroma_st_idx of chrominance can be omitted only in the case of the prediction mode in which the trends of the residual signals are similar and, therefore, the deterioration in encoding efficiency can be restrained. In addition, an increase in encoding and decoding load can also be restrained. <Exemplo modificado 5>
[00569] Furthermore, as in line 5 of FIG. 39, for example, in the case where the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is 1 (true), the value of the chrominance secondary transform identifier chroma_st_idx can be set to the value of the luminance secondary transform identifier st_idx, and in the case where the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is 0 (false), the transform identifier Petition 870190056776, dated 06 / 19 / 2019, page 157 / 305 149 / 215 secondary chroma_st_idx of chrominance can be signaled (that is, the secondary chroma_st_idx transform identifier of chrominance can be decoded from the encoded data).
[00570] An example of the flow of the secondary chrominance transform identifier inference flag encoding process in this case will be described with reference to the flowchart in FIG. 68. Each of the processes from Step S551 to Step S553 is executed similarly to each of the processes from Step S331 to Step S333 in FIG. 50.
[00571] That is, control unit 411 sets the chroma_st_idx_infer_flag secondary transform identifier inference flag in Step S554 and provides the chroma_st_idx_infer_flag secondary transform identifier inference flag to encoding unit 415 so that it is encoded in Step S555.
[00572] In Step S556, control unit 411 determines whether the value of the acquired chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is true or not. In a case where the value of the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is determined to be true, the process proceeds to Step S557. In Step S557, control unit 411 applies the luminance secondary transform identifier st_idx to the chrominance secondary transform identifier chroma_st_idx.
[00573] Furthermore, in a case where the value of the chrominance secondary transform identifier inference flag chroma_st_idx_infer_flag is determined to be false in Step S556, the process proceeds to Step S558. In Step S558, control unit 411 sets the chrominance secondary transform identifier chroma_st_idx. Additionally, in Step S559, control unit 411 provides the Petition 870190056776, dated 06 / 19 / 2019, pp. 158 / 305 150 / 215 identifier for encoding unit 415 to cause the identifier to be encoded. When the S559 Step process finishes, the transform jump flag encoding process ends.
[00574] That is, in the case of<Exemplo modificado 5> It is explicitly controlled whether the chrominance secondary transform identifier chroma_st_idx should be flagged using the chrominance secondary transform identifier inference flag. Therefore, it is possible to select a more efficient method easily and reliably. Thus, the deterioration in encoding efficiency can be further restrained. In addition, an increase in encoding and decoding load can also be controlled. <8. Others> <Unidade de dados de informação>
[00575] A data unit by which information pertaining to an image and information pertaining to the encoding and decoding of the image described above are defined (or a target data unit) is arbitrary in each case and is not limited to the examples described above. For example, information may be defined in each of a transform unit (TU), a transform block (TB), a prediction unit (PU), a prediction block (PB), an encoding unit (CU), a larger encoding unit (LCU), a sub-block, a block, a grid, a slice, an engraving, a sequence, or a component, or data from data units may be targeted. Naturally, a data unit is defined for each piece of information. That is, all information may not be defined (or targeted) in the same data unit.It should be noted that the location for storing information is arbitrary, and information can be stored in the header of the data unit described above, a set of parameters, or similar. Furthermore, information can be stored in a plurality of locations. Petition 870190056776, dated 06 / 19 / 2019, page 159 / 305 151 / 215<Informações de controle>
[00576] Control information relating to the present technology described in each of the embodiments above may be transmitted from the encoding side to the decoding side. For example, control information that determines whether or not to allow (or deny) the application of the present technology described above may be transmitted. In addition, for example, control information that specifies an upper limit, a lower limit, or both of a block size that allows (or denies) the application of the present technology described above may be transmitted. <Codificação e decodificação>
[00577] The present technology can be applied to the encoding and decoding of arbitrary images, wherein a primary transform and a secondary transform (an inverse secondary transform and an inverse primary transform) are performed. That is, the specifications of a transform (inverse transform), quantization (inverse quantization), encoding (decoding), prediction, and the like are arbitrary and are not limited to the examples described above. For example, with regard to a transform (inverse transform), inverse transforms (i.e., three or more inverse transforms) other than a primary (inverse) transform and a secondary (inverse) transform can be performed. Furthermore, the encoding (decoding) can be of a reversible method or an irreversible method. In addition, quantization (inverse quantization), prediction, or the like can be omitted.In addition, a process not described above, such as a filtering process, can be performed.
[00578] <Campos de aplicação da presente tecnologia>
[00579] The system, device, processor and similar devices to which current technology is applied can be used in any field, such as traffic, medical assistance, crime prevention, agriculture, livestock, mining industry, beauty, factories, household appliances, climate, surveillance Petition 870190056776, dated 06 / 19 / 2019, page 160 / 305 152 / 215 natural or similar.
[00580] In one example, the present technology is applicable to systems and devices that transmit an image provided for viewing. Furthermore, in one example, the present technology is applicable to systems and devices provided for traffic. Furthermore, in one example, the present technology is applicable to systems and devices provided for security. Furthermore, in one example, the present technology is applicable to systems and devices provided for sports. Furthermore, in one example, the present technology is applicable to systems and devices provided for agriculture. Furthermore, in one example, the present technology is applicable to systems and devices provided for livestock farming. Furthermore, in one example, the present technology is also applicable to systems and devices for monitoring natural conditions such as volcanoes, forests, oceans, and the like.Furthermore, in one example, the present technology is applicable to climate observation systems and climate observation devices for observing weather, temperature, humidity, wind speed, sunlight duration, and the like. Additionally, in one example, the present technology is also applicable to systems, devices, or the like for observing the ecology of wildlife, such as birds, fish, reptiles, amphibians, mammals, insects, plants, and the like. <Aplicação a um sistema de codificação e decodificação de imagem com múltiplas visualizações>
[00581] The series of processes described above can be applied to a multi-view image encoding and decoding system that performs the encoding and decoding of multi-view images, including images with a plurality of views (visualizations). In this case, the present technology can be applied to the encoding and decoding of each view (visualization). <Aplicação a um sistema de codificação e decodificação de imagem Petition 870190056776, dated 06 / 19 / 2019, page 161 / 305 153 / 215 hierarchical>
[00582] Furthermore, the series of processes described above can be applied to a hierarchical image encoding (scalable encoding) and decoding system that performs encoding and decoding on hierarchical images that have been made in a plurality of layers (hierarchies) to have a scaling function relative to a predetermined parameter. In this case, the present technology can be applied to the encoding and decoding of each of the hierarchies (layers). <computador>
[00583] The series of processes described above can be executed by hardware and can also be executed in software. In the case of executing the series of processes by software, a program that forms the software is installed on a computer. Here, the term computer includes a computer embedded in hardware for special purposes, a computer capable of performing various functions by installing various programs on it, such as a general-purpose personal computer, for example, and so on.
[00584] FIG. 69 is a block diagram that illustrates an exemplary hardware configuration of a computer that executes the series of processes described above according to a program.
[00585] In the computer 800 illustrated in FIG. 69, a central processing unit (CPU) 801, read-only memory (ROM) 802 and random access memory (RAM) 803 are interconnected via a bus 804.
[00586] Additionally, an input / output interface 810 is also connected to bus 804. An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a disk unit 815 are connected to the input / output interface 810. Petition 870190056776, dated 06 / 19 / 2019, page 162 / 305 154 / 215
[00587] Input unit 811 includes a keyboard, a mouse, a microphone, a touch panel, an input terminal and the like, for example. Output unit 812 includes a monitor, a speaker, an output terminal and the like, for example. Storage unit 813 includes a hard disk, a RAM disk, non-volatile memory and the like, for example. Communication unit 814 includes a network interface, for example. Disk unit 815 drives a removable medium 821, such as a magnetic disk, an optical disk, a magneto-optical disk or semiconductor memory.
[00588] In a computer configured as above, the series of processes described above is performed by having CPU 801 load a program stored in storage unit 813 into RAM 803 via input / output interface 810 and bus 804, and execute the program, for example. Additionally, the data required for CPU 801 to execute various processes and the like are also stored in RAM 803, as appropriate.
[00589] The program executed by the computer (CPU 801) can be applied by being saved to the removable medium 821 as an instance of packaged media or similar, for example. In this case, the program can be installed on the storage unit 813 via the input / output interface 810 by inserting the removable medium 821 into the disk drive 815.
[00590] In addition, the program can also be delivered via a wired or wireless transmission medium, such as a local area network, the Internet, or digital satellite broadcasting. In this case, the program can be received by communication unit 814 and installed on storage unit 813.
[00591] Alternatively, the program can also be pre-installed on ROM 802 or storage unit 813. <Aplicação da presente tecnologia> Petition 870190056776, dated 06 / 19 / 2019, page 163 / 305 155 / 215
[00592] The image encoding apparatus 400 and the image decoding apparatus 100 according to the embodiments described above can be applied to, for example, various electronic devices such as: transmitters or receivers for satellite broadcasting, wired broadcasting such as cable TV, Internet distribution and distribution to terminals via cellular communication; recording devices that record images on media such as optical discs, magnetic discs and flash memories; or playback devices that reproduce images from the aforementioned storage media. <Primeiro exemplo de aplicação: receptor de televisão>
[00593] FIG. 70 illustrates an example of a schematic configuration of a television set to which the above-described embodiment is applied. The television set 900 has an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a loudspeaker 908, an external interface (I / F) unit 909, a control unit 910, a user interface (I / F) unit 911 and a bus 912.
[00594] Tuner 902 extracts a signal from a desired channel from a broadcast signal received through antenna 901 and demodulates the extracted signal. Then, tuner 902 sends a coded bitstream obtained from the demodulation to demultiplexer 903. That is, tuner 902 plays a role as a transmission section of the television set 900 that receives a coded stream in which the images are encoded.
[00595] Demultiplexer 903 demultiplexes a video stream and an audio stream of a program to be viewed from the encoded stream and sends the demultiplexed streams to decoder 904. In addition, demultiplexer 903 extracts ancillary data, such as a program guide. Petition 870190056776, dated 06 / 19 / 2019, page 164 / 305 156 / 215 electronically (EPG) of the encoded bitstream and provides the extracted data to the control unit 910. It should be noted that, in the case where the encoded bitstream has been scrambled, the demultiplexer 903 can perform the unscramble.
[00596] Decoder 904 decodes the video stream and audio stream input from demultiplexer 903. Then, decoder 904 sends video data generated from the decoding process to video signal processing unit 905. Additionally, decoder 904 sends audio data generated from the decoding process to audio signal processing unit 907.
[00597] The video signal processing unit 905 reproduces the video data input from the decoder 904 to cause the display unit 906 to display a video. Additionally, the video signal processing unit 905 can cause the display unit 906 to display an application screen supplied via a network. Furthermore, the video signal processing unit 905 can perform additional processing, for example, noise reduction, on the video data according to a configuration. Additionally, the video signal processing unit 905 can generate an image of a graphical user interface (GUI), for example, a menu, a button, or a cursor, and overlay the generated image onto an output image.
[00598] The display unit 906 is driven by a drive signal provided by the video signal processing unit 905 and displays a video or an image on a video plane of a display device (e.g., a liquid crystal display, a plasma display, an organic electroluminescence (OLED) display, etc.).
[00599] The audio signal processing unit 907 performs a playback process including D / A conversion and amplification at the audio data input of the decoder 904 and causes the speaker 908 Petition 870190056776, dated 06 / 19 / 2019, pages 165 / 305 157 / 215 emit a sound. In addition, the 907 audio signal processing unit can perform an additional process, such as noise removal from the audio data.
[00600] The external interface unit 909 is an interface for connecting the television set 900 to an external device or a network. For example, a video stream or an audio stream received through the external interface unit 909 can be decoded by the decoder 904. In other words, the external interface unit 909 also plays the role of a transmission section of the television set 900 that receives an encoded stream in which the images are encoded.
[00601] The control unit 910 has a processor, such as a CPU, and memory, such as RAM and ROM. The memory stores a program executed by the CPU, program data, EPG data, and data acquired through a network. The program stored in memory is read and executed by the CPU at the time of, for example, initialization of the television set 900. The CPU controls the operations of the television set 900, executing the program in response to, for example, operating signals entered from the user interface section 911.
[00602] The user interface section 911 is connected to the control unit 910. The user interface section 911 includes, for example, buttons and switches with which a user operates the television set 900, a receiving unit for remote control signals and the like. The user interface section 911 generates an operating signal by detecting an operation by a user through any of the constituent elements mentioned above and sends the generated operating signal to the control unit 910.
[00603] Bus 912 connects tuner 902, demultiplexer 903, decoder 904, video signal processing unit 905, audio signal processing unit 907, a Petition 870190056776, dated 06 / 19 / 2019, page 166 / 305 158 / 215 external interface unit 909 and control unit 910 to each other.
[00604] In the television set 900 configured in this way, the decoder 904 can also include the functions of the image decoding device 100 described above. In other words, the decoder 904 can be configured to decode encoded data according to the method described in each of the above embodiments. In this way, the television set 900 can obtain effects similar to those of each of the embodiments described above with reference to FIG. 1 to FIG. 68.
[00605] Furthermore, in the television set 900 configured in this way, the video signal processing unit 905 may be able to encode image data provided from the decoder 904 and cause the resulting encoded data to be sent externally to the television set 900 via the external interface unit 909. Additionally, the video signal processing unit 905 may also include the functions of the image encoding device 400 described above. In other words, the video signal processing unit 905 may be configured to encode image data provided from the decoder 904 according to the method described in each of the embodiments above. With this arrangement, the television set 900 becomes capable of further reducing the amount of transmission-related parameter transmission.In this way, the 900 television set can achieve effects similar to those of each of the modes described above with reference to FIG. 1 through FIG. 68. <Segundo exemplo de aplicação: telefone celular>
[00606] FIG. 71 illustrates an example of a schematic configuration of a cell phone to which the modalities described above are applied. A cell phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, a processing unit Petition 870190056776, dated 06 / 19 / 2019, page 167 / 305 159 / 215 image 927, a multiplexing / demultiplexing unit 928, a recording / playback unit 929, a display unit 930, a control unit 931, an operating unit 932 and a bus 933.
[00607] Antenna 921 is connected to communication unit 922. Speaker 924 and microphone 925 are connected to audio codec 923. Operating unit 932 is connected to control unit 931. Bus 933 mutually connects communication unit 922, audio codec 923, camera unit 926, image processing unit 927, multiplexing / demultiplexing unit 928, recording / playback unit 929, display unit 930, and control unit 931.
[00608] The 920 mobile phone performs actions such as transmitting / receiving an audio signal, transmitting / receiving email or image data, capturing an image, and recording data in various operating modes, including an audio call mode, a data communication mode, a photography mode, and a videophone mode.
[00609] In audio call mode, an analog audio signal generated by microphone 925 is fed to audio codec 923. Audio codec 923 converts the analog audio signal into audio data, performs A / D conversion on the converted audio data, and compresses the data. Audio codec 923 then sends the compressed audio data to communication unit 922. Communication unit 922 encodes and modulates the audio data to generate a transmission signal. Communication unit 922 then transmits the generated transmission signal to a base station (not shown) via antenna 921. In addition, communication unit 922 amplifies a radio signal received via antenna 921, performs frequency conversion, and acquires a reception signal. Communication unit 922 subsequently demodulates and decodes the reception signal to generate audio data and sends the generated audio data to Petition 870190056776, dated 06 / 19 / 2019, page 168 / 305 160 / 215 the audio codec 923. The audio codec 923 expands the audio data, performs D / A conversion on the data, and generates the analog audio signal. The audio codec 923 then provides the generated audio signal to the speaker 924 to make it play the audio.
[00610] In data communication mode, for example, control unit 931 generates character data configuring an email, according to a user operation detected through operating unit 932. Control unit 931 additionally displays characters on display unit 930. Furthermore, control unit 931 generates email data according to a sending instruction obtained from a user through operating unit 932 and sends the generated email data to communication unit 922. Communication unit 922 encodes and modulates the email data to generate a transmission signal. Then, communication unit 922 transmits the generated transmission signal to the base station (not shown) through antenna 921. Communication unit 922 further amplifies a radio signal received through antenna 921, performs frequency conversion, and acquires a reception signal.Communication unit 922 subsequently demodulates and decodes the received signal, restores the email data, and sends the restored email data to control unit 931. Control unit 931 displays the email content on display unit 930, and also provides the email data to a storage medium of recording / playback unit 929 to cause the data to be recorded on the medium.
[00611] The 929 recording / playback unit includes an arbitrary storage medium that is readable and writable. For example, the storage medium may be an embedded storage medium, such as RAM or flash memory, or it may be a storage medium. Petition 870190056776, dated 06 / 19 / 2019, page 169 / 305 161 / 215 mounted externally, such as a hard drive, a magnetic disk, a magneto-optical disk, an optical disk, a USB drive, or a memory card.
[00612] In photography mode, for example, the camera unit 926 forms an image of an object to generate image data and sends the generated image data to the image processing unit 927. The image processing unit 927 encodes the image data input from the camera unit 926 and provides an encoded stream to the storage medium of the recording / playback unit 929 so that the encoded stream is recorded onto the medium.
[00613] Furthermore, in image display mode, the recording / playback unit 929 reads an encoded stream recorded on a storage medium, and sends it to the image processing unit 927. The image processing unit 927 decodes the encoded stream input from the recording / playback unit 929, provides image data to the display unit 930, and causes the image to be displayed.
[00614] In videophone mode, for example, the multiplexing / demultiplexing unit 928 multiplexes a video stream encoded by the picture processing unit 927 and an audio stream input from the audio codec 923 and sends the multiplexed stream to the communication unit 922. The communication unit 922 encodes and modulates the stream to generate a transmission signal. The communication unit 922 then transmits the generated transmission signal to the base station (not shown) via antenna 921. In addition, the communication unit 922 amplifies a radio signal received via antenna 921, performs frequency conversion, and acquires a reception signal. The transmission signal and the reception signal may include an encoded bitstream. The communication unit 922 thus demodulates and decodes the reception signal to restore the stream and sends the restored stream to the unit of Petition 870190056776, dated 06 / 19 / 2019, page 170 / 305 162 / 215 Multiplexing / Demultiplexing 928. The multiplexing / demultiplexing unit 928 demultiplexes the video stream and the audio stream from the input stream and sends the video stream and the audio stream to the picture processing unit 927 and the audio codec 923, respectively. The picture processing unit 927 decodes the video stream to generate video data. The video data is then provided to the display unit 930, which displays a series of images. The audio codec 923 expands and performs D / A conversion on the audio stream to generate an analog audio signal. The audio codec 923 then provides the generated audio signal to the loudspeaker 924 to cause it to play the audio.
[00615] In the cellular phone 920 configured in this way, the image processing unit 927 can include the functions of the image encoding device 400 described above, for example. In other words, the image processing unit 927 can be configured to encode image data according to the method described in each of the embodiments above. In this way, the cellular phone 920 can obtain effects similar to those of each of the embodiments described above with reference to FIG. 1 to FIG. 68.
[00616] Furthermore, in the cellular phone 920 configured in this way, the image processing unit 904 can include the functions of the image decoding device 100 described above, for example. In other words, the image processing unit 927 can be configured to decode encoded data according to the method described in each of the embodiments above. In this way, the cellular phone 920 can obtain effects similar to those of each of the embodiments described above with reference to FIG. 1 to FIG. 68. <Terceiro exemplo de aplicação: aparelho de gravação / reprodução>
[00617] FIG. 72 illustrates an example of a configuration Petition 870190056776, dated 06 / 19 / 2019, page 171 / 305 163 / 215 Schematic of a recording / playback device to which the above-described embodiments are applied. The recording / playback device 940 encodes audio and video data from a received broadcast program and records the data on a recording medium, for example. The recording / playback device 940 can also encode audio and video data acquired from another device and record the data on the recording medium, for example. The recording / playback device 940 plays back the data recorded on the recording medium on a monitor and a loudspeaker, for example, in response to a user instruction. In this case, the recording / playback device 940 decodes the audio and video data.
[00618] The recording / playback device 940 includes a tuner 941, an external interface unit 942, an encoder 943, a hard disk drive (HDD) 944, a disk drive 945, a selector 946, a decoder 947, an on-screen display (OSD) unit 948, a control unit 949, and a user interface unit 950.
[00619] Tuner 941 extracts a signal from a desired channel from a broadcast signal received via an antenna (not shown) and demodulates the extracted signal. Tuner 941 then sends a demodulated encoded bitstream to selector 946. That is, tuner 941 acts as a transmission unit in recording / playback device 940.
[00620] The external interface unit 942 is an interface that connects the recording / playback device 940 to an external device or a network. The external interface unit 942 may be, for example, an Institute of Electrical and Electronics Engineers (IEEE) 1394 interface, a network interface, a USB interface, or a flash memory interface. The video and audio data received through the external interface unit 942 are fed into the encoder 943, for example. That is, the external interface unit 942 acts as a unit of Petition 870190056776, dated 06 / 19 / 2019, page 172 / 305 164 / 215 transmission on the recording / playback device 940.
[00621] Encoder 943 encodes the video data and the audio data in the event that the video data and the audio data input from the external interface unit 942 are not encoded. Encoder 943 subsequently sends an encoded bitstream to selector 946.
[00622] The HDD 944 unit records, on an internal hard disk, the encoded bitstream in which content data, such as video and audio, is compressed, along with various programs and other data. The HDD 944 unit reads this data from the hard disk when video and audio are played back.
[00623] The 945 disk drive records and reads data to / from a recording medium connected to the disk drive. The recording medium connected to the 945 disk drive may be, for example, a digital versatile disc (DVD) (such as DVD-Video, DVD-Random Access Memory (DVD-RAM), DVD-R recordable (DVD-R), DVD-RW recordable (DVD+R) or DVD+RW rewritable (DVD+RW)) or a Blu-ray disc (registered trademark).
[00624] The selector 946 selects the encoded bitstream input from tuner 941 or encoder 943 when recording video and audio, and sends the selected encoded bitstream to HDD unit 944 or disk unit 945. When playing back video and audio, on the other hand, selector 946 sends the encoded bitstream input from HDD unit 944 or disk unit 945 to decoder 947.
[00625] Decoder 947 decodes the encoded bitstream to generate the video and audio data. Decoder 947 then sends the generated video data to OSD unit 948 and the generated audio data to an external speaker.
[00626] The OSD unit 948 reproduces the video data input from the decoder 947 and displays the video. The OSD unit 948 can also overlay a GUI image, such as a menu, buttons, or a cursor, over the displayed video. Petition 870190056776, dated 06 / 19 / 2019, page 173 / 305 165 / 215
[00627] The control unit 949 includes a processor, such as a CPU, and memory, such as RAM and ROM. The memory stores a program executed by the CPU, as well as program data. The program stored in memory is read by the CPU at startup of the recording / playback device 940 and executed, for example. When executing the program, the CPU controls the operation of the recording / playback device 940 according to an operating signal that is entered from the user interface unit 950, for example.
[00628] The user interface unit 950 is connected to the control unit 949. The user interface unit 950 includes a button and a switch for a user to operate the recording / playback device 940, as well as a receiving part that receives a remote control signal, for example. The user interface unit 950 detects a user operation through these components to generate an operating signal and sends the generated operating signal to the control unit 949.
[00629] In the recording / playback device 940 configured in this way, the encoder 943 can include the functions of the image encoding device 400 described above, for example. In other words, the encoder 943 can be configured to encode image data according to the method described in each of the above embodiments. In this way, the recording / playback device 940 can obtain effects similar to those of each of the embodiments described above with reference to FIG. 1 to FIG. 68.
[00630] Furthermore, in the recording / playback device 940 configured in this way, the decoder 947 can include the functions of the image decoding device 100 described above, for example. In other words, the decoder 947 can be configured to decode encoded data according to the method described in each of the above modes. In this way, the recording / playback device 940 Petition 870190056776, dated 06 / 19 / 2019, page 174 / 305 166 / 215 can achieve effects similar to those of each of the modalities described above with reference to FIG. 1 through FIG. 68. <Quarto exemplo de aplicação: aparelho de formação de imagem>
[00631] FIG. 73 illustrates an example of a schematic configuration of an image-forming apparatus to which the modalities described above are applied. The image-generating apparatus 960 records an object to generate an image, encodes image data, and records the data on a recording medium.
[00632] The image-forming apparatus 960 includes an optical block 961, an image-forming unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface unit 966, a memory unit 967, a media unit 968, an OSD unit 969, a control unit 970, a user interface unit 971 and a bus 972.
[00633] Optical block 961 is connected to image formation unit 962. Image formation unit 962 is connected to signal processing unit 963. Display unit 965 is connected to image processing unit 964. User interface unit 971 is connected to control unit 970. Bus 972 mutually connects image processing unit 964, external interface unit 966, memory unit 967, media unit 968, OSD unit 969, and control unit 970.
[00634] Optical block 961 includes a focusing lens and a diaphragm mechanism. Optical block 961 forms an optical image of an object on an image-forming plane of the image-forming unit 962. The image-forming unit 962 includes an image sensor, such as a Charge-Coupled Device (CCD) or a Complementary Metal Oxide Semiconductor (CMOS), and performs photoelectric conversion to convert Petition 870190056776, dated 06 / 19 / 2019, pages 175 / 305 167 / 215 the optical image formed in the image formation plane into an image signal as an electrical signal. Then, the image formation unit 962 sends the image signal to the signal processing unit 963.
[00635] The signal processing unit 963 performs various camera signal processes, such as knee correction, gamma correction, and color correction on the image signal input from the image formation unit 962. The signal processing unit 963 sends the image data, in which the camera signal processes have been performed, to the image processing unit 964.
[00636] Image processing unit 964 encodes the image data input from signal processing unit 963 and generates the encoded data. Image processing unit 964 then sends the generated encoded data to external interface unit 966 or media unit 968. Image processing unit 964 also decodes the encoded data input from external interface unit 966 or media unit 968 to generate image data. Image processing unit 964 then sends the generated image data to display unit 965. In addition, image processing unit 964 can send image data input from signal processing unit 963 to display unit 965 to cause display unit 965 to display the image.Furthermore, the image processing unit 964 can overlay the display data acquired from the OSD unit 969 onto the image that is produced in the display unit 965.
[00637] The OSD unit 969 generates an image of a GUI, such as a menu, buttons, or a cursor, and sends the generated image to the image processing unit 964.
[00638] The 966 external interface unit is configured as a USB input / output terminal, for example. The external interface unit Petition 870190056776, dated 06 / 19 / 2019, page 176 / 305 168 / 215 The 966 connects the 960 imaging device to a printer when printing an image, for example. Additionally, a disk drive is connected to the 966 external interface unit as needed. Removable media, such as a magnetic disk or an optical disk, is connected to the converter, for example, so that a program read from the removable media can be installed on the 960 imaging device. The 966 external interface unit can also be configured as a network interface that is connected to a network, such as a LAN or the Internet. That is, the 966 external interface unit acts as a transmission unit in the 960 imaging device.
[00639] The recording medium connected to the 968 media unit can be an arbitrary removable medium that is readable and writable, such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Furthermore, the recording medium can be connected to the 968 media unit in a fixed manner, so that a non-transportable storage unit, such as an embedded hard disk drive or a solid-state drive (SSD), is configured, for example.
[00640] The control unit 970 includes a processor, such as a CPU, and memory, such as RAM and ROM. The memory stores a program executed by the CPU, as well as program data. The program stored in memory is read by the CPU at the initialization of the imaging device 960 and then executed. When executing the program, the CPU controls the operation of the imaging device 960 according to an operating signal that is entered from the user interface unit 971, for example.
[00641] The user interface unit 971 is connected to the control unit 970. The user interface unit 971 includes buttons and switches so that a user can operate the imaging device 960, for example. The user interface unit 971 detects a Petition 870190056776, dated 06 / 19 / 2019, page 177 / 305 169 / 215 User operation through these components to generate an operating signal and sends the generated operating signal to the control unit 970.
[00642] In the image-forming apparatus 960 configured in this way, the image processing unit 964 can include the functions of the image encoding apparatus 400 described above, for example. In other words, the image processing unit 964 can be configured to encode image data according to the method described in each of the modalities above. In this way, the image-forming apparatus 960 can obtain effects similar to those of each of the modalities described above with reference to FIG. 1 to FIG. 68.
[00643] Furthermore, in the image-forming apparatus 960 configured in this way, the image processing unit 964 can include the functions of the image decoding apparatus 100 described above, for example. In other words, the image processing unit 964 can be configured to decode encoded data according to the method described in each of the above modalities. In this way, the image-forming apparatus 960 can obtain effects similar to those of each of the modalities described above with reference to FIG. 1 to FIG. 68. <Quinto exemplo de aplicação: conjunto de vídeo>
[00644] Furthermore, the present technology can also be implemented in any type of configuration that is installed in any device or system, such as a processor provided as a large-scale integration (LSI) chip or similar, a module using multiple processors or similar, a unit using multiple modules or similar, an assembly that adds other functions to a unit (i.e., a configuration of a piece of a device) or similar. FIG. 74 illustrates an example of a schematic configuration of a video assembly that applies the present technology. Petition 870190056776, dated 06 / 19 / 2019, pp. 178 / 305 170 / 215
[00645] Recently, electronic devices are becoming more multifunctional, and in the development and manufacture of such electronic devices, in the case of implementing a partial configuration for sale, offering or similar, it has become common not only to execute the implementation as a configuration that includes a single function, but also to combine multiple configurations that include related functions and execute the implementation as a single set, including multiple functions.
[00646] The 1300 video set illustrated in FIG. 74 is a multifunctional configuration and is a combination of a device that includes functions related to image encoding and decoding (one or both) with a device that includes other functions related to these functions.
[00647] As illustrated in FIG. 74, the video assembly 1300 includes a group of modules, such as a video module 1311, external memor...
Claims
1. Image processing apparatus (100), comprising: an inverse orthogonal transform unit (113) configured to perform an inverse orthogonal transform of chrominance using information relating to the derived inverse orthogonal transform based on information relating to an inverse orthogonal transform of luminance; wherein the information relating to the inverse orthogonal transform includes an adaptive primary transform flag indicating whether an adaptive primary inverse transform of adaptively selecting one from a plurality of different inverse orthogonal transforms and using the selected transform as an inverse primary transform should be applied;characterized by the fact that a value of the chrominance adaptive primary transform flag is defined as a value of the luminance adaptive primary transform flag (S173) in a case where the prediction type is intraprediction (S171) of which a prediction mode is intrablock copy (S172); and the value of the chrominance adaptive primary transform flag is defined to indicate that the adaptive primary transform is not used (S174) in a case where the prediction type is intraprediction (S171) of which a prediction mode is not intrablock copy (S172).
2. Image processing apparatus according to claim 1, characterized in that the information relating to the inverse orthogonal transform includes a primary transform identifier indicating that the inverse primary transform should be applied to inverse primary transforms in a vertical direction and in a horizontal direction. Petition 870240028415, dated 01 / 04 / 2024, page 9 / 21 2 / 3 3. Image processing apparatus according to claim 2, characterized in that the value of the primary chrominance transform identifier is defined as the value of the primary luminance transform identifier in a case where the adaptive primary chrominance transform flag is true, and is defined as a predetermined value in a case where the adaptive primary chrominance transform flag is false.
4. Image processing apparatus according to claim 1, characterized in that the inverse orthogonal transform unit (113) performs an inverse primary horizontal transform which is the inverse primary transform in the horizontal direction and an inverse primary vertical transform which is the inverse primary transform in the vertical direction as the inverse orthogonal transform.
5. Image processing apparatus according to claim 1, characterized in that the value of the adaptive primary chrominance transform flag is defined as the value of the adaptive primary luminance transform flag in a case where a type of prediction of a coding block to which a block of transforms to be processed belongs is interprediction.
6. Image processing method comprising: performing an inverse orthogonal chrominance transform using information relating to the derived inverse orthogonal chrominance transform based on information relating to an inverse orthogonal luminance transform; wherein the information relating to the inverse orthogonal transform includes an adaptive primary transform flag indicating whether an adaptive inverse primary transform is used to adaptively select one from a plurality of orthogonal transforms. Petition 870240028415, dated 01 / 04 / 2024, p.10 / 21 3 / 3 different inverses and use the selected transform as an inverse primary transform must be applied; characterized in that a value of the chrominance adaptive primary transform flag is set to a value of the luminance adaptive primary transform flag (S173) in a case where the prediction type is intraprediction (S171) where a prediction mode is intrablock copy (Sl72); and the value of the chrominance adaptive primary transform flag is set to indicate that the adaptive primary transform is not used (Sl74) in a case where the prediction type is intraprediction (S171) where a prediction mode is not intrablock copy (S172).