Image decoding device, image decoding method, and program

By dynamically adjusting the search range for intra-block copy within the same frame, the image decoding device improves prediction accuracy and coding efficiency, addressing the limitations of fixed search ranges in existing IBC methods.

JP2025063384APending Publication Date: 2025-04-16KDDI CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023172506
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-04
Publication Date
2025-04-16

AI Technical Summary

Technical Problem

The existing intra-block copy (IBC) methods in image decoding have a fixed search range for block vectors, which limits the prediction accuracy of pixels.

Method used

An image decoding device and method that dynamically adjusts the search range for intra-block copy within the same frame based on control information, allowing for more accurate prediction and improved coding efficiency.

Benefits of technology

The dynamic adjustment of the search range enhances prediction accuracy and reduces the amount of code required for block vector differences, leading to higher coding efficiency in image decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025063384000001_ABST
    Figure 2025063384000001_ABST
Patent Text Reader

Abstract

To improve coding efficiency.SOLUTION: An image decoding device 200 according to the present invention includes a first intra-frame prediction unit 204 which generates a first predicted pixel on the basis of decoded pixels and control information, a second intra-frame prediction unit 205 which generates a second predicted image using decoded pixels referenced from a search range specified within the same frame on the basis of the decoded pixels and the control information, a storage unit 208 which accumulates the decoded pixels, an inter-frame prediction unit 206 which generates a third predicted pixel on the basis of the accumulated decoded pixels and the control information, and an adder 207 which adds the prediction residual and the first to third predicted pixels to obtain a decoded pixel.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image decoding device, an image decoding method, and a program. [Background technology]

[0002] Non-Patent Documents 1 to 3 disclose intra block copy (IBC).

[0003] In IBC, pixels are referenced from a decoded area of ​​a frame to be decoded and used as predicted pixels for the block to be decoded. As shown in Fig. 9, IBC copies pixels from a reference block indicated by a block vector of the block to be decoded and uses them as predicted pixels. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] ITU-T H.266 VVC [Non-Patent Document 2] X. Xu et al., "Intra Block Copy in HEVC Screen Content Coding Extensions," in IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 6, no. 4, pp. 409-419, 2016 [Non-Patent Document 3] M. Coban, et al., “Algorithm description of Enhanced Compression Model 9 (ECM 9)”, JVET-AD2025, 2023 Summary of the Invention [Problem to be solved by the invention]

[0005] However, in the IBC disclosed in Non-Patent Documents 1 to 3, the search range of a block vector is fixedly set to 256 pixels in the upward direction, and therefore there is a problem that the pixel prediction accuracy is not necessarily high.

[0006] Therefore, the present invention has been made in consideration of the above-mentioned problems, and an object of the present invention is to provide an image decoding device, an image decoding method, and a program with high coding efficiency. [Means for solving the problem]

[0007] A first feature of the present invention is an image decoding device comprising: a decoding unit that decodes control information and quantized values; an inverse quantization unit that inversely quantizes the quantized values ​​to obtain transform coefficients; an inverse transform unit that inversely transforms the transform coefficients to obtain predictive residuals; a first intra-frame prediction unit that generates a first predicted pixel based on decoded pixels and the control information; a second intra-frame prediction unit that generates a second predicted image using decoded pixels referenced from a search range specified within the same frame based on the decoded pixels and the control information; a storage unit that accumulates the decoded pixels; an inter-frame prediction unit that generates a third predicted pixel based on the accumulated decoded pixels and the control information; and an adder that adds the predictive residual and the first to third predicted pixels to obtain the decoded pixel.

[0008] A second feature of the present invention is an image decoding method comprising the steps of: decoding control information and quantization values; inversely quantizing the quantization values ​​to obtain transform coefficients; inversely transforming the transform coefficients to obtain prediction residuals; generating a first predicted pixel based on decoded pixels and the control information; generating a second predicted image using decoded pixels referenced from a search range specified within the same frame based on the decoded pixels and the control information; accumulating the decoded pixels; generating a third predicted pixel based on the accumulated decoded pixels and the control information; and obtaining the decoded pixel by adding the prediction residual to the first to third predicted pixels.

