U.S. patent application number 13/038984 was filed with the patent office on 2011-12-08 for scripted access to hidden multimedia assets.
Invention is credited to Mark Kenneth Eyer.
Application Number | 20110298981 13/038984 |
Document ID | / |
Family ID | 45064203 |
Filed Date | 2011-12-08 |
United States Patent
Application |
20110298981 |
Kind Code |
A1 |
Eyer; Mark Kenneth |
December 8, 2011 |
Scripted Access to Hidden Multimedia Assets
Abstract
A method according to certain embodiments involves at a digital
television receiver device, receiving a triggered declarative
object (TDO) that carries a script that when executed provides the
digital television receiver device with access to hidden television
content, where upon execution of the script, the digital television
receiver device is given a location of the hidden television
content. This abstract is not to be considered limiting, since
other embodiments may deviate from the features described in this
abstract.
Inventors: |
Eyer; Mark Kenneth;
(Woodinville, WA) |
Family ID: |
45064203 |
Appl. No.: |
13/038984 |
Filed: |
March 2, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61375415 |
Aug 20, 2010 |
|
|
|
61354515 |
Jun 14, 2010 |
|
|
|
61352275 |
Jun 7, 2010 |
|
|
|
Current U.S.
Class: |
348/563 ;
348/E5.099 |
Current CPC
Class: |
H04N 21/47202 20130101;
H04N 21/4345 20130101; H04N 21/433 20130101; H04N 21/482 20130101;
H04N 21/47214 20130101; H04N 21/4782 20130101; H04N 21/4758
20130101; H04N 21/4424 20130101; H04N 21/47217 20130101; H04N
21/458 20130101; H04N 21/858 20130101 |
Class at
Publication: |
348/563 ;
348/E05.099 |
International
Class: |
H04N 5/445 20110101
H04N005/445 |
Claims
1. A method, comprising: at a digital television receiver device,
receiving a triggered declarative object (TDO) that carries an
ECMAScript-based script that when executed provides the digital
television receiver device with access to hidden television
content; where upon execution of the script by a viewer action, the
digital television receiver device is given access to the hidden
television content; where the hidden television content is hidden
by virtue of at least one of having a virtual channel "hidden"
attribute set, having an ATSC standard service_type value that is
not recognized by legacy television receiver devices, having a
service_type value of 0x07 or where access to the hidden content is
provided by directly referencing an MPEG program by a
program_number or by explicit reference to the packet identifiers
(PIDs) of the packets in a transport stream; and where the TDO
utilizes an Application Program Interface (API) that allows the
script to effect a channel change away from a current selection to
the hidden content.
2. A method, comprising: at a digital television receiver device,
receiving a triggered declarative object (TDO) that carries a
script that when executed provides the digital television receiver
device with access to hidden television content; the digital
television receiver executing the script; and where upon execution
of the script, the digital television receiver device is given a
location of the hidden television content.
3. The method according to claim 2, where access to the hidden
television content is provided by referencing a virtual channel
that is designated as hidden by having a "hidden" attribute
set.
4. The method according to claim 2, where access to the hidden
television content is provided by referencing a virtual channel
with an ATSC standard service_type value that is not recognized by
legacy television receiver devices.
5. The method according to claim 4, where the service_type value is
0x07.
6. The method according to claim 2, where access to the hidden
content is provided by referencing an MPEG program by a
program_number value.
7. The method according to claim 2, where access to the hidden
content is provided by explicit reference to the packet identifiers
(PIDs) of the packets in an MPEG compliant Transport Stream.
8. The method according to claim 2, where access to the hidden
content is provided by a reference to a content identifier
associated with NRT content.
9. The method according to claim 2, where the TDO is implemented
using an extension to standardized TDO scripting to implement a
function call to allow the script to request access to hidden
content.
10. The method according to claim 2, where the script is executed
conditionally based upon a user response to a survey question.
11. The method according to claim 2, where the script is executed
by a viewer action.
12. The method according to claim 11, where the script is executed
conditionally based upon a user entry of a registration code.
13. The method according to claim 2, where the hidden content
comprises non-real-time (NRT) content.
14. The method according to claim 13, where the NRT content is
pre-delivered prior to the viewer action.
15. The method according to claim 2, where the script is executed
conditionally based upon a user's Internet access.
16. The method according to claim 2, where the hidden content
comprises non-real-time (NRT) content.
17. The method according to claim 2, where the TDO defines an
Application Program Interface (API) that allows the script to
effect a channel change away from a currently selected program to
the hidden program.
18. The method according to claim 2, where the script comprises an
ECMAScript or ECMAScript extension.
19. A non-transitory computer readable storage medium storing
instructions which, when executed on one or more programmed
processors, carry out a method according to claim 2.
20. A device, comprising: a digital television receiver device
adapted to receive a triggered declarative object (TDO) that
carries a script that when executed provides the digital television
receiver device with access to hidden television content; the
digital television receiver device having a programmed processor;
the programmed processor programmed to execute the script that
gives the digital television receiver device access to the hidden
television content.
21. The device according to claim 20, where access to the hidden
television content is provided by referencing a virtual channel
that is designated as hidden by having a hidden attribute set.
22. The device according to claim 20, where the hidden content
comprises an alternate audio track.
23. The device according to claim 20, where access to the hidden
television content is provided by referencing a virtual channel
with an ATSC standard service_type value that is not recognized by
legacy television receiver devices.
24. The device according to claim 23, where the service_type value
is 0x07.
25. The device according to claim 20, where access to the hidden
content is provided by referencing an MPEG program by a
program_number value.
26. The device according to claim 20, where access to the hidden
content is provided by explicit reference to the packet identifiers
(PIDs) of the packets in an MPEG compliant Transport Stream.
27. The device according to claim 20, where access to the hidden
content is provided by a reference to a content identifier
associated with NRT content.
28. The device according to claim 20, where the TDO is implemented
using an extension to standardized TDO scripting to implement a
function call to allow the script to request access to hidden
content.
29. The device according to claim 20, where the script is executed
conditionally based upon a user response to a survey question.
30. The device according to claim 20, where the script is executed
by a viewer action.
31. The device according to claim 30, where the script is executed
conditionally based upon a user entry of a registration code.
32. The device according to claim 20, where the hidden content
comprises non-real-time (NRT) content.
33. The device according to claim 32, where the NRT content is
pre-delivered prior to the viewer action.
34. The device according to claim 20, where the script is executed
conditionally based upon a user's Internet access.
35. The device according to claim 20, where the hidden content
comprises non-real-time (NRT) content.
36. The device according to claim 20, where the TDO defines an
Application Program Interface (API) that allows the script to
effect a channel change away from a currently selected program to
the hidden program.
37. The device according to claim 20, where the script comprises an
ECMAScript or ECMAScript extension.
Description
CROSS REFERENCE TO RELATED DOCUMENTS
[0001] This application claims priority benefit of U.S. Provisional
Patent Application No. 61/375,415 filed Aug. 20, 2010 entitled
"Scripted Access to Hidden Multimedia Assets" to Mark Eyer, and
also claims priority benefit of U.S. Provisional Patent Application
No. 61/354,515 filed Jun. 14, 2010 entitled "Hyperlinks in
Synchronized Widgets" to Mark Eyer, and claims priority benefit of
U.S. Provisional Patent Application No. 61/352,275 filed Jun. 7,
2010 entitled "Widgets for Non-Real-Time Services" to Mark Eyer,
each of which is hereby incorporated herein by reference. This
application is also related to U.S. patent application Ser. No.
______ entitled "TV-Centric Actions in Triggered Declarative
Objects" to Mark Eyer and to U.S. patent application Ser. No.
______ entitled "Scripted Interactivity For Non-Real-Time Services"
and to U.S. patent application Ser. No. ______ entitled "PVR
Hyperlinks Functionality in Triggered Declarative Objects for PVR
Functions" to Mark Eyer, each of which are filed of even date
herewith and are hereby incorporated by reference.
COPYRIGHT NOTICE
[0002] A portion of the disclosure of this patent document contains
material which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction of the patent
document or the patent disclosure, as it appears in the Patent and
Trademark Office patent file or records, but otherwise reserves all
copyright rights whatsoever.
BACKGROUND
[0003] A Triggerable Declarative Object or Triggered Downloadable
Object (TDO) is a downloadable object created by a content creator
or service provider, which includes declarative content (text,
graphics, descriptive markup, scripts, and audio) whose function
and behavior are tied in some way to digital television programming
that it accompanies. Standards defining TDOs specify associated
available behaviors, appearance, trigger actions, and transport
methods for content and metadata.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Certain illustrative embodiments illustrating organization
and method of operation, together with objects and advantages may
be best understood by reference to the detailed description that
follows taken in conjunction with the accompanying drawings in
which:
[0005] FIG. 1 is an example flow chart depicting a process
consistent with certain embodiments of the present invention.
[0006] FIG. 2 is a block diagram of an example of a broadcast
encoding system consistent with certain embodiments of the present
invention.
[0007] FIG. 3 is a block diagram of an example of a digital
television receiver device consistent with certain embodiments of
the present invention. FIG. 4 is a detailed block diagram of an
example of digital television receiver device consistent with
certain embodiments of the present invention.
[0008] FIG. 5 is a processor-centric view of a digital television
receiver device consistent with certain embodiments of the present
invention.
DETAILED DESCRIPTION
[0009] While this invention is susceptible of embodiment in many
different forms, there is shown in the drawings and will herein be
described in detail specific embodiments, with the understanding
that the present disclosure of such embodiments is to be considered
as an example of the principles and not intended to limit the
invention to the specific embodiments shown and described. In the
description below, like reference numerals are used to describe the
same, similar or corresponding parts in the several views of the
drawings.
[0010] The terms "a" or "an", as used herein, are defined as one or
more than one. The term "plurality", as used herein, is defined as
two or more than two. The term "another", as used herein, is
defined as at least a second or more. The terms "including" and/or
"having", as used herein, are defined as comprising (i.e., open
language). The term "coupled", as used herein, is defined as
connected, although not necessarily directly, and not necessarily
mechanically. The term "program" or "computer program" or similar
terms, as used herein, is defined as a sequence of instructions
designed for execution on a computer system. A "program", or
"computer program", may include a subroutine, a program module, a
function, a procedure, an object method, an object implementation,
in an executable application, an applet, a servlet, a source code,
a script, a program module, an object code, a shared
library/dynamic load library and/or other sequence of instructions
designed for execution on a computer system.
[0011] The term "program", as used herein, may also be used in a
second context (the above definition being for the first context).
In the second context, the term is used in the sense of a
"television program". In this context, the term is used to mean any
coherent sequence of audio video content such as those which would
be interpreted as and reported in an electronic program guide (EPG)
as a single television program, without regard for whether the
content is a movie, sporting event, segment of a multi-part series,
news broadcast, etc. The term may also be interpreted to encompass
commercial spots and other program-like content which may not be
reported as a program in an electronic program guide.
[0012] Reference throughout this document to "one embodiment",
"certain embodiments", "an embodiment" or similar terms means that
a particular feature, structure, or characteristic described in
connection with the embodiment is included in at least one
embodiment of the present invention. Thus, the appearances of such
phrases or in various places throughout this specification are not
necessarily all referring to the same embodiment. Furthermore, the
particular features, structures, or characteristics may be combined
in any suitable manner in one or more embodiments without
limitation.
[0013] The term "or" as used herein is to be interpreted as an
inclusive or meaning any one or any combination. Therefore, "A, B
or C" means "any of the following: A; B; C; A and B; A and C; B and
C; A, B and C". An exception to this definition will occur only
when a combination of elements, functions, steps or acts are in
some way inherently mutually exclusive.
[0014] For purposes of this document, the terms "Synchronized
Widget", "Triggered Declarative Object", "Triggerable Declarative
Object" and "Triggered Downloadable Object" and similar terms are
used synonymously and interchangeably and referred to as a "TDO".
Use of this term and related terms are generally as defined and
explained in detail in U.S. patent application Ser. No. 12/959,529
filed Dec. 3, 2010 entitled "Announcement of Triggered Declarative
Objects" to Blanchard et al. which is hereby incorporated by
reference. However, the Blanchard application defines the content
of the TDO and trigger somewhat more rigorously than is required in
the general cases since many attributes defined therein as being a
part of a TDO could be situated in the trigger or vice versa or not
present at all depending upon the function and triggering of a
particular TDO. As used herein, the term Triggered Declarative
Object or Triggerable Declarative Object (TDO) is a downloadable
software object created by a content creator or service provider.
Generally, such objects have declarative content (text, graphics,
descriptive markup, scripts, and audio) whose function and behavior
is tied in some way to the television programming that it
accompanies. Note that a TDO is generally considered as
"declarative" content to distinguish it from "executable" content
such as a Java applet or an application that runs on an operating
system platform. While considered declarative, a TDO player
supports a scripting language that is an object-oriented
programming language. The TDO, in examples shown herein, are
received from a service provider in advance of a time defined by a
trigger object (as explained below) so that the TDO is available
when the trigger arrives. Moreover, an explicit trigger signal may
not be necessary and a TDO may be self-triggering or triggered by
some action other than receipt of a trigger signal. Various
standards bodies may define associated available behaviors,
appearance, trigger actions, and transport methods for content and
metadata for a TDO. Additionally, requirements regarding timing
accuracy of TDO behaviors relative to audio/video may be defined by
standards bodies.
[0015] As used herein a "trigger" or "announcement trigger" is a
data object, bound to a particular item of programming content that
references a specific TDO instance, by the use of a file name or
identifier for an object that has already been downloaded. Certain
TDOs will only make sense in conjunction with a certain program. An
example is a TDO that collects viewer response data, such as voting
on a game show or contest.
[0016] With regard to the exact nature of TDOs and triggers,
certain information can be provided in either the TDO or the
trigger without limitation. However, the two objects operate in
cooperation to produce a desired function when the TDO is executed
in a digital television receiver device's internal processor.
Moreover, in some implementations, the TDO may be self-triggering
or triggered by an event other than an actual explicit trigger
signal.
[0017] With regard to the exact nature of TDOs and triggers,
certain information can be provided in either the TDO or the
trigger without limitation. However, the two objects operate in
cooperation to produce a desired function when the TDO is executed
in a digital television receiver device's internal processor.
[0018] In the ATSC digital television standards, data describing
the available programming services accompanies the digital
programming content. The ATSC standards are based on the MPEG-2
Systems standard (ISO/IEC 13818-1), which defines Program Specific
Information (PSI) tables. The PSI tables allow a receiver to
discover the packet identifier (PID) values corresponding to
Transport Stream packets carrying video and audio program elements
corresponding to one Program. The term "Program," according to the
terminology in MPEG-2 Systems, denotes a collection of program
elements. A typical Program consists of one video program element
and one or more audio program elements.
[0019] ATSC specifies further data tables in the A/65 Program and
System Information Protocol (PSIP) standard. The PSIP standard
defines the Virtual Channel Table (VCT), which signals information
for the receiver describing one or more conventional television
channels that may be present in the Transport Stream. The concept
of a "virtual channel" refers to the VCT specified in A/65.
[0020] As used herein, the term "hidden content" or "hidden
television content" is defined to mean content that can be played
back on a television (TV) and appears in one or more digital
television transport streams, but which is not accessible by virtue
of association with a conventional unhidden virtual channel and
hence is not indexed in a conventional manner in PSIP tables as a
normal unhidden television channel would be. Alternatively, as will
be explained below, references to the hidden content can be
included in the PSI tables, but the content itself may be made, by
any suitable manner or means that can be formulated, to be
inaccessible to regular television receivers. Instead of being
accessed in the normal manner of access to a television channel,
the hidden content is accessed by other mechanisms such as those
defined in a Triggered Declarative Object as will be explained.
[0021] The subject matter discussed herein generally pertains to
the field of advanced interactive digital television systems. In
systems such as that envisioned for some next-generation television
services, the user's experience of linear TV programming is
enhanced with interactive elements that are synchronized with the
content of the program material. New standards are expected to
define the platform in the receiving device that supports the
execution of scripted behaviors. The new system is expected to be
built on the concept of "Triggered Declarative Objects," or "TDOs"
as described above.
[0022] As envisioned in one such next-generation television
service, TDOs will include mechanisms to allow scripted or
hyperlinked references to: [0023] Internet sites and content;
[0024] NRT content, services, or files; [0025] linear TV channels;
[0026] creation of a scheduled download of specified NRT content;
[0027] creation of a scheduled download of content to be retrieved
via the Internet; [0028] PDI data (responses to specific items in
the questionnaire); and/or [0029] files containing event usage
logs.
[0030] A service provider may wish to direct users to view certain
items of linear content under certain prescribed conditions. The
script in a TDO can be written such that certain actions occur
based on the user's expressed preferences, demographics, and
interests.
[0031] In addition to the above, content can be carried within the
linear TV broadcast emission or within NRT content that is not
accessible to ordinary receivers because it is not associated with
a conventional "hidden" Virtual Channel. As described above, such
content is referred to as hidden content. Normally, navigation to
DTV services is made via selection of a Virtual Channel, which
points (through a reference to the MPEG-2 PSI tables) to the
packets containing the audio and video content for that channel in
a known manner. However, other hidden audio, video or A/V content
can be present in the transport multiplex that is not referenced
via a regular (visible) Virtual Channel. In accordance with the
A/65 PSIP standard, a virtual channel may be labeled as "hidden" by
setting the "hidden" flag to `1`. Furthermore, if the "hide guide"
bit is also set to `1`, the channel will not be listed in any EPG
displays, and will be disregarded by the receiver. The combination
of "hidden" and "hide guide" flags both set to `1` can be used by
broadcasters for test signals not intended for the viewing public.
Alternatively, such channels may be accessible via an application
or other means such as via a TDO.
[0032] Programs may also be present in the Transport Stream that
are not referenced at all in the Virtual Channel Table. The MPEG-2
Program Association Table (PAT) identifies Programs by their
program_number values. Those Programs corresponding to regular
television programming are referenced in the PSIP Virtual Channel
Table (VCT), however other Programs may be defined as well but not
listed in any VCT. The PAT gives a program_number value and a PID
value identifying Transport Stream packets carrying a section of a
TS Program Map Table (PMT). The PMT in turn lists program elements
such as audio and video streams comprising the Program. By virtue
of these Programs not being referenced in the VCT, they are
effectively hidden from access by standard television
receivers.
[0033] According to the provisions consistent with implementations
and embodiments of the present invention, a script within a TDO can
cause (or permit with user interaction) the receiver that is
executing that script to access and render such hidden content.
[0034] Script access to such hidden content can offer the service
provider new ways to personalize the user's experience of a
service. Further, it can be used to create an incentive to perform
certain actions of interest to the service provider, including
providing answers to survey questions, providing information of
interest to the service provider or upon the user registering on a
website.
[0035] One implementation example involves substitution of regular
linear TV content with other content determined by the script
author to be more appropriate for that viewer. For example, based
on the execution of a script, an advertising segment appropriate to
the viewer's physical location can be substituted for the ad
content that is delivered to the general population (i.e., targeted
advertising).
[0036] Implementation examples consistent with the present
invention may specifically involve defining an Application Program
Interface (API) to allow a script to effect a "channel change" away
from the MPEG-2 audio/video program that is currently being
decoded, to a different MPEG-2 audio/video program. In accord with
certain aspects consistent with the present invention a binding is
defined in the TDO to a "hidden" Virtual Channel, or alternatively
to content within the MPEG-2 Transport Stream that is not
accessible (referenced by) a Virtual Channel Table entry. This
aspect makes the referenced content accessible only to a) receivers
supporting the advanced features; and b) receivers supporting the
audio/video codec(s) used in the content.
[0037] Further, with access to hidden content being under control
of a script, the service provider can institute conditional access
to the content based on a number of "access criteria," including
but not limited to requirements that: [0038] a) the viewer has
answered a certain question, i.e., in the context of response to a
questionnaire; [0039] b) the viewer has answered a certain
questionnaire question in a certain way; [0040] c) the viewer has
correctly entered a certain registration code; [0041] d) the
receiver has access to the Internet; and/or [0042] e) any
combination of the above, etc.
[0043] Another aspect consistent with embodiments of the invention
pertains to TDO access to "hidden" files that have been delivered
as NRT content. A referenced file object may be an audio/video
program that is not accessible by any other means (for example, it
is not offered for download in a regular NRT service).
[0044] In one possible implementation the scripting methodology can
be based on ECMAScript (ECMA 162). In this case, a standards body
may define extensions to this basic scripting language. One such
extension could involve a function call (API) to allow the script
to trigger a "channel change" to a channel which could be a hidden
channel (one not accessible to regular receivers).
[0045] The method defined to reference hidden content in the
Transport Stream may be implemented in one of several ways: [0046]
1. Referencing a Virtual Channel with the "hidden" attribute set.
Such channels are inaccessible to regular DTV receivers because
hidden channels are specifically designed to remain so. The ATSC
standard that defines Virtual Channels, A/65, indicates that hidden
channels may be accessible by applications (the script here being
an example). [0047] 2. Referencing a Virtual Channel with an ATSC
stander compliant service_type value that is not recognized by
legacy receivers. [0048] 3. Referencing an MPEG-2 program by
referencing its MPEG-2 program_number. [0049] 4. Referencing the TS
packets carrying audio and video data explicitly by their
[0050] Packet Identifier numbers (PID values).
[0051] In the case of items #1 or #2 above, the codec used for the
hidden content may be an "advanced" codec (such as AVC, H.264); in
that case the service_type value may be 0x07, indicating a
"parameterized" service. The use of method #3 is also possible.
This is the method used by the A/65 (PSIP) VCT to associate a
virtual channel with an MPEG-2 program.
[0052] Turning now to FIG. 1, a process 100 consistent with certain
implementations is depicted starting at 104. A digital television
receiver device receives a triggered declarative object (TDO) at
108 that carries a script that when executed provides the digital
television receiver device with access to hidden television
content. One or more trigger objects associated with the TDO are
received at 112 where the trigger object initiates execution of the
script such as an ECMAScript or ECMAScript extension at 116 to
enable receipt of the hidden content. At 120, the hidden content
can be decoded, displayed, etc. Such access may be further
contingent on user actions such as answering questionnaire
questions as described above. A digital television receiver device
is deemed to have "access" to the hidden content if it can produce
audio and/or video contained in the hidden content which it would
not be able to produce if it did not have "access."
[0053] Referring now to FIG. 2, a basic diagram of an example
service provider such as a broadcaster is depicted as 200.
Generally speaking, a single service provider may provide multiple
programs over one or more transport streams. In this case two are
shown where A is a conventional television program and B is a
hidden program. The audio, video, caption data, etc. are provided
to an encoder which encodes the data into packets suitable for
distribution. The audio and video program material is encoded by
audio and video encoders 204 and 208 which are then provided to a
transport stream multiplexer 212 which then provides an output that
can be distributed via a physical channel medium such as cable or
satellite broadcast. In this discussion, the use of the term
"Program" is generally consistent with that of the MPEG-2 Systems
standard (ISO/IEC 13818-1) as well as the definition provided
above. The program B in this example is a hidden program which may
be designated as hidden by use of any of the techniques described
above or others without limitation. An MPEG-2 Program includes
associated Elementary Stream components, such as for example one
video Elementary Stream and one or more audio Elementary Streams.
In accord with the implementation described above, the TDO data and
its associated trigger data are also provided to the transport
stream multiplexer for incorporation into the transport stream
using any suitable coding. Multiple such program streams may be
provided for and encoded and multiplexed into the transport stream
at 212.
[0054] A television receiver device consistent with certain
embodiments is depicted generally as 250 in FIG. 3. In this
representation, the physical channel data are received at a
transport stream demultiplexer 260. TDO data and triggers are
received and processed by interactivity manager 264 that
incorporates at TDO handler 268 in this example, but other
architectures are also possible within the bounds of the present
teachings. The TDO handler 268 controls a program selector 272 to
enable access to hidden programming (e.g., program B) which is then
provided to decoders 276 for output as decoded audio and video.
[0055] A receiver device is depicted as receiver 300 in FIG. 4
wherein content, including hidden content, is received via any
suitable source such as terrestrial broadcast, cable or satellite
at a receiver 300's tuner/demodulator 302. The transport stream
including the caption data, TDOs, triggers, etc. from the
tuner/demodulator 302 is demultiplexed at demultiplexer 306 into
audio and video streams. The audio is decoded at an audio decoder
310 while the video is decoded at a video decoder 314. Uncompressed
A/V data may also be received via an uncompressed A/V interface
that can be selectively utilized.
[0056] A/V content including TDOs, data and triggers may also be
received via the Internet 322 via a network interface 326.
Additionally, storage 330 can be provided for non-real time (NRT)
or Internet-delivered stored content such as Internet Protocol
Television (IPTV). The stored content can be played by
demultiplexing at 306 in a manner similar to that of other sources
of content. The receiver generally operates under control of one or
more processors such as CPU 338 which is interconnected to working
memory 340 and program memory 342 as well as a graphics subsystem
344 via one or more buses such as 350.
[0057] The CPU 338 receives closed caption data from the
demultiplexer 306 as well as any other information such as TDO
announcements and electronic programming guides used for rendering
graphic content and passes the information to the graphics
subsystem 344 and the images are composited at the compositor and
video interface 360 to produce an output suitable for display on a
video display.
[0058] The CPU 338 operates to carry out various processes within
the context of the subject matter disclosed herein including
execution of the script enabling access to hidden content. CPU 338
thus further operates to execute any script objects (control
objects) contained in the TDO and/or its trigger(s).
[0059] CPU 338 also operates to oversee control of the digital
television receiver including the tuner/demodulator 302 and other
television resources. Connection to such systems is not shown to
avoid cluttering the drawing, but will be understood by those
skilled in the art upon consideration of the present teachings.
Hence, when the CPU 338 executes a TDO handler routine that handles
operation of TDOs and trigger objects as well and any script such
as an ECMAScript provided therein for access to hidden content.
Consistent with the teachings herein, the CPU 338 is enabled to
change operational parameters of the digital television receiver
device, for example to change channels, volume, etc. as dictated by
the TDO's script that accesses the hidden multimedia content.
[0060] The operation in processing TDOs is depicted in a more
processor-centric view in FIG. 5. CPU 338 may represent one or more
processors. Memory and storage 330, 340 and 342 are depicted
collectively as 600 in FIG. 5 for convenience. Similarly, the
various demodulators, decoders, etc. that initially process digital
television signals are collectively depicted as 604. The television
receiver device of FIG. 4 is further depicted as having a remote
controller 610 which communicates with a remote controller
interface 616. Additionally, the display 620 is depicted explicitly
for completeness and may represent either an integral display as in
a television set or a connected display device.
[0061] Memory 600 contains various functional program modules and
data. When a TDO object is received, the TDO 634 is stored at
memory 600 along with the script that when executed will ultimately
allow access to hidden programming This access may further require
an appropriate response from a user via the remote controller 610
via the interface 616. The TDO storage and execution is carried out
at TDO handler 638 which may be integral to a interactivity manager
650 or may be a separate program module without limitation. The
TDO, when executed may present an announcement, generally defined
within the TDO, to the viewer which permits the viewer to execute a
command which enables access to the hidden content (e.g., by use of
remote controller 610) as previously described.
[0062] In accord with further examples of how access to hidden
content might prove useful, the service provider can provide a
hidden audio track that only certain subscribers can get access to.
This audio track may be uncensored, or may contain content such as
director comments and the like. The script may also permit access
only if certain survey or other information is supplied such as an
email address or other information that may be useful to the
service provider or other entity in the supply chain. The TDO can
also enable access to closed caption data that is not otherwise
available (e.g., an alternative to the available captioning). Other
uses for providing selective access to hidden content will occur to
those skilled in the art upon consideration of the present
teachings.
[0063] Thus, a method consistent with certain implementations
involves at a digital television receiver device, receiving a
triggered declarative object (TDO) that carries an ECMAScript-based
script that when executed provides the digital television receiver
device with access to hidden television content; where upon
execution of the script by a viewer action, the digital television
receiver device is given access to the hidden television content;
where the hidden television content is hidden by virtue of at least
one of having a virtual channel "hidden" attribute set, having an
ATSC standard service_type value that is not recognized by legacy
television receiver devices, having a service_type value of 0x07 or
where access to the hidden content is provided by directly
referencing an MPEG program by a program_number or by explicit
reference to the packet identifiers (PIDs) of the packets in a
transport stream; and where the TDO utilizes an Application Program
Interface (API) that allows the script to effect a channel change
away from a current selection to the hidden content.
[0064] Another method involves at a digital television receiver
device, receiving a triggered declarative object (TDO) that carries
a script that when executed provides the digital television
receiver device with access to hidden television content; the
digital television receiver executing the script; and where upon
execution of the script, the digital television receiver device is
given a location of the hidden television content. In certain
implementations, access to the hidden television content is
provided by referencing a virtual channel that is designated as
hidden by having a "hidden" attribute set. In certain
implementations, access to the hidden television content is
provided by referencing a virtual channel with an ATSC standard
service_type value that is not recognized by legacy television
receiver devices. In certain implementations, the service_type
value is 0x07. In certain implementations, access to the hidden
content is provided by referencing an MPEG program by a
program_number value. In certain implementations, access to the
hidden content is provided by explicit reference to the packet
identifiers (PIDs) of the packets in an MPEG compliant Transport
Stream. In certain implementations, access to the hidden content is
provided by a reference to a content identifier associated with NRT
content. In certain implementations, the TDO is implemented using
an extension to standardized TDO scripting to implement a function
call to allow the script to request access to hidden content. In
certain implementations, the script is executed conditionally based
upon a user response to a survey question. In certain
implementations, the script is executed by a viewer action. In
certain implementations, the script is executed conditionally based
upon a user entry of a registration code. In certain
implementations, the hidden content comprises non-real-time (NRT)
content. In certain implementations, the NRT content is
pre-delivered prior to the viewer action. In certain
implementations, the script is executed conditionally based upon a
user's Internet access.
[0065] In certain implementations, the hidden content comprises
non-real-time (NRT) content. In certain implementations, the TDO
defines an Application Program Interface (API) that allows the
script to effect a channel change away from a currently selected
program to the hidden program. In certain implementations, the
script comprises an ECMAScript or ECMAScript extension.
[0066] A non-transitory computer readable storage medium can be
used for storing instructions which, when executed on one or more
programmed processors, can carry out any of the above methods.
[0067] A device according to certain implementations has a digital
television receiver device is configured and adapted to receive a
triggered declarative object (TDO) that carries a script that when
executed provides the digital television receiver device with
access to hidden television content. The digital television
receiver device has a programmed processor. The programmed
processor is programmed to execute the script that gives the
digital television receiver device access to the hidden television
content.
[0068] In certain implementations, access to the hidden television
content is provided by referencing a virtual channel that is
designated as hidden by having a hidden attribute set. In certain
implementations, the hidden content comprises an alternate audio
track. In certain implementations, access to the hidden television
content is provided by referencing a virtual channel with an ATSC
standard service_type value that is not recognized by legacy
television receiver devices. In certain implementations, the
service_type value is 0x07. In certain implementations, access to
the hidden content is provided by referencing an MPEG program by a
program_number value. In certain implementations, access to the
hidden content is provided by explicit reference to the packet
identifiers (PIDs) of the packets in an MPEG compliant Transport
Stream. In certain implementations, access to the hidden content is
provided by a reference to a content identifier associated with NRT
content. In certain implementations, the TDO is implemented using
an extension to standardized TDO scripting to implement a function
call to allow the script to request access to hidden content. In
certain implementations, the script is executed conditionally based
upon a user response to a survey question. In certain
implementations, the script is executed by a viewer action. In
certain implementations, the script is executed conditionally based
upon a user entry of a registration code. In certain
implementations, the hidden content comprises non-real-time (NRT)
content. In certain implementations, the NRT content is
pre-delivered prior to the viewer action.
[0069] In certain implementations, the script is executed
conditionally based upon a user's Internet access. In certain
implementations, the hidden content comprises non-real-time (NRT)
content. In certain implementations, the TDO defines an Application
Program Interface (API) that allows the script to effect a channel
change away from a currently selected program to the hidden
program. In certain implementations, the script comprises an
ECMAScript or ECMAScript extension.
[0070] Those skilled in the art will recognize, upon consideration
of the above teachings, that certain of the above exemplary
embodiments are based upon use of a programmed processor. However,
the invention is not limited to such exemplary embodiments, since
other embodiments could be implemented using hardware component
equivalents such as special purpose hardware and/or dedicated
processors. Similarly, general purpose computers, microprocessor
based computers, micro-controllers, optical computers, analog
computers, dedicated processors, application specific circuits
and/or dedicated hard wired logic may be used to construct
alternative equivalent embodiments.
[0071] Those skilled in the art will appreciate, upon consideration
of the above teachings, that the program operations and processes
and associated data used to implement certain of the embodiments
described above can be implemented using disc storage as well as
other forms of storage such as non-transitory storage devices
including as for example Read Only Memory (ROM) devices, Random
Access Memory (RAM) devices, network memory devices, optical
storage elements, magnetic storage elements, magneto-optical
storage elements, flash memory, core memory and/or other equivalent
volatile and non-volatile storage technologies without departing
from certain embodiments of the present invention. The term
non-transitory does not suggest that information cannot be lost by
virtue of removal of power or other actions. Such alternative
storage devices should be considered equivalents.
[0072] Certain embodiments described herein, are or may be
implemented using a programmed processor executing programming
instructions that are broadly described above in flow chart form
that can be stored on any suitable electronic or computer readable
storage medium. However, those skilled in the art will appreciate,
upon consideration of the present teaching, that the processes
described above can be implemented in any number of variations and
in many suitable programming languages without departing from
embodiments of the present invention. For example, the order of
certain operations carried out can often be varied, additional
operations can be added or operations can be deleted without
departing from certain embodiments of the invention. Error trapping
can be added and/or enhanced and variations can be made in
operational flow, user interface and information presentation
without departing from certain embodiments of the present
invention. Such variations are contemplated and considered
equivalent.
[0073] While certain illustrative embodiments have been described,
it is evident that many alternatives, modifications, permutations
and variations will become apparent to those skilled in the art in
light of the foregoing description.
* * * * *