IP Library Granted Patent US 7,460,173
Granted Patent B2
US 7,460,173 · App. 11/171,864 · Granted Dec 2, 2008

Method and apparatus for synchronizing audio and video data

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 7,460,173
App. No.
11/171,864
Granted
Dec 2, 2008
Kind
B2
Abstract

A system receives a transport stream containing video data and audio data. A determination is made regarding the time required to process the video data contained in the transport stream and the time required to process the audio data contained in the transport stream. The system then determines a difference in time to process the video contained in the transport stream as compared to the audio data contained in the transport stream. Presentation of the audio data is delayed by this difference in time to synchronize presentation of the audio data with presentation of the video data.

Claims (31)

1. A method comprising:

receiving a transport stream containing video data and audio data;

identifying a presentation time stamp in the transport stream;

identifying a value associated with a system time clock;

determining a time required to process the video data contained in the transport stream by comparing the presentation time stamp and the system time clock; and

delaying presentation of the audio data by the time required to process the video data contained in the transport stream, wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes:

determining a position of a DMA read pointer; and

storing the audio data in a DMA buffer with a delay that matches the time required to process the video data contained in the transport stream.

2. A method as recited in claim 1 , wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream is performed if the time required to process the video data contained in the transport stream exceeds a threshold.

3. A method as recited in claim 1 , wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes storing the audio data in a buffer with a delay that corresponds to the time required to process the video data contained in the transport stream.

4. A method as recited in claim 1 , further comprising decoding the received video data.

5. A method as recited in claim 1 , further comprising decoding the received audio data.

6. An apparatus comprising:

a transport stream decoder coupled to receive a transport stream and configured to separate audio data and video data from the transport stream;

a video processing module configured to receive video data from the transport stream decoder;

an audio processing module configured to receive audio data from the transport stream decoder; and

a clock control module coupled to the transport stream decoder to receive timing data from the transport stream, the clock control module further coupled to the video processing module and the audio processing module and further configured to delay presentation of the audio data by a difference in time to process the video data as compared to the audio data, wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes:

determining a position of a DMA read pointer; and

storing the audio data in a DMA buffer with a delay that matches the time required to process the video data contained in the transport stream.

7. An apparatus as recited in claim 6 , wherein the audio processing module delays presentation of the audio data by storing the audio data in a buffer with a delay that corresponds to the difference in time to process the video data as compared to the audio data.

8. An apparatus as recited in claim 6 , wherein the transport stream decoder is further configured to decode the video data and the audio data contained in the transport stream.

9. An apparatus as recited in claim 6 , wherein the transport stream decoder is further configured to decode the video data and the audio data contained in the transport stream as well as timing information contained in the transport stream.

10. An apparatus comprising:

a system time clock configured to maintain a current system;

a video display software routine executing on a processor and configured to receive a first time stamp from a transport stream and receive a current system time from the system time clock, the video display software routine further configured to determine a video presentation delay based on the first time stamp and the current system time; and

an audio software routine executing on the processor and configured to receive the video presentation delay from the video display software routine and delay presentation of audio data contained in the transport stream based on the video presentation delay, wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes:

determining a position of a DMA read pointer; and

storing the audio data in a DMA buffer with a delay that matches the time required to process the video data contained in the transport stream.

11. An apparatus as recited in claim 10 , further comprising audio reproduction hardware configured to retrieve audio data stored in the DMA buffer and generate an audio analog signal associated with the audio data.

12. An apparatus as recited in claim 10 , wherein the video display software routine determines the video presentation delay each time a vertical retrace sync signal is received.

13. An apparatus as recited in claim 10 , wherein the video display software routine determines the video presentation delay at periodic intervals.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2014
From: MICROSOFT CORPORATION
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 034539/0676 →