[0009] A third feature of the present invention is a program for causing a computer to function as an image decoding device, the image decoding device comprising: a decoding unit that decodes control information and quantized values; an inverse quantization unit that inversely quantizes the quantized values ​​to obtain transform coefficients; an inverse transform unit that inversely transforms the transform coefficients to obtain predictive residuals; a first intra-frame prediction unit that generates a first predicted pixel based on decoded pixels and the control information; a second intra-frame prediction unit that generates a second predicted image using decoded pixels referenced from a search range specified within the same frame based on the decoded pixels and the control information; a storage unit that accumulates the decoded pixels; an inter-frame prediction unit that generates a third predicted pixel based on the accumulated decoded pixels and the control information; and an adder that adds the predictive residual and the first to third predicted pixels to obtain the decoded pixel. Effect of the Invention

[0010] According to the present invention, it is possible to provide an image decoding device, an image decoding method, and a program with high coding efficiency. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram showing an example of functional blocks of an image decoding device 200 according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating the second intra-frame predictor 205 of the image decoding device 200 according to an embodiment. [Diagram 3] FIG. 3 is a diagram illustrating the second intra-frame predictor 205 of the image decoding device 200 according to an embodiment. [Figure 4] FIG. 4 is a diagram illustrating the second intra-frame predictor 205 of the image decoding device 200 according to an embodiment. [Diagram 5] FIG. 5 is a diagram illustrating the second intra-frame predictor 205 of the image decoding device 200 according to a modified example of the embodiment. [Figure 6]FIG. 6 is a diagram illustrating the second intra-frame predictor 205 of the image decoding device 200 according to a modification of the embodiment. [Figure 7] FIG. 7 is a flowchart showing an example of a method for setting a correction method on a sequence basis. [Figure 8] FIG. 8 is a flowchart showing an example of a method for controlling the search range of the IBC in units of blocks. [Figure 9] FIG. 9 is a diagram for explaining the conventional technology. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, the embodiments of the present invention will be described with reference to the drawings. Note that the components in the following embodiments can be appropriately replaced with existing components, and various variations including combinations with other existing components are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.

[0013] First Embodiment An image decoding device 200 according to this embodiment will be described below with reference to Fig. 1 to Fig. 8. Fig. 1 is a diagram showing an example of functional blocks of the image decoding device 200 according to this embodiment.

[0014] As shown in FIG. 1, the image decoding device 200 includes a code input unit 210, a decoding unit 201, an inverse quantization unit 202, an inverse transformation unit 203, a first intra-frame prediction unit 204, a second intra-frame prediction unit 205, an inter-frame prediction unit 206, an adder 207, an accumulation unit 208, and an image output unit 220.

[0015] The code input unit 210 is configured to obtain code information coded by an image coding device.

[0016] The decoding unit 201 is configured to decode the control information and the quantized value from the code information input from the code input unit 210. For example, the decoding unit 201 is configured to output the control information and the quantized value by performing variable length decoding on the code information.

[0017] Here, the quantized value is sent to the inverse quantization unit 202, and the control information is sent to the first intra-frame prediction unit 204, the second intra-frame prediction unit 205, and the inter-frame prediction unit 206. Note that such control information includes information necessary for controlling the first intra-frame prediction unit 204, the second intra-frame prediction unit 205, the inter-frame prediction unit 206, etc., and may include header information such as a sequence parameter set, a picture parameter set, a picture header, a slice header, etc.

[0018] The inverse quantization unit 202 is configured to inverse quantize the quantized values ​​sent from the decoding unit 201 to generate transform coefficients. The transform coefficients are sent to the inverse transform unit 203.

[0019] The inverse transform unit 203 is configured to inversely transform the transform coefficients sent from the inverse quantization unit 202 to generate prediction residuals. The prediction residuals are sent to an adder 207.

[0020] The first intra-frame prediction unit 204 is configured to generate a first predicted pixel to be added to the prediction residual by the adder 207, based on the decoded pixel obtained via the adder 207 and the control information decoded by the decoding unit 201. The first predicted pixel is sent to the adder 207.

[0021] The inter-frame prediction unit 206 is configured to generate a third predicted pixel to be added to the prediction residual by the adder 207, based on the decoded pixel obtained by referring to the storage unit 208 and the control information decoded by the decoding unit 201. The third predicted pixel is sent to the adder 207.

[0022] The storage unit 208 is configured to cumulatively store the decoded pixels sent from the adder 207. The inter-frame prediction unit 206 refers to the decoded pixels via the storage unit 208.

