Apparatus and method for encoding video using different second-stage transform
US-9106933-B1 · Aug 11, 2015 · US
US9544597B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9544597-B1 |
| Application number | US-201313763921-A |
| Country | US |
| Kind code | B1 |
| Filing date | Feb 11, 2013 |
| Priority date | Feb 11, 2013 |
| Publication date | Jan 10, 2017 |
| Grant date | Jan 10, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Blocks of a frame of a video stream can be encoded using intra prediction followed by transforming the generated residual blocks. In some cases, coding efficiency can be improved by subdividing large blocks into smaller sub-blocks. Transform modes may be associated with at least one intra prediction mode so as to identify one or more transform modes for the block or its sub-blocks. A scan mode can be identified based on the transform mode. Desirably, each of a plurality of probability models is associated with a transform mode and a block size such that the appropriate model(s) may be selected for a block or its sub-blocks. Each probability model may be associated with only one transform mode and only one block size or may be associated with more than one transform mode and/or more than one block size and may be updated on-the-fly during encoding of a video stream.
Opening claim text (preview).
What is claimed is: 1. A method for encoding a video stream having a plurality of frames, the method comprising: identifying, by a processor, an intra prediction mode for a block of a frame, wherein the intra prediction mode is one of a plurality of intra prediction modes; generating a residual block for the block using the intra prediction mode; identifying a transform mode for the residual block based on the intra prediction mode identified for the block, the transform mode being one of a plurality of transform modes and each of the plurality of transform modes associated with at least one of the plurality of intra prediction modes; wherein the plurality of transform modes comprises a 1D Asymmetrical Discrete Sine Transform (ADST) applied to each horizontal row followed by a 1D ADST applied to each vertical column, the 1D ADST applied to each horizontal row followed by a 1D Discrete Cosine Transform (DCT) applied to each vertical column, the 1D DCT applied to each horizontal row followed by the 1D ADST applied to each vertical column, and the 1D DCT applied to each horizontal row followed by the 1D DCT applied to each vertical column; applying the transform mode to the residual block to generate a transform block comprising a plurality of transform coefficients; identifying a scan mode for the transform block based on the transform mode identified for the residual block; scanning the transform block to form a sequence of the plurality of transform coefficients using the scan mode identified for the residual block; identifying a probability model of a plurality of probability models for generating an entropy code for the plurality of transform coefficients in the sequence, the probability model identified based on the transform mode identified for the residual block, and each of the plurality of probability models associated with at least one of the plurality of transform modes; and encoding the sequence using the probability model identified using the residual block. 2. The method of claim 1 wherein identifying the transform mode for the residual block comprises: identifying a transform size for the residual block based on a size of the residual block; and identifying a transform type for the residual block as separable one dimensional (1D) transforms for each horizontal row and vertical column of the residual block. 3. The method of claim 2 wherein each of the plurality of probability models is associated with only one of the plurality of transform modes and one size of a plurality of possible sizes of the residual block. 4. The method of claim 2 wherein each of the plurality of probability models is associated with at least one of the plurality of transform modes and at least one of a plurality of possible sizes for the residual block. 5. The method of claim 4 wherein at least one of the plurality of probability models is associated with more than one of the plurality of transform modes and more than one of the plurality of possible sizes for the residual block. 6. The method of claim 1 wherein identifying the intra prediction mode comprises: calculating rate distortion values for the plurality of intra prediction modes for the block; and identifying, as the intra prediction mode, one of the plurality of intra prediction modes having a lowest rate distortion value of the rate distortion values for the block. 7. The method of claim 6 , further comprising: including the encoded sequence in an encoded video bitstream; and including bits identifying the intra prediction mode in the encoded video bitstream. 8. The method of claim 1 wherein the scan mode is one of a plurality of scan modes, the plurality of scan modes comprising a column-wise scan mode, a row-wise scan mode or a zig-zag scan mode; and wherein each of the plurality of transform modes is associated with one of the plurality of scan modes. 9. The method of claim 1 wherein the plurality of prediction modes includes at least two of a TrueMotion mode TM, a DC mode, a diagonal down/left mode LD, a diagonal down/right mode RD, a vertical/right mode VR, a horizontal/down mode HD, a vertical/left mode VL or a horizontal/up mode HU. 10. The method of claim 1 wherein the block is a first block of the frame and the transform block is a first transform block, and wherein identifying a scan mode for the first transform block using the transform mode comprises identifying a first scan mode for the first transform block based on the transform mode and a size of the first transform block such that the first scan mode is different from a second scan mode of a second transform block of the frame that has the transform mode of the first transform block but is a different size from the size of the first transform block. 11. The method of claim 1 wherein: the block is a first block of the frame; the intra prediction mode is a first intra prediction mode; a first transform mode of the plurality of transform modes is associated with at least two of the plurality of intra prediction modes; the first transform mode is identified for the first block, the transform block is first transform block, and the plurality of transform coefficients is a first plurality of transform coefficients; and identifying a scan mode for the first plurality of transform coefficients comprises identifying a first scan mode for the first transform block based on the first transform mode such that the first scan mode is used for a plurality of transform coefficients of a second transform block of the frame that has the first transform mode of the first transform block but has a second intra prediction mode that is different from the first intra prediction mode. 12. An apparatus for encoding a video stream having a plurality of frames, the apparatus comprising: a memory; and a processor configured to execute instructions stored in the memory to: identify an intra prediction mode for a block of a frame, wherein the intra prediction mode is one of a plurality of intra prediction modes; generate a residual block for the block using the intra prediction mode; identify a transform mode for the residual block based on the intra prediction mode identified for the block, the transform mode being one of a plurality of transform modes and each of the plurality of transform modes associated with at least one of the plurality of intra prediction modes; wherein the plurality of transform modes comprises a 1D Asymmetrical Discrete Sine Transform (ADST) applied to each horizontal row followed by a 1D ADST applied to each vertical column, the 1D ADST applied to each horizontal row followed by a 1D Discrete Cosine Transform (DCT) applied to each vertical column, the 1D DCT applied to each horizontal row followed by the 1D ADST applied to each vertical column, and the 1D DCT applied to each horizontal row followed by the 1D DCT applied to each vertical column; apply the transform mode to the residual block to generate a transform block comprising a plurality of transform coefficients; identify a scan mode for the transform block using the transform mode identified for the residual block; scan the transform block to form a sequence of the plurality of transform coefficients using the scan mode identified for the residual block, identify a probability model of a plurality of probability models for generating an entropy code for the plurality of transform coefficients in the sequence, the probability model identified based on the transform mode identified for the residual block, and each of the plurality of probability models associated with at least one of the plurality of transform modes; and encode the sequence using the probability model identified using the residual block.
the region being a block, e.g. a macroblock · CPC title
Electricity · mapped topic
among a plurality of spatial predictive coding modes · CPC title
Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO] · CPC title
Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.