IP Library Granted Patent US 7,274,857
Granted Patent B2
US 7,274,857 · App. 10/038,943 · Granted Sep 25, 2007

Trick modes for compressed video streams

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,274,857
App. No.
10/038,943
Granted
Sep 25, 2007
Kind
B2
Abstract

A method for implementing trick mode functionality includes storing a video stream and information related to the video stream in memory, receiving a request for a trick mode operation, decoding a plurality of undecoded dependent frames to create a decoded frame, and outputting the decoded frame.

Claims (74)

1. A method for providing trick mode functionality, comprising the steps of:

(a) storing a video stream containing dependent frames in memory;

(b) storing information related to the video stream in memory;

(c) receiving a request for a trick mode operation;

(d) responsive to receiving the request for a trick mode operation, decoding a plurality of undecoded dependent frames in the video stream to create a single decoded frame; and

(e) outputting the single decoded frame.

2. The method of claim 1 , further comprising repeating steps (d) and (e) until the trick mode operation is cancelled.

3. The method of claim 1 , further comprising determining whether the video stream includes independent frames.

4. The method of claim 1 , wherein the video stream does not include independent frames.

5. The method of claim 4 , wherein an independent frame is an I-frame.

6. The method of claim 1 , wherein the undecoded dependent frames are P-frames.

7. The method of claim 1 , wherein the related information comprises an index table.

8. The method of claim 7 , wherein the index table identifies storage locations of respective sequence headers.

9. The method of claim 7 , wherein the index table identifies storage locations of respective frame start codes.

10. The method of claim 7 , wherein the index table identifies frame types.

11. The method of claim 7 , wherein the index table identifies times of when respective frames were stored.

12. The method of claim 1 , wherein the related information identifies whether the video stream contains I-frames.

13. The method of claim 1 , wherein the related information comprises Packet identification codes (PIDs).

14. The method of claim 1 , wherein the plurality of sequential undecoded dependent frames are determined based at least in part on a type of the video stream.

15. The method of claim 1 , wherein the single decoded frame is output a plurality of times.

16. The method of claim 15 , wherein the plurality of times that the single decoded frame is output is determined based at least in part on an output picture rate.

17. The method of claim 15 , wherein the plurality of times that the single decoded frame is output is determined based at least in part on a speed of the trick mode operation.

18. The method of claim 15 , wherein the plurality of times that the single decoded frame is output is determined based at least in part on a ratio of P-frames to B-frames in the video stream.

19. The method of claim 15 , wherein the plurality of times that the single decoded frame is output is determined based at least in part on the plurality of sequential undecoded dependent frames.

20. The method of claim 1 , wherein the trick mode operation is a fast play mode.

21. The method of claim 1 , wherein the trick mode operation is a rewind mode.

22. The method of claim 1 , wherein a first tuner receives an analog video signal corresponding to a first video stream and a second tuner simultaneously receives a digital compressed stream corresponding to a second video stream; wherein the first video stream and the second video stream are annotated to facilitate future retrieval from memory; wherein the first video stream and the second video stream are stored in memory; and wherein at least one of the first video stream and the second video stream is output to a display device.

23. The method of claim 1 , wherein an entry point for a trick mode operation is specified based on an elapsed normal playback time and/or a number of frames relative to a beginning of the video stream.

24. The method of claim 1 , wherein in response to the request, a processor reads information in an index table, retrieves annotation data that correspond to the video stream, and determines an entry point for fulfilling the trick mode request.

25. A system for providing trick mode functionality, comprising:

memory for storing a video stream and information related to the video stream;

determination logic configured to determine whether a request for a trick mode operation has been received in connection with the video stream; and

decoding logic configured to decode a plurality of undecoded dependent frames corresponding to the video stream to produce a single decoded frame, responsive to the determination logic determining that the request for the trick mode operation has been received; and

output logic configured to output the single decoded frame.

26. The system of claim 25 , wherein the related information comprises an index table.

27. The system of claim 26 , wherein the index table identifies storage locations of respective sequence headers.

28. The system of claim 26 , wherein the index table identifies storage locations of respective frame start codes.

29. The system of claim 26 , wherein the index table identifies frame types.

30. The system of claim 26 , wherein the index table identifies times of when respective frames were stored.

31. The system of claim 25 , wherein the related information identifies whether the video stream contains I-frames.

32. The system of claim 25 , wherein the related information comprises Packet identification codes (PIDs).

33. The system of claim 25 , wherein the plurality of undecoded dependent frames are determined based at least in part on a type of the video stream.

34. The system of claim 25 , wherein a number of times that the single decoded frame is output is determined based at least in part on an output picture rate.

35. The system of claim 25 , wherein a number of times that the single decoded frame is output is determined based at least in part on a speed of the trick mode operation.

36. The system of claim 25 , wherein a number of times that the single decoded frame is output is determined based at least in part on a ratio of P-frames to B-frames in the video stream.

37. The system of claim 25 , wherein a number of times that the single decoded frame is output is determined based at least in part on the plurality of undecoded dependent frames.

