Image encoding / decoding method and apparatus, and recording medium on which bit stream is stored

By adopting dual prediction technology and weighted summing method in image decoding methods and equipment, the problem of low inter-frame prediction efficiency of high-resolution images in the prior art is solved, and higher prediction accuracy and compression efficiency are achieved.

CN119895855APending Publication Date: 2025-04-25LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380068862.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-29
Filing Date
2023-10-04
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The prior art has problems of inefficiency in inter-frame prediction of high resolution and high quality images, especially in the multi-reference block mode, which is difficult to effectively configure the motion information candidate list, resulting in large signaling overhead and low compression efficiency.

Method used

By employing a dual prediction technique in the image decoding method and device, the basic prediction block and additional reference block of the current block are generated, and the final prediction block is generated by weighted summing. At the same time, multiple additional reference blocks are derived and weighted to sum them sequentially into the basic prediction block to improve prediction accuracy and compression efficiency.

Benefits of technology

Improved inter prediction accuracy, reduced signaling overhead, and improved image compression efficiency, especially in multi-reference block mode.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895855A_ABST
    Figure CN119895855A_ABST
Patent Text Reader

Abstract

An image encoding / decoding method and apparatus according to the present disclosure may: generate a basic prediction block of a current block by performing dual prediction based on a first inter prediction mode; deriving an additional reference block of the current block based on the second inter prediction mode; and generating a final prediction block of the current block by weighted summation of the basic prediction block and the additional reference block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image encoding / decoding method and apparatus and a recording medium storing a bit stream. Background Art

[0002] Recently, demands for high-resolution and high-quality images such as HD (High Definition) images and UHD (Ultra High Definition) images have been increasing in various application fields, and therefore, efficient image compression technology is being discussed.

[0003] There are various technologies, such as inter-frame prediction technology that uses video compression technology to predict pixel values ​​included in the current picture from pictures before or after the current picture, intra-frame prediction technology that predicts pixel values ​​included in the current picture by using pixel information in the current picture, entropy coding technology that assigns short symbols to values ​​with high occurrence frequency and assigns long symbols to values ​​with low occurrence frequency, etc., and these image compression technologies can be used to effectively compress image data and transmit or store it. Summary of the invention

[0004] Technical issues

[0005] The present disclosure provides a method and apparatus for performing inter-frame prediction based on a multiple reference block mode.

[0006] The present disclosure provides a method and apparatus for deriving additional reference blocks for a multiple reference block mode.

[0007] The present disclosure provides a method and apparatus for configuring a motion information candidate list for a multiple reference block mode.

[0008] Technical Solution

[0009] According to the image decoding method and device of the present disclosure, a basic prediction block of a current block can be generated by performing dual prediction based on a first inter-frame prediction mode, an additional reference block of the current block can be derived based on a second inter-frame prediction mode, and a final prediction block of the current block can be generated by weighted summing the basic prediction block and the additional reference block.

[0010] The image decoding method and apparatus according to the present disclosure may derive a first reference block and a second reference block of a current block by performing bi-prediction, and generate a basic prediction block by weighted summing the first reference block and the second reference block.

[0011] In the image decoding method and apparatus according to the present disclosure, the additional reference block may be derived as at least one reference block of the first reference block or the second reference block.

[0012] The image decoding method and apparatus according to the present disclosure may derive the first additional reference block and the second additional reference block based on the second inter prediction mode.

[0013] In the image decoding method and apparatus according to the present disclosure, the second additional reference block may be derived as a reference block of the first additional reference block.

[0014] In the image decoding method and apparatus according to the present disclosure, the first inter prediction mode may include at least one of a merge mode, an AMVP mode, or an AMVP-merge combined mode.

[0015] In the image decoding method and apparatus according to the present disclosure, the second inter prediction mode may include a multiple reference block mode.

[0016] In the image decoding method and apparatus according to the present disclosure, when a plurality of additional reference blocks are derived, a final prediction block may be generated by sequentially weighting and summing the plurality of additional reference blocks to a basic prediction block.

[0017] The image decoding method and apparatus according to the present disclosure can obtain information about the second inter prediction mode from the bit stream.

[0018] In the image decoding method and device according to the present disclosure, the information about the second inter-frame prediction mode includes at least one of weight information or prediction information, the weight information represents information indicating the weight of the weighted sum used for the additional reference block, and the prediction information may represent information used to derive the additional reference block.

[0019] According to the image encoding method and device of the present disclosure, a basic prediction block of a current block can be generated by performing dual prediction based on a first inter-frame prediction mode, an additional reference block of the current block can be derived based on a second inter-frame prediction mode, and a final prediction block of the current block can be generated by weighted summing the basic prediction block and the additional reference block.

[0020] A computer-readable digital storage medium is provided, which stores encoded video / image information, resulting in execution of an image decoding method due to a decoding device according to the present disclosure.

[0021] A computer-readable digital storage medium storing video / image information generated according to an image encoding method according to the present disclosure is provided.

[0022] A method and apparatus for transmitting video / image information generated according to an image encoding method according to the present disclosure are provided.

[0023] Technical Effects

[0024] The present disclosure may improve the accuracy of prediction by performing inter-frame prediction based on multiple hypothesis prediction modes.

[0025] The present disclosure may reduce signaling overhead and improve compression efficiency by deriving additional reference blocks for multiple hypothesis prediction modes as blocks referenced by reference blocks.

[0026] The present disclosure may improve compression efficiency by effectively configuring a motion information candidate list for a multi-hypothesis prediction mode. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 A video / image compilation system according to the present disclosure is shown.

[0028] Figure 2 A rough block diagram of an encoding device to which an embodiment of the present disclosure can be applied and which performs encoding of a video / image signal is shown.

[0029] Figure 3 A rough block diagram of a decoding device to which an embodiment of the present disclosure can be applied and which performs decoding of a video / image signal is shown.

[0030] Figure 4 An example of a video / image encoding method based on inter-frame prediction to which an embodiment of the present disclosure can be applied is shown.

[0031] Figure 5 An example of a video / image decoding method based on inter-frame prediction to which an embodiment of the present disclosure can be applied is shown.

[0032] Figure 6 An inter-frame prediction process to which the embodiments of the present disclosure can be applied is illustratively shown.

[0033] Figure 7 An inter-frame prediction method performed by the decoding device 300 according to an embodiment of the present disclosure is shown.

[0034] Figure 8 is a diagram illustrating reference blocks used for a multiple reference block mode according to an embodiment of the present disclosure.

[0035] Fig. 9 is a diagram illustrating a method of deriving an additional reference block used for a multiple reference block mode according to an embodiment of the present disclosure.

[0036] Figures 10 to 12 is a diagram illustrating a method for deriving an additional reference block used for a multiple reference block mode according to an embodiment of the present disclosure.

[0037] Fig.13 is a diagram illustrating a method for applying a multiple reference block to a symmetric motion vector difference according to an embodiment of the present disclosure.

[0038] Fig.14 is a diagram illustrating a method for applying a multiple reference block to a symmetric motion vector difference according to an embodiment of the present disclosure.

[0039] Fig.15 is a diagram illustrating a method for configuring a candidate list for a multi-reference block according to an embodiment of the present disclosure.

[0040] Figures 16 to 18 is a diagram illustrating an inter-frame prediction method based on a multiple reference block mode according to an embodiment of the present disclosure.

[0041] Fig.19 A rough configuration of the inter-frame predictor 332 that performs the inter-frame prediction method according to the present disclosure is shown.

[0042] Fig. 20 An inter-frame prediction method performed by the encoding apparatus 200 as an embodiment according to the present disclosure is shown.

[0043] Fig.21 A rough configuration of the inter-frame predictor 221 performing the inter-frame prediction method according to the present disclosure is shown.

[0044] Fig. 22 An example of a content streaming system to which an embodiment of the present disclosure can be applied is shown. DETAILED DESCRIPTION

[0045] Because the present disclosure can make various changes and has several embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, it is not intended to limit the present disclosure to specific embodiments, and it should be understood to include all changes, equivalents and substitutes included in the spirit and technical scope of the present disclosure. While describing each of the accompanying drawings, similar reference numerals are used for similar components.

[0046] Terms such as first, second, etc. can be used to describe various components, but components should not be limited by these terms. These terms are only used to distinguish one component from other components. For example, without departing from the scope of the present disclosure, a first component can be referred to as a second component, and similarly, a second component can also be referred to as a first component. Terms and / or combinations of any one or more related statement items in a plurality of related statement items are included.

[0047] When a component is referred to as being "connected" or "linked" to another component, it should be understood that it can be directly connected or linked to another component, but another component may also exist in between. On the other hand, when a component is referred to as being "directly connected" or "directly linked" to another component, it should be understood that another component does not exist in between.

[0048] The terms used in this application are only used to describe specific embodiments and are not intended to limit the present disclosure. Unless the context clearly indicates otherwise, singular expressions include plural expressions. In this application, it should be understood that terms such as "including" or "having" are intended to designate the existence of features, numbers, steps, operations, components, parts or combinations thereof described in the specification, but do not exclude the possibility of the existence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof in advance.

[0049] The present disclosure relates to video / image coding. For example, the methods / embodiments disclosed herein may be applied to methods disclosed in the Universal Video Coding (VVC) standard. In addition, the methods / embodiments disclosed herein may be applied to methods disclosed in the Basic Video Coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the second generation audio video coding standard (AVS2), or the next generation video / image coding standard (e.g., H.267 or H.268, etc.).

[0050] This specification proposes various embodiments of video / image coding, and unless otherwise stated, these embodiments may be performed in combination with each other.

[0051] Here, video may refer to a collection of a series of images over time. A picture generally refers to a unit representing an image within a specific time period, and a slice / tile is a unit that forms a part of a picture in coding. A slice / tile may include at least one coding tree unit (CTU). A picture may consist of at least one slice / tile. A tile is a rectangular area consisting of multiple CTUs within a specific tile column and a specific tile row of a picture. A tile column is a rectangular area of ​​a CTU having the same height as the picture and a width assigned by the syntax requirements of the picture parameter set. A tile row is a rectangular area of ​​a CTU having a height assigned by the picture parameter set and the same width as the width of the picture. The CTU within a tile may be arranged continuously according to a CTU raster scan, and the tiles within a picture may be arranged continuously according to a raster scan of the tile. A slice may include an integer number of complete tiles or an integer number of continuous complete CTU rows within a tile of a picture that may be exclusively included in a single NAL unit. At the same time, a picture may be divided into at least two sub-pictures. A sub-picture may be a rectangular area of ​​at least one slice within a picture.

[0052] Pixel, pixel or picture element may refer to the smallest unit constituting a picture (or image). In addition, "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luminance component, or only a pixel / pixel value of a chrominance component.

[0053] A unit may represent a basic unit of image processing. A unit may include at least one of a specific region of a picture and information associated with the corresponding region. A unit may include a luminance block and two chrominance (e.g., cb, cr) blocks. In some cases, a unit may be used interchangeably with terms such as a block or region. In general, an MxN block may include a set (or array) of transform coefficients or samples (or sample arrays) consisting of M columns and N rows.

[0054] Here, "A or B" may refer to "only A", "only B", or "both A and B". In other words, herein, "A or B" may be interpreted as "A and / or B". For example, herein, "A, B or C" may refer to "only A", "only B", "only C", or "any combination of A, B, and C".

[0055] As used herein, a slash ( / ) or a comma may mean "and / or". For example, "A / B" may mean "A and / or B". Thus, "A / B" may mean "only A", "only B", or "both A and B". For example, "A, B, C" may mean "A, B, or C".

[0056] Here, "at least one of A and B" may refer to "only A", "only B", or "both A and B". In addition, herein, expressions such as "at least one of A or B" or "at least one of A and / or B" can be interpreted in the same manner as "at least one of A and B".

[0057] In addition, herein, “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”. In addition, “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”.

