Hybrid transform in video encoding and decoding

US9544597B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9544597-B1
Application numberUS-201313763921-A
CountryUS
Kind codeB1
Filing dateFeb 11, 2013
Priority dateFeb 11, 2013
Publication dateJan 10, 2017
Grant dateJan 10, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • H04N19/176Primary

    the region being a block, e.g. a macroblock · CPC title

  • Electricity · mapped topic

  • H04N19/11Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9544597B1 cover?
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 …
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/176. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 10 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).