H04N19/57

Encoding and decoding based on blending of sequences of samples along time

Computer processor hardware receives image data specifying element settings for each image of multiple original images in a sequence. The computer processor hardware analyzes the element settings across the multiple original images. The computer processor hardware then utilizes the element settings of the multiple original images in the sequence to produce first encoded image data specifying a set of common image element settings, the set of common image element settings being a baseline to substantially reproduce each of the original images in the sequence.

Encoding and decoding based on blending of sequences of samples along time

Computer processor hardware receives image data specifying element settings for each image of multiple original images in a sequence. The computer processor hardware analyzes the element settings across the multiple original images. The computer processor hardware then utilizes the element settings of the multiple original images in the sequence to produce first encoded image data specifying a set of common image element settings, the set of common image element settings being a baseline to substantially reproduce each of the original images in the sequence.

Motion vector refinement for multi-reference prediction

The present invention relates to the performance of motion vector refinement in a search space for multi-reference inter-prediction. Two or more reference pictures are selected, one of those used for motion vector refinement. Based on an initial estimate of a motion vector to the reference picture for motion vector refinement, a search space in this reference image is constructed. Using template matching, the first motion vector is refined. The second motion vector to another reference picture is calculated using its initial estimate, the initial estimate of the first motion vector and the refined first motion vector.

Constraining sub-block motion vectors and determining adjustment values based on the constrained sub-block motion vectors
11683518 · 2023-06-20 · ·

An apparatus is provided and includes processing circuitry that determines a plurality of first sub-block motion vectors for a plurality of sub-blocks of a current block. The processing circuitry determines a plurality of second sub-block motion vectors by respectively constraining the plurality of first sub-block motion vectors according to a first target range. The processing circuitry determines a set of gradient values associated with a current sample location in a current sub-block from the plurality of sub-blocks according to a reference sub-block. The processing circuitry determines a set of adjustment values associated with the current sample location according to the set of gradient values and an adjustment vector associated with the current sample location. Further, the processing circuitry generates a predicted sample associated with the current sample location according to a combination of a corresponding sample in the reference sub-block and the set of adjustment values.

Constraining sub-block motion vectors and determining adjustment values based on the constrained sub-block motion vectors
11683518 · 2023-06-20 · ·

An apparatus is provided and includes processing circuitry that determines a plurality of first sub-block motion vectors for a plurality of sub-blocks of a current block. The processing circuitry determines a plurality of second sub-block motion vectors by respectively constraining the plurality of first sub-block motion vectors according to a first target range. The processing circuitry determines a set of gradient values associated with a current sample location in a current sub-block from the plurality of sub-blocks according to a reference sub-block. The processing circuitry determines a set of adjustment values associated with the current sample location according to the set of gradient values and an adjustment vector associated with the current sample location. Further, the processing circuitry generates a predicted sample associated with the current sample location according to a combination of a corresponding sample in the reference sub-block and the set of adjustment values.

Block-adaptive search range and cost factors for decoder-side motion vector (MV) derivation techniques

A method of decoding video data may comprise decoding data from an encoded bitstream to generate motion vectors and performing a decoder-side motion vector refinement (DMVR) process on one or more of the motion vectors. Performing the DMVR process may include determining one or more characteristics of current video block being decoded and determining a search area for the DMVR process for the current video block based on the determined one or more characteristics of the current video block.

INTRA BLOCK COPY PREDICTION RESTRICTIONS IN VIDEO CODING

An example method includes determining, for each respective coding block of a plurality of coding blocks of a current coding tree unit (CTU) of video data in a current picture of video data, a respective search area of a plurality of respective search areas, wherein at least one of the plurality of search areas includes samples of the current picture located outside of the current CTU, and wherein at least one of the plurality of search areas does not include samples of the current picture located outside of the current CTU; selecting, for each respective coding block and from within the respective search area for the respective coding block, a respective predictor block of a plurality of predictor blocks; and reconstructing samples of each respective coding block based on samples included in a corresponding predictor block in the plurality of predictor blocks.

ADVANCED MOTION ESTIMATION
20170347108 · 2017-11-30 ·

Encoding and decoding using advanced motion estimation includes generating a first encoded frame by encoding a first frame from the input video stream, generating a reconstructed frame based on the first encoded frame, generating an encoded reference frame by encoding the reconstructed frame, wherein encoding the reconstructed frame includes storing the encoded reference frame in an external memory such that respective blocks from the encoded reference frame are directly accessible, generating a second encoded frame by encoding a second frame from the input video stream, and transmitting or storing the second encoded frame. Encoding the second frame includes generating reconstructed reference frame data, wherein generating the reconstructed reference frame data includes directly retrieving a block from the encoded reference frame from the external memory, and encoding the second frame using the reconstructed reference frame data.

ADVANCED MOTION ESTIMATION
20170347108 · 2017-11-30 ·

Encoding and decoding using advanced motion estimation includes generating a first encoded frame by encoding a first frame from the input video stream, generating a reconstructed frame based on the first encoded frame, generating an encoded reference frame by encoding the reconstructed frame, wherein encoding the reconstructed frame includes storing the encoded reference frame in an external memory such that respective blocks from the encoded reference frame are directly accessible, generating a second encoded frame by encoding a second frame from the input video stream, and transmitting or storing the second encoded frame. Encoding the second frame includes generating reconstructed reference frame data, wherein generating the reconstructed reference frame data includes directly retrieving a block from the encoded reference frame from the external memory, and encoding the second frame using the reconstructed reference frame data.

METHOD FOR SCANNING CODING BLOCKS INSIDE A VIDEO FRAME BY VIDEO CODECS
20170347099 · 2017-11-30 ·

A method for encoding video and an encoder for encoding video, a method for decoding video and a decoder for decoding video are provided. Accordingly, in one embodiment, a method for decoding video receives a bit-stream including a plurality of data units encoded according to a scan pattern comprising at least one U-pattern, and decodes a data unit among the plurality of data units by using at least one data unit included among the plurality of data units, the at least one other data unit being decoded prior to the data unit according to the scan pattern. When the plurality of data units are included in a data cluster, the method includes scanning the plurality of data units according to the at least one U-pattern, and the scanning includes scanning and decoding the data unit, followed by scanning and decoding a neighboring data unit horizontally or vertically adjacent to the data unit.