IP Library Granted Patent US 10,412,451
Granted Patent B2
US 10,412,451 · App. 16/040,703 · Granted Sep 10, 2019

Storing same channel overlapping recordings

Inventor: Nicholas Lovell (Mountain View, CA)
Assignee: TiVo Solutions Inc.
H04N21/4583G11B27/105H04N5/76H04N5/782H04N21/4147H04N21/435H04N21/4325H04N21/4334H04N21/4345H04N21/44008H04N21/47214H04N21/47217H04N21/8456H04N5/765H04N21/00H04N21/26291H04N21/4622
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 10,412,451
App. No.
16/040,703
Granted
Sep 10, 2019
Kind
B2
Abstract

First media segments for a first media program are recorded. The first media program is scheduled to start at a first start time and end at a first end time, whereas a second media program is scheduled to start at a second start time and end at a second end time, the first end time being after the second start time. It is determined whether the first media program and the second media program are on a same channel. If so, one or more shared media segments, one of which is before all other shared media segments in the shared media segments and begins no later than the first time, are recorded. A first media program object is generated to represent a first recording of the first media program, and includes references to the first media segments and the shared media segments.

Claims (45)

1. A method comprising:

determining whether a first media program having a first start time and a first end time and a second media program having a second start time and a second end time are broadcasted on a channel, the second start time being after the first start time and before the first end time; and

in response to determining that the first media program and the second media program are broadcasted on the channel:

receiving media data from the channel;

spawning a first writing thread, beginning no later than the first start time and ending no earlier than the first end time, to record the first media program, the first writing thread generating a first plurality of media segments comprising media data of the first media program received from the channel;

spawning a second writing thread, beginning no later than the second start time, to record the second media program, the second writing thread generating a second plurality of media segments comprising media data of the second media program received from the channel;

generating a first media program object to represent a first recording of the first media program, the first media program object including references to the first plurality of media segments; and

generating a second media program object to represent the second recording of the second media program, the second media program object including references to the second plurality of media segments.

2. The method of claim 1 , wherein the first media program and the second media program are received with the same tuner.

3. The method of claim 1 , wherein the second writing thread is initiated at a time at which a new media segment will cover a time duration that includes the second start time.

4. The method of claim 1 , further comprising:

terminating the first writing thread no earlier than the first end time; and

terminating the second writing thread no earlier than the second end time.

5. The method of claim 4 , wherein the first writing thread is terminated at a time at which a last recorded media segment of the first media segments covers a time duration that includes the first end time.

6. The method of claim 4 , wherein the second writing thread is terminated at a time at which a last recorded media segment of the second media segments covers a time duration that includes the second end time.

7. The method of claim 1 , further comprising:

causing the first media program to be presented for a user to select for playing back;

receiving a request from the user to play back the first media program; and

in response to receiving the request to play back the first media program, causing the first media segments to be played back along a time order as represented in the first media program object.

8. The method of claim 1 , wherein the first media program object comprises data in one or more data structures that identify a plurality of media data segments included in the first media program, and a temporal order of the plurality of media data segments.

9. The method of claim 1 , wherein the channel is broadcast by a media program source comprising one of a media program server, a cable distribution system, a satellite broadcast system, an over-the-air broadcast station, and a network-based content server.

10. The method of claim 1 , wherein the channel comprises one of a cable channel, a broadcast channel, a broadband channel, a media data stream, and a media data download.

11. A system comprising:

control circuitry configured to:

determine whether a first media program having a first start time and a first end time and a second media program having a second start time and a second end time are broadcasted on a channel, the second start time being after the first start time and before the first end time; and

in response to determining that the first media program and the second media program are broadcasted on the channel:

receive media data from the channel;

spawn a first writing thread, beginning no later than the first start time and ending no earlier than the first end time, to record the first media program, the first writing thread being configured to generate a first plurality of media segments comprising media data of the first media program received from the channel;

spawn a second writing thread, beginning no later than the second start time, to record the second media program, the second writing thread being configured to generate a second plurality of media segments comprising media data of the second media program received from the channel;

generate a first media program object to represent a first recording of the first media program, the first media program object including references to the first media segments; and

generate a second media program object to represent the second recording of the second media program, the second media program object including references to the second media segments.

12. The system of claim 11 , wherein the first media program and the second media program are received with the same tuner.

13. The system of claim 11 , wherein the second writing thread is initiated at a time at which a new media segment will cover a time duration that includes the second start time.

14. The system of claim 11 , wherein the control circuitry is further configured to:

terminate the first writing thread no earlier than the first end time; and

terminate the second writing thread no earlier than the second end time.

15. The system of claim 14 , wherein the control circuitry configured to terminate the first writing thread is further configured to terminate the first writing thread at a time at which a last recorded media segment of the first media segments covers a time duration that includes the first end time.

16. The system of claim 14 , wherein the control circuitry configured to terminate the second writing thread is further configured to terminate the second writing thread at a time at which a last recorded media segment of the second media segments covers a time duration that includes the second end time.

17. The system of claim 11 , wherein the control circuitry is further configured to:

cause the first media program to be presented for a user to select for playing back;

receive a request from the user to play back the first media program; and

in response to receiving the request to play back the first media program, cause the first media segments to be played back along a time order as represented in the first media program object.

18. The system of claim 11 , wherein the first media program object comprises data in one or more data structures that identify a plurality of media data segments included in the first media program, and a temporal order of the plurality of media data segments.

19. The system of claim 11 , wherein the channel is broadcast by a media program source comprising one of a media program server, a cable distribution system, a satellite broadcast system, an over-the-air broadcast station, and a network-based content server.

20. The system of claim 11 , wherein the channel comprises one of a cable channel, a broadcast channel, a broadband channel, a media data stream, and a media data download.

Assignments (8)
CHANGE OF NAME Recorded Sep 27, 2024
From: TIVO SOLUTIONS INC.
To: ADEIA MEDIA SOLUTIONS INC.
Reel/Frame 069067/0489 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: LOVELL, NICHOLAS
To: TIVO INC.
Reel/Frame 046412/0299 →
CHANGE OF NAME Recorded Jul 20, 2018
From: TIVO INC.
To: TIVO SOLUTIONS INC.
Reel/Frame 046412/0304 →
Continuity (4)
Continuation 14965766 · Dec 10, 2015
Continuation 13931071 · Jun 28, 2013
Provisional Application 61837631 · Jun 20, 2013
Related Publication 20180332349A1 · Nov 15, 2018