Method and apparatus for coding and decoding a video signal and computer readable medium

By constructing a list of reference images and utilizing inter-frame prediction methods, video signal processing is optimized, solving the problems of efficient resource utilization and accurate prediction, and improving the efficiency and accuracy of video signal processing.

CN117156127BActive Publication Date: 2026-02-10GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311125432.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-01-02
Filing Date
2020-01-02
Publication Date
2026-02-10
Estimated Expiration
2040-01-02

AI Technical Summary

Technical Problem

Existing technologies suffer from low resource utilization efficiency and inaccurate prediction techniques when processing high spatial resolution, high frame rate, and high-dimensional video content, leading to increased memory space, access speed, and processing power.

Method used

By constructing a reference image list and using inter-frame prediction methods to obtain the image order count difference and modulus, the reference image type is labeled, the number of entries and labeling times in the reference image list are optimized, and the use of syntax elements is reduced.

Benefits of technology

It improves the resource utilization efficiency of video signal processing, reduces memory requirements and processing complexity, and enhances prediction accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117156127B_ABST
    Figure CN117156127B_ABST
Patent Text Reader

Abstract

A method and apparatus for coding a video signal and a computer readable medium are provided. The method for processing a video signal according to an embodiment of the present specification includes a step of forming a reference picture list of a current picture in a video signal, and a step of performing prediction on the current picture by using the reference picture list, wherein the step of forming the reference picture list includes a step of obtaining a picture order count (POC) difference between a picture related to a first entry of the reference picture list and another picture when the first entry corresponds to a short-term reference picture (STRP) entry, and a step of obtaining a POC modulo value of a picture related to a second entry of the reference picture list when the second entry corresponds to a long-term reference picture (LTRP) entry. A reference picture list for simply and effectively identifying a picture can be generated to improve compression performance and reduce computation time.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the original invention patent application No. 202080002063.4 (International Application No.: PCT / KR2020 / 000032, Application Date: January 2, 2020, Invention Title: Method and Apparatus for Processing Video Signals by Using Inter-Frame Prediction). Technical Field

[0002] Embodiments of this disclosure relate to a method and apparatus for processing video signals using inter-frame prediction, and more specifically, to a method and apparatus for constructing a list of reference images to predict the current image. Background Technology

[0003] Compression coding refers to a series of signal processing techniques used to transmit digital information over communication lines or to store digital information in a suitable format on storage media. Video, images, sound, or other media can be targets of compression coding. In particular, compression coding techniques for video are called video compression.

[0004] Next-generation video content will be characterized by high spatial resolution, high frame rates, and high dimensionality in scene representation. Processing this type of content will lead to a significant increase in memory space, memory access speed, and processing power.

[0005] Therefore, there is a need for the design of coding tools for efficiently processing next-generation video content. In particular, the Post-High Efficiency Video Coding (HEVC) video codec standard requires prediction techniques that can accurately generate prediction samples while using resources more efficiently. Summary of the Invention

[0006] Technical issues

[0007] Embodiments of this disclosure provide a method and apparatus for constructing a list of reference images necessary for predicting a current image.

[0008] Embodiments of this disclosure provide a method and apparatus for obtaining information necessary for constructing a list of reference images.

[0009] Embodiments of this disclosure provide a method and apparatus for limiting the number of entries necessary to construct a list of reference images.

[0010] Embodiments of this disclosure provide a method and apparatus for reducing the amount of syntactic elements necessary to construct a list of reference images.

[0011] Embodiments of this disclosure provide a method and apparatus for counting the number of times a reference image is marked during the process of constructing a list of reference images.

[0012] The purpose of this disclosure is not limited to the foregoing purposes, and other purposes not mentioned herein will be apparent to those skilled in the art from the following description.

[0013] Technical solution

[0014] Embodiments of this disclosure provide a method and apparatus for decoding video signals using inter-frame prediction. According to an embodiment of this disclosure, a method for processing a video signal includes the steps of: constructing a reference image list for a current image in the video signal; and performing prediction on the current image using the reference image list, wherein the step of constructing the reference image list includes: if a first entry in the reference image list corresponds to a Short-Term Reference Image (STRP), obtaining a Picture Order Count (POC) difference between the image associated with the first entry and another image; and if a second entry in the reference image list corresponds to a Long-Term Reference Image (LTRP), obtaining a POC modulus value for the image associated with the second entry.

[0015] According to the implementation method, the step of constructing a reference image list may include: obtaining the number of entries in the reference image list; and performing reference image tagging on each entry in the reference image list by LTRP or STRP as many times as the number of entries.

[0016] According to the implementation method, the maximum number of entries can be the maximum required size of the decoded image buffer plus 14.

[0017] According to an implementation, the step of performing reference image tagging may include: obtaining the number of STRP entries and the number of LTRP entries; and performing STRP tagging an equal number of times as the number of STRP entries and performing LTRP tagging an equal number of times as the number of LTRP entries.

[0018] According to the implementation method, the step of constructing a reference image list may include: obtaining a first flag; and determining, based on the first flag, whether an entry in the reference image list corresponds to a STRP entry or an LTRP entry.

[0019] According to the implementation method, the POC difference can be the absolute value of the POC of another image minus the POC of the image associated with the first entry.

[0020] According to the implementation method, the step of constructing a list of reference images may include: if the absolute value is greater than 0, obtaining a second flag indicating a sign of the difference in POC.

[0021] According to embodiments of this disclosure, a method for encoding a video signal includes the following steps: constructing a reference image list for a current image in the video signal; performing prediction on the current image using the reference image list; and encoding information used to construct the reference image list. The information used to construct the reference image list may include the image order count (POC) difference between an image associated with a short-term reference image (STRP) entry and another image in the reference image list, and the POC modulus of the image associated with a second entry in the reference image list that is associated with a long-term reference image (LTRP) entry.

[0022] According to the implementation method, the encoding information used to construct the reference image list may also include the number of entries in the reference image list. The maximum number of entries can be the maximum required size of the decoding image buffer plus 14.

[0023] According to an implementation, the encoded information used to construct the reference image list may further include a first flag indicating whether an entry in the reference image list corresponds to a STRP entry.

[0024] According to an implementation, the encoded information used to construct the reference image list may further include a second flag indicating the sign of the POC difference for entries where the POC difference is greater than 0.

[0025] According to the implementation, the encoded information used to construct the reference picture list can be included in the Sequence Parameter Set (SPS), Picture Parameter Set (PPS), or slice header in the bitstream associated with the video signal.

[0026] According to another embodiment of this disclosure, an apparatus for decoding a video signal includes: a memory for storing the video signal; and a processor connected to the memory. The processor is configured to construct a reference image list of a current image in the video signal and to perform prediction on the current image using the reference image list. To construct the reference image list, the processor is configured to obtain a Picture Order Count (POC) difference between the image associated with the first entry and another image if a first entry in the reference image list corresponds to a Short-Term Reference Image (STRP), and to obtain a POC modulus value for the image associated with the second entry if a second entry in the reference image list corresponds to a Long-Term Reference Image (LTRP).

[0027] According to another embodiment of this disclosure, an apparatus for encoding a video signal includes: a memory for storing the video signal; and a processor connected to the memory. The processor is configured to construct a reference picture list of a current picture in the video signal and to encode information used to construct the reference picture list. The encoded information used to construct the reference picture list may include a picture order count (POC) difference between a picture associated with a first entry and another picture in the reference picture list, and a POC modulus value of a picture associated with a second entry in the reference picture list.

[0028] According to another embodiment of this disclosure, a non-transitory computer-readable medium storing one or more instructions is provided. The one or more instructions, executed by one or more processors, control a video signal processing apparatus to construct a reference picture list of a current picture in a video signal and to perform prediction on the current picture using the reference picture list. The one or more instructions control the video signal processing apparatus to perform the following operations: in order to construct the reference picture list, if a first entry in the reference picture list corresponds to a Short-Term Reference Picture (STRP), obtain the Picture Order Count (POC) difference between the picture associated with the first entry and another picture; and if a second entry in the reference picture list corresponds to a Long-Term Reference Picture (LTRP), obtain the POC modulus of the picture associated with the second entry.

[0029] Beneficial effects

[0030] According to embodiments of this disclosure, a list of reference images necessary for predicting the current image can be constructed by labeling reference images.

[0031] According to embodiments of this disclosure, appropriate information can be obtained based on the type of reference images.

[0032] According to embodiments of this disclosure, the number of entries necessary to construct a list of reference images can be limited, thereby enabling efficient management of the memory required to store the images.

[0033] According to embodiments of this disclosure, the amount of data necessary for constructing a list of reference images can be omitted in order to parse some grammatical elements.

[0034] According to embodiments of this disclosure, the syntax for constructing a list of reference images can be implemented efficiently by counting the reference image markers.

[0035] The effects of this disclosure are not limited to those described above, and other effects not mentioned below will be apparent to those skilled in the art from the following description. Attached Figure Description

[0036] This disclosure will become better understood when considered in conjunction with the accompanying drawings, and a more complete understanding of the disclosure and its many accompanying aspects will be readily obtained by referring to the following detailed description, in which:

[0037] Figure 1 An example video encoding system according to an embodiment of the present disclosure is shown;

[0038] Figure 2 This is a block diagram schematically illustrating an encoding apparatus for encoding video / image signals according to an embodiment of the present disclosure;

[0039] Figure 3 This is a block diagram schematically illustrating a decoding apparatus for decoding video signals according to an embodiment of the present disclosure;

[0040] Figure 4 This is a diagram illustrating the structure of a content streaming system according to an embodiment of the present disclosure;

