IP Library Granted Patent US 9,049,467
Granted Patent B2
US 9,049,467 · App. 13/859,006 · Granted Jun 2, 2015

Method and apparatus for transmitting enhancement data in a data stream

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,049,467
App. No.
13/859,006
Granted
Jun 2, 2015
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 (37)

1. A method comprising:

receiving at a computer one or more data sub streams, each data sub stream identifying an availability of an enhancement of one or more enhancements presentable with one or more videos by a client device, and each data substream associating a set of content with the enhancement identified as available by that data substream; and

multiplexing the one or more data substreams into a data stream.

2. The method of claim 1 , further comprising transmitting the data stream to the client device.

3. The method of claim 1 , wherein the set of content comprises machine-readable instructions executable by the client device, that when executed, cause the client device to present the enhancement associated with the set of content synchronously with one of the one or more videos.

4. The method of claim 1 , wherein one data substream of the one or more data substreams identifies certain content, in the set of content associated by the one data substream, which must be preloaded by the client device prior to running the enhancement identified by the one data substream.

5. A system comprising one or more computers storing one or more programs that when executed by the one or more computers cause the system to:

receive one or more data sub streams, each data sub stream identifying an availability of an enhancement of one or more enhancements presentable with one or more videos by a client device, and each data substream associating a set of content with the enhancement identified as available by that data sub stream; and

multiplex the one or more data substreams into a data stream.

6. The system of claim 5 , wherein the one or more programs, when executed by the one or more computers, further cause the system to:

transmit the data stream to the client device.

7. The system of claim 5 , wherein the set of content comprises machine-readable instructions executable by the client device, that when executed, cause the client device to present the enhancement associated with the set of content synchronously with one of the one or more videos.

8. The system of claim 5 , wherein one data substream of the one or more data substreams identifies certain content, in the set of content associated by the one data substream, which must be preloaded by the client device prior to running the enhancement identified by the one data substream.

9. A method comprising:

receiving at a client device a data stream comprising one or more data substreams, each data substream identifying an availability of an enhancement, each enhancement presentable with a respective video by the client device, and each data substream associating a respective set of content with the enhancement identified by that data substream;

monitoring the data stream at the client device for availability of an enhancement presentable with a particular video by the client device; and

launching the enhancement presentable with the particular video at the client device based on the monitored availability identified in the data stream.

10. The method of claim 9 , wherein the respective set of content associated by one of the one or more data substreams comprises machine-readable instructions executable by the client device, that when executed, cause the client device to present the enhancement identified by the one data substream synchronously with the respective video presentable with the enhancement, the method further comprising executing the machine-readable instructions.

11. The method of claim 9 , wherein one of the one or more data sub streams identifies certain content in the respective set of content associated by the one of the one or more data substreams, which must be preloaded by the client device prior to running the enhancement associated with the certain content in the respective set of content.

12. The method of claim 9 , wherein the one or more data substreams is a plurality of data substreams, and wherein each of the plurality of data substreams associates each respective set of content with a mutually independent enhancement received from a different provider.

13. The method of claim 9 , wherein each of the one or more data substreams comprises times, relative to receipt of that data substream by the client device, at which the respective enhancement identified by that data substream should be presented with the respective video.

14. The method of claim 9 , further comprising:

receiving at the client device one or more trigger data substreams, each trigger data substream indicating a timing state of the enhancement identified by a respective one of the one or more data sub streams, the timing state of each enhancement being relative to a virtual time base unique to that enhancement;

receiving at the client device timing information enabling the client device to advance each virtual time base independent of every other virtual time base; and

advancing each virtual time base based on the timing information.

15. An apparatus comprising a computer storing software that when executed by the computer causes the apparatus to:

receive a data stream comprising one or more data substreams, each data substream identifying an availability of an enhancement, each enhancement presentable with a respective video, and each data substream associating a respective set of content with the enhancement identified by that data substream;

monitor the data stream for availability of an enhancement presentable with a particular video; and

launch the enhancement presentable with the particular video based on the monitored availability identified in the data stream.

16. The apparatus of claim 15 , wherein the respective set of content associated by one of the one or more data substreams comprises machine-readable instructions executable by the apparatus, that when executed, cause the apparatus to present the enhancement identified by the one data substream synchronously with the respective video presentable with the enhancement.

17. The apparatus of claim 15 , wherein one of the one or more data substreams identifies certain content in the respective set of content associated by the one of the one or more data substreams, which must be preloaded by the apparatus prior to running the enhancement associated with the certain content in the respective set of content.

18. The apparatus of claim 15 , wherein the one or more data substreams is a plurality of data substreams, and wherein each of the plurality of data substreams associates each respective set of content with a mutually independent enhancement received from a different provider.

19. The apparatus of claim 15 , wherein each of the one or more data substreams comprises times, relative to receipt of that data substream by the apparatus, at which the respective enhancement identified by that data substream should be presented with the respective video.

20. The apparatus of claim 15 , wherein the software, when executed by the computer, causes the apparatus to:

receive one or more trigger data substreams, each trigger data substream indicating a timing state of the enhancement identified by a respective one of the one or more data substreams, the timing state of each enhancement being relative to a virtual time base unique to that enhancement;

receive timing information enabling the apparatus to advance each virtual time base independent of every other virtual time base; and

advance each virtual time base based on the timing information.

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 Feb 18, 2014
From: BULKOWSKI, BRIAN; WALES, CAROLYN; HSU, SAM; HELMAN, JAMES; DECKER, JOSEPH; WAGENAAR, BROCK; VICKERS, MARK
To: LIBERATE TECHNOLOGIES
Reel/Frame 032233/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2014
From: LIBERATE TECHNOLOGIES
To: DOUBLE C TECHNOLOGIES, LLC
Reel/Frame 032234/0317 →
CHANGE OF NAME Recorded Feb 18, 2014
From: DOUBLE C TECHNOLOGIES
To: TVWORKS, LLC
Reel/Frame 032271/0727 →