IP Library Granted Patent US 8,447,121
Granted Patent B2
US 8,447,121 · App. 11/226,590 · Granted May 21, 2013

Efficient integrated digital video transcoding

Inventors: Guobin Shen (Beijing, CN); Shipeng Li (Beijing, CN); Wanyong Cao (Beijing, CN); Yuwen He (Beijing, CN)
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,447,121
App. No.
11/226,590
Granted
May 21, 2013
Kind
B2
Abstract

Efficient integrated digital video transcoding is described. In one aspect, an integrated transcoder receives an encoded bitstream. The integrated transcoder transcodes the encoded bitstream by partially decoding the encoded bitstream based on a first transform associated with a first media data format. The decoding operations generate an intermediate data stream. The integrated transcoder then encodes the intermediate data stream using a second transform associated with a second media data format. The first and second transforms are not the same.

Claims (54)

1. A computer-implemented method comprising:

receiving, by an integrated transcoder, an encoded bitstream; and

transcoding, by the integrated transcoder, the encoded bitstream, the transcoding comprising:

partially decoding, by the integrated transcoder, the encoded bitstream to generate an intermediate data stream, the encoded bitstream being encoded with a first set of compression techniques associated with a first media format; and

encoding, by the integrated transcoder, the intermediate data stream using a second set of compression techniques to generate a transcoded bitstream, the second set of compression techniques corresponding to a second media format, wherein

the integrated transcoder integrates the partial decoding with the encoding by combining a first transform associated with the partial decoding and a second transform associated with the encoding as a single scaling matrix and replacing the single scaling matrix by a scalar multiplication.

2. The computer-implemented method of claim 1 , wherein the first media format is MPEG-2 and wherein the second media format is WMV.

3. The computer-implemented method of claim 1 , wherein the first media format is MPEG-2 and wherein the second media format is MPEG-4.

4. The computer-implemented method of claim 1 , wherein the integrated transcoder is a closed loop transcoder that prevents error propagation via error compensation.

5. The computer-implemented method of claim 1 , wherein the integrated transcoder is an open loop transcoder that includes error propagation.

6. The computer-implemented method of claim 1 , wherein transcoding further comprises dynamically turning on or off one or more operations associated with residue-error compensation to respectively increase quality or speed of the transcoding.

7. The computer-implemented method of claim 1 , wherein transcoding implements residue-error compensation, and wherein transcoding further comprises:

responsive to determining that reference frames are processed, dynamically adjusting one or more operations to adjust a quality and speed at which the reference frames are transcoded,

wherein the one or more operations comprise block requantization error accumulation, motion compensation of accumulated error, and detection to determine whether a particular block error is to be encoded.

8. The computer-implemented method of 1 , wherein transcoding implements residue-error compensation, and wherein transcoding further comprises one or more of a plurality of operations, the plurality of operations comprising:

responsive to a threshold based drifting control mechanism, dynamically turning on or off block requantization error accumulation into a residue-error buffer;

responsive to an evaluation of block activity, dynamically turning on or off motion compensation of accumulated error in the residue error buffer; and

responsive to a determination based on a sum of the motion compensation accumulated residue error and a reconstructed residue from the partially decoding, dynamically turning on or off encoding of a block error.

9. The computer-implemented method of claim 1 , wherein partially decoding further comprises implementing rate control with a coded frame size proportional to an input frame size for all frames, wherein the rate control provides continued compensation for accumulated differences between a target frame size and an actual resultant frame size.

10. The computer-implemented method of claim 1 , further comprising discarding Discrete Cosine Transform (DCT) coefficients above a predetermined threshold to downscale the intermediate data stream in a DCT without performing explicit pixel-domain downscaling.

11. The computer-implemented method of claim 1 , wherein transcoding further comprises implementing two-stage downscaling operations to obtain an arbitrary downscaling target ratio.

12. The computer-implemented method of claim 11 , wherein the two-stage downscaling operations further comprise:

implementing first stage downscaling operations in a DCT domain decoding loop; and

performing second stage downscaling operations outside of the DCT domain decoding loop in a pixel domain.

13. The computer-implemented method of claim 11 , wherein the two-stage downscaling operations further comprise:

performing first stage downscaling operations to obtain a first result that is intermediate to the arbitrary downscaling target ratio;

inputting the first result into a decoding loop; and

implementing second stage downscaling operations in a spatial domain to obtain the arbitrary downscaling target ratio.

14. A computer-implemented method comprising:

transcoding, by an integrated transcoder, an encoded bitstream, the transcoding comprising:

partially decoding, by the integrated transcoder, the encoded bitstream to generate an intermediate data stream, the encoded bitstream being encoded with a first set of compression techniques associated with a first media format; and

encoding, by the integrated transcoder, the intermediate data stream using a second set of compression techniques to generate a transcoded bitstream, the second set of compression techniques corresponding to a second media format, the second media format being different from the first media format,

wherein the integrated transcoder merges a first transform and a second transform respectively associated with the first media format and the second media format into a scaling matrix and replaces the scaling matrix by a scalar multiplication.

15. The computer-implemented method of claim 14 , wherein the first media format is MPEG-2 and wherein the second media format is WMV.

16. The computer-implemented method of claim 14 , wherein transcoding further comprises:

dynamically turning on or off one or more operations associated with residue-error compensation to respectively increase quality or speed of the transcoding; and

wherein the one or more operations are toggled on or off based on one or more of the following:

a threshold based drifting control mechanism;

evaluation of block activity levels; and

a sum of motion compensation accumulated residue error and reconstructed residue from decoding operations.

17. The computer-implemented method of claim 14 , further comprising:

downscaling data associated with the encoded bitstream in a DCT domain of a decoding loop; or

downscaling the data in a two-stage downscaling process, the two-stage downscaling process comprising:

downscaling, in a first stage, the data in the DCT domain; and

reducing resolution of downscaled results of the first stage in the spatial domain.

18. A computer-implemented method comprising:

partially decoding, by an integrated transcoder, an encoded bitstream to generate an intermediate data stream, the encoded bitstream being encoded with a first set of compression techniques associated with a first media format, the partially decoding comprising:

downscaling bitstream data in a DCT domain of a decoding loop;

determining whether to further reduce the bitstream data outside of the decoding loop in a spatial domain, the determining comprising:

reducing resolution of DCT domain downscaled bitstream data in the spatial domain; or

allowing the DCT domain downscaled bitstream data to pass without further resolution reduction;

encoding, by the integrated transcoder, the intermediate data stream using a second set of compression techniques to generate a transcoded bitstream, the second set of compression techniques corresponding to a second media format, wherein

the integrated transcoder integrates the partial decoding with the encoding by combining a first transform associated with the partial decoding and a second transform associated with the encoding as a single scaling matrix and replacing the single scaling matrix by a scalar multiplication.

19. The computer-implemented method of claim 1 , further comprising downscaling a block of the transcoded bitstream by reconstructing a full resolution picture from the transcoded bitstream independent of mixed block processing and a decoding loop.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
CORRECT SPELLING ERROR IN FIRST CONVEYING PARTIES' NAME RECORDED ON REEL/FRAME 016873/0298 Recorded Feb 22, 2007
From: SHEN, GUOBIN; LI, SHIPENG; CAO, WANYONG; HE, YUWEN
To: MICROSOFT CORPORATION
Reel/Frame 018933/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2005
From: SHEN, GUO BIN; LI, SHIPENG; CAO, WANYONG; HE, YUWEN
To: MICROSOFT CORPORATION
Reel/Frame 016873/0298 →
Continuity (1)
Related Publication 20070058718A1 · Mar 15, 2007