[0041] Figure 5 This is a block diagram illustrating an example apparatus for processing video signals according to an embodiment of the present disclosure;

[0042] Figure 6a , Figure 6b , Figure 6c and Figure 6d This is a view showing example block splitting structures obtained according to embodiments of the present disclosure using quadtree (QT), binary tree (BT), ternary tree (TT), and asymmetric tree (AT), respectively;

[0043] Figure 7 and Figure 8 The video / image coding program and inter-frame prediction unit based on inter-frame prediction in an encoding apparatus according to an embodiment of the present disclosure are shown.

[0044] Figure 9 and Figure 10 The video / image decoding program and inter-frame prediction unit based on inter-frame prediction in a decoding apparatus according to an embodiment of the present disclosure are shown.

[0045] Figure 11 This is a flowchart illustrating an example of a list of construction reference images according to embodiments of this disclosure;

[0046] Figure 12 and Figure 13 This is a flowchart illustrating an example of a labeled reference image according to an embodiment of the present disclosure;

[0047] Figure 14 This is a flowchart illustrating another example of a labeled reference image according to an embodiment of the present disclosure; and

[0048] Figure 15 This is a flowchart illustrating an example of processing a video signal according to an embodiment of the present disclosure. Detailed Implementation

[0049] Preferred embodiments of the present disclosure are described in detail below with reference to the accompanying drawings. The following detailed description, taken in conjunction with the drawings, is intended to describe exemplary embodiments of the present disclosure and not to present the only embodiments thereof. The detailed description below includes specific details to convey a thorough understanding of the present disclosure. However, those skilled in the art will readily understand that embodiments of the present disclosure can be practiced even without these details.

[0050] In some cases, to avoid conceptual ambiguity, known structures or devices may be omitted or shown in block diagram form while emphasizing the core features of each structure and device.

[0051] Although embodiments of this disclosure are described primarily using currently widely used general terminology, the inventors may choose certain specific terms. In such cases, the inventor's definition may be provided for that term. Therefore, the terms used herein should be interpreted based on their definitions made by the inventors rather than their simple dictionary definitions.

[0052] The terminology used herein is provided for a better understanding of this disclosure and may be modified thereto without departing from the technical spirit of this disclosure. For example, the terms “signal,” “data,” “sample,” “picture,” “slice,” “tile,” “frame,” and “block” may be appropriately replaced and interpreted in each encoding process.

[0053] As used herein, the term "processing unit" refers to a unit of processing such as encoding / decoding (e.g., prediction, transform, and / or quantization). "Processing unit" can be interpreted as including units for the luma component and units for the chroma component. For example, a processing unit may correspond to a block, a coding unit (CU), a prediction unit (PU), or a transform unit (TU).

[0054] The processing unit can also be interpreted as a unit for the luma component or a unit for the chroma component. For example, the processing unit may correspond to a coding tree block, coding block (CB), PU, ​​or transform block (TB) for the luma component. Alternatively, the processing unit may correspond to a CTB, CB, PU, ​​or TB for the chroma component. However, it is not limited to this and can also be interpreted as including units for both the luma component and the chroma component.

[0055] Furthermore, the processing unit is not necessarily limited to a square block, but can instead be a polygon with three or more vertices.

[0056] As used herein, “pixel” and “coefficient” (e.g., transform coefficient or transform coefficient that has undergone a first transform) can be collectively referred to as a sample. When using a sample, this may mean using, for example, pixel values ​​or coefficients (e.g., transform coefficients or transform coefficients that have undergone a first transform).

[0057] Figure 1 An example video coding system according to an embodiment of the present disclosure is shown.

[0058] A video encoding system may include a source device 10 and a receiving device 20. The source device 10 may transmit encoded video / image information or data to the receiving device 20 in the form of a file or stream via a digital storage medium or network.

[0059] Source device 10 may include a video source 11, an encoding device 12, and a transmitter 13. Receiving device 20 may include a receiver 21, a decoding device 22, and a renderer 23. The encoding device 12 may be referred to as a video / image encoding device, and the decoding device 22 may be referred to as a video / image decoding device. The transmitter 13 may be included in the encoding device 12. The receiver 21 may be included in the decoding device 22. The renderer 23 may include a display unit, and the display unit may be configured as a separate device or an external component.

[0060] A video source can obtain video / images by capturing, compositing, or generating video / images. A video source may include a video / image capture device and / or a video / image generation device. A video / image capture device may include, for example, one or more cameras and a video / image archive comprising previously captured video / images. A video / image generation device may include, for example, a computer, tablet PC, or smartphone, and can generate video / images (electronically). For example, virtual video / images may be generated via, for example, a computer, in which case the process used to generate its associated data can replace the video / image capture process.

[0061] Encoding device 12 can encode input video / images. For compression and encoding efficiency, encoding device 12 can perform a series of processes such as prediction, transformation, and quantization. Encoded data (encoded video / image information) can be output as a bitstream.

[0062] Transmitter 13 can transmit encoded video / image information or data, already output as a bitstream, to receiver of receiving device in the form of a file or stream via digital storage medium or network. Digital storage medium may include various storage media such as Universal Serial Bus (USB), Secure Digital (SD), Optical Disc (CD), Digital Video Disc (DVD), Blu-ray, hard disk drive, or solid-state drive (SSD) media. Transmitter 13 may include elements for generating media files in a predetermined file format and elements for transmission over broadcast / communication networks. Receiver 21 can extract the bitstream and send it to decoding device 22.

[0063] Decoding device 22 can execute a series of procedures such as inverse quantization, inverse transform, and prediction corresponding to the operation of encoding device 12, thereby decoding video / images.

[0064] Renderer 23 can render decoded video / images. The rendered video / images can then be displayed on the display unit.

[0065] Figure 2 This is a block diagram schematically illustrating an encoding apparatus for encoding video / image signals according to an embodiment of the present disclosure.

[0066] Reference Figure 2 The encoding device 100 may include an image segmentation unit 110, a subtractor 115, a transform unit 120, a quantization unit 130, an inverse quantization unit 140, an inverse transform unit 150, an adder 155, a filtering unit 160, a memory 170, an inter-frame prediction unit 180, an intra-frame prediction unit 185, and an entropy coding unit 190. The inter-frame prediction unit 180 and the intra-frame prediction unit 185 can be collectively referred to as predictors. In other words, a predictor may include inter-frame prediction unit 180 and intra-frame prediction unit 185. The transform unit 120, quantization unit 130, inverse quantization unit 140, and inverse transform unit 150 may be included in a residual processor. The residual processor may also include a subtractor 115. According to an embodiment, the image segmentation unit 110, subtractor 115, transform unit 120, quantization unit 130, inverse quantization unit 140, inverse transform unit 150, adder 155, filtering unit 160, inter-frame prediction unit 180, intra-frame prediction unit 185, and entropy coding unit 190 can be configured as a single hardware component (e.g., an encoder or processor). According to an embodiment, the memory 170 can be configured as a single hardware component (e.g., a memory or digital storage medium), and the memory 170 may include a decoded image buffer (DPB) 170.

[0067] Image segmentation unit 110 can split an image (or picture or frame) input to encoding device 100 into one or more processing units. As an example, a processing unit can be referred to as a coding unit (CU). In this case, the coding unit can be recursively split from a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree-binary tree (QTBT) structure. For example, a coding unit can be split into multiple coding units of greater depth based on a quadtree structure and / or a binary tree structure. In this case, for example, a quadtree structure can be applied first, and then a binary tree structure can be applied. Alternatively, a binary tree structure can be applied first. The encoding procedure according to embodiments of this disclosure can be performed based on the final coding unit that is no longer split. In this case, the maximum coding unit can be directly used as the final coding unit based on, for example, the coding efficiency per image property, or, if necessary, the coding unit can be recursively split into coding units of lower depth, and the optimally sized coding unit can be used as the final coding unit. The encoding procedure can include, for example, prediction, transformation, or reconstruction as described below. As an example, the processing unit may also include a prediction unit PU or a transform unit TU. In this case, the prediction unit and the transform unit may each be split into or separated from the aforementioned final coding unit. The prediction unit may be a unit for predicting samples, and the transform unit may be a unit for deriving transform coefficients and / or a unit for deriving residual signals from the transform coefficients.

[0068] In some cases, the term "unit" can be used interchangeably with "block" or "region." Typically, an M×N block can represent a set of samples or transform coefficients consisting of M columns and N rows. Samples can typically represent pixels or pixel values, or pixel / pixel values ​​representing only the luminance component or only the chrominance component. The term "sample" can be used as a term corresponding to pixels or image elements (pel) of a picture (or image).

[0069] Encoding device 100 generates a residual signal (residual block or residual sample array) by subtracting the prediction signal (prediction block or prediction sample array) output from inter-frame prediction unit 180 or intra-frame prediction unit 185 from the input image signal (original block or original sample array), and sends the generated residual signal to transform unit 120. In this case, as shown, the unit in encoding device 100 used to subtract the prediction signal (prediction block or prediction sample array) from the input image signal (original block or original sample array) can be referred to as subtractor 115. The predictor can perform prediction on the target block (hereinafter referred to as the current block) for processing and generate a prediction block including prediction samples for the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction in each block or CU unit. The predictor can generate various information for prediction (e.g., prediction mode information), as described below in conjunction with various prediction modes, and transmit the generated information to entropy coding unit 190. The prediction-related information can be encoded by entropy coding unit 190 and output as a bitstream.

