H04N19/43

METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL BASED ON HISTORY BASED MOTION VECTOR PREDICTION
20230239497 · 2023-07-27 ·

The disclosure discloses a method for processing video signals and an apparatus therefor. Specifically, the method of processing video signals based on inter prediction, comprising: configuring a merge candidate list based on a spatial neighboring block and a temporal neighboring block to a current block; adding a history-based merge candidate of the current block to the merge candidate list; obtaining a merge index indicating a merge candidate used for an inter prediction of the current block within the merge candidate list; generating a prediction sample of the current block based on motion information of the merge candidate indicated by the merge index; and updating a history-based merge candidate list based on the motion information.

Inter prediction method and apparatus therefor

According to the present invention, an inter prediction method comprises the steps of: generating a merge candidate list for a block to be predicted, wherein the block is to correspond to a current prediction unit; deriving, on the basis of one of a plurality of merge candidates constituting the merge candidate list, motion information on the block to be predicted; and performing, on the basis of the derived motion information, a prediction on the block to be predicted so as to generate a prediction block corresponding to the current prediction unit.

Inter prediction method and apparatus therefor

According to the present invention, an inter prediction method comprises the steps of: generating a merge candidate list for a block to be predicted, wherein the block is to correspond to a current prediction unit; deriving, on the basis of one of a plurality of merge candidates constituting the merge candidate list, motion information on the block to be predicted; and performing, on the basis of the derived motion information, a prediction on the block to be predicted so as to generate a prediction block corresponding to the current prediction unit.

Video encoding and decoding

Motion vectors of a first reference frame are permitted to point to a plurality of further reference frames. A method of storing the motion vectors comprises, when a block of the first reference frame has two motion vectors (V2A, V2B) initially, selecting one of the two motion vectors, the non-selected motion vector not being stored. The selected motion vector may be scaled. This can reduce the motion vector memory size.

Video encoding and decoding

Motion vectors of a first reference frame are permitted to point to a plurality of further reference frames. A method of storing the motion vectors comprises, when a block of the first reference frame has two motion vectors (V2A, V2B) initially, selecting one of the two motion vectors, the non-selected motion vector not being stored. The selected motion vector may be scaled. This can reduce the motion vector memory size.

VIDEO DECODING IMPLEMENTATIONS FOR A GRAPHICS PROCESSING UNIT

Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.

VIDEO DECODING IMPLEMENTATIONS FOR A GRAPHICS PROCESSING UNIT

Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.

Application acceleration

A system including an acceleration device including input circuitry configured, for each of a first plurality of video frames to be encoded, to receive an input including at least one raw video frame and at least one reference frame, and to divide each of the first plurality of video frames to be encoded into a second plurality of blocks, and similarity computation circuitry configured, for each one of the first plurality of video frame to be encoded: for each block of the second plurality of blocks, to produce a score of result blocks based on similarity of each block in each frame to be encoded to every block of the reference frame, an AC energy coefficient, and a displacement vector. Related apparatus and methods are also provided.

Unified search window to support multiple video encoding standards

A system comprises a memory storage configured to store at least a portion of a frame of a video and a hardware motion estimation search processing unit configured to perform at least a portion of a motion estimation search for the video for a plurality of different block sizes. The hardware motion estimation search processing unit is configured to perform the motion estimation search using a plurality of source sub-blocks of a first block size to determine a first type of comparison evaluation values for the first block size. A combination of values included in the first type of comparison evaluation values is utilized to determine at least one second type of comparison evaluation values for a second block size, wherein the second block size is larger than the first block size.

Unified search window to support multiple video encoding standards

A system comprises a memory storage configured to store at least a portion of a frame of a video and a hardware motion estimation search processing unit configured to perform at least a portion of a motion estimation search for the video for a plurality of different block sizes. The hardware motion estimation search processing unit is configured to perform the motion estimation search using a plurality of source sub-blocks of a first block size to determine a first type of comparison evaluation values for the first block size. A combination of values included in the first type of comparison evaluation values is utilized to determine at least one second type of comparison evaluation values for a second block size, wherein the second block size is larger than the first block size.