IP Library Granted Patent US 7,720,350
Granted Patent B2
US 7,720,350 · App. 10/999,670 · Granted May 18, 2010

Methods and systems for controlling trick mode play speeds

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,720,350
App. No.
10/999,670
Granted
May 18, 2010
Kind
B2
Abstract

In one of many possible embodiments, a method is provided for controlling trick mode playback speed. Frame indices associated with video frames of a digital video stream are monitored and a Group-of-Pictures (GOP) size is determined from the frame indices. One or more trick mode play speed parameters are calculated based on the determined GOP size. Presentation of the video frames is controlled based on the calculated trick mode play speed parameters. In one embodiment, the trick mode play speed parameters include a frame-skip count (FSC) and a frame-repeat count (FRC).

Claims (81)

1. A method used in a system for controlling trick mode playback speed, the method comprising:

monitoring a plurality of frame indices associated with a plurality of frames of a digital video stream;

dynamically determining a new Group-of-Pictures (GOP) size associated with each of a plurality of I frames included in said plurality of frames, based on at least a subset of said plurality of frame indices;

comparing the new GOP size to a selected trick mode playback speed;

when the new GOP size is less than the selected trick mode playback speed,

calculating a new value for a Frame Skip Count (FSC) parameter indicating skipping of at least one I-frame, said new value being based on said new GOP size, and

dynamically controlling frame presentation based on said new value of FSC;

when the new GOP size is more than the desired trick mode playback speed,

calculating a new value for a Frame Repeat Count (FRC) parameter indicating repetition of at least one I-frame, said new value being based on said new GOP size; and

dynamically controlling frame presentation based on said new value of FRC.

2. The method of claim 1 , wherein said plurality of frames includes a plurality of I-frames, including a first I-frame and a second I-frame, and said plurality of indices includes a first I-frame index associated with said first I-frame and a second I-frame index associated with said second I-frame.

3. The method of claim 1 , wherein said new value of FSC is defined as the trick mode playback speed divided by said new GOP size.

4. The method of claim 1 , wherein said plurality of frames includes a plurality of I-frames, and wherein said step of dynamically controlling frame presentation based on said new value of FSC includes skipping forward or backward a number of said plurality of I-frames, said number being defined by said new value of FSC.

5. The method of claim 4 , wherein said step of dynamically controlling frame presentation based on said new value of FSC includes presenting only a subset of said plurality of I-frames to a video decoder, said subset being defined by said new value of FSC.

6. The method of claim 1 wherein said new value of FRC is defined as said new GOP size divided by the trick mode playback speed.

7. The method of claim 1 wherein said step of dynamically controlling frame presentation based on said new value of FRC includes repeatedly presenting at least one of said plurality of frames for display for a number of iterations, said number of iterations being defined by said new value of FRC.

8. The method of claim 1 wherein said step of dynamically controlling frame presentation based on said new value of FSC includes presenting select frames of said plurality of frames to a video decoder, said select frames being determined based on said new value of FSC.

9. The method of claim 1 wherein said step of dynamically controlling frame presentation based on said new value of FRC includes repeatedly outputting select frames of said plurality of frames for display, the number of repetitions being based on said FRC.

10. The method of claim 1 , wherein said step of monitoring is performed in real-time.

11. The method of claim 1 , wherein said step of dynamically determining said new GOP size includes determining whether a calculated GOP size is different from a current GOP setting by comparing a number of consecutive occurrences of equivalent calculated GOP sizes in a video stream to a threshold.

12. A method used in a system for controlling trick mode playback speed, the method comprising:

monitoring a plurality of frame indices associated with a plurality of frames of a digital video stream;

determining a Group-of-Pictures (GOP) size based on at least a subset of said plurality of frame indices;

calculating at least one trick mode play speed parameter based on said GOP size; and

controlling frame presentation based on said at least one trick mode play speed parameter;

wherein said plurality of frames includes a plurality of I-frames, including a first I-frame and a second I-frame, and said plurality of indices includes a first I-frame index associated with said first I-frame and a second I-frame index associated with said second I-frame; and

wherein said step of determining said GOP size includes calculating a difference between said first I-frame index and said second I-frame index.

13. A method used in a system for controlling trick mode play speed, the method comprising:

monitoring navigation data associated with a plurality of video frames in a digital video stream, said plurality of video frames including a plurality of I-frames;

iteratively determining a Group-of-Pictures (GOP) size for consecutive pairs of said I-frames;

tracking a number of consecutive occurrences of said determined GOP size when said determined GOP size is different than a current GOP size setting;

determining whether said number of consecutive occurrences of said determined GOP size reaches a predetermined threshold;

calculating at least one trick mode play speed parameter based on said determined GOP size when said number of consecutive occurrences reaches said predetermined threshold; and

controlling frame presentation based on said at least one trick mode play speed parameter.

14. The method of claim 13 , wherein said navigation data includes a plurality of indices associated with said plurality of I-frames, and wherein said step of iteratively determining said GOP size includes calculating a difference between a subset of said plurality of indices, said subset being associated with said consecutive pairs of said I-frames.

15. The method of claim 13 , wherein said step of calculating said at least one trick mode play speed parameter includes calculating a frame skip count (FSC).

16. The method of claim 15 , wherein said FSC is defined as the trick mode playback speed divided by said determined GOP size.

17. The method of claim 15 , wherein said step of controlling frame presentation includes skipping forward or backward a number of said plurality of I-frames, said number being defined by said FSC.

18. The method of claim 17 , wherein said step of controlling frame presentation includes presenting only a subset of said plurality of I-frames to a video decoder, said subset being defined by said FSC.