[0058] In addition, the brackets used herein may refer to "for example". Specifically, when the indication is "prediction (intra-frame prediction)", "intra-frame prediction" may be proposed as an example of "prediction". In other words, the "prediction" here is not limited to "intra-frame prediction", and "intra-frame prediction" may be proposed as an example of "prediction". In addition, even when the indication is "prediction (ie, intra-frame prediction)", "intra-frame prediction" may be proposed as an example of "prediction".

[0059] Here, technical features described individually in one drawing may be implemented individually or simultaneously.

[0060] Figure 1 A video / image compilation system according to the present disclosure is shown.

[0061] refer to Figure 1, a video / image coding system may include a first device (source device) and a second device (receiving device).

[0062] The source device may send the encoded video / image information or data to the receiving device in the form of a file or stream transmission through a digital storage medium or a network. The source device may include a video source, an encoding device, and a sending 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. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, and the display unit may be composed of a separate device or an external component.

[0063] The video source may obtain the video / image through the process of capturing, synthesizing or generating the video / image. The video source may include a device for capturing the video / image and a device for generating the video / image. The device for capturing the video / image may include at least one camera, a video / image archive including previously captured videos / images, etc. The device for generating the video / image may include a computer, a tablet computer, a smart phone, etc., and may (electronically) generate the video / image. For example, a virtual video / image may be generated by a computer, etc., and in this case, the process of capturing the video / image may be replaced by the process of generating the relevant data.

[0064] The encoding device can encode the input video / image. The encoding device can perform a series of processes such as prediction, transformation, quantization, etc. for compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.

[0065] The sending unit may send the encoded video / image information or data output in the form of a bit stream to the receiving unit of the receiving device in the form of a file or stream transmission through a digital storage medium or a network. The digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The sending unit may include an element for generating a media file in a predetermined file format and may include an element for transmission through a broadcast / communication network. The receiving unit may receive / extract a bit stream and send it to a decoding device.

[0066] The decoding device may decode the video / image by performing a series of processes corresponding to the operations of the encoding device, such as dequantization, inverse transformation, prediction, etc.

[0067] The renderer may render the decoded video / image. The rendered video / image may be displayed through a display unit.

[0068] Figure 2A rough block diagram of an encoding device to which an embodiment of the present disclosure can be applied and which performs encoding of a video / image signal is shown.

[0069] refer to Figure 2 , the encoding device 200 may be composed of an image segmenter 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter-frame predictor 221 and an intra-frame predictor 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 may further include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstructed block generator. According to an embodiment, the above-mentioned image segmenter 210, the predictor 220, the residual processor 230, the entropy encoder 240, the adder 250, and the filter 260 may be configured by at least one hardware component (e.g., an encoder chipset or processor). In addition, the memory 270 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include a memory 270 as an internal / external component.

[0070] The image divider 210 may divide the input image (or picture, frame) input to the encoding device 200 into at least one processing unit. As an example, the processing unit may be referred to as a coding unit (CU). In this case, the coding unit may be recursively divided from a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree binary tree ternary tree (QTBTTT) structure.

[0071] For example, one coding unit may be segmented into a plurality of coding units having a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary structure. In this case, for example, the quadtree structure may be applied first, and the binary tree structure and / or the ternary structure may be applied later. Alternatively, the binary tree structure may be applied before the quadtree structure. The coding process according to this specification may be performed based on a final coding unit that is no longer segmented. In this case, based on coding efficiency according to image characteristics, etc., the maximum coding unit may be directly used as the final coding unit, or if necessary, the coding unit may be recursively segmented into coding units of a deeper depth, and the coding unit with the best size may be used as the final coding unit. Here, the coding process may include processes such as prediction, transformation, and reconstruction described later.

[0072] As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided or partitioned from the above-mentioned final coding unit, respectively. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.

[0073] In some cases, a unit may be used interchangeably with terms such as a block or region. In general, an MxN block may represent a set of transform coefficients or samples consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luma component, or only a pixel / pixel value of a chroma component. A sample may be used as a term to make a picture (or image) correspond to a pixel or a picture element.

[0074] The encoding device 200 may subtract the prediction signal (prediction block, prediction sample array) output from the inter predictor 221 or the intra predictor 222 from the input image signal (original block, original sample array) to generate a residual signal (residual signal, residual sample array), and the generated residual signal is transmitted to the transformer 232. In this case, a unit that subtracts the prediction signal (prediction block, prediction sample array) from the input image signal (original block, original sample array) within the encoding device 200 may be referred to as a subtractor 231.

[0075] The predictor 220 may perform prediction on a block to be processed (hereinafter referred to as a current block) and generate a predicted block including a prediction sample for the current block. The predictor 220 may determine whether intra prediction or inter prediction is applied in units of a current block or CU. The predictor 220 may generate various information about the prediction, such as prediction mode information, and send it to the entropy encoder 240, as described later in the description of each prediction mode. The information about the prediction may be encoded in the entropy encoder 240 and output in the form of a bitstream.

[0076] The intra-frame predictor 222 can predict the current block by referring to the samples in the current picture. Depending on the prediction mode, the referenced sample can be located near the current block or can be located at a certain distance away from the current block. In intra-frame prediction, the prediction mode may include at least one non-directional mode and multiple directional modes. The non-directional mode may include at least one of the DC mode or the plane mode. Depending on the detail level of the prediction direction, the directional mode may include 33 directional modes or 65 directional modes. However, this is only an example, and more or less directional modes may be used depending on the configuration. The intra-frame predictor 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.

[0077] The inter-frame predictor 221 may derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information sent in the inter-frame prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter-frame prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). For inter-frame prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to as a collocated reference block, a collocated CU (colCU), etc., and the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). For example, the inter-frame predictor 221 may configure a motion information candidate list based on the neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, and for example, for skip mode and merge mode, the inter predictor 221 may use motion information of neighboring blocks as motion information of the current block. For skip mode, unlike merge mode, a residual signal may not be transmitted. For motion vector prediction (MVP) mode, motion vectors of surrounding blocks are used as motion vector predictors, and a motion difference is signaled to indicate the motion vector of the current block.

[0078] The predictor 220 may generate a prediction signal based on various prediction methods described later. For example, the predictor may not only apply intra prediction or inter prediction to predict a block, but may also apply intra prediction and inter prediction at the same time. It may be referred to as a combined inter and intra prediction (CIIP) mode. In addition, the predictor may be based on an intra block copy (IBC) prediction mode or may be based on a palette mode for prediction of a block. The IBC prediction mode or the palette mode may be used for content image / video coding of games, such as screen content coding (SCC), etc. IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction because it derives a reference block within the current picture. In other words, IBC may use at least one of the inter prediction techniques described herein. The palette mode may be considered an example of intra coding or intra prediction. When the palette mode is applied, the sample values ​​within the picture may be signaled based on information about the palette table and the palette index. The prediction signal generated by the predictor 220 may be used to generate a reconstructed signal or a residual signal.

[0079] The transformer 232 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loève transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, GBT refers to a transform obtained from a graph when relationship information between pixels is expressed as a graph. CNT refers to a transform obtained based on generating a prediction signal using all previously reconstructed pixels. In addition, the transform process may be applied to square pixel blocks of the same size or may be applied to non-square blocks of variable size.

[0080] The quantizer 233 may quantize the transform coefficients and send them to the entropy encoder 240, and the entropy encoder 240 may encode the quantized signal (information about the quantized transform coefficients) and output it as a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 233 may rearrange the quantized transform coefficients in the block form into a one-dimensional vector form based on the coefficient scanning order, and may generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.

[0081] The entropy encoder 240 may perform various encoding methods such as Exponential Golomb, Context Adaptive Variable Length Coding (CAVLC), Context Adaptive Binary Arithmetic Coding (CABAC), etc. The entropy encoder 240 may encode information necessary for video / video image reconstruction (e.g., values ​​of syntax elements, etc.) in addition to transform coefficients quantized together or individually.

[0082] The encoded information (e.g., encoded video / image information) can be transmitted or stored in units of network abstraction layer (NAL) units in the form of a bitstream. The video / image information may further include information about various parameter sets such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. Here, information and / or syntax elements transmitted / signaled from the encoding device to the decoding device may be included in the video / image information. The video / image information may be encoded and included in the bitstream through the above-mentioned encoding process. The bitstream may be transmitted through a network or may be stored in a digital storage medium. Here, the network may include a broadcast network and / or a communication network, etc., and the 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 transmission and / or a storage unit (not shown) for storing a signal output from the entropy encoder 240 may be configured as an internal / external element of the encoding device 200, or the transmission unit may also be included in the entropy encoder 240.

[0083] The quantized transform coefficients output from the quantizer 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual sample) can be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients through the dequantizer 234 and the inverse transformer 235. The adder 250 can add the reconstructed residual signal to the prediction signal output from the inter-frame predictor 221 or the intra-frame predictor 222 to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). When there is no residual of the block to be processed, such as when the skip mode is applied, the prediction block can be used as a reconstructed block. The adder 250 can be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can also be used for inter-frame prediction of the next picture through filtering described later. At the same time, luminance mapping with chroma scaling (LMCS) can be applied in the picture encoding and / or reconstruction process.

[0084] The filter 260 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 260 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and the modified reconstructed picture can be stored in the memory 270, specifically in the DPB of the memory 270. Various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filter 260 can generate various information about filtering and send it to the entropy encoder 240. The information about filtering can be encoded in the entropy encoder 240 and output in the form of a bit stream.

[0085] The modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter predictor 221. When inter prediction is applied therethrough, the encoding apparatus can avoid prediction mismatch in the encoding apparatus 200 and the decoding apparatus, and can also improve encoding efficiency.

[0086] The DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter-frame predictor 221. The memory 270 may store the motion information of the block from which the motion information in the current picture is derived (or encoded) and / or the motion information of the block in the pre-reconstructed picture. The stored motion information may be sent to the inter-frame predictor 221 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 270 may store the reconstructed samples of the reconstructed block in the current picture and send them to the intra-frame predictor 222.

[0087] Figure 3 A rough block diagram of a decoding device to which an embodiment of the present disclosure can be applied and which performs decoding of a video / image signal is shown.

[0088] refer to Figure 3 , the decoding device 300 may be configured by including an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-frame predictor 331 and an intra-frame predictor 332. The residual processor 320 may include a dequantizer 321 and an inverse transformer 321.

[0089] According to an embodiment, the above-mentioned entropy decoder 310, residual processor 320, predictor 330, adder 340 and filter 350 may be configured by one hardware component (e.g., decoder chipset or processor). In addition, the memory 360 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory 360 as an internal / external component.

[0090] When a bit stream including video / image information is input, the decoding device 300 may respond to the Figure 2 The image is reconstructed by a process of processing video / image information in an encoding device. For example, the decoding device 300 can derive a unit / block based on relevant information of block segmentation obtained from a bitstream. The decoding device 300 can perform decoding by using a processing unit applied in the encoding device. Therefore, the processing unit of decoding can be a coding unit, and the coding unit can be divided from a coding tree unit or a maximum coding unit according to a quadtree structure, a binary tree structure and / or a ternary tree structure. At least one transform unit can be derived from the coding unit. And, the reconstructed image signal decoded and output by the decoding device 300 can be played by a playback device.