[0070] Intra-prediction unit 185 can predict the current block by referencing samples in the current image. Depending on the prediction mode, the referenced samples can be located adjacent to or far from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Non-directional modes can include, for example, DC modes and planar modes. Depending on the accuracy of the prediction direction, the directional modes can include, for example, 33 or 65 directional prediction modes. However, this is merely an example, and more or fewer directional prediction modes can be used. Intra-prediction unit 185 can use prediction modes applied to neighboring blocks to determine the prediction mode applied to the current block.

[0071] Inter-frame prediction unit 180 can derive the prediction block of the current block based on a reference block (reference sample array) specified by motion vectors on a reference image. Here, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted according to blocks, sub-blocks, or samples based on the correlation in motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference image indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, or Bi prediction) information. In the case of inter-frame prediction, neighboring blocks may include spatially neighboring blocks existing in the current image and temporally neighboring blocks existing in the reference image. The reference image including the reference blocks may be the same as or different from the reference image including the temporally neighboring blocks. Temporally neighboring blocks may be referred to, for example, as co-located reference blocks or co-located CUs (colCUs), and the reference image including the temporally neighboring blocks may be referred to as a co-located image (colPic). For example, inter-frame prediction unit 180 can construct a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive the motion vector and / or reference image index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in skip mode or merge mode, the inter-frame prediction unit 180 can use motion information from neighboring blocks as motion information for the current block. In skip mode, unlike in merge mode, residual signals may not be transmitted. In motion vector prediction (MVP) mode, motion vectors from neighboring blocks can be used as motion vector predictors, and the motion vector difference can be signaled to indicate the motion vector of the current block.

[0072] The prediction signal generated by the inter-frame prediction unit 180 or the intra-frame prediction unit 185 can be used to generate the reconstructed signal or the residual signal.

[0073] Transform unit 120 can apply a transform scheme to the residual signal to generate transform coefficients. For example, the transform scheme may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loeve Transform (KLT), Graph-Based Transform (GBT), or Conditional Nonlinear Transform (CNT). GBT refers to a transform obtained from a graph representing information about the relationships between pixels. CNT refers to a transform obtained based on generating a prediction signal using all previously reconstructed pixels. Furthermore, the transform process can be applied to square pixel blocks of the same size or to non-square blocks of variable size.

[0074] Quantization unit 130 can quantize the transform coefficients and send the quantized transform coefficients to entropy coding unit 190, which can encode the quantized signal (information of the quantized transform coefficients) and output the encoded signal in a bitstream. The information of the quantized transform coefficients can be referred to as residual information. Quantization unit 130 can re-sort the block-shaped quantized transform coefficients in the form of a one-dimensional vector based on the coefficient scan order, and generate information of the quantized transform coefficients based on the one-dimensional form of the quantized transform coefficients. Entropy coding unit 190 can perform various coding methods such as exponential Golomb, context-adaptive variable-length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC). Entropy coding unit 190 can encode the values ​​of information necessary for reconstructing the video / image (e.g., syntax elements) together with or separately from the quantized transform coefficients. The encoded information (e.g., video / image information) can be sent or stored in the form of a bitstream based on each Network Abstraction Layer (NAL) unit. The bitstream can be transmitted via a network or stored in a digital storage medium. The network may include, for example, a broadcast network and / or a communication network, and the digital storage medium may include, for example, USB, SD, CD, DVD, Blu-ray, HDD, SSD, or other various storage media. A transmitter (not shown) for transmitting signals output from the entropy encoding unit 190 and / or a storage unit (not shown) for storing signals output from the entropy encoding unit 190 may be configured as internal / external components of the encoding device 100, or the transmitter may be a component of the entropy encoding unit 190.

[0075] The quantized transform coefficients output from quantization unit 130 can be used to generate a prediction signal. For example, the residual signal can be reconstructed by applying inverse quantization and inverse transform to the quantized transform coefficients via inverse quantization unit 140 and inverse transform unit 150 in the loop. Adder 155 can add the reconstructed residual signal to the prediction signal output from inter-frame prediction unit 180 or intra-frame prediction unit 185 to generate a reconstructed signal (reconstructed image, reconstructed block, or reconstructed sample array). As in the case of applying skip mode, when the target block to be processed has no residual, the prediction block can be used as the reconstructed block. Adder 155 can be represented as a reconstructor or reconstructed block generator. The reconstructed signal can be used for intra-frame prediction of the next target processing block in the current image and (as described below) filtered before being used for inter-frame prediction of the next image.

[0076] The filtering unit 160 can enhance the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 160 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and send the modified reconstructed image to the decoded image buffer 170. Various filtering methods may include, for example, deblocking filtering, sample adaptive offsetting, adaptive loop filtering, or bilateral filtering. The filtering unit 160 can generate information for filtering as described below in conjunction with each filtering method and transmit the obtained information to the entropy coding unit 190. The filtering-related information can be encoded by the entropy coding unit 190 and output as a bitstream.

[0077] The modified reconstructed image sent to the decoded image buffer 170 can be used as a reference image in the inter-frame prediction unit 180. The encoding device 100 (when applying inter-frame prediction by it) can avoid prediction mismatch between the encoding device 100 and the decoding device 200 and improve encoding efficiency.

[0078] The decoded image buffer 170 can store the modified reconstructed image for use as a reference image in the inter-frame prediction unit 180.

[0079] Figure 3 This is a block diagram schematically illustrating a decoding apparatus for decoding video signals according to an embodiment of the present disclosure.

[0080] Reference Figure 3 The decoding device 200 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, an inter-frame prediction unit 260, and an intra-frame prediction unit 265. The inter-frame prediction unit 260 and the intra-frame prediction unit 265 can be collectively referred to as predictors. In other words, a predictor may include an inter-frame prediction unit 180 and an intra-frame prediction unit 185. The inverse quantization unit 220 and the inverse transform unit 230 can be collectively referred to as a residual processor. In other words, a residual processor may include an inverse quantization unit 220 and an inverse transform unit 230. According to an embodiment, the entropy decoding unit 210, the inverse quantization unit 220, the inverse transform unit 230, the adder 235, the filtering unit 240, the inter-frame prediction unit 260, and the intra-frame prediction unit 265 may be configured in a single hardware component (e.g., a decoder or a processor). According to an embodiment, the decoded image buffer 250 may be implemented as a single hardware component (e.g., a memory or a digital storage medium). The memory may include a DPB250 and be configured with digital storage media.

[0081] When a bitstream including video / image information is input, the decoding device 200 can reconstruct the data with respect to... Figure 2The image corresponds to the video / image information process in the encoding device 100. For example, the decoding device 200 can perform decoding using a processing unit applied in the encoding device 100. Therefore, during decoding, the processing unit can be, for example, an encoding unit, and the encoding unit can be split from the encoding tree unit or the maximum encoding unit according to a quadtree structure and / or a binary tree structure. The reconstructed image signal decoded and output by the decoding device 200 can be played via a player.

[0082] Decoding device 200 can receive data from... in the form of a bitstream. Figure 2 The signal output by the encoding device 100 can be decoded by the entropy decoding unit 210. For example, the entropy decoding unit 210 can parse the bitstream and extract the information necessary for image reconstruction (or picture reconstruction) (e.g., video / image information). For example, the entropy decoding unit 210 can decode the information in the bitstream based on encoding methods such as exponential Golomb coding, CAVLC, or CABAC and can output the values ​​of the syntax elements necessary for image reconstruction and the quantization values ​​of the transform coefficients of the residuals. Specifically, the CABAC entropy decoding method can receive a binary number (bin) corresponding to each syntax element in the bitstream, use the decoding target syntax element information, the decoding information of the neighboring and decoding target blocks, or the information of the symbol / binary number decoded in a previous step to determine the context model, predict the probability of occurrence of the binary number based on the determined context model, and perform arithmetic decoding of the binary number. At this time, after determining the context model, the CABAC entropy decoding method can update the context model using the information of the symbol / binary number decoded for the context model of the next symbol / binary number. Among the information decoded by the entropy decoding unit 210, information for prediction can be provided to the predictor (e.g., inter-frame prediction unit 260 and intra-frame prediction unit 265), and the residual values ​​(i.e., quantized transform coefficients and related processor information) entropy-decoded by the entropy decoding unit 210 can be input to the inverse quantization unit 220. Among the information decoded by the entropy decoding unit 210, information for filtering can be provided to the filtering unit 240. Furthermore, the receiver (not shown) for receiving the signal output from the encoding device 100 can be configured as an internal / external component of the decoding device 200, or the receiver can be a component of the entropy decoding unit 210.

[0083] The inverse quantization unit 220 can inverse quantize the quantized transform coefficients and output the transform coefficients. The inverse quantization unit 220 can reorder the quantized transform coefficients in the form of two-dimensional blocks. In this case, the reordering can be performed based on the coefficient scan order previously performed by the encoding device 100. The inverse quantization unit 220 can use quantization parameters (e.g., quantization step size information) to inverse quantize the quantized transform coefficients to obtain the transform coefficients.

[0084] The inverse transform unit 230 can output the residual signal (residual block or residual sample array) by applying the inverse transform to the transform coefficients.

[0085] The predictor can perform prediction on the current block and generate a prediction block that includes prediction samples of the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction to the current block and determine the specific intra-frame / inter-frame prediction mode based on the prediction information output from the entropy decoding unit 210.

[0086] Intra-prediction unit 265 can predict the current block by referencing samples in the current image. Depending on the prediction mode, the referenced samples can be located near or far from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Intra-prediction unit 265 can use the prediction modes applied to neighboring blocks to determine the prediction mode applied to the current block.

