Claims
- 1. A method for live decoding in a personal video recorder (PVR) system, comprising the steps of:
receiving at least one data packet; determining at least one program clock reference (PCR) using the at least one data packet; and locking a timing mechanism to the at least one determined PCR.
- 2. The method according to claim 1, further comprising the step of configuring a front end, the front end being adapted to receive analog modulated input signals or digital modulated input signals.
- 3. The method according to claim 1, wherein the step of configuring the front end comprises adapting the front end to receive signals that have been modulated using quadrature amplitude modulation (QAM) or quadrature phase shift keying (QPSK).
- 4. The method according to claim 1, further comprising the step of configuring a data transport engine.
- 5. The method according to claim 4, wherein the step of configuring the data transport engine comprises configuring package or packet identifier (PID) parsers to filter out any program specific information (PSI) packets or messages that the at least one data packet may contain.
- 6. The method according to claim 4, wherein the step of configuring the data transport engine comprises configuring a timing recovery circuit.
- 7. The method according to claim 6, wherein the step of configuring the timing recovery circuit comprises configuring the timing recovery circuit to update the video system time clock (STC), the audio STC and the timing recovery circuit STC.
- 8. The method according to claim 1, wherein the step of locking the timing mechanism comprises driving the timing mechanism with a timing recovery circuit as a function of error between an STC of the timing recovery circuit and an incoming PCR.
- 9. The method according to claim 1, wherein the timing mechanism comprises a voltage controlled crystal oscillator (VCXO).
- 10. The method according to claim 1, wherein the step of locking the timing mechanism comprises oscillating the VCXO within a programmable range via a timing recovery circuit.
- 11. A method for handling PCR discontinuities during a live decode in a PVR system, comprising the steps of:
(a) receiving a PCR from an incoming transport packet; (b) checking whether a discontinuity bit of the transport packet has been set; and (c) if the discontinuity bit has been set, then
(1) updating STCs with the received PCR, and (2) decoding remaining transport packets corresponding to an old timebase.
- 12. The method according to claim 11, wherein the step of receiving comprises monitoring the incoming transport packet via a timing recovery circuit.
- 13. The method according to claim 11, wherein the discontinuity bit of the transport packet is in a transport packet header.
- 14. The method according to claim 11, wherein step (c)(1) comprises updating via a timing recovery circuit at least one of a video STC, an audio STC and a timing recovery circuit STC.
- 15. The method according to claim 11, further comprising the step of:
(d) if the discontinuity bit has not been set, then
capturing an STC, comparing the STC with the received PCR, and determining whether an error between the STC and the received PCR is within a programmable threshold.
- 16. The method according to claim 15, wherein the captured STC is at least one of a video STC, an audio STC and a timing recovery circuit STC.
- 17. The method according to claim 15, wherein the error between the STC and the received PCR is an absolute difference between the STC and the received PCR.
- 18. The method according to claim 15, wherein the programmable threshold is related to a programmable frequency range of a VCXO.
- 19. The method according to claim 15, wherein the step (d) comprises:
if the error is within the programmable threshold, then
filtering the error, and updating frequency of voltage controlled crystal oscillator (VCXO).
- 20. The method according to claim 19, wherein the step of updating the frequency of the VCXO comprises updating the frequency of the VCXO as a function of the received PCR.
- 21. The method according to claim 19, wherein the step of updating the frequency of the VCXO comprises updating the frequency of the VCXO as a function of the error.
- 22. The method according to claim 15, wherein the step (d) comprises, if the error is not within the programmable threshold, then performing steps (c)(1) and (c)(2).
- 23. A method for recording to a storage medium in a personal video recorder (PVR) system, comprising the steps of:
receiving a transport stream; storing the transport stream into a memory; and generating an index table that provides information for locating particular frames recorded in the memory.
- 24. The method according to claim 23, wherein the index table is adapted to point to start codes of the stored transport stream.
- 25. The method according to claim 23, wherein the index table is stored in a recording buffer.
- 26. The method according to claim 23, further comprising the step of:
transferring at least one of the stored transport stream and the index table from the memory to a storage unit.
- 27. The method according to claim 26, wherein the step of transferring comprises employing a DMA engine to transfer at least one of the stored transport stream and the index table from memory to the storage unit.
- 28. The method according to claim 23, wherein the index table comprises a picture index table.
- 29. The method according to claim 23, wherein the memory is configured as a linked list of descriptors.
- 30. The method according to claim 23, wherein the index table is written into the linked list of descriptors.
- 31. A method for playback from a storage media in a personal video recorder (PVR) system, comprising the steps of:
(a) programming a voltage controlled crystal oscillator (VCXO) to a nominal frequency; (b) configuring a data transport engine to playback a transport stream from a memory; (c) configuring a video decoder to decode with a throttle control; (d) configuring the video decoder for timebase management mode; and (e) initializing a video system time clock (STC) with a presentation time stamp (PTS).
- 32. The method according to claim 31, further comprising the step of:
transferring data from a storage unit to the memory using a direct memory access (DMA) engine.
- 33. The method according to claim 31, further comprising the steps of:
(f) configuring audio decoder to decode stream with the throttle control; and (g) initializing audio STC with the PTS.
- 34. The method according to claim 31, wherein the step of programming comprises programming the VCXO to a nominal center frequency.
- 35. The method according to claim 31, wherein step (b) comprises configuring the data transport engine to playback data from a playback buffer in a unified SDRAM memory.
- 36. The method according to claim 35, wherein at least one location of the playback buffer is configured as a linked list of descriptors.
- 37. The method according to claim 31, wherein the throttle control is adapted to ensure that a buffer does not underflow or does not overflow.
- 38. The method according to claim 31, wherein the video decoder includes a pause signal line.
- 39. The method according to claim 31, wherein the pause signal line is adapted to pause a flow of information from the data transport engine.
- 40. The method according to claim 31, wherein step (d) comprises configuring the video decoder to begin in the timebase management mode.
- 41. The method according to claim 31, wherein step (e) comprises interrupting a host so that the video STC can be initialized.
- 42. The method according to claim 31, wherein step (e) comprises configuring a timing recovery circuit to initialize the video STC.
- 43. A method for recording and playing simultaneously in a personal video recorder (PVR) system, comprising the steps of:
(a) configuring a data transport engine to record a transport stream; (b) generating an index table that provides information for locating particular frames of the transport stream stored in a memory; (c) controlling a voltage controlled crystal oscillator (VCXO) as a function of error between a program clock reference (PCR) in the transport stream and a serial PCR local system time clock (STC); (d) configuring the data transport engine to playback recorded transport stream from the memory; (e) configuring a video decoder to decode at different decoding rates; (f) configuring a video decoder for timebase management mode; and (g) updating the video STC with a presentation time stamp (PTS).
- 44. The method according to claim 43, further comprising the steps of:
(h) configuring audio decoder to decode with different decoding rates; and (i) updating audio STC with the PTS.
- 45. The method according to claim 43, wherein the video decoder comprises a throttle control that is adapted to ensure that a buffer in a video decompression engine does not underflow or does not overflow.
- 46. The method according to claim 43, wherein step (c) comprises controlling the VCXO as a function of error between the PCR in an original live broadcast stream and the serial PCR local STC.
- 47. The method according to claim 43, wherein step (h) comprises not sending record timebase to the video decoder.
RELATED APPLICATIONS
[0001] This application makes reference to, claims priority to and claims benefit from U. S. Provisional Patent Application Serial No. 60/361,154, entitled “Time-Base Management for MPEG Decoding with Personal Video Recording (PVR) Functionality,” filed on Mar. 1, 2002. This application makes reference to, claims priority to and claims benefit from U.S. patent application Ser. No. 09/933,231, entitled “Apparatus and Method of Seamless Switching between a Live DTV Decoding and a PVR Playback,” filed on Aug. 20, 2001. This application makes reference to, claims priority to and claims benefit from U.S. patent application Ser. No. 10/060,118, entitled “Error Concealment for MPEG Decoding with Personal Video Recording Functionality,” filed on Jan. 29, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60361154 |
Mar 2002 |
US |