[0091] The decoding device 300 may receive the bit stream from Figure 2 The received signal can be decoded by the entropy decoder 310. For example, the entropy decoder 310 can parse the bitstream to derive information (e.g., video / image information) necessary for image reconstruction (or picture reconstruction). The video / image information may further include information about various parameter sets such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. The decoding device may further decode the picture based on the information about the parameter set and / or the general constraint information. The signaled / received information and / or the syntax elements described later in this document may be decoded and obtained from the bitstream by a decoding process. For example, the entropy decoder 310 may decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, CABAC, etc., and output the values ​​of the syntax elements necessary for image reconstruction and the quantized values ​​of the transform coefficients of the residual. In more detail, the CABAC entropy decoding method may receive a bin corresponding to each syntax element from a bitstream, determine a context model by using information of the syntax element to be decoded, decoding information of surrounding blocks and blocks to be decoded, or information of a symbol / bin decoded in a previous step, perform arithmetic decoding on the bin by predicting the probability of occurrence of the bin according to the determined context model, and generate a symbol corresponding to the value of each syntax element. In this case, after determining the context model, the CABAC entropy decoding method may update the context model by using information about the decoded symbol / bin of the context model for the next symbol / bin. Among the information decoded in the entropy decoder 310, information about the prediction is provided to the predictor (inter-frame predictor 332 and intra-frame predictor 331), and the residual value on which entropy decoding is performed in the entropy decoder 310, that is, the quantized transform coefficient and related parameter information may be input to the residual processor 320. The residual processor 320 may derive a residual signal (residual block, residual sample, residual sample array). In addition, information about filtering among the information decoded in the entropy decoder 310 may be provided to the filter 350. Meanwhile, a receiving unit (not shown) receiving a signal output from the encoding device may be further configured as an internal / external element of the decoding device 300 or the receiving unit may be a component of the entropy decoder 310.

[0092] Meanwhile, the decoding device according to this specification may be referred to as a video / image / picture decoding device, and the decoding device may be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoder 310, and the sample decoder may include at least one of a dequantizer 321, an inverse transformer 322, an adder 340, a filter 350, a memory 360, an inter-frame predictor 332, and an intra-frame predictor 331.

[0093] The dequantizer 321 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 321 may rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the encoding device. The dequantizer 321 may dequantize the quantized transform coefficients by using a quantization parameter (e.g., quantization step size information) and obtain the transform coefficients.

[0094] The inverse transformer 322 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).

[0095] The predictor 320 may perform prediction on the current block and generate a prediction block including prediction samples for the current block. The predictor 320 may determine whether to apply intra prediction or inter prediction to the current block based on the information on prediction output from the entropy decoder 310, and determine a specific intra / inter prediction mode.

[0096] The predictor 320 can generate a prediction signal based on various prediction methods described later. For example, the predictor 320 can not only apply intra prediction or inter prediction to predict a block, but also apply intra prediction and inter prediction at the same time. It can be called a combined inter and intra prediction (CIIP) mode. In addition, the predictor can be based on an intra block copy (IBC) prediction mode or can be based on a palette mode for prediction of a block. The IBC prediction mode or the palette mode can be used for content image / video coding of games, such as screen content coding (SCC), etc. IBC basically performs prediction within the current picture, but it can be performed similarly to inter prediction because it derives a reference block within the current picture. In other words, IBC can use at least one of the inter prediction techniques described herein. The palette mode can be considered as an example of intra coding or intra prediction. When the palette mode is applied, information about the palette table and the palette index can be included in the video / image information and sent with a signal.

[0097] The intra-frame predictor 331 can predict the current block by referring to samples within the current picture. Depending on the prediction mode, the referenced sample can be located near the current block or can be located at a certain distance away from the current block. In intra-frame prediction, the prediction mode may include at least one non-directional mode and multiple directional modes. The intra-frame predictor 331 can determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.

[0098] The inter-frame predictor 332 may derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information sent in the inter-frame prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter-frame prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). For inter-frame prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. For example, the inter-frame predictor 332 may configure a motion information candidate list based on the neighboring blocks, and derive a motion vector and / or a reference picture index for the current block based on the received candidate selection information. Inter-frame prediction may be performed based on various prediction modes, and information about the prediction may include information indicating an inter-frame prediction mode for the current block.

[0099] The adder 340 may add the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the predictor (including the inter-frame predictor 332 and / or the intra-frame predictor 331) to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). When there is no residual of the block to be processed, such as when the skip mode is applied, the prediction block may be used as the reconstructed block.

[0100] The adder 340 may be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, may be output through filtering described later, or may be used for inter prediction of the next picture. At the same time, luminance mapping with chroma scaling (LMCS) may be applied during picture decoding.

[0101] The filter 350 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 350 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and send the modified reconstructed picture to the memory 360, specifically the DPB of the memory 360. The various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.

[0102] The (modified) reconstructed picture stored in the DPB of the memory 360 can be used as a reference picture in the inter-frame prediction unit 332. The memory 360 can be derived from the motion information in its current picture (or decoded) The motion information of the block and / or the motion information of the block in the pre-reconstructed picture. The stored motion information can be sent to the inter-frame predictor 260 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 360 can store the reconstructed samples of the reconstructed block in the current picture and send them to the intra-frame predictor 331.

[0103] Here, the embodiments described in the filter 260, the inter-frame predictor 221, and the intra-frame predictor 222 of the encoding device 200 may also be equally or correspondingly applied to the filter 350, the inter-frame predictor 332, and the intra-frame predictor 331 of the decoding device 300, respectively.

[0104] Meanwhile, when inter prediction is applied, the predictor of the encoding device / decoding device can perform inter prediction in units of blocks to derive prediction samples. Inter prediction may refer to prediction derived in a manner that depends on data elements (e.g., sample values ​​or motion information) of pictures other than the current picture. When inter prediction is applied to the current block, a prediction block (prediction sample array) for the current block may be derived based on a reference block (reference sample array) specified by a motion vector on a reference picture indicated by a reference picture index.

[0105] In this case, in order to reduce the amount of motion information sent in the inter-frame prediction mode, the motion information of the current block can be predicted in units of blocks, sub-blocks or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and / or a reference picture index. The motion information may further include information about the inter-frame prediction type (L0 prediction, L1 prediction, Bi prediction, etc.). When inter-frame prediction is applied, the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks existing in the reference picture.

[0106] The reference picture including the reference block may be the same as or different from the reference picture including the temporally neighboring block. The temporally neighboring block may be referred to as a co-located reference block, a co-located CU (colCU), etc., and the reference picture including the temporally neighboring block may be referred to as a co-located picture (colPic). For example, a motion information candidate list may be configured based on the neighboring blocks of the current block, and a flag or index information indicating which candidate is selected (used) to derive the motion vector and / or reference picture index of the current block may be signaled.

[0107] Inter-frame prediction may be performed based on various prediction modes, and for example, for skip mode and merge mode, the motion information of the current block may be the same as the motion information of the selected neighboring block. For skip mode, unlike merge mode, a residual signal may not be sent. For motion vector prediction (MVP) mode, the motion vector of the selected neighboring block may be used as a motion vector predictor, and the motion vector difference may be signaled. In this case, the motion vector of the current block may be derived by using the sum of the motion vector predictor and the motion vector difference.

[0108] Depending on the inter-frame prediction type (L0 prediction, L1 prediction, Bi prediction, etc.), the motion information may include L0 motion information and / or L1 motion information. The motion vector in the L0 direction may be referred to as an L0 motion vector or MVL0, and the motion vector in the L1 direction may be referred to as an L1 motion vector or MVL1. Prediction based on the L0 motion vector may be referred to as an L0 prediction, prediction based on the L1 motion vector may be referred to as an L1 prediction, and prediction based on both the L0 motion vector and the L1 motion vector may be referred to as a Bi prediction. Here, the L0 motion vector may represent a motion vector associated with the reference picture list L0 (L0), and the L1 motion vector may represent a motion vector associated with the reference picture list L1 (L1). The reference picture list L0 may include a picture before the current picture as a reference picture in output order, and the reference picture list L1 may include a picture after the current picture in output order. The previous picture may be referred to as a forward (reference) picture, and the subsequent picture may be referred to as a backward (reference) picture.

[0109] The reference picture list L0 may further include a picture after the current picture as a reference picture in the output order. In this case, within the reference picture list L0, the previous picture may be indexed first, and the subsequent picture may be indexed next. The reference picture list L1 may further include a picture before the current picture as a reference picture in the output order. In this case, within the reference picture list 1, the subsequent picture may be indexed first, and the previous picture may be indexed next. Here, the output order may correspond to a picture order count (POC) order.

[0110] For example, the video / image encoding process based on inter-frame prediction may generally include the following.

[0111] Figure 4 An example of a video / image encoding method based on inter-frame prediction to which an embodiment of the present disclosure can be applied is shown.

[0112] The encoding device may perform inter prediction on the current block S400. The encoding device may derive the inter prediction mode and motion information of the current block and generate prediction samples of the current block. Here, the processes of determining the inter prediction mode, deriving the motion information, and generating the prediction samples may be performed simultaneously, or any one of the processes may be performed before the other processes. For example, the inter predictor of the encoding device may include a prediction mode determination unit, a motion information deriving unit, and a prediction sample deriving unit, the prediction mode determination unit may determine the prediction mode for the current block, the motion information deriving unit may derive the motion information of the current block, and the prediction sample deriving unit may derive the prediction samples of the current block.

[0113] For example, the inter-frame predictor of the encoding device can search for a block similar to the current block in a specific area (search area) of the reference picture through motion estimation, and derive a reference block whose difference with the current block is the smallest or less than or equal to a specific standard. Based on this, a reference picture index indicating the reference picture where the reference block is located can be derived, and a motion vector can be derived based on the position difference between the reference block and the current block. The encoding device can determine the mode applied to the current block among various prediction modes. The encoding device can compare the RD costs for various prediction modes and determine the best prediction mode for the current block.

[0114] For example, when a skip mode or a merge mode is applied to the current block, the encoding device may configure a merge candidate list described below, and derive a reference block whose difference with the current block is the smallest or less than or equal to a specific standard among the reference blocks indicated by the merge candidates included in the merge candidate list. In this case, a merge candidate associated with the derived reference block may be selected, and merge index information indicating the selected merge candidate may be generated and sent to the decoding device by a signal. The motion information of the current block may be derived by using the motion information of the selected merge candidate.

[0115] As another example, when the (A) MVP mode is applied to the current block, the encoding device may configure the (A) MVP candidate list described below, and use the motion vector of the motion vector predictor (MVP) candidate selected from the motion vector predictor candidates included in the (A) MVP candidate list as the motion vector predictor of the current block. In this case, for example, the motion vector indicating the reference block derived by the above-mentioned motion estimation may be used as the motion vector of the current block, and the motion vector predictor candidate having the smallest difference between the motion vector of the current block and the motion vector predictor candidate among the motion vector predictor candidates may become the selected motion vector predictor candidate. A motion vector difference (MVD) may be derived, which is the difference obtained by subtracting the motion vector predictor from the motion vector of the current block. In this case, information about the MVD may be signaled to the decoding device. In addition, when the (A) MVP mode is applied, the value of the reference picture index may be configured as reference picture index information and signaled separately to the decoding device.

[0116] The encoding apparatus may derive residual samples based on the prediction samples S410. The encoding apparatus may derive residual samples by comparing original samples of the current block with the prediction samples.

[0117] The encoding device may encode the image information including prediction information and residual information S420. The encoding device can output the encoded image information in the form of a bitstream. The prediction information is information related to the prediction process, and may include prediction mode information (e.g., a skip flag, a merge flag, or a merge index, etc.) and / or motion information. The motion information may include candidate selection information (e.g., a merge index, an mvp flag, or an mvp index), which is information for deriving a motion vector. In addition, the motion information may include information about the above-mentioned MVD and / or reference picture index information. In addition, the motion information may include information indicating whether L0 prediction, L1 prediction, or dual prediction is applied. The residual information is information about the residual sample. The residual information may include information about the quantized transform coefficients used for the residual sample.

[0118] The output bitstream may be stored in a (digital) storage medium and sent to a decoding device, or may be sent to a decoding device over a network.

[0119] At the same time, as described above, the encoding device can generate a reconstructed picture (including a reconstructed sample and a reconstructed block) based on the reference sample and the residual sample. To derive the same prediction result as that performed in the decoding device in the encoding device, the coding efficiency can be improved. Therefore, the encoding device can store the reconstructed picture (or reconstructed sample, reconstructed block) in a memory and use it as a reference picture for inter-frame prediction. As described above, a loop filtering process, etc. can be further applied to the reconstructed picture.

[0120] For example, the video / image decoding process based on inter-frame prediction may generally include the following.

