Apparatus and method for encoding video using different second-stage transform
US-9106933-B1 · Aug 11, 2015 · US
US9565451B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9565451-B1 |
| Application number | US-201414529662-A |
| Country | US |
| Kind code | B1 |
| Filing date | Oct 31, 2014 |
| Priority date | Oct 31, 2014 |
| Publication date | Feb 7, 2017 |
| Grant date | Feb 7, 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.
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.
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
involving spatial prediction techniques · CPC title
in combination with predictive coding · CPC title
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
by predictive encoding · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.