U.S. patent application number 14/461660 was filed with the patent office on 2016-02-18 for systems and methods for active training of broadcast personalization and audience measurement systems using a presence band.
This patent application is currently assigned to GOOGLE INC.. The applicant listed for this patent is Google Inc.. Invention is credited to Nick Salvatore Arini, Simon Michael Rowe.
Application Number | 20160050456 14/461660 |
Document ID | / |
Family ID | 53801226 |
Filed Date | 2016-02-18 |
United States Patent
Application |
20160050456 |
Kind Code |
A1 |
Arini; Nick Salvatore ; et
al. |
February 18, 2016 |
SYSTEMS AND METHODS FOR ACTIVE TRAINING OF BROADCAST
PERSONALIZATION AND AUDIENCE MEASUREMENT SYSTEMS USING A PRESENCE
BAND
Abstract
An audience measurement or personalized recommendation system
may be actively trained for each panel member for a training
period, during which the presence of each member is recorded while
content is displayed. Panel members may carry or wear portable
devices with wireless transmitters which may be detected by the
measurement system. For example, each panel member may wear a
wristband including a wireless transmitter broadcasting an
identification code, and a measurement device may include a
wireless receiver to receive broadcast identification codes and
determine that the corresponding one or more panel members are
present during display of content. An inference engine may create
personalized profiles of each panel participant during the training
period. After the training period, panel participants may stop
carrying or wearing the devices, and the inference engine may
determine, based on the profiles, which participants are likely
present when content is being viewed.
Inventors: |
Arini; Nick Salvatore;
(Botley, GB) ; Rowe; Simon Michael; (Berkshire,
VT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Google Inc. |
Mountain View |
CA |
US |
|
|
Assignee: |
GOOGLE INC.
Mountain View
CA
|
Family ID: |
53801226 |
Appl. No.: |
14/461660 |
Filed: |
August 18, 2014 |
Current U.S.
Class: |
725/10 |
Current CPC
Class: |
H04N 21/44204 20130101;
H04N 21/6582 20130101; H04N 21/4662 20130101; H04N 21/44218
20130101; H04N 21/466 20130101; H04H 60/31 20130101; H04N 21/42201
20130101; H04N 21/4126 20130101; H04N 21/4394 20130101; H04H 60/58
20130101; H04H 60/45 20130101; H04N 21/44222 20130101 |
International
Class: |
H04N 21/442 20060101
H04N021/442; H04H 60/45 20060101 H04H060/45; H04N 21/658 20060101
H04N021/658; H04N 21/41 20060101 H04N021/41; H04N 21/439 20060101
H04N021/439; H04H 60/31 20060101 H04H060/31; H04H 60/58 20060101
H04H060/58 |
Claims
1. A method for determining presence of individuals during audience
measurement, comprising: receiving, by a first device during
display of an item of content, a transmitted signal from a second
device associated with a first individual; generating, by the first
device responsive to receiving the transmitted signal from the
second device, a first signature associated with the first
individual based on the displayed item of content; receiving, by
the first device during display of a second item of content, a
second transmitted signal from the second device and a transmitted
signal from a third device associated with a second individual;
generating, by the first device responsive to receiving the
transmitted signals from the second and third device, a second
signature associated with both the first and second individual
based on the displayed second item of content; detecting, by the
first device during display of a third item of content, no
transmitted signals from the second device or third device;
generating, by the first device during display of the third item of
content, a third signature based on the displayed third item of
content and the absence of the transmitted signals from the second
device and third device; determining, by the first device, that the
third signature matches the first signature by determining that an
intersection between the third signature and the first signature is
greater than an intersection between the third signature and the
second signature; and recording, by the first device responsive to
the determination, an identification of presence of the first
individual and absence of the second individual during display of
the third item of content.
2-5. (canceled)
6. The method of claim 1, wherein determining that the third
signature matches the first signature further comprises determining
that a difference between a parameter of the first signature and
corresponding parameter of the third signature is less than a
predetermined threshold.
7. The method of claim 1, wherein determining that the third
signature matches the first signature further comprises determining
that a distance between the first signature and third signature in
a multi-dimensional space is less than a predetermined
threshold.
8. The method of claim 1, wherein determining that the third
signature matches the first signature further comprises determining
that the first signature and third signature overlap by an amount
greater than a predetermined threshold.
9. The method of claim 1, wherein determining that the third
signature matches the first signature further comprises calculating
a confidence score proportional to an amount of matching between
the first signature and the third signature, and wherein recording
the identification of presence of the first individual during
display of the third item of content further comprises recording
the confidence score.
10. A system for determining presence of individuals during
audience measurement, comprising: a first device comprising a
processor executing an inference engine and a receiver; wherein the
receiver is configured for receiving, during display of a first
item of content, a transmitted signal from a second device
associated with a first individual, and receiving, during display
of a second item of content, a second transmitted signal from the
second device and a transmitted signal from a third device
associated with a second individual; and wherein the inference
engine is configured for: generating a first signature associated
with the first individual based on the displayed first item of
content and a second signature associated with both the first and
second individual based on the displayed second item of content;
subsequently generating, during display of a third item of content
and while the receiver is not receiving the transmitted signals
from the second device or third device, a third signature based on
the displayed third item of content, determining that the third
signature matches the first signature by determining that a
difference between the third signature and the first signature is
greater than a difference between the third signature and the
second signature, and recording, responsive to the determination,
an identification of presence of the first individual and absence
of the second individual during display of the third item of
content.
11-14. (canceled)
15. The system of claim 10, wherein the inference engine is further
configured for determining that a difference between a parameter of
the first signature and corresponding parameter of the third
signature is less than a predetermined threshold.
16. The system of claim 10, wherein the inference engine is further
configured for determining that a distance between the first
signature and third signature in a multi-dimensional space is less
than a predetermined threshold.
17. The system of claim 10, wherein the inference engine is further
configured for determining that the first signature and third
signature overlap by an amount greater than a predetermined
threshold.
18. The system of claim 10, wherein the inference engine is further
configured for calculating a confidence score proportional to an
amount of matching between the first signature and the third
signature, and wherein recording the identification of presence of
the first individual during display of the third item of content
further comprises recording the confidence score.
19. A non-transitory computer-readable storage medium storing
instructions that when executed by one or more data processors,
cause the one or more data processors to perform operations
comprising: receiving, during display of a first item of content, a
transmitted signal from a second device associated with a first
individual, and receiving, during display of a second item of
content, a second transmitted signal from the second device and a
transmitted signal from a third device associated with a second
individual; generating a first signature associated with the first
individual based on the displayed first item of content and a
second signature associated with both the first and second
individual based on the displayed second item of content;
generating, during display of the third item of content, a third
signature based on the displayed third item of content and the
absence of the transmitted signals from the second device and third
device; determining that the third signature matches the first
signature by determining that an intersection between the third
signature and the first signature is greater than an intersection
between the third signature and the second signature; and
recording, responsive to the determination, an identification of
presence of the first individual and absence of the second
individual during display of the third item of content.
20. (canceled)
21. The method of claim 1, further comprising: detecting, by the
first device during display of a fourth item of content, no
transmitted signals from the second device or third device;
generating, by the first device during display of the fourth item
of content, a fourth signature based on the displayed fourth item
of content and the absence of the transmitted signals from the
second device and third device; determining, by the first device,
that the fourth signature matches the second signature; and
recording, by the first device responsive to the determination, an
identification of presence of both the first individual and the
second individual during display of the fourth item of content.
22. (canceled)
23. (canceled)
24. The system of claim 10, wherein the inference engine is further
configured for: detecting, during display of a fourth item of
content, no transmitted signals from the second device or third
device; generating, during display of the fourth item of content, a
fourth signature based on the displayed fourth item of content and
the absence of the transmitted signals from the second device and
third device; determining that the fourth signature matches the
second signature; and recording, responsive to the determination,
an identification of presence of both the first individual and the
second individual during display of the fourth item of content.
25. (canceled)
26. (canceled)
27. The computer-readable storage medium of claim 19, wherein
execution of the instructions further cause the one or more data
processors to perform operations including: detecting, during
display of a fourth item of content, no transmitted signals from
the second device or third device; generating, during display of
the fourth item of content, a fourth signature based on the
displayed fourth item of content and the absence of the transmitted
signals from the second device and third device; determining that
the fourth signature matches the second signature; and recording,
responsive to the determination, an identification of presence of
both the first individual and the second individual during display
of the fourth item of content.
28. (canceled)
29. (canceled)
Description
BACKGROUND
[0001] Audiences for content blocks, such as broadcast media or
online streamed media, including commercial advertising, are
typically measured via single-source data panels consisting of
individuals or households recording content exposure over time. In
one typical system, panel members record daily or weekly journals
identifying watched content. However, if a panel member forgets
that they watched an item of content, measurements may be
inaccurate. Another system provides panel members with portable
devices or meters that detect audio watermarks embedded in content.
While an improvement on journal-based systems, such systems require
panel members to continuously wear or carry the meter, as failure
to do so results in missed measurements.
[0002] Other audience measurement systems may be built into smart
televisions, cable demodulators, digital video recorders, or
set-top boxes to record identifications of content displayed. These
systems may accurately record content that has been shown, on a
household basis, but may not be able to distinguish individuals
within the household. Such systems may also be used for
personalization, such as for recommending video-on-demand content
based on previously viewed content. In demographically diverse
households or households with members with different interests,
this may result in poor recommendations. For example, a typical
family may include one member who watches sports, another member
who watches reality television programming, and still another who
watches children's programming. Without the ability to distinguish
between viewers, a recommendation system may suggest children's
content to the sports viewer or vice versa. While some systems
allow multiple user profiles, users must remember to diligently
select their own profile each time they watch an item of content.
Additionally, the system may not be able to distinguish between a
single user and multiple users, such as a family watching a movie
together, while one user is logged in. Content chosen by a group of
viewers is frequently a compromise selection based on their
combined interests, and may not be content that would be watched by
any viewer alone. Accordingly, when the logged-in user subsequently
seeks content to view alone, the system may make inaccurate
recommendations.
SUMMARY
[0003] An audience measurement or personalized recommendation
system may be actively trained for each user or panel member for a
first period of time or training period, during which the presence
of each user is recorded while content is displayed. In one
implementation, panel members may carry or wear portable devices
with wireless transmitters which may be detected by the measurement
system. For example, each panel member may wear a wristband
including a wireless transmitter, such as a Bluetooth Low Energy
(BTLE) beacon broadcasting an identification code, and a device,
such as a smart television or set top box, may include a wireless
receiver to receive one or more broadcast identification codes and
determine that the corresponding one or more panel members are
present during display of content. An inference engine may create
personalized profiles of each panel participant during the training
period. After the training period, panel participants may stop
carrying or wearing the devices, and the inference engine may
determine, based on the profiles, which participants are likely
present when content is being viewed. Training periods may be
periodically repeated in case user preferences have changed.
Additionally, preference data from participants that have recently
performed a training period may be weighted more heavily than data
from participants that have not recently performed a training
period for demographic analysis of the overall population.
[0004] One implementation disclosed herein is a method for
determining presence of individuals during audience measurement.
The method includes receiving, by a first device during display an
item of content, a transmitted signal from a second device
associated with a first individual. The method also includes
generating, by the first device responsive to receiving the
transmitted signal from the second device, a first signature
associated with the first individual based on the displayed item of
content. The method further includes subsequently generating, by
the first device during display of a second item of content, a
second signature based on the displayed second item of content and
the absence of the transmitted signal from the second device. The
method also includes determining, by the first device, that the
second signature matches the first signature. The method also
includes recording, by the first device responsive to the
determination, an identification of presence of the first
individual during display of the second item of content.
[0005] In some implementations, the method includes receiving, by
the first device during display of a third item of content, a
transmitted signal from a third device associated with a second
individual; and generating, by the first device responsive to
receiving the transmitted signal from the third device, a third
signature associated with the second individual based on the
displayed third item of content. In a further implementation, the
method includes determining, by the first device, that the second
signature does not match the third signature. In such an
implementation, recording the identification of presence of the
first individual during display of the second item of content does
not include recording an identification of presence of the second
individual during display of the second item of content, responsive
to determining that the second signature does not match the third
signature.
[0006] In other implementations, the method includes receiving, by
the first device during display of the first item of content, a
transmitted signal from a third device associated with a second
individual. In such implementations, the first signature is further
associated with the second individual. In a further implementation,
the method includes recording, by the first device responsive to
the determination that the second signature matches the first
signature, an identification of presence of the second individual
during display of the second item of content.
[0007] In some implementations, the method includes determining
that a difference between a parameter of the first signature and
corresponding parameter of the second signature is less than a
predetermined threshold. In other implementations, the method
includes determining that a distance between the first signature
and second signature in a multi-dimensional space is less than a
predetermined threshold. In still other implementations, the method
includes determining that the first signature and second signature
overlap by an amount greater than a predetermined threshold. In yet
still other implementations, the method includes calculating a
confidence score proportional to an amount of matching between the
first signature and the second signature. In such implementations,
recording the identification of presence of the first individual
during display of the second item of content further comprises
recording the confidence score.
[0008] Another implementation disclosed herein is a system for
determining presence of individuals during audience measurement.
The system includes a first device comprising a processor executing
an inference engine and a receiver. The receiver is configured for
receiving, during display an item of content, a transmitted signal
from a second device associated with a first individual. The
inference engine is configured for generating, responsive to the
receiver receiving the transmitted signal from the second device, a
first signature associated with the first individual based on the
displayed item of content. The inference engine is also configured
for subsequently generating, during display of a second item of
content and while the receiver is not receiving the transmitted
signal from the second device, a second signature based on the
displayed second item of content; determining that the second
signature matches the first signature; and recording, responsive to
the determination, an identification of presence of the first
individual during display of the second item of content.
[0009] In some implementations of the system, the receiver is
further configured for receiving, during display of a third item of
content, a transmitted signal from a third device associated with a
second individual; and the inference engine is further configured
for generating, responsive to receiving the transmitted signal from
the third device, a third signature associated with the second
individual based on the displayed third item of content. In a
further implementation, the inference engine is further configured
for determining that the second signature does not match the third
signature. In such implementations, recording the identification of
presence of the first individual during display of the second item
of content does not include recording an identification of presence
of the second individual during display of the second item of
content, responsive to determining that the second signature does
not match the third signature.
[0010] In other implementations, the receiver is further configured
for receiving, during display of the first item of content, a
transmitted signal from a third device associated with a second
individual; and wherein the first signature is further associated
with the second individual. In a further implementation, the
inference engine is further configured for recording, responsive to
the determination that the second signature matches the first
signature, an identification of presence of the second individual
during display of the second item of content.
[0011] In some implementations, the inference engine is further
configured for determining that a difference between a parameter of
the first signature and corresponding parameter of the second
signature is less than a predetermined threshold. In other
implementations, the inference engine is further configured for
determining that a distance between the first signature and second
signature in a multi-dimensional space is less than a predetermined
threshold. In still other implementations, the inference engine is
further configured for determining that the first signature and
second signature overlap by an amount greater than a predetermined
threshold. In yet still other implementations, the inference engine
is further configured for calculating a confidence score
proportional to an amount of matching between the first signature
and the second signature, and wherein recording the identification
of presence of the first individual during display of the second
item of content further comprises recording the confidence
score.
[0012] Another implementation discussed herein is a
computer-readable storage medium storing instructions that when
executed by one or more data processors, cause the one or more data
processors to perform various operations. These operations include
receiving, during display an item of content, a transmitted signal
from a device associated with a first individual. The operations
also include generating, responsive to receiving the transmitted
signal from the device, a first signature associated with the first
individual based on the displayed item of content. The operations
further include subsequently generating, during display of a second
item of content, a second signature based on the displayed second
item of content and the absence of the transmitted signal from the
device. The operations also include determining that the second
signature matches the first signature; and recording, responsive to
the determination, an identification of presence of the first
individual during display of the second item of content.
[0013] In some implementations, the instructions further cause the
one or more data processors to perform operations including
receiving, during display of a third item of content, a transmitted
signal from a second device associated with a second individual;
generating, responsive to receiving the transmitted signal from the
second device, a third signature associated with the second
individual based on the displayed third item of content; and
determining that the second signature does not match the third
signature. In such implementations, recording the identification of
presence of the first individual during display of the second item
of content does not include recording an identification of presence
of the second individual during display of the second item of
content, responsive to determining that the second signature does
not match the third signature.
[0014] Also disclosed herein is an implementation of a
computer-readable storage medium storing instructions that when
executed by one or more data processors, cause the one or more data
processors to perform operations including . . . .
[0015] These implementations are mentioned not to limit or define
the scope of the disclosure, but to provide an example of an
implementation of the disclosure to aid in understanding thereof.
Particular implementations may be developed to realize one or more
of the following advantages.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The details of one or more implementations are set forth in
the accompanying drawings and the description below. Other
features, aspects, and advantages of the disclosure will become
apparent from the description, the drawings, and the claims, in
which:
[0017] FIG. 1 is a diagram of a system for training an inference
engine for audience measurement, according to one
implementation;
[0018] FIG. 2A is a diagram of an event record, according to one
implementation;
[0019] FIG. 2B is a diagram of an inference profile, according to
one implementation;
[0020] FIG. 3 is a diagram illustrating detection of devices during
events, according to one implementation; and
[0021] FIG. 4 is a flow diagram of the steps taken in one
implementation of a process for active training and use of an
inference engine for audience measurement, according to one
implementation.
[0022] Like reference numbers and designations in the various
drawings indicate like elements.
DETAILED DESCRIPTION
[0023] Measurement of an audience of content, such as television
programming, movies, commercial advertising, or any other type and
form of content, may be useful for measuring audience size or
popularity of content for pricing and selling advertisement
placements, planning content delivery schedules, or other such
purposes. In traditional terrestrial or satellite broadcasting, a
provider may not have direct knowledge of the number of receivers
tuned in at any time, due to the lack of a back channel or
communication pathway from the receiver to the provider. To
overcome this limitation, some audience measurement systems have
used panels of participating individuals who agree to fill out
surveys or diaries of content they've seen or listened to. However,
this system relies on self-reporting, which may have decreased
accuracy. Another system requires panel participants to wear or
carry a portable device that detects content played back in the
vicinity via subaudible audio watermarks or codes, and records a
log for subsequent transmission to the panel provider. However,
this system requires watermarking encoders to be installed at every
broadcast source to be measured as part of the signal chain,
increasing expense and failure rates. The system also requires
participants to consistently wear the devices, as non-compliance
may result in missed measurements.
[0024] Wearable devices may be used to train an audience
measurement or personalized recommendation system for each user or
panel member for a first period of time or training period, during
which the presence of each user is recorded while content is
displayed. For example, each panel member may wear a wristband
including a wireless transmitter, such as a Bluetooth Low Energy
(BLE) beacon broadcasting an identification code, and a device,
such as a smart television or set top box, may include a wireless
receiver to receive one or more broadcast identification codes and
determine that the corresponding one or more panel members are
present during display of content. An inference engine may create
personalized profiles of each panel participant during the training
period. After the training period, panel participants may stop
carrying or wearing the devices, and the inference engine may
determine, based on the profiles, which participants are likely
present when content is being viewed. Training periods may be
periodically repeated in case user preferences have changed.
[0025] FIG. 1 is a diagram of a system for training an inference
engine for audience measurement, according to one implementation.
As shown, a measurement device 102 may be connected to a display
100. Display 100 may comprise a television, monitor, projection
television, or any other type of visual display. In other
implementations, display 100 may comprise an audio output device,
such as a radio, stereo system or other such device; accordingly,
although primarily discussed in terms of visual presentations such
as television shows or movies on a television screen, the systems
and methods discussed herein may be readily applied to measurement
and personalization of broadcast, streamed, or on-demand audio
programming.
[0026] Measurement device 102 may comprise an electronic device
integrated in a display 100, or external to a display 100 and in
communication with the display 100 or other device receiving and
providing audio, visual, or multimedia content. Measurement device
102 may comprise a set-top box, a cable demodulator or cable box, a
digital video recorder, a satellite receiver, a video game console,
a computing device such as a desktop, laptop, or tablet computer,
or any other type and form of device configured to detect an item
of audio, visual, or multimedia content shown, played, or otherwise
provided via a display 100. In some implementations, a measurement
device 102 may be part of the display 100 or integrated with the
display 100, such as in a desktop, laptop, or tablet computer or a
smart television. In other implementations, the measurement device
102 may be connected in serial or parallel to an input to the
display 100. For example, in one implementation, a display 100 may
comprise a television with an HDMI input, and the measurement
device 102 may comprise an HDMI input and HDMI output; the
measurement device 102 may accordingly be connected as an
intermediary device between the output of a source, such as a cable
demodulator, audio/visual receiver, satellite receiver, or other
device; and the input of the television. In other implementations,
the measurement device 102 and display 100 may be connected to
outputs of a splitter or distribution amplifier, such that the
devices 100, 102, receive the same output from a source. In still
other implementations, as discussed above, the measurement device
102 may be integrated within a source, such as a set-top box.
[0027] In many implementations, a measurement device 102 may
include a processor 104. Processor 104 may comprise any type and
form of processing unit, including a microprocessor,
application-specific integrated circuit (ASIC), FPGA, etc., or
combinations of these or other processing units. In many
implementations, processor 104 may be a multi-core processor or an
array of processors. A measurement device 102 may also include
memory 108, which may include, but is not limited to, electronic,
optical, magnetic, or any other storage devices capable of
providing processor 104 with program instructions. The memory 108
may include a floppy disk, CD-ROM, DVD, magnetic disk, memory chip,
ROM, RAM, EEPROM, EPROM, flash memory, optical media, or any other
suitable memory from which processor 104 can read instructions and,
in some implementations, to which processor 104 can write
measurement data for subsequent transmission via a communications
interface 114. The instructions may include code from any suitable
computer programming language such as, but not limited to, C, C++,
C#, Java, JavaScript, Perl, HTML, XML, Python and Visual Basic.
[0028] In some implementations, a measurement device may include a
power supply 106. Power supply 106 may comprise a battery, AC power
supply, DC power supply, USB power supply, Power-over-Ethernet
(PoE) power supply, inductive power supply, or any other type and
form of power supply. Although illustrated internal to a
measurement device 102, in many implementations, a power supply 106
may be external from device 102, such as an external AC-to-DC
converter.
[0029] In some embodiments, memory 108 may include an inference
engine 110. Inference engine 110 may comprise an application,
service, server, daemon, routine, or other executable logic for
generating signatures of events, such as playback of items of
audio, video, or multimedia content including television programs,
commercial advertising, movies, video games, music videos, or other
content. Inference engine 110 may further comprise functionality
for generating signatures representative of user preferences based
on the identified presence of a user during an event. Inference
engine 110 may further comprise functionality for comparing
generated signatures to identify, in the absence of an explicit
identification of presence of a user, that the user was nonetheless
likely present during an event. In one implementation, each
signature may comprise a point or region in a multi-dimensional
graph with each dimension corresponding to a parameter (e.g. day of
week, time of day, genre of content, channel, or any other such
information), and the inference engine 110 may compare signatures
by identifying an intersection of regions or distance between
points. In one implementation, region intersection size may be
compared to a threshold to determine a match, such that an
intersection region above a predetermined volume represents a match
between signatures. In another implementation, the distance between
points may be compared to a threshold to determine a match, such
that a distance of less than a predetermined threshold represents a
match. In other implementations, each signature may comprise a
binary string with each digit representing a parameter, and the
signatures may be compared via a logical biconditional. In one such
implementation, the resulting comparison string may be summed and
compared to a threshold to determine a degree of matching between
the signatures.
[0030] In some implementations, an inference engine 110 may
maintain an audience measurement database (not illustrated). An
audience measurement database may comprise any type and form of
database, including a data file, flat file, relational database,
structured database, etc. for storing identifications of content
and/or broadcast channels and time periods and a corresponding set
of device identifiers of portable devices 120 that were detected
during playback of content. An inference engine 110 may count
unique device identifiers associated in the database with an item
of content to determine an audience measurement for the
content.
[0031] Although shown on measurement device 102, in many
implementations, an inference engine 110 may be executed by another
device, such as at an audience measurement service or content
delivery service 142. Audience measurement service or content
delivery service 142, referred to generally as measurement/content
delivery service 142, may comprise one or more servers, including a
server farm, cloud of virtual servers executed by one or more
physical servers, a software-as-a-service (SaaS) or
platform-as-a-service (PaaS), or other service. In some
implementations, an audience measurement service 142 may
communicate with an audience panel provider to identify panelists
and provide measurement results. In other implementations, the
content delivery service 142 may provide personalized
recommendations to audience members based on their past explicitly
identified and inferred viewing habits. For example, content
delivery service 142 may comprise a streaming video or
video-on-demand provider, a cable provider, a satellite provider,
or other service provider.
[0032] The measurement device 102 may communicate with
measurement/content delivery service 142 via a network 140. Network
140 may be any form of computer network or combinations of networks
that relay information between one or more measurement devices 102
and one or more measurement and/or content delivery services 142,
as well as other devices not illustrated. For example, network 140
may include the Internet and/or other types of data networks, such
as a local area network (LAN), a wide area network (WAN), a
cellular network, satellite network, or other types of data
networks. Network 140 may also include any number of computing
devices (e.g., computer, servers, routers, network switches, etc.)
that are configured to receive and/or transmit data within network
140. Network 140 may further include any number of hardwired and/or
wireless connections. For example, a measurement device 102 may
communicate wirelessly (e.g., via WiFi, cellular, radio, etc.) with
a transceiver that is hardwired (e.g., via a fiber optic cable, a
CAT5 cable, etc.) to other computing devices in network 140. In
some implementations, a network 140 may be a virtual network, such
as a virtual network between a plurality of virtual machines
executed by a single physical machine, or a abstract network such
as an offline transfer of data via physically movable media (e.g. a
Sneakernet, transferring data via tape media, CD-ROM, flash media,
external hard drives, floppy disks, etc.). For example, in one such
implementation, a measurement device 140 may capture and store
measurement data for subsequent transfer to a computing device via
a universal serial bus (USB) or similar interface to be transmitted
by said computing device via a network 140.
[0033] A communication interface 114 may comprise any type and form
of network interface, including a wired interface (e.g. Ethernet,
including 10 Base T, 100 Base T, or 1000 Base T ("Gigabit")), a
wireless interface (e.g. 802.11a, 802.11b, 802.11g, 802.11n,
802.11.ac, Bluetooth, Bluetooth Low Energy, Near-field
Communication (NFC)), a cellular interface, or any other type of
interface for transmitting data over a network. In some
implementations, network interface 114 may comprise a parallel or
serial interface, such as a USB interface, an IEEE 1394 (Firewire)
interface, an RS-232 interface, an RS-485 interface, or any other
type and form of interface to another computing device. In many
implementations, a second computing device may serve as an
intermediary for communications to an audience measurement server.
For example, in one such implementation, a capture device may
communicate via a USB interface with a desktop computer, which may
transmit captured closed captioning data via an Ethernet interface
to a network gateway or switch connected to the Internet for
transmission to an audience measurement server. In some
implementations, the measurement device 102 may store data in a
memory 108, for subsequent synchronization or transfer via a
computing device connected to a network 140.
[0034] A measurement device 102 may, in some implementations,
comprise a program detector 112. Program detector 112 may comprise
hardware, software, or any combination of hardware and software for
identifying content displayed on a display 100. In some
implementations, program detector 112 may identify a channel
selected for display on display 100 and retrieve an identification
of content based on a current time and date; in other
implementations, program detector 112 may simply identify the
channel, time, and date and may transmit this information to a
measurement service 142 for subsequent identification of content.
In other implementations, program detector 112 may identify content
based on metadata of the content (e.g. video-on-demand file names
or content identifiers), based on closed captioning data included
with the content, embedded audio watermarks in the data, radio
broadcast data system (RBDS) or radio data system (RDS) data, or
any other such data.
[0035] Measurement device 102 may also include a wireless receiver
116. Wireless receiver 116 may comprise an 802.11 (e.g. WiFi)
transmitter and/or receiver; a Bluetooth Low Energy (BTLE)
transmitter and/or receiver; a Near Field Communication (NFC)
transmitter and/or receiver; a wireless universal serial bus
(Wireless USB) transmitter and/or receiver; or any other type of
wireless data transmitter and/or receiver. In some implementations,
wireless receiver 116 may comprise an optical transmitter and/or
receiver or an infrared transmitter and/or receiver. In other
implementations, wireless receiver 116 may comprise an ultrasonic
transmitter and/or receiver. Wireless receiver 116 may receive
identification codes 124 from one or more portable devices 120
within range (e.g. within viewing or listening range of a display
100, such as within a living room). In some implementations,
wireless receiver 116 may comprise a transmitter or beacon that may
transmit periodic requests for portable devices 120 to transmit
identification codes 124. This may be used to reduce power
consumption by the portable devices 120, by allowing the device to
stay in a passive, receive-only low power state until receiving a
request for an identification code from the measurement device
102.
[0036] Portable device 120 may comprise any type and form of device
that may be worn or carried by a panel participant. In some
implementations, portable device 120 may comprise a wristband,
wristwatch, ring, necklace, glasses, or other such wearable device.
For example, in many implementations, a portable device 120 may be
a soft wristband, made of silicone or a similar material, and
including a small power supply 130, wireless transmitter 122 such
as a BTLE beacon and antenna. In other implementations, portable
device 120 may comprise a smart phone. Each panel participant may
have a portable device 120 that may be associated with the panel
participant via an identification code 124. The identification code
124 may be transmitted to measurement device 102 to identify that
the portable device 120, and accordingly the panel participant, is
within viewing or listening range of an item of content on display
100.
[0037] As discussed above, portable device 120 may comprise a
wireless transmitter 122. Wireless transmitter 122 may comprise an
802.11 (e.g. WiFi) transmitter and/or receiver; a Bluetooth Low
Energy (BTLE) transmitter and/or receiver; a Near Field
Communication (NFC) transmitter and/or receiver; a wireless
universal serial bus (Wireless USB) transmitter and/or receiver; or
any other type of wireless data transmitter and/or receiver,
corresponding to wireless receiver 116. As discussed above,
although described in terms of receiver 116 and transmitter 122, in
many implementations, measurement device 102 may transmit a request
for an identification code 124 which may be received by portable
device 120, prior to portable device 120 transmitting the code 124
to the measurement device 102. In other implementations, wireless
transmitter 122 may not include a receiver, and may simply
periodically transmit the identification code 124, such as once per
second, once per ten seconds, once per minute, or at any other such
interval. Such transmissions may be in accordance with any suitable
protocol for transmission via the hardware, and may include
collision avoidance, time slice negotiation, handshaking, or any
other such features. In other implementations, such as where
portable device 120 is a smart phone or other such device, wireless
transmitter 122 may comprise a WiFi network interface or similar
network interface for connecting to a network provided by
measurement device 102. For example, measurement device 102 may
comprise an 802.11g WiFi base station or gateway. In a further such
implementation, in which such networks may have a larger range than
watching or listening range for display 100 (e.g. an 802.11n WiFi
network with a range covering an entire house), measurement device
102 may determine that a portable device 120 is within range based
on wireless signal strength being above a threshold.
[0038] Identification code 124, sometimes referred to as a device
identifier, user identifier, panel participant identifier, or by
any other similar name, may comprise any type and form of
identification code, set to be unique for each panel participant,
either globally, within a region, or within a household. In some
such implementations in which shorter codes 124 are used for
household members, a household identification code may be stored by
measurement device 102 and may be transmitted to a
measurement/content delivery service 142 along with one or more
participant identification codes 124. Accordingly, identification
code 124 may comprise a binary or alphanumeric string of any
suitable length, such as four bits, eight bits, sixty-four bits, or
any other such value. In other implementations, identification code
124 may comprise a frequency offset of a wireless transmitter 122.
For example, each panel participant in a household may have a
portable device 120 broadcasting a signal at different frequencies
offset from a base carrier frequency. The measurement device 102
may detect the broadcast signals and determine which panel
participant(s) are present by detecting the various signal
frequencies.
[0039] In some implementations, portable device 120 may comprise a
processor 128, similar to any of the processors 104 discussed
above. Processor 128 may comprise a powerful processor for some
implementations of portable devices 120 such as a smart phone, or
may be a very simple and low power processor for other
implementations, such as a wearable BTLE presence band or NFC
token. Processor 128 may control various functions of the portable
device 120, including timing of intervals for transmission of
identification codes 124, receiving and responding to requests for
codes from a measurement device 102, performing negotiation or
collision avoidance algorithms, etc.
[0040] In some implementations, portable device 120 may comprise
one or more sensors 126a-n, referred to generally as sensor(s) 126.
Sensors 126 may be used to determine that the portable device 120
is being worn or carried, as opposed to sitting on a table or
otherwise unused by a panel provider. For example, sensors 126 may
comprise temperature sensors to detect the warmth of the user above
ambient temperature of the room, accelerometers to detect motion of
the sensor to indicate that it is being worn, resistive or
capacitive sensors to detect contact with the user, or any other
type and form of sensor. In some implementations, sensors 126 may
be used to provide data to the user, such as via a display (not
illustrated). For example, a portable device 120 may include a
heart rate sensor to detect that the device 120 is being worn by
the user, and may also provide the heart rate to the user for
exercising or fitness purposes. Such features may further encourage
the user to wear the device 120 more frequently.
[0041] Portable device 120 may include a power supply 130. Power
supply 130 may comprise a battery, such a Lithium-ion (Li-ion) or
Nickel-Cadmium (Ni-Cad) battery or any other type and form of
battery. Such batteries may be rechargeable or non-rechargeable,
and may be user replaceable or non-user replaceable. In some
implementations, power supply 130 may include inductive charging
components, such as antennas and rectifiers, while in other
implementations, power supply 130 may include a power input port,
such as a micro-USB port, AC or DC plug, or any other type and form
of charging port. In still other implementations, such as in very
low power implementations of portable devices 120, power supply 130
may include mechanical charging systems, such as weights or springs
that capture force during ordinary motion of the wearer and convert
said force to electrical energy.
[0042] As discussed above, a measurement device may identify one or
more device identifiers or identification codes received during
display of an item of content, and may generate a signature or
event record. FIG. 2A is a diagram of a record for an event 200,
according to one implementation. The record may comprise any type
and form of record, including a set of parameter-value pairs, a set
of flags or a binary string of data with predetermined bits
corresponding to parameters, a data file or flat file, or any other
type and form. In other implementations, the record may identify a
point or region within a multi-dimensional space, as discussed
above. For example, the record may have a coordinate definition
according to the value of a plurality of predetermined parameters.
The record may comprise a unique identifier 202 for the event, and
may include a description 204 of the event, in some
implementations. The record may identify a day of the week 206, and
a time 208. In other implementations, the record may identify a
time slot within a week, such that parameters 206-208 are combined
(e.g. time slot 1 may correspond to Sunday at midnight; time slot 2
may correspond to Sunday at 12:10 AM, etc.). In such
implementations, time slots may be of any length, and may be of
variable lengths or of different lengths for different channels or
sources. Time slots may also correspond to semantic intervals
rather than explicit times such as "early evening" or "breakfast
time". In some implementations, the record may identify a channel
or source 210. The record may also identify a genre or category 212
for an item of content, such as commercial advertising, action
movie, drama movie, reality television show, baseball game, news
program, documentary, or any other such type and form of content.
Such identifiers may be used for personalized recommendations of
content for a participant.
[0043] The event record may also comprise identification codes or
device identifiers 214 of portable devices 120 detected during
display of the item of content or event. In some implementations,
device identifiers 214 may be stored separately, while in other
implementations, device identifiers 214 may be concatenated or
stored together. For example, in many instances, a group of panel
participants may choose to watch different content than they would
individually watch. By identifying such instances via the presence
of multiple portable device identifiers, the measurement device may
distinguish between events viewed by participant A, those viewed by
participant B, those viewed by participants A and B together, those
viewed by participants A and C, etc. Recommendations may be
accordingly personalized based on individuals or combinations of
individuals that are likely present at any time. For example,
referring briefly to FIG. 3, illustrated is a diagram of detection
of devices during events, according to one implementation. During a
first event 200a, a measurement device may receive a first device
identifier 214a from a portable device of a first panel
participant. The measurement device may generate an event record
identifying the device identifier 214a. Similarly, during a second
event 200b, the measurement device may receive a second device
identifier 214b and generate an event record identifying the second
device identifier 214b. During a third event 200c, the measurement
device may receive both the first and second device identifiers
214a-214b and may record them together in an event record. As the
third event may be significantly different from either the first or
second event, this allows for more personalized recommendations, as
well as increased accuracy during inferred audience
measurement.
[0044] FIG. 2B is a diagram of a panel participant signature or
inference profile, according to one implementation. Similar to the
event record of FIG. 2A, the profile may be generated by the
inference engine from events displayed while the corresponding
portable device or devices are present. As discussed above,
separate device identifiers 214 may be stored, or device
identifiers may be concatenated or stored together to create
inference profiles for groups of panel participants. Each profile
may include parameter-value pairs or data similar to the event
records of FIG. 2A, such as days 206' and times 208' or combined
timeslots as discussed above; channels 210'; and categories 212'.
In some implementations, the profile may include event identifiers
202' which may correspond to individual events, as discussed
above.
[0045] As discussed above, audience measurements and inference
profiles may be generated based on explicitly received device
identifiers during display of items of content. Once profiles have
been created during a training period, panel participants may stop
wearing or carrying portable devices 120. Subsequently, the
measurement device may identify that an item of content is being
displayed but that no broadcast device identifiers are received.
The measurement device may create an event record or signature, and
compare the event signature to inference profiles created during
the training period. Comparisons may include logical biconditionals
between two bitstrings, or point distances or intersection volume
calculations within a multidimensional region, or via any other
such methods. For example, an inference profile for a panel
participant may comprise identifications of each day/time or
timeslot that they viewed content, each genre or category of
content viewed, each channel watched, etc. with parameter-value
pairs representing the statistical frequency of each parameter. For
example, if a panel participant watches television on 20% of
Mondays and 60% of Fridays, then a week may be represented as a
line with values of 0 for Sunday, 20 for Monday, 0 for
Tuesday-Thursday, 60 for Friday, and 0 for Saturday (or any other
corresponding proportional values). Such a line may be used as one
edge of a multidimensional surface, with other edges for times,
channels, categories, etc. to generate a region representative of
the user's overall viewing preferences. In some implementations,
values may be scaled or filtered, such as the removal of short or
single-instance viewing identifications that may indicate the panel
participant merely walked through a room during the display of
content, or paused temporarily while changing channels to answer
the phone or perform other tasks.
[0046] FIG. 4 is a flow diagram of the steps taken in one
implementation of a process 400 for active training 401A and use of
an inference engine 401B for audience measurement, according to one
implementation. At step 402, an item of content may be displayed.
As discussed above, although primarily discussed in terms of
visually displayed content, the same method may be used for audio
content, such as radio broadcasts or streamed music services.
Accordingly, the use of "display" may interchangeably mean "played"
or "provided". In many implementations, the measurement device may
be integrated with the playback device providing the content, such
as a set top box or smart televisions, and have direct access to
information on content being displayed, while in other
implementations, the measurement device may detect display of the
item of content via other means as discussed above.
[0047] At step 404, the measurement device may determine whether
any presence signals are detected. In some implementations, as
discussed above, the measurement device may periodically transmit a
request for device identifiers or identification codes of portable
devices. In other implementations, the measurement device may
detect periodic broadcasts of device identifiers from portable
devices. In many implementations, step 404 may be repeated each
time content is shown, rather than having an explicit training
period. This may allow panel participants to optionally wear or not
wear portable devices at will, retraining or improving the
inference profiles whenever preferences have changed, in response
to requests from an audience panel provider, responsive to offers
for coupons or discounts or other incentives, etc. Accordingly, the
determination of whether a presence signal is detected at step 404
may indicate whether the measurement device is in a training period
401A or inference period 401B.
[0048] If a device identifier is detected, then at step 406, the
measurement device may generate an inference profile or signature
for the individual associated with the device identifier, or modify
an existing inference profile or signature. As discussed above,
each signature or profile may comprise a plurality of
parameter-value pairs. These values may be modified based on the
displayed item of content. For example, if the displayed item of
content is an action movie, then the measurement device may
increase a value associated with action movies in the inference
profile by a specified amount. In some implementations, such as
where each event is a short portion of the item of content (e.g. a
one minute or five minute period), multiple such events may occur
during display of an item of content, such as a two hour movie. In
some implementations, the measurement device may modify the
signature once, while in other implementations, the measurement
device may modify the signature by a small amount for each event.
For example, in one such implementation, for each five minute
period that a device identifier is present during display of an
action movie, the measurement device may modify the associated
signature to increase the corresponding parameter-value pair by a
set amount, such as one point. Accordingly, the longer the device
identifier is present during display of the content, the further
the value will be increased. This may be used with filtering to
remove false positives during short periods or determine individual
preferences with higher granularity.
[0049] At step 408, the measurement device may record the presence
of the individual associated with the device identifier. Recording
the presence of the individual may comprise transmitting a record
that the individual or device identifier was present to an audience
measurement service or content provider, or recording the presence
of the individual in an audience measurement log to be periodically
provided to an audience measurement service.
[0050] In some implementations, the measurement device may
determine if any additional presence signals are present or device
identifiers have been received. If so, then steps 406-408 may be
repeated for each additional device identifier. In other
implementations, as discussed above, each combination of one or
more device identifiers may be separately recorded and a separate
profile generated. Accordingly, in such implementations, if a
plurality of device identifiers are received at step 404 (e.g.
device identifiers of portable devices associated with panel
participants A, B, and C), then at step 406, a signature may be
generated or modified for all associated panel participants. Such a
signature may be separate from a signature for the participants
individually, or for other combinations (e.g. participants A and B;
participants B and C; participants A and C; participants A, B, C,
and D, etc.). Similarly, at step 408, in such implementations, the
measurement device may record the presence of each of the panel
participants associated with the received device identifiers.
[0051] In a further implementation, signatures for individual
participants may also be generated or modified at step 406 in
addition to a signature for the combination of individuals that are
present. In some implementations, parameter-value pairs may be
modified by a lesser amount in individual profiles or signatures
than in the combined value. For example, if the item of content
displayed is a baseball game, a corresponding parameter-value pair
in the signature for the combination of participants present (e.g.
participants A, B, and C) may be increased by a high value; the
corresponding parameter-value pair in the individual signature for
each participant may also be increased, but by a lesser value. This
may allow the creation of personalization profiles for individual
participants who typically only watch content with others, but may
infrequently watch content on their own. Values in such inferred
individual profiles may be lower to indicate a lack of certainty or
confidence in the measurements. In other implementations, an
explicit confidence score may be associated with each profile. A
confidence score for a profile of combined participants may be
raised to a higher level than a confidence score for each profile
for the individual participants, reflecting that such latter
profiles are inferred rather than explicitly determined.
[0052] If no presence signal or device identifier is detected at
step 404 or is received in response to a request of the measurement
device, the measurement device may be in an inference period 401B.
Accordingly, at step 410, the measurement device may generate a
signature for the displayed item of content. At step 412, the
measurement device may retrieve a signature or inference profile
for a participant, and at step 414 may determine whether the
signature or inference profile of the participant matches the
signature for the item of content. As discussed above, determining
whether the signatures match may comprise performing a logical
biconditional on two parameterized bitstrings and determining
whether a sum of the result is above a threshold; determining the
distance between two points in a multidimensional space and
determining whether the distance is below a threshold; determining
whether a volume of two intersecting multidimensional regions is
greater than a threshold; or any other such method. If the
signatures do not match, steps 412-414 may be repeated for each
other signature or inference profile. In a further implementation,
steps 412-414 may be repeated for every signature or inference
profile to determine a best match (e.g. highest sum of the logical
biconditional; shortest distance between points; highest volume of
intersecting region; etc.). As discussed above, in some
implementations, separate signatures may be created for each
individual participant and for combinations of participants. As
preferences of individuals are likely to be similar to preferences
of combinations of participants including the individual (albeit
subject to compromises), then signatures of both the individual and
the combination may match a signature for an item of content to
some extent. By identifying the best match, the inference engine
may determine whether it is more likely that the individual is
present, alone, or that the combination of participants is
present.
[0053] If the signatures do match, then at step 416, the
measurement device may record the presence of the corresponding
panel participant or participants associated with the matching
signature or inference profile. As discussed above, recording the
presence of the panel participant or participants may comprise
transmitting a record to an audience measurement service or content
provider, recording a log entry of audience members present, or
other such steps. In one implementation, the measurement device may
display an identification of each panel participant that is
inferred to be present. Panel participants may correct any errors
in the inference, and the measurement device may modify inference
profiles accordingly to improve future performance. If no
signatures match the generated signature at step 414, then in some
implementations, the measurement device may request individuals to
identify themselves, enter identification codes, or retrieve
portable devices to reinitiate a training period 401A. In other
implementations, the measurement device may record or indicate that
it is uncertain which individuals were present, but that the item
of content was displayed to the household generally. This may allow
for lower confidence backup audience measurements.
[0054] As the systems and methods discussed herein utilize a
measurement device 102 installed in series or parallel with a panel
participant's display 100 and a portable device 120 worn or carried
by each panel participant, such panel participants must typically
sign up or agree to participate in data collection. As only device
identifiers may be transmitted from client capture devices, privacy
and anonymity of panel participants may be protected. To further
enhance privacy, in some implementations, the device identifiers
may be encrypted for transmission to the audience measurement
server. Panel participants may also stop transmitting measurement
data by removing a video input, network connection, and/or power
connection from the measurement device, and may resume at any time
by reattaching said connection or connections.
[0055] In some implementations, the panel participant may be
provided with an opportunity to control whether or how to transmit
measurement data to the audience measurement server. For example,
the measurement device may be configured to be disabled during
certain times of day or with certain program material (e.g.
specified channels, or responsive to the presence of specified
V-chip parental rating codes embedded within the video). Thus, the
panel participant may have control over how information is
collected about him or her and used by the audience measurement
servers, panel providers, and content providers.
[0056] Implementations of the subject matter and the operations
described in this specification can be implemented in digital
electronic circuitry, or in computer software, firmware, or
hardware, including the structures disclosed in this specification
and their structural equivalents, or in combinations of one or more
of them. Implementations of the subject matter described in this
specification can be implemented as one or more computer programs,
i.e., one or more modules of computer program instructions, encoded
on one or more computer storage medium for execution by, or to
control the operation of, data processing apparatus. Alternatively
or in addition, the program instructions can be encoded on an
artificially-generated propagated signal, e.g., a machine-generated
electrical, optical, or electromagnetic signal, that is generated
to encode information for transmission to suitable receiver
apparatus for execution by a data processing apparatus. A computer
storage medium can be, or be included in, a computer-readable
storage device, a computer-readable storage substrate, a random or
serial access memory array or device, or a combination of one or
more of them. Moreover, while a computer storage medium is not a
propagated signal, a computer storage medium can be a source or
destination of computer program instructions encoded in an
artificially-generated propagated signal. The computer storage
medium can also be, or be included in, one or more separate
components or media (e.g., multiple CDs, disks, or other storage
devices). Accordingly, the computer storage medium may be
tangible.
[0057] The operations described in this specification can be
implemented as operations performed by a data processing apparatus
on data stored on one or more computer-readable storage devices or
received from other sources.
[0058] The term "client or "server" include all kinds of apparatus,
devices, and machines for processing data, including by way of
example a programmable processor, a computer, a system on a chip,
or multiple ones, or combinations, of the foregoing. The apparatus
can include special purpose logic circuitry, e.g., an FPGA (field
programmable gate array) or an ASIC (application-specific
integrated circuit). The apparatus can also include, in addition to
hardware, code that creates an execution environment for the
computer program in question, e.g., code that constitutes processor
firmware, a protocol stack, a database management system, an
operating system, a cross-platform runtime environment, a virtual
machine, or a combination of one or more of them. The apparatus and
execution environment can realize various different computing model
infrastructures, such as web services, distributed computing and
grid computing infrastructures.
[0059] A computer program (also known as a program, software,
software application, script, or code) can be written in any form
of programming language, including compiled or interpreted
languages, declarative or procedural languages, and it can be
deployed in any form, including as a stand-alone program or as a
module, component, subroutine, object, or other unit suitable for
use in a computing environment. A computer program may, but need
not, correspond to a file in a file system. A program can be stored
in a portion of a file that holds other programs or data (e.g., one
or more scripts stored in a markup language document), in a single
file dedicated to the program in question, or in multiple
coordinated files (e.g., files that store one or more modules,
sub-programs, or portions of code). A computer program can be
deployed to be executed on one computer or on multiple computers
that are located at one site or distributed across multiple sites
and interconnected by a communication network.
[0060] The processes and logic flows described in this
specification can be performed by one or more programmable
processors executing one or more computer programs to perform
actions by operating on input data and generating output. The
processes and logic flows can also be performed by, and apparatus
can also be implemented as, special purpose logic circuitry, e.g.,
an FPGA (field programmable gate array) or an ASIC (application
specific integrated circuit).
[0061] Processors suitable for the execution of a computer program
include, by way of example, both general and special purpose
microprocessors, and any one or more processors of any kind of
digital computer. Generally, a processor will receive instructions
and data from a read-only memory or a random access memory or both.
The essential elements of a computer are a processor for performing
actions in accordance with instructions and one or more memory
devices for storing instructions and data. Generally, a computer
will also include, or be operatively coupled to receive data from
or transfer data to, or both, one or more mass storage devices for
storing data, e.g., magnetic, magneto-optical disks, or optical
disks. However, a computer need not have such devices. Moreover, a
computer can be embedded in another device, e.g., a mobile
telephone, a personal digital assistant (PDA), a mobile audio or
video player, a game console, a Global Positioning System (GPS)
receiver, or a portable storage device (e.g., a universal serial
bus (USB) flash drive), to name just a few. Devices suitable for
storing computer program instructions and data include all forms of
non-volatile memory, media and memory devices, including by way of
example semiconductor memory devices, e.g., EPROM, EEPROM, and
flash memory devices; magnetic disks, e.g., internal hard disks or
removable disks; magneto-optical disks; and CD-ROM and DVD-ROM
disks. The processor and the memory can be supplemented by, or
incorporated in, special purpose logic circuitry.
[0062] To provide for interaction with a user, implementations of
the subject matter described in this specification can be
implemented on a computer having a display device, e.g., a CRT
(cathode ray tube), LCD (liquid crystal display), OLED (organic
light emitting diode), TFT (thin-film transistor), plasma, other
flexible configuration, or any other monitor for displaying
information to the user and a keyboard, a pointing device, e.g., a
mouse, trackball, etc., or a touch screen, touch pad, etc., by
which the user can provide input to the computer. Other kinds of
devices can be used to provide for interaction with a user as well;
for example, feedback provided to the user can be any form of
sensory feedback, e.g., visual feedback, auditory feedback, or
tactile feedback; and input from the user can be received in any
form, including acoustic, speech, or tactile input. In addition, a
computer can interact with a user by sending documents to and
receiving documents from a device that is used by the user; for
example, by sending webpages to a web browser on a user's client
device in response to requests received from the web browser.
[0063] Implementations of the subject matter described in this
specification can be implemented in a computing system that
includes a back-end component, e.g., as a data server, or that
includes a middleware component, e.g., an application server, or
that includes a front-end component, e.g., a client computer having
a graphical user interface or a Web browser through which a user
can interact with an implementation of the subject matter described
in this specification, or any combination of one or more such
back-end, middleware, or front-end components. The components of
the system can be interconnected by any form or medium of digital
data communication, e.g., a communication network. Examples of
communication networks include a local area network ("LAN") and a
wide area network ("WAN"), an inter-network (e.g., the Internet),
and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
[0064] The features disclosed herein may be implemented on a smart
television module (or connected television module, hybrid
television module, etc.), which may include a processing circuit
configured to integrate Internet connectivity with more traditional
television programming sources (e.g., received via cable,
satellite, over-the-air, or other signals). The smart television
module may be physically incorporated into a television set or may
include a separate device such as a set-top box, Blu-ray or other
digital media player, game console, hotel television system, and
other companion device. A smart television module may be configured
to allow viewers to search and find videos, movies, photos and
other content on the web, on a local cable TV channel, on a
satellite TV channel, or stored on a local hard drive. A set-top
box (STB) or set-top unit (STU) may include an information
appliance device that may contain a tuner and connect to a
television set and an external source of signal, turning the signal
into content which is then displayed on the television screen or
other display device. A smart television module may be configured
to provide a home screen or top level screen including icons for a
plurality of different applications, such as a web browser and a
plurality of streaming media services, a connected cable or
satellite media source, other web "channels", etc. The smart
television module may further be configured to provide an
electronic programming guide to the user. A companion application
to the smart television module may be operable on a mobile
computing device to provide additional information about available
programs to a user, to allow the user to control the smart
television module, etc. In alternate embodiments, the features may
be implemented on a laptop computer or other personal computer, a
smartphone, other mobile phone, handheld computer, a tablet PC, or
other computing device.
[0065] While this specification contains many specific
implementation details, these should not be construed as
limitations on the scope of any inventions or of what may be
claimed, but rather as descriptions of features specific to
particular implementations of particular inventions. Certain
features that are described in this specification in the context of
separate implementations can also be implemented in combination in
a single implementation. Conversely, various features that are
described in the context of a single implementation can also be
implemented in multiple implementations separately or in any
suitable subcombination. Moreover, although features may be
described above as acting in certain combinations and even
initially claimed as such, one or more features from a claimed
combination can in some cases be excised from the combination, and
the claimed combination may be directed to a subcombination or
variation of a subcombination.
[0066] Similarly, while operations are depicted in the drawings in
a particular order, this should not be understood as requiring that
such operations be performed in the particular order shown or in
sequential order, or that all illustrated operations be performed,
to achieve desirable results. In certain circumstances,
multitasking and parallel processing may be advantageous. Moreover,
the separation of various system components in the implementations
described above should not be understood as requiring such
separation in all implementations, and it should be understood that
the described program components and systems can generally be
integrated together in a single software product or packaged into
multiple software products.
[0067] Thus, particular implementations of the subject matter have
been described. Other implementations are within the scope of the
following claims. In some cases, the actions recited in the claims
can be performed in a different order and still achieve desirable
results. In addition, the processes depicted in the accompanying
figures do not necessarily require the particular order shown, or
sequential order, to achieve desirable results. In certain
implementations, multitasking or parallel processing may be
utilized.
* * * * *