[0087] Inter-frame prediction unit 260 can derive the prediction block of the current block based on a reference block (reference sample array) specified by motion vectors on a reference image. Here, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted by block, sub-block, or sample based on the correlation between motion information of neighboring blocks and the current block. Motion information may include motion vectors and reference image indices. Motion information may also include information about the inter-frame prediction direction (L0 prediction, L1 prediction, or Bi prediction). In the case of inter-frame prediction, neighboring blocks may include spatially neighboring blocks existing in the current image and temporally neighboring blocks existing in the reference image. For example, inter-frame prediction unit 260 can construct a motion information candidate list based on neighboring blocks and derive the motion vector and / or reference image index of the current block based on the received candidate selection information. Inter-frame prediction can be performed based on various prediction modes. The information used for prediction may include information indicating the mode for inter-frame prediction of the current block.

[0088] Adder 235 can add the obtained residual signal to the prediction signal (e.g., prediction block or prediction sample array) output from inter-frame prediction unit 260 or intra-frame prediction unit 265 to generate a reconstruction signal (reconstructed image, reconstruction block, or reconstruction sample array). As in the case of applying skip mode, when the target block for processing has no residual, the prediction block can be used as the reconstruction block.

[0089] Adder 235 can be represented as a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next target processing block in the current image, and (as described below) is filtered and then used for inter-frame prediction of the next image.

[0090] The filtering unit 240 can enhance the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 240 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and send the modified reconstructed image to the decoded image buffer 250. Various filtering methods may include, for example, deblocking filtering, sample adaptive offset (SAO), adaptive loop filter (ALF), or bilateral filter.

[0091] The modified reconstructed image sent to the decoded image buffer 250 can be used as a reference image by the inter-frame prediction unit 260.

[0092] In this disclosure, the embodiments described above in conjunction with the filtering unit 160, inter-frame prediction unit 180, and intra-frame prediction unit 185 of the encoding device 100 can be applied in the same manner as the filtering unit 240, inter-frame prediction unit 260, and intra-frame prediction unit 265 of the decoding device, or correspond to the filtering unit 240, inter-frame prediction unit 260, and intra-frame prediction unit 265 of the decoding device.

[0093] Figure 4 This is a diagram illustrating the structure of a content streaming system according to an embodiment of the present disclosure.

[0094] The content streaming system using this disclosure may mainly include an encoding server 410, a web server 430, a media storage device 440, a user device 450, and a multimedia input device 460.

[0095] Encoding server 410 can compress content input from a multimedia input device (e.g., a smartphone, camera, or camcorder) into digital data, generate a bitstream, and send the bitstream to streaming server 420. As an example, encoding server 410 can be omitted when the multimedia input device 460 (e.g., a smartphone, camera, or camcorder) generates the bitstream itself.

[0096] Bitstreams can be generated by applying the encoding or bitstream generation methods disclosed herein, and the stream server 420 can temporarily store bitstreams while sending or receiving them.

[0097] Streaming server 420 can send multimedia data to user device 450 based on user requests via web server 430, and web server 430 acts as a proxy to notify the user of what services are provided. When a user sends a request for a desired service to web server 430, web server 430 forwards the request to streaming server 420, and streaming server 420 sends the multimedia data to the user. The content streaming system may include a separate control server, in which case the control server controls the commands / responses between devices in the content streaming system.

[0098] Streaming server 420 can receive content from media storage device 440 and / or encoding server 410. For example, streaming server 420 can receive content from encoding server 410 in real time. In this case, to provide seamless service, streaming server 420 can store the bitstream for a predetermined time.

[0099] For example, examples of user device 450 may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, touchscreen tablet PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, or head-mounted displays (HMDs)), digital TVs, desktop computers, or digital signage devices.

[0100] In a content streaming system, servers can be distributed servers, in which case the data received by each server can be distributed and processed.

[0101] Figure 5 This is a block diagram illustrating an example apparatus for processing video signals according to an embodiment of the present disclosure. Figure 5 The video signal processing device can correspond to Figure 2 Encoding device 100 or Figure 3 Decoding device 200.

[0102] According to embodiments of the present disclosure, the video signal processing apparatus 500 may include a memory 520 for storing video signals and a processor 510 connected to the memory for processing video signals.

[0103] According to embodiments of this disclosure, processor 510 can be configured as at least one processing circuit for processing video signals and can execute instructions for encoding or decoding video signals to process video signals. In other words, processor 510 can encode video signals or decode encoded video signals by executing the following encoding or decoding methods.

[0104] According to embodiments of this disclosure, processor 510 can be configured as at least one processing circuit for processing image signals and can execute instructions for encoding or decoding image signals to process image signals. In other words, processor 510 can encode raw image data or decode encoded image signals by executing the above-described encoding or decoding methods.

[0105] Figure 6a , Figure 6b , Figure 6c and Figure 6d This is a diagram illustrating example block splitting structures obtained according to embodiments of the present disclosure using quadtrees (QT), binary trees (BT), ternary trees (TT), and asymmetric trees (AT), respectively.

[0106] In video encoding, a block can be split based on QT. A sub-block split by QT can be further recursively split using QT. Leaf blocks that are no longer split by QT can be split using at least one of BT, TT, or AT schemes. BT can have two types of splitting, such as horizontal BT (2N×N, 2N×N) and vertical BT (N×2N, N×2N). TT can have two types of splitting, such as horizontal TT (2N×1 / 2N, 2N×N, 2N×1 / 2N) and vertical TT (1 / 2N×2N, N×2N, 1 / 2N×2N). AT can have four types of splitting, such as horizontal upward AT (2N×1 / 2N, 2N×3 / 2N), horizontal downward AT (2N×3 / 2N, 2N×1 / 2N), vertical leftward AT (1 / 2N×2N, 3 / 2N×2N), and vertical rightward AT (3 / 2N×2N, 1 / 2N×2N). BT, TT, and AT can each be further recursively split using BT, TT, and AT.

[0107] Figure 6a This example demonstrates how to split blocks using Qt. Block A can be split into four sub-blocks (A0, A1, A2, A3) using Qt. Sub-block A1 can then be further split into four sub-blocks (B0, B1, B2, B3) using Qt.

[0108] Figure 6bAn example of BT splitting is shown. Block B3, which is no longer split by QT, can be split into vertical BT (C0, C1) or horizontal BT (D0, D1). Like block C0, each sub-block can be further recursively split, for example, in the form of horizontal BT (E0, E1) or vertical BT (F0, F1).

[0109] Figure 6c An example of TT splitting is shown. Block B3, which is no longer split by QT, can be split into vertical TT (C0, C1, C2) or horizontal TT (D0, D1, D2). Like block C1, each sub-block can be further recursively split, for example, in the form of horizontal TT (E0, E1, E2) or vertical TT (F0, F1, F2).

[0110] Figure 6d An example of AT splitting is shown. Block B3, which is no longer split via QT, can be split into vertical AT (C0, C1) or horizontal AT (D0, D1). Like block C1, each sub-block can be further recursively split, for example, in the form of horizontal AT (E0, E1) or vertical TT (F0, F1).

[0111] Furthermore, BT, TT, and AT can be used together for splitting. For example, sub-blocks split by BT can be split using TT or AT. Similarly, sub-blocks split by TT can be split using BT or AT. Sub-blocks split by AT can also be split using BT or TT. For instance, after splitting horizontally by BT, each sub-block can be split vertically by BT, or vice versa. In this case, despite the different splitting orders applied, the final shape after splitting can be the same.

[0112] When a block is split, the order of various search blocks can be defined. Typically, the search is performed from left to right or from top to bottom. A search block can refer to the order in which each sub-block is further split, the order in which each sub-block is encoded (if the block is no longer split), or the search order when a sub-block references other neighboring blocks.

[0113] Figure 7 and Figure 8 The present invention illustrates a video / image coding program and an inter-frame prediction unit based on inter-frame prediction in an encoding apparatus according to an embodiment of the present disclosure.

[0114] Encoding device 100 performs inter-frame prediction on the current block (S710). Encoding device 100 can derive the motion i and inter-frame prediction mode of the current block and generate prediction samples for the current block. Here, the determination of the inter-frame prediction mode, the derivation of motion information, and the generation of prediction samples can be performed simultaneously, or any one of them can be performed before the others. For example, the inter-frame prediction unit 180 of encoding device 100 may include a prediction mode determination unit 181, a motion information derivation unit 182, and a prediction sample derivation unit 183. The prediction mode determination unit 181 can determine the prediction mode of the current block, the motion information derivation unit 182 can derive the motion information of the current block, and the prediction sample derivation unit 183 can derive the prediction samples of the current block. For example, the inter-frame prediction unit 180 of encoding device 100 can search for blocks similar to the current block in a predetermined region (search region) of a reference image via motion estimation and derive reference blocks that have the minimum difference, a predetermined difference, or a smaller difference than the current block. Based on this, a reference image index indicating the location of the reference block can be derived, and motion vectors can be derived based on the positional difference between the reference block and the current block. The encoding device 100 can determine the mode applicable to the current block from various prediction modes. The encoding device 100 can compare the RD costs of various prediction modes and determine the optimal prediction mode for the current block.

[0115] For example, when a skip mode or merge mode is applied to the current block, the encoding device 100 can construct a merge candidate list as described below and export the reference block from among the reference blocks indicated by the merge candidates included in the merge candidate list that has the smallest difference, a predetermined difference, or a smaller difference than the current block. In this case, a merge candidate associated with the exported reference block can be selected, and merge index information indicating the selected merge candidate can be generated and signaled to the decoding device 200. The motion information of the current block can be exported using the motion information of the selected merge candidate.

