Patent classifications
H04N19/44
DIRECTED INTERPOLATION AND DATA POST-PROCESSING
An encoding device evaluates a plurality of processing and/or post-processing algorithms and/or methods to be applied to a video stream, and signals a selected method, algorithm, class or category of methods/algorithms either in an encoded bitstream or as side information related to the encoded bitstream. A decoding device or post-processor utilizes the signaled algorithm or selects an algorithm/method based on the signaled method or algorithm. The selection is based, for example, on availability of the algorithm/method at the decoder/post-processor and/or cost of implementation. The video stream may comprise, for example, downsampled multiplexed stereoscopic images and the selected algorithm may include any of upconversion and/or error correction techniques that contribute to a restoration of the downsampled images.
DIRECTED INTERPOLATION AND DATA POST-PROCESSING
An encoding device evaluates a plurality of processing and/or post-processing algorithms and/or methods to be applied to a video stream, and signals a selected method, algorithm, class or category of methods/algorithms either in an encoded bitstream or as side information related to the encoded bitstream. A decoding device or post-processor utilizes the signaled algorithm or selects an algorithm/method based on the signaled method or algorithm. The selection is based, for example, on availability of the algorithm/method at the decoder/post-processor and/or cost of implementation. The video stream may comprise, for example, downsampled multiplexed stereoscopic images and the selected algorithm may include any of upconversion and/or error correction techniques that contribute to a restoration of the downsampled images.
SETTING MOTION VECTOR PRECISION FOR INTRA PREDICTION WITH MOTION VECTOR DIFFERENCE
A method for video encoding includes setting a motion vector precision associated with a current block to be encoded in a current picture, and determining a motion vector for encoding the current block based on the motion vector precision. The method also includes determining a motion vector difference for the current block based on (i) the determined motion vector for encoding the current block, (ii) a predicted motion vector of the current block in inter prediction mode, and (iii) the motion vector precision. The method further includes encoding the current block according to the determined motion vector, and generating a coded video bitstream including the encoded current block and including prediction information indicating that the current block is coded in inter prediction mode and indicating the determined motion vector difference for the current block.
SETTING MOTION VECTOR PRECISION FOR INTRA PREDICTION WITH MOTION VECTOR DIFFERENCE
A method for video encoding includes setting a motion vector precision associated with a current block to be encoded in a current picture, and determining a motion vector for encoding the current block based on the motion vector precision. The method also includes determining a motion vector difference for the current block based on (i) the determined motion vector for encoding the current block, (ii) a predicted motion vector of the current block in inter prediction mode, and (iii) the motion vector precision. The method further includes encoding the current block according to the determined motion vector, and generating a coded video bitstream including the encoded current block and including prediction information indicating that the current block is coded in inter prediction mode and indicating the determined motion vector difference for the current block.
PARALLEL CODING USING HISTORY-BASED MOTION VECTOR PREDICTION WITH SHARED ROW BUFFERS
A method of video encoding includes, prior to encoding a first tile of s plurality of tiles of a current picture, initializing a shared row buffer that is shared among multiple processor threads associated with the first tile. The method also includes encoding a first unit of a plurality of units in a first row of the first tile by a first processor thread and using a corresponding first HMVP buffer. The method also includes, when all of the plurality of blocks in the first unit have been encoded, copying contents of the first HMVP buffer into the shared row buffer, copying contents of the shared row buffer into a second HMVP buffer, starting encoding of a unit in a second row of the plurality of rows by the second processor thread using the second HMVP buffer, and resetting the first HMVP buffer.
PARALLEL CODING USING HISTORY-BASED MOTION VECTOR PREDICTION WITH SHARED ROW BUFFERS
A method of video encoding includes, prior to encoding a first tile of s plurality of tiles of a current picture, initializing a shared row buffer that is shared among multiple processor threads associated with the first tile. The method also includes encoding a first unit of a plurality of units in a first row of the first tile by a first processor thread and using a corresponding first HMVP buffer. The method also includes, when all of the plurality of blocks in the first unit have been encoded, copying contents of the first HMVP buffer into the shared row buffer, copying contents of the shared row buffer into a second HMVP buffer, starting encoding of a unit in a second row of the plurality of rows by the second processor thread using the second HMVP buffer, and resetting the first HMVP buffer.
SIGNALING OF FLAG INDICATING ZERO MOTION VECTOR DIFFERENCE FOR A CONTROL POINT
A method for video encoding includes determining a corresponding motion vector for each of multiple control points of a base predictor. The method further includes determining a corresponding motion vector difference for each of the multiple control points of the base predictor based on the determined motion vector for each respective control point. The method further includes generating prediction information of the current block to be included in a coded video bitstream. The prediction information includes (i) a usage flag indicative of the affine merge mode with offset, (ii) offset parameters defining the determined corresponding motion vector difference for each of the one or more of the control points, and (iii) a zero motion vector difference flag for the multiple control points of the base predictor. The zero motion vector difference flag indicates whether offset parameters for the respective control point are provided in the prediction information.
SIGNALING OF FLAG INDICATING ZERO MOTION VECTOR DIFFERENCE FOR A CONTROL POINT
A method for video encoding includes determining a corresponding motion vector for each of multiple control points of a base predictor. The method further includes determining a corresponding motion vector difference for each of the multiple control points of the base predictor based on the determined motion vector for each respective control point. The method further includes generating prediction information of the current block to be included in a coded video bitstream. The prediction information includes (i) a usage flag indicative of the affine merge mode with offset, (ii) offset parameters defining the determined corresponding motion vector difference for each of the one or more of the control points, and (iii) a zero motion vector difference flag for the multiple control points of the base predictor. The zero motion vector difference flag indicates whether offset parameters for the respective control point are provided in the prediction information.
EXTENSION OF EFFECTIVE SEARCH RANGE FOR CURRENT PICTURE REFERENCING
A method of video encoding includes determining whether a reference block for a current block is located in a different coding tree unit (CTU) than a CTU of the current block. The method also includes, in response to the reference block being located in the different CTU, (i) determining whether a memory location of a reference sample memory for the reference block is available. The second area is collocated in the different CTU with a position of the first area in the CTU of the current block. In response to the determination that the reference block is located in the different CTU, the method also includes, (ii) in response to a determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to encode the current block.
SELECTION OF EXPLICIT MODE OR IMPLICIT MODE IN INTRA BLOCK COPY CODING
A method for video encoding includes determining whether coding of a current block in an IBC prediction mode is performed in an explicit mode or an implicit mode based on whether a difference exists between a block vector and a corresponding block vector predictor. The current block is part of a current picture to be coded. The method further includes constructing a block vector predictor candidate list for the current block, the block vector predictor candidate list having a first number of block vector predictor candidates in the implicit mode, and having a second number of block vector predictor candidates in the explicit mode. The method further includes selecting a block vector predictor candidate from the constructed block vector predictor candidate list and encoding the current block according to the selected block vector predictor candidate.