IP Library Granted Patent US 7,840,119
Granted Patent B2
US 7,840,119 · App. 10/256,044 · Granted Nov 23, 2010

Methods and apparatus for processing progressive I-slice refreshed MPEG data streams to enable trick play mode features on a display device

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,840,119
App. No.
10/256,044
Granted
Nov 23, 2010
Kind
B2
Abstract

A display device with personal versatile recorder capabilities is provided which is capable of processing progressive I-slice refreshed MPEG data streams to enable trick play mode features. The display device comprises a receiver for receiving a progressive I-slice refreshed MPEG data stream having I-slices distributed over multiple P-frames. The display device further comprises a syntax parser for parsing the data stream to locate I-slices which make up an I-frame. A storage device is provided for storing the data stream. The display device also comprises an interface for receiving a command for a trick play mode feature. A processor associated with the syntax parser recovers the located I-slices from the storage device and assembles the recovered I-slices into one or more constructed I-frames. A decoder is provided for decoding the constructed I-frames to enable the trick play mode features.

Claims (103)

1. A method for processing progressive I-slice refreshed MPEG data streams to enable trick play mode features on a display device having personal versatile recorder capabilities, comprising the steps of:

receiving at the display device a progressive I-slice refreshed MPEG data stream having I-slices distributed over multiple P-frames;

parsing the data stream to locate the I-slices which make up an I-frame;

storing said located I-slices in a storage device;

receiving a command for a trick play mode feature;

recovering the located I-slices from said storage device in response to said command;

assembling the recovered I-slices into one or more constructed I-frames; and

decoding the constructed I-frames to enable said trick play mode feature,

wherein only constructed I-frames are decoded for use during said trick play mode feature, said constructed I-frames being complete without gaps between I-slices, and only complete constructed I-frames are provided to said display device, and said constructed I-frames being complete without gaps between I-slices are from one video stream.

2. A method in accordance with claim 1 , wherein the display device comprises one of a personal versatile recorder (PVR), a digital video recorder, a set-top terminal, a digital television, a cellular telephone, a personal digital assistant, or a personal computer.

3. A method in accordance with claim 1 , wherein:

the I-slices which make up the constructed I-frame are distributed over N P-frames.

4. A method in accordance with claim 3 , wherein N P-frames are provided in said data stream each refresh cycle.

5. A method in accordance with claim 1 , wherein the trick play mode features comprise at least one of rewind and fast forward.

6. A method in accordance with claim 1 , wherein each macroblock which forms the constructed I-frame is an intra-coded macroblock.

7. A method in accordance with claim 1 , further comprising the step of:

receiving at the display device an I-frame based MPEG data stream instead of said progressive I-slice refreshed MPEG data stream; and

concatenating slices of multiple I-frames of said I-frame based MPEG data stream to form the constructed I-frame upon receipt of said command.

8. A method in accordance with claim 1 , further comprising:

storing indexing data comprising a location of each I-slice within the data stream on said storage device; and

accessing said indexing data to locate and recover said I-slices.

9. A method in accordance with claim 8 , wherein said indexing data further comprises:

a location of each I-slice positioned at a top portion of a P-frame.

10. A method in accordance with claim 9 , wherein:

said command comprises a fast forward command establishing a fast forward interval;

said indexing data is used to locate a nearest I-slice positioned at the top portion of a P-frame in said data stream;

said nearest I-slice and I-slices subsequent in time thereto are recovered and assembled to form a constructed I-frame; and

for the duration of the fast forward interval:

said indexing data is used to locate subsequent additional I-slices positioned at the top portions of P-frames in said data stream; and

each subsequent additional I-slice and I-slices subsequent in time thereto are recovered and assembled to provide additional constructed I-frames.

11. A method in accordance with claim 10 , wherein said nearest I-slice comprises one of an I-slice located forward of a current data stream position or prior to a current data stream position.

12. A method in accordance with claim 9 , wherein:

said command comprises a rewind command establishing a rewind interval;

said indexing data is used to locate a nearest I-slice positioned at the top portion of a P-frame in said data stream;

said nearest I-slice and I-slices subsequent in time thereto are recovered and assembled to form a constructed I-frame; and

for the duration of the rewind interval:

said indexing data is used to locate previous additional I-slices positioned at the top portions of P-frames in said data stream; and

each previous additional I-slice and I-slices subsequent in time thereto are recovered and assembled to provide additional constructed I-frames.

13. A method in accordance with claim 12 , wherein said nearest I-slice comprises one of an I-slice located forward of a current data stream position or prior to a current data stream position.

14. A method in accordance with claim 8 , wherein said accessing of said indexing data is adapted to occur independently from accessing of said data stream.

15. A method in accordance with claim 8 , wherein said accessing of said indexing data is adapted to occur either sequentially or at random temporal locations.

16. A method in accordance with claim 1 , wherein:

the assembly of the constructed I-frame begins with a first located I-slice;

said first located I-slice is positioned below a top portion of a P-frame; and

the constructed I-frame contains a blank portion above the position of the first located I-slice.

17. A method in accordance with claim 1 , wherein:

said command establishes a trick play mode speed; and

said trick play mode speed corresponds to a refresh rate of the MPEG data stream.

18. A method in accordance with claim 1 , wherein:

said command establishes a trick play mode speed;

said trick play mode speed corresponds to a multiple of a refresh rate of the MPEG data stream.

19. A method in accordance with claim 1 , wherein:

said command comprises a fast forward command establishing a fast forward interval.

20. A display device with personal versatile recorder capabilities enabled to process progressive I-slice refreshed MPEG data streams to enable trick play mode features, comprising:

a receiver for receiving a progressive I-slice refreshed MPEG data stream having I-slices distributed over multiple P-frames;

a syntax parser for parsing the data stream to locate the I-slices which make up an I-frame;

a storage device for storing the located I-slices;

an interface for receiving a command for a trick play mode feature;

a processor associated with the syntax parser for recovering the located I-slices from the storage device and assembling the recovered I-slices into one or more constructed I-frames; and

a decoder for decoding the constructed I-frames to enable said trick play mode features,

wherein only constructed I-frames are decoded for use during said trick play mode feature, said constructed I-frames being complete without gaps between I-slices, and only complete constructed I-frames are displayed, and said constructed I-frames being complete without gaps between I-slices are from one video stream.

21. Display device in accordance with claim 20 , comprising one of a personal versatile recorder (PVR), a digital video recorder, a set-top terminal, a digital television, a cellular telephone, a personal digital assistant, or a personal computer.

22. Display device in accordance with claim 20 , wherein:

the I-slices which make up the constructed I-frame are distributed over N P-frames.

23. Display device in accordance with claim 22 , wherein N P-frames are provided in said data stream each refresh cycle.

24. Display device in accordance with claim 20 , wherein the trick play mode features comprise at least one of rewind and fast forward.

25. Display device in accordance with claim 20 , wherein each macroblock which forms the constructed I-frame is an intra-coded macroblock.

26. Display device in accordance with claim 20 , wherein:

said receiver receives an I-frame based MPEG data stream instead of said progressive I-slice refreshed MPEG data stream; and

the processor concatenates slices of multiple I-frames of said I-frame based MPEG data stream to form the constructed I-frame upon receipt of said command.

27. Display device in accordance with claim 20 , wherein:

said syntax parser provides indexing data comprising a location of each I-slice within the data stream;

said indexing data is stored on said storage device; and

said processor accesses said indexing data to locate and recover said I-slices.

28. Display device in accordance with claim 27 , wherein said indexing data further comprises:

a location of each I-slice positioned at a top portion of a P-frame.

29. Display device in accordance with claim 28 , wherein:

said command comprises a fast forward command establishing a fast forward interval;

said indexing data is used to locate a nearest I-slice positioned at the top portion of a P-frame in said data stream;

said nearest I-slice and I-slices subsequent in time thereto are recovered and assembled to form a constructed I-frame; and

for the duration of the fast forward interval:

said indexing data is used to locate subsequent additional I-slices positioned at the top portions of P-frames in said data stream; and

each subsequent additional I-slice and I-slices subsequent in time thereto are recovered and assembled to provide additional constructed I-frames.

30. Display device in accordance with claim 29 , wherein said nearest I-slice comprises one of an I-slice located forward of a current data stream position or prior to a current data stream position.

31. Display device in accordance with claim 28 , wherein:

said command comprises a rewind command establishing a rewind interval;

said indexing data is used to locate a nearest I-slice positioned at the top portion of a P-frame in said data stream;

said nearest I-slice and I-slices subsequent in time thereto are recovered and assembled to form a constructed I-frame; and

for the duration of the rewind interval:

said indexing data is used to locate previous additional I-slices positioned at the top portions of P-frames in said data stream; and

each previous additional I-slice and I-slices subsequent in time thereto are recovered and assembled to provide additional constructed I-frames.

32. Display device in accordance with claim 31 , wherein said nearest I-slice comprises one of an I-slice located forward of a current data stream position or prior to a current data stream position.

33. Display device in accordance with claim 27 , wherein said processor is adapted to access said indexing data independently from accessing of said data stream.

34. Display device in accordance with claim 27 , wherein said processor is adapted to accesses said indexing data either sequentially or at random temporal locations.

35. Display device in accordance with claim 20 , wherein:

the assembly of the constructed I-frame begins with a first located I-slice; said first located I-slice is positioned below a top portion of a P-frame; and

the constructed I-frame contains a blank portion above the position of the first located I-slice.

36. Display device in accordance with claim 20 , wherein:

said command establishes a trick play mode speed; and

said trick play mode speed corresponds to a refresh rate of the MPEG data stream.

37. Display device in accordance with claim 20 , wherein:

said command establishes a trick play mode speed; and

said trick play mode speed corresponds to a multiple of a refresh rate of the MPEG data stream.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034472/0001 →
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 Sep 25, 2002
From: EIFRIG, ROBERT; ANDERES, WALTER; KIMBALL, BRIDGET DIANE; BAKER, PAUL DOUGLAS
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 013339/0124 →