Note: Descriptions are shown in the official language in which they were submitted.
CA 02571088 2006-12-08
WO 2005/124583
PCT/US2004/017879
METHODS AND APPARATUS TO VERIFY CONSUMPTION ot=
PROGRAMMING CONTENT
TECHNICAL FIELD
[0001] The present disclosure relates generally to verification systems,
and more
particularly, to methods and apparatus to verify consumption of programming
content.
BACKGROUND
[0002] With the advances in today's technology, audience measurement
companies
are presented with greater challenges to collect viewing data to determine
viewing habits
of viewers. For example, personal video recorders (PVR) present such a
challenge to
collect viewing data because PVRs allow viewers to play back and view
programming at
a later time (i.e., in a time-shifted manner). Typically, however, methods to
collect
viewing data depend on the programming being view at the time of broadcast
(i.e., real-
time). To illustrate this concept, signatures of a program taken at a
household are either
collected with broadcast timestamp information or associated with a time at
which they
were received at the household receiver (e.g., a set top box). The signatures
are then
compared to either reference signatures having the same broadcast time stamp
or
reference signatures that were broadcasted at or around the same time to
identify a match.
Comparing broadcast time reduces the amount of signature comparisons that are
required
to identify a match. However, PVRs allow viewers to skip programming content
such as
commercials at their discretion to avoid consumption of the programming
content. Thus,
audience measurement companies are researching different ways to verify
programming
content is shown to viewers.
1
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] FIG. 1 is a block diagram representation of an example television
system.
[0004] FIG. 2 is a block diagram representation of an example programming
content
verification system.
[0005] FIG. 3 is a block diagram representation of an example programming
content
index that may be used by the example programming content verification system
of FIG.
2.
[0006] FIG. 4 is a flow diagram representation of example machine readable
instructions that may be executed to implement the example programming content
verification system of FIG. 2.
[0007] FIG. 5 is a flow diagram representation of example machine readable
instructions that may be executed to implement a content library generation
process of the
example programming content verification system of FIG. 2.
[0008] FIG. 6 is a flow diagram representation of example machine readable
instructions that may be executed to implement a content identifier comparison
process of
the example programming content verification system of FIG. 2.
[0009] FIG. 7 is a block diagram representation of an example processor
system that
may be used to implement the example programming content verification system
of FIG.
2.
DETAILED DESCRIPTION
[0010] Although the following discloses example systems including, among
other
components, software executed on hardware, it should be noted that such
systems are
merely illustrative and should not be considered as limiting. For example, it
is
contemplated that any or all of the disclosed hardware and software components
could be
2
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
embodied exclusively in dedicated hardware, exclusively in software,
exclusively in
firmware or in some combination of hardware, firmware, and/or software.
[0011] In addition, while the following disclosure is made with respect to
example
television systems, it should be understood that the disclosed system is
readily applicable
to many other media systems. Accordingly, while the following describes
example
systems and processes, persons of ordinary skill in the art will readily
appreciate that the
disclosed examples are not the only way to implement such systems.
[0012] In the example of FIG. 1, an example television system 100 including
a
television service provider 110, a television 120, a remote control device
125, and a
personal video recorder (PVR) 130, is metered using an audience measurement
system.
The components of the television system 100 may be coupled in any well known
manner.
The television 120 is positioned in a viewing area 150 located within a house
occupied by
one or more people, referred to as household members 160, all of whom have
agreed to
participate in an audience measurement research study. The viewing area 150
includes
the area in which the television 120 is located and from which the television
120 may be
viewed by one or more household members 160 located in the viewing area 150.
Based
on the viewing of the household members 160, the PVR 130 may be configured to
send
viewing data to a data collection facility 180. For example, the PVR 130 may
transmit
content information such as which programming content was displayed and when
it was
displayed on the television 120 for viewing by the household members 160. The
data
collection facility 180 may be configured to process and store data received
from the PVR
130.
[0013] The television service provider 110 may be implemented using any
television
service provider such as, for example, a cable television service provider
112, a radio
frequency (RF) television service provider 114, and/or a satellite television
service
3
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
provider 116. The television 120 receives a plurality of television signals
transmitted via
a plurality of channels by the television service provider 110 and may be
adapted to
process and display television signals provided in any format such as a
National
Television Standards Committee (NTSC) television signal format, a high
definition
television (HDTV) signal format, an Advanced Television Systems Committee
(ATSC)
television signal format, a phase alteration line (PAL) television signal
format, a digital
video broadcasting (DVB) television signal format, an Association of Radio
Industries
and Businesses (ARIB) television signal format, etc. The user-operated remote
control
device 125 allows a user to cause the television 120 to tune to and receive
signals
transmitted on a desired channel, and to cause the television 120 to process
and present
the programming content contained in the signals transmitted on the desired
channel. The
processing performed by the television 120 may include, for example,
extracting a video
and/or an audio component delivered via the received signal, causing the video
component to be displayed on a screen/display associated with the television
120, and
causing the audio component to be emitted by speakers associated with the
television 120.
The programming content contained in the television signal may include, for
example, a
television program, a movie, an advertisement, a video game, and/or a preview
of other
programming content that is currently offered or will be offered in the future
by the
television service provider 110.
100141 While the components shown in FIG. 1 are depicted as separate
functional
blocks within the television system 100, the functions performed by some of
these blocks
may be integrated within a single unit or may be implemented using two or more
separate
components. For example, although the television 120 and the PVR 130 are
depicted as
separate functional blocks, persons of ordinary skill in the art will readily
appreciate that
the television 120 and the PVR 130 may be integrated into a single unit.
4
CA 02571088 2006-12-08
WO 2005/124583
PCT/US2004/017879
[0015] In the example of FIG. 2, a programming content verification system
200
includes a content provider 210, a broadcast device 220, and a PVR 230. In
general, the
content provider 210 (e.g., the television service provider 110) provides the
PVR 230
with content streams to display on the broadcast device 220 (e.g., the
television 120).
The PVR 230 includes a content library generator 232, a memory 234, and a
comparator
236. The content library generator 232 generates a content library 240 as
described in
detail below and stores the content library 240 in the memory 234.
Alternatively, the
content library generator 232 may store the content library 240 in a mass
storage device
250. Examples of such mass storage device(s) 250 include floppy disks and
drives, hard
disk drives, compact disks and drives, and digital versatile disks (DVD) and
drives. As
noted above, the PVR 230 receives content streams from the content provider
210. In
particular, the comparator 236 extracts a broadcast content identifier
associated with
programming content from a content stream currently being broadcasted to the
PVR 230.
To verify consumption of the insertable content, the comparator 236 compares
the
broadcast content identifier to the content identifiers previously stored in
the content
library 240 and/or the mass storage device 250.
[0016] To illustrate the concept of verifying consumption of programming
content, a
content stream sent to the PVR 230 from the content provider 210 may include
programming content which is insertable into content streams. For example, the
insertable content may be an advertisement, a program, an interactive
television
application, and/or an alternate portion of a program. The PVR 230 may receive
the
insertable content via an in-band transmission. That is, the insertable
content may be
merged with data of the content stream prior to transmission to the PVR 230.
For
example, a local advertisement may be inserted into the content stream of a
nationally
televised program prior to transmission of the content stream to the PVR 230.
Thus, the
CA 02571088 2006-12-08
WO 2005/124583
PCT/US2004/017879
PVR 130 receives the insertable content and the content stream from the
content proviaer
210 over the same link (e.g., same cable).
[0017] Alternatively, the insertable content may be sent to the PVR 230 via
an out-of-
band transmission (i.e., the insertable content is transmitted separate from
the content
stream). In particular, the content stream and the insertable content may be
transmitted
physically over separate set of wires to the PVR 230. For example, the content
stream
(e.g., a nationally televised program) may be transmitted to the PVR 230 via a
cable
whereas the insertable content (e.g., a local advertisement) may be
transmitted to the PVR
230 via a dial-up modem. In contrast to an in-band transmission of the
insertable content
(i.e., the insertable content is merged with data of the content stream prior
to transmission
to the PVR 230), the insertable content of an out-of-band transmission is
merged with
data of the content stream at the PVR 230.
[00181 To identify the insertable content received via either an in-band
transmission
or an out-of-band transmission, the PVR 230 generates a content library 240.
For
example, the content library 240 may be stored locally in the memory 234 of
the PVR
230. As another example, the content library 240 may be stored on a remote
storage
device such as the mass storage device 250. If the insertable content is
transmitted via an
in-band transmission, the PVR 230 extracts the insertable content from the
content stream
and stores the insertable content in the content library 240. On the other
hand, if the
insertable content is transmitted via an out-of-band transmission, the PVR 230
directly
stores the insertable content (i.e., without having to extract the insertable
content from the
content stream). To conserve size of the storage devices, the PVR 230 (e.g.,
via the
processor 232) may store a portion of the insertable content into the memory
234 and/or
the mass storage device 250 rather than storing the insertable content in its
entirety.
Alternatively, the PVR 230 may store a content identifier associated with the
insertable
6
CA 02571088 2010-12-13
content to identify the insertable content. For example, the content
identifier may be an
audio signature, a video signature, an audio code, a digital identifier (e.g.,
an audience
measurement packet, or a cyclical redundancy code (CRC)) and/or a video code
of the
insertable content. The PVR 230 may be coupled to a serial data channel
metering
attachment as described in, for example, U.S. Patent No. 5,488,408 entitled
"Serial Data
Channel Metering Attachment for Metering Channels to which a Receiver is
Tuned" and
issued on January 30, 1996 to identify the content identifier of the
insertable content. In
addition to identifying the insertable content using the examples of content
identifier
mentioned above, the PVR 230 may use blank frame detection technology as
described in,
for example, International PCT Patent Application No. PCT/US04/09910 entitled
"Methods
and Apparatus to Detect a Blank Frame in a Digital Video Broadcast Signal" as
filed on
March 29, 2004 and published as WO/2005/104676 to identify a blank image
associated with
the insertable content. Based on the content identifiers stored in the content
library 240, the
PVR 230 may verify consumption of programming content when a content stream
including
the programming content is received by the PVR 130 as described in detail
below.
[0019]
Further, the PVR 230 may receive a data structure (e.g., the index 300 of FIG.
3)
from the content provider 210 to identify the insertable content as described
in detail below.
The data structure may be an index, a list, a table, a database and/or any
other suitable data
configuration that includes information such as an identifier corresponding to
an insertable
content. In the example of FIG. 3, the index 300 may include index numbers 305
such as
index #1 310 corresponding to a car commercial 315, index #2 320 corresponding
to an
airline commercial 325, index #3 330 corresponding to a beverage commercial
335, index #4
340 corresponding to a football game 345, and index #5 350
7
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
corresponding to local news 355. Thus, the PVR 230 may identify a programming
content with the index numbers 305 and transmit the index number corresponding
to the
programming content to the data collection facility 180 after verifying
consumption of the
programming content. The index numbers 305 may be used to indicate which
insertable
content was displayed to viewers.
[0020] Because the PVR 230 allow viewers to play back and view programming
content in a time-shifted manner and/or skip programming content such as a
television
advertisement, the PVR 230 measures the actual display of the programming
content at a
later time by storing the content identifier associated with the programming
content in the
content library 240 upon receipt of the programming content. Thus, the PVR 230
may
determine whether the programming content was actually displayed (i.e., rather
than
being skipped) regardless of whether the programming content was viewed either
in real-
tiine or in a time-shifted manner.
[0021] While the components shown in FIG. 2 are depicted as separate
functional
blocks within the programming content verification system 200, the functions
performed
by some of these blocks may be integrated within a single unit or may be
implemented
using two or more separate components. For example, although the PVR 230 and
the
broadcast device 220 are depicted as separate functional blocks, persons of
ordinary skill
in the art will readily appreciate that the PVR 230 and the broadcast device
220 may be
integrated into a single unit.
[0022] A flow diagram 400 representing machine readable instructions that
may be
executed by a processor (e.g., the processor 1020 of FIG. 7) to verify
consumption of
programming content is illustrated in FIG. 4. Persons of ordinary skill in the
art will
appreciate that the instructions may be implemented in any of many different
ways
utilizing any of many different programming codes stored on any of many
computer-
8
CA 02571088 2006-12-08
WO 2005/124583
PCT/US2004/017879
readable mediums such as a volatile or nonvolatile memory or other mass
storage device
(e.g., a floppy disk, a CD, and a DVD). For example, the machine readable
instructions
may be embodied in a machine-readable medium such as an erasable programmable
read
only memory (EPROM), a read only memory (ROM), a random access memory (RAM),
a magnetic media, an optical media, and/or any other suitable type of medium.
Alternatively, the machine readable instructions may be embodied in a
programmable
gate array and/or an application specific integrated circuit (ASIC). Further,
although a
particular order of actions is illustrated in FIG. 4, persons of ordinary
skill in the art will
appreciate that these actions can be performed in other temporal sequences.
Again, the
flow diagram 400 is merely provided and described in conjunction with the
example
programming content verification system of FIGs. 2 and 3 as an example of one
way to
verify consumption of programming content.
[0023] In the example of FIG. 4, the flow diagram 400 begins the content
library
generator 232 generating the content library 240 within the memory 234 (block
410).
Alternatively, the content library generator 232 may generate the content
library 240
within the mass storage device 250. The content library 240 includes at least
one content
identifier associated with an insertable content to serve as a reference.
Referring to FIG.
4, for example, the content provider 210 adds markers and/or flags in a
content stream
indicating locations within the content stream where insertable contents may
be inserted
(i.e., the markers and/or flags serve as place holders within the content
stream) (block
510). For example, a content stream of a nationally televised program may
include
markers and/or flags to indicate where within the content stream that a local
advertisement may be inserted. In another example, a content stream of a movie
may
include markers and/or flags to indicate where an alternative and/or
additional scene may
be inserted within the content stream.
9
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
As noted above, the insertable content may be transmitted to the PVR 230 via
either an in-band transmission or an out-of-band transmission. Accordingly,
the content
provider 210 determines whether to merge the insertable content into the
content stream
(block 520). For an in-band transmission of the insertable content, the
content provider
210 merges the insertable content into the content stream prior to
transmission (block
530) so that the insertable content is sent over the same channel as the data
of the content
stream to the PVR 230 (block 540). To generate the content library 240, the
PVR 230
extracts a content identifier associated with the insertable content from the
merged
content stream (block 550) and stores the content identifier in the content
library 240
(block 560). For example, the content identifier may be an audio signature, a
video
signature, an audio code, a video code, and/or a portion of the insertable
content.
[0024] Referring back to block 520, if the content provider 210 decides to
transmit
the insertable content via an out-of-band transmission, then the content
stream is
transmitted separately from the insertable content to the PVR 230 (block 570).
In
particular, the insertable content is transmitted to the PVR 230 via a link
separate from
the link carrying data of the content stream. For example, the content stream
of the
nationally televised program may be transmitted over cable link whereas a
local
advertisement may be transmitted over a dial-up link. The content provider 210
determines whether to deliver the insertable content to the PVR 230 (block
580). If the
content provider 210 decides not to deliver the insertable content to the PVR
230 then
controls return to block 510. Otherwise, the content provider 210 transmits
the insertable
content to the PVR 230 separate from the content stream (block 590) so that
the PVR 230
may determine whether to merge the insertable content with data of the content
stream.
Further, PVR 230 may store the content identifier associated with the
insertable content in
the content library (block 560). As a result, the content library may include
a plurality of
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
content identifiers to serve as references when the PVR 230 verifies
consumption of the
insertable content as described in further detail below.
[0025] As noted above, the PVR 230 is configured to receive content streams
from
the content provider 210. Referring back to FIG. 4, the comparator 236 may
extract a
broadcast content identifier associated with programming content from a
content stream
currently being broadcasted to the PVR 230 (block 420). To verify consumption
of the
insertable content, the comparator 236 compares the broadcast content
identifier to the
content identifiers previously stored in the content library 240 (block 430).
In the
example of FIG. 6, the comparator 236 accesses the content identifiers
previously stored
in the content library 240 (block 610) and determines whether the broadcast
content
identifier matches one of the content identifiers previously stored in the
content library
240 (block 620). For example, the comparator 236 may compare an audio
signature, a
video signature, an audio code, and/or a video code of an advertisement to the
content
identifiers stored in the content library 240. In another example, the
comparator 236 may
compare a portion of a program to the content identifiers stored in the
content library 240.
[0026] As noted above, the PVR 230 includes the index 300 to identify the
programming content upon detecting a match between the broadcast content
identifier
and at least one content identifier stored in the content library 240. For
example, the PVR
230 may detect that the car commercial 315 was consumed by the viewer. Thus,
the PVR
230 identifies the car commercial 315 is index #1 310 and verifies that the
insertable
content was consumed by the viewer. In response to detecting a match between
the
broadcast content identifier and at least one content identifier stored in the
content library
240, the PVR 230 provides content information associated with the insertable
content to
the data collection facility 180 (block 630). In particular, the PVR 230 may
provide
information such as which insertable content and when it was displayed to a
viewer.
11
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
Following the example described above, the PVR 230 may transmit index #1 310
to the
data collection facility 180 to indicate that the car commercial 315 was
consumed.
Otherwise if a match is not found, the PVR 230 updates and continues to build
the
content library 240 by storing the broadcast content identifier in the content
library 240
(block 640) so that PVR 230 may verify consumption of programming content of
content
streams received in the future.
[0027] As noted above, the PVR 230 is configured to time-shift and/or to
skip
programming content (e.g., a television advertisement). By storing the content
identifier
associated with the programming content in the content library 240 upon
receipt of the
programming content, the PVR 230 may measure the actual display of the
programming
content at a later time even if the programming content is skipped. Thus, the
PVR 230
may collect viewing data regardless of whether the programming content was
viewed
either in real-time or in a time-shifted manner.
[0028] While the methods and apparatus disclosed herein are particularly
well suited
for use to verify consumption of content with a PVR, the teachings of the
disclosure may
be implemented by other electronic devices such as a VCR without departing
from the
scope or spirit thereof.
[0029] FIG. 7 is a block diagram of an example processor system 1000
adapted to
implement the methods and apparatus disclosed herein. The processor system
1000 may
be a desktop computer, a laptop computer, a notebook computer, a personal
digital
assistant (PDA), a server, an Internet appliance or any other type of
computing device.
[0030] The processor system 1000 illustrated in FIG. 7 includes a chipset
1010, which
includes a memory controller 1012 and an input/output (1/0) controller 1014.
As is well
known, a chipset typically provides memory and I/0 management functions, as
well as a
plurality of general purpose and/or special purpose registers, timers, etc.
that are
12
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
accessible or used by a processor 1020. The processor 1020 is implemented
using one or
more processors. The processor 1020 includes a cache 1022, which may be
implemented
using a first-level unified cache (L1), a second-level unified cache (L2), a
third-level
unified cache (L3), and/or any other suitable structures to store data as
persons of
ordinary skill in the art will readily recognize.
[0031] As is conventional, the memory controller 1012 performs functions
that enable
the processor 1020 to access and communicate with a main memory 1030 including
a
volatile memory 1032 and a non-volatile memory 1034 via a bus 1040. The
volatile
memory 1032 may be implemented by Synchronous Dynamic Random Access Memory
(SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random
Access Memory (RDRAM), and/or any other type of random access memory device.
The
non-volatile memory 1034 may be implemented using flash memory, Read Only
Memory
(ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), and/or
any
other desired type of memory device.
[0032] The processor system 1000 also includes an interface circuit 1050
that is
coupled to the bus 1040. The interface circuit 1050 may be implemented using
any type
of well known interface standard such as an Ethernet interface, a universal
serial bus
(USB), a third generation input/output interface (3GI0) interface, and/or any
other
suitable type of interface.
[0033] One or more input devices 1060 are connected to the interface
circuit 1050.
The input device(s) 1060 permit a user to enter data and commands into the
processor
1020. For example, the input device(s) 1060 may be implemented by a keyboard,
a
mouse, a touch-sensitive display, a track pad, a track ball, an isopoint,
and/or a voice
recognition system.
13
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
[0034] One or more output devices 1070 are also connected to the interface
circuit
1050. For example, the output device(s) 1070 may be implemented by display
devices
(e.g., a light emitting display (LED), a liquid crystal display (LCD), a
cathode ray tube
(CRT) display, a printer and/or speakers). The interface circuit 1050, thus,
typically
includes, among other things, a graphics driver card.
[0035] The processor system 1000 also includes one or more mass storage
devices
1080 to store software and data. Examples of such mass storage device(s) 1080
include
floppy disks and drives, hard disk drives, compact disks and drives, and
digital versatile
disks (DVD) and drives.
[0036] The interface circuit 1050 also includes a communication device such
as a
modem or a network interface card to facilitate exchange of data with external
computers
via a network. The communication link between the processor system 1000 and
the
network may be any type of network connection such as an Ethernet connection,
a digital
subscriber line (DSL), a telephone line, a cellular telephone system, a
coaxial cable, etc.
[0037] Access to the input device(s) 1060, the output device(s) 1070, the
mass storage
device(s) 1080 and/or the network is typically controlled by the 1/0
controller 1014 in a
conventional manner. In particular, the 1/0 controller 1014 performs functions
that
enable the processor 1020 to communicate with the input device(s) 1060, the
output
device(s) 1070, the mass storage device(s) 1080 and/or the network via the bus
1040 and
the interface circuit 1050.
[0038] While the components shown in FIG. 7 are depicted as separate blocks
within
the processor system 1000, the functions performed by some of these blocks may
be
integrated within a single semiconductor circuit or may be implemented using
two or
more separate integrated circuits. For example, although the memory controller
1012 and
the I/0 controller 1014 are depicted as separate blocks within the chipset
1010, persons of
14
CA 02571088 2006-12-08
WO 2005/124583 PCT/US2004/017879
ordinary skill in the art will readily appreciate that the memory controller
1012 and the
1/0 controller 1014 may be integrated within a single semiconductor circuit.
[0039] Although certain example methods, apparatus, and articles of
manufacture
have been described herein, the scope of coverage of this patent is not
limited thereto. On
the contrary, this patent covers all methods, apparatus, and articles of
manufacture fairly
falling within the scope of the appended claims either literally or under the
doctrine of
equivalents.