[0116] As an example, when the (A)MVP mode is applied to the current block, the encoding device 100 can construct an (A)MVP candidate list and use the motion vector of the MVP candidate selected from the motion vector predictor (MVP) candidates included in the (A)MVP candidate list as the MVP of the current block. In this case, for example, the motion vector of the reference block derived by the above motion estimation can be used as the motion vector of the current block, and the MVP candidate with the motion vector that has the smallest difference from the motion vector of the current block can be the selected MVP candidate. The motion vector difference (MVD) between the motion vector of the current block and the MVP can be derived. In this case, the MVD information can be signaled to the decoding device 200. Furthermore, when the (A)MVP mode is applied, the value of the reference image index can be configured as reference image index information and signaled separately to the decoding device 200.

[0117] The encoding device 100 can derive residual samples based on the predicted samples (S720). The encoding device 100 can derive residual samples by comparing the original samples of the current block with the predicted samples.

[0118] Encoding device 100 encodes image information including prediction information and residual information (S730). Encoding device 100 can output the encoded image information in the form of a bitstream. Prediction information may include motion information and prediction mode information (e.g., skip flag, merge flag, or mode index) as information related to the prediction procedure. Motion information may include candidate selection information (e.g., merge index, MVP flag, or MVP index), which is information used to derive motion vectors. Furthermore, motion information may include the aforementioned MVD information and / or reference image index information. Motion information may include information indicating whether L0 prediction, L1 prediction, or Bi prediction is applied. Residual information is information about residual samples. Residual information may include information about the quantized transform coefficients used for the residual samples.

[0119] The output bitstream can be stored in (digital) storage media and transmitted to the decoding device, or it can be transmitted to the decoding device via a network.

[0120] Simultaneously, as described above, the encoding device can generate a reconstructed image (including reconstructed samples and reconstructed blocks) based on the reference samples and residual samples. This is to allow the encoding device 100 to derive the same prediction result as that obtained by the decoding device 200, thereby improving encoding efficiency. Therefore, the encoding device 100 can store the reconstructed image (or reconstructed samples or reconstructed blocks) in memory and use it as a reference image for inter-frame prediction. As described above, for example, in-loop filtering can be further performed on the reconstructed image.

[0121] Figure 9 and Figure 10 The present invention illustrates a video / image decoding program and an inter-frame prediction unit based on inter-frame prediction in a decoding apparatus according to an embodiment of the present disclosure.

[0122] The decoding device 200 can perform operations corresponding to those performed by the encoding device 100. The decoding device 200 can perform predictions on the current block based on the received prediction information and derive prediction samples.

[0123] Specifically, the decoding device 200 can determine the prediction mode of the current block based on the received prediction information (S910). The decoding device 200 can determine which inter-frame prediction mode is applied to the current block based on the prediction mode information in the prediction information.

[0124] For example, decoding device 200 can determine which mode, either merge mode or (A)MVP mode, to apply to the current block based on a merge flag. Alternatively, decoding device 200 can select one from a variety of inter-frame prediction mode candidates based on a mode index. Inter-frame prediction mode candidates may include skip mode, merge mode, and / or (A)MVP mode, or various other inter-frame prediction modes described below.

[0125] Decoding device 200 derives motion information for the current block based on the determined inter-frame prediction mode (S920). For example, when a skip mode or merge mode is applied to the current block, decoding device 200 can construct a merge candidate list as described below and select one from the merge candidates included in the merge candidate list. The selection of a merge candidate can be performed based on a merge index. Motion information for the current block can be derived from the motion information of the selected merge candidate. The motion information of the selected merge candidate can be used as the motion information for the current block.

[0126] As an example, when the (A)MVP mode is applied to the current block, the decoding device 200 can construct an (A)MVP candidate list and use the motion vector of the MVP candidate selected from the MVP candidates included in the (A)MVP candidate list as the MVP of the current block. The selection of the MVP can be performed based on the aforementioned selection information (MVP flag or MVP index). In this case, the decoding device 200 can derive the MVD of the current block based on the MVD information and derive the motion vector of the current block based on the MVD and MVP of the current block. Furthermore, the decoding device 200 can derive the reference image index of the current block based on the reference image index information. The image indicated by the reference image index in the reference image list of the current block can be exported as a reference image for inter-frame prediction of the current block.

[0127] Furthermore, as described below, the motion information of the current block can be exported without configuring a candidate list. In this case, the motion information of the current block can be exported based on the procedure initiated in the prediction mode described below. In this case, the aforementioned candidate list configuration can be omitted.

[0128] Decoding device 200 can generate prediction samples for the current block based on the motion information of the current block (S930). In this case, decoding device 200 can derive a reference image based on the reference image index of the current block, and use samples of the reference block on the reference image indicated by the motion vector of the current block to derive prediction samples for the current block. In this case, as described below, prediction sample filtering can be further performed on all or some of the prediction samples of the current block as appropriate.

[0129] For example, the inter-frame prediction unit 260 of the decoding device 200 may include a prediction mode determination unit 261, a motion information derivation unit 262, and a prediction sample derivation unit 263. The prediction mode determination unit 261 can determine the prediction mode of the current block based on the received prediction mode information, the motion information derivation unit 262 can derive the motion information (motion vector and / or reference image index) of the current block based on the received motion information, and the prediction sample derivation unit 263 can derive the prediction samples of the current block.

[0130] The decoding device 200 generates residual samples for the current block based on the received residual information (S940). The decoding device 200 can generate reconstructed samples for the current block based on the predicted samples and residual samples, and generate a reconstructed image based on this (S950). Thereafter, in-loop filtering can be further performed on the reconstructed image as described above.

[0131] As described above, the inter-frame prediction procedure may include the following steps: determining an inter-frame prediction mode; deriving motion information based on the determined prediction mode; and performing prediction based on the derived motion information (generating prediction samples).

[0132] Various inter-frame prediction modes can be used to predict the current block in an image. For example, merge mode, skip mode, MVP mode, and affine mode can be used. Decoder-side Motion Vector Refinement (DMVR) mode and Adaptive Motion Vector Resolution (AMVR) mode can be further used as additional modes. Affine mode can also be called affine motion prediction mode. MVP mode can also be called Advanced Motion Vector Prediction (AMVP) mode.

[0133] Prediction mode information, indicating the inter-frame prediction mode of the current block, can be signaled from the encoding device to the decoding device 200. The prediction mode information can be included in the bitstream and received by the decoding device 200. The prediction mode information may include index information indicating one of several candidate modes. Alternatively, the inter-frame prediction mode can be indicated via hierarchical signaling of flag information. In this case, the prediction mode information may include one or more flags. For example, the encoding device 100 may signal a skip flag to indicate whether a skip mode is applied, and when a skip mode is not applied, signal a merge flag to indicate whether a merge mode is applied, and when a merge mode is not applied, indicate the application of the MVP mode or further signal flags for additional discrimination. The affine mode can be signaled as an independent mode or as a mode dependent on the merge mode or the MVP mode. For example, the affine mode can be configured as a candidate in the merge candidate list or the MVP candidate list, as described below.

[0134] Encoding device 100 or decoding device 200 can perform inter-frame prediction using motion information of the current block. Encoding device 100 can derive optimal motion information for the current block via a motion estimation procedure. For example, encoding device 100 can use original blocks in the original image of the current block to search for highly correlated similar reference blocks in a predetermined search range in the reference image based on per-fractional pixel, and derive motion information accordingly. Block similarity can be derived based on the difference between phase-based sample values. For example, block similarity can be calculated based on the sum of absolute differences (SAD) between the current block (or its template) and a reference block (or its template). In this case, motion information can be derived based on the reference block with the minimum SAD in the search region. The derived motion information can be signaled to the decoding device based on the inter-frame prediction mode using various methods.

[0135] When the merge mode is applied, the motion information of the current prediction block is not sent directly, but instead derived using the motion information of its neighboring prediction blocks. Therefore, the encoding device 100 can indicate the motion information of the current prediction block by sending a flag indicating that the merge mode has been used and a merge index indicating which neighboring prediction blocks have been used.

[0136] Encoding device 100 needs to search for candidate blocks to merge for deriving motion information of the current prediction block in order to implement a merging mode. For example, up to five candidate blocks can be used, but embodiments of this disclosure are not limited to this. A maximum number of candidate blocks can be sent in the slice header, but embodiments of this disclosure are not limited to this. After discovering candidate blocks, encoding device 100 can generate a list of candidate blocks and select the candidate block with the lowest cost from among them as the final candidate block to merge.

[0137] This document describes various implementations of the merge candidate block that constitutes the merge candidate list.

[0138] The merge candidate list can use, for example, five merge candidate blocks. For instance, four spatial merge candidates and one temporal merge candidate could be utilized.

[0139] The method for configuring a list of reference images for the above inter-frame prediction is described below.

[0140] High-Level Syntax (HLS) exists in video coding systems to control the overall sharing of common information. HLS aims to manage frames to reduce bit count, thereby enabling efficient use of memory. HLS uses a reference picture management system that invokes a process represented as reference picture tagging. This process tags each frame based on its availability for decoding the current frame. The purpose of designing and implementing HLS is to have a simple and efficient means of identifying the pictures necessary for decoding the current frame.

[0141] Implementation Method 1

