IP Library Granted Patent US 9,451,299
Granted Patent B2
US 9,451,299 · App. 14/623,162 · Granted Sep 20, 2016

Method and apparatus for transmitting enhancement data in data streams

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,451,299
App. No.
14/623,162
Granted
Sep 20, 2016
Kind
B2
Abstract

The invention provides a method and apparatus that addresses and resolves the issues currently affecting the ability to offer Enhanced TV, in particular, those issues concerning timing and synchronization, interaction with other modules in the STB, and distribution.

Claims (45)

1. A method comprising:

receiving, by a computing device, a first stream, a second stream and a third stream, the first stream comprising an indication that an enhancement among a plurality of different enhancements is available, the second stream comprising timing information specific to the enhancement for display of the enhancement with a media content item and the timing information being independent of other timing information of other enhancements among the plurality of different enhancements, the third stream comprising the enhancement or a reference for retrieving the enhancement;

determining, by the computing device, that the enhancement is available based on the indication that the enhancement is available; and

in response to determining that the enhancement is to be displayed using the timing information, retrieving the enhancement using the third stream for display with the media content item.

2. The method of claim 1 , wherein the second stream comprises a plurality of data substreams with each data substream of the plurality of data substreams being specific to a respective enhancement of the plurality of different enhancements.

3. The method of claim 2 , wherein each data substream of the plurality of data sub streams has a virtual time base for the data sub stream that is different from a virtual time base for another data substream of the plurality of data substreams, wherein the timing information specific to the enhancement for display of the enhancement is specified relative to a virtual time base for a data substream specific to the enhancement.

4. The method of claim 3 , further comprising:

receiving, by the computing device via one or more time pulses, a current time of the virtual time base for the data substream specific to the enhancement; and

generating the virtual time base for the data substream specific to the enhancement based at least in part on the current time of the virtual time base for the data sub stream specific to the enhancement.

5. The method of claim 3 , further comprising:

receiving, by the computing device, one or more different time pulses indicating a time to change the virtual time base for the data substream specific to the enhancement and a new time to which to set the virtual time base for the data substream specific to the enhancement; and

at the time to change the virtual time base for the data substream specific to the enhancement, adjusting a current time of the virtual time base for the data sub stream specific to the enhancement to the new time.

6. The method of claim 3 , wherein each data sub stream of the plurality of data substreams comprises triggering data for the enhancement specific to that data substream specified relative to the virtual time base specific to that data substream.

7. The method of claim 1 , wherein the first stream comprises a table of name-value pairs, wherein a name of a name-value pair specifies one or more attributes of the enhancement.

8. The method of claim 1 , wherein the enhancement comprises one or more computer-executable instructions that, when executed by a processor, cause the processor to monitor the second stream for the timing information.

9. A method comprising:

monitoring, by a computing device, a first stream for an availability of an enhancement among a plurality of different enhancements;

receiving, by the computing device, timing information specific to the enhancement for display of the enhancement specified relative to a virtual time base for a data substream specific to the enhancement, the timing information being independent of other timing information of other enhancements among the plurality of different enhancements;

in response to determining that the enhancement is available, retrieving, by the computing device, the enhancement using a reference provided in a second stream; and

causing, by the computing device, display of the enhancement with a media content item in accordance with the timing information specific to the enhancement.

10. The method of claim 9 , further comprising:

receiving a third stream comprising a plurality of data substreams with each data substream being specific to a different enhancement of the plurality of different enhancements and having a virtual time base unique to that data substream.

11. The method of claim 9 , further comprising advancing the virtual time base in non-real-time.

12. The method of claim 9 , further comprising:

receiving, by the computing device, time pulses indicating a time to change the virtual time base for the data substream specific to the enhancement and a new time to which to set the virtual time base for the data substream specific to the enhancement; and

at the time to change the virtual time base for the data substream specific to the enhancement, adjusting a current time of the virtual time base for the data sub stream specific to the enhancement to the new time.

13. The method of claim 9 , wherein the enhancement comprises one or more computer-executable instructions that, when executed by the computing device, cause the computing device to display an object associated with the enhancement.

14. The method of claim 9 , further comprising:

receiving, by the computing device, the first stream comprising an indication that the enhancement is available; and

receiving, by the computing device, the second stream comprising the reference, the reference identifying a location of the enhancement for retrieval.

15. A method comprising:

monitoring, by a computing device, a first stream for an availability of an enhancement among a plurality of different enhancements for display with a media content item;

receiving, by the computing device via one or more time pulses, a current time of a virtual time base for a data substream specific to the enhancement, wherein the data substream specific to the enhancement comprises timing information specified relative to the virtual time base, the timing information of the enhancement being independent of other timing information of other enhancements among the plurality of different enhancements;

generating the virtual time base based at least in part on the current time of the virtual time base; and

in response to determining that the enhancement is available, causing display of the enhancement with the media content item in accordance with the timing information specified relative to the virtual time base.

16. The method of claim 15 , further comprising:

receiving, by the computing device, one or more different time pulses indicating a time to change the virtual time base for the data substream specific to the enhancement and a new time to which to set the virtual time base for the data substream specific to the enhancement; and

at the time to change the virtual time base for the data substream specific to the enhancement, adjusting a different current time of the virtual time base for the data substream specific to the enhancement to the new time.

17. The method of claim 15 , further comprising:

receiving, by the computing device, a second stream comprising a plurality of data substreams with each data substream being specific to a different enhancement of the plurality of different enhancements.

18. The method of claim 15 , further comprising:

receiving, by the computing device, a second stream comprising a reference to a location of the enhancement; and

retrieving, by the computing device, the enhancement using the reference to the location.

19. The method of claim 15 , wherein the first stream comprises a table of name-value pairs, wherein a name of a name-value pair specifies one or more attributes of the enhancement.

20. The method of claim 15 , wherein the enhancement comprises computer-executable instructions.

Assignments (6)
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC
To: TIVO CORPORATION
Reel/Frame 054540/0059 →
MERGER Recorded Apr 17, 2017
From: TVWORKS, LLC
To: COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC
Reel/Frame 042269/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: BULKOWSKI, BRIAN; WALES, CAROLYN; HSU, SAM; HELMAN, JAMES; DECKER, JOSEPH; WAGENAAR, BROCK; VICKERS, MARK
To: LIBERATE TECHNOLOGIES
Reel/Frame 036655/0038 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: LIBERATE TECHNOLOGIES
To: DOUBLE C TECHNOLOGIES, LLC
Reel/Frame 036655/0052 →
CHANGE OF NAME Recorded Sep 25, 2015
From: DOUBLE C TECHNOLOGIES, LLC
To: TVWORKS, LLC
Reel/Frame 036689/0330 →