IP Library › Granted Patent US 8,861,927
Granted Patent B2
US 8,861,927 · App. 13/360,577 · Granted Oct 14, 2014

Digital media universal elementary stream

Inventors: Sudheer Sirivara (Redmond, WA); James D. Johnston (Redmond, WA); Naveen Thumpudi (Redmond, WA); Wei-Ge Chen (Sammamish, WA); Serge Smirnov (Redmond, WA); Chris Messer (Redmond, VT)
Assignee: Microsoft Corporation
G10L19/167
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,861,927
App. No.
13/360,577
Granted
Oct 14, 2014
Kind
B2
Abstract

Described techniques and tools include techniques and tools for mapping digital media data (e.g., audio, video, still images, and/or text, among others) in a given format to a transport or file container format useful for encoding the data on optical disks such as digital video disks (DVDs). A digital media universal elementary stream can be used to map digital media streams (e.g., an audio stream, video stream or an image) into any arbitrary transport or file container, including optical disk formats, and other transports, such as broadcast streams, wireless transmissions, etc. The information to decode any given frame of the digital media in the stream can be carried in each coded frame. A digital media universal elementary stream includes stream components called chunks. An implementation of a digital media universal elementary stream arranges data for a media stream in frames, the frames having one or more chunks.

Claims (43)

1. In a digital media system, a method of decoding audio data, the method comprising:

obtaining audio data encoded in a format for storing audio data on a computer-readable optical storage disk, the obtained audio data arranged in a plurality of frames each having a fixed size, wherein the obtained audio data has been transcoded from an intermediate format, and wherein each of the plurality of frames comprises a plurality of chunks associated with the intermediate format, the plurality of chunks comprising:

an audio data chunk comprising a first chunk type field that identifies the audio data chunk;

a metadata chunk comprising a second chunk type field that identifies the metadata chunk;

a synchronization chunk comprising a synchronization pattern element, a length field indicating an offset to the beginning of a previous synchronization pattern element, and a third chunk type field that identifies the synchronization chunk;

a time stamp chunk comprising time stamp data and a fourth chunk type field that identifies the time stamp chunk; and

a cyclic redundancy check chunk comprising cyclic redundancy check data and a fifth chunk type field that identifies the cyclic redundancy check chunk; and

decoding the obtained audio data.

2. The method of claim 1 wherein the intermediate format is a Windows Media Audio format, and wherein the format for storing audio data on a computer-readable optical data storage disk is a DVD format.

3. The method of claim 1 wherein at least one of the chunk type fields includes one or more bits that indicate a length of data that a decoder can skip after the respective chunk type field.

4. The method of claim 1 wherein the format for storing audio data on a computer-readable optical data storage disk is a compressed audio format.

5. The method of claim 1 wherein the format for storing audio data on a computer-readable optical data storage disk is an audio recording format.

6. The method of claim 1 wherein the metadata chunk further comprises information indicating metadata size.

7. The method of claim 1 wherein the metadata chunk further comprises information indicating metadata type.

8. The method of claim 1 wherein at least one of the plurality of frames further comprises a format header chunk comprising as a field of the format header chunk a first data element representing a chunk type identifier for the format header chunk and information that indicates stream properties.

9. The method of claim 8 wherein the stream properties comprise codec version information.

10. The method of claim 1 wherein at least one of the plurality of frames further comprises content descriptor metadata.

11. The method of claim 1 wherein the frames are access units for an individual stream within a transport container having a transport format.

12. The method of claim 11 wherein the transport format is a Motion Pictures Experts Group-2 Program Stream format.

13. The method of claim 11 further comprising:

separating an elementary stream from the transport container;

parsing the elementary stream to identify a first occurrence of the synchronization pattern element and the length field;

parsing the elementary stream to identify a second occurrence of the synchronization pattern element at a distance denoted by the length field; and

identifying a frame of the elementary stream from a frame arrangement of the transport container based upon the identified occurrences of the synchronization pattern element.

14. The method of claim 1 wherein one or more of the plurality of frames further include a plurality of optional chunks, each optional chunk having as a field of the chunk a first data element representing a chunk type identifier of a type of the respective optional chunk, the synchronization pattern elements and the length fields defining an extent of the respective frame irrespective of the inclusion in or omission from the frame of any particular types of chunks.

15. The method of claim 14 , wherein an encoding scheme of the chunk type identifiers includes an escape code for later extensions to an elementary stream definition.

16. The method of claim 1 wherein at least one frame in the plurality of frames includes an end of block chunk to denote an end of the at least one frame.

17. One or more computer-readable memory or storage devices having stored thereon computer-executable instructions operable to cause a computer to perform a method, the method comprising:

receiving audio data encoded in a format for storing audio data on a computer-readable optical storage disk, the obtained audio data arranged in a plurality of frames each having a fixed size, wherein the obtained audio data has been transcoded from a Windows Media Audio (WMA) format, and wherein each of the plurality of frames comprises a plurality of chunks associated with the WMA format, the plurality of chunks comprising:

an audio data chunk comprising a first chunk type field that identifies the audio data chunk;

a metadata chunk comprising a second chunk type field that identifies the metadata chunk; and

at least one of: a synchronization chunk comprising a synchronization pattern element, a length field indicating an offset to the beginning of a previous synchronization pattern element, and a third chunk type field that identifies the synchronization chunk; a time stamp chunk comprising time stamp data and a fourth chunk type field that identifies the time stamp chunk; or a cyclic redundancy check chunk comprising cyclic redundancy check data and a fifth chunk type field that identifies the cyclic redundancy check chunk; and

decoding the received audio data.

18. The one or more computer-readable memory or storage devices of claim 17 , wherein the plurality of chunks comprises the cyclic redundancy check chunk.

19. A decoder device comprising:

a processor; and

at least one computer memory storing computer-executable instructions that, when executed by the processor:

receives audio data encoded in a format for storing audio data on a computer-readable optical storage disk, the obtained audio data arranged in a plurality of frames each having a fixed size, wherein the obtained audio data has been transcoded from an intermediate format, and wherein each of the plurality of frames comprises a plurality of chunks associated with the intermediate format, the plurality of chunks comprising:

an audio data chunk comprising a first chunk type field that identifies the audio data chunk;

a metadata chunk comprising a second chunk type field that identifies the metadata chunk; and

at least one of: a synchronization chunk comprising a synchronization pattern element, a length field indicating an offset to the beginning of a previous synchronization pattern element, and a third chunk type field that identifies the synchronization chunk; a time stamp chunk comprising time stamp data and a fourth chunk type field that identifies the time stamp chunk; or a cyclic redundancy check chunk comprising cyclic redundancy check data and a fifth chunk type field that identifies the cyclic redundancy check chunk; and

decodes the received audio data.

20. The computing device of claim 19 , wherein the plurality of chunks comprises the synchronization chunk.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
Continuity (4)
Division 10966443 · Oct 15, 2004
Provisional Application 60562671 · Apr 14, 2004
Provisional Application 60580995 · Jun 18, 2004
Related Publication 20120130721A1 · May 24, 2012