19. The method of claim 13 , wherein said step of calculating said at least one trick mode play speed parameter includes calculating a frame repeat count (FRC).

20. The method of claim 19 , wherein said FRC is defined as said determined GOP size divided by the trick mode playback speed.

21. The method of claim 19 , wherein said step of controlling frame presentation includes repeatedly presenting at least one of said plurality of I-frames for display for a number of iterations, said number of iterations being defined by said FRC.

22. The method of claim 13 , wherein said step of calculating said at least one trick mode play speed parameter includes:

determining whether said determined GOP size is less than the trick mode playback speed;

calculating a frame repeat count (FRC) when said step of determining determines that the trick mode playback speed is less than said determined GOP size; and

calculating a frame skip count (FSC) when said step of determining determines that the trick mode playback speed is greater than or equal to said determined GOP size.

23. The method of claim 22 , wherein said step of controlling frame presentation includes presenting select frames of said plurality of frames to a video decoder, said select frames being determined based on said FSC.

24. The method of claim 22 , wherein said step of controlling frame presentation includes repeatedly outputting select frames of said plurality of frames for display, the number of repetitions being based on said FRC.

25. A computer readable medium encoded with computer executable instructions for controlling trick mode playback speed, said instructions being configured to instruct a processor to perform the steps of:

monitoring a plurality of frame indices associated with a plurality of frames of a digital video stream;

dynamically determining a new Group-of-Pictures (GOP) size associated with each of a plurality of I frames included in said plurality of frames, based on at least a subset of said plurality of frame indices;

comparing the new GOP size to a selected trick mode playback speed;

when the new GOP size is less than the selected trick mode playback speed,

calculating a new value for a Frame Skip Count (FSC) parameter indicating skipping of at least one I-frame, said new value being based on said GOP size, and

dynamically controlling frame presentation based on said new value of FSC; and

when the new GOP size is more than the desired trick mode playback speed,

calculating a new value for a Frame Repeat Count (FRC) parameter indicating repetition of at least one I-frame, said new value being based on said GOP size, and

dynamically controlling frame presentation based on said new value of FRC.

26. The computer readable medium of claim 25 , wherein said plurality of frames includes a plurality of I-frames, including a first I-frame and a second I-frame, and said plurality of indices includes a first I-frame index associated with said first I-frame and a second I-frame index associated with said second I-frame.

27. The computer readable medium of claim 26 , wherein said step of determining said new GOP size includes calculating a difference between said first I-frame index and said second I-frame index.

28. The computer readable medium of claim 25 , wherein said FSC is defined as the trick mode playback speed divided by said new GOP size.

29. The computer readable medium of claim 25 , wherein said plurality of frames includes a plurality of I-frames, and wherein said step of dynamically controlling frame presentation includes skipping forward or backward a number of said plurality of I-frames, said number being defined by said FSC.

30. The computer readable medium of claim 25 , wherein said step of dynamically controlling frame presentation based on said new value of FSC includes presenting only a subset of said plurality of I-frames to a video decoder, said subset being defined by said FSC.

31. The computer readable medium of claim 25 , wherein said new value of FRC is defined as said new GOP size divided by the trick mode playback speed.

32. The computer readable medium of claim 25 , wherein said step of dynamically controlling frame presentation based on said new value of FRC includes repeatedly presenting at least one of said plurality of frames for display for a number of iterations, said number of iterations being defined by said new value of FRC.

33. The computer readable medium of claim 25 , wherein said step of dynamically controlling frame presentation based on said new value of FSC includes presenting select frames of said plurality of frames to a video decoder, said select frames being determined based on said new value of FSC.

34. The computer readable medium of claim 25 , wherein said step of dynamically controlling frame presentation based on said new value of FRC includes repeatedly outputting select frames of said plurality of frames for display, the number of repetitions being based on said new value of FRC.

35. A system for controlling trick mode playback speed, the system comprising:

a data store for storing a digital video stream and navigation data for navigating said digital video stream, said digital video stream including a plurality of I-frames;

a video processor module in communication with said data store and configured to access said digital video stream, said video processor module including a video decoder configured to decode said plurality of I-frames; and

a trick mode module in communication with said video processor module, said trick mode module begin configured to:

access said digital video stream and said navigation data;

monitor said navigational data to iteratively determine a Group-of-Pictures (GOP) size associated with each of said plurality of I-frames;

calculate at least one trick mode play speed parameter based on said GOP size; and

control presentation said plurality of I-frames based on said trick mode play speed parameter.

36. The system of claim 35 , wherein said navigational data includes a plurality of indices associated with said plurality of I-frames, and wherein said trick mode module is configured to determined said GOP size by calculating a difference between a pair of said indices associated with a pair of consecutive said I-frames.

37. The system of claim 35 , wherein said at least one trick mode play speed parameter includes a frame-repeat count (FRC) and a frame-skip count (FSC).

38. The system of claim 37 , wherein said FRC is defined as said GOP size divided by the trick mode playback speed.

39. The system of claim 37 , wherein said trick mode module is configured to control frame presentation by sending said FRC to said video decoder, said video decoder being configured to repeatedly process each of said plurality of I-frames a number of times, said number of times being defined by said FRC.

40. The system of claim 37 , wherein said FSC is defined as the trick mode playback speed divided by said GOP size.

41. The system of claim 37 , wherein said trick mode module is configured to control frame presentation by selectively presenting at least a subset of said plurality of I-frames to said video decoder, wherein said at least a subset of said plurality of I-frames is defined by said FSC.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034293/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2004
From: SURLINE, JACK E.
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 016036/0019 →