[0023] The adder 207 is configured to add the prediction residual sent from the inverse transform unit 203 to any one of the first to third predicted pixels sent from the first intra-frame prediction unit 204, the second intra-frame prediction unit 205, and the inter-frame prediction unit 206 to obtain a decoded pixel. The decoded pixel is sent to the image output unit 220, the storage unit 208, the first intra-frame prediction unit 204, and the second intra-frame prediction unit 205.

[0024] (Second frame intra prediction unit 205) An example of a method for deriving the second predicted pixel by the second intra-frame predictor 205 will be described below.

[0025] The role of the second intra-frame prediction unit 205 is to derive a block vector (hereinafter referred to as BV) for the block to be decoded, and to make a prediction using the pixels of the block referenced by the BV (second intra-frame prediction), in order to compensate the block to be decoded with high accuracy in the downstream adder 207.

[0026] An example of the second intra-frame prediction is intra-block copy (hereinafter, referred to as IBC) disclosed in Non-Patent Document 3.

[0027] The BV is expressed as the following equation, which is a combination of a block vector prediction (hereinafter, abbreviated as BVP) and a block vector difference (hereinafter, abbreviated as BVD) of the BV.

[0028] BV=BVP+BVD At this time, the image encoding device constructs a BVP candidate list using the coordinates of the upper end of the BV search range, BVs held by nearby blocks (including not only adjacent blocks but also non-adjacent blocks), BVs used in the past, etc. as BVP candidates, and signals the BVP as an index of the BVP candidate list.

[0029] The BVD is derived as (BV - BVP) and signaled (IBC BVP mode). It is also possible to use a mode (IBC merge) in which the BVP is used as the BV without signaling the BVD.

[0030] FIG. 2 shows that when the second intra-frame predictor 205 sets the search range of the BV to the entire decoded area, the BV is expressed by combining the BVP and BVD located at the upper end of the search range.

[0031] In this embodiment, in order to improve the prediction accuracy of the IBC and reduce the amount of code of the BV, the second intra-frame predictor 205 may set the search range of the IBC to a specific range within the decoded area based on a control signal.

[0032] For example, when the second intraframe prediction unit 205 sets the search range of the IBC on a frame-by-frame basis, it first sets the initial search range (initial value of the search range of the IBC) to the entire decoded area, as shown in Figure 3, and searches for the BV of the block within the processing unit.

[0033] Furthermore, the second intra-frame predictor 205 may set the search range of the IBC so that the BV is included in the search range. In this case, control information indicating the search range of the IBC is signaled.

[0034] FIG. 4 shows an example in which all pixels in the x direction of the decoded area and 512 pixels in the y direction of the decoded area are set as the search range, with the block to be decoded as the reference.

[0035] Here, the image coding apparatus updates the BVP candidates based on the search range, recalculates the BVD, and signals the index of the BVP candidate list and the BVD.

[0036] The second intra-frame prediction unit 205 derives BVP candidates based on the signaled search range, identifies the BVP from the decoded index, and decodes the BV by adding it to the decoded BVD.

[0037] According to the above-described configuration, the search range is adaptively set, thereby enabling the IBC to search for a more accurate reference region.

[0038] Furthermore, with this configuration, the search range is set to the minimum, and therefore the distance from the BVP set at the upper end of the search range to the reference block is shortened, thereby making it possible to obtain the effect of reducing the amount of coding for the BVD.

[0039] Furthermore, with this configuration, the search range can be set to the entire decoded region without using a control signal. By omitting the signaling, the amount of coding can be reduced, and the recalculation process of BVD in the image coding device can be omitted.

[0040] A modification of this embodiment will now be described.

[0041] The second intra-frame prediction unit 205 can change the above-mentioned search range in specific processing units.

[0042] For example, the second intra-frame prediction unit 205 can set a sequence, a picture, a slice, a block, or the like as such a specific processing unit.

[0043] Here, the larger the processing unit, the more effectively the amount of code for the inclusion region can be reduced, and the smaller the processing unit, the more effectively the amount of code for BVD can be reduced.

[0044] Furthermore, the second intra-frame prediction unit 205 can set the initial search range, which is the initial value of the above-mentioned search range, to any range within the decoded area.

[0045] For example, the second intra-frame prediction section 205 may set all or a part of the decoded area as a fixed initial search range, or may inherit the search range of another frame.

