IP Library › Granted Patent US 8,340,177
Granted Patent B2
US 8,340,177 · App. 11/126,650 · Granted Dec 25, 2012

Embedded base layer codec for 3D sub-band coding

Assignee: Microsoft Corporation
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 8,340,177
App. No.
11/126,650
Granted
Dec 25, 2012
Kind
B2
Abstract

Techniques and tools are described for scalable video coding and decoding. For example, a 3D sub-band video encoder includes an embedded base layer codec as well as temporal sub-band transforms and spatial sub-band transforms. The placement of the base layer codec among the sub-band transforms and the role of the base layer codec in scalable video coding vary depending on implementation. In general, the base layer codec provides efficient compression at low bit rates and produces a base layer compressed video bit stream compatible with existing decoders. At the same time, the 3D sub-band video encoder provides spatial and temporal scalability options at higher bit rates, refining the base layer video. A corresponding 3D sub-band video decoder includes an embedded base layer decoder.

Claims (50)

1. A method comprising:

encoding video using a 3D sub-band video encoder with a base layer codec embedded therein, wherein the base layer codec is a block-based motion-compensated prediction codec with two-dimensional frequency transforms, and wherein the base layer codec is embedded among plural temporal sub-band transforms of the 3D sub-band video encoder such that:

encoding/decoding with the base layer codec follows a first set of one or more of the plural temporal sub-band transforms, the first set of one or more of the plural temporal sub-band transforms providing input video for the base layer codec; and

the encoding/decoding with the base layer codec precedes a second set of one or more of the plural temporal sub-band transforms, the base layer codec providing output for the second set of one or more of the plural temporal sub-band transforms; and

outputting results of the encoding.

2. The method of claim 1 wherein the plural temporal sub-band transforms include motion-compensated temporal filtering.

3. The method of claim 1 wherein the encoding using the 3D sub-band video encoder with the base layer codec embedded therein further comprises:

downsampling the input video for the base layer codec;

performing the encoding/decoding with the base layer codec on the downsampled input video, producing a base layer bit stream and reconstructed output video; and

upsampling the reconstructed output video.

4. The method of claim 1 wherein the encoding using the 3D sub-band video encoder with the base layer codec embedded therein further comprises:

performing a spatial sub-band transform on the input video for the base layer codec, producing a spatial low-pass sub-band and one or more spatial high-pass sub-bands;

performing the encoding/decoding with the base layer codec on the spatial low-pass sub-band, producing a base layer bit stream and a reconstructed spatial low-pass sub-band;

computing a residual sub-band as the difference between the spatial low-pass sub-band and the reconstructed spatial low-pass sub-band; and

performing an inverse spatial sub-band transform on the residual sub-band and the one or more spatial high-pass sub-bands.

5. The method of claim 1 wherein the encoding using the 3D sub-band video encoder with the base layer codec embedded therein further comprises performing the second set of one or more of the plural temporal sub-band transforms on a residual sub-band, wherein the residual sub-band is based at least in part on the difference between the input video for the base layer codec and reconstructed output video from the base layer codec.

6. The method of claim 1 wherein the encoding using the 3D sub-band video encoder with the base layer codec embedded therein further comprises performing motion-compensated temporal filtering in the second set of one or more temporal sub-band transforms that follow the encoding/decoding with the base layer codec, and wherein at least some of the motion-compensated temporal filtering is relative to one or more reference pictures in reconstructed output video from the base layer codec.

7. The method of claim 6 wherein the motion-compensated temporal filtering includes a prediction stage and an update stage, and wherein the motion-compensated temporal filtering comprises, for each of one or more macroblocks:

when a reference picture from a lower level temporal low-pass sub-band is used in the prediction stage, performing the update stage for that reference picture; and

when one of the one or more reference pictures in the reconstructed output video is used in the prediction stage, skipping the update stage for that reference picture.

8. The method of claim 1 wherein the encoding using the 3D sub-band video encoder with the base layer codec embedded therein further comprises reusing motion information from the encoding/decoding with the base layer codec in subsequent encoding with the 3D sub-band video encoder.

9. The method of claim 1 wherein the encoding using the 3D sub-band video encoder with the base layer codec embedded therein further comprises reusing intra mode information from the encoding/decoding with the base layer codec in subsequent encoding with the 3D sub-band video encoder.

10. A method comprising:

