Abstract:
Disclosed is a method for encoding a block of video. The method includes identifying, by a processor, a transformed video data block including a plurality of transformed video data, identifying a first portion of the plurality of transformed video data, identifying a second portion of the plurality of transformed video data, determining a plurality of quantized values based on the second portion of the plurality of transformed video data, and generating a quantization coefficient data block including a first portion of a plurality of quantized data values corresponding to the first portion of the plurality of transformed video data and set to a default value and including a second portion of the plurality of quantized data values corresponding to the second portion of the plurality of transformed video data and set to the plurality of quantized values.
Abstract:
Described herein are classifiers that are used to determine whether or not to partition a block in frame during prediction using recursive partitioning. Blocks of training video frames are encoded using recursive partitioning to generate encoded blocks. Training instances are generated for the encoded blocks that include values of features extracted from each encoded block and a label indicating whether or not the encoded block is partitioned into smaller blocks in the recursive partitioning. The classifiers are trained for different block sizes using the training instances associated with the block size as input to a machine-learning process. When encoding frames of a video sequence, the output of the classifiers determines whether input blocks are partitioned during encoding.
Abstract:
Frames including in a video bitstream may be partitioned using source difference variance based partitioning before encoding. Variances between blocks of a current video frame and blocks of a previous video frame are used to partition the current video frame into varying block sizes depending upon the magnitude of the variances. Blocks with low variance may be combined with other low variance blocks to form larger blocks, while blocks with high variance may be further partitioned into smaller blocks to improve coding efficiency. In cases where partitioning is unlikely to provide improved efficiency, the variation calculations may be skipped in favor of using fixed partitioning for a frame. The partitioned frames are decoded.
Abstract:
A method for encoding a video signal includes estimating a space requirement for encoding a tile of a video frame, writing a first value in a first value space of the bitstream, wherein the first value describes a size of a second value space, and defining the second value space in the bitstream, wherein the size of the second value space is based on an estimated space requirement. The method also includes writing encoded content in a content space of the bitstream, determining a size of the content space subsequent to writing encoded content in the content space, and writing a second value in the second value space of the bitstream, wherein the second value describes the size of the content space.
Abstract:
A method for encoding a video signal includes estimating a space requirement for encoding a tile of a video frame, writing a first value in a first value space of the bitstream, wherein the first value describes a size of a second value space, and defining the second value space in the bitstream, wherein the size of the second value space is based on an estimated space requirement. The method also includes writing encoded content in a content space of the bitstream, determining a size of the content space subsequent to writing encoded content in the content space, and writing a second value in the second value space of the bitstream, wherein the second value describes the size of the content space.
Abstract:
Frames of a video data stream can be encoded using statistically-based spatially differentiated partitioning. Statistically-based spatially differentiated partitioning involves forming a difference frame between a current video frame and a temporally nearby video frame and then calculating the variance of the difference frame on a block-by-block basis. A histogram can be formed from the calculated variances and a threshold determined on the histogram. The determined threshold can be used to select parameters for the encoding process that will more efficiently encode static or slow-motion areas without a significant loss in resulting quality.
Abstract:
Frames of a video stream can be partitioned using source difference variance based partitioning before encoding. Variances between blocks of a current video frame and blocks of a previous unencoded video frame are determined. The current video frame can be partitioned into varying block sizes depending upon the magnitude of the variances. Blocks with low variance may be combined with other low variance blocks to form larger blocks, while blocks with high variance may be further partitioned into smaller blocks to improve encoding efficiency of the blocks. In cases where partitioning of a frame is unlikely to provide improved efficiency, the variation calculations may be skipped in favor of using fixed partitioning.
Abstract:
A method and apparatus for video coding using motion-compensated partitioning is provided. Video coding using motion-compensated partitioning may include identifying a current block of a current frame of an input video stream, generating an encoded block by encoding the current block using motion-compensated partitioning, wherein encoding the current block using motion-compensated partitioning includes, generating coarse motion estimation information for the current block, partitioning the current block, generating fine motion estimation information for the current block, and transmitting or storing the encoded block.
Abstract:
A method and apparatus for video coding using motion-compensated partitioning is provided. Video coding using motion-compensated partitioning may include identifying a current block of a current frame of an input video stream, generating an encoded block by encoding the current block using motion-compensated partitioning, wherein encoding the current block using motion-compensated partitioning includes, generating coarse motion estimation information for the current block, partitioning the current block, generating fine motion estimation information for the current block, and transmitting or storing the encoded block.
Abstract:
Disclosed is a method for encoding a block of video. The method includes identifying, by a processor, a transformed video data block including a plurality of transformed video data, identifying a first portion of the plurality of transformed video data, identifying a second portion of the plurality of transformed video data, determining a plurality of quantized values based on the second portion of the plurality of transformed video data, and generating a quantization coefficient data block including a first portion of a plurality of quantized data values corresponding to the first portion of the plurality of transformed video data and set to a default value and including a second portion of the plurality of quantized data values corresponding to the second portion of the plurality of transformed video data and set to the plurality of quantized values.