IP Library Granted Patent US 8,731,053
Granted Patent B2
US 8,731,053 · App. 12/944,565 · Granted May 20, 2014

Method of multiplexing H.264 elementary streams without timing information coded

Inventor: Malateshgouda V. Karegoudar (Bangalore, IN)
Assignee: Tektronix, Inc.
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,731,053
App. No.
12/944,565
Granted
May 20, 2014
Kind
B2
Abstract

Embodiments of the present invention multiplex elementary streams without timing information coded to create a transport stream. In some embodiments, ‘n’ number of access units are constructed and pushed into a list one by one. Each access unit is capable of looking ahead to obtain information on timing for the next access unit. A header is constructed by calculating timing information from the topmost access unit of the list. Said header is written in the transport stream and the remaining bytes of the transport stream are filled with data from the said elementary stream. Thus the transport stream is constructed.

Claims (46)

1. A method for multiplexing high definition video elementary streams that do not have timing information coded to create a transport stream (TS), the method comprising the steps of:

constructing ‘n’ number of access units (AU) in a list, each AU capable of looking ahead to obtain information on timing for the next AU, including

reading the elementary stream from the start while converting elementary streams to packetized elementary streams (PES) until it forms a single AU and noting its start and end points,

pushing the just formed single AU into the list,

checking primary picture type coded in the AU pushed into the list,

calculating the timing information including a presentation time stamp (PTS), a decode time stamp (DTS), and deriving variable frame rate (tc) for the elementary streams,

calculating dts(n)=dts(n−1)+tc, and

pts(n)=dts(n) if the primary picture type coded is a B frame, and

decoding B frames and presenting at the same time without including any offset between pts and dts of the B frames,

calculating dts(n)=dts(n−1)+tc, and

pts(n)=dts(n)+pts_offset*tc if the primary picture coded type is an I or P frame, and checking next access units for the number of B frames (pts_offset) that precede before the next I or P frames occurs, and

constructing a next AU and pushing the next AU into the list for repeating the steps of calculating timing information;

initiating a pointer to indicate start of an AU from the list;

iteratively checking start of an AU from the list;

constructing a header by calculating timing information from the topmost AU of the list;

writing the header in the TS; and

filling the remaining bytes of TS with data from an elementary stream.

2. The method as in claim 1 wherein the high definition elementary streams are H.264/AVC video elementary streams.

3. The method as in claim 1 wherein the TS is an MPEG-2 TS.

4. The method as in claim 1 wherein the multiplexing is multiplexing of H.264 video elementary streams which do not have either NAL/VCL-HRD parameters coded (as part of VUI information of the Sequence Parameter Set) or Supplemental Enhancement Information (SEI).

5. The method as in claim 1 wherein picture type (B, P, or I) information is used to calculate the PTS and DTS values of the Packetized Elementary Stream (PES).

6. The method as in claim 1 wherein variable tc is frame rate or field rate and is derived as tc=num_units_in_tick/time_scale.

7. The method as in claim 1 wherein PES packets are broken into fixed 188 byte TS packets.

8. An apparatus comprising circuitry for multiplexing high definition video elementary streams that do not have timing information coded to create a transport stream (TS) according to the steps of:

constructing ‘n’ number of access units (AU) in a list, each AU looking ahead to obtain information on timing for the next AU, including

reading the elementary stream from the start while converting elementary streams to packetized elementary streams (PES) until it forms a single AU and noting its start and end points,

pushing the just formed single AU into the list,

checking primary picture type coded in the AU pushed into the list,

calculating the timing information further including a presentation time stamp (PTS), a decode time stamp (DTS), and deriving variable frame rate (tc) for the elementary streams,

calculating dts(n)=dts(n−1)+tc, and

pts(n)=dts(n) if the primary picture type coded is a B frame, and

decoding B frames and presenting at the same time without including any offset between pts and dts of the B frames,

calculating dts(n)=dts(n−1)+tc, and

pts(n)=dts(n)+pts_offset*tc if the primary picture coded type is an I or P frame, and checking next access units for the number of B frames (pts_offset) that precede before the next I or P frames occurs, and

constructing a next AU and pushing the next AU into the list for repeating the steps of calculating timing information,

initiating a pointer to indicate start of an AU from the list;

iteratively checking start of an AU from the list;

constructing a header by calculating the timing information from the topmost AU of the list;

writing the header in the TS; and

filling the remaining bytes of TS with data from an elementary stream.

9. The apparatus in claim 8 wherein the high definition elementary streams are H.264/AVC video elementary streams.

10. The apparatus in claim 8 wherein the TS is an MPEG-2 TS.

11. The apparatus in claim 8 wherein the multiplexing is multiplexing of H.264 video elementary streams which do not have either NAL/VCL-HRD parameters coded (as part of VUI information of the Sequence Parameter Set) or Supplemental Enhancement Information (SEI).

12. The apparatus as in claim 8 wherein picture type (B, P, or I) information is used to calculate the PTS and DTS values of the Packetized Elementary Stream (PES).

13. The apparatus as in claim 8 wherein variable tc is frame rate or field rate and is derived as tc=num_units_in_tick/time_scale.

14. The apparatus as in claim 8 wherein PES packets are broken into fixed 188 byte TS packets.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PROPERTY AND GRANTOR NAME OF PROJECT GIANTS. LLC PREVIOUSLY RECORDED AT REEL: 054089 FRAME: 0786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 1, 2021
From: PROJECT GIANTS, LLC
To: FORTRESS CREDIT CORP., AS AGENT
Reel/Frame 056442/0845 →
RELEASE OF SECURITY INTEREST Recorded Oct 16, 2020
From: SILICON VALLEY BANK
To: PROJECT GIANTS, LLC
Reel/Frame 054090/0934 →
SECURITY INTEREST Recorded Oct 15, 2020
From: PROJECT GIANT, LLC
To: FORTRESS CREDIT CORP., AS AGENT
Reel/Frame 054089/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2019
From: TEKTRONIX INTERNATIONAL SALES GMBH
To: TEKTRONIX, INC.
Reel/Frame 049861/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2019
From: TEKTRONIX, INC.
To: PROJECT GIANTS, LLC
Reel/Frame 049870/0073 →
PATENT SECURITY AGREEMENT Recorded Jul 22, 2019
From: PROJECT GIANTS, LLC
To: SILICON VALLEY BANK
Reel/Frame 049819/0702 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE: TEKTRONIX INTERNATIONAL SALES GMBH PREVIOUSLY RECORDED ON REEL 030860 FRAME 0573. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 25, 2013
From: KAREGOUDAR, MALATESHGOUDA V.
To: TEKTRONIX INTERNATIONAL SALES GMBH
Reel/Frame 030889/0162 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2013
From: KAREGOUDAR, MALATESHGOUDA V.
To: TEKTRONIX, INC.
Reel/Frame 030860/0573 →
Priority Claims (1)
IN 2669/MUM/2009 · Nov 18, 2009 · national
Continuity (1)
Related Publication 20120099643A1 · Apr 26, 2012