IP Library Granted Patent US 9,955,107
Granted Patent B2
US 9,955,107 · App. 12/428,625 · Granted Apr 24, 2018

Digital video recorder recording and rendering programs formed from spliced segments

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,955,107
App. No.
12/428,625
Granted
Apr 24, 2018
Kind
B2
Abstract

A method and apparatus is provided for recording a program. The method includes storing, in response to a user request, at least one content file that includes first and second program segments that are spliced to form a single program. At least one index file is created and stored. The file index includes program specific information associated with the first and second program segments. The index file also includes an identification of a splice point denoting a transition between the first and second program segments. In addition, a splice index is created and stored. The splice index includes timing information specifying a time at which the splice point occurs.

Claims (67)

1. A method of recording a program, comprising:

storing, in response to a user request, at least one content file that includes first and second program segments that are spliced to form a single program, wherein an identification of a splice point is included in an elementary stream associated with at least one of the first and second program segments, the splice point denoting a transition between the first and second program segments;

in a digital video recorder, creating and storing at least one index file that includes program specific information associated with the first and second program segments, wherein the program specific information includes a program's service number that is used to access a program map table, wherein the program map table includes packet identifiers, the index file further including the identification of the splice point; and

in the digital video recorder, creating and storing a splice index record that includes timing information specifying a time at which the splice point occurs, wherein the splice index record further includes:

one or more pre-service acquisition packet identifiers that identify packets of a first program transport stream for receiving the first program segment, and

a corresponding one or more post-service acquisition packet identifiers that identify packets of a second program transport stream for receiving the second program segment;

wherein, during a playback of the content file in a trick play mode, the splice index record is available to the digital video recorder, and the splice index record enables the transition between the first and second program segments, such that the digital video recorder does not need to receive the identification of the splice point from one of the first and second program segments during the playback of the content file in the trick play mode.

2. The method of claim 1 further comprising receiving the first and second program segments over a broadband network in the first and second program transport streams, respectively.

3. The method of claim 2 wherein the identification of the splice point is located in a data packet included in the first program transport stream.

4. The method of claim 1 wherein the content file, index file and the splice index record are stored in a network digital video recorder (DVR) associated with a broadband network headend.

5. The method of claim 1 wherein the timing information includes a timing offset to denote a point in time at which the splice point occurred relative to a start time of the first program segment.

6. The method of claim 5 wherein creating and storing the splice index record further comprises:

using the timing offset to create second timing index values for the second program segment that sequentially follow first timing index values for the first program segment; and

storing the first and second timing index values for the first and second program segments in the splice index record.

7. The method of claim 1 wherein the splice index record is not included in the content file and is included in a second index file.

8. The method of claim 1 wherein the splice index record further includes at least some of the program specific information for the first and second program segments.

9. The method of claim 1 , wherein the one or more pre-service acquisition packet identifiers are selected from a group consisting of:

a video packet identifier that identifies packets of the first program transport stream for receiving the first program segment,

an audio packet identifier that identifies packets of the first program transport stream for receiving the first program segment,

a data packet identifier that identifies packets of the first program transport stream for receiving the first program segment, and

an entitlement control message packet identifier that identifies packets of the first program transport stream for receiving the first program segment;

and each of the corresponding one or more post-service acquisition packet identifiers corresponds to a selected pre-service acquisition packet identifier, and identifies packets of the second program transport stream for receiving the second program segment.

10. A set top terminal comprising:

a receiver/tuner for receiving programs over a broadband network;

a DVR module for coordinating storage and playback of programs received over the broadband network, wherein the DVR module is configured to store in at least one content file first and second program segments associated with a single program received over the broadband network, wherein an identification of a splice point is included in an elementary stream associated with at least one of the first and second program segments, the splice point denoting a transition between the first and second program segments, and further configured to store in at least one index file program specific information associated with the first and second program segments, wherein the program specific information includes a program's service number that is used to access a program map table, wherein the program map table includes packet identifiers, wherein the DVR module is further configured to store, in a common splice index file, timing information denoting a splice point between the first and second program segments, wherein the splice index file further includes a splice index record comprising:

one or more pre-service acquisition packet identifiers that identify packets of a first program transport stream for receiving the first program segment, and

a corresponding one or more post-service acquisition packet identifiers that identify packets of a second program transport stream for receiving the second program segment;

at least one storage medium for storing the content file, index file, and the splice index file; and

a processor operationally associated with the receiver/tuner, the at least one storage medium, and the DVR module;