[0121] Figure 5 An example of a video / image decoding method based on inter-frame prediction to which an embodiment of the present disclosure can be applied is shown.

[0122] refer to Figure 5 The decoding device may perform operations corresponding to the operations performed in the encoding device. The decoding device may perform prediction on the current block based on the received prediction information and derive a prediction sample.

[0123] Specifically, the decoding device may determine a prediction mode for the current block based on the received prediction information S500. The decoding device may determine which inter prediction mode is applied to the current block based on prediction mode information in the prediction information.

[0124] For example, whether to apply the merge mode to the current block or whether to determine the (A) MVP mode may be determined based on the merge flag. Alternatively, one of various inter prediction mode candidates may be selected based on the mode index. The inter prediction mode candidate may include a skip mode, a merge mode, and / or an (A) MVP mode, or may include various inter prediction modes described below.

[0125] The decoding device may derive motion information of the current block based on the determined inter prediction mode S510. For example, when the skip mode or merge mode is applied to the current block, the decoding device may configure a merge candidate list described below and select one of the merge candidates included in the merge candidate list. The selection may be performed based on the above-mentioned selection information (merge index). The motion information of the current block may be derived by using the motion information of the selected merge candidate. The motion information of the selected merge candidate may be used as the motion information of the current block.

[0126] As another example, when the (A) MVP mode is applied to the current block, the decoding device may configure the (A) MVP candidate list described below, and use the motion vector of the motion vector predictor (MVP) candidate selected from among the motion vector predictor (MVP) candidates included in the (A) MVP candidate list as the MVP of the current block. The selection may be performed based on the selection information (MVP flag or MVP index) described above. In this case, the MVD of the current block may be derived based on the information about the MVD, and the motion vector of the current block may be derived based on the MVP and MVD of the current block. In addition, the reference picture index of the current block may be derived based on the reference picture index information. The picture indicated by the reference picture index in the reference picture list for the current block may be derived as a reference picture referenced for inter-frame prediction of the current block.

[0127] Meanwhile, as described below, the motion information of the current block may be derived without configuring the candidate list, and in this case, the motion information of the current block may be derived according to the process initiated in the prediction mode described below. In this case, the candidate list configuration as described above may be omitted.

[0128] The decoding device may generate a prediction sample for the current block based on the motion information of the current block S520. In this case, the reference picture may be derived based on the reference picture index of the current block, and the prediction sample of the current block may be derived by using the sample of the reference block indicated by the motion vector of the current block on the reference picture. In this case, as described below, in some cases, a prediction sample filtering process may be further performed on all or part of the prediction samples of the current block.

[0129] For example, the inter-frame predictor of the decoding device may include a prediction mode determination unit, a motion information export unit and a prediction sample export unit. The prediction mode determination unit can determine the prediction mode for the current block based on the received prediction mode information, the motion information export unit can export the motion information (motion vector and / or reference picture index, etc.) of the current block based on the received motion information, and the prediction sample export unit can export the prediction sample of the current block.

[0130] The decoding device generates residual samples for the current block based on the received residual information S530. The decoding device can generate reconstructed samples for the current block based on the prediction samples and the residual samples, and generate a reconstructed picture based thereon S540. As described above, thereafter, an in-loop filtering process or the like can be further applied to the reconstructed picture.

[0131] Figure 6 The inter-frame prediction process to which the embodiments of the present disclosure can be applied is exemplified.

[0132] refer to Figure 6 As described above, the inter-frame prediction process may include determining an inter-frame prediction mode, deriving motion information according to the determined prediction mode, and performing prediction (generating prediction samples) based on the derived motion information. The inter-frame prediction process may be performed in the encoding device and the decoding device as described above. In this document, the encoding device may include an encoding device and / or a decoding device.

[0133] refer to Figure 6, the coding device determines the inter prediction mode for the current block S600. Various inter prediction modes can be used for the prediction of the current block in the picture. For example, various modes such as merge mode, skip mode, motion vector prediction (MVP) mode, affine mode, sub-block merge mode, merge with MVD (MMVD) mode, etc. can be used. Decoder-side motion vector refinement (DMVR) mode, adaptive motion vector resolution (AMVR) mode, dual prediction with CU level weight (BCW), bidirectional optical flow (BDOF), etc. can be used additionally or alternatively as incidental modes. In addition, according to an embodiment of the present disclosure, the above-mentioned inter prediction mode may include a multi-hypothesis prediction (MHP) mode. The multi-hypothesis prediction mode represents a method for performing prediction by weighted summing of prediction blocks generated based on additional motion information for bidirectional prediction (or bi-prediction) blocks. The multi-hypothesis prediction mode will be described in detail later.

[0134] In the present disclosure, the affine mode may be referred to as an affine motion prediction mode. In addition, the MVP mode may be referred to as an advanced motion vector prediction (AMVP) mode. In the present disclosure, some modes and / or motion information candidates derived from some modes may be included as one of the motion information related candidates of another mode. For example, an HMVP candidate may be added as a merge candidate for a merge / skip mode, or may be added as a motion vector predictor candidate for an AMVP mode. When an HMVP candidate is used as a motion information candidate for a merge mode or a skip mode, the HMVP candidate may be referred to as an HMVP merge candidate.

[0135] Prediction mode information indicating an inter prediction mode of a current block may be sent from an encoding device to a decoding device using a signal. The prediction mode information may be included in a bitstream and received in a decoding device. The prediction mode information may include index information indicating one of a plurality of candidate modes. Alternatively, the inter prediction mode may be indicated by hierarchical signaling of flag information.

[0136] In this case, the prediction mode information may include at least one flag. For example, a skip flag may be signaled to indicate whether the skip mode is applied, a merge flag may be signaled to indicate whether the merge mode is applied when the skip mode is not applied, and a flag indicating that the MVP mode is applied or used for additional partitioning may be further signaled when the merge mode is not applied. The affine mode may be signaled as an independent mode, or may be signaled as a mode dependent on the merge mode or the MVP mode, etc. For example, the affine mode may include an affine merge mode and an affine MVP mode.

[0137] The coding device may derive motion information for the current block S610. The motion information may be derived based on an inter prediction mode. The coding device may perform inter prediction by using the motion information of the current block. The coding device may derive optimal motion information for the current block through a motion estimation process.

[0138] For example, the encoding device may use the original block in the original picture for the current block to search for a similar reference block with high correlation in the fractional pixel unit within the determined search range within the reference picture, and derive motion information therefrom. The similarity of the blocks may be derived based on the difference between the sample values ​​based on the phase. For example, the similarity of the blocks may be calculated based on the SAD between the current block (or the template of the current block) and the reference block (or the template of the reference block). In this case, the motion information may be derived based on the reference block with the minimum SAD within the search range. The derived motion information may be signaled to the decoding device according to various methods based on the inter-frame prediction mode.

[0139] The coding apparatus may perform inter prediction based on the motion information for the current block S620. The coding apparatus may generate a prediction sample for the current block based on the motion information. The current block including the prediction sample may be referred to as a prediction block.

[0140] Hereinafter, the multi-hypothesis prediction mode is described in detail. As described above, the multi-hypothesis prediction mode represents a prediction method of an additional prediction block (or predictor) using a bidirectional prediction block. The multi-hypothesis prediction mode can be selectively used as one of the various inter-frame prediction modes mentioned above. Of course, the multi-hypothesis prediction mode according to an embodiment of the present disclosure is not limited to this name. In the present disclosure, the multi-hypothesis prediction mode may also be referred to as a multi-reference mode, a multi-reference prediction, a multi-reference prediction mode, a multi-reference block mode, a multi-hypothesis (MHP) mode, a multi-hypothesis inter-frame prediction mode, an inter-frame combined prediction mode, a combined inter-frame prediction mode, a combined prediction mode, a multi-frame prediction mode, a multi-prediction mode, an additional reference prediction mode, an additional reference mode, a multi-reference block, etc.

[0141] Figure 7 An inter-frame prediction method performed by the decoding device 300 according to an embodiment of the present disclosure is illustrated.

[0142] refer to Figure 7, the decoding device may perform bidirectional prediction to generate a basic prediction block (or reference block) S700. When the multi-reference block mode is applied, the decoding device may generate and combine additional prediction blocks in addition to the prediction blocks generated (or derived) by the bidirectional prediction. As an example, the basic prediction block may include an L0 prediction block and / or an L1 prediction block. In the present disclosure, the basic prediction block may be referred to as a basic reference block, an initial prediction block, an initial reference block, a temporary prediction block, a temporary reference block, a reference prediction block, a regular prediction block, a regular reference block, etc. In addition, as an example, the basic prediction block may refer to an L0 prediction block or an L1 prediction block, or may refer to a block obtained by weighted summation of L0 and L1 prediction blocks. In the present embodiment, the case where the basic prediction block is a block obtained by weighted summation of L0 and L1 prediction blocks is mainly described, but the present invention is not limited thereto and may be similarly applied to the case where the basic prediction block is a reference block before performing the weighted summation.

[0143] In an embodiment, the weights may be used for weighted summation of L0 and L1 prediction blocks. As weights for weighted prediction, the weights may be collectively referred to as dual prediction with CU-based weights (BCW) or CU-based weights (CW). The weights may be derived from a weight candidate list. The weight candidate list may include multiple weight candidates and may be predefined in an encoding / decoding device.

[0144] The weight candidate may be a set of weights (i.e., a first weight and a second weight) indicating a weight applied to each bidirectional prediction block, or may be a weight applied to a prediction block in either direction. When only a weight applied to a prediction block in any one direction is derived from the weight candidate list, a weight applied to a prediction block in the other direction may be derived based on the weight derived from the weight candidate list. For example, the weight applied to a prediction block in the other direction may be derived by subtracting a weight derived from the weight candidate list from a predetermined value.

[0145] In an embodiment, a weight index indicating a weight for weighted prediction of a current block may be derived in a weight candidate list. In the present disclosure, a weight index may be referred to as bcw_idx, bcw index. The weight index may be derived by a decoding device, or may be signaled from an encoding device. When derived by a decoding device, the weight index may be derived as a weight index for a specific merge candidate in a merge candidate list. As an example, a specific merge candidate may be specified by a merge index in a merge candidate list.

[0146] The decoding apparatus may generate an additional reference block (or prediction block) based on the multiple reference block mode S710. The decoding apparatus may generate an additional reference block in addition to the basic prediction block, and combine (or weighted sum) the basic prediction block and the generated additional reference block.

[0147] As an embodiment, when the multiple reference block mode is applied, the decoding device may generate and combine up to a predefined number of additional reference blocks. In other words, the decoding device may combine (or weighted sum) less than or equal to the predefined number of additional reference blocks to the basic prediction block. As an example, the predefined number may be 2. Alternatively, as an example, the predefined number may be one of 1, 2, 3, and 4. The predefined number may be referred to as the maximum number of the multiple reference block mode.

[0148] In addition, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted and summed sequentially into a basic prediction block. For example, when up to 2 additional reference blocks are generated, the basic prediction block and the first additional reference block may be weighted and summed to generate a prediction block, and the generated prediction block and the second additional reference block may be weighted and summed to generate a final prediction block. The prediction block generated by weighted summing the basic prediction block and the first additional reference block may be referred to as an intermediate prediction block.

[0149] Alternatively, when a plurality of additional reference blocks are combined, the basic prediction block and the plurality of generated additional reference blocks may be weighted and summed at once. In other words, after the plurality of additional reference blocks are generated, weights may be applied to each of the plurality of additional reference blocks and the basic prediction block (or the L0 prediction block and the L1 prediction block) and weighted and summed at once.

[0150] In addition, as an embodiment, the decoding device may determine whether to apply the multi-reference block mode. In this case, a step of determining whether to apply the multi-reference block mode may be added before S710. As an example, whether to apply the multi-reference block mode may be explicitly signaled or may be implicitly derived (or determined) by the decoding device.

