IP Library Granted Patent US 9,344,742
Granted Patent B2
US 9,344,742 · App. 13/572,013 · Granted May 17, 2016

Transform-domain intra prediction

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,344,742
App. No.
13/572,013
Granted
May 17, 2016
Kind
B2
Abstract

A method for encoding a frame having a plurality of blocks in a video stream using transform-domain intra prediction is disclosed. The method includes generating, using a two-dimensional transform, a set of transform coefficients for a current block; generating, using a one-dimensional transform, a set of transform coefficients for previously coded pixel values in the frame; determining, using the set of transform coefficients for the previously coded pixel values, a set of transform coefficients for a prediction block; determining a residual based on the difference between the set of transform coefficients for the current block and the set of coefficients for the prediction block; and encoding the residual.

Claims (33)

1. A method for encoding a frame in a video stream using a computing device, the frame having a plurality of blocks including a current block, the method comprising:

generating, using a two-dimensional transform, a set of transform coefficients for the current block;

generating, using a one-dimensional transform, a set of transform coefficients for a plurality of previously coded pixel values in the frame, wherein the set of transform coefficients for the plurality of previously coded pixel values includes transform coefficients for a row above and immediately adjacent to the current block and transform coefficients for a column to the left and immediately adjacent to the current block;

determining, using the set of transform coefficients for the previously coded pixel values, a set of transform coefficients for a transform-domain prediction block;

determining a transform-domain residual based on a difference between the set of transform coefficients for the current block and the set of transform coefficients for the transform-domain prediction block, wherein DC indicates a DC coefficient for the set of transform coefficients for the prediction block; Kr indicates a first scalar value; Kc indicates a second scalar value; CT0 indicates a DC coefficient for the row above and immediately adjacent to the current block; CT1 indicates an AC coefficient for the row above and immediately adjacent to the current block; CT2 indicates an AC coefficient for the row above and immediately adjacent to the current block; CT3 indicates an AC coefficient for the row above and immediately adjacent to the current block; CL0 indicates a DC coefficient for the column left and immediately adjacent to the current block; CL1 indicates an AC coefficient for the column left and immediately adjacent to the current block; CL2 indicates an AC coefficient for the column left and immediately adjacent to the current block; CL3 indicates an AC coefficient for the column left and immediately adjacent to the current block; * indicates multiplication; and wherein determining the set of transform coefficients for the prediction block includes using the following matrix: [DC, Kr*CT1, Kr*CT2, Kr*CT3; Kc*CL1, 0, 0, 0; Kc*CL2, 0, 0, 0; Kc*CL3, 0, 0, 0];

encoding a bitstream that includes the transform-domain residual; and

performing, by the computing device, at least one of storing the encoded bitstream or transmitting the encoded bitstream.

2. The method of claim 1 , wherein Kr is equal to one of −1, 0, 1 and 2 and wherein Kc is equal to one of −1, 0, 1 and 2.

3. The method of claim 2 , wherein DC is equal to one of 2*CTO, 2*CL0, or CT0*CL0.

4. The method of claim 1 , wherein the one-dimensional transform is a 4-point discrete cosine transform and wherein the two-dimensional transform is a 4×4 discrete cosine transform.

5. The method of claim 1 , wherein the set of transform coefficients for the transform-domain prediction block represent a prediction mode that is not equivalent to any spatial-domain prediction mode.

6. A method for decoding a frame in an encoded video stream using a computing device, the frame having a plurality of blocks including a current block, the method comprising:

decoding a transform-domain residual for the current block from the encoded video stream;

generating, using a one-dimensional transform, a set of transform coefficients for a plurality of previously decoded pixel values in the frame, wherein the set of transform coefficients for the plurality of previously coded pixel values includes transform coefficients for a row above and immediately adjacent to the current block and transform coefficients for a column to the left and immediately adjacent to the current block;

generating, using the set of transform coefficients for the previously decoded pixel values, a set of transform coefficients for a transform-domain prediction block;