decoding video using a 3D sub-band video decoder with a base layer decoder embedded therein, wherein the base layer decoder is a block-based motion-compensated prediction decoder with two-dimensional inverse frequency transforms, and wherein the base layer decoder is embedded among plural inverse temporal sub-band transforms of the 3D sub-band video decoder such that:

decoding with the base layer decoder follows a first set of one or more of the plural inverse temporal sub-band transforms in that the first set of one or more of the plural inverse temporal sub-band transforms correspond to one or more temporal sub-band transforms dependent on output of a base layer codec during encoding; and

the decoding with the base layer decoder precedes a second set of one or more of the plural inverse temporal sub-band transforms, the base layer decoder providing output for the second set of one or more of the plural inverse temporal sub-band transforms; and

outputting results of the decoding.

11. The method of claim 10 wherein the decoding using the 3D sub-band video decoder with the base layer decoder embedded therein further comprises:

performing the decoding with the base layer decoder on a base layer bit stream, producing reconstructed output video; and

upsampling the reconstructed output video.

12. The method of claim 10 wherein the decoding using the 3D sub-band video decoder with the base layer decoder embedded therein further comprises:

performing a spatial sub-band transform, producing a residual sub-band and one or more spatial high-pass sub-bands;

performing the decoding with the base layer decoder on a base layer bit stream, producing a reconstructed spatial low-pass sub-band;

combining the residual sub-band and the reconstructed spatial low-pass sub-band, producing a combined low-pass sub-band; and

performing an inverse spatial sub-band transform on the combined low-pass sub-band and the one or more spatial high-pass sub-bands.

13. The method of claim 10 wherein the decoding using the 3D sub-band video decoder with the base layer decoder embedded therein further comprises performing the first set of one or more of the plural inverse temporal sub-band transforms on a residual sub-band.

14. The method of claim 10 wherein the decoding using the 3D sub-band video decoder with the base layer decoder embedded therein further comprises performing inverse motion-compensated temporal filtering in the first set of one or more inverse temporal sub-band transforms, and wherein at least some of the inverse motion-compensated temporal filtering is relative to one or more reference pictures in reconstructed output video from the base layer decoder.

15. The method of claim 14 wherein the inverse motion-compensated temporal filtering includes a prediction stage and an update stage, and wherein the inverse motion-compensated temporal filtering comprises, for each of one or more macroblocks:

when a reference picture from a lower level temporal low-pass sub-band is to be used in the prediction stage, performing the update stage for that reference picture; and

when one of the one or more reference pictures in the reconstructed output video is to be used in the prediction stage, skipping the update stage for that reference picture.

16. A system comprising:

means for processing a scalable compressed video bit stream with a 3D sub-band video decoder; and

means for processing a base layer compressed video bit stream with a base layer video decoder embedded in the 3D sub-band video decoder, the base layer video decoder being a block-based motion-compensated prediction decoder with two-dimensional inverse frequency transforms, wherein the base layer video decoder is embedded among plural inverse temporal sub-band transforms of the 3D sub-band video decoder such that:

decoding with the base layer video decoder follows a first set of one or more of the plural inverse temporal sub-band transforms in that the first set of one or more of the plural inverse temporal sub-band transforms correspond to one or more temporal sub-band transforms dependent on output of a base layer video codec during encoding; and

the decoding with the base layer video decoder precedes a second set of one or more of the plural inverse temporal sub-band transforms, wherein the base layer video decoder provides output for the second set of one or more of the plural inverse temporal sub-band transforms.

17. A system comprising:

means for processing a scalable compressed video bit stream with a 3D sub-band video encoder; and

means for processing a base layer compressed video bit stream with a base layer video codec embedded in the 3D sub-band video encoder, the base layer video codec being a block-based motion-compensated prediction codec with two-dimensional frequency transforms, wherein the base layer video codec is embedded among plural temporal sub-band transforms of the 3D sub-band video encoder such that:

encoding/decoding with the base layer video codec follows a first set of one or more of the plural temporal sub-band transforms, the first set of one or more of the plural temporal sub-band transforms providing input video for the base layer video codec; and

the encoding/decoding with the base layer video codec precedes a second set of one or more of the plural temporal sub-band transforms, the base layer video codec providing output for the second set of one or more of the plural temporal sub-band transforms.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2005
From: JI, XIANGYANG; XU, JIZHENG; WU, FENG
To: MICROSOFT CORPORATION
Reel/Frame 016196/0855 →
Continuity (2)
Provisional Application 60587797 · Jul 12, 2004
Related Publication 20060008003A1 · Jan 12, 2006