[0151] In addition, as an embodiment, whether the multi-reference block mode is applied can be sent from the encoding device to the decoding device by signal. For example, a multi-reference block mode flag indicating whether the multi-reference block mode is applied can be sent from the encoding device to the decoding device by signal. In this case, the conditions for signaling / parsing the multi-reference block mode flag can be defined in advance. The signaling / parsing conditions of the multi-reference block mode flag can be the availability conditions of the multi-reference block mode. When the signaling / parsing conditions are met, the decoding device can parse the multi-reference block mode flag from the bitstream. Alternatively, as an embodiment, whether the multi-reference block mode is applied can be derived by the decoding device based on predefined encoding information. As an example, whether the multi-reference block mode is applied can be defined in the same manner as the multi-reference block mode availability condition (or signaling / parsing condition) described below.

[0152] In addition, as an embodiment, the decoding device may obtain multi-reference block mode information (or may be referred to as multi-reference block mode prediction information) to generate an additional reference block. As an example, the multi-reference block mode information may include weight information and / or prediction information. A reference block according to the multi-reference block mode, that is, an additional reference block, may be derived based on the prediction information, and the additional reference block derived based on the weight information may be weighted and summed with a basic prediction block (or an intermediate prediction block). In addition, as an example, the multi-reference block mode information may further include a multi-reference block mode flag indicating whether the multi-reference block mode is applied.

[0153] As an example, the prediction information may include mode information used to derive the additional reference block and motion information according to the mode. The mode information may be inter-prediction mode information indicating whether it is a merge mode or an AMVP mode. For example, the mode information may be a merge flag. In other words, the additional reference block may be derived using the merge mode or the AMVP mode, and a flag syntax element indicating it may be signaled. Alternatively, the additional reference block may be derived using a predefined mode among the merge mode or the AMVP mode. Alternatively, the merge mode or the AMVP mode may be selected based on predefined encoding information.

[0154] As an example, when the merge mode is used to derive an additional reference block, the prediction information may include a merge index. The merge index may specify a merge candidate in a merge candidate list. When the AMVP mode is used to derive an additional reference block, the prediction information may include a motion vector predictor flag, a reference index, and motion vector difference information. The motion vector predictor flag may specify a candidate in a motion vector predictor candidate list.

[0155] The decoding device may generate a final prediction block by weighted summing the basic prediction block and the additional reference block S720. As described above, the number of additional reference blocks may be less than or equal to the predefined number. For example, when the number of additional reference blocks is 2, the final prediction block may be a block in which the basic prediction block and the two additional reference blocks are weighted summed. As an embodiment, weight information for the weighted sum may be sent or derived using a signal.

[0156] As described above, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted and summed sequentially to form a basic prediction block, or the basic prediction block and the plurality of generated additional reference blocks may be weighted and summed at one time.

[0157] Generally, the inter prediction process supports unidirectional prediction or bidirectional prediction, but when it includes more than one prediction block, it can be regarded as multi-hypothesis prediction. In other words, multi-hypothesis prediction is a method of using multiple reference blocks (or prediction blocks) for prediction, and the signaling or deriving method can be considered as follows.

[0158] As an embodiment, information about the additional reference block can be signaled by using a merge index in the same or similar manner as the merge mode. Alternatively, information about the additional reference block can be signaled by using a reference index, a motion vector predictor (MVP) flag (or index), a motion vector difference, etc. in the same or similar manner as the AMVP mode. Alternatively, information about the additional reference block can be inherited from an already decoded neighboring block to derive motion information. In an embodiment, whether to signal the information about the additional reference block can be determined depending on the number of additional reference blocks used. For example, when there is one additional reference block, information about the additional reference block can be signaled, and when there are two additional reference blocks, all or part of the information about the additional reference block can be derived on the decoder side without signaling.

[0159] According to the multi-reference block mode according to an embodiment of the present disclosure, weight information and motion information of a prediction block can be signaled / derived to generate a block having different characteristics from an existing prediction block, and various reference blocks can be used for prediction to improve prediction accuracy.

[0160] In an embodiment of the present disclosure, when the multiple reference block mode is applied, an efficient method for deriving reference blocks is proposed.

[0161] Figure 8 is a diagram illustrating reference blocks used for a multiple reference block mode according to an embodiment of the present disclosure.

[0162] refer to Figure 8 , showing the case where multiple reference blocks (prediction blocks) are used for prediction when the multi-reference block mode is applied. In other words, Figure 8 , reference blocks P0 and P1 represent basic reference blocks (or regular reference blocks), and reference blocks P2 and P3 represent additional reference blocks (or additional prediction blocks).

[0163] exist Figure 8 In the example, for ease of description, a case where two reference blocks exist for each prediction direction is shown, but the present invention is not limited thereto. In other words, the number of reference blocks for each prediction direction may be changed, and the motion compensation order may also be changed.

[0164] In an embodiment of the present disclosure, a method for using a reference block of a reference block is proposed when deriving multiple additional reference blocks used for a multiple reference block mode. The reference block of the reference block represents a block referenced by the reference block. The reference block of the reference block can be used in the multiple reference block mode to reduce signaling overhead.

[0165] Fig. 9 is a diagram illustrating a method for deriving an additional reference block used for a multiple reference block mode according to an embodiment of the present disclosure.

[0166] refer to Fig. 9 , the reference block of the reference block can be used as an additional reference block. Specifically, Fig. 9 As shown in , when two additional reference blocks are used, the second reference block can be determined as a reference block of the first reference block. In this case, motion information indicating the first reference block can be sent with a signal. The second reference block can be derived as a reference block of the first reference block when sent with a signal.

[0167] In addition, in an embodiment, 2N candidate configurations are possible without being limited to two additional reference blocks. In this case, N=1..MAX_NUM>>1 may be defined. Here, MAX_NUM is a variable showing the maximum number of additional reference blocks allowed. MAX_NUM may be a predefined fixed value or may be derived as a value signaled in a higher level syntax such as a sequence / picture / slice. In other words, the signaled candidate and the reference block of the corresponding candidate may be used as an additional reference block.

[0168] Figures 10 to 12 is a diagram illustrating a method for deriving an additional reference block used for a multiple reference block mode according to an embodiment of the present disclosure.

[0169] refer to Fig.10 , the reference block of the reference block can be used as an additional reference block. Specifically, Fig.10 As shown in , the reference block of the regular reference block may be used as an additional reference block. In the present disclosure, the basic prediction block may be referred to as a basic reference block, an initial prediction block, an initial reference block, a temporary prediction block, a temporary reference block, a reference prediction block, a regular prediction block, a regular reference block, etc. When two reference blocks are used as a multi-reference block of the current block, the reference block of each of the two regular reference blocks (P0, P1) may be used as an additional reference block.

[0170] As an embodiment, it is not limited to the case where there are two additional reference blocks, and the number of additional reference blocks can be determined depending on the number of regular reference blocks. In addition, as an example, when the reference picture including the regular reference block is an I-slice, this embodiment may not be applied.

[0171] refer to Fig.11 , the reference block of the reference block can be used as an additional reference block. Specifically, Fig.11 As shown in , in addition to the additional reference block P2 that is signaled or derived, the reference block of the conventional reference block P0 can also be used as an additional reference block.

[0172] refer to Fig.12 , the reference block of the reference block can be used as an additional reference block. Specifically, Fig.12As shown in , in addition to the additional reference block P2 transmitted or derived by signaling, the reference block of the conventional reference block P0 can also be used as an additional reference block. In addition, the reference block of the additional reference block P2 can be used as an additional reference block.

[0173] In an embodiment of the present disclosure, a method for determining a reference block is described in a method of using a reference block of a reference block as an additional reference block. As described above, it is assumed that a current block has a conventional reference block, and a reference block of the conventional reference block is used as a multi-reference block.

[0174] In such a case, when there are two conventional reference blocks according to the bidirectional prediction for the current block, a conventional reference block for deriving a multi-reference block can be determined among the two conventional reference blocks. In the present disclosure, a conventional reference block for deriving an additional reference block used for a multi-reference block is referred to as a target conventional reference block. Hereinafter, a method for determining a target conventional reference block is described.

[0175] The target conventional reference block for the multiple reference blocks can be determined in various ways. According to an embodiment of the present disclosure, the embodiments listed below may be applied individually, or a plurality of embodiments may be applied in combination.

[0176] - Two bidirectional conventional reference blocks can be used as target conventional reference blocks.

[0177] - The picture order count (POC) difference between the current picture and two reference pictures may be considered. As an example, a regular reference block with a smaller POC difference may be selected as a target regular reference block.

[0178] - The type of reference picture including the normal reference block may be considered. For example, a normal reference block that is a P / B slice may be selected as the target normal reference block.

[0179] - When a regular reference block is encoded in inter prediction mode, it may be selected as a target regular reference block, and when encoded in intra prediction mode, it may not be selected as a target regular reference block.

[0180] - A conventional reference block in the direction with a smaller motion vector may be selected as the target conventional reference block. In such a case, the motion vector magnitude for comparison may be calculated as abs(hor)+abs(ver) or abs(hor) 2 +abs(ver) 2 Etc. wherein abs() represents a function taking an absolute value, ver represents a vertical component of a motion vector, and hor represents a horizontal component of a motion vector.

[0181] - A conventional reference block in a specific direction may be selected as a target conventional reference block. For example, a conventional reference block in the L0 direction may be selected as a target conventional reference block.

[0182] In addition, in an embodiment, when a target conventional reference block is determined using the above-mentioned method and bidirectional prediction is applied to the target conventional reference block, a method for determining an additional reference block for a multi-reference block is described. The embodiments listed below can be used as a method for determining a reference block of a target conventional reference block as an additional reference block. In an embodiment, the embodiments listed below can be applied individually, or a plurality of embodiments can be applied in combination.

[0183] - Two bidirectional reference blocks of the target regular reference block can be used as multi-reference blocks.

[0184] - It can be determined by considering the POC difference between the current picture and two reference pictures. As an example, a reference block with a smaller POC difference can be selected.

[0185] - It can be determined by considering the type of reference picture that includes each reference block. As an example, a reference block that is a P / B slice can be selected.

[0186] - A reference block encoded in an inter prediction mode may be selected, and a reference block encoded in an intra prediction mode may not be selected.

[0187] - A reference block with a smaller motion vector direction may be selected. In this case, the motion vector magnitude for comparison may be calculated as abs(hor)+abs(ver) or abs(hor) 2 +abs(ver) 2 Etc. Here, abs() represents a function taking an absolute value, ver represents a vertical component of a motion vector, and hor represents a horizontal component of a motion vector.

[0188] - A reference block in a specific direction can be selected as an additional reference block. For example, a reference block in the L0 direction can be selected as an additional reference block.

[0189] In addition, in an embodiment, an additional reference block may be selected from the reference blocks of a conventional reference block based on a POC difference. For example, a reference block from two conventional reference blocks having the smallest POC difference with the current picture may be selected as an additional reference block. As an example, without the process of determining a target conventional reference block, each block referenced by the two conventional reference blocks may be arranged in ascending order by calculating the POC difference with the current block, and then a close block may be selected as a reference block. In this case, the number of reference blocks may be determined based on the allowed number of multiple reference blocks. As another example, a reference block in an overlapping reference picture from among the blocks referenced by the two conventional reference blocks may be selected as an additional reference block.

[0190] In addition, in an embodiment, the determined additional reference block may be improved. As a method for improvement, a template cost using the difference between the adjacent area of ​​the current block and the adjacent area of ​​the additional reference block may be used. In addition, a bilateral template cost using the difference between the conventional reference block and the additional reference block may be used.

[0191] As described above, when a reference block of a reference block is used as an additional reference block, signaling for deriving information of the additional reference block may be omitted. When the additional reference block is determined according to the above-described embodiment, weight information (e.g., weight index) applied to the corresponding additional reference block may be signaled. In other words, as an example, motion information may not be signaled, and as many weight indexes as the number of additional reference blocks may be signaled.

[0192] In addition, in an embodiment, the weight index may be derived without signaling. As an example, the weight may be derived based on the POC difference between the current picture and each additional reference. In this case, the weight value may be derived based on the POC difference threshold according to Table 1 below.