determining a set of transform coefficients for the current block based on a sum of the transform-domain residual and the set of transform coefficients for the transform-domain prediction block, wherein DC indicates a DC coefficient for the set of transform coefficients for the prediction block; Kr indicates a first scalar value; Kc indicates a second scalar value; CT0 indicates a DC coefficient for the row above and immediately adjacent to the current block; CT1 indicates an AC coefficient for the row above and immediately adjacent to the current block; CT2 indicates an AC coefficient for the row above and immediately adjacent to the current block; CT3 indicates an AC coefficient for the row above and immediately adjacent to the current block; CL0 indicates a DC coefficient for the column left and immediately adjacent to the current block; CL1 indicates an AC coefficient for the column left and immediately adjacent to the current block; CL2 indicates an AC coefficient for the column left and immediately adjacent to the current block; CL3 indicates an AC coefficient for the column left and immediately adjacent to the current block; * indicates multiplication; and wherein determining the set of transform coefficients for the prediction block includes using the following matrix: [DC, Kr*CT1, Kr*CT2, Kr*CT3; Kc*CL1, 0, 0, 0; Kc*CL2, 0, 0, 0; Kc*CL3, 0, 0, 0];

inverse transforming the set of transform coefficients for the current block using a second transform, wherein the second transform is a two-dimensional transform;

generating a decoded video using the inverse-transformed transform coefficients; and

performing, by the computing device, at least one of storing the decoded video or displaying the decoded video.

7. The method of claim 6 wherein Kr is equal to one of −1, 0, 1 and 2 and wherein Kc is equal to one of −1, 0, 1 and 2.

8. The method of claim 7 , wherein DC is equal to one of 2*CTO, 2*CL0, or CT0*CL0.

9. The method of claim 6 , wherein the one-dimensional transform is a 4-point discrete cosine transform and wherein the two-dimensional transform is a 4×4 discrete cosine transform.

10. The method of claim 6 , wherein the set of transform coefficients for the transform-domain prediction block represent a prediction mode that is not equivalent to any spatial-domain prediction mode.

11. An apparatus for encoding a video stream having at least one frame having a plurality of blocks including a current block, comprising:

a memory; and

a processor configured to execute instructions stored in the memory to:

generate, using a two-dimensional transform, a set of transform coefficients for the current block;

generate, using a one-dimensional transform, a set of transform coefficients for a plurality of previously coded pixel values in the frame, wherein the set of transform coefficients for the plurality of previously coded pixel values includes transform coefficients for a row above and immediately adjacent to the current block and transform coefficients for a column to the left and immediately adjacent to the current block;

determine, using the set of transform coefficients for the previously coded pixel values, a set of transform coefficients for a transform-domain prediction block;

determine a transform-domain residual based on a difference between the set of transform coefficients for the current block and the set of coefficients for the transform-domain prediction block, wherein DC indicates a DC coefficient for the set of transform coefficients for the prediction block; Kr indicates a first scalar value; Kc indicates a second scalar value; CT0 indicates a DC coefficient for the row above and immediately adjacent to the current block; CT1 indicates an AC coefficient for the row above and immediately adjacent to the current block; CT2 indicates an AC coefficient for the row above and immediately adjacent to the current block; CT3 indicates an AC coefficient for the row above and immediately adjacent to the current block; CL0 indicates a DC coefficient for the column left and immediately adjacent to the current block; CL1 indicates an AC coefficient for the column left and immediately adjacent to the current block; CL2 indicates an AC coefficient for the column left and immediately adjacent to the current block; CL3 indicates an AC coefficient for the column left and immediately adjacent to the current block; * indicates multiplication; and wherein determining the set of transform coefficients for the prediction block includes using the following matrix: [DC, Kr*CT1, Kr*CT2, Kr*CT3; Kc*CL1, 0, 0, 0; Kc*CL2, 0, 0, 0; Kc*CL3, 0, 0, 0];

encode a bitstream that includes the transform-domain residual; and

perform at least one of storing the encoded bitstream or transmitting the encoded bitstream.

12. The apparatus of claim 11 , wherein the set of transform coefficients for the transform-domain prediction block represent a prediction mode that is not equivalent to any spatial-domain prediction mode.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2012
From: XU, YAOWU; GU, QUNSHAN
To: GOOGLE INC.
Reel/Frame 028790/0980 →