Method and device for image encoding / decodeing, and recording medium that stores bitstream
Patent Information
- Application Number
- BR112025022251
- Authority / Receiving Office
- BR · BR
- Patent Type
- Applications
- Publication Date
- 2026-09-15
Smart Images

Figure 00000095_0000 
Figure 00000096_0000 
Figure 00000097_0000
Description
1 / 90 METHOD AND DEVICE FOR IMAGE ENCODING / DECODING, AND RECORDING MEDIUM THAT STORES A BIT STREAM TECHNICAL FIELD
[001] This disclosure relates to a method and apparatus for encoding / decoding images, and a recording medium that stores a bit stream. BACKGROUND
[002] Recently, the demand for high-resolution, high-quality images, such as HD (High Definition) and UHD (Ultra High Definition) images, has increased in various fields of application, and, consequently, highly efficient image compression technologies are being discussed.
[003] There are a variety of technologies, such as inter-prediction technology, which predicts a pixel value included in a current frame / picture from a frame before or after the current frame using video compression technology; intra-prediction technology, which predicts a pixel value included in a current frame using pixel information in a current frame; entropy coding technology, which allocates a short signal to a value with a high frequency of appearance and a long signal to a value with a low frequency of appearance, among others. These image compression technologies can be used to effectively compress image data and transmit or store it. DISCLOSURE Technical Problem
[004] The present disclosure is intended to provide a method and a bidirectional prediction device for each partition of a current block.
[005] The present disclosure is intended to provide a method and apparatus for adjusting bit accuracy considering the internal / output bit depth.
[006] This disclosure is intended to provide a method and a Petition 870250093847, dated 10 / 14 / 2025, page 11 / 113 2 / 90 device for efficiently deriving and storing information for weighted prediction. Technical Solution
[007] An image decoding method and apparatus, according to the present disclosure, can partition a current block into a plurality of partitions, including a first partition and a second partition, derive a first prediction block from the first partition, derive a second prediction block from the second partition, and derive a prediction block from the current block based on the first prediction block and the second prediction block. Herein, at least one of the first prediction block or the second prediction block can be derived by means of bidirectional prediction.
[008] In an image decoding method and apparatus, according to the present disclosure, when the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition, and the first prediction block can be derived based on a weighted sum of the L0 prediction block and the L1 prediction block.
[009] In an image decoding method and apparatus, according to the present disclosure, a weight for the weighted sum can be determined based on any one of a plurality of weight candidates belonging to a predefined set of weights.
[010] In an image decoding method and apparatus, according to the present disclosure, deriving the first prediction block may include determining a predetermined search range based on a motion vector of the first partition, calculating a cost for each search position within the search range, and deriving an L0 prediction block and an L1 prediction block from the first partition based on a search position that has a minimum cost among the calculated costs.
[011] In a method and apparatus for image decoding, according to Petition 870250093847, dated 10 / 14 / 2025, page 12 / 113 3 / 90 of this disclosure, the cost can be calculated as a sum of the absolute difference (SAD) between a weighted L0 block in the search position and a weighted L1 block corresponding to the weighted L0 block.
[012] In an image decoding method and apparatus, according to the present disclosure, deriving the first prediction block may include applying a first illumination compensation parameter to an L0 prediction block of the first partition to generate an L0 prediction block with illumination compensation, applying a second illumination compensation parameter to an L1 prediction block of the first partition to generate an L1 prediction block with illumination compensation, and deriving the first prediction block based on a weighted sum of the L0 prediction block with illumination compensation and the L1 prediction block with illumination compensation.
[013] In an image decoding method and apparatus, according to the present disclosure, the first illumination compensation parameter can be derived based on an area neighboring the current block and an area neighboring the prediction block L0, and the second illumination compensation parameter can be derived based on an area neighboring the current block and an area neighboring the prediction block L1.
[014] In an image decoding method and apparatus, according to the present disclosure, a weight for the weighted sum can be determined based on any one of a plurality of weight candidates belonging to a predefined set of weights.
[015] In an image decoding method and apparatus, according to the present disclosure, a sample value from the first prediction block can be derived based on at least one of a sample value belonging to an L0 prediction block of the first partition, a sample value belonging to an L1 prediction block of the first partition, or a predetermined offset.
[016] In a method and apparatus for image decoding, according to Petition 870250093847, dated 10 / 14 / 2025, page 13 / 113 4 / 90 of this disclosure, the displacement can be derived based on at least one of the horizontal and vertical gradients at a position of a sample belonging to the L0 prediction block or horizontal and vertical gradients at a position of a sample belonging to the L1 prediction block.
[017] In an image decoding method and apparatus according to the present disclosure, each of the first partition and the second partition may be a block encoded in any one of a merge mode, an intrablock copy (IBC) mode or a model matching-based prediction (TMP) mode.
[018] In an image decoding method and apparatus according to the present disclosure, a BCW index can be obtained for each of the first partition and the second partition. The BCW index can specify any one of a plurality of weight candidates belonging to a predefined set of weights.
[019] In an image decoding method and apparatus, according to the present disclosure, the current block can be divided into a first area, a second area and a mixing area, and either a BCW index from the first partition or a BCW index from the second partition can be selectively stored in the mixing area.
[020] In an image decoding method and apparatus, according to the present disclosure, the first prediction block and the second prediction block may have the same bit precision as an internal bit depth, and a prediction block of the current block may have the same bit precision as an output bit depth.
[021] In an image decoding method and apparatus according to the present disclosure, an L0 prediction block or an L1 prediction block for the first partition and the second partition may have the same bit precision as an internal bit depth, and a first prediction block of the first partition and Petition 870250093847, dated 10 / 14 / 2025, page 14 / 113 5 / 90 a second prediction block from the second partition can have the same bit precision as an output bit depth.
[022] An image coding method and apparatus, according to the present disclosure, can partition a current block into a plurality of partitions, including a first partition and a second partition, derive a first prediction block from the first partition, derive a second prediction block from the second partition, and derive a prediction block from the current block based on the first prediction block and the second prediction block. Herein, at least one of the first prediction block or the second prediction block can be derived by means of bidirectional prediction.
[023] A computer-readable digital storage medium is provided that stores encoded video / image information which causes the image decoding method to be performed by a decoding device in accordance with the present disclosure.
[024] A computer-readable digital storage medium is provided that stores video / image information generated in accordance with the image encoding method as disclosed herein.
[025] A method and apparatus are provided for transmitting video / image information generated in accordance with the image encoding method as disclosed herein. Advantageous Effects
[026] According to the present disclosure, compression efficiency can be improved by enabling bidirectional prediction for each partition of a current block.
[027] According to the present disclosure, when performing bidirectional prediction for each partition of a current block, prediction performance can be improved by adjusting bit precision considering the internal / output bit depth.
[028] According to the present disclosure, the accuracy of the prediction Petition 870250093847, dated 10 / 14 / 2025, page 15 / 113 6 / 90 bidirectional can be increased and compression efficiency can be improved by applying weighted prediction, lighting compensation, motion vector modification, etc. when performing bidirectional prediction.
[029] According to this disclosure, the information for weighted prediction can be effectively derived and stored. BRIEF DESCRIPTION OF THE DRAWINGS
[030] FIG. 1 shows a video / image encoding system according to the present disclosure.
[031] FIG. 2 shows a schematic block diagram of an encoding apparatus to which an embodiment of the present disclosure is applicable and in which video / image signal encoding is performed.
[032] FIG. 3 shows a schematic block diagram of a decoding device to which an embodiment of the present disclosure is applicable and in which the decoding of video / image signals is carried out.
[033] FIG. 4 shows an inter-prediction method performed by a decoding device 300 as an embodiment in accordance with the present disclosure.
[034] FIG. 5 shows a schematic configuration of an inter 332 predictor that performs an inter prediction method according to the present disclosure.
[035] FIG. 6 shows an inter-prediction method performed by a coding device 200 as an embodiment in accordance with the present disclosure.
[036] FIG. 7 shows a schematic configuration of an inter 221 predictor that performs an inter prediction method according to the present disclosure.
[037] FIG. 8 shows an example of a content streaming system to which the achievements of this disclosure can be applied. BEST WAY
[038] Since the present disclosure may undergo several changes and have various embodiments, the specific embodiments will be illustrated in a drawing and described in detail in a detailed description. No Petition 870250093847, dated 10 / 14 / 2025, p. 16 / 113 7 / 90, however, is not intended to limit the present disclosure to a specific embodiment and should be understood as including all alterations, equivalents and substitutes included in the spirit and technical scope of the present disclosure. In describing each drawing, similar reference numerals are used for similar components.
[039] A term such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only to distinguish one component from the other components. For example, a first component may be referred to as a second component without departing from the scope of a right of this disclosure, and similarly, a second component may also be referred to as a first component. An and / or term includes any one of a plurality of related items stated or a combination of a plurality of related items stated.
[040] When a component is referred to as being connected or being linked to another component, it should be understood that it may be directly connected or linked to another component, but there may be another component in between. Conversely, when a component is referred to as being directly connected or being directly linked to another component, it should be understood that there is no other component in between.
[041] The term used in this application is used only to describe a specific embodiment and is not intended to limit the present disclosure. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, it should be understood that a term such as include or possess, etc. is intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the descriptive report, but does not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, Petition 870250093847, dated 10 / 14 / 2025, page 17 / 113 8 / 90 components, parts or combinations thereof.
[042] This disclosure relates to video / image coding. For example, a method / embodiment disclosed herein may be applied to a method disclosed in the Versatile Video Coding Standard (VVC). In addition, a method / embodiment disclosed herein may be applied to a method disclosed in the Essential Video Coding Standard (EVC), the AOMedia Video 1 (AV1) standard, the 2nd generation Audio Video Coding Standard (AVS2), or the next-generation video / image coding standard (e.g., H.267 or H.268, etc.).
[043] This descriptive report proposes several video / image encoding embodiments and, unless otherwise indicated, the embodiments can be implemented in combination with each other.
[044] In this context, a video can refer to a set of a series of images over time. A frame generally refers to a unit that represents an image at a specific point in time, and a slice / tile is a unit that is part of a frame in the coding. A slice / tile can include at least one coding tree unit (CTU). A frame can consist of at least one slice / tile. A tile is a rectangular area composed of a plurality of CTUs within a specific tile column and a specific tile row of a frame. A tile column is a rectangular area of CTUs with the same height as a frame and a width designated by a syntax requirement of a frame parameter set. A tile row is a rectangular area of CTUs with a height designated by a frame parameter set and the same width as a frame.CTUs within a tile can be arranged consecutively according to the CTU raster scan, while tiles within a frame can be arranged consecutively according to the tile raster scan. A slice can include an integer number of complete tiles or an integer number of consecutive rows of complete CTUs within it. Petition 870250093847, dated 10 / 14 / 2025, p. 18 / 113 9 / 90 a tile of a frame that can be included exclusively in a single NAL unit. Meanwhile, a frame can be divided into at least two subframes. A subframe can be a rectangular area of at least one slice within a frame.
[045] A pixel, pixel, or pel can refer to the smallest unit that constitutes a frame (or image). Additionally, 'sample' can be used as a term corresponding to a pixel. A sample can generally represent a pixel or a pixel value and can represent just a pixel / a pixel value of a Luma component or just a pixel / a pixel value of a Chroma component.
[046] A unit may represent a basic unit of image processing. A unit may include at least one of a specific area of a frame and information related to a corresponding area. A unit may include one luma block and two chroma blocks (e.g., cb, cr). In some cases, a unit may be used interchangeably with a term such as a block or an area, etc. In a general case, an MxN block may include a set (or array) of transform coefficients or samples (or matrices of samples) consisting of M columns and N rows.
[047] Here, “A or B” can refer to “only A”, “only B” or “both A and B”. In other words, here, “A or B” can be interpreted as “A and / or B”. For example, here, “A, B or C” can refer to “only A”, “only B”, “only C” or “any combination of A, B and C”.
[048] A slash ( / ) or a comma used here can refer to and / or. For example, A / B can refer to A and / or B. In this way, A / B can refer to only A, only B, or both A and B. For example, A, B, C can refer to A, B, or C.
[049] Here, at least one of A and B can refer to only A, only B, or both A and B. Furthermore, here, an expression such as at least one of A or B or at least one of A and / or B can be interpreted in the same way as Petition 870250093847, dated 10 / 14 / 2025, p. 19 / 113 10 / 90 at least one of A and B.
[050] Furthermore, here, “at least one of A, B and C” may refer to “only A”, “only B”, “only C”, or “any combination of A, B and C”. Furthermore, at least one of A, B or C or at least one of A, B and / or C may refer to at least one of A, B and C.
[051] Furthermore, a parenthesis used here may refer to, for example. Specifically, when indicated as “prediction (intra prediction)”, “intra prediction” may be proposed as an example of “prediction”. In other words, prediction here is not limited to intra prediction and intra prediction may be proposed as an example of prediction. Furthermore, even when indicated as prediction (i.e., intra prediction), intra prediction may be proposed as an example of prediction.
[052] In this document, a technical feature described individually in a drawing can be implemented individually or simultaneously.
[053] FIG. 1 shows a video / image encoding system according to the present disclosure.
[054] Referring to FIG. 1, a video / image encoding system may include a first device (a source device) and a second device (a receiving device).
[055] A source device may transmit encoded video / image information or data in the form of a file or streaming to a receiving device via a digital storage medium or a network. The source device may include a video source, an encoding device, and a transmission unit. The receiving device may include a receiving unit, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. A transmitter may be included in an encoding device. A receiver may be included in a decoding device. A renderer Petition 870250093847, dated 10 / 14 / 2025, page 20 / 113 11 / 90 may include a display unit, and a display unit may consist of a separate device or an external component.
[056] A video source can acquire a video / image through a process of capturing, synthesizing, or generating a video / image. A video source can include a video / image capture device and a video / image generation device. A video / image capture device can include at least one camera, a video / image file including previously captured videos / images, etc. A video / image generation device can include a computer, a tablet, a smartphone, etc., and can generate (electronically) a video / image. For example, a virtual video / image can be generated by means of a computer, etc., and in that case, a video / image capture process can be replaced by a related data generation process.
[057] An encoding device can encode an input video / image. An encoding device can perform a series of procedures, such as prediction, transformation, quantization, etc., for compression and encoding efficiency. Encoded data (encoded video / image information) can be output in the form of a bitstream.
[058] A transmission unit can transmit encoded video / image information or data emitted in the form of a bitstream to a receiving unit of a receiving device via a digital storage medium or a network in the form of a file or streaming. A digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit can include an element for generating a media file via a predetermined file format and can include an element for transmission via a broadcast / communication network. A receiving unit can receive / extract the bitstream and transmit it to a decoding device. Petition 870250093847, dated 10 / 14 / 2025, page 21 / 113 12 / 90
[059] A decoding device can decode a video / image by performing a series of procedures, such as dequantization, inverse transform, prediction, etc., corresponding to an operation of an encoding device.
[060] A renderer can render a decoded video / image. A rendered video / image can be displayed via a display unit.
[061] FIG. 2 shows an approximate block diagram of an encoding device to which an embodiment of the present disclosure can be applied and in which the encoding of a video / image signal is carried out.
[062] Referring to FIG. 2, a coding apparatus 200 may consist of an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260 and a memory 270. A predictor 220 may include an inter predictor 221 and an intra predictor 222. A residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234 and an inverse transformer 235. A residual processor 230 may also include a subtractor 231. An adder 250 may be referred to as a reconstructor or a reconstructed block generator. The image partitioner 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 described above can be configured by at least one hardware component (e.g., an encoder chipset or a processor) according to an embodiment.In addition, a 270 memory can include a decoded frame buffer (DPB) and can be configured by a digital storage medium. The hardware component may also include a 270 memory as an internal / external component.
[063] An image partitioner 210 can partition an input image (or frame) for an encoding device 200 into at least one processing unit. As an example, the processing unit can be referred to as an encoding unit (CU). In this case, an encoding unit can be partitioned recursively according to a structure of Petition 870250093847, dated 10 / 14 / 2025, page 22 / 113 13 / 90 Quaternary tree - binary tree - ternary tree (QTBTTT) of a coding tree unit (CTU) or the largest coding unit (LCU).
[064] For example, a coding unit can be partitioned into a plurality of coding units with greater depth based on a quaternary tree structure, a binary tree structure, and / or a ternary tree structure. In this case, for example, a quaternary tree structure can be applied first, and a binary tree structure and / or a ternary structure can be applied later. Alternatively, a binary tree structure can be applied before a quaternary tree structure. A coding procedure according to this descriptive report can be performed based on a final coding unit that is no longer partitioned. In this case, based on coding efficiency, etc.Depending on an image characteristic, the largest encoding unit can be used directly as a final encoding unit, or, if necessary, an encoding unit can be recursively partitioned into encoding units of greater depth, and an encoding unit with an ideal size can be used as a final encoding unit. Here, an encoding procedure can include procedures such as prediction, transformation, and reconstruction, etc., described later.
[065] As another example, the processing unit may also include a prediction unit / module (PU) or a transform unit / module (TU). In this case, the prediction unit and the transform unit may be split or partitioned from a final encoding unit described above, respectively. The prediction unit may be a sample prediction unit, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from a transform coefficient.
[066] In some cases, a unit can be used interchangeably Petition 870250093847, dated 10 / 14 / 2025, page 23 / 113 14 / 90 with a term, such as a block or an area, etc. In a general case, an MxN block can represent a set of transform coefficients or samples consisting of M columns and N rows. A sample can generally represent a pixel or a pixel value and can represent only a pixel / a pixel value of a Luma component or only a pixel / a pixel value of a Chroma component. A sample can be used as a term that causes a frame (or image) to correspond to a pixel or a pixel.
[067] A coding device 200 can subtract a prediction signal (a prediction block, a prediction sample array) emitted from an inter predictor 221 or an intra predictor 222 from an input image signal (an original block, an original sample array) to generate a residual signal (a residual signal, a residual sample array), and a generated residual signal is transmitted to a transformer 232. In this case, a unit that subtracts a prediction signal (a prediction block, a prediction sample array) from an input image signal (an original block, an original sample array) within a coding device 200 can be referred to as a subtractor 231.
[068] A 220 predictor can perform a prediction on a block to be processed (hereinafter referred to as a current block) and generate a predicted block including prediction samples for the current block. A 220 predictor can determine whether intra-prediction or inter-prediction is applied to a unit of a current block or a CU. A 220 predictor can generate various prediction information, such as prediction mode information, etc., and transmit it to a 240 entropy encoder, as described later in a description of each prediction mode. The prediction information can be encoded in a 240 entropy encoder and output in the form of a bitstream.
[069] An intra 222 predictor can predict a current block by referring to samples within a current frame. The samples mentioned can be positioned in the vicinity of the current block or can be positioned at a Petition 870250093847, dated 10 / 14 / 2025, page 24 / 113 15 / 90 a certain distance from the current block, according to a prediction mode. In intra prediction, prediction modes can include at least one non-directional mode and a plurality of directional modes. A non-directional mode can include at least one DC mode or a planar mode. A directional mode can include 33 directional modes or 65 directional modes depending on the level of detail of a prediction direction. However, this is an example, and more or less directional modes can be used depending on the configuration. An intra 222 predictor can determine a prediction mode applied to a current block using a prediction mode applied to a neighboring block.
[070] An inter 221 predictor can derive a prediction block for a current block based on a reference block (a reference sample array) specified by a motion vector in a reference frame. In this case, to reduce the amount of motion information transmitted in an inter prediction mode, motion information can be predicted at a unit of one block, sub-block, or one sample based on the correlation of motion information between a neighboring block and a current block. Motion information can include a motion vector and a reference frame index. Motion information can also include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). For inter prediction, a neighboring block can include an existing spatial neighboring block in a current frame and an existing temporal neighboring block in a reference frame.A reference frame including the reference block and a reference frame including the neighboring temporal block may be the same or different. The neighboring temporal block may be referred to as a colocalized reference block, a colocalized CU (colCU), etc., and a reference frame including the neighboring temporal block may be referred to as a colocalized frame (colPic). For example, an inter 221 predictor may set up a list of motion information candidates based on neighboring blocks and generate information indicating which candidate is used to derive a vector from. Petition 870250093847, dated 10 / 14 / 2025, page 25 / 113 16 / 90 movement and / or a reference frame index of the current block. Inter-prediction can be performed based on various prediction modes and, for example, for a jump mode and a merge mode, an inter-predictor 221 can use movement information from a neighboring block as movement information from a current block. For a jump mode, unlike a merge mode, a residual signal may not be transmitted. For a motion vector prediction (MVP) mode, a movement vector from a surrounding block is used as a movement vector predictor and a movement vector difference is signaled to indicate a movement vector of a current block.
[071] A 220 predictor can generate a prediction signal based on several prediction methods described later. For example, a predictor can not only apply intra-block prediction or inter-block prediction, but can also apply intra-block and inter-block prediction simultaneously. This can be referred to as a combined inter-block and intra-block prediction (CIIP) mode. Furthermore, a predictor can be based on an intrablock copy prediction (IBC) mode or it can be based on a palette mode for block prediction. The IBC prediction mode or palette mode can be used for image / video content encoding of a game, etc., such as screen content encoding (SCC), etc. IBC basically performs prediction within a current frame, but it can be performed similarly to inter-block prediction by deriving a reference block within a current frame. In other words, IBC can use at least one of the inter-block prediction techniques described here.A palette mode can be considered an example of intra-coding or intra-prediction. When a palette mode is applied, a sample value within a frame can be signaled based on information in a palette table and a palette index. A prediction signal generated by predictor 220 can be used to generate a reconstructed signal or a residual signal.
[072] A 232 transformer can generate transform coefficients Petition 870250093847, dated 10 / 14 / 2025, page 26 / 113 17 / 90 applying a transform technique to a residual signal. For example, a transform technique may include at least one of the following: Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loève Transform (KLT), Graph-Based Transform (GBT), or Conditionally Nonlinear Transform (CNT). Here, GBT refers to the transform obtained from this graph when the relationship information between pixels is expressed as a graph. CNT refers to the transform obtained based on the generation of a prediction signal using all previously reconstructed pixels. Furthermore, a transform process can be applied to a block of square pixels of the same size or it can be applied to a non-square block of variable size.
[073] A 233 quantizer can quantize the transform coefficients and transmit them to a 240 entropy encoder, and a 240 entropy encoder can encode a quantized signal (information about the quantized transform coefficients) and output it as a bit stream. The information about the quantized transform coefficients can be referred to as residual information. A 233 quantizer can rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on the scanning order of the coefficients, and can generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[074] A 240 entropy encoder can perform various encoding methods, such as exponential Golomb, context-adaptive variable-length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. A 240 entropy encoder can encode information needed for video / image reconstruction (e.g., a syntax element value, etc.) other than quantized transform coefficients together or separately.
[075] Encoded information (e.g., information of Petition 870250093847, dated 10 / 14 / 2025, page 27 / 113 18 / 90 encoded video / images can be transmitted or stored in a network abstraction layer (NAL) unit in the form of a bitstream. Video / image information may also include information about various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS), etc. Furthermore, video / image information may also include general restriction information. Here, information and / or syntax elements transmitted / signaled from an encoding device to a decoding device may be included in video / image information. Video / image information can be encoded using the encoding procedure described above and included in the bitstream. The bitstream can be transmitted over a network or stored on a digital storage medium.Here, a network may include a broadcast network and / or a communication network, etc., and a digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) for transmitting and / or a storage unit (not shown) for storing a signal emitted from an entropy encoder 240 may be configured as an internal / external element of an encoding apparatus 200, or a transmission unit may also be included in an entropy encoder 240.
[076] The quantized transform coefficients emitted by a quantizer 233 can be used to generate a prediction signal. For example, a residual signal (a residual block or residual samples) can be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients by means of a dequantizer 234 and an inverse transformer 235. A summer 250 can add a reconstructed residual signal to a prediction signal emitted from an inter predictor 221 or an intra predictor 222 to generate a reconstructed signal (a reconstructed frame, a reconstructed block, a Petition 870250093847, dated 10 / 14 / 2025, page 28 / 113 19 / 90 reconstructed sample arrangement). When there is no residue for a block to be processed, such as when a skip mode is applied, a predicted block can be used as a reconstructed block. A 250 adder can be referred to as a reconstructed block reconstructor or generator. A generated reconstructed signal can be used for intra-prediction of a next block to be processed within a current frame, and can also be used for inter-prediction of a next frame through filtering, as described later. Meanwhile, Luma mapping with chroma scaling (LMCS) can be applied in a frame encoding and / or reconstruction process.
[077] A 260 filter can improve subjective / objective image quality by applying filtering to a reconstructed signal. For example, a 260 filter can generate a modified reconstructed frame by applying various filtering methods to a reconstructed frame and can store the modified reconstructed frame in a 270 memory, specifically in a DPB of a 270 memory. The various filtering methods can include unlock filtering, adaptive sample shift, adaptive loop filter, bilateral filter, etc. A 260 filter can generate various filtering information and transmit it to a 240 entropy encoder. The filtering information can be encoded in a 240 entropy encoder and output as a bitstream.
[078] A modified reconstructed frame transmitted to a memory 270 can be used as a reference frame in an inter predictor 221. When inter prediction is applied through it, an encoding device can avoid mismatch in prediction in an encoding device 200 and a decoding device, and can also improve encoding efficiency.
[079] A DPB of a 270 memory can store a modified reconstructed frame for use as a reference frame in an inter 221 predictor. A 270 memory can store the motion information of a block from which the motion information in a current frame is derived (or encoded) Petition 870250093847, dated 10 / 14 / 2025, page 29 / 113 20 / 90 and / or the block motion information in a pre-reconstructed frame. The stored motion information can be transmitted to an inter-predictor 221 to be used as motion information for a neighboring spatial block or motion information for a neighboring temporal block. A memory 270 can store reconstructed samples of reconstructed blocks in a current frame and transmit them to an intra-predictor 222.
[080] FIG. 3 shows an approximate block diagram of a decoding device to which an embodiment of the present disclosure can be applied and in which the decoding of a video / image signal is performed.
[081] Referring to FIG. 3, a decoding apparatus 300 can be configured including an entropy decoder 310, a residual processor 320, a predictor 330, a summer 340, a filter 350 and a memory 360. A predictor 330 can include an inter predictor 332 and an intra predictor 331. A residual processor 320 can include a dequantizer 321 and an inverse transformer 321.
[082] According to one embodiment, the entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350 described above can be configured by a hardware component (e.g., a decoder chipset or a processor). Furthermore, a memory 360 can include a decoded frame buffer (DPB) and can be configured by a digital storage medium. The hardware component can also include a memory 360 as an internal / external component.
[083] When a bitstream including video / image information is entered, a decoding device 300 can reconstruct an image in response to a process in which the video / image information is processed in an encoding device of FIG. 2. For example, a decoding device 300 can derive units / blocks based on block partitioning information obtained from the bitstream. A decoding device 300 can perform decoding using a processing unit applied to a Petition 870250093847, dated 10 / 14 / 2025, page 30 / 113 21 / 90 encoding apparatus. Consequently, a decoding processing unit can be an encoding unit, and an encoding unit can be partitioned from an encoding tree unit or the larger encoding unit according to a quaternary tree structure, a binary tree structure, and / or a ternary tree structure. At least one transform unit can be derived from an encoding unit. And, a reconstructed, decoded, and transmitted image signal via a decoding apparatus 300 can be reproduced by means of a playback device.
[084] A decoding device 300 can receive a signal emitted from an encoding device of FIG. 2 in the form of a bitstream, and a received signal can be decoded by means of an entropy decoder 310. For example, an entropy decoder 310 can analyze the bitstream to derive information (e.g., video / image information) necessary for image reconstruction (or frame reconstruction). The video / image information may also include information about various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS), etc. In addition, the video / image information may also include general constraint information. A decoding device can further decode an image based on information about the parameter set and / or general constraint information.The information and / or signaled / received syntax elements described later here can be decoded using the decoding procedure and obtained from the bitstream. For example, a 310 entropy decoder can decode information in a bitstream based on an encoding method, such as exponential Golomb encoding, CAVLC, CABAC, etc., and output a value of a syntax element necessary for image reconstruction and quantized values of a transform coefficient related to a residual. In more detail, a decoding method... Petition 870250093847, dated 10 / 14 / 2025, page 31 / 113 22 / 90 CABAC entropy can receive a bin corresponding to each syntax element of a bitstream, determine a context model using information from the syntax element to be decoded, decode information from a surrounding block and a block to be decoded or information from a symbol / bin decoded in a previous step, perform the arithmetic decoding of a bin by predicting the probability of occurrence of a bin according to a determined context model, and generate a symbol corresponding to a value of each syntax element. In this case, a CABAC entropy decoding method can update a context model using information about a decoded symbol / bin to a context model of a next symbol / bin after determining a context model.Among the information decoded in an entropy decoder 310, prediction information is provided to a predictor (an inter-predictor 332 and an intra-predictor 331), and a residual value on which entropy decoding was performed in an entropy decoder 310, i.e., quantized transform coefficients and related parameter information, can be fed into a residual processor 320. A residual processor 320 can derive a residual signal (a residual block, residual samples, an array of residual samples). Furthermore, filtering information among the information decoded in an entropy decoder 310 can be provided to a filter 350.Meanwhile, a receiving unit (not shown) that receives a signal emitted from an encoding device may be further configured as an internal / external element of a decoding device 300 or a receiving unit may be a component of an entropy decoder 310.
[085] Meanwhile, a decoding device according to this descriptive report may be referred to as a video / image / frame decoding device, and the decoding device may be divided into an information decoder (a video / image / frame information decoder) and a sample decoder (a sample decoder). Petition 870250093847, dated 10 / 14 / 2025, page 32 / 113 23 / 90 video / image / frame samples). The information decoder may include the entropy decoder 310 and the sample decoder may include at least one of the following: dequantizer 321, inverse transformer 322, adder 340, filter 350, memory 360, inter predictor 332 and intra predictor 331.
[086] A 321 dequantizer can dequantize quantized transform coefficients and output transform coefficients. A 321 dequantizer can rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed in an encoding apparatus. A 321 dequantizer can perform dequantization on quantized transform coefficients using a quantization parameter (e.g., quantization step size information) and obtain transform coefficients.
[087] An inverse transformer 322 performs the inverse transformation of the transform coefficients to obtain a residual signal (a residual block, a residual sample array).
[088] A 320 predictor can perform a prediction on a current block and generate a predicted block including prediction samples for the current block. A 320 predictor can determine whether intra-prediction or inter-prediction is applied to the current block based on prediction information emitted from a 310 entropy decoder and determine a specific intra / inter-prediction mode.
[089] A 320 predictor can generate a prediction signal based on several prediction methods described later. For example, a 320 predictor can not only apply intra-block prediction or inter-block prediction, but can also apply intra-block and inter-block prediction simultaneously. This can be referred to as a combined inter-block and intra-block prediction (CIIP) mode. Furthermore, a predictor can be based on an intrablock copy (IBC) prediction mode or it can be based on a palette mode for block prediction. The IBC prediction mode or palette mode can be used for content encoding of Petition 870250093847, dated 10 / 14 / 2025, page 33 / 113 24 / 90 image / video of a game, etc., such as screen content coding (SCC), etc. IBC basically performs prediction within a current frame, but it can be performed similarly to inter-prediction by deriving a reference block within a current frame. In other words, IBC can use at least one of the inter-prediction techniques described here. A palette mode can be considered an example of intra-coding or intra-prediction. When a palette mode is applied, information from a palette table and a palette index can be included in the video / image information and signaled.
[090] An intra 331 predictor can predict a current block by referring to samples within a current frame. The referenced samples can be positioned in the vicinity of the current block or can be positioned at a certain distance from the current block, according to a prediction mode. In intra prediction, prediction modes can include at least one non-directional mode and a plurality of directional modes. An intra 331 predictor can determine a prediction mode applied to a current block using a prediction mode applied to a neighboring block.
[091] An inter 332 predictor can derive a prediction block for a current block based on a reference block (a reference sample array) specified by a motion vector in a reference frame. In this case, to reduce the amount of motion information transmitted in an inter prediction mode, motion information can be predicted at a unit of one block, sub-block, or sample based on the correlation of motion information between a neighboring block and a current block. The motion information can include a motion vector and a reference frame index. The motion information can also include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). For inter prediction, a neighboring block can include an existing spatial neighboring block in a current frame and an existing temporal neighboring block in a reference frame. For example, a Petition 870250093847, dated 10 / 14 / 2025, page 34 / 113 25 / 90 predictor inter 332 can configure a list of motion information candidates based on neighboring blocks and derive a motion vector and / or a reference frame index of the current block based on the received candidate selection information. Inter prediction can be performed based on various prediction modes, and the prediction information may include information indicating an inter prediction mode for the current block.
[092] A 340 adder can add a residual signal obtained to a prediction signal (a prediction block, a prediction sample array) emitted from a predictor (including an inter 332 predictor and / or an intra 331 predictor) to generate a reconstructed signal (a reconstructed frame, a reconstructed block, a reconstructed sample array). When there is no residual for a block to be processed, such as when a jump mode is applied, a prediction block can be used as a reconstructed block.
[093] A 340 adder can be referred to as a reconstructor or a reconstructed block generator. A generated reconstructed signal can be used for intra-prediction of a next block to be processed in a current frame, can be output via filtering as described later, or can be used for inter-prediction of a next frame. Meanwhile, luma mapping with chroma scaling (LMCS) can be applied in a frame decoding process.
[094] A 350 filter can improve subjective / objective image quality by applying filtering to a reconstructed signal. For example, a 350 filter can generate a modified reconstructed frame by applying various filtering methods to a reconstructed frame and transmit the modified reconstructed frame to a 360 memory, specifically a DPB of a 360 memory. The various filtering methods can include unlock filtering, adaptive sample shift, adaptive loop filter, bilateral filter, etc.
[095] The reconstructed (modified) frame stored in the memory DPB Petition 870250093847, dated 10 / 14 / 2025, page 35 / 113 26 / 90 A 360 memory can be used as a reference frame in the inter-332 prediction unit. A 360 memory can store the motion information of a block from which the motion information in a current frame is derived (or decoded) and / or the motion information of blocks in a pre-reconstructed frame. The stored motion information can be transmitted to an inter-332 predictor to be used as motion information for a neighboring spatial block or motion information for a neighboring temporal block. A 360 memory can store reconstructed samples of reconstructed blocks in a current frame and transmit them to an intra-331 predictor.
[096] Here, embodiments described in a filter 260, an inter predictor 221 and an intra predictor 222 of an encoding device 200 can be applied equally or correspondingly to a filter 350, an inter predictor 332 and an intra predictor 331 of a decoding device 300, respectively.
[097] FIG. 4 shows an inter-prediction method performed by a decoding device 300 as an embodiment in accordance with the present disclosure.
[098] Referring to FIG. 4, a current block can be partitioned into a plurality of S400 partitions.
[099] A current block can be partitioned into two or more partitions based on one or more partitioning lines. As an example, a current block can be partitioned into two or more partitions based on geometric partitioning. The shape of one or more partitions can be a triangle. Alternatively, the shape of two or more partitions can be a quadrilateral.
[0100] Referring to FIG. 4, a prediction block can be derived for each partition of an actual S410 block.
[0101] For ease of description, it is assumed in this disclosure that a current block is partitioned into two partitions. Hereafter, either of the two partitions is referred to as the first partition and the other of the two partitions is referred to as the second partition. Petition 870250093847, dated 10 / 14 / 2025, page 36 / 113 27 / 90
[0102] The first prediction block (P0) can be derived for the first partition of a current block and the second prediction block (P1) can be derived for the second partition of a current block.
[0103] The first prediction block of the first partition can be derived by one-way prediction. As an example, the first prediction block can be a prediction block derived by inter-prediction in an L0 direction (hereinafter referred to as an L0 prediction block). An L0 prediction block can be defined as a prediction block derived by performing inter-prediction based on an L0 reference frame. Alternatively, the first prediction block can be a prediction block derived by inter-prediction in an L1 direction (hereinafter referred to as an L1 prediction block). An L1 prediction block can be defined as a prediction block derived by performing inter-prediction based on an L1 reference frame.
[0104] The first prediction block of the first partition can be derived by bidirectional prediction. As an example, a prediction block L0 and a prediction block L1 can be derived for the first partition, respectively, and the first prediction block can be derived based on the prediction block L0 and the prediction block L1.
[0105] Similarly, the second prediction block of the second partition can be derived by one-way prediction. For example, the second prediction block could be an L0 prediction block. Alternatively, the second prediction block could be an L1 prediction block. Alternatively, the second prediction block of the second partition can be derived by two-way prediction. For example, an L0 prediction block and an L1 prediction block can be derived for the second partition, respectively, and the second prediction block can be derived based on the L0 prediction block and the L1 prediction block.
[0106] Next, a method for deriving the first prediction block and the second prediction block from a current block is described in detail. Petition 870250093847, dated 10 / 14 / 2025, page 37 / 113 28 / 90 Implementation 1
[0107] When the first partition performs bidirectional prediction (i.e., when the first partition has motion information for bidirectional prediction), a prediction block L0 and a prediction block L1 can be derived for the first partition. The first prediction block of the first partition can be derived based on the weighted sum of a prediction block L0 and a prediction block L1. As an example, the first prediction block can be derived as shown in Equation 1 below. [Equation 1] Po = (woo * P00 + woi * P01 + round) >> shift
[0108] In Equation 1, Po represents the first prediction block. Poo represents the L0 prediction block of the first partition and P01 represents the L1 prediction block of the first partition. woo and woi represent a weight for the bidirectional prediction of the first partition. Round represents an offset for rounding and shift represents a parameter for weighted average (i.e., a scaling parameter). Here, woo and woi can be defined equally as a value of (2shft-1). In this case, Po can be derived as the average value of Poo and P01.
[0109] When the second partition performs bidirectional prediction (i.e., when the second partition has motion information for bidirectional prediction), an L0 prediction block and an L1 prediction block can be derived for the second partition. The second prediction block of the second partition can be derived based on the weighted sum of an L0 prediction block and an L1 prediction block. As an example, the second prediction block can be derived as shown in Equation 2 below. [Equation 2] P1 = (wio * Pio + wii * P11 + round) >> shift
[0110] In Equation 2, P1 represents the second prediction block. P10 Petition 870250093847, dated 10 / 14 / 2025, page 38 / 113 29 / 90 represents the L0 prediction block of the second partition, and P11 represents the L1 prediction block of the second partition. wio and wii represent a weight for the bidirectional prediction of the second partition. Round represents an offset for rounding, and shift represents a parameter for weighted averaging (i.e., a scaling parameter). Here, wio and wii can be defined equally as a value of (2shft-1). In this case, Pi can be derived as the average value of P10 and P11. Implementation 2
[0111] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. The first prediction block of the first partition can be derived by applying BCW (cu-level weighted biprediction) to the L0 prediction block and the L1 prediction block of the first partition. In other words, the first prediction block can be derived based on the weighted average of the L0 prediction block and the L1 prediction block of the first partition.
[0112] A weight for the weighted average can be determined based on a predefined set of weights that are equally applicable to an encoding device and a decoding device. The set of weights can include a plurality of weight candidates. The number of weight candidates belonging to a weight set can be an integer of 2, 3, 4, 5, or more. At least one of a plurality of weight candidates can be a negative number. As an example, a set of weights can be defined as {-2, 3, 4, 5, 10}.
[0113] A weight for the weighted average can be determined based on any one of a plurality of weight candidates belonging to a set of weights. For this purpose, an index specifying any one of the plurality of weight candidates (hereinafter referred to as a BCW index) can be used. As an example, a weight for the weighted average might include a weight (woo) applied to the L0 prediction block of the first partition and a weight (woi) applied to the block of Petition 870250093847, dated 10 / 14 / 2025, page 39 / 113 30 / 90 L1 prediction of the first partition. woo can be derived as a weight candidate specified by a BCW index among a plurality of weight candidates. woi can be derived as a value of (1-woo). Alternatively, woi can be defined as a weight candidate specified by a BCW index among a plurality of weight candidates. woo can be derived as a value of (1-woi).
[0114] On the other hand, when the first partition performs a one-way prediction, the BCW described above may not be applied when deriving the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or LI prediction block.
[0115] Similarly, when the second partition performs bidirectional prediction, an L0 prediction block and an LI prediction block can be derived for the second partition. The second prediction block of the second partition can be derived by applying BCW to the L0 prediction block and the LI prediction block of the second partition. In other words, the second prediction block can be derived based on the weighted average of the L0 prediction block and the LI prediction block of the second partition.
[0116] A weight for the weighted average can be derived in the same way as the first partition. Specifically, a weight for the weighted average can be determined based on any one of a plurality of weight candidates belonging to a set of weights. For this purpose, a BCW index representing any one of the plurality of weight candidates can be used. As an example, a weight for the weighted average might include a weight (wio) applied to the prediction block L0 of the second partition and a weight (wii) applied to the prediction block Li of the second partition. wio can be derived as a weight candidate specified by a BCW index among a plurality of weight candidates. wii can be derived as a value of (1-ww). Alternatively, wii can be derived as a weight candidate specified by a BCW index among a plurality of weight candidates. wi0 can be derived as a value of (1-wii). Petition 870250093847, dated 10 / 14 / 2025, page 40 / 113 31 / 90
[0117] On the other hand, when the second partition performs a one-way prediction, the BCW described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block.
[0118] When the BCW index of the first partition and the BCW index of the second partition are different, a weight used in the derivation of the first prediction block of the first partition and a weight used in the derivation of the second prediction block of the second partition may be different. Conversely, when the BCW index of the first partition and the BCW index of the second partition are the same, a weight used in the derivation of the first prediction block of the first partition and a weight used in the derivation of the second prediction block of the second partition may be the same. Implementation 3
[0119] When the first partition performs a bidirectional prediction, the first prediction block of the first partition can be derived based on the refinement of the motion vector on the decoder side (DMVR).
[0120] Specifically, a predetermined search range can be determined based on the movement vector of the first partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the movement vector of the first partition. N can be an integer of 1, 2, or more. As an example, when N is 2, the search range can be defined as a 5x5 area using a position indicated by the movement vector of the first partition as the central position. In this case, the number of search positions within a search range can be 25.
[0121] A cost can be calculated for each search position within the search range. Here, a cost can be calculated as the sum of the absolute difference (SAD) between an L0 block and an L1 block in a search position. Petition 870250093847, dated 10 / 14 / 2025, page 41 / 113 32 / 90 corresponding.
[0122] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the first partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the first partition, respectively. The first prediction block of the first partition can be derived based on the weighted sum of an L0 prediction block and an L1 prediction block derived in the manner described above.
[0123] On the other hand, when the first partition performs a one-way prediction, the DMVR described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block.
[0124] When the second partition performs a bidirectional prediction, the second prediction block of the second partition can be derived based on the DMVR, as described above.
[0125] Specifically, a predetermined search range can be determined based on the motion vector of the second partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the motion vector of the second partition, which is the same as described above.
[0126] A cost can be calculated for each search position within the search range. Here, a cost can be calculated as the sum of the absolute difference (SAD) between an L0 block and an L1 block in a corresponding search position.
[0127] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the second partition can be Petition 870250093847, dated 10 / 14 / 2025, page 42 / 113 33 / 90 modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block at a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the second partition. The second prediction block of the second partition can be derived based on the weighted sum of an L0 prediction block and an L1 prediction block derived in the manner described above.
[0128] On the other hand, when the second partition performs a one-way prediction, the DMVR described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block.
[0129] The DMVR described above can partition a current block into subblocks of a predetermined size and perform the modification of a motion vector in the unit of a subblock. Here, the size of a subblock can be 16x16. However, it is not limited to this, and the size of a subblock can be 8x8 or 4x4. Alternatively, the shape of a subblock is not limited to a square shape and can be a non-square shape, such as 16x8 or 8x4. Alternatively, the DMVR described above can perform the modification of a motion vector in the sample unit of 1x1. Implementation 4
[0130] When the first partition performs a bidirectional prediction, the first prediction block of the first partition can be derived based on the refinement of the motion vector on the decoder side (DMVR).
[0131] Specifically, a predetermined search range can be determined based on the movement vector of the first partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the movement vector of the first partition. N can be an integer of 1, 2, or more. For example, when Petition 870250093847, dated 10 / 14 / 2025, page 43 / 113 34 / 90 If N is 2, the search interval can be defined as a 5x5 area using a position indicated by the movement vector of the first partition as the central position. In this case, the number of search positions within a search interval can be 25.
[0132] A cost can be calculated for each search position within the search range. A predetermined weight for BCW (bi-prediction with CU-level weighting) can be applied to an L0 block and an L1 block in a search position, respectively. In this case, the cost can be calculated as the sum of the absolute difference (SAD) between the weighted L0 block and L1 block. Here, the weight can be determined based on a predefined set of weights equally for an encoding device and a decoding device. The set of weights can include a plurality of weight candidates. The number of weight candidates belonging to a set of weights can be an integer of 2, 3, 4, 5, or more. At least one of a plurality of weight candidates can be a negative number. As an example, a set of weights can be defined as {-2, 3, 4, 5, 10}. Weight can be determined based on any one of a plurality of weight candidates belonging to a set of weights.For this purpose, a BCW index specifying any one of the plurality of weight candidates can be used. As an example, the weight might include a weight (woo) applied to an L0 block and a weight (woi) applied to an L1 block. woo can be derived as a weight candidate specified by a BCW index among a plurality of weight candidates. woi can be derived as a value of (1-woo). Alternatively, woi can be defined as a weight candidate specified by a BCW index among a plurality of weight candidates. woo can be derived as a value of (1-woi).
[0133] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the first partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an LI block in a search position indicated by Petition 870250093847, dated 10 / 14 / 2025, page 44 / 113 The 35 / 90 modified motion vector can be defined as the L0 prediction block and the L1 prediction block of the first partition.
[0134] The first prediction block of the first partition can be derived by applying a weight (woo) and a weight (woi) derived based on the BCW index to a prediction block L0 and a prediction block L1 derived in the manner described above, respectively.
[0135] On the other hand, when the first partition performs a one-way prediction, the DMVR described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block.
[0136] When the second partition performs a bidirectional prediction, the second prediction block of the second partition can be derived based on the DMVR, as described above.
[0137] Specifically, a predetermined search range can be determined based on the motion vector of the second partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the motion vector of the second partition, which is the same as described above.
[0138] A cost can be calculated for each search position within the search range. A predetermined weight for BCW can be applied to an L0 block and an L1 block in a search position, respectively. In this case, the cost can be calculated as the sum of the absolute difference (SAD) between the weighted L0 block and L1 block. Here, the weight can be determined based on a predefined set of weights equally for an encoding device and a decoding device. The set of weights can include a plurality of weight candidates. The number of weight candidates belonging to a set of weights can be an integer of 2, 3, 4, 5 or more. At least one of a plurality of candidates Petition 870250093847, dated 10 / 14 / 2025, page 45 / 113 36 / 90 weight can be a negative number. As an example, a set of weights can be defined as {-2, 3, 4, 5, 10}. The weight can be determined based on any one of a plurality of weight candidates belonging to a set of weights. For this purpose, a BCW index specifying any one of the plurality of weight candidates can be used. As an example, the weight can include a weight (wio) applied to a block L0 and a weight (wii) applied to a block L1. wio can be derived as a weight candidate specified by a BCW index among a plurality of weight candidates. wii can be derived as a value of (1-wio). Alternatively, wii can be defined as a weight candidate specified by a BCW index among a plurality of weight candidates. wio can be derived as a value of (1-wii).
[0139] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the second partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an LI block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the LI prediction block of the second partition.
[0140] The second prediction block of the second partition can be derived by applying a weight (wio) and a weight (wii) derived based on the BCW index to a prediction block L0 and a prediction block Li derived in the manner described above, respectively.
[0141] On the other hand, when the second partition performs a one-way prediction, the DMVR described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or Li prediction block.
[0142] The DMVR described above can partition a current block into subblocks of a predetermined size and perform the modification of a vector of Petition 870250093847, dated 10 / 14 / 2025, page 46 / 113 37 / 90 movement in the unit of a sub-block. Here, the size of a sub-block can be 16x16. However, it is not limited to this, and the size of a sub-block can be 8x8 or 4x4. Alternatively, the shape of a sub-block is not limited to a square shape and can be a non-square shape, such as 16x8 or 8x4. Alternatively, the DMVR described above can perform the modification of a movement vector in the sample unit of 1x1. Implementation 5
[0143] Lighting compensation according to the present disclosure may represent a method for generating the final prediction block of a current block by applying a predetermined lighting compensation parameter to the reference block of a current block. Specifically, a lighting compensation parameter may be derived based on the neighboring area of a current block and the neighboring area of a reference block. In other words, the lighting compensation parameter of a linear model may be derived based on a difference (or variation) in luminance between the neighboring area of a current block and the neighboring area of a reference block. The neighboring area, as a pre-reconstructed area, may include at least one of an upper neighboring area, a left neighboring area, a left upper neighboring area, a left lower neighboring area, or a right upper neighboring area.The reference block can be specified based on the motion vector of a current block. The lighting compensation parameter of the linear model can be applied to a reference block to generate the final prediction block of a current block.
[0144] A relational expression to compensate for a luminance difference between a current block and a reference block can be defined as shown in Equation 3 below. [Equation 3] CurN(x,y) = α* RefN(x,y) + β
[0145] In Equation 3, α and β represent a compensation parameter of Petition 870250093847, dated 10 / 14 / 2025, page 47 / 113 38 / 90 lighting. RefN(x,y) can refer to the neighboring area of a reference block and CurN(x,y) can refer to the neighboring area of a current block. A lighting compensation parameter can include a weight (α) and an offset (β) that minimize the luminance difference between RefN(x,y) and Cum(x,y). The α and β values above can be applied to the reference block of a current block to generate a lighting compensation prediction block for a current block.
[0146] A lighting compensation parameter according to the present disclosure may be derived from at least one unit of an image, a tile, a slice, a coding tree unit (CTU), or a coding unit (CU). Lighting compensation may be applied adaptively based on a lighting compensation flag. The lighting compensation flag may indicate whether lighting compensation is applied to the reference block of a current block. Alternatively, the lighting compensation flag may indicate whether the prediction block of a current block is modified by lighting compensation. The lighting compensation flag may be signaled by a bitstream or may be derived from an encoding device and a decoding device.
[0147] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the first partition, respectively. The first prediction block of the first partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0148] Specifically, a lighting compensation parameter for an L0 prediction block can be derived based on the neighboring area of a current block and the neighboring area of an L0 prediction block for the first partition. The derived lighting compensation parameter can be applied to an L0 prediction block to generate an L0 prediction block with lighting compensation. Petition 870250093847, dated 10 / 14 / 2025, page 48 / 113 39 / 90 Similarly, a lighting compensation parameter for an L1 prediction block can be derived based on the neighboring area of a current block and the neighboring area of an L1 prediction block for the first partition. The derived lighting compensation parameter can be applied to an L1 prediction block to generate an L1 prediction block with lighting compensation. The first prediction block of the first partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0149] On the other hand, when the first partition performs a one-way prediction, an L0 or L1 prediction block can be derived for the first partition. Lighting compensation can be applied to the L0 or L1 prediction block of the first partition. In other words, a lighting compensation parameter can be derived based on the neighboring area of a current block and the neighboring area of an L0 or L1 prediction block, and the lighting compensation parameter can be applied to an L0 or L1 prediction block. The L0 or L1 prediction block with lighting compensation can be defined as the first prediction block of the first partition.
[0150] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the second partition, respectively. The first prediction block of the first partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0151] Specifically, a lighting compensation parameter for an L0 prediction block can be derived based on the neighboring area of a current block and the neighboring area of an L0 prediction block for the second partition. The derived lighting compensation parameter can be applied to an L0 prediction block to generate an L0 prediction block with lighting compensation. Similarly, a lighting compensation parameter for a block of Petition 870250093847, dated 10 / 14 / 2025, page 49 / 113 40 / 90 L1 prediction can be derived based on the neighboring area of a current block and the neighboring area of an L1 prediction block for the second partition. The derived lighting compensation parameter can be applied to an L1 prediction block to generate an L1 prediction block with lighting compensation. The second prediction block of the second partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0152] On the other hand, when the second partition performs a one-way prediction, an L0 or L1 prediction block can be derived for the second partition. Lighting compensation can be applied to the L0 or L1 prediction blocks of the second partition. In other words, a lighting compensation parameter can be derived based on the neighboring area of a current block and the neighboring area of an L0 or L1 prediction block, and the lighting compensation parameter can be applied to an L0 or L1 prediction block. The L0 or L1 prediction block with lighting compensation can be defined as the second prediction block of the second partition. Implementation 6
[0153] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the first partition, respectively. The first prediction block of the first partition can be derived by applying BCW (cu-level weighted bi-prediction) to the lighting-compensated L0 and L1 prediction blocks. The lighting compensation, according to this disclosure, is the same as that described in Embodiment 5, and an overlapping description will be omitted here.
[0154] Specifically, a lighting compensation parameter for an L0 prediction block can be derived based on the neighboring area of a current block and the neighboring area of an L0 prediction block for the first partition. The derived lighting compensation parameter can be applied to a block of Petition 870250093847, dated 10 / 14 / 2025, page 50 / 113 41 / 90 prediction L0 to generate an L0 prediction block with lighting compensation. Similarly, a lighting compensation parameter for an L1 prediction block can be derived based on the neighboring area of a current block and the neighboring area of an L1 prediction block for the first partition. The derived lighting compensation parameter can be applied to an L1 prediction block to generate an L1 prediction block with lighting compensation. The first prediction block of the first partition can be derived based on the weighted average of the L0 and L1 prediction blocks with lighting compensation. A weight for the weighted average is the same as described in Implementation 2, and an overlapping description will be omitted here.
[0155] On the other hand, when the first partition performs a one-way prediction, an L0 or L1 prediction block can be derived for the first partition. Lighting compensation can be applied to the L0 or L1 prediction block of the first partition. In other words, a lighting compensation parameter can be derived based on the neighboring area of a current block and the neighboring area of an L0 or L1 prediction block, and the lighting compensation parameter can be applied to an L0 or L1 prediction block. The L0 or L1 prediction block with lighting compensation can be defined as the first prediction block of the first partition. Since this is a case where the first partition performs a one-way prediction, the BCW described above may not be applied when deriving the first prediction block of the first partition.
[0156] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the second partition, respectively. The second prediction block of the second partition can be derived by applying BCW to the L0 and L1 prediction blocks with lighting compensation.
[0157] Specifically, a lighting compensation parameter for Petition 870250093847, dated 10 / 14 / 2025, page 51 / 113 42 / 90 A prediction block L0 can be derived based on the neighboring area of a current block and the neighboring area of a prediction block L0 for the second partition. The derived lighting compensation parameter can be applied to a prediction block L0 to generate a lighting-compensated prediction block L0. Similarly, a lighting compensation parameter for a prediction block L1 can be derived based on the neighboring area of a current block and the neighboring area of a prediction block L1 for the second partition. The derived lighting compensation parameter can be applied to a prediction block L1 to generate a lighting-compensated prediction block L1. The second prediction block of the second partition can be derived based on the weighted average of the lighting-compensated prediction blocks L0 and L1. A weight for the weighted average is the same as described in Implementation 2, and an overlapping description will be omitted here.
[0158] On the other hand, when the second partition performs a one-way prediction, an L0 or L1 prediction block can be derived for the second partition. Lighting compensation can be applied to the L0 or L1 prediction blocks of the second partition. In other words, a lighting compensation parameter can be derived based on the neighboring area of a current block and the neighboring area of an L0 or L1 prediction block, and the lighting compensation parameter can be applied to an L0 or L1 prediction block. The L0 or L1 prediction block with lighting compensation can be defined as the second prediction block of the second partition. Since this is a case where the second partition performs a one-way prediction, the BCW described above may not be applied when deriving the second prediction block of the second partition. Implementation 7
[0159] When the first partition performs a bidirectional prediction, the first prediction block of the first partition can be derived based on the refinement of the motion vector on the decoder side (DMVR). Petition 870250093847, dated 10 / 14 / 2025, page 52 / 113 43 / 90
[0160] Specifically, a predetermined search range can be determined based on the movement vector of the first partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the movement vector of the first partition. N can be an integer of 1, 2, or more. As an example, when N is 2, the search range can be defined as a 5x5 area using a position indicated by the movement vector of the first partition as the central position. In this case, the number of search positions within a search range can be 25.
[0161] A cost can be calculated for each search position within the search range. Here, a cost can be calculated as the sum of the absolute difference (SAD) between an L0 block and an L1 block in a corresponding search position.
[0162] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the first partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the first partition, respectively.
[0163] Lighting compensation can be applied to a derived L0 prediction block and an L1 prediction block in the manner described above. A lighting compensation parameter for an L0 prediction block can be derived based on the neighboring area of a current block and the neighboring area of the derived L0 prediction block. The derived lighting compensation parameter can be applied to an L0 prediction block to generate a lighting-compensated L0 prediction block. Similarly, a lighting compensation parameter for an L1 prediction block can be derived based on the neighboring area of a current block and the neighboring area of the derived L1 prediction block. The parameter Petition 870250093847, dated 10 / 14 / 2025, page 53 / 113 44 / 90 lighting compensation derived can be applied to an L1 prediction block to generate an L1 prediction block with lighting compensation. The first prediction block of the first partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0164] On the other hand, when the first partition performs a one-way prediction, the DMVR described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block. Alternatively, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block with illumination compensation.
[0165] When the second partition performs a bidirectional prediction, the second prediction block of the second partition can be derived based on the DMVR, as described above.
[0166] Specifically, a predetermined search range can be determined based on the motion vector of the second partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the motion vector of the second partition, which is the same as described above.
[0167] A cost can be calculated for each search position within the search range. Here, a cost can be calculated as the sum of the absolute difference (SAD) between an L0 block and an L1 block in a corresponding search position.
[0168] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the second partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 and L1 prediction block. Petition 870250093847, dated 10 / 14 / 2025, page 54 / 113 45 / 90 the L1 prediction block of the second partition, respectively.
[0169] Lighting compensation can be applied to a derived L0 prediction block and an L1 prediction block in the manner described above. A lighting compensation parameter for an L0 prediction block can be derived based on the neighboring area of a current block and the neighboring area of the derived L0 prediction block. The derived lighting compensation parameter can be applied to an L0 prediction block to generate a lighting-compensated L0 prediction block. Similarly, a lighting compensation parameter for an L1 prediction block can be derived based on the neighboring area of a current block and the neighboring area of the derived L1 prediction block. The derived lighting compensation parameter can be applied to an L1 prediction block to generate a lighting-compensated L1 prediction block.The first prediction block of the first partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with illumination compensation.
[0170] On the other hand, when the second partition performs a one-way prediction, the DMVR described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Alternatively, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block with illumination compensation.
[0171] The DMVR described above can partition a current block into subblocks of a predetermined size and perform the modification of a motion vector in the unit of a subblock. Here, the size of a subblock can be 16x16. However, it is not limited to this, and the size of a subblock can be 8x8 or 4x4. Alternatively, the shape of a subblock is not limited to a square shape and can be a non-square shape, such as 16x8 or 8x4. Alternatively, the DMVR described above can perform the modification of a motion vector in Petition 870250093847, dated 10 / 14 / 2025, page 55 / 113 46 / 90 1x1 sample unit. Implementation 8
[0172] When the first partition performs a bidirectional prediction, the first prediction block of the first partition can be derived based on the refinement of the motion vector on the decoder side (DMVR).
[0173] Specifically, a predetermined search range can be determined based on the movement vector of the first partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the movement vector of the first partition. N can be an integer of 1, 2, or more. As an example, when N is 2, the search range can be defined as a 5x5 area using a position indicated by the movement vector of the first partition as the central position. In this case, the number of search positions within a search range can be 25.
[0174] A cost can be calculated for each search position within the search range. Lighting compensation can be applied to an L0 block and an L1 block in a search position, respectively. In this case, a cost can be calculated as the sum of the absolute difference (SAD) between the L0 block and the L1 block with lighting compensation.
[0175] In other words, a lighting compensation parameter for the L0 block can be derived based on the neighboring area of a current block and the neighboring area of an L0 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L0 block to generate an L0 block with lighting compensation. Similarly, a lighting compensation parameter for the L1 block can be derived based on the neighboring area of a current block and the neighboring area of an L1 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L1 block to generate an L1 block with lighting compensation. A Petition 870250093847, dated 10 / 14 / 2025, page 56 / 113 47 / 90 SAD between blocks L0 and L1 with lighting compensation can be calculated as a cost.
[0176] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the first partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the first partition, respectively.
[0177] Lighting compensation can be applied to an L0 prediction block and an L1 prediction block derived in the manner described above. An L0 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L0 block at a search position indicated by the modified motion vector for the L0 prediction block. Furthermore, an L1 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L1 block at a search position indicated by the modified motion vector for the L1 prediction block. The first prediction block of the first partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0178] On the other hand, when the first partition performs a one-way prediction, the DMVR described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block. Alternatively, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block with illumination compensation.
[0179] When the second partition performs a bidirectional prediction, the second prediction block of the second partition can be derived based on Petition 870250093847, dated 10 / 14 / 2025, page 57 / 113 48 / 90 DMVR, as described above.
[0180] Specifically, a predetermined search range can be determined based on the motion vector of the second partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the motion vector of the second partition, which is the same as described above.
[0181] A cost can be calculated for each search position within the search range. Lighting compensation can be applied to an L0 block and an L1 block in a search position, respectively. In this case, a cost can be calculated as the SAD between the L0 block and the L1 block with lighting compensation.
[0182] In other words, a lighting compensation parameter for block L0 can be derived based on the neighboring area of a current block and the neighboring area of an L0 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L0 block to generate an L0 block with lighting compensation. Similarly, a lighting compensation parameter for block L1 can be derived based on the neighboring area of a current block and the neighboring area of an L1 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L1 block to generate an L1 block with lighting compensation. The SAD between L0 and L1 blocks with lighting compensation can be calculated as a cost.
[0183] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the second partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the second partition, respectively. Petition 870250093847, dated 10 / 14 / 2025, pp. 58 / 113 49 / 90
[0184] Lighting compensation can be applied to an L0 prediction block and an L1 prediction block derived in the manner described above. An L0 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L0 block at a search position indicated by the modified motion vector for the L0 prediction block. Furthermore, an L1 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L1 block at a search position indicated by the modified motion vector for the L1 prediction block. The second prediction block of the second partition can be derived based on the weighted sum of the L0 and L1 prediction blocks with lighting compensation.
[0185] On the other hand, when the second partition performs a one-way prediction, the DMVR described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Alternatively, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block with illumination compensation.
[0186] The DMVR described above can partition a current block into subblocks of a predetermined size and perform the modification of a motion vector in the unit of a subblock. Here, the size of a subblock can be 16x16. However, it is not limited to this, and the size of a subblock can be 8x8 or 4x4. Alternatively, the shape of a subblock is not limited to a square shape and can be a non-square shape, such as 16x8 or 8x4. Alternatively, the DMVR described above can perform the modification of a motion vector in the sample unit of 1x1. Implementation 9
[0187] When the first partition performs a bidirectional prediction, the Petition 870250093847, dated 10 / 14 / 2025, pp. 59 / 113 The 50 / 90 first prediction block of the first partition can be derived based on decoder-side motion vector refinement (DMVR).
[0188] Specifically, a predetermined search range can be determined based on the movement vector of the first partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the movement vector of the first partition. N can be an integer of 1, 2, or more. As an example, when N is 2, the search range can be defined as a 5x5 area using a position indicated by the movement vector of the first partition as the central position. In this case, the number of search positions within a search range can be 25.
[0189] A cost can be calculated for each search position within the search range. Lighting compensation can be applied to an L0 block and an L1 block in a search position, respectively. A predetermined weight for BCW (bi-prediction with CU level weighting) can be applied to the L0 block and L1 block with lighting compensation, respectively. In this case, a cost can be calculated as the sum of the absolute difference (SAD) between the weighted L0 block and L1 block. A weight for BCW is the same as that described in Implementation 2, and an overlapping description will be omitted here.
[0190] In other words, a lighting compensation parameter for the L0 block can be derived based on the neighboring area of a current block and the neighboring area of an L0 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L0 block to generate an L0 block with lighting compensation. Similarly, a lighting compensation parameter for the L1 block can be derived based on the neighboring area of a current block and the neighboring area of an L1 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L1 block to generate an L1 block with lighting compensation. The Petition 870250093847, dated 10 / 14 / 2025, pp. 60 / 113 51 / 90 weighted L0 and L1 blocks can be generated by applying a derived weight based on a BCW index to the lighting-compensated L0 and L1 blocks, respectively. The SAD between the weighted L0 and L1 blocks can be calculated as a cost.
[0191] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the first partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the first partition, respectively.
[0192] Lighting compensation can be applied to an L0 prediction block and an L1 prediction block derived in the manner described above. An L0 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L0 block at a search position indicated by the modified motion vector for the L0 prediction block. Furthermore, an L1 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L1 block at a search position indicated by the modified motion vector for the L1 prediction block. The first prediction block can be derived based on the weighted average of the L0 and L1 prediction blocks with lighting compensation.In other words, the first prediction block of the first partition can be derived by applying a weight (W00) and a weight (W01) derived based on the BCW index to the illumination-compensated prediction blocks L0 and L1, respectively.
[0193] On the other hand, when the first partition performs a one-way prediction, the DMVR and BCW described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as any one of a block of Petition 870250093847, dated 10 / 14 / 2025, pp. 61 / 113 52 / 90 prediction L0 or L1. Alternatively, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block with lighting compensation.
[0194] When the second partition performs a bidirectional prediction, the second prediction block of the second partition can be derived based on the DMVR, as described above.
[0195] Specifically, a predetermined search range can be determined based on the motion vector of the second partition. The search range can be limited to ±N sample sizes in the horizontal and vertical directions, centered around a position indicated by the motion vector of the second partition, which is the same as described above.
[0196] A cost can be calculated for each search position within the search range. Lighting compensation can be applied to an L0 block and an L1 block in a search position, respectively. A predetermined weight for BCW can be applied to the L0 block and L1 block with lighting compensation, respectively. In this case, a cost can be calculated as the SAD between the weighted L0 block and L1 block. A weight for BCW is the same as that described in Implementation 2, and an overlapping description will be omitted here.
[0197] In other words, a lighting compensation parameter for the L0 block can be derived based on the neighboring area of a current block and the neighboring area of an L0 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L0 block to generate an L0 block with lighting compensation. Similarly, a lighting compensation parameter for the L1 block can be derived based on the neighboring area of a current block and the neighboring area of an L1 block at a corresponding search position. The derived lighting compensation parameter can be applied to an L1 block to generate an L1 block with lighting compensation. Weighted L0 and L1 blocks can be generated by applying a derived weight with Petition 870250093847, dated 10 / 14 / 2025, pp. 62 / 113 53 / 90 based on a BCW index to block L0 and block L1 with lighting compensation, respectively. The SAD between the weighted block L0 and block L1 can be calculated as a cost.
[0198] A search position with the lowest cost among the calculated costs can be determined. The movement vector of the second partition can be modified to a movement vector that indicates a search position with the lowest cost. An L0 block and an L1 block in a search position indicated by the modified movement vector can be defined as the L0 prediction block and the L1 prediction block of the second partition, respectively.
[0199] Lighting compensation can be applied to an L0 prediction block and an L1 prediction block derived in the manner described above. An L0 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L0 block at a search position indicated by the modified motion vector for the L0 prediction block. Furthermore, an L1 prediction block with lighting compensation can be generated by applying a pre-derived lighting compensation parameter to an L1 block at a search position indicated by the modified motion vector for the L1 prediction block. The second prediction block can be derived based on the weighted average of the L0 and L1 prediction blocks with lighting compensation.In other words, the second prediction block of the second partition can be derived by applying a weight (wio) and a weight (wii) derived based on the BCW index to the illumination-compensated L0 and L1 prediction blocks, respectively.
[0200] On the other hand, when the second partition performs a one-way prediction, the DMVR and BCW described above may not apply when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Alternatively, the second prediction block from the second Petition 870250093847, dated 10 / 14 / 2025, pp. 63 / 113 A 54 / 90 partition can be derived as either an L0 or L1 prediction block with lighting compensation.
[0201] The DMVR described above can partition a current block into subblocks of a predetermined size and perform the modification of a motion vector in the unit of a subblock. Here, the size of a subblock can be 16x16. However, it is not limited to this, and the size of a subblock can be 8x8 or 4x4. Alternatively, the shape of a subblock is not limited to a square shape and can be a non-square shape, such as 16x8 or 8x4. Alternatively, the DMVR described above can perform the modification of a motion vector in the sample unit of 1x1. Implementation 10
[0202] The BDOF (bidirectional optical flow) according to the present disclosure can find an optimal motion vector in the unit of a predetermined sub-block based on a bidirectional motion vector obtained in the unit of a coding block and derive a final prediction block by estimating a sample value variation at each sample position within a coding block based on an optimal motion vector. The sub-block is a 4x4 block, but is not limited to that.
[0203] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. By deriving the first prediction block of the first partition based on the L0 prediction block and the L1 prediction block of the first partition, BDOF can be applied.
[0204] When BDOF is applied, the sample value (pred0BDOF) of the first prediction block can be derived based on the sample value (pred00) of the L0 prediction block of the first partition, the sample value (pred01) of the L1 prediction block of the first partition, and a predetermined offset (Offset0BDOF) for the BDOF of the first partition. Here, a predetermined offset can be derived based on at least one of a horizontal / vertical gradient at the position Petition 870250093847, dated 10 / 14 / 2025, pp. 64 / 113 55 / 90 of the predOo sample or in a horizontal / vertical gradient at the pred01 sample position. As an example, a predetermined displacement can be derived as shown in Equation 4 below. [Equation 4] 0ffset0BDOF(i,j)=v0x*(gradH00(i,j)-gradH01(i,j))+v0y*(gradV00(i,j)-gradV01(i,j))
[0205] In Equation 4, o / / set0BDOF(i,j) represents a displacement corresponding to the position of the sample (i,j). v0x and v0y can refer to a modified motion vector that minimizes the distortion between the prediction block L0 and the prediction block L1 of the first partition. v0x and v0y can be derived in unity from a sub-block within a current block. gradH00(i,j) represents a horizontal gradient in the position of the sample (i,j) within the prediction block L0 of the first partition. gradH01(i,j) represents a horizontal gradient in the position of the sample (i,j) within the prediction block L1 of the first partition. gradV00(i,j) represents a vertical gradient in the position of the sample (i,j) within the prediction block L0 of the first partition. gradV01(i,j) represents a vertical gradient in the position of the sample (i,j) within the L1 prediction block of the first partition.The horizontal gradient can be a variation in at least two samples horizontally adjacent to the position of sample (i,j). The vertical gradient can be a variation in at least two samples vertically adjacent to the position of sample (i,j).
[0206] On the other hand, when the first partition performs a one-way prediction, the BDOF described above may not be applied when deriving the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block.
[0207] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. By deriving the second prediction block of the second partition based on the L0 prediction block and the L1 prediction block of the second partition, the BDOF can be Petition 870250093847, dated 10 / 14 / 2025, pp. 65 / 113 56 / 90 applied.
[0208] When BDOF is applied, the sample value (predlBDOF) of the second prediction block can be derived based on the sample value (pred10) of the second partition's L0 prediction block, the sample value (pred11) of the second partition's L1 prediction block, and a predetermined offset (Offset1BDOF) for the second partition's BDOF. Here, a predetermined offset can be derived based on at least one of a horizontal / vertical gradient at the sample position of pred10 or a horizontal / vertical gradient at the sample position of pred11. As an example, a predetermined offset can be derived as shown in Equation 5 below. [Equation 5] Offset1BDOF(i,j)=v1x*(gradH10(i,j)-gradH11(i,j))+v1y*(gradV10(i,j)-gradV11(i,j))
[0209] In Equation 5, Offset1BDOF(i,j) represents an offset corresponding to the position of the sample (i,j). v1x and v1y can refer to a modified motion vector that minimizes the distortion between the prediction block L0 and the prediction block L1 of the second partition. v1x and v1y can be derived in unity from a sub-block within a current block. gradH10(i,j) represents a horizontal gradient at the position of the sample (i,j) within the prediction block L0 of the second partition. gradH11(i,j) represents a horizontal gradient at the position of the sample (i,j) within the prediction block L1 of the second partition. gradV10(i,j) represents a vertical gradient at the position of the sample (i,j) within the prediction block L0 of the second partition. gradV11(i,j) represents a vertical gradient in the position of the (i,j) sample within the L1 prediction block of the second partition.The horizontal gradient can be a variation in at least two samples horizontally adjacent to the position of sample (ij). The vertical gradient can be a variation in at least two samples vertically adjacent to the position of sample (i,j).
[0210] On the other hand, when the second partition makes a prediction Petition 870250093847, dated 10 / 14 / 2025, pp. 66 / 113 57 / 90 unidirectional, the BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Implementation 11
[0211] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. The first prediction block of the first partition can be derived by applying BCW (cu-level weighted bi-prediction) and BDOF (Bidirectional Optical Flow) to the L0 prediction block and the L1 prediction block of the first partition.
[0212] In other words, the sample value of the first prediction block can be derived based on at least one of a value derived by the weighted average of the sample value of prediction block L0 and the sample value of prediction block L1 of the first partition, or an offset to the BDOF of the first partition. A weight for the weighted average can be derived based on the BCW index of the first partition, which is the same as that described in Implementation 2. Furthermore, an offset to the BDOF of the first partition is the same as that described in Implementation 10.
[0213] On the other hand, when the first partition performs a one-way prediction, the BCW and BDOF described above may not be applied when deriving the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block.
[0214] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. The second prediction block of the second partition can be derived by applying BCW and BDOF to the L0 prediction block and the L1 prediction block of the second partition.
[0215] In other words, the sample value of the second prediction block Petition 870250093847, dated 10 / 14 / 2025, pp. 67 / 113 58 / 90 can be derived based on at least one of a value derived by the weighted average of the sample value from prediction block L0 and the sample value from prediction block L1 of the second partition, or an offset to the BDOF of the second partition. A weight for the weighted average can be derived based on the BCW index of the second partition, which is the same as that described in Implementation 2. Furthermore, an offset to the BDOF of the second partition is the same as that described in Implementation 10.
[0216] On the other hand, when the second partition performs a one-way prediction, the BCW and BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Implementation 12
[0217] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. In this case, the L0 prediction block and the L1 prediction block of the first partition can be derived based on DMVR (decoder-side motion vector refinement). A method for deriving L0 / L1 prediction blocks based on DMVR is the same as described in Implementation 3, and an overlapping description will be omitted here.
[0218] The first prediction block of the first partition can be derived by applying BDOF (bidirectional optical flow) to the L0 prediction block and the L1 prediction block of the first partition, derived based on DMVR. In other words, the L0 and L1 prediction blocks of the first partition can be derived based on DMVR. The sample value of the first prediction block of the first partition can be derived based on at least one of the weighted sum of the sample value of the derived L0 prediction block and the sample value of the L1 prediction block, or an offset for the BDOF of the first partition. One Petition 870250093847, dated 10 / 14 / 2025, pp. 68 / 113 59 / 90 displacement to the BDOF of the first partition is the same as that described in Implementation 10.
[0219] On the other hand, when the first partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block.
[0220] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. In this case, the L0 prediction block and the L1 prediction block of the second partition can be derived based on the DMVR. A method for deriving L0 / L1 prediction blocks based on the DMVR is the same as described in Implementation 3, and an overlapping description will be omitted here.
[0221] The second prediction block of the second partition can be derived by applying the BDOF to the L0 prediction block and the L1 prediction block of the second partition, derived based on the DMVR. In other words, the L0 and L1 prediction blocks of the first partition can be derived based on DMVR. The sample value of the second prediction block of the second partition can be derived based on at least one of the weighted sum of the sample value of the derived L0 prediction block and the sample value of the L1 prediction block, or a shift to the BDOF of the second partition. A shift to the BDOF of the second partition is the same as that described in Implementation 10.
[0222] On the other hand, when the second partition performs a one-way prediction, the BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Implementation 13 Petition 870250093847, dated 10 / 14 / 2025, pp. 69 / 113 60 / 90
[0223] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. In this case, the L0 prediction block and the L1 prediction block of the first partition can be derived based on DMVR (decoder-side motion vector refinement). Here, a method for deriving L0 / L1 prediction blocks based on DMVR is the same as that described in Implementation 4, and an overlapping description will be omitted here.
[0224] The first prediction block of the first partition can be derived by applying BDOF (bidirectional optical flow) to a prediction block L0 and a prediction block L1 derived in the manner described above. In other words, the sample value of the first prediction block can be derived based on at least one of a value derived by the weighted average of the sample value of prediction block L0 and the sample value of prediction block L1 of the first partition, or an offset for the BDOF of the first partition. A weight for the weighted average can be derived based on the BCW index of the first partition, which is the same as that described in Emphasis 2. Furthermore, an offset for the BDOF of the first partition is the same as that described in Emphasis 10.
[0225] On the other hand, when the first partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving the first prediction block from the first partition. In this case, the first prediction block from the first partition can be derived as either an L0 or L1 prediction block.
[0226] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. In this case, the L0 prediction block and the L1 prediction block of the second partition can be derived based on DMVR (decoder-side motion vector refinement). Here, a method for deriving L0 / L1 prediction blocks based on DMVR is the same as that described in Implementation 4, and a description Petition 870250093847, dated 10 / 14 / 2025, pp. 70 / 113 The overlapping 61 / 90 will be omitted here.
[0227] The second prediction block of the second partition can be derived by applying the BDOF to a prediction block L0 and a prediction block L1 derived in the manner described above. In other words, the sample value of the second prediction block can be derived based on at least one of a value derived by the weighted average of the sample value of prediction block L0 and the sample value of prediction block L1 of the second partition, or an offset for the BDOF of the second partition. A weight for the weighted average can be derived based on the BCW index of the second partition, which is the same as that described in Emphasis 2. Furthermore, an offset for the BDOF of the second partition is the same as that described in Emphasis 10.
[0228] On the other hand, when the second partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Implementation 14
[0229] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the first partition, respectively. A method for generating the L0 / L1 prediction blocks with lighting compensation is the same as described in Implementation 5, and an overlapping description will be omitted here.
[0230] The first prediction block of the first partition can be derived by applying BDOF (bidirectional optical flow) to the L0 prediction block and the L1 prediction block with illumination compensation of the first partition. In other words, the sample value of the first prediction block of the first partition can be derived based on at least one of the weighted sum of the values of Petition 870250093847, dated 10 / 14 / 2025, pp. 71 / 113 62 / 90 sample of an L0 prediction block with lighting compensation and the sample value of an L1 prediction block with lighting compensation, or a shift to the BDOF of the first partition. A shift to the BDOF of the first partition is the same as that described in Implementation 10.
[0231] On the other hand, when the first partition performs a one-way prediction, the BDOF described above may not be applied when deriving the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the first partition, and the L0 or L1 prediction block with lighting compensation can be defined as the first prediction block of the first partition.
[0232] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the second partition, respectively. A method for generating the L0 / L1 prediction blocks with lighting compensation is the same as described in Implementation 5, and an overlapping description will be omitted here.
[0233] The second prediction block of the second partition can be derived by applying the BDOF to the illumination-compensated L0 prediction block and L1 prediction block of the second partition. In other words, the sample value of the second prediction block of the second partition can be derived based on at least one of the weighted sum of the sample value of an illumination-compensated L0 prediction block and the sample value of an illumination-compensated L1 prediction block, or a shift to the BDOF of the second partition. A shift to the BDOF of the second partition is the same as that described in Embodiment 10.
[0234] On the other hand, when the second partition makes a prediction Petition 870250093847, dated 10 / 14 / 2025, pp. 72 / 113 In a 63 / 90 one-way configuration, the BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the second partition, and the L0 or L1 prediction block with lighting compensation can be defined as the second prediction block of the second partition. Implementation 15
[0235] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the first partition, respectively. A method for generating the L0 / L1 prediction blocks with lighting compensation is the same as described in Implementation 5, and an overlapping description will be omitted here.
[0236] The first prediction block of the first partition can be derived by applying BCW (bi-prediction with CU level weighting) and BDOF (Bidirectional Optical Flux) to the L0 prediction block and L1 prediction block with illumination compensation of the first partition.
[0237] In other words, the sample value of the first prediction block can be derived based on at least one of a value derived by the weighted average of the illumination-compensated L0 prediction block sample value and the illumination-compensated L1 prediction block sample value of the first partition, or an offset to the BDOF of the first partition. A weight for the weighted average can be derived based on the BCW index of the second partition, which is the same as that described in Embodiment 1. Furthermore, an offset to the BDOF of the first partition is the same as that described in Embodiment 10.
[0238] On the other hand, when the first partition makes a prediction Petition 870250093847, dated 10 / 14 / 2025, pp. 73 / 113 In a 64 / 90 unidirectional configuration, the BCW and BDOF described above may not be applied when deriving the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the first partition, and the L0 or L1 prediction block with lighting compensation can be defined as the first prediction block of the first partition.
[0239] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. Lighting compensation can be applied to the L0 prediction block and the L1 prediction block of the second partition, respectively. A method for generating the L0 / L1 prediction blocks with lighting compensation is the same as described in Implementation 5, and an overlapping description will be omitted here.
[0240] The second prediction block of the second partition can be derived by applying BCW and BDOF to the L0 prediction block and L1 prediction block with illumination compensation of the second partition.
[0241] In other words, the sample value of the second prediction block can be derived based on at least one of a value derived by the weighted average of the illumination-compensated L0 prediction block sample value and the illumination-compensated L1 prediction block sample value of the second partition, or an offset to the BDOF of the second partition. A weight for the weighted average can be derived based on the BCW index of the second partition, which is the same as that described in Embodiment 2. Furthermore, an offset to the BDOF of the second partition is the same as that described in Embodiment 10.
[0242] On the other hand, when the second partition performs a one-way prediction, the BCW and BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second block of Petition 870250093847, dated 10 / 14 / 2025, pp. 74 / 113 The 65 / 90 prediction of the second partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the second partition, and the L0 or L1 prediction block with lighting compensation can be defined as the second prediction block of the second partition. Implementation 16
[0243] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. In this case, the L0 prediction block and the L1 prediction block of the first partition can be derived based on DMVR (decoder-side motion vector refinement). Here, a method for deriving L0 / L1 prediction blocks based on DMVR is the same as that described in Implementation 8, and an overlapping description will be omitted here.
[0244] Lighting compensation can be applied to the L0 and L1 prediction blocks derived in the manner described above to generate L0 and L1 prediction blocks with lighting compensation, which is the same as described in Implementation 8.
[0245] The first prediction block of the first partition can be derived by applying BDOF (bidirectional optical flow) to the L0 prediction block and L1 prediction block with illumination compensation of the first partition.
[0246] In other words, the sample value of the first prediction block can be derived based on at least one of the weighted sum of the illumination-compensated L0 prediction block sample value and the illumination-compensated L1 prediction block sample value of the first partition, or an offset to the BDOF of the first partition. An offset to the BDOF of the first partition is the same as that described in Embodiment 10.
[0247] On the other hand, when the first partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving Petition 870250093847, dated 10 / 14 / 2025, pp. 75 / 113 66 / 90 is the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the first partition, and the L0 or L1 prediction block with lighting compensation can be defined as the first prediction block of the first partition.
[0248] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. In this case, the L0 prediction block and the L1 prediction block of the first partition can be derived based on DMVR (decoder-side motion vector refinement). Here, a method for deriving L0 / L1 prediction blocks based on DMVR is the same as that described in Implementation 8, and an overlapping description will be omitted here.
[0249] Lighting compensation can be applied to the L0 and L1 prediction blocks derived in the manner described above to generate L0 and L1 prediction blocks with lighting compensation, which is the same as described in Implementation 8.
[0250] The second prediction block of the second partition can be derived by applying BDOF to the L0 prediction block and L1 prediction block with illumination compensation of the second partition.
[0251] In other words, the sample value of the second prediction block can be derived based on at least one of the weighted sum of the illumination-compensated L0 prediction block sample value and the illumination-compensated L1 prediction block sample value of the second partition, or an offset to the BDOF of the second partition. An offset to the BDOF of the second partition is the same as that described in Embodiment 10.
[0252] On the other hand, when the second partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving Petition 870250093847, dated 10 / 14 / 2025, pp. 76 / 113 67 / 90 is the second prediction block of the second partition. In this case, the second prediction block of the second partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the second partition, and the L0 or L1 prediction block with lighting compensation can be defined as the second prediction block of the second partition. Implementation 17
[0253] When the first partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the first partition. In this case, the L0 prediction block and the L1 prediction block of the first partition can be derived based on DMVR (decoder-side motion vector refinement). Here, a method for deriving L0 / L1 prediction blocks based on DMVR is the same as that described in Implementation 9, and an overlapping description will be omitted here.
[0254] Lighting compensation can be applied to the L0 and L1 prediction blocks derived in the manner described above to generate L0 and L1 prediction blocks with lighting compensation, which is the same as described in Implementation 9.
[0255] The first prediction block of the first partition can be derived by applying BDOF (bidirectional optical flow) to the L0 prediction block and L1 prediction block with illumination compensation of the first partition.
[0256] In other words, the sample value of the first prediction block can be derived based on at least one of a value derived by the weighted average of the illumination-compensated L0 prediction block sample value and the illumination-compensated L1 prediction block sample value of the first partition, or an offset to the BDOF of the first partition. A weight for the weighted average can be derived based on the BCW index of the second partition, which is the same as that described in Embodiment 1. In addition Petition 870250093847, dated 10 / 14 / 2025, pp. 77 / 113 68 / 90 of this, a shift to the BDOF of the first partition is the same as that described in Implementation 10.
[0257] On the other hand, when the first partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving the first prediction block of the first partition. In this case, the first prediction block of the first partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the first partition, and the L0 or L1 prediction block with lighting compensation can be defined as the first prediction block of the first partition.
[0258] When the second partition performs bidirectional prediction, an L0 prediction block and an L1 prediction block can be derived for the second partition. In this case, the L0 prediction block and the L1 prediction block of the second partition can be derived based on the DMVR. Here, a method for deriving L0 / L1 prediction blocks based on DMVR is the same as that described in Implementation 9, and an overlapping description will be omitted here.
[0259] Lighting compensation can be applied to the L0 and L1 prediction blocks derived in the manner described above to generate L0 and L1 prediction blocks with lighting compensation, which is the same as described in Implementation 9.
[0260] The second prediction block of the second partition can be derived by applying BDOF to the L0 prediction block and L1 prediction block with illumination compensation of the second partition.
[0261] In other words, the sample value of the second prediction block can be derived based on at least one of a value derived by the weighted average of the illumination-compensated L0 prediction block sample value and the illumination-compensated L1 prediction block sample value of the second partition, or a shift to the BDOF of the second Petition 870250093847, dated 10 / 14 / 2025, pp. 78 / 113 69 / 90 partition. A weight for the weighted average can be derived based on the BCW index of the second partition, which is the same as that described in Implementation 2. Furthermore, an offset for the BDOF of the second partition is the same as that described in Implementation 10.
[0262] On the other hand, when the second partition performs a one-way prediction, the DMVR and BDOF described above may not be applied when deriving the second prediction block from the second partition. In this case, the second prediction block from the second partition can be derived as either an L0 or L1 prediction block. Alternatively, lighting compensation can be applied to the L0 or L1 prediction block of the second partition, and the L0 or L1 prediction block with lighting compensation can be defined as the second prediction block of the second partition.
[0263] An equal or different prediction mode can be applied to a plurality of partitions belonging to a current block. As the prediction mode for each partition, any of a merge mode, an AMVP mode, an intrablock copy (IBC) mode, a model matching-based prediction (TMP) mode, or an intra prediction mode can be used. Even when a plurality of partitions uses a different prediction mode, one-way or two-way prediction corresponding to a corresponding prediction mode can be performed for each partition. A method for deriving L0 / L1 prediction blocks for each prediction mode of each partition will be described below. Derivation Method 1
[0264] The first partition and the second partition of a current block can be a merge-mode encoded block. In this case, in embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the first partition and the second partition can be derived based on a merge mode.
[0265] Specifically, the list of candidates for merging a current block can be configured. The list of candidates for merging can include one or more Petition 870250093847, dated 10 / 14 / 2025, pp. 79 / 113 70 / 90 merge candidates. A merge candidate for the first partition can be selected from the list of merge candidates. The motion vector of the first partition can be derived based on the motion vector of the selected merge candidate. When the selected merge candidate performs a one-way prediction, the motion vector of the first partition can be either an L0 motion vector or an L1 motion vector. When the selected merge candidate performs a two-way prediction, the motion vector of the first partition can include both an L0 motion vector and an L1 motion vector. Based on the L0 and L1 motion vectors of the first partition, the L0 and L1 prediction blocks of the first partition can be derived, respectively.
[0266] In addition, a merge candidate for the second partition can be selected from the current block's merge candidate list. The motion vector of the second partition can be derived based on the motion vector of the selected merge candidate. When the selected merge candidate performs a one-way prediction, the motion vector of the second partition can be either an L0 motion vector or an L1 motion vector. When the selected merge candidate performs a two-way prediction, the motion vector of the second partition can include both an L0 motion vector and an L1 motion vector. Based on the L0 and L1 motion vectors of the second partition, the L0 and L1 prediction blocks of the second partition can be derived, respectively. Derivation Method 2
[0267] The first partition of a current block can be a block encoded in a merge mode, and the second partition of a current block can be a block encoded in an IBC mode. In this case, in embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the first partition can be derived based on a merge mode. In embodiments 1 to 17 described above, blocks Petition 870250093847, dated 10 / 14 / 2025, pp. 80 / 113 71 / 90 prediction L0 and / or L1 for the second partition can be derived based on an IBC mode.
[0268] Specifically, a list of merge candidates for the first partition of a current block can be configured, and L0 and / or L1 prediction blocks for the first partition can be derived based on a list of merge candidates. This is the same as described in Implementation 1, and an overlapping description will be omitted here.
[0269] A list of IBC candidates for the second partition of an existing block can be configured. The list of IBC candidates can include one or more IBC candidates. An IBC candidate for the second partition can be selected from the list of IBC candidates. The motion vector of the second partition can be derived based on the motion vector of the selected IBC candidate. When the selected IBC candidate performs a one-way prediction, the motion vector of the second partition can be either an L0 motion vector or an L1 motion vector. When the selected IBC candidate performs a two-way prediction, the motion vector of the second partition can include both an L0 motion vector and an L1 motion vector. The L0 and L1 prediction blocks of the second partition can be derived, respectively, by performing an intrablock copy based on the L0 and L1 motion vectors of the second partition. Derivation Method 3
[0270] The first partition and the second partition of a current block can be a block encoded in IBC mode. In this case, in embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the first partition and the second partition can be derived based on an IBC mode.
[0271] Specifically, the list of IBC candidates for a current block can be configured. The list of IBC candidates can include one or more IBC candidates. An IBC candidate for the first partition can be selected from the list of IBC candidates. The movement vector of the first partition can be derived with Petition 870250093847, dated 10 / 14 / 2025, pp. 81-113 72 / 90 based on the motion vector of the selected IBC candidate. When the selected IBC candidate performs a one-way prediction, the motion vector of the first partition can be either an L0 motion vector or an L1 motion vector. When the selected IBC candidate performs a two-way prediction, the motion vector of the first partition can include both an L0 motion vector and an L1 motion vector. The L0 and L1 prediction blocks of the first partition can be derived, respectively, by performing an intrablock copy based on the L0 and L1 motion vectors of the first partition.
[0272] In addition, an IBC candidate for the second partition can be selected from the list of IBC candidates for an existing block, and the L0 and / or L1 prediction block for the second partition can be derived based on the selected IBC candidate. This is the same as described in Implementation 2, and an overlapping description will be omitted here. Derivation Method 4
[0273] The first partition of a current block can be a block encoded in a merge mode and the second partition of a current block can be a block encoded in a TMP mode. In this case, in embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the first partition can be derived based on a merge mode. In embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the second partition can be derived based on a TMP mode.
[0274] Specifically, a list of merge candidates for the first partition of a current block can be configured, and L0 and / or L1 prediction blocks for the first partition can be derived based on a list of merge candidates. This is the same as described in Implementation 1, and an overlapping description will be omitted here.
[0275] In addition, a TMP candidate list for the second partition of a current block can be configured. The TMP candidate list can include a Petition 870250093847, dated 10 / 14 / 2025, pp. 82-113 73 / 90 or more TMP candidates. A TMP candidate for the second partition can be selected from the list of TMP candidates. As an example, for each one or more TMP candidates belonging to the list of TMP candidates, a difference between the model area of a current block and the model area of a reference block can be calculated. Here, a reference block can be specified based on a corresponding TMP candidate. Among one or more TMP candidates belonging to the list of TMP candidates, a TMP candidate with the smallest difference value can be selected as a TMP candidate for the second partition.
[0276] The motion vector of the second partition can be derived based on the selected TMP candidate. A predetermined search range for model matching can be determined based on the motion vector of the second partition, and model matching can be performed within the search range to derive the L0 and / or L1 prediction block of the second partition. As an example, a search range within an L0 reference frame can be determined based on the L0 motion vector of the second partition, and a difference between the model area of a current block and the model area of a reference block at a corresponding search position can be calculated for each search position within a corresponding search range. Among the search positions within the search range, a search position with the smallest difference value can be determined.A reference block can be derived as the L0 prediction block of the second partition at the determined search position. Similarly, a search interval within an L1 reference frame can be determined based on the L1 motion vector of the second partition, and a difference between the model area of a current block and the model area of a reference block at a corresponding search position can be calculated for each search position within a corresponding search interval. Among the search positions within the search interval, one can determine a search position with the smallest difference value. A reference block can be derived as the... Petition 870250093847, dated 10 / 14 / 2025, pp. 83 / 113 74 / 90 L1 prediction block of the second partition at the determined search position. Derivation Method 5
[0277] The first partition of a current block can be a block encoded in an IBC mode and the second partition of a current block can be a block encoded in a TMP mode. In this case, in embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the first partition can be derived based on an IBC mode. In embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the second partition can be derived based on a TMP mode.
[0278] Specifically, a list of IBC candidates for the first partition of a current block can be configured, and L0 and / or L1 prediction blocks for the first partition can be derived based on a list of IBC candidates. This is the same as described in Implementation 3, and an overlapping description will be omitted here.
[0279] In addition, a list of TMP candidates for the second partition of a current block can be configured, and L0 and / or L1 prediction blocks for the second partition can be derived based on a list of TMP candidates. This is the same as described in Implementation 4, and an overlapping description will be omitted here. Differentiation Method 6
[0280] The first partition and the second partition of a current block can be a block encoded in a TMP mode. In this case, in embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the first partition can be derived based on a TMP mode. In embodiments 1 to 17 described above, L0 and / or L1 prediction blocks for the second partition can be derived based on a TMP mode.
[0281] Specifically, the TMP candidate list for a current block can be configured. The TMP candidate list can include one or more TMP candidates. A TMP candidate for the first partition can be selected from the list of Petition 870250093847, dated 10 / 14 / 2025, pp. 84 / 113 75 / 90 TMP candidates. As an example, for each one or more TMP candidates belonging to the TMP candidate list, a difference between the model area of a current block and the model area of a reference block can be calculated. Here, a reference block can be specified based on a corresponding TMP candidate. Among one or more TMP candidates belonging to the TMP candidate list, a TMP candidate with the smallest difference value can be selected as a TMP candidate for the first partition.
[0282] The motion vector of the first partition can be derived based on the selected TMP candidate. A predetermined search range for model matching can be determined based on the motion vector of the first partition, and model matching can be performed within the search range to derive the L0 and / or L1 prediction block of the first partition. As an example, a search range within an L0 reference frame can be determined based on the L0 motion vector of the first partition, and a difference between the model area of a current block and the model area of a reference block at a corresponding search position can be calculated for each search position within a corresponding search range. Among the search positions within the search range, a search position with the smallest difference value can be determined.A reference block can be derived as the L0 prediction block of the first partition at the determined search position. Similarly, a search range within an L1 reference frame can be determined based on the L1 motion vector of the first partition, and a difference between the model area of a current block and the model area of a reference block at a corresponding search position can be calculated for each search position within a corresponding search range. Among the search positions within the search range, a search position with the smallest difference value can be determined. A reference block can be derived as the L1 prediction block of the first partition at the determined search position. Petition 870250093847, dated 10 / 14 / 2025, pp. 85 / 113 76 / 90
[0283] In addition, the L0 and / or L1 prediction blocks for the second partition can be derived based on the TMP candidate list of a current block. This is the same as described in Implementation 4, and an overlapping description will be omitted here.
[0284] A BCW index in the embodiment described above may be signaled by means of a bit stream or may be derived from an encoding device / a decoding device.
[0285] As an example, when a current block is encoded in a merge mode, the BCW index can be derived from the list of merge candidates of a current block. The BCW index can be derived for the first partition and the second partition of a current block, respectively.
[0286] Specifically, a merge candidate for the first partition of a current block can be determined from a list of merge candidates, and the BCW index value of the first partition can be derived based on the BCW index value of a corresponding merge candidate. The BCW index value of the first partition can be set to the same BCW index value of a merge candidate for the first partition. Similarly, a merge candidate for the second partition of a current block can be determined from a list of merge candidates, and the BCW index value of the second partition can be derived based on the BCW index value of a corresponding merge candidate. The BCW index value of the second partition can be set to the same BCW index value of a merge candidate for the second partition.
[0287] A lighting compensation signal in the embodiment described above may be signaled by means of a bit stream or may be derived from an encoding device / a decoding device.
[0288] As an example, when a current block is encoded in a merge mode, the lighting compensation flag can be derived from the list Petition 870250093847, dated 10 / 14 / 2025, pp. 86 / 113 77 / 90 of candidates for merging a current block. The lighting compensation flag can be derived for the first partition and the second partition of a current block, respectively.
[0289] Specifically, a merge candidate for the first partition of a current block can be determined from a list of merge candidates, and the lighting offset flag value of the first partition can be derived based on the lighting offset flag value of a corresponding merge candidate. The lighting offset flag value of the first partition can be set to the same value as the lighting offset flag value of a merge candidate for the first partition. Similarly, a merge candidate for the second partition of a current block can be determined from a list of merge candidates, and the lighting offset flag value of the second partition can be derived based on the lighting offset flag value of a corresponding merge candidate.The lighting compensation flag value for the second partition can be set to the same value as the lighting compensation flag value for a merge candidate for the second partition.
[0290] A BCW index applied to each partition of a current block can be stored in response to the partitioning format of a current block.
[0291] When a geometric partitioning mode is applied to a current block, the motion information for the first partition and the motion information for the second partition can exist simultaneously within a current block, which is a unit of encoding. Consequently, the motion information for the first partition and the motion information for the second partition can be stored in response to the partitioning format of a current block. In this case, a BCW index can be stored together in a motion information storage process in Petition 870250093847, dated 10 / 14 / 2025, pp. 87 / 113 78 / 90 response to the partitioning format of a current block.
[0292] Specifically, a current block can be divided into the first area, the second area, and a mix area. Here, the first area is an area belonging to the first partition, which can be defined as an area through which a partitioning boundary within a current block does not pass. The second area is an area belonging to the second partition, which can be defined as an area through which a partitioning boundary within a current block does not pass. The mix area can be defined as an area through which a partitioning boundary within a current block passes.
[0293] The motion information from the first partition can be stored in the first area. The motion information from the second partition can be stored in the second area. New motion information, in which the motion information from the first partition and the motion information from the second partition are combined according to a predefined condition, can be stored in a mix area. As an example, a bidirectional motion vector can be generated based on a combination of either the L0 or L1 motion vectors from the first partition and either the L0 or L1 motion vectors from the second partition, and the generated bidirectional motion vector can be stored in a mix area.Alternatively, either the motion information from the first partition or the motion information from the second partition can be selected according to a predefined condition, and the selected motion information can be stored in a mix area.
[0294] Meanwhile, the BCW index of the first partition can be stored in the first area. The BCW index of the second partition can be stored in the second area. A BCW index, according to a predefined condition, can be stored in a mixed area. As an example, when the first partition and the second partition have different BCW indexes, the index Petition 870250093847, dated 10 / 14 / 2025, pp. 88 / 113 79 / 90 The BCW of either partition can be selectively stored in a mix area. In this case, between the BCW index of the first partition and the BCW index of the second partition, an index other than BCW_DEFAULT can be preferentially stored. Here, BCW_DEFAULT can be a BCW index that represents that the weights applied to a prediction block L0 and a prediction block L1 are the same. Conversely, when the BCW indices for the first partition and the second partition are the same, a corresponding BCW index can be stored in a mix area.
[0295] In addition, a lighting compensation flag can be additionally stored in a motion information storage process in response to the partitioning format of a current block.
[0296] Specifically, the lighting compensation flag (LIC flag) of the first partition can be stored in the first area. The lighting compensation flag of the second partition can be stored in the second area. A lighting compensation flag, according to a predefined condition, can be stored in a mixing area. As an example, when the first partition and the second partition have a different lighting compensation flag, the lighting compensation flag of either of the two can be selectively stored in a mixing area. In this case, a lighting compensation flag with the minimum value between the lighting compensation flag value of the first partition and the lighting compensation flag value of the second partition can be stored in a mixing area.In other words, when the lighting compensation flags for the first partition and the second partition are different, a lighting compensation flag indicating that lighting compensation was not performed may preferably be stored in a mixing area. Alternatively, a lighting compensation flag with the maximum value between the compensation flags. Petition 870250093847, dated 10 / 14 / 2025, pp. 89 / 113 The 80 / 90 lighting signal for the first partition and the lighting compensation signal for the second partition can be stored in a mixing area. In other words, when the lighting compensation signals for the first and second partitions are different, a lighting compensation signal indicating that lighting compensation has been performed can be preferentially stored in a mixing area. Conversely, when the lighting compensation signals for the first and second partitions are the same, a corresponding lighting compensation signal can be stored in a mixing area.
[0297] Referring to FIG. 4, the prediction block of a current block can be derived based on the first prediction block of the first partition and the second prediction block of the second partition S420.
[0298] A blending process can be performed in which the first prediction block of the first partition and the second prediction block of the second partition are weighted averages in geometric partitioning format. The final prediction block of a current block can be derived through this blending process between the first and second prediction blocks.
[0299] When performing bidirectional prediction for each partition of a current block, bit precision can be increased or decreased by considering an internal bit depth and an output bit depth.
[0300] As described above, the first prediction block (P0) of the first partition and the second prediction block (P1) of the second partition can be derived, respectively. In this case, the first prediction block (P0) of the first partition and the second prediction block (P1) of the second partition can be derived through bidirectional prediction.
[0301] When an internal bit depth and an output bit depth are different, the bit precision of P0 and P1 may be reduced in response to an output bit depth. Petition 870250093847, dated 10 / 14 / 2025, pp. 90 / 113 81 / 90
[0302] As an example, when an output bit depth is 10 bits and an internal bit depth is greater than or equal to 10 bits, the same bit precision as an internal bit depth can be maintained in the process of deriving the L0 (P00) prediction block and the L1 (P01) prediction block of the first partition, and a downscaling can be performed to derive the first prediction block with the same bit precision as an output bit depth in the process of deriving the first prediction block of the first partition based on the L0 (P00) prediction block and the L1 (P01) prediction block of the first partition.Similarly, the same bit precision as an internal bit depth can be maintained in the process of deriving the L0 (P10) prediction block and the L1 (P11) prediction block from the second partition, and a downscaling can be performed to derive the second prediction block with the same bit precision as an output bit depth in the process of deriving the second prediction block from the second partition based on the L0 (P10) prediction block and the L1 (P11) prediction block from the second partition.
[0303] Alternatively, when an output bit depth is 10 bits and an internal bit depth is greater than or equal to 10 bits, the same bit precision as an internal bit depth can be maintained in the process of deriving the first prediction block (P0) from the first partition and the second prediction block (P1) from the second partition, and a downscaling can be performed to derive a prediction block with the same bit precision as an output bit depth in the process of deriving the prediction block from a current block based on the first prediction block from the first partition and the second prediction block from the second partition. In other words, the performance of the final prediction block generation can be improved by maintaining high bit precision for the first prediction block from the first partition and the second prediction block from the second partition before deriving the final prediction block from a current block. Petition 870250093847, dated 10 / 14 / 2025, pp. 91-113 82 / 90
[0304] The internal bit depth can be 14 bits, 16 bits, 20 bits or more, and the output bit depth can be 10 bits, 12 bits, 16 bits or more.
[0305] FIG. 5 shows a schematic configuration of an inter 332 predictor that performs an inter prediction method according to the present disclosure.
[0306] Referring to FIG. 5, an inter predictor 332 may include a block partitioner 500 and a prediction block derivative 510.
[0307] A 500 block partitioner can partition a current block into a plurality of partitions. In this case, a current block can be partitioned into two or more partitions based on one or more partitioning lines. As an example, a current block can be partitioned into two or more partitions based on geometric partitioning.
[0308] A 510 prediction block derailleur may include at least one of the first prediction block (not shown) that derives a prediction block for each partition of a current block or the second prediction block (not shown) that derives the final prediction block of a current block based on a prediction block for each partition emitted from the first prediction block derailleur.
[0309] The first prediction block derailleur can derive the first prediction block (P0) for the first partition of a current block. In this case, the first prediction block of the first partition can be derived via one-way or two-way prediction. Additionally, the first prediction block derailleur can derive the second prediction block (P1) for the second partition of a current block. In this case, the second prediction block of the second partition can be derived via one-way or two-way prediction.
[0310] The first prediction block derailleur can derive the first and second prediction blocks from a current block based on at least one of Embodiments 1 to 17 described with reference to FIG. 4.
[0311] An equal or different prediction mode can be applied to a plurality of partitions belonging to a current block. A method for deriving Petition 870250093847, dated 10 / 14 / 2025, pp. 92-113 83 / 90 L0 / L1 prediction blocks for each prediction mode of each partition is the same as described in derivation methods 1 to 6 described above.
[0312] A BCW index and / or a lighting compensation signal according to the present disclosure may be signaled by means of a bit stream or may be derived from an encoding apparatus / a decoding apparatus. It is the same as that described with reference to FIG. 4, and an overlapping description will be omitted here.
[0313] At least one of the motion information, a BCW index or a lighting compensation flag applied to each partition of a current block may be stored in response to the partitioning format of a current block, which are the same as those described with reference to FIG. 4.
[0314] FIG. 6 shows an inter-prediction method performed by a coding device 200 as an embodiment in accordance with the present disclosure.
[0315] Referring to FIG. 6, a current block can be partitioned into a plurality of S600 partitions. In this case, a current block can be partitioned into two or more partitions based on one or more partitioning lines. As an example, a current block can be partitioned into two or more partitions based on geometric partitioning.
[0316] Referring to FIG. 6, a prediction block can be derived for each partition of an actual S610 block.
[0317] The first prediction block (P0) can be derived for the first partition of a current block. In this case, the first prediction block of the first partition can be derived through one-way or two-way prediction. Furthermore, the first prediction block deriving block can derive the second prediction block (P1) for the second partition of a current block. In this case, the second prediction block of the second partition can be derived through one-way or two-way prediction. Petition 870250093847, dated 10 / 14 / 2025, pp. 93 / 113 84 / 90
[0318] The first and second prediction blocks of a current block can be derived based on at least one of the Embodiments 1 to 17 described with reference to FIG. 4, and an overlapping description will be omitted here.
[0319] An equal or different prediction mode can be applied to a plurality of partitions belonging to a current block. A method for deriving L0 / L1 prediction blocks for each prediction mode of each partition is the same as that described in derivation methods 1 to 6 described above.
[0320] A BCW index and / or a lighting compensation signal according to the present disclosure may be signaled by means of a bit stream or may be derived from an encoding apparatus / a decoding apparatus. It is the same as that described with reference to FIG. 4, and an overlapping description will be omitted here.
[0321] At least one of the motion information, a BCW index or a lighting compensation flag applied to each partition of a current block may be stored in response to the partitioning format of a current block, which are the same as those described with reference to FIG. 4.
[0322] Referring to FIG. 6, the prediction block of a current block can be derived based on the first prediction block of the first partition and the second prediction block of the second partition S620.
[0323] A blending process can be performed in which the first prediction block of the first partition and the second prediction block of the second partition are weighted averages in geometric partitioning format. The final prediction block of a current block can be derived through this blending process between the first and second prediction blocks.
[0324] When performing bidirectional prediction for each partition of a current block, bit precision can be increased or decreased by considering an internal bit depth and an output bit depth, which is the same as described with reference to FIG. 4. Petition 870250093847, dated 10 / 14 / 2025, pp. 94 / 113 85 / 90
[0325] FIG. 7 shows a schematic configuration of an inter 221 predictor that performs an inter prediction method according to the present disclosure.
[0326] Referring to FIG. 7, an inter 221 predictor may include a block partitioner 700 and a prediction block derivative 710.
[0327] A 700 block partitioner can partition a current block into a plurality of partitions. In this case, a current block can be partitioned into two or more partitions based on one or more partitioning lines. As an example, a current block can be partitioned into two or more partitions based on geometric partitioning.
[0328] A prediction block derailleur 710 may include at least one of the first prediction block (not shown) that derives a prediction block for each partition of a current block or the second prediction block (not shown) that derives the final prediction block of a current block based on a prediction block for each partition emitted from the first prediction block derailleur.
[0329] The first prediction block derailleur can derive the first prediction block (P0) for the first partition of a current block. In this case, the first prediction block of the first partition can be derived via one-way or two-way prediction. Additionally, the first prediction block derailleur can derive the second prediction block (P1) for the second partition of a current block. In this case, the second prediction block of the second partition can be derived via one-way or two-way prediction.
[0330] The first prediction block derailleur can derive the first and second prediction blocks from a current block based on at least one of the Embodiments 1 to 17 described with reference to FIG. 4.
[0331] An equal or different prediction mode can be applied to a plurality of partitions belonging to a current block. A method for deriving L0 / L1 prediction blocks for each prediction mode of each partition is the same as that described in derivation methods 1 to 6 described above. Petition 870250093847, dated 10 / 14 / 2025, pp. 95 / 113 86 / 90
[0332] A BCW index and / or a lighting compensation signal according to the present disclosure may be signaled by means of a bit stream or may be derived from an encoding apparatus / a decoding apparatus. It is the same as that described with reference to FIG. 4, and an overlapping description will be omitted here.
[0333] At least one of the motion information, a BCW index or a lighting compensation flag applied to each partition of a current block may be stored in response to the partitioning format of a current block, which are the same as those described with reference to FIG. 4.
[0334] In the embodiment described above, methods based on a flowchart as a series of steps or blocks are described, but a corresponding embodiment is not limited to the order of the steps, and some steps may occur simultaneously or in a different order from other steps, as described above. Furthermore, those skilled in the art may understand that the steps shown in a flowchart are not exclusive and that other steps may be included or one or more steps in a flowchart may be excluded without affecting the scope of the embodiments of this disclosure.
[0335] The method described above, according to the embodiments of this disclosure, can be implemented in the form of software, and an encoding and / or decoding device, according to this disclosure, can be included in a device that performs image processing, such as a TV, a computer, a smartphone, a set-top box, a display device, etc.
[0336] In the present disclosure, when the embodiments are implemented as software, the method described above can be implemented as a module (a process, a function, etc.) that performs the function described above. A module can be stored in memory and can be executed by a processor. Memory can be internal or external to a processor and can Petition 870250093847, dated 10 / 14 / 2025, pp. 96 / 113 87 / 90 can be connected to a processor by a variety of well-known means. A processor may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and / or a data processing device. Memory may include read-only memory (ROM), random-access memory (RAM), flash memory, a memory card, a storage medium, and / or another storage device. In other words, the embodiments described here can be realized by implementation in a processor, a microprocessor, a controller, or a chip. For example, the functional units shown in each drawing can be realized by implementation in a computer, a processor, a microprocessor, a controller, or a chip. In this case, the implementation information (e.g., instruction information) or an algorithm can be stored in a digital storage medium.
[0337] In addition, a decoding apparatus and an encoding apparatus to which the embodiment(s) of the present disclosure applies may be included in a multimedia broadcast transmission and reception device, a mobile communication terminal, a home theater video device, a digital cinema video device, a surveillance camera, a video chat device, a real-time communication device such as a video communication device, a mobile streaming device, a storage medium, a camcorder, a video-on-demand (VoD) service delivery device, an over-the-top (OTT) video device, an Internet streaming service delivery device, a three-dimensional (3D) video device, a virtual reality (VR) device, an augmented reality (AR) device, a video phone device, a transport terminal (e.g.,a vehicle terminal (including an autonomous vehicle), an aircraft terminal, a ship terminal, etc.) and a medical video device, etc., and can be used to process a video signal or a signal from, Petition 870250093847, dated 10 / 14 / 2025, pp. 97 / 113 88 / 90 data. For example, an over-the-top (OTT) video device might include a game console, a Blu-ray player, an internet-connected TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), etc.
[0338] In addition, a processing method to which the embodiment(s) of the present disclosure is / are applied may be produced in the form of a program executed by a computer and stored on a computer-readable recording medium. Multimedia data having a data structure in accordance with the embodiment(s) of the present disclosure may also be stored on a computer-readable recording medium. Computer-readable recording medium includes all types of storage devices and distributed storage devices that store computer-readable data. Computer-readable recording medium may include, for example, a Blu-ray disc (BD), a Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, a magnetic tape, a floppy disk, and an optical media storage device.Furthermore, computer-readable recording media include media implemented in the form of a carrier wave (e.g., transmission via the Internet). Additionally, a bitstream generated by an encoding method can be stored on computer-readable recording media or transmitted via a wired or wireless communication network.
[0339] In addition, the embodiment(s) of this disclosure may be implemented by a computer program product by means of program code, and the program code may be executed on a computer by the embodiment(s) of this disclosure. The program code may be stored on a computer-readable medium.
[0340] FIG. 8 shows an example of a content streaming system to which the embodiments of this disclosure can be applied.
[0341] Referring to FIG. 8, a content streaming system to which Petition 870250093847, dated 10 / 14 / 2025, pp. 98 / 113 89 / 90 the implementation(s) of this disclosure is / are applied may largely include an encoding server, a streaming server, a web server, a media storage device, a user device, and a multimedia input device.
[0342] The encoding server generates a bitstream by compressing content provided by multimedia input devices, such as a smartphone, camera, camcorder, etc., into digital data and transmitting it to the streaming server. As another example, when multimedia input devices, such as a smartphone, camera, camcorder, etc., directly generate a bitstream, the encoding server can be omitted.
[0343] The bitstream may be generated by an encoding method or a bitstream generation method to which embodiment(s) of the present disclosure is / are applied, and the streaming server may temporarily store the bitstream in a bitstream transmission or reception process.
[0344] The streaming server transmits multimedia data to a user's device based on a user request via a web server, and the web server serves as a means to inform the user about which services are available. When a user requests the desired service from the web server, the web server delivers it to a streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system may include a separate control server, and in that case, the control server manages a command / response between each device in the content streaming system.
[0345] The streaming server can receive content from a media storage and / or an encoding server. For example, when content is received from the encoding server, the content can be received in real time. In this case, in order to provide a streaming service without Petition 870250093847, dated 10 / 14 / 2025, pp. 99 / 113 With 90 / 90 interruptions, the streaming server can store the bitstream for a certain period of time.
[0346] An example of a user device may include a mobile phone, a smartphone, a laptop, a digital transmission terminal, a personal digital assistant (PDAs), a portable multimedia player (PMP), a navigation system, a slate PC, a tablet PC, an ultrabook, a wearable device (e.g., a smartwatch, smartglass, a head-mounted display (HMD)), a digital TV, a desktop, digital signage, etc.
[0347] Each server in the content streaming system can be operated as a distributed server, and in that case, the data received from each server can be distributed and processed.
[0348] The claims presented here can be combined in various ways. For example, a technical feature of a method claim of the present disclosure can be combined and implemented as a device, and a technical feature of a device claim of the present disclosure can be combined and implemented as a method. Furthermore, a technical feature of a method claim of the present disclosure and a technical feature of a device claim can be combined and implemented as a device, and a technical feature of a method claim of the present disclosure and a technical feature of a device claim can be combined and implemented as a method. Petition 870250093847, dated 10 / 14 / 2025, pp. 100 / 113
Claims
1 / 4 CLAIMS 1. Image decoding method CHARACTERIZED by comprising: partitioning a current block into a plurality of partitions, wherein the plurality of partitions includes a first partition and a second partition; deriving a first prediction block from the first partition; deriving a second prediction block from the second partition; and deriving a prediction block from the current block based on the first prediction block and the second prediction block, wherein at least one of the first prediction block or the second prediction block is derived by means of bidirectional prediction.
2. Method, according to claim 1, CHARACTERIZED in that, when the first partition performs bidirectional prediction, a prediction block L0 and a prediction block L1 are derived for the first partition and the first prediction block is derived based on a weighted sum of the prediction block L0 and the prediction block L1.
3. A method according to claim 2, characterized in that a weight for the weighted sum is determined based on any one of a plurality of weight candidates belonging to a predefined set of weights.
4. Method, according to claim 1, CHARACTERIZED in that the derivation of the first prediction block comprises: determining a predetermined search interval based on a movement vector of the first partition; calculating a cost for each search position within the search interval; and deriving a prediction block L0 and a prediction block L1 from the first partition based on a search position that has a minimum cost among the calculated costs.
5. Method, according to claim 4, CHARACTERIZED by the cost Petition 870250093847, dated 10 / 14 / 2025, page 101 / 113 2 / 4 being calculated as a sum of the absolute difference (SAD) between a weighted L0 block in the search position and a weighted L1 block corresponding to the weighted L0 block.
6. Method, according to claim 1, CHARACTERIZED by the derivation of the first prediction block comprising: applying a first lighting compensation parameter to a prediction block L0 of the first partition to generate a lighting compensation prediction block L0, wherein the first lighting compensation parameter is derived based on a neighboring area of the current block and a neighboring area of the prediction block L0; applying a second lighting compensation parameter to a prediction block L1 of the first partition to generate a lighting compensation prediction block L1, wherein the second lighting compensation parameter is derived based on the neighboring area of the current block and a neighboring area of the prediction block L1; and deriving the first prediction block based on a weighted sum of the lighting compensation prediction block L0 and the lighting compensation prediction block L1.
7. Method, according to claim 6, CHARACTERIZED by a weight for the weighted sum being determined based on any one of a plurality of weight candidates belonging to a predefined set of weights.
8. Method, according to claim 1, CHARACTERIZED by a sample value from the first prediction block being derived based on at least one of a sample value belonging to a prediction block L0 of the first partition, a sample value belonging to a prediction block L1 of the first partition, or a predetermined offset, and wherein the offset is derived based on at least one of the horizontal and vertical gradients at a sample position belonging to the prediction block L0 or horizontal and vertical gradients at a sample position belonging to the prediction block L1.
9. Method according to claim 1, CHARACTERIZED in that each of the first partition and the second partition is a block encoded in either a merge mode, an intrablock copy (IBC) mode, or a model matching-based prediction (TMP) mode.
10. Method according to claim 1, characterized in that a BCW index is obtained for each of the first partition and the second partition, and wherein the BCW index specifies any one of a plurality of weight candidates belonging to a predefined set of weights.
11. Method according to claim 10, CHARACTERIZED in that the current block is divided into a first area, a second area and a mixing area, and in which either the BCW index of the first partition or the BCW index of the second partition is selectively stored in the mixing area.
12. Method, according to claim 1, CHARACTERIZED in that the first prediction block and the second prediction block have bit precision equal to an internal bit depth and the prediction block of the current block has bit precision equal to the output bit depth.
13. Image coding method CHARACTERIZED by comprising: partitioning a current block into a plurality of partitions, wherein the plurality of partitions includes a first partition and a second partition; deriving a first prediction block from the first partition; deriving a second prediction block from the second partition; and deriving a prediction block from the current block based on the first prediction block and the second prediction block, Petition 870250093847, 10 / 14 / 2025, pp. 103 / 113 4 / 4 wherein at least one of the first prediction block or the second prediction block is derived by means of bidirectional prediction.
14. Computer-readable storage medium CHARACTERIZED by storing a bitstream generated by an image encoding method, the image encoding method comprising: partitioning a current block into a plurality of partitions, wherein the plurality of partitions includes a first partition and a second partition; deriving a first prediction block from the first partition; deriving a second prediction block from the second partition; and deriving a prediction block from the current block based on the first prediction block and the second prediction block, wherein at least one of the first prediction block or the second prediction block is derived by means of bidirectional prediction.
15. Method for data transmission CHARACTERIZED by comprising: obtaining a bitstream for image information, wherein the bitstream is generated based on partitioning a current block into a plurality of partitions, including a first partition and a second partition; deriving a first prediction block from the first partition; deriving a second prediction block from the second partition; and deriving a prediction block from the current block based on the first prediction block and the second prediction block; and transmitting the data, including the bitstream, wherein at least one of the first prediction block or the second prediction block is derived by means of bidirectional prediction. Petition 870250093847, dated 10 / 14 / 2025, pp. 104 / 113