IP Library Granted Patent US 9,832,413
Granted Patent B2
US 9,832,413 · App. 14/089,709 · Granted Nov 28, 2017

Automated channel detection with one-way control of a channel source

Inventors: Nathan Leslie Sandland (Mountain View, CA); Jason Bayer (Mountain View, CA); Dennis Miloseski (Mountain View, CA); Majd Bakar (Mountain View, CA)
Assignee: GOOGLE INC.
H04N5/50H04N21/44008H04N21/4823
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,832,413
App. No.
14/089,709
Granted
Nov 28, 2017
Kind
B2
Abstract

Features of various implementations are used to enable delivery of matched functionality, content and/or services, as a part of an interactive television suite of technologies. In some implementations, a content delivery process is enabled so that communication between the primary TV receiver and a supplemental set-top box is reduced in order to avoid the need for one or more provider-specific APIs. For example, one aspect of the disclosure is a method of identifying a media program by capturing display data from the media program, and extracting text from the display data in response to determining that the display data includes the text overlay, wherein the extracted text is associated with the media program. In some implementations, a supplemental set-top box is configured to operate a primary TV receiver, without a provider-specific API, in order to determine the channel line-up available to a particular subscriber through the primary TV receiver.

Claims (60)

1. A computer-implemented method of determining a channel line-up available through a primary TV receiver, comprising:

at an electronic device configured to receive media programs, the electronic device including one or more processors and memory:

identifying a plurality of candidate channels from a list;

for each of the plurality of candidate channels:

sending a respective control command to the primary TV receiver that tunes the primary TV receiver to the respective candidate channel;

capturing respective display data provided by the primary TV receiver in response to the primary TV receiver receiving the respective control command;

analyzing the respective display data to determine whether or not the respective candidate channel is delivering television content associated with a subscription corresponding to the electronic device, including analyzing signal strength of the respective candidate channel;

when the respective channel is delivering television content associated with a subscription:

transmitting a first respective code to the primary TV receiver to initiate display of a respective text overlay corresponding to the respective candidate channel;

extracting respective text from the text overlay, wherein the respective text is associated with a respective media program delivered on the respective channel;

transmitting a second respective code to the primary TV receiver to end display of the respective text overlay; and

adding the respective channel and at least a portion of the corresponding respective text to the channel line-up;

when the respective channel is delivering television content not associated with a subscription:

not adding the respective channel to the channel line-up; and

displaying the channel line-up to a user of the electronic device.

2. The method of claim 1 , wherein capturing respective display data includes performing a screen capture from a display device configured to display channel data received from the primary TV receiver.

3. The method of claim 1 , wherein capturing respective display data includes reading a display pixel buffer from at least one of the primary TV receiver and a display device.

4. The method of claim 1 , wherein capturing respective display data includes decoding data transmitted by the primary TV receiver to a display device.

5. The method of claim 1 , further comprising prior to displaying the channel line-up: for each channel in the channel line-up, confirming the respective channel against electronic program guide data.

6. The method of claim 1 , wherein analyzing the respective display data comprises fingerprinting the respective display data to determine whether or not the respective candidate channel is delivering television content associated with a subscription through the primary TV receiver.

7. The method of claim 1 , further comprising transmitting at least a portion of the extracted respective text to a media server to confirm identification of the respective media program.

8. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:

identifying a plurality of candidate channels from a list;

for each of the plurality of candidate channels:

sending a respective control command to the primary TV receiver that tunes the primary TV receiver to the respective candidate channel;

capturing respective display data provided by the primary TV receiver in response to the primary TV receiver receiving the respective control command;

analyzing the respective display data to determine whether or not the respective candidate channel is delivering television content associated with a subscription corresponding to the electronic device, including analyzing signal strength of the respective candidate channel;

when the respective channel is delivering television content associated with a subscription:

transmitting a first respective code to the primary TV receiver to initiate display of a respective text overlay corresponding to the respective candidate channel;

extracting respective text from the text overlay, wherein the respective text is associated with a respective media program delivered on the respective channel;

transmitting transmit a second respective code to the primary TV receiver to end display of the respective text overlay; and

adding the respective channel and at least a portion of the corresponding respective text to the channel line-up;

when the respective channel is delivering television content not associated with a subscription:

not adding the respective channel to the channel line-up; and

displaying the channel line-up to a user of the electronic device.

9. The non-transitory computer readable storage medium of claim 8 , wherein capturing respective display data includes performing a screen capture from a display device configured to display channel data received from the primary TV receiver.

10. The non-transitory computer readable storage medium of claim 8 , wherein capturing respective display data includes reading a display pixel buffer from at least one of the primary TV receiver and a display device.

11. The non-transitory computer readable storage medium of claim 8 , wherein capturing respective display data includes decoding data transmitted by the primary TV receiver to a display device.

12. The non-transitory computer readable storage medium of claim 8 , further comprising instructions that execute prior to displaying the channel line-up to confirm each channel in the channel line-up against electronic program guide.

13. The non-transitory computer readable storage medium of claim 8 , wherein the one or more programs further comprise instruction for—transmitting at least a portion of the extracted respective text to a media server to confirm identification of the respective media program.

14. A system for determining a channel line-up available through a primary TV receiver, comprising:

an electronic device configured to receive media programs, the electronic device including one or more processors and memory that stores instructions for execution by the one or more processors;

wherein the memory includes instructions that, when executed by the processor, cause the system to:

identify a plurality of candidate channels from a list;

for each of the plurality of candidate channels:

send a respective control command to a primary TV receiver that tunes the primary TV receiver to the respective candidate channel;

capture respective display data provided by the primary TV receiver in response to the primary TV receiver receiving the respective control command;

analyze the respective display data to determine whether or not the respective candidate channel is delivering television content associated with a subscription corresponding to the electronic device, including analyzing signal strength of the respective candidate channel;

when the respective channel is delivering television content associated with a subscription:

transmit a first respective code to the primary TV receiver to initiate display of a respective text overlay corresponding to the respective candidate channel;

extract respective text from the text overlay, wherein the respective text is associated with a respective media program delivered on the respective channel;

transmit a second respective code to the primary TV receiver to end display of the respective text overlay; and

add the respective channel and at least a portion of the corresponding respective text to the channel line-up;

when the respective channel is delivering television content not associated with a subscription:

not add the respective channel to the channel line-up; and

display the channel line-up to a user of the system.

15. The system of claim 14 , wherein capturing respective display data includes performing a screen capture from a display device configured to display channel data received from the primary TV receiver.

16. The system of claim 14 , wherein capturing respective display data includes reading a display pixel buffer from at least one of the primary TV receiver and a display device.

17. The system of claim 14 , wherein the memory further includes instructions that execute prior to displaying the channel line-up to confirm each channel in the channel line-up against electronic program guide.

18. The system of claim 14 , wherein the one or more programs further comprise instruction for transmitting at least a portion of the extracted respective text to a media server to confirm identification of the respective media program.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: SANDLAND, NATHAN LESLIE; BAYER, JASON; BAKAR, MAJD; MILOSESKI, DENNIS
To: GOOGLE INC.
Reel/Frame 035019/0134 →
Continuity (2)
Continuation In Part 13623043 · Sep 19, 2012
Related Publication 20140085541A1 · Mar 27, 2014