[0193] [Table 1]

[0194]

[0195] Referring to Table 1, weights may be defined according to a predefined threshold portion. As an example, different weights may be assigned according to the threshold portion. The thresholds and weights (5 / 8, 3 / 8, 2 / 8, 1 / 8) described as 4, 8, 16 in Table 1 are examples and may be changed by considering a POC difference portion and / or picture resolution, etc.

[0196] In the following, a method for applying multiple reference blocks to symmetric motion vector difference (SMVD) is described. SMVD is derived by signaling motion information in one direction and mirroring the motion information in another direction. In other words, when SMVD is applied, accurate motion information signaled and mirrored motion information with relatively low precision are used. With this in mind, when in SMVD mode, multiple reference blocks are applied to increase the precision of the prediction block. In the present disclosure, mirroring may refer to deriving values ​​having the same size and different directions (or, different signs).

[0197] Fig.13 is a diagram illustrating a method for applying a multiple reference block to a symmetric motion vector difference according to an embodiment of the present disclosure.

[0198] refer to Fig.13 , when the merge mode is used for the additional reference block, the merge index may be signaled. A candidate list for multiple reference blocks may be configured. As an example, the candidate list may include motion information of neighboring blocks, and the candidate list may be configured based on the merge candidate list. The reference block may be derived by using the merge index signaled in the candidate list.

[0199] In addition, when the AMVP mode is used for an additional reference block, a reference index, a motion vector predictor (MVP) flag (or index), and MVD data may be signaled. Similarly, a candidate list for multiple reference blocks may be configured. The reference block may be derived by using the information signaled in the candidate list. In addition, motion information for the additional reference block may be inherited and derived from a decoded neighboring block.

