IP Library Granted Patent US 9,432,719
Granted Patent B2
US 9,432,719 · App. 10/300,234 · Granted Aug 30, 2016

A/V System and method supporting a pull data flow scheme

Inventors: Darren Neuman (San Jose, CA); Brian Schoner (Fremont, CA)
Assignee: BROADCOM CORPORATION
H04N21/4305H04N5/4401H04N5/50H04N21/4263H04N21/4316
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 9,432,719
App. No.
10/300,234
Granted
Aug 30, 2016
Kind
B2
Abstract

Systems and methods are disclosed for supporting a pull data flow scheme in an A/V decoder. One method relates to processing data using an A/V decoder comprising receiving the data from a data stream and recovering a system time reference from the received data. The received data is processed using a clock asynchronous to the system time reference and pulled into an output device using a system adapted to support a pull data flow. The processed data is output using a time reference locked to the system time reference.

Claims (40)

1. A method of transferring a data stream comprising:

recovering, with a recovery device, a system time reference from each of a plurality of data streams based on predefined timing information in the plurality of data streams, the plurality of data streams having different system time references;

processing, with an A/V decoder configured to receive input data and decode the input data to generate a plurality of decoded output data streams, each of the plurality of data streams using a system clock asynchronous to the corresponding system time reference recovered from each of the plurality of data streams, wherein the system clock is independent of each system time reference and input data rate of each data stream;

requesting, with an output device, each of the plurality of decoded output data streams from the A/V decoder at an output data rate according to data requests;

comparing, with an output rate manager, the output data rate of each decoded output data stream from the A/V decoder with a corresponding system time reference;

adjusting, with the output device, the output data rate of each decoded output data stream from the A/V decoder to match the output data rate to the corresponding system time reference; and

individually controlling, with the output device, the output data rate of each of the plurality of decoded output data streams from the A/V decoder corresponding to the plurality of data streams having the different system time references using the recovered system time references and the single system clock asynchronous to the system time references.

2. The method of claim 1 , further comprising controlling the output data rate of each of the plurality of decoded output data streams at least in part by an output data rate of the A/V decoder.

3. The method of claim 1 , further comprising detecting discontinuities in the predefined timing information.

4. The method of claim 3 , further comprising, when detecting a discontinuity in the predefined timing information, locking to a new time base and notifying the output rate manager of the discontinuity.

5. The method of claim 1 , wherein the system clock comprises a fixed clock asynchronous to the system time references and independent of the predefined timing information.

6. A method of processing video data in an A/V decoder configured to receive input data and decode the input data to generate a decoded output video data stream, the method comprising:

recovering a system time reference for each of a plurality of data streams based on predefined timing information in the plurality of data streams, the plurality of data streams having different system time references;

processing, with a data processing module of the A/V decoder, the plurality of input streams using a system clock asynchronous to the system time references, wherein the system clock is independent of the system time references and an input data rate of each data stream;

pulling, with an output device, a plurality of decoded output video data streams from the data processing module of the A/V decoder via a data request, the data request indicating an output data rate of each of the plurality of decoded output video data streams;

comparing, with an output rate manager, the output data rate of each decoded output video data stream with the corresponding system time reference;

generating a rate control signal based on the comparison of the output data rate and the corresponding system time reference;

adjusting, with the output device, the output data rate of each decoded output video data stream to match the output data rate to the corresponding system time reference using the rate control signal, wherein the output data rate is independent of the system clock; and

individually controlling the output data rate of the plurality of decoded output data streams from the A/V decoder corresponding to the plurality of data streams having the different system time references using the recovered system time references and the single system clock asynchronous to the system time references.

7. The method of claim 6 , the step of comparing the output data rate of each decoded output video data stream with the corresponding system time reference comprising comparing the output data rate with the corresponding system time reference using a digital phase locked loop.

8. The method of claim 6 , further comprising detecting discontinuities in the timing information.

9. The method of claim 8 , further comprising, when detecting a discontinuity in the timing information, locking to a new time base and notifying the output rate manager of the discontinuity.

10. The method of claim 6 , wherein the system clock comprises a fixed clock asynchronous to the system time references and independent of the timing information.

11. An A/V decoder adapted to process data, comprising:

a processing device configured to receive a plurality of data streams including predefined timing information pushed into the A/V decoder;

a recovery module adapted to recover a system time reference for each of the plurality of data streams based on the predefined timing information using a system clock asynchronous to the system time references, wherein the system clock is independent of the system time references and an input data rate of each data stream, the plurality of data streams having different system time references;

a conversion module adapted to convert each of the plurality of data streams from a push format to a pull format using the system clock;

an output device configured to output a plurality of decoded data streams according to the pull format and an output data rate of each decoded data stream based on a data request; and

an output rate manager that compares the output data rate of each decoded data stream with the corresponding system time reference and adjusts the output data rate at which to output each decoded data stream to match with the corresponding system time reference, wherein the output rate manager is configured to individually control an output data rate of a plurality of decoded output data streams from the A/V decoder corresponding to the plurality of data streams having the different system time references using the recovered system time references and the single system clock asynchronous to the system time references.

12. The decoder of claim 11 , further comprising a process module adapted to process the plurality of data streams.

13. The decoder of claim 12 , wherein the process module is further adapted to process the plurality of data streams using the system clock asynchronous to the system time references.

14. The decoder of claim 12 , wherein the process module is adapted to at least decode the plurality of data streams.

15. The A/V decoder of claim 11 , wherein:

the recovery module comprises a first level phase locked loop adapted to detect discontinuities in the predefined timing information; and

the output rate manager comprises a second level phase locked loop adapted to lock the data request to the corresponding system time reference.

16. The A/V decoder of claim 15 , wherein the first level phase locked loop is further adapted to, when detecting a discontinuity, lock to a new time base and notify the second level phase locked loop of the discontinuity.

17. The A/V decoder of claim 11 , wherein;

the output device comprises a plurality of output devices clocked by a single system clock; and

the output rate manager comprises a plurality of output rate managers.

18. The A/V decoder of claim 11 , wherein the system clock comprises a fixed clock asynchronous to the system time references and independent of the predefined timing information.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2003
From: NEUMAN, DARREN; SCHONER, BRIAN
To: BROADCOM CORPORATION
Reel/Frame 013666/0018 →
Continuity (2)
Provisional Application 60420342 · Oct 22, 2002
Related Publication 20040075767A1 · Apr 22, 2004