wherein, during a playback of the content file in a trick play mode, the splice index record is available to the DVR module, and the splice index record enables the transition between the first and second program segments, such that the DVR module does not need to receive the identification of the splice point from one of the first and second program segments during the playback of the content file in the trick play mode.

11. The set top terminal of claim 10 wherein the timing information includes a timing offset to denote a point in time at which the splice point occurred relative to a start time of the first program segment.

12. The set top terminal of claim 11 wherein the DVR module is further configured to use the timing offset to create second timing index values for the second program segment that sequentially follow first timing index values for the first program segment.

13. The set top terminal of claim 10 wherein the DVR module is further configured to:

receive user input requesting rewinding of the single program back through the splice point;

determine from the timing information in the splice index file when the splice point has been reached;

upon reaching the splice point while rewinding the single program, cause values of the program specific information associated with the first program segment to be loaded into the processor from the splice index file; and

cause the first program segment of the single program to be retrieved from the content file and rendered using the program specific information presently loaded in the processor.

14. The set top terminal of claim 10 wherein the DVR module is further configured to:

receive user input that requests that the single program be rendered through the splice point in normal play mode or fast forward mode;

determine from the timing information in the splice index file when the splice point has been reached;

upon reaching the splice point while rendering the single program, cause values of the program specific information associated with the second program segment to be loaded into the processor from the splice index file; and

cause the second program segment of the single program to be retrieved from the content file and rendered using the program specific information presently loaded in the processor.

15. At least one non-transitory computer-readable medium encoded with instructions which, when executed by a processor, perform a method including:

receiving user input requesting playback of a recorded program that includes first and second program segments that are stored in at least one content file, wherein an identification of a splice point is included in an elementary stream associated with at least one of the first and second program segments, the splice point denoting a transition between the first and second program segments;

causing a first set of program specific information associated with the first segment of the recorded program to be loaded into a DVR processor, wherein the program specific information includes a program's service number that is used to access a program map table, wherein the program map table includes packet identifiers;

causing the first segment of the recorded program to be retrieved from a content file and rendered using the first set of program specific information;

retrieving timing information from a splice index record that includes a splice point denoting a transition time between the first and second program segments, wherein the splice index record further includes:

one or more pre-service acquisition packet identifiers that identify packets of a first program transport stream for receiving the first program segment, and

a corresponding one or more post-service acquisition packet identifiers that identify packets of a second program transport stream for receiving the second program segment;

determining from the timing information when the splice point in the recorded program being rendered has been reached, wherein, during a playback of the content file in a trick play mode, the splice index record is available to the DVR processor, and the splice index record enables the transition between the first and second program segments, such that the DVR processor does not need to receive the identification of the splice point from one of the first and second program segments during the playback of the content file in the trick play mode;

upon reaching the splice point, causing a second set of program specific information associated with the second segment of the recorded program to be loaded into the DVR processor; and

causing the second segment of the recorded program to be retrieved from the content file and rendered using the second set of the program specific information presently loaded in the DVR processor.

16. The computer-readable medium of claim 15 , the method further comprising:

receiving user input requesting rewinding of the recorded program back through the splice point;

determining from the timing information in the splice index record when the splice point has been reached;

upon reaching the splice point while rewinding the recorded program, causing the values of the first set of program specific information to be loaded into the DVR processor from the splice index record; and

causing the first segment of the recorded program to be retrieved from the content file and rendered using the first set of the program specific information presently loaded in the DVR processor.

17. The computer-readable medium of claim 15 wherein the timing information includes a timing offset to denote a point in time at which the splice point occurred relative to a start time of the first program segment.

18. The computer-readable medium of claim 17 , the method further comprising:

using the timing offset to create second timing index values for the second program segment that sequentially follow first timing index values for the first program segment;

storing the first and second timing index values for the first and second program segments in the splice index record.

19. The computer-readable medium of claim 15 , the method further comprising:

receiving user input requesting fast-forwarding of the recorded program while rendering the first program segment;

determining from the timing information in the splice index record when the splice point has been reached;

upon reaching the splice point while fast forwarding the recorded program, causing the values of the second set of program specific information to be loaded into the DVR processor from the splice index record; and

causing the second segment of the recorded program to be retrieved from the content file and rendered using the second set of the program specific information presently loaded in the DVR processor.

20. The computer-readable medium of claim 15 wherein the user input is received by a network DVR over a broadband network.

Assignments (10)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: ARRIS TECHNOLOGY, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060791/0583 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 049820 FRAME: 0495. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jul 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049858/0161 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
CHANGE OF NAME Recorded Jul 2, 2019
From: ARRIS ENTERPRISES. INC
To: ARRIS
Reel/Frame 049669/0652 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →