Prediction dependent transform coding

US9565451B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9565451-B1
Application numberUS-201414529662-A
CountryUS
Kind codeB1
Filing dateOct 31, 2014
Priority dateOct 31, 2014
Publication dateFeb 7, 2017
Grant dateFeb 7, 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.

Encoding and decoding using prediction dependent transform coding are provided. Encoding and decoding using prediction dependent transform coding may include identifying a current input block from a current input frame from an input video stream, generating a prediction block for the current input block, generating a residual block based on a difference between the current input block and the prediction block, generating, by a processor in response to instructions stored on a non-transitory computer readable medium, an encoded block by encoding the residual block based on the prediction block using the using prediction dependent transform coding, including the encoded block in an output bitstream, and outputting or storing the output bitstream.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying a current input block from a current input frame from an input video stream; generating a prediction block for the current input block; generating a residual block based on a difference between the current input block and the prediction block; generating, by a processor in response to instructions stored on a non-transitory computer readable medium, an encoded block by encoding the residual block based on the prediction block using a prediction dependent transform coding; including the encoded block in an output bitstream; and outputting or storing the output bitstream. 2. The method of claim 1 , wherein encoding the residual block using a prediction dependent transform coding includes: determining a prediction dependent transform based on the prediction block; generating a residual transform block by transforming the residual block using the prediction dependent transform; and generating the encoded block by encoding the residual transform block. 3. The method of claim 2 , wherein encoding the residual block using the prediction dependent transform coding includes generating the encoded block such that the encoded block is decodable based on the prediction block on a condition that the output bitstream omits an identifier that identifies the prediction dependent transform. 4. The method of claim 2 , wherein determining the prediction dependent transform includes generating an edge information block based on the prediction block. 5. The method of claim 4 , wherein generating the edge information block includes: identifying an edge in the prediction block; identifying a first pixel from the prediction block; identifying a second pixel from the prediction block; identifying a location in the edge information block, the location corresponding to an index of the first pixel in the prediction block and an index of the second pixel in the prediction block, wherein the first pixel is immediately adjacent to the second pixel in the prediction block; and determining a value for the location, the value indicating whether the first pixel is on a first side of the edge and the second pixel is on a second side of the edge. 6. The method of claim 4 , wherein determining the prediction dependent transform includes generating the prediction dependent transform based on the edge information block. 7. The method of claim 6 , wherein generating the prediction dependent transform based on the edge information block includes identifying, as the prediction dependent transform, a matrix that can decompose a difference between a diagonal matrix and the edge information block, wherein each element of the diagonal matrix is a sum of a corresponding row of the edge information block. 8. The method of claim 4 , wherein determining the prediction dependent transform includes identifying a defined transform as the prediction dependent transform. 9. The method of claim 8 , wherein the defined transform is a discrete cosine transform. 10. The method of claim 8 , wherein encoding the residual block using the prediction dependent transform coding includes: generating an edge information transform block by transforming the edge information block using the defined transform, wherein the edge information transform block includes a plurality of edge information transform coefficients in a first order; identifying a scan order indicating a second order of the plurality of edge information transform coefficients in descending order of magnitude; and entropy coding the residual transform block using the scan order. 11. The method of claim 4 , wherein encoding the residual block using the prediction dependent transform coding includes: identifying a plurality of layers from the residual block based on the edge information block; and generating a plurality of shape adaptive transform blocks based on the plurality of layers. 12. The method of claim 11 , wherein identifying the plurality of layers includes determining a plurality of layers including a first layer and a second layer, such that the first layer includes a first plurality of residual pixels from the residual block and a first plurality of average pixels, and the second layer includes a second plurality of residual pixels from the residual block and a second plurality of average pixels, wherein determining the plurality of layers includes: determining the first layer, such that edge information, from the edge information block, corresponding to each respective residual pixel from the first plurality of residual pixels indicates a magnitude that exceeds a threshold, wherein a value of each average pixel from the first plurality of average pixels is an average of the second plurality of residual pixels; and determining the second layer, such that edge information, from the edge information block, corresponding to each respective residual pixel from the second plurality of residual pixels indicates a magnitude that is within the threshold, wherein a value of each average pixel from the second plurality of average pixels is an average of the first plurality of residual pixels. 13. The method of claim 12 , wherein generating the plurality of shape adaptive transform blocks includes: generating a first shape adaptive transform block by transforming the first layer using a first transform, and generating a second shape adaptive transform block by transforming the second layer using a second transform. 14. The method of claim 11 , wherein generating the encoded block includes generating a plurality of encoded blocks, wherein generating the plurality of encoded blocks includes generating an encoded block for each respective shape adaptive transform block from the plurality of shape adaptive transform blocks, and wherein including the encoded block in the output bitstream includes including the plurality of encoded blocks in the output bitstream. 15. The method of claim 4 , wherein determining the prediction dependent transform includes identifying the prediction dependent transform from a plurality of defined transforms based on the prediction block. 16. The method of claim 15 , wherein the plurality of defined transforms includes a discrete cosine transform and a plurality of directional transforms. 17. The method of claim 15 , wherein identifying the prediction dependent transform from the plurality of defined transforms includes identifying a predicted transform from the plurality of defined transforms, and wherein encoding the residual transform block includes encoding the residual transform block using entropy coding probabilities identified based on the predicted transform, the method further comprising: generating an encoded prediction dependent transform identifier by entropy coding an identifier indicating the prediction dependent transform using the entropy coding probabilities identified based on the predicted transform; and including the encoded prediction dependent transform identifier in the output bitstream. 18. A method comprising: identifying a current input block from a current input frame from an input video stream; generating a prediction block for the current input block; generating a residual block based on a difference between the current input block and the prediction block; generating, by a processor in response to instructions stored on a non-transitory computer readable medium, an encoded block by encoding the residual block based on the prediction block using a prediction dependent transform coding, wherein encoding the residual b

Assignees

Inventors

Classifications

  • involving spatial prediction techniques · CPC title

  • H04N19/61Primary

    in combination with predictive coding · CPC title

  • H04N19/176Primary

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

  • Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction · CPC title

  • H04N19/52Primary

    by predictive encoding · 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 US9565451B1 cover?
Encoding and decoding using prediction dependent transform coding are provided. Encoding and decoding using prediction dependent transform coding may include identifying a current input block from a current input frame from an input video stream, generating a prediction block for the current input block, generating a residual block based on a difference between the current input block and the p…
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/61. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 07 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).