[0142] In this implementation, a reference picture list (RPL) management system that is directly signaled and derived is introduced. Two lists are used (e.g., reference picture list 0 and reference picture list 1). Information used to derive the two reference picture lists is signaled as syntax elements in the slice header, sequence parameter set (SPS), and picture parameter set (PPS). The two lists are generated on all types of slices. However, while I slices do not use information from the lists, P slices use information from list 0 only, and B slices use information from both lists. Picture sequence count (POC) numbers are used to identify pictures. Each picture can be classified as a long-term reference picture (LTRP) or a short-term reference picture (STRP). Pictures classified as LTRP or STRP represent active pictures that can be used during decoding, while inactive pictures are pictures that are not used during the decoding process.

[0143] Figure 11 This is a flowchart illustrating an example of a list of construction reference images according to embodiments of this disclosure. Figure 11The operation can be performed by the decoding device 200.

[0144] Figure 11 The front part of the reference image list configuration process is shown. First, in step S1105, the decoding device 200 parses the total number of entries in the list. Then, for each entry, the image is marked as LTRP or STRP via a reference image marking process (S1120). In this disclosure, marking an image refers to adding or updating information (parameters) related to the image. Specifically, the decoding device 200 initializes the entry index (i) (S1110), and performs reference image marking (S1120) when the entry index (i) is equal to or less than the total number of entries (S1115). When the reference image marking is complete, the decoding device updates the entry index (i) (S1125). According to an embodiment of this disclosure, a novel architecture is proposed to enhance the reference image management system.

[0145] Figure 12 and Figure 13 This is a flowchart illustrating an example of a labeled reference image according to an embodiment of the present disclosure.

[0146] [Table 1]

[0147]

[0148] Table 1 shows an example of the syntax for configuring a list of reference pictures. Here, this implementation provides a structure capable of managing reference pictures. The `ref_pic_list_struct` function receives `listIdx` as its first input, indicated by `rpl1_same_as_rpl0_flag`. In other words, when the flag (`rpl1_same_as_rpl0_flag`) is true, this indicates that the lists are identical, and one list (L0 or L1) can be inferred from the other list (L1 or L0). The second input, `rplsIdx`, of the `ref_pic_list_struct` function represents the number of reference picture lists used in the coded video sequence specified in the SPS. `num_ref_entries` represents the number of entries in `ref_pic_list_struct(listIdx, rpIsIdx)`. When an LRTP frame is used for each entry, the flag is parsed from the list to read whether the frame is considered LTRP or STRP. When an entry is a STRP entry and is the first STRP entry in the syntax structure `ref_pic_list_struct(listIdx, rpIsIdx)`, this indicates the absolute difference between the POC of the current image and the POC of the image referenced by the i-th entry. Alternatively, if the i-th entry is a STRP but not the first entry, it indicates the absolute difference between the POC of the image referenced by the i-th entry and the POC of the image indicated by the previous STRP. (If the entry is a STRP, it is the first STRP entry in the syntax structure `ref_pic_list_struct(listIdx, rpIsIdx)` and it indicates the absolute difference between the POC of the current image and the image referenced by the i-th entry; or if the i-th entry is a STRP entry but not the first entry, it indicates the absolute difference between the POC of the i-th entry and the POC of the image referenced by the previous STRP.) When the `abs_delta_poc` of the i-th entry is greater than 0, a flag indicating the code information of the STRP is signaled. However, when st_ref_pic_flag is 0, the i-th entry represents the long-term reference picture. The LTRP is notified via a signal using the least significant bit (LSB) of the POC.

[0149] The syntax elements related to Table 1 can be defined as follows:

[0150] `num_ref_entries[ listIdx ][ rplsIdx ]` represents the number of entries in the `ref_pic_list_struct(listIdx, rplsIdx )` syntax structure. `num_ref_entries[ listIdx ][ rplsIdx ]` can have values ​​from 0 to `sps_max_dec_pic_buffering_minus1 + 14`.

[0151] When rpl1_same_as_rpl0_flag is 1, the syntax structures num_ref_pic_lists_in_sps[1] and ref_pic_list_struct(1, rplsIdx) do not exist, and the following items are applied.

[0152] - num_ref_pic_lists_in_sps[1] is inferred to have the same value as num_ref_pic_lists_in_sps[0].

[0153] - For rplsIdx, which can be a value from 0 to num_ref_pic_lists_in_sps[0] - 1, the value of each syntax element in ref_pic_list_struct(1, rplsIdx) is inferred to be the same as the value of the syntax element in ref_pic_list_struct(0, rplsIdx).

[0154] When long_term_ref_pics_flag is 0, it means that LTRP was not used for inter-frame prediction of any coded pictures in the coded video sequence (CVS). When long_term_ref_pics_flag is 1, it means that LTRP was used for inter-frame prediction of one or more coded pictures in the CVS.

[0155] When `st_ref_pic_flag[listIdx][rplsIdx][i]` is 1, the i-th entry in the syntax structure `ref_pic_list_struct(listIdx, rplsIdx)` is a STRP entry. When `st_ref_pic_flag[listIdx][rplsIdx][i]` is 0, the i-th entry in the syntax structure `ref_pic_list_struct(listIdx, rplsIdx)` is an LTRP entry. Unless it exists, the value of `st_ref_pic_flag[listIdx][rplsIdx][i]` is inferred to be 1.

[0156] When the i-th entry is the first STRP in the syntax structure ref_pic_list_struct(listIdx, rplsIdx), abs_delta_poc_st[listIdx][rplsIdx][i] represents the absolute difference in image order count between the image referenced by the i-th entry and the current image, unless the i-th entry is a STRP but not the first entry in the syntax structure ref_pic_list_struct(listIdx, rplsIdx), in which case it represents the absolute difference in image order count between the previous STRP in the syntax structure ref_pic_list_struct(listIdx, rplsIdx) and the image referenced by the i-th entry.

[0157] abs_delta_poc_st[listIdx][rplsIdx][i] has values ​​from 0 to 2 15 - The value of 1.

[0158] When `strp_entry_sign_flag[listIdx][rplsIdx][i]` is 1, it means that the i-th entry in the syntax structure `ref_pic_list_struct(listIdx, rplsIdx)` has a value equal to or greater than 0. When `strp_entry_sign_flag[listIdx][rplsIdx][i]` is 0, it means that the i-th entry in the syntax structure `ref_pic_list_struct(listIdx, rplsIdx)` has a value less than 0. Unless it exists, the value of `strp_entry_sign_flag[i][j]` is inferred to be 1.

[0159] `poc_lsb_lt[listIdx][rplsIdx][i]` represents the modulo (maxPicOrderCntLsb) of the picture order count of the image referenced by the i-th entry in `ref_pic_list_struct(listIdx, rplsIdx)`. The length of `poc_lsb_lt[listIdx][rplsIdx][i]` is `log2_max_pic_order_cnt_lsb_minus4 + 4 bits`.

[0160] The above descriptions of grammatical elements can be summarized as shown in Table 2 below:

[0161] [Table 2]

[0162]

[0163] Reference Figure 12 The decoding device 200 identifies whether LTRP was used in the reference image list entry using the long_term_ref_pics_flag (S1205), and when LTRP was used (when long_term_ref_pics_flag is 1), it parses st_ref_pic_flag (S1210) and identifies whether st_ref_pic_flag is true (S1215). When st_ref_pic_flag is true (1) (i.e., when the current entry is a STRP entry), the decoding device 200 parses abs_delta_poc_st. In other words, when the current entry corresponds to a STRP entry, the decoding device 200 obtains the POC difference between the image associated with the current entry and the previous image.

[0164] When long_term_ref_pics_flag is false in step S1205, the decoding device directly parses abs_delta_poc_st. Afterwards, the decoding device 200 identifies whether abs_delta_poc_st is greater than 0 (S1225), and when abs_delta_poc_st is greater than 0, it parses strp_entry_sign_flag (S1230).

[0165] When st_ref_pic_flag is false (0) in step S1215, the decoding device 200 parses poc_lsb_lt (S1235). In other words, when the current entry corresponds to an LTRP entry, the decoding device 200 obtains the POC modulus value of the image associated with the current entry. The POC modulus value of the image is used to derive the POC value of the image and can be combined with the most significant bit (MSB) of the POC to derive the POC value of the image.

[0166] It can be like Figure 13 The two boxes shown represent the above process of configuring the list of reference pictures. The operation of each box can be implemented by the same or different hardware. The decoding device 200 can obtain a flag indicating whether a long-term reference picture is used (long_term_ref_pic_flag) and the number of entries (num_ref_entries) (1310), and determine whether each entry is an LTRP entry or a STRP entry (1320).

[0167] Implementation Method 2

[0168] In this implementation, a limitation is proposed on the `num_ref_entries` parameter described above in conjunction with Table 1. Typically, `num_ref_entries[listIdx][rpIsIdx]` represents the number of entries in `ref_pic_list_struct(listIdx, rpIsIdx)`. It is recognized that `num_ref_entries` can have values ​​from 0 to `sps_max_dec_pic_buffering_minus1 + 14`. To use fewer frames, the range of `num_ref_entries` can be limited. The worst-case scenario occurs when 14 more frames than the value indicated by `sps_max_dec_pic_buffering_minus1` are required. This means that the decoding picture buffer needs to have sufficient memory to store so many frames. Instead of this, a limitation can be imposed on the hierarchical groups of structures (GOPs) by considering the layer's `temporalId`.

[0169] Additional syntax can be defined as shown in Table 3. `sps_max_dec_pic_buffering_minus1` plus 1 serves as the unit for the image storage buffer, representing the maximum required size of a decoding image buffer in CVS. `sps_max_dec_pic_buffering_minus1` can have values ​​from 0 to `MaxDpbSize-1`, and `MaxDpbSize` can be defined separately.

[0170] [Table 3]

