IP Library Granted Patent US 9,640,220
Granted Patent B2
US 9,640,220 · App. 14/363,558 · Granted May 2, 2017

Managing time-shift data

Inventors: Brian Duane Clevenger (Muncie, IN); Mark Allen McCleary (Indianapolis, IN); Bruno Le Garjan (Rennes, FR); Benjamin Allen Pullen (Redmond, WA)
Assignee: THOMSON LICENSING
G11B27/102H04N5/76H04N21/4333H04N21/4334H04N21/8456H04N9/8205
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,640,220
App. No.
14/363,558
Granted
May 2, 2017
Kind
B2
Abstract

There are provided respective systems and methods for recording and playing back media content. The system for recording media content includes a segmenter ( 303 ) for splitting transport stream data and index data corresponding to the media content into discrete files at periodic intervals on access point boundaries. Each of the discrete files includes a respective transport segment and a respective index segment. The system also includes a segment storage device ( 304 ) for storing the discrete files.

Claims (43)

1. A system for recording media content, comprising:

a segmenter splitting transport stream data and index data corresponding to the media content into discrete files at periodic intervals on access point boundaries, each of the discrete files including a respective transport segment and a respective index segment;

a segment storage device storing the discrete files in a segment database, wherein the segment database comprises information that allows groups of transport segments to be played back in sequence, each of the groups of transport segments corresponding to a respective program; and

a recording control device responsive to a request to record a program to configure the system to begin recording, wherein the segmenter adds to the segment database

a first record of a first type representing a recording of the program, and

a second record of a second type representing a recorded segment of the recording of the program and including a value indicating a file used for storing index information for the recorded segment, and

a third record of a third type associating the second record with the first record; and

wherein the program to be recorded comprises a program in progress and the recording control device querying the segment database to find an existing segment stored in the segment database matching a time range and a service for the program, and adding the existing segment at a start of the recording.

2. The system of claim 1 , wherein the second record of the second type comprises a segment record corresponding to the respective transport segment and comprising a unique segment identifier, a transport file indicator for indicating a file that stores transport stream data for the respective transport segment, the value comprising an index file indicator for indicating a file that stores index information for the respective transport segment, a start time of the respective transport segment, and an end time of the respective transport segment.

3. The system of claim 1 , wherein the recording control device prepends a segment from another recording to a beginning of a new recording for seamless playback of the new recording inclusive of the pre-pended segment.

4. The system of claim 1 , wherein the recording control device truncates a segment from a start of a recording that is in progress to simulate a rolling buffer having a fixed length.

5. A method for recording media content, comprising:

splitting transport stream data and index data corresponding to the media content into discrete files at periodic intervals on access point boundaries, each of the discrete files including a respective transport segment and a respective index segment; and

storing the discrete files in a segment database stored in a segment storage device, wherein the segment database comprises information that allows groups of transport segments to be played back in sequence, each of the groups of transport segments corresponding to a respective program; and

adding records to the segment database responsive to a request to record a program, wherein the added records comprise

a first record of a first type representing a recording of the program, and

a second record of a second type representing a recorded segment of the recording of the program and including a value indicating a file used for storing index information for the recorded segment, and

a third record of a third type associating the second record with the first record; and

querying the segment database responsive to the request to record a program comprising a request to record a program in progress to find an existing segment stored in the segment database matching a time range and a service for the program, and adding the existing segment at a start of the recording.

6. The method of claim 5 , wherein the second record of the second type comprises a segment record corresponding to a respective transport segment and comprises a unique segment identifier, a transport file indicator for indicating a file that stores transport stream data for the respective transport segment, the value comprising an index file indicator for indicating a file that stores index information for the respective transport segment, a start time of the respective transport segment, and an end time of the respective transport segment.

7. The method of claim 5 , further comprising prepending a segment from another recording to a beginning of a new recording for seamless playback of the new recording inclusive of the pre-pended segment.

8. The method of claim 5 , further comprising truncating a segment from a start of a recording that is in progress to simulate a rolling buffer having a fixed length.

9. A computer-readable non-transitory storage medium having a computer-readable program code embodied therein for causing a computer system to perform the method of claim 5 .

10. A system for recording media content, comprising:

a segmenter splitting transport stream data and index data corresponding to the media content into discrete files at periodic intervals on access point boundaries, each of the discrete files including a respective transport segment and a respective index segment;

a segment storage device storing the discrete files in a segment database, wherein the segment database comprises information that allows groups of transport segments to be played back in sequence, each of the groups of transport segments corresponding to a respective program; and

a recording control device responsive to a request to record a program to configure the system to begin recording, wherein the segmenter adds to the segment database

a first record of a first type representing a recording of the program, and

a second record of a second type representing a recorded segment of the recording of the program and including a value indicating a file used for storing index information for the recorded segment, and

a third record of a third type associating the second record with the first record.

11. The system of claim 10 , wherein the second record of the second type comprises a segment record corresponding to the respective transport segment and comprising a unique segment identifier, a transport file indicator for indicating a file that stores transport stream data for the respective transport segment, the value comprising an index file indicator for indicating a file that stores index information for the respective transport segment, a start time of the respective transport segment, and an end time of the respective transport segment.

12. The system of claim 11 , wherein the first record of the first type comprises a playlist record representing the recording and including a playlist ID and a data field indicating whether the recording is for time-shift.

13. The system of claim 12 , wherein the third record of the third type comprises a playlist segment record associating the segment record with the playlist record.

14. A method for recording media content, comprising:

splitting transport stream data and index data corresponding to the media content into discrete files at periodic intervals on access point boundaries, each of the discrete files including a respective transport segment and a respective index segment; and

storing the discrete files in a segment database stored in a segment storage device, wherein the segment database comprises information that allows groups of transport segments to be played back in sequence, each of the groups of transport segments corresponding to a respective program; and

adding records to the segment database responsive to a request to record a program, wherein the added records comprise

a first record of a first type representing a recording of the program, and

a second record of a second type representing a recorded segment of the recording of the program and including a value indicating a file used for storing index information for the recorded segment, and

a third record of a third type associating the second record with the first record.

15. The method of claim 14 , wherein the second record of the second type comprises a segment record corresponding to a respective transport segment and comprises a unique segment identifier, a transport file indicator for indicating a file that stores transport stream data for the respective transport segment, the value comprising an index file indicator for indicating a file that stores index information for the respective transport segment, a start time of the respective transport segment, and an end time of the respective transport segment.

16. The system of claim 15 , wherein the first record of the first type comprises a playlist record representing the recording and including a playlist ID and a data field indicating whether the recording is for time-shift.

17. The system of claim 16 , wherein the third record of the third type comprises a playlist segment record associating the segment record with the playlist record.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2020
From: THOMSON LICENSING S.A.S.
To: MAGNOLIA LICENSING LLC
Reel/Frame 053570/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2014
From: CLEVENGER, BRIAN DUANE; MCCLEARY, MARK ALLEN; LE GARJAN, BRUNO; PULLEN, BENJAMIN ALLEN
To: THOMSON LICENSING
Reel/Frame 033067/0092 →
Continuity (2)
Provisional Application 61584351 · Jan 9, 2012
Related Publication 20140369666A1 · Dec 18, 2014