[0046] Furthermore, the second intra-frame predictor 205 may set the search range in units of one pixel, or may select from preset discrete values ​​(for example, 512 pixels, 1024 pixels, etc.) using an index.

[0047] In this way, by setting the search region discretely, the amount of code required to express the search region can be reduced. On the other hand, by expressing the search region precisely, the amount of code required for BVD can be reduced.

[0048] Furthermore, the second intra-frame predictor 205 can set the area including the BV to a specific shape.

[0049] For example, the second intraframe prediction unit 205 may set the specific shape to a rectangle selected from the maximum and minimum for each x and y component of BV (i.e., the maximum or minimum rectangle including BV), or may fix the x direction to the entire decoded area and set only the y direction to a rectangle including the minimum value. Here, the minimum value in the y direction indicates the top of the frame when the upper left coordinate of the frame is the origin and the downward direction is the positive direction of the y direction.

[0050] Alternatively, the second intra-frame predictor 205 may set a plurality of regions including the BV.

[0051] Specifically, the second intra-frame prediction unit 205 can set (n+1) / 2 rectangular areas, such as a rectangular area based on (x0, y0) and (x1, y1) and a rectangular area based on (xn-1, yn-1) and (xn, yn), as shown in Figure 5.

[0052] For example, it is desirable for the second intra-frame prediction unit 205 to set some of the areas that are frequently referenced as fixed, which has the effect of reducing memory usage and the effect of reducing the number of times pixels are read into the memory.

[0053] The second intra-frame predictor 205 may set such regions in units of one pixel, or may select them by index from preset discrete values ​​(for example, 512 pixels, 1024 pixels, etc.).

[0054] In this way, by setting the search region discretely, the amount of code required to express the search region can be reduced. On the other hand, by expressing the search region precisely, the amount of code required for BVD can be reduced.

[0055] When a BVP candidate is outside the search range in the IBC merge mode, the second intra-frame predictor 205 does not register the BVP candidate in the BV candidate list and does not use the BVP candidate.

[0056] Alternatively, when a BVP candidate is outside the search range in the IBC merge mode, the second intra-frame predictor 205 may correct the BVP candidate so that it falls within the search range.

[0057] Here, the second intraframe prediction unit 205 can correct the BVP candidate to the point where the BVP candidate intersects with the boundary between the search range, or can correct it so that only the direction pointing outside the search range becomes the boundary of the search range.

[0058] For example, as shown in Figure 6, when the second intra-frame prediction unit 205 uses the BV of a neighboring block as a BVP candidate for the block to be decoded, the BVP candidate points outside the search range, so the second intra-frame prediction unit 205 corrects the BVP candidate to a point where the boundary intersects with the BVP candidate outside the search range before using it.

[0059] In IBC merge mode and IBC BVP mode, fractional IBC makes it possible to use BV with fractional pixel accuracy.

[0060] In fractional IBC, pixels referenced by a block to be decoded are generated by applying an interpolation filter to neighboring pixels referenced by a BV with fractional pixel accuracy.

[0061] However, even if BV is within the search range, the neighboring pixels to which the interpolation filter is applied may be outside the search range. Therefore, if the above-mentioned neighboring pixels are outside the search range, such neighboring pixels may be deemed unusable, making it impossible to use Fractional IBC.

[0062] Alternatively, in such a case, the pixels outside the search range may be generated with an arbitrary pixel value, thereby making it possible to use fractional IBC. In this case, the pixels outside the search range may be generated (copied) with the nearest pixel within the search range, or may be generated with the average value of the neighboring pixels. Alternatively, the tap length of the interpolation filter may be shortened so that only pixels within the search range can be used.

[0063] IBC Template Matcing (IBC TM) and IBC Local Illumination Compensation (IBC LIC) use neighboring pixels as the reference for BV.

[0064] The former refines the BV by using the neighboring pixels as a template, and the latter derives filter coefficients for correcting the predicted pixel value using the neighboring pixels.

[0065] However, even if BV is within the search range, the neighboring pixels may be outside the search range. Therefore, if the neighboring pixels are outside the search range, the neighboring pixels may be made unavailable and the IBC TM and IBC LIC may not be available.

[0066] Alternatively, if some neighboring pixels are available, the IBC TM and IBC LIC may be made available using such neighboring pixels.

[0067] For example, if only neighboring pixels to the left of the reference pixel are within the search range, then only neighboring pixels to the left of the reference pixel may be used.