[0200] As an example, when SMVD is applied, a signal may be sent indicating a first reference block in a first reference picture (ie, Fig.13 MVD data of reference picture 0 in the second reference picture may not be signaled. Fig.13 The MVD of the second reference block can be derived by mirroring the MVD of the first reference block sent with the signal. Thereafter, the third reference block and the fourth reference block as additional reference blocks can be derived by the above method.

[0201] As described above, mirroring may refer to deriving a value having the same magnitude and a different direction (or a different sign). In other words, the MVD for specifying the second reference block may be derived as a value having the same magnitude and a different sign as the MVD signaled for specifying the first reference block.

[0202] Fig.14 is a diagram illustrating a method for applying a multiple reference block to a symmetric motion vector difference according to an embodiment of the present disclosure.

[0203] refer to Fig.14 , the additional reference blocks used for the multiple reference blocks may be limited to the reference direction (or prediction direction) of the MVD using the mirror. In other words, when the SMVD mode is applied, the multiple reference blocks may be added only to the direction in which the motion information of the mirror is used. In this case, the reference direction may be determined in a temporal order based on the current block. In the present disclosure, the same direction means the direction in which the sign of the POC difference between the current picture and the reference picture is the same. In other words, when a reference picture in a mirror direction is used, it may mean that the sign of the POC difference between the current picture and the reference picture including the reference block using the mirror MVD is the same as the sign of the POC difference between the current picture and the reference picture from which the additional reference block in the mirror direction is derived.

[0204] As an example, when using an additional reference block, such as Fig.14 As shown in , additional reference blocks in the mirror direction can be used. It is not limited to this, and at least two additional reference blocks can be used for the multi-reference block mode. In addition, in an embodiment, when it is limited to additional reference blocks in the mirror direction, the number of additional reference blocks can be limited to 1.

[0205] Fig.15 is a diagram illustrating a method for configuring a candidate list for a multi-reference block according to an embodiment of the present disclosure.

[0206] refer to Fig.15 , as in the above Fig.14 In the embodiment of , when the prediction direction is limited, the candidate list can be configured taking this into consideration. In other words, the candidate list for the multiple reference blocks can be configured to include only motion information in the limited direction.

[0207] As an embodiment, an initial candidate list may be configured first by configuring a conventional merge candidate list process. Then, candidates including motion information in the corresponding direction may be sequentially inserted into the candidate list. When information in the corresponding direction is not included, it may be inserted into the candidate list by mirroring.

[0208] In addition, as an embodiment, the determined additional reference block may be subjected to an improvement process. As an example, a template cost using the difference between the adjacent region of the current block and the adjacent region of the additional reference block may be used by using a method for improvement. In addition, a bilateral template cost using the difference between a conventional reference block and an additional reference block may be used. In such a case, when it is assumed that a conventional reference block performs bidirectional prediction, the conventional reference block used for cost calculation may be the result of a weighted sum (or average) of two reference blocks. As another example, it may be a reference block determined by a predefined method among two conventional reference blocks.

[0209] In addition, as an embodiment, the target for improvement may be changed and applied to the SMVD. As an example, when there are multiple additional reference blocks, improvement may be performed only in the direction of using the mirrored MVD. Alternatively, improvement may be applied to the mirrored block, and the additional reference block may be used as is without applying the improvement.

[0210] Above Figures 9 to 12 The method described in the embodiment can be used in combination with the method described in this embodiment. As an example, after the motion information in one direction is signaled, the reference block of the reference block signaled can be used as an additional reference block for the multiple reference blocks. In addition, the reference block of the reference block obtained by mirroring the motion information signaled can be used as an additional reference block for the multiple reference blocks.

[0211] Figures 16 to 18 is a diagram illustrating an inter-frame prediction method based on a multiple reference block mode according to an embodiment of the present disclosure.

[0212] refer to Fig.16 , multiple reference blocks can be applied to AMVP-MERGE mode. In the present disclosure, AMVP-MERGE mode refers to a prediction mode in which motion information in one direction is signaled using MVD information, like AMVP, and motion information in another direction is signaled using a merge index, like merge mode. In other words, by using an AMVP mode including precise motion information and a merge mode with relatively low precision, signaling information can be reduced, and new motion information can be derived through a combination that did not exist previously, thereby improving compression efficiency.

[0213] In an embodiment, when the AMVP-MERGE mode is applied, additional reference block information can be signaled by a merge index in the same or similar manner as the merge mode. A candidate list for multiple reference blocks can be configured. As an example, the candidate list can include motion information of neighboring blocks, and the candidate list can be configured based on the merge candidate list. The reference block can be derived by using the merge index signaled in the candidate list.

[0214] In addition, when the AMVP mode is used for an additional reference block, a reference index, a motion vector predictor (MVP) flag (or index), and MVD data may be signaled. Similarly, a candidate list for multiple reference blocks may be configured. The reference block may be derived by using the information signaled in the candidate list. In addition, motion information for the additional reference block may be inherited and derived from a decoded neighboring block.

[0215] refer to Fig.17, when the AMVP-MERGE mode is applied, the additional reference blocks used for multiple reference blocks may be limited to the reference direction (or prediction direction) in which the mirror merge mode is applied. In other words, when the AMVP-MERGE mode is applied, multiple reference blocks may be added only in the direction in which the merge mode is applied. In this case, the reference direction may be determined in chronological order based on the current block. In the present disclosure, the same direction means a direction in which the sign of the POC difference between the current picture and the reference picture is the same. In other words, when a reference picture in the direction in which the merge mode is applied is used, it may mean that the sign of the POC difference between the current picture and the reference picture specified by the merge index is the same as the sign of the POC difference between the current picture and the reference picture from which the additional reference block (in the direction to which the merge mode is applied) is derived.

[0216] As an example, when using an additional reference block, such as Fig.17 As shown in , additional reference blocks in the direction in which the merge mode is applied may be used. It is not limited thereto, and at least two additional reference blocks may be used for the multi-reference block mode. In addition, in an embodiment, when limited to additional reference blocks in the direction in which the merge mode is applied, the number of additional reference blocks may be limited to 1.

[0217] refer to Fig.18 , when the AMVP-MERGE mode is applied, there is a restriction that the MHP merge mode is applied in a direction using the AMVP mode, and there is a restriction that the MHP AMVP mode is applied in a direction using the merge mode.

[0218] As an embodiment, when two additional reference blocks are used, multi-reference block information for two candidates can be obtained. The first candidate is the MHP merge mode and can be applied in the direction of the AMVP mode. The second candidate is the MHP AMVP mode and can be applied in the direction of the merge mode. In such a case, as an example, when configuring a reference picture list for the MHPAMVP mode, the reference picture list can be configured only with reference pictures corresponding to the direction of the merge mode.

[0219] In addition, in an embodiment, when a multi-reference block with a restricted prediction direction is applied, a candidate list including only motion information in the restricted direction may be configured. For example, an initial candidate list may be configured according to an existing method for configuring a conventional merge candidate list, and candidates including motion information in the corresponding direction may be inserted into the list to facilitate configuration of the candidate list. If information in the restricted direction is not included, the corresponding motion information may be mirrored and inserted into the list.

[0220] In addition, as an embodiment, an improvement process can be performed on the determined additional reference block. As an example, a template cost using the difference between the adjacent area of ​​the current block and the adjacent area of ​​the additional reference block can be used by using a method for improvement. In addition, a bilateral template cost using the difference between a conventional reference block and an additional reference block can be used. In this case, when it is assumed that a conventional reference block performs bidirectional prediction, the conventional reference block used for cost calculation can be a result of weighted summation (or averaging) of two reference blocks. As another example, it can be a reference block determined by a predefined method among two conventional reference blocks.

[0221] In addition, as an embodiment, the target for improvement may be changed and applied to the AMVP-MERGE mode. As an example, when there are multiple additional reference blocks, improvement may be performed only in the direction in which the merge mode is applied. Alternatively, improvement may be applied to the block to which the merge mode is applied, and the additional reference block may be used as is without applying the improvement.

[0222] Above Figures 9 to 12 The method described in the embodiment can be used in combination with the method described in this embodiment. As an example, in the AMVP-MERGE mode, the reference block of the reference block derived in the AMVP mode can be used as an additional reference block for the multiple reference blocks. In addition, the reference block of the reference block derived in the merge mode can be used as an additional reference block for the multiple reference blocks.

[0223] Fig.19 A rough configuration of the inter-frame predictor 332 that performs the inter-frame prediction method according to the present disclosure is shown.

[0224] refer to Fig.19 , the inter predictor 332 may include a basic prediction block generating unit 1900 , an additional reference block deriving unit 1910 , and a final prediction block generating unit 1920 .

[0225] The basic prediction block generation unit 1900 may perform bidirectional prediction to generate a basic prediction block. When the MHP mode is applied, the basic prediction block generation unit 1900 may generate and combine additional prediction blocks in addition to the prediction blocks generated (or derived) by the bidirectional prediction. As an example, the basic prediction block may include an L0 prediction block and / or an L1 prediction block. In the present disclosure, the basic prediction block may be referred to as an initial prediction block, a temporary prediction block, a reference prediction block, etc. In addition, as an example, the basic prediction block may be a prediction block obtained by weighted summing the L0 and L1 prediction blocks.

[0226] In an embodiment, weights may be used for the weighted sum of L0 and L1 prediction blocks. As weights used for weighted prediction, weights may be collectively referred to as bi-prediction with CU-based weights (BCW) or CU-based weights (CW). Weights may be derived from a weight candidate list. The weight candidate list may include multiple weight candidates and may be predefined in an encoding / decoding device.

[0227] The weight candidate may be a weight set (i.e., a first weight and a second weight) representing a weight applied to each bidirectional prediction block, or may be a weight applied to a prediction block in either direction. When only the weight applied to a prediction block in any one direction is derived from the weight candidate list, the weight applied to the prediction block in the other direction may be derived based on the weight derived from the weight candidate list. For example, the weight applied to the prediction block in the other direction may be derived by subtracting the weight derived from the weight candidate list from a predetermined value.

[0228] In an embodiment, a weight index indicating a weight used for weighted prediction of the current block may be derived in a weight candidate list. In the present disclosure, the weight index may be referred to as bcw_idx, bcw index. The weight index may be derived by a decoding device, or may be signaled from an encoding device. When derived by a decoding device, the weight index may be derived as a weight index of a specific merge candidate in a merge candidate list. As an example, a specific merge candidate may be specified by a merge index in a merge candidate list.

[0229] The additional reference block deriving unit 1910 may derive an additional reference block based on the MHP mode. The additional reference block deriving unit 1910 may derive an additional reference block other than the basic prediction block, and combine (or weighted sum) the basic prediction block and the generated additional reference block.

[0230] As an embodiment, when the MHP mode is applied, the additional reference block deriving unit 1910 may derive up to a predefined number of additional reference blocks. In other words, the additional reference block deriving unit 1910 may combine (or weighted sum) additional reference blocks less than or equal to the predefined number to the basic prediction block. As an example, the predefined number may be 2. Alternatively, as an example, the predefined number may be one of 1, 2, 3, and 4. The predefined number may be referred to as the maximum number of MHP.

[0231] In addition, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted-added to the basic prediction block in sequence. For example, when up to 2 additional reference blocks are derived, the basic prediction block and the first additional reference block may be weighted-added to generate a prediction block, and the generated prediction block and the second additional reference block may be weighted-added to generate a final prediction block. The prediction block generated by weighted-adding the basic prediction block and the first additional reference block may be referred to as an intermediate prediction block.

[0232] Alternatively, when a plurality of additional reference blocks are combined, the basic prediction block and the plurality of generated additional reference blocks may be weighted and summed at once. In other words, after the plurality of additional reference blocks are derived, weights may be applied to each of the plurality of additional reference blocks and the basic prediction block (or the L0 prediction block and the L1 prediction block) and weighted and summed at once.

[0233] In addition, as an embodiment, the additional reference block derivation unit 1910 may determine whether to apply MHP. As an example, whether to apply MHP may be explicitly signaled, or may be implicitly derived by the decoding device.

[0234] In addition, as an embodiment, whether MHP is applied may be signaled from the encoding device to the decoding device. For example, an MHP flag indicating whether MHP is applied may be signaled from the encoding device to the decoding device. In this case, conditions for signaling / parsing the MHP flag may be defined in advance. The signaling / parsing condition of the MHP flag may be an availability condition of the MHP. When the signaling / parsing condition is met, the decoding device may parse the MHP flag from the bitstream. Alternatively, as an embodiment, whether MHP is applied may be derived by the decoding device based on predefined encoding information. As an example, whether MHP is applied may be defined in the same manner as the MHP availability condition (or signaling / parsing condition) described below.

[0235] In addition, as an embodiment, the additional reference block deriving unit 1910 may obtain MHP information (or may be referred to as MHP prediction information) to derive an additional reference block. As an example, the MHP information may include weight information and / or prediction information. A reference block according to an MHP mode, that is, an additional reference block, may be derived based on the prediction information, and the additional reference block derived based on the weight information may be weighted summed with a basic prediction block (or an intermediate prediction block). In addition, as an example, the MHP information may further include an MHP flag indicating whether MHP is applied.

[0236] As an example, the prediction information may include mode information for deriving an additional reference block and motion information according to the mode. The mode information may be inter-prediction mode information indicating whether it is a merge mode or an AMVP mode. For example, the mode information may be a merge flag. In other words, the additional reference block may be derived using the merge mode or the AMVP mode, and a flag syntax element indicating it may be signaled. Alternatively, the additional reference block may be derived using a predefined mode among the merge mode or the AMVP mode. Alternatively, the merge mode or the AMVP mode may be selected based on predefined encoding information.

[0237] As an example, when the merge mode is used to derive the additional reference block, the prediction information may include a merge index. The merge index may specify a merge candidate in the merge candidate list. When the AMVP mode is used to derive the additional reference block, the prediction information may include a motion vector predictor flag, a reference index, and motion vector difference information. The motion vector predictor flag may specify a candidate in the motion vector predictor candidate list.

[0238] The final prediction block generation unit 1920 may generate a final prediction block by weighted summing the basic prediction block and the additional reference block. As described above, the number of additional reference blocks may be less than or equal to the predefined number. For example, when the number of additional reference blocks is 2, the final prediction block may be a block in which the basic prediction block and two additional reference blocks are weighted summed.

[0239] As described above, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted-added to the basic prediction block in sequence, or the basic prediction block and the plurality of generated additional reference blocks may be weighted-added at once.

[0240] exist Figures 7 to 18 The above-described embodiments in can be similarly applied, and repeated descriptions related thereto will be omitted.

[0241] Fig. 20 An inter-frame prediction method performed by the encoding apparatus 200 as an embodiment according to the present disclosure is shown.

[0242] refer to Fig. 20 , the encoding device may perform bidirectional prediction to generate a basic prediction block S2000. When the multi-reference block mode is applied, the encoding device may generate and combine additional prediction blocks in addition to the prediction blocks generated (or derived) by the bidirectional prediction. As an example, the basic prediction block may include an L0 prediction block and / or an L1 prediction block. In the present disclosure, the basic prediction block may be referred to as an initial prediction block, a temporary prediction block, a reference prediction block, etc. In addition, as an example, the basic prediction block may be a prediction block obtained by weighted summing the L0 and L1 prediction blocks.

[0243] In an embodiment, the weights may be used for weighted summation of L0 and L1 prediction blocks. As weights for weighted prediction, the weights may be collectively referred to as bi-prediction with CU-based weights (BCW) or CU-based weights (CW). The weights may be derived from a weight candidate list. The weight candidate list may include multiple weight candidates and may be predefined in an encoding / decoding device.

[0244] The weight candidate may be a weight set (i.e., a first weight and a second weight) indicating a weight applied to each bidirectional prediction block, or may be a weight applied to a prediction block in either direction. When only a weight applied to a prediction block in any one direction is derived from the weight candidate list, a weight applied to a prediction block in the other direction may be derived based on the weight derived from the weight candidate list. For example, the weight applied to a prediction block in the other direction may be derived by subtracting the weight derived from the weight candidate list from a predetermined value.

[0245] In an embodiment, a weight index indicating a weight for weighted prediction of a current block may be derived in a weight candidate list. In the present disclosure, a weight index may be referred to as bcw_idx, bcw index. The weight index may be derived by a decoding device, or may be signaled from an encoding device. When derived by a decoding device, the weight index may be derived as a weight index for a specific merge candidate in a merge candidate list. As an example, a specific merge candidate may be specified by a merge index in a merge candidate list.

[0246] The encoding apparatus may derive an additional reference block based on the multiple reference block mode S2010. The encoding apparatus may derive an additional reference block other than the basic prediction block, and combine (or weighted sum) the basic prediction block and the derived additional reference block.

[0247] As an embodiment, when the MHP mode is applied, the encoding device may derive up to a predefined number of additional reference blocks. In other words, the encoding device may combine (or weighted sum) less than or equal to the predefined number of additional reference blocks to the basic prediction block. As an example, the predefined number may be 2. Alternatively, as an example, the predefined number may be one of 1, 2, 3, and 4. The predefined number may be referred to as the maximum number of MHP.

[0248] In addition, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted-added to the basic prediction block in sequence. For example, when up to 2 additional reference blocks are derived, the basic prediction block and the first additional reference block may be weighted-added to generate a prediction block, and the generated prediction block and the second additional reference block may be weighted-added to generate a final prediction block. The prediction block generated by weighted-adding the basic prediction block and the first additional reference block may be referred to as an intermediate prediction block.

[0249] Alternatively, when a plurality of additional reference blocks are combined, the basic prediction block and the plurality of derived additional reference blocks may be weighted summed at once. In other words, after the plurality of additional reference blocks are derived, weights may be applied to each of the plurality of additional reference blocks and the basic prediction block (or the L0 prediction block and the L1 prediction block) and weighted summed at once.

[0250] In addition, as an embodiment, the encoding device may determine whether to apply MHP. In this case, a step of determining whether to apply MHP may be added before S2010. As an example, whether to apply MHP may be explicitly signaled or may be implicitly derived by the decoding device.

[0251] In addition, as an embodiment, whether MHP is applied may be signaled from the encoding device to the decoding device. For example, an MHP flag indicating whether MHP is applied may be signaled from the encoding device to the decoding device. In this case, conditions for signaling / parsing the MHP flag may be defined in advance. The signaling / parsing conditions of the MHP flag may be availability conditions of the MHP. When the signaling / parsing conditions are met, the encoding device may signal the MHP flag from the bitstream. Alternatively, as an embodiment, whether MHP is applied may be derived by the decoding device based on predefined encoding information. As an example, whether MHP is applied may be defined in the same manner as the MHP availability condition (or signaling / parsing condition) described below.

[0252] In addition, as an embodiment, the encoding device may obtain MHP information (or may be referred to as MHP prediction information) to derive an additional reference block. As an example, the MHP information may include weight information and / or prediction information. A reference block according to an MHP mode, that is, an additional reference block, may be derived based on the prediction information, and the additional reference block derived based on the weight information may be weighted summed with a basic prediction block (or an intermediate prediction block). In addition, as an example, the MHP information may further include an MHP flag indicating whether MHP is applied.

[0253] As an example, the prediction information may include mode information for deriving an additional reference block and motion information according to the mode. The mode information may be inter-prediction mode information indicating whether it is a merge mode or an AMVP mode. For example, the mode information may be a merge flag. In other words, the additional reference block may be derived using the merge mode or the AMVP mode, and a flag syntax element indicating it may be signaled. Alternatively, the additional reference block may be derived using a predefined mode among the merge mode or the AMVP mode. Alternatively, the merge mode or the AMVP mode may be selected based on predefined encoding information.

[0254] As an example, when the merge mode is used to derive the additional reference block, the prediction information may include a merge index. The merge index may specify a merge candidate in the merge candidate list. When the AMVP mode is used to derive the additional reference block, the prediction information may include a motion vector predictor flag, a reference index, and motion vector difference information. The motion vector predictor flag may specify a candidate in the motion vector predictor candidate list.

[0255] The encoding device may generate a final prediction block by weighted summing the basic prediction block and the additional reference block S2020. As described above, the number of additional reference blocks may be less than or equal to the predefined number. For example, when the number of additional reference blocks is 2, the final prediction block may be a block in which the basic prediction block and the two additional reference blocks are weighted summed.

[0256] As described above, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted-added to the basic prediction block in sequence, or the basic prediction block and the plurality of derived additional reference blocks may be weighted-added at once.

[0257] exist Figures 7 to 18 The above-described embodiments in may be substantially equally applied, and repeated descriptions related thereto will be omitted.

[0258] Fig.21 A rough configuration of the inter-frame predictor 221 performing the inter-frame prediction method according to the present disclosure is shown.

[0259] refer to Fig.21 , the inter-frame predictor 221 may include a basic prediction block generating unit 2100 , an additional reference block deriving unit 2110 , and a final prediction block generating unit 2120 .

[0260] The basic prediction block generation unit 2100 may perform bidirectional prediction to generate a basic prediction block. When the MHP mode is applied, the basic prediction block generation unit 2100 may generate and combine additional prediction blocks in addition to the prediction blocks generated (or derived) by the bidirectional prediction. As an example, the basic prediction block may include an L0 prediction block and / or an L1 prediction block. In the present disclosure, the basic prediction block may be referred to as an initial prediction block, a temporary prediction block, a reference prediction block, etc. In addition, as an example, the basic prediction block may be a prediction block obtained by weighted summing the L0 and L1 prediction blocks.

[0261] In an embodiment, weights may be used for the weighted sum of L0 and L1 prediction blocks. As weights used for weighted prediction, weights may be collectively referred to as bi-prediction with CU-based weights (BCW) or CU-based weights (CW). Weights may be derived from a weight candidate list. The weight candidate list may include multiple weight candidates and may be predefined in an encoding / decoding device.

[0262] The weight candidate may be a weight set (i.e., a first weight and a second weight) representing a weight applied to each bidirectional prediction block, or may be a weight applied to a prediction block in either of the two directions. When only the weight applied to the prediction block in any one direction is derived from the weight candidate list, the weight applied to the prediction block in the other direction may be derived based on the weight derived from the weight candidate list. For example, the weight applied to the prediction block in the other direction may be derived by subtracting the weight derived from the weight candidate list from a predetermined value.

[0263] In an embodiment, a weight index indicating a weight used for weighted prediction of the current block may be derived in a weight candidate list. In the present disclosure, the weight index may be referred to as bcw_idx, bcw index. The weight index may be derived by a decoding device, or may be signaled from an encoding device. When derived by a decoding device, the weight index may be derived as a weight index of a specific merge candidate in a merge candidate list. As an example, a specific merge candidate may be specified by a merge index in a merge candidate list.

[0264] The additional reference block deriving unit 2110 may derive an additional reference block based on the MHP mode. The additional reference block deriving unit 2110 may derive an additional reference block other than the basic prediction block and combine (or weighted sum) the basic prediction block and the derived additional reference block.

[0265] As an embodiment, when the MHP mode is applied, the additional reference block deriving unit 2110 may derive up to a predefined number of additional reference blocks. In other words, the additional reference block deriving unit 2110 may combine (or weighted sum) additional reference blocks less than or equal to the predefined number to the basic prediction block. As an example, the predefined number may be 2. Alternatively, as an example, the predefined number may be one of 1, 2, 3, and 4. The predefined number may be referred to as the maximum number of MHP.

[0266] In addition, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted-added to the basic prediction block in sequence. For example, when up to 2 additional reference blocks are derived, the basic prediction block and the first additional reference block may be weighted-added to generate a prediction block, and the generated prediction block and the second additional reference block may be weighted-added to generate a final prediction block. The prediction block generated by weighted-adding the basic prediction block and the first additional reference block may be referred to as an intermediate prediction block.

[0267] Alternatively, when a plurality of additional reference blocks are combined, the basic prediction block and the plurality of derived additional reference blocks may be weighted summed at once. In other words, after the plurality of additional reference blocks are derived, weights may be applied to each of the plurality of additional reference blocks and the basic prediction block (or the L0 prediction block and the L1 prediction block) and weighted summed at once.

[0268] In addition, as an embodiment, the additional reference block derivation unit 2110 may determine whether to apply MHP. As an example, whether to apply MHP may be explicitly signaled or may be implicitly derived by the decoding device.

[0269] In addition, as an embodiment, whether to apply MHP can be sent from the encoding device to the decoding device by signal. For example, an MHP flag indicating whether to apply MHP can be sent from the encoding device to the decoding device by signal. In this case, the conditions for signaling / parsing the MHP flag can be defined in advance. The signaling / parsing conditions of the MHP flag can be the availability conditions of the MHP. When the signaling / parsing conditions are met, the decoding device can parse the MHP flag from the bitstream. Alternatively, as an embodiment, whether to apply MHP can be derived by the decoding device based on predefined encoding information. As an example, whether to apply MHP can be defined in the same manner as the MHP availability conditions (or signaling / parsing conditions) described below.

[0270] In addition, as an embodiment, the additional reference block deriving unit 2110 may obtain MHP information (or may be referred to as MHP prediction information) to derive an additional reference block. As an example, the MHP information may include weight information and / or prediction information. A reference block according to an MHP mode, that is, an additional reference block, may be derived based on the prediction information, and the additional reference block derived based on the weight information may be weighted summed with a basic prediction block (or an intermediate prediction block). In addition, as an example, the MHP information may further include an MHP flag indicating whether MHP is applied.

[0271] As an example, the prediction information may include mode information for deriving an additional reference block and motion information according to the mode. The mode information may be inter-prediction mode information indicating whether it is a merge mode or an AMVP mode. For example, the mode information may be a merge flag. In other words, the additional reference block may be derived using the merge mode or the AMVP mode, and a flag syntax element indicating it may be signaled. Alternatively, the additional reference block may be derived using a predefined mode among the merge mode or the AMVP mode. Alternatively, the merge mode or the AMVP mode may be selected based on predefined encoding information.

[0272] As an example, when the merge mode is used to derive the additional reference block, the prediction information may include a merge index. The merge index may specify a merge candidate in the merge candidate list. When the AMVP mode is used to derive the additional reference block, the prediction information may include a motion vector predictor flag, a reference index, and motion vector difference information. The motion vector predictor flag may specify a candidate in the motion vector predictor candidate list.

[0273] The final prediction block generation unit 2120 may generate a final prediction block by weighted summing the basic prediction block and the additional reference block. As described above, the number of additional reference blocks may be less than or equal to the predefined number. For example, when the number of additional reference blocks is 2, the final prediction block may be a block in which the basic prediction block and two additional reference blocks are weighted summed.

[0274] As described above, when a plurality of additional reference blocks are combined, the plurality of additional reference blocks may be weighted-added to the basic prediction block in sequence, or the basic prediction block and the plurality of generated additional reference blocks may be weighted-added at once.

[0275] exist Figures 7 to 18 The above-described embodiments in can be similarly applied, and repeated descriptions related thereto will be omitted.

[0276] In the above embodiments, the method is described as a series of steps or boxes based on the flowchart, but the corresponding embodiments are not limited to the order of the steps, and some steps may occur simultaneously or in a different order than other steps described above. In addition, those skilled in the art will appreciate that the steps shown in the flowchart are not exclusive, and other steps may be included or one or more steps in the flowchart may be deleted without affecting the scope of the embodiments of the present disclosure.

[0277] The above-mentioned method according to the embodiment of the present disclosure can be implemented in the form of software, and the encoding device and / or decoding device according to the present disclosure can be included in a device that performs image processing, such as a TV, a computer, a smart phone, a set-top box, a display device, etc.

[0278] In the present disclosure, when the embodiment is implemented as software, the above method can be implemented as a module (process, function, etc.) that performs the above functions. The module can be stored in a memory and can be executed by a processor. The memory can be located inside or outside the processor and can be connected to the processor by various well-known means. The processor may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and / or a data processing device. The memory may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. In other words, the embodiments described herein can be implemented on a processor, a microprocessor, a controller, or a chip. For example, the functional unit shown in each of the figures can be implemented on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information (e.g., information about instructions) or an algorithm for implementation can be stored in a digital storage medium.

[0279] In addition, the decoding device and the encoding device of the embodiment of the present disclosure can be included in multimedia broadcast sending and receiving devices, mobile communication terminals, home theater video devices, digital theater video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication, mobile streaming devices, storage media, cameras, devices for providing video on demand (VoD) services, over-the-top video (OTT) devices, devices for providing Internet streaming services, three-dimensional (3D) video devices, virtual reality (VR) devices, augmented reality (AR) devices, videophone video devices, transportation terminals (e.g., vehicle (including autonomous driving vehicle) terminals, aircraft terminals, ship terminals, etc.) and medical video devices, etc., and can be used to process video signals or data signals. For example, over-the-top video (OTT) devices can include game consoles, Blu-ray players, networked TVs, home theater systems, smart phones, tablet computers, digital video recorders (DVRs), etc.

[0280] In addition, the processing method of the embodiment of the present disclosure can be generated in the form of a program executed by a computer and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to an embodiment of the present disclosure can also be stored in a computer-readable recording medium. Computer-readable recording media include all types of storage devices and distributed storage devices that store computer-readable data. Computer-readable recording media may include, for example, Blu-ray discs (BD), universal serial buses (USB), ROMs, PROMs, EPROMs, EEPROMs, RAMs, CD-ROMs, tapes, floppy disks, and optical media storage devices. In addition, computer-readable recording media include media implemented in the form of carrier waves (e.g., transmitted via the Internet). In addition, the bit stream generated by the encoding method may be stored in a computer-readable recording medium or may be sent via a wired or wireless communication network.

[0281] In addition, the embodiments of the present disclosure may be implemented by a computer program product through a program code, and the program code may be executed on a computer by the embodiments of the present disclosure. The program code may be stored on a computer-readable carrier.

[0282] Fig. 22 An example of a content streaming system to which an embodiment of the present disclosure can be applied is shown.

[0283] refer to Fig. 22 The content streaming transmission system to which the embodiments of the present disclosure are applied may mainly include an encoding server, a streaming transmission server, a web server, a media storage, a user device, and a multimedia input device.

[0284] The encoding server generates a bitstream by compressing content input from a multimedia input device such as a smartphone, a camera, a camcorder, etc. into digital data and transmits it to the streaming server. As another example, when a multimedia input device such as a smartphone, a camera, a camcorder, etc. directly generates a bitstream, the encoding server may be omitted.

[0285] A bitstream may be generated by applying the encoding method or the bitstream generating method of the embodiment of the present disclosure, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0286] The streaming server sends multimedia data to the user device through the web server based on the user's request, and the web server serves as a medium to inform the user what services are available. When the user requests the required service from the web server, the web server delivers it to the streaming server, and the streaming server sends the multimedia data to the user. In this case, the content streaming system may include a separate control server, and in this case, the control server controls the command / response between each device in the content streaming system.