[0171]

[0172] In other words, the maximum number of entries in the reference image list can be the maximum required size of the decoding image buffer plus 14. Furthermore, according to this embodiment (Embodiment 2), the maximum number of entries in the reference image list can be the maximum required size of the decoding image buffer.

[0173] Implementation Method 3

[0174] In this implementation, a method is proposed to remove the syntax element `long_term_ref_pics_flag` from `ref_pic_list_struct(listIdx, rpIsIdx)`. When the syntax element `long_term_ref_pics_flag` is 0, it indicates that LTRP is no longer used for inter-frame prediction of any coded pictures in CVS. When `long_term_ref_pics_flag` is 1, it indicates that LTRP is used for inter-frame prediction of one or more coded filters in CVS. By removing the syntax element `long_term_ref_pics_flag`, it can be inferred that LTRP is used by default in CVS. This is useful because LTRP is typically a high-reliability picture in DPB.

[0175] Implementation Method 4

[0176] Figure 14 This is a flowchart illustrating another example of a labeled reference image according to an embodiment of the present disclosure.

[0177] Another implementation of ref_pic_list_struct(listIdx, rpIsIdx) is provided. Specifically, it is possible to consider configuring ref_pic_list_struct(listIdx, rpIsIdx) to separately notify LTRP and STRP using signals. This can be represented as shown in Table 4 below. Here, according to embodiments of this disclosure, a method is provided to limit num_strp_entries[listIdx][rpIsIdx], which indicates the total number of STRPs used, and num_ltrp_entries[listIdx][rpIsIdx], which indicates the total number of LTRPs used.

[0178] Figure 14The outline of the proposed structure for separately signaling LTRP and STRP counts is shown. Here, the STRP and LTRP counts are first resolved using the LTRP based on the `long_term_ref_pics_flag`. Then, for each entry, the `lt_ref_pic_flag` indicating whether the picture is an LTRP is resolved. When `lt_ref_pic_flag` is true, the LTRP count is incremented. Otherwise, the STRP count is incremented. When `lt_ref_pic_flag` is false, the STRP is identified by resolving `delta_poc_st` and its code information (when `delta_poc_st` is greater than 0). Otherwise, the LTRP is identified by the LSB POC.

[0179] Table 4 below shows an example of the syntax for configuring the list of reference pictures according to an implementation method.

[0180] [Table 4]

[0181]

[0182] num_strp_entries[ listIdx ][ rplsIdx ] represents the number of STRP entries in ref_pic_list_struct(listIdx, rplsIdx ).

[0183] num_ltrp_entries[ listIdx ][ rplsIdx ] represents the number of LTRP entries in ref_pic_list_struct(listIdx, rplsIdx ).

[0184] When lt_ref_pic_flag[listIdx][rplsIdx] does not exist, the value of lt_ref_pic_flag[listIdx][rplsIdx] is inferred as follows.

[0185] When num_ltrp_entries[listIdx][rplsIdx] is 0, the value (lt_ref_pic_flag[listIdx][rplsIdx]) is inferred as 0. Otherwise, it is inferred as 0 when numLtrps (the number of LTRPs) equals num_ltrp_entries[listIdx][rplsIdx], and when numStrps (the number of STRPs) equals num_strp_entries[listIdx][rplsIdx]

[0186] [Table 5]

[0187]

[0188] Reference Figure 14 Decoding device 200 begins constructing a reference list (S1405) and parses the number of STRP entries (num_strp_entries) (S1410). The decoding device identifies whether LTRP is used (S1415), and if LTRP is used, parses the number of LTRP entries (num_ltrp_entries) (S1420). Decoding device 200 initializes variables i, numLtrps, and numStrps to 0 (S1425), determines whether variable i is equal to or less than the number of entries (num_ref_entires) (S1430), and performs a reference image marking operation (S1435) and updates i when i is equal to or less than the number of entries (num_ref_entires) (S1440).

[0189] Figure 15 This is a flowchart illustrating an example of processing a video signal according to an embodiment of the present disclosure. Figure 15 The operation can be performed by the decoding device 200.

[0190] In step S1510, the decoding device 200 constructs a reference picture list for the current picture in the video signal. When the first entry in the reference picture list corresponds to an STRP entry, the decoding device 200 obtains the POC difference (e.g., abs_delta_poc_st) between the picture associated with the first entry and the prior picture, and when the second entry in the reference picture list corresponds to an LTRP entry, it obtains the POC modulus (e.g., poc_lsb_lt) of the picture associated with the second entry.

[0191] According to the implementation method, during the configuration of the reference image list, the decoding device 200 can obtain the number of entries (num_ref_entries) in the reference image list, and perform reference image marking on each entry in the reference image list as many times as the number of entries by LTRP or STRP.

[0192] According to the implementation, the maximum number of entries can be the maximum required size of the decoded image buffer plus 14 (e.g., sps_max_dec_pic_buffering_minus1 + 14) or the maximum required size of the decoded image buffer (e.g., sps_max_dec_pic_buffering_minus1).

[0193] According to the implementation, during the reference image marking process, the decoding device 200 can obtain the number of STRP entries (e.g., num_strp_entries) and the number of LTRP entries (e.g., num_ltrp_entries) as shown in Table 4, perform STRP marking as many times as the number of STRP entries, and perform LTRP marking as many times as the number of LTRP entries.

[0194] According to the implementation, during the configuration of the reference image list, the decoding device 200 can obtain a first flag and determine whether an entry in the reference image list is a STRP entry or an LTRP entry based on the first flag. For example, the decoding device 200 can use a flag (e.g., st_ref_pic_flag) indicating whether the image associated with the current entry corresponds to a STRP to determine whether the current entry is a STRP entry or an LTRP entry.

[0195] According to the implementation, the POC difference represents the absolute value of the POC of the prior image minus the POC of the image associated with the first entry. When the absolute value (absolute POC difference) (e.g., abs_delta_poc_st) is greater than 0, the decoding device 200 can obtain a second flag (e.g., strp_entry_sign_flag) indicating the sign of the POC difference.

[0196] In step S1520, the decoding device 200 uses a list of reference images to perform a prediction on the current image. For example, the decoding device 200 can generate a prediction sample using sample values ​​indicated by motion vectors in reference images included in a first list of reference images (L0) or a second list of reference images (L1).

[0197] Embodiments of this disclosure provide a method and apparatus for encoding information necessary for constructing a list of reference images. Encoding device 100 can construct the list of reference images and use reference images from the list to perform predictions.

[0198] Furthermore, for each entry in the reference image list, the encoding device 100 can encode the information used to configure the reference image list according to the entry. For example, the information used to configure the reference image list includes the POC difference (e.g., abs_delta_poc_st) between the image corresponding to the STRP and the prior image and includes the POC modulus value (e.g., poc_lsb_lt) of the image corresponding to the LTRP.

[0199] The encoding device 100 may include a first flag (e.g., st_ref_pic_flag) in the information used to configure the reference picture list to indicate whether the picture in the reference picture list is a STRP or LTRP. Additionally, when the POC difference (i.e., abs_delta_poc_st) is greater than 0, a second flag (e.g., strp_entry_sign_flag) may be included to indicate the sign of the POC difference. The information used to configure the reference picture list may be included in the SPS, PPS, or slice header and notified by a signal.

[0200] The processing methods applying the embodiments of this disclosure can be manufactured in the form of a program executable on a computer and can be stored in a computer-readable recording medium. Multimedia data having the data structure according to this 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 capable of storing computer-readable data. Computer-readable recording media can include, for example, Blu-ray discs (BD), Universal Serial Bus (USB) drives, ROMs, PROMs, EPROMs, EEPROMs, RAM, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. Computer-readable recording media can include media implemented in the form of a carrier wave (e.g., transmission via the Internet). Bitstreams generated by encoding methods can be stored in a computer-readable recording medium or transmitted via wired / wireless communication networks.

[0201] According to one embodiment of this disclosure, the embodiments of this disclosure can be implemented as computer programs using program code that can be executed on a computer. The computer code can be stored on a computer-readable medium.

[0202] Decoding and encoding devices employing embodiments of this disclosure may include digital devices. Digital devices encompass all kinds or types of digital devices capable of performing at least one of the following: transmitting, receiving, processing, and outputting data, content, or services. Processing data, content, or services by a digital device includes encoding and / or decoding the data, content, or services. Such digital devices may be paired or connected to other digital devices or external servers via wired / wireless networks to transmit or receive data, or convert data as necessary.

[0203] Digital devices may include, for example, internet TV, hybrid broadcast broadband TV, smart TV, internet protocol television (IPTV), personal computers or other standing devices, or mobile or handheld devices such as personal digital assistants (PDAs), smartphones, tablet PCs, or laptop computers.

[0204] As used herein, “wired / wireless network” refers collectively to a communication network that supports various communication standards or protocols for data communication and / or interconnection between digital devices or between digital devices and external servers. Such wired / wireless networks may include communication networks currently supported or to be supported in the future, as well as communication protocols for such networks, and may be formed by, for example, communication standards for wired connections and communication standards for wireless connections. Communication standards for wired connections include USB (Universal Serial Bus), CVBS (Composite Video Blanking Synchronization), component, S-Video (analog), DVI (Digital Video Interface), HDMI (High Definition Multimedia Interface), RGB, or D-SUB, and communication standards for wireless connections include Bluetooth, RFID (Radio Frequency Identification), IrDA (Infrared Data Association), UWB (Ultra-Wideband), ZigBee, DLNA (Digital Living Networks Alliance), WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless Broadband), WiMAX (Global Microwave Access Interoperability), HSDPA (High-Speed ​​Downlink Packet Access), LTE (Long Term Evolution), or Wi-Fi Direct.