[0068] IBC MBVD (IBC Merge mode with Block Vector Difference) expresses BVD with discretely limited direction and distance in IBC merge mode as an index.

[0069] However, even if the BV is within the search range, the BVD may be outside the search range. Therefore, if the BVD is outside the search range, the BVD may be deemed unavailable and the IBC MBVD may not be available.

[0070] Alternatively, if some BVDs are available, the IBC MBVD may be available using only those BVDs.

[0071] Hereinafter, the control information decoded by the decoding unit 201 regarding the second intra-frame prediction will be described.

[0072] The input coded information may include a sequence parameter set (SPS) that summarizes control information for each sequence. The input coded information may also include a picture parameter set (PPS) or a picture header (PH) that summarizes control information for each picture. The input coded information may also include a slice header (SH) that summarizes control information for each slice.

[0073] A method for setting the correction method on a sequence-by-sequence basis will be described with reference to FIG.

[0074] As shown in FIG. 7, in step S101, the decoding unit 201 determines whether or not sps_ibc_enabled_flag is 1 in the sequence parameter set.

[0075] sps_ibc_enabled_flag is a syntax that controls the presence or absence of IBC. When sps_ibc_enabled_flag is 1, it indicates that IBC is enabled, and when sps_ibc_enabled_flag is 0, it indicates that IBC is disabled.

[0076] If sps_ibc_enabled_flag is 1, the operation proceeds to step S102, and if sps_ibc_enabled_flag is 0, the operation ends.

[0077] In step S102, the decoding unit 201 decodes sps_ibc_mode, which is a syntax for controlling the IBC method.

[0078] By using sps_ibc_mode, the IBC method can be changed according to the image characteristics on a sequence-by-sequence basis, which is expected to maximize coding efficiency.

[0079] For example, for sequences composed of CG, the pixel distribution is often composed of the same value, so the IBC search range can be set to be wide, whereas for sequences composed of natural images, the pixel distribution is diverse, so the IBC search range can be set to be narrow, thereby maximizing coding efficiency.

[0080] When the correction method is set on a picture-by-picture basis, the decoding unit 201 similarly decodes pps_ibcenabled_flag and pps_ibc_mode in the picture parameter set or the picture header.

[0081] By using pps_ibc_mode, the correction method can be changed on a picture-by-picture basis in accordance with the image characteristics, which is expected to maximize coding efficiency.

[0082] For example, for pictures composed of CG, the pixel distribution is often composed of the same value, so the IBC search range can be set to be wide, whereas for pictures composed of natural images, the pixel distribution is diverse, so the IBC search range can be set to be narrow, thereby maximizing coding efficiency.

[0083] When the correction method is set on a slice-by-slice basis, the decoding unit 201 similarly decodes sh_ibc_enabled_flag and sh_ibc_mode in the slice header.

[0084] By using sh_ibc_mode, the correction method can be changed according to the image characteristics on a slice-by-slice basis, which is expected to maximize coding efficiency.

[0085] For example, for slice regions made up of CG, the pixel distribution is often composed of the same values, so the IBC search range can be set to be wide, whereas for slice regions made up of natural images, the pixel distribution is diverse, so the IBC search range can be set to be narrow, thereby maximizing coding efficiency.

[0086] By setting only the upper layers, it is possible to suppress an increase in the amount of code, and by setting the lower layers as well and then prioritizing the settings in the lower layers, adaptive control is possible.

[0087] Alternatively, if the above-mentioned correction method is set in advance, the decoding of the correction method itself can be omitted.

[0088] In the above example, the IBC search range is set in units of sequences, pictures, or slices, but the setting method may be directly selected in units of blocks, as described below, without setting these. In this case, the increase in header information described above can be avoided.

[0089] A method for controlling the IBC search range in units of blocks will be described below with reference to FIG.

[0090] As shown in FIG. 8, in step S201, the decoding unit 201 determines whether any one of sps_ibc_enabled_flag, pps_ibc_enabled_flag, and sh_ibc_enabled_flag is 1 or not.

[0091] If neither is 1, the operation ends, and if either is 1, the operation proceeds to step S202.

[0092] In step S202, the decoding unit 201 decodes cu_ibc_mode, which is a control signal indicating the IBC method.