[0287] The streaming server may receive content from a media storage and / or encoding server. For example, when receiving content from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a specific period of time.

[0288] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, tablet PCs, tablet computers, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays (HMDs), digital televisions, desktops, digital signage, etc.).

[0289] Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributed and processed.

[0290] The claims set forth herein can be combined in various ways. For example, the technical features of the method claims of the present disclosure can be combined and implemented as a device, and the technical features of the device claims of the present disclosure can be combined and implemented as a method. In addition, the technical features of the method claims of the present disclosure and the technical features of the device claims can be combined and implemented as a device, and the technical features of the method claims of the present disclosure and the technical features of the device claims can be combined and implemented as a method.

Claims

1. An image decoding method, the method comprising: generating a basic prediction block of the current block by performing bi-prediction based on the first inter prediction mode; deriving an additional reference block for the current block based on a second inter prediction mode; as well as A final prediction block of the current block is generated by weighted summing the basic prediction block and the additional reference block.

2. The method according to claim 1, wherein: Generating the basic prediction block comprises: deriving a first reference block and a second reference block of the current block by performing the bi-prediction; and The basic prediction block is generated by performing a weighted summation of the first reference block and the second reference block.

3. The method according to claim 2, wherein: The additional reference block is derived as at least one reference block of the first reference block or the second reference block.

4. The method according to claim 2, wherein: deriving the additional reference block of the current block is performed by deriving a first additional reference block and a second additional reference block based on the second inter prediction mode, The second additional reference block is derived as a reference block for the first additional reference block.

5. The method according to claim 1, wherein: The first inter prediction mode includes at least one of a merge mode, an AMVP mode, or an AMVP-merge combined mode.

6. The method according to claim 5, wherein: The second inter prediction mode includes a multiple reference block mode.

7. The method according to claim 1, wherein: When a plurality of additional reference blocks are derived, the final prediction block is generated by sequentially weighting and summing the plurality of additional reference blocks to the basic prediction block.

8. The method according to claim 1, wherein: The method further comprises obtaining information about the second inter prediction mode from a bitstream.

9. The method according to claim 8, wherein: The information about the second inter prediction mode includes at least one of weight information or prediction information, The weight information represents information indicating a weight used for the weighted sum of the additional reference blocks, The prediction information represents information used to derive the additional reference block.

10. A method for image encoding, the method comprising: generating a basic prediction block of the current block by performing bi-prediction based on the first inter prediction mode; deriving an additional reference block for the current block based on a second inter prediction mode; as well as A final prediction block of the current block is generated by performing a weighted sum on the basic prediction block and the additional reference block.

11. A computer-readable storage medium, wherein the computer-readable storage medium is used to store a bit stream generated by the image encoding method according to claim 10.

12. A method for transmitting data for image information, the method comprising: generating a basic prediction block of the current block by performing bi-prediction based on the first inter prediction mode; deriving an additional reference block for the current block based on a second inter prediction mode; Generating a final prediction block of the current block by weighted summing the basic prediction block and the additional reference block; generating a bitstream by encoding the current block based on the final prediction block; as well as Data including the bit stream is transmitted.