Title:
Scripted Access to Hidden Multimedia Assets
Kind Code:
A1


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, US)
Application Number:
13/038984
Publication Date:
12/08/2011
Filing Date:
03/02/2011
Assignee:
EYER MARK KENNETH
Primary Class:
Other Classes:
348/E5.099
International Classes:
H04N5/445
View Patent Images:



Primary Examiner:
FLYNN, RANDY A
Attorney, Agent or Firm:
OBLON, MCCLELLAND, MAIER & NEUSTADT, L.L.P. (1940 DUKE STREET, ALEXANDRIA, VA, 22314, US)
Claims:
What is claimed is:

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

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

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

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

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:

FIG. 1 is an example flow chart depicting a process consistent with certain embodiments of the present invention.

FIG. 2 is a block diagram of an example of a broadcast encoding system consistent with certain embodiments of the present invention.

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.

FIG. 5 is a processor-centric view of a digital television receiver device consistent with certain embodiments of the present invention.

DETAILED DESCRIPTION

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

As envisioned in one such next-generation television service, TDOs will include mechanisms to allow scripted or hyperlinked references to:

    • Internet sites and content;
    • NRT content, services, or files;
    • linear TV channels;
    • creation of a scheduled download of specified NRT content;
    • creation of a scheduled download of content to be retrieved via the Internet;
    • PDI data (responses to specific items in the questionnaire); and/or
    • files containing event usage logs.

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.

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.

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.

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.

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.

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).

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.

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:

    • a) the viewer has answered a certain question, i.e., in the context of response to a questionnaire;
    • b) the viewer has answered a certain questionnaire question in a certain way;
    • c) the viewer has correctly entered a certain registration code;
    • d) the receiver has access to the Internet; and/or
    • e) any combination of the above, etc.

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).

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).

The method defined to reference hidden content in the Transport Stream may be implemented in one of several ways:

    • 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).
    • 2. Referencing a Virtual Channel with an ATSC stander compliant service_type value that is not recognized by legacy receivers.
    • 3. Referencing an MPEG-2 program by referencing its MPEG-2 program_number.
    • 4. Referencing the TS packets carrying audio and video data explicitly by their

Packet Identifier numbers (PID values).

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.

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.”

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.

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.

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.

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.

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.

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).

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.