[0205] The above embodiments relate to predetermined combinations of components and features of this disclosure. Unless otherwise expressly stated, each component or feature should be considered optional. Each component or feature can be practiced without being combined with other components or features. Furthermore, some components and / or features can be combined together to configure embodiments of this disclosure. The order of operations described in conjunction with embodiments of this disclosure can vary. Some components or features in the embodiments can be included in another embodiment or replaced with corresponding components or features of another embodiment. Clearly, unless otherwise expressly stated, the claims can be combined to constitute embodiments, or such combinations can be added to new claims by amendment after filing.

[0206] When implemented in firmware or hardware, embodiments of this disclosure can be implemented as modules, programs, or functions that perform the functions or operations described above. Software code can be stored in memory and driven by a processor. The memory can be located inside or outside the processor to exchange data with the processor through various known methods.

[0207] It will be apparent to those skilled in the art that this disclosure may be implemented in other specific forms without departing from its essential features. Therefore, the foregoing description should not be construed as limiting in all respects, but rather as exemplary. The scope of this disclosure should be determined by a reasonable interpretation of the appended claims, and all equivalents of this disclosure fall within its scope.

[0208] Industrial applicability

[0209] The preferred embodiments of this disclosure have been provided for illustrative purposes, and it will be readily understood by those skilled in the art that various changes or modifications may be made thereto, or other embodiments may be added or substituted, without departing from the technical spirit and scope of this disclosure as defined in the appended claims.

Claims

1. A method for decoding a video signal using inter-frame prediction, the method comprising the following steps: Construct a reference image list for the current image in the video signal; as well as The current image is predicted based on the reference image list. The steps for constructing the reference image list include: Obtain the number of entries in the reference image list; and Based on a first flag indicating whether a Long-Term Reference Image (LTRP) is used for inter-frame prediction of one or more coded images, reference image tagging is performed on each entry in the reference image list an equal number of times as the number of entries, according to either the Short-Term Reference Image (STRP) or the LTRP. The steps for performing the reference image marking include: Based on the first entry of the reference image list corresponding to the STRP, obtain the image order count (POC) difference between the reference image associated with the first entry and another image; and Based on the second entry in the reference image list corresponding to the LTRP, the POC modulus value of the image related to the second entry is obtained. The maximum number of entries is 13 times the maximum required size of the decoding image buffer, and the maximum required size of the decoding image buffer is determined based on the time ID of the current image. The steps for constructing the reference image list include: A second flag indicating the sign of the POC difference is obtained based on the absolute value of the POC difference being greater than 0.

2. The method according to claim 1, in, The steps for performing the reference image labeling include: Obtain the number of STRP entries and the number of LTRP entries; and STRP marking is performed as many times as the number of STRP entries, and LTRP marking is performed as many times as the number of LTRP entries.

3. The method according to claim 1, wherein, The steps for constructing the reference image list include: Obtain a third flag indicating whether an entry in the list of reference images corresponds to a STRP entry; and The third identifier is used to determine whether an entry in the reference image list corresponds to a STRP entry or an LTRP entry.

4. The method according to claim 1, in, The absolute value of the POC difference is the POC of the current image minus the absolute value of the POC of the reference image related to the first entry.

5. The method according to claim 1, wherein, The other image is the current image if the first entry is the first STRP in the reference image tag, or if the first entry is not the first STRP in the reference image tag, and the other image is a previous STRP in the reference image list.

6. A method for encoding a video signal using inter-frame prediction, the method comprising the steps of: Construct a reference image list for the current image in the video signal; as well as The encoding information used to construct the reference image list is encoded. The encoded information used to construct the reference image list includes the number of entries in the reference image list, a first flag indicating whether a Long-Term Reference Image (LTRP) is used for inter-frame prediction of one or more coded images, the image order count (POC) difference between the reference image associated with the first entry in the reference image list and another image, and the POC modulus of the image associated with the second entry in the reference image list. Wherein, the POC difference is the absolute value of the POC of the other image minus the POC of the reference image associated with the first entry. The maximum number of entries is 13 times the maximum required size of the decoding image buffer, and the maximum required size of the decoding image buffer is determined based on the time ID of the current image. The encoded information used to construct the reference image list further includes a second flag indicating the sign of the POC difference when the absolute value of the POC difference is greater than 0.

7. The method according to claim 6, wherein, The encoded information used to construct the list of reference images also includes a third flag indicating whether an entry in the list of reference images corresponds to a short-term reference image (STRP) entry.

8. The method according to claim 6, wherein, The encoded information used to construct the reference image list is included in the Sequence Parameter Set (SPS), Picture Parameter Set (PPS), or Slice Header in the bitstream associated with the video signal.

9. The method according to claim 6, wherein, The other image is the current image if the first entry is the first STRP in the reference image marker, or if the first entry is not the first STRP in the reference image marker, and the other image is a previous STRP in the reference image list.

10. An apparatus for decoding video signals, the apparatus comprising: The memory is used to store the video signal; and The processor, which is connected to the memory, The processor is configured as follows: Construct a reference image list for the current image in the video signal; and Prediction is performed on the current image using the reference image list. In order to construct the reference image list, the processor is configured as follows: Obtain the number of entries in the reference image list; and Based on a first flag indicating whether a Long-Term Reference Image (LTRP) is used for inter-frame prediction of one or more coded images, reference image tagging is performed on each entry in the reference image list an equal number of times as the number of entries, according to either the Short-Term Reference Image (STRP) or the LTRP. In order to perform the reference image marking, the processor is configured to: Based on the first entry of the reference image list corresponding to the STRP, obtain the image order count (POC) difference between the reference image associated with the first entry and another image; and Based on the second entry in the reference image list corresponding to the LTRP, the POC modulus value of the reference image related to the second entry is obtained. The maximum number of entries is 13 times the maximum required size of the decoding image buffer, and the maximum required size of the decoding image buffer is determined based on the time ID of the current image. In order to construct the reference image list, the processor is configured as follows: A second flag indicating the sign of the POC difference is obtained based on the absolute value of the POC difference being greater than 0.

11. An apparatus for encoding video signals, the apparatus comprising: The memory is used to store the video signal; and The processor, which is connected to the memory, The processor is configured as follows: Construct a reference image list for the current image in the video signal; and The encoding information used to construct the reference image list is encoded. The encoded information used to construct the reference image list includes the number of entries in the reference image list, a first flag indicating whether a Long-Term Reference Image (LTRP) is used for inter-frame prediction of one or more coded images, the Image Order Count (POC) difference between the reference image associated with the first entry in the reference image list and another image, and the POC modulus of the reference image associated with the second entry in the reference image list. Wherein, the POC difference is the absolute value of the POC of the other image minus the POC of the reference image associated with the first entry. The maximum number of entries is 13 times the maximum required size of the decoding image buffer, and the maximum required size of the decoding image buffer is determined based on the time ID of the current image. The encoded information used to construct the reference image list further includes a second flag indicating the sign of the POC difference when the absolute value of the POC difference is greater than 0.

12. A non-transitory computer-readable medium for storing one or more instructions, said one or more instructions being executable by one or more processors to control a video signal processing apparatus to perform the following operations: Construct a reference image list for the current image in the video signal; as well as The current image is predicted based on the reference image list. in, In order to construct the reference image list, the one or more instructions control the video signal processing device to perform the following operations: Obtain the number of entries in the reference image list; and Based on a first flag indicating whether a Long-Term Reference Image (LTRP) is used for inter-frame prediction of one or more coded images, reference image tagging is performed on each entry in the reference image list an equal number of times as the number of entries, according to either the Short-Term Reference Image (STRP) or the LTRP. In order to execute the reference image marking, the one or more instructions control the video signal processing device to perform the following operations: Based on the first entry of the reference image list corresponding to the STRP, obtain the image order count (POC) difference between the image associated with the first entry and another image; and Based on the second entry in the reference image list corresponding to the LTRP, the POC modulus value of the image related to the second entry is obtained. The maximum number of entries is 13 times the maximum required size of the decoding image buffer, and the maximum required size of the decoding image buffer is determined based on the time ID of the current image. In order to execute the reference image marking, the one or more instructions control the video signal processing device to perform the following operations: A second flag indicating the sign of the POC difference is obtained based on the absolute value of the POC difference being greater than 0.

13. A computer-readable storage medium storing a computer program and a bit stream, wherein when executed by one or more processors, the computer program causes the one or more processors to implement a method for generating the bit stream, the method comprising the steps of: Construct a list of reference images for the current image in the video signal; as well as The encoding information used to construct the reference image list is encoded. The encoded information used to construct the reference image list includes the number of entries in the reference image list, a first flag indicating whether a Long-Term Reference Image (LTRP) is used for inter-frame prediction of one or more coded images, the image order count (POC) difference between the reference image associated with the first entry in the reference image list and another image, and the POC modulus value of the image associated with the second entry in the reference image list. Wherein, the POC difference is the absolute value of the POC of the other image minus the POC of the reference image associated with the first entry. The maximum number of entries is 13 times the maximum required size of the decoding image buffer, and the maximum required size of the decoding image buffer is determined based on the time ID of the current image. The encoded information used to construct the reference image list further includes a second flag indicating the sign of the POC difference when the absolute value of the POC difference is greater than 0.

Citation Information

Patent Citations

  • Method and apparatus for signaling image information, and decoding method and apparatus using same

    CN103931189A

  • Long-term reference picture signaling in video coding

    CN104662920A