[0093] In step S203, the decoding unit 201 decodes cu_ibc_index, which is a control signal indicating an index for identifying a BVP from the BVP candidate list.

[0094] In step S204, the decoding unit 201 decodes cu_ibc_bvd, which is a control signal representing BVD.

[0095] According to this embodiment, the search range is changed in decoding of the BV of the IBC, so that decoding is performed from a relatively small amount of code, thereby making it possible to improve the coding efficiency.

[0096] The above-described image decoding device 200 may be realized as a program that causes a computer to execute each function (each process). [Industrial Applicability]

[0097] According to this embodiment, for example, it is possible to improve the overall service quality in video communication, which makes it possible to contribute to Goal 9 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]

[0098] 200...Image decoding device 201…Decoding section 202...Inverse quantization section 203…Inverse conversion unit 204...First frame intra prediction unit 205...Second frame intra prediction unit 206...Interframe prediction unit 207…Adder 208…Storage section 210...Code input section 220...Image output unit

Claims

1. An image decoding device, comprising: a decoding unit for decoding the control information and the quantization value; an inverse quantization unit that inversely quantizes the quantized values ​​to generate transform coefficients; an inverse transform unit that inversely transforms the transform coefficients to generate prediction residuals; a first intra-frame prediction unit that generates a first predicted pixel based on a decoded pixel and the control information; a second intra-frame prediction unit that generates a second predicted image using decoded pixels referenced from a search range specified within the same frame based on the decoded pixels and the control information; a storage unit that stores the decoded pixels; an inter-frame prediction unit that generates a third predicted pixel based on the accumulated decoded pixels and the control information; an adder that adds the prediction residual and the first to third predicted pixels to obtain the decoded pixel.

2. The image decoding device according to claim 1 , wherein the second intra-frame prediction section specifies the search range based on a control signal.

3. The image decoding device according to claim 1 , wherein the second intra-frame prediction section sets an initial value of the search range to an entire decoded area.

4. 2 . The image decoding device according to claim 1 , wherein the second intra-frame prediction section sets the search range so that a block vector is included in the search range.

5. The image decoding device according to claim 1 , wherein the second intra-frame prediction section sets the search range to an entire decoded area.

6. The image decoding device according to claim 1 , wherein the second intra-frame prediction section changes the search range in a specific processing unit.

7. The image decoding device according to claim 1 , wherein the second intra-frame prediction section sets the search range to a specific range within a decoded area.

8. The image decoding device according to claim 7 , wherein the second intra-frame prediction section sets an initial value of the search range to a fixed value in a part of an already-decoded area.

9. 8. The image decoding device according to claim 3, wherein the second intra-frame prediction section inherits a search range of another frame as an initial value of the search range.

10. The image decoding device according to claim 1 , wherein the second intra-frame predictor sets an area including the block vector to a specific shape.

11. The image decoding device according to claim 1 , wherein the second intra-frame predictor sets a plurality of regions including block vectors.

12. The image decoding device according to claim 1 , characterized in that the second intra-frame prediction section sets the search range in the x direction to the entire decoded area and sets the search range in the y direction to a rectangle including a minimum value.

13. 1. An image decoding method, comprising: decoding the control information and the quantized values; dequantizing the quantized values ​​to obtain transform coefficients; inverse transforming the transform coefficients to obtain a prediction residual; generating a first predicted pixel based on the decoded pixel and the control information; generating a second predicted image using decoded pixels referenced from a search range specified within the same frame based on the decoded pixels and the control information; storing the decoded pixels; generating a third predicted pixel based on the accumulated decoded pixels and the control information; and adding the prediction residual to the first to third predicted pixels to obtain the decoded pixel.

14. A program for causing a computer to function as an image decoding device, The image decoding device comprises: a decoding unit for decoding the control information and the quantization value; an inverse quantization unit that inversely quantizes the quantized values ​​to generate transform coefficients; an inverse transform unit that inversely transforms the transform coefficients to generate prediction residuals; a first intra-frame prediction unit that generates a first predicted pixel based on a decoded pixel and the control information; a second intra-frame prediction unit that generates a second predicted image using decoded pixels referenced from a search range specified within the same frame based on the decoded pixels and the control information; a storage unit that stores the decoded pixels; an inter-frame prediction unit that generates a third predicted pixel based on the accumulated decoded pixels and the control information; an adder that adds the prediction residual and the first to third predicted pixels to obtain the decoded pixel.