Apparatus and image processing method
Patent Information
- Application Number
- BR122026010613
- Authority / Receiving Office
- BR · BR
- Patent Type
- Applications
- Publication Date
- 2026-08-11
Smart Images

Figure 00000072_0000 
Figure 00000072_0001 
Figure 00000072_0002
Description
63 APPARATUS AND IMAGE PROCESSING METHOD DIVIDED FROM BR112020019125-6, DEPOSITED ON 12 / 20 / 2018 Technical Field
[001] The present description refers to an image processing apparatus and an image processing method. Fundamentals of the Invention
[002] In H.265 / HEVC, which is one of the standard specifications for a video encoding system, a deblocking filter is applied to a block contour of a decoded image to prevent image quality degradation due to block distortion that occurs during encoding. In H.265 / HEVC, a deblocking filter applicable to a luminance component includes two types of filters, such as a weak filter and a strong filter, while a deblocking filter applicable to color difference components includes only a single type of filter, such as the weak filter.
[003] Furthermore, to further improve encoding efficiency compared with H.265 / HEVC, the Joint Video Experts Team (JVET), which is a joint standards organization of ITU-T and ISO / IEC, is currently promoting the standardization of operation on Future Video Coding (FVC), which is a next-generation video coding system (e.g., see Non-Patent Literature 1).
[004] Regarding the standardization of operation in FVC, in the Literature Non-Patent 2 described below, a technique for changing the unlocking filter applicable to color difference components into two types of filters similarly to the unlocking filter applicable to the luminance component and which allows the strong filter to be applied even to color difference components has been proposed. Citation List Non-Patented Literature Petition 870260040593, dated 04 / 30 / 2026, page 12 / 110 / 63
[005] Non-Patent Literature 1: J. Chen, E. Alshina, GJ Sullivan, J.-R. Ohm, J. Boyce, “Description of the Joint Exploration Test Model (JEM7) algorithm”, JVET-G1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 7th Meeting: Turin, IT, July 13-21, 2017 Non-Patent Literature 2: Seung-Hwan Kim, Jie Zhao, Misra Kiran, and Andrew Segall, “Improving the Chromium Unlock Filter,” JVET-D0108, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 4th Meeting: Chengdu, CN, October 15-21, 2016 Summary of the Invention Technical Problem
[006] The need to apply the above-described unlocking filter is determined using the block contour intensity, and the block contour intensity is calculated based on information about the luminance component without using information about the color difference components. However, if the need to apply the unlocking filter to the color difference components of a decoded image is determined using the contour intensity that is identified based on information about the luminance component, it may be difficult to properly apply the unlocking filter, and block distortion may remain in some cases.
[007] Therefore, in the present description, a system capable of applying the unlocking filter more appropriately to the color difference components of the decoded image is proposed. Solution to the Problem
[008] According to the description, an image processing device is provided. The image processing device includes a decoding unit configured to generate a decoded image. Petition 870260040593, dated 04 / 30 / 2026, page 13 / 110 / 63 for the decoding of an encoded continuous stream, a determination unit configured to adopt a block contour of the decoded image as a target and determine the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity that is calculated using a parameter related to the color difference and a filtering unit configured to apply an unlocking filter to color difference components of pixels located in a neighborhood of the block contour based on a result of determining the need for applying the unlocking filter.
[009] Furthermore, according to the description, an image processing method is provided. The image processing method includes generating a decoded image by decoding an encoded continuous stream, adopting a block contour of the decoded image as a target, determining the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity which is calculated using a parameter related to the color difference, and applying an unlocking filter to the color difference components of the pixels located in a neighborhood of the block contour based on a result of determining the need for applying the unlocking filter.
[0010] Furthermore, according to the description, an image processing apparatus is provided. The image processing apparatus includes a determination unit configured to adopt, as a target, a block contour of a decoded image that is locally decoded and to determine the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity which is calculated using a Petition 870260040593, dated 04 / 30 / 2026, page 14 / 110 / 63 parameter related to color difference related to a color difference, a filtering unit configured to apply an unlocking filter to color difference components of pixels located in a neighborhood of the block outline based on a result of determining the need to apply the unlocking filter, and an encoding unit configured to encode an image using the decoded image in which the unlocking filter is applied by the filtering unit.
[0011] Furthermore, according to the description, an image processing method is provided. The image processing method includes adopting, as a target, a block contour of a decoded image that is locally decoded, determining the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity which is calculated using a parameter related to the color difference, applying an unlocking filter to the color difference components of pixels located in a neighborhood of the block contour based on a result of determining the need for applying the unlocking filter, and encoding an image using the decoded image to which the unlocking filter is applied. Advantageous Effects of the Invention
[0012] In the manner described above, according to the present description, it is possible to apply a deblocking filter more appropriately to the color difference components of a decoded image.
[0013] Additionally, the effects described above are not limiting. That is, with, or in place of, the effects described, any of the effects described in this specification or other effects that can be recognized from this specification may be achieved. Brief Description of the Drawings Petition 870260040593, dated 04 / 30 / 2026, p. 15 / 110 / 63
[0014] Figure 1 is a table to explain the calculation of bS in HEVC.
[0015] Figure 2 is a table to explain the calculation of bS in Non-Patent Literature 2.
[0016] Figure 3 is an explanatory diagram that illustrates an example of the color difference component pixels (U components and V components) in two blocks Bp and Bq that are adjacent to each other through a vertical block contour BB.
[0017] Figure 4 is a table to explain the calculation of bS according to one embodiment of the present description.
[0018] Figure 5 is a block diagram illustrating an example of a configuration of an image encoding device 10 as a mode of an image processing device according to a modality.
[0019] Figure 6 is a block diagram illustrating an example of a configuration of an image decoding device 60 as a mode of the image processing device according to a modality.
[0020] Figure 7 is a block diagram illustrating an example configuration with details of a 26 unlock filter according to a modality.
[0021] Figure 8 is a table that illustrates an example of bS calculated by a contour intensity calculation unit 261.
[0022] Figure 9 is a flowchart that illustrates an example of the flow of a process performed by an unlocking filter 26 according to a modality.
[0023] Figure 10 is a flowchart to explain the flow of a contour intensity calculation process performed by contour intensity calculation unit 261. Petition 870260040593, dated 04 / 30 / 2026, page 16 / 110 / 63
[0024] Figure 11 is a table that illustrates a modification of bS calculated by the contour intensity calculation unit 261.
[0025] Figure 12A is the first half of a flowchart to explain an example of the flow of a process for calculating the contour intensity corresponding to the modification illustrated in Figure 11.
[0026] Figure 12B is a second half of the flowchart to explain the example of the process flow for calculating the contour intensity corresponding to the modification illustrated in Figure 11.
[0027] Figure 13 is an explanatory diagram that illustrates an example of a hardware configuration.
[0028] Figure 14 is a table that illustrates another modification of the bS calculation. Description of the Modalities
[0029] The preferred embodiments of the present description will be described in detail below in relation to the attached drawings. In this specification and in the drawings, structural elements that have substantially the same functions and configurations will be denoted by the same reference symbols, and repeated explanations of the structural elements will be omitted.
[0030] Additionally, the scope described in this specification is not limited to the contents of the embodiments, and the contents of the Reference Literature REF1 to REF3 below, which are known at the time of application of this specification, are incorporated herein by reference. That is, the contents described in the Reference Literature REF1 to REF3 below are used as a basis for determining the supporting requirements. For example, even if the Quadruple Tree Block Structure described in Reference Literature REF2 and the Quadruple Tree Plus Binary Tree (QTBT) Block Structure described in Reference Literature REF3 are not directly defined in the detailed descriptions of the invention, the Petition 870260040593, dated 04 / 30 / 2026, page 17 / 110 / 63, these are within the scope of the present description and satisfy the supporting requirements for the appended claims. Furthermore, the same applies, for example, to technical terms such as syntactic analysis, syntax and semantics, and even if the technical terms are not directly defined in the detailed descriptions of the invention, they are within the scope of the present description and satisfy the supporting requirements for the appended claims.
[0031] REF1: ITU-T Recommendation H.264 (04 / 2017) “Advanced video coding for generic audiovisual services”, April 2017 REF2: ITU-T Recommendation H.265, (12 / 2016) “High efficiency video coding”, December 2016 REF3: J. Chen, E. Alshina, G. J. Sullivan, J.-R. Ohm, J. Boyce, “Algorithm Description of Joint Exploration Test Model (JEM7)”, JVET-G1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC1 / SC 29 / WG 11 7th Meeting: Torino, Itália, 13a 21 de julho de 2017.
[0032] Furthermore, a signal in YUV420 format will be described herein as an example, unless otherwise specified, and a luminance component may be represented as a Y component and the color difference components may be represented as a U component and a V component. However, the technology described herein is similarly applicable to signals in other formats, such as YUV444 and YUV422 formats. Moreover, the expressions for the luminance component and the color difference components vary depending on the target signals, and the technology described herein is similarly applicable to a signal in which the luminance component and the color difference components are represented by YCbCr, for example.
[0033] Furthermore, the terms used in this specification are defined as follows. Petition 870260040593, dated 04 / 30 / 2026, page 18 / 110 / 63
[0034] A color difference-related parameter indicates general parameters related to a color difference. For example, the color difference-related parameter may include information related to transformation coefficients of different color components, such as the transformation coefficients of the color difference components included in each of the Transformation Units (TUs), or an indicator showing the presence or absence of significant coefficients (non-zero transformation coefficients) of the color difference components in each of the TUs. However, the color difference-related parameter is not limited to this example and may comprise several parameters related to a color difference.
[0035] The need for applying the unlock filter indicates whether an unlock filter is applied. For example, determining the need for applying the unlock filter indicates the determination of whether the unlock filter is applied. Furthermore, a result of determining the need for applying the unlock filter is a result of determining whether the unlock filter is applied, and the result of the determination may be information indicating the need for application or the lack thereof, for example.
[0036] Big block determination indicates the determination of whether a target block is a big block. In the present specification, the target block may comprise blocks that sandwich a block boundary, as will be described later. Additionally, big block determination can be performed by comparing a block size (block size) to a predetermined boundary. In the meantime, a case in which big block determination is performed and the details of big block determination will be described below.
[0037] Furthermore, the explanation will be given below. Petition 870260040593, dated 04 / 30 / 2026, page 19 / 110 / 63 order: 1. Overview 1-1. Existing unlock filter 1-2. Overview of the technology according to the present description. 2. Equipment Overview 2-1. Image encoding device 2-2. Image decoding device 3. Unlock filter 3-1. Configuration Example 3-2. Process flow 3-3. Modification 4. Example of hardware configuration 5. Conclusion <1. Overview> [1-1. Existing technique]
[0038] A process related to an unlocking filter in an existing image encoding system, such as HEVC, includes a process for determining the need for application, a process for determining the filter intensity, and a filtering process (filter application process). A process related to an existing unlocking filter will be described below using an unlocking filter in HEVC as an example. In the meantime, an unlocking filter for the color difference components of a decoded image (including an image that is locally decoded at the time of encoding) will be primarily explained, and the explanation of an unlocking filter for a luminance component of the decoded image will be appropriately omitted.
[0039] As the process related to the unlock filter, the Petition 870260040593, dated 04 / 30 / 2026, page 20 / 110 / 63. The process of determining the need for application is first carried out. The process of determining the need for application is a process to determine whether to apply an unblocking filter to a block boundary of a decoded image. In the meantime, in HEVC, the block boundary is identified based on a block structure of the Quadruple Tree Block Structure described in the Reference Literature REF2. Specifically, an edge that satisfies an edge condition is at least one of a Transformation Unit (TS) boundary and a Prediction Unit (PU) boundary among the edges of an 8 x 8 pixel block (sample grid), which is a minimum block unit, and is identified as the block boundary in HEVC.
[0040] The process of determining the need for application is performed based on the contour intensity (hereinafter also referred to as bS) of the block contour. In HEVC, bS is calculated every four lines of the identified block contour. If the block contour is a vertical contour, the lines described above correspond to the lines that are perpendicular to the vertical contour. Additionally, if the block contour is a horizontal contour, the lines described above correspond to the columns that are perpendicular to the horizontal contour.
[0041] Figure 1 is a table to explain the calculation of bS in HEVC. As illustrated in Figure 1, in HEVC, bS is calculated based on whether a condition A, which is a condition about intraprediction, a condition B1, which is a condition about a significant coefficient of a Y component, and a condition B2, which is a condition about a motion vector (MV) and a reference figure, are true or false (satisfied or unsatisfied). Regarding Figure 1, if condition A is true, bS is set to 2. Additionally, if condition A is false and at least one of condition B1 and condition B2 is true, bS is set to 1. Furthermore, if all of condition A, condition B1, and condition B2 are true, bS is set to 1. Petition 870260040593, dated 04 / 30 / 2026, page 21 / 110 / 63 if condition B2 are false, bS is set to 0. In the meantime, condition A, condition B1, and condition B2 illustrated in Figure 1 are conditions described below: * Condition A: an encoding mode of at least one of the Coding Units (CUs) that includes pixels from a higher row among the target rows for bS calculation and that sandwich the block outline is defined in an intraprediction mode; * Condition B1: the block contour is a TU contour and a significant coefficient of a Y component is present in at least one of two TUs that includes pixels from a higher row among the bS calculation target rows and that sandwich the block contour; * Condition B2: an absolute value of a difference between MVs is equal to or greater than one pixel, a reference figure for motion compensation is different, or the number of MVs is different between two CUs that include the pixels of a higher row among the target rows for bS calculation and that sandwich the block contour.
[0042] Furthermore, in HEVC, an unlocking filter for a luminance component (Y component) of a decoded image is applicable on a block contour for which bS, which is defined as described above, is set to 1. Therefore, in HEVC, the result of determining the need to apply the unlocking filter to the luminance component of the decoded image may vary depending on whether condition B1 or condition B2 is satisfied.
[0043] In the meantime, in HEVC, a strong filter with high filter intensity and a weak filter with low filter intensity are prepared as unlocking filters for the luminance component of the decoded image. If bS is equal to or greater than 1, a process related to the unlocking filter for the luminance component of the decoded image is performed in such a way that a process of Petition 870260040593, dated 04 / 30 / 2026, page 22 / 110 / 63, determining the need for additional application based on an additional condition, and subsequently, a process for determining the filter intensity and a filtering process are carried out. The details of the processes described are found in the Reference Literature REF2 presented and, therefore, the explanation of the processes will be omitted here.
[0044] Conversely, in HEVC, an unlocking filter for the color difference components (U component and V component) of the decoded image is applied only to a block contour for which bS is defined in 2. Therefore, as illustrated in Figure 1, in HEVC, whether condition B1 or condition B2 is satisfied does not impact the determination of the need to apply the unlocking filter to the color difference components of the decoded image.
[0045] Additionally, in HEVC, only the weak filter is applicable, like the unlock filter, to the color difference components of the decoded image. Therefore, the process of determining the filter intensity is not necessary for the color difference components of the decoded image, and if bS is set to 2, the weak filter is applied to the color difference components of the decoded image.
[0046] Incidentally, as described in the Reference Literature REF3, in block segmentation using the QTBT Block Structure of FVC, a larger block size can be selected compared to block segmentation using the Quad Tree Block Structure of HEVC. If a block size is large in a uniform region (a region where a change in a pixel value in the region is small), block distortion is likely to occur. Therefore, in FVS where a larger block size can be selected, if only the weak filter is adopted as the unlocking filter that is applicable to the color difference components of the decoded image, similarly to Petition 870260040593, dated 04 / 30 / 2026, page 23 / 110 / 63 In HEVC, perceptible block distortion may remain in the color difference components. In view of the circumstances described, it is necessary to improve the unlocking filter for the color difference components of the decoded image.
[0047] For example, Non-Patent Literature 2 proposes a technique for changing the unlocking filter applicable to the color difference components to two types of filters, similarly to the unlocking filter applicable to the luminance component, and allowing the strong filter to be applied even to the color difference components. Additionally, Non-Patent Literature 2 describes that the unlocking filter is applicable to the color difference components of the decoded image not only when bS is set to 2, but also when bS is set to 1.
[0048] Figure 2 is a table to explain the calculation of bS in Non-Patent Literature 2. As illustrated in Figure 2, in Non-Patent Literature 2, similarly to the HEVC example illustrated in Figure 2, bS is calculated based on condition A, condition B1, and condition B2, as shown. However, as shown in Non-Patent Literature 2, the unlocking filter is applicable to the color difference components of the decoded image not only when bS is set to 2, but also when bS is set to 1. Therefore, as illustrated in Figure 2, in Non-Patent Literature 2, a result determining the need to apply the unlocking filter to the color difference components (U component and V component) of the decoded image may vary depending on whether condition B1 or condition B2 is met.
[0049] Next, the process for determining the need for application, the process for determining the filter intensity, and the filtering process related to the unlocking filter that is applicable to the color difference components of the decoded image in Non-Patent Literature 2 will be described in relation to Figure 3. Figure 3 is a diagram. Petition 870260040593, dated 04 / 30 / 2026, p. 24 / 110 / 63, explanatory document illustrating an example of the pixels of the color difference components (U components and V components) in two blocks Bp and Bq that are adjacent to each other through a vertical block outline BB. In the meantime, explanation will be given below using the vertical outline as an example, but the matters explained below are certainly similarly applicable to the horizontal outline. Additionally, Figure 3 illustrates an example where each of the Bp and Bq blocks of the color difference components has a size of 4 x 4, but the matters explained below are similarly applicable to blocks with different sizes.
[0050] In the example in Figure 3, the pixels of the color difference components in block Bp are denoted by symbols pi,j. i is a column index and j is a row index. The i-column index is numbered 0, 1, 2, 3 in this order starting from the column closest to the BB block outline (from left to right in the Figure). The j-row index is numbered 0, 1, 2, 3 from top to bottom. Conversely, the pixels of the color difference components in block Bq are denoted by symbols qk,j. k is a column index and j is a row index. The k-column index is numbered 0, 1, 2, 3 starting from the column closest to the BB block outline (from left to right in the Figure).
[0051] As described above in relation to Figure 2, after bS is calculated, the process of determining the need for application and the process of determining the filter intensity are performed using three conditions, as described below. These processes are performed for every two lines of the color difference components in YUV420 format. For example, in the example illustrated in Figure 3, the determination on line L11 and line L12 and the determination on line L21 and line L22 are performed separately. In the meantime, the determination for each of the lines is performed using the pixels of a target line of determination. Next, the process of determining the need for Petition 870260040593, dated 04 / 30 / 2026, page 25 / 110 / 63 application, the process of determining the filter intensity and the filtering process in line L11 and line L12 will be described as an example.
[0052] First, in the process of determining the need for application, whether a condition C91 and a subsequent condition C92 are true is determined sequentially.
[0053] * Condition C91: (bS==2||bS==1&&(block_width>16&&block_heigth>16))) * Condition C92: d < beta
[0054] In the meantime, in the C91 condition described, block_width and block_height represent, respectively, a horizontal size and a vertical size of a block (e.g., CU) related to a target block boundary for determination, as illustrated in Figure 3.
[0055] Additionally, a variable beta in the exposed C92 condition is a boundary determination limit and an initial value of the variable beta is given according to a quantization parameter. Furthermore, a value of the variable beta is a parameter in a slice header and can be assigned by a user. Furthermore, a variable d in the exposed C92 condition is calculated by Equations (1) through (7) below. dp0 = Abs(p2,0-2*p1,0+p0,0)(1) dp1 = Abs(p2,1-2*p1,1+p0,1)(2) dq0 = Abs(q2,0-2*q1,0+q0,0)(3) dq1 = Abs(q2,1-2*q1,1+q0,1)(4) dpq0 = dp0+dq0(5) dpq1 = dp1+dq1(6) d = dpq0+dpq1(7)
[0056] In the meantime, the C92 condition described is the same condition that is used in the process of determining the need for application in the unlocking filter applied to the luminance component in HEVC (hereinafter referred to as a condition for a luminance component). Petition 870260040593, dated 04 / 30 / 2026, page 26 / 110 / 63, except that the lines that are referenced are different. In the condition for the luminance component, the pixels in the first and fourth lines are referenced, and the determination is performed every four lines. Conversely, in the YUV420 format, a pixel density of the color difference components (U components and V components) is half the pixel density of the luminance components, and therefore, in the C92 condition described, the pixels in line L11, which is the first line, and the pixels in line L12, which is the second line, are referenced, and the determination is performed every two lines.
[0057] If at least one of the exposed C91 and C92 conditions is false, the unlocking filter is not applied to the color difference components of the decoded image. Conversely, if both the exposed C91 and C92 conditions are true, the process proceeds to the filter intensity determination process.
[0058] In the process of determining the filter intensity, it is determined whether the following condition C93 is true in order to determine which of the strong and weak filters should be applied. * Condition C93: (block_width>16&&block_height>16)
[0059] In the meantime, in the C91 condition described, block_width and block_height, respectively, represent a horizontal size and a vertical size of a block relative to a target block boundary, similarly to block_width and block_height in the C91 condition.
[0060] If the exposed C93 condition is true, the strong filter is applied to the color difference components of the decoded image at the target block's contour, and if the exposed C93 condition is false, the weak filter is applied to the color difference components of the decoded image at the target block's contour.
[0061] The strong filter that is applied to the color difference components in Non-Patent Literature 2 is the same strong filter that is applied to the luminance components in HEVC and represented by Equations (8) to Petition 870260040593, dated 04 / 30 / 2026, p. 27 / 110 / 63 (13) below. po-Clip3(po-2*tc,po+2*tc,(p2+2*pi+2*po+2*qo+qi+4)>>3)(8) p 1 -Clip3(p1-2*tc,p 1+2*tc,(p2+p 1 +po+qo+2)>>2)(9) p2 -Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p 1 +po+qo+4)>>3)(10) qo-Clip3(qo-2*tc,qo+2*tc,(p1+2po+2qo+2q1+q2+4)>>3)(11) q1'=Clip3(q1-2*tc,q1+2*tc,(po+qo+q1+q2+2)>>2)(12) q2-Clip3(q2-2*tc,q2+2*tc,(po+qo+q1+3*q2+2*q3+4)>>3)(13)
[0062] In the meantime, in Equations (8) to (13) shown, pi and qk represent the pixel values of the color difference components before the application of the unlocking filter. Additionally, pi' and qk' represent the pixel values of the color difference components after the application of the unlocking filter. Here, iek represent, respectively, the column indices in block Bp and block Bq, and the row indices are omitted in Equations (8) to (13). Furthermore, tC is a parameter that is given according to a quantization parameter. Furthermore, Clip3(a,b,c) represents a clipping process to clip a value c in a range of a < c < b. [oo63] The weak filter that is applied to the color difference components in Non-Patent Literature 2 is the same weak filter that is applied to the color difference components in HEVC and, therefore, the explanation of the weak filter will be omitted here. [oo64] Thus, the processes related to the unlocking filter that is applicable to the color difference components of the decoded image in Non-Patent Literature 2 have been described above. According to the technique disclosed, it is possible to apply the strong filter not only to the luminance component, but also to the color difference components according to conditions.
[0065] However, as described above in relation to Figure 2, condition B1, which is used for the calculation of bS in the Non-Patent Literature 2, depends on the presence or absence of the significant coefficient of Petition 870260040593, dated 04 / 30 / 2026, page 28 / 110 / 63 luminance component (Y component) similarly to the case of HEVC and the information on the color difference components (U component and V component) is not used even under other conditions. However, a spatial pattern of the luminance component and a spatial pattern of each of the color difference components do not always coincide with each other. Therefore, if the need to apply the unlocking filter to the color difference components is determined according to the condition based on the information about the luminance component, there may be a case in which the unlocking filter is not properly applied even though block distortion has occurred and block distortion may remain.
[0066] Additionally, if bS is set to 1, in order for condition C91 used for the application necessity determination process in Non-Patent Literature 2 to be true, both the horizontal and vertical block sizes related to the target block contour must be set to 16 or greater. However, as described in Reference Literature REF3, a block shape (e.g., CU) in FVC may not only be a square, but also a rectangle that is not a square. Furthermore, block distortion is likely to occur depending on a size in a direction perpendicular to the block contour, rather than a size in the same direction as the block contour. Therefore, in the application necessity determination process in Non-Patent Literature 2, there may be a case where the unlocking filter is not properly applied and block distortion remains depending on the block shape.
[0067] Furthermore, the strong filter in Non-Patent Literature 2 is the same strong filter applied in HEVC. Conversely, as explained, a block with a larger size can be selected in FVC, compared to a block selected in block segmentation in HEVC, and therefore, even if Petition 870260040593, dated 04 / 30 / 2026, page 29 / 110 / 63 if the strong filter in Non-Patent Literature 2 is applied, there may be a case in which block distortion is not completely reduced. [1-2. Overview of an embodiment of the present description]
[0068] Thus, an embodiment of the present description was conceived with a focus on the circumstances, as set forth. An image processing device according to an embodiment of the present description performs a process of determining the need for applying a deblocking filter to the color difference components of a decoded image based on the contour intensity (bS) which is calculated using a parameter related to the color difference of the decoded image. An overview of an embodiment of the present description will be described below.
[0069] Figure 4 is a table to explain the calculation of bS according to a modality. As illustrated in Figure 4, the calculation is performed based on a condition A, which is a condition on intraprediction, a condition B1-Y, which is a condition on a significant coefficient of a Y component, a condition B1-U, which is a condition on a significant coefficient of a U component, a condition B1-V, which is a condition on a significant coefficient of a V component, and a condition B2, which is a condition on a MV and a reference figure.
[0070] With respect to Figure 4, if condition A is true, bS is set to 16. Additionally, if condition A is false and condition B2 is true, bS is set to 1. Furthermore, if condition A and condition B2 are false and if at least one of condition B1-Y, condition B1-U, and condition B1-V is true, bS is set to a value between 2 and 14. Moreover, if all of condition A, condition B1-Y, condition B1-U, condition B1-V, and condition B2 are false, bS is Petition 870260040593, dated 04 / 30 / 2026, page 30 / 110 / 63 defined in 0. In the meantime, condition A, condition B1-Y and condition B2 illustrated in Figure 4 are equal to condition A, condition B1, condition B2 that are explained previously in relation to Figure 1. Furthermore, a method for calculating bS according to a modality will be described in detail below.
[0071] Furthermore, the B1-U and B1-V conditions illustrated in Figure 4 correspond to the conditions used to determine the presence or absence of the significant coefficient of the U component and the presence or absence of the significant coefficient of V, instead of the significant coefficient of the Y component used in the B1-Y condition and represented as follows. In the meantime, whether the following B1-U and B1-V conditions are true or false can be determined based on an indicator (an example of the parameter related to color difference) that indicates the presence or absence of the significant coefficients of the color difference components in each of the TUs.
[0072] * Condition B1-U: the block contour is a TU contour and the significant coefficient of the U component is present in at least one of two TUs that includes the pixels of a higher row among the bS calculation target rows and that sandwich the block contour; * Condition B1-V: the block contour is a TU contour and the significant coefficient of the V component is present in at least one of two TUs that includes the pixels of a higher row among the bS calculation target rows and that sandwich the block contour.
[0073] In this embodiment, the determination of the need to apply the unlocking filter in relation to the color difference components of the decoded image is carried out based on bS, which is calculated using the B1-U condition and the B1-V condition related to the color difference, as described. With this configuration, it is possible to apply the unlocking filter more appropriately to the color difference components. Petition 870260040593, dated 04 / 30 / 2026, page 31 / 110 / 63
[0074] Furthermore, in the present embodiment, as will be described later, the determination of the need to apply the unlocking filter in relation to the color difference components of the decoded image is additionally determined based on a size in a direction perpendicular to the block contour. With this configuration, it is possible to apply the unlocking filter more appropriately even if the block shape is a rectangle that is not a square.
[0075] Furthermore, in the present embodiment, as will be described later, a strong filter with higher intensity (with stronger low-pass characteristics) than the strong filter described in Non-Patent Literature 2 can be applied to the color difference components of the decoded image. Moreover, to more appropriately apply the strong filter, as described, in the present embodiment, the filter intensity is determined by a different method than the method used in the filter intensity determination process described in Non-Patent Literature 2. With this configuration, it is possible to further reduce block distortion.
[0076] Thus, the overview of an embodiment of the present description has been described above. Next, the configurations and operation of the present embodiment to achieve the effects described above will be sequentially described in detail. <2. Schematic configuration of the device>
[0077] First, a schematic configuration of an exemplary apparatus in which the technology described in this specification is applicable will be described in relation to Figure 5 and Figure 6. The technology described in this specification is applicable, for example, in an image encoding apparatus and in an image decoding apparatus. [2-1. Image encoding device]
[0078] Figure 5 is a block diagram illustrating an example Petition 870260040593, dated 04 / 30 / 2026, page 32 / 110 / 63 of a configuration of an image encoding device 10 as a mode of the image processing device according to an embodiment of the present description.
[0079] With regard to Figure 5, the image encoding apparatus 10 includes a temporary classification storage 11, a control unit 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, an invertible encoding unit 16, a temporary accumulation storage 17, an inverse quantization unit 21, an inverse orthogonal transformation unit 22, an addition unit 23, a loop filter 24, a frame memory 30, a switch 31, a mode definition unit 32, an intraprediction unit 40 and an interprediction unit 50.
[0080] Temporary classification storage 11 classifies a series of images that constitute a video to be encoded, according to a Group of Figures (GOP) structure related to an encoding process. Temporary classification storage 11 transmits the classified image to the control unit 12, the subtraction unit 13, the intraprediction unit 40, and the interprediction unit 50.
[0081] Control unit 12 segments an image into blocks in a processing unit based on an exterior or block size of a processing unit that is designated in advance. Through the block segmentation performed by control unit 12, a Quadruple Tree Block Structure or Quadruple Tree Plus Binary Tree (QTBT) Block Structure can be formed as the processing unit. Additionally, control unit 12 determines a parameter related to the encoding process based, for example, on Rate Distortion Optimization (RDO). The determined parameter is supplied to each of the units.
[0082] The subtraction unit 13 calculates a prediction error that is Petition 870260040593, dated 04 / 30 / 2026, page 33 / 110 / 63 a difference between an image inserted from the temporary classification storage 11 and a predicted image and transmits the prediction error calculated for the orthogonal transformation unit 14.
[0083] The orthogonal transformation unit 14 performs an orthogonal transformation process in each of one or more transformation blocks (TUs) that are defined in each domain. The orthogonal transformation in this case can be, for example, a discrete cosine transform or a discrete sine transform. More specifically, the orthogonal transformation unit 14 transforms the prediction error entered from the subtraction unit 13 of an image signal in a spatial domain into a transformation coefficient in a frequency domain for each of the transformation blocks. Then, the orthogonal transformation unit 14 transmits the transformation coefficient to the quantization unit 15.
[0084] Furthermore, the orthogonal transformation unit 14 can generate an indicator that shows the presence or absence of a significant coefficient in each of the TUs for each of the components (for each of the Y component, the U component, and the V component) based on the transformation coefficient obtained through the orthogonal transformation and transmit the indicators to the invertible encoding unit 16 and the loop filter 24. In the meantime, the indicator showing the presence or absence of the significant coefficient of the U component in each of the TUs and the indicator showing the presence or absence of the significant coefficient of the V component in each of the TUs, which are generated by the orthogonal transformation unit 14, are included in the parameter related to the color difference.
[0085] The transformation coefficient that is entered from the orthogonal transformation unit 14 and a rate control signal that is obtained from a rate control unit 18 to be described below Petition 870260040593, dated 04 / 30 / 2026, page 34 / 110 / 63 are supplied for quantization unit 15. Quantization unit 15 quantizes the transformation coefficient and transmits the quantized transformation coefficient (hereinafter also referred to as quantized data) to invertible encoding unit 16 and inverse quantization unit 21. Additionally, quantization unit 15 changes a quantization scale based on the rate control signal obtained from rate control unit 18 and changes a bit rate of the quantized data entered into invertible encoding unit 16.
[0086] The invertible encoding unit 16 encodes the quantized data entered from the quantization unit 15 and generates a continuous encoded stream. Additionally, the invertible encoding unit 16 encodes various parameters that are referenced by a decoder and inserts the encoded parameters into the continuous encoded stream. The parameters encoded by the invertible encoding unit 16 may include the parameter determined by the control unit 12, as described.
[0087] Furthermore, the parameters encoded by the invertible encoding unit 16 may include the parameter related to color difference. The parameter related to color difference encoded by the invertible encoding unit 16 includes, for example, the indicator that shows the presence or absence of the significant coefficient of the U component in each of the TUs and the indicator that shows the presence or absence of the significant coefficient of the V component in each of the TUs, which are entered from the orthogonal transformation unit 14, as described. The invertible encoding unit 16 transmits the generated encoded continuous stream to the temporary accumulation storage 17.
[0088] Temporary accumulation storage 17 temporarily accumulates the encoded continuous stream inserted from the reversible encoding unit 16, by using a storage medium, such as a semiconductor memory. Then, temporary storage of Petition 870260040593, dated 04 / 30 / 2026, page 35 / 110 / 63 accumulation 17 transmits the accumulated encoded continuous stream to a transmission unit (e.g., a communication interface, a connection interface for a peripheral device or similar) (not illustrated) at a rate corresponding to a bandwidth of a transmission path.
[0089] Rate control unit 18 monitors a free space in the temporary accumulation storage 17. Then, rate control unit 18 generates a rate control signal according to the free space in the temporary accumulation storage 17 and transmits the generated rate control signal to the quantization unit 15. For example, if the free space in the temporary accumulation storage 17 is small, rate control unit 18 generates a rate control signal to reduce the bit rate of the quantized data. Additionally, for example, if the free space in the temporary accumulation storage 17 is adequately large, rate control unit 18 generates a rate control signal to increase the bit rate of the quantized data.
[0090] The inverse quantization unit 21, the inverse orthogonal transformation unit 22, and the addition unit 23 constitute a local decoder. The local decoder has the role of locally decoding an image decoded from encoded data.
[0091] The inverse quantization unit 21 inversely quantizes the quantized data using the same quantization parameter used by the quantization unit 15 and restores the transformation coefficient. Then, the inverse quantization unit 21 transmits the restored transformation coefficient to the inverse orthogonal transformation unit 22.
[0092] The inverse orthogonal transformation unit 22 performs an inverse orthogonal transformation process on the transformation coefficient entered from the inverse quantization unit 21 and restores the prediction error. Then, the inverse orthogonal transformation unit 22 transmits the Petition 870260040593, dated 04 / 30 / 2026, page 36 / 110 / 63 prediction error restored for the addition unit 23.
[0093] The addition unit 23 adds the restored prediction error that is entered from the inverse orthogonal transformation unit 22 and the predicted image that is entered from the intraprediction unit 40 or the interprediction unit 50 and generates a decoded image (restored image). Then, the addition unit 23 transmits the generated decoded image to the loop filter 24 and the frame memory 30.
[0094] The loop filter 24 applies a series of loop filters to improve the image quality of the decoded image. For example, as described in “2.5. Loop Filtering” in the Reference Literature REF3, four loop filters, such as a bilateral filter, an unlock filter, an adaptive shift filter, and an adaptive loop filter, can be applied in this order. The loop filter 24 illustrated in Figure 5 includes, for example, a bilateral filter 25, an unlock filter 26a, an adaptive shift filter 27, and an adaptive loop filter 28, and the four loop filters described above are applied sequentially. However, the configuration of loop filter 24 is not limited to this example, and which of the four loop filters is applied and the order of application can be appropriately selected. In the meantime, the unlock filter 26a will be described in detail below.
[0095] Loop filter 24 transmits the decoded image in which loop filters are applied to frame memory 30.
[0096] Frame memory 30 stores a decoded image that is inserted from the addition unit 23 and for which filtering has not yet been performed, and a decoded image that is inserted from the loop filter 24 and on which loop filters are applied, by using a storage medium.
[0097] Switch 31 reads, from frame memory 30, a decoded image that is used for intraprediction and for which filtering Petition 870260040593, dated 04 / 30 / 2026, p. 37 / 110 / 63 is not yet performed and supplies the decoded image read as a reference image for the intraprediction unit 40. Additionally, switch 31 reads, from frame memory 30, a decoded image that is used for interprediction and for which filtering is performed, and supplies the decoded image read as a reference image for the interprediction unit 50.
[0098] Mode-defining unit 32 defines a predicted coding mode for each of the blocks based on a comparison between the costs entered from the intra-forecast unit 40 and the inter-forecast unit 50. For a block for which an intra-forecast mode is defined, mode-defining unit 32 transmits the predicted image generated by the intra-forecast unit 40 to the subtraction unit 13 and the addition unit 23 and transmits the information about the intra-forecast to the invertible coding unit 16. Additionally, for a block for which an inter-forecast mode is defined, mode-defining unit 32 transmits the predicted image generated by the inter-forecast unit 50 to the subtraction unit 13 and the addition unit 23 and transmits the information about the inter-forecast to the invertible coding unit 16.
[0099] The intraprediction unit 40 performs an intraprediction process based on an original image and a decoded image. For example, the intraprediction unit 40 evaluates a cost based on a prediction error and an amount of encoding that occurs, for each of the candidate prediction modes included in a search range. Subsequently, the intraprediction unit 40 selects a minimum cost prediction mode as an optimal prediction mode. Furthermore, the intraprediction unit 40 generates a predicted image according to the selected optimal prediction mode. Then, the intraprediction unit 40 transmits the intraprediction information, which includes the prediction mode information indicating the optimal prediction mode, a corresponding cost, and the Petition 870260040593, dated 04 / 30 / 2026, page 38 / 110 / 63, image provided, for the mode definition unit 32.
[00100] Interprediction unit 50 performs an interprediction (motion compensation) process based on the original image and the decoded image. For example, interprediction unit 50 evaluates a cost based on the prediction error and the amount of encoding that occurs, for each of the candidate prediction modes included in a certain search range. Subsequently, interprediction unit 50 selects a prediction mode with the lowest cost, that is, a prediction mode with the highest compression rate, as an optimal prediction mode. Furthermore, interprediction unit 50 generates a predicted image according to the selected optimal prediction mode. Then, interprediction unit 50 transmits the information about the interprediction, a corresponding cost, and the predicted image to mode definition unit 32. [2-2. Image decoding device]
[00101] Next, the decoding of data that are encoded in the manner described above will be described. Figure 6 is a block diagram illustrating an example of a configuration of an image decoding apparatus 60 as a mode of the image processing apparatus according to the present embodiment. With respect to Figure 6, a temporary accumulation storage 61, an invertible decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transformation unit 64, an addition unit 65, a loop filter 66, a temporary classification storage 72, a Digital to Analog (D / A) conversion unit 73, a frame memory 80, selectors 81a and 81b, an intraprediction unit 90 and an interprediction unit 100 are included.
[00102] Temporary accumulation storage 61 temporarily stores a continuous encoded stream that is received from the image encoding device 10 via a unit of Petition 870260040593, dated 04 / 30 / 2026, page 39 / 110 / 63 transmission (for example, a communication interface, a connection interface for a peripheral device or similar) (not illustrated), through the use of a storage medium.
[00103] The invertible decoding unit 62 decodes the encoded continuous stream entered from the temporary accumulation storage 61 according to an encoding system that was used for encoding and generates the quantized data. The invertible decoding unit 62 transmits the generated quantized data to the inverse quantization unit 63.
[00104] Additionally, the invertible decoding unit 62 syntactically analyzes various parameters of the encoded continuous stream. The parameters syntactically analyzed by the invertible decoding unit 62 may include, for example, intraprediction information and interprediction information. The invertible decoding unit 62 transmits intraprediction information to the intraprediction unit 90. Additionally, the invertible decoding unit 62 transmits interprediction information to the interprediction unit 100.
[00105] Additionally, the parameters syntactically analyzed by the invertible decoding unit 62 may include the parameter related to color difference. The invertible decoding unit 62 transmits the parameter related to color difference to the loop filter 66. In the meantime, the parameter related to color difference syntactically analyzed by the invertible decoding unit 62 includes, for example, the indicator that indicates the presence or absence of the significant coefficient of the U component in each of the TUs and the indicator that indicates the presence or absence of the significant coefficient of the V component in each of the TUs, as explained.
[00106] The inverse quantization unit 63 inversely quantizes the quantized data entered from the invertible decoding unit 62 Petition 870260040593, dated 04 / 30 / 2026, page 40 / 110 / 63 through the same quantization step used for encoding and restores the transformation coefficient. The inverse quantization unit 63 transmits the restored transformation coefficient to the inverse orthogonal transformation unit 64.
[00107] The inverse orthogonal transformation unit 64 performs the inverse orthogonal transformation on the transformation coefficient entered from the inverse quantization unit 63, according to an orthogonal transformation system that was used for encoding and generates a prediction error. The inverse orthogonal transformation unit 64 transmits the generated prediction error to the addition unit 65.
[00108] The addition unit 65 adds the prediction error entered from the inverse orthogonal transformation unit 64 and the predicted image entered from a selector 71b and generates a decoded image. Then, the addition unit 65 transmits the generated decoded image to the loop filter 66 and the frame memory 80.
[00109] The loop filter 66 applies a series of loop filters to improve the image quality of the decoded image. For example, as described in “2.5. Loop Filtering” in the Reference Literature REF3, four loop filters, such as a bilateral filter, an unlock filter, an adaptive shift filter, and an adaptive loop filter, can be applied in this order. The loop filter 66 illustrated in Figure 6 includes, for example, a bilateral filter 67, an unlock filter 26b, an adaptive shift filter 69, and an adaptive loop filter 70, and the four loop filters described above are applied sequentially. However, the configuration of the loop filter 66 is not limited to this example, and which of the four loop filters is applied and the order of application can be appropriately selected. In the meantime, the unlock filter 26b will be described in detail below.
[00110] The loop filter 66 transmits the decoded image in which Petition 870260040593, dated 04 / 30 / 2026, page 41 / 110 / 63 the loop filters are applied to the temporary classification storage 72 and the frame memory 80.
[00111] Temporary sorting storage 72 sorts the images inserted from the loop filter 66 and generates a series of chronological images. Then, temporary sorting storage 72 transmits the generated images to the D / A conversion unit 73.
[00112] The D / A conversion unit 73 converts the images, which are in a digital format and inserted from the temporary classification storage 72, into image signals in an analog format. Then, the D / A conversion unit 73 transmits the analog image signals, for example, to a viewfinder (not shown) that is connected to the image decoding device 60, so that a video is displayed.
[00113] Frame memory 80 stores a decoded image that is inserted from the addition unit 65 and for which filtering has not yet been performed, and a decoded image that is inserted from the loop filter 66 and on which loop filters are applied, by using a storage medium.
[00114] Selector 81a switches between intraprediction unit 90 and interprediction unit 100 as an output destination for an image from frame memory 80, for each of the blocks in the image according to the prediction mode information acquired by the invertible decoding unit 62. For example, if intraprediction mode is designated, selector 81a transmits, as a reference image, a decoded image that is supplied from frame memory 80 and for which filtering has not yet been performed to intraprediction unit 90. Additionally, if interprediction mode is designated, selector 81a transmits, as a reference image, a decoded image for which filtering has been performed to interprediction unit 100.
[00115] Selector 81b switches between intraprediction unit 90 and a Petition 870260040593, dated 04 / 30 / 2026, page 42 / 110 / 63 interprediction unit 100 as an output source of a predicted image to be supplied to the addition unit 65, according to the prediction mode information acquired by the invertible decoding unit 62. For example, if the intraprediction mode is designated, selector 81b supplies the predicted image transmitted from the intraprediction unit 90 to the addition unit 65. Additionally, if the interprediction mode is designated, selector 81b supplies the predicted image transmitted from the interprediction unit 100 to the addition unit 65.
[00116] The intraprediction unit 90 performs the intraprediction process based on the intraprediction information entered from the invertible decoding unit 62 and the reference image from the frame memory 80 and generates a predicted image. Then, the intraprediction unit 90 transmits the generated predicted image to the selector 81b.
[00117] Interprediction unit 100 performs the interprediction process based on the interprediction information entered from the invertible decoding unit 62 and the reference image from the frame memory 80 and generates a predicted image. Then, interprediction unit 100 transmits the generated predicted image to the selector 81b. <3. Unlock filter> [3-1. Example of unlock filter configuration]
[00118] In this section, an example of the settings of the unlock filter 26a of the image encoding device 10 illustrated in Figure 5 and of the unlock filter 26b of the image decoding device 60 illustrated in Figure 6 will be described. In the meantime, the settings of the unlock filter 26a and the unlock filter 26b may be the same. Therefore, in the following description, if the unlock filter 26a and the unlock filter 26b do not need to be specifically distinguished from each other, they are the same. Petition 870260040593, dated 04 / 30 / 2026, page 43 / 110 / 63 will be collectively referred to as an unlock filter 26.
[00119] As described above, the unlocking filter 26 according to the present embodiment determines the need for applying the unlocking filter to the color difference components of a decoded image based on bS, which is calculated using the parameter related to the color difference. Additionally, as described, the unlocking filter 26 according to the present embodiment determines the need for applying the unlocking filter to the color difference components of the decoded image additionally based on a size in a direction perpendicular to the block contour. Furthermore, as described, the unlocking filter 26 according to the present embodiment can apply a strong filter with greater intensity (with stronger low-pass characteristics) than the strong filter described in Non-Patent Literature 2 to the color difference components of the decoded image.Furthermore, in order to more appropriately apply the strong filter as described, in the present embodiment, the filter intensity is determined by a different method than the method used in the filter intensity determination process described in Non-Patent Literature 2. In the meantime, the functions of the unlocking filter 26 related to the unlocking filter applied to the color difference components of the decoded image will be mainly described herein, and the functions of the unlocking filter 26 related to the unlocking filter applied to the luminance component will be appropriately omitted.
[00120] Figure 7 is a block diagram illustrating an example of a detailed configuration of the unlocking filter 26 according to the present embodiment. With respect to Figure 7, the unlocking filter 26 includes a contour intensity calculation unit 261, a determination unit 263 and a filtering unit 269. Petition 870260040593, dated 04 / 30 / 2026, page 44 / 110 / 63 (1) Unit for calculating contour intensity
[00121] The contour intensity calculation unit 261 adopts a block contour of a decoded image as a target and calculates the contour intensity (bS) using the color difference-related parameter related to a color difference. If a signal in YUV420 format is adopted as a target, the contour intensity calculation unit 261 calculates bS in four-line units of the luminance components of the decoded image, that is, in two-line units of the color difference components of the decoded image.
[00122] In the present embodiment, the parameter related to the color difference used by the contour intensity calculation unit 261 for the calculation of bS includes the indicator that indicates the presence or absence of the significant coefficient of the U component in each of the TUs and the indicator that indicates the presence or absence of the significant coefficient of the V component in each of the TUs. As illustrated in Figure 7, the indicator that indicates the presence or absence of the significant coefficient of each of the components (Y component, U component and V component) in each of the TUs is inserted into the contour intensity calculation unit 261 from the orthogonal transformation unit 14 or the invertible decoding unit 62.
[00123] The contour intensity calculation unit 261 calculates bS based on condition A, condition B1-Y, condition B1-U, condition B1-V, and condition B2, which are explained previously in relation to Figure 4. That is, the contour intensity calculation unit 261 calculates bS based on whether the significant coefficients of the color difference components are present in TUs that sandwich the block contour for which bS is to be calculated. Furthermore, the contour intensity calculation unit 261 according to the present embodiment can calculate bS by independently determining whether the coefficient Petition 870260040593, dated 04 / 30 / 2026, page 45 / 110 / 63 significant of each of the Y component, the U component and the V component is present in the TUs that sandwich the block boundary for which bS must be calculated. With this configuration, it is possible to calculate the bS that is most suitable for the U component and the V component, compared to calculating bS based on whether the significant coefficient of the Y component is present, as explained previously in relation to Figure 2, so that the unlocking filter can be applied more appropriately.
[00124] Regarding Figure 8, the calculation of bS by the contour intensity calculation unit 261 will be described in detail. Figure 8 is a table illustrating an example of bS calculated by the contour intensity calculation unit 261. The bS calculated by the contour intensity calculation unit 261 can be represented by a plurality of bits. In the example illustrated in Figure 8, bS is represented by 5 bits. Additionally, bS can be calculated in such a way that the plurality of bits includes at least one bit corresponding to each of the Y component, the U component, and the V component. With this configuration, when the determination unit 263 to be described below determines the need to apply the unlocking filter based on bS, it is easy to perform the determination by reference to the bits of the corresponding bS for each of the target components of determination.
[00125] Furthermore, the contour intensity calculation unit 261 can calculate bS in such a way that each of the bits included in bS corresponds to true or false for each of the conditions. In the example illustrated in Figure 8, bS is calculated in such a way that, if each of the conditions is true, the bit corresponding to each of the conditions is set to 1, and if each of the conditions is false, the bit corresponding to each of the conditions is set to 0. Furthermore, in the example illustrated in Figure 8, bS is represented by 5 bits, in Petition 870260040593, dated 04 / 30 / 2026, p. 46 / 110 / 63, states that the fifth bit of bS corresponds to condition A in the intraprediction, the fourth bit of bS corresponds to condition B1-Y in the significant coefficient of component Y, the third bit of bS corresponds to condition B1-U in the significant coefficient of component U, the second bit of bS corresponds to condition B1-V in the significant coefficient of component V, and the first bit of bS corresponds to condition B2 in the MV and in the reference figure. However, the correspondence between each of the bits of bS and each of the conditions is not limited to the example illustrated in Figure 8. For example, the order of the fourth bit, the third bit, and the second bit of bS, respectively corresponding to component Y, component U, and component V, can be interchanged with each other. (2) Unit of determination
[00126] The determination unit 263 includes, as illustrated in Figure 7, a determination unit of the need for application 265 which determines the need for application of the unlocking filter in relation to the color difference components of the decoded image and a determination unit of the filter intensity 267 which determines the filter intensity of the unlocking filter that is applied to the color difference components of the decoded image. The functions of the determination unit of the need for application 265 and the determination unit of the filter intensity 267 will be described sequentially below.
[00127] In the meantime, in the following explanation, the determination of the need for applying the unlocking filter in relation to the color difference components of the decoded image and the determination of the filter intensity will be mainly described, and the explanation of the determination of the luminance component will be appropriately omitted. Additionally, the unit for determining the need for application 265 and the unit for determining the filter intensity 267 according to the present embodiment determine the need for application of Petition 870260040593, dated 04 / 30 / 2026, page 47 / 110 / 63 unlocking filter and the filter intensity separately for each of the U component and the V component.
[00128] The unit for determining the need for application 265 adopts the block contour of the decoded image as a target and determines the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity (bS) which is calculated by the contour intensity calculation unit 261, as described.
[00129] Additionally, the application 265 need determination unit can determine the need for applying the unlocking filter in relation to the color difference components of the decoded image, further based on the block sizes of the blocks sandwiching the block contour. In the meantime, the determination based on block sizes can be referred to as large block determination. Furthermore, the application 265 need determination unit does not always need to perform large block determination on all block contours, but can determine whether large block determination is performed according to bS. A case in which large block determination is performed and the details of large block determination will be described below.
[00130] The unit for determining the need for application 265 according to the present embodiment determines the need for application of the unlocking filter by determining a condition C1 and a condition C2 below. * Condition C1: (bS==16||(condition C11&&condition)) * Condition C2: d <beta
[00131] A C11 condition in the exposed C1 condition is a condition to determine whether big block determination is performed, and a C12 condition is a condition related to big block determination. If bS is Petition 870260040593, dated 04 / 30 / 2026, page 48 / 110 / 63 16, that is, if condition A on intraprediction is satisfied, condition C1 can be determined as true without needing to perform big block determination. Therefore, condition C11 for determining whether big block determination is performed can be true if bS has a value related to interprediction. In the meantime, by determining that condition C1 is true while ignoring big block determination if bS is 16, as explained, it is possible to reduce a significant amount of processing related to big block determination.
[00132] Furthermore, if condition C11 in condition C1 is false, condition C1 is determined to be false without performing the determination in condition C12 (large block determination). With this configuration, it is possible to reduce the amount of processing related to large block determination.
[00133] Condition C11 may be true if a condition on the significant coefficient of each of the components or the above-described condition B2 is true. That is, condition C11 may vary depending on a target component for determination. For example, condition C11 may be a condition, such as the following C11-U condition, if component U is adopted as a target for determination, and condition C11 may be a condition, such as the following C11-V condition, if component V is adopted as a target for determination. * Condition C11-U: (bS&0x04||bS&0x01) * Condition C11-V: (bS&0x02||bS&0x01)
[00134] Furthermore, the unit for determining the need for application 265 performs large block determination based on the sizes of the blocks that sandwich the block contour, in a direction perpendicular to the block contour. With this configuration, if the block shapes are rectangles that are not squares, it is possible to determine the need to apply the unlocking filter based on the sizes in Petition 870260040593, dated 04 / 30 / 2026, page 49 / 110 / 63 direction perpendicular to the block contour, where sizes in this direction are likely to impact the occurrence of block distortion.
[00135] Furthermore, the application need determination unit 265 can perform large block determination based on whether the sizes of the blocks sandwiching the block contour in the direction perpendicular to the block contour are larger than a predetermined limit. The limit used for large block determination is not limited, but can be, for example, 16. If the sizes in the direction perpendicular to the block contour are small, in particular, equal to or less than 16, block noise is less likely to be visible and therefore, with this setting, it is possible to avoid applying an unnecessary unblocking filter. For example, a C12 condition in large block determination could be a condition to follow. Condition C12: (EDGE_VER&&block_width>16)||(EDGE_HOR&&block_height>16)
[00136] In the meantime, in the C12 condition shown, EDGE_VER indicates that a target block boundary for determination is a vertical boundary and EDGE_HOR indicates that the target block boundary for determination is a horizontal boundary.
[00137] Furthermore, the stated condition C2 is the same as the aforementioned condition C92, and therefore its explanation will be omitted here. In the meantime, the determination in the stated condition C2 is performed if condition C1 is true, and if condition C1 is false, it is determined that the unlocking filter does not need to be applied without performing the determination in condition C2. The determination in condition C2 requires a process to calculate the variable d, as indicated by Equations (1) to (7) shown, and the amount of processing is greater than that of the determination in condition C1; therefore, by performing the determination in condition C2 after the determination in condition C1, it is possible to reduce the amount of Petition 870260040593, dated 04 / 30 / 2026, page 50 / 110 / 63 processing.
[00138] Furthermore, the filter intensity determination unit 267 additionally determines the filter intensity of the unlocking filter that is applied to the color difference components of the decoded image, after determining the need for applying the unlocking filter based on condition C1 and condition C2, as described. The unlocking filter applicable in this embodiment may include two filter types, such as a weak filter with lower intensity and a strong filter with higher intensity, as will be described later. Then, the filtering unit 269 to be described below applies either the weak filter or the strong filter according to the filter intensity determined by the filter intensity determination unit 267.
[00139] The filter intensity determination unit 267 determines the filter intensity if it is determined that the unlocking filter should be applied. By performing the filter intensity determination after determining the need to apply the unlocking filter, it is possible to reduce a process related to determining the filter intensity.
[00140] Furthermore, the 267 filter intensity determination unit determines the filter intensity based on the waveforms of the color difference components of a pixel located in the vicinity of the block outline. The waveform-based determination will be described below. The 267 filter intensity determination unit determines the filter intensity using the following C3 condition, which is based on waveforms. * Condition C3: (condition C31 && condition C32 && condition C33) * Condition C31: |p3-p0|+|q3-q0|<(beta>>3) * Condition C32: |p2-2*p1+p0|+|q2-2*q1+q0|<(beta>>2) * Condition C33: |p0-q0|<((tc*5+1)>>1) Petition 870260040593, dated 04 / 30 / 2026, page 51 / 110 / 63
[00141] The filter intensity determination unit 267 performs the determination in the exposed condition C3 in relation to the pixels that are included in the two lines between the pixels that are located in the vicinity of the block contour. Conditions C31, C32, and C33 used in the exposed condition C3 are determined for each of the lines. In the meantime, pi, qk, pi', qC, beta, and te described in conditions C31, C32, and C33 are already described above and, therefore, their explanation will be omitted here.
[00142] Condition C31, Condition C32, and Condition C33 are conditions that are determined using the pixels included in each of the lines. More specifically, Condition C31 is a condition about the leveling of the color difference components of the pixels included in each of the lines in the block. Additionally, Condition C32 is a condition about determining the continuity of the color difference components of the pixels included in each of the lines in the block. Furthermore, Condition C33 is a condition about a gap (difference) in the color difference components of the pixels included in each of the lines between the blocks and, in particular, a condition to determine a gap between the blocks by using the pixel values adjacent to the block boundary.
[00143] If condition C31 is true, the flatness of the color difference component waveforms in each of the blocks is high. Additionally, if condition C32 is true, the continuity of the color difference component waveforms in each of the blocks is high. Furthermore, if condition C32 is true, the color difference component waveforms have a large gap at the block boundary.
[00144] As described above, condition C3 is determined to be true if all of the conditions C31, C32, and C33 shown are true. Additionally, the filter intensity determination unit 267 determines the exposed condition C3 for each of the Petition 870260040593, dated 04 / 30 / 2026, page 52 / 110 / 63 lines. However, as explained, the filter intensity is determined in units of two lines. That is, the filter intensity is determined in such a way that, if the stated condition C3 is true in both of two successive lines, the strong filter is applied to both lines, and if the stated condition C3 is false in both of the two successive lines, the weak filter is applied to both lines. (3) Filtration unit
[00145] Filtering unit 269 applies the unlocking filter to the color difference components of the pixels located in the vicinity of the block outline, based on a result of the determination of the need for applying the unlocking filter performed by the determination of the need for application unit 265. Additionally, as explained, filtering unit 269 applies the weak filter or the strong filter as the unlocking filter according to the filter intensity determined by the filter intensity determination unit 267.
[00146] The weak filter that is applied to the color difference components by the filtering unit 269 according to the present embodiment may be the same weak filter that is applied to the color difference components of the decoded image in Non-Patent Literature 2 or HEVC, as described, for example. Conversely, the strong filter that is applied to the color difference components by the filtering unit 269 according to the present embodiment may be different from the strong filter that is applied to the color difference components in Non-Patent Literature 2 (the strong filter applied to the luminance component in HEVC). An example of the strong filter that is applied to the color difference components in the present embodiment will be described below.
[00147] A strong filter coefficient that is applied to the color difference components in the present embodiment can be defined at 2 in the central position of a target region of application for the strong filter and can be defined Petition 870260040593, of 04 / 30 / 2026, page 53 / 110 / 63 in 1 in other positions. Additionally, the filtering unit 269 can adopt three pixels on both sides of the block contour as the target region for the strong filter and apply the strong filter to the color difference components included in the target region by using three pixels on both sides of the central position of the target range as reference pixels. For example, a strong filter for which the central position of the target range is denoted by p0 is represented by Equation (14) below. p0-Clip3(p0-w*tC,p0+w*te,((p3+p2+p1+2*p0+q0+q1+q2+4)>>3)) (14)
[00148] In the meantime, w in Equation (14) set out is a weight that is appropriately defined and can be set to 1 or 2, for example. Additionally, Clip3(a,b,c) represents a clipping process to clip the value c in the range a < c < b, as set out.
[00149] By applying the strong filter, as described, it is possible to apply an unlocking filter that is stronger than the strong filter that is applied to the color difference components in Non-Patent Literature 2, as described.
[00150] In the meantime, if the central position of the target range of the application for the strong filter is the second pixel or the third pixel of the block contour, the reference pixels include the pixels that are separated by five or more pixels from the block contour. However, the pixels that are separated by five or more pixels from the block contour are not used for the determination of the filter intensity and may be unsuitable for use as the reference pixels. Therefore, the filtering unit 269 can perform padding on a pixel value of the fourth pixel from the block contour, instead of the pixels that are separated by five or more pixels from the block contour, and use that pixel value as a reference pixel value.
[00151] For example, the strong filter for which the central position of Petition 870260040593, dated 04 / 30 / 2026, p. 54 / 110 / 63 target range of the application is denoted by pi and is represented by Equation (15) below. pi-Clip3(pi-w*tc,pi+w*tc,((p4+p3+p2+2*pi+po+qo+qi+4)>>3)) =Clip3(p1-w*tc,pi+w*tc,((p3+p3+p2+2*pi+po+qo+qi+4)>>3)) =Clip3(pi-w*tc,pi+w*tc,((2*p3+p2+2*pi+po+qo+qi+4)>>3))(i5) [00i52] Similarly, the strong filter for which the central position of the target range of the application is denoted by p2 is represented by Equation (i6) below. p2-clip3(p2-w*tc,p2+w*tc,((p5+p4+p3+2*p2+pi+po+qo+4)>>3)) =clip3(p2-w*tc,p2+w*tc,((p3+p3+p3+2*p2+pi+po+qo+4)>>3)) =clip3(p2-w*tc,p2+w*tc,((3*p3+2*p2+pi+po+qo+4)>>3))(i6) [ooi53] Additionally, similarly, strong filters for which the central positions of the target ranges of the application are denoted by q0 to q3 are represented by Equations (i7) to (i9) below. qo-clip3(qo-w*tc,qo+w*tc,((p2+pi+po+2*qo+qi+q2+q3+4)>>3))(i7) qi-clip3(qi-w*tc,qi+w*tc,((pi+po+qo+2*qi+q2+2*q3+4)>>3))(i8) q2-clip3(q2-w*tc,q2+w*tc,((po+qo+qi+2*q2+3*q3+4)>>3))(i9) [3-2. Process Flow] [ooi54] Thus, the example of configuring unlock filter 26 according to the present embodiment has been described above. Next, the flow of a process performed by unlock filter 26 according to the present embodiment will be described. Figure 9 is a flowchart illustrating an example of the process flow performed by unlock filter 26 according to the present embodiment. In the meantime, a process related to a resource of the present embodiment among the processes performed by unlock filter 26 will be explained below, and the explanation of other processes will be appropriately omitted. [ooi55] First, the contour intensity calculation unit 26i calculates the contour intensity (bS) (Sio). Here, in relation to Figure io, Petition 870260040593, dated 04 / 30 / 2026, page 55 / 110 / 63 a method for calculating bS will be described in detail below. Figure 10 is a flowchart to explain the flow of a contour intensity (S10) calculation process that is performed by the contour intensity calculation unit 261.
[00156] First, the contour intensity calculation unit 261 initializes bS to zero (S102). Subsequently, the contour intensity calculation unit 261 determines whether condition A, which is the condition on intraprediction, is true or false (S104). If condition A is true (S104 YES in), bS is set to 16 (S106).
[00157] Conversely, if condition A is false (NO in S104), the contour intensity calculation unit 261 determines whether condition B, which is the condition on the motion vector (MV) and the reference figure, is true or false (S108). If condition B2 is true (YES in S108), bS is set to 1 (S110).
[00158] Conversely, if condition B2 is false (NO in S108), the contour intensity calculation unit 261 determines whether condition B1-Y, which is the condition on the presence or absence of the significant coefficient of the Y component, is true or false (S112). If condition B1-Y is true (YES in S112), 8 is added in bS (S114) and subsequently the process proceeds to Step S116. Conversely, if condition B1-Y is false (NO in S112), the process proceeds directly to Step S116.
[00159] In Step S116, the contour intensity calculation unit 261 determines the B1-U condition, which is the condition regarding the presence or absence of the significant U component coefficient. If the B1-U condition is true (YES in S116), 4 is added in bS (S118) and subsequently the process proceeds to Step S120. Conversely, if the B1-U condition is false (NO in S116), the process proceeds directly to Step S120. Petition 870260040593, dated 04 / 30 / 2026, page 56 / 110 / 63
[00160] In Step S120, the contour intensity calculation unit 261 determines the B1-V condition, which is the condition regarding the presence or absence of the significant coefficient of the V component. If the B1-V condition is true (YES in S120), 2 is added to bS (S122) and, subsequently, the contour intensity calculation process (S10) is terminated. If the B1-V condition is false (NO in S120), the contour intensity calculation process (S10) is directly terminated.
[00161] Again referring to Figure 9, the explanation of the process flow performed by the unlocking filter 26 is continued. In Step S20, the application need determination unit 265 of the determination unit 263 determines whether the condition C1 described above is true or false. If condition C1 is false (NO in S20), the process is terminated.
[00162] Conversely, if condition C1 is true (YES in S20), the application need determination unit 265 determines whether the above-described condition C2 is true or false (S30). If condition C2 is false (NO in S30), the process is terminated.
[00163] Conversely, if condition C2 is true (S30 YES at), the filter intensity determination unit 267 of the determination unit 263 determines whether the above-described condition C3 is true or false and determines the filter intensity (S40). If condition C3 is true (YES at S40), the filtering unit 269 applies the strong filter to the color difference components of the pixels located in the vicinity of the block outline (S50). Conversely, if condition C3 is false (NO at S40), the filtering unit 269 applies the weak filter to the color difference components of the pixels located in the vicinity of the block outline (S60).
[00164] Thus, the flow of processes performed by the unlocking filter 26 according to the present modality has been described above. In the meantime, the processes described above in relation to Figure 9 and Figure 10 Petition 870260040593, dated 04 / 30 / 2026, page 57 / 110 / 63 can be performed in four-line units of the luminance components of the decoded image in YUV420 format, for example, that is, in two-line units of the color difference components of the decoded image. [3-3. Modification]
[00165] Figure 11 is a table illustrating a modification of bS calculated by the contour intensity calculation unit 261. Similar to the example in Figure 8, bS is represented by 5 bits. Additionally, the plurality of bits of bS includes at least one bit corresponding to each of the Y component, the U component, and the V component. The fifth bit (topmost bit) of bS corresponds to condition A on the intraprediction, the fourth bit of bS corresponds to condition B1-Y on the significant coefficient of the Y component, the third bit of bS corresponds to condition B1-U on the significant coefficient of the U component, the second bit of bS corresponds to condition B1-V on the significant coefficient of the V component, and the first bit (bottommost bit) of bS corresponds to condition B2 on the MV and the reference figure.
[00166] In the present modification, in particular, if the B1-Y condition is false (that is, bS is less than 8), the first bit of bS is set to 1, which is different from the example in Figure 8. Consequently, while bS has any of 10 types of values, such as 0, 1, 2, 4, 6, 8, 10, 12, 14 and 16 in the example illustrated in Figure 8, on the other hand, bS has any of 13 types of values, such as 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14 and 16 in the present modification.
[00167] Figure 12A and Figure 12B are flowcharts to explain an example of the flow of a contour intensity calculation process corresponding to the modification illustrated in Figure 11. It is considered that bS is initialized to zero before the start of the process. With respect to Figure 12A, first, the contour intensity calculation unit 261 determines whether the Petition 870260040593, dated 04 / 30 / 2026, page 58 / 110 / 63 condition A, which is the condition about the intraprediction, is true or false (S150). If condition A is true, bS is set to 16 (S152) and the contour intensity calculation process is terminated.
[00168] If condition A is false, the contour intensity calculation unit 261 determines whether condition B1-Y, which is the condition regarding the presence or absence of the significant coefficient of the Y component, is true or false (S154). If condition B1-Y is true, 8 is added to bS (S156). If condition B1-Y is false, the addition of 8 is ignored (S158). Subsequently, it is determined whether condition B1-U, which is the condition regarding the presence or absence of the significant coefficient of the U component, is true or false (S160). If condition B1-U is true, 4 is added to bS (S162), and if condition B1-U is false, the addition of 4 is ignored (S164). Subsequently, it is determined whether condition B1-V, which is the condition regarding the presence or absence of the significant coefficient of the V component, is true or false (S166). If condition B1-V is true, 2 is added in bS (S168), and if condition B1-V is false, the addition of 2 is ignored (S170).
[00169] With respect to Figure 12B, a subsequent process is branched depending on whether the B1-Y condition, which is the condition on the presence or absence of the significant coefficient of the Y component, is true or false (S172). If the B1-Y condition is true, the fourth bit of bS is equal to 1 and therefore a value of bS is set to 8 or greater (14, 12, 10, or 8) (S174), so that the contour intensity calculation process is terminated without performing the MV check to be described below.
[00170] Conversely, if condition B1-Y is false, the contour intensity calculation unit 261 performs the MV check (S176). The MV check described here indicates the determination of whether condition B2, which is the condition on the motion vector and the reference figure, is Petition 870260040593, dated 04 / 30 / 2026, page 59 / 110 / 63 true or false. If condition B2 is true, 1 is added in bS (S178) and, if condition B2 is false, the addition of 1 is ignored (S180). <4. Example of hardware configuration>
[00171] The above-described series of processes can be performed by hardware or by software. If the series of processes is performed by software, a program that constitutes the software is installed on a computer. Here, the computer includes a computer that is embedded in dedicated hardware, a general-purpose personal computer capable of implementing various functions by installing various programs and the like.
[00172] Figure 13 is a block diagram illustrating an example of a hardware configuration of a computer that performs the series of processes, as described above, by using a program.
[00173] In a computer 800 illustrated in Figure 13, a central processing unit (CPU) 801, a read-only memory (ROM) 802 and a random access memory (RAM) 803 are connected to each other by means of a bus 804.
[00174] 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 unit 815 are connected to the input / output interface 810.
[00175] The input unit 811 is implemented, for example, by a keyboard, a mouse, a microphone, a touch panel, an input terminal or similar devices. The output unit 812 is implemented, for example, by a display, a speaker, an output terminal or similar devices. The storage unit 813 is implemented, for example, by a hard disk, a RAM disk, non-volatile memory or similar devices. The communication unit 814 is implemented, for example, by a network interface. The unit 815 drives a removable media 821, such as a magnetic disk, an optical disk, a magneto-optical disk or a semiconductor memory. Petition 870260040593, dated 04 / 30 / 2026, pages 60 / 110 / 63
[00176] In the computer configured as described, CPU 801 loads a program that is stored, for example, in storage unit 813 on RAM 803 via input / output interface 810 and bus 804 and executes the program, so that the series of processes described above is carried out. RAM 803 also appropriately stores the data that is necessary for various processes carried out by CPU 801.
[00177] The program executed by the computer (CPU 801) can be recorded on and applied via removable media 821 as a media package or similar, for example. In this case, by attaching removable media 821 to drive 815, the program can be installed on storage drive 813 via input / output interface 810.
[00178] Additionally, the program may be provided via a wired or wireless transmission medium, such as a local area network, the Internet, or digital satellite broadcast. In this case, the program may be received by communication unit 814 and installed on storage unit 813.
[00179] Furthermore, the program can be installed on ROM 802 or storage unit 813 in advance. <5. Conclusion>
[00180] In the manner described above, according to one embodiment of the present description, it is possible to apply a deblocking filter more appropriately to the color difference components of a decoded image.
[00181] Although the preferred embodiments of the present description have been described in detail previously in relation to the accompanying drawings, the technical scope of the present description is not limited to the examples presented. It is obvious that those skilled in the art of the present description may conceive of various alternatives and modifications within the scope of the technical idea. Petition 870260040593, dated 04 / 30 / 2026, p. 61 / 110 / 63 described in the attached claims, and it is understood that they will naturally fall under the technical scope of this description. (Parameter related to color difference)
[00182] For example, in the above-described embodiment, the example was described in which the indicator that indicates the presence or absence of the significant coefficients of the color difference components in each of the TUs is used as the parameter related to the color difference, but the present technology is not limited to this example. For example, the transformation coefficients of the color difference components themselves can be included in the parameter related to the color difference. In this case, the contour intensity calculation unit 261 can calculate bS by determining the presence or absence of the significant coefficients of the color difference components in each of the TUs from the transformation coefficients of the color difference components.Additionally, regarding the described method, the example illustrated in Figure 4 shows that the value of bS varies not only depending on whether any of the conditions B1-Y, B1-U, and B1-V are satisfied, but also depending on whether condition B2 is satisfied. However, in an alternative example, as illustrated in Figure 14, for instance, the determination of whether condition B2 is satisfied can be omitted for both the U and V color difference components in order to prevent an increase in processing costs. (Large block determination limit)
[00183] In the embodiment described above, the example in which the limit used in the determination of a large block is set to 16 was described, but the present technology is not limited to this example and the limit can be set to 8 or 32. Additionally, in the YUV444 format, a limit that is equal to or greater than the limit used in the YUV420 format can be used in the determination of a large block. (Strong filter) Petition 870260040593, dated 04 / 30 / 2026, page 62 / 110 / 63
[00184] In the above-described embodiment, the example was described in which the strong filter represented by Equations (15) to (19) is applied to the color difference components, but the strong filter applied in the present technology is not limited to this example. It is sufficient that the strong filter applied to the color difference components has a higher filter intensity than the weak filter. For example, the strong filter that is applied to the color difference components in Non-Patented Literature 2 (the strong filter that is applied to the luminance component in HEVC) can be applied to the color difference components in the present technology. (Target application of this technology)
[00185] The present technology can be applied in an arbitrary image encoding / decoding system. That is, provided that no contradiction with the above-described present technology occurs, the specifications of various processes related to image encoding / decoding, such as transformation (inverse transformation), quantization (inverse quantization), encoding (decoding), and prediction, can be arbitrarily defined and are not limited to the example presented. Additionally, a part of the processes can be omitted, provided that no contradiction with the above-described present technology occurs. (Block)
[00186] Furthermore, in the present specification, the “block” (not a block indicating a processing unit) that is used as a partial region or a processing unit of an image (Figure) in the explanation indicates an arbitrary partial region in the Figure, and the size, shape, characteristics, and congeners of the block are not specifically limited unless otherwise specified. For example, the “block” is considered to include an arbitrary partial region (processing unit), such as a Transformation Block (TB) described in the Reference Literatures REF1 to REF3, as explained, a Unit of Petition 870260040593, dated 04 / 30 / 2026, page 63 / 110 / 63 Transformation (TU), a Prediction Block (PB), a Prediction Unit (PU), a Smallest Coding Unit (SCU), a Coding Unit (CU), a Largest Coding Unit (LCU), a Coding Tree Block (CTB), a Coding Tree Unit (CTU), a transformation block, a sub-block, a macroblock, a mosaic piece, or a slice. (Processing unit)
[00187] A data unit to define various types of information as explained previously and a data unit that serves as a target for various processes are arbitrary units and not limited to the examples as set out. For example, each of the information and processes can be defined for each Transformation Unit (TU), each Transformation Block (TB), each Prediction Unit (PU), each Prediction Block (PB), each Coding Unit (CU), each Largest Coding Unit (LCU), each sub-block, each block, each mosaic piece, each slice, each Figure, each sequence, or each component, or data in the data unit can be adopted as a target. The data unit can, of course, be defined for each type of information and each process, and the data units do not need to be uniform for all types of information and processes.In the meantime, the information can be stored in an arbitrary location and can be stored in a header on the data unit, as described, a set of parameters, or similar. Additionally, the information can be stored in a plurality of locations.
[00188] Furthermore, in the aforementioned embodiment, the unlocking filtering process on the color difference components is performed in two-line units, but the present technology is not limited to this example. For example, in the YUV444 format, the unlocking filtering process on the color difference components can be performed in four-line units. In this case, the unit of determination of the Petition 870260040593, dated 04 / 30 / 2026, page 64 / 110 / 63, the need for application 265 may determine the above-described condition C3 in relation to the first and third lines. (Control information)
[00189] It may be possible to transmit the control information related to the present technology, as described above, from the encoding side to the decoding side. For example, it may be possible to transmit control information (e.g., enabled_flag) to control whether the application of the present technology is permitted (or inhibited), as described above. Additionally, for example, it may be possible to transmit control information indicating a target to which the present technology described above is applied (or a target to which the present technology is not applied). For example, it may be possible to transmit control information to designate a block size (an upper limit, a lower limit, or both upper and lower limits), a frame, a component, a layer, or similar to which the present technology is applied (or to which the application is permitted or inhibited). (Block size information)
[00190] During the designation of a block size in which the present technology is applied, it may be possible to designate the block size indirectly, in addition to designating the block size directly. For example, it may be possible to designate the block size by using identification information to identify the size. Additionally, for example, it may be possible to designate the block size by a ratio or a difference in relation to a reference block size (e.g., an LCU, an SCU, or similar). For example, when the information to designate a block size needs to be transmitted as a syntax element or similar, it may be possible to use, as the information exposed, the information to directly designate the size, as described. With this configuration, in some cases, it may be possible to reduce Petition 870260040593, dated 04 / 30 / 2026, page 65 / 110 / 63 a quantity of information in the information and improve coding efficiency. Additionally, the block size designation includes the designation of a block size range (e.g., designation of an acceptable block size or similar). (Others)
[00191] In this specification, the “indicator” is the information used to distinguish between several states and includes not only the information used to distinguish between two states of true (1) and false (0), but also the information capable of distinguishing between three or more states. Therefore, the value of the “indicator” can comprise two values of 1 and 0 or three or more values. That is, the number of bits that constitute the “indicator” is arbitrary and can be 1 bit or multiple bits.Furthermore, the identification information (including the indicator) may be in a form in which the identification information is included in a continuous bit stream or in a form in which the difference information in the identification information relative to certain reference information is included in the continuous bit stream; therefore, in the present specification, the “indicator” and the “identification information” include not only the exposed information but also the difference information relative to the reference information.
[00192] Furthermore, various types of information (metadata or similar) about encoded data (continuous bit stream) can be transmitted or recorded in an arbitrary form, provided that the information is associated with the encoded data. Here, an expression of “association” indicates that, for example, other data is made available (linkable) to a process within a given data. That is, the pieces of data associated with each other can be collected as a single piece of data or can be separated as individual pieces of data. For example, the information associated with the encoded data (image) can be transmitted through a different transmission path than that of the Petition 870260040593, dated 04 / 30 / 2026, p. 66 / 110 / 63 encoded data (image). Additionally, for example, the information associated with the encoded data (image) may be recorded on a different recording medium (or a different recording area of the same recording medium) than that of the encoded data (image). In the meantime, the “association” may be performed on a part of the data, rather than on the entire data. For example, an image and the information corresponding to the image may be associated with each other in an arbitrary unit, such as a plurality of frames, a single frame, or a part of a frame.
[00193] In the meantime, in the present specification, the expressions “synthesis”, “multiplication”, “addition”, “integration”, “inclusion”, “storage”, “incorporation”, “fitting”, “insertion” and similar terms indicate a collection of a plurality of items into a single item, such as the collection of coded data and metadata into a single piece of data, and indicate a method of “association”, as explained.
[00194] The present technology can be incorporated as any configuration that constitutes an apparatus or a system, such as a processor as a Large-Scale Integration (LSI) system or similar, a module that uses a plurality of processors or similar, a unit that uses a plurality of modules or similar, or an assembly in which other functions are added in units (i.e., a configuration as part of an apparatus).
[00195] In the meantime, in the present specification, the system indicates a set of a plurality of structural elements (devices, modules (parts) and the like) and it does not matter whether all the structural elements are included in a single housing. Therefore, a plurality of devices that are housed in different housings and connected to each other by means of a network and a single device that includes a plurality of modules in a single housing are systems. Petition 870260040593, dated 04 / 30 / 2026, p. 67 / 110 / 63
[00196] Furthermore, for example, a configuration described above as a single device (or processing unit) can be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) can be collected and configured as a single device (or processing unit). Furthermore, configurations different from the configurations described above can certainly be added to each of the devices (or each of the processing units). Moreover, provided that the configuration and operation of the entire system are substantially the same, it may be possible to incorporate a part of the configurations of a certain device (or processing unit) into the configurations of a different device (or unit).Furthermore, for example, the current technology can be configured as cloud computing in which a single function is processed by being distributed and shared among a plurality of devices through a network.
[00197] Furthermore, for example, each of the steps described in the flowcharts shown can be performed by a plurality of devices in a distributed manner, as well as by a single device. Moreover, if a plurality of processes is included in a single step, the processes included in the single step can be performed by a plurality of devices in a distributed manner, as well as by a single device. In other words, a plurality of processes included in a single step can be performed as processes in a plurality of steps. Conversely, the processes described as a plurality of steps can be collectively performed as a single step.
[00198] In the meantime, a program executed by the computer can be configured in such a way that the processes of the steps to record the program are performed chronologically in the same order described in Petition 870260040593, dated 04 / 30 / 2026, page 68 / 110 / 63, as presented in this specification, can be performed in a parallel manner, or can be performed independently in a necessary synchronization, such as when called. That is, provided no contradiction occurs, the processes in the respective steps can be performed in a different order from the order presented. Furthermore, the processes in the steps to record the program can be performed in parallel with the processes of other programs, or can be performed in combination with the processes of other programs.
[00199] Furthermore, the effects described in this specification are merely illustrative or exemplary and not limiting. That is, the technology according to this description may exhibit other effects apparent to those skilled in the art described in this specification, in addition to or instead of the effects described above.
[00200] The following configurations are also within the technical scope of this description.
[00201] (1) An image processing apparatus comprising: a decoding unit configured to generate a decoded image by decoding an encoded continuous stream; A determination unit configured to adopt a block outline of the decoded image as a target and determine the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the intensity of the outline, which is calculated using a parameter related to the color difference; and a filtering unit configured to apply an unlocking filter to color difference components of pixels located in a neighborhood of the block outline based on a result of determining the need for applying the unlocking filter. Petition 870260040593, dated 04 / 30 / 2026, pages 69 / 110 / 63
[00202] (2) The image processing apparatus, according to (1), wherein the parameter relating to color difference includes information about the transformation coefficients of the color difference components, and the contour intensity is calculated based on whether the significant coefficients of the color difference components are present in blocks that sandwich the block contour as a target for contour intensity calculation.
[00203] (3) The image processing apparatus, according to (2), in which the contour intensity is calculated by independently determining whether a significant coefficient of each of the components is present in the blocks that sandwich the block contour as the target for contour intensity calculation.
[00204] (4) The image processing apparatus, according to (1), in which the contour intensity is represented by a plurality of bits, and the plurality of bits includes at least one bit corresponding to each of the components.
[00205] (5) The image processing apparatus, according to (1), wherein the determination unit determines the need for application of the unlocking filter by determination based on contour intensity and large block determination using block sizes of the blocks that sandwich the block contour.
[00206] (6) The image processing apparatus, according to (5), wherein, if the contour intensity has a value related to interprediction, the determination unit performs large block determination. Petition 870260040593, dated 04 / 30 / 2026, page 70 / 110 / 63
[00207] (7) The image processing apparatus, according to (5), wherein the determination unit performs large block determination based on the sizes of the blocks sandwiching the block contour, the sizes being sizes in a direction perpendicular to the block contour.
[00208] (8) The image processing apparatus, according to (7), wherein the determination unit performs large block determination based on whether the sizes of the blocks sandwiching the block contour are greater than 16, the sizes being sizes in the direction perpendicular to the block contour.
[00209] (9) The image processing apparatus, according to (1), in which the filtering unit applies, as the unlocking filter, one of a weak filter and one of a strong filter to the color difference components of the pixels located in the vicinity of the block outline.
[00210] (10) The image processing apparatus, according to (9), wherein a strong filter coefficient is set to 2 at a central position of a target range of the strong filter application, and set to 1 at other positions.
[00211] (11) The image processing apparatus, according to (9), wherein the filtering unit adopts three pixels on either side of the block contour as a target range for the application of the strong filter, and applies the strong filter to the color difference components of the pixels included in the target range of the application by using three pixels on either side of a central position of the target range of the application as reference pixels.
[00212] (12) The image processing apparatus, according to (11), in which the filtering unit performs filling and uses, as a pixel value of the reference pixel, a pixel value of one quarter pixel from the block outline instead of pixels separated by five pixels or more from the block outline. Petition 870260040593, dated 04 / 30 / 2026, page 71 / 110 / 63
[00213] (13) The image processing apparatus, according to (10), in which the filtering unit applies the strong filter by performing a clipping process based on a tC parameter that is identified based on a quantization parameter.
[00214] (14) The image processing apparatus, according to (9), wherein the determination unit further determines the filter intensity of the unlock filter that is applied to the color difference components of the pixels located in the vicinity of the block contour, and the filtering unit applies one of the weak filter and one of the strong filter to the color difference components of the pixels located in the vicinity of the block contour according to the filter intensity determined by the determination unit.
[00215] (15) The image processing apparatus, according to (14), in which the determination unit determines the intensity of the filter after determining the need for applying the unlocking filter.
[00216] (16) The image processing apparatus, according to (15), in which the determination unit determines the intensity of the filter based on the waveforms of the color difference components of the pixels located in the vicinity of the block contour.
[00217] (17) The image processing apparatus, according to (16), wherein the determination unit determines the intensity of the filter based on a condition on the leveling of the color difference components of the pixels included in two lines among the pixels located in the neighborhood of the block contour, a condition on the continuity of the color difference components, and a condition on a gap between the color difference components, and Petition 870260040593, dated 04 / 30 / 2026, page 72 / 110 / 63 the filtering unit applies the strong filter if it is determined that all of the conditions regarding leveling, continuity, and gap are satisfied, and applies the weak filter if it is determined that at least one of the conditions is not satisfied.
[00218] (18) An image processing method comprising: generate a decoded image by decoding an encoded continuous stream; adopt a block outline of the decoded image as a target; To determine the need for applying the unlocking filter to the color difference components of the decoded image based on the contour intensity, which is calculated using a parameter related to the color difference; and to apply an unlocking filter to the color difference components of pixels located in a neighborhood of the block contour based on a result of determining the need for applying the unlocking filter.
[00219] (19) An image processing apparatus, comprising: A determination unit configured to adopt, as a target, a block contour of a decoded image that is locally decoded, and to determine the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity that is calculated using a parameter related to the color difference; A filtering unit configured to apply an unblocking filter to color difference components of pixels located in a neighborhood of the block outline based on a result of... Petition 870260040593, dated 04 / 30 / 2026, page 73 / 110 / 63 determination of the need for the application of the unlocking filter; and an encoding unit configured to encode an image using the decoded image in which the unlocking filter is applied by the filtering unit.
[00220] (20) An image processing method comprising: adopt, as a target, a block outline of a decoded image that is locally decoded; To determine the need for applying the unlocking filter in relation to the color difference components of the decoded image based on the contour intensity, which is calculated using a parameter related to the color difference. Apply an unlocking filter to the color difference components of pixels located in a neighborhood of the block outline based on a result of determining the need to apply the unlocking filter; and encode an image using the decoded image to which the unlocking filter is applied. List of Reference Signs
[00221] 10 image encoding device reversible encoding unit unlock filter image decoding device reversible decoding unit 261 unit of contour intensity calculation 263 unit of determination 265 unit for determining the need for application 267 unit for determining filter intensity 269 filtration unit Petition 870260040593, dated 04 / 30 / 2026, pp. 74 / 110
Claims
1 / 8 CLAIMS 1. Image processing apparatus, characterized in that it comprises: circuits configured to: generate a decoded image by decoding a continuous encoded stream; determine whether an application of a deblocking filter is necessary in relation to color difference components of the decoded image based on the contour intensity that is calculated by defining a block contour of the decoded image as a target and by using information related to transformation coefficients of the color difference components obtained by orthogonal transformation; and on the condition that the application of the deblocking filter is necessary, apply a deblocking filter to color difference components of pixels located in a neighborhood of the block contour, wherein the deblocking filter includes one of a weak filter and one of a strong filter on the color difference components of the pixels located in the neighborhood of the block contour,The contour intensity is calculated for a U component and a V component of the color difference components independently, by independently determining whether a significant coefficient of the U component is present and whether a significant coefficient of the V component is present in the blocks that sandwich the block contour as the target for contour intensity calculation, based on the information, and the circuits are configured to: determine whether the application of the unblocking filter is necessary based on the contour intensity and the determination of large block size. Petition 870260040593, dated 04 / 30 / 2026, page 75 / 110 2 / 8 based on the block sizes of blocks that sandwich the block contour, define three pixels on both sides from the block contour as a target range for applying the strong filter,Apply the strong filter to the color difference components of the pixels in the target range of application using three pixels on either side of a central position of the target range of application as reference pixels, and perform large block determination based on the sizes of the blocks that sandwich the block contour, with the sizes being dimensions in a direction perpendicular to the block contour.
2. Image processing apparatus, according to claim 1, characterized in that the contour intensity is represented by a plurality of bits, and for each component of the components, the plurality of bits includes at least one bit corresponding to the component.
3. Image processing apparatus according to claim 1, characterized in that, if the contour intensity has a value related to the interpretation, the circuits are configured to perform large block determination.
4. Image processing apparatus according to claim 1, characterized in that the circuits are configured to perform large block determination based on whether the sizes of the blocks sandwiching the block contour are greater than 8, the sizes being sizes in the direction perpendicular to the block contour.
5. Image processing apparatus according to claim 1, characterized in that a strong filter coefficient is set to 2 at a central position within a target range of the strong filter application, and set to 1 at other positions. Petition 870260040593, dated 04 / 30 / 2026, p. 76 / 110 3 / 8 6. Image processing apparatus according to claim 1, characterized in that the circuits are further configured to perform filling and use, as a pixel value of the reference pixel, a pixel value of one-quarter of a pixel from the block outline instead of pixels separated by five or more pixels from the block outline.
7. Image processing apparatus according to claim 5, characterized in that the circuits are configured to apply the strong filter by performing a clipping process based on a parameter that is identified based on a quantization parameter.
8. Image processing apparatus, characterized in that it comprises: circuits configured to: generate a decoded image by decoding a continuous encoded stream; determine whether an application of a deblocking filter is necessary in relation to the color difference components of the decoded image based on the contour intensity which is calculated by defining a block contour of the decoded image as a target and by using information related to transformation coefficients of the color difference components obtained by orthogonal transformation; and on the condition that the application of the deblocking filter is necessary, apply a deblocking filter to color difference components of pixels located in a neighborhood of the block contour; wherein the deblocking filter includes one of a weak filter and one of a strong filter on the color difference components of pixels located in the neighborhood of the block contour, Petition 870260040593,From 04 / 30 / 2026, page 77 / 110 4 / 8 the contour intensity is calculated for a U component and a V component of the color difference components independently, by independently determining whether a significant coefficient of the U component is present and whether a significant coefficient of the V component is present in the blocks that sandwich the block contour as the target for the contour intensity calculation, based on the information, and the circuits are configured to: determine whether the application of the unlocking filter is necessary based on the contour intensity and the determination of large block size based on the block sizes of the blocks that sandwich the block contour, determine a filter intensity of the unlocking filter applied to the color difference components of the pixels located in the neighborhood of the block contour,Apply either a weak filter or a strong filter to the color difference components of the pixels located in the vicinity of the block outline according to the determined filter intensity, and perform the large block determination based on the sizes of the blocks that sandwich the block outline, with the sizes being dimensions in a direction perpendicular to the block outline.
9. Image processing apparatus according to claim 8, characterized in that the circuits are configured to determine the filter intensity after determining that the application of the unlocking filter is necessary.
10. Image processing apparatus according to claim 9, characterized in that the circuits are further configured to determine the filter intensity based on the waveforms of the color difference components of the pixels located in the vicinity of the block contour.
11. Image processing apparatus according to claim 10, characterized in that: the circuits are additionally configured to: determine the filter intensity based on a condition regarding the leveling of color difference components of pixels included in two lines among the pixels located in the vicinity of the block contour, a condition regarding the continuity of the color difference components, and a condition regarding a gap between the color difference components, apply the strong filter if it is determined that all conditions regarding leveling, continuity, and gap are satisfied, and apply the weak filter if it is determined that at least one of the conditions is not satisfied.
12. Image processing apparatus according to claim 1, characterized in that the encoded continuous stream includes information about transformation coefficients of color difference components.
13. Image processing method, characterized in that it comprises: generating a decoded image by decoding a continuous encoded stream; determining whether an application of the unlocking filter is necessary in relation to the color difference components of the decoded image based on the contour intensity that is calculated by defining a block contour of the decoded image as a target, and by using information related to transformation coefficients of the color difference components obtained by orthogonal transformation; and on the condition that the application of the unlocking filter is necessary, applying an unlocking filter to the color difference components of the pixels located in a neighborhood of the block contour,In which the unlocking filter includes one of a weak filter and one of a strong filter on the color difference components of the pixels located in the vicinity of the block outline, the contour intensity is calculated for a U component and a V component of the color difference components independently, by independently determining whether a significant coefficient of the U component is present and whether a significant coefficient of the V component is present in the blocks that sandwich the block outline as the target for the contour intensity calculation, based on the information, determine whether the application of the unlocking filter is necessary based on the contour intensity and the determination of large blocks based on the block sizes of blocks that sandwich the block outline, determine a filter intensity of the unlocking filter applied to the color difference components of the pixels located in the vicinity of the block outline,Apply either a weak filter or a strong filter to the color difference components of the pixels located in the vicinity of the block outline according to the determined filter intensity, and perform the large block determination based on the sizes of the blocks that sandwich the block outline, with the sizes being dimensions in a direction perpendicular to the block outline.
14. Image processing apparatus, characterized in that it comprises: circuits configured to: determine whether an application of a deblocking filter is necessary in relation to the color difference components of a decoded image that is locally decoded based on the intensity of the contour, which is calculated by defining, as a target, a block contour of the decoded image and by using information related to transformation coefficients of the color difference components obtained by orthogonal transformation; on the condition that the application of the deblocking filter is necessary, apply a deblocking filter to color difference components of pixels located in a neighborhood of the block contour based on a result of the determination of the need for the application of the deblocking filter; and encode an image using the decoded image to which the deblocking filter is applied,In which the unlocking filter includes one of a weak filter and one of a strong filter on the color difference components of the pixels located in the vicinity of the block contour, the contour intensity is calculated for a U component and a V component of the color difference components independently, by independently determining whether a significant coefficient of each of the U component components is present and whether a significant coefficient of the V component is present in the blocks that sandwich the block contour as the target for the contour intensity calculation, based on the information, and the circuits are configured to: determine whether the application of the unlocking filter is necessary based on the contour intensity and the determination of large block size based on the block sizes of the blocks that sandwich the block contour,Determine the intensity of the unlocking filter applied to the color difference components of the pixels located in the vicinity of the block outline, Petition 870260040593, dated 04 / 30 / 2026, page 81 / 110 8 / 8 apply one of the weak and strong filters to the color difference components of the pixels located in the vicinity of the block outline according to the determined filter intensity, and perform the large block determination based on the sizes of the blocks that sandwich the block outline, with the sizes being dimensions in a direction perpendicular to the block outline.
15. Image processing apparatus according to claim 14, characterized in that the circuits are configured to define three pixels on either side from the block contour as a target range for applying the strong filter, and to apply the strong filter to the color difference components of the pixels in the target range using three pixels on either side of a central position of the target range as reference pixels. Petition 870260040593, dated 04 / 30 / 2026, pp. 82 / 110