38. The system of claim 25 , wherein the trick mode operation is a fast play mode.

39. The system of claim 25 , wherein the trick mode operation is a rewind mode.

40. The system of claim 25 , wherein a first tuner receives an analog vide o signal corresponding to a first video stream and a second tuner simultaneously receives a digital compressed stream corresponding to a second video stream; wherein the first video stream and the second video stream are annotated to facilitate future retrieval from memory; wherein the first video stream and the second video stream are stored in memory; and wherein at least one of the first video stream and the second video stream is output to a display device.

41. The system of claim 25 , wherein an entry point for a trick mode operation is specified based on an elapsed normal playback time and/or a number of frames relative to a beginning of the video stream.

42. The system of claim 25 , wherein in response to the request, a processor reads information in an index table, retrieves annotation data that correspond to the video stream, and determines an entry point for fulfilling the trick mode request.

43. A method for providing trick mode functionality, comprising the steps of:

storing in memory a video stream;

storing information related to the video stream in memory;

receiving a request for a trick mode operation;

determining whether the video stream contains independent frames;

responsive to receiving the request for a trick mode operation, decoding a plurality of undecoded dependent frames corresponding to the video stream to create a single decoded frame if the video stream does not contain independent frames; and

outputting the single decoded frame a plurality of times.

44. The method of claim 43 , further comprising the steps of:

decoding a first frame in the plurality of undecoded dependent frames;

decoding another frame in the plurality of undecoded dependent frames using the decoded first frame as an anchor; and

outputting the another frame a plurality of times.

45. The method of claim 44 , further comprising the steps of:

decoding a first frame in the plurality of undecoded dependent frames; and

decoding each remaining frame in the plurality of undecoded dependent frames using the previously decoded frame as an anchor; and

outputting one of the remaining frames a plurality of times.

46. The method of claim 44 , wherein the plurality of undecoded dependent frames comprises a series of undecoded dependent frames, and further comprising the steps of:

decoding the first frame in the series of undecoded dependent frames;

decoding each remaining frame in the series of undecoded dependent frames using one of the previously decoded frames as an anchor; and

outputting one of the remaining frames a plurality of times.

47. The method of claim 44 , wherein the plurality of undecoded dependent frames comprises a series of undecoded dependent frames, and further comprising the steps of:

decoding a first frame in the series of undecoded dependent frames;

decoding each remaining frame in the series of undecoded dependent frames using one of the previously decoded frames as an anchor; and

outputting the last frame of the remaining frames a plurality of times.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Dec 9, 2025
From: DENALI EUROPEAN OPPORTUNITIES DESIGNATED ACTIVITY COMPANY
To: SYNAMEDIA VIVIDTEC HOLDINGS, INC.
Reel/Frame 073156/0488 →
SECURITY INTEREST Recorded Dec 18, 2023
From: SYNAMEDIA VIVDTEC HOLDINGS, INC.
To: DENALI EUROPEAN OPPORTUNITIES DESIGNATED ACTIVITY COMPANY
Reel/Frame 065902/0726 →
RELEASE OF SECURITY INTEREST Recorded Dec 5, 2023
From: BANK OF AMERICA, N. A.
To: SYNAMEDIA VIVIDTEC HOLDINGS, INC
Reel/Frame 065765/0928 →
RELEASE OF SECURITY INTEREST Recorded Dec 5, 2023
From: BANK OF AMERICA, N. A.
To: SYNAMEDIA VIVIDTEC HOLDINGS, INC
Reel/Frame 065766/0064 →
SECURITY AGREEMENT Recorded Dec 5, 2023
From: SYNAMEDIA VIVIDTEC HOLDINGS, INC.
To: ADAMS STREET CREDIT ADVISORS LP
Reel/Frame 065775/0517 →
CORRECTIVE ASSIGNMENT TO CORRECT THE OWNER CHANGE PREVIOUSLY RECORDED AT REEL: 050113 FRAME: 0701. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 2, 2021
From: CISCO TECHNOLOGY, INC.
To: TRITON US VP ACQUISITION CO.
Reel/Frame 057049/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2019
From: TRITON US VP ACQUISITION CO.
To: NDS LIMITED
Reel/Frame 050113/0701 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: CISCO TECHNOLOGY, INC.
To: TRITON US VP ACQUISITION CO.
Reel/Frame 047419/0001 →
SECURITY AGREEMENT (SECOND LIEN) Recorded Oct 31, 2018
From: TRITON US VP ACQUISITION CO.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047376/0449 →
SECURITY AGREEMENT (FIRST LIEN) Recorded Oct 30, 2018
From: TRITON US VP ACQUISITION CO.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047364/0034 →
CHANGE OF NAME Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 034299/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034300/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2002
From: NALLUR, RAMESH; RODRIGUEZ, ARTURO A.; HOPPER, JEFFREY C.; NAIR, AJITH N.; CHAN, PETER
To: SCIENTIFIC-ATLANTA, INC., A CORP. OF GEORGIA
Reel/Frame 012658/0447 →