Quantization matrices for compression of video
AssigneeMatrixview Limited
InventorsArvind Thiagarajan, Ravilla Jaisimha
Life of this patent
Estimating the term…
Abstract
Provided is a process including: obtaining video data; forming a transform matrix; dynamically forming a first modified quantization matrix; quantizing the first transform matrix with the modified quantization matrix; serializing the first quantized transform matrix to form a first sequence of values; compressing the first sequence of values with entropy coding to produce compressed video data; and forming a video bitstream that includes the compressed video data and a header, the header containing a parameter that instructs a decoder to decode the first block with a quantization matrix different from the modified quantization matrix.
Claims20
A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising:
- obtaining, with one or more processors, video data comprising a sequence of frames each comprising a plurality of blocks of pixel values of respective regions of pixels in respective frames;
- for a first frame in the sequence of frames, for a first block in the first frame, forming, with one or more processors, a first transform matrix by determining a first matrix of frequency-domain transform coefficients based on the pixels values in the first block, the frequency-domain transform coefficients being coefficients of a discrete cosine transform or an asymmetric discrete sine transform of the pixel values of the first block;
- for a second block in the first frame, forming, with one or more processors, a second transform matrix;
- selecting, with one or more processors, a first predetermined quantization matrix from among a discreet predetermined set of predetermined quantization matrices;
- obtaining, with one or more processors, a first modified quantization matrix that comprises a first set of values based on corresponding values in the first predetermined quantization matrix and a second set of values that are different from corresponding values in the first predetermined quantization matrix;
- quantizing, with one or more processors, the first transform matrix with the modified quantization matrix to form a first quantized transform matrix;
- quantizing, with one or more processors, the second transform matrix;
- serializing, with one or more processors, the first quantized transform matrix to form a first sequence of values;
- serializing, with one or more processors, the second transform matrix to form a second sequence of values;
- compressing, with one or more processors, the first and second sequences of values with entropy coding to produce compressed video data;
- forming, with one or more processors, a video bitstream that includes the compressed video data and a header associated with the first frame or segment of the first frame, the header containing a parameter that instructs a decoder to decode the first block with the predetermined quantization matrix and not with the modified quantization matrix;
- and
- storing, with one or more processors, the compressed video bitstream in memory or transmitting the compressed video bitstream on a network,
- wherein the compressed video bitstream is compressed by a greater amount than is provided for by one or more quantization parameters in one or more headers of the compressed video bitstream and is decodable by a decoder with access to the first predetermined quantization matrix but not the modified quantization matrix.
A method, comprising:
- obtaining, with one or more processors, video data comprising a sequence of frames each comprising a plurality of blocks of pixel values of respective regions of pixels in respective frames;
- for a first frame in the sequence of frames, for a first block in the first frame, forming, with one or more processors, a first transform matrix by determining a first matrix of frequency-domain transform coefficients based on the pixels values in the first block, the frequency-domain transform coefficients being coefficients of a discrete cosine transform or an asymmetric discrete sine transform of the pixel values of the first block;
- for a second block in the first frame, forming, with one or more processors, a second transform matrix;
- selecting, with one or more processors, a first predetermined quantization matrix from among a discreet predetermined set of predetermined quantization matrices;
- obtaining, with one or more processors, a first modified quantization matrix that comprises a first set of values based on corresponding values in the first predetermined quantization matrix and a second set of values that are different from corresponding values in the first predetermined quantization matrix;
- quantizing, with one or more processors, the first transform matrix with the modified quantization matrix to form a first quantized transform matrix;
- quantizing, with one or more processors, the second transform matrix;
- serializing, with one or more processors, the first quantized transform matrix to form a first sequence of values;
- serializing, with one or more processors, the second transform matrix to form a second sequence of values;
- compressing, with one or more processors, the first and second sequences of values with entropy coding to produce compressed video data;
- forming, with one or more processors, a video bitstream that includes the compressed video data and a header associated with the first frame or segment of the first frame, the header containing a parameter that instructs a decoder to decode the first block with the predetermined quantization matrix and not with the modified quantization matrix;
- and
- storing, with one or more processors, the compressed video bitstream in memory or transmitting the compressed video bitstream on a network,
- wherein the compressed video bitstream is compressed by a greater amount than is provided for by one or more quantization parameters in one or more headers of the compressed video bitstream and is decodable by a decoder with access to the first predetermined quantization matrix but not the modified quantization matrix.
Dependencies are inferred from the claim text.